import ICU from 'i18next-icu';
i18n
.use(ICU) // Enables datetime and currency formatting
.use(LanguageDetector)
.use(initReactI18next)
.init({
...
interpolation: {
format: (value, format, lng) => {
if (format === 'datetime') {
return new Intl.DateTimeFormat(lng).format(value);
}
if (format === 'currency') {
return new Intl.NumberFormat(lng, {
style: 'currency',
currency: lng === 'fr' ? 'EUR' : 'USD',
}).format(value);
}
return value;
},
}
});
In large apps, structure your translation files modularly: