cc-translate 0.4.0 → 0.4.2

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/README.md CHANGED
@@ -0,0 +1,52 @@
1
+ # cc-translate
2
+ 一个基于Chat GPT的翻译库 🚀
3
+
4
+ ## 特征
5
+ - 支持通过一种源语言翻译出多国语言
6
+ - 默认使用gpt-4o模型进行翻译,你也可以设置.gpt-4o性价比更高
7
+
8
+
9
+ ## 安装
10
+
11
+ ```bash
12
+
13
+ # 使用 npm
14
+ npm install cc-translate -D
15
+
16
+ # 或者使用 yarn
17
+ yarn add cc-translate -D
18
+
19
+ ```
20
+
21
+ ## 快速开始
22
+
23
+ ```mjs
24
+ # translate.mjs
25
+ import {CwalletTranslate} from 'cc-translate';
26
+
27
+ # 获取当前文件的完整路径
28
+ const __dirname = import.meta.dirname;
29
+
30
+ # 创建一个translate实例
31
+ const client = new CwalletTranslate({
32
+ key: "your api key",
33
+ sourceLanguage: 'en',
34
+ # 缓存文件路径
35
+ cacheFileRootPath: path.resolve(__dirname, './cache'),
36
+ # 翻译源文件路径
37
+ fileRootPath: path.resolve(__dirname, './langs'),
38
+ # 调整翻译语境,告诉gpt我们的翻译要求。提高翻译准确性!
39
+ fineTune: ['我们是一个区块链钱包', '请使用行业专业术语并更切合生活的翻译',....],
40
+ # 需要翻译的语言列表
41
+ languages: [
42
+ 'zh-CN',
43
+ 'zh-TW',
44
+ 'ja',
45
+ 'ar',
46
+ ...
47
+ ],
48
+ # 输出文件路径
49
+ outputRootPath: path.resolve(__dirname, './langs'),
50
+ });
51
+
52
+ ```
package/index.d.ts CHANGED
@@ -1,13 +1,17 @@
1
1
  import { OpenAI } from "openai";
2
2
  import { ICwalletTranslateParams, IJson, IOpenaiConfig, IOutputLanguageFile, ISingleTranslate, ITranslateChat, ITranslateChatResponse, SupportLanguageType } from "./types";
