1

我有不同语言的不同嵌入式 HTML 文件。
我想根据当前语言在 webview 中加载正确的文件。
有没有办法像 NSLocalizableString 一样简单地做到这一点?

谢谢

4

2 回答 2

2

例如,如果您使用“本地化资源”

  • “en.lproj/index.html”中“index.html”的英文版,
  • “fr.lproj/index.html”中“index.html”的法语版本,

那么很多资源函数会自动选择正确的版本(基于用户的语言设置),例如:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];

在 Xcode 中创建本地化资源“index.html”:

  • 在项目的“信息”选项卡的“本地化”部分添加所需的语言(如果您还没有这样做的话)。
  • 选择“index.html”,然后在文件检查器中单击“Make Localized”。
  • 在文件检查器中选择所需的语言。

现在,每种语言都有一个文件,例如“index.html(英语)”和“index.html(法语)”,当您安装应用程序时,它们会复制到相应的文件夹中。

于 2012-10-16T16:44:16.233 回答
0

如果对于当前语言,您的意思是电话语言,您可以通过以下方式实现目标:

NSString *locale = [[NSLocale preferredLanguages] objectAtIndex:0];

该方法返回一个代表当前语言的两个字母字符串,IT(意大利语),EN(英语),DE(德语)等。因此,根据语言,您应该能够加载相应的 HTML 文件。

于 2012-10-16T16:16:35.423 回答