intra-mart Accel Platform 言語追加ガイド 第8版 2020-12-01

5.2.1. 国際化機能

「モジュール固有の言語情報」 として、国際化機能(im_tenant)モジュール内の固有の言語情報を設定します。
【オプション】と表記されている言語情報については、利用用途に応じて洗い出し対象に含めるかについてご検討ください。

5.2.1.1. ロケールマスタへの定義追加

  • 追加する言語を、intra-mart Accel Platform のロケール定義として追加します。
  1. %RESIN_HOME% /webapps/ %コンテキストパス% /WEB-INF/conf/locale-config/im-locale-default.xml
    を参考に追加する言語用のファイルを作成します。次のように定義します。
    <?xml version="1.0" encoding="UTF-8"?>
    <locale-config
        xmlns="http://intra_mart.co.jp/system/i18n/locale/config/locale-config"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://intra_mart.co.jp/system/i18n/locale/config/locale-config locale-config.xsd ">
      <locale name="de">
        <encoding-name>UTF-8</encoding-name>
      </locale>
    </locale-config>
    
  2. 作成したファイル名は既存のものと重複しないファイル名にします。
    im-locale-de.xml
    

5.2.1.2. タイムゾーン地域名用メッセージの追加

  • 追加する言語のタイムゾーン地域名用メッセージを追加します。

    %RESIN_HOME% /webapps/ %コンテキストパス% /WEB-INF/conf/message/platform/i18n/timezone/region ディレクトリ
      ・caption_ja.properties
    

    コラム

    言語とタイムゾーンは直接関連するものではないため、本書ではタイムゾーン自体に関する説明は割愛しています。

5.2.1.3. 【オプション】追加する言語に応じたカレンダーIDの追加

  • 新しくテナントを構築し初回のテナント環境セットアップを実行時に、 選択した言語(ロケール)に応じたカレンダーをテナントが持つカレンダーとして設定します。

コラム

言語(ロケール)とカレンダーの設定を行った場合、次のような動作が可能となります。

例:
まず前提条件として、
運用開始前に新しい言語として「ドイツ語」、この言語に応じたカレンダーとして「英語」のカレンダーIDを設定します。
テナント環境セットアップにおいて、テナントのロケールを「ドイツ語」として選択し実行します。

その後の運用において、一般ユーザ自身のロケールが設定されていなかった場合、
一般ユーザがカレンダーを参照すると、このロケール(「ドイツ語」)に応じたカレンダーが表示されます。
テナントのロケールとなる「ドイツ語」が適用されます。

注意

運用開始後に言語を追加する場合には、無効な設定となります(対応の必要はありません)。
  1. 次のファイルを編集します。

    %RESIN_HOME% /webapps/ %コンテキストパス% /WEB-INF/jssp/platform/src/system/initialsettings/ajax ディレクトリ
      ・admin_and_tenant_register.js
    
  2. L.31 に追加する言語に対応するカレンダーIDを設定します。

    コラム

    本書では 「ドイツ語」カレンダーは作成しません。
    したがい以下の例では、「ドイツ語」のロケールに対し既存のカレンダーである「英語カレンダー」を追加します。
    function getDefaultTenantInfoByLocale(locale) {
    // ロケールに応じたカレンダーIDを取得
    let calendarId = ({
        'ja':    'JPN_CAL',
        'en':    'USA_CAL',
        'zh_CN': 'PRC_CAL'
        'de': 'USA_CAL'
    })[locale];
    
  3. 編集したファイルを任意のディレクトリに保存します。 このファイルは、後の章でユーザモジュールとして組み込みます。

5.2.1.4. 【オプション】日付と時刻の形式マスタの追加

  • 追加する言語のフォーマットセット設定を行います。

注意

日時表示形式はフォーマットセットという単位で扱います。
フォーマットセットは intra-mart Accel Platform の初期状態では各言語ごとに1つずつ設定されています。
追加する言語に対してのフォーマットセットの追加を行う場合、次の設定ファイルに対して追加の設定が必要となります。
%RESIN_HOME% /webapps/ %コンテキストパス% /WEB-INF/conf/date-time-format-config ディレクトリ
 ・im-date-time-format-config_ja.xml
  1. 追加する言語に対応するフォーマットセットを追加します。

    %RESIN_HOME% /webapps/ %コンテキストパス% /WEB-INF/conf/date-time-format-config ディレクトリ
      ・im-date-time-format-config_ja.xml
    
  2. メニュー「テナント管理」-「テナント情報」-「日付と時刻の形式」設定画面において「形式の切り替え」のフォーマットセットを
    選択するプルダウンとして表示するキャプションを各言語ファイルに対し設定します。

    ※im-date-time-format-config_ja.xmlファイルに、ドイツ形式のフォーマットセットを追加する場合

    ### Format set name ###
    CAP.Z.IWP.I18N.DATETIMEFORMAT.SET.EN.BASE=英語形式
    CAP.Z.IWP.I18N.DATETIMEFORMAT.SET.JA.BASE=日本語形式
    CAP.Z.IWP.I18N.DATETIMEFORMAT.SET.ZHCN.BASE=中国語(簡体字)形式
    CAP.Z.IWP.I18N.DATETIMEFORMAT.SET.DE.BASE=ドイツ形式