Trong các mẫu Django, bạn có thể sử dụng {{ _("Hello World") }}
hoặc {% trans "Hello World" %}
để đánh dấu chuỗi được dịch. Trong tài liệu, cách tiếp cận "chính thức" có vẻ là thẻ {% trans %}
, nhưng cú pháp _()
được đề cập quá once._() hoặc {% trans%} trong các mẫu Django?
Cách các phương pháp này khác nhau (ngoại trừ cú pháp) và tại sao phải là một phương pháp thích hợp hơn là khác?
Một điểm khác biệt là bạn rõ ràng không thể sử dụng {% trans %}
bằng thẻ và bộ lọc. Nhưng điều đó có nghĩa là tôi chỉ có thể sử dụng _()
ở mọi nơi, chẳng hạn như {{ _("String") }}
? Nó hoạt động và trông sạch hơn và nhất quán hơn so với sử dụng {% trans "String" %}
với các chuỗi độc lập và _()
với các thẻ và bộ lọc.
+1 để truy cập nguồn để kiểm tra điều này. –