UNPKG

@voerkai18n/cli

Version:

命令行工具,用来初始化/提取/编译/自动翻译等工具链

33 lines (28 loc) 866 B
/** * * 生成IdMap文件 * */ const { t } = require("../../i18n"); const path = require("node:path"); const { writeFile } = require("flex-tools/fs/nodefs"); async function generateIdMap(allMessages){ const { langDir,tasks,langRelDir } = this let idSeq = 0 try{ tasks.add([t("生成IDMap文件: {}"),`${langRelDir}/messages/idMap.json`]) const idMapFile = path.join(langDir, "messages", "idMap.json") const idMap = {} for(let [ text,translated ] of Object.entries(allMessages)){ idMap[text] = translated.$id || ++idSeq } const content = JSON.stringify(idMap,null,4) await writeFile(idMapFile,content,{ encoding: "utf-8" }) tasks.complete() }catch(e){ tasks.error(e) } } module.exports = { generateIdMap }