@taon-dev/i18n 21.0.49 → 21.0.51

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.
Files changed (119) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/i18n-browser.mjs +88 -6
  3. package/browser/fesm2022/i18n-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/i18n-browser.d.ts +11 -26
  6. package/browser-prod/fesm2022/i18n-browser-prod.mjs +88 -6
  7. package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +1 -1
  8. package/browser-prod/package.json +1 -1
  9. package/browser-prod/types/i18n-browser-prod.d.ts +11 -26
  10. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  11. package/full-dts/index._auto-generated_.d.ts +1 -2
  12. package/full-dts/local-translation.d.ts +8 -1
  13. package/lib/build-info._auto-generated_.d.ts +1 -1
  14. package/lib/build-info._auto-generated_.js +1 -1
  15. package/lib/index._auto-generated_.d.ts +0 -1
  16. package/lib/index._auto-generated_.js +0 -1
  17. package/lib/index._auto-generated_.js.map +1 -1
  18. package/lib/local-translation.d.ts +8 -1
  19. package/lib/local-translation.js +90 -6
  20. package/lib/local-translation.js.map +1 -1
  21. package/lib/package.json +1 -1
  22. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  23. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  24. package/lib-esm/lib/index._auto-generated_.d.ts +0 -1
  25. package/lib-esm/lib/index._auto-generated_.js +0 -1
  26. package/lib-esm/lib/index._auto-generated_.js.map +1 -1
  27. package/lib-esm/lib/local-translation.d.ts +8 -1
  28. package/lib-esm/lib/local-translation.js +90 -8
  29. package/lib-esm/lib/local-translation.js.map +1 -1
  30. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  31. package/lib-prod/build-info._auto-generated_.js +1 -1
  32. package/lib-prod/index._auto-generated_.d.ts +0 -1
  33. package/lib-prod/index._auto-generated_.js +0 -1
  34. package/lib-prod/index._auto-generated_.js.map +1 -1
  35. package/lib-prod/local-translation.d.ts +8 -1
  36. package/lib-prod/local-translation.js +90 -6
  37. package/lib-prod/local-translation.js.map +1 -1
  38. package/lib-prod/package.json +1 -1
  39. package/package.json +1 -1
  40. package/ts-source/browser-code/build-info._auto-generated_.ts +9 -4
  41. package/ts-source/browser-code/i18n/lib.translation.ts +8 -3
  42. package/ts-source/browser-code/i18n/translation.ts.en-US.i18n.data.ts +8 -3
  43. package/ts-source/browser-code/i18n/translation.ts.pl-PL.i18n.data.ts +8 -3
  44. package/ts-source/browser-code/index._auto-generated_.ts +8 -4
  45. package/ts-source/browser-code/index.scss +8 -3
  46. package/ts-source/browser-code/index.ts +8 -3
  47. package/ts-source/browser-code/local-translation.ts +40 -3
  48. package/ts-source/browser-code/start-cli.ts +8 -3
  49. package/ts-source/browser-code/translate.directive.ts +8 -3
  50. package/ts-source/browser-code/translate.pipe.ts +8 -3
  51. package/ts-source/browser-code/translate.service.ts +8 -3
  52. package/ts-source/browser-code/translation-manager.ts +8 -3
  53. package/ts-source/browser-code/translation.models.ts +8 -3
  54. package/ts-source/browser-code/translation.ts +8 -3
  55. package/ts-source/browser-code/utils-i18n-extract-gettext-translate-from-html.ts +8 -3
  56. package/ts-source/browser-code/utils-i18n-html.ts +8 -3
  57. package/ts-source/browser-code/utils-po-file.ts +8 -3
  58. package/ts-source/browser-code-prod/build-info._auto-generated_.ts +9 -4
  59. package/ts-source/browser-code-prod/i18n/lib.translation.ts +8 -3
  60. package/ts-source/browser-code-prod/i18n/translation.ts.en-US.i18n.data.ts +8 -3
  61. package/ts-source/browser-code-prod/i18n/translation.ts.pl-PL.i18n.data.ts +8 -3
  62. package/ts-source/browser-code-prod/index._auto-generated_.ts +8 -4
  63. package/ts-source/browser-code-prod/index.scss +8 -3
  64. package/ts-source/browser-code-prod/index.ts +8 -3
  65. package/ts-source/browser-code-prod/local-translation.ts +40 -3
  66. package/ts-source/browser-code-prod/start-cli.ts +8 -3
  67. package/ts-source/browser-code-prod/translate.directive.ts +8 -3
  68. package/ts-source/browser-code-prod/translate.pipe.ts +8 -3
  69. package/ts-source/browser-code-prod/translate.service.ts +8 -3
  70. package/ts-source/browser-code-prod/translation-manager.ts +8 -3
  71. package/ts-source/browser-code-prod/translation.models.ts +8 -3
  72. package/ts-source/browser-code-prod/translation.ts +8 -3
  73. package/ts-source/browser-code-prod/utils-i18n-extract-gettext-translate-from-html.ts +8 -3
  74. package/ts-source/browser-code-prod/utils-i18n-html.ts +8 -3
  75. package/ts-source/browser-code-prod/utils-po-file.ts +8 -3
  76. package/ts-source/websql-code/build-info._auto-generated_.ts +9 -4
  77. package/ts-source/websql-code/i18n/lib.translation.ts +8 -3
  78. package/ts-source/websql-code/i18n/translation.ts.en-US.i18n.data.ts +8 -3
  79. package/ts-source/websql-code/i18n/translation.ts.pl-PL.i18n.data.ts +8 -3
  80. package/ts-source/websql-code/index._auto-generated_.ts +8 -4
  81. package/ts-source/websql-code/index.scss +8 -3
  82. package/ts-source/websql-code/index.ts +8 -3
  83. package/ts-source/websql-code/local-translation.ts +40 -3
  84. package/ts-source/websql-code/start-cli.ts +8 -3
  85. package/ts-source/websql-code/translate.directive.ts +8 -3
  86. package/ts-source/websql-code/translate.pipe.ts +8 -3
  87. package/ts-source/websql-code/translate.service.ts +8 -3
  88. package/ts-source/websql-code/translation-manager.ts +8 -3
  89. package/ts-source/websql-code/translation.models.ts +8 -3
  90. package/ts-source/websql-code/translation.ts +8 -3
  91. package/ts-source/websql-code/utils-i18n-extract-gettext-translate-from-html.ts +8 -3
  92. package/ts-source/websql-code/utils-i18n-html.ts +8 -3
  93. package/ts-source/websql-code/utils-po-file.ts +8 -3
  94. package/ts-source/websql-code-prod/build-info._auto-generated_.ts +9 -4
  95. package/ts-source/websql-code-prod/i18n/lib.translation.ts +8 -3
  96. package/ts-source/websql-code-prod/i18n/translation.ts.en-US.i18n.data.ts +8 -3
  97. package/ts-source/websql-code-prod/i18n/translation.ts.pl-PL.i18n.data.ts +8 -3
  98. package/ts-source/websql-code-prod/index._auto-generated_.ts +8 -4
  99. package/ts-source/websql-code-prod/index.scss +8 -3
  100. package/ts-source/websql-code-prod/index.ts +8 -3
  101. package/ts-source/websql-code-prod/local-translation.ts +40 -3
  102. package/ts-source/websql-code-prod/start-cli.ts +8 -3
  103. package/ts-source/websql-code-prod/translate.directive.ts +8 -3
  104. package/ts-source/websql-code-prod/translate.pipe.ts +8 -3
  105. package/ts-source/websql-code-prod/translate.service.ts +8 -3
  106. package/ts-source/websql-code-prod/translation-manager.ts +8 -3
  107. package/ts-source/websql-code-prod/translation.models.ts +8 -3
  108. package/ts-source/websql-code-prod/translation.ts +8 -3
  109. package/ts-source/websql-code-prod/utils-i18n-extract-gettext-translate-from-html.ts +8 -3
  110. package/ts-source/websql-code-prod/utils-i18n-html.ts +8 -3
  111. package/ts-source/websql-code-prod/utils-po-file.ts +8 -3
  112. package/websql/fesm2022/i18n-websql.mjs +88 -6
  113. package/websql/fesm2022/i18n-websql.mjs.map +1 -1
  114. package/websql/package.json +1 -1
  115. package/websql/types/i18n-websql.d.ts +11 -26
  116. package/websql-prod/fesm2022/i18n-websql-prod.mjs +88 -6
  117. package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +1 -1
  118. package/websql-prod/package.json +1 -1
  119. package/websql-prod/types/i18n-websql-prod.d.ts +11 -26
