6

Tôi đang trong quá trình I18N của trang web django.Dịch mô hình Django: lưu trữ bản dịch trong cơ sở dữ liệu hoặc sử dụng gettext?

tôi đã chọn hai khả năng tốt django-apps:

Từ quan điểm của bạn, những ưu và nhược điểm của hai kỹ thuật đó là gì?

Trả lời

6

Nếu bạn muốn cho phép người dùng ứng dụng của bạn (hoặc bên thứ ba dịch) dễ dàng cập nhật bản dịch mà không cần thay đổi mã thì hãy tìm một trong các giải pháp lưu trữ bản dịch trong cơ sở dữ liệu.

Nếu thay vào đó bạn muốn kiểm soát chất lượng tốt hơn (kiểm soát phiên bản, nhiều bộ mắt, v.v.), thì hãy sử dụng gettext. Bằng cách sử dụng gettext, bạn cũng có thể kiểm soát chuỗi nào bạn muốn dịch.

Chỉ cần 2c của tôi.

4

django-modeltranslation là cách tốt nhất để lưu trữ giá trị đã dịch. bạn sẽ đi đến django-admin và đặt giá trị dịch.

Nhưng nếu bạn đang sử dụng django-dbgettext, thì bạn không cần đặt bất kỳ giá trị nào vào django-admin, bạn có thể sử dụng rosetta cho điều đó. Nếu bạn không thể tìm bất kỳ giá trị nào để dịch và bạn muốn dịch, thì bạn có thể thực hiện nhập mô hình trong "* dbgettext_registration.py *" và chạy lệnh "python manage.py dbgettext_export" rồi "python manage. py compilemessages ".