Skip to content

Latest commit

 

History

63 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

translit-ua

Tests PyPI

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.

Installation

Install from PyPI.

$ pip install translitua

Usage

    >>> 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

Changelog

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.typed type 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

About

Transliteration for ukrainian language that uses officialy approved rules

Resources

Stars

67 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages