@tolgee/ngx 1.2.3 → 1.5.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/bundles/tolgee-ngx.umd.js +136 -53
- package/bundles/tolgee-ngx.umd.js.map +1 -1
- package/bundles/tolgee-ngx.umd.min.js +1 -1
- package/bundles/tolgee-ngx.umd.min.js.map +1 -1
- package/esm2015/lib/ngx-tolgee.module.js +13 -17
- package/esm2015/lib/stranslate.pipe.js +5 -5
- package/esm2015/lib/t.component.js +55 -0
- package/esm2015/lib/translate.pipe.js +26 -15
- package/esm2015/lib/translate.service.js +32 -18
- package/esm2015/public-api.js +3 -1
- package/fesm2015/tolgee-ngx.js +118 -46
- package/fesm2015/tolgee-ngx.js.map +1 -1
- package/lib/ngx-tolgee.module.d.ts +1 -1
- package/lib/stranslate.pipe.d.ts +4 -4
- package/lib/t.component.d.ts +18 -0
- package/lib/translate.pipe.d.ts +9 -6
- package/lib/translate.service.d.ts +15 -12
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/tolgee-ngx.metadata.json +1 -1
package/fesm2015/tolgee-ngx.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { __awaiter } from 'tslib';
|
|
2
|
-
import { EventEmitter, Injectable, Pipe, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
2
|
+
import { EventEmitter, Injectable, Pipe, Component, ElementRef, Input, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
3
|
import { from } from 'rxjs';
|
|
4
|
-
import { Tolgee, TolgeeConfig } from '@tolgee/core';
|
|
4
|
+
import { Tolgee, TolgeeConfig, TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '@tolgee/core';
|
|
5
5
|
export { TolgeeConfig } from '@tolgee/core';
|
|
6
6
|
|
|
7
7
|
class TranslateService {
|
|
8
8
|
constructor(config) {
|
|
9
9
|
this.config = config;
|
|
10
10
|
this.onLangChange = new EventEmitter();
|
|
11
|
+
this.onTranslationChange = new EventEmitter();
|
|
11
12
|
}
|
|
12
13
|
get tolgee() {
|
|
13
14
|
return this._tolgee;
|
|
@@ -17,37 +18,50 @@ class TranslateService {
|
|
|
17
18
|
if (!this.runPromise) {
|
|
18
19
|
this._tolgee = new Tolgee(config);
|
|
19
20
|
this.runPromise = this.tolgee.run();
|
|
21
|
+
this.unsubscribeCoreListeners();
|
|
22
|
+
this.onTranslationChangeCoreSubscription =
|
|
23
|
+
this._tolgee.onTranslationChange.subscribe((data) => {
|
|
24
|
+
this.onTranslationChange.emit(data);
|
|
25
|
+
});
|
|
26
|
+
this.onLangChangeCoreSubscription = this._tolgee.onLangChange.subscribe(() => {
|
|
27
|
+
this.onLangChange.emit();
|
|
28
|
+
});
|
|
20
29
|
}
|
|
21
30
|
yield this.runPromise;
|
|
22
31
|
});
|
|
23
32
|
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.tolgee.stop();
|
|
35
|
+
this.unsubscribeCoreListeners();
|
|
36
|
+
}
|
|
24
37
|
setLang(lang) {
|
|
25
|
-
this.currentLanguage = lang;
|
|
26
|
-
this.onLangChange.emit();
|
|
27
38
|
this.tolgee.lang = lang;
|
|
28
39
|
}
|
|
29
|
-
get(input, params = {}) {
|
|
30
|
-
return from(this.translate(input, params));
|
|
31
|
-
}
|
|
32
|
-
getSafe(input, params = {}) {
|
|
33
|
-
return from(this.translate(input, params, true));
|
|
40
|
+
get(input, params = {}, defaultValue) {
|
|
41
|
+
return from(this.translate(input, params, false, defaultValue));
|
|
34
42
|
}
|
|
35
|
-
|
|
36
|
-
return this.
|
|
43
|
+
getSafe(input, params = {}, defaultValue) {
|
|
44
|
+
return from(this.translate(input, params, true, defaultValue));
|
|
37
45
|
}
|
|
38
|
-
|
|
39
|
-
return this.tolgee.instant(input, params,
|
|
46
|
+
instant(input, params = {}, defaultValue) {
|
|
47
|
+
return this.tolgee.instant(input, params, undefined, undefined, defaultValue);
|
|
40
48
|
}
|
|
41
|
-
|
|
42
|
-
return this.tolgee.
|
|
49
|
+
instantSafe(input, params = {}, defaultValue) {
|
|
50
|
+
return this.tolgee.instant(input, params, true, undefined, defaultValue);
|
|
43
51
|
}
|
|
44
52
|
getCurrentLang() {
|
|
45
53
|
return this.tolgee.lang;
|
|
46
54
|
}
|
|
47
|
-
|
|
55
|
+
unsubscribeCoreListeners() {
|
|
56
|
+
var _a, _b;
|
|
57
|
+
(_a = this.onTranslationChangeCoreSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
58
|
+
(_b = this.onLangChangeCoreSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
59
|
+
}
|
|
60
|
+
translate(input, params = {}, noWrap = false, defaultValue) {
|
|
48
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
//wait for start before translating
|
|
49
63
|
yield this.start(this.config);
|
|
50
|
-
return yield this.tolgee.translate(input, params, noWrap);
|
|
64
|
+
return yield this.tolgee.translate(input, params, noWrap, defaultValue);
|
|
51
65
|
});
|
|
52
66
|
}
|
|
53
67
|
}
|
|
@@ -63,37 +77,48 @@ class TranslatePipe {
|
|
|
63
77
|
this.translateService = translateService;
|
|
64
78
|
this.value = '';
|
|
65
79
|
}
|
|
66
|
-
getHash(input, params, language) {
|
|
67
|
-
return JSON.stringify({ input, params, language });
|
|
68
|
-
}
|
|
69
80
|
get resultProvider() {
|
|
70
|
-
return (input, params) => this.translateService.get(input, params);
|
|
81
|
+
return (input, params, defaultValue) => this.translateService.get(input, params, defaultValue);
|
|
71
82
|
}
|
|
72
|
-
|
|
73
|
-
this.
|
|
74
|
-
this.value = r;
|
|
75
|
-
});
|
|
83
|
+
ngOnDestroy() {
|
|
84
|
+
this.langChangeSubscription.unsubscribe();
|
|
76
85
|
}
|
|
77
|
-
transform(input, params
|
|
86
|
+
transform(input, paramsOrDefaultValue, params) {
|
|
87
|
+
var _a;
|
|
78
88
|
if (!input || input.length === 0) {
|
|
79
89
|
return input;
|
|
80
90
|
}
|
|
91
|
+
const defaultValue = typeof paramsOrDefaultValue !== 'object'
|
|
92
|
+
? paramsOrDefaultValue
|
|
93
|
+
: undefined;
|
|
94
|
+
if (typeof paramsOrDefaultValue === 'object') {
|
|
95
|
+
params = paramsOrDefaultValue;
|
|
96
|
+
}
|
|
81
97
|
const newHash = this.getHash(input, params, this.translateService.getCurrentLang());
|
|
82
98
|
if (newHash === this.lastHash) {
|
|
83
99
|
return this.value;
|
|
84
100
|
}
|
|
85
|
-
this.
|
|
86
|
-
|
|
101
|
+
(_a = this.langChangeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
102
|
+
this.langChangeSubscription = this.translateService.onLangChange.subscribe(() => {
|
|
103
|
+
this.onLangChange(input, params, defaultValue);
|
|
87
104
|
});
|
|
88
|
-
this.onLangChange(input, params);
|
|
105
|
+
this.onLangChange(input, params, defaultValue);
|
|
89
106
|
this.lastHash = newHash;
|
|
90
107
|
return this.value;
|
|
91
108
|
}
|
|
109
|
+
getHash(input, params, language) {
|
|
110
|
+
return JSON.stringify({ input, params, language });
|
|
111
|
+
}
|
|
112
|
+
onLangChange(input, params, defaultValue) {
|
|
113
|
+
this.resultProvider(input, params, defaultValue).subscribe((r) => {
|
|
114
|
+
this.value = r;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
92
117
|
}
|
|
93
118
|
TranslatePipe.decorators = [
|
|
94
119
|
{ type: Pipe, args: [{
|
|
95
120
|
name: 'translate',
|
|
96
|
-
pure: false
|
|
121
|
+
pure: false,
|
|
97
122
|
},] }
|
|
98
123
|
];
|
|
99
124
|
TranslatePipe.ctorParameters = () => [
|
|
@@ -105,19 +130,71 @@ class STranslatePipe extends TranslatePipe {
|
|
|
105
130
|
super(translateService);
|
|
106
131
|
}
|
|
107
132
|
get resultProvider() {
|
|
108
|
-
return (input, params) => this.translateService.getSafe(input, params);
|
|
133
|
+
return (input, params, defaultValue) => this.translateService.getSafe(input, params, defaultValue);
|
|
109
134
|
}
|
|
110
135
|
}
|
|
111
136
|
STranslatePipe.decorators = [
|
|
112
137
|
{ type: Pipe, args: [{
|
|
113
138
|
name: 'stranslate',
|
|
114
|
-
pure: false
|
|
139
|
+
pure: false,
|
|
115
140
|
},] }
|
|
116
141
|
];
|
|
117
142
|
STranslatePipe.ctorParameters = () => [
|
|
118
143
|
{ type: TranslateService }
|
|
119
144
|
];
|
|
120
145
|
|
|
146
|
+
class TComponent {
|
|
147
|
+
constructor(ref, translateService) {
|
|
148
|
+
this.ref = ref;
|
|
149
|
+
this.translateService = translateService;
|
|
150
|
+
}
|
|
151
|
+
get resultProvider() {
|
|
152
|
+
return (key, params, defaultValue) => this.translateService.getSafe(key, params, defaultValue);
|
|
153
|
+
}
|
|
154
|
+
ngOnInit() {
|
|
155
|
+
const element = this.ref.nativeElement;
|
|
156
|
+
element.setAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, this.key);
|
|
157
|
+
//update value when language changed
|
|
158
|
+
this.onLangChangeSubscription =
|
|
159
|
+
this.translateService.onLangChange.subscribe(() => {
|
|
160
|
+
this.translate(this.key, this.params, this.default);
|
|
161
|
+
});
|
|
162
|
+
//update value when translation changed
|
|
163
|
+
this.onTranslationChangeSubscription =
|
|
164
|
+
this.translateService.onTranslationChange.subscribe((data) => {
|
|
165
|
+
if (data.key == this.key) {
|
|
166
|
+
this.translate(this.key, this.params, this.default);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
this.translate(this.key, this.params, this.default);
|
|
170
|
+
}
|
|
171
|
+
ngOnDestroy() {
|
|
172
|
+
var _a, _b;
|
|
173
|
+
(_a = this.onLangChangeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
174
|
+
(_b = this.onTranslationChangeSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();
|
|
175
|
+
}
|
|
176
|
+
translate(key, params, defaultValue) {
|
|
177
|
+
this.resultProvider(key, params, defaultValue).subscribe((r) => {
|
|
178
|
+
this.ref.nativeElement.innerHTML = r;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
TComponent.decorators = [
|
|
183
|
+
{ type: Component, args: [{
|
|
184
|
+
selector: '[t]',
|
|
185
|
+
template: ``
|
|
186
|
+
},] }
|
|
187
|
+
];
|
|
188
|
+
TComponent.ctorParameters = () => [
|
|
189
|
+
{ type: ElementRef },
|
|
190
|
+
{ type: TranslateService }
|
|
191
|
+
];
|
|
192
|
+
TComponent.propDecorators = {
|
|
193
|
+
params: [{ type: Input }],
|
|
194
|
+
key: [{ type: Input }],
|
|
195
|
+
default: [{ type: Input }]
|
|
196
|
+
};
|
|
197
|
+
|
|
121
198
|
class TranslationsProvider {
|
|
122
199
|
constructor(translateService) {
|
|
123
200
|
this.translateService = translateService;
|
|
@@ -138,35 +215,30 @@ TranslationsProvider.ctorParameters = () => [
|
|
|
138
215
|
class NgxTolgeeModule {
|
|
139
216
|
// @dynamic
|
|
140
217
|
static forRoot(options) {
|
|
141
|
-
options = Object.assign({ filesUrlPrefix:
|
|
218
|
+
options = Object.assign({ filesUrlPrefix: '/assets/i18n/' }, options);
|
|
142
219
|
return {
|
|
143
220
|
ngModule: NgxTolgeeModule,
|
|
144
221
|
providers: [
|
|
145
|
-
TranslateService,
|
|
222
|
+
TranslateService,
|
|
223
|
+
TranslationsProvider,
|
|
146
224
|
{
|
|
147
225
|
provide: APP_INITIALIZER,
|
|
148
226
|
useFactory: (provider) => {
|
|
149
227
|
return () => __awaiter(this, void 0, void 0, function* () { return yield provider.load(options); });
|
|
150
228
|
},
|
|
151
229
|
deps: [TranslationsProvider, TranslateService],
|
|
152
|
-
multi: true
|
|
230
|
+
multi: true,
|
|
153
231
|
},
|
|
154
|
-
{ provide: TolgeeConfig, useValue: options }
|
|
232
|
+
{ provide: TolgeeConfig, useValue: options },
|
|
155
233
|
],
|
|
156
234
|
};
|
|
157
235
|
}
|
|
158
236
|
}
|
|
159
237
|
NgxTolgeeModule.decorators = [
|
|
160
238
|
{ type: NgModule, args: [{
|
|
161
|
-
declarations: [
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
],
|
|
165
|
-
exports: [
|
|
166
|
-
TranslatePipe,
|
|
167
|
-
STranslatePipe
|
|
168
|
-
],
|
|
169
|
-
providers: []
|
|
239
|
+
declarations: [TranslatePipe, STranslatePipe, TComponent],
|
|
240
|
+
exports: [TranslatePipe, STranslatePipe, TComponent],
|
|
241
|
+
providers: [],
|
|
170
242
|
},] }
|
|
171
243
|
];
|
|
172
244
|
|
|
@@ -178,5 +250,5 @@ NgxTolgeeModule.decorators = [
|
|
|
178
250
|
* Generated bundle index. Do not edit.
|
|
179
251
|
*/
|
|
180
252
|
|
|
181
|
-
export { NgxTolgeeModule, STranslatePipe, TranslatePipe, TranslateService };
|
|
253
|
+
export { NgxTolgeeModule, STranslatePipe, TComponent, TranslatePipe, TranslateService };
|
|
182
254
|
//# sourceMappingURL=tolgee-ngx.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tolgee-ngx.js","sources":["../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/stranslate.pipe.ts","../../../projects/ngx-tolgee/src/lib/translations-provider.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import {EventEmitter, Injectable} from '@angular/core';\nimport {from, Observable} from 'rxjs';\nimport {Tolgee} from \"@tolgee/core\";\nimport {TolgeeConfig} from \"./tolgeeConfig\";\n\n@Injectable()\nexport class TranslateService {\n\n constructor(private config: TolgeeConfig) {\n }\n\n public readonly onLangChange: EventEmitter<never> = new EventEmitter<never>();\n\n private _tolgee: Tolgee;\n private runPromise: Promise<void>;\n private currentLanguage: string;\n\n public get tolgee(): Tolgee {\n return this._tolgee;\n }\n\n public async start(config: TolgeeConfig): Promise<void> {\n if (!this.runPromise) {\n this._tolgee = new Tolgee(config);\n this.runPromise = this.tolgee.run();\n }\n await this.runPromise;\n }\n\n public setLang(lang: string) {\n this.currentLanguage = lang;\n this.onLangChange.emit();\n this.tolgee.lang = lang;\n }\n\n public get(input: string, params = {}): Observable<string> {\n return from(this.translate(input, params));\n }\n\n public getSafe(input: string, params = {}): Observable<string> {\n return from(this.translate(input, params, true));\n }\n\n public instant(input: string, params = {}): string {\n return this.tolgee.instant(input, params);\n }\n\n public instantSafe(input: string, params = {}): string {\n return this.tolgee.instant(input, params, true);\n }\n\n public getDefaultLang(): string {\n return this.tolgee.defaultLanguage;\n }\n\n public getCurrentLang(): string {\n return this.tolgee.lang;\n }\n\n private async translate(input: string, params = {}, noWrap = false): Promise<string> {\n await this.start(this.config);\n return await this.tolgee.translate(input, params, noWrap);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {TranslateService} from \"./translate.service\";\nimport {Observable} from \"rxjs\";\n\n@Pipe({\n name: 'translate',\n pure: false\n})\nexport class TranslatePipe implements PipeTransform {\n value = '';\n lastHash: string;\n\n constructor(protected translateService: TranslateService) {\n }\n\n private getHash(input: string, params: object, language: string): string {\n return JSON.stringify({input, params, language});\n }\n\n protected get resultProvider(): (input, params) => Observable<string> {\n return (input, params) => this.translateService.get(input, params);\n }\n\n private onLangChange(input, params) {\n this.resultProvider(input, params).subscribe(r => {\n this.value = r;\n });\n }\n\n transform(input: any, params = {}): any {\n if (!input || input.length === 0) {\n return input;\n }\n\n const newHash = this.getHash(input, params, this.translateService.getCurrentLang());\n\n if (newHash === this.lastHash) {\n return this.value;\n }\n\n this.translateService.onLangChange.subscribe(() => {\n this.onLangChange(input, params);\n });\n\n this.onLangChange(input, params);\n\n this.lastHash = newHash;\n\n return this.value;\n }\n}\n","import {Pipe} from '@angular/core';\nimport {TranslateService} from \"./translate.service\";\nimport {TranslatePipe} from \"./translate.pipe\";\nimport {Observable} from \"rxjs\";\n\n@Pipe({\n name: 'stranslate',\n pure: false\n})\nexport class STranslatePipe extends TranslatePipe {\n\n constructor(translateService: TranslateService) {\n super(translateService);\n }\n\n protected get resultProvider(): (input, params) => Observable<string> {\n return (input, params) => this.translateService.getSafe(input, params);\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {TranslateService} from \"./translate.service\";\nimport {TolgeeConfig} from \"@tolgee/core\";\n\n@Injectable()\nexport class TranslationsProvider {\n\n constructor(private translateService: TranslateService) {\n }\n\n async load(options: TolgeeConfig) {\n return await this.translateService.start(options);\n }\n}\n\n\n","import {APP_INITIALIZER, ModuleWithProviders, NgModule} from '@angular/core';\nimport {TranslatePipe} from './translate.pipe';\nimport {TranslationsProvider} from './translations-provider';\nimport {TranslateService} from \"./translate.service\";\nimport {STranslatePipe} from \"./stranslate.pipe\";\nimport {TolgeeConfig} from \"./tolgeeConfig\";\n\n@NgModule({\n declarations: [\n TranslatePipe,\n STranslatePipe\n ],\n exports: [\n TranslatePipe,\n STranslatePipe\n ],\n providers: []\n})\nexport class NgxTolgeeModule {\n // @dynamic\n static forRoot(options: TolgeeConfig): ModuleWithProviders<NgxTolgeeModule> {\n options = {filesUrlPrefix: \"/assets/i18n/\", ...options};\n return {\n ngModule: NgxTolgeeModule,\n providers: [\n TranslateService, TranslationsProvider,\n {\n provide: APP_INITIALIZER,\n useFactory: (provider: TranslationsProvider) => {\n return async () => await provider.load(options);\n },\n deps: [TranslationsProvider, TranslateService],\n multi: true\n },\n {provide: TolgeeConfig, useValue: options}\n ],\n };\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nimport { TranslateService } from './lib/translate.service';\nimport { TranslatePipe } from './lib/translate.pipe';\nimport { STranslatePipe } from './lib/stranslate.pipe';\nimport { TolgeeConfig } from './lib/tolgeeConfig';\n\nexport * from './lib/ngx-tolgee.module';\nexport { TolgeeConfig };\nexport { TranslateService };\nexport { TranslatePipe };\nexport { STranslatePipe };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tolgee-ngx.js","sources":["../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/stranslate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/translations-provider.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { EventEmitter, Injectable, OnDestroy } from '@angular/core';\nimport { from, Observable } from 'rxjs';\nimport { Tolgee, TranslationData } from '@tolgee/core';\nimport { TolgeeConfig } from './tolgeeConfig';\n\n@Injectable()\nexport class TranslateService implements OnDestroy {\n public readonly onLangChange: EventEmitter<never> = new EventEmitter<never>();\n public readonly onTranslationChange: EventEmitter<TranslationData> =\n new EventEmitter<TranslationData>();\n\n private runPromise: Promise<void>;\n private onTranslationChangeCoreSubscription: any;\n private onLangChangeCoreSubscription: any;\n\n constructor(private config: TolgeeConfig) {}\n\n private _tolgee: Tolgee;\n\n public get tolgee(): Tolgee {\n return this._tolgee;\n }\n\n public async start(config: TolgeeConfig): Promise<void> {\n if (!this.runPromise) {\n this._tolgee = new Tolgee(config);\n this.runPromise = this.tolgee.run();\n this.unsubscribeCoreListeners();\n this.onTranslationChangeCoreSubscription =\n this._tolgee.onTranslationChange.subscribe((data) => {\n this.onTranslationChange.emit(data);\n });\n this.onLangChangeCoreSubscription = this._tolgee.onLangChange.subscribe(\n () => {\n this.onLangChange.emit();\n }\n );\n }\n await this.runPromise;\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n this.unsubscribeCoreListeners();\n }\n\n public setLang(lang: string) {\n this.tolgee.lang = lang;\n }\n\n public get(\n input: string,\n params = {},\n defaultValue?: string\n ): Observable<string> {\n return from(this.translate(input, params, false, defaultValue));\n }\n\n public getSafe(\n input: string,\n params = {},\n defaultValue?: string\n ): Observable<string> {\n return from(this.translate(input, params, true, defaultValue));\n }\n\n public instant(input: string, params = {}, defaultValue?: string): string {\n return this.tolgee.instant(\n input,\n params,\n undefined,\n undefined,\n defaultValue\n );\n }\n\n public instantSafe(\n input: string,\n params = {},\n defaultValue?: string\n ): string {\n return this.tolgee.instant(input, params, true, undefined, defaultValue);\n }\n\n public getCurrentLang(): string {\n return this.tolgee.lang;\n }\n\n private unsubscribeCoreListeners() {\n this.onTranslationChangeCoreSubscription?.unsubscribe();\n this.onLangChangeCoreSubscription?.unsubscribe();\n }\n\n private async translate(\n input: string,\n params = {},\n noWrap = false,\n defaultValue: string\n ): Promise<string> {\n //wait for start before translating\n await this.start(this.config);\n return await this.tolgee.translate(input, params, noWrap, defaultValue);\n }\n}\n","import { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Observable, Subscription } from 'rxjs';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n value = '';\n lastHash: string;\n private langChangeSubscription: Subscription;\n\n constructor(protected translateService: TranslateService) {}\n\n protected get resultProvider(): (\n key,\n params,\n defaultValue: string\n ) => Observable<string> {\n return (input, params, defaultValue) =>\n this.translateService.get(input, params, defaultValue);\n }\n\n ngOnDestroy(): void {\n this.langChangeSubscription.unsubscribe();\n }\n\n transform(input: any, params?: Record<string, any>): string;\n transform(\n input: any,\n defaultValue?: string,\n params?: Record<string, any>\n ): string;\n\n transform(\n input: any,\n paramsOrDefaultValue?: Record<string, any> | string,\n params?: Record<string, any>\n ): string {\n if (!input || input.length === 0) {\n return input;\n }\n\n const defaultValue =\n typeof paramsOrDefaultValue !== 'object'\n ? paramsOrDefaultValue\n : undefined;\n\n if (typeof paramsOrDefaultValue === 'object') {\n params = paramsOrDefaultValue;\n }\n\n const newHash = this.getHash(\n input,\n params,\n this.translateService.getCurrentLang()\n );\n\n if (newHash === this.lastHash) {\n return this.value;\n }\n\n this.langChangeSubscription?.unsubscribe();\n this.langChangeSubscription = this.translateService.onLangChange.subscribe(\n () => {\n this.onLangChange(input, params, defaultValue);\n }\n );\n\n this.onLangChange(input, params, defaultValue);\n\n this.lastHash = newHash;\n\n return this.value;\n }\n\n private getHash(input: string, params: object, language: string): string {\n return JSON.stringify({ input, params, language });\n }\n\n private onLangChange(input, params, defaultValue) {\n this.resultProvider(input, params, defaultValue).subscribe((r) => {\n this.value = r;\n });\n }\n}\n","import { Pipe } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { TranslatePipe } from './translate.pipe';\nimport { Observable } from 'rxjs';\n\n@Pipe({\n name: 'stranslate',\n pure: false,\n})\nexport class STranslatePipe extends TranslatePipe {\n constructor(translateService: TranslateService) {\n super(translateService);\n }\n\n protected get resultProvider(): (\n input,\n params,\n defaultValue\n ) => Observable<string> {\n return (input, params, defaultValue) =>\n this.translateService.getSafe(input, params, defaultValue);\n }\n}\n","import {\n Component,\n ContentChild,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '@tolgee/core';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy {\n value: string;\n @Input() params?: Record<string, any>;\n @Input() key: string;\n @Input() default?: string;\n onLangChangeSubscription: Subscription;\n onTranslationChangeSubscription: Subscription;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n protected get resultProvider(): (\n key,\n params,\n defaultValue: string\n ) => Observable<string> {\n return (key, params, defaultValue) =>\n this.translateService.getSafe(key, params, defaultValue);\n }\n\n ngOnInit(): void {\n const element = this.ref.nativeElement as HTMLElement;\n\n element.setAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE, this.key);\n\n //update value when language changed\n this.onLangChangeSubscription =\n this.translateService.onLangChange.subscribe(() => {\n this.translate(this.key, this.params, this.default);\n });\n\n //update value when translation changed\n this.onTranslationChangeSubscription =\n this.translateService.onTranslationChange.subscribe((data) => {\n if (data.key == this.key) {\n this.translate(this.key, this.params, this.default);\n }\n });\n this.translate(this.key, this.params, this.default);\n }\n\n ngOnDestroy(): void {\n this.onLangChangeSubscription?.unsubscribe();\n this.onTranslationChangeSubscription?.unsubscribe();\n }\n\n private translate(key, params, defaultValue: string) {\n this.resultProvider(key, params, defaultValue).subscribe((r) => {\n this.ref.nativeElement.innerHTML = r;\n });\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TranslateService} from \"./translate.service\";\nimport {TolgeeConfig} from \"@tolgee/core\";\n\n@Injectable()\nexport class TranslationsProvider {\n\n constructor(private translateService: TranslateService) {\n }\n\n async load(options: TolgeeConfig) {\n return await this.translateService.start(options);\n }\n}\n\n\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TranslationsProvider } from './translations-provider';\nimport { TranslateService } from './translate.service';\nimport { STranslatePipe } from './stranslate.pipe';\nimport { TolgeeConfig } from './tolgeeConfig';\nimport { TComponent } from './t.component';\n\n@NgModule({\n declarations: [TranslatePipe, STranslatePipe, TComponent],\n exports: [TranslatePipe, STranslatePipe, TComponent],\n providers: [],\n})\nexport class NgxTolgeeModule {\n // @dynamic\n static forRoot(options: TolgeeConfig): ModuleWithProviders<NgxTolgeeModule> {\n options = { filesUrlPrefix: '/assets/i18n/', ...options };\n return {\n ngModule: NgxTolgeeModule,\n providers: [\n TranslateService,\n TranslationsProvider,\n {\n provide: APP_INITIALIZER,\n useFactory: (provider: TranslationsProvider) => {\n return async () => await provider.load(options);\n },\n deps: [TranslationsProvider, TranslateService],\n multi: true,\n },\n { provide: TolgeeConfig, useValue: options },\n ],\n };\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nimport { TranslateService } from './lib/translate.service';\nimport { TranslatePipe } from './lib/translate.pipe';\nimport { STranslatePipe } from './lib/stranslate.pipe';\nimport { TolgeeConfig } from './lib/tolgeeConfig';\nimport { TComponent } from './lib/t.component';\n\nexport * from './lib/ngx-tolgee.module';\nexport { TolgeeConfig };\nexport { TranslateService };\nexport { TranslatePipe };\nexport { STranslatePipe };\nexport { TComponent };\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import { TolgeeConfig } from
|
|
2
|
+
import { TolgeeConfig } from './tolgeeConfig';
|
|
3
3
|
export declare class NgxTolgeeModule {
|
|
4
4
|
static forRoot(options: TolgeeConfig): ModuleWithProviders<NgxTolgeeModule>;
|
|
5
5
|
}
|
package/lib/stranslate.pipe.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { TranslateService } from
|
|
2
|
-
import { TranslatePipe } from
|
|
3
|
-
import { Observable } from
|
|
1
|
+
import { TranslateService } from './translate.service';
|
|
2
|
+
import { TranslatePipe } from './translate.pipe';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
4
|
export declare class STranslatePipe extends TranslatePipe {
|
|
5
5
|
constructor(translateService: TranslateService);
|
|
6
|
-
protected get resultProvider(): (input: any, params: any) => Observable<string>;
|
|
6
|
+
protected get resultProvider(): (input: any, params: any, defaultValue: any) => Observable<string>;
|
|
7
7
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { Observable, Subscription } from 'rxjs';
|
|
3
|
+
import { TranslateService } from './translate.service';
|
|
4
|
+
export declare class TComponent implements OnInit, OnDestroy {
|
|
5
|
+
private ref;
|
|
6
|
+
private translateService;
|
|
7
|
+
value: string;
|
|
8
|
+
params?: Record<string, any>;
|
|
9
|
+
key: string;
|
|
10
|
+
default?: string;
|
|
11
|
+
onLangChangeSubscription: Subscription;
|
|
12
|
+
onTranslationChangeSubscription: Subscription;
|
|
13
|
+
constructor(ref: ElementRef, translateService: TranslateService);
|
|
14
|
+
protected get resultProvider(): (key: any, params: any, defaultValue: string) => Observable<string>;
|
|
15
|
+
ngOnInit(): void;
|
|
16
|
+
ngOnDestroy(): void;
|
|
17
|
+
private translate;
|
|
18
|
+
}
|
package/lib/translate.pipe.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { PipeTransform } from '@angular/core';
|
|
2
|
-
import { TranslateService } from
|
|
3
|
-
import { Observable } from
|
|
4
|
-
export declare class TranslatePipe implements PipeTransform {
|
|
1
|
+
import { OnDestroy, PipeTransform } from '@angular/core';
|
|
2
|
+
import { TranslateService } from './translate.service';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
export declare class TranslatePipe implements PipeTransform, OnDestroy {
|
|
5
5
|
protected translateService: TranslateService;
|
|
6
6
|
value: string;
|
|
7
7
|
lastHash: string;
|
|
8
|
+
private langChangeSubscription;
|
|
8
9
|
constructor(translateService: TranslateService);
|
|
10
|
+
protected get resultProvider(): (key: any, params: any, defaultValue: string) => Observable<string>;
|
|
11
|
+
ngOnDestroy(): void;
|
|
12
|
+
transform(input: any, params?: Record<string, any>): string;
|
|
13
|
+
transform(input: any, defaultValue?: string, params?: Record<string, any>): string;
|
|
9
14
|
private getHash;
|
|
10
|
-
protected get resultProvider(): (input: any, params: any) => Observable<string>;
|
|
11
15
|
private onLangChange;
|
|
12
|
-
transform(input: any, params?: {}): any;
|
|
13
16
|
}
|
|
@@ -1,22 +1,25 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
1
|
+
import { EventEmitter, OnDestroy } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { Tolgee } from
|
|
4
|
-
import { TolgeeConfig } from
|
|
5
|
-
export declare class TranslateService {
|
|
3
|
+
import { Tolgee, TranslationData } from '@tolgee/core';
|
|
4
|
+
import { TolgeeConfig } from './tolgeeConfig';
|
|
5
|
+
export declare class TranslateService implements OnDestroy {
|
|
6
6
|
private config;
|
|
7
|
-
constructor(config: TolgeeConfig);
|
|
8
7
|
readonly onLangChange: EventEmitter<never>;
|
|
9
|
-
|
|
8
|
+
readonly onTranslationChange: EventEmitter<TranslationData>;
|
|
10
9
|
private runPromise;
|
|
11
|
-
private
|
|
10
|
+
private onTranslationChangeCoreSubscription;
|
|
11
|
+
private onLangChangeCoreSubscription;
|
|
12
|
+
constructor(config: TolgeeConfig);
|
|
13
|
+
private _tolgee;
|
|
12
14
|
get tolgee(): Tolgee;
|
|
13
15
|
start(config: TolgeeConfig): Promise<void>;
|
|
16
|
+
ngOnDestroy(): void;
|
|
14
17
|
setLang(lang: string): void;
|
|
15
|
-
get(input: string, params?: {}): Observable<string>;
|
|
16
|
-
getSafe(input: string, params?: {}): Observable<string>;
|
|
17
|
-
instant(input: string, params?: {}): string;
|
|
18
|
-
instantSafe(input: string, params?: {}): string;
|
|
19
|
-
getDefaultLang(): string;
|
|
18
|
+
get(input: string, params?: {}, defaultValue?: string): Observable<string>;
|
|
19
|
+
getSafe(input: string, params?: {}, defaultValue?: string): Observable<string>;
|
|
20
|
+
instant(input: string, params?: {}, defaultValue?: string): string;
|
|
21
|
+
instantSafe(input: string, params?: {}, defaultValue?: string): string;
|
|
20
22
|
getCurrentLang(): string;
|
|
23
|
+
private unsubscribeCoreListeners;
|
|
21
24
|
private translate;
|
|
22
25
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -2,8 +2,10 @@ import { TranslateService } from './lib/translate.service';
|
|
|
2
2
|
import { TranslatePipe } from './lib/translate.pipe';
|
|
3
3
|
import { STranslatePipe } from './lib/stranslate.pipe';
|
|
4
4
|
import { TolgeeConfig } from './lib/tolgeeConfig';
|
|
5
|
+
import { TComponent } from './lib/t.component';
|
|
5
6
|
export * from './lib/ngx-tolgee.module';
|
|
6
7
|
export { TolgeeConfig };
|
|
7
8
|
export { TranslateService };
|
|
8
9
|
export { TranslatePipe };
|
|
9
10
|
export { STranslatePipe };
|
|
11
|
+
export { TComponent };
|
package/tolgee-ngx.metadata.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"TranslateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TolgeeConfig","module":"@tolgee/core"}]}],"start":[{"__symbolic":"method"}],"setLang":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"getSafe":[{"__symbolic":"method"}],"instant":[{"__symbolic":"method"}],"instantSafe":[{"__symbolic":"method"}],"
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"TranslateService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TolgeeConfig","module":"@tolgee/core"}]}],"start":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"setLang":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"getSafe":[{"__symbolic":"method"}],"instant":[{"__symbolic":"method"}],"instantSafe":[{"__symbolic":"method"}],"getCurrentLang":[{"__symbolic":"method"}],"unsubscribeCoreListeners":[{"__symbolic":"method"}],"translate":[{"__symbolic":"method"}]}},"TranslatePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"translate","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TranslateService"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"transform":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"getHash":[{"__symbolic":"method"}],"onLangChange":[{"__symbolic":"method"}]}},"STranslatePipe":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TranslatePipe"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":5,"character":1},"arguments":[{"name":"stranslate","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TranslateService"}]}]}},"TComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"[t]","template":""}]}],"members":{"params":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"key":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"default":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":25,"character":17},{"__symbolic":"reference","name":"TranslateService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"translate":[{"__symbolic":"method"}]}},"NgxTolgeeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TranslatePipe"},{"__symbolic":"reference","name":"STranslatePipe"},{"__symbolic":"reference","name":"TComponent"}],"exports":[{"__symbolic":"reference","name":"TranslatePipe"},{"__symbolic":"reference","name":"STranslatePipe"},{"__symbolic":"reference","name":"TComponent"}],"providers":[]}]}],"members":{}}},"origins":{"TolgeeConfig":"@tolgee/core","TranslateService":"./lib/translate.service","TranslatePipe":"./lib/translate.pipe","STranslatePipe":"./lib/stranslate.pipe","TComponent":"./lib/t.component","NgxTolgeeModule":"./lib/ngx-tolgee.module"},"importAs":"@tolgee/ngx"}
|