demarches-normaliennes/config/initializers/inflections.rb
2024-08-22 09:26:48 +02:00

59 lines
2.2 KiB
Ruby

# frozen_string_literal: true
# Be sure to restart your server when you modify this file.
# Add new inflection rules using the following format. Inflections
# are locale specific, and you may define rules for as many different
# locales as you wish. All of these examples are active by default:
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 )
inflect.acronym 'COJO'
inflect.acronym 'API'
inflect.acronym 'ASN1'
inflect.acronym 'IP'
inflect.acronym 'JSON'
inflect.acronym 'RNA'
inflect.acronym 'RNF'
inflect.acronym 'URL'
inflect.acronym 'SVA'
inflect.acronym 'SVR'
inflect.acronym 'FAQ'
inflect.acronym 'FAQs'
inflect.irregular 'type_de_champ', 'types_de_champ'
inflect.irregular 'type_de_champ_private', 'types_de_champ_private'
inflect.irregular 'procedure_revision_type_de_champ', 'procedure_revision_types_de_champ'
inflect.irregular 'revision_type_de_champ', 'revision_types_de_champ'
inflect.irregular 'revision_type_de_champ_public', 'revision_types_de_champ_public'
inflect.irregular 'revision_type_de_champ_private', 'revision_types_de_champ_private'
inflect.irregular 'assign_to', 'assign_tos'
inflect.uncountable(['avis', 'pays'])
end
# From https://github.com/davidcelis/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