|
import pycountry |
|
|
|
iso_encoder = {"English":"eng", |
|
"French":"fra", |
|
"Moore": "mos"} |
|
|
|
iso_decoder = dict((v,k) for k,v in iso_encoder.items()) |
|
|
|
|
|
|
|
def encode_iso(lang:str)-> str: |
|
''' Takes the name of a language and returns its ISO-3 code. ''' |
|
return iso_encoder[lang] |
|
|
|
def decode_iso(iso:str)-> str: |
|
''' Takes an ISO-3 code and returns the name of the language. ''' |
|
|
|
if "-" in iso: |
|
iso, suffix = iso.split("-", 1) |
|
else: |
|
suffix = None |
|
|
|
name = pycountry.languages.get(alpha_3 = iso).name |
|
name = name.replace("Mossi", "Mooré").replace("Swahili (individual language)", "Swahili") |
|
|
|
if suffix is not None: |
|
name+= f" - {suffix}" |
|
|
|
return name |