【问题标题】:Rails 2.2 translation plugin/gemRails 2.2 翻译插件/宝石
【发布时间】:2012-12-21 02:25:15
【问题描述】:

我正在寻找在我管理的 rails 2.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 - 在这个例子中,我做了一个简单的字符串替换“crotchets”到“四分音符”,这可能会诱使读者认为我只需要某种简单的字符串替换翻译。但事实并非如此 - 一些特定于美国的名称/描述将与其英国同行完全不同,因此需要完全可定制的面向我们的名称、描述等。

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

【问题讨论】:

    标签: ruby-on-rails localization translation globalize2


    【解决方案1】:

    我认为Globalize2 可能是您所追求的特定于语言环境的数据解决方案(我已经成功地将Globalize3 用于我的Rails 3.2 应用程序)。如果没有,那么希望 Globalize2 的 Github 存储库 README 文件中的 alternative solutions section 将提供其他适用于 Rails 2.2 的内容。祝你好运!

    【讨论】:

    • 正是我想要的,谢谢 Paul :) 而且它似乎可以在 rails 2.2.2 上正常工作(我已经安装了 I18n)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多