有没有办法用rails引用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!"
Is there a way to have my en.yml file contain a constant?
# 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!"
?
If not, is there a way to self reference the yaml file?
foo:
bar:
I love *baz* so much!
baz:
stackoverflow.com
I18n.t("foo.bar")
-> "I love stackoverflow.com so much!"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
I18N 字符串工具支持 插值:
然后在
en.yml:
只是不要尝试使用
%{default}
或%{scope}
作为字符串中的变量,I18n.translate
使用那些给其他人的 事物:这通常不适用于 YAML,但您的问题似乎专门针对翻译文件。
The I18N string tools support interpolation:
And then in the
en.yml
:Just don't try to use
%{default}
or%{scope}
as variables in your strings,I18n.translate
uses those for other things:This doesn't apply to YAML in general but your question seems to be specifically about the translation files.