@tolgee/ngx 5.0.0-alpha.1 → 5.0.0-alpha.3
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 +164 -56
- package/esm2020/public-api.mjs +1 -2
- package/fesm2015/tolgee-ngx.mjs +2 -7
- package/fesm2015/tolgee-ngx.mjs.map +1 -1
- package/fesm2020/tolgee-ngx.mjs +2 -7
- package/fesm2020/tolgee-ngx.mjs.map +1 -1
- package/lib/tolgee-instance-token.d.ts +3 -1
- package/lib/translate.service.d.ts +10 -2
- package/package.json +2 -2
- package/public-api.d.ts +0 -1
- package/esm2020/lib/NgxPlugin.mjs +0 -6
- package/lib/NgxPlugin.d.ts +0 -2
package/README.md
CHANGED
|
@@ -1,94 +1,202 @@
|
|
|
1
|
-
|
|
1
|
+
<!-- This file was generated using pnpm generate-readmes script
|
|
2
|
+
|
|
3
|
+
Don't edit this file. Edit the README.md.njk. Macros can be found in readmeMacros/macros.njk
|
|
4
|
+
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
<h1 align="center" style="border-bottom: none">
|
|
8
|
+
<b>
|
|
9
|
+
<a href="https://tolgee.io">Tolgee for Angular</a><br>
|
|
10
|
+
</b>
|
|
11
|
+
The Tolgee i18n SDK for Angular
|
|
12
|
+
<br>
|
|
13
|
+
</h1>
|
|
14
|
+
|
|
15
|
+
<div align="center">
|
|
16
|
+
|
|
17
|
+
[](https://tolgee.io)
|
|
18
|
+
|
|
19
|
+
Tolgee is an open-source alternative to Crowdin, Phrase, or Lokalise with its very own revolutionary integrations.
|
|
2
20
|
|
|
3
21
|

|
|
4
|
-
|
|
22
|
+
|
|
23
|
+

|
|
24
|
+
|
|
5
25
|

|
|
26
|
+

|
|
6
27
|

|
|
7
|
-
[](https://github.com/tolgee/tolgee-js)
|
|
29
|
+
[](https://github.com/tolgee/server)
|
|
30
|
+
[](https://github.com/tolgee/tolgee-platform/discussions)
|
|
31
|
+
</div>
|
|
9
32
|
|
|
10
|
-
|
|
33
|
+
<div align="center">
|
|
11
34
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
35
|
+
[<img src="https://img.shields.io/badge/-Facebook-424549?style=social&logo=facebook" height=25 />](https://www.facebook.com/Tolgee.i18n)
|
|
36
|
+
[<img src="https://img.shields.io/badge/-Twitter-424549?style=social&logo=twitter" height=25 />](https://twitter.com/Tolgee_i18n)
|
|
37
|
+
[<img src="https://img.shields.io/badge/-Linkedin-424549?style=social&logo=linkedin" height=25 />](https://www.linkedin.com/company/tolgee)
|
|
15
38
|
|
|
16
|
-
|
|
39
|
+
**Become part of the family. Join [slack channel <img src="https://img.shields.io/badge/-Tolgee Comunity-424549?style=social&logo=slack" height=25 />](https://join.slack.com/t/tolgeecommunity/shared_invite/zt-195isb5u8-_RcSRgVJfvgsPpOBIok~IQ)**
|
|
17
40
|
|
|
18
|
-
|
|
19
|
-
- Out of box in-context localization 🎉
|
|
20
|
-
- Automated screenshot generation 📷
|
|
21
|
-
- Translation management platform 🎈
|
|
22
|
-
- Open-source 🔥
|
|
41
|
+
</div>
|
|
23
42
|
|
|
24
|
-
## Installation
|
|
25
43
|
|
|
26
|
-
First, install the package.
|
|
27
44
|
|
|
28
|
-
|
|
45
|
+
# What's Tolgee for Angular?
|
|
46
|
+
Angular integration library of Tolgee. With this package. It's super simple to add i18n to your Angular app!
|
|
47
|
+
For more information about using Tolgee with Angular, visit the [docs 📖](https://tolgee.io/integrations/angular).
|
|
29
48
|
|
|
30
|
-
Then import `NgxTolgeeModule` in your app.
|
|
31
49
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
50
|
+
## Quick links
|
|
51
|
+
- [Tolgee for Angular docs](https://tolgee.io/js-sdk/5.0.0-alpha.1/integrations/angular/installation)
|
|
52
|
+
- [Tolgee JS SDK docs](https://tolgee.io/js-sdk)
|
|
53
|
+
- [Tolgee Website](https://tolgee.io)
|
|
54
|
+
- Product (Learn more about the great features)
|
|
55
|
+
- [Dev tools](https://tolgee.io/features/dev-tools)
|
|
56
|
+
- [Translation assistance](https://tolgee.io/features/translation-assistance)
|
|
57
|
+
- [Collaboration](https://tolgee.io/features/collaboration)
|
|
58
|
+
- [Tolgee platform docs](https://tolgee.io/platform)
|
|
59
|
+
|
|
60
|
+
|
|
36
61
|
|
|
62
|
+
## Installation
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
npm install @tolgee/ngx
|
|
66
|
+
```
|
|
37
67
|
|
|
68
|
+
|
|
69
|
+
Then use the library in your `app.module.ts`. You have to add `NgxTolgeeModule` to your imports section and
|
|
70
|
+
add factory provider for `TOLGEE_INSTANCE` token returning your Tolgee instance.
|
|
71
|
+
|
|
72
|
+
```typescript
|
|
73
|
+
...
|
|
74
|
+
import {
|
|
75
|
+
DevTools,
|
|
76
|
+
NgxTolgeeModule,
|
|
77
|
+
Tolgee,
|
|
78
|
+
TOLGEE_INSTANCE,
|
|
79
|
+
FormatSimple
|
|
80
|
+
} from '@tolgee/ngx';
|
|
81
|
+
...
|
|
38
82
|
@NgModule({
|
|
39
83
|
declarations: [
|
|
40
84
|
...
|
|
41
85
|
],
|
|
42
86
|
imports: [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
87
|
+
NgxTolgeeModule,
|
|
88
|
+
...
|
|
89
|
+
],
|
|
90
|
+
providers: [
|
|
91
|
+
{
|
|
92
|
+
provide: TOLGEE_INSTANCE,
|
|
93
|
+
useFactory: () => {
|
|
94
|
+
return Tolgee()
|
|
95
|
+
.use(DevTools())
|
|
96
|
+
.use(FormatSimple())
|
|
97
|
+
.init({
|
|
98
|
+
language: 'en'
|
|
99
|
+
|
|
100
|
+
// for development
|
|
101
|
+
apiUrl: environment.tolgeeApiUrl,
|
|
102
|
+
apiKey: environment.tolgeeApiKey,
|
|
103
|
+
|
|
104
|
+
// for production
|
|
105
|
+
staticData: {
|
|
106
|
+
...
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
bootstrap: [AppComponent],
|
|
55
113
|
})
|
|
56
|
-
|
|
57
|
-
export class AppModule {
|
|
58
|
-
}
|
|
114
|
+
export class AppModule {}
|
|
59
115
|
```
|
|
60
116
|
|
|
61
117
|
## Usage
|
|
118
|
+
Translating using pipe:
|
|
119
|
+
```html
|
|
120
|
+
<h1>{{'hello_world' | translate}}</h1>
|
|
121
|
+
```
|
|
62
122
|
|
|
63
|
-
|
|
123
|
+
Or using t attribute
|
|
124
|
+
```html
|
|
125
|
+
<h1 t key="providing_default_values"></h1>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
## Prerequisites
|
|
64
130
|
|
|
65
|
-
|
|
131
|
+
1. You have some Angular-based project
|
|
132
|
+
2. You have generated an API key from [Tolgee Cloud](https://app.tolgee.io) or a self-hosted Tolgee instance.
|
|
133
|
+
|
|
66
134
|
|
|
67
|
-
|
|
68
|
-
|
|
135
|
+
|
|
136
|
+
## Why to use Tolgee?
|
|
137
|
+
Because it saves a lot of time, you would spend on localization tasks without it. Because it enables you to provide perfectly translated software.
|
|
138
|
+
|
|
139
|
+
### Features
|
|
140
|
+
|
|
141
|
+
- All-in-one localization solution for your JS application 🙌
|
|
142
|
+
- Out-of-box in-context localization 🎉
|
|
143
|
+
- Automated screenshot generation 📷
|
|
144
|
+
- Translation management platform 🎈
|
|
145
|
+
- Open-source 🔥
|
|
146
|
+
|
|
147
|
+

|
|
148
|
+
Read more on the [Tolgee website](https://tolgee.io)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
## Development
|
|
152
|
+
|
|
153
|
+
We welcome your PRs.
|
|
154
|
+
|
|
155
|
+
To develop the package locally:
|
|
156
|
+
1. Clone [the repository](https://github.com/tolgee/tolgee-js)
|
|
157
|
+
1. Install the packages in the repository root
|
|
158
|
+
```
|
|
159
|
+
pnpm install
|
|
69
160
|
```
|
|
70
161
|
|
|
71
|
-
### Using translateService
|
|
72
162
|
|
|
73
|
-
|
|
74
|
-
this.translateService
|
|
75
|
-
.get('hello_world')
|
|
76
|
-
.subscribe((r) => (this.helloWorld = r));
|
|
163
|
+
1. Run the development script
|
|
77
164
|
```
|
|
165
|
+
pnpm develop:ngx
|
|
166
|
+
```
|
|
167
|
+
This runs the development suite of this monorepo for the `ngx` integration. The changes in each dependency package are
|
|
168
|
+
automatically built and propagated to the test application, which you can open and play within the browser.
|
|
78
169
|
|
|
79
|
-
### Element with t attribute
|
|
80
170
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
### Testing
|
|
174
|
+
|
|
175
|
+
To run Jest tests of this package, execute
|
|
176
|
+
```
|
|
177
|
+
npm run test
|
|
84
178
|
```
|
|
179
|
+
In the `/packages/ngx` directory.
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
### End-to-end (e2e) testing
|
|
185
|
+
To run the e2e tests, simply execute
|
|
186
|
+
```
|
|
187
|
+
pnpm run e2e run ngx
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
To open and play with e2e tests, run:
|
|
191
|
+
```
|
|
192
|
+
pnpm run e2e open ngx
|
|
193
|
+
```
|
|
194
|
+
|
|
85
195
|
|
|
86
|
-
## Prerequisites
|
|
87
196
|
|
|
88
|
-
|
|
89
|
-
2. You have generated API key from [Tolgee Cloud](https://app.tolgee.io) or self-hosted Tolgee instance.
|
|
197
|
+
## Contributors
|
|
90
198
|
|
|
91
|
-
|
|
199
|
+
<a href="https://github.com/tolgee/tolgee-platform/graphs/contributors">
|
|
200
|
+
<img alt="contributors" src="https://contrib.rocks/image?repo=tolgee/tolgee-js"/>
|
|
201
|
+
</a>
|
|
92
202
|
|
|
93
|
-

|
|
94
|
-
Learn more at our [documentation website 📖](https://tolgee.io).
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
export * from './lib/translate.service';
|
|
5
5
|
export * from './lib/translate.pipe';
|
|
6
6
|
export * from './lib/t.component';
|
|
7
|
-
export * from './lib/NgxPlugin';
|
|
8
7
|
export * from './lib/ngx-tolgee.module';
|
|
9
8
|
export * from './lib/tolgee-instance-token';
|
|
10
9
|
export * from '@tolgee/web';
|
|
11
10
|
export * from './lib/namespace.resolver';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC10b2xnZWUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxtQkFBbUIsQ0FBQztBQUVsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXRvbGdlZVxuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdGUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC10b2xnZWUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RvbGdlZS1pbnN0YW5jZS10b2tlbic7XG5cbmV4cG9ydCAqIGZyb20gJ0B0b2xnZWUvd2ViJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25hbWVzcGFjZS5yZXNvbHZlcic7XG4iXX0=
|
package/fesm2015/tolgee-ngx.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { __awaiter } from 'tslib';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, Injectable, Inject, Pipe, Component, Input, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
|
-
import { getTranslateProps
|
|
5
|
+
import { getTranslateProps } from '@tolgee/web';
|
|
6
6
|
export * from '@tolgee/web';
|
|
7
7
|
|
|
8
8
|
const TOLGEE_INSTANCE = new InjectionToken('tolgee.instance');
|
|
@@ -283,11 +283,6 @@ TComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TComponent, sele
|
|
|
283
283
|
}] });
|
|
284
284
|
})();
|
|
285
285
|
|
|
286
|
-
const NgxPlugin = () => (tolgee) => {
|
|
287
|
-
tolgee.addPlugin(DevTools());
|
|
288
|
-
return tolgee;
|
|
289
|
-
};
|
|
290
|
-
|
|
291
286
|
class LoaderComponent {
|
|
292
287
|
}
|
|
293
288
|
LoaderComponent.ɵfac = function LoaderComponent_Factory(t) { return new (t || LoaderComponent)(); };
|
|
@@ -384,5 +379,5 @@ NamespaceResolver.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Namesp
|
|
|
384
379
|
* Generated bundle index. Do not edit.
|
|
385
380
|
*/
|
|
386
381
|
|
|
387
|
-
export { NamespaceResolver,
|
|
382
|
+
export { NamespaceResolver, NgxTolgeeModule, TComponent, TOLGEE_INSTANCE, TranslatePipe, TranslateService };
|
|
388
383
|
//# sourceMappingURL=tolgee-ngx.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/tolgee-instance-token.ts","../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/NgxPlugin.ts","../../../projects/ngx-tolgee/src/lib/loader.component.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/lib/namespace.resolver.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport const TOLGEE_INSTANCE = new InjectionToken<TolgeeInstance>(\n 'tolgee.instance'\n);\n","import { Inject, Injectable, OnDestroy, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n DefaultParamType,\n EventType,\n getTranslateProps,\n ListenerEvent,\n TFnType,\n TolgeeInstance,\n} from '@tolgee/web';\nimport { TOLGEE_INSTANCE } from './tolgee-instance-token';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService implements OnDestroy {\n private runPromise: Promise<void>;\n\n constructor(\n @Inject(TOLGEE_INSTANCE) private _tolgee: TolgeeInstance,\n private _ngZone: NgZone\n ) {}\n\n get tolgee() {\n return this._tolgee;\n }\n\n /**\n * Starts Tolgee if not started.\n *\n * The Tolgee is run outside NgZone. The triggered events, doesn't\n * trigger the change detection, when listening directly via Tolgee.on.\n *\n * However, all the emitting methods (on, translate, languageAsync)\n * in this class are emitting back in Angular's NgZone,\n * so the change detection works fine.\n */\n public async start(): Promise<void> {\n if (!this.isSSR()) {\n await this.runIfNotRunning();\n }\n }\n\n /**\n * Returns translation asynchronously, this method always return\n */\n readonly translate: TFnType<DefaultParamType, Observable<string>> = (\n ...args\n ) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return new Observable<string>((subscriber) => {\n const loadPromise = this.tolgee.addActiveNs(params.ns);\n const translate = async () => {\n await loadPromise;\n const translated = this.tolgee.t(params);\n subscriber.next(translated);\n };\n\n // noinspection JSIgnoredPromiseFromCall\n translate();\n\n const subscription = this.tolgee\n .onNsUpdate(translate)\n .subscribeNs(params.ns);\n\n return () => {\n this.tolgee.removeActiveNs(params.ns);\n subscription.unsubscribe();\n };\n });\n };\n\n /**\n * Instantly returns translated value. May return undefined or outdated value.\n * Use only when you cannot use translate.\n */\n public readonly instant: TFnType = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return this.tolgee.t(params);\n };\n\n /**\n * Returns current language\n */\n get language(): string {\n return this.tolgee.getLanguage();\n }\n\n /**\n * Returns an observable emitting current language.\n * It instantly emits current language\n */\n get languageAsync(): Observable<string> {\n return new Observable((subscriber) => {\n subscriber.next(this.tolgee.getLanguage());\n const subscription = this.on('language').subscribe((value) => {\n subscriber.next(value.value);\n });\n\n return () => subscription.unsubscribe();\n });\n }\n\n /**\n * Changes the current language\n * @param lang The new current language (e.g. en, en-US)\n * @return Promise<void> Resolves when translations\n * for given language are loaded\n */\n public changeLanguage(lang: string) {\n return this.tolgee.changeLanguage(lang);\n }\n\n /**\n * Returns observable emitting when specified event is triggered.\n *\n * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,\n * so change detection should work properly.\n *\n * @param event the event to listen\n */\n on<Event extends keyof EventType>(event: Event) {\n return new Observable<ListenerEvent<EventType[Event]>>((subscriber) => {\n const subscription = this.tolgee.on(event, (value) => {\n this._ngZone.run(() => {\n subscriber.next(value as any);\n });\n });\n return () => subscription.unsubscribe();\n });\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n }\n\n private async runIfNotRunning() {\n if (!this.runPromise) {\n this.runPromise = this._ngZone.runOutsideAngular(() => {\n return this.tolgee.run();\n });\n }\n await this.runPromise;\n }\n\n private isSSR() {\n return typeof window === 'undefined';\n }\n}\n","import { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { getTranslateProps, TFnType, TranslateProps } from '@tolgee/web';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private value = '';\n private previousHash: string;\n\n private subscription: Subscription;\n\n constructor(protected translateService: TranslateService) {}\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n readonly transform: TFnType<string> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n const { key } = params;\n\n if (!key || key.length === 0) {\n return key;\n }\n\n const newHash = this.hash(params);\n if (this.previousHash === newHash) {\n return this.value;\n }\n\n this.previousHash = newHash;\n\n this.translate(params);\n\n return this.value;\n };\n\n private hash(props: TranslateProps) {\n return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private translate(props: TranslateProps) {\n this.value = this.translateService.instant({ ...props, orEmpty: true });\n this.subscribe(props);\n }\n\n private subscribe(props: TranslateProps) {\n this.unsubscribe();\n return this.translateService.translate(props).subscribe((r) => {\n this.value = r;\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TranslateParams } from '@tolgee/web';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy, OnChanges {\n @Input() key: string;\n @Input() ns: string;\n @Input() params?: TranslateParams<any>;\n @Input() default?: string;\n @Input() noWrap?: boolean = false;\n\n /**\n * When true, innerHTML property of element is set.\n * Use only when you're sure the HTML is sanitized.\n */\n @Input() isHtml?: boolean = false;\n\n private subscription: Subscription;\n private initialized: boolean;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n this.renderInstantValue();\n }\n\n ngOnChanges(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n private renderInstantValue() {\n // get initial value first\n const translated = this.translateService.instant({\n ...this.getTranslateProps(),\n orEmpty: true,\n });\n this.setElementContent(translated);\n }\n\n private getTranslateProps() {\n return {\n key: this.key,\n ns: this.ns,\n params: this.params,\n defaultValue: this.default,\n noWrap: this.noWrap,\n };\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private async subscribe() {\n this.unsubscribe();\n this.subscription = this.translateService\n .translate(this.getTranslateProps())\n .subscribe((translated) => {\n this.setElementContent(translated);\n this.initialized = true;\n });\n }\n\n private setElementContent(translated: string) {\n if (this.isHtml) {\n this.getElement().innerHTML = translated;\n return;\n }\n this.getElement().textContent = translated;\n }\n\n private getElement() {\n return this.ref.nativeElement as HTMLElement;\n }\n}\n","import { TolgeePlugin, DevTools } from '@tolgee/web';\n\nexport const NgxPlugin = (): TolgeePlugin => (tolgee) => {\n tolgee.addPlugin(DevTools());\n return tolgee;\n};\n","import { Component, Input } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"loader-template\" [innerHTML]=\"html\"></div>\n `,\n})\nexport class LoaderComponent {\n @Input() html: string | undefined;\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TComponent } from './t.component';\nimport { TranslateService } from './translate.service';\nimport { LoaderComponent } from \"./loader.component\";\n\n@NgModule({\n declarations: [TranslatePipe, TComponent, LoaderComponent],\n exports: [TranslatePipe, TComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TranslateService) => {\n return async () => await service.start();\n },\n deps: [TranslateService],\n multi: true,\n },\n ],\n})\nexport class NgxTolgeeModule {}\n","import {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { TranslateService } from './translate.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NamespaceResolver implements Resolve<void> {\n constructor(public service: TranslateService) {}\n\n async resolve(\n route: ActivatedRouteSnapshot,\n ): Promise<void> {\n const ns = this.getNamespace(route);\n await this.service.tolgee.addActiveNs(ns, true)\n }\n\n private getNamespace(route: ActivatedRouteSnapshot) {\n const namespace = route?.data?.tolgeeNamespace;\n if (namespace === undefined) {\n console.warn(\n 'No namespace provided. Please add tolgeeNamespace to your route data. \\n' +\n 'If you really want to lazy load default namespace set tolgeeNamespace to empty string'\n );\n }\n return namespace;\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nexport * from './lib/translate.service';\nexport * from './lib/translate.pipe';\nexport * from './lib/t.component';\nexport * from './lib/NgxPlugin';\n\nexport * from './lib/ngx-tolgee.module';\nexport * from './lib/tolgee-instance-token';\n\nexport * from '@tolgee/web';\nexport * from './lib/namespace.resolver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TranslateService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/tolgee-instance-token.ts","../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/loader.component.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/lib/namespace.resolver.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport const TOLGEE_INSTANCE = new InjectionToken<TolgeeInstance>(\n 'tolgee.instance'\n);\n","import { Inject, Injectable, OnDestroy, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n DefaultParamType,\n EventType,\n getTranslateProps,\n ListenerEvent,\n TFnType,\n TolgeeInstance,\n} from '@tolgee/web';\nimport { TOLGEE_INSTANCE } from './tolgee-instance-token';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService implements OnDestroy {\n private runPromise: Promise<void>;\n\n constructor(\n @Inject(TOLGEE_INSTANCE) private _tolgee: TolgeeInstance,\n private _ngZone: NgZone\n ) {}\n\n get tolgee() {\n return this._tolgee;\n }\n\n /**\n * Starts Tolgee if not started.\n *\n * The Tolgee is run outside NgZone. The triggered events, doesn't\n * trigger the change detection, when listening directly via Tolgee.on.\n *\n * However, all the emitting methods (on, translate, languageAsync)\n * in this class are emitting back in Angular's NgZone,\n * so the change detection works fine.\n */\n public async start(): Promise<void> {\n if (!this.isSSR()) {\n await this.runIfNotRunning();\n }\n }\n\n /**\n * Returns translation asynchronously, this method always return\n */\n readonly translate: TFnType<DefaultParamType, Observable<string>> = (\n ...args\n ) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return new Observable<string>((subscriber) => {\n const loadPromise = this.tolgee.addActiveNs(params.ns);\n const translate = async () => {\n await loadPromise;\n const translated = this.tolgee.t(params);\n subscriber.next(translated);\n };\n\n // noinspection JSIgnoredPromiseFromCall\n translate();\n\n const subscription = this.tolgee\n .onNsUpdate(translate)\n .subscribeNs(params.ns);\n\n return () => {\n this.tolgee.removeActiveNs(params.ns);\n subscription.unsubscribe();\n };\n });\n };\n\n /**\n * Instantly returns translated value. May return undefined or outdated value.\n * Use only when you cannot use translate.\n */\n public readonly instant: TFnType = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return this.tolgee.t(params);\n };\n\n /**\n * Returns current language\n */\n get language(): string {\n return this.tolgee.getLanguage();\n }\n\n /**\n * Returns an observable emitting current language.\n * It instantly emits current language\n */\n get languageAsync(): Observable<string> {\n return new Observable((subscriber) => {\n subscriber.next(this.tolgee.getLanguage());\n const subscription = this.on('language').subscribe((value) => {\n subscriber.next(value.value);\n });\n\n return () => subscription.unsubscribe();\n });\n }\n\n /**\n * Changes the current language\n * @param lang The new current language (e.g. en, en-US)\n * @return Promise<void> Resolves when translations\n * for given language are loaded\n */\n public changeLanguage(lang: string) {\n return this.tolgee.changeLanguage(lang);\n }\n\n /**\n * Returns observable emitting when specified event is triggered.\n *\n * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,\n * so change detection should work properly.\n *\n * @param event the event to listen\n */\n on<Event extends keyof EventType>(event: Event) {\n return new Observable<ListenerEvent<EventType[Event]>>((subscriber) => {\n const subscription = this.tolgee.on(event, (value) => {\n this._ngZone.run(() => {\n subscriber.next(value as any);\n });\n });\n return () => subscription.unsubscribe();\n });\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n }\n\n private async runIfNotRunning() {\n if (!this.runPromise) {\n this.runPromise = this._ngZone.runOutsideAngular(() => {\n return this.tolgee.run();\n });\n }\n await this.runPromise;\n }\n\n private isSSR() {\n return typeof window === 'undefined';\n }\n}\n","import { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { getTranslateProps, TFnType, TranslateProps } from '@tolgee/web';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private value = '';\n private previousHash: string;\n\n private subscription: Subscription;\n\n constructor(protected translateService: TranslateService) {}\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n readonly transform: TFnType<string> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n const { key } = params;\n\n if (!key || key.length === 0) {\n return key;\n }\n\n const newHash = this.hash(params);\n if (this.previousHash === newHash) {\n return this.value;\n }\n\n this.previousHash = newHash;\n\n this.translate(params);\n\n return this.value;\n };\n\n private hash(props: TranslateProps) {\n return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private translate(props: TranslateProps) {\n this.value = this.translateService.instant({ ...props, orEmpty: true });\n this.subscribe(props);\n }\n\n private subscribe(props: TranslateProps) {\n this.unsubscribe();\n return this.translateService.translate(props).subscribe((r) => {\n this.value = r;\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TranslateParams } from '@tolgee/web';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy, OnChanges {\n @Input() key: string;\n @Input() ns: string;\n @Input() params?: TranslateParams<any>;\n @Input() default?: string;\n @Input() noWrap?: boolean = false;\n\n /**\n * When true, innerHTML property of element is set.\n * Use only when you're sure the HTML is sanitized.\n */\n @Input() isHtml?: boolean = false;\n\n private subscription: Subscription;\n private initialized: boolean;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n this.renderInstantValue();\n }\n\n ngOnChanges(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n private renderInstantValue() {\n // get initial value first\n const translated = this.translateService.instant({\n ...this.getTranslateProps(),\n orEmpty: true,\n });\n this.setElementContent(translated);\n }\n\n private getTranslateProps() {\n return {\n key: this.key,\n ns: this.ns,\n params: this.params,\n defaultValue: this.default,\n noWrap: this.noWrap,\n };\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private async subscribe() {\n this.unsubscribe();\n this.subscription = this.translateService\n .translate(this.getTranslateProps())\n .subscribe((translated) => {\n this.setElementContent(translated);\n this.initialized = true;\n });\n }\n\n private setElementContent(translated: string) {\n if (this.isHtml) {\n this.getElement().innerHTML = translated;\n return;\n }\n this.getElement().textContent = translated;\n }\n\n private getElement() {\n return this.ref.nativeElement as HTMLElement;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"loader-template\" [innerHTML]=\"html\"></div>\n `,\n})\nexport class LoaderComponent {\n @Input() html: string | undefined;\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TComponent } from './t.component';\nimport { TranslateService } from './translate.service';\nimport { LoaderComponent } from \"./loader.component\";\n\n@NgModule({\n declarations: [TranslatePipe, TComponent, LoaderComponent],\n exports: [TranslatePipe, TComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TranslateService) => {\n return async () => await service.start();\n },\n deps: [TranslateService],\n multi: true,\n },\n ],\n})\nexport class NgxTolgeeModule {}\n","import {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { TranslateService } from './translate.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NamespaceResolver implements Resolve<void> {\n constructor(public service: TranslateService) {}\n\n async resolve(\n route: ActivatedRouteSnapshot,\n ): Promise<void> {\n const ns = this.getNamespace(route);\n await this.service.tolgee.addActiveNs(ns, true)\n }\n\n private getNamespace(route: ActivatedRouteSnapshot) {\n const namespace = route?.data?.tolgeeNamespace;\n if (namespace === undefined) {\n console.warn(\n 'No namespace provided. Please add tolgeeNamespace to your route data. \\n' +\n 'If you really want to lazy load default namespace set tolgeeNamespace to empty string'\n );\n }\n return namespace;\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nexport * from './lib/translate.service';\nexport * from './lib/translate.pipe';\nexport * from './lib/t.component';\n\nexport * from './lib/ngx-tolgee.module';\nexport * from './lib/tolgee-instance-token';\n\nexport * from '@tolgee/web';\nexport * from './lib/namespace.resolver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TranslateService"],"mappings":"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"}
|
package/fesm2020/tolgee-ngx.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, Injectable, Inject, Pipe, Component, Input, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
import { getTranslateProps
|
|
4
|
+
import { getTranslateProps } from '@tolgee/web';
|
|
5
5
|
export * from '@tolgee/web';
|
|
6
6
|
|
|
7
7
|
const TOLGEE_INSTANCE = new InjectionToken('tolgee.instance');
|
|
@@ -269,11 +269,6 @@ TComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TComponent, sele
|
|
|
269
269
|
type: Input
|
|
270
270
|
}] }); })();
|
|
271
271
|
|
|
272
|
-
const NgxPlugin = () => (tolgee) => {
|
|
273
|
-
tolgee.addPlugin(DevTools());
|
|
274
|
-
return tolgee;
|
|
275
|
-
};
|
|
276
|
-
|
|
277
272
|
class LoaderComponent {
|
|
278
273
|
}
|
|
279
274
|
LoaderComponent.ɵfac = function LoaderComponent_Factory(t) { return new (t || LoaderComponent)(); };
|
|
@@ -358,5 +353,5 @@ NamespaceResolver.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Namesp
|
|
|
358
353
|
* Generated bundle index. Do not edit.
|
|
359
354
|
*/
|
|
360
355
|
|
|
361
|
-
export { NamespaceResolver,
|
|
356
|
+
export { NamespaceResolver, NgxTolgeeModule, TComponent, TOLGEE_INSTANCE, TranslatePipe, TranslateService };
|
|
362
357
|
//# sourceMappingURL=tolgee-ngx.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/tolgee-instance-token.ts","../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/NgxPlugin.ts","../../../projects/ngx-tolgee/src/lib/loader.component.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/lib/namespace.resolver.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport const TOLGEE_INSTANCE = new InjectionToken<TolgeeInstance>(\n 'tolgee.instance'\n);\n","import { Inject, Injectable, OnDestroy, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n DefaultParamType,\n EventType,\n getTranslateProps,\n ListenerEvent,\n TFnType,\n TolgeeInstance,\n} from '@tolgee/web';\nimport { TOLGEE_INSTANCE } from './tolgee-instance-token';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService implements OnDestroy {\n private runPromise: Promise<void>;\n\n constructor(\n @Inject(TOLGEE_INSTANCE) private _tolgee: TolgeeInstance,\n private _ngZone: NgZone\n ) {}\n\n get tolgee() {\n return this._tolgee;\n }\n\n /**\n * Starts Tolgee if not started.\n *\n * The Tolgee is run outside NgZone. The triggered events, doesn't\n * trigger the change detection, when listening directly via Tolgee.on.\n *\n * However, all the emitting methods (on, translate, languageAsync)\n * in this class are emitting back in Angular's NgZone,\n * so the change detection works fine.\n */\n public async start(): Promise<void> {\n if (!this.isSSR()) {\n await this.runIfNotRunning();\n }\n }\n\n /**\n * Returns translation asynchronously, this method always return\n */\n readonly translate: TFnType<DefaultParamType, Observable<string>> = (\n ...args\n ) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return new Observable<string>((subscriber) => {\n const loadPromise = this.tolgee.addActiveNs(params.ns);\n const translate = async () => {\n await loadPromise;\n const translated = this.tolgee.t(params);\n subscriber.next(translated);\n };\n\n // noinspection JSIgnoredPromiseFromCall\n translate();\n\n const subscription = this.tolgee\n .onNsUpdate(translate)\n .subscribeNs(params.ns);\n\n return () => {\n this.tolgee.removeActiveNs(params.ns);\n subscription.unsubscribe();\n };\n });\n };\n\n /**\n * Instantly returns translated value. May return undefined or outdated value.\n * Use only when you cannot use translate.\n */\n public readonly instant: TFnType = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return this.tolgee.t(params);\n };\n\n /**\n * Returns current language\n */\n get language(): string {\n return this.tolgee.getLanguage();\n }\n\n /**\n * Returns an observable emitting current language.\n * It instantly emits current language\n */\n get languageAsync(): Observable<string> {\n return new Observable((subscriber) => {\n subscriber.next(this.tolgee.getLanguage());\n const subscription = this.on('language').subscribe((value) => {\n subscriber.next(value.value);\n });\n\n return () => subscription.unsubscribe();\n });\n }\n\n /**\n * Changes the current language\n * @param lang The new current language (e.g. en, en-US)\n * @return Promise<void> Resolves when translations\n * for given language are loaded\n */\n public changeLanguage(lang: string) {\n return this.tolgee.changeLanguage(lang);\n }\n\n /**\n * Returns observable emitting when specified event is triggered.\n *\n * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,\n * so change detection should work properly.\n *\n * @param event the event to listen\n */\n on<Event extends keyof EventType>(event: Event) {\n return new Observable<ListenerEvent<EventType[Event]>>((subscriber) => {\n const subscription = this.tolgee.on(event, (value) => {\n this._ngZone.run(() => {\n subscriber.next(value as any);\n });\n });\n return () => subscription.unsubscribe();\n });\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n }\n\n private async runIfNotRunning() {\n if (!this.runPromise) {\n this.runPromise = this._ngZone.runOutsideAngular(() => {\n return this.tolgee.run();\n });\n }\n await this.runPromise;\n }\n\n private isSSR() {\n return typeof window === 'undefined';\n }\n}\n","import { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { getTranslateProps, TFnType, TranslateProps } from '@tolgee/web';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private value = '';\n private previousHash: string;\n\n private subscription: Subscription;\n\n constructor(protected translateService: TranslateService) {}\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n readonly transform: TFnType<string> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n const { key } = params;\n\n if (!key || key.length === 0) {\n return key;\n }\n\n const newHash = this.hash(params);\n if (this.previousHash === newHash) {\n return this.value;\n }\n\n this.previousHash = newHash;\n\n this.translate(params);\n\n return this.value;\n };\n\n private hash(props: TranslateProps) {\n return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private translate(props: TranslateProps) {\n this.value = this.translateService.instant({ ...props, orEmpty: true });\n this.subscribe(props);\n }\n\n private subscribe(props: TranslateProps) {\n this.unsubscribe();\n return this.translateService.translate(props).subscribe((r) => {\n this.value = r;\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TranslateParams } from '@tolgee/web';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy, OnChanges {\n @Input() key: string;\n @Input() ns: string;\n @Input() params?: TranslateParams<any>;\n @Input() default?: string;\n @Input() noWrap?: boolean = false;\n\n /**\n * When true, innerHTML property of element is set.\n * Use only when you're sure the HTML is sanitized.\n */\n @Input() isHtml?: boolean = false;\n\n private subscription: Subscription;\n private initialized: boolean;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n this.renderInstantValue();\n }\n\n ngOnChanges(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n private renderInstantValue() {\n // get initial value first\n const translated = this.translateService.instant({\n ...this.getTranslateProps(),\n orEmpty: true,\n });\n this.setElementContent(translated);\n }\n\n private getTranslateProps() {\n return {\n key: this.key,\n ns: this.ns,\n params: this.params,\n defaultValue: this.default,\n noWrap: this.noWrap,\n };\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private async subscribe() {\n this.unsubscribe();\n this.subscription = this.translateService\n .translate(this.getTranslateProps())\n .subscribe((translated) => {\n this.setElementContent(translated);\n this.initialized = true;\n });\n }\n\n private setElementContent(translated: string) {\n if (this.isHtml) {\n this.getElement().innerHTML = translated;\n return;\n }\n this.getElement().textContent = translated;\n }\n\n private getElement() {\n return this.ref.nativeElement as HTMLElement;\n }\n}\n","import { TolgeePlugin, DevTools } from '@tolgee/web';\n\nexport const NgxPlugin = (): TolgeePlugin => (tolgee) => {\n tolgee.addPlugin(DevTools());\n return tolgee;\n};\n","import { Component, Input } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"loader-template\" [innerHTML]=\"html\"></div>\n `,\n})\nexport class LoaderComponent {\n @Input() html: string | undefined;\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TComponent } from './t.component';\nimport { TranslateService } from './translate.service';\nimport { LoaderComponent } from \"./loader.component\";\n\n@NgModule({\n declarations: [TranslatePipe, TComponent, LoaderComponent],\n exports: [TranslatePipe, TComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TranslateService) => {\n return async () => await service.start();\n },\n deps: [TranslateService],\n multi: true,\n },\n ],\n})\nexport class NgxTolgeeModule {}\n","import {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { TranslateService } from './translate.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NamespaceResolver implements Resolve<void> {\n constructor(public service: TranslateService) {}\n\n async resolve(\n route: ActivatedRouteSnapshot,\n ): Promise<void> {\n const ns = this.getNamespace(route);\n await this.service.tolgee.addActiveNs(ns, true)\n }\n\n private getNamespace(route: ActivatedRouteSnapshot) {\n const namespace = route?.data?.tolgeeNamespace;\n if (namespace === undefined) {\n console.warn(\n 'No namespace provided. Please add tolgeeNamespace to your route data. \\n' +\n 'If you really want to lazy load default namespace set tolgeeNamespace to empty string'\n );\n }\n return namespace;\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nexport * from './lib/translate.service';\nexport * from './lib/translate.pipe';\nexport * from './lib/t.component';\nexport * from './lib/NgxPlugin';\n\nexport * from './lib/ngx-tolgee.module';\nexport * from './lib/tolgee-instance-token';\n\nexport * from '@tolgee/web';\nexport * from './lib/namespace.resolver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TranslateService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tolgee-ngx.mjs","sources":["../../../projects/ngx-tolgee/src/lib/tolgee-instance-token.ts","../../../projects/ngx-tolgee/src/lib/translate.service.ts","../../../projects/ngx-tolgee/src/lib/translate.pipe.ts","../../../projects/ngx-tolgee/src/lib/t.component.ts","../../../projects/ngx-tolgee/src/lib/loader.component.ts","../../../projects/ngx-tolgee/src/lib/ngx-tolgee.module.ts","../../../projects/ngx-tolgee/src/lib/namespace.resolver.ts","../../../projects/ngx-tolgee/src/public-api.ts","../../../projects/ngx-tolgee/src/tolgee-ngx.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { TolgeeInstance } from '@tolgee/web';\n\nexport const TOLGEE_INSTANCE = new InjectionToken<TolgeeInstance>(\n 'tolgee.instance'\n);\n","import { Inject, Injectable, OnDestroy, NgZone } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n DefaultParamType,\n EventType,\n getTranslateProps,\n ListenerEvent,\n TFnType,\n TolgeeInstance,\n} from '@tolgee/web';\nimport { TOLGEE_INSTANCE } from './tolgee-instance-token';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslateService implements OnDestroy {\n private runPromise: Promise<void>;\n\n constructor(\n @Inject(TOLGEE_INSTANCE) private _tolgee: TolgeeInstance,\n private _ngZone: NgZone\n ) {}\n\n get tolgee() {\n return this._tolgee;\n }\n\n /**\n * Starts Tolgee if not started.\n *\n * The Tolgee is run outside NgZone. The triggered events, doesn't\n * trigger the change detection, when listening directly via Tolgee.on.\n *\n * However, all the emitting methods (on, translate, languageAsync)\n * in this class are emitting back in Angular's NgZone,\n * so the change detection works fine.\n */\n public async start(): Promise<void> {\n if (!this.isSSR()) {\n await this.runIfNotRunning();\n }\n }\n\n /**\n * Returns translation asynchronously, this method always return\n */\n readonly translate: TFnType<DefaultParamType, Observable<string>> = (\n ...args\n ) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return new Observable<string>((subscriber) => {\n const loadPromise = this.tolgee.addActiveNs(params.ns);\n const translate = async () => {\n await loadPromise;\n const translated = this.tolgee.t(params);\n subscriber.next(translated);\n };\n\n // noinspection JSIgnoredPromiseFromCall\n translate();\n\n const subscription = this.tolgee\n .onNsUpdate(translate)\n .subscribeNs(params.ns);\n\n return () => {\n this.tolgee.removeActiveNs(params.ns);\n subscription.unsubscribe();\n };\n });\n };\n\n /**\n * Instantly returns translated value. May return undefined or outdated value.\n * Use only when you cannot use translate.\n */\n public readonly instant: TFnType = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n return this.tolgee.t(params);\n };\n\n /**\n * Returns current language\n */\n get language(): string {\n return this.tolgee.getLanguage();\n }\n\n /**\n * Returns an observable emitting current language.\n * It instantly emits current language\n */\n get languageAsync(): Observable<string> {\n return new Observable((subscriber) => {\n subscriber.next(this.tolgee.getLanguage());\n const subscription = this.on('language').subscribe((value) => {\n subscriber.next(value.value);\n });\n\n return () => subscription.unsubscribe();\n });\n }\n\n /**\n * Changes the current language\n * @param lang The new current language (e.g. en, en-US)\n * @return Promise<void> Resolves when translations\n * for given language are loaded\n */\n public changeLanguage(lang: string) {\n return this.tolgee.changeLanguage(lang);\n }\n\n /**\n * Returns observable emitting when specified event is triggered.\n *\n * It's a wrapper of Tolgee.on method. The emmit is triggered inside ngZone,\n * so change detection should work properly.\n *\n * @param event the event to listen\n */\n on<Event extends keyof EventType>(event: Event) {\n return new Observable<ListenerEvent<EventType[Event]>>((subscriber) => {\n const subscription = this.tolgee.on(event, (value) => {\n this._ngZone.run(() => {\n subscriber.next(value as any);\n });\n });\n return () => subscription.unsubscribe();\n });\n }\n\n ngOnDestroy(): void {\n this.tolgee.stop();\n }\n\n private async runIfNotRunning() {\n if (!this.runPromise) {\n this.runPromise = this._ngZone.runOutsideAngular(() => {\n return this.tolgee.run();\n });\n }\n await this.runPromise;\n }\n\n private isSSR() {\n return typeof window === 'undefined';\n }\n}\n","import { OnDestroy, Pipe, PipeTransform } from '@angular/core';\nimport { TranslateService } from './translate.service';\nimport { Subscription } from 'rxjs';\nimport { getTranslateProps, TFnType, TranslateProps } from '@tolgee/web';\n\n@Pipe({\n name: 'translate',\n pure: false,\n})\nexport class TranslatePipe implements PipeTransform, OnDestroy {\n private value = '';\n private previousHash: string;\n\n private subscription: Subscription;\n\n constructor(protected translateService: TranslateService) {}\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n readonly transform: TFnType<string> = (...args) => {\n // @ts-ignore\n const params = getTranslateProps(...args);\n const { key } = params;\n\n if (!key || key.length === 0) {\n return key;\n }\n\n const newHash = this.hash(params);\n if (this.previousHash === newHash) {\n return this.value;\n }\n\n this.previousHash = newHash;\n\n this.translate(params);\n\n return this.value;\n };\n\n private hash(props: TranslateProps) {\n return JSON.stringify([props, this.translateService.tolgee.getLanguage()]);\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private translate(props: TranslateProps) {\n this.value = this.translateService.instant({ ...props, orEmpty: true });\n this.subscribe(props);\n }\n\n private subscribe(props: TranslateProps) {\n this.unsubscribe();\n return this.translateService.translate(props).subscribe((r) => {\n this.value = r;\n });\n }\n}\n","import {\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { TranslateService } from './translate.service';\nimport { TranslateParams } from '@tolgee/web';\n\n@Component({\n selector: '[t]',\n template: ``,\n})\nexport class TComponent implements OnInit, OnDestroy, OnChanges {\n @Input() key: string;\n @Input() ns: string;\n @Input() params?: TranslateParams<any>;\n @Input() default?: string;\n @Input() noWrap?: boolean = false;\n\n /**\n * When true, innerHTML property of element is set.\n * Use only when you're sure the HTML is sanitized.\n */\n @Input() isHtml?: boolean = false;\n\n private subscription: Subscription;\n private initialized: boolean;\n\n constructor(\n private ref: ElementRef,\n private translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n this.renderInstantValue();\n }\n\n ngOnChanges(): void {\n // noinspection JSIgnoredPromiseFromCall\n this.subscribe();\n }\n\n ngOnDestroy(): void {\n this.unsubscribe();\n }\n\n private renderInstantValue() {\n // get initial value first\n const translated = this.translateService.instant({\n ...this.getTranslateProps(),\n orEmpty: true,\n });\n this.setElementContent(translated);\n }\n\n private getTranslateProps() {\n return {\n key: this.key,\n ns: this.ns,\n params: this.params,\n defaultValue: this.default,\n noWrap: this.noWrap,\n };\n }\n\n private unsubscribe() {\n this.subscription?.unsubscribe();\n }\n\n private async subscribe() {\n this.unsubscribe();\n this.subscription = this.translateService\n .translate(this.getTranslateProps())\n .subscribe((translated) => {\n this.setElementContent(translated);\n this.initialized = true;\n });\n }\n\n private setElementContent(translated: string) {\n if (this.isHtml) {\n this.getElement().innerHTML = translated;\n return;\n }\n this.getElement().textContent = translated;\n }\n\n private getElement() {\n return this.ref.nativeElement as HTMLElement;\n }\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"loader-template\" [innerHTML]=\"html\"></div>\n `,\n})\nexport class LoaderComponent {\n @Input() html: string | undefined;\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { TranslatePipe } from './translate.pipe';\nimport { TComponent } from './t.component';\nimport { TranslateService } from './translate.service';\nimport { LoaderComponent } from \"./loader.component\";\n\n@NgModule({\n declarations: [TranslatePipe, TComponent, LoaderComponent],\n exports: [TranslatePipe, TComponent],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (service: TranslateService) => {\n return async () => await service.start();\n },\n deps: [TranslateService],\n multi: true,\n },\n ],\n})\nexport class NgxTolgeeModule {}\n","import {\n ActivatedRouteSnapshot,\n Resolve,\n} from '@angular/router';\nimport { TranslateService } from './translate.service';\nimport { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class NamespaceResolver implements Resolve<void> {\n constructor(public service: TranslateService) {}\n\n async resolve(\n route: ActivatedRouteSnapshot,\n ): Promise<void> {\n const ns = this.getNamespace(route);\n await this.service.tolgee.addActiveNs(ns, true)\n }\n\n private getNamespace(route: ActivatedRouteSnapshot) {\n const namespace = route?.data?.tolgeeNamespace;\n if (namespace === undefined) {\n console.warn(\n 'No namespace provided. Please add tolgeeNamespace to your route data. \\n' +\n 'If you really want to lazy load default namespace set tolgeeNamespace to empty string'\n );\n }\n return namespace;\n }\n}\n","/*\n * Public API Surface of ngx-tolgee\n */\nexport * from './lib/translate.service';\nexport * from './lib/translate.pipe';\nexport * from './lib/t.component';\n\nexport * from './lib/ngx-tolgee.module';\nexport * from './lib/tolgee-instance-token';\n\nexport * from '@tolgee/web';\nexport * from './lib/namespace.resolver';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TranslateService"],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { InjectionToken } from '@angular/core';
|
|
|
2
2
|
export declare const TOLGEE_INSTANCE: InjectionToken<Readonly<{
|
|
3
3
|
on: import("@tolgee/web").TolgeeOn<keyof import("@tolgee/web").EventType>;
|
|
4
4
|
onNsUpdate: (handler: import("@tolgee/web").Listener<undefined>) => import("@tolgee/web").SubscriptionSelective;
|
|
5
|
+
setEmmiterActive: (active: boolean) => void;
|
|
5
6
|
getLanguage: () => string;
|
|
6
7
|
getPendingLanguage: () => string;
|
|
7
8
|
changeLanguage: (language: string) => Promise<void>;
|
|
@@ -40,8 +41,9 @@ export declare const TOLGEE_INSTANCE: InjectionToken<Readonly<{
|
|
|
40
41
|
fallbackNs?: import("@tolgee/web").FallbackGeneral;
|
|
41
42
|
defaultNs: string;
|
|
42
43
|
staticData?: import("@tolgee/web").TolgeeStaticData;
|
|
43
|
-
observerOptions: import("@tolgee/web").ObserverOptionsInternal;
|
|
44
44
|
observerType: "text" | "invisible";
|
|
45
|
+
observerOptions: import("@tolgee/web").ObserverOptionsInternal;
|
|
46
|
+
onFormatError: import("@tolgee/web").OnFormatError;
|
|
45
47
|
};
|
|
46
48
|
isDev: () => boolean;
|
|
47
49
|
wrap: (params: import("@tolgee/web").WrapperWrapProps) => string;
|
|
@@ -10,6 +10,7 @@ export declare class TranslateService implements OnDestroy {
|
|
|
10
10
|
get tolgee(): Readonly<{
|
|
11
11
|
on: import("@tolgee/web").TolgeeOn<keyof EventType>;
|
|
12
12
|
onNsUpdate: (handler: import("@tolgee/web").Listener<undefined>) => import("@tolgee/web").SubscriptionSelective;
|
|
13
|
+
setEmmiterActive: (active: boolean) => void;
|
|
13
14
|
getLanguage: () => string;
|
|
14
15
|
getPendingLanguage: () => string;
|
|
15
16
|
changeLanguage: (language: string) => Promise<void>;
|
|
@@ -17,7 +18,13 @@ export declare class TranslateService implements OnDestroy {
|
|
|
17
18
|
revert: () => void;
|
|
18
19
|
};
|
|
19
20
|
addActiveNs: (ns: import("@tolgee/web").NsFallback, forget?: boolean) => Promise<void>;
|
|
20
|
-
|
|
21
|
+
/**
|
|
22
|
+
* Instantly returns translated value. May return undefined or outdated value.
|
|
23
|
+
* Use only when you cannot use translate.
|
|
24
|
+
*/
|
|
25
|
+
removeActiveNs: (ns: import("@tolgee/web").NsFallback) => void; /**
|
|
26
|
+
* Returns current language
|
|
27
|
+
*/
|
|
21
28
|
loadRecords: (descriptors: import("@tolgee/web").CacheDescriptor[]) => Promise<import("@tolgee/web").TranslationsFlat[]>;
|
|
22
29
|
loadRecord: (descriptor: import("@tolgee/web").CacheDescriptor) => Promise<import("@tolgee/web").TranslationsFlat>;
|
|
23
30
|
addStaticData: (data: import("@tolgee/web").TolgeeStaticData) => void;
|
|
@@ -48,8 +55,9 @@ export declare class TranslateService implements OnDestroy {
|
|
|
48
55
|
fallbackNs?: import("@tolgee/web").FallbackGeneral;
|
|
49
56
|
defaultNs: string;
|
|
50
57
|
staticData?: import("@tolgee/web").TolgeeStaticData;
|
|
51
|
-
observerOptions: import("@tolgee/web").ObserverOptionsInternal;
|
|
52
58
|
observerType: "text" | "invisible";
|
|
59
|
+
observerOptions: import("@tolgee/web").ObserverOptionsInternal;
|
|
60
|
+
onFormatError: import("@tolgee/web").OnFormatError;
|
|
53
61
|
};
|
|
54
62
|
isDev: () => boolean;
|
|
55
63
|
wrap: (params: import("@tolgee/web").WrapperWrapProps) => string;
|
package/package.json
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"url": "https://github.com/tolgee/tolgee-js"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@tolgee/web": "
|
|
9
|
+
"@tolgee/web": "5.0.0-alpha.3",
|
|
10
10
|
"tslib": "^2.3.0"
|
|
11
11
|
},
|
|
12
|
-
"version": "5.0.0-alpha.
|
|
12
|
+
"version": "5.0.0-alpha.3",
|
|
13
13
|
"publishConfig": {
|
|
14
14
|
"directory": "../../dist/ngx-tolgee",
|
|
15
15
|
"access": "public"
|
package/public-api.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './lib/translate.service';
|
|
2
2
|
export * from './lib/translate.pipe';
|
|
3
3
|
export * from './lib/t.component';
|
|
4
|
-
export * from './lib/NgxPlugin';
|
|
5
4
|
export * from './lib/ngx-tolgee.module';
|
|
6
5
|
export * from './lib/tolgee-instance-token';
|
|
7
6
|
export * from '@tolgee/web';
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { DevTools } from '@tolgee/web';
|
|
2
|
-
export const NgxPlugin = () => (tolgee) => {
|
|
3
|
-
tolgee.addPlugin(DevTools());
|
|
4
|
-
return tolgee;
|
|
5
|
-
};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4UGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRvbGdlZS9zcmMvbGliL05neFBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBaUIsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7SUFDdEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvbGdlZVBsdWdpbiwgRGV2VG9vbHMgfSBmcm9tICdAdG9sZ2VlL3dlYic7XG5cbmV4cG9ydCBjb25zdCBOZ3hQbHVnaW4gPSAoKTogVG9sZ2VlUGx1Z2luID0+ICh0b2xnZWUpID0+IHtcbiAgdG9sZ2VlLmFkZFBsdWdpbihEZXZUb29scygpKTtcbiAgcmV0dXJuIHRvbGdlZTtcbn07XG4iXX0=
|
package/lib/NgxPlugin.d.ts
DELETED