ers*_*amy 3 ruby-on-rails internationalization ruby-on-rails-3
我正在尝试创建一个可翻译的成功通知.成功调用create和update动作将调用此通知.
这是我到目前为止:
#config/locales/en.yml
activerecord:
models:
place: "Place"
successful:
messages:
created: "%{model} was successfully created."
updated: "%{model} was successfully updated."
#app/controllers/places_controller.rb
def create
...
format.html { redirect_to(@place, :notice => "#{t 'activerecord.successful.messages.created'}") }
Run Code Online (Sandbox Code Playgroud)
问题是这显示消息:"%{model}已成功创建.".我该怎么说:"地方成功创造了."?
Chr*_*ley 10
你需要使用i18n的插值函数(参见http://guides.rubyonrails.org/i18n.html#interpolation)做类似的事情
t('activerecord.successful.messages.created', :model => @my_newly_saved_object.class.model_name.human)
Run Code Online (Sandbox Code Playgroud)
其中model_name返回所创建对象的类的名称(请参阅http://api.rubyonrails.org/classes/ActiveModel/Name.html).调用human此对象将返回模型名称的i18n转换(来自scope activerecord.models.{model_name})
| 归档时间: |
|
| 查看次数: |
2607 次 |
| 最近记录: |