@taon-dev/i18n 21.0.24 → 21.0.25

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 (68) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/bin/start.js +1 -1
  3. package/browser/fesm2022/i18n-browser.mjs +26 -7
  4. package/browser/fesm2022/i18n-browser.mjs.map +1 -1
  5. package/browser/package.json +1 -1
  6. package/browser/types/i18n-browser.d.ts +4 -3
  7. package/browser-prod/fesm2022/i18n-browser-prod.mjs +26 -7
  8. package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +1 -1
  9. package/browser-prod/package.json +1 -1
  10. package/browser-prod/types/i18n-browser-prod.d.ts +4 -3
  11. package/html/assets/generated/pwa/html-pwa.html +53 -53
  12. package/lib/build-info._auto-generated_.d.ts +1 -1
  13. package/lib/build-info._auto-generated_.js +1 -1
  14. package/lib/i18n/translation.ts.en-US.i18n.data.js +3 -3
  15. package/lib/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  16. package/lib/package.json +1 -1
  17. package/lib/translation-manager.d.ts +2 -1
  18. package/lib/translation-manager.js +14 -2
  19. package/lib/translation-manager.js.map +1 -1
  20. package/lib/translation.d.ts +1 -1
  21. package/lib/translation.js +22 -15
  22. package/lib/translation.js.map +1 -1
  23. package/lib/utils-i18n-extract-gettext-translate-from-html.js +2 -2
  24. package/lib/utils-i18n-extract-gettext-translate-from-html.js.map +1 -1
  25. package/lib/utils-i18n-html.js +2 -2
  26. package/lib/utils-i18n-html.js.map +1 -1
  27. package/lib-esm/app.electron.d.ts +1 -1
  28. package/lib-esm/app.electron.js +1 -1
  29. package/lib-esm/app.hosts.d.ts +3 -3
  30. package/lib-esm/app.hosts.js +8 -8
  31. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  32. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  33. package/lib-esm/lib/i18n/translation.ts.en-US.i18n.data.js +3 -3
  34. package/lib-esm/lib/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  35. package/lib-esm/lib/translation-manager.d.ts +2 -1
  36. package/lib-esm/lib/translation-manager.js +14 -2
  37. package/lib-esm/lib/translation-manager.js.map +1 -1
  38. package/lib-esm/lib/translation.d.ts +3 -3
  39. package/lib-esm/lib/translation.js +22 -15
  40. package/lib-esm/lib/translation.js.map +1 -1
  41. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js +1 -1
  42. package/lib-esm/lib/utils-i18n-extract-gettext-translate-from-html.js.map +1 -1
  43. package/lib-esm/lib/utils-i18n-html.js +1 -1
  44. package/lib-esm/lib/utils-i18n-html.js.map +1 -1
  45. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  46. package/lib-prod/build-info._auto-generated_.js +1 -1
  47. package/lib-prod/i18n/translation.ts.en-US.i18n.data.js +3 -3
  48. package/lib-prod/i18n/translation.ts.pl-PL.i18n.data.js +3 -3
  49. package/lib-prod/package.json +1 -1
  50. package/lib-prod/translation-manager.d.ts +2 -1
  51. package/lib-prod/translation-manager.js +15 -3
  52. package/lib-prod/translation-manager.js.map +1 -1
  53. package/lib-prod/translation.d.ts +3 -3
  54. package/lib-prod/translation.js +22 -15
  55. package/lib-prod/translation.js.map +1 -1
  56. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.js +1 -1
  57. package/lib-prod/utils-i18n-extract-gettext-translate-from-html.js.map +1 -1
  58. package/lib-prod/utils-i18n-html.js +1 -1
  59. package/lib-prod/utils-i18n-html.js.map +1 -1
  60. package/package.json +1 -1
  61. package/websql/fesm2022/i18n-websql.mjs +26 -7
  62. package/websql/fesm2022/i18n-websql.mjs.map +1 -1
  63. package/websql/package.json +1 -1
  64. package/websql/types/i18n-websql.d.ts +4 -3
  65. package/websql-prod/fesm2022/i18n-websql-prod.mjs +26 -7
  66. package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +1 -1
  67. package/websql-prod/package.json +1 -1
  68. package/websql-prod/types/i18n-websql-prod.d.ts +4 -3
