ets-fe-ng-sdk 1.0.53 → 1.0.54

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.
@@ -70,13 +70,13 @@ export class TranslationService {
70
70
  this.translationRequestMatrix = {};
71
71
  if (Object.keys(body)?.length) {
72
72
  // debugger;
73
- ETSenvironment.transGlossary =
74
- ETSenvironment.transGlossary || (await this.getGlossary().toPromise());
73
+ const transGlossary = this.transGlossary ||
74
+ (await this.getGlossary().toPromise());
75
75
  this.apiService
76
76
  .postString(this.baseURL +
77
- (ETSenvironment.transGlossary?.code
78
- ? `language?glossaryCode=${ETSenvironment.transGlossary?.code}&sourceLang=${ETSenvironment.sourceLanguage}&targetLang=${ETSenvironment.targetLanguage}`
79
- : `language/${ETSenvironment.targetLanguage}`), Object.keys(body)
77
+ (this.transGlossary?.code
78
+ ? `language?glossaryCode=${this.transGlossary?.code}&sourceLang=${this.sourceLanguage}&targetLang=${this.targetLanguage}`
79
+ : `language/${this.targetLanguage}`), Object.keys(body)
80
80
  .map((id) => this.tagger(+id, body[id]))
81
81
  .join(this.seperator))
82
82
  .toPromise()
@@ -93,19 +93,21 @@ export class TranslationService {
93
93
  return `<div id="${id}">${str}</div>`;
94
94
  }
95
95
  getGlossary(sourceLanguage = ETSenvironment.sourceLanguage, targetLanguage = ETSenvironment.targetLanguage) {
96
+ this.sourceLanguage = sourceLanguage || this.sourceLanguage;
97
+ this.targetLanguage = targetLanguage || this.targetLanguage;
96
98
  return this.apiService
97
99
  .get(`${this.baseURL}glossary/`)
98
100
  .pipe(map((r) => {
99
101
  debugger;
100
- const glossary = r?.find((x) => x.sourceLang == sourceLanguage &&
101
- x.targetLang == targetLanguage &&
102
+ const glossary = r?.find((x) => x.sourceLang == this.sourceLanguage &&
103
+ x.targetLang == this.targetLanguage &&
102
104
  x.name == this.name);
103
105
  return glossary ? glossary : null;
104
106
  }), map((glossary) => {
105
107
  if (!glossary)
106
108
  return null;
107
- ETSenvironment.transGlossary = glossary;
108
- this.storageS.saveItem(ETSenvironment.transGlossaryKey, ETSenvironment.transGlossary);
109
+ this.transGlossary = ETSenvironment.transGlossary = glossary;
110
+ this.storageS.saveItem(ETSenvironment.transGlossaryKey, this.transGlossary);
109
111
  return glossary;
110
112
  }));
111
113
  }
@@ -137,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
137
139
  providedIn: 'root',
138
140
  }]
139
141
  }], ctorParameters: function () { return [{ type: i1.ApiService }, { type: i2.StorageService }, { type: i3.LocalCacheService }]; } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBU2hFLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsWUFDUyxVQUFzQixFQUN0QixRQUF3QixFQUN4QixPQUEwQjtRQUYxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBVDNCLFlBQU8sR0FBRyxjQUFjLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO1FBQzNELDZCQUF3QixHQUE0QixFQUFFLENBQUM7UUFDdkQsOEJBQXlCLEdBQy9CLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQTJGbEIsa0JBQWEsR0FBRyxDQUNkLFVBQWtCLEVBQ2xCLGNBQWMsR0FBRyxjQUFjLENBQUMsY0FBYyxFQUM5QyxjQUFjLEdBQUcsY0FBYyxDQUFDLGNBQWMsRUFDOUMsS0FBSyxHQUFHLEtBQUssRUFDYixFQUFFO1lBQ0YsT0FBTyxJQUFJLFVBQVUsQ0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dC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LENBQUMsQ0FBQyxDQUFDO2FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQ3hCO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBVyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOzsrR0FoR1Usa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmUgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRVRTZW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgRUxhbmd1YWdlIH0gZnJvbSAnLi4vU2hhcmVkL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUvbG9jYWwtY2FjaGUuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uU2VydmljZTxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2UgPSBhbnk+IHtcbiAgcHJpdmF0ZSBiYXNlVVJMID0gRVRTZW52aXJvbm1lbnQuYXBpQmFzZVVybCArICcvcmVzdC90cmFuc2xhdGlvbi8nO1xuICBwcml2YXRlIHRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeDogeyBbeDogbnVtYmVyXTogc3RyaW5nIH0gPSB7fTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblJlc3BvbnNlTWF0cml4OiBCZWhhdmlvclN1YmplY3Q8eyBbeDogbnVtYmVyXTogc3RyaW5nIH0+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcbiAgcmVhZG9ubHkgc2VwZXJhdG9yID0gJ35+fic7XG4gIG5hbWUgPSAnZ2xvc3NhcnknO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgYXBpU2VydmljZTogQXBpU2VydmljZSxcbiAgICBwdWJsaWMgc3RvcmFnZVM6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBsQ2FjaGVTOiBMb2NhbENhY2hlU2VydmljZVxuICApIHtcbiAgICBzZXRJbnRlcnZhbChhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBib2R5ID0gY2xvbmUodGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXgpO1xuICAgICAgdGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXggPSB7fTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhib2R5KT8ubGVuZ3RoKSB7XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBFVFNlbnZpcm9ubWVudC50cmFuc0dsb3NzYXJ5ID1cbiAgICAgICAgICBFVFNlbnZpcm9ubWVudC50cmFuc0dsb3NzYXJ5IHx8IChhd2FpdCB0aGlzLmdldEdsb3NzYXJ5KCkudG9Qcm9taXNlKCkpO1xuICAgICAgICB0aGlzLmFwaVNlcnZpY2VcbiAgICAgICAgICAucG9zdFN0cmluZyhcbiAgICAgICAgICAgIHRoaXMuYmFzZVVSTCArXG4gICAgICAgICAgICAgIChFVFNlbnZpcm9ubWVudC50cmFuc0dsb3NzYXJ5Py5jb2RlXG4gICAgICAgICAgICAgICAgPyBgbGFuZ3VhZ2U/Z2xvc3NhcnlDb2RlPSR7RVRTZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeT8uY29kZX0mc291cmNlTGFuZz0ke0VUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlfSZ0YXJnZXRMYW5nPSR7RVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2V9YFxuICAgICAgICAgICAgICAgIDogYGxhbmd1YWdlLyR7RVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2V9YCksXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhib2R5KVxuICAgICAgICAgICAgICAubWFwKChpZCkgPT4gdGhpcy50YWdnZXIoK2lkLCBib2R5W2lkXSkpXG4gICAgICAgICAgICAgIC5qb2luKHRoaXMuc2VwZXJhdG9yKVxuICAgICAgICAgIClcbiAgICAgICAgICAudG9Qcm9taXNlKClcbiAgICAgICAgICAudGhlbigocikgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvblJlc3BvbnNlTWF0cml4Lm5leHQodGhpcy5kZXRhZ2dlcihyKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICB0YWdnZXIoaWQ6IG51bWJlciwgc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYDxkaXYgaWQ9XCIke2lkfVwiPiR7c3RyfTwvZGl2PmA7XG4gIH1cbiAgZ2V0R2xvc3NhcnkoXG4gICAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2UgPSBFVFNlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZVxuICApIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG5cbiAgICAgIC5nZXQ8VHJhbnNsYXRpb25HbG9zc2FyeVJlc3BvbnNlW10+KGAke3RoaXMuYmFzZVVSTH1nbG9zc2FyeS9gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocjogYW55W10pID0+IHtcbiAgICAgICAgICBkZWJ1Z2dlcjtcbiAgICAgICAgICBjb25zdCBnbG9zc2FyeSA9IHI/LmZpbmQoXG4gICAgICAgICAgICAoeCkgPT5cbiAgICAgICAgICAgICAgeC5zb3VyY2VMYW5nID09IHNvdXJjZUxhbmd1YWdlICYmXG4gICAgICAgICAgICAgIHgudGFyZ2V0TGFuZyA9PSB0YXJnZXRMYW5ndWFnZSAmJlxuICAgICAgICAgICAgICB4Lm5hbWUgPT0gdGhpcy5uYW1lXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gZ2xvc3NhcnkgPyBnbG9zc2FyeSA6IG51bGw7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKGdsb3NzYXJ5KSA9PiB7XG4gICAgICAgICAgaWYgKCFnbG9zc2FyeSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgRVRTZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeSA9IGdsb3NzYXJ5O1xuICAgICAgICAgIHRoaXMuc3RvcmFnZVMuc2F2ZUl0ZW0oXG4gICAgICAgICAgICBFVFNlbnZpcm9ubWVudC50cmFuc0dsb3NzYXJ5S2V5LFxuICAgICAgICAgICAgRVRTZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIGdsb3NzYXJ5O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuICBkZXRhZ2dlcihzdHI6IHN0cmluZykge1xuICAgIGNvbnN0IGl0ZW1zID0gc3RyPy5zcGxpdCh0aGlzLnNlcGVyYXRvcik7XG4gICAgY29uc3QgcmVzb2JqID0ge307XG4gICAgZm9yIChjb25zdCBzdHIgb2YgaXRlbXMpIHtcbiAgICAgIHJlc29ialtzdHI/LnNwbGl0KCdcIicpWzFdXSA9IHN0cj8uc3BsaXQoJz4nKVsxXT8uc3BsaXQoJzwvZGl2JylbMF07XG4gICAgfVxuICAgIHJldHVybiByZXNvYmo7XG4gIH1cblxuICB0cm5hc2xhdGVPbGQodGV4dDogc3RyaW5nKSB7XG4gICAgY29uc3QgaWQgPSAzMjMyMzIzO1xuICAgIGNvbnN0IGJvZHkgPSB7IFtpZF06IHRleHQgfTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFN0cmluZyhcbiAgICAgICAgdGhpcy5iYXNlVVJMICsgYGxhbmd1YWdlLyR7RVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2V9YCxcbiAgICAgICAgT2JqZWN0LmtleXMoYm9keSlcbiAgICAgICAgICAubWFwKChpZCkgPT4gdGhpcy50YWdnZXIoK2lkLCBib2R5W2lkXSkpXG4gICAgICAgICAgLmpvaW4odGhpcy5zZXBlcmF0b3IpXG4gICAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGV0YWdnZXIocilbaWRdIGFzIHN0cmluZztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbiAgdHJhbnNsYXRlSFRNTCA9IChcbiAgICBIVE1MU3RyaW5nOiBzdHJpbmcsXG4gICAgc291cmNlTGFuZ3VhZ2UgPSBFVFNlbnZpcm9ubWVudC5zb3VyY2VMYW5ndWFnZSxcbiAgICB0YXJnZXRMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnRhcmdldExhbmd1YWdlLFxuICAgIGRlYnVnID0gZmFsc2VcbiAgKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKHJlcykgPT4ge1xuICAgICAgaWYgKGRlYnVnKSBkZWJ1Z2dlcjtcblxuICAgICAgY29uc3QgdGV4dCA9IEhUTUxTdHJpbmc/LnRyaW0oKSxcbiAgICAgICAgcm91dGUgPSB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2VgO1xuXG4gICAgICBpZiAoIXRleHQpIHtcbiAgICAgICAgcmVzLm5leHQoSFRNTFN0cmluZyk7XG4gICAgICAgIHJlcy5jb21wbGV0ZSgpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmxDYWNoZVMuaGFzKHJvdXRlICsgJ18nICsgdGV4dCkpIHtcbiAgICAgICAgcmVzLm5leHQodGhpcy5sQ2FjaGVTLmdldEl0ZW08c3RyaW5nPihyb3V0ZSArICdfJyArIHRleHQpKTtcbiAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwMDAwMDAwMDApO1xuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeFtpZF0gPSB0ZXh0O1xuICAgICAgICBjb25zdCBzdWI6IFN1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRpb25SZXNwb25zZU1hdHJpeC5zdWJzY3JpYmUoXG4gICAgICAgICAgKHIpID0+IHtcbiAgICAgICAgICAgIGlmIChkZWJ1ZykgZGVidWdnZXI7XG4gICAgICAgICAgICBjb25zdCB0cmFuc1ZhbCA9IHJbaWQudG9TdHJpbmcoKV07XG4gICAgICAgICAgICBpZiAodHJhbnNWYWwpIHtcbiAgICAgICAgICAgICAgcmVzLm5leHQodHJhbnNWYWwpO1xuICAgICAgICAgICAgICB0aGlzLmxDYWNoZVMuc2V0SXRlbShyb3V0ZSArICdfJyArIHRleHQsIHRyYW5zVmFsKTtcbiAgICAgICAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgIHJlcy5lcnJvcihlKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIHBsYWluVHJhbnNsYXRlID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2VcbiAgKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIHRleHQgPSB0ZXh0Py50cmltKCk7XG4gICAgICBjb25zdCByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG5cbiAgICAgIGlmICghdGV4dCkgcmVzb2x2ZShudWxsKTtcbiAgICAgIGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMocm91dGUgKyAnXycgKyB0ZXh0KSlcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmxDYWNoZVMuZ2V0SXRlbTxzdHJpbmc+KHJvdXRlICsgJ18nICsgdGV4dCkpO1xuICAgICAgZWxzZVxuICAgICAgICByZXNvbHZlKFxuICAgICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZVxuICAgICAgICAgICAgLnBvc3RTdHJpbmcocm91dGUsIHRleHQpXG4gICAgICAgICAgICAucGlwZSh0YXAoKHIpID0+IHRoaXMubENhY2hlUy5zZXRJdGVtKHJvdXRlICsgJ18nICsgdGV4dCwgcikpKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgICAgICk7XG4gICAgfSk7XG4gIH07XG4gIHRyYW5zbGF0ZUhUTUxQcm9taXNlID0gKFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2UsXG4gICAgZGVidWcgPSBmYWxzZVxuICApID0+XG4gICAgdGhpcy50cmFuc2xhdGVIVE1MKFxuICAgICAgdGV4dCxcbiAgICAgIHNvdXJjZUxhbmd1YWdlLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2UsXG4gICAgICBkZWJ1Z1xuICAgICk/LnRvUHJvbWlzZSgpO1xufVxuIl19
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBU2hFLE1BQU0sT0FBTyxrQkFBa0I7SUFVN0IsWUFDUyxVQUFzQixFQUN0QixRQUF3QixFQUN4QixPQUEwQjtRQUYxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBWjNCLFlBQU8sR0FBRyxjQUFjLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO1FBQzNELDZCQUF3QixHQUE0QixFQUFFLENBQUM7UUFDdkQsOEJBQXlCLEdBQy9CLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQWtHbEIsa0JBQWEsR0FBRyxDQUNkLFVBQWtCLEVBQ2xCLGNBQWMsR0FBRyxjQUFjLENBQUMsY0FBYyxFQUM5QyxjQUFjLEdBQUcsY0FBYyxDQUFDLGNBQWMsRUFDOUMsS0FBSyxHQUFHLEtBQUssRUFDYixFQUFFO1lBQ0YsT0FBTyxJQUFJLFVBQVUsQ0FBUyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dC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QVksY0FBYyxDQUFDLGNBQWMsRUFBRSxFQUMxRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNkLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUN4QjthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVcsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7K0dBdkdVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVUU2Vudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEVMYW5ndWFnZSB9IGZyb20gJy4uL1NoYXJlZC9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxDYWNoZVNlcnZpY2UgfSBmcm9tICcuL2NhY2hlL2xvY2FsLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblNlcnZpY2U8VHJhbnNsYXRpb25HbG9zc2FyeVJlc3BvbnNlID0gYW55PiB7XG4gIHByaXZhdGUgYmFzZVVSTCA9IEVUU2Vudmlyb25tZW50LmFwaUJhc2VVcmwgKyAnL3Jlc3QvdHJhbnNsYXRpb24vJztcbiAgcHJpdmF0ZSB0cmFuc2xhdGlvblJlcXVlc3RNYXRyaXg6IHsgW3g6IG51bWJlcl06IHN0cmluZyB9ID0ge307XG4gIHByaXZhdGUgdHJhbnNsYXRpb25SZXNwb25zZU1hdHJpeDogQmVoYXZpb3JTdWJqZWN0PHsgW3g6IG51bWJlcl06IHN0cmluZyB9PiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG4gIHJlYWRvbmx5IHNlcGVyYXRvciA9ICd+fn4nO1xuICBuYW1lID0gJ2dsb3NzYXJ5JztcbiAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZTtcbiAgdGFyZ2V0TGFuZ3VhZ2U6IEVMYW5ndWFnZTtcbiAgdHJhbnNHbG9zc2FyeTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgcHVibGljIHN0b3JhZ2VTOiBTdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgbENhY2hlUzogTG9jYWxDYWNoZVNlcnZpY2VcbiAgKSB7XG4gICAgc2V0SW50ZXJ2YWwoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYm9keSA9IGNsb25lKHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0TWF0cml4KTtcbiAgICAgIHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0TWF0cml4ID0ge307XG4gICAgICBpZiAoT2JqZWN0LmtleXMoYm9keSk/Lmxlbmd0aCkge1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgY29uc3QgdHJhbnNHbG9zc2FyeSA9XG4gICAgICAgICAgdGhpcy50cmFuc0dsb3NzYXJ5IHx8XG4gICAgICAgICAgKGF3YWl0IHRoaXMuZ2V0R2xvc3NhcnkoKS50b1Byb21pc2UoKSk7XG4gICAgICAgIHRoaXMuYXBpU2VydmljZVxuICAgICAgICAgIC5wb3N0U3RyaW5nKFxuICAgICAgICAgICAgdGhpcy5iYXNlVVJMICtcbiAgICAgICAgICAgICAgKHRoaXMudHJhbnNHbG9zc2FyeT8uY29kZVxuICAgICAgICAgICAgICAgID8gYGxhbmd1YWdlP2dsb3NzYXJ5Q29kZT0ke3RoaXMudHJhbnNHbG9zc2FyeT8uY29kZX0mc291cmNlTGFuZz0ke3RoaXMuc291cmNlTGFuZ3VhZ2V9JnRhcmdldExhbmc9JHt0aGlzLnRhcmdldExhbmd1YWdlfWBcbiAgICAgICAgICAgICAgICA6IGBsYW5ndWFnZS8ke3RoaXMudGFyZ2V0TGFuZ3VhZ2V9YCksXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhib2R5KVxuICAgICAgICAgICAgICAubWFwKChpZCkgPT4gdGhpcy50YWdnZXIoK2lkLCBib2R5W2lkXSkpXG4gICAgICAgICAgICAgIC5qb2luKHRoaXMuc2VwZXJhdG9yKVxuICAgICAgICAgIClcbiAgICAgICAgICAudG9Qcm9taXNlKClcbiAgICAgICAgICAudGhlbigocikgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvblJlc3BvbnNlTWF0cml4Lm5leHQodGhpcy5kZXRhZ2dlcihyKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICB0YWdnZXIoaWQ6IG51bWJlciwgc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYDxkaXYgaWQ9XCIke2lkfVwiPiR7c3RyfTwvZGl2PmA7XG4gIH1cbiAgZ2V0R2xvc3NhcnkoXG4gICAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2UgPSBFVFNlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZVxuICApIHtcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gc291cmNlTGFuZ3VhZ2UgfHwgdGhpcy5zb3VyY2VMYW5ndWFnZTtcbiAgICB0aGlzLnRhcmdldExhbmd1YWdlID0gdGFyZ2V0TGFuZ3VhZ2UgfHwgdGhpcy50YXJnZXRMYW5ndWFnZTtcblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcblxuICAgICAgLmdldDxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2VbXT4oYCR7dGhpcy5iYXNlVVJMfWdsb3NzYXJ5L2ApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyOiBhbnlbXSkgPT4ge1xuICAgICAgICAgIGRlYnVnZ2VyO1xuICAgICAgICAgIGNvbnN0IGdsb3NzYXJ5ID0gcj8uZmluZChcbiAgICAgICAgICAgICh4KSA9PlxuICAgICAgICAgICAgICB4LnNvdXJjZUxhbmcgPT0gdGhpcy5zb3VyY2VMYW5ndWFnZSAmJlxuICAgICAgICAgICAgICB4LnRhcmdldExhbmcgPT0gdGhpcy50YXJnZXRMYW5ndWFnZSAmJlxuICAgICAgICAgICAgICB4Lm5hbWUgPT0gdGhpcy5uYW1lXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gZ2xvc3NhcnkgPyBnbG9zc2FyeSA6IG51bGw7XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKGdsb3NzYXJ5KSA9PiB7XG4gICAgICAgICAgaWYgKCFnbG9zc2FyeSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgdGhpcy50cmFuc0dsb3NzYXJ5ID0gRVRTZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeSA9IGdsb3NzYXJ5O1xuICAgICAgICAgIHRoaXMuc3RvcmFnZVMuc2F2ZUl0ZW0oXG4gICAgICAgICAgICBFVFNlbnZpcm9ubWVudC50cmFuc0dsb3NzYXJ5S2V5LFxuICAgICAgICAgICAgdGhpcy50cmFuc0dsb3NzYXJ5XG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gZ2xvc3Nhcnk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG4gIGRldGFnZ2VyKHN0cjogc3RyaW5nKSB7XG4gICAgY29uc3QgaXRlbXMgPSBzdHI/LnNwbGl0KHRoaXMuc2VwZXJhdG9yKTtcbiAgICBjb25zdCByZXNvYmogPSB7fTtcbiAgICBmb3IgKGNvbnN0IHN0ciBvZiBpdGVtcykge1xuICAgICAgcmVzb2JqW3N0cj8uc3BsaXQoJ1wiJylbMV1dID0gc3RyPy5zcGxpdCgnPicpWzFdPy5zcGxpdCgnPC9kaXYnKVswXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc29iajtcbiAgfVxuXG4gIHRybmFzbGF0ZU9sZCh0ZXh0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpZCA9IDMyMzIzMjM7XG4gICAgY29uc3QgYm9keSA9IHsgW2lkXTogdGV4dCB9O1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0U3RyaW5nKFxuICAgICAgICB0aGlzLmJhc2VVUkwgKyBgbGFuZ3VhZ2UvJHtFVFNlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZX1gLFxuICAgICAgICBPYmplY3Qua2V5cyhib2R5KVxuICAgICAgICAgIC5tYXAoKGlkKSA9PiB0aGlzLnRhZ2dlcigraWQsIGJvZHlbaWRdKSlcbiAgICAgICAgICAuam9pbih0aGlzLnNlcGVyYXRvcilcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZXRhZ2dlcihyKVtpZF0gYXMgc3RyaW5nO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuICB0cmFuc2xhdGVIVE1MID0gKFxuICAgIEhUTUxTdHJpbmc6IHN0cmluZyxcbiAgICBzb3VyY2VMYW5ndWFnZSA9IEVUU2Vudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQudGFyZ2V0TGFuZ3VhZ2UsXG4gICAgZGVidWcgPSBmYWxzZVxuICApID0+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigocmVzKSA9PiB7XG4gICAgICBpZiAoZGVidWcpIGRlYnVnZ2VyO1xuXG4gICAgICBjb25zdCB0ZXh0ID0gSFRNTFN0cmluZz8udHJpbSgpLFxuICAgICAgICByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG5cbiAgICAgIGlmICghdGV4dCkge1xuICAgICAgICByZXMubmV4dChIVE1MU3RyaW5nKTtcbiAgICAgICAgcmVzLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMocm91dGUgKyAnXycgKyB0ZXh0KSkge1xuICAgICAgICByZXMubmV4dCh0aGlzLmxDYWNoZVMuZ2V0SXRlbTxzdHJpbmc+KHJvdXRlICsgJ18nICsgdGV4dCkpO1xuICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGlkID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwMDAwMDAwMDAwMDAwMCk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0TWF0cml4W2lkXSA9IHRleHQ7XG4gICAgICAgIGNvbnN0IHN1YjogU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGlvblJlc3BvbnNlTWF0cml4LnN1YnNjcmliZShcbiAgICAgICAgICAocikgPT4ge1xuICAgICAgICAgICAgaWYgKGRlYnVnKSBkZWJ1Z2dlcjtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zVmFsID0gcltpZC50b1N0cmluZygpXTtcbiAgICAgICAgICAgIGlmICh0cmFuc1ZhbCkge1xuICAgICAgICAgICAgICByZXMubmV4dCh0cmFuc1ZhbCk7XG4gICAgICAgICAgICAgIHRoaXMubENhY2hlUy5zZXRJdGVtKHJvdXRlICsgJ18nICsgdGV4dCwgdHJhbnNWYWwpO1xuICAgICAgICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZSkgPT4ge1xuICAgICAgICAgICAgcmVzLmVycm9yKGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbiAgcGxhaW5UcmFuc2xhdGUgPSAoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHNvdXJjZUxhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQuc291cmNlTGFuZ3VhZ2UsXG4gICAgdGFyZ2V0TGFuZ3VhZ2UgPSBFVFNlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZVxuICApID0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nPihhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgICAgdGV4dCA9IHRleHQ/LnRyaW0oKTtcbiAgICAgIGNvbnN0IHJvdXRlID0gdGhpcy5iYXNlVVJMICsgYGxhbmd1YWdlYDtcblxuICAgICAgaWYgKCF0ZXh0KSByZXNvbHZlKG51bGwpO1xuICAgICAgZWxzZSBpZiAodGhpcy5sQ2FjaGVTLmhhcyhyb3V0ZSArICdfJyArIHRleHQpKVxuICAgICAgICByZXNvbHZlKHRoaXMubENhY2hlUy5nZXRJdGVtPHN0cmluZz4ocm91dGUgKyAnXycgKyB0ZXh0KSk7XG4gICAgICBlbHNlXG4gICAgICAgIHJlc29sdmUoXG4gICAgICAgICAgYXdhaXQgdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAgICAgICAucG9zdFN0cmluZyhyb3V0ZSwgdGV4dClcbiAgICAgICAgICAgIC5waXBlKHRhcCgocikgPT4gdGhpcy5sQ2FjaGVTLnNldEl0ZW0ocm91dGUgKyAnXycgKyB0ZXh0LCByKSkpXG4gICAgICAgICAgICAudG9Qcm9taXNlKClcbiAgICAgICAgKTtcbiAgICB9KTtcbiAgfTtcbiAgdHJhbnNsYXRlSFRNTFByb21pc2UgPSAoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHNvdXJjZUxhbmd1YWdlID0gRVRTZW52aXJvbm1lbnQuc291cmNlTGFuZ3VhZ2UsXG4gICAgdGFyZ2V0TGFuZ3VhZ2UgPSBFVFNlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZSxcbiAgICBkZWJ1ZyA9IGZhbHNlXG4gICkgPT5cbiAgICB0aGlzLnRyYW5zbGF0ZUhUTUwoXG4gICAgICB0ZXh0LFxuICAgICAgc291cmNlTGFuZ3VhZ2UsXG4gICAgICB0YXJnZXRMYW5ndWFnZSxcbiAgICAgIGRlYnVnXG4gICAgKT8udG9Qcm9taXNlKCk7XG59XG4iXX0=
@@ -4010,13 +4010,13 @@ class TranslationService {
4010
4010
  this.translationRequestMatrix = {};
4011
4011
  if ((_a = Object.keys(body)) === null || _a === void 0 ? void 0 : _a.length) {
4012
4012
  // debugger;
4013
- ETSenvironment.transGlossary =
4014
- ETSenvironment.transGlossary || (yield this.getGlossary().toPromise());
4013
+ const transGlossary = this.transGlossary ||
4014
+ (yield this.getGlossary().toPromise());
4015
4015
  this.apiService
4016
4016
  .postString(this.baseURL +
4017
- (((_b = ETSenvironment.transGlossary) === null || _b === void 0 ? void 0 : _b.code)
4018
- ? `language?glossaryCode=${(_c = ETSenvironment.transGlossary) === null || _c === void 0 ? void 0 : _c.code}&sourceLang=${ETSenvironment.sourceLanguage}&targetLang=${ETSenvironment.targetLanguage}`
4019
- : `language/${ETSenvironment.targetLanguage}`), Object.keys(body)
4017
+ (((_b = this.transGlossary) === null || _b === void 0 ? void 0 : _b.code)
4018
+ ? `language?glossaryCode=${(_c = this.transGlossary) === null || _c === void 0 ? void 0 : _c.code}&sourceLang=${this.sourceLanguage}&targetLang=${this.targetLanguage}`
4019
+ : `language/${this.targetLanguage}`), Object.keys(body)
4020
4020
  .map((id) => this.tagger(+id, body[id]))
4021
4021
  .join(this.seperator))
4022
4022
  .toPromise()
@@ -4033,19 +4033,21 @@ class TranslationService {
4033
4033
  return `<div id="${id}">${str}</div>`;
4034
4034
  }
4035
4035
  getGlossary(sourceLanguage = ETSenvironment.sourceLanguage, targetLanguage = ETSenvironment.targetLanguage) {
4036
+ this.sourceLanguage = sourceLanguage || this.sourceLanguage;
4037
+ this.targetLanguage = targetLanguage || this.targetLanguage;
4036
4038
  return this.apiService
4037
4039
  .get(`${this.baseURL}glossary/`)
4038
4040
  .pipe(map((r) => {
4039
4041
  debugger;
4040
- const glossary = r === null || r === void 0 ? void 0 : r.find((x) => x.sourceLang == sourceLanguage &&
4041
- x.targetLang == targetLanguage &&
4042
+ const glossary = r === null || r === void 0 ? void 0 : r.find((x) => x.sourceLang == this.sourceLanguage &&
4043
+ x.targetLang == this.targetLanguage &&
4042
4044
  x.name == this.name);
4043
4045
  return glossary ? glossary : null;
4044
4046
  }), map((glossary) => {
4045
4047
  if (!glossary)
4046
4048
  return null;
4047
- ETSenvironment.transGlossary = glossary;
4048
- this.storageS.saveItem(ETSenvironment.transGlossaryKey, ETSenvironment.transGlossary);
4049
+ this.transGlossary = ETSenvironment.transGlossary = glossary;
4050
+ this.storageS.saveItem(ETSenvironment.transGlossaryKey, this.transGlossary);
4049
4051
  return glossary;
4050
4052
  }));
4051
4053
  }