最近、日英中以外の言語を増やしたいというお問い合わせを受けることが多くなってきましたので、その方法等をまとめさせて頂きます。
intra-martにおける多言語対応とは?
intra-mart Ver5.0以降、ログインユーザごとに使用する言語を切り替えることができます。(管理者での指定もユーザ自身での変更も可能。)
言語を切り替えるとメニュー項目、表示項目、メッセージがユーザの指定した言語(ロケール)に切り替わります。
多言語化に対応している項目は以下のものになります。
- メニュー表示名
- 標準提供画面の各種項目名、キャプション
- ロール表示名
- カレンダ表示名
- グループ(会社・組織・パブリックグループ)
- 組織名、会社名、パブリックグループ名称
- 組織名、会社名、パブリックグループのカナ名称(日本語ロケールのみで利用)
- 組織名、会社名、パブリックグループの英字名称
- 住所
- ユーザ
- ユーザー名
- ユーザー名カナ(日本語ロケールのみで利用)
- ユーザー名英字
- 住所
- 役職名
- メッセージ
画面イメージ:ログイン管理者・英語ロケール
画面イメージ:ログイン管理者・中国語ロケール
各業務画面での対応について
intra-martの多言語化でサポートしているのは、メッセージ、表示項目のロケールによる変更する機能の提供のみです。
基本的なメッセージの切り替えだけであれば、各ロケール単位で、画面を作成する必要はありませんが、ほとんどの場合、ロケール単位で表示レイアウトを微調整する必要があり、それ以外でも処理を変更したり、メッセージの表示内容を修正する必要があるので、ロケール単位で画面を作成する必要があります。
対応言語の増やし方
intra-martから提供している英語、中国語(簡体字)以外に対応言語を増やす場合、以下の作業が必要です。
- 各言語用メッセージファイルの準備(=翻訳)
- マスタデータ用のSQLファイル,XMLファイルの準備(=翻訳)
- その他ファイルの準備(=翻訳)
- system.xmlへのロケール情報の追加
- 画面上、各項目のサイズ調整(必要に応じて)
- 追加した言語を利用するユーザでロケール設定を行う。
追加言語用メッセージファイルの準備(=翻訳)
追加する言語用のメッセージプロパティファイルを用意します。
iWP v7.2アドバンスド版英語コンテンツでの例
- conf/message以下のpropertiesファイル(29ファイル)
- 例:im-error-message_en.properties(prefix: "メッセージ名"-message_"ロケール名".properties
- doc/imart/WEB-INF/lib/im_properties.jarファイル内のpropertiesファイル(49ファイル)
- plugin以下の各プラグインモジュールのpropertiesファイル(68ファイル)
- 例: plugin/jp.co.intra_mart.master.app.search.standard/plugin_en.properties(Prefix:Plugin/プラグイン名/plugin_"ロケール名".properties)
※各ファイルはUTF-8でBOMなしファイル。
その他、メッセージプロパティの仕様に関しては、
を参照してください。
マスタデータ用のSQLファイル、XMLファイルの準備(=翻訳)
追加する言語用のマスタデータ用のSQLファイル、XMLファイルを準備する。
- iWP v7.2アドバンスド版英語コンテンツでの例
- storage/system/basic配下のsql、xmlファイル(29ファイル)
その他ファイルの準備(=翻訳)
必要であれば、以下の部分の修正、翻訳を行う。
- 送信メールのエンコード指定
- conf/mail/encode_"ロケール名".properties
- キャラクタセット、mimeエンコード、 contentTransferEncodingを指定する。
- システム管理者用メニューの翻訳
- conf/system-menu_ "ロケール名".xml
- intra-mart Administratorの翻訳
- conf/admin_"ロケール名".properties
- ドキュメントワークフロー(BPW)のメールテンプレート
- Storage/bpw/mail_template/"ロケール名"以下、17ファイル
system.xmlへのロケール情報の追加
system.xmlに追加するロケール情報(system/locale-config/locale)を追記する。
例:日本語、英語、中国語(簡体字)にドイツ語を追加した場合:
画面上、各項目のサイズ調整
言語により、文字列の長さが、変わりますので、画面構成が崩れる場合は、各項目のサイズを変更する必要があります。
スクリプト開発モデルの場合、言語毎に、ソース(html,js)の格納先を変更することが可能です。詳細は以下のドキュメントを参照してください。
- 動作概要【 Resource Service 篇 】
また、各アプリケーションでの言語切替の実装方法は、以下のドキュメントを参照してください。
JavaEE開発モデル:
スクリプト開発モデル: