pixivflow 2.10.26 → 2.10.27
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/dist/package.json
CHANGED
|
@@ -23,6 +23,19 @@ export interface DetectedLanguage {
|
|
|
23
23
|
*/
|
|
24
24
|
confidence?: number;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* 修正 franc 对中日文的误判。
|
|
28
|
+
*
|
|
29
|
+
* 中文与日文共享汉字,franc(以及 cld3/lingua 等概率型检测器)对"中日混合"
|
|
30
|
+
* 文本常把中文正文误判为日文——而 Pixiv 中文小说正文经常混入少量日文标签/
|
|
31
|
+
* 角色名/拟声词。区分中日文的可靠标准是 Unicode 假名字符:日文正文含大量
|
|
32
|
+
* 平假名/片假名(U+3040–30FF),中文正文几乎不含假名。
|
|
33
|
+
*
|
|
34
|
+
* 规则:franc 判 jpn 时,若假名占 CJK 字符比例 < 10% 且汉字占比 > 20%,
|
|
35
|
+
* 判定为中文(cmn);否则维持 franc 原判。仅处理 jpn→cmn 的修正,
|
|
36
|
+
* 不误伤真日文、也不影响英/韩等其它语言。
|
|
37
|
+
*/
|
|
38
|
+
export declare function refineFrancCode(detectedCode: string, text: string): string;
|
|
26
39
|
/**
|
|
27
40
|
* Detect the language of a text string
|
|
28
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-detection.d.ts","sourceRoot":"","sources":["../../src/utils/language-detection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,gBAAgB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"language-detection.d.ts","sourceRoot":"","sources":["../../src/utils/language-detection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8BD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW1E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,gBAAgB,GAAG,IAAI,CAwD5F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,OAAO,GAAG,IAAI,CAGlF"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Uses franc-min library for fast and accurate language detection
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.refineFrancCode = refineFrancCode;
|
|
7
8
|
exports.detectLanguage = detectLanguage;
|
|
8
9
|
exports.isChineseText = isChineseText;
|
|
9
10
|
const franc_min_1 = require("franc-min");
|
|
@@ -34,6 +35,30 @@ const CHINESE_LANGUAGE_CODES = new Set([
|
|
|
34
35
|
'hak', // Hakka Chinese
|
|
35
36
|
'nan', // Min Nan Chinese
|
|
36
37
|
]);
|
|
38
|
+
/**
|
|
39
|
+
* 修正 franc 对中日文的误判。
|
|
40
|
+
*
|
|
41
|
+
* 中文与日文共享汉字,franc(以及 cld3/lingua 等概率型检测器)对"中日混合"
|
|
42
|
+
* 文本常把中文正文误判为日文——而 Pixiv 中文小说正文经常混入少量日文标签/
|
|
43
|
+
* 角色名/拟声词。区分中日文的可靠标准是 Unicode 假名字符:日文正文含大量
|
|
44
|
+
* 平假名/片假名(U+3040–30FF),中文正文几乎不含假名。
|
|
45
|
+
*
|
|
46
|
+
* 规则:franc 判 jpn 时,若假名占 CJK 字符比例 < 10% 且汉字占比 > 20%,
|
|
47
|
+
* 判定为中文(cmn);否则维持 franc 原判。仅处理 jpn→cmn 的修正,
|
|
48
|
+
* 不误伤真日文、也不影响英/韩等其它语言。
|
|
49
|
+
*/
|
|
50
|
+
function refineFrancCode(detectedCode, text) {
|
|
51
|
+
if (detectedCode !== 'jpn') {
|
|
52
|
+
return detectedCode;
|
|
53
|
+
}
|
|
54
|
+
const kana = (text.match(/[\u3040-\u30ff\u31f0-\u31ff]/g) || []).length;
|
|
55
|
+
const han = (text.match(/[\u4e00-\u9fff]/g) || []).length;
|
|
56
|
+
const cjk = kana + han;
|
|
57
|
+
if (cjk > 0 && kana / cjk < 0.10 && han / text.length > 0.2) {
|
|
58
|
+
return 'cmn';
|
|
59
|
+
}
|
|
60
|
+
return detectedCode;
|
|
61
|
+
}
|
|
37
62
|
/**
|
|
38
63
|
* Detect the language of a text string
|
|
39
64
|
*
|
|
@@ -76,14 +101,18 @@ function detectLanguage(text, minLength = 50) {
|
|
|
76
101
|
isChinese: false,
|
|
77
102
|
};
|
|
78
103
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
104
|
+
// franc 对"中日混合"文本常把中文正文误判为日文(Pixiv 中文小说正文
|
|
105
|
+
// 常混入日文标签/角色名/拟声词)。用假名占比二次校验:日文正文假名
|
|
106
|
+
// (ひらがな/カタカナ)占比通常 30%+,中文正文几乎不含假名。
|
|
107
|
+
const code = refineFrancCode(detectedCode, cleanedText);
|
|
108
|
+
const isChinese = CHINESE_LANGUAGE_CODES.has(code);
|
|
109
|
+
const name = LANGUAGE_NAMES[code] || code;
|
|
110
|
+
logger_1.logger.debug(`Detected language: ${name} (${code}), isChinese: ${isChinese}`, {
|
|
82
111
|
textLength: cleanedText.length,
|
|
83
112
|
detectedCode,
|
|
84
113
|
});
|
|
85
114
|
return {
|
|
86
|
-
code
|
|
115
|
+
code,
|
|
87
116
|
name,
|
|
88
117
|
isChinese,
|
|
89
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-detection.js","sourceRoot":"","sources":["../../src/utils/language-detection.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"language-detection.js","sourceRoot":"","sources":["../../src/utils/language-detection.ts"],"names":[],"mappings":"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"}
|
package/dist/webui/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pixivflow",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.27",
|
|
4
4
|
"description": "🎨 智能的 Pixiv 自动化下载工具 - 支持批量下载插画和小说、定时任务、Docker部署 | Intelligent Pixiv Automation Downloader with batch download, scheduler, and Docker support",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|