ohayolibs
Version:
Ohayo is a set of essential modules for ohayojp.
47 lines (40 loc) • 1.56 kB
text/typescript
import * as fs from 'fs';
import * as path from 'path';
export const LANGS_CONFIG = [
{
langs: ['zh-Hans', 'zh-cn', 'zh-Hans-CN', 'zh'],
zorro: 'zh_CN',
ohayo: 'zh_CN',
fileName: 'zh-CN.json',
},
{
langs: ['zh-Hant', 'zh-tw', 'zh-Hant-TW'],
zorro: 'zh_TW',
ohayo: 'zh_TW',
fileName: 'zh-TW.json',
},
{ langs: ['en'], zorro: 'en_US', ohayo: 'en_US', fileName: 'en-US.json' },
{ langs: ['tr'], zorro: 'tr_TR', ohayo: 'tr_TR', fileName: 'tr-TR.json' },
{ langs: ['pl'], zorro: 'pl_PL', ohayo: 'pl_PL', fileName: 'pl-PL.json' },
{ langs: ['el'], zorro: 'el_GR', ohayo: 'el_GR', fileName: 'el-GR.json' },
{ langs: ['ko'], zorro: 'ko_KR', ohayo: 'ko_KR', fileName: 'ko-KR.json' },
{ langs: ['hr'], zorro: 'hr_HR', ohayo: 'hr_HR', fileName: 'hr-HR.json' },
{ langs: ['ja'], zorro: 'ja_JP', ohayo: 'ja_JP' },
{ langs: ['sl'], zorro: 'sl_SI', ohayo: 'sl_SI', fileName: 'sl-SI.json' },
];
export function getLangConfig(lang: string): any {
return LANGS_CONFIG.find(w => w.langs.includes(lang));
}
export function getLangData(lang: string): any {
let langCog = getLangConfig(lang);
if (!langCog || !langCog.fileName) {
langCog = getLangConfig('zh');
}
console.log(`Currently using translation files: ${langCog.fileName}`);
const langFilePath = path.join(__dirname, `../application/files/i18n/${langCog.fileName}`);
if (!fs.existsSync(langFilePath)) {
console.log(`No found language files`);
return null;
}
return JSON.parse(fs.readFileSync(langFilePath).toString('utf8')) || null;
}