Last active
March 19, 2023 17:21
-
-
Save guapolo/15b05d08cc8ff4dc89bfba1961380a16 to your computer and use it in GitHub Desktop.
Common inflections for Spanish MX for Ruby on Rails. Felxiones más comunes para español México para Ruby on Rails. es-MX
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# spec/locale/flexiones_es_mx_spec.rb | |
require 'rails_helper' | |
RSpec.describe :flexiones_es_mx do | |
contexto_singular_plural = { | |
"Sustantivos y adjetivos terminados en -ch forman el plural añadiendo -es" => [ | |
["sandwich", "sandwiches"], | |
["maquech", "maqueches"] | |
], | |
"Sustantivos y adjetivos terminados en consonantes distintas de -l, -r, -n, -d, -z, -j, -s, -x, -ch forman el plural añadiendo -s" => [ | |
["crac", "cracs"], | |
["mamut", "mamuts"], | |
["cómic", "cómics"], | |
["chip", "chips"] | |
], | |
"Sustantivos y adjetivos terminados en -l, -r, -n, -d, -z, -j. Si no van precedidas de otra consonante forman el plural añadiendo -es" => [ | |
["dócil", "dóciles"], | |
["color", "colores"], | |
["pan", "panes"], | |
["césped", "céspedes"], | |
["cáliz", "cálices"], | |
["reloj", "relojes"], | |
["píxel", "píxeles"], | |
["interfaz", "interfaces"], | |
["sij", "sijes"] | |
], | |
"Sustantivos y adjetivos terminados en -i o en -u tónicas forman el plural añadiendo -es" => [ | |
["bisturí", "bisturíes"], | |
["tabú", "tabúes"], | |
["hindú", "hindúes"], | |
["israelí", "israelíes"] | |
], | |
"Sustantivos y adjetivos terminados en vocal átona o en -e tónica forman el plural añadiendo -s" => [ | |
["papá", "papás"], | |
["sofá", "sofás"], | |
["buró", "burós"], | |
["rococó", "rococós"], | |
["dominó", "dominós"], | |
["casa", "casas"], | |
["estudiante", "estudiantes"], | |
["taxi", "taxis"], | |
["comité", "comités"], | |
["bebé", "bebés"] | |
], | |
"Sustantivos y adjetivos terminados en grupo consonántico forman el plural añadiendo -s" => [ | |
["gong", "gongs"], | |
["iceberg", "icebergs"], | |
["récord", "récords"] | |
], | |
"Sustantivos y adjetivos terminados en -y precedida de vocal forman el plural añadiendo -es" => [ | |
["ley", "leyes"], | |
["rey", "reyes"], | |
["buey", "bueyes"], | |
["convoy", "convoyes"] | |
], | |
"Sustantivos y adjetivos terminados en -s o en -x forman el plural añadiendo -es" => [ | |
["tos", "toses"], | |
["vals", "valses"], | |
["fax", "faxes"], | |
["compás", "compáses"] | |
], | |
"Voces extranjeras terminadas en -y precedida de consonante. Deben adaptarse gráficamente al español sustituyendo la -y por -i forman el plural añadiendo -s" => [ | |
["dandi", "dandis"], | |
["ferri", "ferris"] | |
] | |
} | |
describe 'Inflexiones generales para es-MX' do | |
contexto_singular_plural.each_pair do |contexto, sp | | |
context contexto do | |
sp.each do |singular_plural| | |
singular = singular_plural[0] | |
plural = singular_plural[1] | |
it "el singular de #{plural} es #{singular}" do | |
expect(plural.singularize(:"es-MX")).to eq singular | |
end | |
it "el plural de #{singular} es #{plural}" do | |
expect(singular.pluralize(:"es-MX")).to eq plural | |
end | |
end | |
end | |
end | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# config/inflections.rb | |
# Ruby on Rails inflections | |
# | |
# Common inflections for Spanish MX (es-MX). | |
# Flexiones más comunes para español México. | |
# | |
ActiveSupport::Inflector.inflections(:"es-MX") do |inflect| | |
############# Reglas generales | |
# | |
# De acuerdo a http://lema.rae.es/dpd/srv/search?id=Iwao8PGQ8D6QkHPn4i | |
# | |
# | |
# El orden de estas reglas importa, toma prescedencia la de más abajo | |
# | |
############## | |
# Voces extranjeras terminadas en -y precedida de consonante. Deben adaptarse gráficamente al español | |
# sustituyendo la -y por -i: dandi (del ingl. dandy); panti (del ingl. panty); ferri (del ingl. ferry). | |
# Su plural se forma, como el de las palabras españolas con esta terminación (→ a), añadiendo una -s: | |
# dandis, pantis, ferris. No son admisibles, por tanto, los plurales que conservan la -y del singular | |
# etimológico: dandys, pantys, ferrys. | |
# | |
inflect.singular /^(.+[bcdfghjklmnpqrstvwxyz]i)s$/i, '\1' | |
inflect.plural /^(.+[bcdfghjklmnpqrstvwxyz]i)$/i, '\1s' | |
# Sustantivos y adjetivos terminados en grupo consonántico. Procedentes todos ellos de otras lenguas, | |
# forman el plural con -s (salvo aquellos que terminan ya en -s, que siguen la regla general; → f): gong, pl. gongs; | |
# iceberg, pl. icebergs; récord, pl. récords. Se exceptúan de esta norma las voces compost, karst, test, trust y kibutz, | |
# que permanecen invariables en plural, pues la adición de una -s en estos casos daría lugar a una secuencia de difícil | |
# articulación en español. También son excepción los anglicismos lord y milord, cuyo plural asentado en español es lores y | |
# milores, respectivamente. | |
inflect.singular /^(.+[bdfghjklmnpqrtvwxyz][bcdfghjklmnpqrtvwxyz])s$/i, '\1' | |
inflect.plural /^(.+[bdfghjklmnpqrtvwxyz][bcdfghjklmnpqrtvwxyz])$/i, '\1s' | |
# Sustantivos y adjetivos terminados en vocal átona o en -e tónica. Forman el plural con -s: | |
# casas, estudiantes, taxis, planos, tribus, comités. | |
# | |
inflect.singular /^(.+[aeéiou])s$/i, '\1' | |
inflect.plural /^(.+[aeéiou])$/i, '\1s' | |
# Sustantivos y adjetivos terminados en -i o en -u tónicas. Admiten generalmente dos formas de plural, | |
# una con -es y otra con -s, aunque en la lengua culta suele preferirse la primera: bisturíes o bisturís, | |
# carmesíes o carmesís, tisúes o tisús, tabúes o tabús. En los gentilicios, aunque no se consideran | |
# incorrectos los plurales en -s, se utilizan casi exclusivamente en la lengua culta los plurales en -es: | |
# israelíes, marroquíes, hindúes, bantúes. | |
# Excepciones, o cuando la puerca tuerce el rabo: | |
# Por otra parte, hay voces, generalmente las procedentes de otras | |
# lenguas o las que pertenecen a registros coloquiales o populares, que solo forman el plural con -s: | |
# gachís, pirulís, popurrís, champús, menús, tutús, vermús. El plural del adverbio sí, cuando funciona | |
# como sustantivo, es síes, a diferencia de lo que ocurre con la nota musical si, cuyo plural es sis | |
# | |
inflect.singular /^(.+[íú])es$/i, '\1' | |
inflect.plural /^(.+[íú])$/i, '\1es' | |
# Sustantivos y adjetivos terminados en -a o en -o tónicas. Aunque durante algún tiempo vacilaron | |
# entre el plural en -s y el plural en -es, en la actualidad forman el plural únicamente con -s: | |
# papás, sofás, bajás, burós, rococós, dominós. | |
# | |
inflect.singular /^(.+[áó])s$/i, '\1' | |
inflect.plural /^(.+[áó])$/i, '\1s' | |
# Sustantivos y adjetivos terminados en -s o en -x. Si son monosílabos o polisílabos agudos, | |
# forman el plural añadiendo -es: tos, pl. toses; vals, pl. valses, fax, pl. faxes; compás, pl. compases; | |
# francés, pl. franceses. | |
# Excepciones, o cuando la puerca tuerce el rabo: | |
# En el resto de los casos, permanecen invariables: crisis, pl. crisis; tórax, | |
# pl. tórax; fórceps, pl. fórceps. | |
# Es excepción a esta regla la palabra dux, que, aun siendo monosílaba, es invariable en plural: los dux. | |
# También permanecen invariables los polisílabos agudos cuando se trata de voces compuestas cuyo segundo | |
# elemento es ya un plural: ciempiés, pl. ciempiés (no ciempieses); buscapiés, pl. buscapiés (no buscapieses), | |
# pasapurés, pl. pasapurés (no pasapureses). | |
# | |
inflect.singular /^(.+[xs])es$/i, '\1' | |
inflect.plural /^(.+[xs])$/i, '\1es' | |
# Sustantivos y adjetivos terminados en consonantes distintas de -l, -r, -n, -d, -z, -j, -s, -x, -ch. | |
# Se trate de onomatopeyas o de voces procedentes de otras lenguas, hacen el plural en -s: crac, | |
# pl. cracs; zigzag, pl. zigzags; esnob, pl. esnobs; chip, pl. chips; mamut, pl. mamuts; cómic, | |
# pl. cómics. Se exceptúa de esta regla la palabra club, que admite dos plurales, clubs y clubes (→ club). | |
# También son excepciones el arabismo imam (→ imán), cuyo plural asentado es imames, y el latinismo | |
# álbum (→ álbum), cuyo plural asentado es álbumes. | |
# | |
inflect.singular /^(.+[^c][bcfghkmpqtvwy])s$/i, '\1' | |
inflect.plural /^(.+[^c][bcfghkmpqtvwy])$/i, '\1s' | |
# Sustantivos y adjetivos terminados en -y precedida de vocal. Forman tradicionalmente su plural con -es: rey, pl. reyes; | |
# ley, pl. leyes; buey, pl. bueyes; ay, pl. ayes; convoy, pl. convoyes; bocoy, pl. bocoyes. | |
# Excepciones, o cuando la puerca tuerce el rabo: | |
# Sin embargo, los sustantivos y adjetivos con esta misma configuración que se han incorporado al uso más recientemente | |
# —en su mayoría palabras tomadas de otras lenguas— hacen su plural en -s. En ese caso, la y del singular mantiene en plural | |
# su carácter vocálico y, por lo tanto, debe pasar a escribirse i (→ i, 5b): gay, pl. gais; jersey, pl. jerséis; espray, pl. | |
# espráis; yóquey, pl. yoqueis. Pertenecen a la etapa de transición entre ambas normas y admiten, por ello, ambos plurales | |
# las palabras coy, pl. coyes o cois; estay, pl. estayes o estáis; noray, pl. norayes o noráis; guirigay, | |
# pl. guirigayes o guirigáis, con preferencia hoy por las formas con -s. | |
# | |
inflect.singular /^(.+[aáeéiíoóuú]y)es$/i, '\1' | |
inflect.plural /^(.+[aáeéiíoóuú]y)$/i, '\1es' | |
# Sustantivos y adjetivos terminados en -ch. Procedentes todos ellos de otras lenguas, o bien se mantienen | |
# invariables en plural: (los) crómlech, (los) zarévich, (los) pech, o bien hacen el plural en -es: | |
# sándwich, pl. sándwiches; maquech, pl. maqueches. | |
# | |
inflect.singular /^(.+ch)es$/i, '\1' | |
inflect.plural /^(.+ch)$/i, '\1es' | |
# Sustantivos y adjetivos terminados en -l, -r, -n, -d, -z, -j. Si no van precedidas de otra consonante (→ j), | |
# forman el plural con -es: dócil, pl. dóciles; color, pl. colores; pan, pl. panes; césped, pl. céspedes; | |
# cáliz, pl. cálices; reloj, pl. relojes. Los extranjerismos que terminen en estas consonantes deben seguir | |
# esta misma regla: píxel, pl. píxeles; máster, pl. másteres; pin, pl. pines; interfaz, pl. interfaces; sij, | |
# pl. sijes. Son excepción las palabras esdrújulas, que permanecen invariables en plural: polisíndeton, | |
# pl. (los) polisíndeton; trávelin, pl. (los) trávelin; cáterin, pl. (los) cáterin. | |
# Excepcionalmente, el plural de hipérbaton es hipérbatos. | |
# | |
inflect.singular /^(.+[aáeéiíoóuú])ces$/i, '\1z' | |
inflect.plural /^(.+[aáeéiíoóuú])z$/i, '\1ces' | |
inflect.singular /^(.+[aáeéiíoóuú][lrndj])es$/i, '\1' | |
inflect.plural /^(.+[aáeéiíoóuú][lrndj])$/i, '\1es' | |
# | |
# | |
############# Fin casos generales | |
############# Particularidades y excepciones a las reglas de arriba a partir de aquí ############# | |
# | |
# Para cambiar algún caso que caiga en las inflexiones de arriba, usar irregular con la sobreescritura de la inflexión. | |
# i.e. inflect.irregular 'color', 'colorx' | |
# | |
############# | |
# inflect.acronym 'ABC' | |
# ... etc. | |
end | |
ActiveSupport::Inflector.inflections(:en) do |inflect| | |
# inflect.acronym 'ABC' | |
# ... etc. | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Gracias, es uno de los mejores que encontre hasta ahora. Solo encontré este problema: