【问题标题】:UIWebview load different files switch langageUIWebview 加载不同文件切换语言
【发布时间】:2012-10-16 14:55:19
【问题描述】:

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

谢谢

【问题讨论】:

    标签: objective-c ios localization uiwebview


    【解决方案1】:

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

    • “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(法语)”,当您安装应用程序时,它们会复制到相应的文件夹中。

    【讨论】:

    • 哇哦,我什至可以为我的图像做到这一点,这真的很酷!我不知道的很棒的功能
    • @Mathieu:您可能想看看 Apple 的“Bundle Programming Guide”和“Resource Programming Guide”,其中也解释了这个概念。
    【解决方案2】:

    如果对于当前语言,您的意思是手机语言,您可以这样做:

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

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

    【讨论】:

      猜你喜欢
      • 2013-01-22
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多