ruby-on-rails - 生产模型中的 Rails 3 翻译

标签 ruby-on-rails ruby ruby-on-rails-3 localization internationalization

我正在尝试将一个应用程序翻译成日语,在我将其投入生产之前一切都很顺利。

由于 cache_classes 现在为真,模型中的任何翻译都会恢复为默认语言环境。

我知道我可能应该直接在 yml 文件中定位翻译,但我不确定如何针对以下简化代码执行此操作:

class TimeseriesForecast < ActiveRecord::Base

  @@field_names = {
   :location_name => I18n.t('forecast_timeseries.location_name'),
   :local_date_time => I18n.t('forecast_timeseries.local_date_time'),
   :zulu_date_time => I18n.t('forecast_timeseries.zulu_date_time'),
   :temp_mean => I18n.t('forecast_timeseries.temp_mean')
  }

end

非常感谢

最佳答案

您的 I18n.t() 调用是在编译时评估的,因为您定义的是类变量,而不是实例变量。您需要调用 I18n.t,它们将在运行时进行评估。

但如果您想翻译 ActiveRecord 字段名称,请使用 human_attribute_name 并通过 YML 提供您的翻译。您无需手动提供翻译,Rails 会自动为您处理这一切。

相应的文档位于 http://guides.rubyonrails.org/i18n.html第5.1章。

关于ruby-on-rails - 生产模型中的 Rails 3 翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7924326/

相关文章:

ruby-on-rails - Spotify Omniauth

ruby-on-rails - Rails ActiveRecord 中的复合外键

ruby - Pow、RVM 和 ZSH 不能一起工作

ruby-on-rails-3 - 如何避免损坏的Arel查询归档RAM

ruby-on-rails - 乘客独立与 unicorn

ruby-on-rails-3 - 内部 REST API

ruby-on-rails - 如何将请求发送到 http ... 到 https?

ruby-on-rails - Rails "Show"路线

ruby - XPath 轴,获取所有后续节点直到

ruby - 关于 ruby 符号的问题