@tolgee/ngx 2.1.0 → 2.8.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 +1 -2
- package/esm2020/lib/ngx-tolgee.module.mjs +42 -0
- package/esm2020/lib/stranslate.pipe.mjs +22 -0
- package/esm2020/lib/t.component.mjs +43 -0
- package/{esm2015/lib/tolgeeConfig.js → esm2020/lib/tolgeeConfig.mjs} +0 -0
- package/esm2020/lib/translate.pipe.mjs +59 -0
- package/esm2020/lib/translate.service.mjs +150 -0
- package/esm2020/lib/translations-provider.mjs +17 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/{esm2015/tolgee-ngx.js → esm2020/tolgee-ngx.mjs} +0 -0
- package/fesm2015/tolgee-ngx.mjs +328 -0
- package/fesm2015/tolgee-ngx.mjs.map +1 -0
- package/fesm2020/tolgee-ngx.mjs +322 -0
- package/fesm2020/tolgee-ngx.mjs.map +1 -0
- package/lib/ngx-tolgee.module.d.ts +7 -0
- package/lib/stranslate.pipe.d.ts +3 -0
- package/lib/t.component.d.ts +5 -6
- package/lib/translate.pipe.d.ts +12 -6
- package/lib/translate.service.d.ts +69 -4
- package/lib/translations-provider.d.ts +3 -0
- package/package.json +24 -11
- package/tolgee-ngx.d.ts +1 -0
- package/bundles/tolgee-ngx.umd.js +0 -651
- package/bundles/tolgee-ngx.umd.js.map +0 -1
- package/esm2015/lib/ngx-tolgee.module.js +0 -38
- package/esm2015/lib/stranslate.pipe.js +0 -21
- package/esm2015/lib/t.component.js +0 -55
- package/esm2015/lib/translate.pipe.js +0 -55
- package/esm2015/lib/translate.service.js +0 -73
- package/esm2015/lib/translations-provider.js +0 -20
- package/fesm2015/tolgee-ngx.js +0 -254
- package/fesm2015/tolgee-ngx.js.map +0 -1
- package/tolgee-ngx.metadata.json +0 -1
package/README.md
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# Tolgee for Angular
|
|
1
2
|

|
|
2
3
|

|
|
3
4
|

