Translit russian cyrillic and slugify phrases
Reason this release was yanked:
release bug, that was fixed in an hour
Project description
Латинизация русской кириллицы
Используется следующее соответствие:
- а — a;
- б — b;
- в — v;
- г — g;
- д — d;
- е — ye, если йотирована и стоит после разделительных знаков;
- е — e, во всех остальных случаях;
- ё — yo, если йотирована (в начале слов, после гласных и разделительных знаков);
- ё — o, если не йотирована и стоит после непарных твердых согласных;
- ё — ho, во всех остальных случаях;
- ж — j;
- з — z;
- и — hi, если стоит после э (чтобы отличить от ы);
- и — i, во всех остальных случаях;
- й — y;
- к — k;
- л — l;
- м — m;
- н — n;
- о — o;
- п — p;
- р — r;
- с — s;
- т — t;
- у — u;
- ф — f;
- х — x;
- ц — c;
- ч — ch;
- ш — w;
- щ — wh;
- ъ — q, если стоит перед йотированными гласными, кроме е (тогда ъе переходит в yq) или й, в других случаях не требуется;
- ы — i, если стоит после непарной твердой согласной;
- ы — qi, во всех остальных случаях;
- ь — h, если согласная перед ней требует смягчения, которого бы не было без неё (за ней не стоит латинская y или смягчающие i, e);
- э — qe, если стоит перед йотированными гласными или й;
- э — e, если следует за непарной твердой согласной;
- э — q, во всех остальных случаях;
- ю — yu, если йотирована (в начале слов, после гласных и разделительных знаков);
- ю — u, если не йотирована и при этом стоит после непарных твердых согласных;
- ю — hu, во всех остальных случаях;
- я — ya, если йотирована (в начале слов, после гласных и разделительных знаков);
- я — a, если не йотирована и стоит после непарных твердых согласных;
- я — ha, во всех остальных случаях.
Хотя соответствие алгоритмическое, но в некоторых случаях их следует применять фонематически, применяя следующие правила:
- Буква y смягчает предыдущую согласную. В таких случаях, если стоит разделительный ъ, то он обозначается q перед y. В остальных случаях смягчение обозначается на письме либо буквой h, либо следующей за ней смягчающей гласной e или i. Если, хотя стоит разделяющий ъ, орфоэпикой русского языка допускается смягченное произношение как в объём, то возможно опускание q.
- Буквосочетание ьо после л или н, встречающееся в заимствованных словах, которое произносится с йотирование передается как yo (см. предыдущее правило).
- Если на письме в заимствованных словах предполагается смягчение согласной, которое не происходит, это можно отражать отходом при латинизации от кириллического написания. Но, в основном, рекомендуется сохранять буквенное соответствие с кириллическим написанием, так как часто одной из норм является смягченное произношение. Например, допускаются два варианта произношения: со смягченной согласной перед е и с несмягчённой в слове бактерицидный.
- В словах веешь, смеешь, вошь и подобных, там где мягкий знак не несёт орфоэпической функции он не транслитерируется, иначе проставление h меняло бы букву, например, с ш (w) на щ (wh).
- В словах с ъ на конце, имитирующих старую орфографию, твёрдый знак опускается.
Примеры:
- авдотья - avdotya;
- отъявленный - otqyavlennqiy;
- бактерицидный - baktericidnqiy;
- вьюга - vyuga;
- юг - yug;
- эра - qra;
- цирк - cirk;
- жюри - juri;
- щебетать - whebetath;
- парашют - parawut;
- аллофон - allofon;
- съезд - syqzd;
- метр - metr;
- мэтр - mqtr;
- лук - luk;
- люк - lhuk;
- клык - klqik;
- клик - klik;
- клён - klhon;
- клон - klon;
- раса - rasa;
- ряса - rhasa;
- пот - pot;
- под - pod;
- топ - top;
- топь - toph;
- йод - yod;
- яд - yad;
- подыграть - podqigrath;
- вожжи - vojji;
- жужжать - jujjath;
- объём - obyom;
- выемка - vqiemka;
- гальюн - galyun;
- веет - veet;
- веешь - veew;
- епархия - yeparxiya;
- ералаш - eralaw;
- красивые - krasivqie;
- коммерсантъ - kommersant;
- тэер - tqeer;
- гэй - gqey;
- МЭИ - MQHI.
Примеры использования кода:
При латинизации выполняется нормализация юникода, делать её вручную не нужно. См. пример 2.
from ayum.translit import to_latin
# 1
print(to_latin('Объёмом 5 литров')) # prints 'Оbyomom 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.3.tar.gz
(6.8 kB
view details)
Built Distribution
File details
Details for the file translit_ru-1.3.tar.gz
.
File metadata
- Download URL: translit_ru-1.3.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.27.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d3bdc62df6d8a5120a9f3b5f8ded801e077640a8800f679252722b382f07327 |
|
MD5 | 1d59e396350554869738dfefcdd93caa |
|
BLAKE2b-256 | 1824c3f720efb157407c53fd69bf688bf648dda7c3d7cef1bd7852c4127700bd |
File details
Details for the file translit_ru-1.3-py3-none-any.whl
.
File metadata
- Download URL: translit_ru-1.3-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 | 2cc75cb249c9d469b4bb86f896dbf813996f43521cb0c00bcf2ab0052a021a1c |
|
MD5 | b5eeaed1963f919ceee149c32acb0057 |
|
BLAKE2b-256 | 09aab91cf9ca60f4b787cefb8ea5958eac001828a5fd42c17203dc92b35b6bcb |