【问题标题】:How to specify type of argument passed to translation如何指定传递给翻译的参数类型
【发布时间】:2019-04-26 11:13:45
【问题描述】:

我正在使用 rails 5 编写一个多语言网站。我正在一些 yml 文件中编写翻译,它的工作原理就像一个魅力。但我想知道,是否有一个选项可以将我传递的参数转换为翻译?

我会更好地解释自己:

我有这个翻译:

quantity: "%{quantity}g"

我可以使用I18n.t(:quantity, {quantity: 1.23}) 在控制器或视图上调用它(例如,1.23 是动态的,我放在那里)。

现在,我得到了1.23g,但有没有办法使用 yml 语法来代替打印 1g(我不知道,转​​换为 int、trouncing 或 rounding)而不接触调用或创建帮助器?

谢谢。

【问题讨论】:

    标签: ruby-on-rails yaml


    【解决方案1】:

    您可以在 yml 文件中使用 ERB:

    quantity: "%{<%= quantity.to_i %>}g"
    

    无论如何,使用帮助器可能是一个更好的主意,因为这是一个演示问题,从语言环境文件中提取逻辑。

    【讨论】:

    • 谢谢,但它不起作用。但是,我会按照您的建议使用帮助程序,而不是在翻译中编写“真实代码”。我希望有更像 python pyformat 语法的东西
    • 哦,对不起。我没有测试它。 +1 使用助手 ;-)
    猜你喜欢
    • 2021-09-14
    • 2012-02-14
    • 1970-01-01
    • 2014-04-14
    • 2018-09-17
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多