Есть ли способ автоматически установить локаль пользователя на основе пользовательских настроек ОС Windows/Linux?
Сегодня мне нужно явно включить соответствующий js.
Спасибо,
Есть ли способ автоматически установить локаль пользователя на основе пользовательских настроек ОС Windows/Linux?
Сегодня мне нужно явно включить соответствующий js.
Спасибо,
Существует много способов определить язык пользователя автоматически, но я не знаю идеального решения. Все зависит от ваших конкретных требований. Например, можно использовать navigator.language || navigator.browserLanguage
. Например, вы получите строку типа "en-US"
. Старая демонстрация для запрос функции демонстрирует использование navigator.language || navigator.browserLanguage
.
Пользователь по-прежнему может иметь другие языковые настройки в настройках веб-браузера:
поэтому веб-браузер будет включать заголовок Accept-Language
в HTTP-запросы к серверу:
Accept-Language: de,en-GB;q=0.8,en;q=0.6,en-US;q=0.4,ru;q=0.2,ja;q=0.2
Настройки могут отличаться в разных веб-браузерах, которые использует пользователь.
Поэтому я рекомендую вам предоставить пользователю некоторую возможность (например, элемент <select>
) сделать выбор вручную.
После обнаружения языка вам необходимо проверить, загружен ли уже соответствующий язык. Вы можете проверить, определено ли уже соответствующее языковое свойство в $.jgrid.locales
(if ($.jgrid.locales[locale] !== undefined)
). Если он не определен, вам необходимо динамически загрузить соответствующий файл JavaScript. Вы можете дополнительно протестировать значение $.jgrid.defaults.locale
. Значение будет установлено в каждом файле локали. Таким образом, $.jgrid.defaults.locale
дает вам информацию о последнем загруженном файле локали и о локали по умолчанию бесплатного jqGrid. Можно по-прежнему явно указывать locale
при создании сетки. См. статью дополнительную информацию.