ウェブアプリケーション,インジェクション,コマンドインジェクション

Androidアプリ開発 開発したAndroidアプリケーションを展開していく

アプリケーションを地域に合わせる

Localizing Application

現在、ほとんどのアプリケーションは世界市場で開発されています。
これは開発したアプリケーションが、開発者自身がいる場所でない
他の国に住んでいる人々に使われることがあることを示します。
そのため、他の言語の地域に簡単に適合させられる用意をするのが
重要になってきます。ここではユーザがよく使う言語を表示するために
開発するアプリケーションを地域に合わせる方法を示します。
開発するAndroidアプリケーションを地域に合わせる最初のルールは、
開発するアプリケーションのユーザインターフェースに使われる
すべての文法をプロジェクトのres/valuesフォルダにあるstrings.xml
ファイルに保存されます。例えば、
以下のようにactivity_main.xmlファイルを考えてみます。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent" >

  <TextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_centerHorizontal="true"
   android:layout_centerVertical="true"
   android:padding="@dimen/padding_medium"
   android:text="@string/quotation"
   android:context=".MainActivity" />
<RelativeLayout>

上の例では、TextViewで文字が表示され、strings.xmlファイルにある
quotationと名付けられたキーとして保存されてます。
string.xmlファイルはres/valuesフォルダにあります。

<resources>
  <string name="app_name">Localization</string>
  <string name="hello_world">Hello world</string>
  <string name="menu_settings">Settings</string>
  <string name="title_activity_main">MainActivity</string>
  <string name="quotation">書き込みたい文字列</string>
</resources>

Androidシステムが開発したアプリケーションをロードしたときに、
quotationと名付けられたキーを見つけるために、res/valuesフォルダを
探します。他の言語を表示するために開発するアプリケーションを
地域適合させるためには、resフォルダの下にあるvaluesフォルダの
コピーを作り、以下のようなフォーマットを使ってコピーを名づけます。

values-<言語コード>-r<国コード>

例えば、もし開発者がカナダでフランス語をサポートしたければ、
resフォルダの下にvalues-fr-rCAフォルダを作ります。
同じように中国で中国語をサポートしたければvalues-zh-rCNフォルダを
resフォルダに作ります。
合わせる地域の言語に文字を翻訳します。以下のstrings.xmlファイルは
フランス語に翻訳されたquotationキーで表現された文字を示します。

<resources>
  <string name="app_name">Localization</string>
  <string name="hello_world">Hello world</string>
  <string name="menu_settings">Settings</string>
  <string name="title_activity_main">MainActivity</string>
  <string name="quotation">フランス語に翻訳された文字列</string>
</resources>

言語を地域に合わせるのにするのはこれで全部です。
アプリケーションがコンパイルされた時に、言語はユーザが選んだ
異なる言語セッティングに沿って表示されます。
Androidデバイス上の言語セッティングを変更するには、
Settingアプリケーションに移動し、言語と入力(Language&input)
を選択します。
そこから表示したい言語を選ぶと、アプリケーションが
再ロードされたときに選んだ言語でユーザインターフェースが
表示されます。
国に関わらずすべてフランス語ユーザをターゲットにするには、
フォルダを代わりにvalues-frと名付けられます。
この場合、ユーザがフランス語を選択したのと同じくらいに
開発したアプリケーションのユーザインターフェースは
国の選択に関わらず常にフランス語を表示します。
アプリケーションはどのように、string.xmlファイルを使うと
判断しているのでしょうか?
これはもっとも特有なものから、もっとも一般的なものに移行します。
例えば、開発するプロジェクトが以下のフォルダを
サポートしているとします。
●res/values-fr-rCA
●res/values-fr
●res/values
上のフォルダはもっとも特有なものから、もっとも一般的なものに
リスト化されています。
もし、ユーザのデバイスがフランス語(カナダで)に選択されていたら、
Androidはstrings.xmlファイルがres/values-fr-rCAフォルダにあるか
どうかをまずチェックします。
もしあれば、Androidはstrings.xmlファイルから文字を得ます。
もしなければ、次のres/values-frを見ます。なければ次のres/valuesと
いう具合です。もしユーザがフランスでフランス語を選んだら、
その時は、res/values-frフォルダからstrings.xmlファイルを
ロードします。

ホーム
便利堂ロゴ
inserted by FC2 system