Estoy construyendo un multi-idiomas griales sitio web y que necesita para obtener el sufijo ordinal de un número para varios idiomas como Inglés, Francés , Español, alemán e italiano¿Cómo obtener el sufijo ordinal de un número para muchos idiomas en Java o Groovy
Creo que este problema es bastante común para los propietarios de sitios web de varios idiomas. He encontrado this article que proporciona una solución, pero solo en inglés.
Por ejemplo:
/**
*@value number
*@locale Current locale
*@returns ordinal suffix for the given number
**/
public static String getOrdinalFor(int value, Locale locale)
dará los siguientes resultados:
assert getOrdinalFor(1, Locale.ENGLISH) == "st"
assert getOrdinalFor(1, Locale.FRENCH) == "er"
assert getOrdinalFor(2, Locale.ENGLISH) == "nd"
assert getOrdinalFor(3, Locale.ENGLISH) == "rd"
assert getOrdinalFor(4, Locale.ENGLISH) == "th"
assert getOrdinalFor(4, Locale.FRENCH) == "ème"
sabe usted una biblioteca (en Java o Groovy) que pueden ayudar a esto? ¿O conoces un algoritmo que lo implementa?
o "ersten" según la estructura de la oración – Thilo
Acepto que es complejo.Tal vez imposible para todos los idiomas. Pero para los idiomas occidentales como inglés, español, francés y alemán, estoy seguro de que es posible (y no tan difícil de implementar). Lo que es sorprendente es que no hay bibliotecas, AFAIK, que resuelvan en parte esta situación común ... – fabien7474
Sí, intenta eludir este requisito si puedes. De todos modos, para qué necesitas estos sufijos? una vez que superas el 1. °, 2. ° y 3. ° grado, ¿realmente necesitas otros? –