import glob from 'fast-glob'; import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const files = await glob('src/data/**/*.json'); console.log(files); // 过滤en.json const enFiles = files.filter((file) => file.includes('en.json')); const zhFiles = files.filter((file) => file.includes('zh.json')); // console.log(enFiles); export const readFiles = (files: string[]) => { const data = files.map((file) => { const content = fs.readFileSync(file, 'utf-8'); return JSON.parse(content); }); return data; }; export const mergeFiles = (files: string[]) => { const data = readFiles(files); return data.reduce((acc, curr) => { return { ...acc, ...curr }; }, {}); }; const enData = mergeFiles(enFiles); const zhData = mergeFiles(zhFiles); // console.log(enData); // console.log(zhData); const outputZhFile = '../public/locales/zh/translation.json'; const outputEnFile = '../public/locales/en/translation.json'; fs.writeFileSync(path.resolve(__dirname, outputZhFile), JSON.stringify(zhData, null, 2)); fs.writeFileSync(path.resolve(__dirname, outputEnFile), JSON.stringify(enData, null, 2));