Sign in
There are a total of 4 posts.
2026-01-13
本文介绍了在 Django 项目中,当同一字符串在不同语境下出现时导致的翻译冲突如何通过上下文标记(Contextual Marker)解决。通过在模板中使用 `{% translate "…" context "…" %}`,在 Python 代码中使用 `pgettext`、`pgettext_lazy`、`npgettext`,可在 .po 文件中添加 `msgctxt`,从而显著提升翻译质量与维护效率。
2026-01-05
本文阐明 Django 中 gettext 与 gettext_lazy 的区别,并提供何时使用即时翻译、何时使用懒惰翻译的实战规则。通过示例说明模块常量、模型字段、表单标签等场景下的翻译错误,并介绍 format_lazy、force_str 等工具,帮助你在 i18n 开发中避免常见混淆。
2026-04-20
本文深入分析了在Django开发中,将`gettext_lazy`对象误用作JSON键时引发的序列化错误。我们将探讨问题产生的根本原因,并提供多种实用的解决方案,包括使用`gettext`、强制进行`str()`类型转换,以及将翻译职责转移到客户端等策略,帮助开发者有效避免和解决此类常见陷阱。
2025-06-09
本文解释了Django中多语言支持的 get_language()与 request.LANGUAGE_CODE的使用方法与区别。