Metadata-Version: 2.1
Name: translit-ru
Version: 1.4
Summary: Translit russian cyrillic and slugify phrases
Project-URL: Homepage, https://github.com/ayum/ayum.translit
Project-URL: Bug Tracker, https://github.com/ayum/ayum.translit/issues
Author: ~ayum
License-Expression: MIT
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Requires-Dist: pyicu>=2.6
Description-Content-Type: text/markdown

Латинизация русской кириллицы
=============================

Используется следующее соответствие:
- *а* —  *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.


```python3
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'

```
