Un helper di Handlebars per stampare i suffissi ordinali in inglese o italiano
const suffissoItalianoMaschile = '°';
const suffissoItalianoFemminile = 'a';
// Definire i suffissi ordinali per inglese
const suffissiInglesi = {
1: 'st',
2: 'nd',
3: 'rd',
default: 'th'
};
// Helper per ottenere il suffisso ordinale in base alla lingua e al genere
Handlebars.registerHelper('ordinal', function(numero, lingua, genere) {
numero = parseInt(numero, 10); // Assicurati che numero sia un intero
if (lingua === 'it' || lingua === 'it-IT') {
if (genere === 'f') {
return numero + suffissoItalianoFemminile;
}
if (genere === 'm') {
return numero + suffissoItalianoMaschile;
}
}
if (lingua === 'en' || lingua === 'en-US') {
if (numero % 10 === 1 && numero % 100 !== 11) {
return numero + suffissiInglesi[1];
} else if (numero % 10 === 2 && numero % 100 !== 12) {
return numero + suffissiInglesi[2];
} else if (numero % 10 === 3 && numero % 100 !== 13) {
return numero + suffissiInglesi[3];
} else {
return numero + suffissiInglesi.default;
}
}
return numero;
});