Python/Django的数据库本地化(多语言)设计

Python/Django的数据库本地化(多语言)设计,python,database,django,localization,translation,Python,Database,Django,Localization,Translation,我目前正在创建一个应用程序,使用不同语言的人可以在上面访问信息。信息将是高度独特的,因此使用翻译工具是不够的。所有信息都需要使用不同的语言,当用户登录时,信息将根据其设置显示。现在,该应用程序基于Django和MySQL。我看到Django有一个本地化特性,但我不太理解它。这叫翻译机制还是什么?我不明白 撇开这一点不谈,我想知道解决这个问题的最佳方法是什么。目前还不知道不同语言的数量。因此,我不认为将每列的精确翻译存储在一个表中是一个好主意,即使这样可以在查询时节省时间。(无内部连接等) 1)

我目前正在创建一个应用程序,使用不同语言的人可以在上面访问信息。信息将是高度独特的,因此使用翻译工具是不够的。所有信息都需要使用不同的语言,当用户登录时,信息将根据其设置显示。现在,该应用程序基于Django和MySQL。我看到Django有一个本地化特性,但我不太理解它。这叫翻译机制还是什么?我不明白

撇开这一点不谈,我想知道解决这个问题的最佳方法是什么。目前还不知道不同语言的数量。因此,我不认为将每列的精确翻译存储在一个表中是一个好主意,即使这样可以在查询时节省时间。(无内部连接等)

1) 我应该研究Django本地化特性吗?到底是什么?[我真的不想将翻译存储到文件中。]

2) 什么样的数据库设计最适合多语言应用程序?我找到了那些:

  • 在同一个表中存储每个信息的翻译,在不同的列中附加_语言
人们通常如何解决这个问题?非常感谢


编辑:我不是特别想找一个这么好用的东西。主要是为了一些性能好,不会在我的数据库中造成巨大混乱的东西。。。这可能吗?

1)Django i18n机制用于允许静态文本的本地化—模板中的标签、字段名、错误消息—基本上是数据库中未存储的所有文本。这对数据库内容的翻译没有多大帮助

2) 我所看到的多语言django模型的每一项主要工作都使用以下方法之一:

  • 将modlename_lang列添加到同一个表中
  • 在一个表中存储共享字段,在另一个表中存储翻译
我建议您决定您更喜欢这些方法中的哪一种,只需使用文档最好的模型翻译应用程序来选择方法


如果你想学几门语言,我建议你采用第一种方法。另一方面,如果语言的数量越来越多,第二种方法可能更可行。

你看到了吗?我不是特别想找一种那么容易使用的方法。主要是为了一些性能好,不会在我的数据库中造成巨大混乱的东西。。。可能吗?