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

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

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

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

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

将localizable放入:

/.bundle/.lproj/Localizable.strings 

初始化一个新的cocoa包

 NSBundle *b = [NSBundle bundleWithPath:@"/.bundle/"]; 

然后在捆绑上使用它:

  - (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName 

例如

 [b localizedStringForKey:@"HIHO" value:nil table:nil]; 

您无法编辑应用程序包中的任何内容,因此不能对您的第一个问题进行编辑。 (请注意,您可以在模拟器中执行此操作,但它肯定无法在设备上运行。)

不确定第二个问题。

Interesting Posts