Местами выглядит уродливо, но ничего не поделаешь — такой стандарт решило
использовать МИД.
Юлия Щеглова
превращается в:
Iuliia Shcheglova
var source = "Юлия Щеглова";
var schema = iuliia.ICAO_DOC_9303;
var result = iuliia.translate(source, schema);
console.log(result);
// Iuliia Shcheglova
Лайфхак: если написать отдельное заявление при подаче документов, сделают паспорт
с нормальной
транслитерацией. Тогда подойдёт старый стандарт МВД 310
или Мосметро.
Местами выглядит уродливо, но ничего не поделаешь — такой стандарт решило
использовать МВД.
Юлия Щеглова
превращается в:
Iuliia Shcheglova
var source = "Юлия Щеглова";
var schema = iuliia.ICAO_DOC_9303;
var result = iuliia.translate(source, schema);
console.log(result);
// Iuliia Shcheglova
Лайфхак: если написать отдельное заявление при подаче документов, сделают паспорт
с нормальной
транслитерацией. Тогда подойдёт старый стандарт МВД 782
или Мосметро.
Самая продуманная схема. Для почтовых адресов — идеально.
Россия, город Йошкар-Ола, улица Яна Крастыня
превращается в:
Rossiya, gorod Yoshkar-Ola, ulitsa Yana Krastynya
var source = "Россия, город Йошкар-Ола, улица Яна Крастыня";
var schema = iuliia.WIKIPEDIA;
var result = iuliia.translate(source, schema);
console.log(result);
// Rossiya, gorod Yoshkar-Ola, ulitsa Yana Krastynya
import iuliia
source = "Россия, город Йошкар-Ола, улица Яна Крастыня"
schema = iuliia.WIKIPEDIA
result = iuliia.translate(source, schema)
print(result);
# Rossiya, gorod Yoshkar-Ola, ulitsa Yana Krastynya
var source = "/статьи/как-съесть-ещё-французских-булок-в-Йошкар-Оле";
var schema = iuliia.WIKIPEDIA;
var result = iuliia.translate(source, schema);
console.log(result);
// /statyi/kak-syest-eshchyo-frantsuzskikh-bulok-v-Yoshkar-Ole
Конечно, красота — понятие субъективное. Самых продуманных схемы две: Википедия (лучше звучит) и Мосметро
(приятнее выглядит). Лично я выбираю Мосметро
за нормальную Щ.
Юлия, съешь ещё этих мягких французских булок из Йошкар-Олы
превращается в:
Yuliya, syesh esche etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly
var source = "Юлия, съешь ещё этих мягких французских булок из Йошкар-Олы";
var schema = iuliia.MOSMETRO;
var result = iuliia.translate(source, schema);
console.log(result);
// Yuliya, syesh esche etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly
import iuliia
source = "Юлия, съешь ещё этих мягких французских булок из Йошкар-Олы"
schema = iuliia.MOSMETRO
result = iuliia.translate(source, schema)
print(result);
# Yuliya, syesh esche etikh myagkikh frantsuzskikh bulok iz Yoshkar-Oly
Специально придумана так, чтобы быть однозначной и обратимой (cyr ↔ lat). Причём
обратимы оба
варианта транслитерации — с диакритикой и без.
Юлия, съешь ещё этих мягких французских булок из Йошкар-Олы, да выпей алтайского чаю
превращается в:
Ûliâ, sʺešʹ eŝё ètih mâgkih francuzskih bulok iz Joškar-Oly, da vypej altajskogo čaû
или в:
Yuliya, s``esh` eshhyo е`tix myagkix franczuzskix bulok iz Joshkar-Oly`, da vy`pej altajskogo chayu
var source = "Юлия, съешь ещё этих мягких французских булок из Йошкар-Олы, да выпей алтайского чаю";
var result = iuliia.translate(source, iuliia.GOST_779);
console.log(result);
// Ûliâ, sʺešʹ eŝё ètih mâgkih francuzskih bulok iz Joškar-Oly, da vypej altajskogo čaû
var result = iuliia.translate(source, iuliia.GOST_779_ALT);
console.log(result);
// Yuliya, s``esh` eshhyo е`tix myagkix franczuzskix bulok iz Joshkar-Oly`, da vy`pej altajskogo chayu
import iuliia
source = "Юлия, съешь ещё этих мягких французских булок из Йошкар-Олы, да выпей алтайского чаю"
result = iuliia.translate(source, schema=iuliia.GOST_779)
print(result);
# Ûliâ, sʺešʹ eŝё ètih mâgkih francuzskih bulok iz Joškar-Oly, da vypej altajskogo čaû
result = iuliia.translate(source, schema=iuliia.GOST_779_ALT)
print(result);
# Yuliya, s``esh` eshhyo е`tix myagkix franczuzskix bulok iz Joshkar-Oly`, da vy`pej altajskogo chayu
Во-первых, большинство транслитных библиотек называются translit, transliteration и тому
подобное — это скучно.
Во-вторых, решительно невозможно пройти мимо «замечательного» стандарта ICAO DOC 9303, который испоганил значительную часть
имён и фамилий в загранпаспортах — в том числе несчастную Юлию (и меня тоже,
чего скрывать).
Так и появилась iuliia. Предпочитаю ласково называть её «йуля».
Если портируете библиотеку на свой любимый язык — буду рад добавить ссылку!
Обратная транслитерация
Преобразовать латиницу в кириллицу сильно сложнее, iuliia этого не умеет.
Попробуйте, например, «Дадату» — она транслитерирует
в обратную сторону ФИО и адреса.