Localize » 履歴 » バージョン 8
Akiko Takano, 2010/07/28 05:36
1 | 5 | Akiko Takano | {{>toc}} |
---|---|---|---|
2 | 3 | Akiko Takano | |
3 | 1 | Akiko Takano | h1. Localize |
4 | |||
5 | 7 | Akiko Takano | Feature #452 のための、ローカライズの方法を記載します。 |
6 | |||
7 | 1 | Akiko Takano | Flex/Airアプリケーションのローカライズは、下記を参考にしています。 |
8 | # "Adobe AIRアプリケーションのローカライズ(AIR1.5) ":http://help.adobe.com/ja_JP/AIR/1.5/devappshtml/WSB2927578-20D8-4065-99F3-00ACE6511EEE.html |
||
9 | 2 | Akiko Takano | # "Flex アプリケーションのローカライズ ":http://livedocs.adobe.com/flex/3_jp/html/help.html?content=l10n_1.html |
10 | |||
11 | RedmineAirは、HTML+JSでのアプリケーションではなく、ActionScript+mxmmlの従来の方法で作られています。 |
||
12 | このため、Flexと共通のResourceBundleを利用してローカライズを行っています。(ver0.0.2現在) |
||
13 | 3 | Akiko Takano | |
14 | h2. Resourceファイルの設定 |
||
15 | |||
16 | h3. ファイルの設置場所 |
||
17 | |||
18 | 基本的には、AIRプロジェクトのホームディレクトリの下に、 *locale* というフォルダを作成します。 |
||
19 | 次に、その下に各言語に対応したフォルダを作り、プロパティファイルを配置します。 |
||
20 | |||
21 | RedmineAirの場合は、下記のようになっています。 |
||
22 | |||
23 | <pre> |
||
24 | RedmineAir/ |
||
25 | - locale |
||
26 | - en_US |
||
27 | - messages.properties |
||
28 | - ja_JP |
||
29 | - messages.properties |
||
30 | </pre> |
||
31 | |||
32 | 8 | Akiko Takano | h3. メッセージファイル(プロパティファイル)の記述のルール |
33 | 3 | Akiko Takano | |
34 | * UTF-8で記載します。 |
||
35 | * 先頭に"#"が付いた行はコメント扱いされます。 |
||
36 | * key=valueの形式で記述します。 |
||
37 | |||
38 | 6 | Akiko Takano | メッセージのkeyについては、おおざっぱですがこんな感じで区別しています。 |
39 | |||
40 | * label_xxxx : ラベル名や固定表示用のテキスト (Redmineに倣った感じで) |
||
41 | * tips_xxxxx : ToolTip用のメッセージ |
||
42 | 1 | Akiko Takano | * notice_xxx : アラートメッセージなどの警告を促すもの |
43 | 8 | Akiko Takano | |
44 | h3. ActionScript/mxmlファイル内での利用方法 |
||
45 | |||
46 | * ResourceManager.getString()メソッドを利用してそのときのlocale設定に合ったメッセージを返します。 |
||
47 | ** Ref. http://livedocs.adobe.com/flex/3_jp/html/help.html?content=l10n_6.html |
||
48 | ** メインのアプリケーションでは、newしなくても resourceManagerのインスタンスが存在しますので、すぐ利用可能です。 |
||
49 | |||
50 | * コードが冗長な感じがしますが、ランタイムの切り替えは、 *このように記載しないと変更が反映されないようです* 。(バインディングの関係?) |
||
51 | ** Exp. resourceManager.getString("messages", "OPEN") |
||
52 | *** localeにあわせた messages.properties内のOPENというキーワードを表示。 |
||
53 | 6 | Akiko Takano | |
54 | 3 | Akiko Takano | h2. お役立ちツール |
55 | |||
56 | 複数言語のResourceファイルを一度に作成するのは結構面倒です。 |
||
57 | また、一度登録済みのキーをわすれて、再度記載してしまうこともあります。 |
||
58 | |||
59 | 今回は、ローカライズの補助のため、下記のツールを使ってみました。 |
||
60 | メッセージのローカライズの方法についても、簡単に説明があります。 |
||
61 | |||
62 | * LocaleMaker (日本の方が作者のAIRアプリです!) |
||
63 | ** http://homepage.mac.com/daoki2/air/LocaleMaker/manual.html |
||
64 | ** 生成元のデータは、SQLiteを利用しているようです。参考になるかも。 |