Tôi có một trang web được viết bằng tiếng Hà Lan. Bây giờ tôi phải cung cấp một ngôn ngữ thứ hai cho trang web đó là tiếng Pháp.Django: ngôn ngữ mặc định i18n
Vì vậy, tôi đã bao quanh tất cả văn bản cần được dịch bằng hàm gettext, tạo tệp po và biên dịch chúng thành tệp mo. Tôi cũng đã tạo một khung nhìn đặt phiên django_language thành mã ngôn ngữ thích hợp. Vì vậy, bây giờ phiên bản tiếng Pháp đang làm việc nhưng tôi không thể chuyển về phiên bản dutch.
Vì vậy, tôi đã tự hỏi tôi có cần tạo một tệp po/mo cho phiên bản tiếng Hà Lan không? Văn bản đang được chuyển sang gettext đã có sẵn bằng tiếng Hà Lan. Có cách nào để nói sử dụng 'văn bản mặc định' không?
Đây là quan điểm tôi sử dụng để thêm mã ngôn ngữ để phiên của tôi:
class LanguagePickerView(RedirectView):
url = '/'
def get(self,request,*args, **kwargs):
request.session['django_language'] = self.kwargs.get('language')
return super(LanguagePickerView, self).get(request, args, kwargs)
Trong mẫu của tôi, tôi sử dụng các url sau: chuỗi ngôn ngữ
<a href='{% url web-language 'nl-nl' %}'>NL</a>
<a href='{% url web-language 'fr' %}'>fr</a>
Tôi nghĩ rằng bạn không thể chuyển sang Hà Lan trở lại không có gì để làm với các tập tin địa phương của bạn, nhưng với cách bạn thay đổi ngôn ngữ (xem, middleware)? Bạn có thể cung cấp thêm một số chi tiết về điều đó không? Và về câu hỏi của bạn: không, bạn không cần cung cấp các tệp địa phương cho ngôn ngữ bạn đã viết các chuỗi có thể dịch được. –
Tôi đang sử dụng django.middleware.locale.LocaleMiddleware. Tôi sẽ thêm chế độ xem thay đổi phiên cho câu hỏi của tôi. – Pickels