Android対応(一)異なる言語に対応
2076 ワード
UIの文字列を外部ファイルに格納し、コードで抽出するのは良い方法です.工事下のres/values/strings.xmlファイル.文字列値を保存します.
1.ゾーン設定ディレクトリおよび文字列ファイルの作成
複数の言語をサポートするために、res/に追加のvaluesディレクトリを作成し、values-es/は言語コードが「es」の領域に設定された簡単なリソースファイルのディレクトリなどのハイフンとISO国家コードの末尾に名前を付けます.Androidは、実行時にデバイスの領域設定に基づいて、対応するリソースをロードします.言語のサポートを決定するには、次のようなリソースサブディレクトリと文字列リソースファイルを作成する必要があります.
異なる領域言語の文字列値を対応するファイルに追加します.Androidシステムの実行時には、ユーザーデバイスの現在の領域設定に基づいて、対応する文字列リソースが使用されます.
たとえば、以下に、異なる文字列リソースファイルに対応するいくつかの異なる言語を列挙します.
(1)英語(デフォルト領域言語),/values/strings.xml:
(2)スペイン語、/values-es/strings.xml:
(3)フランス語、/values-fr/strings.xml:
注意:bitmapのローカライズされたバージョンなど、任意のリソースタイプで領域修飾語(または任意の構成修飾子)を使用できます.
2.文字リソースの使用
ソースコードや他のXMLファイルでは、要素のnameプロパティを使用して独自の文字列リソースを参照できます.
ソースコードにはR.string.構文は文字列リソースを参照し、多くの方法で文字列を受け入れることができます.例:
他のXMLファイルでは、XMLプロパティが文字列値を受け入れるたびに、@string/構文で文字列リソースを参照できます.例:
1.ゾーン設定ディレクトリおよび文字列ファイルの作成
複数の言語をサポートするために、res/に追加のvaluesディレクトリを作成し、values-es/は言語コードが「es」の領域に設定された簡単なリソースファイルのディレクトリなどのハイフンとISO国家コードの末尾に名前を付けます.Androidは、実行時にデバイスの領域設定に基づいて、対応するリソースをロードします.言語のサポートを決定するには、次のようなリソースサブディレクトリと文字列リソースファイルを作成する必要があります.
MyProject/
res/
values/
strings.xml
values-es/
strings.xml
values-fr/
strings.xml
異なる領域言語の文字列値を対応するファイルに追加します.Androidシステムの実行時には、ユーザーデバイスの現在の領域設定に基づいて、対応する文字列リソースが使用されます.
たとえば、以下に、異なる文字列リソースファイルに対応するいくつかの異なる言語を列挙します.
(1)英語(デフォルト領域言語),/values/strings.xml:
My Application
Hello World!
(2)スペイン語、/values-es/strings.xml:
Mi Aplicación
Hola Mundo!
(3)フランス語、/values-fr/strings.xml:
Mon Application
Bonjour le monde !
注意:bitmapのローカライズされたバージョンなど、任意のリソースタイプで領域修飾語(または任意の構成修飾子)を使用できます.
2.文字リソースの使用
ソースコードや他のXMLファイルでは、要素のnameプロパティを使用して独自の文字列リソースを参照できます.
ソースコードにはR.string.構文は文字列リソースを参照し、多くの方法で文字列を受け入れることができます.例:
// Get a string resource from your app's Resources
String hello = getResources().getString(R.string.hello_world);
// Or supply a string resource to a method that requires a string
TextView textView = new TextView(this);
textView.setText(R.string.hello_world);
他のXMLファイルでは、XMLプロパティが文字列値を受け入れるたびに、@string/構文で文字列リソースを参照できます.例: