пятница, 1 мая 2020 г.

Юлия → Iuliia. Схемы транслитерации и другие полезные ссылки

Транслитерация — это запись кириллических слов латиницей (Анна → Anna, Самара → Samara). Её используют в загранпаспортах, водительских удостоверениях, и куче других процессов.

Что, если в вашей системе используется транслит? Скажем, надо ввести данные из загранпаспорта для оформления билета. Как это тестировать?

Для начала нужно уточнить у разработчика, какая именно схема транслитерации используется в проекте. Потом уточнить у аналитика, правда ли нужна именно она? Посмотреть, для чего она применяется и оценить, правильный ли выбор сделал разработчик.

Потому что таких схем есть целая куча:


Почитать о них можно в блоге Антона Жиянова: Юлия → Iuliia. Всё о транслитерации

По ссылке https://dangry.ru/iuliia/ можно выбрать любую подходящую схему транслитерации из 20 возможных (ГОСТы, МВД, Почта, Википедия, ISO, UN, Library of Congress).


На гитхабе выложены библиотеки для транслитерации на JavaScript (https://github.com/nalgeon/iuliia-js) и Python (https://github.com/nalgeon/iuliia-py), которые Антон сам написал. Там все сделано очень круто и есть общая часть в виде схем в json в отдельном репозитории — это позволяет быстро их портировать на другие языки.
А продакт "Единого клиента" Михаил Березин написал библиотеку на Go: https://github.com/mehanizm/iuliia-go.

Автор назвал проект iuliia, потому что: "...большинство транслитных библиотек называются translit, transliteration и тому подобное — это скучно... во-вторых, решительно невозможно пройти мимо «замечательного» стандарта ICAO DOC 9303, который испоганил значительную часть имён и фамилий в загранпаспортах — в том числе несчастную Юлию...Предпочитаю ласково называть её «йуля».". 

Преобразование из латиницы в кириллицу на порядки сложнее. Для него автор (так получилось, что по совместительству еще и продуктолог DaData) рекомендует использовать DaData.ru.

PS — сохранила статью на Testbase в навыке выделения классов эквивалентности, потому что в блоге Антона можно найти идей!

Комментариев нет:

Отправить комментарий