【发布时间】:2017-12-17 07:13:16
【问题描述】:
我的应用的定价计划包含一些不受限制的功能。例如,在“Pro”版本中,您可以获得 10 个表格,而在“Unlimited”版本中,您可以获得无限表格。
这在计划模型中由整数或 Float::Infinity 表示。
pro = Plan.find_by name: 'Pro'
pro.forms_limit
#=> 10
unl = Plan.find_by name: 'Unlimited'
unl.forms_limit
#=> Float::INFINITY
在视图中:
= t('.forms', count: plan.forms_limit)
我正在尝试找到一种有效的方法来使用 I18n 进行插值。我想做的是:
plans:
index:
forms:
zero: No Forms
one: 1 Form
other: "%{count} Forms"
infinity: Unlimited Forms
这会起作用,但会导致不需要的输出,例如:
"Infinity Forms"
有没有办法构造这个,以便 Infinity 插入“Unlimited”而不是“Infinity”?
【问题讨论】:
-
在为插值
other: "%{count} Forms"提供字符串时需要使用引号。在 YAML 中,%(很少)用于向解释器提供特殊指令。 yaml.org/refcard.html -
谢谢,很好。这就是导致异常的原因。我改写了这个问题;我仍然想插入“无限”来代替“无限”。
标签: ruby-on-rails internationalization rails-i18n