@taon-dev/i18n 21.0.25 → 21.0.30
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/VERIFIED-BUILD-DATA.jsonc +3 -3
- package/browser/fesm2022/i18n-browser.mjs +220 -35
- package/browser/fesm2022/i18n-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/browser/types/i18n-browser.d.ts +73 -11
- package/browser-prod/fesm2022/i18n-browser-prod.mjs +220 -35
- package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +1 -1
- package/browser-prod/package.json +1 -1
- package/browser-prod/types/i18n-browser-prod.d.ts +73 -11
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/index._auto-generated_.d.ts +1 -0
- package/lib/index._auto-generated_.js +1 -0
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/local-translation.d.ts +67 -0
- package/lib/local-translation.js +172 -0
- package/lib/local-translation.js.map +1 -0
- package/lib/package.json +1 -1
- package/lib/start-cli.d.ts +0 -5
- package/lib/start-cli.js +9 -39
- package/lib/start-cli.js.map +1 -1
- package/lib/utils-po-file-extracto-to-json.test.d.ts +1 -0
- package/lib/utils-po-file-extracto-to-json.test.js +147 -0
- package/lib/utils-po-file-extracto-to-json.test.js.map +1 -0
- package/lib/utils-po-file.js +26 -13
- package/lib/utils-po-file.js.map +1 -1
- package/lib/utils-po-file.test.js +2 -0
- package/lib/utils-po-file.test.js.map +1 -1
- package/lib-esm/app.electron.d.ts +1 -1
- package/lib-esm/app.electron.js +1 -1
- package/lib-esm/app.vscode.d.ts +0 -9
- package/lib-esm/app.vscode.js +54 -36
- package/lib-esm/app.vscode.js.map +1 -1
- package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib-esm/lib/build-info._auto-generated_.js +1 -1
- package/lib-esm/lib/index._auto-generated_.d.ts +1 -0
- package/lib-esm/lib/index._auto-generated_.js +1 -0
- package/lib-esm/lib/index._auto-generated_.js.map +1 -1
- package/lib-esm/lib/local-translation.d.ts +67 -0
- package/lib-esm/lib/local-translation.js +168 -0
- package/lib-esm/lib/local-translation.js.map +1 -0
- package/lib-esm/lib/start-cli.d.ts +0 -5
- package/lib-esm/lib/start-cli.js +9 -39
- package/lib-esm/lib/start-cli.js.map +1 -1
- package/lib-esm/lib/utils-po-file-extracto-to-json.test.d.ts +1 -0
- package/lib-esm/lib/utils-po-file-extracto-to-json.test.js +145 -0
- package/lib-esm/lib/utils-po-file-extracto-to-json.test.js.map +1 -0
- package/lib-esm/lib/utils-po-file.js +26 -13
- package/lib-esm/lib/utils-po-file.js.map +1 -1
- package/lib-esm/lib/utils-po-file.test.js +2 -0
- package/lib-esm/lib/utils-po-file.test.js.map +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +1 -1
- package/lib-prod/build-info._auto-generated_.js +1 -1
- package/lib-prod/index._auto-generated_.d.ts +1 -0
- package/lib-prod/index._auto-generated_.js +1 -0
- package/lib-prod/index._auto-generated_.js.map +1 -1
- package/lib-prod/local-translation.d.ts +67 -0
- package/lib-prod/local-translation.js +168 -0
- package/lib-prod/local-translation.js.map +1 -0
- package/lib-prod/package.json +1 -1
- package/lib-prod/start-cli.d.ts +0 -5
- package/lib-prod/start-cli.js +9 -39
- package/lib-prod/start-cli.js.map +1 -1
- package/lib-prod/utils-po-file-extracto-to-json.test.d.ts +1 -0
- package/lib-prod/utils-po-file-extracto-to-json.test.js +145 -0
- package/lib-prod/utils-po-file-extracto-to-json.test.js.map +1 -0
- package/lib-prod/utils-po-file.js +26 -13
- package/lib-prod/utils-po-file.js.map +1 -1
- package/lib-prod/utils-po-file.test.js +2 -0
- package/lib-prod/utils-po-file.test.js.map +1 -1
- package/package.json +1 -1
- package/websql/fesm2022/i18n-websql.mjs +220 -35
- package/websql/fesm2022/i18n-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
- package/websql/types/i18n-websql.d.ts +73 -11
- package/websql-prod/fesm2022/i18n-websql-prod.mjs +220 -35
- package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +1 -1
- package/websql-prod/package.json +1 -1
- package/websql-prod/types/i18n-websql-prod.d.ts +73 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-po-file.test.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils-po-file.test.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function dummy1785189997021(): void;
|
package/lib-esm/app.electron.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function dummy1785189997021() { }
|
|
2
2
|
//# sourceMappingURL=app.electron.js.map
|
package/lib-esm/app.vscode.d.ts
CHANGED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CommandType } from 'tnp-helpers/lib';
|
|
2
|
-
import type { ExtensionContext } from 'vscode';
|
|
3
|
-
export declare const commands: CommandType[];
|
|
4
|
-
export declare function activate(context: ExtensionContext): void;
|
|
5
|
-
export declare function deactivate(): void;
|
|
6
|
-
declare const _default: {
|
|
7
|
-
commands: CommandType[];
|
|
8
|
-
};
|
|
9
|
-
export default _default;
|
package/lib-esm/app.vscode.js
CHANGED
|
@@ -1,37 +1,55 @@
|
|
|
1
|
-
import { Utils } from 'tnp-core/
|
|
2
|
-
import { executeCommand } from 'tnp-helpers/
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
// import { Utils } from 'tnp-core/src';
|
|
2
|
+
// import { CommandType, executeCommand } from 'tnp-helpers/src';
|
|
3
|
+
// import type { ExtensionContext } from 'vscode';
|
|
4
|
+
// const group = 'I18N CLI essentials';
|
|
5
|
+
// export const commands: CommandType[] = (
|
|
6
|
+
// [
|
|
7
|
+
// {
|
|
8
|
+
// title: 'hello world I18N',
|
|
9
|
+
// exec: ({ vscode }) => {
|
|
10
|
+
// vscode.window.showInformationMessage('Hello World! I18N');
|
|
11
|
+
// },
|
|
12
|
+
// },
|
|
13
|
+
// {
|
|
14
|
+
// title: 'hey I18N! show platform',
|
|
15
|
+
// exec: ({ vscode }) => {
|
|
16
|
+
// vscode.window.showInformationMessage(
|
|
17
|
+
// `I18N platform is "${process.platform}"`,
|
|
18
|
+
// );
|
|
19
|
+
// },
|
|
20
|
+
// },
|
|
21
|
+
// ] as CommandType[]
|
|
22
|
+
// ).map(c => {
|
|
23
|
+
// if (!c.group) {
|
|
24
|
+
// c.group = group;
|
|
25
|
+
// }
|
|
26
|
+
// if (!c.command) {
|
|
27
|
+
// c.command = `extension.${Utils.camelize(c.group ?? 'ROOT')}.${Utils.camelize(c.title)}`;
|
|
28
|
+
// }
|
|
29
|
+
// return c;
|
|
30
|
+
// });
|
|
31
|
+
// export function activate(context: ExtensionContext): void {
|
|
32
|
+
// for (let index = 0; index < commands.length; index++) {
|
|
33
|
+
// const {
|
|
34
|
+
// title = '',
|
|
35
|
+
// command = '',
|
|
36
|
+
// exec = '',
|
|
37
|
+
// options,
|
|
38
|
+
// isDefaultBuildCommand,
|
|
39
|
+
// } = commands[index];
|
|
40
|
+
// const sub = executeCommand(
|
|
41
|
+
// title,
|
|
42
|
+
// command,
|
|
43
|
+
// exec,
|
|
44
|
+
// options,
|
|
45
|
+
// isDefaultBuildCommand,
|
|
46
|
+
// context,
|
|
47
|
+
// );
|
|
48
|
+
// if (sub) {
|
|
49
|
+
// context.subscriptions.push(sub);
|
|
50
|
+
// }
|
|
51
|
+
// }
|
|
52
|
+
// }
|
|
53
|
+
// export function deactivate(): void {}
|
|
54
|
+
// export default { commands };
|
|
37
55
|
//# sourceMappingURL=app.vscode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.vscode.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"app.vscode.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,wCAAwC;AACxC,iEAAiE;AACjE,kDAAkD;AAElD,uCAAuC;AAEvC,2CAA2C;AAC3C,MAAM;AACN,QAAQ;AACR,mCAAmC;AACnC,gCAAgC;AAChC,qEAAqE;AACrE,WAAW;AACX,SAAS;AACT,QAAQ;AACR,0CAA0C;AAC1C,gCAAgC;AAChC,gDAAgD;AAChD,sDAAsD;AACtD,aAAa;AACb,WAAW;AACX,SAAS;AACT,uBAAuB;AACvB,eAAe;AACf,oBAAoB;AACpB,uBAAuB;AACvB,MAAM;AACN,sBAAsB;AACtB,+FAA+F;AAC/F,MAAM;AACN,cAAc;AACd,MAAM;AAEN,8DAA8D;AAC9D,4DAA4D;AAC5D,cAAc;AACd,oBAAoB;AACpB,sBAAsB;AACtB,mBAAmB;AACnB,iBAAiB;AACjB,+BAA+B;AAC/B,2BAA2B;AAC3B,kCAAkC;AAClC,eAAe;AACf,iBAAiB;AACjB,cAAc;AACd,iBAAiB;AACjB,+BAA+B;AAC/B,iBAAiB;AACjB,SAAS;AACT,iBAAiB;AACjB,yCAAyC;AACzC,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ,wCAAwC;AAExC,+BAA+B"}
|
|
@@ -22,6 +22,6 @@ export const CURRENT_PACKAGE_TAON_VERSION = 'v21';
|
|
|
22
22
|
/**
|
|
23
23
|
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
24
24
|
*/
|
|
25
|
-
export const CURRENT_PACKAGE_VERSION = '21.0.
|
|
25
|
+
export const CURRENT_PACKAGE_VERSION = '21.0.30';
|
|
26
26
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
27
27
|
//# sourceMappingURL=build-info._auto-generated_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,cAAc;AACd,kEAAkE;AAClE,wCAAwC;AACxC,wDAAwD;AACxD,kCAAkC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,aAAa,CAAC;AAC5B,KAAK;AACL,KAAK;AACL,KAAK;AACL,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,kDAAkD,CAAC;AACjE,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,cAAc;AACd,kEAAkE;AAClE,wCAAwC;AACxC,wDAAwD;AACxD,kCAAkC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,KAAK;AACL,KAAK;AACL,KAAK;AACL,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,kDAAkD,CAAC;AACjE,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { UtilsI18n } from 'tnp-core/lib';
|
|
2
|
+
export interface TranslationOptions {
|
|
3
|
+
text: string;
|
|
4
|
+
from: UtilsI18n.CommonLocaleCode;
|
|
5
|
+
to: UtilsI18n.CommonLocaleCode;
|
|
6
|
+
/**
|
|
7
|
+
* Nearby source-language text.
|
|
8
|
+
*/
|
|
9
|
+
context?: string;
|
|
10
|
+
glossary?: Record<string, string>;
|
|
11
|
+
}
|
|
12
|
+
export interface AiDownloadProgress {
|
|
13
|
+
/**
|
|
14
|
+
* General loading stage reported by Transformers.js.
|
|
15
|
+
*/
|
|
16
|
+
status: 'initiate' | 'download' | 'progress' | 'progress_total' | 'done' | 'ready' | string;
|
|
17
|
+
/**
|
|
18
|
+
* Current filename, when progress concerns an individual file.
|
|
19
|
+
*/
|
|
20
|
+
file?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Progress from 0 to 100.
|
|
23
|
+
*/
|
|
24
|
+
progress?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Downloaded bytes, when provided by Transformers.js.
|
|
27
|
+
*/
|
|
28
|
+
loaded?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Total bytes, when provided by Transformers.js.
|
|
31
|
+
*/
|
|
32
|
+
total?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface MakeSureAiDownloadedOptions {
|
|
35
|
+
onProgress?: (progress: AiDownloadProgress) => void;
|
|
36
|
+
/**
|
|
37
|
+
* Run one tiny translation after loading.
|
|
38
|
+
*
|
|
39
|
+
* This removes most of the delay from the first real translation,
|
|
40
|
+
* but it performs a small amount of additional inference work.
|
|
41
|
+
*/
|
|
42
|
+
warmup?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export declare class LocalTranslationService {
|
|
45
|
+
private translatorPromise?;
|
|
46
|
+
private aiReady;
|
|
47
|
+
private warmupPromise?;
|
|
48
|
+
private progressListeners;
|
|
49
|
+
/**
|
|
50
|
+
* Downloads, caches and loads the translation model.
|
|
51
|
+
*
|
|
52
|
+
* Multiple simultaneous calls share the same initialization promise.
|
|
53
|
+
* After this resolves, translate() reuses the already loaded model.
|
|
54
|
+
*/
|
|
55
|
+
makeSureAiDownloaded(options?: MakeSureAiDownloadedOptions): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* True only in this process after pipeline initialization succeeded.
|
|
58
|
+
*/
|
|
59
|
+
isAiReady(): boolean;
|
|
60
|
+
private getTranslator;
|
|
61
|
+
private createTranslator;
|
|
62
|
+
private emitProgress;
|
|
63
|
+
private warmupTranslator;
|
|
64
|
+
translate(options: TranslationOptions): Promise<string>;
|
|
65
|
+
private protectGlossary;
|
|
66
|
+
private getModelsCachePath;
|
|
67
|
+
}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { mkdirSync } from 'node:fs';
|
|
2
|
+
import { crossPlatformPath, dotTaonFolder, UtilsOs, _, } from 'tnp-core/lib';
|
|
3
|
+
const MODEL_ID = 'Xenova/nllb-200-distilled-600M';
|
|
4
|
+
const nllbLanguageCodes = {
|
|
5
|
+
'en-US': 'eng_Latn',
|
|
6
|
+
'pl-PL': 'pol_Latn',
|
|
7
|
+
'de-DE': 'deu_Latn',
|
|
8
|
+
};
|
|
9
|
+
export class LocalTranslationService {
|
|
10
|
+
translatorPromise;
|
|
11
|
+
aiReady = false;
|
|
12
|
+
warmupPromise;
|
|
13
|
+
progressListeners = new Set();
|
|
14
|
+
/**
|
|
15
|
+
* Downloads, caches and loads the translation model.
|
|
16
|
+
*
|
|
17
|
+
* Multiple simultaneous calls share the same initialization promise.
|
|
18
|
+
* After this resolves, translate() reuses the already loaded model.
|
|
19
|
+
*/
|
|
20
|
+
async makeSureAiDownloaded(options = {}) {
|
|
21
|
+
//#region @backendFunc
|
|
22
|
+
const { onProgress, warmup = false } = options;
|
|
23
|
+
if (onProgress) {
|
|
24
|
+
this.progressListeners.add(onProgress);
|
|
25
|
+
}
|
|
26
|
+
try {
|
|
27
|
+
const translator = await this.getTranslator();
|
|
28
|
+
if (warmup) {
|
|
29
|
+
await this.warmupTranslator(translator);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
if (onProgress) {
|
|
34
|
+
this.progressListeners.delete(onProgress);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* True only in this process after pipeline initialization succeeded.
|
|
41
|
+
*/
|
|
42
|
+
isAiReady() {
|
|
43
|
+
return this.aiReady;
|
|
44
|
+
}
|
|
45
|
+
getTranslator() {
|
|
46
|
+
this.translatorPromise ??= this.createTranslator().catch(error => {
|
|
47
|
+
// Allow a later call to retry after a network or disk failure.
|
|
48
|
+
this.translatorPromise = undefined;
|
|
49
|
+
this.aiReady = false;
|
|
50
|
+
throw error;
|
|
51
|
+
});
|
|
52
|
+
return this.translatorPromise;
|
|
53
|
+
}
|
|
54
|
+
async createTranslator() {
|
|
55
|
+
//#region @backendFunc
|
|
56
|
+
const { env, pipeline } = await import('@huggingface/transformers');
|
|
57
|
+
env.cacheDir = this.getModelsCachePath();
|
|
58
|
+
const translator = await pipeline('translation', MODEL_ID, {
|
|
59
|
+
dtype: 'q8',
|
|
60
|
+
progress_callback: (progress) => {
|
|
61
|
+
this.emitProgress(progress);
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
this.aiReady = true;
|
|
65
|
+
this.emitProgress({
|
|
66
|
+
status: 'ready',
|
|
67
|
+
progress: 100,
|
|
68
|
+
});
|
|
69
|
+
return translator;
|
|
70
|
+
//#endregion
|
|
71
|
+
}
|
|
72
|
+
emitProgress(progress) {
|
|
73
|
+
for (const listener of this.progressListeners) {
|
|
74
|
+
try {
|
|
75
|
+
listener(progress);
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// A UI callback must not break model initialization.
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
warmupTranslator(translator) {
|
|
83
|
+
this.warmupPromise ??= translator('Hello.', {
|
|
84
|
+
src_lang: 'eng_Latn',
|
|
85
|
+
tgt_lang: 'pol_Latn',
|
|
86
|
+
max_new_tokens: 16,
|
|
87
|
+
})
|
|
88
|
+
.then(() => undefined)
|
|
89
|
+
.catch(error => {
|
|
90
|
+
this.warmupPromise = undefined;
|
|
91
|
+
throw error;
|
|
92
|
+
});
|
|
93
|
+
return this.warmupPromise;
|
|
94
|
+
}
|
|
95
|
+
async translate(options) {
|
|
96
|
+
//#region @backendFunc
|
|
97
|
+
let { text, context, from, to, glossary } = options;
|
|
98
|
+
const fromOrg = from;
|
|
99
|
+
const toOrg = to;
|
|
100
|
+
from = _.first(from.split('-'));
|
|
101
|
+
to = _.first(to.split('-'));
|
|
102
|
+
if (!text.trim() || from === to) {
|
|
103
|
+
return text;
|
|
104
|
+
}
|
|
105
|
+
const srcLang = nllbLanguageCodes[fromOrg];
|
|
106
|
+
const tgtLang = nllbLanguageCodes[toOrg];
|
|
107
|
+
if (!srcLang) {
|
|
108
|
+
throw new Error(`Unsupported source translation locale: ${fromOrg}`);
|
|
109
|
+
}
|
|
110
|
+
if (!tgtLang) {
|
|
111
|
+
throw new Error(`Unsupported target translation locale: ${toOrg}`);
|
|
112
|
+
}
|
|
113
|
+
const input = context?.trim()
|
|
114
|
+
? `${context.trim()}\n\n${text.trim()}`
|
|
115
|
+
: text;
|
|
116
|
+
const protectedInput = this.protectGlossary(input, glossary);
|
|
117
|
+
const translator = await this.getTranslator();
|
|
118
|
+
const result = await translator(protectedInput.preparedText, {
|
|
119
|
+
src_lang: srcLang,
|
|
120
|
+
tgt_lang: tgtLang,
|
|
121
|
+
});
|
|
122
|
+
const translatedText = result[0]?.translation_text ?? '';
|
|
123
|
+
return protectedInput.restore(translatedText);
|
|
124
|
+
//#endregion
|
|
125
|
+
}
|
|
126
|
+
protectGlossary(text, glossary) {
|
|
127
|
+
if (!glossary || Object.keys(glossary).length === 0) {
|
|
128
|
+
return {
|
|
129
|
+
preparedText: text,
|
|
130
|
+
restore: translatedText => translatedText,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
const replacements = [];
|
|
134
|
+
let preparedText = text;
|
|
135
|
+
Object.entries(glossary)
|
|
136
|
+
.sort(([left], [right]) => right.length - left.length)
|
|
137
|
+
.forEach(([sourceValue, translatedValue], index) => {
|
|
138
|
+
const placeholder = `TAONTERM${index}PLACEHOLDER`;
|
|
139
|
+
preparedText = preparedText.replaceAll(sourceValue, placeholder);
|
|
140
|
+
replacements.push({
|
|
141
|
+
placeholder,
|
|
142
|
+
translatedValue,
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
return {
|
|
146
|
+
preparedText,
|
|
147
|
+
restore(translatedText) {
|
|
148
|
+
let result = translatedText;
|
|
149
|
+
for (const replacement of replacements) {
|
|
150
|
+
result = result.replaceAll(replacement.placeholder, replacement.translatedValue);
|
|
151
|
+
}
|
|
152
|
+
return result;
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
getModelsCachePath() {
|
|
157
|
+
const cachePath = crossPlatformPath([
|
|
158
|
+
UtilsOs.getRealHomeDir(),
|
|
159
|
+
dotTaonFolder,
|
|
160
|
+
'ai-models-cache',
|
|
161
|
+
]);
|
|
162
|
+
mkdirSync(cachePath, {
|
|
163
|
+
recursive: true,
|
|
164
|
+
});
|
|
165
|
+
return cachePath;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=local-translation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-translation.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
package/lib-esm/lib/start-cli.js
CHANGED
|
@@ -1,44 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
// import { CoreModels } from 'tnp-core/src';
|
|
3
|
-
// import { Helpers, BaseCommandLineFeature } from 'tnp-helpers/src';
|
|
4
|
-
// import { BaseProject, BaseStartConfig } from 'tnp-helpers/src'; // @backend
|
|
5
|
-
// class $Global extends BaseCommandLineFeature<{}> {
|
|
6
|
-
// static [CoreModels.ClassNameStaticProperty] = '';
|
|
7
|
-
// public _() {
|
|
8
|
-
// console.log(`Hello world from cli`);
|
|
9
|
-
// this._exit();
|
|
10
|
-
// }
|
|
11
|
-
// }
|
|
12
|
-
//#endregion
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* @param argsv process.argsv
|
|
16
|
-
* @param filename needed if you want ipc communicaiton
|
|
17
|
-
*/
|
|
1
|
+
import { LocalTranslationService } from './local-translation';
|
|
18
2
|
export async function startCli(argsv, filename) {
|
|
19
3
|
//#region @backendFunc
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// classOrFnName: '$Version',
|
|
29
|
-
// funcOrClass: $Global,
|
|
30
|
-
// },
|
|
31
|
-
// ],
|
|
32
|
-
// argsv,
|
|
33
|
-
// useStringArrForArgsFunctions: true,
|
|
34
|
-
// shortArgsReplaceConfig: {
|
|
35
|
-
// v: 'version',
|
|
36
|
-
// },
|
|
37
|
-
// callbackNotRecognizedCommand: async () => {
|
|
38
|
-
// Helpers.error(`Command not recognized`, false, true);
|
|
39
|
-
// },
|
|
40
|
-
// });
|
|
41
|
-
//#endregion
|
|
4
|
+
const s = new LocalTranslationService();
|
|
5
|
+
const result = await s.translate({
|
|
6
|
+
from: 'en-US',
|
|
7
|
+
to: 'de-DE',
|
|
8
|
+
text: argsv.slice(2).join(' '),
|
|
9
|
+
});
|
|
10
|
+
console.log(`Translated: ${result}`);
|
|
11
|
+
process.exit(0);
|
|
42
12
|
//#endregion
|
|
43
13
|
}
|
|
44
14
|
export default startCli;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-cli.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"start-cli.js","sourceRoot":"","sources":[""],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAe,EACf,QAAgB;IAEhB,sBAAsB;IACtB,MAAM,CAAC,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,CAAC;QAC/B,IAAI,EAAE,OAAO;QACb,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/B,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,YAAY;AACd,CAAC;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { UtilsPoFile } from "./utils-po-file";
|
|
2
|
+
describe('UtilsPoFile.extractPoToJson', () => {
|
|
3
|
+
it('extracts Poedit PO entries and ignores empty translations', () => {
|
|
4
|
+
const poContent = `
|
|
5
|
+
msgid ""
|
|
6
|
+
msgstr ""
|
|
7
|
+
"Project-Id-Version: \\\\n"
|
|
8
|
+
"Language: de_DE\\\\n"
|
|
9
|
+
"Content-Type: text/plain; charset=UTF-8\\\\n"
|
|
10
|
+
"X-Generator: Poedit 3.9\\\\n"
|
|
11
|
+
|
|
12
|
+
#: lib/gm-special-draw-api/gm-special-draw.model.ts
|
|
13
|
+
msgid "13-er Ergebniswette"
|
|
14
|
+
msgstr ""
|
|
15
|
+
|
|
16
|
+
#: lib/gm-messages/gm-messages.ts
|
|
17
|
+
msgid "Device not found"
|
|
18
|
+
msgstr "Gerät nicht gefunden"
|
|
19
|
+
|
|
20
|
+
#: lib/gm-messages/gm-messages.ts
|
|
21
|
+
msgid "Discount amount exceeds minimum amount"
|
|
22
|
+
msgstr " "
|
|
23
|
+
|
|
24
|
+
#: lib/gm-messages/gm-messages.ts lib/gm-messages/gm-rpc-generated-errors.ts
|
|
25
|
+
msgid "Data corrupted"
|
|
26
|
+
msgstr "Daten beschädigt"
|
|
27
|
+
`;
|
|
28
|
+
const result = UtilsPoFile.extractPoToJson(poContent);
|
|
29
|
+
expect(result).toEqual([
|
|
30
|
+
{
|
|
31
|
+
fileAbsPath: 'lib/gm-special-draw-api/gm-special-draw.model.ts',
|
|
32
|
+
fileRelativePath: 'lib/gm-special-draw-api/gm-special-draw.model.ts',
|
|
33
|
+
tags: [
|
|
34
|
+
{
|
|
35
|
+
lineNumber: 0,
|
|
36
|
+
gettextString: '13-er Ergebniswette',
|
|
37
|
+
context: undefined,
|
|
38
|
+
translation: undefined,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
fileAbsPath: 'lib/gm-messages/gm-messages.ts',
|
|
44
|
+
fileRelativePath: 'lib/gm-messages/gm-messages.ts',
|
|
45
|
+
tags: [
|
|
46
|
+
{
|
|
47
|
+
lineNumber: 0,
|
|
48
|
+
gettextString: 'Device not found',
|
|
49
|
+
context: undefined,
|
|
50
|
+
translation: 'Gerät nicht gefunden',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
lineNumber: 0,
|
|
54
|
+
gettextString: 'Discount amount exceeds minimum amount',
|
|
55
|
+
context: undefined,
|
|
56
|
+
translation: undefined,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
lineNumber: 0,
|
|
60
|
+
gettextString: 'Data corrupted',
|
|
61
|
+
context: undefined,
|
|
62
|
+
translation: 'Daten beschädigt',
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
fileAbsPath: 'lib/gm-messages/gm-rpc-generated-errors.ts',
|
|
68
|
+
fileRelativePath: 'lib/gm-messages/gm-rpc-generated-errors.ts',
|
|
69
|
+
tags: [
|
|
70
|
+
{
|
|
71
|
+
lineNumber: 0,
|
|
72
|
+
gettextString: 'Data corrupted',
|
|
73
|
+
context: undefined,
|
|
74
|
+
translation: 'Daten beschädigt',
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
]);
|
|
79
|
+
});
|
|
80
|
+
it('supports references containing line numbers', () => {
|
|
81
|
+
const poContent = `
|
|
82
|
+
#: lib/example.ts:15 lib/second.ts:31
|
|
83
|
+
msgid "Device not found"
|
|
84
|
+
msgstr "Gerät nicht gefunden"
|
|
85
|
+
`;
|
|
86
|
+
expect(UtilsPoFile.extractPoToJson(poContent)).toEqual([
|
|
87
|
+
{
|
|
88
|
+
fileAbsPath: 'lib/example.ts',
|
|
89
|
+
fileRelativePath: 'lib/example.ts',
|
|
90
|
+
tags: [
|
|
91
|
+
{
|
|
92
|
+
lineNumber: 15,
|
|
93
|
+
gettextString: 'Device not found',
|
|
94
|
+
context: undefined,
|
|
95
|
+
translation: 'Gerät nicht gefunden',
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
fileAbsPath: 'lib/second.ts',
|
|
101
|
+
fileRelativePath: 'lib/second.ts',
|
|
102
|
+
tags: [
|
|
103
|
+
{
|
|
104
|
+
lineNumber: 31,
|
|
105
|
+
gettextString: 'Device not found',
|
|
106
|
+
context: undefined,
|
|
107
|
+
translation: 'Gerät nicht gefunden',
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
},
|
|
111
|
+
]);
|
|
112
|
+
});
|
|
113
|
+
it('supports PO files containing UTF-8 BOM', () => {
|
|
114
|
+
const poContent = '\uFEFF' +
|
|
115
|
+
`
|
|
116
|
+
msgid ""
|
|
117
|
+
msgstr ""
|
|
118
|
+
"Language: de_DE\\\\n"
|
|
119
|
+
|
|
120
|
+
#: lib/example.ts:4
|
|
121
|
+
msgid "Access prohibited"
|
|
122
|
+
msgstr "Zugriff verboten"
|
|
123
|
+
`;
|
|
124
|
+
const result = UtilsPoFile.extractPoToJson(poContent);
|
|
125
|
+
expect(result[0]?.tags[0]?.translation).toBe('Zugriff verboten');
|
|
126
|
+
});
|
|
127
|
+
it('escapes translations when generating PO content', () => {
|
|
128
|
+
const result = UtilsPoFile.generatePoFileContent([
|
|
129
|
+
{
|
|
130
|
+
fileAbsPath: '/project/lib/example.ts',
|
|
131
|
+
fileRelativePath: 'lib/example.ts',
|
|
132
|
+
tags: [
|
|
133
|
+
{
|
|
134
|
+
lineNumber: 10,
|
|
135
|
+
gettextString: 'Displayed "message"',
|
|
136
|
+
translation: 'Eine "Nachricht"\\nmit neuer Zeile',
|
|
137
|
+
},
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
], 'de-DE');
|
|
141
|
+
expect(result).toContain('msgid "Displayed \\"message\\""');
|
|
142
|
+
expect(result).toContain('msgstr "Eine \\"Nachricht\\"\\\\nmit neuer Zeile"');
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
//# sourceMappingURL=utils-po-file-extracto-to-json.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-po-file-extracto-to-json.test.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|