@tilde-nlp/ngx-common 6.0.36 → 6.0.37
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/esm2022/lib/terminology/services/system-api-v2/models/tilde-vendor.const.mjs +2 -0
- package/esm2022/lib/terminology/services/system-api-v2/system-api.service.mjs +28 -8
- package/fesm2022/tilde-nlp-ngx-common.mjs +28 -7
- package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
- package/lib/terminology/services/system-api-v2/models/tilde-vendor.const.d.ts +1 -0
- package/lib/terminology/services/system-api-v2/system-api.service.d.ts +1 -0
- package/package.json +1 -1
- package/web-components/main.js +12 -12
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const TILDE_VENDOR = 'Tilde';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZGUtdmVuZG9yLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L3NlcnZpY2VzL3N5c3RlbS1hcGktdjIvbW9kZWxzL3RpbGRlLXZlbmRvci5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRJTERFX1ZFTkRPUiA9ICdUaWxkZSc7XHJcbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { Injectable } from "@angular/core";
|
|
|
2
2
|
import { map } from "rxjs";
|
|
3
3
|
import { AuthHeadersHelper } from "../../../helpers";
|
|
4
4
|
import { EngineStatus, EngineSubStatus } from "./models";
|
|
5
|
+
import { TILDE_VENDOR } from "./models/tilde-vendor.const";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@angular/common/http";
|
|
7
8
|
import * as i2 from "../../config/services";
|
|
@@ -20,32 +21,36 @@ export class SystemApiService {
|
|
|
20
21
|
if (!showDisabledEngines) {
|
|
21
22
|
unavailableStatuses.push(EngineStatus.OFF);
|
|
22
23
|
}
|
|
24
|
+
const engineMap = {};
|
|
23
25
|
engineList.engines.forEach((engine) => {
|
|
24
26
|
if (unavailableStatuses.includes(engine.status) || unavailableSubStatuses.includes(engine.subStatus)) {
|
|
25
27
|
return;
|
|
26
28
|
}
|
|
27
29
|
if (engine.domains && Object.keys(engine.domains).length) {
|
|
28
|
-
convertedEngines.push(...this.generateSystemsFromDomains(engine));
|
|
30
|
+
convertedEngines.push(...this.generateSystemsFromDomains(engine, convertedEngines, engineMap));
|
|
29
31
|
}
|
|
30
32
|
else {
|
|
31
|
-
convertedEngines.push(...this.generateSystemsFromLanguages(engine));
|
|
33
|
+
convertedEngines.push(...this.generateSystemsFromLanguages(engine, convertedEngines, engineMap));
|
|
32
34
|
}
|
|
33
35
|
});
|
|
34
36
|
return convertedEngines;
|
|
35
37
|
}));
|
|
36
38
|
}
|
|
37
|
-
generateSystemsFromLanguages(engine) {
|
|
39
|
+
generateSystemsFromLanguages(engine, convertedEngines, engineMap) {
|
|
38
40
|
const systems = [];
|
|
39
41
|
engine.sourceLanguages.forEach((sourceLanguage) => {
|
|
40
42
|
engine.targetLanguages.forEach((targetLanguage) => {
|
|
41
43
|
if (sourceLanguage !== targetLanguage) {
|
|
42
|
-
|
|
44
|
+
const newSystem = this.createSystemObject(engine.id, sourceLanguage, targetLanguage, engine.domain, engine.vendor, engine.supportsTermCollections);
|
|
45
|
+
if (this.isLanguageDirectionAdded(newSystem, convertedEngines, engineMap, engine.vendor)) {
|
|
46
|
+
systems.push(newSystem);
|
|
47
|
+
}
|
|
43
48
|
}
|
|
44
49
|
});
|
|
45
50
|
});
|
|
46
51
|
return systems;
|
|
47
52
|
}
|
|
48
|
-
generateSystemsFromDomains(engine) {
|
|
53
|
+
generateSystemsFromDomains(engine, convertedEngines, engineMap) {
|
|
49
54
|
const domains = engine.domains;
|
|
50
55
|
const systems = [];
|
|
51
56
|
for (const domainKey in domains) {
|
|
@@ -56,19 +61,34 @@ export class SystemApiService {
|
|
|
56
61
|
const targetLanguages = languages[sourceLanguage];
|
|
57
62
|
// Loop through each key within the language
|
|
58
63
|
targetLanguages.forEach((targetLanguage) => {
|
|
64
|
+
const newSystem = this.createSystemObject(engine.id, sourceLanguage, targetLanguage, domainKey, engine.vendor, engine.supportsTermCollections);
|
|
59
65
|
if (sourceLanguage !== targetLanguage) {
|
|
60
|
-
|
|
66
|
+
if (this.isLanguageDirectionAdded(newSystem, convertedEngines, engineMap, engine.vendor)) {
|
|
67
|
+
systems.push(newSystem);
|
|
68
|
+
}
|
|
61
69
|
}
|
|
62
70
|
});
|
|
63
71
|
}
|
|
64
72
|
}
|
|
65
73
|
return systems;
|
|
66
74
|
}
|
|
75
|
+
isLanguageDirectionAdded(newSystem, convertedEngines, engineMap, vendor) {
|
|
76
|
+
const languageDirectionKey = `${newSystem.sourceLanguage}${newSystem.targetLanguage}${newSystem.domain}`;
|
|
77
|
+
if (engineMap[languageDirectionKey]) {
|
|
78
|
+
if (vendor === TILDE_VENDOR) {
|
|
79
|
+
const existingSystemIx = convertedEngines.findIndex((e) => e.sourceLanguage === newSystem.sourceLanguage && e.targetLanguage === newSystem.targetLanguage && e.domain === newSystem.domain);
|
|
80
|
+
convertedEngines[existingSystemIx] = newSystem;
|
|
81
|
+
}
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
engineMap[languageDirectionKey] = true;
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
67
87
|
createSystemObject(id, sourceLanguage, targetLanguage, domain, vendor, includesTerminology) {
|
|
68
88
|
const systemBase = {
|
|
69
89
|
sourceLanguage,
|
|
70
90
|
targetLanguage,
|
|
71
|
-
domain,
|
|
91
|
+
domain: domain.toLowerCase(),
|
|
72
92
|
languageId: `${sourceLanguage}-${targetLanguage}-${domain}-${vendor}-${id}`,
|
|
73
93
|
id,
|
|
74
94
|
vendor,
|
|
@@ -85,4 +105,4 @@ export class SystemApiService {
|
|
|
85
105
|
providedIn: "root",
|
|
86
106
|
}]
|
|
87
107
|
}], () => [{ type: i1.HttpClient }, { type: i2.TerminologyConfigService }], null); })();
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L3NlcnZpY2VzL3N5c3RlbS1hcGktdjIvc3lzdGVtLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRCxPQUFPLEVBQVUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQU1qRSxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQTZCLElBQWdCLEVBQW1CLE1BQWdDO1FBQW5FLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7SUFDaEcsQ0FBQztJQUNELGtJQUFrSTtJQUNsSSxhQUFhLENBQUMsbUJBQTZCO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsYUFBdUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNoRyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQixNQUFNLGdCQUFnQixHQUFhLEVBQUUsQ0FBQztZQUN0QyxNQUFNLG1CQUFtQixHQUFtQixDQUFDLFlBQVks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O1FBQ0gsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxFQUFVLEVBQUUsY0FBc0IsRUFBRSxjQUFzQixFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsbUJBQTRCO1FBQ2pKLE1BQU0sVUFBVSxHQUFXO1lBQ3pCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsTUFBTTtZQUNOLFVBQVUsRUFBRSxHQUFHLGNBQWMsSUFBSSxjQUFjLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxFQUFFLEVBQUU7WUFDM0UsRUFBRTtZQUNGLE1BQU07WUFDTixtQkFBbUI7U0FDcEIsQ0FBQztRQUVGLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7aUhBOUVVLGdCQUFnQjt1RUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNOztpRkFFUCxnQkFBZ0I7Y0FINUIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQXV0aEhlYWRlcnNIZWxwZXIgfSBmcm9tIFwiLi4vLi4vLi4vaGVscGVyc1wiO1xyXG5pbXBvcnQgeyBUZXJtaW5vbG9neUNvbmZpZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29uZmlnL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IFN5c3RlbSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc3lzdGVtLm1vZGVsXCI7XHJcbmltcG9ydCB7IEVuZ2luZSwgRW5naW5lU3RhdHVzLCBFbmdpbmVTdWJTdGF0dXMgfSBmcm9tIFwiLi9tb2RlbHNcIjtcclxuaW1wb3J0IHsgRW5naW5lTGlzdCB9IGZyb20gXCIuL21vZGVscy9lbmdpbmUtbGlzdC5tb2RlbFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3lzdGVtQXBpU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGVybWlub2xvZ3lDb25maWdTZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIC8vIE5vdGUgdGhhdCB0aGlzIGFwaSBjYWxsIGlzIGR1cGxpY2F0ZSBmcm9tIFdlYnNpdGUgZW5naW5lIHNlcnZpY2UuIE1pZ2h0IG5lZWQgc29tZSByZWZhY3RvcmluZyBhbmQgdXNpbmcgY29tbW9uIGVuZ2luZSBzZXJ2aWNlID9cclxuICBnZXRTeXN0ZW1MaXN0KHNob3dEaXNhYmxlZEVuZ2luZXM/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxTeXN0ZW1bXT4ge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IEF1dGhIZWFkZXJzSGVscGVyLmdldEFwaVYyQXV0aEhlYWRlcnModGhpcy5jb25maWcudGVybUNvbmZpZy54QXBpS2V5ID8/ICcnLCB0aGlzLmNvbmZpZy50ZXJtQ29uZmlnLmFwcElkID8/ICcnKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEVuZ2luZUxpc3Q+KHRoaXMuY29uZmlnLnRlcm1Db25maWcuc3lzdGVtTGlzdFVybCBhcyBzdHJpbmcsIHsgaGVhZGVycyB9KS5waXBlKFxyXG4gICAgICBtYXAoKGVuZ2luZUxpc3QpID0+IHtcclxuICAgICAgICBjb25zdCBjb252ZXJ0ZWRFbmdpbmVzOiBTeXN0ZW1bXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHVuYXZhaWxhYmxlU3RhdHVzZXM6IEVuZ2luZVN0YXR1c1tdID0gW0VuZ2luZVN0YXR1cy5JTVBPUlRJTkddO1xyXG4gICAgICAgIGNvbnN0IHVuYXZhaWxhYmxlU3ViU3RhdHVzZXM6IEVuZ2luZVN1YlN0YXR1c1tdID0gW0VuZ2luZVN1YlN0YXR1cy5FcnJvckltcG9ydGluZ0ZhaWxlZCwgRW5naW5lU3ViU3RhdHVzLkVycm9yRGVsZXRpbmdGYWlsZWRdO1xyXG5cclxuICAgICAgICBpZiAoIXNob3dEaXNhYmxlZEVuZ2luZXMpIHtcclxuICAgICAgICAgIHVuYXZhaWxhYmxlU3RhdHVzZXMucHVzaChFbmdpbmVTdGF0dXMuT0ZGKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGVuZ2luZUxpc3QuZW5naW5lcy5mb3JFYWNoKChlbmdpbmUpID0+IHtcclxuICAgICAgICAgIGlmICh1bmF2YWlsYWJsZVN0YXR1c2VzLmluY2x1ZGVzKGVuZ2luZS5zdGF0dXMpIHx8IHVuYXZhaWxhYmxlU3ViU3RhdHVzZXMuaW5jbHVkZXMoZW5naW5lLnN1YlN0YXR1cykpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChlbmdpbmUuZG9tYWlucyAmJiBPYmplY3Qua2V5cyhlbmdpbmUuZG9tYWlucykubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGNvbnZlcnRlZEVuZ2luZXMucHVzaCguLi50aGlzLmdlbmVyYXRlU3lzdGVtc0Zyb21Eb21haW5zKGVuZ2luZSkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29udmVydGVkRW5naW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVTeXN0ZW1zRnJvbUxhbmd1YWdlcyhlbmdpbmUpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBjb252ZXJ0ZWRFbmdpbmVzO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZVN5c3RlbXNGcm9tTGFuZ3VhZ2VzKGVuZ2luZTogRW5naW5lKTogU3lzdGVtW10ge1xyXG4gICAgY29uc3Qgc3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICAgIGVuZ2luZS5zb3VyY2VMYW5ndWFnZXMuZm9yRWFjaCgoc291cmNlTGFuZ3VhZ2UpID0+IHtcclxuICAgICAgZW5naW5lLnRhcmdldExhbmd1YWdlcy5mb3JFYWNoKCh0YXJnZXRMYW5ndWFnZSkgPT4ge1xyXG4gICAgICAgIGlmIChzb3VyY2VMYW5ndWFnZSAhPT0gdGFyZ2V0TGFuZ3VhZ2UpIHtcclxuICAgICAgICAgIHN5c3RlbXMucHVzaCh0aGlzLmNyZWF0ZVN5c3RlbU9iamVjdChlbmdpbmUuaWQsIHNvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZSwgZW5naW5lLmRvbWFpbiwgZW5naW5lLnZlbmRvciwgZW5naW5lLnN1cHBvcnRzVGVybUNvbGxlY3Rpb25zKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHN5c3RlbXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlU3lzdGVtc0Zyb21Eb21haW5zKGVuZ2luZTogRW5naW5lKTogU3lzdGVtW10ge1xyXG4gICAgY29uc3QgZG9tYWlucyA9IGVuZ2luZS5kb21haW5zO1xyXG4gICAgY29uc3Qgc3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGRvbWFpbktleSBpbiBkb21haW5zKSB7XHJcbiAgICAgIGNvbnN0IGRvbWFpbiA9IGRvbWFpbnNbZG9tYWluS2V5XTtcclxuXHJcbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGxhbmd1YWdlIHByb3BlcnR5XHJcbiAgICAgIGNvbnN0IGxhbmd1YWdlcyA9IGRvbWFpbi5sYW5ndWFnZXM7XHJcbiAgICAgIGZvciAoY29uc3Qgc291cmNlTGFuZ3VhZ2UgaW4gbGFuZ3VhZ2VzKSB7XHJcbiAgICAgICAgY29uc3QgdGFyZ2V0TGFuZ3VhZ2VzID0gbGFuZ3VhZ2VzW3NvdXJjZUxhbmd1YWdlXTtcclxuICAgICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBrZXkgd2l0aGluIHRoZSBsYW5ndWFnZVxyXG4gICAgICAgIHRhcmdldExhbmd1YWdlcy5mb3JFYWNoKCh0YXJnZXRMYW5ndWFnZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHNvdXJjZUxhbmd1YWdlICE9PSB0YXJnZXRMYW5ndWFnZSkge1xyXG4gICAgICAgICAgICBzeXN0ZW1zLnB1c2godGhpcy5jcmVhdGVTeXN0ZW1PYmplY3QoZW5naW5lLmlkLCBzb3VyY2VMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2UsIGRvbWFpbktleSwgZW5naW5lLnZlbmRvciwgZW5naW5lLnN1cHBvcnRzVGVybUNvbGxlY3Rpb25zKSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN5c3RlbXM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVN5c3RlbU9iamVjdChpZDogc3RyaW5nLCBzb3VyY2VMYW5ndWFnZTogc3RyaW5nLCB0YXJnZXRMYW5ndWFnZTogc3RyaW5nLCBkb21haW46IHN0cmluZywgdmVuZG9yOiBzdHJpbmcsIGluY2x1ZGVzVGVybWlub2xvZ3k6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHN5c3RlbUJhc2U6IFN5c3RlbSA9IHtcclxuICAgICAgc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgIHRhcmdldExhbmd1YWdlLFxyXG4gICAgICBkb21haW4sXHJcbiAgICAgIGxhbmd1YWdlSWQ6IGAke3NvdXJjZUxhbmd1YWdlfS0ke3RhcmdldExhbmd1YWdlfS0ke2RvbWFpbn0tJHt2ZW5kb3J9LSR7aWR9YCxcclxuICAgICAgaWQsXHJcbiAgICAgIHZlbmRvcixcclxuICAgICAgaW5jbHVkZXNUZXJtaW5vbG9neVxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gc3lzdGVtQmFzZTtcclxuICB9XHJcbn1cclxuIl19
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLWFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbW1vbi9zcmMvbGliL3Rlcm1pbm9sb2d5L3NlcnZpY2VzL3N5c3RlbS1hcGktdjIvc3lzdGVtLWFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRCxPQUFPLEVBQVUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFLM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUE2QixJQUFnQixFQUFtQixNQUFnQztRQUFuRSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQW1CLFdBQU0sR0FBTixNQUFNLENBQTBCO0lBQ2hHLENBQUM7SUFDRCxrSUFBa0k7SUFDbEksYUFBYSxDQUFDLG1CQUE2QjtRQUN6QyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQXVCLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDaEcsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakIsTUFBTSxnQkFBZ0IsR0FBYSxF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QUMsQ0FBQztnQkFDNUwsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDakQsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUV2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxFQUFVLEVBQUUsY0FBc0IsRUFBRSxjQUFzQixFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsbUJBQTRCO1FBQ2pKLE1BQU0sVUFBVSxHQUFXO1lBQ3pCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDNUIsVUFBVSxFQUFFLEdBQUcsY0FBYyxJQUFJLGNBQWMsSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBRTtZQUMzRSxFQUFFO1lBQ0YsTUFBTTtZQUNOLG1CQUFtQjtTQUNwQixDQUFDO1FBRUYsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztpSEF4R1UsZ0JBQWdCO3VFQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCLG1CQUZmLE1BQU07O2lGQUVQLGdCQUFnQjtjQUg1QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBBdXRoSGVhZGVyc0hlbHBlciB9IGZyb20gXCIuLi8uLi8uLi9oZWxwZXJzXCI7XHJcbmltcG9ydCB7IFRlcm1pbm9sb2d5Q29uZmlnU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb25maWcvc2VydmljZXNcIjtcclxuaW1wb3J0IHsgU3lzdGVtIH0gZnJvbSBcIi4uLy4uL21vZGVscy9zeXN0ZW0ubW9kZWxcIjtcclxuaW1wb3J0IHsgRW5naW5lLCBFbmdpbmVTdGF0dXMsIEVuZ2luZVN1YlN0YXR1cyB9IGZyb20gXCIuL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBFbmdpbmVMaXN0IH0gZnJvbSBcIi4vbW9kZWxzL2VuZ2luZS1saXN0Lm1vZGVsXCI7XHJcbmltcG9ydCB7IFRJTERFX1ZFTkRPUiB9IGZyb20gXCIuL21vZGVscy90aWxkZS12ZW5kb3IuY29uc3RcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFN5c3RlbUFwaVNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IFRlcm1pbm9sb2d5Q29uZmlnU2VydmljZSkge1xyXG4gIH1cclxuICAvLyBOb3RlIHRoYXQgdGhpcyBhcGkgY2FsbCBpcyBkdXBsaWNhdGUgZnJvbSBXZWJzaXRlIGVuZ2luZSBzZXJ2aWNlLiBNaWdodCBuZWVkIHNvbWUgcmVmYWN0b3JpbmcgYW5kIHVzaW5nIGNvbW1vbiBlbmdpbmUgc2VydmljZSA/XHJcbiAgZ2V0U3lzdGVtTGlzdChzaG93RGlzYWJsZWRFbmdpbmVzPzogYm9vbGVhbik6IE9ic2VydmFibGU8U3lzdGVtW10+IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBBdXRoSGVhZGVyc0hlbHBlci5nZXRBcGlWMkF1dGhIZWFkZXJzKHRoaXMuY29uZmlnLnRlcm1Db25maWcueEFwaUtleSA/PyAnJywgdGhpcy5jb25maWcudGVybUNvbmZpZy5hcHBJZCA/PyAnJyk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxFbmdpbmVMaXN0Pih0aGlzLmNvbmZpZy50ZXJtQ29uZmlnLnN5c3RlbUxpc3RVcmwgYXMgc3RyaW5nLCB7IGhlYWRlcnMgfSkucGlwZShcclxuICAgICAgbWFwKChlbmdpbmVMaXN0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udmVydGVkRW5naW5lczogU3lzdGVtW10gPSBbXTtcclxuICAgICAgICBjb25zdCB1bmF2YWlsYWJsZVN0YXR1c2VzOiBFbmdpbmVTdGF0dXNbXSA9IFtFbmdpbmVTdGF0dXMuSU1QT1JUSU5HXTtcclxuICAgICAgICBjb25zdCB1bmF2YWlsYWJsZVN1YlN0YXR1c2VzOiBFbmdpbmVTdWJTdGF0dXNbXSA9IFtFbmdpbmVTdWJTdGF0dXMuRXJyb3JJbXBvcnRpbmdGYWlsZWQsIEVuZ2luZVN1YlN0YXR1cy5FcnJvckRlbGV0aW5nRmFpbGVkXTtcclxuXHJcbiAgICAgICAgaWYgKCFzaG93RGlzYWJsZWRFbmdpbmVzKSB7XHJcbiAgICAgICAgICB1bmF2YWlsYWJsZVN0YXR1c2VzLnB1c2goRW5naW5lU3RhdHVzLk9GRik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBlbmdpbmVNYXAgPSB7fTtcclxuXHJcbiAgICAgICAgZW5naW5lTGlzdC5lbmdpbmVzLmZvckVhY2goKGVuZ2luZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHVuYXZhaWxhYmxlU3RhdHVzZXMuaW5jbHVkZXMoZW5naW5lLnN0YXR1cykgfHwgdW5hdmFpbGFibGVTdWJTdGF0dXNlcy5pbmNsdWRlcyhlbmdpbmUuc3ViU3RhdHVzKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKGVuZ2luZS5kb21haW5zICYmIE9iamVjdC5rZXlzKGVuZ2luZS5kb21haW5zKS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29udmVydGVkRW5naW5lcy5wdXNoKC4uLnRoaXMuZ2VuZXJhdGVTeXN0ZW1zRnJvbURvbWFpbnMoZW5naW5lLCBjb252ZXJ0ZWRFbmdpbmVzLCBlbmdpbmVNYXApKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnZlcnRlZEVuZ2luZXMucHVzaCguLi50aGlzLmdlbmVyYXRlU3lzdGVtc0Zyb21MYW5ndWFnZXMoZW5naW5lLCBjb252ZXJ0ZWRFbmdpbmVzLCBlbmdpbmVNYXApKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBjb252ZXJ0ZWRFbmdpbmVzO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZVN5c3RlbXNGcm9tTGFuZ3VhZ2VzKGVuZ2luZTogRW5naW5lLCBjb252ZXJ0ZWRFbmdpbmVzOiBTeXN0ZW1bXSwgZW5naW5lTWFwOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSk6IFN5c3RlbVtdIHtcclxuICAgIGNvbnN0IHN5c3RlbXM6IFN5c3RlbVtdID0gW107XHJcbiAgICBlbmdpbmUuc291cmNlTGFuZ3VhZ2VzLmZvckVhY2goKHNvdXJjZUxhbmd1YWdlKSA9PiB7XHJcbiAgICAgIGVuZ2luZS50YXJnZXRMYW5ndWFnZXMuZm9yRWFjaCgodGFyZ2V0TGFuZ3VhZ2UpID0+IHtcclxuICAgICAgICBpZiAoc291cmNlTGFuZ3VhZ2UgIT09IHRhcmdldExhbmd1YWdlKSB7XHJcbiAgICAgICAgICBjb25zdCBuZXdTeXN0ZW0gPSB0aGlzLmNyZWF0ZVN5c3RlbU9iamVjdChlbmdpbmUuaWQsIHNvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZSwgZW5naW5lLmRvbWFpbiwgZW5naW5lLnZlbmRvciwgZW5naW5lLnN1cHBvcnRzVGVybUNvbGxlY3Rpb25zKTtcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5pc0xhbmd1YWdlRGlyZWN0aW9uQWRkZWQobmV3U3lzdGVtLCBjb252ZXJ0ZWRFbmdpbmVzLCBlbmdpbmVNYXAsIGVuZ2luZS52ZW5kb3IpKSB7XHJcbiAgICAgICAgICAgIHN5c3RlbXMucHVzaChuZXdTeXN0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICByZXR1cm4gc3lzdGVtcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2VuZXJhdGVTeXN0ZW1zRnJvbURvbWFpbnMoZW5naW5lOiBFbmdpbmUsIGNvbnZlcnRlZEVuZ2luZXM6IFN5c3RlbVtdLCBlbmdpbmVNYXA6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9KTogU3lzdGVtW10geyAgICBcclxuICAgIGNvbnN0IGRvbWFpbnMgPSBlbmdpbmUuZG9tYWlucztcclxuICAgIGNvbnN0IHN5c3RlbXM6IFN5c3RlbVtdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBkb21haW5LZXkgaW4gZG9tYWlucykge1xyXG4gICAgICBjb25zdCBkb21haW4gPSBkb21haW5zW2RvbWFpbktleV07XHJcblxyXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBsYW5ndWFnZSBwcm9wZXJ0eVxyXG4gICAgICBjb25zdCBsYW5ndWFnZXMgPSBkb21haW4ubGFuZ3VhZ2VzO1xyXG4gICAgICBmb3IgKGNvbnN0IHNvdXJjZUxhbmd1YWdlIGluIGxhbmd1YWdlcykge1xyXG4gICAgICAgIGNvbnN0IHRhcmdldExhbmd1YWdlcyA9IGxhbmd1YWdlc1tzb3VyY2VMYW5ndWFnZV07XHJcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2gga2V5IHdpdGhpbiB0aGUgbGFuZ3VhZ2VcclxuICAgICAgICB0YXJnZXRMYW5ndWFnZXMuZm9yRWFjaCgodGFyZ2V0TGFuZ3VhZ2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IG5ld1N5c3RlbSA9IHRoaXMuY3JlYXRlU3lzdGVtT2JqZWN0KGVuZ2luZS5pZCwgc291cmNlTGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlLCBkb21haW5LZXksIGVuZ2luZS52ZW5kb3IsIGVuZ2luZS5zdXBwb3J0c1Rlcm1Db2xsZWN0aW9ucyk7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGlmIChzb3VyY2VMYW5ndWFnZSAhPT0gdGFyZ2V0TGFuZ3VhZ2UpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNMYW5ndWFnZURpcmVjdGlvbkFkZGVkKG5ld1N5c3RlbSwgY29udmVydGVkRW5naW5lcywgZW5naW5lTWFwLCBlbmdpbmUudmVuZG9yKSkge1xyXG4gICAgICAgICAgICAgIHN5c3RlbXMucHVzaChuZXdTeXN0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBzeXN0ZW1zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0xhbmd1YWdlRGlyZWN0aW9uQWRkZWQobmV3U3lzdGVtOiBTeXN0ZW0sIGNvbnZlcnRlZEVuZ2luZXM6IFN5c3RlbVtdLCBlbmdpbmVNYXA6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9LCB2ZW5kb3I6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2VEaXJlY3Rpb25LZXkgPSBgJHtuZXdTeXN0ZW0uc291cmNlTGFuZ3VhZ2V9JHtuZXdTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2V9JHtuZXdTeXN0ZW0uZG9tYWlufWA7XHJcbiAgICBcclxuICAgIGlmIChlbmdpbmVNYXBbbGFuZ3VhZ2VEaXJlY3Rpb25LZXldKSB7XHJcbiAgICAgIGlmICh2ZW5kb3IgPT09IFRJTERFX1ZFTkRPUikge1xyXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nU3lzdGVtSXggPSBjb252ZXJ0ZWRFbmdpbmVzLmZpbmRJbmRleCgoZSkgPT4gZS5zb3VyY2VMYW5ndWFnZSA9PT0gbmV3U3lzdGVtLnNvdXJjZUxhbmd1YWdlICYmIGUudGFyZ2V0TGFuZ3VhZ2UgPT09IG5ld1N5c3RlbS50YXJnZXRMYW5ndWFnZSAmJiBlLmRvbWFpbiA9PT0gbmV3U3lzdGVtLmRvbWFpbik7XHJcbiAgICAgICAgY29udmVydGVkRW5naW5lc1tleGlzdGluZ1N5c3RlbUl4XSA9IG5ld1N5c3RlbTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBlbmdpbmVNYXBbbGFuZ3VhZ2VEaXJlY3Rpb25LZXldID0gdHJ1ZTtcclxuICAgIFxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZVN5c3RlbU9iamVjdChpZDogc3RyaW5nLCBzb3VyY2VMYW5ndWFnZTogc3RyaW5nLCB0YXJnZXRMYW5ndWFnZTogc3RyaW5nLCBkb21haW46IHN0cmluZywgdmVuZG9yOiBzdHJpbmcsIGluY2x1ZGVzVGVybWlub2xvZ3k6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHN5c3RlbUJhc2U6IFN5c3RlbSA9IHtcclxuICAgICAgc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgIHRhcmdldExhbmd1YWdlLFxyXG4gICAgICBkb21haW46IGRvbWFpbi50b0xvd2VyQ2FzZSgpLFxyXG4gICAgICBsYW5ndWFnZUlkOiBgJHtzb3VyY2VMYW5ndWFnZX0tJHt0YXJnZXRMYW5ndWFnZX0tJHtkb21haW59LSR7dmVuZG9yfS0ke2lkfWAsXHJcbiAgICAgIGlkLFxyXG4gICAgICB2ZW5kb3IsXHJcbiAgICAgIGluY2x1ZGVzVGVybWlub2xvZ3lcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIHN5c3RlbUJhc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -837,6 +837,8 @@ var EngineSubStatus;
|
|
|
837
837
|
EngineSubStatus["ErrorDeletingTermsFailed"] = "ErrorDeletingTermsFailed";
|
|
838
838
|
})(EngineSubStatus || (EngineSubStatus = {}));
|
|
839
839
|
|
|
840
|
+
const TILDE_VENDOR = 'Tilde';
|
|
841
|
+
|
|
840
842
|
class TerminologyConfigService {
|
|
841
843
|
constructor() {
|
|
842
844
|
this._termConfig = {};
|
|
@@ -897,32 +899,36 @@ class SystemApiService {
|
|
|
897
899
|
if (!showDisabledEngines) {
|
|
898
900
|
unavailableStatuses.push(EngineStatus.OFF);
|
|
899
901
|
}
|
|
902
|
+
const engineMap = {};
|
|
900
903
|
engineList.engines.forEach((engine) => {
|
|
901
904
|
if (unavailableStatuses.includes(engine.status) || unavailableSubStatuses.includes(engine.subStatus)) {
|
|
902
905
|
return;
|
|
903
906
|
}
|
|
904
907
|
if (engine.domains && Object.keys(engine.domains).length) {
|
|
905
|
-
convertedEngines.push(...this.generateSystemsFromDomains(engine));
|
|
908
|
+
convertedEngines.push(...this.generateSystemsFromDomains(engine, convertedEngines, engineMap));
|
|
906
909
|
}
|
|
907
910
|
else {
|
|
908
|
-
convertedEngines.push(...this.generateSystemsFromLanguages(engine));
|
|
911
|
+
convertedEngines.push(...this.generateSystemsFromLanguages(engine, convertedEngines, engineMap));
|
|
909
912
|
}
|
|
910
913
|
});
|
|
911
914
|
return convertedEngines;
|
|
912
915
|
}));
|
|
913
916
|
}
|
|
914
|
-
generateSystemsFromLanguages(engine) {
|
|
917
|
+
generateSystemsFromLanguages(engine, convertedEngines, engineMap) {
|
|
915
918
|
const systems = [];
|
|
916
919
|
engine.sourceLanguages.forEach((sourceLanguage) => {
|
|
917
920
|
engine.targetLanguages.forEach((targetLanguage) => {
|
|
918
921
|
if (sourceLanguage !== targetLanguage) {
|
|
919
|
-
|
|
922
|
+
const newSystem = this.createSystemObject(engine.id, sourceLanguage, targetLanguage, engine.domain, engine.vendor, engine.supportsTermCollections);
|
|
923
|
+
if (this.isLanguageDirectionAdded(newSystem, convertedEngines, engineMap, engine.vendor)) {
|
|
924
|
+
systems.push(newSystem);
|
|
925
|
+
}
|
|
920
926
|
}
|
|
921
927
|
});
|
|
922
928
|
});
|
|
923
929
|
return systems;
|
|
924
930
|
}
|
|
925
|
-
generateSystemsFromDomains(engine) {
|
|
931
|
+
generateSystemsFromDomains(engine, convertedEngines, engineMap) {
|
|
926
932
|
const domains = engine.domains;
|
|
927
933
|
const systems = [];
|
|
928
934
|
for (const domainKey in domains) {
|
|
@@ -933,19 +939,34 @@ class SystemApiService {
|
|
|
933
939
|
const targetLanguages = languages[sourceLanguage];
|
|
934
940
|
// Loop through each key within the language
|
|
935
941
|
targetLanguages.forEach((targetLanguage) => {
|
|
942
|
+
const newSystem = this.createSystemObject(engine.id, sourceLanguage, targetLanguage, domainKey, engine.vendor, engine.supportsTermCollections);
|
|
936
943
|
if (sourceLanguage !== targetLanguage) {
|
|
937
|
-
|
|
944
|
+
if (this.isLanguageDirectionAdded(newSystem, convertedEngines, engineMap, engine.vendor)) {
|
|
945
|
+
systems.push(newSystem);
|
|
946
|
+
}
|
|
938
947
|
}
|
|
939
948
|
});
|
|
940
949
|
}
|
|
941
950
|
}
|
|
942
951
|
return systems;
|
|
943
952
|
}
|
|
953
|
+
isLanguageDirectionAdded(newSystem, convertedEngines, engineMap, vendor) {
|
|
954
|
+
const languageDirectionKey = `${newSystem.sourceLanguage}${newSystem.targetLanguage}${newSystem.domain}`;
|
|
955
|
+
if (engineMap[languageDirectionKey]) {
|
|
956
|
+
if (vendor === TILDE_VENDOR) {
|
|
957
|
+
const existingSystemIx = convertedEngines.findIndex((e) => e.sourceLanguage === newSystem.sourceLanguage && e.targetLanguage === newSystem.targetLanguage && e.domain === newSystem.domain);
|
|
958
|
+
convertedEngines[existingSystemIx] = newSystem;
|
|
959
|
+
}
|
|
960
|
+
return false;
|
|
961
|
+
}
|
|
962
|
+
engineMap[languageDirectionKey] = true;
|
|
963
|
+
return true;
|
|
964
|
+
}
|
|
944
965
|
createSystemObject(id, sourceLanguage, targetLanguage, domain, vendor, includesTerminology) {
|
|
945
966
|
const systemBase = {
|
|
946
967
|
sourceLanguage,
|
|
947
968
|
targetLanguage,
|
|
948
|
-
domain,
|
|
969
|
+
domain: domain.toLowerCase(),
|
|
949
970
|
languageId: `${sourceLanguage}-${targetLanguage}-${domain}-${vendor}-${id}`,
|
|
950
971
|
id,
|
|
951
972
|
vendor,
|