@tolgee/ngx 6.5.0 → 7.0.0
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/README.md +82 -42
- package/fesm2022/tolgee-ngx.mjs +131 -204
- package/fesm2022/tolgee-ngx.mjs.map +1 -1
- package/index.d.ts +110 -5
- package/package.json +3 -5
- package/esm2022/lib/loader.component.mjs +0 -24
- package/esm2022/lib/namespace.resolver.mjs +0 -28
- package/esm2022/lib/ngx-tolgee.module.mjs +0 -39
- package/esm2022/lib/t.component.mjs +0 -103
- package/esm2022/lib/tolgee-instance-token.mjs +0 -3
- package/esm2022/lib/translate.pipe.mjs +0 -64
- package/esm2022/lib/translate.service.mjs +0 -133
- package/esm2022/public-api.mjs +0 -11
- package/esm2022/tolgee-ngx.mjs +0 -5
- package/lib/loader.component.d.ts +0 -6
- package/lib/namespace.resolver.d.ts +0 -11
- package/lib/ngx-tolgee.module.d.ts +0 -9
- package/lib/t.component.d.ts +0 -33
- package/lib/tolgee-instance-token.d.ts +0 -3
- package/lib/translate.pipe.d.ts +0 -20
- package/lib/translate.service.d.ts +0 -61
- package/public-api.d.ts +0 -7
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { getTranslateProps, } from '@tolgee/web';
|
|
4
|
-
import { TOLGEE_INSTANCE } from './tolgee-instance-token';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class TranslateService {
|
|
7
|
-
_tolgee;
|
|
8
|
-
_ngZone;
|
|
9
|
-
runPromise;
|
|
10
|
-
constructor(_tolgee, _ngZone) {
|
|
11
|
-
this._tolgee = _tolgee;
|
|
12
|
-
this._ngZone = _ngZone;
|
|
13
|
-
}
|
|
14
|
-
get tolgee() {
|
|
15
|
-
return this._tolgee;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Starts Tolgee if not started.
|
|
19
|
-
*
|
|
20
|
-
* The Tolgee is run outside NgZone. The triggered events, doesn't
|
|
21
|
-
* trigger the change detection, when listening directly via Tolgee.on.
|
|
22
|
-
*
|
|
23
|
-
* However, all the emitting methods (on, translate, languageAsync)
|
|
24
|
-
* in this class are emitting back in Angular's NgZone,
|
|
25
|
-
* so the change detection works fine.
|
|
26
|
-
*/
|
|
27
|
-
async start() {
|
|
28
|
-
if (!this.isSSR()) {
|
|
29
|
-
await this.runIfNotRunning();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Returns translation asynchronously, this method always return
|
|
34
|
-
*/
|
|
35
|
-
translate = (...args) => {
|
|
36
|
-
// @ts-ignore
|
|
37
|
-
const params = getTranslateProps(...args);
|
|
38
|
-
return new Observable((subscriber) => {
|
|
39
|
-
const loadPromise = this.tolgee.addActiveNs(params.ns);
|
|
40
|
-
const translate = async () => {
|
|
41
|
-
await loadPromise;
|
|
42
|
-
const translated = this.tolgee.t(params);
|
|
43
|
-
subscriber.next(translated);
|
|
44
|
-
};
|
|
45
|
-
// noinspection JSIgnoredPromiseFromCall
|
|
46
|
-
translate();
|
|
47
|
-
const subscription = this.tolgee.on('update', translate);
|
|
48
|
-
return () => {
|
|
49
|
-
this.tolgee.removeActiveNs(params.ns);
|
|
50
|
-
subscription.unsubscribe();
|
|
51
|
-
};
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Instantly returns translated value. May return undefined or outdated value.
|
|
56
|
-
* Use only when you cannot use translate.
|
|
57
|
-
*/
|
|
58
|
-
instant = (...args) => {
|
|
59
|
-
// @ts-ignore
|
|
60
|
-
const params = getTranslateProps(...args);
|
|
61
|
-
return this.tolgee.t(params);
|
|
62
|
-
};
|
|
63
|
-
/**
|
|
64
|
-
* Returns current language
|
|
65
|
-
*/
|
|
66
|
-
get language() {
|
|
67
|
-
return this.tolgee.getLanguage();
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Returns an observable emitting current language.
|
|
71
|
-
* It instantly emits current language
|
|
72
|
-
*/
|
|
73
|
-
get languageAsync() {
|
|
74
|
-
return new Observable((subscriber) => {
|
|
75
|
-
subscriber.next(this.tolgee.getLanguage());
|
|
76
|
-
const subscription = this.on('language').subscribe((value) => {
|
|
77
|
-
subscriber.next(value.value);
|
|
78
|
-
});
|
|
79
|
-
return () => subscription.unsubscribe();
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Changes the current language
|
|
84
|
-
* @param lang The new current language (e.g. en, en-US)
|
|
85
|
-
* @return Promise<void> Resolves when translations
|
|
86
|
-
* for given language are loaded
|
|
87
|
-
*/
|
|
88
|
-
changeLanguage(lang) {
|
|
89
|
-
return this.tolgee.changeLanguage(lang);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Returns observable emitting when specified event is triggered.
|
|
93
|
-
*
|
|
94
|
-
* It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,
|
|
95
|
-
* so change detection should work properly.
|
|
96
|
-
*
|
|
97
|
-
* @param event the event to listen
|
|
98
|
-
*/
|
|
99
|
-
on(event) {
|
|
100
|
-
return new Observable((subscriber) => {
|
|
101
|
-
const subscription = this.tolgee.on(event, (value) => {
|
|
102
|
-
this._ngZone.run(() => {
|
|
103
|
-
subscriber.next(value);
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
return () => subscription.unsubscribe();
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
ngOnDestroy() {
|
|
110
|
-
this.tolgee.stop();
|
|
111
|
-
}
|
|
112
|
-
async runIfNotRunning() {
|
|
113
|
-
if (!this.runPromise) {
|
|
114
|
-
this.runPromise = this._ngZone.runOutsideAngular(() => {
|
|
115
|
-
return this.tolgee.run();
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
await this.runPromise;
|
|
119
|
-
}
|
|
120
|
-
isSSR() {
|
|
121
|
-
return typeof window === 'undefined';
|
|
122
|
-
}
|
|
123
|
-
static ɵfac = function TranslateService_Factory(t) { return new (t || TranslateService)(i0.ɵɵinject(TOLGEE_INSTANCE), i0.ɵɵinject(i0.NgZone)); };
|
|
124
|
-
static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TranslateService, factory: TranslateService.ɵfac, providedIn: 'root' });
|
|
125
|
-
}
|
|
126
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslateService, [{
|
|
127
|
-
type: Injectable,
|
|
128
|
-
args: [{ providedIn: 'root' }]
|
|
129
|
-
}], () => [{ type: undefined, decorators: [{
|
|
130
|
-
type: Inject,
|
|
131
|
-
args: [TOLGEE_INSTANCE]
|
|
132
|
-
}] }, { type: i0.NgZone }], null); })();
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUdMLGlCQUFpQixHQUtsQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzFELE1BQU0sT0FBTyxnQkFBZ0I7SUFJUTtJQUN6QjtJQUpGLFVBQVUsQ0FBZ0I7SUFFbEMsWUFDbUMsT0FBdUIsRUFDaEQsT0FBZTtRQURVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ2hELFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDdEIsQ0FBQztJQUVKLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDTSxTQUFTLEdBQWtFLENBQ2xGLEdBQUcsSUFBSSxFQUNQLEVBQUU7UUFDRixhQUFhO1FBQ2IsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksVUFBVSxDQUFTLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVB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SSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDeEIsQ0FBQztJQUVPLEtBQUs7UUFDWCxPQUFPLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQztJQUN2QyxDQUFDOzBFQXBJVSxnQkFBZ0IsY0FJakIsZUFBZTtnRUFKZCxnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQURILE1BQU07O2lGQUNuQixnQkFBZ0I7Y0FENUIsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7c0JBSzdCLE1BQU07dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIERlZmF1bHRQYXJhbVR5cGUsXG4gIEV2ZW50VHlwZSxcbiAgZ2V0VHJhbnNsYXRlUHJvcHMsXG4gIExpc3RlbmVyRXZlbnQsXG4gIFRGblR5cGUsXG4gIFRvbGdlZUluc3RhbmNlLFxuICBUcmFuc2xhdGlvbktleSxcbn0gZnJvbSAnQHRvbGdlZS93ZWInO1xuaW1wb3J0IHsgVE9MR0VFX0lOU1RBTkNFIH0gZnJvbSAnLi90b2xnZWUtaW5zdGFuY2UtdG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJ1blByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChUT0xHRUVfSU5TVEFOQ0UpIHByaXZhdGUgX3RvbGdlZTogVG9sZ2VlSW5zdGFuY2UsXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmVcbiAgKSB7fVxuXG4gIGdldCB0b2xnZWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvbGdlZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgVG9sZ2VlIGlmIG5vdCBzdGFydGVkLlxuICAgKlxuICAgKiBUaGUgVG9sZ2VlIGlzIHJ1biBvdXRzaWRlIE5nWm9uZS4gVGhlIHRyaWdnZXJlZCBldmVudHMsIGRvZXNuJ3RcbiAgICogdHJpZ2dlciB0aGUgY2hhbmdlIGRldGVjdGlvbiwgd2hlbiBsaXN0ZW5pbmcgZGlyZWN0bHkgdmlhIFRvbGdlZS5vbi5cbiAgICpcbiAgICogSG93ZXZlciwgYWxsIHRoZSBlbWl0dGluZyBtZXRob2RzIChvbiwgdHJhbnNsYXRlLCBsYW5ndWFnZUFzeW5jKVxuICAgKiBpbiB0aGlzIGNsYXNzIGFyZSBlbWl0dGluZyBiYWNrIGluIEFuZ3VsYXIncyBOZ1pvbmUsXG4gICAqIHNvIHRoZSBjaGFuZ2UgZGV0ZWN0aW9uIHdvcmtzIGZpbmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmlzU1NSKCkpIHtcbiAgICAgIGF3YWl0IHRoaXMucnVuSWZOb3RSdW5uaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJhbnNsYXRpb24gYXN5bmNocm9ub3VzbHksIHRoaXMgbWV0aG9kIGFsd2F5cyByZXR1cm5cbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zbGF0ZTogVEZuVHlwZTxEZWZhdWx0UGFyYW1UeXBlLCBPYnNlcnZhYmxlPHN0cmluZz4sIFRyYW5zbGF0aW9uS2V5PiA9IChcbiAgICAuLi5hcmdzXG4gICkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBwYXJhbXMgPSBnZXRUcmFuc2xhdGVQcm9wcyguLi5hcmdzKTtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgY29uc3QgbG9hZFByb21pc2UgPSB0aGlzLnRvbGdlZS5hZGRBY3RpdmVOcyhwYXJhbXMubnMpO1xuICAgICAgY29uc3QgdHJhbnNsYXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCBsb2FkUHJvbWlzZTtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlZCA9IHRoaXMudG9sZ2VlLnQocGFyYW1zKTtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KHRyYW5zbGF0ZWQpO1xuICAgICAgfTtcblxuICAgICAgLy8gbm9pbnNwZWN0aW9uIEpTSWdub3JlZFByb21pc2VGcm9tQ2FsbFxuICAgICAgdHJhbnNsYXRlKCk7XG5cbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMudG9sZ2VlLm9uKCd1cGRhdGUnLCB0cmFuc2xhdGUpXG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHRoaXMudG9sZ2VlLnJlbW92ZUFjdGl2ZU5zKHBhcmFtcy5ucyk7XG4gICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogSW5zdGFudGx5IHJldHVybnMgdHJhbnNsYXRlZCB2YWx1ZS4gTWF5IHJldHVybiB1bmRlZmluZWQgb3Igb3V0ZGF0ZWQgdmFsdWUuXG4gICAqIFVzZSBvbmx5IHdoZW4geW91IGNhbm5vdCB1c2UgdHJhbnNsYXRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbnQ6IFRGblR5cGU8RGVmYXVsdFBhcmFtVHlwZSwgc3RyaW5nLCBUcmFuc2xhdGlvbktleT4gPSAoLi4uYXJncykgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBwYXJhbXMgPSBnZXRUcmFuc2xhdGVQcm9wcyguLi5hcmdzKTtcbiAgICByZXR1cm4gdGhpcy50b2xnZWUudChwYXJhbXMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICovXG4gIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5nZXRMYW5ndWFnZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBlbWl0dGluZyBjdXJyZW50IGxhbmd1YWdlLlxuICAgKiBJdCBpbnN0YW50bHkgZW1pdHMgY3VycmVudCBsYW5ndWFnZVxuICAgKi9cbiAgZ2V0IGxhbmd1YWdlQXN5bmMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIHN1YnNjcmliZXIubmV4dCh0aGlzLnRvbGdlZS5nZXRMYW5ndWFnZSgpKTtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMub24oJ2xhbmd1YWdlJykuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUudmFsdWUpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRoZSBjdXJyZW50IGxhbmd1YWdlXG4gICAqIEBwYXJhbSBsYW5nIFRoZSBuZXcgY3VycmVudCBsYW5ndWFnZSAoZS5nLiBlbiwgZW4tVVMpXG4gICAqIEByZXR1cm4gUHJvbWlzZTx2b2lkPiBSZXNvbHZlcyB3aGVuIHRyYW5zbGF0aW9uc1xuICAgKiBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgYXJlIGxvYWRlZFxuICAgKi9cbiAgcHVibGljIGNoYW5nZUxhbmd1YWdlKGxhbmc6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5jaGFuZ2VMYW5ndWFnZShsYW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIG9ic2VydmFibGUgZW1pdHRpbmcgd2hlbiBzcGVjaWZpZWQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBJdCdzIGEgd3JhcHBlciBvZiBUb2xnZWUub24gbWV0aG9kLiBUaGUgZW1taXQgaXMgdHJpZ2dlcmVkIGluc2lkZSBuZ1pvbmUsXG4gICAqIHNvIGNoYW5nZSBkZXRlY3Rpb24gc2hvdWxkIHdvcmsgcHJvcGVybHkuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudCB0aGUgZXZlbnQgdG8gbGlzdGVuXG4gICAqL1xuICBvbjxFdmVudCBleHRlbmRzIGtleW9mIEV2ZW50VHlwZT4oZXZlbnQ6IEV2ZW50KSB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPExpc3RlbmVyRXZlbnQ8RXZlbnQsIEV2ZW50VHlwZVtFdmVudF0+Pigoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy50b2xnZWUub24oZXZlbnQsICh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLl9uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUgYXMgYW55KTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAoKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudG9sZ2VlLnN0b3AoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuSWZOb3RSdW5uaW5nKCkge1xuICAgIGlmICghdGhpcy5ydW5Qcm9taXNlKSB7XG4gICAgICB0aGlzLnJ1blByb21pc2UgPSB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2xnZWUucnVuKCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5ydW5Qcm9taXNlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NTUigpIHtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCc7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ngx-tolgee
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/translate.service';
|
|
5
|
-
export * from './lib/translate.pipe';
|
|
6
|
-
export * from './lib/t.component';
|
|
7
|
-
export * from './lib/ngx-tolgee.module';
|
|
8
|
-
export * from './lib/tolgee-instance-token';
|
|
9
|
-
export * from '@tolgee/web';
|
|
10
|
-
export * from './lib/namespace.resolver';
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXRvbGdlZVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC10b2xnZWUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvbGdlZS1pbnN0YW5jZS10b2tlbic7XG5cbmV4cG9ydCAqIGZyb20gJ0B0b2xnZWUvd2ViJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hbWVzcGFjZS5yZXNvbHZlcic7XG4iXX0=
|
package/esm2022/tolgee-ngx.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9sZ2VlLW5neC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL3RvbGdlZS1uZ3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class LoaderComponent {
|
|
3
|
-
html: string | undefined;
|
|
4
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LoaderComponent, never>;
|
|
5
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LoaderComponent, "ng-component", never, { "html": { "alias": "html"; "required": false; }; }, {}, never, never, false, never>;
|
|
6
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { ActivatedRouteSnapshot } from '@angular/router';
|
|
2
|
-
import { TranslateService } from './translate.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NamespaceResolver {
|
|
5
|
-
service: TranslateService;
|
|
6
|
-
constructor(service: TranslateService);
|
|
7
|
-
resolve(route: ActivatedRouteSnapshot): Promise<void>;
|
|
8
|
-
private getNamespace;
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NamespaceResolver, never>;
|
|
10
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<NamespaceResolver>;
|
|
11
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./translate.pipe";
|
|
3
|
-
import * as i2 from "./t.component";
|
|
4
|
-
import * as i3 from "./loader.component";
|
|
5
|
-
export declare class NgxTolgeeModule {
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgxTolgeeModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxTolgeeModule, [typeof i1.TranslatePipe, typeof i2.TComponent, typeof i3.LoaderComponent], never, [typeof i1.TranslatePipe, typeof i2.TComponent]>;
|
|
8
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<NgxTolgeeModule>;
|
|
9
|
-
}
|
package/lib/t.component.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { ElementRef, OnChanges, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { TranslateService } from './translate.service';
|
|
3
|
-
import { TranslateParams, TranslationKey } from '@tolgee/web';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class TComponent implements OnInit, OnDestroy, OnChanges {
|
|
6
|
-
private ref;
|
|
7
|
-
private translateService;
|
|
8
|
-
key: TranslationKey;
|
|
9
|
-
ns: string;
|
|
10
|
-
params?: TranslateParams<any>;
|
|
11
|
-
default?: string;
|
|
12
|
-
noWrap?: boolean;
|
|
13
|
-
language?: string;
|
|
14
|
-
/**
|
|
15
|
-
* When true, innerHTML property of element is set.
|
|
16
|
-
* Use only when you're sure the HTML is sanitized.
|
|
17
|
-
*/
|
|
18
|
-
isHtml?: boolean;
|
|
19
|
-
private subscription;
|
|
20
|
-
private initialized;
|
|
21
|
-
constructor(ref: ElementRef, translateService: TranslateService);
|
|
22
|
-
ngOnInit(): void;
|
|
23
|
-
ngOnChanges(): void;
|
|
24
|
-
ngOnDestroy(): void;
|
|
25
|
-
private renderInstantValue;
|
|
26
|
-
private getTranslateProps;
|
|
27
|
-
private unsubscribe;
|
|
28
|
-
private subscribe;
|
|
29
|
-
private setElementContent;
|
|
30
|
-
private getElement;
|
|
31
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TComponent, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TComponent, "[t]", never, { "key": { "alias": "key"; "required": false; }; "ns": { "alias": "ns"; "required": false; }; "params": { "alias": "params"; "required": false; }; "default": { "alias": "default"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "language": { "alias": "language"; "required": false; }; "isHtml": { "alias": "isHtml"; "required": false; }; }, {}, never, never, false, never>;
|
|
33
|
-
}
|
package/lib/translate.pipe.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, OnDestroy, PipeTransform } from '@angular/core';
|
|
2
|
-
import { TranslateService } from './translate.service';
|
|
3
|
-
import { TFnType, TranslationKey } from '@tolgee/web';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class TranslatePipe implements PipeTransform, OnDestroy {
|
|
6
|
-
protected translateService: TranslateService;
|
|
7
|
-
private _cdr;
|
|
8
|
-
private value;
|
|
9
|
-
private previousHash;
|
|
10
|
-
private subscription;
|
|
11
|
-
constructor(translateService: TranslateService, _cdr: ChangeDetectorRef);
|
|
12
|
-
ngOnDestroy(): void;
|
|
13
|
-
readonly transform: TFnType<string, string, TranslationKey>;
|
|
14
|
-
private hash;
|
|
15
|
-
private unsubscribe;
|
|
16
|
-
private translate;
|
|
17
|
-
private subscribe;
|
|
18
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TranslatePipe, never>;
|
|
19
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TranslatePipe, "translate", false>;
|
|
20
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { OnDestroy, NgZone } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { DefaultParamType, EventType, ListenerEvent, TFnType, TolgeeInstance, TranslationKey } from '@tolgee/web';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class TranslateService implements OnDestroy {
|
|
6
|
-
private _tolgee;
|
|
7
|
-
private _ngZone;
|
|
8
|
-
private runPromise;
|
|
9
|
-
constructor(_tolgee: TolgeeInstance, _ngZone: NgZone);
|
|
10
|
-
get tolgee(): TolgeeInstance;
|
|
11
|
-
/**
|
|
12
|
-
* Starts Tolgee if not started.
|
|
13
|
-
*
|
|
14
|
-
* The Tolgee is run outside NgZone. The triggered events, doesn't
|
|
15
|
-
* trigger the change detection, when listening directly via Tolgee.on.
|
|
16
|
-
*
|
|
17
|
-
* However, all the emitting methods (on, translate, languageAsync)
|
|
18
|
-
* in this class are emitting back in Angular's NgZone,
|
|
19
|
-
* so the change detection works fine.
|
|
20
|
-
*/
|
|
21
|
-
start(): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Returns translation asynchronously, this method always return
|
|
24
|
-
*/
|
|
25
|
-
readonly translate: TFnType<DefaultParamType, Observable<string>, TranslationKey>;
|
|
26
|
-
/**
|
|
27
|
-
* Instantly returns translated value. May return undefined or outdated value.
|
|
28
|
-
* Use only when you cannot use translate.
|
|
29
|
-
*/
|
|
30
|
-
readonly instant: TFnType<DefaultParamType, string, TranslationKey>;
|
|
31
|
-
/**
|
|
32
|
-
* Returns current language
|
|
33
|
-
*/
|
|
34
|
-
get language(): string;
|
|
35
|
-
/**
|
|
36
|
-
* Returns an observable emitting current language.
|
|
37
|
-
* It instantly emits current language
|
|
38
|
-
*/
|
|
39
|
-
get languageAsync(): Observable<string>;
|
|
40
|
-
/**
|
|
41
|
-
* Changes the current language
|
|
42
|
-
* @param lang The new current language (e.g. en, en-US)
|
|
43
|
-
* @return Promise<void> Resolves when translations
|
|
44
|
-
* for given language are loaded
|
|
45
|
-
*/
|
|
46
|
-
changeLanguage(lang: string): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Returns observable emitting when specified event is triggered.
|
|
49
|
-
*
|
|
50
|
-
* It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,
|
|
51
|
-
* so change detection should work properly.
|
|
52
|
-
*
|
|
53
|
-
* @param event the event to listen
|
|
54
|
-
*/
|
|
55
|
-
on<Event extends keyof EventType>(event: Event): Observable<ListenerEvent<Event, EventType[Event]>>;
|
|
56
|
-
ngOnDestroy(): void;
|
|
57
|
-
private runIfNotRunning;
|
|
58
|
-
private isSSR;
|
|
59
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TranslateService, never>;
|
|
60
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TranslateService>;
|
|
61
|
-
}
|
package/public-api.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from './lib/translate.service';
|
|
2
|
-
export * from './lib/translate.pipe';
|
|
3
|
-
export * from './lib/t.component';
|
|
4
|
-
export * from './lib/ngx-tolgee.module';
|
|
5
|
-
export * from './lib/tolgee-instance-token';
|
|
6
|
-
export * from '@tolgee/web';
|
|
7
|
-
export * from './lib/namespace.resolver';
|