Сначала нам нужно определить, что такое Locale. В используемом контексте это Идентификатор языка ISO639 , за которым необязательно следует Идентификатор страны ISO3166 . Это используется для определения предпочтений конечного пользователя (например, языка локализованного контента или форматов даты и времени и числовых форматов).
Теперь локаль может быть установлена в нескольких местах. ОС обычно имеет несколько настроек, например раскладка клавиатуры, настройки форматирования, языковые настройки, кодовые страницы (для программ, не поддерживающих Юникод) и т. Д.
Кроме того, веб-браузеры обычно позволяют вам выбирать свои собственные настройки (Safari здесь исключение). Эти предпочтения отправляются вместе с каждым запросом на веб-сервер через заголовок HTTP Accept-Language. Это то, что вы должны как-то прочитать на стороне сервера (что, к сожалению, означает некоторый код на стороне сервера в PHP, C #, Java и т. Д.) И, возможно, передать его в свой сценарий на стороне клиента.
Здесь я должен заявить, что что-то вроде navigator.language не подходит для этого по двум причинам:
Это не кросс-браузерная совместимость, то есть другим веб-браузерам потребуется другой код. То есть, если они позволяют читать эту информацию в первую очередь.
Этот параметр обычно относится к языку веб-браузера (язык интерфейса веб-браузера которого переведен) и не имеет ничего общего с фактическими предпочтениями пользователя.
Итак, чтобы ответить на ваш вопрос: нет, этой проверки не хватит.