seb*_*iop 1 ruby localization ruby-on-rails internationalization ruby-on-rails-3
我正在尝试将应用程序翻译成日语,一切顺利,直到我投入生产.
由于cache_classes现在为true,因此模型中的任何转换都将恢复为默认语言环境.
我知道我可能应该直接在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
Run Code Online (Sandbox Code Playgroud)
非常感谢
I18n.t()由于您要定义类变量而不是实例变量,因此在编译时会对您的调用进行求值.您需要将您的调用发送到I18n.t,它们将在运行时进行评估.
但是,如果要翻译ActiveRecord字段名称,请使用human_attribute_name并通过YML提供翻译.您无需手动提供翻译,Rails会自动为您处理.
相关文档位于http://guides.rubyonrails.org/i18n.html第5.1章.
| 归档时间: |
|
| 查看次数: |
3273 次 |
| 最近记录: |