在 Rails 应用程序中,我有许多测量值以人类可读的形式显示,其中包括值和单位。有时单位字符串需要复数形式,如“1 分钟,2 分钟”,但有时不需要“1 公斤,2 公斤”。inflect.uncountable
我可以通过在 inflections.rb列表中添加“kg”来解决这个问题。但是,将 '%' 添加到列表中没有效果。我在控制台中确认 '%' 已添加到 @uncountables,但调用pluralize(90, '%')
仍然返回90 %s
。
我可以通过这样做来解决这个问题,inflect.irregular '%', '%'
但这似乎不是不规则的正确使用。
有什么我可以添加的东西,比如转义字符,让轨道识别不可数数组中的 '%' 吗?或者,有没有更好的方法来处理这个变化之外的问题?
作为参考,inflections.rb 现在看起来像
ActiveSupport::Inflector.inflections(:en) do |inflect|
# inflect.plural /^(ox)$/i, '\1en'
# inflect.singular /^(ox)en/i, '\1'
inflect.irregular '%', '%'
inflect.uncountable %w( bpm kg mL )
end