Флоренс или Флоренция? - Блог CDTO

Флоренс или Флоренция?

Читать статью в социальных сетях

Florence – это Флоренс или Флоренция?

Попробую написать не настолько техническую статью, как в прошлый раз.

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

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

Переводить «в лоб» - нельзя, потому что достаточно часто получается ерунда. Например, город «Ordino» в Андорре Yandex Translate переводит как – «Заказано», а регион «Encamp» – «Расположиться». Очевидно, что это не работающий подход.

Транслитерация тоже работает не очень хорошо. Использование утилиты uconv для транслитерации по всем правилам приводит к тому, что город «New York» переводится как – «Неу Ыорк». Согласитесь, тоже не вариант.

В итоге, пришлось распарсить базу данных geonames. Особое внимание при этом мы уделили разделам altNames – альтернативные названия городов. Именно в этих разделах и содержатся сопоставления названий городов на разных языках в разные промежутки времени.

Но даже эти сопоставления нельзя использовать напрямую, необходимо учитывать различные дополнительные характеристики, например, страну. Дело в том, что один и тот же по написанию город в разных странах может иметь разные переводы. Florence в Италии – это Флоренция, а Florence в США – это, как ни странно, Флоренс. Хорошо, что мы решили не связываться с названиями на оригинальном языке, потому что в данном случае Florence в Италии имел бы ещё одно название – Firenze.

P.S. Странно, что Яндекс не встроил в Yandex Cloud возможность работы с Яндекс.Картами через API 🤔

P.P.S. Фото из альбома «Libraries of the world» – я на фоне центральной национальной библиотеки Флоренции.

Флоренс или Флоренция?