Translit russian cyrillic and slugify phrases
Project description
Латинизация русской кириллицы
Используется следующее соответствие:
- а — a;
- б — b;
- в — v;
- г — g;
- д — d;
- е — ye, если стоит после ь;
- е — qe, если стоит после ъ;
- е — e, во всех остальных случаях;
- ё — yo, если стоит в начале слов, после гласных и ь;
- ё — qo, если стоит после ъ;
- ё — o, если не йотирована и стоит после непарных твердых согласных;
- ё — ho, во всех остальных случаях;
- ж — j;
- з — z;
- и — i;
- й — y;
- к — k;
- л — l;
- м — m;
- н — n;
- о — o;
- п — p;
- р — r;
- с — s;
- т — t;
- у — u;
- ф — f;
- х — x;
- ц — c;
- ч — ch;
- ш — w;
- щ — wh;
- ъ — q, не требуется;
- ы — i, если стоит после непарной твердой согласной;
- ы — qi, во всех остальных случаях;
- ь — h, если стоит после согласной и она требует смягчения, в других случаях не требуется;
- э — e, если стоит после непарной твердой согласной;
- э — qh, если стоит перед а, о, у, и, е;
- э — q, во всех остальных случаях;
- ю — yu, если стоит в начале слов, после гласных и ь;
- ю — qu, если стоит после ъ;
- ю — u, если не йотирована и стоит после непарных твердых согласных;
- ю — hu, во всех остальных случаях;
- я — ya, если стоит в начале слов, после гласных и ь;
- я — qa, если стоит после ъ;
- я — a, если не йотирована и стоит после непарных твердых согласных;
- я — ha, во всех остальных случаях.
Хотя соответствие алгоритмическое, но в некоторых случаях их следует применять фонематически, применяя следующие правила:
- Буквосочетание ьо после л или н, встречающееся в заимствованных словах, которое произносится с йотирование передается как yo.
- Если на письме в заимствованных словах предполагается смягчение согласной, которое не происходит, это можно отражать отходом при латинизации от кириллического написания. Но, в основном, рекомендуется сохранять буквенное соответствие с кириллическим написанием, так как часто одной из норм является смягченное произношение. Например, допускаются два варианта произношения: со смягченной согласной перед е и с несмягчённой в слове бактерицидный.
- В словах веешь, смеешь, вошь и подобных, там где мягкий знак не несёт орфоэпической функции он не транслитерируется, иначе проставление h меняло бы букву, например, с ш (w) на щ (wh).
- В словах с ъ на конце, имитирующих старую орфографию, твёрдый знак опускается.
Правила разделительных знаков следующие, что является просто следствием принятых соответствий:
- Разделительные знаки перед йотированными гласными могут обозначаться y, q. Буква y смягчает предыдущую согласную и используется для разделительного ь. Буква q используется соответственно для разделительного ъ. Так как q используется как э, то если после э идёт гласная, она отделяется h, чтобы различать э и ъ.
Примеры:
- авдотья - avdotya;
- отъявленный - otqavlennqiy;
- бактерицидный - baktericidnqiy;
- вьюга - vyuga;
- юг - yug;
- эра - qra;
- эон - qhon;
- цирк - cirk;
- жюри - juri;
- щебетать - whebetath;
- парашют - parawut;
- аллофон - allofon;
- съезд - sqezd;
- метр - metr;
- мэтр - mqtr;
- лук - luk;
- люк - lhuk;
- клык - klqik;
- клик - klik;
- клён - klhon;
- клон - klon;
- раса - rasa;
- ряса - rhasa;
- пот - pot;
- под - pod;
- топ - top;
- топь - toph;
- йод - yod;
- яд - yad;
- подыграть - podqigrath;
- вожжи - vojji;
- жужжать - jujjath;
- объём - obqom;
- бельё - belyo;
- подъезд - podqezd;
- отребье - otrebye;
- выемка - vqiemka;
- гальюн - galyun;
- веет - veet;
- веешь - veew;
- епархия - yeparxiya;
- ералаш - eralaw;
- красивые - krasivqie;
- коммерсантъ - kommersant;
- тэер - tqeer;
- гэй - gqy;
- гей - gey;
- МЭИ - MQHI.
- каньон - kanyon;
Примеры использования кода:
При латинизации выполняется нормализация юникода, делать её вручную не нужно. См. пример 2.
from ayum.translit import to_latin
# 1
print(to_latin('Объёмом 5 литров')) # prints 'Оbqomom 5 litrov'
# 2
print(to_latin('\u0435\u0308')) # prints 'yo'
print(to_latin('\u0451')) # prints 'yo'
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.5.tar.gz
(7.1 kB
view details)
Built Distribution
File details
Details for the file translit_ru-1.5.tar.gz
.
File metadata
- Download URL: translit_ru-1.5.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f5a16e3df0d7d5b58f95d072db65536df577e9f064336234bf6c892115eb51c |
|
MD5 | edf730f526cdeb12a801ae5c1cae0a77 |
|
BLAKE2b-256 | 4a8433f0c458e58c470f53cfcfaf2015148557f30d77ea6a331704881fe2b0e0 |
File details
Details for the file translit_ru-1.5-py3-none-any.whl
.
File metadata
- Download URL: translit_ru-1.5-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d786d5b81121f69a350bd27c1761237a42b4a53a16fb1e4781538de484ce672 |
|
MD5 | 175222af4176817dada991dfbca44f91 |
|
BLAKE2b-256 | 828d4726501b5e5072540adfb699471f373a840e9c68cf1d498e689ec3a350c0 |