Zend和Doctrine的多语言数据库应用程序

时间:2012-03-01 21:50:01

标签: zend-framework doctrine translate zend-translate

我在我的应用程序中使用Zend翻译。这适用于大多数事情,但是对于将在用户界面中看到的数据库存储值,我该怎么办。例如。用户必须从选择框中选择颜色。从数据库中填充选择框。例如,我希望西班牙用户看到'rojo'而不是'red'。

是否有公认的实现方法?

我最初的想法是(明智地谈论关系)一个名为colors的表可能与另一个叫做colourtranslations的表有一对多的关系。 colourtranslations中的每一行都包含一个颜色tbl中的行引用,一个区域设置和一个转换。然后我必须创建一个方法,为给定的语言环境创建一个翻译值列表(回退到原始值)。这是一种可行的方法吗?优点?缺点?

1 个答案:

答案 0 :(得分:0)

您应该只在选择中使用颜色ID:

<select name="colors">
    <option value="1">Red</option>
    <option value="2">Green</option>
    <option value="3">Blue</option>
</select>

这将允许您只翻译用户将看到的标签,而不是传递给服务器的信息。