@@ -1,5 +1,5 @@
1
1
  {
2
- "commitHash": "b5cdff04dd4ec5aad4330701de8c013d8e218c72",
3
- "commitName": "fix: skip localstorage when change language for backend",
4
- "commitDate": "04-07-2026 18:23:40"
2
+ "commitHash": "b405a20022a3d6954fe1b662cfd07acce674abc1",
3
+ "commitName": "fix: translation manager instances in more global place",
4
+ "commitDate": "11-07-2026 00:58:36"
5
5
  }
package/bin/start.js CHANGED
@@ -1,4 +1,4 @@
1
- global.frameworkName = 'i18n';
1
+ global.frameworkName = 'i18n';
2
2
  Error.stackTraceLimit = 100;
3
3
  global.i0 = {
4
4
  defineInjectable: function () { }
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { inject, ChangeDetectorRef, signal, ElementRef, DestroyRef, Input, Directive, Pipe, Injectable } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { BehaviorSubject, tap, map } from 'rxjs';
5
- import { UtilsI18n, GlobalStorage, _ } from 'tnp-core/browser';
5
+ import { GlobalStorage, _, UtilsI18n } from 'tnp-core/browser';
6
6
 
7
7
  // THIS FILE IS GENERATED - DO NOT MODIFY
8
8
  /**
@@ -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.24';
31
+ const CURRENT_PACKAGE_VERSION = '21.0.25';
32
32
  // THIS FILE IS GENERATED - DO NOT MODIFY
33
33
 
34
34
  //#region tnp-helpers cli template
@@ -81,14 +81,24 @@ async function startCli(argsv, filename) {
81
81
  //#region constants
82
82
  const globalStorageKeyMainLanguage = 'taon-gettext-main-language';
83
83
  const globalTaonLanguageLocalKeyLocalStor = 'taon-language-local';
84
+ const TranslationManagerGlobalStorKey = 'TranslationManagerGlobalStorKey';
84
85
  //#endregion
85
86
  class TranslationManager {
87
+ // public instances = new Set<Translation>();
88
+ get instances() {
89
+ let set = GlobalStorage.get(TranslationManagerGlobalStorKey);
90
+ if (_.isNil(set)) {
91
+ GlobalStorage.set(TranslationManagerGlobalStorKey, new Set());
92
+ }
93
+ set = GlobalStorage.get(TranslationManagerGlobalStorKey);
94
+ return set;
95
+ }
86
96
  constructor() {
87
- this.instances = new Set();
88
97
  //#region current global language
89
98
  this.defaultLangLocale = (() => {
90
99
  //#region @browser
91
100
  return (localStorage.getItem(globalTaonLanguageLocalKeyLocalStor) ||
101
+ TranslationManager.globalDefautlLanguageOverride ||
92
102
  UtilsI18n.detectLocale());
93
103
  //#endregion
94
104
  return UtilsI18n.defaultLangLocale;
@@ -174,8 +184,9 @@ class TranslationManager {
174
184
  //#region @browser
175
185
  localStorage.setItem(globalTaonLanguageLocalKeyLocalStor, lang);
176
186
  //#endregion
187
+ // console.log('instances ', this.instances);
177
188
  try {
178
- await Promise.all([...this.instances].map(c => c.useGlobalFileLang(lang)));
189
+ await Promise.all([...this.instances].map(c => c.useGlobalFileLang()));
179
190
  }
180
191
  catch (error) {
181
192
  console.error(error);
@@ -225,17 +236,22 @@ class Translation {
225
236
  gettext: (text, params, context) => this.createObservable(text, params, context),
226
237
  };
227
238
  if (!Translation.manager.instances.has(this)) {
239
+ // console.log(`Adding for ${fileRelativePath} `)
228
240
  Translation.manager.instances.add(this);
229
241
  }
242
+ else {
243
+ // console.log(`NOT ADDING for ${fileRelativePath} `)
244
+ }
245
+ // console.log(...Translation.manager.instances)
230
246
  }
231
247
  //#endregion
232
248
  //#region for
233
249
  for(_classThis) {
234
- //#region @browser
235
- if (this.useGlobalFileLang) {
250
+ if (this.useGlobalLangFile) {
236
251
  this.localFileLang = Translation.manager.currentGlobalLanguage;
237
252
  // console.log(`Update on t.for() ${this.localFileLang}`)
238
253
  }
254
+ //#region @browser
239
255
  try {
240
256
  this.cdr = inject(ChangeDetectorRef);
241
257
  }
@@ -258,7 +274,7 @@ class Translation {
258
274
  }
259
275
  //#endregion
260
276
  //#region use global file lang
261
- async useGlobalFileLang(lang) {
277
+ async useGlobalFileLang() {
262
278
  this.useGlobalLangFile = true;
263
279
  await this.ensureLoaded(true);
264
280
  //#region @browser
@@ -268,6 +284,7 @@ class Translation {
268
284
  //#endregion
269
285
  //#region signal
270
286
  createSignal(text, params, context = '') {
287
+ //#region @browser
271
288
  const s = signal(this.gettext(text, params, context), ...(ngDevMode ? [{ debugName: "s" }] : []));
272
289
  this.bindings.add({
273
290
  text,
@@ -276,6 +293,8 @@ class Translation {
276
293
  update: value => s.set(value),
277
294
  });
278
295
  return s;
296
+ //#endregion
297
+ return void 0;
279
298
  }
280
299
  //#endregion
281
300
  //#region $ obserable
@@ -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/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.24';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","//#region tnp-helpers cli template\n// import { CoreModels } from 'tnp-core/src';\n// import { Helpers, BaseCommandLineFeature } from 'tnp-helpers/src';\n// import { BaseProject, BaseStartConfig } from 'tnp-helpers/src'; // @backend\n\n// class $Global extends BaseCommandLineFeature<{}> {\n// static [CoreModels.ClassNameStaticProperty] = '';\n// public _() {\n// console.log(`Hello world from cli`);\n// this._exit();\n// }\n// }\n//#endregion\n\n/**\n *\n * @param argsv process.argsv\n * @param filename needed if you want ipc communicaiton\n */\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\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\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';\n\n//#endregion\n\nexport class TranslationManager {\n public instances = new Set<Translation>();\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 (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 =>\n [this.pernamentLanguage].includes(a),\n );\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 try {\n await Promise.all(\n [...this.instances].map(c => c.useGlobalFileLang(lang)),\n );\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';\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 if (!Translation.manager.instances.has(this)) {\n Translation.manager.instances.add(this);\n }\n }\n //#endregion\n\n //#region for\n for(_classThis: object): Translation {\n //#region @browser\n if (this.useGlobalFileLang) {\n this.localFileLang = Translation.manager.currentGlobalLanguage;\n // console.log(`Update on t.for() ${this.localFileLang}`)\n }\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(lang: UtilsI18n.CommonLocaleCode): 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 ): WritableSignal<string> {\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 }\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';\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 return (void 0);\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 function getNodeInputs(node: any): TmplAstBoundAttribute[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\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 function extractTranslateParams(\n inputs: TmplAstBoundAttribute[],\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\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 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\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';\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';\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 return (void 0);\n }\n\n export function isAngularTsWithInlineHtml(content: string): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\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\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 return (void 0);\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}","/* */ \nimport { join } from 'path';\n\nimport { UtilsI18n } 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 return (void 0);\n }\n //#endregion\n\n //#region extract po to json\n export function extractPoToJson(poFileContent: string): 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 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\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 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 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 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 './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/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.25';\n\n\n\n\n\n// THIS FILE IS GENERATED - DO NOT MODIFY\n ","//#region tnp-helpers cli template\n// import { CoreModels } from 'tnp-core/src';\n// import { Helpers, BaseCommandLineFeature } from 'tnp-helpers/src';\n// import { BaseProject, BaseStartConfig } from 'tnp-helpers/src'; // @backend\n\n// class $Global extends BaseCommandLineFeature<{}> {\n// static [CoreModels.ClassNameStaticProperty] = '';\n// public _() {\n// console.log(`Hello world from cli`);\n// this._exit();\n// }\n// }\n//#endregion\n\n/**\n *\n * @param argsv process.argsv\n * @param filename needed if you want ipc communicaiton\n */\nexport async function startCli(\n argsv: string[],\n filename: string,\n): Promise<void> {\n/* */\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\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';\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 return (void 0);\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 function getNodeInputs(node: any): TmplAstBoundAttribute[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\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 function extractTranslateParams(\n inputs: TmplAstBoundAttribute[],\n ): Record<string, string> | null {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\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 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\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';\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';\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 return (void 0);\n }\n\n export function isAngularTsWithInlineHtml(content: string): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\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\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 return (void 0);\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}","/* */ \nimport { join } from 'path';\n\nimport { UtilsI18n } 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 return (void 0);\n }\n //#endregion\n\n //#region extract po to json\n export function extractPoToJson(poFileContent: string): 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 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\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 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 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 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 './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.24",
3
+ "version": "21.0.25",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -28,7 +28,7 @@ declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
28
28
  /**
29
29
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
30
30
  */
