はじめての国際化

By 湯茶
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

昨日開発環境をインストールしました湯茶です。はじめまして。

エミュレータをイジイジしてまず設定。

ついでにお題もおなじ流れで、と

  • 国際化に対応したアプリを作成
  • エミュレータのタイムゾーン(GMT+9:00)とLocale(Japanese)の設定

ざざっといきます。

1.国際化に対応したアプリを作成

AVDの設定を作成し忘れてエミュレータが動かない、そもそもなにも分かってない。

そんなこんなを乗り越えて

プロジェクト - HelloWorld
プロジェクト – HelloWorld

国際化はAndroid1.5から対応ということで1.6で作成しました(適当

初期に作成されたActivityから一切手を加えません。

国際化対応できるのはテキストに画像に、アニメーションに
上げたらきりがないので今回はカンタンにテキストで試してみます。

layoutフォルダ内のmain.xmlに

android:text=”@string/textX”という属性をもつTextViewをひとつだけ追加して見ました。

リソースのフォルダ名
リソースのフォルダ名

あとはvaluesフォルダにあるstrings.xml内のテキストを変更します。

次にすることは、values-jaフォルダを作成することです。画像のままですね。

構成も元のvaluesフォルダのstrings.xmlと同じ

メニュー - Englishメニュー - 日本語版

LocaleがEnglish版での表示とJapanese版とで異なるように表示できるアプリができました。

どういう表示をしたかは実際に作成して確認してください。

まとめ的ななにか

values-xx

といったところで通常は

  • value-fr(フランス)
  • value-en-rUS(English - アメリカ)

valuesの下に日本のテキストをvalue-xxの配下に

海外の言語設定のテキストを入れるのが自然なのかもしれません。

国内マーケットだけをターゲットにしているアプリでなければ

Locale設定にそれほど左右されない設定として英語をデフォルトに

日本語をサブに設定する方が対応が楽な気がします。

記事の内容は

http://developer.android.com/intl/ja/guide/topics/resources/resources-i18n.html

こちらを参考に書いています

あとはおまけで

2.エミュレータのTimeZone、Localeの設定変更

エミュレータ設定画面- English

エミュレータ設定画面- English

デフォルトのままだと英語で時間もGMT+00:00のままのエミュ君でした。

設定の変更は表示されているまま Menus からSettingsで、できると思ったんですが

日付と時刻の設定画面 - デフォルト

できますね。余裕です。

まずAutomatic のチェックを外します。time zoneがselectできません。

チェックを外すと選択できるようになります。

タイムゾーン設定画面 - 英語表示

Tokyoは極東だけあってかなり下の方にあります。

日付と設定画面 - 変更後

日付と設定画面 - 変更後

無事設定できました。

油断してAutomaticのチェックを入れると、timezoneがGMT+00:00に戻ってしまうため注意してください。

いろいろ台無しです。

関連する投稿