@taon-dev/i18n 21.0.47 → 21.0.49

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 (145) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/fesm2022/i18n-browser.mjs +1 -1
  3. package/browser/fesm2022/i18n-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/i18n-browser.d.ts +1 -1
  6. package/browser-prod/fesm2022/i18n-browser-prod.mjs +1 -1
  7. package/browser-prod/fesm2022/i18n-browser-prod.mjs.map +1 -1
  8. package/browser-prod/package.json +1 -1
  9. package/browser-prod/types/i18n-browser-prod.d.ts +1 -1
  10. package/full-dts/build-info._auto-generated_.d.ts +1 -1
  11. package/lib/build-info._auto-generated_.d.ts +1 -1
  12. package/lib/build-info._auto-generated_.js +1 -1
  13. package/lib/package.json +1 -1
  14. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  15. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  16. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  17. package/lib-prod/build-info._auto-generated_.js +1 -1
  18. package/lib-prod/package.json +1 -1
  19. package/package.json +1 -1
  20. package/ts-source/browser-code/build-info._auto-generated_.ts +13 -0
  21. package/ts-source/browser-code/i18n/lib.translation.ts +12 -0
  22. package/ts-source/browser-code/i18n/translation.ts.en-US.i18n.data.ts +33 -0
  23. package/ts-source/browser-code/i18n/translation.ts.en-US.po +17 -0
  24. package/ts-source/browser-code/i18n/translation.ts.pl-PL.i18n.data.ts +33 -0
  25. package/ts-source/browser-code/i18n/translation.ts.pl-PL.po +17 -0
  26. package/ts-source/browser-code/index._auto-generated_.ts +20 -0
  27. package/ts-source/browser-code/index.scss +7 -0
  28. package/ts-source/browser-code/index.ts +10 -0
  29. package/ts-source/browser-code/lib-info.md +8 -0
  30. package/ts-source/browser-code/local-translation.ts +126 -0
  31. package/ts-source/browser-code/migrations/migrations-info.md +6 -0
  32. package/ts-source/browser-code/start-cli.ts +12 -0
  33. package/ts-source/browser-code/translate.directive.ts +59 -0
  34. package/ts-source/browser-code/translate.pipe.ts +32 -0
  35. package/ts-source/browser-code/translate.service.ts +20 -0
  36. package/ts-source/browser-code/translation-manager.ts +101 -0
  37. package/ts-source/browser-code/translation.models.ts +27 -0
  38. package/ts-source/browser-code/translation.ts +179 -0
  39. package/ts-source/browser-code/utils-i18n-extract-gettext-translate-from-html.ts +87 -0
  40. package/ts-source/browser-code/utils-i18n-html.ts +79 -0
  41. package/ts-source/browser-code/utils-po-file.ts +70 -0
  42. package/ts-source/browser-code-prod/build-info._auto-generated_.split-namespaces.json +4 -0
  43. package/ts-source/browser-code-prod/build-info._auto-generated_.ts +13 -0
  44. package/ts-source/browser-code-prod/i18n/lib.translation.split-namespaces.json +4 -0
  45. package/ts-source/browser-code-prod/i18n/lib.translation.ts +12 -0
  46. package/ts-source/browser-code-prod/i18n/translation.ts.en-US.i18n.data.ts +33 -0
  47. package/ts-source/browser-code-prod/i18n/translation.ts.en-US.po +17 -0
  48. package/ts-source/browser-code-prod/i18n/translation.ts.pl-PL.i18n.data.ts +33 -0
  49. package/ts-source/browser-code-prod/i18n/translation.ts.pl-PL.po +17 -0
  50. package/ts-source/browser-code-prod/index._auto-generated_.split-namespaces.json +4 -0
  51. package/ts-source/browser-code-prod/index._auto-generated_.ts +20 -0
  52. package/ts-source/browser-code-prod/index.scss +7 -0
  53. package/ts-source/browser-code-prod/index.split-namespaces.json +4 -0
  54. package/ts-source/browser-code-prod/index.ts +10 -0
  55. package/ts-source/browser-code-prod/lib-info.md +8 -0
  56. package/ts-source/browser-code-prod/local-translation.split-namespaces.json +4 -0
  57. package/ts-source/browser-code-prod/local-translation.ts +126 -0
  58. package/ts-source/browser-code-prod/migrations/migrations-info.md +6 -0
  59. package/ts-source/browser-code-prod/start-cli.split-namespaces.json +4 -0
  60. package/ts-source/browser-code-prod/start-cli.ts +12 -0
  61. package/ts-source/browser-code-prod/translate.directive.split-namespaces.json +4 -0
  62. package/ts-source/browser-code-prod/translate.directive.ts +59 -0
  63. package/ts-source/browser-code-prod/translate.pipe.split-namespaces.json +4 -0
  64. package/ts-source/browser-code-prod/translate.pipe.ts +32 -0
  65. package/ts-source/browser-code-prod/translate.service.split-namespaces.json +4 -0
  66. package/ts-source/browser-code-prod/translate.service.ts +20 -0
  67. package/ts-source/browser-code-prod/translation-manager.split-namespaces.json +4 -0
  68. package/ts-source/browser-code-prod/translation-manager.ts +101 -0
  69. package/ts-source/browser-code-prod/translation.models.split-namespaces.json +4 -0
  70. package/ts-source/browser-code-prod/translation.models.ts +27 -0
  71. package/ts-source/browser-code-prod/translation.split-namespaces.json +4 -0
  72. package/ts-source/browser-code-prod/translation.ts +179 -0
  73. package/ts-source/browser-code-prod/utils-i18n-extract-gettext-translate-from-html.split-namespaces.json +10 -0
  74. package/ts-source/browser-code-prod/utils-i18n-extract-gettext-translate-from-html.ts +85 -0
  75. package/ts-source/browser-code-prod/utils-i18n-html.split-namespaces.json +16 -0
  76. package/ts-source/browser-code-prod/utils-i18n-html.ts +77 -0
  77. package/ts-source/browser-code-prod/utils-po-file.split-namespaces.json +18 -0
  78. package/ts-source/browser-code-prod/utils-po-file.ts +68 -0
  79. package/ts-source/websql-code/build-info._auto-generated_.ts +13 -0
  80. package/ts-source/websql-code/i18n/lib.translation.ts +12 -0
  81. package/ts-source/websql-code/i18n/translation.ts.en-US.i18n.data.ts +33 -0
  82. package/ts-source/websql-code/i18n/translation.ts.en-US.po +17 -0
  83. package/ts-source/websql-code/i18n/translation.ts.pl-PL.i18n.data.ts +33 -0
  84. package/ts-source/websql-code/i18n/translation.ts.pl-PL.po +17 -0
  85. package/ts-source/websql-code/index._auto-generated_.ts +20 -0
  86. package/ts-source/websql-code/index.scss +7 -0
  87. package/ts-source/websql-code/index.ts +10 -0
  88. package/ts-source/websql-code/lib-info.md +8 -0
  89. package/ts-source/websql-code/local-translation.ts +126 -0
  90. package/ts-source/websql-code/migrations/migrations-info.md +6 -0
  91. package/ts-source/websql-code/start-cli.ts +12 -0
  92. package/ts-source/websql-code/translate.directive.ts +59 -0
  93. package/ts-source/websql-code/translate.pipe.ts +32 -0
  94. package/ts-source/websql-code/translate.service.ts +20 -0
  95. package/ts-source/websql-code/translation-manager.ts +101 -0
  96. package/ts-source/websql-code/translation.models.ts +27 -0
  97. package/ts-source/websql-code/translation.ts +179 -0
  98. package/ts-source/websql-code/utils-i18n-extract-gettext-translate-from-html.ts +87 -0
  99. package/ts-source/websql-code/utils-i18n-html.ts +79 -0
  100. package/ts-source/websql-code/utils-po-file.ts +70 -0
  101. package/ts-source/websql-code-prod/build-info._auto-generated_.split-namespaces.json +4 -0
  102. package/ts-source/websql-code-prod/build-info._auto-generated_.ts +13 -0
  103. package/ts-source/websql-code-prod/i18n/lib.translation.split-namespaces.json +4 -0
  104. package/ts-source/websql-code-prod/i18n/lib.translation.ts +12 -0
  105. package/ts-source/websql-code-prod/i18n/translation.ts.en-US.i18n.data.ts +33 -0
  106. package/ts-source/websql-code-prod/i18n/translation.ts.en-US.po +17 -0
  107. package/ts-source/websql-code-prod/i18n/translation.ts.pl-PL.i18n.data.ts +33 -0
  108. package/ts-source/websql-code-prod/i18n/translation.ts.pl-PL.po +17 -0
  109. package/ts-source/websql-code-prod/index._auto-generated_.split-namespaces.json +4 -0
  110. package/ts-source/websql-code-prod/index._auto-generated_.ts +20 -0
  111. package/ts-source/websql-code-prod/index.scss +7 -0
  112. package/ts-source/websql-code-prod/index.split-namespaces.json +4 -0
  113. package/ts-source/websql-code-prod/index.ts +10 -0
  114. package/ts-source/websql-code-prod/lib-info.md +8 -0
  115. package/ts-source/websql-code-prod/local-translation.split-namespaces.json +4 -0
  116. package/ts-source/websql-code-prod/local-translation.ts +126 -0
  117. package/ts-source/websql-code-prod/migrations/migrations-info.md +6 -0
  118. package/ts-source/websql-code-prod/start-cli.split-namespaces.json +4 -0
  119. package/ts-source/websql-code-prod/start-cli.ts +12 -0
  120. package/ts-source/websql-code-prod/translate.directive.split-namespaces.json +4 -0
  121. package/ts-source/websql-code-prod/translate.directive.ts +59 -0
  122. package/ts-source/websql-code-prod/translate.pipe.split-namespaces.json +4 -0
  123. package/ts-source/websql-code-prod/translate.pipe.ts +32 -0
  124. package/ts-source/websql-code-prod/translate.service.split-namespaces.json +4 -0
  125. package/ts-source/websql-code-prod/translate.service.ts +20 -0
  126. package/ts-source/websql-code-prod/translation-manager.split-namespaces.json +4 -0
  127. package/ts-source/websql-code-prod/translation-manager.ts +101 -0
  128. package/ts-source/websql-code-prod/translation.models.split-namespaces.json +4 -0
  129. package/ts-source/websql-code-prod/translation.models.ts +27 -0
  130. package/ts-source/websql-code-prod/translation.split-namespaces.json +4 -0
  131. package/ts-source/websql-code-prod/translation.ts +179 -0
  132. package/ts-source/websql-code-prod/utils-i18n-extract-gettext-translate-from-html.split-namespaces.json +10 -0
  133. package/ts-source/websql-code-prod/utils-i18n-extract-gettext-translate-from-html.ts +85 -0
  134. package/ts-source/websql-code-prod/utils-i18n-html.split-namespaces.json +16 -0
  135. package/ts-source/websql-code-prod/utils-i18n-html.ts +77 -0
  136. package/ts-source/websql-code-prod/utils-po-file.split-namespaces.json +18 -0
  137. package/ts-source/websql-code-prod/utils-po-file.ts +68 -0
  138. package/websql/fesm2022/i18n-websql.mjs +1 -1
  139. package/websql/fesm2022/i18n-websql.mjs.map +1 -1
  140. package/websql/package.json +1 -1
  141. package/websql/types/i18n-websql.d.ts +1 -1
  142. package/websql-prod/fesm2022/i18n-websql-prod.mjs +1 -1
  143. package/websql-prod/fesm2022/i18n-websql-prod.mjs.map +1 -1
  144. package/websql-prod/package.json +1 -1
  145. package/websql-prod/types/i18n-websql-prod.d.ts +1 -1
