Клуб API Карт

Можно ли автоматически локализовать карту?

Пост в архиве.

В документации написано, что нужно передать необходимую локаль в URL, но можно ли не передавать локаль? Чтобы карта автоматически локализовалась в зависимости от языка браузера, например. По-моему, так работают гугл-карты.

8 комментариев

Сейчас автоматического определения языка в апи нет

Sergey Konstantinov
27 января 2016, 23:14

Язык браузера передаётся в http-заголовке Accept-Language.

Вам достаточно переписать подключение апи в стиле (пример для PHP):

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

Чтобы не делать хитрых вычислений я и спросил, может что-то такое есть нативно в яндекс карте.

Sergey Konstantinov
27 января 2016, 23:14
Можно httprequest-ом получить, например
https://stackoverflow.com/questions/220231/accessing-the-web-pages-http-headers-in-javascript
Так себе решение, конечно..
В общем я понял. На мой вопрос "Можно ли автоматически локализовать карту?" ответ - НЕТ :)
Sergey Konstantinov
27 января 2016, 23:14
Ответ следующий.
Локализация карты состоит из двух параметров: языка и юрисдикции. Первый параметр отвечает за язык подписей, второй — за соответствие единиц измерения (в Великобритании метры, в США футы), раскладок (в Канаде французская раскладка QWERTY, во Франции AZERTY) и, самое важное, за соответствие условий сервиса законодательству (для разных стран будут предложены разные ПС).

Если язык ещё есть ± некоторый смысл детектировать (хотя, очевидно, на этом языке должна быть представлена вся веб-страница, а не карта), то страна *указывается самим вебмастером* (как правило, согласно той юрисдикции, в которой он сам находится).

Поэтому ответ, действительно, «нет». Определение локали является ответственностью владельца сайта.

А если владелец сайта не очень ответственный либо если это какая-то платформа, где нет доступа к серверу и кто-то вставляет карту в статью например. То чтобы локализовать ее для всех надо выкручиваться. И мне кажется, что это не логично.

Хорошо бы сделать так: если локаль указана - грузим ее, если нет - проверяется язык браузера и отдается карта в наиболее подходящей локали. Так, если не ошибаюсь, реализовано в гугл-картах и это, я считаю, правильно.

Sergey Konstantinov
27 января 2016, 23:14
Мы не готовы нести юридические риски вместо владельца сайта, извините.