2017-03-15 9 views
0

デバイスがzh_TWにあり、zh_HKのデフォルト言語(この場合は英語)を表示している場合、Androidデバイスに中国語(zh-rTW文字列を使用)を表示させます。それは可能ですか?zh_HKに値-zh-rTW文字列を使用させないことは可能ですか?

Android 7.1.1でテストしていますが、zh_HKという設定では1つのロケールのみです。アプリには複数のstrings.xmlがあり、zh_rTWが含まれています。私がアプリを開くと、私はzhのすべてを見ることができます。

+1

AFAIK、デフォルトの動作である必要があります。Android 6.0以前、およびAndroid 7.0以降では、ユーザーが1つのロケールのみを選択しています。 'zh-rTW'のために設定されたデバイスは' zh-rTW'または 'zh'文字列を使用しますが、' zh-rHK'は使用しません。 Android 7.0以降のデバイスのユーザが 'zh-rTW'や' zh-rHK'ロケールを希望していることをデバイスに伝えると、Androidは 'zh-rTW'と' zh'文字列とともに 'zh-rHK'を使います。これが動作していない場合は、[mcve]と、どのデバイスを使用しているのか、そのデバイスがどのようにロケール用に設定されているかについての詳細を提供してください。 – CommonsWare

+0

はい。 'values-zh-rHK'フォルダは提供しないでください。あなたの英語の文字列を 'values'(これはデフォルトのフォール・イン・フォルダーになります)に入れ、' zh-rTW'にzh_rTW文字列を与えます。この方法では、香港ユーザーは文字列を英語で表示します(私はまだそれが欲しい理由を理解しなければなりません)。台湾のユーザーは文字列をzh_TWに表示します。 –

+0

HKの内容がすべて英語であるため、UIをzhに表示するのは意味がありません。しかし、私はやってみましたが、うまくいきません。プロジェクトにはzh-rTWという値が1つしかありません。携帯電話の言語設定はT.Chinese Hong Kongですが、まだ全体のUIはzhで表示されています –

答えて

2

ロケール "zh_HK"を表示し、誰かがこの言語を選択するかデバイスがそれを変更するたびに "en_US"に変更できる場合は、言語を変更するボタンを作成するのと同じ方法だと思います。あなたはデフォルトロケールを取って、それをあなたが望むものに変更します。私が正しい質問を理解したら。

関連する問題