@acorex/core 21.0.1-next.57 → 21.0.1-next.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-core-components.mjs +3 -3
- package/fesm2022/acorex-core-components.mjs.map +1 -1
- package/fesm2022/acorex-core-config.mjs +3 -3
- package/fesm2022/acorex-core-config.mjs.map +1 -1
- package/fesm2022/acorex-core-constants.mjs.map +1 -1
- package/fesm2022/acorex-core-date-time.mjs +25 -25
- package/fesm2022/acorex-core-date-time.mjs.map +1 -1
- package/fesm2022/acorex-core-events.mjs +3 -3
- package/fesm2022/acorex-core-events.mjs.map +1 -1
- package/fesm2022/acorex-core-file.mjs +10 -10
- package/fesm2022/acorex-core-file.mjs.map +1 -1
- package/fesm2022/acorex-core-format.mjs +19 -19
- package/fesm2022/acorex-core-format.mjs.map +1 -1
- package/fesm2022/acorex-core-full-screen.mjs +3 -3
- package/fesm2022/acorex-core-full-screen.mjs.map +1 -1
- package/fesm2022/acorex-core-icon.mjs +3 -3
- package/fesm2022/acorex-core-icon.mjs.map +1 -1
- package/fesm2022/acorex-core-image.mjs +3 -3
- package/fesm2022/acorex-core-image.mjs.map +1 -1
- package/fesm2022/acorex-core-locale.mjs +10 -10
- package/fesm2022/acorex-core-locale.mjs.map +1 -1
- package/fesm2022/acorex-core-memoize.mjs.map +1 -1
- package/fesm2022/acorex-core-network.mjs +3 -3
- package/fesm2022/acorex-core-network.mjs.map +1 -1
- package/fesm2022/acorex-core-pipes.mjs +3 -3
- package/fesm2022/acorex-core-pipes.mjs.map +1 -1
- package/fesm2022/acorex-core-platform.mjs +10 -10
- package/fesm2022/acorex-core-platform.mjs.map +1 -1
- package/fesm2022/acorex-core-storage.mjs +9 -9
- package/fesm2022/acorex-core-storage.mjs.map +1 -1
- package/fesm2022/acorex-core-translation.mjs +142 -77
- package/fesm2022/acorex-core-translation.mjs.map +1 -1
- package/fesm2022/acorex-core-utils.mjs +3 -3
- package/fesm2022/acorex-core-utils.mjs.map +1 -1
- package/fesm2022/acorex-core-validation.mjs +40 -40
- package/fesm2022/acorex-core-validation.mjs.map +1 -1
- package/fesm2022/acorex-core-z-index.mjs +3 -3
- package/fesm2022/acorex-core-z-index.mjs.map +1 -1
- package/fesm2022/acorex-core.mjs.map +1 -1
- package/package.json +23 -23
- package/{format/index.d.ts → types/acorex-core-format.d.ts} +2 -2
- package/{translation/index.d.ts → types/acorex-core-translation.d.ts} +29 -7
- package/{validation/index.d.ts → types/acorex-core-validation.d.ts} +10 -10
- /package/{components/index.d.ts → types/acorex-core-components.d.ts} +0 -0
- /package/{config/index.d.ts → types/acorex-core-config.d.ts} +0 -0
- /package/{constants/index.d.ts → types/acorex-core-constants.d.ts} +0 -0
- /package/{date-time/index.d.ts → types/acorex-core-date-time.d.ts} +0 -0
- /package/{events/index.d.ts → types/acorex-core-events.d.ts} +0 -0
- /package/{file/index.d.ts → types/acorex-core-file.d.ts} +0 -0
- /package/{full-screen/index.d.ts → types/acorex-core-full-screen.d.ts} +0 -0
- /package/{icon/index.d.ts → types/acorex-core-icon.d.ts} +0 -0
- /package/{image/index.d.ts → types/acorex-core-image.d.ts} +0 -0
- /package/{locale/index.d.ts → types/acorex-core-locale.d.ts} +0 -0
- /package/{memoize/index.d.ts → types/acorex-core-memoize.d.ts} +0 -0
- /package/{network/index.d.ts → types/acorex-core-network.d.ts} +0 -0
- /package/{pipes/index.d.ts → types/acorex-core-pipes.d.ts} +0 -0
- /package/{platform/index.d.ts → types/acorex-core-platform.d.ts} +0 -0
- /package/{storage/index.d.ts → types/acorex-core-storage.d.ts} +0 -0
- /package/{utils/index.d.ts → types/acorex-core-utils.d.ts} +0 -0
- /package/{z-index/index.d.ts → types/acorex-core-z-index.d.ts} +0 -0
- /package/{index.d.ts → types/acorex-core.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, Injectable, TemplateRef, ViewContainerRef, Directive, Pipe, provideAppInitializer, NgModule } from '@angular/core';
|
|
3
3
|
import { get } from 'lodash-es';
|
|
4
|
-
import { of, tap, shareReplay, firstValueFrom, BehaviorSubject, switchMap, from
|
|
4
|
+
import { of, tap, shareReplay, firstValueFrom, BehaviorSubject, distinctUntilChanged, switchMap, from } from 'rxjs';
|
|
5
5
|
import { AXEventService, AXSystemEvents } from '@acorex/core/events';
|
|
6
6
|
import { AXLocaleService } from '@acorex/core/locale';
|
|
7
7
|
import { waitFor } from '@acorex/core/utils';
|
|
@@ -157,10 +157,10 @@ class AXTranslationLoaderService {
|
|
|
157
157
|
getFallbackScopes(scope) {
|
|
158
158
|
return this.config.fallbacks?.scopes?.[scope] ?? [];
|
|
159
159
|
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
161
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
161
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationLoaderService, providedIn: 'root' }); }
|
|
162
162
|
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationLoaderService, decorators: [{
|
|
164
164
|
type: Injectable,
|
|
165
165
|
args: [{ providedIn: 'root' }]
|
|
166
166
|
}] });
|
|
@@ -215,36 +215,18 @@ function escapeRegExp(string) {
|
|
|
215
215
|
class TranslationResolverService {
|
|
216
216
|
constructor() {
|
|
217
217
|
this.loaderService = inject(AXTranslationLoaderService);
|
|
218
|
-
this.cache = new Map();
|
|
219
|
-
this.inflight = new Map();
|
|
220
218
|
this.parser = new TranslationParserService();
|
|
221
219
|
}
|
|
222
220
|
async resolve(lang, scope, key, params) {
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const fetchPromise = firstValueFrom(this.loaderService.load(lang, scope));
|
|
228
|
-
this.inflight.set(cacheKey, fetchPromise);
|
|
229
|
-
try {
|
|
230
|
-
const data = await fetchPromise;
|
|
231
|
-
this.cache.set(cacheKey, data);
|
|
232
|
-
}
|
|
233
|
-
finally {
|
|
234
|
-
this.inflight.delete(cacheKey);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
await this.inflight.get(cacheKey);
|
|
239
|
-
}
|
|
221
|
+
let result = this.loaderService.peek(lang, scope, key);
|
|
222
|
+
if (result == null) {
|
|
223
|
+
await firstValueFrom(this.loaderService.load(lang, scope));
|
|
224
|
+
result = this.loaderService.peek(lang, scope, key);
|
|
240
225
|
}
|
|
241
|
-
|
|
242
|
-
if (!translations) {
|
|
243
|
-
console.warn(`Translations not found for ${cacheKey} after attempting to load.`);
|
|
226
|
+
if (result == null) {
|
|
244
227
|
const unresolvedResult = key;
|
|
245
228
|
return this.format(unresolvedResult, params);
|
|
246
229
|
}
|
|
247
|
-
let result = get(translations, key, key);
|
|
248
230
|
// Recursively resolve references
|
|
249
231
|
if (typeof result === 'string' && this.parser.isExpression(result)) {
|
|
250
232
|
const tokens = this.parser.parse(result, lang, scope);
|
|
@@ -284,6 +266,57 @@ class TranslationResolverService {
|
|
|
284
266
|
}
|
|
285
267
|
}
|
|
286
268
|
|
|
269
|
+
const LOCALE_KEY_REGEX = /^(\*-\*|[a-z]{2}-[A-Z]{2})$/;
|
|
270
|
+
function resolveMultiLanguageValue(value, locale) {
|
|
271
|
+
return value[locale] ?? value['en-US'] ?? Object.values(value).find((item) => item != null) ?? '';
|
|
272
|
+
}
|
|
273
|
+
function isValidMultiLanguageObject(value) {
|
|
274
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
const entries = Object.entries(value);
|
|
278
|
+
if (!entries.length) {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
return entries.every(([key, entryValue]) => LOCALE_KEY_REGEX.test(key) && typeof entryValue === 'string');
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Resolves {@link AXMultiLanguageString} to a single string for the given locale.
|
|
285
|
+
* Fallback order: `currentLocale` → `en-US` → first map value.
|
|
286
|
+
*/
|
|
287
|
+
function resolveMultiLanguageString(content, currentLocale) {
|
|
288
|
+
if (content == null || content === '') {
|
|
289
|
+
return '';
|
|
290
|
+
}
|
|
291
|
+
if (typeof content === 'string') {
|
|
292
|
+
return content;
|
|
293
|
+
}
|
|
294
|
+
if (!isValidMultiLanguageObject(content)) {
|
|
295
|
+
return String(content);
|
|
296
|
+
}
|
|
297
|
+
return resolveMultiLanguageValue(content, currentLocale);
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Creates an {@link AXMultiLanguageMap} with `en-US` and `fa-IR` entries.
|
|
301
|
+
* Use for seed data, tests, and demos that supply English and Persian copy explicitly.
|
|
302
|
+
*/
|
|
303
|
+
function createMultiLanguageString(enUs, faIr) {
|
|
304
|
+
return { 'en-US': enUs, 'fa-IR': faIr };
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* True when there is no displayable text in any locale (plain string or ML map).
|
|
308
|
+
*/
|
|
309
|
+
function isEffectivelyEmptyLocalizedValue(value) {
|
|
310
|
+
if (value == null)
|
|
311
|
+
return true;
|
|
312
|
+
if (typeof value === 'string')
|
|
313
|
+
return value.trim() === '';
|
|
314
|
+
if (typeof value !== 'object' || Array.isArray(value))
|
|
315
|
+
return false;
|
|
316
|
+
const record = value;
|
|
317
|
+
return Object.values(record).every((v) => v == null || String(v).trim() === '');
|
|
318
|
+
}
|
|
319
|
+
|
|
287
320
|
let singletonInstance;
|
|
288
321
|
function translateSync(key, options) {
|
|
289
322
|
return singletonInstance.translateSync(key, options);
|
|
@@ -298,6 +331,7 @@ class AXTranslationService {
|
|
|
298
331
|
this.resolver = new TranslationResolverService();
|
|
299
332
|
this.activeLang = new BehaviorSubject(this.config.defaults.lang);
|
|
300
333
|
this.langChanges$ = this.activeLang.asObservable();
|
|
334
|
+
this.currentLocale$ = this.langChanges$.pipe(distinctUntilChanged());
|
|
301
335
|
singletonInstance = this;
|
|
302
336
|
this.localeService.profileChanged$.subscribe((locale) => {
|
|
303
337
|
if (locale?.localeInfo?.code) {
|
|
@@ -320,37 +354,55 @@ class AXTranslationService {
|
|
|
320
354
|
getDefaultLang() {
|
|
321
355
|
return this.config.defaults.lang;
|
|
322
356
|
}
|
|
323
|
-
|
|
324
|
-
if (
|
|
325
|
-
return
|
|
357
|
+
resolve(value, locale) {
|
|
358
|
+
if (value == null) {
|
|
359
|
+
return '';
|
|
326
360
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
361
|
+
if (typeof value === 'string') {
|
|
362
|
+
return value;
|
|
363
|
+
}
|
|
364
|
+
if (!isValidMultiLanguageObject(value)) {
|
|
365
|
+
return '';
|
|
366
|
+
}
|
|
367
|
+
return resolveMultiLanguageValue(value, locale ?? this.getActiveLang());
|
|
368
|
+
}
|
|
369
|
+
toLocaleMap(value, activeLocale = this.getActiveLang()) {
|
|
370
|
+
if (isValidMultiLanguageObject(value)) {
|
|
371
|
+
return { ...value };
|
|
372
|
+
}
|
|
373
|
+
return {
|
|
374
|
+
[activeLocale]: typeof value === 'string' ? value : '',
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
translate$(value, options) {
|
|
378
|
+
if (isValidMultiLanguageObject(value)) {
|
|
379
|
+
return this.langChanges$.pipe(switchMap((activeLang) => {
|
|
380
|
+
const targetLang = options?.lang ?? activeLang;
|
|
381
|
+
const selectedValue = resolveMultiLanguageValue(value, targetLang);
|
|
382
|
+
const scope = options?.scope ?? this.config.defaults.scope;
|
|
383
|
+
return from(this.translateAsync(selectedValue, {
|
|
384
|
+
...options,
|
|
385
|
+
lang: targetLang,
|
|
386
|
+
scope,
|
|
387
|
+
}));
|
|
334
388
|
}));
|
|
335
|
-
}
|
|
389
|
+
}
|
|
390
|
+
return this.translateValue$(value, options);
|
|
336
391
|
}
|
|
337
392
|
async translateAsync(text, options) {
|
|
338
|
-
const lang
|
|
339
|
-
const scope = options?.scope ?? this.config.defaults.scope;
|
|
393
|
+
const { lang, scope } = this.resolveContext(options);
|
|
340
394
|
const params = options?.params;
|
|
341
395
|
if (!this.parser.isExpression(text)) {
|
|
342
|
-
|
|
343
|
-
return this.resolver.format(resolved, params);
|
|
396
|
+
return this.resolver.resolve(lang, scope, text, params);
|
|
344
397
|
}
|
|
345
398
|
const tokens = this.parser.parse(text, lang, scope);
|
|
346
399
|
const results = await Promise.all(tokens.map((token) => this.resolver
|
|
347
400
|
.resolve(token.lang ?? lang, token.scope ?? scope, token.key, params)
|
|
348
|
-
.then((translated) => [token.fullMatch,
|
|
401
|
+
.then((translated) => [token.fullMatch, translated])));
|
|
349
402
|
return results.reduce((output, [match, translated]) => output.replace(match, translated), text);
|
|
350
403
|
}
|
|
351
404
|
translateSync(text, options) {
|
|
352
|
-
const lang
|
|
353
|
-
const scope = options?.scope ?? this.config.defaults.scope;
|
|
405
|
+
const { lang, scope } = this.resolveContext(options);
|
|
354
406
|
const params = options?.params;
|
|
355
407
|
const waitForLoad = options?.waitForLoad ?? false;
|
|
356
408
|
const timeoutMs = options?.timeoutMs ?? 100;
|
|
@@ -376,10 +428,40 @@ class AXTranslationService {
|
|
|
376
428
|
}
|
|
377
429
|
return result;
|
|
378
430
|
}
|
|
379
|
-
|
|
380
|
-
|
|
431
|
+
translateValue$(text, options) {
|
|
432
|
+
if (!text) {
|
|
433
|
+
return of('');
|
|
434
|
+
}
|
|
435
|
+
const staticOptions = { ...options };
|
|
436
|
+
const staticScope = staticOptions.scope ?? this.config.defaults.scope;
|
|
437
|
+
return this.langChanges$.pipe(switchMap((lang) => {
|
|
438
|
+
return from(this.translateAsync(text, {
|
|
439
|
+
...staticOptions,
|
|
440
|
+
lang: staticOptions.lang ?? lang,
|
|
441
|
+
scope: staticScope,
|
|
442
|
+
}));
|
|
443
|
+
}), shareReplay({ bufferSize: 1, refCount: true }));
|
|
444
|
+
}
|
|
445
|
+
resolveContext(options) {
|
|
446
|
+
return {
|
|
447
|
+
lang: options?.lang ?? this.getActiveLang() ?? this.config.defaults.lang,
|
|
448
|
+
scope: options?.scope ?? this.config.defaults.scope,
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
isValidMultiLanguageObject(value) {
|
|
452
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
453
|
+
return false;
|
|
454
|
+
}
|
|
455
|
+
const entries = Object.entries(value);
|
|
456
|
+
if (!entries.length) {
|
|
457
|
+
return false;
|
|
458
|
+
}
|
|
459
|
+
return entries.every(([key, entryValue]) => LOCALE_KEY_REGEX.test(key) && typeof entryValue === 'string');
|
|
460
|
+
}
|
|
461
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
462
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationService, providedIn: 'root' }); }
|
|
381
463
|
}
|
|
382
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
464
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationService, decorators: [{
|
|
383
465
|
type: Injectable,
|
|
384
466
|
args: [{
|
|
385
467
|
providedIn: 'root',
|
|
@@ -413,45 +495,28 @@ class AXTranslatorDirective {
|
|
|
413
495
|
this.vc.clear();
|
|
414
496
|
this.vc.createEmbeddedView(this.templateRef, { $implicit: t });
|
|
415
497
|
}
|
|
416
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
417
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
498
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
499
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: AXTranslatorDirective, isStandalone: true, selector: "[translate]", ngImport: i0 }); }
|
|
418
500
|
}
|
|
419
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
501
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslatorDirective, decorators: [{
|
|
420
502
|
type: Directive,
|
|
421
503
|
args: [{ selector: '[translate]' }]
|
|
422
504
|
}] });
|
|
423
505
|
|
|
424
|
-
const LOCALE_KEY_REGEX = /^(\*-\*|[a-z]{2}-[A-Z]{2})$/;
|
|
425
506
|
class AXTranslatorPipe {
|
|
426
507
|
constructor() {
|
|
427
508
|
this.service = inject(AXTranslationService);
|
|
428
509
|
}
|
|
429
510
|
transform(value, options) {
|
|
430
511
|
if (!value) {
|
|
431
|
-
return of('');
|
|
432
|
-
}
|
|
433
|
-
if (this.isMultiLanguageMap(value)) {
|
|
434
|
-
return this.service.langChanges$.pipe(map((activeLang) => this.resolveMultiLanguageValue(value, options?.lang ?? activeLang)));
|
|
512
|
+
return of('');
|
|
435
513
|
}
|
|
436
514
|
return this.service.translate$(value, options);
|
|
437
515
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
return false;
|
|
441
|
-
}
|
|
442
|
-
const entries = Object.entries(value);
|
|
443
|
-
if (!entries.length) {
|
|
444
|
-
return false;
|
|
445
|
-
}
|
|
446
|
-
return entries.every(([key, entryValue]) => LOCALE_KEY_REGEX.test(key) && typeof entryValue === 'string');
|
|
447
|
-
}
|
|
448
|
-
resolveMultiLanguageValue(value, locale) {
|
|
449
|
-
return value[locale] ?? value['en-US'] ?? Object.values(value).find((item) => item != null) ?? '';
|
|
450
|
-
}
|
|
451
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
452
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: AXTranslatorPipe, isStandalone: true, name: "translate" }); }
|
|
516
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
517
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXTranslatorPipe, isStandalone: true, name: "translate" }); }
|
|
453
518
|
}
|
|
454
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
519
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslatorPipe, decorators: [{
|
|
455
520
|
type: Pipe,
|
|
456
521
|
args: [{
|
|
457
522
|
name: 'translate',
|
|
@@ -465,16 +530,16 @@ function initializeApp(translatorService) {
|
|
|
465
530
|
};
|
|
466
531
|
}
|
|
467
532
|
class AXTranslationModule {
|
|
468
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
469
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
470
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
533
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
534
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationModule, imports: [AXTranslatorPipe, AXTranslatorDirective], exports: [AXTranslatorPipe, AXTranslatorDirective] }); }
|
|
535
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationModule, providers: [
|
|
471
536
|
provideAppInitializer(() => {
|
|
472
537
|
const initializerFn = initializeApp(inject(AXTranslationLoaderService));
|
|
473
538
|
return initializerFn();
|
|
474
539
|
}),
|
|
475
540
|
] }); }
|
|
476
541
|
}
|
|
477
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
542
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: AXTranslationModule, decorators: [{
|
|
478
543
|
type: NgModule,
|
|
479
544
|
args: [{
|
|
480
545
|
imports: [AXTranslatorPipe, AXTranslatorDirective],
|
|
@@ -492,5 +557,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
492
557
|
* Generated bundle index. Do not edit.
|
|
493
558
|
*/
|
|
494
559
|
|
|
495
|
-
export { AXTranslationDefaultConfig, AXTranslationLoaderDefault, AXTranslationModule, AXTranslationService, AXTranslatorDirective, AXTranslatorPipe, AX_TRANSLATION_CONFIG, AX_TRANSLATION_LOADER, loadTranslationScope, translateSync, translationConfig };
|
|
560
|
+
export { AXTranslationDefaultConfig, AXTranslationLoaderDefault, AXTranslationModule, AXTranslationService, AXTranslatorDirective, AXTranslatorPipe, AX_TRANSLATION_CONFIG, AX_TRANSLATION_LOADER, LOCALE_KEY_REGEX, createMultiLanguageString, isEffectivelyEmptyLocalizedValue, isValidMultiLanguageObject, loadTranslationScope, resolveMultiLanguageString, resolveMultiLanguageValue, translateSync, translationConfig };
|
|
496
561
|
//# sourceMappingURL=acorex-core-translation.mjs.map
|