- JavaScriptグローバリゼーションの有効化
- まずはじめに、.NETのJavaScriptグローバリゼーションを使うには、asp:ScriptManagerタグを追加し、EnableScriptGlobalizationを'true'にする必要があります。
Default.aspx
<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="True" >
...
</asp:ScriptManager>
- JSONによるリソース管理
- JSONによるリソース管理をするには、asp:ScriptReferenceタグ内で、ResourceUICulturesにサポートするロケールを','区切りで与え、JSONのパスを指定します。
Default.aspx
<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="True" >
<Scripts>
<asp:ScriptReference Path="wwnaviJs.js" ResourceUICultures="en-US,ja-JP" />
</Scripts>
</asp:ScriptManager>
-
JSONリソースをScriptReferenceとResourceUICulturesに沿って作成します。
PROJECT_DIRECTORY
- wwnaviJS.js ... マスターリソースのJSON
- wwnaviJS.ja-JP.js ... ローカライズされたリソースのJSON
-
各JSONに翻訳した文字列を記述します。
wwnaviJS.js
var wwwnaviJs(*1) = {
text1: 'Hello from JavaScript! (JSON)',
text2: 'Hello 2 from JavaScript! (JSON)',
text3: 'Hello 3 from JavaScript! (JSON)'
};
wwnaviJS.ja-JP.js
var wwwnaviJs(*1) = {
text1: 'JavaScript (JSON)からこんにちは!',
text2: 'JavaScript (JSON)からこんにちは! 2',
text3: 'JavaScript (JSON)からこんにちは! 3'
};
*1)変数名 (同一にする必要あり)
-
するとブラウザ言語設定に応じて、ローカライズされたJSONリソースにアクセスできるようになります。
Default.aspx
<script type="text/javascript">
alert(wwwnaviJs.text1);
// 上記コードは以下を返します。
// 'Hello from JavaScript! (JSON)' 英語もしくは他の言語のブラウザ設定
// 'JavaScript (JSON)からこんにちは!' 日本語のブラウザ設定
</script>
- 国際化された関数とクラス
- .NETのJavaScriptライブラリは独自の国際化された関数とクラスを持ちます。
以下はサンプルの1つです。
<script type="text/javascript">
var d = new Date();
var n = 123.45;
alert(d.localeFormat('F'));
alert(n.localeFormat('C'));
// 上記コードは、ローカライズされた書式で、日付と数値を返します。
</script>