開発者は各国用のリソースファイルを準備することで、国際化対応アプリケーションを開発できます。

設計情報に含まれる「項目名」などの文字は、すべて「リソースファイル」に格納されています。 リソースファイルの詳細は"リソースファイルの編集"をお読みください。

ファイル名に "_ja" が付与されているものが日本語リソースです。"_en"が英語リソースです。このページでは、英語リソースについて説明します。
  1. wagbyapp/webapps/wagby/WEB-INF/classes/jfcapp_en.properties.UTF8 をテキストエディタで開きます。(Windowsに付属の「メモ帳」は使いません。TeraPad など別のテキストエディタをご用意ください。)
  2. リソースファイルのところどころが日本語表記になっています。これらを英語に翻訳します。
    ...
    qa_report.title=title
    ...
    
    リソースファイルのキー部分(上記では "qa_report.title" の部分)は変更してはいけません。
  3. 編集したファイルを customize/resources フォルダに保存します。これによって次回以降のビルド時に、今回編集したファイルが用いられるようになります。

この方法はファイルの置き換えになりますが、非推奨です。このあとの説明にある「差分ファイルの作成」までお読みください。

  1. wagbyapp/webapps/wagby/WEB-INF/classes/jfcapp_en.properties.UTF8 を各国語向けにコピーしたファイルを作成します。例えばフランス語用であれば jfcapp_fr.properties.UTF8 となります。"fr" の部分は ISO-639 に準拠した指定を用います。
  2. コピーしたファイルを customize/resources フォルダに保存します。次回以降のビルド時に、今回追加したファイルが加わるようになります。
  3. 追加したファイルを編集します。多国語に対応したテキストエディタを使ってください。
  4. ログオン画面で、今回追加した「国」を選択させる場合は「言語の選択 > 選択できる言語を追加する」を行なってください。

リソースファイルの置き換え方式とは別に、差分ファイルを作成する方法を提供しています。差分ファイルとして個別に管理した場合でも、ビルド時にマージ(結合)され、一つの .properties ファイルとしてまとめられます。

  1. jfcapp_en.properties.UTF8 ファイルに対して、接頭語 "my" をつけたファイルである myjfcapp_en.properties.UTF8 ファイルを新規に作成します。ファイルの中身は空です。このファイルを customize/resources フォルダに保存します。
  2. my ではじまるファイルを編集します。このとき、元々あったメッセージと同じ行を記述することで、置き換えることができます。例えば次の行を加えることで、もともと "Logoff" だったメッセージを書き換えます。
    __jfc_common.globallink.logoff=Log OFF !
    
  3. ビルド時にマージ(結合)されます。
図1 既存リソースの置き換え
この "my" をつけたファイルの拡張は、すべてのリソースファイルに対応しています。カスタマイズしたい部分のみを管理することができます。

差分ファイル方式を推奨します

jfcapp_XX.properties.UTF8 は「システムが標準で提供するリソース」と「開発者が追加したモデルに関するリソース」が一つになっています。このファイルを直接、編集すると、Wagbyのバージョンアップ時にシステムが提供するリソースが追加・変更された場合、開発者が手動で修正する必要が生じます。

この手間を省略するため、myjfcapp_XX.properties.UTF8 ファイルを作成することを推奨します。開発者が追加したモデルに関するリソースを、このmyファイルに分離して管理します。

標準で提供される文言を変更する場合も、このmyファイルに記述するとよいです。myファイルに記述したリソースが、標準のリソースを上書きします。(図1の例を参照)

日・英、以外の国向けのリソースファイルも、Wagbyが標準で提供する jfcapp_XX.properties.UTF8 の各国版と、開発者が追加したモデルに関する myjfcapp_XX.properties.UTF8 の各国版に分離して管理するようにします。

カレンダビューで表示される「休日」は iCalendar 形式のファイルで記述されています。標準ではmozilla が提供する日本の公休日情報 "JapanHolidays.ics" を同梱しています。

これを他国用に変更することができます。

  1. customize/webpage/WEB-INF フォルダに、その国向けの ics ファイルを保存します。
  2. カスタマイズフォルダ customize/resources に myapplication.properties ファイルを用意し、次の行を加えます。
    server.context-parameters.icsfilename=(ファイル名)
    
    標準では server.context-parameters.icsfilename=JapanHolidays.ics となっています。
  3. ビルドを行い、wagbyappを再起動します。指定した ics ファイルが読み込まれます。

修正した application.properties を customize/webpage/WEB-INF/classes に保存すると、次回以降の wagbyapp の起動で、カスタマイズしたファイルが利用されます。

[注意] このカスタマイズを行なったあと、リポジトリを変更して生成される application.properties が変わった場合は、手動でマージをを行うようにしてください。

入力チェック(ユーザ定義チェック)の設定で、メッセージを国際化対応することができます。

ERRORMESSAGE 関数を使います。引数はリソースキーです。

ERRORMESSAGE("E0001")

myerrormsg_ja.properties.UTF8を編集する

リソースキーに対応するエラーメッセージは、myerrormsg_ja.properties.UTF8 に「キー=値」の書式で記述します。このファイルをcustomize/resources に保存します。

記述例を示します。

E0001=このデータは登録できません。
E0002=このデータは {0} のため登録できません。
E0003=このデータは {0} のため {1} できません。

ここで {0} や {1} は「プレースホルダ」となります。ERRORMESSAGE 関数の第一引数はリソースキー(上のファイルで E0001 に相当する)ですが、第二引数以降に固定文字列を渡すことができます。

ERRORMESSAGE("E0002", "空白が含まれている")
ERRORMESSAGE("E0003", "空白が含まれている", "登録")