2 декабря 2012-го

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Настоящая многоязычность

Вы, наверное, помните карты для википедии, которые благодаря Тиму Альдеру (более известному как Kolossos) щеголяют надписями на языке пользователя. Он сделал около двухсот слоёв с буквами, которые накладывает на слой без них. При самостоятельном рендеринге карты можно использовать любые теги для подписей — так, карта космоснимков выпускается в трёх вариантах: на русском, белорусском и английском. Другой вопрос, что для той же википедии придётся держать две сотни отдельно работающих тайлсерверов, и это несколько неэффективно.

Весной этого года Тим выиграл грант немецкой википедии на улучшение системы перевода карт, но в подмогу позвал Jochen Topf. С тех пор последний работал над более современным решением, и позавчера продемонстрировал почти готовую многоязычную карту. В своей основе это тоже два слоя: без подписей (на основе улучшенного немецкого стиля) и с подписями, но последний, создаваемый с помощью MapQuest Render Stack, параметрический. То есть, ему можно передать «ru,en,_» и получить слой с надписями на русском, где при отсутствии name:ru отобразится английский перевод, а если нет и его — то значение тега name. Также можно делать подписи со скобками, как в азиатских странах: так, в Финляндии «sv|fi,_» выведет шведские названия с финским переводом в скобках (если перевода нет, то с name).

Завершение этого проекта должно снять вопрос о языке для тега name: выбор языка карты станет достаточно простым, чтобы не заморачиваться этим вопросом. Возможно, когда-нибудь многоязычными станут и карты на osm.org. Остаётся вопрос, как перевести все те сотни тысяч надписей, что уже есть в базе. Массовые импорты названий не приветствуются: так, некоторые уже роптали на Kolossos-а, загрузившего в OSM переводы названий всех стран на все языки. Несмотря на несовместимость лицензий OSM и википедии, самым популярным инструментом для перевода остаётся плагин Add-tags (про который рассказывал trolleway на конференции). Он просто берёт перевод из интервики. СканЭкс когда-то держал сервис name4osm для автоматического перевода топонимов, но принцип работы сайта был со всех сторон окритикован, и, наверное, поэтому его закрыли.

На этой неделе появился новый переводчик: Nomino. Логинитесь через OAuth, выбираете топоним (при правом клике на карту выдаётся дерево от Nominatim) и добавляете переводы — только те, что знаете сами. Конечно, не без проблем: так, при наличии контурных границ название на точке place перевести, похоже, невозможно.

А на форуме снова напоминают: не смотрите, что в теге name указано русское название, дублируйте его в name:ru. Это странное требование объясняется довольно просто: это разные сущности. Name содержит подпись для рендерера (поэтому расстановка name — это тегирование для рендерера, да), а name:ru — название на конкретном языке. Во многих странах получаются теги с одинаковыми значениями, но в Японии, например, принято составлять name из двух и более названий.
Ctrl
· · ·   5 декабря 2012