リソースファイルの編集
最終更新日: 2020年4月13日
R8 | R9
設計情報に含まれる「項目名」などの文字は、すべて「リソースファイル」に格納されています。代表的なリソースファイルを表に示します。
これらのファイルは次のように管理されています。
wagbydesigner/bin/template フォルダに含まれている jfcapp_ja.properties.UTF8 というファイルです。拡張子からわかるように UTF-8 形式のテキストファイルとなっています。
このファイルを土台として、設計情報で用意した項目名がリソースに追加されます。これは wagbydesigner/webapps/wagbydesigner/WEB-INF/env/work/srcgen/webpage/WEB-INF/classes/jfcapp_ja.properties.UTF8 というファイルになります。
wagbydesigner/bin/webpage/WEB-INF/src フォルダに含まれている errormsg_ja.properties.UTF8 というファイルです。拡張子からわかるように UTF-8 形式のテキストファイルとなっています。
ビルドされた wagbyapp フォルダ内の WEB-INF/classes フォルダに用意されます。拡張子 UTF8 が除かれた、".properties" ファイルが最終形式です。上記の「テンプレート」に、アプリケーション固有の情報が加わったものとなっています。
ファイル名に "_ja" が付与されているものが日本語リソースです。"_en"など、その他のファイルは「国際化」のページで説明します。
これらのファイルを直接、テキストエディタで変更することはありません。次節以降に説明する方法で書き換えます。
リソースファイルはテキストファイルです。内部は key-value 形式になっています。
wagbydesigner/webapps/wagbydesigner/WEB-INF/env/work/srcgen/webpage/WEB-INF/classes/jfcapp_ja.properties.UTF8 ファイルの一部を抜粋します。
ファイル内の 1 行は「キー=メッセージ」というペアで表現されます。キーの部分(「=」の左側)を変更することはできません。
メッセージ部では「プレースホルダ」を使うことができます。これは {0}, {1} という表記です。実際にはこの部分に適切な文字が設定されます。
リソースの値部分(「=」の右側)は、画面に表示される文字列です。ここに HTML のタグを指定することができますが、これはセキュリティの懸念となる場合があります。開発チームのポリシーで HTML タグを直接、記述することを認めない場合は、「<」「>」「&」「"」「'」といった文字をそれぞれ「<」「>」「&」「"」「'」に置換してください。
リソースファイルのキー部分(上記では "qa_report.title" の部分)は変更してはいけません。
この方法はファイルの置き換えになりますが、非推奨です。このあとの説明にある「差分ファイルの作成」までお読みください。
リソースファイルの置き換え方式とは別に、差分ファイルを作成する方法を提供しています。差分ファイルとして個別に管理した場合でも、ビルド時にマージ(結合)され、一つの .properties ファイルとしてまとめられます。
この "my" をつけたファイルの拡張は、すべてのリソースファイルに対応しています。カスタマイズしたい部分のみを管理することができます。
jfcapp_ja.properties.UTF8 は「システムが標準で提供するリソース」と「開発者が追加したモデルに関するリソース」が一つになっています。このファイルを直接、編集すると、Wagbyのバージョンアップ時にシステムが提供するリソースが追加・変更された場合、開発者が手動で修正する必要が生じます。
この手間を省略するため、myjfcapp_ja.properties.UTF8 ファイルを作成することを推奨します。開発者が追加したモデルに関するリソースを、このmyファイルに分離して管理します。
標準で提供される文言を変更する場合も、このmyファイルに記述するとよいです。myファイルに記述したリソースが、標準のリソースを上書きします。
myerrormsg_ja.properties.UTF8 を用意します。例えば model1 モデルの新規登録が成功した場合のメッセージを変更したい場合、次のように記述します。
{0}には、モデル名(日本語)が入ります。
このファイルを customize/resources フォルダに保存し、再ビルドしてください。(差分ビルドです。)
JavaScript のダイアログに表示される文言や共通ボタンなどの日本語表記は Wagby が同梱している Dojotoolkit ライブラリが管理しています。この部分の対応は次のようになります。
リソースファイルはこちらになります。日本語と英語が用意されています。
テキストエディタで内容を確認できます。次のような文言が規定されています。
リアルタイム入力チェックで表示されるエラーメッセージ「入力した値は無効です。」を変更する方法を説明します。
このメッセージは dojo-release-1.xx.yy/dijit/form/nls/ja/validate.js というファイルに次の内容で用意されています。
上記ファイルを直接修正し、customize/webapp/dojo-release-1.xx.yy/dijit/form/nls/ja/validate.js として保存し、ビルドしてください。
Windows OS に付属する「メモ帳」を使って UTF8 ファイルを編集しないようにしてください。TeraPad など、別のテキストエディタをご利用ください。
[詳細] メモ帳を文字コード UTF8 で保存すると BOM と呼ばれる特殊マークがファイルの先頭に付与されます。この影響で、Wagby が正しくファイルの内容を扱えないことが生じます。
なお Windows 10 May 2019 Update 1903 より、メモ帳は「BOMなしUTF-8」で保存できるようになりました。この形式であれば問題ありません。
リソースファイル
ファイル名 説明
errormsgconv_ja.properties
データベース固有のエラーメッセージを変換します。
errormsg_ja.properties
Wagbyが内部で管理するエラーメッセージです。
jfcapp_ja.properties
アプリケーション全体のメッセージです。
logcode_ja.properties
system.logに出力するメッセージです。
アプリケーションメッセージ
エラーメッセージ
最終的なリソースファイル
ワンポイント
重要
リソースファイルの内容
__jfc_common.logon.title=ログオン
__jfc_common.logon.userid=ユーザ名
__jfc_common.logon.password=パスワード
__jfc_common.logon.submit=ログオン
__jfc_common.logon.message={0} さんがログオンしています。
__jfc_common.logon.language=言語:
__jfc_common.logon.class.waku=frmLogon
__jfc_common.logon.class.logonbutton=btnLogon
__jfc_common.logon.display.mobile=表示:モバイル
__jfc_common.search.notfound=検索条件に合致したデータは見つかりませんでした。
__jfc_common.search.action=検索条件を入力してください。
HTML タグの扱い
ファイル置換方式(非推奨)
...
qa_report.title=タイトル
...
注意
差分ファイル作成方式(推奨)
__jfc_common.globallink.logoff=ログオフ!
ワンポイント
差分ファイル方式を推奨します
例 モデルごとにコントローラ処理の画面表示メッセージを変更する
model1.success.normal.termination.insert={0}データを登録しました!
Dojotoolkitに含まれるリソース
リソースファイルの場所
wagbyapp/webapps/<プロジェクトID>/nls/common.js
wagbyapp/webapps/<プロジェクトID>/nls/en/common.js
BUTTON_CLOSE: "閉じる",
BUTTON_DELETE: "削除",
BUTTON_CANCEL: "キャンセル",
BUTTON_SAVE: "保存",
BUTTON_OK: "OK",
BUTTON_COPY: "コピー",
BUTTON_DETAIL: "詳細",
FORMAT_DATE_YOUBI: "曜日",
ERROR_MSG_CODE: "コード",
ERROR_MSG_HISSU_1: "「内容」は必須項目です。",
ERROR_MSG_HISSU_2: "次のコード値に対応する「内容」に値を指定してください。",
EXCEPTION_MSG_UNEXPECTED: "予期しない値です。",
EXCEPTION_MSG_FORM_MISSING: "formが取得できませんでした",
EXCEPTION_MSG_CANTGET_YEAR: "西暦を取得できません。",
EXCEPTION_MSG_ILLEGAL_MONTH: "不正な月です。",
EXCEPTION_MSG_ILLEGAL_DATE: "不正な日です。",
EXCEPTION_MSG_ILLEGAL_MONTH_OR_DATE: "不正な月または日です。",
EXCEPTION_MSG_ILLEGAL_MONTHDATE: "不正な月日です。",
EXCEPTION_MSG_ILLEGAL_TIME_OR_MINUTE_OR_SECOND: "不正な時または分または秒です。",
EXCEPTION_MSG_ILLEGAL_TIMEMINUTESECOND: "不正な時分秒です。",
EXCEPTION_MSG_UNMATCHED: "日付に完全一致しないです。",
EXCEPTION_MSG_CAMERA_FAILED: "カメラが起動できませんでした。",
WARN_MSG_ZIPCODE_NOT_EXIST: "入力された郵便番号は存在しません。",
WARN_MSG_SESSION_TIMEOUT: "暫く操作されなかったため自動ログオフされました。\n再ログオンしてください。",
INFO_MSG_SELECT_BATCH_TARGET: "一括処理対象のデータを選択してください。",
FLOW_PATTERN_NAME: "フローパターン名",
NODE_NAME: "ノード名",
DIAGRAM_TITLE: "フロー参加者",
SEQUENCE_NODE_NAME: "順次",
CONSULTATION_NODE_NAME: "合議",
ERROR_MSG_NO_COMMA_FOR_NODE: "● ノード名にカンマ(,)は入力できません",
ERROR_MSG_CONFIRM: "入力データに不備があります。以下のメッセージを確認してください。",
ERROR_MSG_REQUIRE: "● 次の要素は必須項目となっています。",
ERROR_MSG_SET_PARTICIPANT: "フロー参加者、フロー参加グループ名はいずれか一方を指定するようにしてください。",
WARNING_KEEP_PASSWORD: "パスワードは入力されていないため、現行のパスワード情報がそのまま利用されます。",
TIP_MSG_INPUT_DATE: "yyyy-MM-dd 形式で入力して下さい。(yyyy は西暦、MM は月、dd は日です)",
CHECK_ALL: "全てチェック",
UNCHECK_ALL: "全てクリア",
CONFIRM_DELETE: "このデータを削除します。よろしいですか?",
BUTTON_FILE_SINGLE: "ファイルを選択",
BUTTON_FILE_MULTIPLE: "複数ファイルを選択",
ERROR_MSG_SOME_FILES: "複数ファイルを指定できません",
ERROR_SAVE_LATER: "ファイルのアップロード中です。アップロード後再度行ってください。",
ERROR_CHECK_FILEMINSIZE: "以下のサイズ以上のファイルである必要があります。",
ERROR_CHECK_FILEMAXSIZE: "以下のサイズ以下のファイルである必要があります。",
LABEL_CALENDAR_DIALOG_MODELNAME: "モデル",
LABEL_CALENDAR_DIALOG_TITLE: "タイトル",
LABEL_CALENDAR_DIALOG_STARTDATETIME: "開始日時",
LABEL_CALENDAR_DIALOG_ENDDATETIME: "終了日時",
LABEL_CALENDAR_DIALOG_ALLDAYFLAG: "終日",
LABEL_CALENDAR_DIALOG_STAFF: "担当者",
LABEL_CALENDAR_DIALOG_PLACE: "場所",
LABEL_CALENDAR_DIALOG_URL: "URL",
LABEL_CALENDAR_DIALOG_MEMO: "備考",
LABEL_CALENDAR_DIALOG_BTN_SHOW: "詳細画面表示",
LABEL_CALENDAR_DIALOG_BTN_UPDATE: "更新画面表示",
LABEL_CALENDAR_DIALOG_BTN_INSERT: "新規登録画面表示",
LABEL_CALENDAR_NEW_REGISTRATION: "新規登録",
ERROR_MSG_DELETE_CALENDAR_ITEM: "カレンダデータの削除に失敗しました",
LABEL_SHOWLIST_CHOICE: "選択",
LABEL_UPDATELIST_DELETE: "削除",
LABEL_UPDATELIST_STATUS: "ステータス",
LABEL_UPDATELIST_RESULTDIALOG_OK: "一覧表示画面へ戻る",
LABEL_UPDATELIST_RESULTDIALOG_CANCEL: "一覧更新を継続する",
LABEL_UPDATELIST_NEW_BUTTON: "新規",
LABEL_UPDATELIST_COPY_BUTTON: "コピー",
LABEL_UPDATELIST_CLEAR_BUTTON: "クリア",
LABEL_UPDATELIST_SEARCH_BUTTON: "検索...",
INFO_MSG_UPDATELIST_NEW: "新規",
INFO_MSG_UPDATELIST_COPY: "コピー",
INFO_MSG_UPDATELIST_UPDATE: "編集有",
ERROR_MSG_UPDATELIST_LOCKERROR: "ロック失敗",
ERROR_MSG_UPDATELIST_ERROR: "エラー",
CONFIRM_MSG_UPDATELIST_SAVE: "入力エラーデータは無視して保存します。<br>よろしいですか?",
ERROR_MSG_GET_GRID_SETTINGS: "グリッド設定取得時にエラーが発生しました",
ERROR_MSG_SET_GRID_SETTINGS: "グリッド設定保存時にエラーが発生しました",
INFO_MSG_SAVE_GRID_SETTINGS_SUCCESS: "グリッド設定が保存されました",
INFO_MSG_DELETE_GRID_SETTINGS_SUCCESS: "グリッド設定が削除されました",
LABEL_CLEAR_GRID_SETTING: "グリッド設定をクリア",
LABEL_BTN_SAVE_GRID_SETTING: "保存",
LABEL_BTN_DELETE_GRID_SETTING: "削除",
LABEL_TOTAL_DISTANCE: "合計距離",
LABEL_SQUARE_METER: "平方メートル",
LABEL_SQUARE_KILOMETER: "平方キロメートル",
LABEL_TOTAL_AREA: "総面積",
TITLE_SCRIPT_EDITOR: "スクリプトエディタ",
CONFIRM_MSG_SCRIPT_EDITOR: "変更を破棄してスクリプトエディタを閉じますか?",
LABEL_JFCJOBSCHEDULE_DIALOG_CHKANYTIME: "任意の時間を指定(全範囲を許容)",
LABEL_JFCJOBSCHEDULE_DIALOG_TIMETYPESPECIFIC: "特定のタイミング",
LABEL_JFCJOBSCHEDULE_DIALOG_CHKONLYWEEKDAYS: "平日のみ(土日を除く)",
LABEL_JFCJOBSCHEDULE_DIALOG_CHKUSEWEEKNUMBER: "週の指定を行う",
LABEL_JFCJOBSCHEDULE_DIALOG_WEEKNUMBER_PREFIX: "第",
LABEL_JFCJOBSCHEDULE_DIALOG_WEEKNUMBER_SUFFIX: "週",
LABEL_JFCJOBSCHEDULE_DIALOG_TIMETYPEINTERVAL: "インターバル",
LABEL_JFCJOBSCHEDULE_DIALOG_TIMETYPE_DURATION: "期間(範囲)指定",
LABEL_JFCJOBSCHEDULE_DIALOG_UNIT_SECOND: "秒",
LABEL_JFCJOBSCHEDULE_DIALOG_UNIT_MINUTE: "分",
LABEL_JFCJOBSCHEDULE_DIALOG_UNIT_HOUR: "時",
LABEL_JFCJOBSCHEDULE_DIALOG_UNIT_DAY: "日",
LABEL_JFCJOBSCHEDULE_DIALOG_UNIT_MONTH: "月",
LABEL_JFCJOBSCHEDULE_DIALOG_UNIT_DOW: "曜日",
LABEL_JFCJOBSCHEDULE_DIALOG_UNIT_YEAR: "年",
LABEL_JFCJOBSCHEDULE_DIALOG_TITLE_HOUR: "時刻(時)",
LABEL_JFCJOBSCHEDULE_DIALOG_INTERVAL_1: "から",
LABEL_JFCJOBSCHEDULE_DIALOG_INTERVAL_2: "おき",
LABEL_JFCJOBSCHEDULE_DIALOG_DURATION_1: " 〜 ",
LABEL_JFCJOBSCHEDULE_DIALOG_OPT_LAST: "最終",
LABEL_JFCJOBSCHEDULE_DIALOG_DOW_1: "日",
LABEL_JFCJOBSCHEDULE_DIALOG_DOW_2: "月",
LABEL_JFCJOBSCHEDULE_DIALOG_DOW_3: "火",
LABEL_JFCJOBSCHEDULE_DIALOG_DOW_4: "水",
LABEL_JFCJOBSCHEDULE_DIALOG_DOW_5: "木",
LABEL_JFCJOBSCHEDULE_DIALOG_DOW_6: "金",
LABEL_JFCJOBSCHEDULE_DIALOG_DOW_7: "土",
LABEL_JFCGROUPNODE_UNSETGROUP: "未設定グループ",
LABEL_JFCGROUPNODE_GROUP_HIERARCHY_TAB: "グループ階層図",
LABEL_JFCGROUPNODE_SEARCH_TAB: "検索",
CONFIRM_MSG_SAVE_GROUP_HIERARCHY: "グループ階層を保存しますか?",
リアルタイムエラーチェックのリソースファイル
define(
"dijit/form/nls/ja/validate", ({
invalidMessage: "入力した値は無効です。",
missingMessage: "この値は必須です。",
rangeMessage: "この値は範囲外です。"
})
);
確認方法
トラブルシューティング
Windows OS に付属の「メモ帳」利用時のトラブル