Rails 2.2翻译插件/gem



我正在寻找一个本地化系统在我管理的rails 2.2.2应用程序中使用。我想我以前见过一个我想要的,但是我无法用谷歌找到它。

我心目中的系统工作方式如下:任何ActiveRecord模型(或者可能是指定模型的列表,例如在配置文件中列出)都可以有一个与之关联的翻译记录,它指定了一个语言环境和该记录中一个或多个字段的新值,用于列出的语言环境。请注意,这与i18n解决的问题是不同的:它是设置特定于语言环境的数据的一种方式,而不是设置特定于语言环境的字段名称或类似的"系统级"字符串。

例如,假设我的网站提供音乐课。在英国(默认的地区),最后一个"拍"的音符被称为"四分音符"*,而在美国,它们被称为"四分音符"。所以,我可能有一个教训,有这样的数据:

#a Lesson object, with an entry in the "lessons" table in the db
id: 1234
name: "My Lesson"
description: "In this lesson you'll learn about crotchets."

,我想要这个翻译记录与它相关联:

id: 1
translatable_type: "Lesson"
translatable_id: 1234
locale: "US"
data: {:description => "In this lesson you'll learn about quarter notes"}

现在,当我查看课程时,系统检查当前语言环境,并查看该课程是否有特定于当前语言环境的数据,如果有(描述),则显示该数据,而不是标准描述。

有人见过这样的系统吗?

谢谢,马克斯

PS -在这个例子中,我已经做了一个简单的字符串替换"crotchets"到"quarter notes",这可能会诱使读者认为我只需要某种简单的字符串替换翻译。但事实并非如此——一些美国特定的名称/描述将与他们的英国同行大不相同,因此需要一个完全可定制的面向美国的名称、描述等。

*这可能不是在所有情况下都是正确的,但这超出了这个问题的范围:)

我认为Globalize2可能是你所追求的特定于地区的数据解决方案(我已经成功地将Globalize3用于我的Rails 3.2应用程序)。如果没有,那么希望Globalize2的Github repo README文件中的替代解决方案部分将为您提供适用于Rails 2.2的其他解决方案。好运!

相关内容

  • 没有找到相关文章

最新更新