6

我有一个 Phonegap 应用程序,我在其中使用相机插件。问题是,这些按钮不使用原生 iOS 语言,而是只有英文(“Retake”和“Use”等)。

我正在做的应用程序是儿童应用程序,但他们不是以英语为母语的人。所以我想用他们的母语来做。

有什么办法可以将这些按钮翻译成正确的语言?

4

6 回答 6

2

我可以通过修改项目 plist ( platforms/ios/ProjectName/ProjectNAme-Info.plist) 来更改标签语言。

CFBundleDevelopmentRegionEnglishto更改fr_FR并添加了这个数组:

<key>CFBundleLocalizations</key>
<array>
  <string>fr</string>
</array>
于 2014-08-28T08:01:17.203 回答
1

如果你使用 XCode 作为 IDE 来开发你的项目,你可以将它本地化为一个普通的 iOS 项目。要知道如何做到这一点,您可以查看此其他帖子。您不需要为这些“单词”(Retake、Use 等)提供翻译,只需设置正确的本地化将告诉 iOS 使用本地语言。

但是,如果您使用 PhoneGap Build 来编译您的项目,请在 PhoneGap Build 论坛中查看此主题。与 XCode 过程类似,您需要在 /www 目录下创建一个名为“locales”的文件夹,并将您想要使用的语言放在那里。同样,您不需要为这些按钮提供翻译。iOS会自己做。

于 2013-09-10T07:49:18.387 回答
1

如果您不想在每次构建后手动更改 XCode 中的语言,您可以在 Mac 上的 phonegap/cordova 源代码中进行以下更新:

(以 cordova 3.6.3 和法语语言环境为例,您需要更新到您的版本和语言)

Folder : ~\.cordova\lib\npm_cache\cordova-ios\3.6.3\package\bin\templates\project\__PROJECT_NAME__\
File : __PROJECT_NAME__-Info.plist
Update :
    => Change <key>CFBundleDevelopmentRegion</key>
              <string>English</string>
       to     <key>CFBundleDevelopmentRegion</key>
              <string>France</string>

    => Add after it
              <key>CFBundleLocalizations</key>
              <array>
                    <string>fr</string>
              </array>

Folder : ~\.cordova\lib\npm_cache\cordova-ios\3.6.3\package\bin\templates\project\__PROJECT_NAME__\Resources\
Update :
    => Create a 'fr.lproj' folder by Copy/Paste of the 'en.lproj' folder
    => Complete the translation in 'fr.lproj/Localizable.strings' file (not required)

这将影响您使用此 cordova 版本构建的所有项目。

之前备份您的cordova文件夹,不要将不需要的文件留在“模板”文件夹下,否则它们将被复制到最终包中。

希望能帮助到你。

于 2015-04-07T09:30:41.367 回答
0

幸运的是,Cordova 是开源的。
第一步是在Apache Cordova 错误跟踪器上报告错误。然后,克隆cordova 源代码以尝试了解为什么插件无法显示正确的语言。

它没有那么复杂。插件只是 javascript 函数和本机函数之间的粘合剂。

于 2013-03-01T10:45:49.987 回答
0

事实上,如果 iOS 找不到在 CFBundleLocalizations 中声明的本地化,CFBundleDevelopentRegion 似乎是一个后备方案。

您无需更改该密钥。只需在 .plist 中添加 ISO 国家代码数组(就像 Michaël 所做的那样)就足够了。

于 2014-08-28T18:42:19.783 回答
0

解决方案是在plist文件中声明语言,例如:

<key>CFBundleLocalizations</key> <array> <string>it</string> <string>es</string> </array>

如果您不想手动执行此操作,因为您可能没有跟踪 plist 文件,您可以在运行时使用Cordova 自定义配置插件将缺少的密钥添加到plist文件中cordova prepare

于 2017-09-05T12:27:49.213 回答