Translit russian cyrillic and slugify phrases
Project description
Латинизация русской кириллицы
Используется следующее соответствие:
- а — a;
- б — b;
- в — v;
- г — g;
- д — d;
- е — e;
- ё — yo, если стоит в начале слов, после гласных, ь;
- ё — o, если стоит после непарных согласных, ъ;
- ё — ho, во всех остальных случаях;
- ж — j;
- з — z;
- и — i;
- й — y;
- к — k;
- л — l;
- м — m;
- н — n;
- о — o;
- п — p;
- р — r;
- с — s;
- т — t;
- у — u;
- ф — f;
- х — x;
- ц — c;
- ч — ch;
- ш — w;
- щ — wh;
- ъ — q, не может использоваться для имитации старой орфографии;
- ы — y;
- ь — h, а также как разделитель: между э и а, о, у, е, между ы и а, о, у, между гласными и ы;
- э — q;
- ю — yu, если стоит в начале слов, после гласных, ь;
- ю — u, если стоит после непарных согласных, ъ;
- ю — hu, во всех остальных случаях;
- я — ya, если стоит в начале слов, после гласных, ь;
- я — a, если стоит после непарных согласных, ъ;
- я — ha, во всех остальных случаях.
Соответствие интуитивное, но несколько пояснений сделать нужно:
- Буквосочетание ьо после л или н, встречающееся в заимствованных словах, которое произносится с йотирование передается как yo, иначе было бы лё, нё.
- Если на письме в заимствованных словах предполагается смягчение согласной, которое не происходит, это можно отражать отходом при латинизации от кириллического написания. Но, в основном, рекомендуется сохранять буквенное соответствие с кириллическим написанием, так как часто одной из норм является смягченное произношение. Например, допускаются два варианта произношения: со смягченной согласной перед е и с несмягчённой в слове бактерицидный.
- В словах веешь, смеешь, вошь и подобных, там где мягкий знак не несёт орфоэпической функции он не транслитерируется, иначе проставление h меняло бы букву, например, с ш (w) на щ (wh).
- В словах с ъ на конце, иммитирующих старую орфографию, твёрдый знак опускается.
- Разделительные знаки перед йотированными гласными обозначаются твердый — q, мягкий — h, если требуется. Мягкий знак не требуется, если йотированность уже показана латинской y, обозначающей й, которая смягчает согласную.
- Латинские буквы y, q обозначают кроме й и ъ, также ы, э, что путаницы почти не вносит, потому что эти буквы в некоторых сочетаниях (эи, аы) в русском языке почти не встречаются, а после ы доставляет сложность только относительно часто встречающаяся у, как в слове выучить.
- Буква q используется как разделительный ъ. Так как q используется ещё как э, то если после э идёт а, о, у, е, она отделяется h, чтобы различать э и ъ. Если слово начиначется с э, то разделительная h не требуется, так как q в начале слова всегда обозначает э.
- Латинская y всегда обозначает й в начале слова и после латинской h.
Примеры:
- авдотья - avdotya;
- авдотьи - avdothi;
- отъявленный - otqavlennyy;
- бактерицидные - baktericidnye;
- вьюга - vyuga;
- юг - yug;
- эра - qra;
- эон - qon;
- мэон - mqhon;
- цирк - cirk;
- жюри - juri;
- щебетать - whebetath;
- парашют - parawut;
- аллофон - allofon;
- съезд - sqezd;
- метр - metr;
- мэтр - mqtr;
- лук - luk;
- люк - lhuk;
- клык - klyk;
- клик - klik;
- клён - klhon;
- клон - klon;
- раса - rasa;
- ряса - rhasa;
- пот - pot;
- под - pod;
- топ - top;
- топь - toph;
- йод - yod;
- яд - yad;
- чёрт - chort;
- чьорт - chyort;
- ыфкуиль - yyfkuilh
- подыграть - podygrath;
- вожжи - vojji;
- жужжать - jujjath;
- объём - obqom;
- бельё - belyo;
- подъезд - podqezd;
- отребье - otrebye;
- выемка - vyemka;
- гальюн - galyun;
- веет - veet;
- веешь - veew;
- епархия - yeparxiya;
- ералаш - eralaw;
- красивые - krasivye;
- коммерсантъ - kommersant;
- тэер - tqher;
- гэй - gqy;
- гей - gey;
- МЭИ - MQI.
- чей - chey;
- чьи - chyi;
- каньон - kanyon;
Примеры использования кода:
При латинизации выполняется нормализация юникода, делать её вручную не нужно. См. пример 2.
from ayum.translit import to_latin, slugify
# 1
print(to_latin('Объёмом 5 литров')) # prints 'Оbqomom 5 litrov'
# 2
print(to_latin('\u0435\u0308')) # prints 'yo'
print(to_latin('\u0451')) # prints 'yo'
# 3
print(slugify('Объёмом 5 литров')) # prints 'obqomom-5-litrov'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
translit_ru-1.7.tar.gz
(7.7 kB
view details)
Built Distribution
File details
Details for the file translit_ru-1.7.tar.gz
.
File metadata
- Download URL: translit_ru-1.7.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df7af76b50ce2d6de569bc9f296cad67b963804acd437d74d437987bb18aec96 |
|
MD5 | 55d97d1340e32bc3711f0ee279c75ea6 |
|
BLAKE2b-256 | d0bdeffd708f7b2a56f594084ee103500d6213d131d197952c2faf64b7371ad3 |
File details
Details for the file translit_ru-1.7-py3-none-any.whl
.
File metadata
- Download URL: translit_ru-1.7-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cc1b7bd1d28c443b8b93a1fcf4ea3e0c8657f7ae63889ca966f9e5972c64adb |
|
MD5 | a05f4c568f6dc769ea67226a55c533e8 |
|
BLAKE2b-256 | 6c4bc13d7e1b3e34e087da281ac2f6601a87fa52a22bc1701c44beb335133666 |