2015-10-10

Android アプリの多言語化

スポンサーリンク

作成した Android アプリが端末の言語設定に従って、表示する言語を切り替えられるようになると海外ユーザーにも利用してもらうことができるようになります。言語を切り替えられるようにするには、リソースフォルダ以下に各言語用のフォルダを用意し、そこにリソースファイルを作成します。

日本語と英語の切り替え


端末の言語設定が日本語の場合は日本語を表示し、日本語でない場合は英語を表示するアプリを作成してみます。
  • 新規にプロジェクトを作成したら [res] フォルダを右クリックし [新規] → [Android resource file] をクリック
    • 各項目を以下の通り入力し [OK] をクリック
    • [File name:] "string.xml"
      [Resource type:] "Values"
      [Directory name:] "values-ja"
    以下のように "string.xml (ja)" という日本語設定用のリソースファイルが作成されます。

    各ファイルを以下のように書き換えます。
    • "string.xml" (最初から作成されていたファイル)
    <resources>
        <string name="app_name">SwitchLanguage</string>
        <string name="action_settings">Settings</string>
        <string name="hello_world">Hello World!</string>
    </resources>

    • "string.xml (ja)"
    <resources>
        <string name="app_name">言語切替</string>
        <string name="action_settings">設定</string>
        <string name="hello_world">ハローワーク!</string>
    </resources>

    • "activity_main.xml" (赤字部分のみ変更)
    <?xml version="1.0" encoding="utf-8"?>
    <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"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        tools:context=".MainActivity">
    
        <TextView android:text="@string/hello_world"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </RelativeLayout>
    

    アプリを実行してみます。
    端末の言語設定が日本語でない場合は・・・

    デフォルトのリソースファイルに記述した文言が表示されます。

    端末の言語設定が日本語の場合は・・・

    日本語のリソースファイルに記述した文言が表示されます。
    スポンサーリンク

    0 件のコメント:

    コメントを投稿