使用导轨如何与不同的语言变化
我使用rails 6.1.4
,并且需要配置两种语言的拐点,但是当我尝试使用多元化时,该单词不应用多元化。
我需要以不同的语言应用不同的规则,但不起作用。
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.plural(/^(ox)$/i, '\1en')
inflect.singular(/^(ox)en/i, '\1')
inflect.irregular "person", "people"
inflect.uncountable %w[fish sheep]
end
ActiveSupport::Inflector.inflections(:"pt-BR") do |inflect|
inflect.plural(/$/, "s")
inflect.plural(/^([a-zA-z]*)a$/i, '\1as')
inflect.plural(/(s)$/i, '\1')
inflect.plural(/^(paí)s$/i, '\1ses')
inflect.plural(/(z|r)$/i, '\1es')
inflect.plural(/al$/i, "ais")
inflect.plural(/el$/i, "eis")
inflect.plural(/ol$/i, "ois")
inflect.plural(/ul$/i, "uis")
inflect.plural(/([^aeiou])l$/i, '\1is')
...
# Irregulares
inflect.irregular "país", "países"
end
当尝试应用多个
I using Rails 6.1.4
, and I need to configure inflections in 2 languages, but when I try to use pluralize, the word not apply pluralize.
I need apply different rules in different languages, but don't working.
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.plural(/^(ox)$/i, '\1en')
inflect.singular(/^(ox)en/i, '\1')
inflect.irregular "person", "people"
inflect.uncountable %w[fish sheep]
end
ActiveSupport::Inflector.inflections(:"pt-BR") do |inflect|
inflect.plural(/$/, "s")
inflect.plural(/^([a-zA-z]*)a$/i, '\1as')
inflect.plural(/(s)$/i, '\1')
inflect.plural(/^(paí)s$/i, '\1ses')
inflect.plural(/(z|r)$/i, '\1es')
inflect.plural(/al$/i, "ais")
inflect.plural(/el$/i, "eis")
inflect.plural(/ol$/i, "ois")
inflect.plural(/ul$/i, "uis")
inflect.plural(/([^aeiou])l$/i, '\1is')
...
# Irregulares
inflect.irregular "país", "países"
end
This is output when try apply pluralize
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请参阅该文档的文档,以获取 string#crint
如果要使用非英语复数化规则,则必须指定您的语言环境。
Please see the documentation for String#pluralize
You have to specify your locale if you want to use non-English pluralization rules.