有没有办法用轨道引用yaml中的常量?

有没有办法让我的en.yml文件包含常量?

# en.yml foo: bar: I love BAZ so much! # initializers/constants.rb BAZ = "stackoverflow.com" I18n.t("foo.bar") -> "I love stackoverflow.com so much!" 

如果没有,有没有办法自我引用yaml文件?

 foo: bar: I love *baz* so much! baz: stackoverflow.com I18n.t("foo.bar") -> "I love stackoverflow.com so much!" 

I18N字符串工具支持插值 :

 I18n.t('foo.bar', :baz => 'stackoverflow.com') 

然后在en.yml

 foo: bar: I love %{baz} so much! 

只是不要尝试在字符串中使用%{default}%{scope}作为变量, I18n.translate将其用于其他内容:

如果转换使用:default:scope作为插值变量,则引发I18n::ReservedInterpolationKeyexception。

这一般不适用于YAML,但您的问题似乎是关于翻译文件。