Files
modernjs/chapter07/src/components/i18nform/i18n.js
T
2018-07-11 23:02:27 -03:00

38 lines
1.0 KiB
JavaScript

import i18n from "i18next";
import LanguageDetector from "i18next-browser-languagedetector";
import EN_TEXTS from "./translations.en.json";
import ES_TEXTS from "./translations.es.json";
i18n.use(LanguageDetector).init({
resources: {
en: { translations: EN_TEXTS },
es: { translations: ES_TEXTS }
},
fallbackLng: "en",
ns: ["translations"],
defaultNS: "translations",
debug: true,
interpolation: {
escapeValue: false,
format: function(value, format, lang = i18n.language) {
if (format === "AS_DATE") {
try {
const dd = new Date(value);
return new Intl.DateTimeFormat(lang).format(
new Date(
dd.getTime() + dd.getTimezoneOffset() * 60000
)
);
} catch (e) {
return "???";
}
} else {
return value;
}
}
}
});
export default i18n;