こんにちは、私のプロジェクトは struts 2 です。クライアント側の検証用に共通の js ファイルを作成しました。問題は、内部化を実装するために、言語ごとにアラート メッセージを変更する必要があることです。私の質問は、js ファイルのリソース プロパティにアクセスする方法があるということです。または、誰かが同じことの代替案または例を提案します。
4 に答える
次のようなファイル名の js ファイルにアラート メッセージを保存します。
alert_en.js alert_fr.js alert_jp.js
各ファイルには、このようなアラートが保存されます
var ALERT_EMAIL_INCORRECT = "Incorrect email";
var ALERT_USERNAME_INCORRECT = "Incorrect username";
ユーザー言語に従ってファイルを含めます。
また
次のように、JSP ファイルとページ内のリンクを使用して、リソース バンドルからメッセージをロードできます。
<script type="text/javascript" src="YOUR-FILE.JSP"></script>
この JSP ファイルでは、リソース バンドルから読み取った後に JavaScript を出力します。
これもチェック。
私が作成したmessageResource.jsライブラリを使用して、js ファイル内のプロパティ ファイルを読み取ることができます。
1) HTML に messageResource.js を含めます。
<script src="messageResource.min.js"></script>
2) 次のように、js からプロパティ ファイルのキーと値のペアにアクセスできます。
// initialize messageResource.js with settings
messageResource.init({
// path to directory containing message resource files(.properties files),
// give empty string or discard this configuration if files are in the
// same directory as that of html file.
filePath : 'path/messageresource/'
});
// will load the file 'path/messageresource/moduleName_en_US.properties'
// and callbackFunction will be executed when loading is complete.
messageResource.load('moduleName', callbackFunction, 'en_US');
// use messageResource.get function to get values from loaded file.
var value = messageResource.get('key', 'moduleName', 'en_US');
母国語の英語をキー、L10N メッセージを値として JSON ファイルを記述し、AJAX を使用して、ユーザーのブラウザー言語構成に応じて関連する JSON を読み込み、alert(tanslatedTable[USER_LANG][ENGLISH_STRING]) でメッセージを警告することができます。
私はjspページのスクリプトタグ内の私のjavascriptでこれを行います:
<code>
alert("<s:text name="amountMustBeNumeric"/>");
</code>
私にとってはうまくいきます。