Transliteration (romanization, latinization) for Ukrainian and russian languages with various transliteration tables (including official ones). Translit-ua has 17 transliteration tables for the Ukrainian language:
- UkrainianKMU (National 2010, most recent one approved by The Cabinet)
- UkrainianSimple (Simple one)
- UkrainianWWS (WWS or Woodrow Wilson School or Scholarly)
- UkrainianBritish (British Standard)
- UkrainianBGN (BGN/PGGN 1965 System, United States Board on Geographic Names/Permanent Committee on Geographical Names)
- UkrainianISO9 (ISO 9, from International Organization for Standardization)
- UkrainianFrench (Jean Girodet (1976), Dictionnaire de la langue française)
- UkrainianGerman ((2000) Duden, v 22, Mannheim: Dudenverlag.)
- UkrainianGOST1971 (The Soviet Union's GOST from 1971)
- UkrainianGOST1986 (The Soviet Union's GOST from 1986)
- UkrainianPassport2007 (Used in Ukrainian passport in 2007-2010)
- UkrainianNational1996 (Codified by Committee on Issues of Legal Terminology in 1996)
- UkrainianPassport2004Alt (Yet another alternative that was sometimes used in Ukrainian passports in 2004-2007)
- UkrainianDSTU9112A (DSTU 9112:2021 system A with diacritics — the current State Standard of Ukraine, approved 2022, based on modified ISO 9:1995)
- UkrainianDSTU9112B (DSTU 9112:2021 system B, ASCII digraphs — same standard, goes back to Maksym Vakulenko's 1995 Derzhstandart system)
- UkrainianALALC (ALA-LC, the American Library Association / Library of Congress standard used in library catalogs, with ligature ties)
- UkrainianALALCModified (simplified ALA-LC without diacritics, as commonly used in English-language academic publishing)
Aliases: UkrainianBGN2019 and UkrainianUNGEGN point to UkrainianKMU — the 2019 BGN/PCGN agreement and the 2012 UNGEGN resolution both adopted the Ukrainian national (2010) system as-is. The UkrainianBGN table is the older 1965 system they superseded.
Translit-ua also has 11 transliteration tables for the russian language:
- RussianGOST2006 (The Russian Federation's GOST from 2006)
- RussianSimple (Simple one)
- RussianICAO (DOC9303 from ICAO, International Civil Aviation Organization)
- RussianTelegram (Russian standard for international telegrams from 2001)
- RussianInternationalPassport1997 (One that was used for international passports 1997-2010)
- RussianInternationalPassport1997Reduced (Same as above but with reduction of yy to y)
- RussianDriverLicense (One that has been used for driver licenses since 2000)
- RussianISOR9Table2 (ISO/R 9 (1968), table 2)
- RussianISO9SystemA (ISO 9:1995, System A, one with diacritics)
- RussianISO9SystemB (ISO 9:1995, System B, no diacritics)
- RussianALALC (ALA-LC, the American Library Association / Library of Congress standard, with ligature ties)
The minor difference in those tables is that the common apostrophe sign ' is used in every table.
For convenience, all Ukrainian tables are listed in ALL_UKRAINIAN variable, and all russian tables are listed in ALL_RUSSIAN variable. In ALL_TRANSLITERATIONS variable, you might find the complete list of tables.
Translit-ua works with Python 3.9+ (CPython and PyPy) and has good doctests coverage.
Install from PyPI.
$ pip install translitua >>> from translitua import translit, RussianSimple
>>> translit(
u"""Берег моря. Чути розбещенi крики морських птахiв, ревiння моржа,
а також iншi звуки, iздаваємиє різною морською сволотою. Входить Гамлєт,
вдягнутий в зручну приємну товстовку і такі ж самі парусинові штани.
Гамлєт красиво підперезаний вузеньким шкіряним пояском.
Він босий, бородатий і пацаватий. В руках у нього дебелий дрючок.
""")
u'Bereh moria. Chuty rozbeshcheni kryky morskykh ptakhiv, revinnia morzha,\na takozh inshi zvuky, izdavaiemyie riznoiu morskoiu svolotoiu. Vkhodyt Hamliet,\nvdiahnutyi v zruchnu pryiemnu tovstovku i taki zh sami parusynovi shtany.\nHamliet krasyvo pidperezanyi vuzenkym shkirianym poiaskom.\nVin bosyi, borodatyi i patsavatyi. V rukakh u noho debelyi driuchok.\n'
>>> translit(
u"""Не выходи из комнаты, не совершай ошибку.
Зачем тебе Солнце, если ты куришь Шипку?
За дверью бессмысленно все, особенно - возглас счастья.
Только в уборную - и сразу же возвращайся.""", RussianSimple
)
u"Ne vyhodi iz komnaty, ne sovershaj oshibku.\nZachem tebe Solntse, esli ty kurish' Shipku?\nZa dver'ju bessmyslenno vse, osobenno - vozglas schast'ja.\nTol'ko v ubornuju - i srazu zhe vozvraschajsja."More about Ukrainian transliteration
More about Russian transliteration
2.0
- New tables: DSTU 9112:2021 systems A and B (the current State Standard of Ukraine, validated against the uklatn reference implementation), ALA-LC for Ukrainian (full and simplified) and russian, plus BGN/PCGN 2019 / UNGEGN aliases
- Modern packaging (
pyproject.toml), Python 3.9+ only,py.typedtype hints - Dropped Python 2 compatibility shims; behavior and tables unchanged
- Doctests run on GitHub Actions against CPython 3.9-3.13 and PyPy
- Releases publish to PyPI from tags via trusted publishing