Ruby on rails 3 rails3i18n方法

Ruby on rails 3 rails3i18n方法,ruby-on-rails-3,internationalization,Ruby On Rails 3,Internationalization,我是Rails新手,需要在应用程序中实现国际化。 到目前为止,我浏览了r18n rails、globalize3和gettext_i18n_rails 我必须国际化模板文本以及一些DB数据(例如一些类别) 我喜欢gettext_i18n_rails处理文本模板的方式,但它没有为DB数据提供任何解决方案(或者是这样吗?)。从另一方面看,r18n rails和globalize3似乎可以处理DB数据,但不能处理模板。起初我想把它们结合起来(globalize或r18n+gettext_i18n_ra

我是Rails新手,需要在应用程序中实现国际化。 到目前为止,我浏览了r18n rails、globalize3和gettext_i18n_rails

我必须国际化模板文本以及一些DB数据(例如一些类别)

我喜欢gettext_i18n_rails处理文本模板的方式,但它没有为DB数据提供任何解决方案(或者是这样吗?)。从另一方面看,r18n rails和globalize3似乎可以处理DB数据,但不能处理模板。起初我想把它们结合起来(globalize或r18n+gettext_i18n_rails),但这可能不是一个好主意,特别是如果这是一个大项目的话

所以我的问题是:


考虑到模板文本+数据库文本+项目大小,Rails 3的最佳I18n方法是什么?

Rails 3中的最佳方法是使用内置机制。 我不确定我是否理解您对DB数据的问题。如果在数据库中定义类别,只需向其添加i18n键,然后在模型中返回翻译后的标题

e、 g

然后可以使用translated_title方法显示类别的标题

如果您对Rails中的I18n有更多疑问,我们刚刚在博客上发布了一系列内容:

  • 国际化与本土化的定义
  • i18n机制在Rails中的工作原理
  • 关于i18n机制的设置/配置
  • 使用带插值的I18n
  • 将I18n与多元化结合使用

  • 时间/日期本地化
  • 使用视图进行翻译
  • 转换ActiveRecord错误
  • 资源文件的组织
  • 从域名设置区域设置
  • 从URL参数设置区域设置

如果你正在对现有的Rails应用程序进行国际化,你应该考虑使用(h)EbGoBbLeBER,从你的Erb文件中提取所有文本到你选择的I18N系统中。不幸的是,链接已经死了。
class Category
  # with a column that holds the i18n_lookup_key (maybe you think of a better name)
  ...

  def translated_title
    I18n.translate(i18n_lookup_key)
  end

end