UNPKG

i18n-auto-react

Version:

基于百度翻译API服务的自动翻译插件

43 lines (40 loc) 1.34 kB
import fs from 'fs'; import path from 'path'; import { p as prettierJs } from '../utils/index.js'; import { e as exportTpl } from '../utils/tpl.js'; import { l as logger } from '../utils/log.js'; class GenExport { config; params = {}; constructor(config) { this.config = config; } async genExportFile() { let { languages, output, __rootPath } = this.config; let imports = languages .map((name) => { let newName = name.replace('-', '_'); return `import ${newName} from './${name}';`; }) .join('\n'); let resources = languages .map((name) => { let _name = name.replace('-', '_'); return `extendLocale('${_name}', ${_name});`; }) .join('\n'); const file = exportTpl .replace('$import', imports) .replace('$resources', resources); let dirPath = output.dir; let ext = output.ext || 'js'; let curFilePath = path.resolve(__rootPath, dirPath, `index.${ext}`); let code = await prettierJs(file); fs.writeFileSync(curFilePath, code, { encoding: 'utf-8' }); } run() { this.genExportFile(); logger.info('\n生成导出文件成功!\n', 'green', true); } } export { GenExport as G };