Translatable – 使用 JSON 列的 Python ORM 无关国际化方案
Translatable 是一个 Python 库,提供与 ORM 无关的国际化(i18n)解决方案。它通过利用数据库中的 JSON 列来存储翻译内容,无需修改表结构或迁移现有代码,即可轻松为模型添加多语言支持。
背景速读
Translatable 是一个轻量级 Python 库,旨在解决 Web 应用中的多语言(i18n)问题。传统方案要么依赖特定 ORM(如 Django 或 SQLAlchemy 自带的翻译机制),要么需要额外创建分表,维护成本高。Translatable 的创新在于:它将所有翻译文本直接存储在同一张数据库表的一个 JSON 列中,而不是拆成单独的表或行。这样一来,开发者无需改变数据库结构,也不用绑定某个 ORM 框架——只需在模型字段上声明"可翻译",即可增删改查任意语言版本。这对需要快速上线多语言支持的中小型项目尤其实用,也反映了 Python 生态中"用 JSON 列替代复杂关系"的简化趋势。