Задать вопрос

Как правильно делать локализацию JavaScript-приложений?

Здравствуйте!

Я делаю расширение для Google Chrome, которое, как известно, пишется на HTML и JavaScript. Расширение у меня мультиязычное: на английском и на русском. Но передо мной встала проблема: я не знаю, как правильнее всего сделать локализацию расширения, чтобы это не было колхозом, а также чтобы из-за выбранного решения не пришлось в будущем наступать на какие-нибудь грабли.

Собственно, это к вопросу не относится, но уточню, что в Google Chrome переводы записываются в JSON-файл:

"local_storage_usage": {
	"message": "Local storage"
},
"last_error_occured": {
	"message": "Extension last error occured"
},
"no_error": {
	"message": "There is no error."
},
...

А потом вызываются встроенным методом chrome.i18n.getMessage("local_storage_usage"). Я, не зная как сделать лучше, создаю страницы примерно таким образом:

$("#debug").html('<h1 class="h3">' + chrome.i18n.getMessage("debug_page") + '</h1>' +
'<h2 class="h4">' + chrome.i18n.getMessage("key_permissions") + '</h2>' +
'<div id="permissions">' + chrome.i18n.getMessage("loading") + '</div>' +
'<hr>' +
'<p>' + chrome.i18n.getMessage("reset_alarm_warn") + '</p>');

Но такой подход не кажется мне практичным. Подскажите, как бы вы поступили на моем месте?

Спасибо.
  • Вопрос задан
  • 493 просмотра
Подписаться 3 Оценить 9 комментариев
Решение пользователя Алексей К ответам на вопрос (2)
Murmurianez
@Murmurianez
JavaScript Developer
Чтобы не было колхозом - в первую очередь прикрутите шаблонизатор - рекомендую Handlebars. В остальном - вроде норм.
Ответ написан