2

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

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

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

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

人们通常如何解决这个问题?非常感谢!

编辑:我并不是特别在寻找易于使用的东西。主要是为了一些高性能并且不会在我的数据库中造成巨大混乱的东西......这可能吗?

4

1 回答 1

2

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

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

  • 将 modelname_lang 列添加到同一个表中。
  • 将共享字段存储在一个表中,将翻译存储在另一个表中。

我建议您决定您更喜欢哪种方法,并为所选方法使用记录最好的模型翻译应用程序。

如果您要使用几种语言,那么我建议您采用第一种方法。另一方面,如果语言的数量越来越多,则第二种方法可能更可行。

于 2012-04-06T09:36:59.927 回答