2018-07-06 05:17:38 +02:00
|
|
|
/**
|
|
|
|
* Languages Loader
|
|
|
|
*/
|
|
|
|
|
|
|
|
const fs = require('fs');
|
|
|
|
const yaml = require('js-yaml');
|
|
|
|
|
2018-09-01 09:05:10 +02:00
|
|
|
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES'];
|
|
|
|
const nativeLang = 'ja-JP';
|
2018-07-06 05:17:38 +02:00
|
|
|
|
2018-09-01 09:05:10 +02:00
|
|
|
const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8'));
|
|
|
|
const nativeLocale = loadLocale(nativeLang);
|
|
|
|
const fallbackToNativeLocale = locale => Object.assign({}, nativeLocale, locale);
|
|
|
|
const makeLocale = lang => lang == nativeLang ? nativeLocale : fallbackToNativeLocale(loadLocale(lang));
|
|
|
|
const locales = langs.map(lang => ({ [lang]: makeLocale(lang) }));
|
2018-07-06 05:17:38 +02:00
|
|
|
|
2018-09-01 09:05:10 +02:00
|
|
|
module.exports = locales.reduce((a, b) => ({ ...a, ...b }));
|