@taon-dev/i18n 21.0.35 → 21.0.42

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 (201) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +2 -2
  2. package/bin/start.js +37 -37
  3. package/browser/README.md +24 -24
  4. package/browser/fesm2022/i18n-browser.mjs +20 -12
  5. package/browser/fesm2022/i18n-browser.mjs.map +1 -1
  6. package/browser/package.json +1 -1
  7. package/browser/types/i18n-browser.d.ts +11 -7
  8. package/browser-prod/README.md +24 -24
  9. package/browser-prod/fesm2022/i18n-browser-prod.mjs +20 -12
  10. package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +1 -1
  11. package/browser-prod/package.json +1 -1
  12. package/browser-prod/types/i18n-browser-prod.d.ts +11 -7
  13. package/full-dts/build-info._auto-generated_.d.ts +24 -0
  14. package/full-dts/env/env.angular-node-app.d.ts +68 -0
  15. package/full-dts/env/env.docs-webapp.d.ts +68 -0
  16. package/full-dts/env/env.electron-app.d.ts +68 -0
  17. package/full-dts/env/env.mobile-app.d.ts +68 -0
  18. package/full-dts/env/env.npm-lib-and-cli-tool.d.ts +68 -0
  19. package/full-dts/env/env.vscode-plugin.d.ts +68 -0
  20. package/full-dts/env/index.d.ts +6 -0
  21. package/full-dts/i18n/lib.translation.d.ts +4 -0
  22. package/full-dts/i18n/translation.ts.en-US.i18n.data.d.ts +17 -0
  23. package/full-dts/i18n/translation.ts.pl-PL.i18n.data.d.ts +17 -0
  24. package/full-dts/index._auto-generated_.d.ts +13 -0
  25. package/full-dts/index.d.ts +4 -0
  26. package/full-dts/local-translation.d.ts +67 -0
  27. package/full-dts/start-cli.d.ts +2 -0
  28. package/full-dts/translation-manager.d.ts +34 -0
  29. package/full-dts/translation.d.ts +48 -0
  30. package/full-dts/translation.models.d.ts +25 -0
  31. package/full-dts/utils-i18n-extract-gettext-translate-from-html.d.ts +4 -0
  32. package/full-dts/utils-i18n-extract-gettext-translate-from-html.test.d.ts +1 -0
  33. package/full-dts/utils-i18n-html.d.ts +9 -0
  34. package/full-dts/utils-i18n-html.test.d.ts +1 -0
  35. package/full-dts/utils-po-file-extracto-to-json.test.d.ts +1 -0
  36. package/full-dts/utils-po-file.d.ts +8 -0
  37. package/full-dts/utils-po-file.test.d.ts +1 -0
  38. package/lib/build-info._auto-generated_.d.ts +1 -1
  39. package/lib/build-info._auto-generated_.js +1 -1
  40. package/lib/env/env.angular-node-app.d.ts +1 -0
  41. package/lib/env/env.angular-node-app.js +6 -2
  42. package/lib/env/env.angular-node-app.js.map +1 -1
  43. package/lib/env/env.docs-webapp.d.ts +1 -0
  44. package/lib/env/env.docs-webapp.js +6 -2
  45. package/lib/env/env.docs-webapp.js.map +1 -1
  46. package/lib/env/env.electron-app.d.ts +1 -0
  47. package/lib/env/env.electron-app.js +6 -2
  48. package/lib/env/env.electron-app.js.map +1 -1
  49. package/lib/env/env.mobile-app.d.ts +1 -0
  50. package/lib/env/env.mobile-app.js +6 -2
  51. package/lib/env/env.mobile-app.js.map +1 -1
  52. package/lib/env/env.npm-lib-and-cli-tool.d.ts +1 -0
  53. package/lib/env/env.npm-lib-and-cli-tool.js +6 -2
  54. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  55. package/lib/env/env.vscode-plugin.d.ts +1 -0
  56. package/lib/env/env.vscode-plugin.js +6 -2
  57. package/lib/env/env.vscode-plugin.js.map +1 -1
  58. package/lib/i18n/lib.translation.d.ts +2 -2
  59. package/lib/i18n/translation.ts.en-US.i18n.data.js +3 -3
  60. package/lib/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  61. package/lib/index._auto-generated_.d.ts +1 -4
  62. package/lib/local-translation.d.ts +2 -2
  63. package/lib/package.json +1 -1
  64. package/lib/translation-manager.d.ts +2 -2
  65. package/lib/translation.d.ts +8 -5
  66. package/lib/translation.js +5 -1
  67. package/lib/translation.js.map +1 -1
  68. package/lib/translation.models.d.ts +2 -2
  69. package/lib/utils-i18n-extract-gettext-translate-from-html.d.ts +2 -2
  70. package/lib/utils-i18n-html.d.ts +2 -2
  71. package/lib/utils-po-file.d.ts +2 -2
  72. package/lib-esm/app/main-page/main-page.active.context.d.ts +0 -20
  73. package/lib-esm/app/main-page/main-page.active.context.js +1 -18
  74. package/lib-esm/app/main-page/main-page.active.context.js.map +1 -1
  75. package/lib-esm/app/main-page/main-page.container.d.ts +0 -0
  76. package/lib-esm/app/main-page/main-page.container.js +2 -0
  77. package/lib-esm/app/main-page/main-page.container.js.map +1 -0
  78. package/lib-esm/app/main-page/main-page.routes.d.ts +0 -0
  79. package/lib-esm/app/main-page/main-page.routes.js +2 -0
  80. package/lib-esm/app/main-page/main-page.routes.js.map +1 -0
  81. package/lib-esm/app.d.ts +0 -3
  82. package/lib-esm/app.electron.d.ts +0 -1
  83. package/lib-esm/app.electron.js +1 -1
  84. package/lib-esm/app.electron.js.map +1 -1
  85. package/lib-esm/app.hosts.d.ts +0 -147
  86. package/lib-esm/app.hosts.js +1 -216
  87. package/lib-esm/app.hosts.js.map +1 -1
  88. package/lib-esm/app.js +1 -459
  89. package/lib-esm/app.js.map +1 -1
  90. package/lib-esm/app.vscode.js +1 -54
  91. package/lib-esm/app.vscode.js.map +1 -1
  92. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  93. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  94. package/lib-esm/lib/env/env.angular-node-app.d.ts +1 -0
  95. package/lib-esm/lib/env/env.angular-node-app.js +3 -0
  96. package/lib-esm/lib/env/env.angular-node-app.js.map +1 -1
  97. package/lib-esm/lib/env/env.docs-webapp.d.ts +1 -0
  98. package/lib-esm/lib/env/env.docs-webapp.js +3 -0
  99. package/lib-esm/lib/env/env.docs-webapp.js.map +1 -1
  100. package/lib-esm/lib/env/env.electron-app.d.ts +1 -0
  101. package/lib-esm/lib/env/env.electron-app.js +3 -0
  102. package/lib-esm/lib/env/env.electron-app.js.map +1 -1
  103. package/lib-esm/lib/env/env.mobile-app.d.ts +1 -0
  104. package/lib-esm/lib/env/env.mobile-app.js +3 -0
  105. package/lib-esm/lib/env/env.mobile-app.js.map +1 -1
  106. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +1 -0
  107. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +3 -0
  108. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  109. package/lib-esm/lib/env/env.vscode-plugin.d.ts +1 -0
  110. package/lib-esm/lib/env/env.vscode-plugin.js +3 -0
  111. package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -1
  112. package/lib-esm/lib/i18n/translation.ts.en-US.i18n.data.js +3 -3
  113. package/lib-esm/lib/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  114. package/lib-esm/lib/local-translation.js +23 -0
  115. package/lib-esm/lib/local-translation.js.map +1 -1
  116. package/lib-esm/lib/translation.d.ts +4 -0
  117. package/lib-esm/lib/translation.js +5 -1
  118. package/lib-esm/lib/translation.js.map +1 -1
  119. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js +146 -0
  120. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js.map +1 -1
  121. package/lib-esm/lib/utils-i18n-html.js +245 -0
  122. package/lib-esm/lib/utils-i18n-html.js.map +1 -1
  123. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  124. package/lib-prod/build-info._auto-generated_.js +1 -1
  125. package/lib-prod/env/env.angular-node-app.d.ts +1 -0
  126. package/lib-prod/env/env.angular-node-app.js +3 -0
  127. package/lib-prod/env/env.angular-node-app.js.map +1 -1
  128. package/lib-prod/env/env.docs-webapp.d.ts +1 -0
  129. package/lib-prod/env/env.docs-webapp.js +3 -0
  130. package/lib-prod/env/env.docs-webapp.js.map +1 -1
  131. package/lib-prod/env/env.electron-app.d.ts +1 -0
  132. package/lib-prod/env/env.electron-app.js +3 -0
  133. package/lib-prod/env/env.electron-app.js.map +1 -1
  134. package/lib-prod/env/env.mobile-app.d.ts +1 -0
  135. package/lib-prod/env/env.mobile-app.js +3 -0
  136. package/lib-prod/env/env.mobile-app.js.map +1 -1
  137. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +1 -0
  138. package/lib-prod/env/env.npm-lib-and-cli-tool.js +3 -0
  139. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -1
  140. package/lib-prod/env/env.vscode-plugin.d.ts +1 -0
  141. package/lib-prod/env/env.vscode-plugin.js +3 -0
  142. package/lib-prod/env/env.vscode-plugin.js.map +1 -1
  143. package/lib-prod/i18n/translation.ts.en-US.i18n.data.js +3 -3
  144. package/lib-prod/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  145. package/lib-prod/local-translation.js.map +1 -1
  146. package/lib-prod/package.json +1 -1
  147. package/lib-prod/translation-manager.js.map +1 -1
  148. package/lib-prod/translation.d.ts +4 -0
  149. package/lib-prod/translation.js +5 -1
  150. package/lib-prod/translation.js.map +1 -1
  151. package/package.json +1 -1
  152. package/src.d.ts +1 -1
  153. package/websql/README.md +24 -24
  154. package/websql/fesm2022/i18n-websql.mjs +20 -12
  155. package/websql/fesm2022/i18n-websql.mjs.map +1 -1
  156. package/websql/package.json +1 -1
  157. package/websql/types/i18n-websql.d.ts +11 -7
  158. package/websql-prod/README.md +24 -24
  159. package/websql-prod/fesm2022/i18n-websql-prod.mjs +20 -12
  160. package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +1 -1
  161. package/websql-prod/package.json +1 -1
  162. package/websql-prod/types/i18n-websql-prod.d.ts +11 -7
  163. package/lib/translate.directive.d.ts +0 -16
  164. package/lib/translate.pipe.d.ts +0 -10
  165. package/lib/translate.service.d.ts +0 -7
  166. package/lib/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  167. package/lib/utils-i18n-extract-gettext-translate-from-html.test.js +0 -324
  168. package/lib/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  169. package/lib/utils-i18n-html.test.d.ts +0 -1
  170. package/lib/utils-i18n-html.test.js +0 -182
  171. package/lib/utils-i18n-html.test.js.map +0 -1
  172. package/lib/utils-po-file-extracto-to-json.test.d.ts +0 -1
  173. package/lib/utils-po-file-extracto-to-json.test.js +0 -147
  174. package/lib/utils-po-file-extracto-to-json.test.js.map +0 -1
  175. package/lib/utils-po-file.test.d.ts +0 -1
  176. package/lib/utils-po-file.test.js +0 -241
  177. package/lib/utils-po-file.test.js.map +0 -1
  178. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  179. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.js +0 -322
  180. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  181. package/lib-esm/lib/utils-i18n-html.test.d.ts +0 -1
  182. package/lib-esm/lib/utils-i18n-html.test.js +0 -180
  183. package/lib-esm/lib/utils-i18n-html.test.js.map +0 -1
  184. package/lib-esm/lib/utils-po-file-extracto-to-json.test.d.ts +0 -1
  185. package/lib-esm/lib/utils-po-file-extracto-to-json.test.js +0 -145
  186. package/lib-esm/lib/utils-po-file-extracto-to-json.test.js.map +0 -1
  187. package/lib-esm/lib/utils-po-file.test.d.ts +0 -1
  188. package/lib-esm/lib/utils-po-file.test.js +0 -239
  189. package/lib-esm/lib/utils-po-file.test.js.map +0 -1
  190. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.d.ts +0 -1
  191. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.js +0 -322
  192. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.test.js.map +0 -1
  193. package/lib-prod/utils-i18n-html.test.d.ts +0 -1
  194. package/lib-prod/utils-i18n-html.test.js +0 -180
  195. package/lib-prod/utils-i18n-html.test.js.map +0 -1
  196. package/lib-prod/utils-po-file-extracto-to-json.test.d.ts +0 -1
  197. package/lib-prod/utils-po-file-extracto-to-json.test.js +0 -145
  198. package/lib-prod/utils-po-file-extracto-to-json.test.js.map +0 -1
  199. package/lib-prod/utils-po-file.test.d.ts +0 -1
  200. package/lib-prod/utils-po-file.test.js +0 -239
  201. package/lib-prod/utils-po-file.test.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "commitHash": "2c41d062454004f2784fcc9e4d7747de563aa839",
