« Android ローカライズ方法 | メイン | Android Market バージョンアップされました。 »

Android ソフトのローカライズ方法

アプリケーションのローカライズ方法のDraftが出たので一通り試してみました。
現在Draftの状況ではありますが、大きく変わることはないと思われます。

Localizing Android AppsのDraft
https://groups.google.com/group/android-developers/web/localizing-android-apps-draft

デモアプリのダウンロード

ローカライズ手法を説明するために、デモアプリ(L10nDemo.zip)が用意されており、上記ドキュメントに記載されてあるリンクからダウンロードできます。 ダウンロードして実行してみました。特に記載することはなく、Locale情報を見てリソースを切り替えているだけのアプリケーションです。(しかし日本語リソースがないというのはいかがなものかと...)

localize1.png

ちなみに、ロケール情報は以下のコードで取得します。


 // fetch the display name for the current locale; a couple different ways
  String locale = getResources().getConfiguration().locale.getDisplayName();
  locale = java.util.Locale.getDefault().getDisplayName();

エミュレータのロケールを変えてみる

エミュレータにshellで入り、以下のコマンドを打つだけです。

 adb shell
 echo fr-CA > /data/locale;stop 5;start


5秒待って、エミュレータ上でデモアプリを起動すると、無事カナダに住むフランス人状態になりました。

localize2.png

注意としてこの手法は、エミュレータだけで動作をし、実機では動作しません、またこの手法は将来変更されるでしょう(GUIが付くのが普通でしょう)と記載されています。

アプリケーションの公開

アプリケーションを公開する時は、アプリケーションサイズを小さくするために、各リージョン毎にaptを作ってAndroid Marketに公開をする、とありますが、このあたりはどうなんだろうか?開発者の結局手間が増えるだけで、サイズはあまり変わらない気がします(グラフィックを多様しているソフトは除く)。開発者が手間を増やすかどうかは、新しくなるAndroidMarketの仕様によるでしょう。 (ちなみに、aapt -c コマンドにバグがあるので、試すのはちょっとまってねということらしい)

日本語化

日本語化を試してみる。 先のデモアプリに日本語リソースを追加し実行させます。
参考資料

現在のAndroid SDKのローカライズ関連ページ
http://code.google.com/intl/ja/android/devel/resources-i18n.html

Language
ISO 639-1

Region
ISO 3166-1-alpha-2


日本に住んでいて、日本語をしゃべる人は、「ja_rJP」となります。

プログラムの変更

/drawable-ja-rJP/flag.pngを作成
日本の国旗を用意

/values-ja/strings.xmlを作成
内容を以下とする。


<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">国際化テスト</string>
<string name="text_a">これは非常時の放送システムのテストです。 これはテストにすぎません</string>
<string name="text_b">これが実際の非常事態であったならば、我々は仰天して逃げました、そして、あなたには知らされなかったでしょう。</string>
<string name="text_c">この文字列は、message formattingを使ったものです。現在のロケールでは {0} は {1}の前にきます。そして現在のロケールは {2}です。</string>
<string name="button_label">ボタン</string>
</resources>
実行

エミュレータのロケール変更


echo ja-JP > /data/locale;stop;sleep 5;start
無事動きました。

localize3.png

ブログ内の関連する記事

トラックバック

このエントリーのトラックバックURL:
http://www.taosoftware.co.jp/mt/mt-tb.cgi/121

この一覧は、次のエントリーを参照しています: Android ソフトのローカライズ方法:

» Android ソフトのローカライズ方法 from Taosoftware
アプリケーションのローカライズ方法のDraftが出たので一通り試してみました。 ... [詳しくはこちら]

» [Android]英語リソース from むずかしいことはわかりません。
今回のClockoidには、ほとんどメッセージがないので英訳してリソース追加してアップデートしてみました。 res/values に英語メッセージを書い... [詳しくはこちら]