カメラプラグインを使用するPhonegapアプリがあります。問題は、ボタンがネイティブの iOS 言語を使用せず、代わりに英語のみ (「再取得」や「使用」など) であることです。
私がやっているアプリは子供向けのアプリですが、彼らは英語のネイティブ スピーカーではありません。だから私はそれを彼らの母国語にしたいと思っています。
これらのボタンを正しい言語に翻訳する方法はありますか?
カメラプラグインを使用するPhonegapアプリがあります。問題は、ボタンがネイティブの iOS 言語を使用せず、代わりに英語のみ (「再取得」や「使用」など) であることです。
私がやっているアプリは子供向けのアプリですが、彼らは英語のネイティブ スピーカーではありません。だから私はそれを彼らの母国語にしたいと思っています。
これらのボタンを正しい言語に翻訳する方法はありますか?
プロジェクトの plist ( ) を変更することで、ラベルの言語を変更できましたplatforms/ios/ProjectName/ProjectNAme-Info.plist
。
から変更CFBundleDevelopmentRegion
しEnglish
てfr_FR
、この配列を追加しました:
<key>CFBundleLocalizations</key>
<array>
<string>fr</string>
</array>
各ビルド後に 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 バージョンでビルドするすべてのプロジェクトに影響します。
前にコルドバ フォルダーをバックアップし、「テンプレート」フォルダーの下に不要なファイルを残さないでください。そうしないと、最終的なパッケージにコピーされます。
それが役に立てば幸い。
実際、CFBundleDevelopentRegion は、iOS が CFBundleLocalizations で宣言されたローカリゼーションを見つけられない場合のフォールバックのようです。
そのキーを変更する必要はありません。.plist に ISO 国コードの配列を追加するだけで (Michaël が行ったように)、それで十分です。
幸いなことに、Cordova はオープン ソースです。
最初のステップは、Apache Cordova バグ トラッカーでバグを報告することです。次に、cordovaのソース コードを複製して、プラグインが正しい言語を表示しない理由を理解しようとします。
それほど複雑ではありません。プラグインは、javascript 関数とネイティブ関数の間の単なる接着剤です。