@voerkai18n/cli
Version:
命令行工具,用来初始化/提取/编译/自动翻译等工具链
33 lines (28 loc) • 866 B
JavaScript
/**
*
* 生成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
}