Skip to main content

Official transliteration for Ukrainian and russian languages

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

translitua-2.0.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

translitua-2.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file translitua-2.0.tar.gz.

File metadata

  • Download URL: translitua-2.0.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for translitua-2.0.tar.gz
Algorithm Hash digest
SHA256 b2f5d59b89236a159731e510f192858f63cb3fb69d57224ebd2572fcc7db6ac1
MD5 9f2b7e50008d40371181eee17f9c1ee0
BLAKE2b-256 98bffe41fa81d8f11af6fe3fa58f485ca1df43fb54abcc9927d25ec30cf4ea4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for translitua-2.0.tar.gz:

Publisher: publish.yml on dchaplinsky/translit-ua

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file translitua-2.0-py3-none-any.whl.

File metadata

  • Download URL: translitua-2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for translitua-2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1607e4d4fad5a44308f1052329405ffcabc1c9b8cd17df94ee6549b6442d2747
MD5 e3f1f4d6a6489d9e97c58d559f6612b4
BLAKE2b-256 66200387d4360032c28395cca1aa2eb02ccbf7dce341e643677a183a938bf040

See more details on using hashes here.

Provenance

The following attestation bundles were made for translitua-2.0-py3-none-any.whl:

Publisher: publish.yml on dchaplinsky/translit-ua

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page