国際化
最終更新日: 2022年8月23日
R8 | R9
設計情報に含まれる「項目名」などの文字は、すべて「リソースファイル」に格納されています。
リソースファイルの詳細は"リソースファイルの編集"をお読みください。
ファイル名に "_ja" が付与されているものが日本語リソースです。"_en"が英語リソースです。出荷時の製品には日本語と英語のリソースファイルが同梱されています。
リソースファイルのキー部分(上記では "qa_report.title" の部分)は変更してはいけません。
この方法はファイルの置き換えになりますが、非推奨です。このあとの説明にある「差分ファイルの作成」までお読みください。
リソースファイルの置き換え方式とは別に、差分ファイルを作成する方法を提供しています。差分ファイルとして個別に管理した場合でも、ビルド時にマージ(結合)され、一つの .properties ファイルとしてまとめられます。
この "my" をつけたファイルの拡張は、すべてのリソースファイルに対応しています。カスタマイズしたい部分のみを管理することができます。
jfcapp_XX.properties.UTF8 は「システムが標準で提供するリソース」と「開発者が追加したモデルに関するリソース」が一つになっています。このファイルを直接、編集すると、Wagbyのバージョンアップ時にシステムが提供するリソースが追加・変更された場合、開発者が手動で修正する必要が生じます。
この手間を省略するため、myjfcapp_XX.properties.UTF8 ファイルを作成することを推奨します。開発者が追加したモデルに関するリソースを、このmyファイルに分離して管理します。
標準で提供される文言を変更する場合も、このmyファイルに記述するとよいです。myファイルに記述したリソースが、標準のリソースを上書きします。(図1の例を参照)
カレンダビューで表示される「休日」は iCalendar 形式のファイルで記述されています。標準では Thunderbird が提供する日本の公休日情報 "JapanHolidays.ics" を同梱しています。
これを他国用に変更することができます。
入力チェック(ユーザ定義チェック)の設定で、メッセージを国際化対応することができます。
ERRORMESSAGE 関数を使います。引数はリソースキーです。
リソースキーに対応するエラーメッセージは、myerrormsg_ja.properties.UTF8 に「キー=値」の書式で記述します。このファイルをcustomize/resources に保存します。
記述例を示します。
ここで {0} や {1} は「プレースホルダ」となります。ERRORMESSAGE 関数の第一引数はリソースキー(上のファイルで E0001 に相当する)ですが、第二引数以降に固定文字列を渡すことができます。
言語パック(英語)をインストールした Wagby は開発から運用まで、すべて英語化されます。一部メッセージの置換も行うため、日本語に戻すことはできません。完全に英語モードとして動作させたい場合に適用してください。
言語パックには次の内容が含まれています。
wagby.comのダウンロードサイトから「言語パック(英語)ランタイム版」を入手できます。言語パックのインストール方法は、このページにリンクとして用意しています。
次のリソースファイルを翻訳することで、日・英以外の国に対応することができます。"<ロケール>" は ISO-639 に準拠した指定になります。この詳細は「サポートされているロケール」をお読みください。例えば台湾は zh_TW となります。
翻訳する直前のアプリケーションをビルドします。
ビルドされたアプリケーションに含まれる英語リソースのファイルを、対象となる国向けのファイルとしてコピーします。
ここでは中国 (ロケールIDを
customize/resources/myjfcapp_zh.properties.UTF8 を用意します。次の行を含めます。
実際には Wagby に同梱されている JavaScript フレームワーク Dojotoolkit のバージョン番号を含めます。
なお上記ファイルに翻訳した文言を含めることができます。ビルドしたアプリケーションは、ここに記載した内容が反映されます。例えば次の行を加えると、メニューの右横にあるボタンの文言 "ログオフ" が変わります。
customize/webapp/nls/common.js の末尾部分に
ログオン画面で、今回追加した「国」を選択させる場合は「言語の選択 > 選択できる言語を追加する」を行なってください。
このあとにモデルの追加など、リポジトリの変更が生じた場合は wagbyapp/webapps/<プロジェクト識別子>/WEB-INF/classes/jfcapp_en.properties が変わります。差分をとって過不足の生じたリソースがあれば手動でマージしてください。
用意した myjfcapp ファイルに
なお __jfc_common ではじまるリソースキー、ならびにシステムモデル (jfcではじまるモデル)が含まれている場合、これらは除くことを推奨します。ユーザ定義モデルのみが英訳の対象です。システムモデルはすでに英訳済みなので、メーカー提供分の文言を変更したい箇所のみを選んで、上書きするとよいでしょう。
リソースファイル
ワンポイント
英語リソースファイルの編集
...
qa_report.title=title
...
注意
差分ファイルの作成
__jfc_common.globallink.logoff=Log OFF !
ワンポイント
差分ファイル方式を推奨します
休日ファイルの変更
R8.4以降
server.servlet.context-parameters.icsfilename=(ファイル名)
server.context-parameters.icsfilename=(ファイル名)
ユーザ定義入力チェックメッセージ
ERRORMESSAGE("E0001")
myerrormsg_ja.properties.UTF8を編集する
E0001=このデータは登録できません。
E0002=このデータは {0} のため登録できません。
E0003=このデータは {0} のため {1} できません。
ERRORMESSAGE("E0002", "空白が含まれている")
ERRORMESSAGE("E0003", "空白が含まれている", "登録")
言語パック(英語)
入手方法
日・英以外の国用のリソースファイルの作成
ファイル 説明 修正のタイミング
customize/resources/jfcapp_<ロケール>.properties.UTF8
システムメッセージを含む、基本的なリソース。(*1)
モデルの修正の都度。
customize/resources/logcode_<ロケール>.properties.UTF8
ログコード。(*1)
初回のみ。
customize/resources/errormsg_<ロケール>.properties.UTF8
エラーメッセージ。(*1)
初回のみ。
customize/resources/errormsgconv_<ロケール>.properties.UTF8
データベースのメッセージの変換用。(*1)
初回のみ。
customize/webapp/nls/<ロケール>/common.js
Dojotoolkit用の標準メッセージ。(*2)
初回のみ。
最初に用意する方法
1. アプリケーションビルドする
2. 英語リソースをコピーする
zh
とする)のリソースを作成する例で説明します。以下のコマンドを参考にしてください。(*3)
copy wagbyapp/webapps/<プロジェクト識別子>/WEB-INF/classes/jfcapp_en.properties customize/resources/jfcapp_zh.properties.UTF8
copy wagbydesigner/bin/webpage/WEB-INF/src/logcode_en.properties customize/resources/logcode_zh.properties.UTF8
copy wagbydesigner/bin/webpage/WEB-INF/src/errormsg_en.properties customize/resources/errormsg_zh.properties.UTF8
copy wagbydesigner/bin/webpage/WEB-INF/src/errormsgconv_en.properties.UTF8 customize/resources/errormsgconv_zh.properties.UTF8
copy wagbydesigner/bin/webpage/WEB-INF/src/i18n.txt customize/resources/i18n.txt
mkdir customize/webapp/nls
mkdir customize/webapp/nls/zh
copy wagbydesigner/bin/webpage/nls/common.js customize/webapp/nls/common.js
copy wagbydesigner/bin/webpage/nls/en/common.js customize/webapp/nls/zh/common.js
3. myjfcapp の作成
__jfc_common.dojo_webpage_dir=dojo-release-1.14.1
1.14.1
の部分はご利用の Wagby に含まれている Dojotoolkit にあわせて適切に読み替えてください。(*4)
__jfc_common.globallink.logoff=注销
4. nls/<ロケール>/common.js リソースの修正
'zh': true,
を追加します。(*5)
…
'ja-jp': true,
'zh': true,
});
setLocale("<c:out value='${sessionScope.__jfc_locale}'/>");
関数で設定されています。${sessionScope.__jfc_locale}
の文字列が利用するリソースファイルのフォルダ名と一致している必要があります。(上記例の場合 "zh")。念のため利用しているブラウザで、目的とする「言語」のロケール情報を確認するようにするとよいでしょう。この調査には、WagbyのLOCALE関数を利用できます。
5. ログオン画面からの選択
注意
仕様・制約
将来のWagbyのバージョンアップで対応する予定です。 R8はこのままとなります。R9系のWagbyで改善する計画です。トラブルシューティング
ログオン後のメニューが表示されなくなった
__jfc_common.dojo_webpage_dir
というリソースキーが含まれていると現象が生じることがあります。これは Wagby 内部で利用している Dojotookit という JavaScript が格納されているフォルダ位置を示しており、これが誤った値になっているとエラーになります。