Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用转换I18n的rails复选框值_Ruby On Rails_Forms_Checkbox_Rails I18n - Fatal编程技术网

Ruby on rails 使用转换I18n的rails复选框值

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

我只是想知道,当以一种非常简单的形式使用复选框时,我应该如何在rails中实现国际化; 这就是我所尝试的:

视图/表单文件:

…一切都好

YML文件正常。非常感谢。

例如,在config/application.rb中,您必须有一行config.i18n.default\u locale=:es:es代表西班牙语

yml必须是这样的:

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"