@@ -0,0 +1,179 @@
1
+ // @ts-nocheck
2
+ /* ============================================================================
3
+ * TAON READONLY SOURCE
4
+ * DO NOT MODIFY THIS FILE.
5
+ * Changes may be overwritten.
6
+ * ========================================================================== */
7
+
8
+ import { ChangeDetectorRef, inject, signal, WritableSignal, } from '@angular/core';
9
+ import type { WritableSignal as WritableSignalType, } from '@angular/core';
10
+ import { BehaviorSubject, Observable } from 'rxjs';
11
+ import { GlobalStorage, ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLeafObject, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith, UtilsI18n__NS__CommonLocaleCode, UtilsI18n__NS__CommonLocaleCodeEnum, UtilsI18n__NS__commonLocales, UtilsI18n__NS__defaultLangLocale, UtilsI18n__NS__detectLocale, UtilsI18n__NS__GettextExtracted, UtilsI18n__NS__GettextFile, UtilsI18n__NS__LangOption, UtilsI18n__NS__LangOptionArr } from 'tnp-core/websql-prod';
12
+ import { TranslationManager } from './translation-manager';
13
+ import { TaonTranslationsMapImport, TranslationBinding, TranslationLookup, TranslationParams, } from './translation.models';
14
+ import type { UtilsPoFile__NS__extractPoToJson, UtilsPoFile__NS__generatePoFileContent, UtilsPoFile__NS__generatePoFiles, UtilsPoFile__NS__generateTranslationOverrideInterface, UtilsPoFile__NS__mergeGettextFile } from './utils-po-file';
15
+ export class Translation {
16
+ static manager = TranslationManager.Instance;
17
+ static for(fileRelativePath: string, langImportMap: TaonTranslationsMapImport, opt?: {
18
+ debug?: boolean;
19
+ }): Translation {
20
+ opt = opt || {};
21
+ return new Translation(fileRelativePath, Translation.manager.currentGlobalLanguage, langImportMap, !!opt.debug);
22
+ }
23
+ public cdr?: ChangeDetectorRef;
24
+ private lookup: TranslationLookup = {};
25
+ private readonly loadingSubjectSrc = new BehaviorSubject(false);
26
+ public readonly isLoadingLang$ = this.loadingSubjectSrc.asObservable();
27
+ private loading?: Promise<void>;
28
+ private loadedLang?: UtilsI18n__NS__CommonLocaleCode;
29
+ private readonly bindings = new Set<TranslationBinding>();
30
+ private useGlobalLangFile = true;
31
+ private constructor(protected fileRelativePath: string, protected localFileLang: UtilsI18n__NS__CommonLocaleCode, protected langImportMap: TaonTranslationsMapImport, public debug = false) {
32
+ if (!Translation.manager.instances.has(this)) {
33
+ Translation.manager.instances.add(this);
34
+ }
35
+ else {
36
+ }
37
+ }
38
+ for(_classThis: object): Translation {
39
+ if (this.useGlobalLangFile) {
40
+ this.localFileLang = Translation.manager.currentGlobalLanguage;
41
+ }
42
+ try {
43
+ this.cdr = inject(ChangeDetectorRef);
44
+ }
45
+ catch {
46
+ }
47
+ void this.ensureLoaded();
48
+ return this;
49
+ }
50
+ async changeFileLang(lang: UtilsI18n__NS__CommonLocaleCode): Promise<void> {
51
+ this.useGlobalLangFile = false;
52
+ this.localFileLang = lang;
53
+ await this.ensureLoaded(true);
54
+ this.cdr?.markForCheck();
55
+ }
56
+ async useGlobalFileLang(): Promise<void> {
57
+ this.useGlobalLangFile = true;
58
+ await this.ensureLoaded(true);
59
+ this.cdr?.markForCheck();
60
+ }
61
+ gettext = (text: string, params?: TranslationParams, context = ''): string => {
62
+ const key = this.key(text, context);
63
+ const translated = this.lookup[key] ?? text;
64
+ this.debug &&
65
+ console.log(`Translate (with load): "${text}" to "${translated}", key="${key}" params:${___NS__isObject(params) ? JSON.stringify(params) : params} ` +
66
+ `localFileLang: ${this.localFileLang}`, this);
67
+ return this.interpolate(translated, params);
68
+ };
69
+ private createSignal(text: string, params?: TranslationParams, context = ''): WritableSignalType<string> {
70
+ const s = signal<string>(this.gettext(text, params, context));
71
+ this.bindings.add({
72
+ text,
73
+ params,
74
+ context,
75
+ update: value => s.set(value),
76
+ });
77
+ return s;
78
+ return void 0;
79
+ }
80
+ readonly signal = {
81
+ gettext: (text: string, params?: TranslationParams, context?: string) => this.createSignal(text, params, context),
82
+ };
83
+ private createObservable(text: string, params?: TranslationParams, context = ''): Observable<string> {
84
+ const subject = new BehaviorSubject<string>(this.gettext(text, params, context));
85
+ this.bindings.add({
86
+ text,
87
+ params,
88
+ context,
89
+ update: value => subject.next(value),
90
+ });
91
+ return subject.asObservable();
92
+ }
93
+ readonly $ = {
94
+ gettext: (text: string, params?: TranslationParams, context?: string) => this.createObservable(text, params, context),
95
+ };
96
+ private refreshBindings(): void {
97
+ for (const binding of this.bindings) {
98
+ binding.update(this.gettextWithoutEnsureLoaded(binding.text, binding.params, binding.context ?? ''));
99
+ }
100
+ }
101
+ translate(text: string, params?: TranslationParams, context = ''): string {
102
+ return this.gettextWithoutEnsureLoaded(text, params, context);
103
+ }
104
+ private gettextWithoutEnsureLoaded(text: string, params?: TranslationParams, context = ''): string {
105
+ const key = this.key(text, context);
106
+ const translated = this.lookup[key] ?? text;
107
+ this.debug &&
108
+ console.log(`Translate (no load): "${text}" to "${translated}", key="${key}" params:${___NS__isObject(params) ? JSON.stringify(params) : params} ` +
109
+ `localFileLang: ${this.localFileLang}`, this);
110
+ return this.interpolate(translated, params);
111
+ }
112
+ private async load(): Promise<void> {
113
+ this.loadingSubjectSrc.next(true);
114
+ const files: UtilsI18n__NS__GettextFile[] = [];
115
+ const filesForTArr = Object.keys(this.langImportMap);
116
+ for (const fileRelativePath of filesForTArr) {
117
+ try {
118
+ const loader = this.langImportMap[fileRelativePath]?.[this.localFileLang];
119
+ if (!loader) {
120
+ continue;
121
+ }
122
+ const modOrFile = await loader();
123
+ const file = (modOrFile as any).default ?? modOrFile;
124
+ files.push(file);
125
+ }
126
+ catch (err) {
127
+ console.log(`[taon-i18n] Error loading language file ${fileRelativePath} `, err);
128
+ }
129
+ }
130
+ this.loadedLang = this.localFileLang;
131
+ this.lookup = this.createLookup(files);
132
+ this.debug && console.log(`${this.localFileLang}`, files, this.lookup);
133
+ this.refreshBindings();
134
+ this.cdr?.markForCheck();
135
+ this.loadingSubjectSrc.next(false);
136
+ }
137
+ private async ensureLoaded(force = false): Promise<void> {
138
+ if (this.useGlobalLangFile) {
139
+ this.localFileLang = Translation.manager.currentGlobalLanguage;
140
+ }
141
+ if (!force && this.loadedLang === this.localFileLang) {
142
+ return;
143
+ }
144
+ if (!force && this.loading) {
145
+ return this.loading;
146
+ }
147
+ this.loading = this.load();
148
+ try {
149
+ await this.loading;
150
+ }
151
+ finally {
152
+ this.loading = undefined;
153
+ }
154
+ }
155
+ private createLookup(files: UtilsI18n__NS__GettextFile[]): TranslationLookup {
156
+ const lookup: TranslationLookup = {};
157
+ for (const file of files) {
158
+ for (const tag of file.tags ?? []) {
159
+ if (!tag.translation)
160
+ continue;
161
+ lookup[this.key(tag.gettextString, tag.context ?? '')] =
162
+ tag.translation;
163
+ }
164
+ }
165
+ return lookup;
166
+ }
167
+ private key(text: string, context = ''): string {
168
+ return `${context}\u0004${text}`;
169
+ }
170
+ private interpolate(text: string, params?: Record<string, unknown>): string {
171
+ if (!params)
172
+ return text;
173
+ const result = text.replace(/\[\[\s*([a-zA-Z0-9_$]+)\s*\]\]/g, (_, key) => {
174
+ const value = params[key];
175
+ return value === undefined || value === null ? '' : String(value);
176
+ });
177
+ return result;
178
+ }
179
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "namespacesMapObj": {
3
+ "UtilsI18nExtractGettextTranslateFromHtml.extractGettextTranslateFromHtml": "UtilsI18nExtractGettextTranslateFromHtml__NS__extractGettextTranslateFromHtml"
4
+ },
5
+ "namespacesReplace": {
6
+ "UtilsI18nExtractGettextTranslateFromHtml": [
7
+ "UtilsI18nExtractGettextTranslateFromHtml__NS__extractGettextTranslateFromHtml"
8
+ ]
9
+ }
10
+ }
@@ -0,0 +1,85 @@
1
+ // @ts-nocheck
2
+ /* ============================================================================
3
+ * TAON READONLY SOURCE
4
+ * DO NOT MODIFY THIS FILE.
5
+ * Changes may be overwritten.
6
+ * ========================================================================== */
7
+
8
+ import { AST, Binary, BindingPipe, Conditional, Interpolation, LiteralPrimitive, parseTemplate, TmplAstBoundAttribute, TmplAstBoundText, TmplAstElement, TmplAstNode, TmplAstTemplate, TmplAstText, } from '@angular/compiler/cjs';
9
+ import { UtilsI18n__NS__CommonLocaleCode, UtilsI18n__NS__CommonLocaleCodeEnum, UtilsI18n__NS__commonLocales, UtilsI18n__NS__defaultLangLocale, UtilsI18n__NS__detectLocale, UtilsI18n__NS__GettextExtracted, UtilsI18n__NS__GettextFile, UtilsI18n__NS__LangOption, UtilsI18n__NS__LangOptionArr } from 'tnp-core/websql-prod';
10
+ export function UtilsI18nExtractGettextTranslateFromHtml__NS__extractGettextTranslateFromHtml(html: string, fileName = 'template.html'): UtilsI18n__NS__GettextExtracted[] {
11
+ return (void 0);
12
+ return void 0 as any;
13
+ }
14
+ function extractGettextCallsFromSource(html: string): UtilsI18n__NS__GettextExtracted[] {
15
+ return (void 0);
16
+ }
17
+ function extractGettextCallsFromHtmlExpression(source: string): Array<{
18
+ gettextString: string;
19
+ context?: string;
20
+ }> {
21
+ return (void 0);
22
+ }
23
+ function readBalancedParenthesesContent(source: string, openParenIndex: number): string | null {
24
+ return (void 0);
25
+ }
26
+ function readStaticStringArg(arg: string | undefined): string | undefined {
27
+ return (void 0);
28
+ }
29
+ function extractTranslateParamsFromSource(source: string): Record<string, string> | null {
30
+ return (void 0);
31
+ }
32
+ function extractObjectLiteralParams(raw: string): Record<string, string> | null {
33
+ return (void 0);
34
+ }
35
+ function splitTopLevel(input: string, separator: string): string[] {
36
+ return (void 0);
37
+ }
38
+ function extractTranslatePipeStringsFromSource(source: string): string[] {
39
+ return (void 0);
40
+ }
41
+ function extractStringLiterals(source: string): string[] {
42
+ return (void 0);
43
+ }
44
+ function getNodeAttributes(node: any): any[] {
45
+ return (void 0);
46
+ }
47
+ function getNodeInputs(node: any): TmplAstBoundAttribute[] {
48
+ return (void 0);
49
+ }
50
+ function isText(node: any): boolean {
51
+ return (void 0);
52
+ }
53
+ function isBoundText(node: any): boolean {
54
+ return (void 0);
55
+ }
56
+ function collectText(nodes: any[]): string {
57
+ return (void 0);
58
+ }
59
+ function extractTranslateDirectiveFromSource(html: string): UtilsI18n__NS__GettextExtracted[] {
60
+ return (void 0);
61
+ }
62
+ function stripHtml(html: string): string {
63
+ return (void 0);
64
+ }
65
+ function extractTranslateParams(inputs: TmplAstBoundAttribute[]): Record<string, string> | null {
66
+ return (void 0);
67
+ }
68
+ function extractObjectLiteralFromAst(ast: any): Record<string, string> | null {
69
+ return (void 0);
70
+ }
71
+ function extractTranslatePipeStrings(ast: AST | any): string[] {
72
+ return (void 0);
73
+ }
74
+ function extractStaticStringsFromExpression(ast: any): string[] {
75
+ return (void 0);
76
+ }
77
+ function astToSource(ast: any): string {
78
+ return (void 0);
79
+ }
80
+ function normalizeHtmlText(text: string): string {
81
+ return (void 0);
82
+ }
83
+ function uniqueMessages(messages: UtilsI18n__NS__GettextExtracted[]): UtilsI18n__NS__GettextExtracted[] {
84
+ return (void 0);
85
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "namespacesMapObj": {
3
+ "UtilsI18nHtml.extractGettextTranslateFromHtml": "UtilsI18nHtml__NS__extractGettextTranslateFromHtml",
4
+ "UtilsI18nHtml.replaceTranslatePipieDirectiveTContext": "UtilsI18nHtml__NS__replaceTranslatePipieDirectiveTContext",
5
+ "UtilsI18nHtml.isAngularTsWithInlineHtml": "UtilsI18nHtml__NS__isAngularTsWithInlineHtml",
6
+ "UtilsI18nHtml.replaceTranslatePipieDirectiveTContextInHtml": "UtilsI18nHtml__NS__replaceTranslatePipieDirectiveTContextInHtml"
7
+ },
8
+ "namespacesReplace": {
9
+ "UtilsI18nHtml": [
10
+ "UtilsI18nHtml__NS__extractGettextTranslateFromHtml",
11
+ "UtilsI18nHtml__NS__isAngularTsWithInlineHtml",
12
+ "UtilsI18nHtml__NS__replaceTranslatePipieDirectiveTContext",
13
+ "UtilsI18nHtml__NS__replaceTranslatePipieDirectiveTContextInHtml"
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,77 @@
1
+ // @ts-nocheck
2
+ /* ============================================================================
3
+ * TAON READONLY SOURCE
4
+ * DO NOT MODIFY THIS FILE.
5
+ * Changes may be overwritten.
6
+ * ========================================================================== */
7
+
8
+ import { AST, Binary, BindingPipe, Conditional, Interpolation, LiteralPrimitive, parseTemplate, TmplAstBoundAttribute, TmplAstBoundText, TmplAstElement, TmplAstNode, TmplAstTemplate, TmplAstText, } from '@angular/compiler/cjs';
9
+ import { UtilsI18n__NS__CommonLocaleCode, UtilsI18n__NS__CommonLocaleCodeEnum, UtilsI18n__NS__commonLocales, UtilsI18n__NS__defaultLangLocale, UtilsI18n__NS__detectLocale, UtilsI18n__NS__GettextExtracted, UtilsI18n__NS__GettextFile, UtilsI18n__NS__LangOption, UtilsI18n__NS__LangOptionArr } from 'tnp-core/websql-prod';
10
+ import { canHaveDecorators, ClassDeclaration, createSourceFile, Decorator, Expression, forEachChild, getDecorators, isCallExpression, isClassDeclaration, isIdentifier, isObjectLiteralExpression, isPropertyAssignment, Node, ScriptKind, ScriptTarget, } from 'typescript';
11
+ import { UtilsI18nExtractGettextTranslateFromHtml__NS__extractGettextTranslateFromHtml } from './utils-i18n-extract-gettext-translate-from-html';
12
+ export function UtilsI18nHtml__NS__extractGettextTranslateFromHtml(html: string, fileName = 'template.html'): UtilsI18n__NS__GettextExtracted[] {
13
+ return UtilsI18nExtractGettextTranslateFromHtml__NS__extractGettextTranslateFromHtml(html, fileName);
14
+ }
15
+ export function UtilsI18nHtml__NS__replaceTranslatePipieDirectiveTContext(html: string, options?: {
16
+ angularTsWithInlineHtml?: boolean;
17
+ }): string {
18
+ return (void 0);
19
+ return void 0 as any;
20
+ }
21
+ export function UtilsI18nHtml__NS__isAngularTsWithInlineHtml(content: string): boolean {
22
+ return (void 0);
23
+ return void 0 as any;
24
+ }
25
+ function replaceInAngularInlineTemplates(content: string): string {
26
+ return (void 0);
27
+ }
28
+ function getAngularInlineTemplateRanges(content: string): Array<{
29
+ start: number;
30
+ end: number;
31
+ html: string;
32
+ quote: '`' | '"' | "'";
33
+ }> {
34
+ return (void 0);
35
+ }
36
+ function hasComponentDecorator(node: ClassDeclaration): boolean {
37
+ return (void 0);
38
+ }
39
+ function getComponentDecorator(node: ClassDeclaration): Decorator | undefined {
40
+ return (void 0);
41
+ }
42
+ function getComponentTemplateInitializer(decorator: Decorator): Expression | undefined {
43
+ return (void 0);
44
+ }
45
+ function getStringLikeInnerRange(content: string, node: Expression): {
46
+ start: number;
47
+ end: number;
48
+ html: string;
49
+ quote: '`' | '"' | "'";
50
+ } | undefined {
51
+ return (void 0);
52
+ }
53
+ export function UtilsI18nHtml__NS__replaceTranslatePipieDirectiveTContextInHtml(html: string): string {
54
+ return (void 0);
55
+ return void 0 as any;
56
+ }
57
+ function findTranslateDirectiveEditsFromSource(html: string): Array<{
58
+ index: number;
59
+ text: string;
60
+ }> {
61
+ return (void 0);
62
+ }
63
+ function hasTranslateDirective(node: any): boolean {
64
+ return (void 0);
65
+ }
66
+ function hasTranslateTInput(node: any): boolean {
67
+ return (void 0);
68
+ }
69
+ function findOpenTagInsertPosition(html: string, start: number, length: number): number {
70
+ return (void 0);
71
+ }
72
+ function applyEdits(input: string, edits: Array<{
73
+ index: number;
74
+ text: string;
75
+ }>): string {
76
+ return (void 0);
77
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "namespacesMapObj": {
3
+ "UtilsPoFile.generatePoFiles": "UtilsPoFile__NS__generatePoFiles",
4
+ "UtilsPoFile.generatePoFileContent": "UtilsPoFile__NS__generatePoFileContent",
5
+ "UtilsPoFile.extractPoToJson": "UtilsPoFile__NS__extractPoToJson",
6
+ "UtilsPoFile.generateTranslationOverrideInterface": "UtilsPoFile__NS__generateTranslationOverrideInterface",
7
+ "UtilsPoFile.mergeGettextFile": "UtilsPoFile__NS__mergeGettextFile"
8
+ },
9
+ "namespacesReplace": {
10
+ "UtilsPoFile": [
11
+ "UtilsPoFile__NS__extractPoToJson",
12
+ "UtilsPoFile__NS__generatePoFileContent",
13
+ "UtilsPoFile__NS__generatePoFiles",
14
+ "UtilsPoFile__NS__generateTranslationOverrideInterface",
15
+ "UtilsPoFile__NS__mergeGettextFile"
16
+ ]
17
+ }
18
+ }
@@ -0,0 +1,68 @@
1
+ // @ts-nocheck
2
+ /* ============================================================================
3
+ * TAON READONLY SOURCE
4
+ * DO NOT MODIFY THIS FILE.
5
+ * Changes may be overwritten.
6
+ * ========================================================================== */
7
+
8
+ import { crossPlatformPath, fse, UtilsI18n__NS__CommonLocaleCode, UtilsI18n__NS__CommonLocaleCodeEnum, UtilsI18n__NS__commonLocales, UtilsI18n__NS__defaultLangLocale, UtilsI18n__NS__detectLocale, UtilsI18n__NS__GettextExtracted, UtilsI18n__NS__GettextFile, UtilsI18n__NS__LangOption, UtilsI18n__NS__LangOptionArr } from 'tnp-core/websql-prod';
9
+ export function UtilsPoFile__NS__generatePoFiles(files: UtilsI18n__NS__GettextFile[], locales: UtilsI18n__NS__CommonLocaleCode[], destinationAbsFolderPath: string): void {
10
+ return (void 0);
11
+ }
12
+ export function UtilsPoFile__NS__generatePoFileContent(files: UtilsI18n__NS__GettextFile[], locale: UtilsI18n__NS__CommonLocaleCode): string {
13
+ return (void 0);
14
+ }
15
+ export function UtilsPoFile__NS__extractPoToJson(poFileContent: string): UtilsI18n__NS__GettextFile[] {
16
+ return (void 0);
17
+ }
18
+ export function UtilsPoFile__NS__generateTranslationOverrideInterface(file: UtilsI18n__NS__GettextFile, interfaceName: string, locale: UtilsI18n__NS__CommonLocaleCode): string {
19
+ return (void 0);
20
+ }
21
+ function escapeTs(value: string): string {
22
+ return value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
23
+ }
24
+ export function UtilsPoFile__NS__mergeGettextFile(jsonContent1FromTsHtml: UtilsI18n__NS__GettextFile, json2ContentFromPoFileModifedByUser?: UtilsI18n__NS__GettextFile | null): UtilsI18n__NS__GettextFile {
25
+ return (void 0);
26
+ }
27
+ function getGettextTagKey(tag: Pick<UtilsI18n__NS__GettextExtracted, 'gettextString' | 'context'>): string {
28
+ return `${tag.context ?? ''}\u0004${tag.gettextString}`;
29
+ }
30
+ interface ParsedPoEntry {
31
+ refs: string[];
32
+ msgctxt?: string;
33
+ msgid?: string;
34
+ msgstr?: string;
35
+ }
36
+ function parsePoEntries(po: string): ParsedPoEntry[] {
37
+ return (void 0);
38
+ }
39
+ function parsePoRef(ref: string): {
40
+ fileAbsPath: string;
41
+ lineNumber: number;
42
+ } | null {
43
+ return (void 0);
44
+ }
45
+ function escapePoString(value: string): string {
46
+ return value
47
+ .replace(/\\/g, '\\\\')
48
+ .replace(/"/g, '\\"')
49
+ .replace(/\n/g, '\\n');
50
+ }
51
+ function readPoQuoted(value: string): string {
52
+ const match = value.match(/^"([\s\S]*)"$/);
53
+ if (!match)
54
+ return '';
55
+ return unescapePoString(match[1]);
56
+ }
57
+ function normalizePoTranslation(translation?: string | null): string | undefined {
58
+ if (translation === undefined || translation === null) {
59
+ return undefined;
60
+ }
61
+ return translation.trim().length > 0 ? translation : undefined;
62
+ }
63
+ function unescapePoString(value: string): string {
64
+ return value
65
+ .replace(/\\n/g, '\n')
66
+ .replace(/\\"/g, '"')
67
+ .replace(/\\\\/g, '\\');
68
+ }
@@ -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.47';
31
+ const CURRENT_PACKAGE_VERSION = '21.0.49';
32
32
  // THIS FILE IS GENERATED - DO NOT MODIFY
33
33
 
34
34
  const MODEL_ID = 'Xenova/nllb-200-distilled-600M';