Mongolian Latin-Cyrillic transliteration library following MNS 5217:2012 standard
Project description
mn-translit
Mongolian Latin-Cyrillic transliteration following MNS 5217:2012 standard with proper Mongolian number grammar.
Python Version Support
- Python 2.7
- Python 3.4+
Installation
pip install mn-translit
Or install from source:
git clone https://github.com/yourusername/mn-translit.git
cd mn-translit
pip install -e .
Usage
Text Transliteration
from mn_translit import latin_to_cyrillic, cyrillic_to_latin
# Latin to Cyrillic
print(latin_to_cyrillic("Sain baina uu?"))
# Output: Сайн байна уу?
# With automatic number conversion
print(latin_to_cyrillic("I have 21 books", trans_num=True))
# Output: И хавэ хорин нэг боокс
print(latin_to_cyrillic("Year 2024", trans_num=True))
# Output: Еар хоёр мянга хорин дөрөв
# Cyrillic to Latin
print(cyrillic_to_latin("Монгол"))
# Output: Mongol
Number Conversion
from mn_translit import number_to_words, words_to_number
# Number to words (proper Mongolian grammar)
print(number_to_words(21))
# Output: хорин нэг
print(number_to_words(111))
# Output: зуун арав нэг
print(number_to_words(230))
# Output: хоёр зуун гучин
print(number_to_words(2024))
# Output: хоёр мянга хорин дөрөв
# Words to number
print(words_to_number("мянга"))
# Output: 1000
print(words_to_number("хорин нэг"))
# Output: 21
print(words_to_number("хоёр зуун гучин"))
# Output: 230
Character Mapping
Basic Mapping
| Latin | Cyrillic | Latin | Cyrillic |
|---|---|---|---|
| a | а | n | н |
| e | э | o | о |
| i | и | u | у |
| ö | ө | ü | ү |
Digraphs
| Latin | Cyrillic | Latin | Cyrillic |
|---|---|---|---|
| kh | х | ts | ц |
| ch | ч | sh | ш |
| zh | ж | ya | я |
| ye | е | yo | ё |
| yu | ю |
Diphthongs
| Latin | Cyrillic | Example |
|---|---|---|
| ai | ай | sainai → сайнай |
| ei | эй | erdei → эрдэй |
| ii | ий | kharii → харий |
| oi | ой | oilgokh → ойлгох |
Number System
Major Scales
- 100 → зуун
- 1,000 → мянга
- 10,000 → түм
- 100,000 → бум
- 1,000,000 → сая
- 1,000,000,000 → тэрбум
- 1,000,000,000,000 → их наяд
Examples
- 21 → хорин нэг
- 31 → гучин нэг
- 41 → дөчин нэг
- 51 → тавин нэг
- 61 → жаран нэг
- 71 → далан нэг
- 81 → наян нэг
- 91 → ерэн нэг
- 111 → зуун арав нэг
- 230 → хоёр зуун гучин
Testing
Run the test suite to verify all functionality:
python tests/test_translit.py
Or with Python 2.7:
python2 tests/test_translit.py
Development
Setting up for development
git clone https://github.com/yourusername/mn-translit.git
cd mn-translit
pip install -e .
Running tests
python tests/test_translit.py
Publishing to PyPI
This package uses GitHub Actions for automated publishing. To publish a new version:
- Update version in
mn_translit/__init__.py - Create a new release on GitHub
- The GitHub Action will automatically run tests and publish to PyPI
Note: You need to set up PYPI_API_TOKEN secret in your GitHub repository settings.
License
MIT License
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mn_translit-1.0.2.tar.gz.
File metadata
- Download URL: mn_translit-1.0.2.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9f5db02a3b0d0c771964634144511bac02d913bdfc83544b7527e7f051428ec
|
|
| MD5 |
109fba6138850d5509a0cebbba3f143c
|
|
| BLAKE2b-256 |
20fe0738f70d776b859813ecbfa74e0b23256e68020dff9a810d7bc735d95015
|
File details
Details for the file mn_translit-1.0.2-py3-none-any.whl.
File metadata
- Download URL: mn_translit-1.0.2-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c925e0552b440ca5079652618cfbca6822b2f794ea49a49fb8e955ddb4f4f6dc
|
|
| MD5 |
76c368fe3681fff477b729673d4962c2
|
|
| BLAKE2b-256 |
877eff3032e8af0c42945d23cf6ab0e77590b82ba921933866290fe710483303
|