現在スペイン語のサービス開発を行っています。その中でスペイン語の複数形で少し困ったので対応メモです。
たとえばスペイン語では、事務所用建物は local comercial
ですが、これが複数形になると、local
と comercial
の両方が複数形になり locales comerciales
となります。
また、 local
の複数形は locals
ではなく locales
、comercial
も comercials
ではなく comerciales
です。
このような言語特有の複数形やイレギュラーは、Rails標準の pluralize
では正しく変換することができません。
"local comercial".pluralize #=> "local comercials"
このようなときは、 config/initializers/inflections.rb
に独自のルールを定義します。
# config/initializers/inflections.rb ActiveSupport::Inflector.inflections(:es) do |inflect| inflect.irregular 'local comercial', 'locales comerciales' end
String#pluralize
の引数として言語を渡すことができます。
"local comercial".pluralize(:es) #=> "locales comerciales"