intra-mart Accel Platform スクリプト開発モデル プログラミングガイド 第17版 2021-12-01

多言語

概要

多言語対応とは?

多言語対応とは、システムが1つの言語だけに対応しているのではなく、複数の言語を使い分けられることを意味します。

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