mirror of
https://github.com/lobehub/lobehub.git
synced 2026-03-27 13:29:15 +07:00
This commit introduces new localization paths, adds new localization files, adds new settings and descriptions, generates a table of contents, modifies file imports and exports, and defines types for localization resources. Changes: - Updated localization paths - Added new localization files - Added new settings and descriptions - Generated a table of contents - Modified file imports and exports - Defined types for localization resources
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
import { tocForResources } from 'i18next-resources-for-ts';
|
|
import fs from 'node:fs';
|
|
import { resolve } from 'node:path';
|
|
|
|
import i18nConfig from '../.i18nrc.js';
|
|
|
|
const locales = [i18nConfig.entryLocale, ...i18nConfig.outputLocales];
|
|
|
|
const RES_OUTPUT = 'src/locales/resources';
|
|
|
|
let index = '';
|
|
let indexObj = '';
|
|
locales.forEach((locale) => {
|
|
const files = fs
|
|
.readdirSync(resolve(i18nConfig.output, locale))
|
|
.filter((name) => name.includes('.json'));
|
|
index += `import ${locale} from "./${locale}";\n`;
|
|
indexObj += ` "${locale.replace('_', '-')}": ${locale},\n`;
|
|
const ns = [];
|
|
files.forEach((file) => {
|
|
ns.push({
|
|
name: file.replace('.json', ''),
|
|
path: resolve(i18nConfig.output, locale, file),
|
|
});
|
|
});
|
|
let toc = tocForResources(ns, resolve(RES_OUTPUT)).replaceAll('\\', '/');
|
|
if (locale === i18nConfig.entryLocale) {
|
|
toc = toc.replaceAll('.json', '').replaceAll('../../../locales/zh_CN', '../default');
|
|
}
|
|
fs.writeFileSync(resolve(RES_OUTPUT, `${locale}.ts`), toc);
|
|
});
|
|
|
|
fs.writeFileSync(
|
|
resolve(RES_OUTPUT, `index.ts`),
|
|
`${index}
|
|
|
|
export default {
|
|
${indexObj}};
|
|
`,
|
|
);
|