Локализация в веб-приложении с использованием JavaScript и JSON

Я пытаюсь настроить скрипт для автоматической локализации веб-приложения. Поскольку веб-приложение предназначено для использования автономного кэширования в HTML5, оно должно работать в автономном режиме. Таким образом, JavaScript кажется мне лучшим вариантом.

Я бы предпочел поместить все строки для всех локализаций в один файл JSON следующим образом:

{
    "en": {
        "application_description": "This is the application's description in English.",
        "application_name": "This is the application's name in English."
    },
    "ja": {
        "application_description": "This is the application's description in Japanese.",
        "application_name": "This is the application's name in Japanese."
    }
}

Я думал о том, чтобы дать всем элементам, которые будут локализованы, настраиваемый атрибут, связанный с предполагаемым сообщением (например: i18n="application_name").

Я могу получить язык браузера, используя navigator.languageхотя я думаю, что некоторые результаты придется разделить только на первый раздел (например, "en-US", "en-GB" и "en-AU" должны обозначать "en").

Тем не менее, мои знания JavaScript являются базовыми, и хотя я думал об этом, я не могу определить, как на самом деле реализовать это.

Большое спасибо всем, кто может предложить какие-либо советы или примеры!

3 ответа

Вы можете использовать JQuery.i18n Викимедиа.

http://keith-wood.name/localisation.html

https://github.com/coderifous/jquery-localize

Я не имею никакого личного опыта в обоих, но оба, кажется, довольно хорошо задокументированы.

В зависимости от ваших потребностей, функция jquery-localize может работать хорошо. Если вам нужна более сложная структура, которая отражает структуру вашего сайта, библиотека локализации может быть более полезной: https://github.com/kflorence/localize

Другие вопросы по тегам