iOS - 我可以在运行时更改localizable.strings内容吗?

Abd*_*tou 5 iphone xcode localization localizable.strings ios

每次启动应用程序时,我都会通过JSON文件加载翻译.我可以解析那个JSON,清理它并将它放在localizable.strings文件中吗?

如果没有,我是否可以从Documents目录中创建的可本地化文件加载本地化?

Dai*_*jan 6

没有第一个,因为您无法在部署后编辑应用程序资源

但是你可以告诉NSBundle使用不同的localizeFile ..或者更确切地说下载json并将它放在NSBundle中

把localizable放入:

<APP/DOCUMENTS>/<APPNAME>.bundle/<LANGUAGE_CODE>.lproj/Localizable.strings
Run Code Online (Sandbox Code Playgroud)

初始化一个新的可可包

NSBundle *b = [NSBundle bundleWithPath:@"<APP/DOCUMENTS>/<APPNAME>.bundle/"];
Run Code Online (Sandbox Code Playgroud)

然后在捆绑上使用它:

 - (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName 
Run Code Online (Sandbox Code Playgroud)

例如

[b localizedStringForKey:@"HIHO" value:nil table:nil];
Run Code Online (Sandbox Code Playgroud)