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;
- ъ — h, кроме разделительного твёрдого знака после шипящих и ц (тогда он не требуется), не может использоваться для имитации старой орфографии;
- ы — y;
- ь — h, кроме разделительного мягкого знака после шипящих и ц (тогда он не требуется);
- э — q;
- ю — yu, если стоит в начале слов, после гласных, ь, ъ;
- ю — u, если стоит после непарных согласных;
- ю — hu, во всех остальных случаях;
- я — ya, если стоит в начале слов, после гласных, ь, ъ;
- я — a, если стоит после непарных согласных;
- я — ha, во всех остальных случаях.
Соответствие интуитивное, но несколько пояснений сделать нужно:
- Буквосочетание ьо, например, после л или н, встречающееся часто в заимствованных словах и произносящееся с йотирование, передается как hyo, иначе было бы лё, нё. Тоже в отношении реже встречающихся ьа, ьу.
- Если на письме, особенно в заимствованных словах, пишется е, но смягчение соответствующей согласной не происходит, это допускается отражать отходом при транслитерации от кириллического написания с заменой e на латинскую q.
- В словах веешь, смеешь, вошь и подобных, там где мягкий знак не несёт орфоэпической функции он не транслитерируется, иначе проставление h меняло бы букву, например, с ш (w) на щ (wh).
- Допускается для обозначения мягкой ж использовать латинские jh, например, в записи просторечного podojhi, вместо точной транслитерации нормативного подожди.
- В словах с ъ на конце, имитирующих старую орфографию, твёрдый знак опускается.
- Латинская буква y обозначает кроме й, также и ы, что путаницы почти не вносит, так как после согласных (кроме шипящих и ц) она всегда ы, а в начале слова, после гласных (в том числе латинской y, обозначающей ы), шипящих согласных и ц и разделительных знаков (h) всегда й (в том числе как часть йотированных гласных).
- Ы в начале слова чрезвычайно редка, но если необходимо может быть обозначена удвоением латинских yy.
- Из-за того, что ч обозначается как латинские ch, то чрезвычайно редко встречающаяся мягкая ц, например, в украинских именах, как-то Грицько, не может быть передана и в таких случаях мягкий знак ь опускается.
- Единственная крупная неоднозначность предлагаемой латинизации это невозможность различения разделительных ь и ъ, что не очень сильно мешает, так как оппозиция разделительных знаков никогда не является смыслоразличительной в русском языке и мотивирована в основном фонетически. Например, при отделении приставок от корня, начинающегося с йотированной гласной, ставится ъ и соответствующая согласная является твёрдой, а в остальных местах в незаимствованных словах почти всегда стоит ь. В заимствованных же словах даже там, где стоит разделительный ъ, одним из вариантов произношения почти всегда является смягчение соответствующей согласной. При строгой необходимости показать эту оппозицию всегда можно прибегнуть, например, к удвоению латинской hh на месте разделительного ъ, либо использовать апостроф, как часто делали в раннесоветской типографике, или же дефис.
Примеры:
- авдотья - avdothya;
- авдотьи - avdothi;
- авдотье - avdothe;
- отъявленный - othyavlennyy, либо, при строгой необходимости сохранить обозначение твёрдости согласной, othhyavlennyy;
- бактерицидные - baktqricidnye или baktericidnye;
- Артек - Artqk или Artek;
- кафе - kafq или kafe;
- вьюга - vhyuga;
- вьётся - vhyotsha;
- выёживаться - vyyojivathsha;
- выиграть - vyigrath;
- выучить - vyuchith;
- юг - yug;
- эра - qra;
- эон - qon;
- мэон - mqon;
- цирк - cirk;
- жюри - juri;
- щебетать - whebetath;
- парашют - parawut;
- аллофон - allofon;
- съезд - shyezd или shhyezd;
- метр - metr;
- мэтр - mqtr;
- лук - luk;
- люк - lhuk;
- клык - klyk;
- клик - klik;
- клён - klhon;
- клон - klon;
- раса - rasa;
- ряса - rhasa;
- пот - pot;
- под - pod;
- топ - top;
- топь - toph;
- йод - yod;
- яд - yad;
- чёрт - chort;
- чьорт - chyort;
- ыфкуиль - yyfkuilh
- подыграть - podygrath;
- вожжи - vojji;
- жужжать - jujjath;
- объём - obhyom;
- бельё - belhyo;
- подъезд - podhyezd, или podhhyezd;
- отребье - otrebhe;
- выемка - vyemka;
- гальюн - galhyun;
- веет - veet;
- веешь - veew;
- епархия - yeparxiya;
- ералаш - eralaw;
- красивые - krasivye;
- коммерсантъ - kommersant;
- тэер - tqer;
- гэй - gqy;
- гей - gey;
- МЭИ - MQI.
- чей - chey;
- чьи - chyi;
- шью - wyu;
- удушье - uduwye;
- увечье - uvechye;
- ружьё - rujyo;
- лье - lhe;
- каньон - kanhyon;
Примеры использования кода:
При транслитерации выполняется нормализация юникода, делать её вручную не нужно. См. пример 2.
from ayum.translit import to_latin, slugify
# 1
print(to_latin('Объёмом 5 литров')) # prints 'Оbhyomom 5 litrov'
# 2
print(to_latin('\u0435\u0308')) # prints 'yo'
print(to_latin('\u0451')) # prints 'yo'
# 3
print(slugify('Объёмом 5 литров')) # prints 'obhyomom-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.9.tar.gz
(8.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file translit_ru-1.9.tar.gz.
File metadata
- Download URL: translit_ru-1.9.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f45a2271afcf3455e7faf4fc4c621a8af493dad134d96f747df765ffb454d1c
|
|
| MD5 |
161f054b235c1478b3f178202fbb39ad
|
|
| BLAKE2b-256 |
2cc9c55c1d5cdb200fe3643a99eb29c173acbd0a37e0e680d695e88bcc6fd048
|
File details
Details for the file translit_ru-1.9-py3-none-any.whl.
File metadata
- Download URL: translit_ru-1.9-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a26c65e9c31d2d48db6188e3357a1290e401ceb91ac2811b60914c6b7ef731a
|
|
| MD5 |
280cbe56be7b3d8689645b42aebbbd1b
|
|
| BLAKE2b-256 |
2cc6cebc4952fe3e50b1c93cc30244e511731f85d0723ee18bfe10dd8f1cf5e1
|