|
|
@@ -5,8 +6,6 @@
|
|
|
5
6
|
[](https://twitter.com/Tolgee_i18n)
|
|
6
7
|
[](https://github.com/tolgee/tolgee-js)
|
|
7
8
|
|
|
8
|
-
# Tolgee for Angular
|
|
9
|
-
|
|
10
9
|
[<img src="https://raw.githubusercontent.com/tolgee/documentation/main/tolgee_logo_text.svg" alt="Tolgee" width="200" />](https://tolgee.io)
|
|
11
10
|
|
|
12
11
|
Lokalize (translate) your Angular app to multiple languages with Tolgee. For more information about using Tolgee with
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
2
|
+
import { TranslatePipe } from './translate.pipe';
|
|
3
|
+
import { TranslationsProvider } from './translations-provider';
|
|
4
|
+
import { TranslateService } from './translate.service';
|
|
5
|
+
import { STranslatePipe } from './stranslate.pipe';
|
|
6
|
+
import { TolgeeConfig } from './tolgeeConfig';
|
|
7
|
+
import { TComponent } from './t.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class NgxTolgeeModule {
|
|
10
|
+
// @dynamic
|
|
11
|
+
static forRoot(options) {
|
|
12
|
+
options = { filesUrlPrefix: '/assets/i18n/', ...options };
|
|
13
|
+
return {
|
|
14
|
+
ngModule: NgxTolgeeModule,
|
|
15
|
+
providers: [
|
|
16
|
+
TranslateService,
|
|
17
|
+
TranslationsProvider,
|
|
18
|
+
{
|
|
19
|
+
provide: APP_INITIALIZER,
|
|
20
|
+
useFactory: (provider) => {
|
|
21
|
+
return async () => await provider.load(options);
|
|
22
|
+
},
|
|
23
|
+
deps: [TranslationsProvider, TranslateService],
|
|
24
|
+
multi: true,
|
|
25
|
+
},
|
|
26
|
+
{ provide: TolgeeConfig, useValue: options },
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
NgxTolgeeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NgxTolgeeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
32
|
+
NgxTolgeeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NgxTolgeeModule, declarations: [TranslatePipe, STranslatePipe, TComponent], exports: [TranslatePipe, STranslatePipe, TComponent] });
|
|
33
|
+
NgxTolgeeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NgxTolgeeModule, providers: [] });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NgxTolgeeModule, decorators: [{
|
|
35
|
+
type: NgModule,
|
|
36
|
+
args: [{
|
|
37
|
+
declarations: [TranslatePipe, STranslatePipe, TComponent],
|
|
38
|
+
exports: [TranslatePipe, STranslatePipe, TComponent],
|
|
39
|
+
providers: [],
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRvbGdlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvbmd4LXRvbGdlZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFdBQVc7SUFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXFCO1FBQ2xDLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUMxRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLGVBQWU7WUFDekIsU0FBUyxFQUFFO2dCQUNULGdCQUFnQjtnQkFDaEIsb0JBQW9CO2dCQUNwQjtvQkFDRSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLENBQUMsUUFBOEIsRUFBRSxFQUFFO3dCQUM3QyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUMsTUFBTSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNsRCxDQUFDO29CQUNELElBQUksRUFBRSxDQUFDLG9CQUFvQixFQUFFLGdCQUFnQixDQUFDO29CQUM5QyxLQUFLLEVBQUUsSUFBSTtpQkFDWjtnQkFDRCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTthQUM3QztTQUNGLENBQUM7SUFDSixDQUFDOzs0R0FwQlUsZUFBZTs2R0FBZixlQUFlLGlCQUpYLGFBQWEsRUFBRSxjQUFjLEVBQUUsVUFBVSxhQUM5QyxhQUFhLEVBQUUsY0FBYyxFQUFFLFVBQVU7NkdBR3hDLGVBQWUsYUFGZixFQUFFOzJGQUVGLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUM7b0JBQ3pELE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO29CQUNwRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uc1Byb3ZpZGVyIH0gZnJvbSAnLi90cmFuc2xhdGlvbnMtcHJvdmlkZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU1RyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL3N0cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUb2xnZWVDb25maWcgfSBmcm9tICcuL3RvbGdlZUNvbmZpZyc7XG5pbXBvcnQgeyBUQ29tcG9uZW50IH0gZnJvbSAnLi90LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1RyYW5zbGF0ZVBpcGUsIFNUcmFuc2xhdGVQaXBlLCBUQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1RyYW5zbGF0ZVBpcGUsIFNUcmFuc2xhdGVQaXBlLCBUQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd4VG9sZ2VlTW9kdWxlIHtcbiAgLy8gQGR5bmFtaWNcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogVG9sZ2VlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ3hUb2xnZWVNb2R1bGU+IHtcbiAgICBvcHRpb25zID0geyBmaWxlc1VybFByZWZpeDogJy9hc3NldHMvaTE4bi8nLCAuLi5vcHRpb25zIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBOZ3hUb2xnZWVNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgVHJhbnNsYXRpb25zUHJvdmlkZXIsXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKHByb3ZpZGVyOiBUcmFuc2xhdGlvbnNQcm92aWRlcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGFzeW5jICgpID0+IGF3YWl0IHByb3ZpZGVyLmxvYWQob3B0aW9ucyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbVHJhbnNsYXRpb25zUHJvdmlkZXIsIFRyYW5zbGF0ZVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IFRvbGdlZUNvbmZpZywgdXNlVmFsdWU6IG9wdGlvbnMgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { TranslatePipe } from './translate.pipe';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./translate.service";
|
|
5
|
+
export class STranslatePipe extends TranslatePipe {
|
|
6
|
+
constructor(translateService) {
|
|
7
|
+
super(translateService);
|
|
8
|
+
}
|
|
9
|
+
get resultProvider() {
|
|
10
|
+
return (input, params, defaultValue) => this.translateService.getSafe(input, params, defaultValue);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
STranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: STranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
14
|
+
STranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: STranslatePipe, name: "stranslate", pure: false });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: STranslatePipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{
|
|
18
|
+
name: 'stranslate',
|
|
19
|
+
pure: false,
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYW5zbGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL3N0cmFuc2xhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBT2pELE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQUMvQyxZQUFZLGdCQUFrQztRQUM1QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDOzsyR0FaVSxjQUFjO3lHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3N0cmFuc2xhdGUnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU1RyYW5zbGF0ZVBpcGUgZXh0ZW5kcyBUcmFuc2xhdGVQaXBlIHtcbiAgY29uc3RydWN0b3IodHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCByZXN1bHRQcm92aWRlcigpOiAoXG4gICAgaW5wdXQsXG4gICAgcGFyYW1zLFxuICAgIGRlZmF1bHRWYWx1ZVxuICApID0+IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChpbnB1dCwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpID0+XG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0U2FmZShpbnB1dCwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '@tolgee/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./translate.service";
|
|
5
|
+
export class TComponent {
|
|
6
|
+
constructor(ref, translateService) {
|
|
7
|
+
this.ref = ref;
|
|
8
|
+
this.translateService = translateService;
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
const element = this.ref.nativeElement;
|
|
12
|
+
element.setAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, this.key);
|
|
13
|
+
// set safe at first
|
|
14
|
+
element.textContent = this.translateService.instantSafe(this.key, this.params, this.default);
|
|
15
|
+
// then do the async translation
|
|
16
|
+
this.subscription = this.translateService
|
|
17
|
+
.getSafe(this.key, this.params, this.default)
|
|
18
|
+
.subscribe((translated) => {
|
|
19
|
+
return (element.textContent = translated);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
ngOnDestroy() {
|
|
23
|
+
if (this.subscription) {
|
|
24
|
+
this.subscription.unsubscribe();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
TComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
29
|
+
TComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: TComponent, selector: "[t]", inputs: { params: "params", key: "key", default: "default" }, ngImport: i0, template: ``, isInline: true });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TComponent, decorators: [{
|
|
31
|
+
type: Component,
|
|
32
|
+
args: [{
|
|
33
|
+
selector: '[t]',
|
|
34
|
+
template: ``,
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TranslateService }]; }, propDecorators: { params: [{
|
|
37
|
+
type: Input
|
|
38
|
+
}], key: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], default: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBR2hGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBTWxFLE1BQU0sT0FBTyxVQUFVO0lBTXJCLFlBQ1UsR0FBZSxFQUNmLGdCQUFrQztRQURsQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosUUFBUTtRQUNOLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBNEIsQ0FBQztRQUN0RCxPQUFPLENBQUMsWUFBWSxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuRSxvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUNyRCxJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FDYixDQUFDO1FBRUYsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjthQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDNUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO0lBQ0gsQ0FBQzs7dUdBbENVLFVBQVU7MkZBQVYsVUFBVSx5R0FGWCxFQUFFOzJGQUVELFVBQVU7a0JBSnRCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7Z0lBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFIH0gZnJvbSAnQHRvbGdlZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RdJyxcbiAgdGVtcGxhdGU6IGBgLFxufSlcbmV4cG9ydCBjbGFzcyBUQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBASW5wdXQoKSBrZXk6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdD86IHN0cmluZztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShUT0xHRUVfV1JBUFBFRF9PTkxZX0RBVEFfQVRUUklCVVRFLCB0aGlzLmtleSk7XG5cbiAgICAvLyBzZXQgc2FmZSBhdCBmaXJzdFxuICAgIGVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudFNhZmUoXG4gICAgICB0aGlzLmtleSxcbiAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgdGhpcy5kZWZhdWx0XG4gICAgKTtcblxuICAgIC8vIHRoZW4gZG8gdGhlIGFzeW5jIHRyYW5zbGF0aW9uXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgIC5nZXRTYWZlKHRoaXMua2V5LCB0aGlzLnBhcmFtcywgdGhpcy5kZWZhdWx0KVxuICAgICAgLnN1YnNjcmliZSgodHJhbnNsYXRlZCkgPT4ge1xuICAgICAgICByZXR1cm4gKGVsZW1lbnQudGV4dENvbnRlbnQgPSB0cmFuc2xhdGVkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
File without changes
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./translate.service";
|
|
4
|
+
export class TranslatePipe {
|
|
5
|
+
constructor(translateService) {
|
|
6
|
+
this.translateService = translateService;
|
|
7
|
+
this.value = '';
|
|
8
|
+
}
|
|
9
|
+
get resultProvider() {
|
|
10
|
+
return (key, params, defaultValue) => this.translateService.get(key, params, defaultValue);
|
|
11
|
+
}
|
|
12
|
+
ngOnDestroy() {
|
|
13
|
+
this.unsubscribe();
|
|
14
|
+
}
|
|
15
|
+
transform(key, paramsOrDefaultValue, params) {
|
|
16
|
+
if (!key || key.length === 0) {
|
|
17
|
+
return key;
|
|
18
|
+
}
|
|
19
|
+
const defaultValue = typeof paramsOrDefaultValue !== 'object'
|
|
20
|
+
? paramsOrDefaultValue
|
|
21
|
+
: undefined;
|
|
22
|
+
if (typeof paramsOrDefaultValue === 'object') {
|
|
23
|
+
params = paramsOrDefaultValue;
|
|
24
|
+
}
|
|
25
|
+
if (this.key === key &&
|
|
26
|
+
JSON.stringify(this.params) === JSON.stringify(params) &&
|
|
27
|
+
this.defaultValue === defaultValue) {
|
|
28
|
+
return this.value;
|
|
29
|
+
}
|
|
30
|
+
this.key = key;
|
|
31
|
+
this.params = params;
|
|
32
|
+
this.defaultValue = defaultValue;
|
|
33
|
+
// unsubscribe first
|
|
34
|
+
this.unsubscribe();
|
|
35
|
+
// asynchronously translate and assign subscription
|
|
36
|
+
this.subscription = this.translate(key, params, defaultValue);
|
|
37
|
+
return this.value;
|
|
38
|
+
}
|
|
39
|
+
unsubscribe() {
|
|
40
|
+
if (this.subscription) {
|
|
41
|
+
this.subscription.unsubscribe();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
translate(key, params, defaultValue) {
|
|
45
|
+
return this.resultProvider(key, params, defaultValue).subscribe((r) => {
|
|
46
|
+
this.value = r;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
51
|
+
TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslatePipe, decorators: [{
|
|
53
|
+
type: Pipe,
|
|
54
|
+
args: [{
|
|
55
|
+
name: 'translate',
|
|
56
|
+
pure: false,
|
|
57
|
+
}]
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVEvRCxNQUFNLE9BQU8sYUFBYTtJQVF4QixZQUFzQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVB4RCxVQUFLLEdBQUcsRUFBRSxDQUFDO0lBT2dELENBQUM7SUFFNUQsSUFBYyxjQUFjO1FBSzFCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBVUQsU0FBUyxDQUNQLEdBQVEsRUFDUixvQkFBbUQsRUFDbkQsTUFBNEI7UUFFNUIsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QixPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sb0JBQW9CLEtBQUssUUFBUTtZQUN0QyxDQUFDLENBQUMsb0JBQW9CO1lBQ3RCLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFaEIsSUFBSSxPQUFPLG9CQUFvQixLQUFLLFFBQVEsRUFBRTtZQUM1QyxNQUFNLEdBQUcsb0JBQW9CLENBQUM7U0FDL0I7UUFFRCxJQUNFLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRztZQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUN0RCxJQUFJLENBQUMsWUFBWSxLQUFLLFlBQVksRUFDbEM7WUFDQSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDbkI7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBRWpDLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MEdBaEZVLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZScsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgdmFsdWUgPSAnJztcbiAga2V5OiBzdHJpbmc7XG4gIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGU7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgcHJvdGVjdGVkIGdldCByZXN1bHRQcm92aWRlcigpOiAoXG4gICAga2V5LFxuICAgIHBhcmFtcyxcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZ1xuICApID0+IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKSA9PlxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHRyYW5zZm9ybShrZXk6IGFueSwgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IHN0cmluZztcblxuICB0cmFuc2Zvcm0oXG4gICAga2V5OiBhbnksXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nLFxuICAgIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogc3RyaW5nO1xuXG4gIHRyYW5zZm9ybShcbiAgICBrZXk6IGFueSxcbiAgICBwYXJhbXNPckRlZmF1bHRWYWx1ZT86IFJlY29yZDxzdHJpbmcsIGFueT4gfCBzdHJpbmcsXG4gICAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBzdHJpbmcge1xuICAgIGlmICgha2V5IHx8IGtleS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlID1cbiAgICAgIHR5cGVvZiBwYXJhbXNPckRlZmF1bHRWYWx1ZSAhPT0gJ29iamVjdCdcbiAgICAgICAgPyBwYXJhbXNPckRlZmF1bHRWYWx1ZVxuICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGlmICh0eXBlb2YgcGFyYW1zT3JEZWZhdWx0VmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXNPckRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmtleSA9PT0ga2V5ICYmXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnBhcmFtcykgPT09IEpTT04uc3RyaW5naWZ5KHBhcmFtcykgJiZcbiAgICAgIHRoaXMuZGVmYXVsdFZhbHVlID09PSBkZWZhdWx0VmFsdWVcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gZGVmYXVsdFZhbHVlO1xuXG4gICAgLy8gdW5zdWJzY3JpYmUgZmlyc3RcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG5cbiAgICAvLyBhc3luY2hyb25vdXNseSB0cmFuc2xhdGUgYW5kIGFzc2lnbiBzdWJzY3JpcHRpb25cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlKGtleSwgcGFyYW1zLCBkZWZhdWx0VmFsdWUpO1xuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyYW5zbGF0ZShrZXksIHBhcmFtcywgZGVmYXVsdFZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzdWx0UHJvdmlkZXIoa2V5LCBwYXJhbXMsIGRlZmF1bHRWYWx1ZSkuc3Vic2NyaWJlKChyKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gcjtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { Tolgee } from '@tolgee/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./tolgeeConfig";
|
|
6
|
+
export class TranslateService {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.onLangChange = new EventEmitter();
|
|
10
|
+
this.onTranslationChange = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
get tolgee() {
|
|
13
|
+
return this._tolgee;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Starts Tolgee if not started and subscribes for languageChange and translationChange events
|
|
17
|
+
*/
|
|
18
|
+
async start(config) {
|
|
19
|
+
if (!this.runPromise) {
|
|
20
|
+
this._tolgee = new Tolgee(config);
|
|
21
|
+
this.runPromise = this.tolgee.run();
|
|
22
|
+
// unsubscribe first, if it is subscribed for some reason
|
|
23
|
+
this.unsubscribeCoreListeners();
|
|
24
|
+
this.onTranslationChangeCoreSubscription =
|
|
25
|
+
this._tolgee.onTranslationChange.subscribe((data) => {
|
|
26
|
+
this.onTranslationChange.emit(data);
|
|
27
|
+
});
|
|
28
|
+
this.onLangChangeCoreSubscription = this._tolgee.onLangChange.subscribe(() => {
|
|
29
|
+
this.onLangChange.emit();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
await this.runPromise;
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
// stop it!
|
|
36
|
+
this.tolgee.stop();
|
|
37
|
+
// unsubscribe listeners
|
|
38
|
+
this.unsubscribeCoreListeners();
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Changes the current language
|
|
42
|
+
* @param lang The new current language (e.g. en, en-US)
|
|
43
|
+
*/
|
|
44
|
+
setLang(lang) {
|
|
45
|
+
this.tolgee.lang = lang;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns the current language
|
|
49
|
+
*/
|
|
50
|
+
getCurrentLang() {
|
|
51
|
+
return this.tolgee.lang;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Returns Observable providing current translated value
|
|
55
|
+
* Tne observable is subscribed to translation change and language change events of Tolgee
|
|
56
|
+
*
|
|
57
|
+
* In development mode, it returns string wrapped with configured
|
|
58
|
+
* prefix and suffix to be handled in browser by MutationObserver.
|
|
59
|
+
*
|
|
60
|
+
* You should use unsubscribe method when you are done!
|
|
61
|
+
*
|
|
62
|
+
* in onInit: this.subscription = translateService.get('aa')
|
|
63
|
+
* in onDestroy: this.subscription.unsubscribe()
|
|
64
|
+
*
|
|
65
|
+
* @param key The key to translate (e.g. what-a-key)
|
|
66
|
+
* @param params The parameters to interpolate (e.g. {name: "John"})
|
|
67
|
+
* @param defaultValue Value, which will be rendered, when no translated value is provided
|
|
68
|
+
*/
|
|
69
|
+
get(key, params = {}, defaultValue) {
|
|
70
|
+
return this.translate(key, params, false, defaultValue);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Returns Observable providing current translated value
|
|
74
|
+
* Tne observable is subscribed to translation change and language change events of Tolgee
|
|
75
|
+
*
|
|
76
|
+
* In development mode, it returns the translated string,
|
|
77
|
+
* so in-context localization is not going to work.
|
|
78
|
+
*
|
|
79
|
+
* You should use unsubscribe method when you are done!
|
|
80
|
+
*
|
|
81
|
+
* in onInit: this.subscription = translateService.get('aa')
|
|
82
|
+
* in onDestroy: this.subscription.unsubscribe()
|
|
83
|
+
*
|
|
84
|
+
* @param key The key to translate (e.g. what-a-key)
|
|
85
|
+
* @param params The parameters to interpolate (e.g. {name: "John"})
|
|
86
|
+
* @param defaultValue Value, which will be rendered, when no translated value is provided
|
|
87
|
+
*/
|
|
88
|
+
getSafe(key, params = {}, defaultValue) {
|
|
89
|
+
return this.translate(key, params, true, defaultValue);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns the translation value synchronously
|
|
93
|
+
*
|
|
94
|
+
* In development mode, it returns string wrapped with configured
|
|
95
|
+
* prefix and suffix to be handled in browser by MutationObserver.
|
|
96
|
+
*
|
|
97
|
+
* @param key The key to translate (e.g. what-a-key)
|
|
98
|
+
* @param params The parameters to interpolate (e.g. {name: "John"})
|
|
99
|
+
* @param defaultValue Value, which will be rendered, when no translated value is provided
|
|
100
|
+
*/
|
|
101
|
+
instant(key, params = {}, defaultValue) {
|
|
102
|
+
return this.tolgee.instant(key, params, undefined, undefined, defaultValue);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns the translation value synchronously
|
|
106
|
+
*
|
|
107
|
+
* In development mode, it returns the translated string,
|
|
108
|
+
* so in-context localization is not going to work.
|
|
109
|
+
*
|
|
110
|
+
* @param key The key to translate (e.g. what-a-key)
|
|
111
|
+
* @param params The parameters to interpolate (e.g. {name: "John"})
|
|
112
|
+
* @param defaultValue Value, which will be rendered, when no translated value is provided
|
|
113
|
+
*/
|
|
114
|
+
instantSafe(input, params = {}, defaultValue) {
|
|
115
|
+
return this.tolgee.instant(input, params, true, undefined, defaultValue);
|
|
116
|
+
}
|
|
117
|
+
unsubscribeCoreListeners() {
|
|
118
|
+
this.onTranslationChangeCoreSubscription?.unsubscribe();
|
|
119
|
+
this.onLangChangeCoreSubscription?.unsubscribe();
|
|
120
|
+
}
|
|
121
|
+
translate(key, params = {}, noWrap = false, defaultValue) {
|
|
122
|
+
return new Observable((subscriber) => {
|
|
123
|
+
const translate = async () => {
|
|
124
|
+
// start if not started
|
|
125
|
+
await this.start(this.config);
|
|
126
|
+
const translated = await this.tolgee.translate(key, params, noWrap, defaultValue);
|
|
127
|
+
subscriber.next(translated);
|
|
128
|
+
};
|
|
129
|
+
translate();
|
|
130
|
+
const onTranslationChangeSubscription = this.tolgee.onTranslationChange.subscribe((data) => {
|
|
131
|
+
if (data.key === key) {
|
|
132
|
+
translate();
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
const onLanguageChangeSubscription = this.tolgee.onLangChange.subscribe(() => {
|
|
136
|
+
translate();
|
|
137
|
+
});
|
|
138
|
+
return () => {
|
|
139
|
+
onTranslationChangeSubscription.unsubscribe();
|
|
140
|
+
onLanguageChangeSubscription.unsubscribe();
|
|
141
|
+
};
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
TranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslateService, deps: [{ token: i1.TolgeeConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
146
|
+
TranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslateService });
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslateService, decorators: [{
|
|
148
|
+
type: Injectable
|
|
149
|
+
}], ctorParameters: function () { return [{ type: i1.TolgeeConfig }]; } });
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9sZ2VlL3NyYy9saWIvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFtQixNQUFNLGNBQWMsQ0FBQzs7O0FBSXZELE1BQU0sT0FBTyxnQkFBZ0I7SUFTM0IsWUFBb0IsTUFBb0I7UUFBcEIsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQVJ4QixpQkFBWSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBQzlELHdCQUFtQixHQUNqQyxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQU1LLENBQUM7SUFJNUMsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBb0I7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEMseURBQXlEO1lBQ3pELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxtQ0FBbUM7Z0JBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2xELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3RDLENB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QixTQUFTLEVBQUUsQ0FBQztpQkFDYjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUwsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQ3JFLEdBQUcsRUFBRTtnQkFDSCxTQUFTLEVBQUUsQ0FBQztZQUNkLENBQUMsQ0FDRixDQUFDO1lBRUYsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsK0JBQStCLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQzlDLDRCQUE0QixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NkdBMUxVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9sZ2VlLCBUcmFuc2xhdGlvbkRhdGEgfSBmcm9tICdAdG9sZ2VlL2NvcmUnO1xuaW1wb3J0IHsgVG9sZ2VlQ29uZmlnIH0gZnJvbSAnLi90b2xnZWVDb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSBvbkxhbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxuZXZlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG5ldmVyPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgb25UcmFuc2xhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFRyYW5zbGF0aW9uRGF0YT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNsYXRpb25EYXRhPigpO1xuXG4gIHByaXZhdGUgcnVuUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcbiAgcHJpdmF0ZSBvblRyYW5zbGF0aW9uQ2hhbmdlQ29yZVN1YnNjcmlwdGlvbjogYW55O1xuICBwcml2YXRlIG9uTGFuZ0NoYW5nZUNvcmVTdWJzY3JpcHRpb246IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogVG9sZ2VlQ29uZmlnKSB7fVxuXG4gIHByaXZhdGUgX3RvbGdlZTogVG9sZ2VlO1xuXG4gIHB1YmxpYyBnZXQgdG9sZ2VlKCk6IFRvbGdlZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvbGdlZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgVG9sZ2VlIGlmIG5vdCBzdGFydGVkIGFuZCBzdWJzY3JpYmVzIGZvciBsYW5ndWFnZUNoYW5nZSBhbmQgdHJhbnNsYXRpb25DaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc3RhcnQoY29uZmlnOiBUb2xnZWVDb25maWcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMucnVuUHJvbWlzZSkge1xuICAgICAgdGhpcy5fdG9sZ2VlID0gbmV3IFRvbGdlZShjb25maWcpO1xuICAgICAgdGhpcy5ydW5Qcm9taXNlID0gdGhpcy50b2xnZWUucnVuKCk7XG4gICAgICAvLyB1bnN1YnNjcmliZSBmaXJzdCwgaWYgaXQgaXMgc3Vic2NyaWJlZCBmb3Igc29tZSByZWFzb25cbiAgICAgIHRoaXMudW5zdWJzY3JpYmVDb3JlTGlzdGVuZXJzKCk7XG4gICAgICB0aGlzLm9uVHJhbnNsYXRpb25DaGFuZ2VDb3JlU3Vic2NyaXB0aW9uID1cbiAgICAgICAgdGhpcy5fdG9sZ2VlLm9uVHJhbnNsYXRpb25DaGFuZ2Uuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgdGhpcy5vblRyYW5zbGF0aW9uQ2hhbmdlLmVtaXQoZGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5vbkxhbmdDaGFuZ2VDb3JlU3Vic2NyaXB0aW9uID0gdGhpcy5fdG9sZ2VlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uTGFuZ0NoYW5nZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMucnVuUHJvbWlzZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIHN0b3AgaXQhXG4gICAgdGhpcy50b2xnZWUuc3RvcCgpO1xuICAgIC8vIHVuc3Vic2NyaWJlIGxpc3RlbmVyc1xuICAgIHRoaXMudW5zdWJzY3JpYmVDb3JlTGlzdGVuZXJzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlcyB0aGUgY3VycmVudCBsYW5ndWFnZVxuICAgKiBAcGFyYW0gbGFuZyBUaGUgbmV3IGN1cnJlbnQgbGFuZ3VhZ2UgKGUuZy4gZW4sIGVuLVVTKVxuICAgKi9cbiAgcHVibGljIHNldExhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgdGhpcy50b2xnZWUubGFuZyA9IGxhbmc7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBsYW5ndWFnZVxuICAgKi9cbiAgcHVibGljIGdldEN1cnJlbnRMYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9sZ2VlLmxhbmc7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBPYnNlcnZhYmxlIHByb3ZpZGluZyBjdXJyZW50IHRyYW5zbGF0ZWQgdmFsdWVcbiAgICogVG5lIG9ic2VydmFibGUgaXMgc3Vic2NyaWJlZCB0byB0cmFuc2xhdGlvbiBjaGFuZ2UgYW5kIGxhbmd1YWdlIGNoYW5nZSBldmVudHMgb2YgVG9sZ2VlXG4gICAqXG4gICAqIEluIGRldmVsb3BtZW50IG1vZGUsIGl0IHJldHVybnMgc3RyaW5nIHdyYXBwZWQgd2l0aCBjb25maWd1cmVkXG4gICAqIHByZWZpeCBhbmQgc3VmZml4IHRvIGJlIGhhbmRsZWQgaW4gYnJvd3NlciBieSBNdXRhdGlvbk9ic2VydmVyLlxuICAgKlxuICAgKiBZb3Ugc2hvdWxkIHVzZSB1bnN1YnNjcmliZSBtZXRob2Qgd2hlbiB5b3UgYXJlIGRvbmUhXG4gICAqXG4gICAqIGluIG9uSW5pdDogdGhpcy5zdWJzY3JpcHRpb24gPSB0cmFuc2xhdGVTZXJ2aWNlLmdldCgnYWEnKVxuICAgKiBpbiBvbkRlc3Ryb3k6IHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHRyYW5zbGF0ZSAoZS5nLiB3aGF0LWEta2V5KVxuICAgKiBAcGFyYW0gcGFyYW1zIFRoZSBwYXJhbWV0ZXJzIHRvIGludGVycG9sYXRlIChlLmcuIHtuYW1lOiBcIkpvaG5cIn0pXG4gICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVmFsdWUsIHdoaWNoIHdpbGwgYmUgcmVuZGVyZWQsIHdoZW4gbm8gdHJhbnNsYXRlZCB2YWx1ZSBpcyBwcm92aWRlZFxuICAgKi9cbiAgcHVibGljIGdldChcbiAgICBrZXk6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUoa2V5LCBwYXJhbXMsIGZhbHNlLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgT2JzZXJ2YWJsZSBwcm92aWRpbmcgY3VycmVudCB0cmFuc2xhdGVkIHZhbHVlXG4gICAqIFRuZSBvYnNlcnZhYmxlIGlzIHN1YnNjcmliZWQgdG8gdHJhbnNsYXRpb24gY2hhbmdlIGFuZCBsYW5ndWFnZSBjaGFuZ2UgZXZlbnRzIG9mIFRvbGdlZVxuICAgKlxuICAgKiBJbiBkZXZlbG9wbWVudCBtb2RlLCBpdCByZXR1cm5zIHRoZSB0cmFuc2xhdGVkIHN0cmluZyxcbiAgICogc28gaW4tY29udGV4dCBsb2NhbGl6YXRpb24gaXMgbm90IGdvaW5nIHRvIHdvcmsuXG4gICAqXG4gICAqIFlvdSBzaG91bGQgdXNlIHVuc3Vic2NyaWJlIG1ldGhvZCB3aGVuIHlvdSBhcmUgZG9uZSFcbiAgICpcbiAgICogaW4gb25Jbml0OiB0aGlzLnN1YnNjcmlwdGlvbiA9IHRyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdhYScpXG4gICAqIGluIG9uRGVzdHJveTogdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgKlxuICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gdHJhbnNsYXRlIChlLmcuIHdoYXQtYS1rZXkpXG4gICAqIEBwYXJhbSBwYXJhbXMgVGhlIHBhcmFtZXRlcnMgdG8gaW50ZXJwb2xhdGUgKGUuZy4ge25hbWU6IFwiSm9oblwifSlcbiAgICogQHBhcmFtIGRlZmF1bHRWYWx1ZSBWYWx1ZSwgd2hpY2ggd2lsbCBiZSByZW5kZXJlZCwgd2hlbiBubyB0cmFuc2xhdGVkIHZhbHVlIGlzIHByb3ZpZGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0U2FmZShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUoa2V5LCBwYXJhbXMsIHRydWUsIGRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdHJhbnNsYXRpb24gdmFsdWUgc3luY2hyb25vdXNseVxuICAgKlxuICAgKiBJbiBkZXZlbG9wbWVudCBtb2RlLCBpdCByZXR1cm5zIHN0cmluZyB3cmFwcGVkIHdpdGggY29uZmlndXJlZFxuICAgKiBwcmVmaXggYW5kIHN1ZmZpeCB0byBiZSBoYW5kbGVkIGluIGJyb3dzZXIgYnkgTXV0YXRpb25PYnNlcnZlci5cbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHRyYW5zbGF0ZSAoZS5nLiB3aGF0LWEta2V5KVxuICAgKiBAcGFyYW0gcGFyYW1zIFRoZSBwYXJhbWV0ZXJzIHRvIGludGVycG9sYXRlIChlLmcuIHtuYW1lOiBcIkpvaG5cIn0pXG4gICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVmFsdWUsIHdoaWNoIHdpbGwgYmUgcmVuZGVyZWQsIHdoZW4gbm8gdHJhbnNsYXRlZCB2YWx1ZSBpcyBwcm92aWRlZFxuICAgKi9cbiAgcHVibGljIGluc3RhbnQoa2V5OiBzdHJpbmcsIHBhcmFtcyA9IHt9LCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvbGdlZS5pbnN0YW50KGtleSwgcGFyYW1zLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB0cmFuc2xhdGlvbiB2YWx1ZSBzeW5jaHJvbm91c2x5XG4gICAqXG4gICAqIEluIGRldmVsb3BtZW50IG1vZGUsIGl0IHJldHVybnMgdGhlIHRyYW5zbGF0ZWQgc3RyaW5nLFxuICAgKiBzbyBpbi1jb250ZXh0IGxvY2FsaXphdGlvbiBpcyBub3QgZ29pbmcgdG8gd29yay5cbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHRyYW5zbGF0ZSAoZS5nLiB3aGF0LWEta2V5KVxuICAgKiBAcGFyYW0gcGFyYW1zIFRoZSBwYXJhbWV0ZXJzIHRvIGludGVycG9sYXRlIChlLmcuIHtuYW1lOiBcIkpvaG5cIn0pXG4gICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVmFsdWUsIHdoaWNoIHdpbGwgYmUgcmVuZGVyZWQsIHdoZW4gbm8gdHJhbnNsYXRlZCB2YWx1ZSBpcyBwcm92aWRlZFxuICAgKi9cbiAgcHVibGljIGluc3RhbnRTYWZlKFxuICAgIGlucHV0OiBzdHJpbmcsXG4gICAgcGFyYW1zID0ge30sXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9sZ2VlLmluc3RhbnQoaW5wdXQsIHBhcmFtcywgdHJ1ZSwgdW5kZWZpbmVkLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUNvcmVMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5vblRyYW5zbGF0aW9uQ2hhbmdlQ29yZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uTGFuZ0NoYW5nZUNvcmVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHRyYW5zbGF0ZShcbiAgICBrZXk6IHN0cmluZyxcbiAgICBwYXJhbXMgPSB7fSxcbiAgICBub1dyYXAgPSBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgY29uc3QgdHJhbnNsYXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAvLyBzdGFydCBpZiBub3Qgc3RhcnRlZFxuICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0KHRoaXMuY29uZmlnKTtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlZCA9IGF3YWl0IHRoaXMudG9sZ2VlLnRyYW5zbGF0ZShcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgIG5vV3JhcCxcbiAgICAgICAgICBkZWZhdWx0VmFsdWVcbiAgICAgICAgKTtcblxuICAgICAgICBzdWJzY3JpYmVyLm5leHQodHJhbnNsYXRlZCk7XG4gICAgICB9O1xuXG4gICAgICB0cmFuc2xhdGUoKTtcblxuICAgICAgY29uc3Qgb25UcmFuc2xhdGlvbkNoYW5nZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMudG9sZ2VlLm9uVHJhbnNsYXRpb25DaGFuZ2Uuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICAgICAgaWYgKGRhdGEua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgIHRyYW5zbGF0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG9uTGFuZ3VhZ2VDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnRvbGdlZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdHJhbnNsYXRlKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIG9uVHJhbnNsYXRpb25DaGFuZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgb25MYW5ndWFnZUNoYW5nZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./translate.service";
|
|
4
|
+
export class TranslationsProvider {
|
|
5
|
+
constructor(translateService) {
|
|
6
|
+
this.translateService = translateService;
|
|
7
|
+
}
|
|
8
|
+
async load(options) {
|
|
9
|
+
return await this.translateService.start(options);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
TranslationsProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslationsProvider, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
13
|
+
TranslationsProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslationsProvider });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslationsProvider, decorators: [{
|
|
15
|
+
type: Injectable
|
|
16
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25zLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL3RyYW5zbGF0aW9ucy1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFLekMsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFxQjtRQUM5QixPQUFPLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOztpSEFQVSxvQkFBb0I7cUhBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIi4vdHJhbnNsYXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7VG9sZ2VlQ29uZmlnfSBmcm9tIFwiQHRvbGdlZS9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvbnNQcm92aWRlciB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gIH1cblxuICBhc3luYyBsb2FkKG9wdGlvbnM6IFRvbGdlZUNvbmZpZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RhcnQob3B0aW9ucyk7XG4gIH1cbn1cblxuXG4iXX0=
|
|
File without changes
|
|
File without changes
|