文字列のみを使用して個別のjsファイルを実行できます。例:
var MultilanguageStrings = {
'savingConfirmation': {
'en': 'Do you want to save changes?',
'pl': 'Czy chcesz zapisać zmiany?'
},
'fatalError': {
'en': 'Fatal error occured.',
'pl': 'Wystąpił krytyczny błąd.'
},
'get': function (key, lang) {
if (this[key] === undefined)
return 'Error. There is no such message.';
if (lang == 'en' && this[key]['en'] === undefined)
return 'Error. There is no such message.';
if (this[key][lang] === undefined)
return this.get(key, 'en');
return this[key][lang];
}
};
そして、どの言語が設定されているかという情報を含む動的に生成されたjsファイルを作成するよりも:
var currentLanguage = 'en';
この情報は別の方法(AJAXなど)で取得することもできますが、上記のソリューションには、コードが既にロードされてcurrentLanguage
設定されているという利点があります。
次に、コードに次のように記述します。
...
if (confirm(MultilanguageStrings.get('savingConfirmation', currentLanguage))) {
...
すべてを1つのグローバル変数にラップすることをお勧めします。これは、より適切な方法です。また、メソッドを上書きしないように注意してMultilanguageStrings.get
ください。