【问题标题】:Database localization (multilingual) design for Python/DjangoPython/Django 的数据库本地化(多语言)设计
【发布时间】:2012-04-05 03:17:19
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

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

标签: python database django localization translation


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多