Tôi có cấu trúc sau:Python: Không có tập tin dịch tìm thấy cho miền sử dụng tùy chỉnh locale thư mục
/
|- main.py
|- brainz
| |- __init__.py
| |- Brainz.py
|- datas
|- locale
|- en_US
|- LC_MESSAGES
|- brainz.mo
|- brainz.po
Trong tôi __init__.py
có những dòng sau:
import locale
import gettext
import os
current_locale, encoding = locale.getdefaultlocale()
locale_path = '../datas/locale/' + current_locale + '/LC_MESSAGES/'
language = gettext.translation ('brainz', locale_path)
language.install()
Nhưng khi tôi cố gắng chạy chương trình của tôi tôi gặp lỗi này:
Traceback (most recent call last):
File "main.py", line 3, in <module>
from brainz.Brainz import *
File "/home/damien/BrainZ/brainz/__init__.py", line 11, in <module>
language = gettext.translation ('brainz', locale_path)
File "/usr/lib/python2.6/gettext.py", line 484, in translation
raise IOError(ENOENT, 'No translation file found for domain', domain)
IOError: [Errno 2] No translation file found for domain: 'brainz'
Tôi không hiểu con đường nào được mong đợi bởi gettext.translation
khi tôi cung cấp đường dẫn đầy đủ tới tệp .mo
.
Ai đó có thể giải thích cho tôi những gì tôi phải làm để tải các tệp dịch của mình một cách chính xác?
Cảm ơn,
Damien
thử locale_path thiết lập để đường dẫn đầy đủ ví dụ: locale_path = "/ home/xxx /" –
@ john misoskian Nó không hoạt động quá ... đối số miền (đối số thứ nhất của gettext.translation) được đặt thành 'brainz'. Tôi cho rằng đó là tham chiếu đến tên tệp (brainz.mo). Là nó ? –