Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

translit_ru-1.9-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

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

Hashes for translit_ru-1.9.tar.gz
Algorithm Hash digest
SHA256 6f45a2271afcf3455e7faf4fc4c621a8af493dad134d96f747df765ffb454d1c
MD5 161f054b235c1478b3f178202fbb39ad
BLAKE2b-256 2cc9c55c1d5cdb200fe3643a99eb29c173acbd0a37e0e680d695e88bcc6fd048

See more details on using hashes here.

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

Hashes for translit_ru-1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1a26c65e9c31d2d48db6188e3357a1290e401ceb91ac2811b60914c6b7ef731a
MD5 280cbe56be7b3d8689645b42aebbbd1b
BLAKE2b-256 2cc6cebc4952fe3e50b1c93cc30244e511731f85d0723ee18bfe10dd8f1cf5e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page