Ruby on rails 使用转换I18n的rails复选框值
我只是想知道,当以一种非常简单的形式使用复选框时,我应该如何在rails中实现国际化; 这就是我所尝试的: 视图/表单文件: …一切都好 YML文件正常。非常感谢。例如,在config/application.rb中,您必须有一行config.i18n.default\u locale=:es:es代表西班牙语 yml必须是这样的:Ruby on rails 使用转换I18n的rails复选框值,ruby-on-rails,forms,checkbox,rails-i18n,Ruby On Rails,Forms,Checkbox,Rails I18n,我只是想知道,当以一种非常简单的形式使用复选框时,我应该如何在rails中实现国际化; 这就是我所尝试的: 视图/表单文件: …一切都好 YML文件正常。非常感谢。例如,在config/application.rb中,您必须有一行config.i18n.default\u locale=:es:es代表西班牙语 yml必须是这样的: es: submissions: 'yes': Si 'no': No 编辑:使是/否键显式显示字符串。它会起作用的 为什么??因为Rails
es:
submissions:
'yes': Si
'no': No
编辑:使是/否键显式显示字符串。它会起作用的
为什么??因为Rails使用gem进行yaml转换。和psych返回,使用所有这些值查看链接
然后,如果以这种方式定义区域设置:
es:
submissions:
yes: Si
no: No
在rails控制台上,您可以看到:
irb> I18n.t('submissions')
=> {true=>"Si",false=>"No"}
irb> I18n.t('submissions')[true]
=> "Si"
irb> I18n.t('submissions.true')
=> "translation missing: es.submissions.true"
当您在html页面中打印出I18n.t“submissions.yes”时,它是否有效elsewhere@ant,是的,它能工作。我想问题出在复选框选项/syntax中,这是对的,即使你没有回答这个问题。@embasbm:我回答为什么你必须在locales文件中使用带有yes/no、on/off和true/false键的字符串。
es:
submissions:
yes: Si
no: No
irb> I18n.t('submissions')
=> {true=>"Si",false=>"No"}
irb> I18n.t('submissions')[true]
=> "Si"
irb> I18n.t('submissions.true')
=> "translation missing: es.submissions.true"