3
3
  export declare class CwalletTranslate {
4
+ /** open ai api key */
4
5
  private OPENAI_KEY;
6
+ /** */
5
7
  CACHE_ROOT_PATH: string;
6
8
  ENTRY_ROOT_PATH: string;
9
+ /** default en */
7
10
  SOURCE_LANGUAGE: SupportLanguageType;
8
11
  OUTPUT_ROOT_PATH: string | undefined;
9
12
  languages: SupportLanguageType[];
10
13
  client: OpenAI | null;
14
+ /** default model gpt-4o */
11
15
  openaiConfig: IOpenaiConfig;
12
16
  fineTune: string[];
13
17
  constructor(params: ICwalletTranslateParams);
@@ -15,7 +19,9 @@ export declare class CwalletTranslate {
15
19
  get outputPath(): string;
16
20
  searchLanguage(code: SupportLanguageType): import("./types").ILanguage | undefined;
17
21
  createOpenAIClient: () => void;
18
- /** 翻译入口文件的所有支持的语言文件夹和其中的文件 */
22
+ /**
23
+ * 翻译入口文件的所有支持的语言文件夹和其中的文件
24
+ */
19
25
  translate: () => Promise<void>;
20
26
  /**
21
27
  * 翻译单个文件
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,uBAAuB,EACvB,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,mBAAmB,CAAC;IACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7B,YAAY,EAAE,aAAa,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAEP,MAAM,EAAE,uBAAuB;IAc3C,IAAI,gBAAgB,kCAOnB;IAED,IAAI,UAAU,WAEb;IAED,cAAc,CAAC,IAAI,EAAE,mBAAmB;IAIxC,kBAAkB,aAOhB;IACF,8BAA8B;IAC9B,SAAS,sBAyDP;IACF;;;;OAIG;IACH,eAAe,WAAkB,gBAAgB,mBA4D/C;IAEF;;;;;;;OAOG;IACH,aAAa,WAAY,cAAc,KAAG,OAAO,CAAC,sBAAsB,CAAC,CA2DvE;IACF;;;;;OAKG;IACH,mBAAmB,aACP,mBAAmB,YACnB,MAAM,KACf,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CA8B3B;IAEF;;;OAGG;IACH,kBAAkB,WAAkB,mBAAmB,mBAsCrD;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,uBAAuB,EACvB,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAsBjB,qBAAa,gBAAgB;IAC3B,uBAAuB;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,MAAM;IACN,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB;IACjB,eAAe,EAAE,mBAAmB,CAAC;IACrC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC7B,2BAA2B;IAC3B,YAAY,EAAE,aAAa,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAEP,MAAM,EAAE,uBAAuB;IAY3C,IAAI,gBAAgB,kCAOnB;IAED,IAAI,UAAU,WAEb;IAED,cAAc,CAAC,IAAI,EAAE,mBAAmB;IAIxC,kBAAkB,aAOhB;IACF;;OAEG;IACH,SAAS,sBA0DP;IACF;;;;OAIG;IACH,eAAe,WAAkB,gBAAgB,mBAoD/C;IAEF;;;;;;;OAOG;IACH,aAAa,WAAY,cAAc,KAAG,OAAO,CAAC,sBAAsB,CAAC,CA2DvE;IACF;;;;;OAKG;IACH,mBAAmB,aACP,mBAAmB,YACnB,MAAM,KACf,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CA6B3B;IAEF;;;OAGG;IACH,kBAAkB,WAAkB,mBAAmB,mBAsCrD;CACH"}
package/index.js CHANGED
@@ -31,7 +31,9 @@ export class CwalletTranslate {
31
31
  });
32
32
  this.client = client;
33
33
  };
34
- /** 翻译入口文件的所有支持的语言文件夹和其中的文件 */
34
+ /**
35
+ * 翻译入口文件的所有支持的语言文件夹和其中的文件
36
+ */
35
37
  this.translate = () => __awaiter(this, void 0, void 0, function* () {
36
38
  console.log("🚀 开始翻译");
37
39
  console.log(`🚀 使用的模型: ${this.openaiConfig.model} 🚀`);
@@ -39,6 +41,7 @@ export class CwalletTranslate {
39
41
  const translateFolderPath = path.join(this.ENTRY_ROOT_PATH, this.SOURCE_LANGUAGE);
40
42
  // 翻译源语言问价夹下的所有json文件
41
43
  const translateFolders = yield readFileOfDirSync(translateFolderPath);
44
+ console.log("🚀 ~ 需要翻译语言的文件:", translateFolders);
42
45
  // 创建进度条
43
46
  const multiBar = new cliProgress.MultiBar({
44
47
  clearOnComplete: false,
@@ -85,8 +88,6 @@ export class CwalletTranslate {
85
88
  /** 待翻译的文件名 */
86
89
  fileName, translateJson, multiBar, callback, } = params;
87
90
  try {
88
- /** 待翻译的文件路径 */
89
- const translateFilePath = path.join(this.ENTRY_ROOT_PATH, language, fileName);
90
91
  // 等待翻译的数组
91
92
  const jsonMap = {};
92
93
  // 生成chat循环代码
@@ -109,7 +110,6 @@ export class CwalletTranslate {
109
110
  jsonMap,
110
111
  folderName: language,
111
112
  fileName,
112
- translateFilePath,
113
113
  });
114
114
  callback && callback();
115
115
  }
@@ -209,7 +209,6 @@ export class CwalletTranslate {
209
209
  jsonMap: {},
210
210
  folderName: language,
211
211
  fileName,
212
- translateFilePath,
213
212
  });
214
213
  }
215
214
  return;
@@ -221,7 +220,7 @@ export class CwalletTranslate {
221
220
  * @param {Object} jsonMap
222
221
  */
223
222
  this.outputLanguageFile = (params) => __awaiter(this, void 0, void 0, function* () {
224
- const { folderName, fileName, jsonMap, translateFilePath } = params;
223
+ const { folderName, fileName, jsonMap } = params;
225
224
  const outputFilePath = path.join(this.outputPath, folderName, fileName);
226
225
  //创建输出文件夹
227
226
  notExistsToCreateFile(this.outputPath);
@@ -248,13 +247,11 @@ export class CwalletTranslate {
248
247
  });
249
248
  });
250
249
  this.OPENAI_KEY = params.key;
251
- this.CACHE_ROOT_PATH = path.resolve(__dirname, params.cacheFileRootPath);
252
- this.ENTRY_ROOT_PATH = path.resolve(__dirname, params.fileRootPath);
250
+ this.CACHE_ROOT_PATH = params.cacheFileRootPath;
251
+ this.ENTRY_ROOT_PATH = params.fileRootPath;
253
252
  this.openaiConfig = (_a = params.openaiConfig) !== null && _a !== void 0 ? _a : DEFAULT_OPENAI_CONFIG;
254
253
  this.SOURCE_LANGUAGE = (_b = params.sourceLanguage) !== null && _b !== void 0 ? _b : "en";
255
- this.OUTPUT_ROOT_PATH = params.outputRootPath
256
- ? path.resolve(__dirname, params.outputRootPath)
257
- : undefined;
254
+ this.OUTPUT_ROOT_PATH = params.outputRootPath;
258
255
  this.fineTune = params.fineTune;
259
256
  this.languages = (_c = params.languages) !== null && _c !== void 0 ? _c : [];
260
257
  this.createOpenAIClient();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cc-translate",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "A language translation tool based on OpenAI",
5
5
  "author": "maybe",
6
6
  "packageManager": "yarn@1.22.22",
package/src/index.ts CHANGED
@@ -28,8 +28,6 @@ import {
28
28
  import { logErrorToFile } from "./lib/log/index.js";
29
29
  import { SUPPORT_LANGUAGE_MAP } from "./lib/support.js";
30
30
 
31
- const __dirname = process.cwd();
32
-
33
31
  const DEFAULT_OPENAI_CONFIG: IOpenaiConfig = {
34
32
  model: "gpt-4o",
35
33
  };
package/types/index.d.ts CHANGED
@@ -26,7 +26,6 @@ export interface IOutputLanguageFile {
26
26
  folderName: SupportLanguageType;
27
27
  fileName: string;
28
28
  jsonMap: IJson;
29
- translateFilePath: string;
30
29
  }
31
30
  export interface IRegisterLanguageCacheFile {
32
31
  folderName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/types/index.ts"],"names":[],"mappings":"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"}