多言語¶
概要¶
intra-mart Accel Platform の多言語対応¶
intra-mart Accel Platform における多言語対応の構成要素は、以下の4つです。
- 言語の定義
intra-mart Accel Platform で利用する言語を定義しています。
- メッセージの定義
ユーザに見せるためのメッセージは、intra-mart Accel Platform で定義している全言語について翻訳を用意しています。メッセージは、「言語 ID」と「メッセージコード」で管理しています。
- 言語解決
ユーザは、使用したい言語を intra-mart Accel Platform に登録することができます。登録しない場合、自動的に解決された言語が適用されます。言語の解決順序については、定義済みアクセスコンテキスト を参照してください。
- メッセージの取得
intra-mart Accel Platform は、多言語対応されたメッセージを取得するための API (MessageManager) を提供しています。MessageManager は「メッセージコード」と「ユーザの言語」から、該当するメッセージを取得します。MessageManager の使い方については、多言語化されたメッセージを取得する を参照してください。
言語の定義¶
初期状態の言語の定義¶
intra-mart Accel Platform が初期状態で定義している言語は、以下の通りです。
言語 言語 ID 英語 en 日本語 ja 中国語(簡体字) zh_CN
- 言語マスタファイル
intra-mart Accel Platform で定義されている言語は、「言語マスタファイル」という XML に記述されています。初期状態のシステム・デフォルト言語は「英語」です。
- 設定ファイル
%CONTEXT_PATH%/WEB-INF/conf/locale-config/im-locale-default.xml
メッセージの定義¶
intra-mart Accel Platform におけるメッセージの構成要素は、以下の3つです。
- メッセージコード
メッセージの内容に紐付くコードです。intra-mart Accel Platform から提供されているメッセージコードは、内部的な規約に基づいているため、コード体系を理解する必要はありません。
- 言語 ID
intra-mart Accel Platform が定義する言語は、言語 ID として言語マスタファイルに定義されています。
- 翻訳されたメッセージ
翻訳は、intra-mart Accel Platform が定義する言語分だけ用意されています。
メッセージプロパティファイル¶
メッセージが記述されているファイルです。
ファイルの命名規約
{任意の名前} _ {言語ID} .properties
- 例
言語 ファイル名 英語 example_en.properties 日本語 example_ja.properties 中国語(簡体字) example_zh_CN.properties 注意
{任意の名前} 部分にはアンダースコア(_)を入れないようにしてください。(例) test_message_ja.propertiesファイルの内容
{メッセージコード} = {翻訳されたメッセージ}
例
example_en.properties
I18N.MESSAGE.EXAMPLE=This is an example of message.
example_ja.properties
I18N.MESSAGE.EXAMPLE=\u3053\u308c\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u4f8b\u3067\u3059\u3002