2011年3月24日木曜日

日本語や英語環境に対応する - Provisioning of Japanese or English language environments -

このエントリーをはてなブックマークに追加
日本語や英語環境に応じて、Androidアプリで使用される文字変更の設定手順を紹介します。

We introduce the setup steps of the character change used by Android application, according to Japanese or English language environments.



Android端末の言語の設定を例えば英語から日本語に変えたとき、アプリに表示する文字も英語から日本語に替えたい場合、代替リソースを利用すると簡単に実現できます。具体的には、アプリに表示する文字の英語版と日本語版のリソースを用意しておき、それらをそれぞれ次のフォルダへ格納します。


英語版のリソース
res/values-en/strings.xml

日本語版のリソース
res/values-ja/strings.xml


values-の後にenやjaといったISO 639-1形式の言語コードを付加したフォルダを作成し、その下に名前の同じリソースファイルを配置するだけです。ちなみにハイフン以下を付けないフォルダはデフォルトとみなされ、言語に合致するフォルダが見つからない場合に利用されます。

デフォルトのリソース
res/values/strings.xml


プログラム
デフォルトでは"Hello World!"、日本語の環境では"こんにちは 世界!"を表示するプログラムを次のように作成してみました。

リソースファイル
/SGL/res/values/strings.xml

    Hello World, HelloWorld!
    HelloWorld
    Hello World!


/SGL/res/values-ja/strings.xml

    Hello World, HelloWorld!
    HelloWorld
    こんにちは 世界!


ソースコード
/SGL/src/sgl/test/helloworld/HelloWorld.java
package sgl.test.helloworld;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloWorld extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView textView = new TextView(this);
        textView.setText(getResources().getString(R.string.hello_text));
        setContentView(textView);
    }
}

ファイル構造



実行結果
英語環境(日本語以外の環境)


日本語環境



代替リソース関連の記事
代替リソースとTableLayout

0 件のコメント:

コメントを投稿