UIWebview加载不同的文件切换语言

时间:2012-10-16 14:55:19

标签: objective-c ios localization uiwebview

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

感谢

2 个答案:

答案 0 :(得分: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”,然后在文件检查器中单击“制作本地化”。
  • 在文件检查器中选择所需的语言。

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

答案 1 :(得分:0)

如果对于当前语言而言,您指的是手机语言,您可以实现这一目标:

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

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