gpt4 book ai didi

ruby-on-rails - 返回 : Localised Message String Variable Substitution

转载 作者:太空宇宙 更新时间:2023-11-03 18:01:51 25 4
gpt4 key购买 nike

我正在尝试找出最佳方法来替换我的 ruby​​ on rails 应用程序中本地化消息字符串中的多个变量/占位符。替换单个占位符时,我使用了令人满意的:

在 en.yml 中: url_borked:“无法加载 URL:$url。”在 View 中: t(:url_borked)["$url"] = request.url

但这不适用于多个占位符。它看起来很丑,而且实际上不起作用例如:

在 en.yml 中:

url_borked: "The URL: $url is badly formatted, perhaps you meant: $url_clean"

在 View 中:

(t(:url_borked)["$url"] = request.url)["url_clean") = @suggested_url

我尝试过使用 String::sub,但我对此并不满意,因为它很丑。例如:

(t(:url_borked).sub("$url", request.url).sub("url_clean", @suggested_url)

如果您想替换一个占位符的多个实例,它也不起作用。例如:

bad_url: "$url cannot be loaded, please try $url another time"

我也考虑过 printf 函数,但这不适用于本地化,因为占位符的相对位置会根据翻译而改变。

是否有正确的方法来替换此消息占位符?

谢谢。

最佳答案

为什么不:

t(:url_borked, :url=>request.url, :url_clean=>@suggested_url)

?

关于ruby-on-rails - 返回 : Localised Message String Variable Substitution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2361409/

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