我们这里有个问题。
我们需要把一个网站翻译成多种语言。
我们已经使用getText来翻译静态内容。但是我们必须用多种语言翻译一些文本内容。
用户界面不是问题。
我们找到了两种翻译文本的方法。
1。在文本输入中使用JSON
为什么这个解决方案不好。每个文本输入都需要更大,因为我们无法猜测属性的实际大小。
-
使用一个转换表来保持对原始模型的引用并转换每个字段。它仍然需要大字段,因为我们不能按记录定义字段大小。
-
最后,我提出的最佳解决方案是创建一个翻译表。该表将保留其他表的外键。对于每个翻译,我们复制需要翻译的记录。在翻译表中,有4个字段:模型名称(主)、引用ID(主)、翻译ID(主)、区域设置(主)。这个解决方案使同一模型在同一语言中不可能有多个翻译。
-
最后但并非最不重要的是,我们可以使用像某人提议的…数据库gettext。我们有一个表,其中只包含字符串(键、文本、区域设置),因此我们可以搜索一个模型,一个与模型中使用的字符串相同的字符串,然后使用我们找到的。
我认为所有这些解决方案都是hack,4个解决方案可能是看起来更好的解决方案。
因为我没有找到任何好的文档,所以我真的想让这个问题变得更突出。