Sha256: c87fccc02c301a6e50ae330a5af73bbaa99e0eba9347d3f8a9579a3c398e21bd

Contents?: true

Size: 1.04 KB

Versions: 3

Compression:

Stored size: 1.04 KB

Contents

# encoding: utf-8
#
# These rules come from a port of ActiveSupport's Inflector to PHP:
# https://github.com/ICanBoogie/Inflector/blob/master/lib/inflections/fr.php

module Inflections
  ActiveSupport::Inflector.inflections(:fr) do |inflect|
    inflect.clear

    inflect.plural(/$/, 's')
    inflect.singular(/s$/, '')

    inflect.plural(/(bijou|caillou|chou|genou|hibou|joujou|pou|au|eu|eau)$/, '\1x')
    inflect.singular(/(bijou|caillou|chou|genou|hibou|joujou|pou|au|eu|eau)x$/, '\1')

    inflect.plural(/(bleu|émeu|landau|lieu|pneu|sarrau)$/, '\1s')
    inflect.plural(/al$/, 'aux')
    inflect.plural(/ail$/, 'ails')
    inflect.singular(/(journ|chev)aux$/, '\1al')
    inflect.singular(/ails$/, 'ail')

    inflect.plural(/(b|cor|ém|gemm|soupir|trav|vant|vitr)ail$/, '\1aux')
    inflect.singular(/(b|cor|ém|gemm|soupir|trav|vant|vitr)aux$/, '\1ail')

    inflect.plural(/(s|x|z)$/, '\1')

    inflect.irregular('monsieur', 'messieurs')
    inflect.irregular('madame', 'mesdames')
    inflect.irregular('mademoiselle', 'mesdemoiselles')
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
inflections-4.1.0 lib/inflections/fr.rb
inflections-4.0.1 lib/inflections/fr.rb
inflections-4.0.0 lib/inflections/fr.rb