Skip to main content

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


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)

Uploaded Source

Built Distribution

translit_ru-1.3-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

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

Hashes for translit_ru-1.3.tar.gz
Algorithm Hash digest
SHA256 6d3bdc62df6d8a5120a9f3b5f8ded801e077640a8800f679252722b382f07327
MD5 1d59e396350554869738dfefcdd93caa
BLAKE2b-256 1824c3f720efb157407c53fd69bf688bf648dda7c3d7cef1bd7852c4127700bd

See more details on using hashes here.

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

Hashes for translit_ru-1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2cc75cb249c9d469b4bb86f896dbf813996f43521cb0c00bcf2ab0052a021a1c
MD5 b5eeaed1963f919ceee149c32acb0057
BLAKE2b-256 09aab91cf9ca60f4b787cefb8ea5958eac001828a5fd42c17203dc92b35b6bcb

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