yahoi
Version:
Yet Another Highly Opinionated Isomorphic Framework
50 lines (41 loc) • 1.18 kB
JavaScript
;
var i18n = require('i18next');
var XHR = require('i18next-xhr-backend');
var LanguageDetector = require('i18next-browser-languagedetector');
var options = {
fallbackLng: 'en',
load: 'languageOnly', // we only provide en, de -> no region specific locals like en-US, de-DE
lng: 'en',
// have a common namespace used around the full app
debug: true,
saveMissing: true,
backend: {
load: ['en'],
loadPath: '/Translations/get?lng={{lng}}&ns={{ns}}',
addPath: '/Translations/add?lng={{lng}}&ns={{ns}}',
crossDomain: true,
allowMultiLoading: true
},
ns: ['translations'],
defaultNS: 'translations',
react: {
wait: true,
exposeNamespace: true
},
interpolation: {
escapeValue: false, // not needed for react!!
formatSeparator: ',',
format: function format(value, _format, lng) {
if (_format === 'uppercase') return value.toUpperCase();
return value;
}
}
};
// for browser use xhr backend to load translations and browser lng detector
if (process.browser) {
i18n.use(XHR)
// .use(Cache)
.use(LanguageDetector);
}
if (!i18n.isInitialized) i18n.init(options);
module.exports = i18n;