@tenado/i18n-cli
Version:
i18n-cli是一个自动国际化脚本,通过执行命令,自动提取代码里面的中文,自动调用百度或谷歌翻译接口,自动将翻译结果以 key-value 形式存入*.json 语言包里
46 lines (45 loc) • 1.25 kB
JavaScript
const fs = require("fs");
const inquirer = require("inquirer");
const prettier = require("prettier");
const chalk = require("chalk");
const defaultConfig = require("./core/config.js");
// 初始化,生成基础的配置文件
module.exports = async () => {
// 判断默认配置是否存在
const configName = "i18n.config.js";
const defaultPath = `./${configName}`;
let isConfigExist = true;
try {
fs.accessSync(defaultPath);
} catch (e) {
isConfigExist = false;
}
// 如果默认配置存在,是否需要覆盖默认配置
if (isConfigExist) {
const ans = await inquirer.prompt([
{
name: "overwrite",
type: "confirm",
message: `配置文件${configName}已存在,是否覆盖?`,
},
]);
if (!ans.overwrite) process.exit(0);
}
const options = {
...defaultConfig,
};
let content = `module.exports = ${JSON.stringify(options)}`;
content = prettier.format(content, {
parser: "babel",
singleQuote: true,
trailingComma: "es5",
});
fs.writeFileSync(defaultPath, content, "utf8", (err) => {
if (err) {
console.log(chalk.red(err));
process.exit(2);
} else {
console.log(chalk.green("初始化成功~"));
}
});
};