31
- declare const CURRENT_PACKAGE_VERSION = "21.0.24";
31
+ declare const CURRENT_PACKAGE_VERSION = "21.0.25";
32
32
 
33
33
  /**
34
34
  *
@@ -38,7 +38,8 @@ declare const CURRENT_PACKAGE_VERSION = "21.0.24";
38
38
  declare function startCli(argsv: string[], filename: string): Promise<void>;
39
39
 
40
40
  declare class TranslationManager {
41
- instances: Set<Translation>;
41
+ static globalDefautlLanguageOverride: UtilsI18n.CommonLocaleCode;
42
+ get instances(): Set<Translation>;
42
43
  constructor();
43
44
  private defaultLangLocale;
44
45
  private _currentGlobalLanguage;
@@ -112,7 +113,7 @@ declare class Translation {
112
113
  private constructor();
113
114
  for(_classThis: object): Translation;
114
115
  changeFileLang(lang: UtilsI18n.CommonLocaleCode): Promise<void>;
115
- useGlobalFileLang(lang: UtilsI18n.CommonLocaleCode): Promise<void>;
116
+ useGlobalFileLang(): Promise<void>;
116
117
  gettext: (text: string, params?: TranslationParams, context?: string) => string;
117
118
  private createSignal;
118
119
  readonly signal: {
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { inject, ChangeDetectorRef, signal, ElementRef, DestroyRef, Input, Directive, Pipe, Injectable } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { BehaviorSubject, tap, map } from 'rxjs';
5
- import { UtilsI18n__NS__detectLocale, UtilsI18n__NS__defaultLangLocale, GlobalStorage, ___NS__cloneDeep, UtilsI18n__NS__LangOptionArr, ___NS__isObject } from 'tnp-core/browser-prod';
5
+ import { GlobalStorage, ___NS__isNil, UtilsI18n__NS__detectLocale, UtilsI18n__NS__defaultLangLocale, ___NS__cloneDeep, UtilsI18n__NS__LangOptionArr, ___NS__isObject } from 'tnp-core/browser-prod';
6
6
 
7
7
  // THIS FILE IS GENERATED - DO NOT MODIFY
8
8
  /**
@@ -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.24';
31
+ const CURRENT_PACKAGE_VERSION = '21.0.25';
32
32
  // THIS FILE IS GENERATED - DO NOT MODIFY
33
33
 
34
34
  //#region tnp-helpers cli template
@@ -81,14 +81,24 @@ async function startCli(argsv, filename) {
81
81
  //#region constants
82
82
  const globalStorageKeyMainLanguage = 'taon-gettext-main-language';
83
83
  const globalTaonLanguageLocalKeyLocalStor = 'taon-language-local';
84
+ const TranslationManagerGlobalStorKey = 'TranslationManagerGlobalStorKey';
84
85
  //#endregion
85
86
  class TranslationManager {
87
+ // public instances = new Set<Translation>();
88
+ get instances() {
89
+ let set = GlobalStorage.get(TranslationManagerGlobalStorKey);
90
+ if (___NS__isNil(set)) {
91
+ GlobalStorage.set(TranslationManagerGlobalStorKey, new Set());
92
+ }
93
+ set = GlobalStorage.get(TranslationManagerGlobalStorKey);
94
+ return set;
95
+ }
86
96
  constructor() {
87
- this.instances = new Set();
88
97
  //#region current global language
89
98
  this.defaultLangLocale = (() => {
90
99
  //#region @browser
91
100
  return (localStorage.getItem(globalTaonLanguageLocalKeyLocalStor) ||
101
+ TranslationManager.globalDefautlLanguageOverride ||
92
102
  UtilsI18n__NS__detectLocale());
93
103
  //#endregion
94
104
  return UtilsI18n__NS__defaultLangLocale;
@@ -174,8 +184,9 @@ class TranslationManager {
174
184
  //#region @browser
175
185
  localStorage.setItem(globalTaonLanguageLocalKeyLocalStor, lang);
176
186
  //#endregion
187
+ // console.log('instances ', this.instances);
177
188
  try {
178
- await Promise.all([...this.instances].map(c => c.useGlobalFileLang(lang)));
189
+ await Promise.all([...this.instances].map(c => c.useGlobalFileLang()));
179
190
  }
180
191
  catch (error) {
181
192
  console.error(error);
@@ -225,17 +236,22 @@ class Translation {
225
236
  gettext: (text, params, context) => this.createObservable(text, params, context),
226
237
  };
227
238
  if (!Translation.manager.instances.has(this)) {
239
+ // console.log(`Adding for ${fileRelativePath} `)
228
240
  Translation.manager.instances.add(this);
229
241
  }
242
+ else {
243
+ // console.log(`NOT ADDING for ${fileRelativePath} `)
244
+ }
245
+ // console.log(...Translation.manager.instances)
230
246
  }
231
247
  //#endregion
232
248
  //#region for
233
249
  for(_classThis) {
234
- //#region @browser
235
- if (this.useGlobalFileLang) {
250
+ if (this.useGlobalLangFile) {
236
251
  this.localFileLang = Translation.manager.currentGlobalLanguage;
237
252
  // console.log(`Update on t.for() ${this.localFileLang}`)
238
253
  }
254
+ //#region @browser
239
255
  try {
240
256
  this.cdr = inject(ChangeDetectorRef);
241
257
  }
@@ -258,7 +274,7 @@ class Translation {
258
274
  }
259
275
  //#endregion
260
276
  //#region use global file lang
261
- async useGlobalFileLang(lang) {
277
+ async useGlobalFileLang() {
262
278
  this.useGlobalLangFile = true;
263
279
  await this.ensureLoaded(true);
264
280
  //#region @browser
@@ -268,6 +284,7 @@ class Translation {
268
284
  //#endregion
269
285
  //#region signal
270
286
  createSignal(text, params, context = '') {
287
+ //#region @browser
271
288
  const s = signal(this.gettext(text, params, context), ...(ngDevMode ? [{ debugName: "s" }] : []));
272
289
  this.bindings.add({
273
290
  text,
@@ -276,6 +293,8 @@ class Translation {
276
293
  update: value => s.set(value),
277
294
  });
278
295
  return s;
296
+ //#endregion
297
+ return void 0;
279
298
  }
280
299
  //#endregion
281
300
  //#region $ obserable