Rosetta là thư viện của bên thứ ba cho django để chỉnh sửa các bản dịch bằng giao diện tương tự như trang quản trị Django. Nó giúp bạn dễ dàng chỉnh sửa các tệp .po và cập nhật các tệp dịch đã biên dịch tự động cho bạn.
Cài đặt Rosetta
- Cài đặt phụ thuộc
pip install django-rosetta
- Thêm
'rosetta'
vào INSTALLED_APPS của tệpsettings.py
trong dự án của bạn
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'shop',
'rosetta', # NEW
]
- Thêm URL của Rosetta vào cấu hình URL chính của dự án
urls.py
:
urlpatterns += i18n_patterns(
path('admin/', admin.site.urls),
path('', include('shop.urls')),
)
# new
if 'rosetta' in settings.INSTALLED_APPS:
urlpatterns += i18n_patterns(
path('rosetta/', include('rosetta.urls'))
)
Lưu ý: bạn có thể sử dụng bất kỳ thứ gì bạn muốn làm tiền tố URL.
Để gỡ cài đặt Rosetta, chỉ cần nhận xét hoặc xóa dòng'rosetta'
trongINSTALLED_APPS
- Đăng nhập với tư cách quản trị viên, sau đó điều hướng đến http://127.0.0.1:8000/rosetta/ trong trình duyệt của bạn.
Vì Rosetta yêu cầu quyền ghi vào một số tệp trong dự án Django của bạn, quyền truy cập vào ứng dụng bị hạn chế chỉ dành cho người dùng quản trị viên (như được định nghĩa trong giao diện Quản trị viên của dự án của bạn)
Nếu bạn muốn cấp quyền truy cập chỉnh sửa cho những người dùng khác:
- Tạo nhóm
translators
trong giao diện quản trị của bạn - Thêm người dùng bạn muốn cấp quyền dịch cho nhóm này
Bản dịch Rosetta
Theo mặc định, Rosetta ẩn các tệp danh mục của riêng mình trong giao diện chọn tệp (được hiển thị ở trên.), hoặc có thể Rosetta chưa có sẵn cho ngôn ngữ của bạn. Nếu bạn muốn dịch Rosetta sang ngôn ngữ của mình:
- Tạo một thư mục con cho ngôn ngữ của bạn bên trong thư mục
locale
của Rosettalocale
, ví dụ:rosetta/locale/XX/LC_MESSAGES
.
Trong đó, XX là ngôn ngữ của bạn.
Ví dụ, tôi sẽ tạo thư mụcvi/LC_MESSAGES
cho ngôn ngữ tiếng việt:- Xác định vị trí của thư mục
rosetta/locale
. Của tôi nó nằm ở:C:\Users\vanda\AppData\Local\Programs\Python\Python39\Lib\site-packages\rosetta\locale
- Tạo thư mục
vi/LC_MESSAGES
- Xác định vị trí của thư mục
- Mở thư mục
rosetta
trong Terminal và chạy lệnh:django-admin makemessages -l vi
- Dịch như bình thường
Xem thay đổi bản dịch bằng cách thay đổi mã ngôn ngữ trong url trình duyệt. ví dụ:
- Tiếng Anh:
http://127.0.0.1:8000/en/rosetta
- Tiếng Việt:
http://127.0.0.1:8000/vi/rosetta