Клуб API Карт

Локализация ответа геокодера

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

Доброго...

По идее это багрепорт, но ссылка Обратная связь выдает ошибку 500, поэтому пишу сюда.

Ситуация такова, что делаю локализацию своего сайта для англоговорящей аудитории, так как сайт использует геокодер Яндекса, то дастаточно много геоинформации в интерфейсе надо также переводить на английский язык.

Сначала я обрадовался разглядев параметр lang в запросе геокодирования, однако радость была весьма преждевременной ибо при передаче lang=en-US ответ геокодера возвращается тупо транслитом! Причем ладно еще имена собственные, но такие слова как ulitsa вместо street, oblast вместо region, Rossiya вместо Russia и много других вызвали глубочайшее разочарование...

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

PS Разработчикам Яндекс браузера отдельный привет передавайте, за передачу серверу заголовка ACCEPT_LANGUAGE в виде ru,en вместо положенного по стандарту ru-RU, который требуют все запросы к геокодеру и инициализация API.

В Opera, FireFox, Chrome и IE такой проблемы нет, как и положено браузеры отдают ru-RU

Спасибо за внимание. Надеюсь прикрутите нормальный переводчик для геокодера.

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

Еще "5 копеек", при lang=en-US временами проскакивает кириллица, например: Zhivopisnaya, 5к3, St. Miklukho-Maklaya, 29к2с1 или же попросту Томская область (видимо даже в транслит не переводится) и т.д.

Пожелание также придерживаться англ.правил написания адреса с сокращениями, в частности в виде: Kirova St., 45 или Ryazanskiy Ave., 42 на данный же момент в ответе геокодера через раз проскакивает различная очередность названий улиц и самого слова "улица", то же самое и в запросах en-US.

Да, пока геокодирование на английском корректно работает не везде. (В США например работает как надо). В будущем будем улучшать этот момент. Извините, что ввели вас в заблуждение параметром.

Спасибо за ответ, однако было бы справедливо указать в документации по геокодеру, что при en-US возвращается в лучшем случае адрес транслитом дабы не только меня вводить в заблуждение ибо врядли я 1 пользуюсь вашим геокодером.

Также обращаю Ваше внимание на то, что для иностранных посетителей подобный ответ не является аргументом и прошу всеже выделить из ресурсов одной из крупнейших ИТ компаний в РФ и СНГ несколько человекочасов дабы хотя бы простейшую автоподмену в базе сделать и искоренить кириллицу в en-US ответах. Крайне не хотелось бы уходить не гугловский геокодер по такому банальному недосмотру ибо "в будущем" как правило измеряется годами на практике)

PS Адреса в США как раз мне наименее интересны, а вот российских и по СНГ валом. На самой карте к слову тоже несмотря на загрузку API с lang=en-US отображается кирилица в названии объектов.

PPS Что мне ожидать при запросе uk-UA ? или лучше просто не связываться даже?) Пользователей с Украины тоже немало и как не странно теперь уже не все предпочитают русскую локаль использовать.

С украинским должно быть лучше. Несколько человекочасов - несколько человеколет нам надо выделить, я бы сказала =)

Про документацию подумаем.

Несколько человеколет?? коллеги по IT, вы меня пугаете, у меня нормализация ~5к различных адресов полученных от геокодера заняла полтора часа включая изучения стандартов написания буржуйских адресов в Интернет...и чесно сказать еще не особо торопился.

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

Про документацию подумаете стоит ли и дальше вводить в заблуждение разработчиков или уж написать честно как есть?) зачет. Лучше конечно пофиксить, тогда и оправдания писать в доке не придется)

PS В общем остается тока верить в светлое будущее базы геокодера и оперативность Яндекса.

