SmartPad4i(Cobos4i)では、Designerで定義した型と異なる文字を入力した場合や、文字数が超えた場合にエラーチェックが自動で行われます。表示されるエラーメッセージや画面に表示される一部の値はjsファイルに格納されています。そのため、開発者が任意に変更することも可能です。今回のTipsでは、SmartPad4i(Cobos4i)のエラーメッセージや表示値を変更する方法についてご紹介します。
エラーメッセージを定義しているファイル
SmartPad4i(Cobos4i)のエラーメッセージは、[smartpad4i インストールルート]/exec/sp4imsg.jsのファイルに保存されています。
エラーメッセージの内容
sp4imsg.jsファイルをテキストエディタで開くと、エラーメッセージは MSG_PadSize=”\u6b63\u3057.…”, のように左側に変数名、右側にメッセージが格納されています。メッセージはユニコードの文字列になっており、\uから始まる文字形式で記述されています。
エラーメッセージの変更
例えば、入力制限文字数を超えた場合に表示されるメッセージを「正しくない文字数が入力されました。」から、「文字数が正しくありません」に変更する場合には、MSG_PadSize 変数を”\u6587\u5b57\u6570\u304c\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093″に変更します。
その後、アプリケーションを実行するとエラーメッセージが変更されています。
エラーメッセージのリソースを日本語変換すると以下になります。
任意のメッセージや表示を変更したい場合に確認ください。
日本語文字列からユニコードへの変換は、変換サイトや、chatGPT等のAIで行えますので自由にカスタマイズください。
TXT_PMCAL='前月',
TXT_NMCAL='翌月',
TXT_PYCAL='前年',
TXT_NYCAL='翌年',
TXT_DWEEK=['月','火','水','木','金','土','日'],
TXT_MONTH=['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
//const - context
TXT_CMDPrint='Print',
TXT_CMDSubmit='Submit',
TXT_CMDPrtAW='Print active window',
//const - sfl
TXT_SFLPage="ページ",
TXT_SFLNext="次",
TXT_SFLPrev="前",
TXT_SFLPgup="ページアップ",
TXT_SFLPgdn="ページダウン",
TXT_SFLMore="続く...",
//const - logon
MSG_Userid="ユーザーIDが必要です",
MSG_Passwd="パスワードが必要です",
MSG_Errpwd="パスワードが正しくありません",
MSG_Libapp='Program library required.',
MSG_Pgmapp='Program to start required.',
MSG_Libenv='Environement library required.',
MSG_Pgmenv='Environment program required.',
//const
MSG_BWComp="%1と%2の間になります",
MSG_EQComp="%1に等しくなります",
MSG_NEComp="%1ではありません",
MSG_LTComp="%1より小さくなります",
MSG_GTComp="%1より大きくなります",
MSG_GEComp="%1に等しいか大きくなります",
MSG_LEComp="%1に等しいか小さくなります",
MSG_VValue="これらの値のうち一つだけ認められます:\n<%1>",
MSG_BValue="最大入力桁数を超えています",
MSG_RField="このフィールドは必須項目です",
MSG_FField="このフィールドは全て入力する必要があります",
MSG_VName1="最初の文字は$,#,@ かA-Zになります",
MSG_VNameE="The remaining characters must be ($,#,@,_,., or A-Z).",
MSG_VNameX="The remaining characters must be ($,#,@,_,A-Z, or 0-9).",
MSG_VNameQ="このフィールドに次の文字\n( ,*,?,',\")を入力できません.",
MSG_ModM10="The value for the field does not meet modulus 10 or 11 check.",
MSG_Number="このフィールドに対して桁数が多過ぎます。\n%1の桁だけ入力できます",
MSG_EDigit="このフィールドに対して小数桁が制限を超えています。小数%1の桁だけ入力できます",
MSG_EPoint="小数点はこのフィールドでは使用できません",
MSG_EInput="入力された日付が正しくありません",
//const
MSG_PadData="不正な文字が含まれています\n不正な文字[%1]が%2桁目で見つかりました",
//MSG_PadSize="正しくない文字数が入力されました",
MSG_PadSize="文字数が正しくありません",
MSG_NoSpace='No more space for this new data.',
//const - browser
MSG_Actjob1="%1 システムのジョブがまだ活動しています",
MSG_Actjobs="%1 システム中の複数のジョブがまだ活動しています",
MSG_Unload ="ブラウザをクローズすると現在のジョブが終了します",
MSG_Browser="ブラウザをクローズすると現在のジョブが終了します",
MSG_Session="セッションを終了すると予期できない結果を招くかもしれません",
MSG_Version="現在のブラウザ情報:\n- Name: %1\n- Version: %2\n\nJACi400 はこのブラウザ上で正常に動作できません",
MSG_NewJSAD='SmartPad4iを実行するために新しいリソースが必要です。\nブラウザからファイルを削除し、アプリケーションを再起動してください。\n\nSee: Menu -> More -> Settings -> Clear cache...',
MSG_NewJSCR='SmartPad4iを実行するために新しいリソースが必要です。\nブラウザからファイルを削除し、アプリケーションを再起動してください。\n\nSee: Tools -> Clear browsing data...',
MSG_NewJSFF="SmartPad4iを実行するために新しいリソースが必要です。\nブラウザからファイルを削除し、アプリケーションを再起動してください。\n\nSee: ツール -> インターネットオプション -> ファイルの削除",
MSG_NewJSIE="SmartPad4iを実行するために新しいリソースが必要です。\nブラウザからファイルを削除し、アプリケーションを再起動してください。\n\nSee: ツール -> インターネットオプション -> ファイルの削除",
MSG_NewJSOP='SmartPad4iを実行するために新しいリソースが必要です。\nブラウザからファイルを削除し、アプリケーションを再起動してください。\n\nSee: Tools -> Clear browsing data...',
MSG_NewJSSF="SmartPad4iを実行するために新しいリソースが必要です。\nブラウザからファイルを削除し、アプリケーションを再起動してください。\n\nSee: ツール -> インターネットオプション -> ファイルの削除",
MSG_NewJSxx="SmartPad4iを実行するために新しいリソースが必要です。\nブラウザからファイルを削除し、アプリケーションを再起動してください。.",
MSG_Execute="SmartPad4iは'%1の動作中にエラーが発生しました。ユーザーが作成した機能です。その問題を修正し、再度そのページを実行してください。\n\nMessage:%2.",
MSG_EOnload="SmartPad4i caught an error while running 'onload', a user-defined event.\nPlease fix the issue then deploy the page again (See message below).\nJACi400 will ignore the rest and continue processing.\n\nMessage: %1.",
MSG_XMLHTTP="ブラウザはXMLHTTPオブジェクトをサポートしておりません",
MSG_NoForm="現在のHTMLページには、<form>タグがありません。テンプレートファイルをチェックしてください。",
MSG_EmulKO='Emulation impossible.\n\n- JOBNAME: %1\n- JOBUSER: %2\n- JOBNBR: %3',
MSG_Launch='Application (%1) not found or an error occurred while running.',
//const - datetime
MSG_EStmp="Invalid timestamp (format:%1).",
MSG_EDate="日付が正しくありません (日付フォーマット:%1)",
MSG_ErrYY="年は、正数で設定してください。",
MSG_ErrMM="月は、1~12の間で設定してください。",
MSG_ErrDD="日は、1から%1の間で設定してください。",
MSG_ErrDY="年日付は、1~%1の間で設定してください。",
MSG_ETime="不正な時間です。(フォーマット:%1) ",
MSG_ErrHR="時間は、0〜23の間で設定してください。",
MSG_ErrMN="分は、0~59の間で設定してください。",
MSG_ErrSC="秒は、0~59の間で設定してください。",
MSG_ErrAM="'12時間表示は AM か PMを選択してください。",
MSG_ErrMS="ミリ秒は、0~999999の間で設定してください。",
//const - Upload V2.0.00
ERR_NoCamera='エラー: カメラコンポーネントがインストールされていないため、アプリケーションは正常に動作しません。',
ERR_RunInit='エラー: PhoneGapは初期化できなかったため、アプリケーションは正常に動作しません。',
MSG_GetFirst='写真を撮るか、ライブラリから選択してください。',
MSG_SelPict='写真選択完了',
MSG_GotPict='写真撮影完了',
ERR_GetPic1='写真の取得失敗。:%1',
ERR_GetPict='写真の取得失敗。',
MSG_Upload='アップロードが完了しました。サイズ:%1 bytes',
ERR_Upload='アップロードに失敗しました。 エラーコード=%1',
ERR_Search='サーバーから写真取得時にエラーが発生しました。',
MSG_Running='アップロード中…';