Skip to content

ayum/ayum.translit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

  • а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;
  • авдотьи - avdothi;
  • отъявленный - 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;
  • чёрт - chort;
  • чьорт - chyort;
  • ыфкуиль - 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, slugify

# 1
print(to_latin('Объёмом 5 литров')) # prints 'Оbqomom 5 litrov'

# 2
print(to_latin('\u0435\u0308')) # prints 'yo'
print(to_latin('\u0451'))       # prints 'yo'

# 3
print(slugify('Объёмом 5 литров')) # prints 'obqomom-5-litrov'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages