Можно ли переключать язык с помощью библиотеки globalize.js? например: преобразовать английское слово в другое, например, французское - PullRequest
0 голосов
/ 09 мая 2019

В моем веб-приложении мало букв.Слова предназначены для кнопок, заголовков и т. Д. Поэтому я хотел знать, могу ли я переключать язык с помощью библиотеки Globalize.js.Например: я хочу, чтобы моя кнопка «Зарегистрироваться» переключилась на французский, если я изменю настройки.

1 Ответ

0 голосов
/ 18 июля 2019

Сначала вам нужно написать дополнительный файл сообщений для другого языка с содержимым json, например:

{
    "fr": {
        "register": "s'inscrire"
    }
}

Затем вы можете получить его данные с помощью javascript с вашего сервера и передать их для глобализации:

    const fetchHeaders = new Headers({"accept": "application/json", 'X-Requested-With': 'XMLHttpRequest'});

    fetch("messages/" + locale + ".json", { headers: fetchHeaders }).then(response => {
        return response.json();
    })
    .then(
        json => {
            Globalize.loadMessages(json);
            Globalize.locale(locale);
            yourRender(); 
        });

Здесь locale - это переменная, содержащая новую локаль.Если это 'fr', то приведенный выше код ожидает, что файл будет на вашем сервере messages/fr.json.

yourRender - это функция, которую вы программируете сами, чтобы обновлять свои сообщения в кнопки и т. Д.:

function yourRender() {
    document.getElementById( "button-1" ).value = Globalize.formatMessage( "register" );
    // etc
}

Сложно, если вам также необходимо отформатировать и, возможно, проанализировать даты и числа с помощьюGlobalize.Для этого вам нужно получить содержимое нескольких файлов и загрузить их в Globalize.Это будет происходить асинхронно, поэтому вам нужно следить за тем, сколько загружено, и только после того, как все загружены, поместите языковой стандарт в Globalize, создайте новые функции форматирования и вызовите yourRender ().Для полного примера (с использованием веб-пакета) см. Мой пример переключения языка на Github .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...