@@ -5,9 +5,15 @@ export interface TranslationOptions {
5
5
  from: UtilsI18n.CommonLocaleCode;
6
6
  to: UtilsI18n.CommonLocaleCode;
7
7
  /**
8
- * Nearby source-language text.
8
+ * Nearby source-language text used only to give the translator
9
+ * additional context.
10
+ *
11
+ * Context is never returned from translate().
9
12
  */
10
13
  context?: string;
14
+ /**
15
+ * Source terms that should be replaced with specific translated terms.
16
+ */
11
17
  glossary?: Record<string, string>;
12
18
  }
13
19
  export interface AiDownloadProgress {
@@ -64,5 +70,6 @@ export declare class LocalTranslationService {
64
70
  private warmupTranslator;
65
71
  translate(options: TranslationOptions): Promise<string>;
66
72
  private protectGlossary;
73
+ private protectInterpolation;
67
74
  private getModelsCachePath;
68
75
  }
@@ -21,4 +21,4 @@ export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
21
21
  /**
22
22
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
23
23
  */
24
- export declare const CURRENT_PACKAGE_VERSION = "21.0.49";
24
+ export declare const CURRENT_PACKAGE_VERSION = "21.0.51";
@@ -25,6 +25,6 @@ exports.CURRENT_PACKAGE_TAON_VERSION = 'v21';
25
25
  /**
26
26
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
27
27
  */
28
- exports.CURRENT_PACKAGE_VERSION = '21.0.49';
28
+ exports.CURRENT_PACKAGE_VERSION = '21.0.51';
29
29
  // THIS FILE IS GENERATED - DO NOT MODIFY
30
30
  //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -7,4 +7,3 @@ export * from './translation';
7
7
  export * from './utils-i18n-extract-gettext-translate-from-html';
8
8
  export * from './utils-i18n-html';
9
9
  export * from './utils-po-file';
10
- export * from './i18n/lib.translation';
@@ -31,5 +31,4 @@ __exportStar(require("./translation"), exports);
31
31
  __exportStar(require("./utils-i18n-extract-gettext-translate-from-html"), exports);
32
32
  __exportStar(require("./utils-i18n-html"), exports);
33
33
  __exportStar(require("./utils-po-file"), exports);
34
- __exportStar(require("./i18n/lib.translation"), exports);
35
34
  //# sourceMappingURL=index._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,gEAA8C;AAC9C,sDAAoC;AACpC,8CAA4B;AAC5B,KAAK;AACL,KAAK;AACL,KAAK;AACL,wDAAsC;AACtC,uDAAqC;AACrC,gDAA8B;AAC9B,mFAAiE;AACjE,oDAAkC;AAClC,kDAAgC;AAChC,yDAAuC"}
1
+ {"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,cAAc;AACd,kEAAkE;AAClE,wCAAwC;AACxC,wDAAwD;AACxD,kCAAkC;AAClC,gEAA8C;AAC9C,sDAAoC;AACpC,8CAA4B;AAC5B,KAAK;AACL,KAAK;AACL,KAAK;AACL,wDAAsC;AACtC,uDAAqC;AACrC,gDAA8B;AAC9B,mFAAiE;AACjE,oDAAkC;AAClC,kDAAgC"}
@@ -4,9 +4,15 @@ export interface TranslationOptions {
4
4
  from: UtilsI18n.CommonLocaleCode;
5
5
  to: UtilsI18n.CommonLocaleCode;
6
6
  /**
7
- * Nearby source-language text.
7
+ * Nearby source-language text used only to give the translator
8
+ * additional context.
9
+ *
10
+ * Context is never returned from translate().
8
11
  */
9
12
  context?: string;
13
+ /**
14
+ * Source terms that should be replaced with specific translated terms.
15
+ */
10
16
  glossary?: Record<string, string>;
11
17
  }
12
18
  export interface AiDownloadProgress {
@@ -63,5 +69,6 @@ export declare class LocalTranslationService {
63
69
  private warmupTranslator;
64
70
  translate(options: TranslationOptions): Promise<string>;
65
71
  private protectGlossary;
72
+ private protectInterpolation;
66
73
  private getModelsCachePath;
67
74
  }
@@ -1,24 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LocalTranslationService = void 0;
4
+ //#region imports
4
5
  const lib_1 = require("tnp-core/lib");
6
+ //#endregion
7
+ //#region constants
5
8
  const MODEL_ID = 'Xenova/nllb-200-distilled-600M';
6
9
  const nllbLanguageCodes = {
7
10
  'en-US': 'eng_Latn',
8
11
  'pl-PL': 'pol_Latn',
9
12
  'de-DE': 'deu_Latn',
10
13
  };
14
+ const CONTEXT_SEPARATOR = '→';
15
+ //#endregion
11
16
  class LocalTranslationService {
17
+ //#region fields & getters
12
18
  translatorPromise;
13
19
  aiReady = false;
14
20
  warmupPromise;
15
21
  progressListeners = new Set();
22
+ //#endregion
16
23
  /**
17
24
  * Downloads, caches and loads the translation model.
18
25
  *
19
26
  * Multiple simultaneous calls share the same initialization promise.
20
27
  * After this resolves, translate() reuses the already loaded model.
21
28
  */
29
+ //#region methods / make sure ai downloaded
22
30
  async makeSureAiDownloaded(options = {}) {
23
31
  //#region @backendFunc
24
32
  const { onProgress, warmup = false } = options;
@@ -38,12 +46,16 @@ class LocalTranslationService {
38
46
  }
39
47
  //#endregion
40
48
  }
49
+ //#endregion
41
50
  /**
42
51
  * True only in this process after pipeline initialization succeeded.
43
52
  */
53
+ //#region methods / is ai ready
44
54
  isAiReady() {
45
55
  return this.aiReady;
46
56
  }
57
+ //#endregion
58
+ //#region methods / get translator
47
59
  getTranslator() {
48
60
  this.translatorPromise ??= this.createTranslator().catch(error => {
49
61
  // Allow a later call to retry after a network or disk failure.
@@ -53,6 +65,8 @@ class LocalTranslationService {
53
65
  });
54
66
  return this.translatorPromise;
55
67
  }
68
+ //#endregion
69
+ //#region methods / create translator
56
70
  async createTranslator() {
57
71
  //#region @backendFunc
58
72
  //#region @esmRemove
@@ -74,6 +88,8 @@ class LocalTranslationService {
74
88
  //#endregion
75
89
  return void 0;
76
90
  }
91
+ //#endregion
92
+ //#region methods / emit progress
77
93
  emitProgress(progress) {
78
94
  for (const listener of this.progressListeners) {
79
95
  try {
@@ -84,6 +100,8 @@ class LocalTranslationService {
84
100
  }
85
101
  }
86
102
  }
103
+ //#endregion
104
+ //#region methods / warmup translator
87
105
  warmupTranslator(translator) {
88
106
  this.warmupPromise ??= translator('Hello.', {
89
107
  src_lang: 'eng_Latn',
@@ -97,6 +115,8 @@ class LocalTranslationService {
97
115
  });
98
116
  return this.warmupPromise;
99
117
  }
118
+ //#endregion
119
+ //#region methods / translate
100
120
  async translate(options) {
101
121
  //#region @backendFunc
102
122
  let { text, context, from, to, glossary } = options;
@@ -115,19 +135,54 @@ class LocalTranslationService {
115
135
  if (!tgtLang) {
116
136
  throw new Error(`Unsupported target translation locale: ${toOrg}`);
117
137
  }
118
- const input = context?.trim()
119
- ? `${context.trim()}\n\n${text.trim()}`
138
+ /**
139
+ * Context is included so NLLB can use it while translating,
140
+ * but only content after CONTEXT_SEPARATOR is returned.
141
+ */
142
+ const hasContext = !!context?.trim();
143
+ const input = hasContext
144
+ ? `${context.trim()}\n\n${CONTEXT_SEPARATOR}\n\n${text.trim()}`
120
145
  : text;
121
- const protectedInput = this.protectGlossary(input, glossary);
146
+ /**
147
+ * Protect [[ ... ]] before doing glossary substitutions.
148
+ *
149
+ * This is intentionally first so glossary entries can never
150
+ * accidentally modify interpolation expressions.
151
+ */
152
+ const protectedInterpolation = this.protectInterpolation(input);
153
+ const protectedGlossary = this.protectGlossary(protectedInterpolation.preparedText, glossary);
122
154
  const translator = await this.getTranslator();
123
- const result = await translator(protectedInput.preparedText, {
155
+ const result = await translator(protectedGlossary.preparedText, {
124
156
  src_lang: srcLang,
125
157
  tgt_lang: tgtLang,
126
158
  });
127
- const translatedText = result[0]?.translation_text ?? '';
128
- return protectedInput.restore(translatedText);
159
+ let translatedText = result[0]?.translation_text ?? '';
160
+ /**
161
+ * Restore glossary values first, then interpolation expressions.
162
+ */
163
+ translatedText = protectedGlossary.restore(translatedText);
164
+ translatedText = protectedInterpolation.restore(translatedText);
165
+ /**
166
+ * Remove translated context from the final result.
167
+ */
168
+ if (hasContext) {
169
+ const separatorIndex = translatedText.lastIndexOf('→');
170
+ if (separatorIndex !== -1) {
171
+ translatedText = translatedText.slice(separatorIndex + 1).trim();
172
+ }
173
+ else {
174
+ // separator disappeared — never return context accidentally
175
+ return this.translate({
176
+ ...options,
177
+ context: undefined,
178
+ });
179
+ }
180
+ }
181
+ return translatedText;
129
182
  //#endregion
130
183
  }
184
+ //#endregion
185
+ //#region methods / protect glossary
131
186
  protectGlossary(text, glossary) {
132
187
  if (!glossary || Object.keys(glossary).length === 0) {
133
188
  return {
@@ -158,6 +213,35 @@ class LocalTranslationService {
158
213
  },
159
214
  };
160
215
  }
216
+ //#endregion
217
+ //#region methods / protect interpolation
218
+ protectInterpolation(text) {
219
+ const replacements = [];
220
+ const preparedText = text.replace(/\[\[[\s\S]*?\]\]/g, originalValue => {
221
+ const placeholder = `[[${replacements.length}]]`;
222
+ replacements.push({
223
+ placeholder,
224
+ originalValue,
225
+ });
226
+ return placeholder;
227
+ });
228
+ return {
229
+ preparedText,
230
+ restore(translatedText) {
231
+ let result = translatedText;
232
+ for (const replacement of replacements) {
233
+ if (!result.includes(replacement.placeholder)) {
234
+ throw new Error(`Translation model removed interpolation placeholder ` +
235
+ `"${replacement.placeholder}" while translating "${text}".`);
236
+ }
237
+ result = result.replaceAll(replacement.placeholder, replacement.originalValue);
238
+ }
239
+ return result;
240
+ },
241
+ };
242
+ }
243
+ //#endregion
244
+ //#region methods / get models cache path
161
245
  getModelsCachePath() {
162
246
  const cachePath = (0, lib_1.crossPlatformPath)([
163
247
  lib_1.UtilsOs.getRealHomeDir(),
@@ -1 +1 @@
1
- {"version":3,"file":"local-translation.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-translation.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
package/lib/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@taon-dev/i18n/lib",
3
- "version": "21.0.49"
3
+ "version": "21.0.51"
4
4
  }
@@ -21,4 +21,4 @@ export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
21
21
  /**
22
22
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
23
23
  */
24
- export declare const CURRENT_PACKAGE_VERSION = "21.0.49";
24
+ export declare const CURRENT_PACKAGE_VERSION = "21.0.51";
@@ -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.49';
25
+ export const CURRENT_PACKAGE_VERSION = '21.0.51';
26
26
  // THIS FILE IS GENERATED - DO NOT MODIFY
27
27
  //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -7,4 +7,3 @@ export * from './translation';
7
7
  export * from './utils-i18n-extract-gettext-translate-from-html';
8
8
  export * from './utils-i18n-html';
9
9
  export * from './utils-po-file';
10
- export * from './i18n/lib.translation';
@@ -15,5 +15,4 @@ export * from './translation';
15
15
  export * from './utils-i18n-extract-gettext-translate-from-html';
16
16
  export * from './utils-i18n-html';
17
17
  export * from './utils-po-file';
18
- export * from './i18n/lib.translation';
19
18
  //# sourceMappingURL=index._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,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"}
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"}
@@ -4,9 +4,15 @@ export interface TranslationOptions {
4
4
  from: UtilsI18n.CommonLocaleCode;
5
5
  to: UtilsI18n.CommonLocaleCode;
6
6
  /**
7
- * Nearby source-language text.
7
+ * Nearby source-language text used only to give the translator
8
+ * additional context.
9
+ *
10
+ * Context is never returned from translate().
8
11
  */
9
12
  context?: string;
13
+ /**
14
+ * Source terms that should be replaced with specific translated terms.
15
+ */
10
16
  glossary?: Record<string, string>;
11
17
  }
12
18
  export interface AiDownloadProgress {
@@ -63,5 +69,6 @@ export declare class LocalTranslationService {
63
69
  private warmupTranslator;
64
70
  translate(options: TranslationOptions): Promise<string>;
65
71
  private protectGlossary;
72
+ private protectInterpolation;
66
73
  private getModelsCachePath;
67
74
  }
@@ -1,21 +1,29 @@
1
+ //#region imports
1
2
  import { crossPlatformPath, dotTaonFolder, UtilsOs, _, Helpers, } from 'tnp-core/lib-esm';
3
+ //#endregion
4
+ //#region constants
2
5
  const MODEL_ID = 'Xenova/nllb-200-distilled-600M';
3
6
  const nllbLanguageCodes = {
4
7
  'en-US': 'eng_Latn',
5
8
  'pl-PL': 'pol_Latn',
6
9
  'de-DE': 'deu_Latn',
7
10
  };
11
+ const CONTEXT_SEPARATOR = '→';
12
+ //#endregion
8
13
  export class LocalTranslationService {
14
+ //#region fields & getters
9
15
  translatorPromise;
10
16
  aiReady = false;
11
17
  warmupPromise;
12
18
  progressListeners = new Set();
19
+ //#endregion
13
20
  /**
14
21
  * Downloads, caches and loads the translation model.
15
22
  *
16
23
  * Multiple simultaneous calls share the same initialization promise.
17
24
  * After this resolves, translate() reuses the already loaded model.
18
25
  */
26
+ //#region methods / make sure ai downloaded
19
27
  async makeSureAiDownloaded(options = {}) {
20
28
  //#region @backendFunc
21
29
  const { onProgress, warmup = false } = options;
@@ -35,12 +43,16 @@ export class LocalTranslationService {
35
43
  }
36
44
  //#endregion
37
45
  }
46
+ //#endregion
38
47
  /**
39
48
  * True only in this process after pipeline initialization succeeded.
40
49
  */
50
+ //#region methods / is ai ready
41
51
  isAiReady() {
42
52
  return this.aiReady;
43
53
  }
54
+ //#endregion
55
+ //#region methods / get translator
44
56
  getTranslator() {
45
57
  this.translatorPromise ??= this.createTranslator().catch(error => {
46
58
  // Allow a later call to retry after a network or disk failure.
@@ -50,6 +62,8 @@ export class LocalTranslationService {
50
62
  });
51
63
  return this.translatorPromise;
52
64
  }
65
+ //#endregion
66
+ //#region methods / create translator
53
67
  async createTranslator() {
54
68
  //#region @backendFunc
55
69
  /* */
@@ -73,11 +87,11 @@ export class LocalTranslationService {
73
87
  /* */
74
88
  /* */
75
89
  /* */
76
- /* */
77
- /* */
78
90
  //#endregion
79
91
  return void 0;
80
92
  }
93
+ //#endregion
94
+ //#region methods / emit progress
81
95
  emitProgress(progress) {
82
96
  for (const listener of this.progressListeners) {
83
97
  try {
@@ -88,6 +102,8 @@ export class LocalTranslationService {
88
102
  }
89
103
  }
90
104
  }
105
+ //#endregion
106
+ //#region methods / warmup translator
91
107
  warmupTranslator(translator) {
92
108
  this.warmupPromise ??= translator('Hello.', {
93
109
  src_lang: 'eng_Latn',
@@ -101,6 +117,8 @@ export class LocalTranslationService {
101
117
  });
102
118
  return this.warmupPromise;
103
119
  }
120
+ //#endregion
121
+ //#region methods / translate
104
122
  async translate(options) {
105
123
  //#region @backendFunc
106
124
  let { text, context, from, to, glossary } = options;
@@ -119,19 +137,54 @@ export class LocalTranslationService {
119
137
  if (!tgtLang) {
120
138
  throw new Error(`Unsupported target translation locale: ${toOrg}`);
121
139
  }
122
- const input = context?.trim()
123
- ? `${context.trim()}\n\n${text.trim()}`
140
+ /**
141
+ * Context is included so NLLB can use it while translating,
142
+ * but only content after CONTEXT_SEPARATOR is returned.
143
+ */
144
+ const hasContext = !!context?.trim();
145
+ const input = hasContext
146
+ ? `${context.trim()}\n\n${CONTEXT_SEPARATOR}\n\n${text.trim()}`
124
147
  : text;
125
- const protectedInput = this.protectGlossary(input, glossary);
148
+ /**
149
+ * Protect [[ ... ]] before doing glossary substitutions.
150
+ *
151
+ * This is intentionally first so glossary entries can never
152
+ * accidentally modify interpolation expressions.
153
+ */
154
+ const protectedInterpolation = this.protectInterpolation(input);
155
+ const protectedGlossary = this.protectGlossary(protectedInterpolation.preparedText, glossary);
126
156
  const translator = await this.getTranslator();
127
- const result = await translator(protectedInput.preparedText, {
157
+ const result = await translator(protectedGlossary.preparedText, {
128
158
  src_lang: srcLang,
129
159
  tgt_lang: tgtLang,
130
160
  });
131
- const translatedText = result[0]?.translation_text ?? '';
132
- return protectedInput.restore(translatedText);
161
+ let translatedText = result[0]?.translation_text ?? '';
162
+ /**
163
+ * Restore glossary values first, then interpolation expressions.
164
+ */
165
+ translatedText = protectedGlossary.restore(translatedText);
166
+ translatedText = protectedInterpolation.restore(translatedText);
167
+ /**
168
+ * Remove translated context from the final result.
169
+ */
170
+ if (hasContext) {
171
+ const separatorIndex = translatedText.lastIndexOf('→');
172
+ if (separatorIndex !== -1) {
173
+ translatedText = translatedText.slice(separatorIndex + 1).trim();
174
+ }
175
+ else {
176
+ // separator disappeared — never return context accidentally
177
+ return this.translate({
178
+ ...options,
179
+ context: undefined,
180
+ });
181
+ }
182
+ }
183
+ return translatedText;
133
184
  //#endregion
134
185
  }
186
+ //#endregion
187
+ //#region methods / protect glossary
135
188
  protectGlossary(text, glossary) {
136
189
  if (!glossary || Object.keys(glossary).length === 0) {
137
190
  return {
@@ -162,6 +215,35 @@ export class LocalTranslationService {
162
215
  },
163
216
  };
164
217
  }
218
+ //#endregion
219
+ //#region methods / protect interpolation
220
+ protectInterpolation(text) {
221
+ const replacements = [];
222
+ const preparedText = text.replace(/\[\[[\s\S]*?\]\]/g, originalValue => {
223
+ const placeholder = `[[${replacements.length}]]`;
224
+ replacements.push({
225
+ placeholder,
226
+ originalValue,
227
+ });
228
+ return placeholder;
229
+ });
230
+ return {
231
+ preparedText,
232
+ restore(translatedText) {
233
+ let result = translatedText;
234
+ for (const replacement of replacements) {
235
+ if (!result.includes(replacement.placeholder)) {
236
+ throw new Error(`Translation model removed interpolation placeholder ` +
237
+ `"${replacement.placeholder}" while translating "${text}".`);
238
+ }
239
+ result = result.replaceAll(replacement.placeholder, replacement.originalValue);
240
+ }
241
+ return result;
242
+ },
243
+ };
244
+ }
245
+ //#endregion
246
+ //#region methods / get models cache path
165
247
  getModelsCachePath() {
166
248
  const cachePath = crossPlatformPath([
167
249
  UtilsOs.getRealHomeDir(),
@@ -1 +1 @@
1
- {"version":3,"file":"local-translation.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-translation.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -21,4 +21,4 @@ export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
21
21
  /**
22
22
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
23
23
  */
24
- export declare const CURRENT_PACKAGE_VERSION = "21.0.49";
24
+ export declare const CURRENT_PACKAGE_VERSION = "21.0.51";
@@ -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.49';
25
+ export const CURRENT_PACKAGE_VERSION = '21.0.51';
26
26
  // THIS FILE IS GENERATED - DO NOT MODIFY
27
27
  //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -7,4 +7,3 @@ export * from './translation';
7
7
  export * from './utils-i18n-extract-gettext-translate-from-html';
8
8
  export * from './utils-i18n-html';
9
9
  export * from './utils-po-file';
10
- export * from './i18n/lib.translation';
@@ -15,5 +15,4 @@ export * from './translation';
15
15
  export * from './utils-i18n-extract-gettext-translate-from-html';
16
16
  export * from './utils-i18n-html';
17
17
  export * from './utils-po-file';
18
- export * from './i18n/lib.translation';
19
18
  //# sourceMappingURL=index._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,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"}
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"}
@@ -4,9 +4,15 @@ export interface TranslationOptions {
4
4
  from: UtilsI18n__NS__CommonLocaleCode;
5
5
  to: UtilsI18n__NS__CommonLocaleCode;
6
6
  /**
7
- * Nearby source-language text.
7
+ * Nearby source-language text used only to give the translator
8
+ * additional context.
9
+ *
10
+ * Context is never returned from translate().
8
11
  */
9
12
  context?: string;
13
+ /**
14
+ * Source terms that should be replaced with specific translated terms.
15
+ */
10
16
  glossary?: Record<string, string>;
11
17
  }
12
18
  export interface AiDownloadProgress {
@@ -63,5 +69,6 @@ export declare class LocalTranslationService {
63
69
  private warmupTranslator;
64
70
  translate(options: TranslationOptions): Promise<string>;
65
71
  private protectGlossary;
72
+ private protectInterpolation;
66
73
  private getModelsCachePath;
67
74
  }