2
+ "commitHash": "fdcc488f2855c0b4fed3b038352d4a12688a4f3c",
3
3
  "commitName": "chore: update",
4
- "commitDate": "10-08-2026 16:03:11"
4
+ "commitDate": "11-10-2026 20:53:48"
5
5
  }
package/bin/start.js CHANGED
@@ -1,38 +1,38 @@
1
- global.frameworkName = 'i18n';
2
- Error.stackTraceLimit = 100;
3
- global.i0 = {
4
- defineInjectable: function () { }
5
- }
6
- const process= require('process');
7
- global.currentTaonScriptStartDateTime = process.hrtime.bigint();
8
-
9
- process.removeAllListeners('warning');
10
- var argv = process.argv;
11
-
12
- global.hideLog = true;
13
- global.verboseLevel = 0;
14
- var verboseLevel = argv.find(a => a.startsWith('-verbose='));
15
- if (typeof verboseLevel !== 'undefined') {
16
- global.hideLog = false;
17
- verboseLevel = Number(verboseLevel.replace('-verbose=', ''));
18
- if (!isNaN(verboseLevel)) {
19
- global.verboseLevel = verboseLevel;
20
- }
21
- argv = argv.filter(a => !a.startsWith('-verbose='));
22
- }
23
-
24
- if (argv.includes('-verbose')) {
25
- global.hideLog = false;
26
- argv = argv.filter(a => a !== '-verbose');
27
- }
28
-
29
- const fs = require('fs');
30
- const path = require('path');
31
- var pathToCliJS = {
32
- distDev: path.join(__dirname, '../dist/cli.js'),
33
- localOrNPm: path.join(__dirname, '../cli.js')
34
- }
35
- var p = fs.existsSync(pathToCliJS.distDev) ? pathToCliJS.distDev : pathToCliJS.localOrNPm;
36
- global.globalSystemToolMode = true;
37
- var run = require(p).startCli;
1
+ global.frameworkName = 'i18n';
2
+ Error.stackTraceLimit = 100;
3
+ global.i0 = {
4
+ defineInjectable: function () { }
5
+ }
6
+ const process= require('process');
7
+ global.currentTaonScriptStartDateTime = process.hrtime.bigint();
8
+
9
+ process.removeAllListeners('warning');
10
+ var argv = process.argv;
11
+
12
+ global.hideLog = true;
13
+ global.verboseLevel = 0;
14
+ var verboseLevel = argv.find(a => a.startsWith('-verbose='));
15
+ if (typeof verboseLevel !== 'undefined') {
16
+ global.hideLog = false;
17
+ verboseLevel = Number(verboseLevel.replace('-verbose=', ''));
18
+ if (!isNaN(verboseLevel)) {
19
+ global.verboseLevel = verboseLevel;
20
+ }
21
+ argv = argv.filter(a => !a.startsWith('-verbose='));
22
+ }
23
+
24
+ if (argv.includes('-verbose')) {
25
+ global.hideLog = false;
26
+ argv = argv.filter(a => a !== '-verbose');
27
+ }
28
+
29
+ const fs = require('fs');
30
+ const path = require('path');
31
+ var pathToCliJS = {
32
+ distDev: path.join(__dirname, '../dist/cli.js'),
33
+ localOrNPm: path.join(__dirname, '../cli.js')
34
+ }
35
+ var p = fs.existsSync(pathToCliJS.distDev) ? pathToCliJS.distDev : pathToCliJS.localOrNPm;
36
+ global.globalSystemToolMode = true;
37
+ var run = require(p).startCli;
38
38
  run(argv,__filename);
package/browser/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -28,7 +28,7 @@ const CURRENT_PACKAGE_TAON_VERSION = 'v21';
28
28
  /**
29
29
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
30
30
  */
31
- const CURRENT_PACKAGE_VERSION = '21.0.35';
31
+ const CURRENT_PACKAGE_VERSION = '21.0.42';
32
32
  // THIS FILE IS GENERATED - DO NOT MODIFY
33
33
 
34
34
  const MODEL_ID = 'Xenova/nllb-200-distilled-600M';
