@yxw007/translate 0.5.0 → 1.0.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/LICENSE +21 -21
- package/README.md +84 -37
- package/README_zh-CN.md +84 -32
- package/dist/browser/index.cjs +2262 -3004
- package/dist/browser/index.esm.js +2262 -2998
- package/dist/browser/index.esm.min.js +28 -1
- package/dist/browser/index.min.cjs +28 -1
- package/dist/browser/index.umd.js +2392 -3130
- package/dist/browser/index.umd.min.js +28 -1
- package/dist/engines/amazon.d.ts +7 -0
- package/dist/engines/azure.d.ts +9 -0
- package/dist/engines/baidu.d.ts +6 -0
- package/dist/engines/deepl.d.ts +88 -0
- package/dist/engines/google.d.ts +3 -0
- package/dist/engines/helper.d.ts +2 -0
- package/dist/engines/index.d.ts +16 -0
- package/dist/engines/openai.d.ts +8 -0
- package/dist/engines/tencent.d.ts +7 -0
- package/dist/engines/yandex.d.ts +5 -0
- package/dist/index.d.ts +15 -3048
- package/dist/language/check/baidu.d.ts +9 -0
- package/dist/language/check/index.d.ts +775 -0
- package/dist/language/engines/amazon.d.ts +158 -0
- package/dist/language/engines/azure.d.ts +278 -0
- package/dist/language/engines/baidu.d.ts +424 -0
- package/dist/language/engines/deepl.d.ts +77 -0
- package/dist/language/engines/google.d.ts +494 -0
- package/dist/language/engines/index.d.ts +1973 -0
- package/dist/language/engines/openai.d.ts +494 -0
- package/dist/language/engines/tencent.d.ts +44 -0
- package/dist/language/index.d.ts +8 -0
- package/dist/language/origin/deepl.d.ts +36 -0
- package/dist/language/origin/index.d.ts +998 -0
- package/dist/language/origin/tencent.d.ts +22 -0
- package/dist/language/target/amazon.d.ts +78 -0
- package/dist/language/target/azure.d.ts +138 -0
- package/dist/language/target/baidu.d.ts +211 -0
- package/dist/language/target/deepl.d.ts +39 -0
- package/dist/language/target/google.d.ts +246 -0
- package/dist/language/target/index.d.ts +1000 -0
- package/dist/language/target/tencent.d.ts +21 -0
- package/dist/node/index.cjs +2260 -2972
- package/dist/node/index.js +2259 -2967
- package/dist/node/index.min.cjs +28 -1
- package/dist/node/index.min.js +28 -1
- package/dist/package.json +113 -122
- package/dist/types/index.d.ts +56 -0
- package/dist/types/typescript.d.ts +1 -0
- package/dist/utils/cache.d.ts +15 -0
- package/dist/utils/check.d.ts +2 -0
- package/dist/utils/constant.d.ts +2 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/logger.d.ts +6 -0
- package/dist/utils/node.d.ts +2 -0
- package/dist/utils/path.d.ts +1 -0
- package/dist/utils/utils.d.ts +7 -0
- package/package.json +14 -23
package/dist/package.json
CHANGED
|
@@ -1,122 +1,113 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@yxw007/translate",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A simple library that supports multiple translation engines",
|
|
5
|
-
"author": "Potter<aa4790139@gmail.com>",
|
|
6
|
-
"homepage": "https://github.com/yxw007/translate",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/yxw007/translate.git"
|
|
10
|
-
},
|
|
11
|
-
"bugs": {
|
|
12
|
-
"url": "https://github.com/yxw007/translate/issues"
|
|
13
|
-
},
|
|
14
|
-
"publishConfig": {
|
|
15
|
-
"access": "public"
|
|
16
|
-
},
|
|
17
|
-
"scripts": {
|
|
18
|
-
"lint": "
|
|
19
|
-
"lint:fix": "
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"@
|
|
86
|
-
"@
|
|
87
|
-
"@
|
|
88
|
-
"@
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
"
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
"volta": {
|
|
115
|
-
"node": "22.3.0"
|
|
116
|
-
},
|
|
117
|
-
"peerDependencies": {
|
|
118
|
-
"@aws-sdk/client-translate": "^3.637.0",
|
|
119
|
-
"@smithy/smithy-client": "^3.2.0",
|
|
120
|
-
"crypto-js": "^4.2.0"
|
|
121
|
-
}
|
|
122
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@yxw007/translate",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A simple library that supports multiple translation engines",
|
|
5
|
+
"author": "Potter<aa4790139@gmail.com>",
|
|
6
|
+
"homepage": "https://github.com/yxw007/translate",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/yxw007/translate.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/yxw007/translate/issues"
|
|
13
|
+
},
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"lint": "oxlint . && oxfmt --check .",
|
|
19
|
+
"lint:fix": "oxlint . --fix && oxfmt .",
|
|
20
|
+
"format": "oxfmt .",
|
|
21
|
+
"format:check": "oxfmt --check .",
|
|
22
|
+
"build": "pnpm clean && tsx script/build.ts",
|
|
23
|
+
"build:dev": "pnpm clean && tsx script/build.ts --dev",
|
|
24
|
+
"clean": "rm -rf dist",
|
|
25
|
+
"test": "vitest --run",
|
|
26
|
+
"test:coverage": "vitest --coverage --run",
|
|
27
|
+
"release": "pnpm changelogen --release -i",
|
|
28
|
+
"prepare": "husky"
|
|
29
|
+
},
|
|
30
|
+
"type": "module",
|
|
31
|
+
"main": "./dist/node/index.cjs",
|
|
32
|
+
"module": "./dist/node/index.js",
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"browser": {
|
|
37
|
+
"require": "./dist/browser/index.cjs",
|
|
38
|
+
"default": "./dist/browser/index.esm.js",
|
|
39
|
+
"types": "./dist/index.d.ts"
|
|
40
|
+
},
|
|
41
|
+
"default": {
|
|
42
|
+
"require": "./dist/node/index.cjs",
|
|
43
|
+
"default": "./dist/node/index.js",
|
|
44
|
+
"types": "./dist/index.d.ts"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"files": [
|
|
49
|
+
"dist",
|
|
50
|
+
"README_zh-CN.md",
|
|
51
|
+
"README.md",
|
|
52
|
+
"package.json"
|
|
53
|
+
],
|
|
54
|
+
"keywords": [
|
|
55
|
+
"typescript",
|
|
56
|
+
"node",
|
|
57
|
+
"browser",
|
|
58
|
+
"translate",
|
|
59
|
+
"translation",
|
|
60
|
+
"google",
|
|
61
|
+
"i18n",
|
|
62
|
+
"l10n",
|
|
63
|
+
"localization",
|
|
64
|
+
"internationalization",
|
|
65
|
+
"azure",
|
|
66
|
+
"amazon",
|
|
67
|
+
"baidu",
|
|
68
|
+
"yandex",
|
|
69
|
+
"ai",
|
|
70
|
+
"deepl",
|
|
71
|
+
"tencent"
|
|
72
|
+
],
|
|
73
|
+
"husky": {
|
|
74
|
+
"hooks": {
|
|
75
|
+
"pre-commit": "lint-staged"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"lint-staged": {
|
|
79
|
+
"**/*.{ts}": [
|
|
80
|
+
"pnpm lint:fix"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"license": "MIT",
|
|
84
|
+
"devDependencies": {
|
|
85
|
+
"@commitlint/config-conventional": "^19.2.2",
|
|
86
|
+
"@types/crypto-js": "^4.2.2",
|
|
87
|
+
"@types/node": "^22.5.0",
|
|
88
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
89
|
+
"chalk": "^5.3.0",
|
|
90
|
+
"changelogen": "^0.6.2",
|
|
91
|
+
"commitlint": "^19.4.0",
|
|
92
|
+
"dotenv": "^16.4.5",
|
|
93
|
+
"husky": "^9.1.5",
|
|
94
|
+
"lint-staged": "^16.4.0",
|
|
95
|
+
"maxmin": "^4.1.0",
|
|
96
|
+
"oxfmt": "^0.42.0",
|
|
97
|
+
"oxlint": "^1.57.0",
|
|
98
|
+
"rolldown": "1.0.0-rc.12",
|
|
99
|
+
"tslib": "^2.7.0",
|
|
100
|
+
"tsx": "^4.21.0",
|
|
101
|
+
"typescript": "^5.5.4",
|
|
102
|
+
"vite": "^8.0.3",
|
|
103
|
+
"vitest": "^4.1.2"
|
|
104
|
+
},
|
|
105
|
+
"volta": {
|
|
106
|
+
"node": "22.3.0"
|
|
107
|
+
},
|
|
108
|
+
"peerDependencies": {
|
|
109
|
+
"@aws-sdk/client-translate": "^3.637.0",
|
|
110
|
+
"@smithy/smithy-client": "^3.2.0",
|
|
111
|
+
"crypto-js": "^4.2.0"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { BuiltinEngineLanguageMap, BuiltinFromLanguageMap, BuiltinToLanguageMap } from "../language/engines";
|
|
2
|
+
export * from "./typescript";
|
|
3
|
+
export type Engines = keyof BuiltinEngineLanguageMap;
|
|
4
|
+
export type LanguageMap = Readonly<Record<string, string>>;
|
|
5
|
+
export type LanguageName<T extends LanguageMap = LanguageMap> = Extract<keyof T, string>;
|
|
6
|
+
export type LanguageCode<T extends LanguageMap = LanguageMap> = T[LanguageName<T>];
|
|
7
|
+
export type FromLanguage<T extends string = Engines> = T extends Engines ? BuiltinFromLanguageMap[T] : string;
|
|
8
|
+
export type ToLanguage<T extends string = Engines> = T extends Engines ? BuiltinToLanguageMap[T] : string;
|
|
9
|
+
export type TranslateOptions<T extends string = Engines> = {
|
|
10
|
+
from?: FromLanguage<T>;
|
|
11
|
+
to: ToLanguage<T>;
|
|
12
|
+
engine?: T;
|
|
13
|
+
/**
|
|
14
|
+
* Cache time in milliseconds
|
|
15
|
+
*/
|
|
16
|
+
cache_time?: number | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Domain to use for translation
|
|
19
|
+
*/
|
|
20
|
+
domain?: string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Maximum number of characters
|
|
23
|
+
* default: 1000, -1 means no limit
|
|
24
|
+
*/
|
|
25
|
+
max_character_num?: number | undefined;
|
|
26
|
+
};
|
|
27
|
+
export type CheckLanguageOptions<T extends string = Engines> = Pick<TranslateOptions<T>, "max_character_num" | "engine">;
|
|
28
|
+
export interface BaseEngineOption {
|
|
29
|
+
fromLanguages?: LanguageMap;
|
|
30
|
+
toLanguages?: LanguageMap;
|
|
31
|
+
}
|
|
32
|
+
export type EngineTranslateOptions<T extends string = string> = Omit<TranslateOptions<T>, "engine">;
|
|
33
|
+
export type Engine = {
|
|
34
|
+
name: string;
|
|
35
|
+
getFromLanguages: () => LanguageMap;
|
|
36
|
+
getToLanguages: () => LanguageMap;
|
|
37
|
+
normalFromLanguage: (language?: string) => string;
|
|
38
|
+
normalToLanguage: (language?: string) => string;
|
|
39
|
+
checkLanguage?: (text: string) => Promise<string>;
|
|
40
|
+
translate: (text: string | string[], opts: EngineTranslateOptions) => Promise<string[]>;
|
|
41
|
+
};
|
|
42
|
+
export interface CacheRecord {
|
|
43
|
+
value: unknown;
|
|
44
|
+
timeout?: number;
|
|
45
|
+
expire: number;
|
|
46
|
+
}
|
|
47
|
+
export declare class TranslationError extends Error {
|
|
48
|
+
region: string;
|
|
49
|
+
constructor(region: string, message: string);
|
|
50
|
+
}
|
|
51
|
+
export declare class CheckLanguageError extends Error {
|
|
52
|
+
region: string;
|
|
53
|
+
constructor(region: string, message: string);
|
|
54
|
+
}
|
|
55
|
+
export declare const OPEN_AI_MODELS: readonly ["o1-preview", "o1-preview-2024-09-12", "o1-mini-2024-09-12", "o1-mini", "dall-e-2", "gpt-3.5-turbo", "gpt-3.5-turbo-0125", "babbage-002", "davinci-002", "dall-e-3", "text-embedding-3-large", "gpt-3.5-turbo-16k", "tts-1-hd-1106", "text-embedding-ada-002", "text-embedding-3-small", "tts-1-hd", "whisper-1", "gpt-3.5-turbo-1106", "gpt-3.5-turbo-instruct", "gpt-4o-mini-2024-07-18", "gpt-4o-mini", "tts-1", "tts-1-1106", "gpt-3.5-turbo-instruct-0914"];
|
|
56
|
+
export type OpenAIModel = (typeof OPEN_AI_MODELS)[number];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ValuesOf<T> = T[keyof T];
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CacheRecord } from "../types";
|
|
2
|
+
export declare class Cache {
|
|
3
|
+
private cache;
|
|
4
|
+
constructor();
|
|
5
|
+
/**
|
|
6
|
+
* @param key
|
|
7
|
+
* @param value
|
|
8
|
+
* @param time millisecond
|
|
9
|
+
*/
|
|
10
|
+
set(key: string, value: any, time: number): void;
|
|
11
|
+
get(key: string): CacheRecord | undefined;
|
|
12
|
+
delete(key: string): boolean;
|
|
13
|
+
private del;
|
|
14
|
+
clear(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function normalizedPath(filePath: string): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TranslationError } from "..";
|
|
2
|
+
export declare function sleep(ms: number): Promise<unknown>;
|
|
3
|
+
export declare function getGapLine(): string;
|
|
4
|
+
export declare function getErrorMessages<T extends Error>(e: T, prefix?: string): string;
|
|
5
|
+
export declare function throwResponseError(name: string, res: any): Promise<TranslationError>;
|
|
6
|
+
export declare function splitText(text: string, maxCharacterNum: number): string[];
|
|
7
|
+
export declare function isOverMaxCharacterNum(text: string[] | undefined | null, max_character_num: number): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yxw007/translate",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A simple library that supports multiple translation engines",
|
|
5
5
|
"author": "Potter<aa4790139@gmail.com>",
|
|
6
6
|
"homepage": "https://github.com/yxw007/translate",
|
|
@@ -70,35 +70,24 @@
|
|
|
70
70
|
"license": "MIT",
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@commitlint/config-conventional": "^19.2.2",
|
|
73
|
-
"@eslint/js": "^8.57.0",
|
|
74
|
-
"@rollup/plugin-alias": "^5.1.0",
|
|
75
|
-
"@rollup/plugin-commonjs": "^26.0.1",
|
|
76
|
-
"@rollup/plugin-json": "^6.1.0",
|
|
77
|
-
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
78
|
-
"@rollup/plugin-terser": "^0.4.4",
|
|
79
|
-
"@rollup/plugin-typescript": "^11.1.6",
|
|
80
73
|
"@types/crypto-js": "^4.2.2",
|
|
81
|
-
"@types/eslint__js": "^8.42.3",
|
|
82
74
|
"@types/node": "^22.5.0",
|
|
83
|
-
"@vitest/coverage-v8": "^
|
|
75
|
+
"@vitest/coverage-v8": "^4.1.2",
|
|
84
76
|
"chalk": "^5.3.0",
|
|
85
|
-
"changelogen": "^0.
|
|
77
|
+
"changelogen": "^0.6.2",
|
|
86
78
|
"commitlint": "^19.4.0",
|
|
87
79
|
"dotenv": "^16.4.5",
|
|
88
|
-
"eslint": "^8.57.0",
|
|
89
|
-
"globals": "^15.9.0",
|
|
90
80
|
"husky": "^9.1.5",
|
|
91
|
-
"lint-staged": "^
|
|
81
|
+
"lint-staged": "^16.4.0",
|
|
92
82
|
"maxmin": "^4.1.0",
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
83
|
+
"oxfmt": "^0.42.0",
|
|
84
|
+
"oxlint": "^1.57.0",
|
|
85
|
+
"rolldown": "1.0.0-rc.12",
|
|
96
86
|
"tslib": "^2.7.0",
|
|
97
|
-
"tsx": "^4.
|
|
87
|
+
"tsx": "^4.21.0",
|
|
98
88
|
"typescript": "^5.5.4",
|
|
99
|
-
"
|
|
100
|
-
"vitest": "^
|
|
101
|
-
"yargs": "^18.0.0"
|
|
89
|
+
"vite": "^8.0.3",
|
|
90
|
+
"vitest": "^4.1.2"
|
|
102
91
|
},
|
|
103
92
|
"volta": {
|
|
104
93
|
"node": "22.3.0"
|
|
@@ -109,8 +98,10 @@
|
|
|
109
98
|
"crypto-js": "^4.2.0"
|
|
110
99
|
},
|
|
111
100
|
"scripts": {
|
|
112
|
-
"lint": "
|
|
113
|
-
"lint:fix": "
|
|
101
|
+
"lint": "oxlint . && oxfmt --check .",
|
|
102
|
+
"lint:fix": "oxlint . --fix && oxfmt .",
|
|
103
|
+
"format": "oxfmt .",
|
|
104
|
+
"format:check": "oxfmt --check .",
|
|
114
105
|
"build": "pnpm clean && tsx script/build.ts",
|
|
115
106
|
"build:dev": "pnpm clean && tsx script/build.ts --dev",
|
|
116
107
|
"clean": "rm -rf dist",
|