Сводный таблицы правил транслитерации
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[link1] отличается транслитерацией мягкого и твёрдого знаков (отказ от знака дюйма для более простого представления в теле HTML-страниц).
Заглавные буквы
Ж | Zh |
Shh | Щ |
Оператор «плюс» — смена языка
- [link1] http://replay.waybackmachine.org/20080509025329/http://www.spelling.spb.ru/spell057.htm