我们这里有一个问题。
我们需要将网站翻译成多种语言。 我们已经使用gettext来翻译静态内容。但我们必须用多种语言翻译一些文本内容。
ui不是问题。
我们找到了两种翻译文字的方法。 1.在我们的文本输入中使用JSON 为什么这个解决方案很糟糕每个文本输入都需要更大,因为我们无法猜测属性的实际大小。
使用保留对原始模型的引用的翻译表并翻译每个字段。它仍然需要大字段,因为我们无法通过记录来定义字段大小。
最后,我带来的最佳解决方案是创建一个翻译表。该表将保留其他表的外键。对于每个翻译,我们复制需要翻译的记录。在转换表内,有4个字段,model_name(主要),reference_id(主要),translated_id(主要),locale(主要)。该解决方案使得无法在同一语言中对同一模型进行多次翻译。
最后但并非最不重要的是,我们可以使用像某人提议的东西......数据库gettext。我们有一个包含字符串和只有字符串(键,文本,语言环境)的表,所以我们可以搜索一个模型,一个与模型中使用的字符串相同的字符串,然后使用我们找到的字符串。
我的观点是所有这些解决方案都是黑客攻击,4解决方案可能看起来更好。
由于我没有找到任何好的文件,我真的想让这个问题大放异彩。
答案 0 :(得分:1)
以下是我们处理多种语言的方式(我们也有专家看过这些解决方案!)。
它适用于我们,我们构建的网站每小时浏览量超过10万。