Titanium Mobileでi18n
categories: develop
メッセージを日本語化
プロジェクト直下に i18n ディレクトリを作りさらに国別ディレクトリを作って strings.xml に翻訳メッセージを記述
例えばロケールによって「Hello」と「こんにちは」を切り替えたい場合はこんな感じ
<?xml version="1.0" encoding="UTF-8"?> <resources> <string name="hello">Hello</string> </resources>
<?xml version="1.0" encoding="UTF-8"?> <resources> <string name="hello">こんにちは</string> </resources>
Ti.Locale.getString または Lマクロを使って取得する
var label = Ti.UI.createLabel({ text: L('hello') });
アプリ名を日本語化(iPhone)
/Resources に国名.lproj を作り InfoPlist.strings に記述
ロケールによってアプリ名を「Hello」と「こんにちは」に切り替えたい場合はこんな感じ
CFBundleName = "Hello"; CFBundleDisplayName = "Hello";
CFBundleName = "Hello"; CFBundleDisplayName = "こんにちは";
※ InfoPlist.strings の文字コードは UTF-16
※ CFBundleName は tiapp.xml の nameタグの値(プロジェクト名)
※ iPhone実機に転送しないと切り替わらない(iPhoneエミュレータ上だと変わらない。)
ロケールを取得
Ti.Locale.currentLanguage または Ti.Platform.locale で現在のロケールを取得出来る(2文字国コード)
例えばロケールによってボタン画像を変更したい場合はこんな感じ
var button = Ti.UI.createButton({ image: (Ti.Platform.locale === 'ja') ? 'japanese.png' : 'english.png' });
2011/06/12 00:53 | Leave a Comment
Trackback URL