1

我有一个类别集合,每个类别都有一个包含属性名称和单位的哈希数组,用于创建一个 inout 表单,以添加该类别的产品。

例如类别汽车字段 - {名称:长度,单位:毫米},{名称:重量,单位:公斤}。

问题是我希望这个网站是多语言的,因此需要存储每种语言的字段名称。

我可以将它们内联:

例如类别汽车字段 - {en-name : length, cn-name : ....., de-name : ....., unit : mm}

有没有更好的办法 ?

不确定这是否是最好的方法,因为我希望能够将需要翻译的名称文件传递给所有类别的所有字段名称的翻译器,所以以这种方式存储我必须抓取所有然后放入另一个文件翻译并插入新翻译的 naes 回来!!!

任何帮助或想法?

谢谢瑞克

4

2 回答 2

1

最好的方法是将翻译放在语言环境文件中(在 config/locales/ 中)。例如(英语语言环境):

en:
  categories:
    car:
      length: Length

然后在显示字段名称时类似:

I18n.t("categories.#{category.name}.#{field_name}")

这样,您可以只维护一个语言环境文件并将其他语言环境文件发送给翻译人员。

于 2010-06-30T14:27:03.273 回答
0

模型转换在 MongoDB 中相当容易。

这是一个使用自定义 MongoMapper 类型来透明地处理本地化的要点: https ://gist.github.com/828114

您的 LocalizedString 看起来像

name: {  
   en: '...',
   cn: '...',
   de: '...'
}

自定义类型只存储/返回当前 I18n.locale 的值

于 2011-02-17T01:02:30.667 回答