我目前正在本地化我的iOS应用程序。到目前为止,这工作得还不错。
我已经创建了localizable.strings和几个xib文件,所以大约80%的应用程序已经被翻译。
但应用程序也会从WebService加载数据,它会向我传递一个键,例如:“Titel1”以及所有支持的语言(值),例如:"TITEL One“"Titel Eins”"Titolo Uno“。
现在,我想将这些值存储在相应的localizable.strings文件中。
例如:
然后,Localizable.strings (英语)应包含:
"TITLE 1" = "Title One";然后,Localizable.strings (德语)应包含:
"TITLE 1" = "Titel Eins";然后,Localizable.strings (意大利语)应包含:
"TITLE 1" = "Titolo Uno";我该怎么做呢?
发布于 2012-06-16 17:06:12
您将无法在运行时将它们插入到本地化字符串中,如果user服务器由您管理,我建议您以用户使用的语言发送,请考虑此示例
//Get the language code
NSString* languageCode = [[NSLocale preferredLanguages] objectAtIndex:0];
//Now send the request to the server with the language you want
NSString *str = [NSString stringWithFormat:@"www.yourserve.com/yourfunctiom?lang=%@", languageCode];
//Request it现在,根据您在服务器中接收到的语言,您将返回适当的字符串
发布于 2012-06-16 18:57:54
这可能会让框架有点吃力,但如果你想使用苹果的字符串加载功能,你可以尝试在你的文档目录中构建一个NSBundle (毕竟捆绑包只是一个目录),用来自服务器的文件填充它,然后使用NSLocalizedStringFromTableInBundle来获取字符串。
然而,与Omar Abdelhafith的答案中的方法相比,我不确定它是否值得。
https://stackoverflow.com/questions/11061957
复制相似问题