@awesome-fe/translate
Version:
Translation utils
52 lines • 2.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.handler = exports.builder = exports.describe = exports.command = void 0;
const globby_1 = require("globby");
const get_exporter_for_1 = require("../../exporter/get-exporter-for");
const subtitle_translator_1 = require("../../translator/subtitle-translator");
exports.command = `export <sourceGlobs...>`;
exports.describe = '把成果物导出为指定的格式';
exports.builder = {
sourceGlobs: {
description: '文件通配符,不同的扩展名导出方式不同。注意:要包含在引号里,参见 https://github.com/isaacs/node-glob#glob-primer',
},
cwd: {
description: '源文件的基础路径,用于从文件名计算出相对路径,以便计算出相对路径,与 outputDir 一起使用',
default: '.',
},
outputDir: {
description: '结果要输出到的目录',
// 默认写回原地
default: '.',
},
format: {
description: '把结果输出成指定的格式,目前只支持写回原有格式',
type: 'string',
choices: ['auto', 'markdown', 'html'],
default: 'auto',
},
maxVisualLength: {
description: '最大可视长度,超过这个长度的文本会被截断(适用于字幕文件)',
type: 'number',
default: subtitle_translator_1.MAX_VISUAL_LENGTH,
},
mono: {
description: '结果中只包含中文,即只生成单一格式而非对照格式(但对字幕文件永远为 true)',
type: 'boolean',
default: false,
},
};
const handler = function (params) {
const filenames = (0, globby_1.sync)(params.sourceGlobs);
if (filenames.length === 0) {
console.error('没有找到任何文件,请检查 sourceGlobs 是否正确!');
return;
}
for (const filename of filenames) {
console.log('Exporting: ', filename);
const marker = (0, get_exporter_for_1.getExporterFor)(filename);
marker.exportFile(filename, params);
}
};
exports.handler = handler;
//# sourceMappingURL=export.js.map