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;
  • ъ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;
  • отъявленный - 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;
  • ыфкуиль - 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

# 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


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.6.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

translit_ru-1.6-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file translit_ru-1.6.tar.gz.

File metadata

  • Download URL: translit_ru-1.6.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for translit_ru-1.6.tar.gz
Algorithm Hash digest
SHA256 b8f081a45a8d076d40c9dd7a1ea2be46e0fc113df296b912a632d79e9e174e05
MD5 551ce6ea7c06c1f7d231d348b65ec787
BLAKE2b-256 5ea3ff2c7bde3f48321874f3941b00dd8831395f739d2b40dd5da441f1043e5c

See more details on using hashes here.

File details

Details for the file translit_ru-1.6-py3-none-any.whl.

File metadata

  • Download URL: translit_ru-1.6-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.0

File hashes

Hashes for translit_ru-1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d88ce68b2d6868b6a8c951e4b6e9ef2555a63f8885c2253811553c4b08d5e7c8
MD5 caddb1230793ebf18fd6e9f331cd4afc
BLAKE2b-256 ae3643489ec9135dd3f8cb13b32579ef01f72275272059ed6681659a64f83439

See more details on using hashes here.

Supported by

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