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

时间:2012-11-29 11:41:07

标签: iphone ios xcode localization localizable.strings

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

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

2 个答案:

答案 0 :(得分:6)

不是第一个,因为您无法在部署后编辑应用资源

然而,您可以告诉NSBundle使用不同的localizeFile ..或者更确切地说下载json并将其放入NSBundle

将localizable放入:

<APP/DOCUMENTS>/<APPNAME>.bundle/<LANGUAGE_CODE>.lproj/Localizable.strings

初始化一个新的可可束

NSBundle *b = [NSBundle bundleWithPath:@"<APP/DOCUMENTS>/<APPNAME>.bundle/"];

然后在捆绑上使用它:

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

e.g。

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

答案 1 :(得分:-1)

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

不确定第二个问题。