8

我正在尝试实现一个键盘扩展,它可以根据用户在设备设置中选择的语言显示按键。

Edit Scheme中,我已经为容器应用程序和扩展正确设置了应用程序语言应用程序区域,如下所示:

在此处输入图像描述

但是我的键盘仍然总是以英语(en-US)版本打开。

info.plist中,我已经为PrimaryLanguage添加了mul

<key>NSExtension</key>
    <dict>
        <key>NSExtensionAttributes</key>
        <dict>
            <key>IsASCIICapable</key>
            <false/>
            <key>PrefersRightToLeft</key>
            <false/>
            <key>PrimaryLanguage</key>
            <string>mul</string>
            <key>RequestsOpenAccess</key>
            <false/>
        </dict>

此外,我已经本地化了键名。

在此处输入图像描述

我使用以下方式记录了应用程序正在解释的语言:

    var lang : String = NSLocale.preferredLanguages()[0] as! String
    NSLog(lang)

容器应用程序确实检测到正确的语言为ur。但是键盘扩展总是选择en-US。我正在使用 xcode 6.4 并在 Simulator iOS 8.4 上进行测试。

我可能在这里错过了一个非常小的点。欢迎任何建议。谢谢。

4

1 回答 1

2

最后,找到了解决方案。我以错误的方式进行本地化。正确的方法是将英语作为基础语言,然后其他语言应遵循。

在此处输入图像描述

此外,为了在模拟器中正确检测语言(对于键盘),您还应该在模拟器中更改Language 和 Region以及Schema

在此处输入图像描述

希望它对将来的人有所帮助!

于 2015-08-31T06:22:44.833 回答