6

Немного про стандарты транслитерации

Тема транслитерации долго волновала мой ум и казалось что должен быть какой-то ГОСТ или хотя бы логика на данную область. А потом Сбербанк перевыпустил мою карту с другой транслитерацией имени:

Кто я - Sergei или Sergey? Википедия любезно предоставляет справку по данному вопросу в виде сравнительной таблицы систем транслитерации, изучение которой дало несколько интересных выводов:

* многие транслитерации забыли про букву J в английском;

* зачастую для транслитерации используются символы, отсутствующие на клавиатуре, в том числе диакритические;

* мягкое и твёрдое произношение не везде чётко прослеживается;

* среди этих конкурирующих стандартов отсутствует один, унифцирующий их все.


По мотивам последнего пункта и возникла идея замутить и свой стандарт, чего бы нет :)

В интернетике уже есть ресурсы, позволяющие прогнать свой текст по нескольким возможным ГОСТам, но мне было интересно и самому увидеть чуть ближе эту задачу, и попробовать набросать тот свой стандарт, которого придерживался с неизвестных времён.


Я не стал погружаться в историю вопроса и вообще как-то изучать тему, скажу лишь что я всегда считал логичным следующие комбинации:

ж = j

й = i

и = y

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

ь = `

ъ = #


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


Буквы, которые могут иметь два варианта написания в рамках одного стандарта заключены в скобки и разделены слэшем, например: й = (e/yo/ye). Буквы, не имеющие транслитерации в рамках стандарта заменены на тире.


Пробуем получившееся:

Попробовать самому можно тут: https://repl.it/@Melodyn/GOSTs-of-transliteration

Достаточно заменить заготовленный текст на ваш и нажать кнопку Run, обработанная строка вывалится в консоль сервиса.


Сделано в развлекательно-ознакомительных целях, не пытайтесь повторить, это опасно для вашего свободного времени!

Лига программистов

2.1K постов11.9K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества