Ошибка получения текста «FileNotFoundError (ENOENT, FileNotFoundError: [Errno 2] Не найден файл перевода для домена:» - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу внедрить интернационализацию / 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'

Я в замешательстве, так как уверен, что все правильно выложил.

...