gpt4 book ai didi

ruby-on-rails - 在rails国际化yml文件中传递变量

转载 作者:行者123 更新时间:2023-12-03 07:48:47 24 4
gpt4 key购买 nike

我想使用 yml 文件中声明的变量。例如,我声明了 site_name 并希望在下面的 description 中使用它。

en:
site_name: &site_name "Site Name"
static_pages:
company:
description: *site_name #this works fine
description: "#{*site_name} is an online system" #this doesn't work

如何将 *site_name 变量与附加文本结合起来?

最佳答案

简短的回答是,我相信,不,你不能按照你想要的方式使用 an alias 在 YAML 中进行字符串插值。 .

就您而言,我要做的就是在我的区域设置文件中包含类似以下内容:

en:
site_name: "Site Name"
static_pages:
company:
description: ! '%{site_name} is an online system'

然后以站点名称作为参数调用适当的 View :

t('.description', site_name: t('site_name'))

这会让您“站点名称是一个在线系统”

但是,如果您迫切希望在 YAML 文件中使用别名将字符串连接在一起,则以下完全不推荐代码也可以通过让字符串成为数组的两个元素来工作: p>

en:
site_name: &site_name "Site Name"
static_pages:
company:
description:
- *site_name
- "is an online system"

然后您将在适当的 View 中加入数组,如下所示:

t('.description').join(" ")

这也会让您“站点名称是一个在线系统”

但是,在您决定走这条路之前,除了 @felipeclopes 链接到的问题之外,请看一下:

  • this StackOverflow answer关于连接 i18n 字符串(tl;dr,为了您的翻译团队,请不要这样做)。
  • StackOverflow 问题 herehere与您的问题类似。

关于ruby-on-rails - 在rails国际化yml文件中传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13055753/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com