Я обычно экспортирую переводы в структуре JavaScript:
var app = {}
var app.translations = {
en: { hello: "Hello, World!"
, bye: "Goodbye!"
}
, nl: { hello: "Hallo, Wereld!"
, bye: "Tot ziens!"
}
};
Текущий язык текстов страницы можно определить с помощью: <html xml:lang="en" lang="nl">
Это можно прочитать на JavaScript:
var curentLanguage = document.documentElement.lang || "en";
app.lang = app.translations[ currentLanguage ] || app.translations.en;
И тогда вы можете написать код, подобный этому:
alert( app.lang.hello );
Опционально, функция i18n()
или gettext()
может принести некоторую информацию, чтобы вернуть текст по умолчанию, если ключ не существует). Например:
function gettext( key )
{
return app.lang[ key ] || app.translations.en[ key ] || "{translation key not found: " + key + "}";
}