【发布时间】:2010-10-17 11:32:21
【问题描述】:
我们这里有问题。
我们需要将网站翻译成多种语言。 我们已经使用 gettext 来翻译静态内容。但是我们必须将一些文本内容翻译成多种语言。
用户界面不是问题。
我们找到了两种翻译文本的方法。 1. 在我们的文本输入中使用 JSON 为什么这个解决方案不好。每个文本输入都需要更大,因为我们无法猜测属性的实际大小。
使用保持对原始模型的引用并翻译每个字段的翻译表。它仍然需要大字段,因为我们无法按记录定义字段大小。
最后,我想到的最佳解决方案是创建一个转换表。该表将保留其他表的外键。对于每次翻译,我们都会复制需要翻译的记录。在翻译表中,有 4 个字段,model_name(primary)、reference_id(primary)、translated_id(primary)、locale(primary)。该解决方案使同一模型无法以同一语言进行多次翻译。
-
最后但并非最不重要的一点是,我们可以使用类似某人提议的东西...数据库 gettext。我们有一个包含字符串且仅包含字符串(键、文本、语言环境)的表,因此我们可以搜索模型,一个与模型中使用的字符串相同的字符串,然后使用我们找到的字符串。
我认为所有这些解决方案都是 hack,4 解决方案可能是看起来更好的解决方案。
由于我没有找到任何好的文档,我真的很想让这个问题大放异彩。
【问题讨论】:
标签: database localization