Сводный таблицы правил транслитерации


1. UrlTranslit: Красивый читаемый урл

1.1. Выходные данные

  • используемый набор: [0–9a-z_\-]
  • все буквы маленькие
  • слова разделены подчёркиванием
  • не встречается два подчёркивания подряд
  • не встречается _-_
  • UrlTranslit(~UrlTranslit(string)) == UrlTranslit(string)

1.2. Формальные правила


[_\s\.,?!\[\](){}]+ _
aaa_-+_bbb aaa--bbb
-{2,} --
-+$ (пусто)
[A-ZА-Я] [a-zа-я]
[а-я] [a-z]
(всё остальное) (пусто)

2. Supertag: Короткий однозначный идентификатор

2.1. Выходные данные

  • используемый набор: [0–9a-z\-]
  • Supertag(Supertag(string)) == Supertag(string)
  • Supertag(UrlTranslit(string)) == Supertag(string)

2.2. Формальные правила


-{2,} -
-+$ (пусто)
[A-ZА-Я] [a-zа-я]
[а-я] [a-z]
(всё остальное) (пусто)

3. BiDiTranslit: Взаимно-однозначный транслит

3.1. Выходные данные

  • двустороннее взаимно-однозначное преобразование текста
  • входной набор: [0–9a-zA-Zа-яА-Я\-_ ]
  • выходной набор: [0–9a-zA-Z\-'_+]
  • все символы, не включающиеся во входной набор, are omitted

3.2. Формальные правила


[а-яА-Я+] [a-zA-Z+]

4. Приложения

4.1. Односторонняя транслитерация кириллицы

абвгдезиклмнопрстуф
abvgdeziklmnoprstuf


Странности:

Ё e
Ж zh
Й j
Х x
Ц ts
Ч ch
Ш sh
Щ sch
Ъ, Ь (пусто), если перед согласной
j, если перед гласной, однако не должно быть jj
Ы y
Э e
Ю ju
Я ja

4.2. Восстановимая транслитерация кириллицы

абвгдезиклмнопрстуф
abvgdeziklmnoprstuf


Странности:

ё jo
ж zh
й jj
х kh
ц c
ч ch
ш sh
щ shh
э eh
ю ju
я ja
ы y
ъ ~ (тильда)
ь ' (апостроф)
Ъ _~
Ь _'

От ГОСТ 16876–71 отличается транслитерацией мягкого и твёрдого знаков (отказ от знака дюйма для более простого представления в теле HTML-страниц).


Заглавные буквы

Ж Zh
Shh Щ

Оператор «плюс» — смена языка