【问题标题】:make the language of my IPHONE app change from the app settings without changing the language of the device使我的 IPHONE 应用程序的语言从应用程序设置更改,而不更改设备的语言
【发布时间】:2010-12-30 10:58:32
【问题描述】:

我想从应用程序设置中更改语言。为此,我制作了一个 settings.bundle 并使用此代码 How to force NSLocalizedString to use a specific language 强制使用语言,我还将 UIApplicationExitsOnSuspend 设置为 YES 以使我的应用程序每次进入后台时都重新加载。 它对我部分有用,但我有两个问题: - 启动画面(已本地化)不会使用此方法更改。 - 我必须输入/返回两次才能使语言更改在应用程序上生效。仅在 OS 4 及更高版本上查看。

有没有人解决这个问题?

【问题讨论】:

    标签: iphone localization application-settings


    【解决方案1】:

    您需要为此创建自己的翻译框架!对不起!

    【讨论】:

    • 感谢 VdesmedT 的回答,我想我将停止调查此解决方案。
    【解决方案2】:

    不幸的是,没有内置方法。最简单的可能是集成GetLocalization.com 之类的服务,以便您的应用程序可以通过 API 下载语言文件(然后即使应用程序已经发布,也可以轻松添加新语言和翻译)。那么你需要的只是一个简单的加载器,将语言文件加载到内存和函数,在运行时用翻译的字符串替换原始字符串。您可以计算原始字符串的哈希值,以便快速搜索它们,对此很好的算法是 Peter Weinberger 的 hashPJW。

    【讨论】:

    • 感谢 petteri 的回答。这是一个我没有选择的选项。但至少现在我确定我开始的解决方案是死路一条。
    【解决方案3】:

    通过从应用程序中选择特定语言来使用特定语言的技巧是强制 NSLocalizedString 根据所选语言使用特定包,

    这是我为http://learning-ios.blogspot.com/2011/04/advance-localization-in-ios-apps.html写的帖子

    这是一个示例应用程序的代码https://github.com/object2dot0/Advance-Localization-in-ios-apps

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-19
      • 2012-07-19
      • 2015-10-05
      • 1970-01-01
      • 1970-01-01
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多