@@ -363,6 +363,10 @@ class TranslationManager {
363
363
  class Translation {
364
364
  static { this.manager = TranslationManager.Instance; }
365
365
  //#region static for
366
+ /**
367
+ * Example how to use it:
368
+ * const t = Translation.for('src/lib/translation.ts', {"src/lib/translation.ts":{"en-US":async () => (await import('./i18n/translation.ts.en-US.i18n.data')).default,"pl-PL":async () => (await import('./i18n/translation.ts.pl-PL.i18n.data')).default}} as any);
369
+ */
366
370
  static for(fileRelativePath, langImportMap, opt) {
367
371
  opt = opt || {};
368
372
  return new Translation(fileRelativePath, Translation.manager.currentGlobalLanguage, langImportMap, !!opt.debug);
@@ -613,34 +617,38 @@ class TranslateDirective {
613
617
  this.originalText = '';
614
618
  }
615
619
  static { this.selector = '[translate]'; }
616
- ngOnInit() {
617
- this.originalText = this.element.nativeElement.textContent?.trim() ?? '';
620
+ ngAfterViewInit() {
621
+ const nativeElement = this.element.nativeElement;
622
+ this.validateContent();
623
+ this.originalText = nativeElement.textContent?.trim() ?? '';
618
624
  this.initialized = true;
619
625
  this.render();
620
626
  this.t.isLoadingLang$
621
627
  .pipe(takeUntilDestroyed(this.destroyRef))
622
628
  .subscribe(() => {
623
- // this.t.debug && console.log(`Rerender "${this.originalText}"`)
624
629
  this.render();
625
630
  });
626
631
  }
627
632
  ngOnChanges() {
628
- if (!this.initialized)
633
+ if (!this.initialized) {
629
634
  return;
630
- // this.t.debug && console.log(`On Chnags for "${this.originalText}"`)
635
+ }
631
636
  this.render();
632
637
  }
633
- ngOnDestroy() { }
638
+ validateContent() {
639
+ const element = this.element.nativeElement;
640
+ // console.log('validating ', element);
641
+ if (element.children.length > 0) {
642
+ console.error(`[@taon-dev/i18n] ${TranslateDirective.selector} should only be used ` +
643
+ `with plain text. HTML/content elements detected inside:`, element);
644
+ }
645
+ }
634
646
  render() {
635
- // console.log('render', this);
636
647
  if (!this.t) {
637
648
  throw (`Directive ${TranslateDirective.selector} applied on component ` +
638
- `wihtout implemented Translatable interface`);
649
+ `without implemented Translatable interface`);
639
650
  }
640
651
  this.element.nativeElement.textContent = this.t.translate(this.originalText, this.params, this.translateContext);
641
- //#region @browser
642
- // this.t.cdr?.markForCheck();
643
- //#endregion
644
652
  }
645
653
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TranslateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
646
654
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.9", type: TranslateDirective, isStandalone: true, selector: "[translate]", inputs: { t: ["translate-t", "t"], params: ["translate-params", "params"], translateContext: ["translate-context", "translateContext"] }, usesOnChanges: true, ngImport: i0 }); }
@@ -1 +1 @@
1
- {"version":3,"file":"i18n-browser.mjs","sources":["../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/local-translation.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/start-cli.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translation-manager.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translation.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translate.directive.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translate.pipe.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translate.service.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/utils-i18n-extract-gettext-translate-from-html.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/utils-i18n-html.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/utils-po-file.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/i18n/lib.translation.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/index.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/i18n-browser.ts"],"sourcesContent":["// THIS FILE IS GENERATED - DO NOT MODIFY\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\n/**\n * This value can be change in taon.jsonc (appId)\n */\nexport const APP_ID = 'com.domain.example.i18n';\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_BASE_HREF = '';\n/**\n * This value can be change in taon.jsonc (overrideNpmName)\n */\nexport const PROJECT_NPM_NAME = '@taon-dev/i18n';\n/**\n * Taon version from you project taon.json\n */\nexport const CURRENT_PACKAGE_TAON_VERSION = 'v21';\n/**\n * Autogenerated by current cli tool. Use *tnp release* to bump version.\n */\nexport const CURRENT_PACKAGE_VERSION = '21.0.35';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n crossPlatformPath,\n dotTaonFolder,\n UtilsI18n,\n UtilsOs,\n _,\n Helpers,\n} from 'tnp-core/browser';\n\nexport interface TranslationOptions {\n text: string;\n from: UtilsI18n.CommonLocaleCode;\n to: UtilsI18n.CommonLocaleCode;\n\n /**\n * Nearby source-language text.\n */\n context?: string;\n\n glossary?: Record<string, string>;\n}\n\nexport interface AiDownloadProgress {\n /**\n * General loading stage reported by Transformers.js.\n */\n status:\n | 'initiate'\n | 'download'\n | 'progress'\n | 'progress_total'\n | 'done'\n | 'ready'\n | string;\n\n /**\n * Current filename, when progress concerns an individual file.\n */\n file?: string;\n\n /**\n * Progress from 0 to 100.\n */\n progress?: number;\n\n /**\n * Downloaded bytes, when provided by Transformers.js.\n */\n loaded?: number;\n\n /**\n * Total bytes, when provided by Transformers.js.\n */\n total?: number;\n}\n\nexport interface MakeSureAiDownloadedOptions {\n onProgress?: (progress: AiDownloadProgress) => void;\n\n /**\n * Run one tiny translation after loading.\n *\n * This removes most of the delay from the first real translation,\n * but it performs a small amount of additional inference work.\n */\n warmup?: boolean;\n}\n\nconst MODEL_ID = 'Xenova/nllb-200-distilled-600M';\n\nconst nllbLanguageCodes: Partial<\n Record<UtilsI18n.CommonLocaleCode, string>\n> = {\n 'en-US': 'eng_Latn',\n 'pl-PL': 'pol_Latn',\n 'de-DE': 'deu_Latn',\n};\n\nexport class LocalTranslationService {\n private translatorPromise?: Promise<any>;\n\n private aiReady = false;\n\n private warmupPromise?: Promise<void>;\n\n private progressListeners = new Set<\n (progress: AiDownloadProgress) => void\n >();\n\n /**\n * Downloads, caches and loads the translation model.\n *\n * Multiple simultaneous calls share the same initialization promise.\n * After this resolves, translate() reuses the already loaded model.\n */\n async makeSureAiDownloaded(\n options: MakeSureAiDownloadedOptions = {},\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * True only in this process after pipeline initialization succeeded.\n */\n isAiReady(): boolean {\n return this.aiReady;\n }\n\n private getTranslator(): Promise<any> {\n this.translatorPromise ??= this.createTranslator().catch(error => {\n // Allow a later call to retry after a network or disk failure.\n this.translatorPromise = undefined;\n this.aiReady = false;\n\n throw error;\n });\n\n return this.translatorPromise;\n }\n\n private async createTranslator(): Promise<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n private emitProgress(progress: AiDownloadProgress): void {\n for (const listener of this.progressListeners) {\n try {\n listener(progress);\n } catch {\n // A UI callback must not break model initialization.\n }\n }\n }\n\n private warmupTranslator(translator: any): Promise<void> {\n this.warmupPromise ??= translator('Hello.', {\n src_lang: 'eng_Latn',\n tgt_lang: 'pol_Latn',\n max_new_tokens: 16,\n })\n .then(() => undefined)\n .catch(error => {\n this.warmupPromise = undefined;\n throw error;\n });\n\n return this.warmupPromise;\n }\n\n async translate(options: TranslationOptions): Promise<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private protectGlossary(\n text: string,\n glossary?: Record<string, string>,\n ): {\n preparedText: string;\n restore: (translatedText: string) => string;\n } {\n if (!glossary || Object.keys(glossary).length === 0) {\n return {\n preparedText: text,\n restore: translatedText => translatedText,\n };\n }\n\n const replacements: Array<{\n placeholder: string;\n translatedValue: string;\n }> = [];\n\n let preparedText = text;\n\n Object.entries(glossary)\n .sort(([left], [right]) => right.length - left.length)\n .forEach(([sourceValue, translatedValue], index) => {\n const placeholder = `TAONTERM${index}PLACEHOLDER`;\n\n preparedText = preparedText.replaceAll(\n sourceValue,\n placeholder,\n );\n\n replacements.push({\n placeholder,\n translatedValue,\n });\n });\n\n return {\n preparedText,\n\n restore(translatedText: string): string {\n let result = translatedText;\n\n for (const replacement of replacements) {\n result = result.replaceAll(\n replacement.placeholder,\n replacement.translatedValue,\n );\n }\n\n return result;\n },\n };\n }\n\n private getModelsCachePath(): string {\n const cachePath = crossPlatformPath([\n UtilsOs.getRealHomeDir(),\n dotTaonFolder,\n 'ai-models-cache',\n ]);\n\n Helpers.mkdirp(cachePath);\n\n return cachePath;\n }\n}","import { LocalTranslationService } from './local-translation';\n\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n}\n\nexport default startCli;","//#region import\nimport { BehaviorSubject, filter, map, tap } from 'rxjs';\nimport { GlobalStorage, UtilsI18n, _ } from 'tnp-core/browser';\n\nimport type { Translation } from './translation';\n//#endregion\n\n//#region constants\nconst globalStorageKeyMainLanguage = 'taon-gettext-main-language';\nconst globalTaonLanguageLocalKeyLocalStor = 'taon-language-local';\nconst TranslationManagerGlobalStorKey = 'TranslationManagerGlobalStorKey';\n//#endregion\n\nexport class TranslationManager {\n static globalDefautlLanguageOverride: UtilsI18n.CommonLocaleCode;\n\n // public instances = new Set<Translation>();\n public get instances(): Set<Translation> {\n let set = GlobalStorage.get(\n TranslationManagerGlobalStorKey,\n ) as Set<Translation>;\n if (_.isNil(set)) {\n GlobalStorage.set(\n TranslationManagerGlobalStorKey,\n new Set<Translation>(),\n );\n }\n set = GlobalStorage.get(\n TranslationManagerGlobalStorKey,\n ) as Set<Translation>;\n return set;\n }\n\n constructor() {\n // console.log(`[i18] Default lang: ${this.defaultLangLocale}`);\n }\n\n //#region current global language\n private defaultLangLocale: UtilsI18n.CommonLocaleCode = (() => {\n //#region @browser\n return (\n (localStorage.getItem(\n globalTaonLanguageLocalKeyLocalStor,\n ) as UtilsI18n.CommonLocaleCode) ||\n TranslationManager.globalDefautlLanguageOverride ||\n (UtilsI18n.detectLocale() as UtilsI18n.CommonLocaleCode)\n );\n //#endregion\n return UtilsI18n.defaultLangLocale;\n })();\n\n private _currentGlobalLanguage = this\n .defaultLangLocale as UtilsI18n.CommonLocaleCode;\n\n public get currentGlobalLanguage(): UtilsI18n.CommonLocaleCode {\n return this._currentGlobalLanguage;\n }\n\n public set currentGlobalLanguage(v: UtilsI18n.CommonLocaleCode) {\n this._currentGlobalLanguage = v;\n this.currentGlobalLanguageSrc.next(v);\n }\n\n private currentGlobalLanguageSrc = new BehaviorSubject(\n this.currentGlobalLanguage,\n );\n\n public readonly currentGlobalLanguage$ = this.currentGlobalLanguageSrc\n .asObservable()\n .pipe(\n tap(currentGlobalLanguage => {\n GlobalStorage.set<UtilsI18n.CommonLocaleCode>(\n globalStorageKeyMainLanguage,\n currentGlobalLanguage,\n );\n // console.log(`Update from subject ${currentGlobalLanguage}`);\n }),\n );\n //#endregion\n\n //#region available langs\n public availableLangs = _.cloneDeep(UtilsI18n.LangOptionArr);\n\n private availableLangsSrc = new BehaviorSubject(this.availableLangs);\n\n public readonly availableLangs$ = this.availableLangsSrc.asObservable().pipe(\n map(f => {\n if (this.visibleLanguages.length > 0) {\n // console.log('Filtering langs')\n return f.filter(a => this.visibleLanguages.includes(a.code));\n }\n return f;\n }),\n );\n //#endregion\n\n //#region visible langs\n public _visibleLanguages: UtilsI18n.CommonLocaleCode[] = [];\n\n public get visibleLanguages(): UtilsI18n.CommonLocaleCode[] {\n return this._visibleLanguages;\n }\n\n public set visibleLanguages(v: UtilsI18n.CommonLocaleCode[]) {\n if (this.pernamentLanguage) {\n v = v.filter(a => [this.pernamentLanguage].includes(a));\n }\n\n this._visibleLanguages = v;\n this.visibleLanguagesSrc.next(v);\n this.availableLangsSrc.next(this.availableLangs);\n }\n\n private visibleLanguagesSrc = new BehaviorSubject(this.visibleLanguages);\n\n public readonly visibleLanguages$ = this.visibleLanguagesSrc.asObservable();\n //#endregion\n\n //#region loading langs subject\n /**\n * TODO\n */\n private loadingLangsSubjectSrc = new BehaviorSubject(false);\n\n /**\n * TODO\n */\n public readonly isLoadingLangs$ = this.loadingLangsSubjectSrc.asObservable();\n //#endregion\n\n //#region global singleton\n private static _instance: TranslationManager;\n\n static get Instance(): TranslationManager {\n if (!this._instance) {\n this._instance = new TranslationManager();\n }\n return this._instance;\n }\n //#endregion\n\n public readonly pernamentLanguage: UtilsI18n.CommonLocaleCode | null = null;\n\n public setOneLanguagePernament(lang: UtilsI18n.CommonLocaleCode): void {\n console.info(`Setting pernament language to ${lang}`);\n if (this.pernamentLanguage) {\n console.log('You are trying to set again pernament language');\n return;\n }\n this.visibleLanguages = [lang];\n // @ts-ignore\n this.pernamentLanguage = lang;\n void this.changeGlobalLang(lang);\n }\n\n //#region change global lang\n async changeGlobalLang(lang: UtilsI18n.CommonLocaleCode): Promise<void> {\n this.loadingLangsSubjectSrc.next(true);\n\n this.currentGlobalLanguage = lang;\n //#region @browser\n localStorage.setItem(globalTaonLanguageLocalKeyLocalStor, lang);\n //#endregion\n // console.log('instances ', this.instances);\n try {\n await Promise.all([...this.instances].map(c => c.useGlobalFileLang()));\n } catch (error) {\n console.error(error);\n }\n this.loadingLangsSubjectSrc.next(false);\n // console.info('Done changing language');\n }\n //#endregion\n}","//#region imports\nimport {\n ChangeDetectorRef,\n inject,\n signal,\n WritableSignal,\n} from '@angular/core'; // @browser\nimport type {\n WritableSignal as WritableSignalType,\n} from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GlobalStorage, UtilsI18n, _ } from 'tnp-core/browser';\n\nimport { TranslationManager } from './translation-manager';\nimport {\n TaonTranslationsMapImport,\n TranslationBinding,\n TranslationLookup,\n TranslationParams,\n} from './translation.models';\nimport type { UtilsPoFile } from './utils-po-file';\n\n//#endregion\n\n//#region translation class\nexport class Translation {\n static manager = TranslationManager.Instance;\n\n //#region static for\n static for(\n fileRelativePath: string,\n langImportMap: TaonTranslationsMapImport,\n opt?: {\n debug?: boolean;\n },\n ): Translation {\n opt = opt || {};\n return new Translation(\n fileRelativePath,\n Translation.manager.currentGlobalLanguage,\n langImportMap,\n !!opt.debug,\n );\n }\n //#endregion\n\n //#region fields\n\n //#region @browser\n public cdr?: ChangeDetectorRef;\n\n //#endregion\n\n private lookup: TranslationLookup = {};\n\n private readonly loadingSubjectSrc = new BehaviorSubject(false);\n\n public readonly isLoadingLang$ = this.loadingSubjectSrc.asObservable();\n\n private loading?: Promise<void>;\n\n private loadedLang?: UtilsI18n.CommonLocaleCode;\n\n private readonly bindings = new Set<TranslationBinding>();\n\n private useGlobalLangFile = true;\n //#endregion\n\n //#region constructor\n private constructor(\n protected fileRelativePath: string,\n protected localFileLang: UtilsI18n.CommonLocaleCode,\n protected langImportMap: TaonTranslationsMapImport,\n public debug = false,\n ) {\n\n if (!Translation.manager.instances.has(this)) {\n // console.log(`Adding for ${fileRelativePath} `)\n Translation.manager.instances.add(this);\n } else {\n // console.log(`NOT ADDING for ${fileRelativePath} `)\n }\n // console.log(...Translation.manager.instances)\n }\n //#endregion\n\n //#region for\n for(_classThis: object): Translation {\n if (this.useGlobalLangFile) {\n this.localFileLang = Translation.manager.currentGlobalLanguage;\n // console.log(`Update on t.for() ${this.localFileLang}`)\n }\n //#region @browser\n try {\n this.cdr = inject(ChangeDetectorRef);\n } catch {\n // non-angular class/backend-safe\n }\n //#endregion\n void this.ensureLoaded();\n\n return this;\n }\n //#endregion\n\n //#region change file lang\n async changeFileLang(lang: UtilsI18n.CommonLocaleCode): Promise<void> {\n this.useGlobalLangFile = false;\n this.localFileLang = lang;\n await this.ensureLoaded(true);\n //#region @browser\n this.cdr?.markForCheck();\n //#endregion\n }\n //#endregion\n\n //#region use global file lang\n async useGlobalFileLang( ): Promise<void> {\n this.useGlobalLangFile = true;\n await this.ensureLoaded(true);\n //#region @browser\n this.cdr?.markForCheck();\n //#endregion\n }\n //#endregion\n\n //#region gettext\n gettext = (\n text: string,\n params?: TranslationParams,\n context = '',\n ): string => {\n const key = this.key(text, context);\n const translated = this.lookup[key] ?? text;\n this.debug &&\n console.log(\n `Translate (with load): \"${text}\" to \"${translated}\", key=\"${key}\" params:${_.isObject(params) ? JSON.stringify(params) : params} ` +\n `localFileLang: ${this.localFileLang}`,\n this,\n );\n return this.interpolate(translated, params);\n };\n //#endregion\n\n //#region signal\n\n private createSignal(\n text: string,\n params?: TranslationParams,\n context = '',\n ): WritableSignalType<string> {\n //#region @browser\n const s = signal<string>(this.gettext(text, params, context));\n\n this.bindings.add({\n text,\n params,\n context,\n update: value => s.set(value),\n });\n\n return s;\n //#endregion\n return void 0;\n }\n\n readonly signal = {\n gettext: (text: string, params?: TranslationParams, context?: string) =>\n this.createSignal(text, params, context),\n };\n //#endregion\n\n //#region $ obserable\n private createObservable(\n text: string,\n params?: TranslationParams,\n context = '',\n ): Observable<string> {\n const subject = new BehaviorSubject<string>(\n this.gettext(text, params, context),\n );\n\n this.bindings.add({\n text,\n params,\n context,\n update: value => subject.next(value),\n });\n\n return subject.asObservable();\n }\n\n readonly $ = {\n gettext: (text: string, params?: TranslationParams, context?: string) =>\n this.createObservable(text, params, context),\n };\n //#endregion\n\n //#region private methods / refresh bindings\n private refreshBindings(): void {\n for (const binding of this.bindings) {\n binding.update(\n this.gettextWithoutEnsureLoaded(\n binding.text,\n binding.params,\n binding.context ?? '',\n ),\n );\n }\n }\n //#endregion\n\n //#region private methods / gettextwithout ensure loadded\n\n translate(text: string, params?: TranslationParams, context = ''): string {\n return this.gettextWithoutEnsureLoaded(text, params, context);\n }\n\n private gettextWithoutEnsureLoaded(\n text: string,\n params?: TranslationParams,\n context = '',\n ): string {\n const key = this.key(text, context);\n const translated = this.lookup[key] ?? text;\n this.debug &&\n console.log(\n `Translate (no load): \"${text}\" to \"${translated}\", key=\"${key}\" params:${_.isObject(params) ? JSON.stringify(params) : params} ` +\n `localFileLang: ${this.localFileLang}`,\n this,\n );\n return this.interpolate(translated, params);\n }\n //#endregion\n\n //#region private methods / load\n private async load(): Promise<void> {\n this.loadingSubjectSrc.next(true);\n\n const files: UtilsI18n.GettextFile[] = [];\n const filesForTArr = Object.keys(this.langImportMap);\n for (const fileRelativePath of filesForTArr) {\n try {\n const loader =\n this.langImportMap[fileRelativePath]?.[this.localFileLang];\n\n if (!loader) {\n continue;\n }\n\n const modOrFile = await loader();\n const file = (modOrFile as any).default ?? modOrFile;\n\n files.push(file);\n } catch (err) {\n console.log(\n `[taon-i18n] Error loading language file ${fileRelativePath} `,\n err,\n );\n }\n }\n this.loadedLang = this.localFileLang;\n this.lookup = this.createLookup(files);\n this.debug && console.log(`${this.localFileLang}`, files, this.lookup);\n\n this.refreshBindings();\n\n //#region @browser\n this.cdr?.markForCheck();\n //#endregion\n this.loadingSubjectSrc.next(false);\n }\n //#endregion\n\n //#region private methods / ensure loaded\n private async ensureLoaded(force = false): Promise<void> {\n if (this.useGlobalLangFile) {\n this.localFileLang = Translation.manager.currentGlobalLanguage;\n }\n\n if (!force && this.loadedLang === this.localFileLang) {\n return;\n }\n\n if (!force && this.loading) {\n return this.loading;\n }\n\n this.loading = this.load();\n\n try {\n await this.loading;\n } finally {\n this.loading = undefined;\n }\n }\n //#endregion\n\n //#region private methods / create lookup\n private createLookup(files: UtilsI18n.GettextFile[]): TranslationLookup {\n const lookup: TranslationLookup = {};\n\n for (const file of files) {\n for (const tag of file.tags ?? []) {\n if (!tag.translation) continue;\n lookup[this.key(tag.gettextString, tag.context ?? '')] =\n tag.translation;\n }\n }\n\n return lookup;\n }\n //#endregion\n\n //#region private methods / key\n private key(text: string, context = ''): string {\n return `${context}\\u0004${text}`;\n }\n //#endregion\n\n //#region private methods / interpolate\n private interpolate(text: string, params?: Record<string, unknown>): string {\n if (!params) return text;\n\n const result = text.replace(/\\[\\[\\s*([a-zA-Z0-9_$]+)\\s*\\]\\]/g, (_, key) => {\n const value = params[key];\n return value === undefined || value === null ? '' : String(value);\n });\n\n return result;\n }\n //#endregion\n}\n//#endregion\n\n//#region EXMAPLE\n/*\n// import {Translation} from 'taon'\n\nconst t = Translation.for('src/lib/translation.ts', {\"src/lib/translation.ts\":{\"en-US\":async () => (await import('./i18n/translation.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/translation.ts.pl-PL.i18n.data')).default}} as any); // in runtime replaced with proper stuff\n\nt.gettext('asdasd');\n\nclass AnyAngularOrTaonClass {\n t = t.for(this); // probably only usefull for cdr in angular\n\n isLoading$ = t.isLoadingLang$; // maybe needed sometime\n\n refreshableSignalLabel$ = t.signal.gettext(t.gettext('welcome'));\n\n refreshableRxjsLabel$ = t.$.gettext('amazing better place'); // probably even better\n\n asdsa = this.t.gettext(\n // just sugar syntax\n 'This is mamazing',\n {\n asdasd: 'asd',\n },\n 'asdas',\n );\n\n ngOnInit(): void {\n //Called after the constructor, initializing input properties, and the first call to ngOnChanges.\n //Add 'implements OnInit' to the class.\n const lable = t.gettext('hello');\n }\n}\n */\n//#endregion","import {\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n OnInit,\n OnChanges,\n} from '@angular/core';\n// @ts-ignore\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { TranslateService } from './translate.service';\nimport { Translation } from './translation';\n\n@Directive({\n selector: '[translate]',\n standalone: true,\n})\nexport class TranslateDirective implements OnInit, OnDestroy, OnChanges {\n private static readonly selector = '[translate]';\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('translate-t') t!: Translation;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('translate-params') params?: Record<string, unknown>;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('translate-context') translateContext?: string;\n\n private initialized = false;\n\n private readonly element = inject(ElementRef<HTMLElement>);\n\n private readonly destroyRef = inject(DestroyRef);\n\n private originalText = '';\n\n ngOnInit(): void {\n this.originalText = this.element.nativeElement.textContent?.trim() ?? '';\n this.initialized = true;\n this.render();\n this.t.isLoadingLang$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n // this.t.debug && console.log(`Rerender \"${this.originalText}\"`)\n this.render();\n });\n }\n\n ngOnChanges(): void {\n if (!this.initialized) return;\n // this.t.debug && console.log(`On Chnags for \"${this.originalText}\"`)\n this.render();\n }\n\n ngOnDestroy(): void {}\n\n private render(): void {\n // console.log('render', this);\n if (!this.t) {\n throw (\n `Directive ${TranslateDirective.selector} applied on component ` +\n `wihtout implemented Translatable interface`\n );\n }\n this.element.nativeElement.textContent = this.t.translate(\n this.originalText,\n this.params,\n this.translateContext,\n );\n //#region @browser\n // this.t.cdr?.markForCheck();\n //#endregion\n }\n}","import {\n ChangeDetectorRef,\n inject,\n OnDestroy,\n Pipe,\n PipeTransform,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Translation } from './translation';\nimport { TranslationManager } from './translation-manager';\n\n@Pipe({\n name: 'translate',\n standalone: true,\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private readonly cdr = inject(ChangeDetectorRef);\n\n private tranlsationManager = TranslationManager.Instance;\n\n private readonly sub: Subscription;\n\n constructor() {\n this.sub = this.tranlsationManager.isLoadingLangs$.subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n\n transform(\n text: string,\n t: Translation,\n params?: Record<string, unknown>,\n context?: string,\n ): string {\n return t?.gettext(text, params, context) ?? text;\n }\n\n ngOnDestroy(): void {\n this.sub.unsubscribe();\n }\n}","import { Injectable } from '@angular/core';\nimport { UtilsI18n } from 'tnp-core/browser';\n\nimport { TranslationManager } from './translation-manager';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService {\n public manager = TranslationManager.Instance;\n\n public setOneLanguagePernament(lang: UtilsI18n.CommonLocaleCode): void {\n this.manager.setOneLanguagePernament(lang);\n }\n\n //#region change global lang\n async changeGlobalLang(lang: UtilsI18n.CommonLocaleCode): Promise<void> {\n await this.manager.changeGlobalLang(lang);\n }\n //#endregion\n}","//#region imports\nimport {\n AST,\n Binary,\n BindingPipe,\n Conditional,\n Interpolation,\n LiteralPrimitive,\n parseTemplate,\n TmplAstBoundAttribute,\n TmplAstBoundText,\n TmplAstElement,\n TmplAstNode,\n TmplAstTemplate,\n TmplAstText,\n} from '@angular/compiler/cjs'; // @esmRemove\nimport { UtilsI18n } from 'tnp-core/browser';\n//#endregion\n\nexport namespace UtilsI18nExtractGettextTranslateFromHtml {\n export function extractGettextTranslateFromHtml(\n html: string,\n fileName = 'template.html',\n ): UtilsI18n.GettextExtracted[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n function extractGettextCallsFromSource(\n html: string,\n ): UtilsI18n.GettextExtracted[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractGettextCallsFromHtmlExpression(source: string): Array<{\n gettextString: string;\n context?: string;\n }> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function readBalancedParenthesesContent(\n source: string,\n openParenIndex: number,\n ): string | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function readStaticStringArg(arg: string | undefined): string | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractTranslateParamsFromSource(\n source: string,\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractObjectLiteralParams(\n raw: string,\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function splitTopLevel(input: string, separator: string): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractTranslatePipeStringsFromSource(source: string): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractStringLiterals(source: string): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function getNodeAttributes(node: any): any[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region @esmRemove\n function getNodeInputs(node: any): TmplAstBoundAttribute[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n function isText(node: any): boolean {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function isBoundText(node: any): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n function collectText(nodes: any[]): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractTranslateDirectiveFromSource(\n html: string,\n ): UtilsI18n.GettextExtracted[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function stripHtml(html: string): string {\n/* */\n/* */\n return (void 0);\n }\n\n //#region @esmRemove\n function extractTranslateParams(\n inputs: TmplAstBoundAttribute[],\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n function extractObjectLiteralFromAst(\n ast: any,\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region @esmRemove\n function extractTranslatePipeStrings(ast: AST | any): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n function extractStaticStringsFromExpression(ast: any): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function astToSource(ast: any): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function normalizeHtmlText(text: string): string {\n/* */\n/* */\n return (void 0);\n }\n\n function uniqueMessages(\n messages: UtilsI18n.GettextExtracted[],\n ): UtilsI18n.GettextExtracted[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}","//#region imports\nimport {\n AST,\n Binary,\n BindingPipe,\n Conditional,\n Interpolation,\n LiteralPrimitive,\n parseTemplate,\n TmplAstBoundAttribute,\n TmplAstBoundText,\n TmplAstElement,\n TmplAstNode,\n TmplAstTemplate,\n TmplAstText,\n} from '@angular/compiler/cjs'; // @esmRemove\nimport { UtilsI18n } from 'tnp-core/browser';\nimport {\n canHaveDecorators,\n ClassDeclaration,\n createSourceFile,\n Decorator,\n Expression,\n forEachChild,\n getDecorators,\n isCallExpression,\n isClassDeclaration,\n isIdentifier,\n isObjectLiteralExpression,\n isPropertyAssignment,\n Node,\n ScriptKind,\n ScriptTarget,\n} from 'typescript'; // @esmRemove\n\nimport { UtilsI18nExtractGettextTranslateFromHtml } from './utils-i18n-extract-gettext-translate-from-html';\n//#endregion\n\nexport namespace UtilsI18nHtml {\n export function extractGettextTranslateFromHtml(\n html: string,\n fileName = 'template.html',\n ): UtilsI18n.GettextExtracted[] {\n return UtilsI18nExtractGettextTranslateFromHtml.extractGettextTranslateFromHtml(\n html,\n fileName,\n );\n }\n\n export function replaceTranslatePipieDirectiveTContext(\n html: string,\n options?: {\n angularTsWithInlineHtml?: boolean;\n },\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n export function isAngularTsWithInlineHtml(content: string): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n //#region @esmRemove\n\n function replaceInAngularInlineTemplates(content: string): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function getAngularInlineTemplateRanges(content: string): Array<{\n start: number;\n end: number;\n html: string;\n quote: '`' | '\"' | \"'\";\n }> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function hasComponentDecorator(node: ClassDeclaration): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n function getComponentDecorator(\n node: ClassDeclaration,\n ): Decorator | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function getComponentTemplateInitializer(\n decorator: Decorator,\n ): Expression | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function getStringLikeInnerRange(\n content: string,\n node: Expression,\n ):\n | {\n start: number;\n end: number;\n html: string;\n quote: '`' | '\"' | \"'\";\n }\n | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n export function replaceTranslatePipieDirectiveTContextInHtml(\n html: string,\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n function findTranslateDirectiveEditsFromSource(\n html: string,\n ): Array<{ index: number; text: string }> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function hasTranslateDirective(node: any): boolean {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function hasTranslateTInput(node: any): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function findOpenTagInsertPosition(\n html: string,\n start: number,\n length: number,\n ): number {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function applyEdits(\n input: string,\n edits: Array<{ index: number; text: string }>,\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}","import { crossPlatformPath, UtilsI18n, fse } from 'tnp-core/browser';\n\nexport namespace UtilsPoFile {\n //#region generate po files\n export function generatePoFiles(\n files: UtilsI18n.GettextFile[],\n locales: UtilsI18n.CommonLocaleCode[],\n destinationAbsFolderPath: string,\n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region generate po file content\n export function generatePoFileContent(\n files: UtilsI18n.GettextFile[],\n locale: UtilsI18n.CommonLocaleCode,\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region extract po to json\n export function extractPoToJson(\n poFileContent: string,\n ): UtilsI18n.GettextFile[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region generate translation override interface\n export function generateTranslationOverrideInterface(\n file: UtilsI18n.GettextFile,\n interfaceName: string,\n locale: UtilsI18n.CommonLocaleCode,\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function escapeTs(value: string): string {\n return value.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n }\n //#endregion\n\n //#region merge gettext file\n export function mergeGettextFile(\n jsonContent1FromTsHtml: UtilsI18n.GettextFile,\n json2ContentFromPoFileModifedByUser?: UtilsI18n.GettextFile | null,\n ): UtilsI18n.GettextFile {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region models & helpers\n function getGettextTagKey(\n tag: Pick<UtilsI18n.GettextExtracted, 'gettextString' | 'context'>,\n ): string {\n return `${tag.context ?? ''}\\u0004${tag.gettextString}`;\n }\n\n interface ParsedPoEntry {\n refs: string[];\n msgctxt?: string;\n msgid?: string;\n msgstr?: string;\n }\n\n function parsePoEntries(po: string): ParsedPoEntry[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function parsePoRef(\n ref: string,\n ): { fileAbsPath: string; lineNumber: number } | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function escapePoString(value: string): string {\n return value\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\n/g, '\\\\n');\n }\n\n function readPoQuoted(value: string): string {\n const match = value.match(/^\"([\\s\\S]*)\"$/);\n if (!match) return '';\n\n return unescapePoString(match[1]);\n }\n\n function normalizePoTranslation(\n translation?: string | null,\n ): string | undefined {\n if (translation === undefined || translation === null) {\n return undefined;\n }\n\n return translation.trim().length > 0 ? translation : undefined;\n }\n\n function unescapePoString(value: string): string {\n return value\n .replace(/\\\\n/g, '\\n')\n .replace(/\\\\\"/g, '\"')\n .replace(/\\\\\\\\/g, '\\\\');\n }\n //#endregion\n}","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTranslationTs } from './translation.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTranslationTs } from './translation.ts.pl-PL.i18n.data';;\nexport type LibOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTranslationTs \n| PlPlTraslationOverrideSrcLibTranslationTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// @ts-nocheck\n// This file is auto-generated during init process. Do not modify.\n// This disable this auto generate file.\n// set property \"shouldGenerateAutogenIndexFile: false\" \n// in taon.jsonc of your project. \nexport * from './build-info._auto-generated_'; \nexport * from './local-translation'; \nexport * from './start-cli'; \nexport * from './translate.directive'; // @browser\nexport * from './translate.pipe'; // @browser\nexport * from './translate.service'; // @browser\nexport * from './translation-manager'; \nexport * from './translation.models'; \nexport * from './translation'; \nexport * from './utils-i18n-extract-gettext-translate-from-html'; \nexport * from './utils-i18n-html'; \nexport * from './utils-po-file'; \nexport * from './i18n/lib.translation'; ","export * from './index._auto-generated_';\nexport * from './start-cli';\nexport default {};","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n-browser.mjs","sources":["../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/local-translation.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/start-cli.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translation-manager.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translation.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translate.directive.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translate.pipe.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/translate.service.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/utils-i18n-extract-gettext-translate-from-html.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/utils-i18n-html.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/utils-po-file.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/i18n/lib.translation.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/index._auto-generated_.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/lib/index.ts","../../../tmp-libs-for-dist/i18n/projects/i18n/src/i18n-browser.ts"],"sourcesContent":["// THIS FILE IS GENERATED - DO NOT MODIFY\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\n/**\n * This value can be change in taon.jsonc (appId)\n */\nexport const APP_ID = 'com.domain.example.i18n';\n/**\n * Autogenerated by current cli tool\n */\nexport const BUILD_BASE_HREF = '';\n/**\n * This value can be change in taon.jsonc (overrideNpmName)\n */\nexport const PROJECT_NPM_NAME = '@taon-dev/i18n';\n/**\n * Taon version from you project taon.json\n */\nexport const CURRENT_PACKAGE_TAON_VERSION = 'v21';\n/**\n * Autogenerated by current cli tool. Use *tnp release* to bump version.\n */\nexport const CURRENT_PACKAGE_VERSION = '21.0.42';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","import {\n crossPlatformPath,\n dotTaonFolder,\n UtilsI18n,\n UtilsOs,\n _,\n Helpers,\n} from 'tnp-core/browser';\n\nexport interface TranslationOptions {\n text: string;\n from: UtilsI18n.CommonLocaleCode;\n to: UtilsI18n.CommonLocaleCode;\n\n /**\n * Nearby source-language text.\n */\n context?: string;\n\n glossary?: Record<string, string>;\n}\n\nexport interface AiDownloadProgress {\n /**\n * General loading stage reported by Transformers.js.\n */\n status:\n | 'initiate'\n | 'download'\n | 'progress'\n | 'progress_total'\n | 'done'\n | 'ready'\n | string;\n\n /**\n * Current filename, when progress concerns an individual file.\n */\n file?: string;\n\n /**\n * Progress from 0 to 100.\n */\n progress?: number;\n\n /**\n * Downloaded bytes, when provided by Transformers.js.\n */\n loaded?: number;\n\n /**\n * Total bytes, when provided by Transformers.js.\n */\n total?: number;\n}\n\nexport interface MakeSureAiDownloadedOptions {\n onProgress?: (progress: AiDownloadProgress) => void;\n\n /**\n * Run one tiny translation after loading.\n *\n * This removes most of the delay from the first real translation,\n * but it performs a small amount of additional inference work.\n */\n warmup?: boolean;\n}\n\nconst MODEL_ID = 'Xenova/nllb-200-distilled-600M';\n\nconst nllbLanguageCodes: Partial<\n Record<UtilsI18n.CommonLocaleCode, string>\n> = {\n 'en-US': 'eng_Latn',\n 'pl-PL': 'pol_Latn',\n 'de-DE': 'deu_Latn',\n};\n\nexport class LocalTranslationService {\n private translatorPromise?: Promise<any>;\n\n private aiReady = false;\n\n private warmupPromise?: Promise<void>;\n\n private progressListeners = new Set<\n (progress: AiDownloadProgress) => void\n >();\n\n /**\n * Downloads, caches and loads the translation model.\n *\n * Multiple simultaneous calls share the same initialization promise.\n * After this resolves, translate() reuses the already loaded model.\n */\n async makeSureAiDownloaded(\n options: MakeSureAiDownloadedOptions = {},\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * True only in this process after pipeline initialization succeeded.\n */\n isAiReady(): boolean {\n return this.aiReady;\n }\n\n private getTranslator(): Promise<any> {\n this.translatorPromise ??= this.createTranslator().catch(error => {\n // Allow a later call to retry after a network or disk failure.\n this.translatorPromise = undefined;\n this.aiReady = false;\n\n throw error;\n });\n\n return this.translatorPromise;\n }\n\n private async createTranslator(): Promise<any> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n private emitProgress(progress: AiDownloadProgress): void {\n for (const listener of this.progressListeners) {\n try {\n listener(progress);\n } catch {\n // A UI callback must not break model initialization.\n }\n }\n }\n\n private warmupTranslator(translator: any): Promise<void> {\n this.warmupPromise ??= translator('Hello.', {\n src_lang: 'eng_Latn',\n tgt_lang: 'pol_Latn',\n max_new_tokens: 16,\n })\n .then(() => undefined)\n .catch(error => {\n this.warmupPromise = undefined;\n throw error;\n });\n\n return this.warmupPromise;\n }\n\n async translate(options: TranslationOptions): Promise<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n private protectGlossary(\n text: string,\n glossary?: Record<string, string>,\n ): {\n preparedText: string;\n restore: (translatedText: string) => string;\n } {\n if (!glossary || Object.keys(glossary).length === 0) {\n return {\n preparedText: text,\n restore: translatedText => translatedText,\n };\n }\n\n const replacements: Array<{\n placeholder: string;\n translatedValue: string;\n }> = [];\n\n let preparedText = text;\n\n Object.entries(glossary)\n .sort(([left], [right]) => right.length - left.length)\n .forEach(([sourceValue, translatedValue], index) => {\n const placeholder = `TAONTERM${index}PLACEHOLDER`;\n\n preparedText = preparedText.replaceAll(\n sourceValue,\n placeholder,\n );\n\n replacements.push({\n placeholder,\n translatedValue,\n });\n });\n\n return {\n preparedText,\n\n restore(translatedText: string): string {\n let result = translatedText;\n\n for (const replacement of replacements) {\n result = result.replaceAll(\n replacement.placeholder,\n replacement.translatedValue,\n );\n }\n\n return result;\n },\n };\n }\n\n private getModelsCachePath(): string {\n const cachePath = crossPlatformPath([\n UtilsOs.getRealHomeDir(),\n dotTaonFolder,\n 'ai-models-cache',\n ]);\n\n Helpers.mkdirp(cachePath);\n\n return cachePath;\n }\n}\n","import { LocalTranslationService } from './local-translation';\n\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n}\n\nexport default startCli;\n","//#region import\nimport { BehaviorSubject, filter, map, tap } from 'rxjs';\nimport { GlobalStorage, UtilsI18n, _ } from 'tnp-core/browser';\n\nimport type { Translation } from './translation';\n//#endregion\n\n//#region constants\nconst globalStorageKeyMainLanguage = 'taon-gettext-main-language';\nconst globalTaonLanguageLocalKeyLocalStor = 'taon-language-local';\nconst TranslationManagerGlobalStorKey = 'TranslationManagerGlobalStorKey';\n//#endregion\n\nexport class TranslationManager {\n static globalDefautlLanguageOverride: UtilsI18n.CommonLocaleCode;\n\n // public instances = new Set<Translation>();\n public get instances(): Set<Translation> {\n let set = GlobalStorage.get(\n TranslationManagerGlobalStorKey,\n ) as Set<Translation>;\n if (_.isNil(set)) {\n GlobalStorage.set(\n TranslationManagerGlobalStorKey,\n new Set<Translation>(),\n );\n }\n set = GlobalStorage.get(\n TranslationManagerGlobalStorKey,\n ) as Set<Translation>;\n return set;\n }\n\n constructor() {\n // console.log(`[i18] Default lang: ${this.defaultLangLocale}`);\n }\n\n //#region current global language\n private defaultLangLocale: UtilsI18n.CommonLocaleCode = (() => {\n //#region @browser\n return (\n (localStorage.getItem(\n globalTaonLanguageLocalKeyLocalStor,\n ) as UtilsI18n.CommonLocaleCode) ||\n TranslationManager.globalDefautlLanguageOverride ||\n (UtilsI18n.detectLocale() as UtilsI18n.CommonLocaleCode)\n );\n //#endregion\n return UtilsI18n.defaultLangLocale;\n })();\n\n private _currentGlobalLanguage = this\n .defaultLangLocale as UtilsI18n.CommonLocaleCode;\n\n public get currentGlobalLanguage(): UtilsI18n.CommonLocaleCode {\n return this._currentGlobalLanguage;\n }\n\n public set currentGlobalLanguage(v: UtilsI18n.CommonLocaleCode) {\n this._currentGlobalLanguage = v;\n this.currentGlobalLanguageSrc.next(v);\n }\n\n private currentGlobalLanguageSrc = new BehaviorSubject(\n this.currentGlobalLanguage,\n );\n\n public readonly currentGlobalLanguage$ = this.currentGlobalLanguageSrc\n .asObservable()\n .pipe(\n tap(currentGlobalLanguage => {\n GlobalStorage.set<UtilsI18n.CommonLocaleCode>(\n globalStorageKeyMainLanguage,\n currentGlobalLanguage,\n );\n // console.log(`Update from subject ${currentGlobalLanguage}`);\n }),\n );\n //#endregion\n\n //#region available langs\n public availableLangs = _.cloneDeep(UtilsI18n.LangOptionArr);\n\n private availableLangsSrc = new BehaviorSubject(this.availableLangs);\n\n public readonly availableLangs$ = this.availableLangsSrc.asObservable().pipe(\n map(f => {\n if (this.visibleLanguages.length > 0) {\n // console.log('Filtering langs')\n return f.filter(a => this.visibleLanguages.includes(a.code));\n }\n return f;\n }),\n );\n //#endregion\n\n //#region visible langs\n public _visibleLanguages: UtilsI18n.CommonLocaleCode[] = [];\n\n public get visibleLanguages(): UtilsI18n.CommonLocaleCode[] {\n return this._visibleLanguages;\n }\n\n public set visibleLanguages(v: UtilsI18n.CommonLocaleCode[]) {\n if (this.pernamentLanguage) {\n v = v.filter(a => [this.pernamentLanguage].includes(a));\n }\n\n this._visibleLanguages = v;\n this.visibleLanguagesSrc.next(v);\n this.availableLangsSrc.next(this.availableLangs);\n }\n\n private visibleLanguagesSrc = new BehaviorSubject(this.visibleLanguages);\n\n public readonly visibleLanguages$ = this.visibleLanguagesSrc.asObservable();\n //#endregion\n\n //#region loading langs subject\n /**\n * TODO\n */\n private loadingLangsSubjectSrc = new BehaviorSubject(false);\n\n /**\n * TODO\n */\n public readonly isLoadingLangs$ = this.loadingLangsSubjectSrc.asObservable();\n //#endregion\n\n //#region global singleton\n private static _instance: TranslationManager;\n\n static get Instance(): TranslationManager {\n if (!this._instance) {\n this._instance = new TranslationManager();\n }\n return this._instance;\n }\n //#endregion\n\n public readonly pernamentLanguage: UtilsI18n.CommonLocaleCode | null = null;\n\n public setOneLanguagePernament(lang: UtilsI18n.CommonLocaleCode): void {\n console.info(`Setting pernament language to ${lang}`);\n if (this.pernamentLanguage) {\n console.log('You are trying to set again pernament language');\n return;\n }\n this.visibleLanguages = [lang];\n // @ts-ignore\n this.pernamentLanguage = lang;\n void this.changeGlobalLang(lang);\n }\n\n //#region change global lang\n async changeGlobalLang(lang: UtilsI18n.CommonLocaleCode): Promise<void> {\n this.loadingLangsSubjectSrc.next(true);\n\n this.currentGlobalLanguage = lang;\n //#region @browser\n localStorage.setItem(globalTaonLanguageLocalKeyLocalStor, lang);\n //#endregion\n // console.log('instances ', this.instances);\n try {\n await Promise.all([...this.instances].map(c => c.useGlobalFileLang()));\n } catch (error) {\n console.error(error);\n }\n this.loadingLangsSubjectSrc.next(false);\n // console.info('Done changing language');\n }\n //#endregion\n}\n","//#region imports\nimport {\n ChangeDetectorRef,\n inject,\n signal,\n WritableSignal,\n} from '@angular/core'; // @browser\nimport type {\n WritableSignal as WritableSignalType,\n} from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { GlobalStorage, UtilsI18n, _ } from 'tnp-core/browser';\n\nimport { TranslationManager } from './translation-manager';\nimport {\n TaonTranslationsMapImport,\n TranslationBinding,\n TranslationLookup,\n TranslationParams,\n} from './translation.models';\nimport type { UtilsPoFile } from './utils-po-file';\n\n//#endregion\n\n//#region translation class\nexport class Translation {\n static manager = TranslationManager.Instance;\n\n //#region static for\n /**\n * Example how to use it:\n * const t = Translation.for('src/lib/translation.ts', {\"src/lib/translation.ts\":{\"en-US\":async () => (await import('./i18n/translation.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/translation.ts.pl-PL.i18n.data')).default}} as any);\n */\n static for(\n fileRelativePath: string,\n langImportMap: TaonTranslationsMapImport,\n opt?: {\n debug?: boolean;\n },\n ): Translation {\n opt = opt || {};\n return new Translation(\n fileRelativePath,\n Translation.manager.currentGlobalLanguage,\n langImportMap,\n !!opt.debug,\n );\n }\n //#endregion\n\n //#region fields\n\n //#region @browser\n public cdr?: ChangeDetectorRef;\n\n //#endregion\n\n private lookup: TranslationLookup = {};\n\n private readonly loadingSubjectSrc = new BehaviorSubject(false);\n\n public readonly isLoadingLang$ = this.loadingSubjectSrc.asObservable();\n\n private loading?: Promise<void>;\n\n private loadedLang?: UtilsI18n.CommonLocaleCode;\n\n private readonly bindings = new Set<TranslationBinding>();\n\n private useGlobalLangFile = true;\n //#endregion\n\n //#region constructor\n private constructor(\n protected fileRelativePath: string,\n protected localFileLang: UtilsI18n.CommonLocaleCode,\n protected langImportMap: TaonTranslationsMapImport,\n public debug = false,\n ) {\n\n if (!Translation.manager.instances.has(this)) {\n // console.log(`Adding for ${fileRelativePath} `)\n Translation.manager.instances.add(this);\n } else {\n // console.log(`NOT ADDING for ${fileRelativePath} `)\n }\n // console.log(...Translation.manager.instances)\n }\n //#endregion\n\n //#region for\n for(_classThis: object): Translation {\n if (this.useGlobalLangFile) {\n this.localFileLang = Translation.manager.currentGlobalLanguage;\n // console.log(`Update on t.for() ${this.localFileLang}`)\n }\n //#region @browser\n try {\n this.cdr = inject(ChangeDetectorRef);\n } catch {\n // non-angular class/backend-safe\n }\n //#endregion\n void this.ensureLoaded();\n\n return this;\n }\n //#endregion\n\n //#region change file lang\n async changeFileLang(lang: UtilsI18n.CommonLocaleCode): Promise<void> {\n this.useGlobalLangFile = false;\n this.localFileLang = lang;\n await this.ensureLoaded(true);\n //#region @browser\n this.cdr?.markForCheck();\n //#endregion\n }\n //#endregion\n\n //#region use global file lang\n async useGlobalFileLang( ): Promise<void> {\n this.useGlobalLangFile = true;\n await this.ensureLoaded(true);\n //#region @browser\n this.cdr?.markForCheck();\n //#endregion\n }\n //#endregion\n\n //#region gettext\n gettext = (\n text: string,\n params?: TranslationParams,\n context = '',\n ): string => {\n const key = this.key(text, context);\n const translated = this.lookup[key] ?? text;\n this.debug &&\n console.log(\n `Translate (with load): \"${text}\" to \"${translated}\", key=\"${key}\" params:${_.isObject(params) ? JSON.stringify(params) : params} ` +\n `localFileLang: ${this.localFileLang}`,\n this,\n );\n return this.interpolate(translated, params);\n };\n //#endregion\n\n //#region signal\n\n private createSignal(\n text: string,\n params?: TranslationParams,\n context = '',\n ): WritableSignalType<string> {\n //#region @browser\n const s = signal<string>(this.gettext(text, params, context));\n\n this.bindings.add({\n text,\n params,\n context,\n update: value => s.set(value),\n });\n\n return s;\n //#endregion\n return void 0;\n }\n\n readonly signal = {\n gettext: (text: string, params?: TranslationParams, context?: string) =>\n this.createSignal(text, params, context),\n };\n //#endregion\n\n //#region $ obserable\n private createObservable(\n text: string,\n params?: TranslationParams,\n context = '',\n ): Observable<string> {\n const subject = new BehaviorSubject<string>(\n this.gettext(text, params, context),\n );\n\n this.bindings.add({\n text,\n params,\n context,\n update: value => subject.next(value),\n });\n\n return subject.asObservable();\n }\n\n readonly $ = {\n gettext: (text: string, params?: TranslationParams, context?: string) =>\n this.createObservable(text, params, context),\n };\n //#endregion\n\n //#region private methods / refresh bindings\n private refreshBindings(): void {\n for (const binding of this.bindings) {\n binding.update(\n this.gettextWithoutEnsureLoaded(\n binding.text,\n binding.params,\n binding.context ?? '',\n ),\n );\n }\n }\n //#endregion\n\n //#region private methods / gettextwithout ensure loadded\n\n translate(text: string, params?: TranslationParams, context = ''): string {\n return this.gettextWithoutEnsureLoaded(text, params, context);\n }\n\n private gettextWithoutEnsureLoaded(\n text: string,\n params?: TranslationParams,\n context = '',\n ): string {\n const key = this.key(text, context);\n const translated = this.lookup[key] ?? text;\n this.debug &&\n console.log(\n `Translate (no load): \"${text}\" to \"${translated}\", key=\"${key}\" params:${_.isObject(params) ? JSON.stringify(params) : params} ` +\n `localFileLang: ${this.localFileLang}`,\n this,\n );\n return this.interpolate(translated, params);\n }\n //#endregion\n\n //#region private methods / load\n private async load(): Promise<void> {\n this.loadingSubjectSrc.next(true);\n\n const files: UtilsI18n.GettextFile[] = [];\n const filesForTArr = Object.keys(this.langImportMap);\n for (const fileRelativePath of filesForTArr) {\n try {\n const loader =\n this.langImportMap[fileRelativePath]?.[this.localFileLang];\n\n if (!loader) {\n continue;\n }\n\n const modOrFile = await loader();\n const file = (modOrFile as any).default ?? modOrFile;\n\n files.push(file);\n } catch (err) {\n console.log(\n `[taon-i18n] Error loading language file ${fileRelativePath} `,\n err,\n );\n }\n }\n this.loadedLang = this.localFileLang;\n this.lookup = this.createLookup(files);\n this.debug && console.log(`${this.localFileLang}`, files, this.lookup);\n\n this.refreshBindings();\n\n //#region @browser\n this.cdr?.markForCheck();\n //#endregion\n this.loadingSubjectSrc.next(false);\n }\n //#endregion\n\n //#region private methods / ensure loaded\n private async ensureLoaded(force = false): Promise<void> {\n if (this.useGlobalLangFile) {\n this.localFileLang = Translation.manager.currentGlobalLanguage;\n }\n\n if (!force && this.loadedLang === this.localFileLang) {\n return;\n }\n\n if (!force && this.loading) {\n return this.loading;\n }\n\n this.loading = this.load();\n\n try {\n await this.loading;\n } finally {\n this.loading = undefined;\n }\n }\n //#endregion\n\n //#region private methods / create lookup\n private createLookup(files: UtilsI18n.GettextFile[]): TranslationLookup {\n const lookup: TranslationLookup = {};\n\n for (const file of files) {\n for (const tag of file.tags ?? []) {\n if (!tag.translation) continue;\n lookup[this.key(tag.gettextString, tag.context ?? '')] =\n tag.translation;\n }\n }\n\n return lookup;\n }\n //#endregion\n\n //#region private methods / key\n private key(text: string, context = ''): string {\n return `${context}\\u0004${text}`;\n }\n //#endregion\n\n //#region private methods / interpolate\n private interpolate(text: string, params?: Record<string, unknown>): string {\n if (!params) return text;\n\n const result = text.replace(/\\[\\[\\s*([a-zA-Z0-9_$]+)\\s*\\]\\]/g, (_, key) => {\n const value = params[key];\n return value === undefined || value === null ? '' : String(value);\n });\n\n return result;\n }\n //#endregion\n}\n//#endregion\n\n//#region EXMAPLE\n/*\n// import {Translation} from 'taon'\n\nconst t = Translation.for('src/lib/translation.ts', {\"src/lib/translation.ts\":{\"en-US\":async () => (await import('./i18n/translation.ts.en-US.i18n.data')).default,\"pl-PL\":async () => (await import('./i18n/translation.ts.pl-PL.i18n.data')).default}} as any); // in runtime replaced with proper stuff\n\nt.gettext('asdasd');\n\nclass AnyAngularOrTaonClass {\n t = t.for(this); // probably only usefull for cdr in angular\n\n isLoading$ = t.isLoadingLang$; // maybe needed sometime\n\n refreshableSignalLabel$ = t.signal.gettext(t.gettext('welcome'));\n\n refreshableRxjsLabel$ = t.$.gettext('amazing better place'); // probably even better\n\n asdsa = this.t.gettext(\n // just sugar syntax\n 'This is mamazing',\n {\n asdasd: 'asd',\n },\n 'asdas',\n );\n\n ngOnInit(): void {\n //Called after the constructor, initializing input properties, and the first call to ngOnChanges.\n //Add 'implements OnInit' to the class.\n const lable = t.gettext('hello');\n }\n}\n */\n//#endregion\n","import {\n AfterViewInit,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n Input,\n OnChanges,\n} from '@angular/core';\n// @ts-ignore\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { Translation } from './translation';\n\n@Directive({\n selector: '[translate]',\n standalone: true,\n})\nexport class TranslateDirective implements AfterViewInit, OnChanges {\n private static readonly selector = '[translate]';\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('translate-t') t!: Translation;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('translate-params') params?: Record<string, unknown>;\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('translate-context') translateContext?: string;\n\n private initialized = false;\n\n private readonly element = inject(ElementRef<HTMLElement>);\n private readonly destroyRef = inject(DestroyRef);\n\n private originalText = '';\n\n ngAfterViewInit(): void {\n const nativeElement = this.element.nativeElement;\n\n this.validateContent();\n\n this.originalText = nativeElement.textContent?.trim() ?? '';\n\n this.initialized = true;\n\n this.render();\n\n this.t.isLoadingLang$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.render();\n });\n }\n\n ngOnChanges(): void {\n if (!this.initialized) {\n return;\n }\n\n this.render();\n }\n\n private validateContent(): void {\n const element = this.element.nativeElement;\n // console.log('validating ', element);\n\n if (element.children.length > 0) {\n console.error(\n `[@taon-dev/i18n] ${TranslateDirective.selector} should only be used ` +\n `with plain text. HTML/content elements detected inside:`,\n\n element,\n );\n }\n }\n\n private render(): void {\n if (!this.t) {\n throw (\n `Directive ${TranslateDirective.selector} applied on component ` +\n `without implemented Translatable interface`\n );\n }\n\n this.element.nativeElement.textContent = this.t.translate(\n this.originalText,\n this.params,\n this.translateContext,\n );\n }\n}\n","import {\n ChangeDetectorRef,\n inject,\n OnDestroy,\n Pipe,\n PipeTransform,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { Translation } from './translation';\nimport { TranslationManager } from './translation-manager';\n\n@Pipe({\n name: 'translate',\n standalone: true,\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private readonly cdr = inject(ChangeDetectorRef);\n\n private tranlsationManager = TranslationManager.Instance;\n\n private readonly sub: Subscription;\n\n constructor() {\n this.sub = this.tranlsationManager.isLoadingLangs$.subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n\n transform(\n text: string,\n t: Translation,\n params?: Record<string, unknown>,\n context?: string,\n ): string {\n return t?.gettext(text, params, context) ?? text;\n }\n\n ngOnDestroy(): void {\n this.sub.unsubscribe();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { UtilsI18n } from 'tnp-core/browser';\n\nimport { TranslationManager } from './translation-manager';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService {\n public manager = TranslationManager.Instance;\n\n public setOneLanguagePernament(lang: UtilsI18n.CommonLocaleCode): void {\n this.manager.setOneLanguagePernament(lang);\n }\n\n //#region change global lang\n async changeGlobalLang(lang: UtilsI18n.CommonLocaleCode): Promise<void> {\n await this.manager.changeGlobalLang(lang);\n }\n //#endregion\n}\n","//#region imports\nimport {\n AST,\n Binary,\n BindingPipe,\n Conditional,\n Interpolation,\n LiteralPrimitive,\n parseTemplate,\n TmplAstBoundAttribute,\n TmplAstBoundText,\n TmplAstElement,\n TmplAstNode,\n TmplAstTemplate,\n TmplAstText,\n} from '@angular/compiler/cjs'; // @esmRemove\nimport { UtilsI18n } from 'tnp-core/browser';\n//#endregion\n\nexport namespace UtilsI18nExtractGettextTranslateFromHtml {\n export function extractGettextTranslateFromHtml(\n html: string,\n fileName = 'template.html',\n ): UtilsI18n.GettextExtracted[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n function extractGettextCallsFromSource(\n html: string,\n ): UtilsI18n.GettextExtracted[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractGettextCallsFromHtmlExpression(source: string): Array<{\n gettextString: string;\n context?: string;\n }> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function readBalancedParenthesesContent(\n source: string,\n openParenIndex: number,\n ): string | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function readStaticStringArg(arg: string | undefined): string | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractTranslateParamsFromSource(\n source: string,\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractObjectLiteralParams(\n raw: string,\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function splitTopLevel(input: string, separator: string): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractTranslatePipeStringsFromSource(source: string): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractStringLiterals(source: string): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function getNodeAttributes(node: any): any[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region @esmRemove\n function getNodeInputs(node: any): TmplAstBoundAttribute[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n function isText(node: any): boolean {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function isBoundText(node: any): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n function collectText(nodes: any[]): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function extractTranslateDirectiveFromSource(\n html: string,\n ): UtilsI18n.GettextExtracted[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function stripHtml(html: string): string {\n/* */\n/* */\n return (void 0);\n }\n\n //#region @esmRemove\n function extractTranslateParams(\n inputs: TmplAstBoundAttribute[],\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n function extractObjectLiteralFromAst(\n ast: any,\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n //#region @esmRemove\n function extractTranslatePipeStrings(ast: AST | any): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n function extractStaticStringsFromExpression(ast: any): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function astToSource(ast: any): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function normalizeHtmlText(text: string): string {\n/* */\n/* */\n return (void 0);\n }\n\n function uniqueMessages(\n messages: UtilsI18n.GettextExtracted[],\n ): UtilsI18n.GettextExtracted[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n}\n","//#region imports\nimport {\n AST,\n Binary,\n BindingPipe,\n Conditional,\n Interpolation,\n LiteralPrimitive,\n parseTemplate,\n TmplAstBoundAttribute,\n TmplAstBoundText,\n TmplAstElement,\n TmplAstNode,\n TmplAstTemplate,\n TmplAstText,\n} from '@angular/compiler/cjs'; // @esmRemove\nimport { UtilsI18n } from 'tnp-core/browser';\nimport {\n canHaveDecorators,\n ClassDeclaration,\n createSourceFile,\n Decorator,\n Expression,\n forEachChild,\n getDecorators,\n isCallExpression,\n isClassDeclaration,\n isIdentifier,\n isObjectLiteralExpression,\n isPropertyAssignment,\n Node,\n ScriptKind,\n ScriptTarget,\n} from 'typescript'; // @esmRemove\n\nimport { UtilsI18nExtractGettextTranslateFromHtml } from './utils-i18n-extract-gettext-translate-from-html';\n//#endregion\n\nexport namespace UtilsI18nHtml {\n export function extractGettextTranslateFromHtml(\n html: string,\n fileName = 'template.html',\n ): UtilsI18n.GettextExtracted[] {\n return UtilsI18nExtractGettextTranslateFromHtml.extractGettextTranslateFromHtml(\n html,\n fileName,\n );\n }\n\n export function replaceTranslatePipieDirectiveTContext(\n html: string,\n options?: {\n angularTsWithInlineHtml?: boolean;\n },\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n export function isAngularTsWithInlineHtml(content: string): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n //#region @esmRemove\n\n function replaceInAngularInlineTemplates(content: string): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function getAngularInlineTemplateRanges(content: string): Array<{\n start: number;\n end: number;\n html: string;\n quote: '`' | '\"' | \"'\";\n }> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function hasComponentDecorator(node: ClassDeclaration): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n function getComponentDecorator(\n node: ClassDeclaration,\n ): Decorator | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function getComponentTemplateInitializer(\n decorator: Decorator,\n ): Expression | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function getStringLikeInnerRange(\n content: string,\n node: Expression,\n ):\n | {\n start: number;\n end: number;\n html: string;\n quote: '`' | '\"' | \"'\";\n }\n | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n export function replaceTranslatePipieDirectiveTContextInHtml(\n html: string,\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n return void 0 as any;\n }\n\n function findTranslateDirectiveEditsFromSource(\n html: string,\n ): Array<{ index: number; text: string }> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function hasTranslateDirective(node: any): boolean {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function hasTranslateTInput(node: any): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function findOpenTagInsertPosition(\n html: string,\n start: number,\n length: number,\n ): number {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function applyEdits(\n input: string,\n edits: Array<{ index: number; text: string }>,\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n","import { crossPlatformPath, UtilsI18n, fse } from 'tnp-core/browser';\n\nexport namespace UtilsPoFile {\n //#region generate po files\n export function generatePoFiles(\n files: UtilsI18n.GettextFile[],\n locales: UtilsI18n.CommonLocaleCode[],\n destinationAbsFolderPath: string,\n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region generate po file content\n export function generatePoFileContent(\n files: UtilsI18n.GettextFile[],\n locale: UtilsI18n.CommonLocaleCode,\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region extract po to json\n export function extractPoToJson(\n poFileContent: string,\n ): UtilsI18n.GettextFile[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region generate translation override interface\n export function generateTranslationOverrideInterface(\n file: UtilsI18n.GettextFile,\n interfaceName: string,\n locale: UtilsI18n.CommonLocaleCode,\n ): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function escapeTs(value: string): string {\n return value.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n }\n //#endregion\n\n //#region merge gettext file\n export function mergeGettextFile(\n jsonContent1FromTsHtml: UtilsI18n.GettextFile,\n json2ContentFromPoFileModifedByUser?: UtilsI18n.GettextFile | null,\n ): UtilsI18n.GettextFile {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n //#endregion\n\n //#region models & helpers\n function getGettextTagKey(\n tag: Pick<UtilsI18n.GettextExtracted, 'gettextString' | 'context'>,\n ): string {\n return `${tag.context ?? ''}\\u0004${tag.gettextString}`;\n }\n\n interface ParsedPoEntry {\n refs: string[];\n msgctxt?: string;\n msgid?: string;\n msgstr?: string;\n }\n\n function parsePoEntries(po: string): ParsedPoEntry[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function parsePoRef(\n ref: string,\n ): { fileAbsPath: string; lineNumber: number } | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n function escapePoString(value: string): string {\n return value\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\n/g, '\\\\n');\n }\n\n function readPoQuoted(value: string): string {\n const match = value.match(/^\"([\\s\\S]*)\"$/);\n if (!match) return '';\n\n return unescapePoString(match[1]);\n }\n\n function normalizePoTranslation(\n translation?: string | null,\n ): string | undefined {\n if (translation === undefined || translation === null) {\n return undefined;\n }\n\n return translation.trim().length > 0 ? translation : undefined;\n }\n\n function unescapePoString(value: string): string {\n return value\n .replace(/\\\\n/g, '\\n')\n .replace(/\\\\\"/g, '\"')\n .replace(/\\\\\\\\/g, '\\\\');\n }\n //#endregion\n}\n","// THIS FILE IS GENERATED - DO NOT MODIFY\nimport { CoreModels } from 'tnp-core/browser';\n\n// join interface type here\nimport { EnUsTraslationOverrideSrcLibTranslationTs } from './translation.ts.en-US.i18n.data';\nimport { PlPlTraslationOverrideSrcLibTranslationTs } from './translation.ts.pl-PL.i18n.data';;\nexport type LibOverride = CoreModels.DeepPartial<EnUsTraslationOverrideSrcLibTranslationTs \n| PlPlTraslationOverrideSrcLibTranslationTs>;\n\n // THIS FILE IS GENERATED - DO NOT MODIFY\n ","// @ts-nocheck\n// This file is auto-generated during init process. Do not modify.\n// This disable this auto generate file.\n// set property \"shouldGenerateAutogenIndexFile: false\" \n// in taon.jsonc of your project. \nexport * from './build-info._auto-generated_'; \nexport * from './local-translation'; \nexport * from './start-cli'; \nexport * from './translate.directive'; // @browser\nexport * from './translate.pipe'; // @browser\nexport * from './translate.service'; // @browser\nexport * from './translation-manager'; \nexport * from './translation.models'; \nexport * from './translation'; \nexport * from './utils-i18n-extract-gettext-translate-from-html'; \nexport * from './utils-i18n-html'; \nexport * from './utils-po-file'; \nexport * from './i18n/lib.translation'; ","export * from './index._auto-generated_';\nexport * from './start-cli';\nexport default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "i18n/browser",
3
- "version": "21.0.35",
3
+ "version": "21.0.42",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"