2

我目前正在本地化我的 iOS 应用程序。到目前为止,这工作相当不错。

我已经创建了 localizable.strings 和几个 xib 文件,因此大约 80% 的应用程序已经被翻译。

但是该应用程序还从向我传递密钥的 WebService 加载数据,例如:“TITEL 1”以及附加到它的所有支持的语言(值),例如:“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";

我怎样才能做到这一点?

4

2 回答 2

2

您将无法在运行时将它们插入本地化字符串中,如果网络服务器由您管理,我建议您发送用户使用的语言,请考虑这个例子

//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-16T09:06:11.833 回答
0

这可能会稍微扩展框架,但是如果您想使用 Apple 的字符串加载功能,您可以尝试NSBundle在您的文档目录中构建一个(毕竟捆绑只是一个目录),用来自服务器的文件填充它,然后用于NSLocalizedStringFromTableInBundle获取您的字符串。

不过,与 Omar Abdelhafith 的回答中的方法相比,不确定它是否值得。

于 2012-06-16T10:57:53.907 回答