Androidの国際化と現地化
インターナショナリズム(国際化(i 18 nと略称します.iとnの間にまだ18文字があります.
localization(現地化)は、L 10 nと略称します.一般的に一つの地域の言語を説明する時、言語_地区の形式を使います. zhuCN,zhuTW.
各国語の略語:
http://www.loc.gov/standards/iso639-2/php/code_list.php
国と地域の略記:
http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
Androidはi 18 nとL 10 nに対して非常に良いサポートを提供しています.Androidは特別なAPIを提供しないで国際化を提供しています.異なるresourceの命名によって国際化を達成しています.
Eclipseの工事の中で、resディレクトリはデフォルトのいくつかのresourceがあって、例えばdrawable、layout、menu、valuesのその他はまだあります.
res/anim/ アニメーションを置く
res/xml/ style themeなどのxml定義を置くために使います.
res/raw/ データを置くために使用します.
これらのresourceを引用するとき、javaコードでは、setTitle(R.string.manuitle)のようにR.reourcene.reourcene.unameによって使用されます.
もう一つはxmlの中で直接引用することです.
私達は異なるlocalとregionで国際化をします.まずvaluesはデフォルトの文字列を表します.つまりResourceにマッチする資源が見つからない時、デフォルトでvaluesフォルダの下の資源を使います.残りのdrawableなどの資源も同じです.
これらのフォルダの名前が付けられている場合は、別のオプションを使用します.http://developer.android.com/guide/topics/resources/resources-i18n.html#AlternateResourcesフォルダの名前はすべて小文字でなければなりません.サイズが敏感なファイルシステムではエラーが発生する可能性があります.大文字で書くと、eclipseのadtは自動的に報告されます.エラー.小文字rはregionの意味を表します.stings.xmlでは文字列自体が違っています.xmlで定義されている文字列の名前は、idは同じです.コードやxmlでリソースを引用する場合は、名前を引用すればいいです.プログラム起動時にResource類は該当するディレクトリに戻り、正しい文字列(リソース)を探します.
Settingsにlocaree&Textを設定することにより、Resourceクラスに該当するフォルダの内容を選択できます.英語を選ぶ時、結果は以下の通りです.つまり、valuesの下のstrigs.xmlを選択しました.
chinese(china)を選択すると、つまりvalues-zh-rceディレクトリ下のstings.xmlが選択されます.
chinese(taiwan)を選択すると、つまりvalues-zh-rtwディレクトリの下のstings.xmlの他の携帯電話のオプションを選択して、スクリーンのピクセルなどのようにすべて相応のカタログを作ることができます.
多くのプロジェクトの中でこのようなフォルダの命名の方式を見たことがあって、しかしまだ本当にテストしたことがなくて、時間があることを望んでテストしにきて、その時もテストのコードを入れます!
localization(現地化)は、L 10 nと略称します.一般的に一つの地域の言語を説明する時、言語_地区の形式を使います. zhuCN,zhuTW.
各国語の略語:
http://www.loc.gov/standards/iso639-2/php/code_list.php
国と地域の略記:
http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
Androidはi 18 nとL 10 nに対して非常に良いサポートを提供しています.Androidは特別なAPIを提供しないで国際化を提供しています.異なるresourceの命名によって国際化を達成しています.
Eclipseの工事の中で、resディレクトリはデフォルトのいくつかのresourceがあって、例えばdrawable、layout、menu、valuesのその他はまだあります.
res/anim/ アニメーションを置く
res/xml/ style themeなどのxml定義を置くために使います.
res/raw/ データを置くために使用します.
これらのresourceを引用するとき、javaコードでは、setTitle(R.string.manuitle)のようにR.reourcene.reourcene.unameによって使用されます.
もう一つはxmlの中で直接引用することです.
<TextView
android:id ="@+id/hello_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
helloという名前の文字列を引用しました.プログラムが実行されると、Resourceクラスでstings.xmlの中の名前がhelloという文字列を搭載します.しかし、Resourceクラスはstings.xmlを搭載する場合、現在の携帯電話の設定によってどのxmlファイルをロードするかを選択します.これらの携帯電話はMCC and MNC,Language and and and region,Screen Discregion,scregion,Scine dimensionsemental/Wiremental,screment/Wireence.Wirement/Wireencety,Touch screen type,SDK version,つまり携帯電話の現在の言語領域,スクリーンの大きさ,スクリーンの画素及び現在のandroid sdkのバージョン番号から選択します.これらのオプションで命名されたフォルダの下にstrigs.xmlを置くことで,Resource類が必要な文字列を正確にロードすることができます.私達は異なるlocalとregionで国際化をします.まずvaluesはデフォルトの文字列を表します.つまりResourceにマッチする資源が見つからない時、デフォルトでvaluesフォルダの下の資源を使います.残りのdrawableなどの資源も同じです.
これらのフォルダの名前が付けられている場合は、別のオプションを使用します.http://developer.android.com/guide/topics/resources/resources-i18n.html#AlternateResourcesフォルダの名前はすべて小文字でなければなりません.サイズが敏感なファイルシステムではエラーが発生する可能性があります.大文字で書くと、eclipseのadtは自動的に報告されます.エラー.小文字rはregionの意味を表します.stings.xmlでは文字列自体が違っています.xmlで定義されている文字列の名前は、idは同じです.コードやxmlでリソースを引用する場合は、名前を引用すればいいです.プログラム起動時にResource類は該当するディレクトリに戻り、正しい文字列(リソース)を探します.
Settingsにlocaree&Textを設定することにより、Resourceクラスに該当するフォルダの内容を選択できます.英語を選ぶ時、結果は以下の通りです.つまり、valuesの下のstrigs.xmlを選択しました.
chinese(china)を選択すると、つまりvalues-zh-rceディレクトリ下のstings.xmlが選択されます.
chinese(taiwan)を選択すると、つまりvalues-zh-rtwディレクトリの下のstings.xmlの他の携帯電話のオプションを選択して、スクリーンのピクセルなどのようにすべて相応のカタログを作ることができます.
多くのプロジェクトの中でこのようなフォルダの命名の方式を見たことがあって、しかしまだ本当にテストしたことがなくて、時間があることを望んでテストしにきて、その時もテストのコードを入れます!