Django

Quốc tế hóa trong Django

i18n, gettext, chuỗi dịch, locale middleware, phát hiện ngôn ngữ, tệp dịch

20 câu hỏi phỏng vấn·
Senior
1

Nên dùng hàm nào để đánh dấu một chuỗi là có thể dịch trong Django?

Câu trả lời

Hàm gettext, thường được import với bí danh _ (dấu gạch dưới), là phương pháp tiêu chuẩn để đánh dấu các chuỗi có thể dịch trong Django. Nó tra cứu bản dịch của chuỗi trong catalog thông điệp tương ứng với ngôn ngữ đang hoạt động và trả về phiên bản đã dịch nếu có.

2

Sự khác biệt giữa gettext() và gettext_lazy() trong Django là gì?

Câu trả lời

gettext_lazy() trả về một đối tượng proxy chỉ được đánh giá khi được chuyển thành chuỗi, điều này thiết yếu cho các bản dịch được định nghĩa ở cấp module (như trong models hoặc forms). gettext() đánh giá bản dịch ngay tại thời điểm gọi, gây vấn đề nếu ngôn ngữ chưa được xác định.

3

Middleware nào của Django chịu trách nhiệm kích hoạt ngôn ngữ cho mỗi request?

Câu trả lời

LocaleMiddleware kiểm tra request để xác định ngôn ngữ ưa thích của người dùng bằng cách kiểm tra nhiều nguồn: tiền tố URL, cookie, header Accept-Language của trình duyệt và thiết lập LANGUAGE_CODE. Sau đó nó kích hoạt ngôn ngữ tương ứng trong suốt thời gian xử lý request.

4

Lệnh Django nào trích xuất các chuỗi có thể dịch từ mã nguồn?

5

Lệnh nào biên dịch các tệp dịch .po thành tệp nhị phân .mo?

+17 câu hỏi phỏng vấn

Nắm vững Django cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí