@siemens/element-translate-ng 47.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +20 -0
- package/README.md +68 -0
- package/angular-localize/index.d.ts +6 -0
- package/angular-localize/package.json +3 -0
- package/angular-localize/si-translate-ng-localize-service-builder.service.d.ts +12 -0
- package/angular-localize/si-translate-ng-localize.module.d.ts +11 -0
- package/angular-localize/si-translate-ng-localize.provider.d.ts +10 -0
- package/angular-localize/si-translate-ng-localize.service.d.ts +7 -0
- package/bin/update-translatable-keys.js +120 -0
- package/fesm2022/siemens-element-translate-ng-angular-localize.mjs +89 -0
- package/fesm2022/siemens-element-translate-ng-angular-localize.mjs.map +1 -0
- package/fesm2022/siemens-element-translate-ng-localize-types.mjs +4 -0
- package/fesm2022/siemens-element-translate-ng-localize-types.mjs.map +1 -0
- package/fesm2022/siemens-element-translate-ng-ngx-translate.mjs +157 -0
- package/fesm2022/siemens-element-translate-ng-ngx-translate.mjs.map +1 -0
- package/fesm2022/siemens-element-translate-ng-translate-types.mjs +9 -0
- package/fesm2022/siemens-element-translate-ng-translate-types.mjs.map +1 -0
- package/fesm2022/siemens-element-translate-ng-translate.mjs +346 -0
- package/fesm2022/siemens-element-translate-ng-translate.mjs.map +1 -0
- package/fesm2022/siemens-element-translate-ng.mjs +14 -0
- package/fesm2022/siemens-element-translate-ng.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/localize-types/index.d.ts +11 -0
- package/localize-types/package.json +3 -0
- package/ngx-translate/index.d.ts +6 -0
- package/ngx-translate/package.json +3 -0
- package/ngx-translate/si-translate-ngxt.module.d.ts +11 -0
- package/ngx-translate/si-translate-ngxt.provider.d.ts +10 -0
- package/ngx-translate/si-translate-ngxt.service-builder.d.ts +19 -0
- package/ngx-translate/si-translate-ngxt.service.d.ts +28 -0
- package/package.json +72 -0
- package/public-api.d.ts +8 -0
- package/translate/global.scope.d.ts +8 -0
- package/translate/index.d.ts +14 -0
- package/translate/package.json +3 -0
- package/translate/si-localize.d.ts +4 -0
- package/translate/si-no-translate.service-builder.d.ts +14 -0
- package/translate/si-no-translate.service.d.ts +21 -0
- package/translate/si-translatable.model.d.ts +6 -0
- package/translate/si-translatable.service.d.ts +11 -0
- package/translate/si-translate.module.d.ts +14 -0
- package/translate/si-translate.pipe.d.ts +30 -0
- package/translate/si-translate.service-builder.d.ts +21 -0
- package/translate/si-translate.service.d.ts +96 -0
- package/translate/testing/si-translate.mock-service-builder.factory.d.ts +7 -0
- package/translate-types/README.md +6 -0
- package/translate-types/global.types.d.ts +19 -0
- package/translate-types/index.d.ts +5 -0
- package/translate-types/package.json +3 -0
package/LICENSE.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
The MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) Siemens 2016 - 2025
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
+
this software and associated documentation files (the “Software”), to deal in
|
|
7
|
+
the Software without restriction, including without limitation the rights to
|
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
+
subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Element Translate
|
|
2
|
+
|
|
3
|
+
`element-translate-ng` is a translation abstraction layer. It can be used with
|
|
4
|
+
|
|
5
|
+
- `ngx-translate`
|
|
6
|
+
- Angular localize
|
|
7
|
+
- Other frameworks in the future
|
|
8
|
+
|
|
9
|
+
See [here](https://element.siemens.io/simpl-element/fundamentals/localization/#translation-in-simpl-element)
|
|
10
|
+
for details how it works and how to use it.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
Install the library as follows:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
npm install --save @siemens/element-translate-ng
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
An important part of the library is the extraction of translatable keys as a TypeScript interface
|
|
21
|
+
as well as extracting a JSON messages file with default translations. The extraction happens on
|
|
22
|
+
compiled files. I.e. make sure to run the build first. Then, to run these extractions
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
npx update-translatable-keys
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
By default, this will pick of the configuration from a file `element-translate.conf.json`. To
|
|
29
|
+
use a different config file, pass as the only argument to the command.
|
|
30
|
+
|
|
31
|
+
The config file looks like this
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"files": "dist/@simpl/**/fesm2022/**/*.mjs",
|
|
36
|
+
"configs": [
|
|
37
|
+
{
|
|
38
|
+
"name": "element",
|
|
39
|
+
"locationPrefix": "projects/element-ng",
|
|
40
|
+
"keysFile": "projects/element-ng/translate/si-translatable-keys.interface.ts",
|
|
41
|
+
"keysInterfaceName": "SiTranslatableKeys",
|
|
42
|
+
"messagesFile": "dist/@siemens/element-ng/template-i18n.json"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
- `files` is a glob pattern for defining the files to scan
|
|
49
|
+
- `configs` is an array of configs. For mono-repos building multiple libraries, they can be
|
|
50
|
+
separated into different configs. All keys are required:
|
|
51
|
+
|
|
52
|
+
- `name` is a unique name
|
|
53
|
+
- `locationsPrefix` defines the path prefix of the source files, important to distinguish
|
|
54
|
+
between different libraries in a mono-repo
|
|
55
|
+
- `keysFile` defines the path of the generated TypeScript interfaces file
|
|
56
|
+
- `keysInterfaceName` defines the name of the TypeScript `interface`
|
|
57
|
+
- `messagesFile` defines the path of the generated messages JSON file
|
|
58
|
+
|
|
59
|
+
## Testing
|
|
60
|
+
|
|
61
|
+
Run `yarn translate:test` to perform the unit tests via [Karma](https://karma-runner.github.io).
|
|
62
|
+
You can set a seed for running the tests in a specific using an environment variable: `SEED=71384 yarn translate:test`
|
|
63
|
+
|
|
64
|
+
## License
|
|
65
|
+
|
|
66
|
+
Code and documentation copyright 2024 Siemens AG.
|
|
67
|
+
|
|
68
|
+
See [LICENSE.md](../../LICENSE.md).
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SiTranslateService, SiTranslateServiceBuilder } from '@siemens/element-translate-ng/translate';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Similar to the no-translate builder, but this one is not initializing the Element version of $localize,
|
|
5
|
+
* as it will be provided by angular.
|
|
6
|
+
*/
|
|
7
|
+
export declare class SiTranslateNgLocalizeServiceBuilder extends SiTranslateServiceBuilder {
|
|
8
|
+
private siTranslateNgService;
|
|
9
|
+
buildService(): SiTranslateService;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiTranslateNgLocalizeServiceBuilder, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SiTranslateNgLocalizeServiceBuilder>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@siemens/element-translate-ng/translate";
|
|
3
|
+
/**
|
|
4
|
+
* This module configures Element to work with \@angular/localize.
|
|
5
|
+
* It should only be imported once in an application's root module (typically `app.module.ts`)
|
|
6
|
+
*/
|
|
7
|
+
export declare class SiTranslateNgLocalizeModule {
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiTranslateNgLocalizeModule, never>;
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SiTranslateNgLocalizeModule, never, [typeof i1.SiTranslateModule], never>;
|
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<SiTranslateNgLocalizeModule>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Siemens 2016 - 2025.
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import { EnvironmentProviders, Provider } from '@angular/core';
|
|
6
|
+
/**
|
|
7
|
+
* This provider configures Element to work with \@angular/localize.
|
|
8
|
+
* It should only be imported once in an application's configuration (typically `app.config.ts`)
|
|
9
|
+
*/
|
|
10
|
+
export declare const provideNgLocalizeForElement: () => (EnvironmentProviders | Provider)[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SiNoTranslateService } from '@siemens/element-translate-ng/translate';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SiTranslateNgLocalizeService extends SiNoTranslateService {
|
|
4
|
+
prevent$LocalizeInit: boolean;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiTranslateNgLocalizeService, never>;
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SiTranslateNgLocalizeService>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/* eslint-disable prefer-arrow/prefer-arrow-functions */
|
|
4
|
+
import { spawn } from 'child_process';
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import { dirname } from 'path';
|
|
7
|
+
|
|
8
|
+
import { XMLParser } from 'fast-xml-parser';
|
|
9
|
+
|
|
10
|
+
const configFile = process.argv[2] || './element-translate.conf.json';
|
|
11
|
+
const toolConfig = JSON.parse(fs.readFileSync(configFile));
|
|
12
|
+
|
|
13
|
+
console.log('Running localize-extract');
|
|
14
|
+
const args = ['-s', toolConfig.files, '-f', 'xlf2', '-o', 'messages.xlf'];
|
|
15
|
+
const extract = spawn('localize-extract', args, {
|
|
16
|
+
stdio: ['ignore', 'ignore', 'inherit'],
|
|
17
|
+
shell: true
|
|
18
|
+
});
|
|
19
|
+
extract.on('error', error => console.log(`error: ${error.message}`));
|
|
20
|
+
|
|
21
|
+
extract.on('close', () => {
|
|
22
|
+
processMessages();
|
|
23
|
+
generateFiles();
|
|
24
|
+
fs.rmSync('messages.xlf');
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
function prepareConfigs() {
|
|
28
|
+
for (const config of toolConfig.configs) {
|
|
29
|
+
config.keys = new Set();
|
|
30
|
+
config.translations = {};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function getConfigs(notes) {
|
|
35
|
+
if (!Array.isArray(notes)) {
|
|
36
|
+
notes = [notes];
|
|
37
|
+
}
|
|
38
|
+
const configs = [];
|
|
39
|
+
for (const note of notes) {
|
|
40
|
+
if (note['@_category'] !== 'location') {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const location = note['#text'];
|
|
44
|
+
|
|
45
|
+
for (const config of toolConfig.configs) {
|
|
46
|
+
if (location?.startsWith(config.locationPrefix)) {
|
|
47
|
+
configs.push(config);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return configs;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function processMessages() {
|
|
55
|
+
console.log('Completed running localize-extract');
|
|
56
|
+
console.log('Generating translation keys');
|
|
57
|
+
|
|
58
|
+
const parser = new XMLParser({ ignoreAttributes: false });
|
|
59
|
+
const messages = parser.parse(fs.readFileSync('./messages.xlf').toString('utf-8'));
|
|
60
|
+
|
|
61
|
+
prepareConfigs();
|
|
62
|
+
|
|
63
|
+
for (const unit of messages.xliff.file.unit) {
|
|
64
|
+
const key = unit['@_id'];
|
|
65
|
+
const value = unit.segment.source.toString(); // can be number
|
|
66
|
+
|
|
67
|
+
// ignore some bogus output
|
|
68
|
+
if (key.match(/^\d+$/)) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const configs = getConfigs(unit.notes.note);
|
|
73
|
+
for (const config of configs) {
|
|
74
|
+
config.keys.add(key);
|
|
75
|
+
config.translations[key] = value;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function generateFiles() {
|
|
81
|
+
for (const config of toolConfig.configs) {
|
|
82
|
+
// only update if there are keys found, i.e. don't overwrite when not all libs are build
|
|
83
|
+
if (!config.keys.size) {
|
|
84
|
+
console.log(`Skipping ${config.name} since no keys found`);
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const keys = Array.from(config.keys);
|
|
89
|
+
keys.sort();
|
|
90
|
+
|
|
91
|
+
// for objects, keys are iterated in order they're added, so...
|
|
92
|
+
const tmp = config.translations;
|
|
93
|
+
config.translations = {};
|
|
94
|
+
for (const key of keys) {
|
|
95
|
+
config.translations[key] = tmp[key];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const interfaceLine = keys.map(key => ` '${key}'?: string;`);
|
|
99
|
+
const interfaceFull = `/* eslint-disable */
|
|
100
|
+
|
|
101
|
+
// Auto-generated file. Run 'yarn update-translatable-keys' to update.
|
|
102
|
+
|
|
103
|
+
export interface ${config.keysInterfaceName} {
|
|
104
|
+
${interfaceLine.join('\n')}
|
|
105
|
+
}
|
|
106
|
+
`;
|
|
107
|
+
|
|
108
|
+
fs.mkdirSync(dirname(config.keysFile), { recursive: true });
|
|
109
|
+
fs.writeFileSync(config.keysFile, interfaceFull);
|
|
110
|
+
|
|
111
|
+
fs.mkdirSync(dirname(config.messagesFile), { recursive: true });
|
|
112
|
+
fs.writeFileSync(config.messagesFile, JSON.stringify(config.translations, null, 2));
|
|
113
|
+
|
|
114
|
+
console.log(`Completed generating code for ${config.name}:`);
|
|
115
|
+
console.log(` - ${config.keysFile}`);
|
|
116
|
+
console.log(` - ${config.messagesFile}`);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
console.log('Completed generating translation keys');
|
|
120
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, inject, NgModule, importProvidersFrom } from '@angular/core';
|
|
3
|
+
import { SiNoTranslateService, SiTranslateServiceBuilder, SiTranslateModule } from '@siemens/element-translate-ng/translate';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Copyright Siemens 2016 - 2025.
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
*/
|
|
9
|
+
class SiTranslateNgLocalizeService extends SiNoTranslateService {
|
|
10
|
+
prevent$LocalizeInit = true;
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
12
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeService, providedIn: 'root' });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeService, decorators: [{
|
|
15
|
+
type: Injectable,
|
|
16
|
+
args: [{ providedIn: 'root' }]
|
|
17
|
+
}] });
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Copyright Siemens 2016 - 2025.
|
|
21
|
+
* SPDX-License-Identifier: MIT
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Similar to the no-translate builder, but this one is not initializing the Element version of $localize,
|
|
25
|
+
* as it will be provided by angular.
|
|
26
|
+
*/
|
|
27
|
+
class SiTranslateNgLocalizeServiceBuilder extends SiTranslateServiceBuilder {
|
|
28
|
+
siTranslateNgService = inject(SiTranslateNgLocalizeService);
|
|
29
|
+
buildService() {
|
|
30
|
+
return this.siTranslateNgService;
|
|
31
|
+
}
|
|
32
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeServiceBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeServiceBuilder });
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeServiceBuilder, decorators: [{
|
|
36
|
+
type: Injectable
|
|
37
|
+
}] });
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Copyright Siemens 2016 - 2025.
|
|
41
|
+
* SPDX-License-Identifier: MIT
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* This module configures Element to work with \@angular/localize.
|
|
45
|
+
* It should only be imported once in an application's root module (typically `app.module.ts`)
|
|
46
|
+
*/
|
|
47
|
+
class SiTranslateNgLocalizeModule {
|
|
48
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
49
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeModule, imports: [SiTranslateModule] });
|
|
50
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeModule, providers: [
|
|
51
|
+
{ provide: SiTranslateServiceBuilder, useClass: SiTranslateNgLocalizeServiceBuilder }
|
|
52
|
+
], imports: [SiTranslateModule] });
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgLocalizeModule, decorators: [{
|
|
55
|
+
type: NgModule,
|
|
56
|
+
args: [{
|
|
57
|
+
providers: [
|
|
58
|
+
{ provide: SiTranslateServiceBuilder, useClass: SiTranslateNgLocalizeServiceBuilder }
|
|
59
|
+
],
|
|
60
|
+
imports: [SiTranslateModule]
|
|
61
|
+
}]
|
|
62
|
+
}] });
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Copyright Siemens 2016 - 2025.
|
|
66
|
+
* SPDX-License-Identifier: MIT
|
|
67
|
+
*/
|
|
68
|
+
/**
|
|
69
|
+
* This provider configures Element to work with \@angular/localize.
|
|
70
|
+
* It should only be imported once in an application's configuration (typically `app.config.ts`)
|
|
71
|
+
*/
|
|
72
|
+
const provideNgLocalizeForElement = () => {
|
|
73
|
+
return [
|
|
74
|
+
{ provide: SiTranslateServiceBuilder, useClass: SiTranslateNgLocalizeServiceBuilder },
|
|
75
|
+
importProvidersFrom(SiTranslateModule)
|
|
76
|
+
];
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Copyright Siemens 2016 - 2025.
|
|
81
|
+
* SPDX-License-Identifier: MIT
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Generated bundle index. Do not edit.
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
export { SiTranslateNgLocalizeModule, provideNgLocalizeForElement };
|
|
89
|
+
//# sourceMappingURL=siemens-element-translate-ng-angular-localize.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siemens-element-translate-ng-angular-localize.mjs","sources":["../../../../projects/element-translate-ng/angular-localize/si-translate-ng-localize.service.ts","../../../../projects/element-translate-ng/angular-localize/si-translate-ng-localize-service-builder.service.ts","../../../../projects/element-translate-ng/angular-localize/si-translate-ng-localize.module.ts","../../../../projects/element-translate-ng/angular-localize/si-translate-ng-localize.provider.ts","../../../../projects/element-translate-ng/angular-localize/index.ts","../../../../projects/element-translate-ng/angular-localize/siemens-element-translate-ng-angular-localize.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable } from '@angular/core';\nimport { SiNoTranslateService } from '@siemens/element-translate-ng/translate';\n\n@Injectable({ providedIn: 'root' })\nexport class SiTranslateNgLocalizeService extends SiNoTranslateService {\n override prevent$LocalizeInit = true;\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable } from '@angular/core';\nimport {\n SiTranslateService,\n SiTranslateServiceBuilder\n} from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslateNgLocalizeService } from './si-translate-ng-localize.service';\n\n/**\n * Similar to the no-translate builder, but this one is not initializing the Element version of $localize,\n * as it will be provided by angular.\n */\n@Injectable()\nexport class SiTranslateNgLocalizeServiceBuilder extends SiTranslateServiceBuilder {\n private siTranslateNgService = inject(SiTranslateNgLocalizeService);\n\n override buildService(): SiTranslateService {\n return this.siTranslateNgService;\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\nimport {\n SiTranslateModule,\n SiTranslateServiceBuilder\n} from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslateNgLocalizeServiceBuilder } from './si-translate-ng-localize-service-builder.service';\n\n/**\n * This module configures Element to work with \\@angular/localize.\n * It should only be imported once in an application's root module (typically `app.module.ts`)\n */\n@NgModule({\n providers: [\n { provide: SiTranslateServiceBuilder, useClass: SiTranslateNgLocalizeServiceBuilder }\n ],\n imports: [SiTranslateModule]\n})\nexport class SiTranslateNgLocalizeModule {}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { EnvironmentProviders, importProvidersFrom, Provider } from '@angular/core';\nimport {\n SiTranslateModule,\n SiTranslateServiceBuilder\n} from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslateNgLocalizeServiceBuilder } from './si-translate-ng-localize-service-builder.service';\n\n/**\n * This provider configures Element to work with \\@angular/localize.\n * It should only be imported once in an application's configuration (typically `app.config.ts`)\n */\nexport const provideNgLocalizeForElement = (): (EnvironmentProviders | Provider)[] => {\n return [\n { provide: SiTranslateServiceBuilder, useClass: SiTranslateNgLocalizeServiceBuilder },\n importProvidersFrom(SiTranslateModule)\n ];\n};\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-translate-ng-localize.module';\nexport * from './si-translate-ng-localize.provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;AAGG;AAKG,MAAO,4BAA6B,SAAQ,oBAAoB,CAAA;IAC3D,oBAAoB,GAAG,IAAI;uGADzB,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA5B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cADf,MAAM,EAAA,CAAA;;2FACnB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACPlC;;;AAGG;AASH;;;AAGG;AAEG,MAAO,mCAAoC,SAAQ,yBAAyB,CAAA;AACxE,IAAA,oBAAoB,GAAG,MAAM,CAAC,4BAA4B,CAAC;IAE1D,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,oBAAoB;;uGAJvB,mCAAmC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAnC,mCAAmC,EAAA,CAAA;;2FAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAD/C;;;AChBD;;;AAGG;AASH;;;AAGG;MAOU,2BAA2B,CAAA;uGAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YAF5B,iBAAiB,CAAA,EAAA,CAAA;AAEhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EAL3B,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,mCAAmC;AACpF,SAAA,EAAA,OAAA,EAAA,CACS,iBAAiB,CAAA,EAAA,CAAA;;2FAEhB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,mCAAmC;AACpF,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB;AAC5B,iBAAA;;;ACrBD;;;AAGG;AASH;;;AAGG;AACI,MAAM,2BAA2B,GAAG,MAA0C;IACnF,OAAO;AACL,QAAA,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,mCAAmC,EAAE;QACrF,mBAAmB,CAAC,iBAAiB;KACtC;AACH;;ACrBA;;;AAGG;;ACHH;;AAEG;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siemens-element-translate-ng-localize-types.mjs","sources":["../../../../projects/element-translate-ng/localize-types/siemens-element-translate-ng-localize-types.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;AAEG"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, NgModule, importProvidersFrom } from '@angular/core';
|
|
3
|
+
import { SiTranslateService, SiTranslateServiceBuilder, SiTranslateModule } from '@siemens/element-translate-ng/translate';
|
|
4
|
+
import * as i1 from '@ngx-translate/core';
|
|
5
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
6
|
+
import { merge, of } from 'rxjs';
|
|
7
|
+
import { map } from 'rxjs/operators';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Copyright Siemens 2016 - 2025.
|
|
11
|
+
* SPDX-License-Identifier: MIT
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* {@link SiTranslateService} wrapper around ngx-translate
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
class SiTranslateNgxTService extends SiTranslateService {
|
|
19
|
+
ngxTranslateService;
|
|
20
|
+
defaultTranslations = {};
|
|
21
|
+
originalMissingHandler;
|
|
22
|
+
constructor(ngxTranslateService) {
|
|
23
|
+
super();
|
|
24
|
+
this.ngxTranslateService = ngxTranslateService;
|
|
25
|
+
this.originalMissingHandler = ngxTranslateService.missingTranslationHandler;
|
|
26
|
+
ngxTranslateService.missingTranslationHandler = {
|
|
27
|
+
handle: params => this.handleMissingTranslation(params)
|
|
28
|
+
};
|
|
29
|
+
this.translationChange$ = merge(this.ngxTranslateService.onTranslationChange, this.ngxTranslateService.onLangChange).pipe(map(() => { }));
|
|
30
|
+
}
|
|
31
|
+
get currentLanguage() {
|
|
32
|
+
return this.ngxTranslateService.currentLang;
|
|
33
|
+
}
|
|
34
|
+
get availableLanguages() {
|
|
35
|
+
return this.ngxTranslateService.getLangs();
|
|
36
|
+
}
|
|
37
|
+
set availableLanguages(languages) {
|
|
38
|
+
this.ngxTranslateService.addLangs(languages);
|
|
39
|
+
}
|
|
40
|
+
setCurrentLanguage(lang) {
|
|
41
|
+
this.setDocumentLanguage(lang);
|
|
42
|
+
return this.ngxTranslateService.use(lang).pipe(map(() => { }));
|
|
43
|
+
}
|
|
44
|
+
getDefaultLanguage() {
|
|
45
|
+
return this.ngxTranslateService.getDefaultLang();
|
|
46
|
+
}
|
|
47
|
+
setDefaultLanguage(lang) {
|
|
48
|
+
this.setDocumentLanguage(lang);
|
|
49
|
+
this.ngxTranslateService.setDefaultLang(lang);
|
|
50
|
+
}
|
|
51
|
+
translate(keys, params) {
|
|
52
|
+
if (Array.isArray(keys) && !keys.length) {
|
|
53
|
+
return of({});
|
|
54
|
+
}
|
|
55
|
+
return this.ngxTranslateService.stream(keys, params);
|
|
56
|
+
}
|
|
57
|
+
translateAsync(keys, params) {
|
|
58
|
+
if (Array.isArray(keys) && !keys.length) {
|
|
59
|
+
return of({});
|
|
60
|
+
}
|
|
61
|
+
return this.ngxTranslateService.stream(keys, params);
|
|
62
|
+
}
|
|
63
|
+
translateSync(keys, params) {
|
|
64
|
+
if (Array.isArray(keys) && !keys.length) {
|
|
65
|
+
return {};
|
|
66
|
+
}
|
|
67
|
+
return this.ngxTranslateService.instant(keys, params);
|
|
68
|
+
}
|
|
69
|
+
setTranslation(key, value) {
|
|
70
|
+
this.defaultTranslations[key] = value;
|
|
71
|
+
}
|
|
72
|
+
handleMissingTranslation(params) {
|
|
73
|
+
return (params.translateService.parser.interpolate(this.defaultTranslations[params.key], params.interpolateParams) ?? this.originalMissingHandler.handle(params));
|
|
74
|
+
}
|
|
75
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
76
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTService });
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTService, decorators: [{
|
|
79
|
+
type: Injectable
|
|
80
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Copyright Siemens 2016 - 2025.
|
|
84
|
+
* SPDX-License-Identifier: MIT
|
|
85
|
+
*/
|
|
86
|
+
/**
|
|
87
|
+
* Builds {@link SiTranslateNgxTService} for each {@link TranslateService}.
|
|
88
|
+
* The builder will create a new Service if a new {@link TranslateService} is found to support the isolated mode.
|
|
89
|
+
*
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
class SiTranslateNgxTServiceBuilder extends SiTranslateServiceBuilder {
|
|
93
|
+
serviceCache = new Map();
|
|
94
|
+
buildService(injector) {
|
|
95
|
+
// Get instance of NGX Translate via injector instance of the current scope (see isolated mode)
|
|
96
|
+
const ngxTranslateService = injector.get(TranslateService);
|
|
97
|
+
let ngxTServiceWrapper = this.serviceCache.get(ngxTranslateService);
|
|
98
|
+
if (!ngxTServiceWrapper) {
|
|
99
|
+
ngxTServiceWrapper = new SiTranslateNgxTService(ngxTranslateService);
|
|
100
|
+
this.serviceCache.set(ngxTranslateService, ngxTServiceWrapper);
|
|
101
|
+
}
|
|
102
|
+
return ngxTServiceWrapper;
|
|
103
|
+
}
|
|
104
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTServiceBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
105
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTServiceBuilder });
|
|
106
|
+
}
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTServiceBuilder, decorators: [{
|
|
108
|
+
type: Injectable
|
|
109
|
+
}] });
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Copyright Siemens 2016 - 2025.
|
|
113
|
+
* SPDX-License-Identifier: MIT
|
|
114
|
+
*/
|
|
115
|
+
/**
|
|
116
|
+
* This module configures Element to use ngx-translate for translating {@link TranslatableString}
|
|
117
|
+
* It should only be imported once in an applications root module (typically `app.module.ts`)
|
|
118
|
+
*/
|
|
119
|
+
class SiTranslateNgxTModule {
|
|
120
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
121
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTModule, imports: [SiTranslateModule] });
|
|
122
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTModule, providers: [{ provide: SiTranslateServiceBuilder, useClass: SiTranslateNgxTServiceBuilder }], imports: [SiTranslateModule] });
|
|
123
|
+
}
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiTranslateNgxTModule, decorators: [{
|
|
125
|
+
type: NgModule,
|
|
126
|
+
args: [{
|
|
127
|
+
providers: [{ provide: SiTranslateServiceBuilder, useClass: SiTranslateNgxTServiceBuilder }],
|
|
128
|
+
imports: [SiTranslateModule]
|
|
129
|
+
}]
|
|
130
|
+
}] });
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Copyright Siemens 2016 - 2025.
|
|
134
|
+
* SPDX-License-Identifier: MIT
|
|
135
|
+
*/
|
|
136
|
+
/**
|
|
137
|
+
* This provider configures Element to use ngx-translate for translating {@link TranslatableString}
|
|
138
|
+
* It should only be imported once in an application's configuration (typically `app.config.ts`)
|
|
139
|
+
*/
|
|
140
|
+
const provideNgxTranslateForElement = () => {
|
|
141
|
+
return [
|
|
142
|
+
{ provide: SiTranslateServiceBuilder, useClass: SiTranslateNgxTServiceBuilder },
|
|
143
|
+
importProvidersFrom(SiTranslateModule)
|
|
144
|
+
];
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Copyright Siemens 2016 - 2025.
|
|
149
|
+
* SPDX-License-Identifier: MIT
|
|
150
|
+
*/
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Generated bundle index. Do not edit.
|
|
154
|
+
*/
|
|
155
|
+
|
|
156
|
+
export { SiTranslateNgxTModule, provideNgxTranslateForElement };
|
|
157
|
+
//# sourceMappingURL=siemens-element-translate-ng-ngx-translate.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siemens-element-translate-ng-ngx-translate.mjs","sources":["../../../../projects/element-translate-ng/ngx-translate/si-translate-ngxt.service.ts","../../../../projects/element-translate-ng/ngx-translate/si-translate-ngxt.service-builder.ts","../../../../projects/element-translate-ng/ngx-translate/si-translate-ngxt.module.ts","../../../../projects/element-translate-ng/ngx-translate/si-translate-ngxt.provider.ts","../../../../projects/element-translate-ng/ngx-translate/index.ts","../../../../projects/element-translate-ng/ngx-translate/siemens-element-translate-ng-ngx-translate.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable } from '@angular/core';\nimport {\n MissingTranslationHandler,\n MissingTranslationHandlerParams,\n TranslateService\n} from '@ngx-translate/core';\nimport { SiTranslateService, TranslationResult } from '@siemens/element-translate-ng/translate';\nimport { merge, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * {@link SiTranslateService} wrapper around ngx-translate\n *\n * @internal\n */\n@Injectable()\nexport class SiTranslateNgxTService extends SiTranslateService {\n private ngxTranslateService: TranslateService;\n private defaultTranslations: Record<string, string> = {};\n private originalMissingHandler: MissingTranslationHandler;\n\n constructor(ngxTranslateService: TranslateService) {\n super();\n this.ngxTranslateService = ngxTranslateService;\n this.originalMissingHandler = ngxTranslateService.missingTranslationHandler;\n ngxTranslateService.missingTranslationHandler = {\n handle: params => this.handleMissingTranslation(params)\n };\n\n this.translationChange$ = merge(\n this.ngxTranslateService.onTranslationChange,\n this.ngxTranslateService.onLangChange\n ).pipe(map(() => {}));\n }\n\n override get currentLanguage(): string {\n return this.ngxTranslateService.currentLang;\n }\n\n override get availableLanguages(): string[] {\n return this.ngxTranslateService.getLangs();\n }\n\n override set availableLanguages(languages: string[]) {\n this.ngxTranslateService.addLangs(languages);\n }\n\n override setCurrentLanguage(lang: string): Observable<void> {\n this.setDocumentLanguage(lang);\n return this.ngxTranslateService.use(lang).pipe(map(() => {}));\n }\n\n override getDefaultLanguage(): string {\n return this.ngxTranslateService.getDefaultLang();\n }\n\n override setDefaultLanguage(lang: string): void {\n this.setDocumentLanguage(lang);\n this.ngxTranslateService.setDefaultLang(lang);\n }\n\n override translate<T extends string | string[]>(\n keys: T,\n params?: Record<string, unknown>\n ): Observable<TranslationResult<T>> | TranslationResult<T> {\n if (Array.isArray(keys) && !keys.length) {\n return of({} as TranslationResult<T>);\n }\n return this.ngxTranslateService.stream(keys, params);\n }\n\n override translateAsync<T extends string | string[]>(\n keys: T,\n params?: Record<string, unknown>\n ): Observable<TranslationResult<T>> {\n if (Array.isArray(keys) && !keys.length) {\n return of({} as TranslationResult<T>);\n }\n return this.ngxTranslateService.stream(keys, params);\n }\n\n override translateSync<T extends string | string[]>(\n keys: T,\n params?: Record<string, unknown>\n ): TranslationResult<T> {\n if (Array.isArray(keys) && !keys.length) {\n return {} as TranslationResult<T>;\n }\n return this.ngxTranslateService.instant(keys, params);\n }\n\n override setTranslation(key: string, value: string): void {\n this.defaultTranslations[key] = value;\n }\n\n private handleMissingTranslation(params: MissingTranslationHandlerParams): string {\n return (\n params.translateService.parser.interpolate(\n this.defaultTranslations[params.key],\n params.interpolateParams\n ) ?? this.originalMissingHandler.handle(params)\n );\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, Injector } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n SiTranslateService,\n SiTranslateServiceBuilder\n} from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslateNgxTService } from './si-translate-ngxt.service';\n\n/**\n * Builds {@link SiTranslateNgxTService} for each {@link TranslateService}.\n * The builder will create a new Service if a new {@link TranslateService} is found to support the isolated mode.\n *\n * @internal\n */\n@Injectable()\nexport class SiTranslateNgxTServiceBuilder extends SiTranslateServiceBuilder {\n private serviceCache = new Map<TranslateService, SiTranslateNgxTService>();\n\n buildService(injector: Injector): SiTranslateService {\n // Get instance of NGX Translate via injector instance of the current scope (see isolated mode)\n const ngxTranslateService = injector.get(TranslateService);\n\n let ngxTServiceWrapper = this.serviceCache.get(ngxTranslateService);\n if (!ngxTServiceWrapper) {\n ngxTServiceWrapper = new SiTranslateNgxTService(ngxTranslateService);\n this.serviceCache.set(ngxTranslateService, ngxTServiceWrapper);\n }\n\n return ngxTServiceWrapper;\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\nimport {\n SiTranslateModule,\n SiTranslateServiceBuilder\n} from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslateNgxTServiceBuilder } from './si-translate-ngxt.service-builder';\n\n/**\n * This module configures Element to use ngx-translate for translating {@link TranslatableString}\n * It should only be imported once in an applications root module (typically `app.module.ts`)\n */\n@NgModule({\n providers: [{ provide: SiTranslateServiceBuilder, useClass: SiTranslateNgxTServiceBuilder }],\n imports: [SiTranslateModule]\n})\nexport class SiTranslateNgxTModule {}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { EnvironmentProviders, importProvidersFrom, Provider } from '@angular/core';\nimport {\n SiTranslateModule,\n SiTranslateServiceBuilder\n} from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslateNgxTServiceBuilder } from './si-translate-ngxt.service-builder';\n\n/**\n * This provider configures Element to use ngx-translate for translating {@link TranslatableString}\n * It should only be imported once in an application's configuration (typically `app.config.ts`)\n */\nexport const provideNgxTranslateForElement = (): (EnvironmentProviders | Provider)[] => {\n return [\n { provide: SiTranslateServiceBuilder, useClass: SiTranslateNgxTServiceBuilder },\n importProvidersFrom(SiTranslateModule)\n ];\n};\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-translate-ngxt.module';\nexport * from './si-translate-ngxt.provider';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"siemens-element-translate-ng-translate-types.mjs","sources":["../../../../projects/element-translate-ng/translate-types/index.ts","../../../../projects/element-translate-ng/translate-types/siemens-element-translate-ng-translate-types.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './global.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;AAGG;;ACHH;;AAEG"}
|