td-web-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierignore +2 -0
- package/.prettierrc +7 -0
- package/dist/api/index.js +135 -0
- package/dist/api/interface.js +5 -0
- package/dist/index.js +67 -0
- package/dist/logs/20260123.txt +156 -0
- package/dist/logs/20260126.txt +5169 -0
- package/dist/modules/i18n/excel2json/index.js +302 -0
- package/dist/modules/i18n/extractEntry/index.js +3 -0
- package/dist/modules/i18n/index.js +71 -0
- package/dist/modules/i18n/json2excel/index.js +3 -0
- package/dist/modules/i18n/jsonMerge/index.js +3 -0
- package/dist/utils/index.js +240 -0
- package/package.json +29 -0
- package/src/api/index.ts +188 -0
- package/src/api/interface.ts +6 -0
- package/src/config/setting.json +47 -0
- package/src/index.ts +78 -0
- package/src/modules/i18n/excel2json/index.ts +380 -0
- package/src/modules/i18n/extractEntry/index.ts +3 -0
- package/src/modules/i18n/index.ts +78 -0
- package/src/modules/i18n/json2excel/index.ts +3 -0
- package/src/modules/i18n/jsonMerge/index.ts +3 -0
- package/src/utils/index.ts +352 -0
- package/tsconfig.json +12 -0
package/.prettierignore
ADDED
package/.prettierrc
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { normalizeError } from '../utils/index.js';
|
|
3
|
+
// GET 请求封装
|
|
4
|
+
export const getData = async (url, params = {}, headers = {}) => {
|
|
5
|
+
const res = await axios.get(url, { params, headers });
|
|
6
|
+
return res.data;
|
|
7
|
+
};
|
|
8
|
+
// POST 请求封装
|
|
9
|
+
export const postData = async (url, params, headers = {}) => {
|
|
10
|
+
const res = await axios.post(url, params, {
|
|
11
|
+
headers,
|
|
12
|
+
});
|
|
13
|
+
return res.data;
|
|
14
|
+
};
|
|
15
|
+
// 流式传输 POST 请求(带取消功能)
|
|
16
|
+
export const postStream = async (url, params, headers = {}, onData, onError, onComplete, signal) => {
|
|
17
|
+
const config = {
|
|
18
|
+
headers,
|
|
19
|
+
responseType: 'stream',
|
|
20
|
+
signal, // 添加 AbortSignal 支持
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
const response = await axios.post(url, params, config);
|
|
24
|
+
// 处理流数据
|
|
25
|
+
const stream = response.data;
|
|
26
|
+
let buffer = '';
|
|
27
|
+
// 监听 abort 事件
|
|
28
|
+
const onAbort = () => {
|
|
29
|
+
stream.destroy(new Error('请求已中止'));
|
|
30
|
+
};
|
|
31
|
+
signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', onAbort, { once: true });
|
|
32
|
+
stream.on('data', (chunk) => {
|
|
33
|
+
buffer += chunk.toString();
|
|
34
|
+
// 处理可能的多个消息在一个chunk中
|
|
35
|
+
const parts = buffer.split('\n');
|
|
36
|
+
buffer = parts.pop() || ''; // 保留未完成的部分
|
|
37
|
+
parts.forEach((part) => {
|
|
38
|
+
if (part.trim()) {
|
|
39
|
+
onData(part.trim());
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
stream.on('end', () => {
|
|
44
|
+
signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', onAbort);
|
|
45
|
+
if (buffer.trim()) {
|
|
46
|
+
onData(buffer.trim());
|
|
47
|
+
}
|
|
48
|
+
onComplete === null || onComplete === void 0 ? void 0 : onComplete();
|
|
49
|
+
});
|
|
50
|
+
stream.on('error', (err) => {
|
|
51
|
+
signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', onAbort);
|
|
52
|
+
// 如果是主动取消的请求,不触发 onError
|
|
53
|
+
if (err.message !== '请求已中止') {
|
|
54
|
+
onError === null || onError === void 0 ? void 0 : onError(err);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
// 如果是取消的请求,不触发 onError
|
|
60
|
+
if (!axios.isCancel(error)) {
|
|
61
|
+
onError === null || onError === void 0 ? void 0 : onError(normalizeError(error));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
// SSE 传输 POST 请求(带取消功能)
|
|
66
|
+
export const postSSE = async (url, params, headers = {}, onMessage, onError, signal) => {
|
|
67
|
+
const config = {
|
|
68
|
+
headers: {
|
|
69
|
+
...headers,
|
|
70
|
+
Accept: 'text/event-stream',
|
|
71
|
+
},
|
|
72
|
+
responseType: 'stream',
|
|
73
|
+
signal, // 添加 AbortSignal 支持
|
|
74
|
+
};
|
|
75
|
+
try {
|
|
76
|
+
const response = await axios.post(url, params, config);
|
|
77
|
+
const stream = response.data;
|
|
78
|
+
let buffer = '';
|
|
79
|
+
// 监听 abort 事件
|
|
80
|
+
const onAbort = () => {
|
|
81
|
+
stream.destroy(new Error('请求已中止'));
|
|
82
|
+
};
|
|
83
|
+
signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', onAbort, { once: true });
|
|
84
|
+
stream.on('data', (chunk) => {
|
|
85
|
+
buffer += chunk.toString();
|
|
86
|
+
// 处理SSE格式(以\n\n分隔的多个事件)
|
|
87
|
+
const events = buffer.split('\n\n');
|
|
88
|
+
buffer = events.pop() || '';
|
|
89
|
+
events.forEach((eventStr) => {
|
|
90
|
+
if (eventStr.trim()) {
|
|
91
|
+
const event = {};
|
|
92
|
+
eventStr.split('\n').forEach((line) => {
|
|
93
|
+
const sepIndex = line.indexOf(':');
|
|
94
|
+
if (sepIndex !== -1) {
|
|
95
|
+
const key = line.slice(0, sepIndex).trim();
|
|
96
|
+
// 注意 trimStart 保留 value 中的空格
|
|
97
|
+
event[key] = line.slice(sepIndex + 1).trimStart();
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
if (event.event || event.data) {
|
|
101
|
+
onMessage(event.event || 'message', event.data || '');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
stream.on('error', (err) => {
|
|
107
|
+
signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', onAbort);
|
|
108
|
+
// 如果是主动取消的请求,不触发 onError
|
|
109
|
+
if (err.message !== '请求已中止') {
|
|
110
|
+
onError === null || onError === void 0 ? void 0 : onError(err);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
stream.on('end', () => {
|
|
114
|
+
signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', onAbort);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
// 如果是取消的请求,不触发 onError
|
|
119
|
+
if (!axios.isCancel(error)) {
|
|
120
|
+
onError === null || onError === void 0 ? void 0 : onError(normalizeError(error));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
// PUT 请求封装
|
|
125
|
+
export const putData = async (url, params, headers = {}) => {
|
|
126
|
+
const res = await axios.put(url, params, {
|
|
127
|
+
headers,
|
|
128
|
+
});
|
|
129
|
+
return res.data;
|
|
130
|
+
};
|
|
131
|
+
// DELETE 请求封装
|
|
132
|
+
export const deleteData = async (url, params = {}, headers = {}) => {
|
|
133
|
+
const res = await axios.delete(url, { params, headers });
|
|
134
|
+
return res.data;
|
|
135
|
+
};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* CLI入口脚本
|
|
4
|
+
* 通过交互式选择执行不同模块功能
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
import { select, Separator } from '@inquirer/prompts';
|
|
8
|
+
import { i18n } from './modules/i18n/index.js';
|
|
9
|
+
import { logger, loggerError } from './utils/index.js';
|
|
10
|
+
const program = new Command();
|
|
11
|
+
/**
|
|
12
|
+
* 主程序入口函数
|
|
13
|
+
* 解析命令行参数,交互式选择模块并执行对应功能
|
|
14
|
+
*/
|
|
15
|
+
async function main() {
|
|
16
|
+
try {
|
|
17
|
+
logger.info('td-web-cli程序启动');
|
|
18
|
+
// 解析命令行参数
|
|
19
|
+
program.parse(process.argv);
|
|
20
|
+
logger.info(`命令行参数解析完成:${process.argv.slice(2).join(' ')}`);
|
|
21
|
+
// 定义可用模块选项
|
|
22
|
+
const moduleChoices = [
|
|
23
|
+
{
|
|
24
|
+
name: '国际化',
|
|
25
|
+
value: 'i18n',
|
|
26
|
+
description: '国际化相关功能',
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
// 交互式选择模块
|
|
30
|
+
const answer = await select({
|
|
31
|
+
message: '请选择要执行的模块:',
|
|
32
|
+
choices: [
|
|
33
|
+
...moduleChoices,
|
|
34
|
+
new Separator(), // 分割线,便于未来扩展更多模块
|
|
35
|
+
],
|
|
36
|
+
default: 'i18n', // 默认选项
|
|
37
|
+
pageSize: 10, // 最大显示选项数
|
|
38
|
+
loop: true, // 选项循环滚动
|
|
39
|
+
});
|
|
40
|
+
// 查找选择模块的名称,方便日志输出
|
|
41
|
+
const selectedModule = moduleChoices.find((item) => item.value === answer);
|
|
42
|
+
if (!selectedModule) {
|
|
43
|
+
logger.warn('未选择有效模块,程序已退出');
|
|
44
|
+
process.exit(0);
|
|
45
|
+
}
|
|
46
|
+
logger.info(`用户选择模块:${selectedModule.name}`);
|
|
47
|
+
// 根据选择执行对应模块
|
|
48
|
+
switch (answer) {
|
|
49
|
+
case 'i18n':
|
|
50
|
+
logger.info(`${selectedModule.name}模块开始执行`);
|
|
51
|
+
await i18n(program);
|
|
52
|
+
logger.info(`${selectedModule.name}模块执行完成`);
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
logger.warn(`${selectedModule.name}模块暂未实现,程序已退出`);
|
|
56
|
+
process.exit(0);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
// 记录错误日志,方便排查
|
|
61
|
+
loggerError(error, logger);
|
|
62
|
+
console.error('程序执行时发生异常,已记录日志,程序已退出');
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// 启动主程序
|
|
67
|
+
main();
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
[2026-01-23T09:43:09.200Z] [INFO] 【td-web-cli】程序启动
|
|
2
|
+
[2026-01-23T09:43:09.203Z] [INFO] 命令行参数解析完成:
|
|
3
|
+
[2026-01-23T09:43:14.428Z] [INFO] 用户选择模块:国际化
|
|
4
|
+
[2026-01-23T09:43:14.428Z] [INFO] 【国际化】模块开始执行
|
|
5
|
+
[2026-01-23T09:43:14.429Z] [INFO] 【国际化】模块启动,等待用户选择功能
|
|
6
|
+
[2026-01-23T09:43:23.602Z] [INFO] 用户选择功能:excel转json
|
|
7
|
+
[2026-01-23T09:43:23.603Z] [INFO] 【excel转json】功能开始执行
|
|
8
|
+
[2026-01-23T09:43:23.603Z] [INFO] 开始加载配置文件:D:\test\td-web-cli\src\config\setting.json
|
|
9
|
+
[2026-01-23T09:43:23.604Z] [INFO] 配置文件加载成功
|
|
10
|
+
[2026-01-23T09:43:38.073Z] [ERROR] 程序执行时发生错误:ExitPromptError: User force closed the prompt with SIGINT
|
|
11
|
+
at Interface.sigint (file:///D:/test/td-web-cli/node_modules/@inquirer/core/dist/lib/create-prompt.js:62:37)
|
|
12
|
+
at Interface.emit (node:events:518:28)
|
|
13
|
+
at [_ttyWrite] [as _ttyWrite] (node:internal/readline/interface:1125:18)
|
|
14
|
+
at ReadStream.onkeypress (node:internal/readline/interface:264:20)
|
|
15
|
+
at ReadStream.emit (node:events:530:35)
|
|
16
|
+
at emitKeys (node:internal/readline/utils:371:14)
|
|
17
|
+
at emitKeys.next (<anonymous>)
|
|
18
|
+
at ReadStream.onData (node:internal/readline/emitKeypressEvents:64:36)
|
|
19
|
+
at ReadStream.emit (node:events:518:28)
|
|
20
|
+
at addChunk (node:internal/streams/readable:561:12)
|
|
21
|
+
[2026-01-23T09:43:48.089Z] [INFO] 【td-web-cli】程序启动
|
|
22
|
+
[2026-01-23T09:43:48.091Z] [INFO] 命令行参数解析完成:
|
|
23
|
+
[2026-01-23T09:43:48.995Z] [INFO] 用户选择模块:国际化
|
|
24
|
+
[2026-01-23T09:43:48.996Z] [INFO] 【国际化】模块开始执行
|
|
25
|
+
[2026-01-23T09:43:48.996Z] [INFO] 【国际化】模块启动,等待用户选择功能
|
|
26
|
+
[2026-01-23T09:43:50.021Z] [INFO] 用户选择功能:excel转json
|
|
27
|
+
[2026-01-23T09:43:50.021Z] [INFO] 【excel转json】功能开始执行
|
|
28
|
+
[2026-01-23T09:43:50.022Z] [INFO] 开始加载配置文件:D:\test\td-web-cli\src\config\setting.json
|
|
29
|
+
[2026-01-23T09:43:50.023Z] [INFO] 配置文件加载成功
|
|
30
|
+
[2026-01-23T09:43:53.691Z] [INFO] 开始读取excel文件:d:\test\A9-V4-CTC01翻译词条-20251215.xlsx
|
|
31
|
+
[2026-01-23T09:43:53.813Z] [INFO] 开始解析表头
|
|
32
|
+
[2026-01-23T09:43:53.814Z] [INFO] 开始解析数据行
|
|
33
|
+
[2026-01-23T09:43:53.815Z] [INFO] 开始生成语言文件,输出目录:d:\test\lang_20260123174353
|
|
34
|
+
[2026-01-23T09:43:53.818Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\cn\translate.json
|
|
35
|
+
[2026-01-23T09:43:53.820Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\zh\translate.json
|
|
36
|
+
[2026-01-23T09:43:53.832Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\de\translate.json
|
|
37
|
+
[2026-01-23T09:43:53.833Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\es\translate.json
|
|
38
|
+
[2026-01-23T09:43:53.835Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\laes\translate.json
|
|
39
|
+
[2026-01-23T09:43:53.836Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\nl\translate.json
|
|
40
|
+
[2026-01-23T09:43:53.840Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\ko\translate.json
|
|
41
|
+
[2026-01-23T09:43:53.841Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\fr\translate.json
|
|
42
|
+
[2026-01-23T09:43:53.843Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\hu\translate.json
|
|
43
|
+
[2026-01-23T09:43:53.844Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\it\translate.json
|
|
44
|
+
[2026-01-23T09:43:53.845Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\pl\translate.json
|
|
45
|
+
[2026-01-23T09:43:53.846Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\ro\translate.json
|
|
46
|
+
[2026-01-23T09:43:53.848Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\tr\translate.json
|
|
47
|
+
[2026-01-23T09:43:53.850Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\ru\translate.json
|
|
48
|
+
[2026-01-23T09:43:53.851Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\brpt\translate.json
|
|
49
|
+
[2026-01-23T09:43:53.852Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\pt\translate.json
|
|
50
|
+
[2026-01-23T09:43:53.857Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\cs\translate.json
|
|
51
|
+
[2026-01-23T09:43:53.858Z] [INFO] 已生成语言文件:d:\test\lang_20260123174353\uk\translate.json
|
|
52
|
+
[2026-01-23T09:43:53.861Z] [INFO] 全部转换完成
|
|
53
|
+
[2026-01-23T09:43:53.863Z] [INFO] 【excel转json】功能执行完成
|
|
54
|
+
[2026-01-23T09:43:53.863Z] [INFO] 【国际化】模块执行完成
|
|
55
|
+
[2026-01-23T09:44:24.418Z] [INFO] 【td-web-cli】程序启动
|
|
56
|
+
[2026-01-23T09:44:24.420Z] [INFO] 命令行参数解析完成:
|
|
57
|
+
[2026-01-23T09:44:25.076Z] [INFO] 用户选择模块:国际化
|
|
58
|
+
[2026-01-23T09:44:25.076Z] [INFO] 【国际化】模块开始执行
|
|
59
|
+
[2026-01-23T09:44:25.076Z] [INFO] 【国际化】模块启动,等待用户选择功能
|
|
60
|
+
[2026-01-23T09:44:26.585Z] [INFO] 用户选择功能:excel转json
|
|
61
|
+
[2026-01-23T09:44:26.585Z] [INFO] 【excel转json】功能开始执行
|
|
62
|
+
[2026-01-23T09:44:26.586Z] [INFO] 开始加载配置文件:D:\test\td-web-cli\src\config\setting.json
|
|
63
|
+
[2026-01-23T09:44:26.587Z] [INFO] 配置文件加载成功
|
|
64
|
+
[2026-01-23T09:44:30.266Z] [INFO] 开始读取excel文件:d:\test\A9-V4-CTC01翻译词条-20251215.xlsx
|
|
65
|
+
[2026-01-23T09:44:30.353Z] [INFO] 开始解析表头
|
|
66
|
+
[2026-01-23T09:44:30.354Z] [INFO] 开始解析数据行
|
|
67
|
+
[2026-01-23T09:44:30.356Z] [INFO] 开始生成语言文件,输出目录:d:\test\lang_20260123174430
|
|
68
|
+
[2026-01-23T09:44:30.357Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\cn\translate.json
|
|
69
|
+
[2026-01-23T09:44:30.361Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\zh\translate.json
|
|
70
|
+
[2026-01-23T09:44:30.604Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\de\translate.json
|
|
71
|
+
[2026-01-23T09:44:30.606Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\es\translate.json
|
|
72
|
+
[2026-01-23T09:44:30.608Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\laes\translate.json
|
|
73
|
+
[2026-01-23T09:44:30.610Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\nl\translate.json
|
|
74
|
+
[2026-01-23T09:44:30.612Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\ko\translate.json
|
|
75
|
+
[2026-01-23T09:44:30.613Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\fr\translate.json
|
|
76
|
+
[2026-01-23T09:44:30.614Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\hu\translate.json
|
|
77
|
+
[2026-01-23T09:44:30.616Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\it\translate.json
|
|
78
|
+
[2026-01-23T09:44:30.617Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\pl\translate.json
|
|
79
|
+
[2026-01-23T09:44:30.619Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\ro\translate.json
|
|
80
|
+
[2026-01-23T09:44:30.620Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\tr\translate.json
|
|
81
|
+
[2026-01-23T09:44:30.621Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\ru\translate.json
|
|
82
|
+
[2026-01-23T09:44:30.623Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\brpt\translate.json
|
|
83
|
+
[2026-01-23T09:44:30.625Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\pt\translate.json
|
|
84
|
+
[2026-01-23T09:44:30.627Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\cs\translate.json
|
|
85
|
+
[2026-01-23T09:44:30.628Z] [INFO] 已生成语言文件:d:\test\lang_20260123174430\uk\translate.json
|
|
86
|
+
[2026-01-23T09:44:30.629Z] [INFO] 全部转换完成
|
|
87
|
+
[2026-01-23T09:44:30.629Z] [INFO] 【excel转json】功能执行完成
|
|
88
|
+
[2026-01-23T09:44:30.630Z] [INFO] 【国际化】模块执行完成
|
|
89
|
+
[2026-01-23T09:50:09.256Z] [INFO] 【td-web-cli】程序启动
|
|
90
|
+
[2026-01-23T09:50:09.259Z] [INFO] 命令行参数解析完成:
|
|
91
|
+
[2026-01-23T09:50:10.219Z] [INFO] 用户选择模块:国际化
|
|
92
|
+
[2026-01-23T09:50:10.220Z] [INFO] 【国际化】模块开始执行
|
|
93
|
+
[2026-01-23T09:50:10.220Z] [INFO] 【国际化】模块启动,等待用户选择功能
|
|
94
|
+
[2026-01-23T09:50:11.433Z] [INFO] 用户选择功能:excel转json
|
|
95
|
+
[2026-01-23T09:50:11.433Z] [INFO] 【excel转json】功能开始执行
|
|
96
|
+
[2026-01-23T09:50:11.434Z] [INFO] 开始加载配置文件:D:\test\td-web-cli\src\config\setting.json
|
|
97
|
+
[2026-01-23T09:50:11.434Z] [INFO] 配置文件加载成功
|
|
98
|
+
[2026-01-23T09:50:14.730Z] [INFO] 开始读取excel文件:d:\test\A9-V4-CTC01翻译词条-20251215.xlsx
|
|
99
|
+
[2026-01-23T09:50:14.811Z] [INFO] 开始解析表头
|
|
100
|
+
[2026-01-23T09:50:14.812Z] [INFO] 开始解析数据行
|
|
101
|
+
[2026-01-23T09:50:14.813Z] [INFO] 开始生成语言文件,输出目录:d:\test\lang_20260123175014
|
|
102
|
+
[2026-01-23T09:50:14.824Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\cn\translate.json
|
|
103
|
+
[2026-01-23T09:50:14.838Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\zh\translate.json
|
|
104
|
+
[2026-01-23T09:50:14.839Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\de\translate.json
|
|
105
|
+
[2026-01-23T09:50:14.840Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\es\translate.json
|
|
106
|
+
[2026-01-23T09:50:14.842Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\laes\translate.json
|
|
107
|
+
[2026-01-23T09:50:14.843Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\nl\translate.json
|
|
108
|
+
[2026-01-23T09:50:14.845Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\ko\translate.json
|
|
109
|
+
[2026-01-23T09:50:14.846Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\fr\translate.json
|
|
110
|
+
[2026-01-23T09:50:14.848Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\hu\translate.json
|
|
111
|
+
[2026-01-23T09:50:14.856Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\it\translate.json
|
|
112
|
+
[2026-01-23T09:50:14.858Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\pl\translate.json
|
|
113
|
+
[2026-01-23T09:50:14.860Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\ro\translate.json
|
|
114
|
+
[2026-01-23T09:50:14.863Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\tr\translate.json
|
|
115
|
+
[2026-01-23T09:50:14.865Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\ru\translate.json
|
|
116
|
+
[2026-01-23T09:50:14.869Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\brpt\translate.json
|
|
117
|
+
[2026-01-23T09:50:14.870Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\pt\translate.json
|
|
118
|
+
[2026-01-23T09:50:14.871Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\cs\translate.json
|
|
119
|
+
[2026-01-23T09:50:14.872Z] [INFO] 已生成语言文件:d:\test\lang_20260123175014\uk\translate.json
|
|
120
|
+
[2026-01-23T09:50:14.872Z] [INFO] 全部转换完成
|
|
121
|
+
[2026-01-23T09:50:14.874Z] [INFO] 【excel转json】功能执行完成
|
|
122
|
+
[2026-01-23T09:50:14.875Z] [INFO] 【国际化】模块执行完成
|
|
123
|
+
[2026-01-23T09:54:36.137Z] [INFO] td-web-cli程序启动
|
|
124
|
+
[2026-01-23T09:54:36.139Z] [INFO] 命令行参数解析完成:
|
|
125
|
+
[2026-01-23T09:54:44.473Z] [INFO] 用户选择模块:国际化
|
|
126
|
+
[2026-01-23T09:54:44.473Z] [INFO] 国际化模块开始执行
|
|
127
|
+
[2026-01-23T09:54:44.473Z] [INFO] 国际化模块启动,等待用户选择功能
|
|
128
|
+
[2026-01-23T09:54:47.903Z] [INFO] 用户选择功能:excel转json
|
|
129
|
+
[2026-01-23T09:54:47.903Z] [INFO] excel转json功能开始执行
|
|
130
|
+
[2026-01-23T09:54:47.904Z] [INFO] 开始加载配置文件:D:\test\td-web-cli\src\config\setting.json
|
|
131
|
+
[2026-01-23T09:54:47.905Z] [INFO] 配置文件加载成功
|
|
132
|
+
[2026-01-23T09:54:58.946Z] [INFO] 开始读取excel文件:d:\test\A9-V4-CTC01翻译词条-20251215.xlsx
|
|
133
|
+
[2026-01-23T09:54:59.029Z] [INFO] 开始解析表头
|
|
134
|
+
[2026-01-23T09:54:59.030Z] [INFO] 开始解析数据行
|
|
135
|
+
[2026-01-23T09:54:59.031Z] [INFO] 开始生成语言文件,输出目录:d:\test\lang_20260123175459
|
|
136
|
+
[2026-01-23T09:54:59.032Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\cn\translate.json
|
|
137
|
+
[2026-01-23T09:54:59.035Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\zh\translate.json
|
|
138
|
+
[2026-01-23T09:54:59.036Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\de\translate.json
|
|
139
|
+
[2026-01-23T09:54:59.037Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\es\translate.json
|
|
140
|
+
[2026-01-23T09:54:59.038Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\laes\translate.json
|
|
141
|
+
[2026-01-23T09:54:59.039Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\nl\translate.json
|
|
142
|
+
[2026-01-23T09:54:59.056Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\ko\translate.json
|
|
143
|
+
[2026-01-23T09:54:59.057Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\fr\translate.json
|
|
144
|
+
[2026-01-23T09:54:59.059Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\hu\translate.json
|
|
145
|
+
[2026-01-23T09:54:59.060Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\it\translate.json
|
|
146
|
+
[2026-01-23T09:54:59.063Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\pl\translate.json
|
|
147
|
+
[2026-01-23T09:54:59.064Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\ro\translate.json
|
|
148
|
+
[2026-01-23T09:54:59.074Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\tr\translate.json
|
|
149
|
+
[2026-01-23T09:54:59.075Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\ru\translate.json
|
|
150
|
+
[2026-01-23T09:54:59.077Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\brpt\translate.json
|
|
151
|
+
[2026-01-23T09:54:59.079Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\pt\translate.json
|
|
152
|
+
[2026-01-23T09:54:59.081Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\cs\translate.json
|
|
153
|
+
[2026-01-23T09:54:59.083Z] [INFO] 已生成语言文件:d:\test\lang_20260123175459\uk\translate.json
|
|
154
|
+
[2026-01-23T09:54:59.086Z] [INFO] 全部转换完成
|
|
155
|
+
[2026-01-23T09:54:59.093Z] [INFO] excel转json功能执行完成
|
|
156
|
+
[2026-01-23T09:54:59.093Z] [INFO] 国际化模块执行完成
|