Юлия → Iuliia. Всё о транслитерации
Транслитерация — это запись кириллических слов латиницей (Анна → Anna
, Самара → Samara
). Её используют в загранпаспортах, водительских удостоверениях, трансграничной доставке, библиотечных каталогах и множестве других международных процессов.
Так вышло, что я недавно окунулся в эту тему, а в Википедии она раскрыта слабо. Поэтому расскажу, что к чему (спойлер — если вы думаете, что с транслитерацией всё плохо, то на самом деле всё ещё хуже).
Кто виноват
Транслит — это хрестоматийная ситуация «у нас 14 плохих стандартов, давайте придумаем ещё один». Весь 20 век солидные, уважаемые люди придумывали всё новые и новые стандарты транслитерации.
Получалось у них очень, очень плохо. Например, в загранпаспорте пишут Юлия → Iuliia
не потому, что МИД хочет сделать вам больно, а потому что это международный стандарт ICAO Doc 93031 — Machine Readable Travel Documents.
Такое ощущение, что все стандарты писались людьми, которые ненавидят русский язык. Если для англо-американского творчества это объяснимо, то что заставило советских учёных превратить Лёгкий
в Ljogkijj
(ГОСТ 16876-712) — решительно непонятно.
Zato naši kosmičeskie korabli borozdili prostory vselennoj
В 21 веке человечество оказалось с двумя наиболее распространёнными стандартами: ICO Doc 9303 (Юлия → Iuliia
) и ISO 9:1995 (Юлия → Ûliâ
), он же отечественный ГОСТ 7.79-20003. Достойный результат для столетних усилий, ничего не скажешь.
Посмотрев на эту «красоту», ребята из Википедии взялись за голову и сделали нормальную схему транслитерации4, благодаря которой у несчастной Юлии
остаётся слабый шанс быть Yuliya
. Международные и отечественные институты эту работу проигнорировали, к сожалению.
Yuliya, syesh yeshchyo etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly, da vypey altayskogo chayu
Конечно, нельзя было делать совсем уж хорошо (а то кто тогда станет придумывать новые стандарты). Поэтому у Википедии ещё
превращается в yeshchyo
, my ass. Схема хорошо передаёт фонетику, а вот выглядит иногда не очень — оцените E → YE
, Щ → SHCH
и Ё → YO
в этом примере.
Не остался в стороне и Яндекс. У него две схемы — отдельно для ФИО5, отдельно для адресов6. Здесь наконец-то сделали Щ → SCH
. Но Юрий → Yurii
, а Усолье → Usole
, что понравится не всем. Не забываем оставлять пространство для новых стандартов!
И Студия Лебедева туда же (в рунете ничего без неё не обходится). Когда дизайнили схему московского метро, ребята отвергли стандарт ISO, а прочие, похоже, даже не смотрели. Ну и придумали свой вариант — Мосметро7.
Чтобы вы представляли масштаб бедствия. Я насчитал 20 схем транслитерации, некоторые из которых предусматривают альтернативные наборы правил (например, с диакритикой и без). Из них 14 считаются действующими. Четырнадцать действующих «стандартов», прямо как в комиксе xkcd.
В качестве вишенки на торте в рунете несметное количество сервисов типа «транслитерация онлайн», которые мало того что перевирают существующие схемы, так ещё и придумывают собственные. Не отстают от них и креативные программисты на гитхабе.
Теперь несколько практических рекомендаций.
Как выбрать схему (быстрый вариант)
Загранпаспорт или в/у. По умолчанию используйте ICAO Doc 9303 — это требование закона. Впрочем, есть лайфхак: если написать отдельное заявление при подаче документов, сделают паспорт с нормальной транслитерацией. Тогда подойдёт старый стандарт МВД-3108 или Мосметро.
Если нужно обратимое преобразование (cyr ↔ lat). Используйте ГОСТ 7.79-2000. Это международный стандарт ISO 9:1995. Громоздкая, зато абсолютно непробиваемая схема. Есть варианты с диакритикой и без.
Если визуальная красота превыше всего. Используйте схему Мосметро, она самая лаконичная и приятная на вид.
В остальных случаях. Используйте схему Википедии. Она лучше всех по фонетике и лишь немного уступает Мосметро визуально.
Как выбрать схему (для дотошных)
Я сделал страницу со всеми схемами. Там и сценарии использования, и фильтры, и подробные описания, и примеры. Читайте, выбирайте, что больше нравится. Все схемы уже реализованы на языках JavaScript
и Python
, подключить библиотеку — минутное дело.
Как транслитерировать
Не пишите логику транслитерации с нуля — велик шанс ошибиться и получить очередную (N+1) схему транслитерации, «спасибо» за которую вам не скажут.
Не берите библиотеки с гитхаба без проверки. Все, что я смотрел — реализуют стандарт некорректно, если он чуть сложнее таблицы с однозначным соответствием.
Я сделал аккуратные библиотеки с нормальными тестами для Python и JavaScript. Но лучше дополнительно проверьте на паре примеров, а то вы ведь знаете этих программистов.
Чего не делать
Не изобретать свой стандарт. Я понимаю, что очень хочется. Мне тоже хочется взять схему Википедии, поправить в ней всякое и сказать что вот он, идеальный стандарт.
Но просто не надо. Уже хватит.
Не связываться с обратной транслитерацией. «Обратная транслитерация» — это когда вы восстанавливаете справедливость и превращаете Iuliia → Юлия
. Тут всё даже хуже, чем с транслитерацией прямой, потому что при записи латиницей никто никаких стандартов не соблюдает, и встречаются жуткие монстры.
В обратной транслитерации куча технических нюансов, лучше использовать готовое решение. Попробуйте, например, «Дадату» — она транслитерирует в обратную сторону ФИО и адреса.
⌘ ⌘ ⌘
И если вам или коллеге когда-нибудь придётся столкнуться с транслитерацией по работе — не тратьте время на Википедию, потому что я его уже потратил и собрал всю нужную информацию:
Юлия → Iuliia. Руководство по транслитерации
⌘ ⌘ ⌘
Ссылки по тексту:
★ Подписывайтесь на новые заметки.