将iOS键盘上的“Done”按钮翻译成其他语言

6
使用Cordova/Phonegap,如何最简单地翻译iOS虚拟键盘上的“Done”按钮?
例如,我的iPhone配置为使用法语。然而,该按钮仍显示“Done”按钮,而不是经典的适应法语的单词:“Ok”。

有相同的问题 :o - Alpha
3个回答

4

我曾经在我的 Cordova 应用程序中遇到了同样的问题。我使用一个插件来编写 Info.plist 以解决问题。

<plugin id="com.example.plugin" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
    <name>Example</name>
    <description>A label translate example</description>    
    <platform name="ios">
        <config-file target="*-Info.plist">
            <key>CFBundleAllowMixedLocalizations</key>
            <array>
                <string>Yes</string>
            </array>
            <key>CFBundleLocalizations</key>
            <array>
                <string>fr</string>
            </array>
            <key>CFBundleDevelopmentRegion</key>
            <array>
                <string>fr_FR</string>
            </array>
        </config-file>  
    </platform>
</plugin>

1
由于某些原因,我需要在config-file中使用parent=来设置键,但这样做后它就可以工作了。示例在此处 - escapedcat
它在我的iPhone 7上无法工作。你有什么想法吗? - Prasobh.Kollattu
但是实际的字符串放在哪里呢? - Daniel Lizik

3

信息选项卡中设置此属性即可:

enter image description here


我的地区没有在这个列表中,该怎么办? - Sergey Lobanov
随着这个更改,键盘将始终显示单一语言..它将无法与i18n一起使用。 - Prasobh.Kollattu

2

设置 CFBundleAllowMixedLocalizations .plist 键也可以通过您的 config.xml 进行。只需在 iOS 平台配置中添加以下内容:

<platform name="ios">
  <config-file parent="CFBundleAllowMixedLocalizations" platform="ios" target="*-Info.plist">
    <true />
  </config-file>
</platform>

我的项目正在运行。在法语中,“完成”按钮被翻译为“确定”。你检查过你的Xcode中的Info.plist文件是否已更改吗?你检查过iOS设备的语言吗?设备操作系统决定显示的语言。 - MrP
不好意思,它没有起作用。 - Prasobh.Kollattu
1
我不得不在Xcode信息选项卡中显式添加属性“本地化资源可以混合”:是,然后它就适用于所有语言。 - Prasobh.Kollattu
今天早上测试和重新测试过了:它可以正常运行。 我的配置: @ionic/cli-utils: 1.19.1 ionic(Ionic CLI):3.19.1 cordova(Cordova CLI):8.0.0 Cordova平台:ios 4.5.4 ionic-plugin-keyboard 2.2.1你的项目出了问题。删除你的iOS平台并重新添加。 - MrP

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接