Tôi tiếp tục kết thúc bằng một danh mục trống trong JavaScript jsi18n của mình. Tôi đã thử tất cả các giải pháp trên StackOverflow bao gồm Empty catalog when internationalizing JavaScript code, nhưng danh mục vẫn còn trống.Danh mục dịch JavaScript rỗng của Django (i18n/jsi18n)
Thiết lập của tôi là thế này:
project_dir
- locale
- nl (contains LC_MESSAGES with django.po and djangojs.po)
- app1
- app2
- main_app
- settings.py
- urls.py
- wsgi.py
Trong settings.py Tôi có
# Where to find locale
LOCALE_PATHS = (
os.path.join(SITE_ROOT, 'locale'),
)
SITE_ROOT là đường dẫn tuyệt đối đến thư mục dự án của tôi, vì vậy đây dịch để
Trong url. py Tôi có
# i18n
js_info_dict = {
'domain': 'djangojs',
'packages': ('wrnpro',),
}
và
(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
như một phần của các url của tôi.
Nếu tôi chạy ứng dụng và gọi http://localhost:8000/jsi18n/
tôi nhận được
/* gettext library */
var catalog = new Array();
function pluralidx(count) { return (count == 1) ? 0 : 1; }
…
Cho đến nay tôi đã cố gắng mọi biến các thiết lập vv Tôi có thể tìm thấy, nhưng các cửa hàng vẫn trống.
Khi chạy make messages
và compile messages
chuỗi JavaScript của tôi nhận chuỗi văn bản được tìm thấy và dịch. Các tập tin django.po và .mo nằm trong thư mục locale.
Bất kỳ ai?
Không có đề xuất nào có vẻ hoạt động. Tôi để nó một mình trong một tuần hoặc lâu hơn, cài đặt một số cập nhật cho hầu như mọi thứ, và khi tôi ngồi xuống vào một buổi sáng thứ Sáu để cuối cùng thoát khỏi vấn đề này, nó đã tự sửa. Hoàn toàn kinh ngạc khi thấy rằng các bản dịch JavaScript hiện đang hoạt động và chúng đã hoạt động kể từ đó. Tôi không biết điều gì đã kích hoạt điều này. Thư mục locale của tôi vẫn ở cấp dự án. – dyve