2018-07-06 12:17:38 +09:00
|
|
|
/**
|
|
|
|
* Languages Loader
|
|
|
|
*/
|
|
|
|
|
|
|
|
const fs = require('fs');
|
|
|
|
const yaml = require('js-yaml');
|
|
|
|
|
2018-11-29 20:38:19 +09:00
|
|
|
const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN', 'ko-KR'];
|
2018-07-06 12:17:38 +09:00
|
|
|
|
2018-09-01 16:05:10 +09:00
|
|
|
const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8'));
|
2019-02-19 04:04:05 +09:00
|
|
|
const locales = langs
|
|
|
|
.map(lang => [lang, loadLocale(lang)])
|
|
|
|
.map(([lang, locale], _, locales) => {
|
|
|
|
switch (lang) {
|
|
|
|
case 'ja-JP': return [lang, locale];
|
|
|
|
case 'en-US': return [lang, { ...locales['ja-JP'], ...locale }];
|
|
|
|
default: return [lang, {
|
2019-02-19 05:17:36 +09:00
|
|
|
...(lang.startsWith('ja-') ? {} : locales['en-US']),
|
2019-02-19 04:04:05 +09:00
|
|
|
...locales['ja-JP'],
|
|
|
|
...locale
|
|
|
|
}];
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.map(([lang, locale]) => ({ [lang]: loadLocale(lang) }));
|
2018-07-06 12:17:38 +09:00
|
|
|
|
2018-09-01 16:05:10 +09:00
|
|
|
module.exports = locales.reduce((a, b) => ({ ...a, ...b }));
|