Skip to content

ayum/ayum.translit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Используется следующее соответствие:

  • а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'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages