diff options
| author | Acid Chicken (硫酸鶏) <root@acid-chicken.com> | 2019-02-19 04:04:05 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-02-19 04:04:05 +0900 |
| commit | 6279ce8f227e6338e3d6485c6511d81a4feb2fe4 (patch) | |
| tree | 15802a4268eb142a3e0f876c2a1a15a55543a9e6 | |
| parent | New Crowdin translations (#4254) (diff) | |
| download | misskey-6279ce8f227e6338e3d6485c6511d81a4feb2fe4.tar.gz misskey-6279ce8f227e6338e3d6485c6511d81a4feb2fe4.tar.bz2 misskey-6279ce8f227e6338e3d6485c6511d81a4feb2fe4.zip | |
Add fallback for locales (#4109)
* Update index.js
* Update index.js
| -rw-r--r-- | locales/index.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/locales/index.js b/locales/index.js index 96a1af38b1..9642b400a4 100644 --- a/locales/index.js +++ b/locales/index.js @@ -8,6 +8,19 @@ const yaml = require('js-yaml'); const langs = ['de-DE', 'en-US', 'fr-FR', 'ja-JP', 'ja-KS', 'pl-PL', 'es-ES', 'nl-NL', 'zh-CN', 'ko-KR']; const loadLocale = lang => yaml.safeLoad(fs.readFileSync(`${__dirname}/${lang}.yml`, 'utf-8')); -const locales = langs.map(lang => ({ [lang]: loadLocale(lang) })); +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, { + (lang.startsWith('ja-') ? {} : ...locales['en-US']), + ...locales['ja-JP'], + ...locale + }]; + } + }) + .map(([lang, locale]) => ({ [lang]: loadLocale(lang) })); module.exports = locales.reduce((a, b) => ({ ...a, ...b })); |