ruby-on-rails – 带有翻译型号名称的Rails i18n
发布时间:2020-12-17 01:26:55 所属栏目:百科 来源:网络整理
导读:在我的应用程序中,我想翻译验证错误行:“3个错误禁止保存此订单”. 显然,这可以通用,以适应所有使用此转换的模型,因此在我的de.yml语言环境模板中,我得到了activerecord.errors.template.header,如下所示: activerecord: errors: template: header: one: "
在我的应用程序中,我想翻译验证错误行:“3个错误禁止保存此订单”.
显然,这可以通用,以适应所有使用此转换的模型,因此在我的de.yml语言环境模板中,我得到了activerecord.errors.template.header,如下所示: activerecord: errors: template: header: one: "Konnte %{model} nicht speichern: ein Fehler." other: "Konnte %{model} nicht speichern: %{count} Fehler." 现在问题是如何调用此验证而不重复自己.显然你可以通过以下方式调用: t('activerecord.errors.template.header',:count => @order.count,:model => Order) 但这不会翻译订单(订单在德语中称为Bestellung) 我可以继续通过在translate调用中再次调用translate来解决这个问题: t('activerecord.errors.template.header',:model => t('activerecord.models.#{Order}')) 但这确实是一个非常糟糕的解决方案,我很确定必须有一个内置的方法来做到这一点(因为通常有一种更简洁的方法来在Rails中做脏东西). 关于如何处理这样的翻译的推荐方法的任何指示将不胜感激. 解决方法
您是否尝试过以下方法,使用:model => Order.model_name.human而不是:model =>订购?
t('activerecord.errors.template.header',:model => Order.model_name.human ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |