Skip to content

Instantly share code, notes, and snippets.

@ledovsky
Last active March 30, 2024 21:37
Show Gist options
  • Save ledovsky/6398962 to your computer and use it in GitHub Desktop.
Save ledovsky/6398962 to your computer and use it in GitHub Desktop.
Транслитерация на python
# name: это строка которую транслитим
def transliterate(name):
"""
Автор: LarsKort
Дата: 16/07/2011; 1:05 GMT-4;
Не претендую на "хорошесть" словарика. В моем случае и такой пойдет,
вы всегда сможете добавить свои символы и даже слова. Только
это нужно делать в обоих списках, иначе будет ошибка.
"""
# Слоаврь с заменами
slovar = {'а':'a','б':'b','в':'v','г':'g','д':'d','е':'e','ё':'yo',
'ж':'zh','з':'z','и':'i','й':'i','к':'k','л':'l','м':'m','н':'n',
'о':'o','п':'p','р':'r','с':'s','т':'t','у':'u','ф':'f','х':'h',
'ц':'c','ч':'ch','ш':'sh','щ':'sch','ъ':'','ы':'y','ь':'','э':'e',
'ю':'u','я':'ya', 'А':'A','Б':'B','В':'V','Г':'G','Д':'D','Е':'E','Ё':'YO',
'Ж':'ZH','З':'Z','И':'I','Й':'I','К':'K','Л':'L','М':'M','Н':'N',
'О':'O','П':'P','Р':'R','С':'S','Т':'T','У':'U','Ф':'F','Х':'H',
'Ц':'C','Ч':'CH','Ш':'SH','Щ':'SCH','Ъ':'','Ы':'y','Ь':'','Э':'E',
'Ю':'U','Я':'YA',',':'','?':'',' ':'_','~':'','!':'','@':'','#':'',
'$':'','%':'','^':'','&':'','*':'','(':'',')':'','-':'','=':'','+':'',
':':'',';':'','<':'','>':'','\'':'','"':'','\\':'','/':'','№':'',
'[':'',']':'','{':'','}':'','ґ':'','ї':'', 'є':'','Ґ':'g','Ї':'i',
'Є':'e', '—':''}
# Циклически заменяем все буквы в строке
for key in slovar:
name = name.replace(key, slovar[key])
return name
@ledovsky
Copy link
Author

Господа, не занимайтесь херней. Транслитерацию надо делать в обратном порядке - с латиницы на русский , чтобы помочь русским людям читать английские слова без знания транскрипции. А вы помогаете буржуям которые во первых вас ненависят, а во вторых им русский на хер не нужен.

камон =)

@ledovsky
Copy link
Author

For the author (or future users if the gist won't be changed) :

'я':'ja'
'Я': 'YA'

Choose either "j" or "y"

"ё" is "yo" or "jo" not "e"

"ч" is "ch" not "cz"

"щ" is "sch" or "shh" not "scz"

'Ы': 'y' - the case can be saved

Вроде бы все поправил =)

@sabovruslan
Copy link

sabovruslan commented Dec 16, 2021

https://www.kmu.gov.ua/npas/243262567
Є прийняті правила транслітерації, замінити символи я знайшов багато робочих способів, але щоб дотриматись всіх правил не вдається, а саме "ЗГ" та деякі букви по різному мають заміняютись залежно від позиції в слові..

@petrovkarmm
Copy link

Господа, не занимайтесь херней. Транслитерацию надо делать в обратном порядке - с латиницы на русский , чтобы помочь русским людям читать английские слова без знания транскрипции. А вы помогаете буржуям которые во первых вас ненависят, а во вторых им русский на хер не нужен.

Не согласен. Сам сейчас проект на django пишу, беру слаги из тайтла, по итогу джанговский слагофай не пропускат русские символы, приходится сторонние библиотеки искать, что перед сохранением тайтл для слага менял XD. Ситуации то разные бывают.

@ergodeath
Copy link

Господа, не занимайтесь херней. Транслитерацию надо делать в обратном порядке - с латиницы на русский , чтобы помочь русским людям читать английские слова без знания транскрипции. А вы помогаете буржуям которые во первых вас ненависят, а во вторых им русский на хер не нужен.

сильно

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment