Я хочу внедрить интернационализацию / i18n в создаваемое мной приложение, но я хотел протестировать его, поскольку никогда не использовал его раньше.
Мой базовый c тестовый файл (translation.py) хранится в папке Translation со следующей структурой:
./Translation
/translation.py
/translation.pot
/locales
/de
/LC_MESSAGES
/translation.mo
/translation.po
Внутри 'translation.py' находится следующее:
import gettext
de = gettext.translation('translation', localedir='locales', languages=['de'])
de.install()
_ = de.gettext
#_ = gettext.text
locale_path = 'locales'
def print_some_strings():
print(_('Hello world!'))
print(_('This is hopefully going to translate!'))
print(_('Hooray!'))
if __name__ == '__main__':
print_some_strings()
Однако, когда я пытаюсь запустить его, я получаю следующую ошибку:
Traceback (most recent call last):
File "C:/Users/Jon_D/__/__/__/__/__/Translation/translation.py", line 3, in <module>
de = gettext.translation('translation', localedir='locales', languages=['de'])
File "C:\Users\Jon_D\AppData\Local\Programs\Python\Python38\lib\gettext.py", line 588, in translation
raise FileNotFoundError(ENOENT,
FileNotFoundError: [Errno 2] No translation file found for domain: 'translation'
Я в замешательстве, так как уверен, что все правильно выложил.