Aipoのjavascript多言語化手順

<Aipoのjavascript多言語化手順の例>

(1) webapp\javascript\aipo\nls\en\locale.js(日本語はja\locale.js)を編集します。編集例を以下に示します。

英語の場合:

 {
    TEST1 : "This",
    TEST2 : "a pen.",
    TEST3 : "${test1} is ${test2}" 
 }


日本語の場合:

 {
    TEST1 : "これ",
    TEST2 : "ペン",
    TEST3 : "${test1} は ${test2} です。" 
 }


(2) 多言語化したいjsファイルを編集します。上記の例を用いた場合、以下のように追記します(アラートする例)。

dojo.require("dojo.string");
dojo.requireLocalization("aipo", "locale");
function init()
{
  var nlsStrings = dojo.i18n.getLocalization("aipo","locale");
  var testString1= nlsStrings.TEST1;
  var testString2= nlsStrings.TEST2;
  var testString3= nlsStrings.TEST3;
  var resultString = dojo.string.substitute(testString3,
                                             {test1: testString1,
                                              test2: testString2});
  alert(resultString );
}
dojo.addOnLoad(init);

日本語と英語では文法上単語の順序などが違うことがあるので、dojo.string.substituteを用いて文字列を置換すると良いです。ちなみに、現在localeの判定はブラウザの言語設定により行なっています。