私のやり方は、すべての文字列を保持する言語固有のjsonファイルを作成することです。この場合、english.jsonとspanish.jsonです。jsonを次のように構成します。
{
help: "Help",
ok: "Okay"
}
たとえば、ユーザーがスペイン語のボタンをクリックすると、アプリの最初のページでlocalStorageに値を設定する必要があります。
localStorage.setItem("lang", "spanish");
次に、2番目のページで「deviceready」イベントを取得したら、XHRを使用して正しいjsonファイルをロードする必要があります。
var request = new XMLHttpRequest();
request.open("GET", localStorage.getItem("lang") + ".json", true);
request.onreadystatechange = function(){//Call a function when the state changes.
if (request.readyState == 4) {
if (request.status == 200 || request.status == 0) {
langStrings = JSON.parse(request.responseText);
}
}
}
request.send();
これで、翻訳された文字列を使用するときはいつでも、langStringsから取得できます。
langStrings.ok;
わかる?