Fidel is a Python package that can transliterate Latin characters to Geez characters and vice versa.
For example: abebe beso bela -> አበበ በሶ በላ
pip install fidel
pip install --upgrade fidel
from fidel import Transliterate
text = "bexam xru sew new"
transliterated = Transliterate(text).transliterate()
print(transliterated)output
በጣም ጥሩ ሰው ነው
from fidel import Transliterate
text = "betam tiru sew nw"
transliterated = Transliterate(text=text, auto_correct=False).transliterate() # The default is False
corrected = Transliterate(text=text, auto_correct=True).transliterate()
print(f"Transliterated: {transliterated}")
print(f"Corrected: {corrected}")output
Translated: በታም ቲሩ ሰው ንው
Corrected: በጣም ጥሩ ሰው ነው
from fidel import Transliterate
text = "abebe, kebede ena ayele bexam xru sew nachew."
symbol_true = Transliterate(text=text, symbol=True).transliterate() # The default is True
symbol_false = Transliterate(text=text, symbol=False).transliterate()
print(f"True symbol: {symbol_true}")
print(f"False symbol: {symbol_false}")output
True symbol: አበበ፣ ከበደ እና አየለ በጣም ጥሩ ሰው ናቸው።
False symbol: አበበ, ከበደ እና አየለ በጣም ጥሩ ሰው ናቸው.
Exclude words from being transliterated.
- To prevent words from being transliterate, put the words inside "``"
from fidel import Transliterate
text = "`Alex` xru sew new"
transliterated = Transliterate(text).transliterate()
print(transliterated)output
Alex ጥሩ ሰው ነው
Split words
- To prevent words from being ዲቃላ (The eigth letters) we should put "|" between consonants.
from fidel import Transliterate
text = "ljtua t|sewer" # Without "|" the output is "ልጅቷ ጸወር"
transliterated = Transliterate(text).transliterate()
print(transliterated)output
ልጅቷ ትሰወር
from fidel import Transliterate
text = "በጣም ጥሩ ሰው ነው።"
reversed = Transliterate(text, symbol=True).reverse_transliterate() # The default symbol value is True
print(reversed)output
betam xru sew new.
There are some rules that should be apply when writing a text.
- For 1st alphabets (ለግዕዝ) use "e" example: "le" - ለ
- For 2nd alphabets (ለካእብ) use "u" example: "lu" - ሉ
- For 3rd alphabets (ለሳልስ) use "i" example: "li" - ሊ
- For 4rh alphabets (ለራዕብ) use "a" example: "la" - ላ
- For 5th alphabets (ለሀምስ) use "ie" example: "lie" - ሌ
- For 6th alphabets (ለሳድስ) use only consonant example: "l" - ል
- For 7th alphabets (ለሳብዕ) use "o" example: "lo" - ሎ
- For 8th alphabets(ለዲቃላ ቃላት) use "ua" example: "ua" - ሏ
Note The above rules may be violated for some alphabets families. Check out ambiguous alphabets.
| ግዕዝ | ካእብ | ሳልስ | ራዕብ | ሀምስ | ሳድስ | ሳብዕ |
|---|---|---|---|---|---|---|
| ሀ | ሁ | ሂ | ሀ | ሄ | ህ | ሆ |
| ha | hu | hi | ha | hie | h | ho |
| አ | ኡ | ኢ | ኣ | ኤ | እ | ኦ |
| a | u | i | a | ie | e | o |
| ተ | ቱ | ቲ | ታ | ቴ | ት | ቶ |
| te | tu | ti | ta | tie | t | to |
| ጠ | ጡ | ጢ | ጣ | ጤ | ጥ | ጦ |
| xe | xu | xi | xa | xie | x | xo |
| ቸ | ቹ | ቺ | ቻ | ቼ | ች | ቾ |
| che | chu | chi | cha | chie | ch | cho |
| ጨ | ጩ | ጪ | ጫ | ጬ | ጭ | ጮ |
| ce | cu | ci | ca | cie | c | co |
| ጰ | ጱ | ጲ | ጳ | ጴ | ጵ | ጶ |
| phe | phu | phi | pha | phie | ph | pho |
| ፐ | ፑ | ፒ | ፓ | ፔ | ፕ | ፖ |
| pe | pu | pi | pa | pie | p | po |
Addition
| Alphabets | ሸ | ኘ | ዥ | ጸ |
|---|---|---|---|---|
| Prefix | sh | gn | zh | ts |