简短的回答是,我相信,不,您不能按照您想要的方式在 YAML 中使用alias进行字符串插值。
在您的情况下,我要做的是在我的语言环境文件中包含以下内容:
en:
site_name: "Site Name"
static_pages:
company:
description: ! '%{site_name} is an online system'
然后以站点名称作为参数调用适当的视图:
t('.description', site_name: t('site_name'))
这会让你"Site Name is an online system"
。
但是,如果您迫切希望在 YAML 文件中使用别名将字符串连接在一起,则以下完全不推荐的代码也可以通过将字符串作为数组的两个元素来工作:
en:
site_name: &site_name "Site Name"
static_pages:
company:
description:
- *site_name
- "is an online system"
然后你会join
像这样在适当的视图中排列数组:
t('.description').join(" ")
这也会让你"Site Name is an online system"
。
但是,在您决定走这条路之前,除了@felipeclopes 链接到的问题之外,请查看: