2013-01-07 99 views
0

我正在寻找一个本地化系统,以在我管理的rails 2.2.2应用程序中使用。我想我之前看过一个完全是我想要的,但我无法用谷歌找到它。Rails 2.2翻译插件/宝石

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

例如,假设我的网站提供音乐课程。在英国(默认区域),最后一个“击败”的音符被称为“crotchets”*,而在美国则被称为“四分音符”。所以,可能我有这个数据的教训:

#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 - 在这个例子中,我做了“四分音符”到“四分音符”的一个简单的字符串替换,这可能会吸引读者认为我只是需要一些一种简单的字符串替换的翻译。但情况并非如此 - 某些美国特有的名称/描述将与他们的英国名称/描述大不相同,因此需要完全可定制的面向我们的名称,说明等。

*这可能不完全是音乐真实的在所有情况下,但这超出了这个问题的范围:)

回答

1

我认为Globalize2可能是你本地化特定的数据解决方案后(我已经成功使用我的Rails 3.2应用Globalize3)。如果没有,那么希望Globalize2的Github repo README文件上的alternative solutions section将提供其他可以帮助您使用Rails 2.2的其他内容。祝你好运!

+0

正是我在找,谢谢Paul :)而且它似乎可以正常使用rails 2.2.2(我已经安装了i18n) –