Мне нужно написать многоязычную программу, в которой пользователи могут указать свою страну и национальность на страницах своего профиля. Я могу получить список названий стран с помощью python и babel легко.
Например, чтобы получить название "немецкого" языка на словацком:
from babel import Locale
locale = Locale('de')
print(locale.get_language_name('sk')) # 'nemčina'
Можно получить названия стран очень похожим образом. Чтобы получить название «Венгрия» на немецком языке:
print(loc.territories["HU"]) # 'Ungarn'
Выбор имени человека по национальности является частью процесса интернационализации. Однако я не могу найти способ получить (локализованные) имена национальностей. Например, вот Мексика:
from babel import Locale
locale = Locale('en')
print(locale.territories["MX"]) # 'Mexico'
Национальное название "мексиканец". Он отличается от названия территории («Мексика»), а также от названия языка («Испанский sh»).
Может быть, babel нельзя использовать для определения (переведенных) названий национальностей? Есть ли библиотека, которая может быть использована для этого? Я также был бы счастлив с простой базой данных вместо библиотеки. Просто я не могу найти это. : - (