Một số cách để thực hiện điều này mà bạn cần lưu ý. Có thể cho rằng cách "tuân thủ tiêu chuẩn" nhất là sử dụng tiêu đề HTTP Accept-Language
, có sẵn để xem dưới dạng request.META['HTTP_ACCEPT_LANGUAGE']
để xác định ngôn ngữ mà người dùng muốn nhận tài nguyên và chỉ cần trả lại bản dịch là HttpResponse
bằng ngôn ngữ thích hợp.
Một cách phổ biến khác, dọc theo dòng của những gì bạn mô tả, là yêu cầu người dùng chọn ngôn ngữ khi đến lần đầu tiên và lưu trữ lựa chọn trong phiên. Khi người dùng đưa ra lựa chọn, hãy chuyển hướng trình duyệt đến thư mục con ngôn ngữ thích hợp và sử dụng các liên kết tương đối trong chế độ xem của bạn để không phải lo lắng về việc chuyển ngôn ngữ. Bạn có thể điều chỉnh URLconf của bạn để vượt qua một khóa ngôn ngữ để xem bạn như vậy:
urlpatterns = patterns('',
(r'^(?P<lang>[a-zA-Z]{2})/ ...
Có một Internationalization/Localization trang trên các trang web tài liệu Django về i18n có thể giúp bạn bắt đầu.
+1 cho việc sử dụng có liên quan của ¿:) –
http://stackoverflow.com/questions/13636604/django-i18n-default-language-without-path-prefixes –