В Украине у нас сейчас картооснова на двух языках: русский и украинский. Вы можете это увидеть на maps.yandex.ua.
Добрый день!
Обращаю Ваше внимание на несколько моментов:
1. У Яндекса сейчас нет карт России на английском языке. Английская локаль в API нужна для подключения другой, международной картоосновы, на которой есть карта Турции (на турецком), карта Северной Америки (на английском) и карта Европы (на родных языках или транслит).
2. Использовать геокодер Яндекса без карты Яндекса запрещено условиями использования. Явно на Вашем локализованом сайте наша карта не используется вообще.
3. Вопрос о том, что удобнее иностранцам транслит или перевод — вопрос открытый. Он неоднократно поднимался в том числе при переводе, например, карты московского метро. Есть много аргументов за тот, и другой способ передачи информации англоговорящим людям. Когда Яндекс будет запускать карту России на английском, будет выбран какой-то вариант и он будет обоснован.
Сейчас у меня к Вам большая просьба использовать сервис в рамках его основной функциональности.

и Вам добрый вечер.   уже пояснила ситуацию

1) если их нет, не нужно регламентировать то чего нет в документации.

2) вкурсе про правило, поднимал тему 1-2 года назад и получил положительный ответ. Карта - подложка сайта, такчто все так как и должно быть, а догадки неуместны - только факты. Учитывая косяки с геокодером у вас иначе и не обойтись без временого кеша исправляющего ошибки.

3) Неужто вы думаете, что пользователю знающему англ, но не знающему русский, слово ulitsa будет понятнее street ?? Про перевод имен собственных в названиях речи нет - там транслит. Ито местами кириллица проскакивает сейчас.

 

Неужто вы думаете, что пользователю знающему англ, но не знающему русский, слово ulitsa будет понятнее street ??

Это как раз спорный вопрос.

Если ему (англоговорящему пользователю) сказать этот адрес нужно, то лучше ulitsa.

В России по большей части английский никто не знает

Для России есть ru-RU (кроме Яндекс.браузера) - более или менее нормально с адресами.

Для Украины - следующий на очереди, пока геокодер uk-UA не мучал.

en-US нужен для иностранцев(ну и фанатов англ.яз.), а насчет правил оформления адреса и сокращений настоятельно рекомендую их прочитать. Врядли там транслит увидите, или запись на родной для вас кириллице только по тому что вы из России.

Т.е. адрес к примеру улица Ленина => ulitsa Lenina => Lenina St.

Вот открыли вы какойнить буржуйский магазин, а там ради вас заботливо все на кириллицу перевели в духе 772 РИВЕР ЩАЛК ДРИВЕ - разве это нормально? А если вам этот адрес надо найти будучи уже в этом городе? Попросите путеводитель с транслитерацией? Вот также и для иностранцев выглядят адреса геокодера яндекса сейчас. Их алфавит, но по смыслу именно такая вот лажа.

PS Кто в россии знает англ. а кто нет к вопросу не относится ибо не про это речь вообще, да и для IT уровень знаний англ. всеже выше.

Магазин это одно, а карта и в частности навигационное ПО часто содержат именно транслитерацию, потому как локальный пипл не знает стритов и авеню всяких, и их не для IT специалистов и фанатов делают, а для удобства использования обычными людьми.

В любом случае, как сказала  , будет выбран какой то вариант.

Лично я не считаю что ulitsa лучше чем street, но я нерепрезентативен, т.к. я фанат англ. языка. Просто описываю Вам почему так сделано.

По сути вопрос сводится к тому, что хочет ли Яндекс выходить на следующий уровень или так и останется сервисом для СНГ, причем для рус-укр аудитории. В общем на мой взгляд Марина более полно все объяснила по теме вопроса, что речь о временных затратах на приведение базы в порядок, а выслушивать замечания в духе "вы все не так делаете" лишь пустая трата времени.

Согласен, что для объективности мнения лучше конечно носителя языка спросить(живущего не в РФ и не знающего названий наших городов, улиц и т.д.).

Просто в каждом языке есть свои сложившиеся правила и как не странно они отличаются(про адреса в частности).

Резюмирую: ситуация ясна, будем писать костыли и/или использовать и гугл геокодер тоже. Спасибо за пояснения.