@tilde-nlp/ngx-translate 7.0.19 → 7.0.21
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/assets/icons/icons.d.ts +2 -0
- package/assets/icons/index.d.ts +1 -0
- package/esm2022/assets/icons/icons.mjs +11 -0
- package/esm2022/assets/icons/index.mjs +2 -0
- package/esm2022/lib/i18n/de.mjs +1 -45
- package/esm2022/lib/i18n/en.mjs +10 -48
- package/esm2022/lib/i18n/et.mjs +1 -45
- package/esm2022/lib/i18n/fi.mjs +1 -45
- package/esm2022/lib/i18n/lt.mjs +1 -45
- package/esm2022/lib/i18n/lv.mjs +11 -49
- package/esm2022/lib/i18n/pl.mjs +1 -45
- package/esm2022/lib/modules/tld-common/models/configs/tld-llm-config.model.mjs +1 -1
- package/esm2022/lib/modules/tld-common/services/tld-translate-config.service.mjs +1 -3
- package/esm2022/lib/modules/tld-document/download-button/download-button.component.mjs +6 -4
- package/esm2022/lib/modules/tld-document/tld-document.module.mjs +12 -4
- package/esm2022/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.mjs +3 -3
- package/esm2022/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +62 -22
- package/esm2022/lib/modules/tld-text/tld-text.module.mjs +8 -4
- package/esm2022/lib/modules/tld-tooltip/tld-tooltip.module.mjs +3 -7
- package/esm2022/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.mjs +4 -11
- package/esm2022/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.mjs +3 -3
- package/esm2022/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.mjs +7 -15
- package/esm2022/lib/tld-translate.component.mjs +8 -4
- package/esm2022/lib/tld-translate.module.mjs +2 -8
- package/fesm2022/tilde-nlp-ngx-translate.mjs +123 -387
- package/fesm2022/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/lib/i18n/de.d.ts +0 -44
- package/lib/i18n/en.d.ts +6 -44
- package/lib/i18n/et.d.ts +0 -44
- package/lib/i18n/fi.d.ts +0 -44
- package/lib/i18n/lt.d.ts +0 -44
- package/lib/i18n/lv.d.ts +6 -44
- package/lib/i18n/pl.d.ts +0 -44
- package/lib/modules/tld-common/models/configs/tld-llm-config.model.d.ts +0 -4
- package/lib/modules/tld-document/tld-document.module.d.ts +3 -1
- package/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.d.ts +11 -1
- package/lib/modules/tld-text/tld-text.module.d.ts +2 -1
- package/lib/modules/tld-tooltip/tld-tooltip.module.d.ts +1 -1
- package/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.d.ts +0 -1
- package/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.d.ts +2 -5
- package/lib/tld-translate.component.d.ts +3 -2
- package/package.json +1 -1
- package/src/assets/webcomponent/styles.css +1 -1
- package/src/assets/webcomponent/tilde-translate-box.js +2 -2
- package/src/styles/styles.scss +2 -6
- package/esm2022/lib/factories/llm-service-configuration.factory.mjs +0 -9
- package/lib/factories/llm-service-configuration.factory.d.ts +0 -3
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, Optional, Inject, Pipe, Component, EventEmitter, ViewChild, Input, Output, NgModule, HostListener } from '@angular/core';
|
|
3
3
|
import * as i5 from '@tilde-nlp/ngx-common';
|
|
4
|
-
import { LAST_USED_SYSTEM_LOCAL_STORAGE_KEY, SortHelper, OpenCloseButtonComponent, CloseButtonModule, SortTranslationsModule, OpenCloseButtonModule, LanguageTranslateModule, InlineMessageType, InlineMessageIconPosition, InlineMessageModule, AuthHeadersHelper, ConversionHelper, FileExtensionHelper, FileExtensions, NotificationMessageType, FileUploadModule, HtmlHelper, ExtensionDialogModule, FilterWithHighlightPipe, FilterWithHighlightModule, ClickOutsideModule, TerminologyModule,
|
|
4
|
+
import { LAST_USED_SYSTEM_LOCAL_STORAGE_KEY, SortHelper, OpenCloseButtonComponent, CloseButtonModule, SortTranslationsModule, OpenCloseButtonModule, LanguageTranslateModule, InlineMessageType, InlineMessageIconPosition, InlineMessageModule, AuthHeadersHelper, ConversionHelper, FileExtensionHelper, FileExtensions, NotificationMessageType, FileUploadModule, HtmlHelper, ExtensionDialogModule, FilterWithHighlightPipe, FilterWithHighlightModule, ClickOutsideModule, TerminologyModule, NotificationMessageModule, CompanyProductModule, StatusDisplayModule, ALERT_CONFIGURATION_TOKEN } from '@tilde-nlp/ngx-common';
|
|
5
5
|
import { ReplaySubject, Subject, BehaviorSubject, of, timer, throwError, forkJoin } from 'rxjs';
|
|
6
6
|
import * as i1 from '@ngx-translate/core';
|
|
7
7
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
8
8
|
import * as i3 from '@ngbracket/ngx-layout/flex';
|
|
9
9
|
import * as i4 from '@angular/material/menu';
|
|
10
10
|
import { MatMenu, MatMenuModule } from '@angular/material/menu';
|
|
11
|
-
import { takeUntil, map, catchError, retryWhen, mergeMap, take, distinctUntilChanged, debounce, tap } from 'rxjs/operators';
|
|
11
|
+
import { takeUntil, map, catchError, retryWhen, mergeMap, take, distinctUntilChanged, debounce, tap, finalize } from 'rxjs/operators';
|
|
12
12
|
import * as i2 from '@angular/common';
|
|
13
13
|
import { CommonModule, TitleCasePipe } from '@angular/common';
|
|
14
14
|
import * as i5$1 from '@ngbracket/ngx-layout/extended';
|
|
@@ -20,14 +20,14 @@ import { MatTooltipModule } from '@angular/material/tooltip';
|
|
|
20
20
|
import * as i6 from '@angular/cdk/scrolling';
|
|
21
21
|
import * as i4$1 from '@angular/forms';
|
|
22
22
|
import { FormsModule } from '@angular/forms';
|
|
23
|
-
import * as
|
|
23
|
+
import * as i6$1 from '@angular/material/icon';
|
|
24
24
|
import { MatIconModule } from '@angular/material/icon';
|
|
25
25
|
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
|
|
26
26
|
import * as i2$2 from '@angular/material/dialog';
|
|
27
27
|
import { MatDialogConfig, MatDialogModule, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
28
28
|
import { saveAs } from 'file-saver';
|
|
29
29
|
import * as i5$2 from '@tilde-nlp/ngx-services';
|
|
30
|
-
import { QuotaType } from '@tilde-nlp/ngx-services';
|
|
30
|
+
import { QuotaType, LLMUseCase } from '@tilde-nlp/ngx-services';
|
|
31
31
|
import * as i1$1 from '@angular/common/http';
|
|
32
32
|
import * as i3$1 from '@angular/platform-browser';
|
|
33
33
|
import * as i11 from '@angular/material/progress-bar';
|
|
@@ -43,6 +43,7 @@ import { MatInputModule } from '@angular/material/input';
|
|
|
43
43
|
import * as i4$2 from '@angular/material/form-field';
|
|
44
44
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
45
45
|
import * as i10 from '@angular/cdk/text-field';
|
|
46
|
+
import { marked } from 'marked';
|
|
46
47
|
import * as $ from 'jquery';
|
|
47
48
|
import * as i5$3 from '@angular/router';
|
|
48
49
|
|
|
@@ -536,50 +537,6 @@ const i18n_de = {
|
|
|
536
537
|
"PLAY": "Anhören",
|
|
537
538
|
"PAUSE": "Pause"
|
|
538
539
|
},
|
|
539
|
-
"LLM": {
|
|
540
|
-
"SUMMARY": "Zusammenfassung erstellen",
|
|
541
|
-
"REPHRASE": "Übersetzung umformulieren",
|
|
542
|
-
"MENU_TOOLTIP": "Übersetzung umformulieren oder zusammenfassen",
|
|
543
|
-
"MENU_DISABLED_TOOLTIP": "Auf Übersetzung warten, um Funktionen zur Umformulierung oder Zusammenfassung zu nutzen",
|
|
544
|
-
"MENU_SUMMARY_DISABLED_TOOLTIP": "Mindestens 100 Symbole zur Nutzung der Zusammenfassungsfunktion bereitstellen",
|
|
545
|
-
"UNSUPPORTED_MENU_DISABLED_TOOLTIP": "Funktion ist nur für Textübersetzung verfügbar",
|
|
546
|
-
"EU_DATA_TOOLTIP": "Wir nutzen den Azure OpenAI Service, die eingegebenen Daten werden sicher auf Servern innerhalb der EU verarbeitet",
|
|
547
|
-
"REPHRASE_MODAL": {
|
|
548
|
-
"TITLE": "Übersetzung umformulieren",
|
|
549
|
-
"DESCRIPTION": "Text in einem bestimmten Schreibstil umformulieren und Sprache und Tonfall an einen bestimmten Zielstil oder Zieltonfall anpassen.",
|
|
550
|
-
"CLOSE": "Schließen",
|
|
551
|
-
"CANCEL": "Abbrechen",
|
|
552
|
-
"ACTION": "Umformulieren",
|
|
553
|
-
"REPHRASING": "Umformulierung...",
|
|
554
|
-
"LIMIT": "Heute verbleibende Umformulierungen: <span class='text-m-semi-bold'>{{limit}}</span>. Sie benötigen mehr? <a href='{{subscriptionUrl}}' target='_blank'>Ein Abonnement erhalten</a>",
|
|
555
|
-
"WRITING_STYLES": {
|
|
556
|
-
"TITLE": "Schreibstil",
|
|
557
|
-
"TOOLTIP_GENERAL": "Förmlichkeit: Ein geringes bis mittleres Maß an Förmlichkeit verwenden. \nVokabular: Optimale für einfache und klare Sprache, vermeidet technischen Jargon. \nSatzbau: Einfache bis moderate Komplexität der Sätze wahren. \nTonfall: Einen freundlichen und ansprechenden Tonfall wahren.",
|
|
558
|
-
"TOOLTIP_PROFESSIONAL": "Förmlichkeit: Ein mittleres bis hohes Maß an Förmlichkeit verwenden. \nVokabular: Branchenspezifische Terminologie und branchenspezifischen Jargon verwenden, wo zutreffend. \nSatzbau: Sicherstellen, dass Sätze klar und prägnant sind und eine gewisse Komplexität aufweisen. \nTonfall: Einen professionellen, respektvollen und direkten Tonfall wahren.",
|
|
559
|
-
"TOOLTIP_ACADEMIC": "Förmlichkeit: Ein hohes Maß an Förmlichkeit verwenden. \nVokabular: Technische und themenspezifische Technologie aufnehmen. \nSatzbau: Komplexen Satzbau mit einem Fokus auf Klarheit und Prägnanz verwenden. \nTonfall: Einen objektiven, analytischen und eher unpersönlichen Tonfall wahren.",
|
|
560
|
-
"SPECIFIC_STYLE": "{{style}}-Schreibstil",
|
|
561
|
-
"GENERAL": "Allgemein",
|
|
562
|
-
"PROFESSIONAL": "Professionell",
|
|
563
|
-
"ACADEMIC": "Akademisch"
|
|
564
|
-
}
|
|
565
|
-
},
|
|
566
|
-
"SUMMARY_MODAL": {
|
|
567
|
-
"TITLE": "Übersetzungszusammenfassung",
|
|
568
|
-
"DESCRIPTION": "Lange Texte mit unserer fortschrittlichen LLM-Funktion schnell verständlich zusammenfassen.",
|
|
569
|
-
"CANCEL": "Abbrechen",
|
|
570
|
-
"CLOSE": "Schließen",
|
|
571
|
-
"ACTION": "Zusammenfassung erstellen",
|
|
572
|
-
"REGENERATE": "Erneut generieren",
|
|
573
|
-
"LIMIT": "Heute verbleibende Zusammenfassungen: <span class='text-m-semi-bold'>{{limit}}</span>. Sie benötigen mehr? <a href='{{subscriptionUrl}}' target='_blank'>Ein Abonnement erhalten</a>"
|
|
574
|
-
},
|
|
575
|
-
"ERRORS": {
|
|
576
|
-
"QUOTA_LIMIT": "Sie haben die Grenze Ihres Kontingents erreicht. Sie benötigen mehr? <a href='{{subscriptionUrl}}' target='_blank'>Ein Abonnement erhalten</a>",
|
|
577
|
-
"QUOTA_LIMIT_REACHED": "Sie haben die Grenze Ihres Kontingents erreicht. Sie benötigen mehr? <a href='{{subscriptionUrl}}' target='_blank'>Ein Abonnement erhalten</a>",
|
|
578
|
-
"DEFAULT": "Scheinbar gab es ein Problem, bitte <bold>wiederholen</bold> Sie den Vorgang. Wenden Sie sich an unser <a href='mailto:{{supportEmail}}' target='_blank'>Supportteam</a>, falls es nicht funktioniert.",
|
|
579
|
-
"REPHRASE_REQUEST_TIMEOUT": "Das Umformulieren hat zu viel Zeit in Anspruch genommen. Versuchen Sie es erneut oder kontaktieren Sie unser <a href='mailto:{{supportEmail}}' target='_blank'>Support-Team</a>.",
|
|
580
|
-
"SUMMARY_REQUEST_TIMEOUT": "Das Zusammenfassen hat zu viel Zeit in Anspruch genommen. Versuchen Sie es erneut oder kontaktieren Sie unser <a href='mailto:{{supportEmail}}' target='_blank'>Support-Team</a>."
|
|
581
|
-
}
|
|
582
|
-
},
|
|
583
540
|
"DICTIONARY": {
|
|
584
541
|
"SOURCE": "Ergebnisse von {{src}}"
|
|
585
542
|
}
|
|
@@ -644,11 +601,14 @@ const i18n_en = {
|
|
|
644
601
|
"PDF_PAGE_LIMIT_MSG_TITLE": "Translation limit",
|
|
645
602
|
"PDF_PAGE_LIMIT_MSG": "Only the first page will be translated.",
|
|
646
603
|
"PDF_PAGE_LIMIT_MSG_SUBSCRIPTION": " You need a Tilde MT subscription to translate full PDF files. <a href=\"{{pricingUrl}}\" target='_blank'>start with a free trial</a>",
|
|
647
|
-
"CLEAR_SOURCE_TOOLTIP": "Clear text"
|
|
604
|
+
"CLEAR_SOURCE_TOOLTIP": "Clear text",
|
|
605
|
+
"SUMMARY": {
|
|
606
|
+
"TITLE": "Summary",
|
|
607
|
+
"CREATING": "Creating summary"
|
|
608
|
+
},
|
|
648
609
|
},
|
|
649
610
|
"MULTIPLE_FILES": {
|
|
650
|
-
"
|
|
651
|
-
"CLEAR_ALL": "Cancel",
|
|
611
|
+
"CLEAR_ALL": "Close",
|
|
652
612
|
"DOWNLOAD": "Download",
|
|
653
613
|
"STATUSS_INITIALIZING": "Initializing",
|
|
654
614
|
"STATUSS_EXTRACTING": "Extracting",
|
|
@@ -843,6 +803,7 @@ const i18n_en = {
|
|
|
843
803
|
"SHOW_EXTENSIONS": "Show other download options",
|
|
844
804
|
"COPY": "Copy to clipboard",
|
|
845
805
|
"REFRESH": "Refresh translation",
|
|
806
|
+
"CREATE_SUMMARY": "Create summary",
|
|
846
807
|
"OPEN_IN_NEW": "Open in new tab",
|
|
847
808
|
"SWAP_LANGUAGES": "Swap languages",
|
|
848
809
|
"OTHER_LANGUAGES_TRIGGER": "Show other languages"
|
|
@@ -851,7 +812,8 @@ const i18n_en = {
|
|
|
851
812
|
"COPY": "Copy to clipboard",
|
|
852
813
|
"REFRESH": "Refresh translation",
|
|
853
814
|
"SWAP_LANGUAGES": "Swap languages",
|
|
854
|
-
"DISLIKE": "Dislike"
|
|
815
|
+
"DISLIKE": "Dislike",
|
|
816
|
+
"CREATE_SUMMARY": "Create summary"
|
|
855
817
|
},
|
|
856
818
|
"PDF_CONVERSION": {
|
|
857
819
|
"TITLE_1": "PDF translation",
|
|
@@ -1074,49 +1036,6 @@ const i18n_en = {
|
|
|
1074
1036
|
"PLAY": "Listen",
|
|
1075
1037
|
"PAUSE": "Pause"
|
|
1076
1038
|
},
|
|
1077
|
-
"LLM": {
|
|
1078
|
-
"SUMMARY": "Create summary",
|
|
1079
|
-
"REPHRASE": "Rephrase translation",
|
|
1080
|
-
"MENU_TOOLTIP": "Rephrase or summarize translation",
|
|
1081
|
-
"MENU_DISABLED_TOOLTIP": "Wait for translation to use rephrasing or summarizing features",
|
|
1082
|
-
"MENU_SUMMARY_DISABLED_TOOLTIP": "Provide atleast 100 symbols to use summary feature",
|
|
1083
|
-
"MENU_REPHRASE_DISABLED_TOOLTIP": "Rephrase is not available for selected language",
|
|
1084
|
-
"UNSUPPORTED_MENU_DISABLED_TOOLTIP": "Feature is available for text translation only",
|
|
1085
|
-
"EU_DATA_TOOLTIP": "We utilise the Azure OpenAI Service, the entered data is securely processed on servers located within the EU",
|
|
1086
|
-
"REPHRASE_MODAL": {
|
|
1087
|
-
"TITLE": "Rephrase translation",
|
|
1088
|
-
"DESCRIPTION": "Rephrase text into a specified writing style, adapting the language and tone to match a given target style or voice.",
|
|
1089
|
-
"CLOSE": "Close",
|
|
1090
|
-
"CANCEL": "Cancel",
|
|
1091
|
-
"ACTION": "Rephrase",
|
|
1092
|
-
"LIMIT": "Rephrases left today: <span class='text-m-semi-bold'>{{limit}}</span>. Need more? <a href='{{subscriptionUrl}}' target='_blank'>Get a subscription</a>",
|
|
1093
|
-
"WRITING_STYLES": {
|
|
1094
|
-
"TITLE": "Writing style",
|
|
1095
|
-
"TOOLTIP_GENERAL": "Formality: Use a low to medium level of formality. \nVocabulary: Optimal for simple and clear language, avoiding technical jargon. \nSentence Structure: Keep sentences simple to moderately complex. \nTone: Maintain a friendly and engaging tone.",
|
|
1096
|
-
"TOOLTIP_PROFESSIONAL": "Formality: Use a medium to high level of formality. \nVocabulary: Utilize industry-specific terminology and jargon where appropriate. \nSentence Structure: Ensure sentences are clear and concise, with some complexity. \nTone: Maintain a professional, respectful, and straightforward tone.",
|
|
1097
|
-
"TOOLTIP_ACADEMIC": "Formality: Use a high level of formality. \nVocabulary: Incorporate technical and subject-specific terminology. \nSentence Structure: Utilize complex sentence structures with a focus on clarity and precision. \nTone: Maintain an objective, analytical, and sometimes impersonal tone.",
|
|
1098
|
-
"SPECIFIC_STYLE": "{{style}} writing style",
|
|
1099
|
-
"GENERAL": "General",
|
|
1100
|
-
"PROFESSIONAL": "Professional",
|
|
1101
|
-
"ACADEMIC": "Academic"
|
|
1102
|
-
},
|
|
1103
|
-
},
|
|
1104
|
-
"SUMMARY_MODAL": {
|
|
1105
|
-
"TITLE": "Translation summary",
|
|
1106
|
-
"DESCRIPTION": "Quickly condense lengthy texts into clear summaries using our advanced LLM feature.",
|
|
1107
|
-
"CANCEL": "Cancel",
|
|
1108
|
-
"CLOSE": "Close",
|
|
1109
|
-
"ACTION": "Create summary",
|
|
1110
|
-
"REGENERATE": "Re-generate",
|
|
1111
|
-
"LIMIT": "Summaries left today: <span class='text-m-semi-bold'>{{limit}}</span>. Need more? <a href='{{subscriptionUrl}}' target='_blank'>Get a subscription</a>",
|
|
1112
|
-
},
|
|
1113
|
-
"ERRORS": {
|
|
1114
|
-
"QUOTA_LIMIT_REACHED": "You have reached your quota limit. Need more? <a href='{{subscriptionUrl}}' target='_blank'>Get a subscription</a>",
|
|
1115
|
-
"DEFAULT": "It seems like we had problem, please <bold>repeat</bold> action, if it doesn't work, contact our <a href='mailto:{{supportEmail}}' target='_blank'>support team</a>.",
|
|
1116
|
-
"REPHRASE_REQUEST_TIMEOUT": "Rephrasing took too much time. Try again, or contact our <a href='mailto:{{supportEmail}}' target='_blank'>support team</a>.",
|
|
1117
|
-
"SUMMARY_REQUEST_TIMEOUT": "Summarizing took too much time. Try again, or contact our <a href='mailto:{{supportEmail}}' target='_blank'>support team</a>."
|
|
1118
|
-
},
|
|
1119
|
-
},
|
|
1120
1039
|
"DICTIONARY": {
|
|
1121
1040
|
"SOURCE": "Results from {{src}}"
|
|
1122
1041
|
}
|
|
@@ -1611,50 +1530,6 @@ const i18n_et = {
|
|
|
1611
1530
|
"PLAY": "Kuulake",
|
|
1612
1531
|
"PAUSE": "Peata"
|
|
1613
1532
|
},
|
|
1614
|
-
"LLM": {
|
|
1615
|
-
"SUMMARY": "Kokkuvõtte loomine",
|
|
1616
|
-
"REPHRASE": "Tõlke ümbersõnastamine",
|
|
1617
|
-
"MENU_TOOLTIP": "Tõlke ümbersõnastamine või kokkuvõte",
|
|
1618
|
-
"MENU_DISABLED_TOOLTIP": "Ümbersõnastamise või kokkuvõtte funktsioonide kasutamiseks oodake tõlget.",
|
|
1619
|
-
"MENU_SUMMARY_DISABLED_TOOLTIP": "Esitage kokkuvõttefunktsiooni kasutamiseks vähemalt 100 sümbolit.",
|
|
1620
|
-
"UNSUPPORTED_MENU_DISABLED_TOOLTIP": "Funktsioon on saadaval ainult teksti tõlkimiseks.",
|
|
1621
|
-
"EU_DATA_TOOLTIP": "Kasutame Azure OpenAI teenust, sisestatud andmeid töödeldakse turvaliselt EL-is asuvates serverites",
|
|
1622
|
-
"REPHRASE_MODAL": {
|
|
1623
|
-
"TITLE": "Tõlke ümbersõnastamine",
|
|
1624
|
-
"DESCRIPTION": "Sõnastage tekst ümber kindlaksmääratud kirjastiili, kohandades keelt ja tooni vastavalt sihtstiilile või -häälele.",
|
|
1625
|
-
"CLOSE": "Sulge",
|
|
1626
|
-
"CANCEL": "Loobu",
|
|
1627
|
-
"ACTION": "Ümbersõnastamine",
|
|
1628
|
-
"REPHRASING": "Ümbersõnastamine...",
|
|
1629
|
-
"LIMIT": "Täna jäetud ümbersõnastused: <span class='text-m-semi-bold'>{{limit}}</span>. Lisateave <a href='{{subscriptionUrl}}' target='_blank'>Hankige tellimus</a>",
|
|
1630
|
-
"WRITING_STYLES": {
|
|
1631
|
-
"TITLE": "Kirjutamisstiil",
|
|
1632
|
-
"TOOLTIP_GENERAL": "Formaalsus: Kasutage madalat kuni keskmist formaalsust. \nSõnastik: Optimaalne on lihtne ja selge keel, vältides tehnilist oskuskeelt. \nLauseehitus: Hoidke laused lihtsad kuni mõõdukalt keerulised. \nToon: säilitage sõbralik ja kaasav toon.",
|
|
1633
|
-
"TOOLTIP_PROFESSIONAL": "Formaalsus: Kasutage keskmist kuni suurt formaalsust. \nSõnastik: Vajaduse korral kasutada valdkonnapõhist terminoloogiat ja oskuskeelt. \nLauseehitus: Veenduge, et laused on selged ja lühikesed, kuid mingil määral keerulised. \nToon: Säilitage professionaalne, lugupidav ja otsekohene toon.",
|
|
1634
|
-
"TOOLTIP_ACADEMIC": "Formaalsus: Kasutage suurt formaalsust. \nSõnastik: Tehnilise ja erialase terminoloogia kaasamine. \nLauseehitus: Kasutage keerulisi lauseehitusi, keskendudes selgusele ja täpsusele. \nToon: Säilitage objektiivne, analüütiline ja mõnikord neutraalne toon.",
|
|
1635
|
-
"SPECIFIC_STYLE": "{{style}} kirjutamisstiil",
|
|
1636
|
-
"GENERAL": "Üldine",
|
|
1637
|
-
"PROFESSIONAL": "Professionaalne",
|
|
1638
|
-
"ACADEMIC": "Akadeemiline"
|
|
1639
|
-
}
|
|
1640
|
-
},
|
|
1641
|
-
"SUMMARY_MODAL": {
|
|
1642
|
-
"TITLE": "Tõlke kokkuvõte",
|
|
1643
|
-
"DESCRIPTION": "Tehke pikad tekstid kiiresti selgeteks kokkuvõteteks, kasutades meie täiustatud LLM-funktsiooni.",
|
|
1644
|
-
"CANCEL": "Loobu",
|
|
1645
|
-
"CLOSE": "Sulge",
|
|
1646
|
-
"ACTION": "Kokkuvõtte loomine",
|
|
1647
|
-
"REGENERATE": "Uuesti loomine",
|
|
1648
|
-
"LIMIT": "Täna jäetud ümbersõnastused <span class='text-m-semi-bold'>{{limit}}</span>. Lisateave <a href='{{subscriptionUrl}}' target='_blank'>Uuendage tellimust</a>"
|
|
1649
|
-
},
|
|
1650
|
-
"ERRORS": {
|
|
1651
|
-
"QUOTA_LIMIT": "Olete saavutanud oma limiidi. Lisateave <a href='{{subscriptionUrl}}' target='_blank'>Uuendage tellimust</a>",
|
|
1652
|
-
"QUOTA_LIMIT_REACHED": "Olete saavutanud oma limiidi. Lisateave <a href='{{subscriptionUrl}}' target='_blank'>Uuendage tellimust</a>",
|
|
1653
|
-
"DEFAULT": "Näib, et meil on probleem, palun <bold>korrake</bold> tegevust. Kui see ei õnnestu, võtke ühendust meie<a href='mailto:{{supportEmail}}' target='_blank'>tugimeeskonnaga</a>.",
|
|
1654
|
-
"REPHRASE_REQUEST_TIMEOUT": "Ümberfraaside tegemine võttis liiga kaua aega. Proovige uuesti või võtke ühendust meie <a href='mailto:{{supportEmail}}' target='_blank'>tugitiimiga</a>.",
|
|
1655
|
-
"SUMMARY_REQUEST_TIMEOUT": "Kokkuvõtte koostamine võttis liiga kaua aega. Proovige uuesti või võtke ühendust meie <a href='mailto:{{supportEmail}}' target='_blank'>tugitiimiga</a>."
|
|
1656
|
-
}
|
|
1657
|
-
},
|
|
1658
1533
|
"DICTIONARY": {
|
|
1659
1534
|
"SOURCE": "Tulemused {{src}}-st"
|
|
1660
1535
|
}
|
|
@@ -2154,50 +2029,6 @@ const i18n_fi = {
|
|
|
2154
2029
|
"PLAY": "Kuuntele",
|
|
2155
2030
|
"PAUSE": "Pysäytys"
|
|
2156
2031
|
},
|
|
2157
|
-
"LLM": {
|
|
2158
|
-
"SUMMARY": "Luo tiivistelmä",
|
|
2159
|
-
"REPHRASE": "Muotoile käännös uudelleen",
|
|
2160
|
-
"MENU_TOOLTIP": "Muotoile käännös uudelleen tai luo siitä tiivistelmä",
|
|
2161
|
-
"MENU_DISABLED_TOOLTIP": "Odota käännöstä voidaksesi käyttää uudelleenmuotoilu- tai tiivistelmäominaisuuksia",
|
|
2162
|
-
"MENU_SUMMARY_DISABLED_TOOLTIP": "Anna vähintään 100 merkkiä voidaksesi käyttää tiivistelmäominaisuutta",
|
|
2163
|
-
"UNSUPPORTED_MENU_DISABLED_TOOLTIP": "Ominaisuutta voidaan käyttää ainoastaan tekstikäännöksiin",
|
|
2164
|
-
"EU_DATA_TOOLTIP": "Käytämme Azure OpenAI -palvelua, syötetyt tiedot käsitellään turvallisesti EU:n alueella sijaitsevilla palvelimilla",
|
|
2165
|
-
"REPHRASE_MODAL": {
|
|
2166
|
-
"TITLE": "Muotoile käännös uudelleen",
|
|
2167
|
-
"DESCRIPTION": "Muotoile teksti uudelleen määritetyn kirjoitustyylin mukaisesti mukauttamalla kieltä ja sävyä vastaamaan annettua kohdekieltä tai -ääntä.",
|
|
2168
|
-
"CLOSE": "Sulje",
|
|
2169
|
-
"CANCEL": "Peruuta",
|
|
2170
|
-
"ACTION": "Muotoile uudelleen",
|
|
2171
|
-
"REPHRASING": "Muotoillaan uudelleen...",
|
|
2172
|
-
"LIMIT": "Uudelleenmuotoiluja jäljellä tänään: <span class='text-m-semi-bold'>{{limit}}</span> Tarvitsetko lisää? <a href='{{subscriptionUrl}}' target='_blank'>Hanki tilaus</a>",
|
|
2173
|
-
"WRITING_STYLES": {
|
|
2174
|
-
"TITLE": "Kirjoitustyyli",
|
|
2175
|
-
"TOOLTIP_GENERAL": "Muodollisuus: Valitse muodollisuusasteeksi matala tai keskitaso. \nSanasto: Ihanteellinen ratkaisu, kun kieli on yksinkertaista ja selkeää eikä sisällä teknistä sanastoa. \nLauserakenne: Pidä lauserakenteiden vaativuustaso yksinkertaisena tai kohtuullisena. \nSävy: Pidä sävy ystävällisenä ja osallistavana.",
|
|
2176
|
-
"TOOLTIP_PROFESSIONAL": "Muodollisuus: Valitse muodollisuusasteeksi keskitaso tai korkea. \nSanasto: Käytä asianmukaisissa tilanteissa alakohtaista termistöä ja sanastoa. \nLauserakenne: Varmista, että lauseet ovat selkeitä ja ytimekkäitä, mutta jonkin verran monimuotoisia. \nSävy: Pidä sävy ammattimaisena, kunnioittavana ja suorana.",
|
|
2177
|
-
"TOOLTIP_ACADEMIC": "Muodollisuus: Valitse muodollisuusasteeksi korkea. \nSanasto: Sisällytä tekstiin teknistä ja aihekohtaista termistöä. \nLauserakenne: Käytä monimuotoisia lauserakenteita, joissa keskitytään selkeyteen ja tarkkuuteen. \nSävy: Pidä sävy objektiivisena, analyyttisena ja toisinaan persoonattomana.",
|
|
2178
|
-
"SPECIFIC_STYLE": "{{style}} kirjoitustyyli",
|
|
2179
|
-
"GENERAL": "Yleinen",
|
|
2180
|
-
"PROFESSIONAL": "Ammattimainen",
|
|
2181
|
-
"ACADEMIC": "Akateeminen"
|
|
2182
|
-
}
|
|
2183
|
-
},
|
|
2184
|
-
"SUMMARY_MODAL": {
|
|
2185
|
-
"TITLE": "Käännöksen tiivistelmä",
|
|
2186
|
-
"DESCRIPTION": "Luo pitkistä teksteistä nopeasti selkeitä tiivistelmiä edistyneellä LLM-ominaisuudellamme.",
|
|
2187
|
-
"CANCEL": "Peruuta",
|
|
2188
|
-
"CLOSE": "Sulje",
|
|
2189
|
-
"ACTION": "Luo tiivistelmä",
|
|
2190
|
-
"REGENERATE": "Luo uudelleen",
|
|
2191
|
-
"LIMIT": "Tiivistelmiä käytettävissä vielä tänään: <span class='text-m-semi-bold'>{{limit}}</span>. Tarvitsetko lisää? <a href='{{subscriptionUrl}}' target='_blank'>Hanki tilaus</a>"
|
|
2192
|
-
},
|
|
2193
|
-
"ERRORS": {
|
|
2194
|
-
"QUOTA_LIMIT": "Kiintiösi on täynnä. Tarvitsetko lisää? <a href='{{subscriptionUrl}}' target='_blank'>Hanki tilaus</a>",
|
|
2195
|
-
"QUOTA_LIMIT_REACHED": "Kiintiösi on täynnä. Tarvitsetko lisää? <a href='{{subscriptionUrl}}' target='_blank'>Hanki tilaus</a>",
|
|
2196
|
-
"DEFAULT": "Törmäsimme ongelmaan. Ole hyvä ja <bold>suorita toiminto uudelleen</bold>. Jos ongelma ei ratkea, ota yhteyttä <a href='mailto:{{supportEmail}}' target='_blank'>tukitiimiimme</a>.",
|
|
2197
|
-
"REPHRASE_REQUEST_TIMEOUT": "Uudelleenmuotoilu kesti liian kauan. Yritä uudelleen tai ota yhteyttä <a href='mailto:{{supportEmail}}' target='_blank'>tukitiimiimme</a>.",
|
|
2198
|
-
"SUMMARY_REQUEST_TIMEOUT": "Yhteenveto kesti liian kauan. Yritä uudelleen tai ota yhteyttä <a href='mailto:{{supportEmail}}' target='_blank'>tukitiimiimme</a>."
|
|
2199
|
-
}
|
|
2200
|
-
},
|
|
2201
2032
|
"DICTIONARY": {
|
|
2202
2033
|
"SOURCE": "Tulokset lähteestä {{src}}"
|
|
2203
2034
|
}
|
|
@@ -2693,50 +2524,6 @@ const i18n_lt = {
|
|
|
2693
2524
|
"PLAY": "Klausyti",
|
|
2694
2525
|
"PAUSE": "Pristabdyti"
|
|
2695
2526
|
},
|
|
2696
|
-
"LLM": {
|
|
2697
|
-
"SUMMARY": "Kurti santrauką",
|
|
2698
|
-
"REPHRASE": "Perfrazuoti vertimą",
|
|
2699
|
-
"MENU_TOOLTIP": "Perfrazuoti vertimą ar kurti jo santrauką",
|
|
2700
|
-
"MENU_DISABLED_TOOLTIP": "Palaukite, kol bus išversta, kad galėtumėte naudoti perfrazavimo ar santraukos kūrimo funkcijas",
|
|
2701
|
-
"MENU_SUMMARY_DISABLED_TOOLTIP": "Pateikite bent 100 simbolių, kad galėtumėte naudoti santraukos kūrimo funkciją",
|
|
2702
|
-
"UNSUPPORTED_MENU_DISABLED_TOOLTIP": "Funkcija pasiekiama tik teksto vertimui",
|
|
2703
|
-
"EU_DATA_TOOLTIP": "Naudojame Azure OpenAI paslaugą, įvesti duomenys saugiai apdorojami ES esančiuose serveriuose",
|
|
2704
|
-
"REPHRASE_MODAL": {
|
|
2705
|
-
"TITLE": "Perfrazuoti vertimą",
|
|
2706
|
-
"DESCRIPTION": "Perfrazuoti tekstą nurodytu rašymo stiliumi pritaikant kalbą ir toną prie tikslinio stiliaus ar tipo.",
|
|
2707
|
-
"CLOSE": "Uždaryti",
|
|
2708
|
-
"CANCEL": "Atšaukti",
|
|
2709
|
-
"ACTION": "Perfrazuoti",
|
|
2710
|
-
"REPHRASING": "Perfrazuojama...",
|
|
2711
|
-
"LIMIT": "Šiandien likę perfrazavimai: <span class='text-m-semi-bold'>{{limit}}</span>. Reikia daugiau? <a href='{{subscriptionUrl}}' target='_blank'>Gaukite prenumeratą</a>",
|
|
2712
|
-
"WRITING_STYLES": {
|
|
2713
|
-
"TITLE": "Rašymo stilius",
|
|
2714
|
-
"TOOLTIP_GENERAL": "Formalumas: taikyti mažą ar vidutinį formalumo lygį. \nŽodynas: optimalus paprastam ir aiškiam stiliui, vengti techninio žargono. \nSakinių struktūra: sakiniai turi būti paprasti arba vidutinio sudėtingumo. \nTonas: išlaikyti draugišką ir patrauklų toną.",
|
|
2715
|
-
"TOOLTIP_PROFESSIONAL": "Formalumas: taikyti vidutinį ar aukštą formalumo lygį. \nŽodynas: prireikus naudoti konkrečios srities terminologiją ir žargoną. \nSakinių struktūra: užtikrinkite, kad sakiniai būtų aiškūs ir glausti, šiek tiek sudėtingesni. \nTonas: išlaikykite profesionalų, pagarbų ir paprastą toną.",
|
|
2716
|
-
"TOOLTIP_ACADEMIC": "Formalumas: taikyti aukštą formalumo lygį. \nŽodynas: įtraukti techninę ir konkrečios srities terminologiją. \nSakinių struktūra: naudoti sudėtingas sakinių struktūras daugiausia dėmesio skiriant aiškumui ir tikslumui. \nTonas: išlaikyti objektyvų, analitinį ir kartais nuasmenintą toną.",
|
|
2717
|
-
"SPECIFIC_STYLE": "{{style}} rašymo stilius",
|
|
2718
|
-
"GENERAL": "Bendrasis",
|
|
2719
|
-
"PROFESSIONAL": "Profesionalus",
|
|
2720
|
-
"ACADEMIC": "Akademinis"
|
|
2721
|
-
}
|
|
2722
|
-
},
|
|
2723
|
-
"SUMMARY_MODAL": {
|
|
2724
|
-
"TITLE": "vertimo santrauka",
|
|
2725
|
-
"DESCRIPTION": "Greitai sutrumpinti ilgus tekstus į aiškias santraukas naudojant LLM funkciją.",
|
|
2726
|
-
"CANCEL": "Atšaukti",
|
|
2727
|
-
"CLOSE": "Uždaryti",
|
|
2728
|
-
"ACTION": "Kurti santrauką",
|
|
2729
|
-
"REGENERATE": "Generuoti iš naujo",
|
|
2730
|
-
"LIMIT": "Šiandien likusios santraukos: <span class='text-m-semi-bold'>{{limit}}</span>. Reikia daugiau? <a href='{{subscriptionUrl}}' target='_blank'>Gaukite prenumeratą</a>"
|
|
2731
|
-
},
|
|
2732
|
-
"ERRORS": {
|
|
2733
|
-
"QUOTA_LIMIT": "Pasiekėte savo kiekio limitą. Reikia daugiau? <a href='{{subscriptionUrl}}' target='_blank'>Gaukite prenumeratą</a>",
|
|
2734
|
-
"QUOTA_LIMIT_REACHED": "Pasiekėte savo kiekio limitą. Reikia daugiau? <a href='{{subscriptionUrl}}' target='_blank'>Gaukite prenumeratą</a>",
|
|
2735
|
-
"DEFAULT": "Atrodo, kilo problema. <bold>Pakartokite</bold> veiksmą, o jei tai nepadeda, susisiekite su mūsų <a href='mailto:{{supportEmail}}' target='_blank'>palaikymo komanda</a>.",
|
|
2736
|
-
"REPHRASE_REQUEST_TIMEOUT": "Pareiškimas užtruko per ilgai. Bandykite dar kartą arba susisiekite su mūsų <a href='mailto:{{supportEmail}}' target='_blank'>pagalbos komanda</a>.",
|
|
2737
|
-
"SUMMARY_REQUEST_TIMEOUT": "Santrauka užtruko per ilgai. Bandykite dar kartą arba susisiekite su mūsų <a href='mailto:{{supportEmail}}' target='_blank'>pagalbos komanda</a>."
|
|
2738
|
-
}
|
|
2739
|
-
},
|
|
2740
2527
|
"DICTIONARY": {
|
|
2741
2528
|
"SOURCE": "Rezultatai iš {{src}}"
|
|
2742
2529
|
}
|
|
@@ -2803,7 +2590,11 @@ const i18n_lv = {
|
|
|
2803
2590
|
"WORD_TYPE_ADVERB": "apstākļa vārds",
|
|
2804
2591
|
"WORD_TYPE_CONJUNCTION": "saiklis",
|
|
2805
2592
|
"WORD_TYPE_INTERJECTION": "izsauksmes vārds",
|
|
2806
|
-
"WORD_TYPE_PRONOUN": "vietniekvārds"
|
|
2593
|
+
"WORD_TYPE_PRONOUN": "vietniekvārds",
|
|
2594
|
+
"SUMMARY": {
|
|
2595
|
+
"TITLE": "Kopsavilkums",
|
|
2596
|
+
"CREATING": "Veidojam kopsavilkumu"
|
|
2597
|
+
},
|
|
2807
2598
|
},
|
|
2808
2599
|
"LANGUAGES": {
|
|
2809
2600
|
"AUTO": "Noteikt valodu",
|
|
@@ -2877,7 +2668,7 @@ const i18n_lv = {
|
|
|
2877
2668
|
"IMAGE_DISCLAIMER_LINK": "Lasiet par attēla pārveidošanu.",
|
|
2878
2669
|
"SCREEN_READER_ANNOUNCEMENT": "Iztulkoti {{translated}} faili no {{total}}.",
|
|
2879
2670
|
"REMOVE_FILE_TOOLTIP": "Notīrīt failu",
|
|
2880
|
-
"CLEAR_ALL": "
|
|
2671
|
+
"CLEAR_ALL": "Aizvērt",
|
|
2881
2672
|
"DOWNLOAD": "Lejupielādēt",
|
|
2882
2673
|
"STATUSS_INITIALIZING": "Notiek inicializēšana",
|
|
2883
2674
|
"STATUSS_EXTRACTING": "Notiek izvilkšana",
|
|
@@ -3004,13 +2795,15 @@ const i18n_lv = {
|
|
|
3004
2795
|
"CLOSE_DIALOG": "Aizvērt dialoglodziņu",
|
|
3005
2796
|
"CLEAR_FILES": "Notīrīt augšupielādētos failus",
|
|
3006
2797
|
"SHOW_EXTENSIONS": "Rādīt citas lejupielādes iespējas",
|
|
3007
|
-
"REFRESH": "Atsvaidzināt tulkojumu"
|
|
2798
|
+
"REFRESH": "Atsvaidzināt tulkojumu",
|
|
2799
|
+
"CREATE_SUMMARY": "Uztaisīt kopsavilkumu"
|
|
3008
2800
|
},
|
|
3009
2801
|
"TOOLTIPS": {
|
|
3010
2802
|
"COPY": "Kopēt starpliktuvē",
|
|
3011
2803
|
"SWAP_LANGUAGES": "Pārslēgt valodas",
|
|
3012
2804
|
"REFRESH": "Atsvaidzināt tulkojumu",
|
|
3013
|
-
"DISLIKE": "Nepatīk"
|
|
2805
|
+
"DISLIKE": "Nepatīk",
|
|
2806
|
+
"CREATE_SUMMARY": "Uztaisīt kopsavilkumu"
|
|
3014
2807
|
},
|
|
3015
2808
|
"PDF_CONVERSION": {
|
|
3016
2809
|
"TITLE_1": "PDF failu tulkošana",
|
|
@@ -3233,50 +3026,6 @@ const i18n_lv = {
|
|
|
3233
3026
|
"PLAY": "Klausīties",
|
|
3234
3027
|
"PAUSE": "Pauze"
|
|
3235
3028
|
},
|
|
3236
|
-
"LLM": {
|
|
3237
|
-
"SUMMARY": "Izveidot kopsavilkumu",
|
|
3238
|
-
"REPHRASE": "Pārfrāzēt tulkojumu",
|
|
3239
|
-
"MENU_TOOLTIP": "Pārfrāzējiet tulkojumu vai izveidojiet tā kopsavilkumu",
|
|
3240
|
-
"MENU_DISABLED_TOOLTIP": "Uzgaidiet, līdz tulkošana ir pabeigta, lai izmantotu pārfrāzēšanas vai kopsavilkuma veidošanas funkcijas",
|
|
3241
|
-
"MENU_SUMMARY_DISABLED_TOOLTIP": "Lai izmantotu kopsavilkuma funkciju, nodrošiniet vismaz 100 simbolus",
|
|
3242
|
-
"UNSUPPORTED_MENU_DISABLED_TOOLTIP": "Funkcija ir pieejama tikai teksta tulkošanai",
|
|
3243
|
-
"EU_DATA_TOOLTIP": "Mēs izmantojam Azure OpenAI pakalpojumu, ievadītie dati tiek droši apstrādāti serveros, kas atrodas ES",
|
|
3244
|
-
"REPHRASE_MODAL": {
|
|
3245
|
-
"TITLE": "Tulkojuma pārfrāzēšana",
|
|
3246
|
-
"DESCRIPTION": "Pārfrāzējiet tekstu norādītajā rakstības stilā, pielāgojot valodu un toni, lai tas atbilstu norādītajam mērķa stilam vai vēstījumam.",
|
|
3247
|
-
"CLOSE": "Aizvērt",
|
|
3248
|
-
"CANCEL": "Atcelt",
|
|
3249
|
-
"ACTION": "Pārfrāzēt",
|
|
3250
|
-
"REPHRASING": "Pārfrāzēšana...",
|
|
3251
|
-
"LIMIT": "Šodien atlikušās pārfrāzēšanas darbības: <span class='text-m-semi-bold'>{{limit}}</span>. Vai nepieciešams vairāk? <a href='{{subscriptionUrl}}' target='_blank'>Iegūstiet abonementu</a>",
|
|
3252
|
-
"WRITING_STYLES": {
|
|
3253
|
-
"TITLE": "Rakstības stils",
|
|
3254
|
-
"TOOLTIP_GENERAL": "Formālisms: izmantojiet zema līdz vidēja līmeņa formālismu. \nLeksika: optimāls vienkāršai un skaidrai valodai, izvairoties no tehniskā žargona. \nTeikumu struktūra: izmantojiet vienkāršus līdz vidēji sarežģītus teikumus. \nTonis: uzturiet draudzīgu un iesaistošu toni.",
|
|
3255
|
-
"TOOLTIP_PROFESSIONAL": "Formālisms: izmantojiet vidēja līdz augsta līmeņa formālismu. \nLeksika: pēc nepieciešamības izmantojiet nozarei raksturīgu terminoloģiju un žargonu. \nTeikumu struktūra: nodrošiniet, ka teikumi ir skaidri un kodolīgi, bet ne pārāk sarežģīti. \nTonis: uzturiet profesionālu, cieņpilnu un vienkāršu toni.",
|
|
3256
|
-
"TOOLTIP_ACADEMIC": "Formālisms: izmantojiet augsta līmeņa formālismu. \nLeksika: iekļaujiet tehnisku un tēmai raksturīgu terminoloģiju. \nTeikumu struktūra: izmantojiet sarežģītu teikumu struktūru, koncentrējoties uz skaidrību un precizitāti. \nTonis: uzturiet objektīvu, analītisku un dažkārt bezpersonisku toni.",
|
|
3257
|
-
"SPECIFIC_STYLE": "{{style}} rakstības stils",
|
|
3258
|
-
"GENERAL": "Vispārīgs",
|
|
3259
|
-
"PROFESSIONAL": "Profesionāls",
|
|
3260
|
-
"ACADEMIC": "Akadēmisks"
|
|
3261
|
-
}
|
|
3262
|
-
},
|
|
3263
|
-
"SUMMARY_MODAL": {
|
|
3264
|
-
"TITLE": "Tulkojuma kopsavilkums",
|
|
3265
|
-
"DESCRIPTION": "Ātri apkopojiet garus tekstus skaidros kopsavilkumos, izmantojot mūsu moderno LLM funkciju.",
|
|
3266
|
-
"CANCEL": "Atcelt",
|
|
3267
|
-
"CLOSE": "Aizvērt",
|
|
3268
|
-
"ACTION": "Izveidot kopsavilkumu",
|
|
3269
|
-
"REGENERATE": "Ģenerēt atkārtoti",
|
|
3270
|
-
"LIMIT": "Šodien atlikušās kopsavilkuma darbības: <span class='text-m-semi-bold'>{{limit}}</span>. Vai nepieciešams vairāk? <a href='{{subscriptionUrl}}' target='_blank'>Iegūstiet abonementu</a>"
|
|
3271
|
-
},
|
|
3272
|
-
"ERRORS": {
|
|
3273
|
-
"QUOTA_LIMIT": "Esat sasniedzis jūsu kvotas ierobežojumu. Vai nepieciešams vairāk? <a href='{{subscriptionUrl}}' target='_blank'>Iegūstiet abonementu</a>",
|
|
3274
|
-
"QUOTA_LIMIT_REACHED": "Esat sasniedzis jūsu kvotas ierobežojumu. Vai nepieciešams vairāk? <a href='{{subscriptionUrl}}' target='_blank'>Iegūstiet abonementu</a>",
|
|
3275
|
-
"DEFAULT": "Šķiet, mums radās problēma. Lūdzu, <bold>atkārtojiet</bold> darbību. Ja tas nepalīdz, sazinieties ar mūsu <a href='mailto:{{supportEmail}}' target='_blank'>atbalsta komandu</a>.",
|
|
3276
|
-
"REPHRASE_REQUEST_TIMEOUT": "Pārfrāzēšana aizņēma pārāk daudz laika. Mēģiniet vēlreiz vai sazinieties ar mūsu <a href='mailto:{{supportEmail}}' target='_blank'>atbalsta komandu</a>.",
|
|
3277
|
-
"SUMMARY_REQUEST_TIMEOUT": "Kopsavilkums aizņēma pārāk daudz laika. Mēģiniet vēlreiz vai sazinieties ar mūsu <a href='mailto:{{supportEmail}}' target='_blank'>atbalsta komandu</a>."
|
|
3278
|
-
}
|
|
3279
|
-
},
|
|
3280
3029
|
"DICTIONARY": {
|
|
3281
3030
|
"SOURCE": "Rezultāti no {{src}}"
|
|
3282
3031
|
}
|
|
@@ -3772,50 +3521,6 @@ const i18n_pl = {
|
|
|
3772
3521
|
"PLAY": "Słuchaj",
|
|
3773
3522
|
"PAUSE": "Wstrzymaj"
|
|
3774
3523
|
},
|
|
3775
|
-
"LLM": {
|
|
3776
|
-
"SUMMARY": "Utwórz podsumowanie",
|
|
3777
|
-
"REPHRASE": "Sparafrazuj tłumaczenie",
|
|
3778
|
-
"MENU_TOOLTIP": "Sparafrazuj lub podsumuj tłumaczenie",
|
|
3779
|
-
"MENU_DISABLED_TOOLTIP": "Poczekaj na zakończenie tłumaczenia, aby użyć funkcji przeformułowania lub podsumowania",
|
|
3780
|
-
"MENU_SUMMARY_DISABLED_TOOLTIP": "Podaj co najmniej 100 symboli, aby skorzystać z funkcji podsumowania",
|
|
3781
|
-
"UNSUPPORTED_MENU_DISABLED_TOOLTIP": "Funkcja dostępna tylko w przypadku tłumaczenia tekstu",
|
|
3782
|
-
"EU_DATA_TOOLTIP": "Korzystamy z usługi Azure OpenAI, wprowadzone dane są bezpiecznie przetwarzane na serwerach znajdujących się na terenie UE",
|
|
3783
|
-
"REPHRASE_MODAL": {
|
|
3784
|
-
"TITLE": "Sparafrazuj tłumaczenie",
|
|
3785
|
-
"DESCRIPTION": "Sparafrazuj tekst zgodnie z określonym stylem pisania, dostosowując język i ton do danego docelowego stylu lub głosu.",
|
|
3786
|
-
"CLOSE": "Zamknij",
|
|
3787
|
-
"CANCEL": "Anuluj",
|
|
3788
|
-
"ACTION": "Zredaguj",
|
|
3789
|
-
"REPHRASING": "Redagowanie...",
|
|
3790
|
-
"LIMIT": "Pozostała dzisiaj liczba zmian: <span class='text-m-semi-bold'>{{limit}}</span>. Nie wystarczy? <a href='{{subscriptionUrl}}' target='_blank'>Zdobądź subskrypcję</a>",
|
|
3791
|
-
"WRITING_STYLES": {
|
|
3792
|
-
"TITLE": "Styl pisania",
|
|
3793
|
-
"TOOLTIP_GENERAL": "Poziom formalności: Niski lub średni. \nSłownictwo: Proste i jasne, bez żargonu technicznego. \nStruktura zdań: Proste lub średnio złożone. \nTon: Przyjazny i wciągający.",
|
|
3794
|
-
"TOOLTIP_PROFESSIONAL": "Poziom formalności: Średni lub wysoki. \nSłownictwo: Terminologia i żargon specyficzny dla danej branży (w stosownych przypadkach). \nStruktura zdań: Jasne i zwięzłe, charakteryzujące się pewną złożonością. \nTon: Profesjonalny, bezpośredni i pełen szacunku.",
|
|
3795
|
-
"TOOLTIP_ACADEMIC": "Poziom formalności: Wysoki. \nSłownictwo: Specyficzna terminologia i techniczny język. \nStruktura zdań: Złożona konstrukcja z naciskiem na jasność i precyzję. \nTon: Obiektywny, analityczny, a czasem bezosobowy.",
|
|
3796
|
-
"SPECIFIC_STYLE": "{{style}} styl pisania",
|
|
3797
|
-
"GENERAL": "Ogólny",
|
|
3798
|
-
"PROFESSIONAL": "Profesjonalny",
|
|
3799
|
-
"ACADEMIC": "Naukowy"
|
|
3800
|
-
}
|
|
3801
|
-
},
|
|
3802
|
-
"SUMMARY_MODAL": {
|
|
3803
|
-
"TITLE": "Podsumowanie tłumaczenia",
|
|
3804
|
-
"DESCRIPTION": "Kondensuj długie teksty w przejrzyste podsumowania, korzystając z zaawansowanej funkcji LLM.",
|
|
3805
|
-
"CANCEL": "Anuluj",
|
|
3806
|
-
"CLOSE": "Zamknij",
|
|
3807
|
-
"ACTION": "Utwórz podsumowanie",
|
|
3808
|
-
"REGENERATE": "Wygeneruj ponownie",
|
|
3809
|
-
"LIMIT": "Pozostała dzisiaj liczba podsumowań:: <span class='text-m-semi-bold'>{{limit}}</span>. Nie wystarczy? <a href='{{subscriptionUrl}}' target='_blank'>Zdobądź subskrypcję</a>"
|
|
3810
|
-
},
|
|
3811
|
-
"ERRORS": {
|
|
3812
|
-
"QUOTA_LIMIT": "Osiągnięto limit. Nie wystarczy? <a href='{{subscriptionUrl}}' target='_blank'>Zdobądź subskrypcję</a>",
|
|
3813
|
-
"QUOTA_LIMIT_REACHED": "Osiągnięto limit. Nie wystarczy? <a href='{{subscriptionUrl}}' target='_blank'>Zdobądź subskrypcję</a>",
|
|
3814
|
-
"DEFAULT": "Wystąpił problem. Spróbuj <bold>ponownie</bold>. Jeśli to nie pomoże, skontaktuj się z <a href='mailto:{{supportEmail}}' target='_blank'>działem wsparcia</a>.",
|
|
3815
|
-
"REPHRASE_REQUEST_TIMEOUT": "Przekształcenie zajęło zbyt dużo czasu. Spróbuj ponownie lub skontaktuj się z naszym <a href='mailto:{{supportEmail}}' target='_blank'>zespołem wsparcia</a>.",
|
|
3816
|
-
"SUMMARY_REQUEST_TIMEOUT": "Podsumowanie zajęło zbyt dużo czasu. Spróbuj ponownie lub skontaktuj się z naszym <a href='mailto:{{supportEmail}}' target='_blank'>zespołem wsparcia</a>."
|
|
3817
|
-
}
|
|
3818
|
-
},
|
|
3819
3524
|
"DICTIONARY": {
|
|
3820
3525
|
"SOURCE": "Wyniki z {{src}}"
|
|
3821
3526
|
}
|
|
@@ -4231,8 +3936,6 @@ class TldTranslateConfigService {
|
|
|
4231
3936
|
this._textConfig.showWordLimitWarning = text?.showWordLimitWarning ?? true;
|
|
4232
3937
|
this._llmConfig.isEnabled = llm?.isEnabled ?? false;
|
|
4233
3938
|
this._llmConfig.apiUrl = llm?.apiUrl ?? 'https://translate.tilde.ai/api/language';
|
|
4234
|
-
this._llmConfig.maxCharLength = llm?.maxCharLength ?? 5000;
|
|
4235
|
-
this._llmConfig.useLocalQuota = llm?.useLocalQuota ?? false;
|
|
4236
3939
|
this._audioConfig.audioTextInput = audio?.audioTextInput ?? false;
|
|
4237
3940
|
// Not setting default url because there is no service provided by Tilde and this is not used by default in website project.
|
|
4238
3941
|
this._audioConfig.audioApiUrl = audio?.audioApiUrl;
|
|
@@ -6100,11 +5803,11 @@ class TldTranslateFileDownloadButtonComponent {
|
|
|
6100
5803
|
panel.setAttribute("data-test-id", 'tld-download-file-list');
|
|
6101
5804
|
}
|
|
6102
5805
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateFileDownloadButtonComponent, deps: [{ token: TldTranslateConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6103
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: { file: "file", disabled: "disabled", sourceDownload: "sourceDownload" }, outputs: { tldClick: "tldClick" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\">\r\n\r\n
|
|
5806
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: { file: "file", disabled: "disabled", sourceDownload: "sourceDownload" }, outputs: { tldClick: "tldClick" }, viewQueries: [{ propertyName: "menu", first: true, predicate: MatMenu, descendants: true }], ngImport: i0, template: "<div fxLayout=\"row\">\r\n\t<button\r\n\t\t*ngIf=\"!showSourceDownloadPdf && !showSourceDownloadImage\"\r\n\t\tmat-icon-button\r\n\t\tclass=\"action-button border-accent download-button\"\r\n\t\t[matTooltip]=\"'TLD_TRANSLATE.DOWNLOAD_TRANSLATED' | translate\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\t(click)=\"onClick()\"\r\n\t>\r\n\t\t<mat-icon [svgIcon]=\"'download'\"></mat-icon>\r\n\t</button>\r\n\r\n\t<button\r\n\t\t#menuTrigger=\"matMenuTrigger\"\r\n\t\t*ngIf=\"extensions?.length && (showSourceDownloadPdf || showSourceDownloadImage)\"\r\n\t\tmat-icon-button\r\n\t\tcolor=\"accent\"\r\n\t\tfxLayoutAlign=\"center center\"\r\n\t\tdata-test-id=\"download-other-formats-button\"\r\n\t\t[matMenuTriggerFor]=\"extensionMenu\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[attr.aria-label]=\"'ARIA_LABELS.SHOW_EXTENSIONS' | translate\"\r\n\t\t[matTooltip]=\"'TLD_TRANSLATE.DOWNLOAD_TRANSLATED' | translate\"\r\n\t\t(menuOpened)=\"onMenuOpen()\"\r\n\t>\r\n\t\t<mat-icon [svgIcon]=\"'download'\"></mat-icon>\r\n\t</button>\r\n</div>\r\n<mat-menu #extensionMenu=\"matMenu\">\r\n\t<div fxLayout=\"column\">\r\n\t\t<ng-container *ngFor=\"let extension of extensions\">\r\n\t\t\t<button mat-menu-item fxLayoutAlign=\"start center\" class=\"language-title\" *ngIf=\"extension.category === translatedCategory\" (click)=\"onClick(extension)\">\r\n\t\t\t\t<mat-icon [svgIcon]=\"'download'\"></mat-icon>{{ 'TLD_TRANSLATE.SUGGEST_TRANSLATION_LABEL' | translate }} ({{ extension.extension }})\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\t\t<button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadPdf\" class=\"language-title\" (click)=\"onSourceClick()\">\r\n\t\t\t{{ \"TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE\" | translate }}\r\n\t\t</button>\r\n\t\t<button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadImage\" class=\"language-title\" (click)=\"onSourceClick()\">\r\n\t\t\t{{ \"TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE\" | translate }}\r\n\t\t</button>\r\n\t</div>\r\n</mat-menu>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
6104
5807
|
}
|
|
6105
5808
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateFileDownloadButtonComponent, decorators: [{
|
|
6106
5809
|
type: Component,
|
|
6107
|
-
args: [{ selector: 'tld-translate-file-download-button', template: "<div fxLayout=\"row\">\r\n\r\n
|
|
5810
|
+
args: [{ selector: 'tld-translate-file-download-button', template: "<div fxLayout=\"row\">\r\n\t<button\r\n\t\t*ngIf=\"!showSourceDownloadPdf && !showSourceDownloadImage\"\r\n\t\tmat-icon-button\r\n\t\tclass=\"action-button border-accent download-button\"\r\n\t\t[matTooltip]=\"'TLD_TRANSLATE.DOWNLOAD_TRANSLATED' | translate\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\t(click)=\"onClick()\"\r\n\t>\r\n\t\t<mat-icon [svgIcon]=\"'download'\"></mat-icon>\r\n\t</button>\r\n\r\n\t<button\r\n\t\t#menuTrigger=\"matMenuTrigger\"\r\n\t\t*ngIf=\"extensions?.length && (showSourceDownloadPdf || showSourceDownloadImage)\"\r\n\t\tmat-icon-button\r\n\t\tcolor=\"accent\"\r\n\t\tfxLayoutAlign=\"center center\"\r\n\t\tdata-test-id=\"download-other-formats-button\"\r\n\t\t[matMenuTriggerFor]=\"extensionMenu\"\r\n\t\t[disabled]=\"disabled\"\r\n\t\t[attr.aria-label]=\"'ARIA_LABELS.SHOW_EXTENSIONS' | translate\"\r\n\t\t[matTooltip]=\"'TLD_TRANSLATE.DOWNLOAD_TRANSLATED' | translate\"\r\n\t\t(menuOpened)=\"onMenuOpen()\"\r\n\t>\r\n\t\t<mat-icon [svgIcon]=\"'download'\"></mat-icon>\r\n\t</button>\r\n</div>\r\n<mat-menu #extensionMenu=\"matMenu\">\r\n\t<div fxLayout=\"column\">\r\n\t\t<ng-container *ngFor=\"let extension of extensions\">\r\n\t\t\t<button mat-menu-item fxLayoutAlign=\"start center\" class=\"language-title\" *ngIf=\"extension.category === translatedCategory\" (click)=\"onClick(extension)\">\r\n\t\t\t\t<mat-icon [svgIcon]=\"'download'\"></mat-icon>{{ 'TLD_TRANSLATE.SUGGEST_TRANSLATION_LABEL' | translate }} ({{ extension.extension }})\r\n\t\t\t</button>\r\n\t\t</ng-container>\r\n\t\t<button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadPdf\" class=\"language-title\" (click)=\"onSourceClick()\">\r\n\t\t\t{{ \"TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE\" | translate }}\r\n\t\t</button>\r\n\t\t<button mat-menu-item fxLayoutAlign=\"start center\" *ngIf=\"showSourceDownloadImage\" class=\"language-title\" (click)=\"onSourceClick()\">\r\n\t\t\t{{ \"TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE\" | translate }}\r\n\t\t</button>\r\n\t</div>\r\n</mat-menu>\r\n" }]
|
|
6108
5811
|
}], ctorParameters: () => [{ type: TldTranslateConfigService }], propDecorators: { menu: [{
|
|
6109
5812
|
type: ViewChild,
|
|
6110
5813
|
args: [MatMenu]
|
|
@@ -6268,11 +5971,11 @@ class TldTranslateFileMultipleComponent extends TldFileTranslateBaseComponent {
|
|
|
6268
5971
|
this.showVendorNotification = this.config.fileConfig.progressIndicatorTitleVisibleForVendors.includes(vendor);
|
|
6269
5972
|
}
|
|
6270
5973
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateFileMultipleComponent, deps: [{ token: TldTranslateFileService }, { token: TldTranslateConfigService }, { token: i2$2.MatDialog }, { token: TldTranslateButtonService }, { token: TldTranslateSystemManagementService }, { token: i5.AlertService }], target: i0.ɵɵFactoryTarget.Component });
|
|
6271
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateFileMultipleComponent, selector: "tld-translate-file-multiple", inputs: { translationFiles: "translationFiles" }, usesInheritance: true, ngImport: i0, template: "<div class=\"tld-translate-file-container\" [ngClass.xs]=\"'tld-multiple-mobile'\" fxLayout=\"column\" fxFlex\r\n fxLayoutAlign=\"start center\">\r\n <div class=\"cdk-visually-hidden\" aria-live=\"polite\">\r\n {{'MULTIPLE_FILES.SCREEN_READER_ANNOUNCEMENT' | translate: {translated:translatedFilesCount , total: fileCount} }}\r\n </div>\r\n <div fxLayout=\"column\" fxLayoutGap=\"0.5rem\" fxFlex class=\"multiple-files-body\">\r\n <div *ngFor=\"let file of translationFiles\" class=\"file-row\" [ngClass.gt-sm]=\"'extra-width'\" fxLayout=\"row\"\r\n fxLayoutAlign=\"center center\" fxLayoutAlign.xs=\"flex-start center\">\r\n <div fxLayout=\"column\" fxFlex>\r\n <div fxLayout=\"row\" fxLayoutAlign.xs=\"space-between center\" fxLayoutAlign=\"space-between center\">\r\n <div class=\"file-name\">\r\n {{file.originalFileName}}\r\n </div>\r\n <div fxLayout=\"row\" class=\"file-actions\">\r\n <tld-translate-file-download-button (tldClick)=\"download(file, $event)\" *ngIf=\"file.downloadAvailable\"\r\n [sourceDownload]=\"true\" [disabled]=\"file.isDownloading\" [file]=\"file\">\r\n </tld-translate-file-download-button>\r\n <tld-close-button [tooltip]=\"'FILE_UPLOAD.CLEAR'\" (tldClick)=\"remove(file)\"></tld-close-button>\r\n </div>\r\n </div>\r\n <mat-progress-bar *ngIf=\"file.translationStatuss===translatingStatuss\" color=\"accent\" mode=\"determinate\"\r\n [value]=\"file.progress\"></mat-progress-bar>\r\n <div class=\"progress-message text-s\"\r\n *ngIf=\"(file.translationStatuss !== errorTranslatingStatuss) && (file.translationStatuss !== completedTranslatingStatuss) && (file.translationStatuss !== uploadedTranslatingStatuss)\">\r\n {{'MULTIPLE_FILES.STATUSS_' + file.translationStatuss | translate: {percent: file.progress} }}\r\n </div>\r\n <ng-container *ngIf=\"file.messages.length>0\">\r\n <lib-inline-message *ngFor=\"let message of file.messages\" [message]=\"message\"></lib-inline-message>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <lib-file-upload *ngIf=\"!translationStarted\" fxFlex class=\"tld-append-files\" (fileChange)=\"fileChange($event)\"\r\n [accept]=\"allowedFileTypes\" [maxSize]=\"maxFileUploadSize\" [multiple]=\"multipleFiles\"\r\n [disabled]=\"disableAppendFiles\" (errorEvent)=\"fileUploadError($event)\" [extendedAcceptList]=\"extendedFileTypes\">\r\n {{'MULTIPLE_FILES.APPEND' | translate}} ({{fileCount}}/{{maxFileCount}})\r\n </lib-file-upload>\r\n </div>\r\n <ng-container *ngIf=\"sourceDownloadPDF\">\r\n <ng-container\r\n *ngTemplateOutlet=\"conversionMessage; context: { messageKey:'MULTIPLE_FILES.PDF_DISCLAIMER', dialogParams: pdfConversion, buttonText: 'MULTIPLE_FILES.PDF_DISCLAIMER_LINK'}\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"sourceDownloadImage\">\r\n <ng-container\r\n *ngTemplateOutlet=\"conversionMessage; context: { messageKey:'MULTIPLE_FILES.IMAGE_DISCLAIMER', dialogParams: imageConversion, buttonText: 'MULTIPLE_FILES.IMAGE_DISCLAIMER_LINK'}\">\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showVendorNotification\">\r\n <vendor-disclaimer></vendor-disclaimer>\r\n </ng-container>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayout.xs=\"column\" fxLayuotGap.xs=\"1rem\" class=\"button-container\">\r\n <tld-translate-button [disabled]=\"disableTranslateButton\" (clicked)=\"translateButtonClick()\"\r\n *ngIf=\"!translationStarted\"></tld-translate-button>\r\n <button (click)=\"clearAll()\" mat-stroked-button color=\"accent\"\r\n class=\"cancel-button border-accent\">{{'MULTIPLE_FILES.CLEAR_ALL' | translate}}</button>\r\n </div>\r\n</div>\r\n\r\n<ng-template #conversionMessage let-messageKey=\"messageKey\" let-dialogParams=\"dialogParams\" let-buttonText=\"buttonText\">\r\n\r\n <p class=\"conversion-disclaimer text-m\" [ngClass.gt-sm]=\"'conversion-info-margins-gt-sm'\">\r\n <span class=\"material-icons\">\r\n info\r\n </span>\r\n <span>\r\n {{messageKey | translate }}\r\n </span>\r\n <button class=\"conversion-message-action text-m-semi-bold\" (click)=\"conversionDialog(dialogParams)\">{{buttonText |\r\n translate}}</button>\r\n</ng-template>\r\n", styles: [".semi-bold,.text-s-semi-bold,.text-m-semi-bold,.text-l-semi-bold,.text-xl-semi-bold,.text-2-xl,.text-3-xl,.text-4-xl{font-weight:600}@media (min-width: 600px){.text-4-xl{font-size:2.75rem;line-height:3.375rem}}@media (min-width: 0) and (max-width: 599.9px){.text-4-xl{font-size:2rem;line-height:2.625rem}}.text-3-xl{font-size:2rem;line-height:2.625rem}.text-2-xl{font-size:1.5rem;line-height:2.125rem}.text-xl,.text-xl-semi-bold{font-size:1.25rem;line-height:2rem}.text-l,.cancel-button,.text-l-semi-bold{font-size:1rem;line-height:1.625rem}.text-m,.text-m-semi-bold{font-size:.875rem;line-height:1.4375rem}.text-s,.text-s-semi-bold{font-size:.75rem;line-height:1.25rem}.tld-translate-file-container{padding:3em;width:100%}.tld-translate-file-container .file-row{min-height:4rem;width:100%;padding:.5em 0;border-bottom:1px solid var(--base-70)}.tld-translate-file-container .file-row .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tld-translate-file-container .file-row lib-inline-message{margin-top:.5rem}.tld-translate-file-container .file-row .file-actions{margin-left:.5rem}.tld-append-files{font-size:1em;margin-top:1rem}:host ::ng-deep .tld-append-files .upload-button{justify-content:center!important;min-height:3.5rem!important}.conversion-disclaimer.conversion-info-margins-gt-sm{margin:.5em 20%}.conversion-disclaimer:not(.conversion-info-margins-gt-sm){text-align:center}tld-translate-button{margin:1em}.tld-multiple-mobile{padding:1rem}.tld-multiple-mobile tld-translate-button{margin:1rem 0 0;width:100%}.tld-multiple-mobile .file-row,.tld-multiple-mobile .multiple-files-body,.tld-multiple-mobile .cancel-button,.tld-multiple-mobile .button-container{width:100%}.multiple-files-body ::ng-deep lib-file-upload .file-upload .upload-button{text-align:center}.download-file{cursor:pointer}.material-icons{vertical-align:middle;color:var(--base-40)}.conversion-message-action{background:transparent;color:var(--accent);border:none;cursor:pointer}.extra-width{min-width:30rem}.progress-message{color:var(--base-40)}mat-progress-bar{margin:.375rem 0}.cancel-button{padding:.375rem 1.5rem}vendor-disclaimer{margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i5.InlineMessageComponent, selector: "lib-inline-message", inputs: ["iconName", "message"] }, { kind: "component", type: VendorDisclaimerComponent, selector: "vendor-disclaimer" }, { kind: "component", type: i5.FileUploadComponent, selector: "lib-file-upload", inputs: ["accept", "useCompactUpload", "maxSize", "multiple", "filePreviewProgress", "allowEmpty", "disabled", "dragZoneLabel", "uploadIconName", "uploadButtonLabel", "openExtensionPopupLabel", "minSupportedFormatCount", "extendedAcceptList"], outputs: ["fileChange", "errorEvent"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: ["file", "disabled", "sourceDownload"], outputs: ["tldClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
5974
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateFileMultipleComponent, selector: "tld-translate-file-multiple", inputs: { translationFiles: "translationFiles" }, usesInheritance: true, ngImport: i0, template: "<div class=\"tld-translate-file-container\" [ngClass.xs]=\"'tld-multiple-mobile'\" fxLayout=\"column\" fxFlex fxLayoutAlign=\"start center\">\r\n\t<div class=\"cdk-visually-hidden\" aria-live=\"polite\">\r\n\t\t{{ \"MULTIPLE_FILES.SCREEN_READER_ANNOUNCEMENT\" | translate : { translated: translatedFilesCount, total: fileCount } }}\r\n\t</div>\r\n\t<div fxLayout=\"column\" fxLayoutGap=\"0.5rem\" fxFlex class=\"multiple-files-body\">\r\n\t\t<div *ngFor=\"let file of translationFiles\" class=\"file-row\" [ngClass.gt-sm]=\"'extra-width'\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutAlign.xs=\"flex-start center\">\r\n\t\t\t<div fxLayout=\"column\" fxFlex>\r\n\t\t\t\t<div fxLayout=\"row\" fxLayoutAlign.xs=\"space-between center\" fxLayoutAlign=\"space-between center\">\r\n\t\t\t\t\t<div class=\"file-name\">\r\n\t\t\t\t\t\t{{ file.originalFileName }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div fxLayout=\"row\" class=\"file-actions\">\r\n\t\t\t\t\t\t<tld-translate-file-download-button\r\n\t\t\t\t\t\t\t(tldClick)=\"download(file, $event)\"\r\n\t\t\t\t\t\t\t*ngIf=\"file.downloadAvailable\"\r\n\t\t\t\t\t\t\t[sourceDownload]=\"true\"\r\n\t\t\t\t\t\t\t[disabled]=\"file.isDownloading\"\r\n\t\t\t\t\t\t\t[file]=\"file\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</tld-translate-file-download-button>\r\n\t\t\t\t\t\t<tld-close-button *ngIf=\"!file.downloadAvailable\" [tooltip]=\"'FILE_UPLOAD.CLEAR'\" (tldClick)=\"remove(file)\"></tld-close-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<mat-progress-bar *ngIf=\"file.translationStatuss === translatingStatuss\" color=\"accent\" mode=\"determinate\" [value]=\"file.progress\"></mat-progress-bar>\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"progress-message text-s\"\r\n\t\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t\tfile.translationStatuss !== errorTranslatingStatuss && file.translationStatuss !== completedTranslatingStatuss && file.translationStatuss !== uploadedTranslatingStatuss\r\n\t\t\t\t\t\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ \"MULTIPLE_FILES.STATUSS_\" + file.translationStatuss | translate : { percent: file.progress } }}\r\n\t\t\t\t</div>\r\n\t\t\t\t<ng-container *ngIf=\"file.messages.length > 0\">\r\n\t\t\t\t\t<lib-inline-message *ngFor=\"let message of file.messages\" [message]=\"message\"></lib-inline-message>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<lib-file-upload\r\n\t\t\t*ngIf=\"!translationStarted\"\r\n\t\t\tfxFlex\r\n\t\t\tclass=\"tld-append-files\"\r\n\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t[disabled]=\"disableAppendFiles\"\r\n\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t>\r\n\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t<span> </span>\r\n\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span> ({{ fileCount }}/{{ maxFileCount }})\r\n\t\t</lib-file-upload>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayout.xs=\"column\" fxLayuotGap.xs=\"1rem\" class=\"button-container\">\r\n <tld-translate-button [disabled]=\"disableTranslateButton\" (clicked)=\"translateButtonClick()\" *ngIf=\"!translationStarted\"></tld-translate-button>\r\n <button (click)=\"clearAll()\" mat-stroked-button color=\"accent\" class=\"cancel-button border-accent\">{{ \"MULTIPLE_FILES.CLEAR_ALL\" | translate }}</button>\r\n </div>\r\n\t</div>\r\n\t<ng-container *ngIf=\"sourceDownloadPDF\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"conversionMessage; context: { messageKey: 'MULTIPLE_FILES.PDF_DISCLAIMER', dialogParams: pdfConversion, buttonText: 'MULTIPLE_FILES.PDF_DISCLAIMER_LINK' }\"\r\n\t\t>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"sourceDownloadImage\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\tconversionMessage;\r\n\t\t\t\tcontext: { messageKey: 'MULTIPLE_FILES.IMAGE_DISCLAIMER', dialogParams: imageConversion, buttonText: 'MULTIPLE_FILES.IMAGE_DISCLAIMER_LINK' }\r\n\t\t\t\"\r\n\t\t>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"showVendorNotification\">\r\n\t\t<vendor-disclaimer></vendor-disclaimer>\r\n\t</ng-container>\r\n</div>\r\n\r\n<ng-template #conversionMessage let-messageKey=\"messageKey\" let-dialogParams=\"dialogParams\" let-buttonText=\"buttonText\">\r\n\t<p class=\"conversion-disclaimer text-m\" [ngClass.gt-sm]=\"'conversion-info-margins-gt-sm'\">\r\n\t\t<span class=\"material-icons\"> info </span>\r\n\t\t<span>\r\n\t\t\t{{ messageKey | translate }}\r\n\t\t</span>\r\n\t\t<button class=\"conversion-message-action text-m-semi-bold\" (click)=\"conversionDialog(dialogParams)\">{{ buttonText | translate }}</button>\r\n\t</p></ng-template\r\n>\r\n", styles: [".semi-bold,.text-s-semi-bold,.text-m-semi-bold,.text-l-semi-bold,.text-xl-semi-bold,.text-2-xl,.text-3-xl,.text-4-xl{font-weight:600}@media (min-width: 600px){.text-4-xl{font-size:2.75rem;line-height:3.375rem}}@media (min-width: 0) and (max-width: 599.9px){.text-4-xl{font-size:2rem;line-height:2.625rem}}.text-3-xl{font-size:2rem;line-height:2.625rem}.text-2-xl{font-size:1.5rem;line-height:2.125rem}.text-xl,.text-xl-semi-bold{font-size:1.25rem;line-height:2rem}.text-l,.cancel-button,.text-l-semi-bold{font-size:1rem;line-height:1.625rem}.text-m,.text-m-semi-bold{font-size:.875rem;line-height:1.4375rem}.text-s,.text-s-semi-bold{font-size:.75rem;line-height:1.25rem}.tld-translate-file-container{padding:3em;width:100%}.tld-translate-file-container .file-row{min-height:4rem;width:100%;padding:.5em 0;border-bottom:1px solid var(--base-70)}.tld-translate-file-container .file-row .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tld-translate-file-container .file-row lib-inline-message{margin-top:.5rem}.tld-translate-file-container .file-row .file-actions{margin-left:.5rem}.tld-append-files{font-size:1em;margin-top:1rem}:host ::ng-deep .tld-append-files .upload-button{justify-content:center!important;min-height:3.5rem!important;color:var(--base-40)}.conversion-disclaimer.conversion-info-margins-gt-sm{margin:.5em 20%}.conversion-disclaimer:not(.conversion-info-margins-gt-sm){text-align:center}tld-translate-button{margin:1em}.tld-multiple-mobile{padding:1rem}.tld-multiple-mobile tld-translate-button{margin:1rem 0 0;width:100%}.tld-multiple-mobile .file-row,.tld-multiple-mobile .multiple-files-body,.tld-multiple-mobile .cancel-button,.tld-multiple-mobile .button-container{width:100%}.multiple-files-body ::ng-deep lib-file-upload .file-upload .upload-button{text-align:center}.download-file{cursor:pointer}.material-icons{vertical-align:middle;color:var(--base-40)}.conversion-message-action{background:transparent;color:var(--accent);border:none;cursor:pointer}.extra-width{min-width:30rem}.progress-message{color:var(--base-40)}mat-progress-bar{margin:.375rem 0}.cancel-button{padding:.375rem 1.5rem}vendor-disclaimer{margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.CloseButtonComponent, selector: "tld-close-button", inputs: ["ariaCode", "disabled", "tooltip"], outputs: ["tldClick"] }, { kind: "component", type: i5.InlineMessageComponent, selector: "lib-inline-message", inputs: ["iconName", "message"] }, { kind: "component", type: VendorDisclaimerComponent, selector: "vendor-disclaimer" }, { kind: "component", type: i5.FileUploadComponent, selector: "lib-file-upload", inputs: ["accept", "useCompactUpload", "maxSize", "multiple", "filePreviewProgress", "allowEmpty", "disabled", "dragZoneLabel", "uploadIconName", "uploadButtonLabel", "openExtensionPopupLabel", "minSupportedFormatCount", "extendedAcceptList"], outputs: ["fileChange", "errorEvent"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: TldTranslateFileDownloadButtonComponent, selector: "tld-translate-file-download-button", inputs: ["file", "disabled", "sourceDownload"], outputs: ["tldClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
6272
5975
|
}
|
|
6273
5976
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateFileMultipleComponent, decorators: [{
|
|
6274
5977
|
type: Component,
|
|
6275
|
-
args: [{ selector: 'tld-translate-file-multiple', template: "<div class=\"tld-translate-file-container\" [ngClass.xs]=\"'tld-multiple-mobile'\" fxLayout=\"column\" fxFlex
|
|
5978
|
+
args: [{ selector: 'tld-translate-file-multiple', template: "<div class=\"tld-translate-file-container\" [ngClass.xs]=\"'tld-multiple-mobile'\" fxLayout=\"column\" fxFlex fxLayoutAlign=\"start center\">\r\n\t<div class=\"cdk-visually-hidden\" aria-live=\"polite\">\r\n\t\t{{ \"MULTIPLE_FILES.SCREEN_READER_ANNOUNCEMENT\" | translate : { translated: translatedFilesCount, total: fileCount } }}\r\n\t</div>\r\n\t<div fxLayout=\"column\" fxLayoutGap=\"0.5rem\" fxFlex class=\"multiple-files-body\">\r\n\t\t<div *ngFor=\"let file of translationFiles\" class=\"file-row\" [ngClass.gt-sm]=\"'extra-width'\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutAlign.xs=\"flex-start center\">\r\n\t\t\t<div fxLayout=\"column\" fxFlex>\r\n\t\t\t\t<div fxLayout=\"row\" fxLayoutAlign.xs=\"space-between center\" fxLayoutAlign=\"space-between center\">\r\n\t\t\t\t\t<div class=\"file-name\">\r\n\t\t\t\t\t\t{{ file.originalFileName }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div fxLayout=\"row\" class=\"file-actions\">\r\n\t\t\t\t\t\t<tld-translate-file-download-button\r\n\t\t\t\t\t\t\t(tldClick)=\"download(file, $event)\"\r\n\t\t\t\t\t\t\t*ngIf=\"file.downloadAvailable\"\r\n\t\t\t\t\t\t\t[sourceDownload]=\"true\"\r\n\t\t\t\t\t\t\t[disabled]=\"file.isDownloading\"\r\n\t\t\t\t\t\t\t[file]=\"file\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</tld-translate-file-download-button>\r\n\t\t\t\t\t\t<tld-close-button *ngIf=\"!file.downloadAvailable\" [tooltip]=\"'FILE_UPLOAD.CLEAR'\" (tldClick)=\"remove(file)\"></tld-close-button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<mat-progress-bar *ngIf=\"file.translationStatuss === translatingStatuss\" color=\"accent\" mode=\"determinate\" [value]=\"file.progress\"></mat-progress-bar>\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"progress-message text-s\"\r\n\t\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t\tfile.translationStatuss !== errorTranslatingStatuss && file.translationStatuss !== completedTranslatingStatuss && file.translationStatuss !== uploadedTranslatingStatuss\r\n\t\t\t\t\t\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ \"MULTIPLE_FILES.STATUSS_\" + file.translationStatuss | translate : { percent: file.progress } }}\r\n\t\t\t\t</div>\r\n\t\t\t\t<ng-container *ngIf=\"file.messages.length > 0\">\r\n\t\t\t\t\t<lib-inline-message *ngFor=\"let message of file.messages\" [message]=\"message\"></lib-inline-message>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<lib-file-upload\r\n\t\t\t*ngIf=\"!translationStarted\"\r\n\t\t\tfxFlex\r\n\t\t\tclass=\"tld-append-files\"\r\n\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t[disabled]=\"disableAppendFiles\"\r\n\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t>\r\n\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t<span> </span>\r\n\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span> ({{ fileCount }}/{{ maxFileCount }})\r\n\t\t</lib-file-upload>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"end center\" fxLayout.xs=\"column\" fxLayuotGap.xs=\"1rem\" class=\"button-container\">\r\n <tld-translate-button [disabled]=\"disableTranslateButton\" (clicked)=\"translateButtonClick()\" *ngIf=\"!translationStarted\"></tld-translate-button>\r\n <button (click)=\"clearAll()\" mat-stroked-button color=\"accent\" class=\"cancel-button border-accent\">{{ \"MULTIPLE_FILES.CLEAR_ALL\" | translate }}</button>\r\n </div>\r\n\t</div>\r\n\t<ng-container *ngIf=\"sourceDownloadPDF\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"conversionMessage; context: { messageKey: 'MULTIPLE_FILES.PDF_DISCLAIMER', dialogParams: pdfConversion, buttonText: 'MULTIPLE_FILES.PDF_DISCLAIMER_LINK' }\"\r\n\t\t>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"sourceDownloadImage\">\r\n\t\t<ng-container\r\n\t\t\t*ngTemplateOutlet=\"\r\n\t\t\t\tconversionMessage;\r\n\t\t\t\tcontext: { messageKey: 'MULTIPLE_FILES.IMAGE_DISCLAIMER', dialogParams: imageConversion, buttonText: 'MULTIPLE_FILES.IMAGE_DISCLAIMER_LINK' }\r\n\t\t\t\"\r\n\t\t>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf=\"showVendorNotification\">\r\n\t\t<vendor-disclaimer></vendor-disclaimer>\r\n\t</ng-container>\r\n</div>\r\n\r\n<ng-template #conversionMessage let-messageKey=\"messageKey\" let-dialogParams=\"dialogParams\" let-buttonText=\"buttonText\">\r\n\t<p class=\"conversion-disclaimer text-m\" [ngClass.gt-sm]=\"'conversion-info-margins-gt-sm'\">\r\n\t\t<span class=\"material-icons\"> info </span>\r\n\t\t<span>\r\n\t\t\t{{ messageKey | translate }}\r\n\t\t</span>\r\n\t\t<button class=\"conversion-message-action text-m-semi-bold\" (click)=\"conversionDialog(dialogParams)\">{{ buttonText | translate }}</button>\r\n\t</p></ng-template\r\n>\r\n", styles: [".semi-bold,.text-s-semi-bold,.text-m-semi-bold,.text-l-semi-bold,.text-xl-semi-bold,.text-2-xl,.text-3-xl,.text-4-xl{font-weight:600}@media (min-width: 600px){.text-4-xl{font-size:2.75rem;line-height:3.375rem}}@media (min-width: 0) and (max-width: 599.9px){.text-4-xl{font-size:2rem;line-height:2.625rem}}.text-3-xl{font-size:2rem;line-height:2.625rem}.text-2-xl{font-size:1.5rem;line-height:2.125rem}.text-xl,.text-xl-semi-bold{font-size:1.25rem;line-height:2rem}.text-l,.cancel-button,.text-l-semi-bold{font-size:1rem;line-height:1.625rem}.text-m,.text-m-semi-bold{font-size:.875rem;line-height:1.4375rem}.text-s,.text-s-semi-bold{font-size:.75rem;line-height:1.25rem}.tld-translate-file-container{padding:3em;width:100%}.tld-translate-file-container .file-row{min-height:4rem;width:100%;padding:.5em 0;border-bottom:1px solid var(--base-70)}.tld-translate-file-container .file-row .file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tld-translate-file-container .file-row lib-inline-message{margin-top:.5rem}.tld-translate-file-container .file-row .file-actions{margin-left:.5rem}.tld-append-files{font-size:1em;margin-top:1rem}:host ::ng-deep .tld-append-files .upload-button{justify-content:center!important;min-height:3.5rem!important;color:var(--base-40)}.conversion-disclaimer.conversion-info-margins-gt-sm{margin:.5em 20%}.conversion-disclaimer:not(.conversion-info-margins-gt-sm){text-align:center}tld-translate-button{margin:1em}.tld-multiple-mobile{padding:1rem}.tld-multiple-mobile tld-translate-button{margin:1rem 0 0;width:100%}.tld-multiple-mobile .file-row,.tld-multiple-mobile .multiple-files-body,.tld-multiple-mobile .cancel-button,.tld-multiple-mobile .button-container{width:100%}.multiple-files-body ::ng-deep lib-file-upload .file-upload .upload-button{text-align:center}.download-file{cursor:pointer}.material-icons{vertical-align:middle;color:var(--base-40)}.conversion-message-action{background:transparent;color:var(--accent);border:none;cursor:pointer}.extra-width{min-width:30rem}.progress-message{color:var(--base-40)}mat-progress-bar{margin:.375rem 0}.cancel-button{padding:.375rem 1.5rem}vendor-disclaimer{margin-bottom:1rem}\n"] }]
|
|
6276
5979
|
}], ctorParameters: () => [{ type: TldTranslateFileService }, { type: TldTranslateConfigService }, { type: i2$2.MatDialog }, { type: TldTranslateButtonService }, { type: TldTranslateSystemManagementService }, { type: i5.AlertService }], propDecorators: { translationFiles: [{
|
|
6277
5980
|
type: Input
|
|
6278
5981
|
}] } });
|
|
@@ -6295,7 +5998,9 @@ class TldDocumentModule {
|
|
|
6295
5998
|
MatProgressBarModule,
|
|
6296
5999
|
MatButtonModule,
|
|
6297
6000
|
MatDialogModule,
|
|
6298
|
-
MatMenuModule
|
|
6001
|
+
MatMenuModule,
|
|
6002
|
+
MatIconModule,
|
|
6003
|
+
MatTooltipModule], exports: [TldTranslateFileComponent,
|
|
6299
6004
|
TldTranslateFileMultipleComponent,
|
|
6300
6005
|
TldTranslateFileDownloadButtonComponent] });
|
|
6301
6006
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldDocumentModule, imports: [CommonModule,
|
|
@@ -6309,7 +6014,9 @@ class TldDocumentModule {
|
|
|
6309
6014
|
MatProgressBarModule,
|
|
6310
6015
|
MatButtonModule,
|
|
6311
6016
|
MatDialogModule,
|
|
6312
|
-
MatMenuModule
|
|
6017
|
+
MatMenuModule,
|
|
6018
|
+
MatIconModule,
|
|
6019
|
+
MatTooltipModule] });
|
|
6313
6020
|
}
|
|
6314
6021
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldDocumentModule, decorators: [{
|
|
6315
6022
|
type: NgModule,
|
|
@@ -6334,7 +6041,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6334
6041
|
MatProgressBarModule,
|
|
6335
6042
|
MatButtonModule,
|
|
6336
6043
|
MatDialogModule,
|
|
6337
|
-
MatMenuModule
|
|
6044
|
+
MatMenuModule,
|
|
6045
|
+
MatIconModule,
|
|
6046
|
+
MatTooltipModule
|
|
6338
6047
|
],
|
|
6339
6048
|
exports: [
|
|
6340
6049
|
TldTranslateFileComponent,
|
|
@@ -8220,6 +7929,7 @@ class TldTranslateTextComponent {
|
|
|
8220
7929
|
voiceInputService;
|
|
8221
7930
|
fileService;
|
|
8222
7931
|
breakpointObserver;
|
|
7932
|
+
llmService;
|
|
8223
7933
|
sourceComponent;
|
|
8224
7934
|
dictateComponent;
|
|
8225
7935
|
filePreviewProgress;
|
|
@@ -8266,6 +7976,7 @@ class TldTranslateTextComponent {
|
|
|
8266
7976
|
;
|
|
8267
7977
|
get maxDictateLength() { return this.config.audioConfig.maximumRecordTime; }
|
|
8268
7978
|
get sourceLanguage() { return this.activeData?.sourceLang.lang; }
|
|
7979
|
+
get targetLanguage() { return this.activeData?.targetLang.lang; }
|
|
8269
7980
|
get hasTranslatedParagraphs() { return this.targetParagraphs?.length > 0; }
|
|
8270
7981
|
get isEmptyTarget() { return !this.hasTranslatedParagraphs && !this.urlToTranslate && !this.hasDictionary; }
|
|
8271
7982
|
get showTargetPlaceholder() { return this.config.textConfig.showTargetPlaceholder; }
|
|
@@ -8278,6 +7989,8 @@ class TldTranslateTextComponent {
|
|
|
8278
7989
|
;
|
|
8279
7990
|
get uploadIconName() { return this.config.coreConfig.uploadIconName; }
|
|
8280
7991
|
;
|
|
7992
|
+
get isLlmEnabled() { return this.config.llmConfig.isEnabled; }
|
|
7993
|
+
;
|
|
8281
7994
|
audioInputVisible;
|
|
8282
7995
|
targetSentenceSelect = true;
|
|
8283
7996
|
get urlToTranslate() { return this.translateTextService.urlToTranslate; }
|
|
@@ -8292,8 +8005,11 @@ class TldTranslateTextComponent {
|
|
|
8292
8005
|
get firstParagraphTranslated() {
|
|
8293
8006
|
return this.translateTextService.firstParagraphTranslated;
|
|
8294
8007
|
}
|
|
8008
|
+
get isTranslating() {
|
|
8009
|
+
return this.translateTextService.isTranslating;
|
|
8010
|
+
}
|
|
8295
8011
|
get translationError() {
|
|
8296
|
-
return this.source && !this.
|
|
8012
|
+
return this.source && !this.isTranslating;
|
|
8297
8013
|
}
|
|
8298
8014
|
get hasDictionary() { return this.translateTextService.hasDictionary; }
|
|
8299
8015
|
get dictionaryEntry() { return this.translateTextService.dictionaryEntry; }
|
|
@@ -8315,10 +8031,12 @@ class TldTranslateTextComponent {
|
|
|
8315
8031
|
dictateConfig;
|
|
8316
8032
|
visibleExtensions;
|
|
8317
8033
|
maxSizeMB;
|
|
8034
|
+
isSummarazing;
|
|
8035
|
+
summarizedText;
|
|
8318
8036
|
isMobile;
|
|
8319
8037
|
destroy$ = new Subject();
|
|
8320
8038
|
mobileBreakpoints = [Breakpoints.XSmall];
|
|
8321
|
-
constructor(translateTextService, clipboard, alerts, config, tldScrollService, tldSystem, audioService, voiceInputService, fileService, breakpointObserver) {
|
|
8039
|
+
constructor(translateTextService, clipboard, alerts, config, tldScrollService, tldSystem, audioService, voiceInputService, fileService, breakpointObserver, llmService) {
|
|
8322
8040
|
this.translateTextService = translateTextService;
|
|
8323
8041
|
this.clipboard = clipboard;
|
|
8324
8042
|
this.alerts = alerts;
|
|
@@ -8329,9 +8047,13 @@ class TldTranslateTextComponent {
|
|
|
8329
8047
|
this.voiceInputService = voiceInputService;
|
|
8330
8048
|
this.fileService = fileService;
|
|
8331
8049
|
this.breakpointObserver = breakpointObserver;
|
|
8050
|
+
this.llmService = llmService;
|
|
8332
8051
|
}
|
|
8333
8052
|
ngOnInit() {
|
|
8334
8053
|
this.translateTextService.listenOnChanges();
|
|
8054
|
+
this.translateTextService.sourceChange.subscribe(() => {
|
|
8055
|
+
this.clearSummarization();
|
|
8056
|
+
});
|
|
8335
8057
|
this.dictateConfig = {
|
|
8336
8058
|
appId: this.config.audioConfig.appId,
|
|
8337
8059
|
appSecret: this.config.audioConfig.appSecret,
|
|
@@ -8350,6 +8072,7 @@ class TldTranslateTextComponent {
|
|
|
8350
8072
|
this.activeData = syst;
|
|
8351
8073
|
this.audioInputVisible = this.config.audioConfig.audioTextInput && this.config.audioConfig.sourceLanguages?.includes(this.activeData?.sourceLang.lang);
|
|
8352
8074
|
if (this.activeData.retranslate) {
|
|
8075
|
+
this.clearSummarization();
|
|
8353
8076
|
this.translateTextService.retranslate({ systemChanged: true });
|
|
8354
8077
|
}
|
|
8355
8078
|
});
|
|
@@ -8372,8 +8095,26 @@ class TldTranslateTextComponent {
|
|
|
8372
8095
|
this.clipboard.copy(this.translatedText);
|
|
8373
8096
|
this.alerts.success("TLD_TRANSLATE.TEXT_COPIED", { id: this.copyMessageId, closeButtonId: this.copyMessageCloseButtonId, parentId: this.copyButtonId });
|
|
8374
8097
|
}
|
|
8098
|
+
copySummarizedText() {
|
|
8099
|
+
this.clipboard.copy(this.summarizedText);
|
|
8100
|
+
}
|
|
8375
8101
|
refresh() {
|
|
8376
8102
|
this.translateTextService.onTranslateButtonClick();
|
|
8103
|
+
this.clearSummarization();
|
|
8104
|
+
}
|
|
8105
|
+
createSummary() {
|
|
8106
|
+
this.isSummarazing = true;
|
|
8107
|
+
setTimeout(() => {
|
|
8108
|
+
document.querySelector('.summary-wrapper').scrollIntoView({ behavior: 'smooth' });
|
|
8109
|
+
}, 100);
|
|
8110
|
+
this.llmService
|
|
8111
|
+
.summarize({ language: this.targetLanguage, text: this.translatedText, useCase: LLMUseCase.General })
|
|
8112
|
+
.pipe(finalize(() => (this.isSummarazing = false)))
|
|
8113
|
+
.subscribe({
|
|
8114
|
+
next: (response) => {
|
|
8115
|
+
this.summarizedText = marked.parse(response);
|
|
8116
|
+
},
|
|
8117
|
+
});
|
|
8377
8118
|
}
|
|
8378
8119
|
switchFocusFromCopy(event) {
|
|
8379
8120
|
const copyMessageCloseButton = document.getElementById(this.copyMessageCloseButtonId)?.getElementsByTagName("button")?.item(0);
|
|
@@ -8439,6 +8180,7 @@ class TldTranslateTextComponent {
|
|
|
8439
8180
|
}
|
|
8440
8181
|
clearSource() {
|
|
8441
8182
|
this.translateTextService.clearSource();
|
|
8183
|
+
this.clearSummarization();
|
|
8442
8184
|
}
|
|
8443
8185
|
ngOnDestroy() {
|
|
8444
8186
|
this.translateTextService.stopListeningToChanges();
|
|
@@ -8458,13 +8200,16 @@ class TldTranslateTextComponent {
|
|
|
8458
8200
|
this.isMobile = state.matches;
|
|
8459
8201
|
});
|
|
8460
8202
|
}
|
|
8461
|
-
|
|
8462
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateTextComponent, selector: "tld-translate-text", inputs: { filePreviewProgress: "filePreviewProgress" }, outputs: { onFileChange: "onFileChange" }, viewQueries: [{ propertyName: "sourceComponent", first: true, predicate: ["sourceComponent"], descendants: true }, { propertyName: "dictateComponent", first: true, predicate: ["dictate"], descendants: true }], ngImport: i0, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper [textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n [clearSourceVisible]=\"source?.length>0\" (onSourceClear)=\"clearSource()\"\r\n [clearDisabled]=\"textareaDisabled\" [clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n [ngClass]=\"{'highlight-active': highlight, 'gramcheck-active': gramCheck, 'empty-target': isEmptyTarget}\">\r\n <div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n <tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex\r\n [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n </div>\r\n <ng-container sourceActions *ngIf=\"!hideSourceActions\">\r\n <div fxLayoutAlign=\"start center\" class=\"basic-padding\" fxLayoutGap=\"1em\">\r\n <ng-container *ngIf=\"audioInputVisible\">\r\n <tld-dictate #dictate [configuration]=\"dictateConfig\" [ngClass]=\"{'full-width' : !fileUpload}\"\r\n (isDictating)=\"dictateStartStop($event)\" (result)=\"dictateResult($event)\"\r\n (partialResult)=\"dictatePartialResult($event)\" (onError)=\"dictateError($event)\" [language]=\"sourceLanguage\">\r\n </tld-dictate>\r\n </ng-container>\r\n <div *ngIf=\"fileUpload\" class=\"file-upload-wrapper\">\r\n <lib-file-upload (fileChange)=\"fileChange($event)\" [accept]=\"allowedFileTypes\" [maxSize]=\"maxFileUploadSize\" [uploadIconName]=\"uploadIconName\"\r\n [extendedAcceptList]=\"extendedFileTypes\" [multiple]=\"multipleFiles\" (errorEvent)=\"fileUploadError($event)\"\r\n [filePreviewProgress]=\"filePreviewProgress\" [disabled]=\"fileUploadDisabled\">\r\n <span class=\"upload-file-text\">\r\n <div fxLayout=\"row\">\r\n <span class=\"info text-l-semi-bold\">\r\n <span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n <span> </span>\r\n <span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n <span [innerHTML]=\"'FILE_UPLOAD.'+ (multipleFiles? 'FILES' : 'FILE') | translate\"\r\n [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n </span>\r\n </div>\r\n <div fxLayout=\"row\">\r\n <span class=\"file-upload-extensions text-m\">\r\n (\r\n <span>{{visibleExtensions}}. </span>\r\n <span *ngIf=\"maxSizeMB\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate: {maxSizeMB: maxSizeMB}\"></span>\r\n )\r\n </span>\r\n </div>\r\n </span>\r\n </lib-file-upload>\r\n <lib-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\">\r\n </lib-open-extension-dialog>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div targetMain class=\"target-main\">\r\n <ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n <p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\"\r\n [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\">\r\n </p>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container targetActions>\r\n <div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showSuggestions || showProgressIndicator\">\r\n <tld-translate-suggest *ngIf=\"showSuggestions\" [systemId]=\"systemId\" [target]=\"targetParagraphs\"\r\n [source]=\"sourceParagraphs\">\r\n </tld-translate-suggest>\r\n <progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n </div>\r\n </ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n <div [class.translated-source-overflow]=\"targetWrapperOverflow\" class=\"translated-source\" [class.selectable-sentence]=\"showSuggestions\">\r\n <ng-container *ngIf=\"!urlToTranslate\">\r\n <div class=\"target-wrapper-action-buttons\">\r\n <button *ngIf=\"firstParagraphTranslated\" mat-icon-button class=\"tld-copy-translation\" (click)=\"copy()\"\r\n matTooltip=\"{{'TOOLTIPS.COPY' | translate}}\" [attr.aria-describedby]=\"copyMessageId\"\r\n (keydown.Tab)=\"switchFocusFromCopy($event)\" [attr.Id]=\"copyButtonId\">\r\n <span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\">\r\n content_copy\r\n </span>\r\n </button>\r\n <button *ngIf=\"firstParagraphTranslated || translationError\" mat-icon-button class=\"tld-refresh-translation\" (click)=\"refresh()\"\r\n matTooltip=\"{{'TOOLTIPS.REFRESH' | translate}}\"\r\n >\r\n <span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REFRESH' | translate\">\r\n refresh\r\n </span>\r\n </button>\r\n <tld-text-to-speech *ngIf=\"textToSpeechTargetSettings && firstParagraphTranslated\" [settings]=\"textToSpeechTargetSettings\">\r\n </tld-text-to-speech>\r\n </div>\r\n <div *ngFor=\"let paragraph of targetParagraphs\">\r\n <tld-highlight-tree [highlight]=\"highlight\" [tree]=\"paragraph\" [selectSentence]=\"showSuggestions\">\r\n </tld-highlight-tree>\r\n </div>\r\n\r\n <div *ngIf=\"firstParagraphTranslated\" class=\"dictionary-wrapper\">\r\n <tld-dictionary [dictionary]=\"dictionaryEntry\"></tld-dictionary>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n <a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n {{urlToTranslate}}\r\n <span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\">\r\n open_in_new\r\n </span>\r\n </a>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:1em}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.target-container{position:relative}.translated-source{overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:1em 3.5em 1em 2em!important}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:1em}.target-wrapper-action-buttons{position:absolute;top:.2em;right:.2em}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons .tld-refresh-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}.dictionary-wrapper{margin-top:2rem}@media (max-width: 768px){.translated-source{padding:1em 3em 1em 1em!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: ["clearSourceVisible", "clearSourceTooltip", "clearDisabled", "textToSpeechSourceSettings"], outputs: ["onSourceClear"] }, { kind: "component", type: TldDictateComponent, selector: "tld-dictate", inputs: ["configuration", "language"], outputs: ["result", "partialResult", "isDictating", "onError"] }, { kind: "component", type: i5.OpenExtensionDialogComponent, selector: "lib-open-extension-dialog", inputs: ["extensions"] }, { kind: "component", type: TextToSpeechComponent, selector: "tld-text-to-speech", inputs: ["settings"] }, { kind: "component", type: i5.FileUploadComponent, selector: "lib-file-upload", inputs: ["accept", "useCompactUpload", "maxSize", "multiple", "filePreviewProgress", "allowEmpty", "disabled", "dragZoneLabel", "uploadIconName", "uploadButtonLabel", "openExtensionPopupLabel", "minSupportedFormatCount", "extendedAcceptList"], outputs: ["fileChange", "errorEvent"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: TldTranslateSourceComponent, selector: "tld-translate-source", inputs: ["textareaDisabled", "sourceParagraphs"] }, { kind: "component", type: TldTranslateSuggestComponent, selector: "tld-translate-suggest", inputs: ["target", "source", "dictionary", "systemId", "options", "selectedSentence"] }, { kind: "component", type: TldDictionaryComponent, selector: "tld-dictionary", inputs: ["dictionary"] }, { kind: "component", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: ["tree", "isSource", "correctionsEnabled", "highlight", "gramCheck", "selectSentence"], outputs: ["onReplace"] }, { kind: "component", type: ProgressIndicatorComponent, selector: "progress-indicator", outputs: ["onClose"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
8203
|
+
clearSummarization() {
|
|
8204
|
+
this.summarizedText = null;
|
|
8205
|
+
}
|
|
8206
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateTextComponent, deps: [{ token: TldTranslateTextService }, { token: i2$3.Clipboard }, { token: i5.AlertService }, { token: TldTranslateConfigService }, { token: TldScrollService }, { token: TldTranslateSystemManagementService }, { token: AudioRecordService }, { token: TldVoiceInputService }, { token: TldTranslateFileService }, { token: i8$1.BreakpointObserver }, { token: i5$2.LLMService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8207
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateTextComponent, selector: "tld-translate-text", inputs: { filePreviewProgress: "filePreviewProgress" }, outputs: { onFileChange: "onFileChange" }, viewQueries: [{ propertyName: "sourceComponent", first: true, predicate: ["sourceComponent"], descendants: true }, { propertyName: "dictateComponent", first: true, predicate: ["dictate"], descendants: true }], ngImport: i0, template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper\r\n\t[textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n\t[clearSourceVisible]=\"source?.length > 0\"\r\n\t(onSourceClear)=\"clearSource()\"\r\n\t[clearDisabled]=\"textareaDisabled\"\r\n\t[clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n\t[ngClass]=\"{ 'highlight-active': highlight, 'gramcheck-active': gramCheck, 'empty-target': isEmptyTarget }\"\r\n>\r\n\t<div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n\t\t<tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n\t</div>\r\n\t<ng-container sourceActions *ngIf=\"!hideSourceActions\">\r\n\t\t<div fxLayoutAlign=\"start center\" class=\"basic-padding\" fxLayoutGap=\"1em\">\r\n\t\t\t<ng-container *ngIf=\"audioInputVisible\">\r\n\t\t\t\t<tld-dictate\r\n\t\t\t\t\t#dictate\r\n\t\t\t\t\t[configuration]=\"dictateConfig\"\r\n\t\t\t\t\t[ngClass]=\"{ 'full-width': !fileUpload }\"\r\n\t\t\t\t\t(isDictating)=\"dictateStartStop($event)\"\r\n\t\t\t\t\t(result)=\"dictateResult($event)\"\r\n\t\t\t\t\t(partialResult)=\"dictatePartialResult($event)\"\r\n\t\t\t\t\t(onError)=\"dictateError($event)\"\r\n\t\t\t\t\t[language]=\"sourceLanguage\"\r\n\t\t\t\t>\r\n\t\t\t\t</tld-dictate>\r\n\t\t\t</ng-container>\r\n\t\t\t<div *ngIf=\"fileUpload\" class=\"file-upload-wrapper\">\r\n\t\t\t\t<lib-file-upload\r\n\t\t\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t\t\t[uploadIconName]=\"uploadIconName\"\r\n\t\t\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t\t\t[filePreviewProgress]=\"filePreviewProgress\"\r\n\t\t\t\t\t[disabled]=\"fileUploadDisabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"upload-file-text\">\r\n\t\t\t\t\t\t\t<span class=\"info\">\r\n\t\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t\t\t\t\t\t<span> </span>\r\n\t\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n\t\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.' + (multipleFiles ? 'FILES' : 'FILE') | translate\" [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t<span class=\"file-upload-extensions text-m\">\r\n\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t<span>{{ visibleExtensions }}. </span>\r\n\t\t\t\t\t\t\t\t<span *ngIf=\"maxSizeMB\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate : { maxSizeMB: maxSizeMB }\"></span>\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</lib-file-upload>\r\n\t\t\t\t<lib-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\"> </lib-open-extension-dialog>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<div targetMain class=\"target-main\">\r\n\t\t<ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n\t\t\t<p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\" [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\"></p>\r\n\t\t</ng-container>\r\n\t</div>\r\n\r\n\t<ng-container targetActions>\r\n\t\t<div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showSuggestions || showProgressIndicator\">\r\n\t\t\t<tld-translate-suggest *ngIf=\"showSuggestions\" [systemId]=\"systemId\" [target]=\"targetParagraphs\" [source]=\"sourceParagraphs\"> </tld-translate-suggest>\r\n\t\t\t<progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n\t\t</div>\r\n\t</ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n\t<div [class.translated-source-overflow]=\"targetWrapperOverflow\" class=\"translated-source\" [class.selectable-sentence]=\"showSuggestions\">\r\n\t\t<ng-container *ngIf=\"!urlToTranslate\">\r\n\t\t\t<div class=\"target-wrapper-action-buttons\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated\"\r\n\t\t\t\t\tclass=\"tld-copy-translation\"\r\n\t\t\t\t\t(click)=\"copy()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t\t[attr.aria-describedby]=\"copyMessageId\"\r\n\t\t\t\t\t[attr.Id]=\"copyButtonId\"\r\n\t\t\t\t\t(keydown.Tab)=\"switchFocusFromCopy($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated || translationError\"\r\n\t\t\t\t\tclass=\"tld-refresh-translation\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.REFRESH' | translate\"\r\n\t\t\t\t\t(click)=\"refresh()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REFRESH' | translate\"> refresh </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated && isLlmEnabled\"\r\n\t\t\t\t\tclass=\"tld-create-summary\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.CREATE_SUMMARY' | translate\"\r\n\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing || summarizedText\"\r\n\t\t\t\t\t(click)=\"createSummary()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<mat-icon [svgIcon]=\"'summarize'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.CREATE_SUMMARY' | translate\"></mat-icon>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<tld-text-to-speech *ngIf=\"textToSpeechTargetSettings && firstParagraphTranslated\" [settings]=\"textToSpeechTargetSettings\"> </tld-text-to-speech>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngFor=\"let paragraph of targetParagraphs\">\r\n\t\t\t\t<tld-highlight-tree [highlight]=\"highlight\" [tree]=\"paragraph\" [selectSentence]=\"showSuggestions\"> </tld-highlight-tree>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isSummarazing || summarizedText\" class=\"summary-wrapper\">\r\n\t\t\t\t<p>{{ \"TLD_TRANSLATE.SUMMARY.TITLE\" | translate }}</p>\r\n\r\n\t\t\t\t<p *ngIf=\"isSummarazing\" class=\"creating-progress\">{{ \"TLD_TRANSLATE.SUMMARY.CREATING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n\r\n\t\t\t\t<p [innerHTML]=\"summarizedText\"></p>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"summarizedText\"\r\n\t\t\t\t\t[ngClass.lt-sm]=\"'summary-mobile'\"\r\n\t\t\t\t\tclass=\"summary-copy-btn\"\r\n\t\t\t\t\t(click)=\"copySummarizedText()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"firstParagraphTranslated\" class=\"dictionary-wrapper\">\r\n\t\t\t\t<tld-dictionary [dictionary]=\"dictionaryEntry\"></tld-dictionary>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n\t\t\t<a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n\t\t\t\t{{ urlToTranslate }}\r\n\t\t\t\t<span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\"> open_in_new </span>\r\n\t\t\t</a>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:1em}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.translated-source{position:relative;overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:1em 3.5em 1em 2em!important}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:1em}.target-wrapper-action-buttons{position:absolute;top:0;right:0}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons .tld-refresh-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{color:var(--base-40);font-size:14px;display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}.dictionary-wrapper{margin-top:2rem}.summary-wrapper{position:relative;padding-top:12px;border-top:1px solid var(--base-70)}.summary-wrapper p{margin-bottom:.5rem;font-weight:500}.creating-progress{color:var(--base-40)}.dot-loading{clip-path:inset(0 100% 0 0);animation:loading 1.5s steps(4) infinite}.summary-copy-btn{position:absolute;right:-53px;top:20px}.summary-mobile{right:-46px}@media (max-width: 768px){.translated-source{padding:1em 3em 1em 1em!important}}@keyframes loading{to{clip-path:inset(0 -34% 0 0)}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SourceAndTargetWrapperComponent, selector: "tld-source-and-target-wrapper", inputs: ["clearSourceVisible", "clearSourceTooltip", "clearDisabled", "textToSpeechSourceSettings"], outputs: ["onSourceClear"] }, { kind: "component", type: TldDictateComponent, selector: "tld-dictate", inputs: ["configuration", "language"], outputs: ["result", "partialResult", "isDictating", "onError"] }, { kind: "component", type: i5.OpenExtensionDialogComponent, selector: "lib-open-extension-dialog", inputs: ["extensions"] }, { kind: "component", type: TextToSpeechComponent, selector: "tld-text-to-speech", inputs: ["settings"] }, { kind: "component", type: i5.FileUploadComponent, selector: "lib-file-upload", inputs: ["accept", "useCompactUpload", "maxSize", "multiple", "filePreviewProgress", "allowEmpty", "disabled", "dragZoneLabel", "uploadIconName", "uploadButtonLabel", "openExtensionPopupLabel", "minSupportedFormatCount", "extendedAcceptList"], outputs: ["fileChange", "errorEvent"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: TldTranslateSourceComponent, selector: "tld-translate-source", inputs: ["textareaDisabled", "sourceParagraphs"] }, { kind: "component", type: TldTranslateSuggestComponent, selector: "tld-translate-suggest", inputs: ["target", "source", "dictionary", "systemId", "options", "selectedSentence"] }, { kind: "component", type: TldDictionaryComponent, selector: "tld-dictionary", inputs: ["dictionary"] }, { kind: "component", type: HighlightTreeComponent, selector: "tld-highlight-tree", inputs: ["tree", "isSource", "correctionsEnabled", "highlight", "gramCheck", "selectSentence"], outputs: ["onReplace"] }, { kind: "component", type: ProgressIndicatorComponent, selector: "progress-indicator", outputs: ["onClose"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
8463
8208
|
}
|
|
8464
8209
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateTextComponent, decorators: [{
|
|
8465
8210
|
type: Component,
|
|
8466
|
-
args: [{ selector: 'tld-translate-text', template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper
|
|
8467
|
-
}], ctorParameters: () => [{ type: TldTranslateTextService }, { type: i2$3.Clipboard }, { type: i5.AlertService }, { type: TldTranslateConfigService }, { type: TldScrollService }, { type: TldTranslateSystemManagementService }, { type: AudioRecordService }, { type: TldVoiceInputService }, { type: TldTranslateFileService }, { type: i8$1.BreakpointObserver }], propDecorators: { sourceComponent: [{
|
|
8211
|
+
args: [{ selector: 'tld-translate-text', template: "<!-- NOTE. tld-source-and-target-wrapper uses multiple content projections, so might seem confusing first, but elements are displayed at their places based on tld-source-and-target-wrapper component\r\nhttps://angular.io/guide/content-projection#multi-slot-content-projection\r\n-->\r\n<tld-source-and-target-wrapper\r\n\t[textToSpeechSourceSettings]=\"textToSpeechSourceSettings\"\r\n\t[clearSourceVisible]=\"source?.length > 0\"\r\n\t(onSourceClear)=\"clearSource()\"\r\n\t[clearDisabled]=\"textareaDisabled\"\r\n\t[clearSourceTooltip]=\"'TLD_TRANSLATE.CLEAR_SOURCE_TOOLTIP'\"\r\n\t[ngClass]=\"{ 'highlight-active': highlight, 'gramcheck-active': gramCheck, 'empty-target': isEmptyTarget }\"\r\n>\r\n\t<div sourceMain class=\"source-main\" fxLayout=\"column\">\r\n\t\t<tld-translate-source [textareaDisabled]=\"textareaDisabled\" #sourceComponent fxFlex [sourceParagraphs]=\"sourceParagraphs\"></tld-translate-source>\r\n\t</div>\r\n\t<ng-container sourceActions *ngIf=\"!hideSourceActions\">\r\n\t\t<div fxLayoutAlign=\"start center\" class=\"basic-padding\" fxLayoutGap=\"1em\">\r\n\t\t\t<ng-container *ngIf=\"audioInputVisible\">\r\n\t\t\t\t<tld-dictate\r\n\t\t\t\t\t#dictate\r\n\t\t\t\t\t[configuration]=\"dictateConfig\"\r\n\t\t\t\t\t[ngClass]=\"{ 'full-width': !fileUpload }\"\r\n\t\t\t\t\t(isDictating)=\"dictateStartStop($event)\"\r\n\t\t\t\t\t(result)=\"dictateResult($event)\"\r\n\t\t\t\t\t(partialResult)=\"dictatePartialResult($event)\"\r\n\t\t\t\t\t(onError)=\"dictateError($event)\"\r\n\t\t\t\t\t[language]=\"sourceLanguage\"\r\n\t\t\t\t>\r\n\t\t\t\t</tld-dictate>\r\n\t\t\t</ng-container>\r\n\t\t\t<div *ngIf=\"fileUpload\" class=\"file-upload-wrapper\">\r\n\t\t\t\t<lib-file-upload\r\n\t\t\t\t\t(fileChange)=\"fileChange($event)\"\r\n\t\t\t\t\t[accept]=\"allowedFileTypes\"\r\n\t\t\t\t\t[maxSize]=\"maxFileUploadSize\"\r\n\t\t\t\t\t[uploadIconName]=\"uploadIconName\"\r\n\t\t\t\t\t[extendedAcceptList]=\"extendedFileTypes\"\r\n\t\t\t\t\t[multiple]=\"multipleFiles\"\r\n\t\t\t\t\t(errorEvent)=\"fileUploadError($event)\"\r\n\t\t\t\t\t[filePreviewProgress]=\"filePreviewProgress\"\r\n\t\t\t\t\t[disabled]=\"fileUploadDisabled\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"upload-file-text\">\r\n\t\t\t\t\t\t\t<span class=\"info\">\r\n\t\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.UPLOAD' | translate\" class=\"accent-color\"></span>\r\n\t\t\t\t\t\t\t\t<span> </span>\r\n\t\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.DRAG_AND_DROP' | translate\" fxHide.lt-sm></span>\r\n\t\t\t\t\t\t\t\t<span [innerHTML]=\"'FILE_UPLOAD.' + (multipleFiles ? 'FILES' : 'FILE') | translate\" [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t<span class=\"file-upload-extensions text-m\">\r\n\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t<span>{{ visibleExtensions }}. </span>\r\n\t\t\t\t\t\t\t\t<span *ngIf=\"maxSizeMB\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate : { maxSizeMB: maxSizeMB }\"></span>\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</lib-file-upload>\r\n\t\t\t\t<lib-open-extension-dialog *ngIf=\"showExtensionPopup\" [extensions]=\"allowedTypesWithoutDots\"> </lib-open-extension-dialog>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<div targetMain class=\"target-main\">\r\n\t\t<ng-container *ngIf=\"isEmptyTarget; else translatedTextBlock\">\r\n\t\t\t<p *ngIf=\"showTargetPlaceholder\" class=\"description-text target-empty\" [innerHtml]=\"'TLD_TRANSLATE.TARGET_DESCRIPTION' | translate\"></p>\r\n\t\t</ng-container>\r\n\t</div>\r\n\r\n\t<ng-container targetActions>\r\n\t\t<div class=\"tld-translate-target-footer basic-padding\" *ngIf=\"showSuggestions || showProgressIndicator\">\r\n\t\t\t<tld-translate-suggest *ngIf=\"showSuggestions\" [systemId]=\"systemId\" [target]=\"targetParagraphs\" [source]=\"sourceParagraphs\"> </tld-translate-suggest>\r\n\t\t\t<progress-indicator (onClose)=\"closeProgressIndicator()\" *ngIf=\"showProgressIndicator\"></progress-indicator>\r\n\t\t</div>\r\n\t</ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<!-- templates used for else blocks in target container -->\r\n<ng-template #translatedTextBlock>\r\n\t<div [class.translated-source-overflow]=\"targetWrapperOverflow\" class=\"translated-source\" [class.selectable-sentence]=\"showSuggestions\">\r\n\t\t<ng-container *ngIf=\"!urlToTranslate\">\r\n\t\t\t<div class=\"target-wrapper-action-buttons\">\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated\"\r\n\t\t\t\t\tclass=\"tld-copy-translation\"\r\n\t\t\t\t\t(click)=\"copy()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t\t[attr.aria-describedby]=\"copyMessageId\"\r\n\t\t\t\t\t[attr.Id]=\"copyButtonId\"\r\n\t\t\t\t\t(keydown.Tab)=\"switchFocusFromCopy($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated || translationError\"\r\n\t\t\t\t\tclass=\"tld-refresh-translation\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.REFRESH' | translate\"\r\n\t\t\t\t\t(click)=\"refresh()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REFRESH' | translate\"> refresh </span>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"firstParagraphTranslated && isLlmEnabled\"\r\n\t\t\t\t\tclass=\"tld-create-summary\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.CREATE_SUMMARY' | translate\"\r\n\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing || summarizedText\"\r\n\t\t\t\t\t(click)=\"createSummary()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<mat-icon [svgIcon]=\"'summarize'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.CREATE_SUMMARY' | translate\"></mat-icon>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<tld-text-to-speech *ngIf=\"textToSpeechTargetSettings && firstParagraphTranslated\" [settings]=\"textToSpeechTargetSettings\"> </tld-text-to-speech>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngFor=\"let paragraph of targetParagraphs\">\r\n\t\t\t\t<tld-highlight-tree [highlight]=\"highlight\" [tree]=\"paragraph\" [selectSentence]=\"showSuggestions\"> </tld-highlight-tree>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"isSummarazing || summarizedText\" class=\"summary-wrapper\">\r\n\t\t\t\t<p>{{ \"TLD_TRANSLATE.SUMMARY.TITLE\" | translate }}</p>\r\n\r\n\t\t\t\t<p *ngIf=\"isSummarazing\" class=\"creating-progress\">{{ \"TLD_TRANSLATE.SUMMARY.CREATING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n\r\n\t\t\t\t<p [innerHTML]=\"summarizedText\"></p>\r\n\r\n\t\t\t\t<button\r\n\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t*ngIf=\"summarizedText\"\r\n\t\t\t\t\t[ngClass.lt-sm]=\"'summary-mobile'\"\r\n\t\t\t\t\tclass=\"summary-copy-btn\"\r\n\t\t\t\t\t(click)=\"copySummarizedText()\"\r\n\t\t\t\t\t[matTooltip]=\"'TOOLTIPS.COPY' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div *ngIf=\"firstParagraphTranslated\" class=\"dictionary-wrapper\">\r\n\t\t\t\t<tld-dictionary [dictionary]=\"dictionaryEntry\"></tld-dictionary>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<div *ngIf=\"urlToTranslate\" class=\"target-url-container\">\r\n\t\t\t<a [attr.href]=\"translateUrlRedirect\" target=\"_blank\" fxLayoutAlign=\"start center\" class=\"go-to-webtranslate\">\r\n\t\t\t\t{{ urlToTranslate }}\r\n\t\t\t\t<span class=\"material-icons\" color=\"accent\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.OPEN_IN_NEW'\"> open_in_new </span>\r\n\t\t\t</a>\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n", styles: [".go-to-webtranslate{word-break:break-all;display:inline}.basic-padding,.target-empty,.target-translated-text{padding:1em}.source-container{border-right:1px solid #cbd2d9;padding:0;overflow:auto}.target-description{margin-top:0}.translated-source{position:relative;overflow-y:auto;overflow-x:hidden;flex:1 1 0!important;padding:1em 3.5em 1em 2em!important}.translated-source.selectable-sentence{cursor:pointer}::ng-deep .target-highlight .tld-highlight-container{padding:1em}.target-wrapper-action-buttons{position:absolute;top:0;right:0}.target-wrapper-action-buttons .tld-copy-translation,.target-wrapper-action-buttons .tld-refresh-translation,.target-wrapper-action-buttons tld-text-to-speech{display:block}.target-empty,.target-translated-text{margin:0}tld-dictionary{overflow-y:auto;flex:1 1 0!important}.source-main,.target-main{height:100%}.upload-file-text{color:var(--base-40);font-size:14px;display:inline-block;text-align:left}.file-upload-wrapper{width:100%}.file-upload-wrapper .file-upload-extensions{font-weight:400}.dictionary-wrapper{margin-top:2rem}.summary-wrapper{position:relative;padding-top:12px;border-top:1px solid var(--base-70)}.summary-wrapper p{margin-bottom:.5rem;font-weight:500}.creating-progress{color:var(--base-40)}.dot-loading{clip-path:inset(0 100% 0 0);animation:loading 1.5s steps(4) infinite}.summary-copy-btn{position:absolute;right:-53px;top:20px}.summary-mobile{right:-46px}@media (max-width: 768px){.translated-source{padding:1em 3em 1em 1em!important}}@keyframes loading{to{clip-path:inset(0 -34% 0 0)}}\n"] }]
|
|
8212
|
+
}], ctorParameters: () => [{ type: TldTranslateTextService }, { type: i2$3.Clipboard }, { type: i5.AlertService }, { type: TldTranslateConfigService }, { type: TldScrollService }, { type: TldTranslateSystemManagementService }, { type: AudioRecordService }, { type: TldVoiceInputService }, { type: TldTranslateFileService }, { type: i8$1.BreakpointObserver }, { type: i5$2.LLMService }], propDecorators: { sourceComponent: [{
|
|
8468
8213
|
type: ViewChild,
|
|
8469
8214
|
args: ["sourceComponent"]
|
|
8470
8215
|
}], dictateComponent: [{
|
|
@@ -8504,7 +8249,8 @@ class TldTextModule {
|
|
|
8504
8249
|
MatInputModule,
|
|
8505
8250
|
MatFormFieldModule,
|
|
8506
8251
|
MatDialogModule,
|
|
8507
|
-
MatTooltipModule
|
|
8252
|
+
MatTooltipModule,
|
|
8253
|
+
MatIconModule], exports: [TldTranslateSourceComponent,
|
|
8508
8254
|
TldTranslateSuggestComponent,
|
|
8509
8255
|
TldTranslateTextComponent] });
|
|
8510
8256
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTextModule, imports: [CommonModule,
|
|
@@ -8526,7 +8272,8 @@ class TldTextModule {
|
|
|
8526
8272
|
MatInputModule,
|
|
8527
8273
|
MatFormFieldModule,
|
|
8528
8274
|
MatDialogModule,
|
|
8529
|
-
MatTooltipModule
|
|
8275
|
+
MatTooltipModule,
|
|
8276
|
+
MatIconModule] });
|
|
8530
8277
|
}
|
|
8531
8278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTextModule, decorators: [{
|
|
8532
8279
|
type: NgModule,
|
|
@@ -8559,7 +8306,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
8559
8306
|
MatInputModule,
|
|
8560
8307
|
MatFormFieldModule,
|
|
8561
8308
|
MatDialogModule,
|
|
8562
|
-
MatTooltipModule
|
|
8309
|
+
MatTooltipModule,
|
|
8310
|
+
MatIconModule
|
|
8563
8311
|
],
|
|
8564
8312
|
exports: [
|
|
8565
8313
|
TldTranslateSourceComponent,
|
|
@@ -8904,7 +8652,6 @@ class TranslationSystemPickerComponent {
|
|
|
8904
8652
|
tldSystem;
|
|
8905
8653
|
file;
|
|
8906
8654
|
text;
|
|
8907
|
-
config;
|
|
8908
8655
|
isCollectionsActivated;
|
|
8909
8656
|
get isSourceOpened() { return this.systemPickerService.isSourceOpened; }
|
|
8910
8657
|
get isTargetOpened() { return this.systemPickerService.isTargetOpened; }
|
|
@@ -8930,18 +8677,12 @@ class TranslationSystemPickerComponent {
|
|
|
8930
8677
|
get translatedText() {
|
|
8931
8678
|
return this.text.translatedText;
|
|
8932
8679
|
}
|
|
8933
|
-
get isLLMEnabled() {
|
|
8934
|
-
return this.config.llmConfig.isEnabled;
|
|
8935
|
-
}
|
|
8936
8680
|
get isTranslating() {
|
|
8937
8681
|
return this.text.isTranslating;
|
|
8938
8682
|
}
|
|
8939
8683
|
get isFileView() {
|
|
8940
8684
|
return this.file.fileNames.length > 0;
|
|
8941
8685
|
}
|
|
8942
|
-
get disabledLLMMenuText() {
|
|
8943
|
-
return this.isFileView ? 'LLM.UNSUPPORTED_MENU_DISABLED_TOOLTIP' : ((this.isTranslating || !this.translatedText) ? 'LLM.MENU_DISABLED_TOOLTIP' : '');
|
|
8944
|
-
}
|
|
8945
8686
|
sourceAriaLabel = "SYSTEM_PICKER.OPEN_SOURCE_ARIA_LABEL";
|
|
8946
8687
|
targetAriaLabel = "SYSTEM_PICKER.OPEN_TARGET_ARIA_LABEL";
|
|
8947
8688
|
domainLength = 0;
|
|
@@ -8952,12 +8693,11 @@ class TranslationSystemPickerComponent {
|
|
|
8952
8693
|
subscription;
|
|
8953
8694
|
activeData;
|
|
8954
8695
|
system;
|
|
8955
|
-
constructor(systemPickerService, tldSystem, file, text
|
|
8696
|
+
constructor(systemPickerService, tldSystem, file, text) {
|
|
8956
8697
|
this.systemPickerService = systemPickerService;
|
|
8957
8698
|
this.tldSystem = tldSystem;
|
|
8958
8699
|
this.file = file;
|
|
8959
8700
|
this.text = text;
|
|
8960
|
-
this.config = config;
|
|
8961
8701
|
}
|
|
8962
8702
|
ngOnInit() {
|
|
8963
8703
|
this.subscribeToActiveData();
|
|
@@ -9003,18 +8743,18 @@ class TranslationSystemPickerComponent {
|
|
|
9003
8743
|
this.system = { systemId: activeData.systemId, sourceLanguageCode: activeData?.system?.detectedLanguage ?? activeData.sourceLang.lang, targetLanguageCode: activeData.targetLang.lang, detectedLanguage: activeData.system.detectedLanguage };
|
|
9004
8744
|
this.activeData = activeData;
|
|
9005
8745
|
this.activeDomainKey = this.activeData.domains?.active?.title;
|
|
9006
|
-
this.activeDomainLocalizationKey = HtmlHelper.getLocalizationKey(this.
|
|
8746
|
+
this.activeDomainLocalizationKey = HtmlHelper.getLocalizationKey(this.activeDomainKey);
|
|
9007
8747
|
this.domainLength = this.activeData.domains?.domains?.length ?? 0;
|
|
9008
8748
|
this.isTerminologySupported = this.tldSystem.isTerminologySupported(this.activeData.system);
|
|
9009
8749
|
});
|
|
9010
8750
|
}
|
|
9011
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerComponent, deps: [{ token: TranslationSystemPickerService }, { token: TldTranslateSystemManagementService }, { token: TldTranslateFileService }, { token: TldTranslateTextService }
|
|
9012
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TranslationSystemPickerComponent, selector: "tld-translation-system-picker", inputs: { isCollectionsActivated: "isCollectionsActivated" }, ngImport: i0, template: "<div fxFlex fxLayout=\"row\">\r\n <ng-container *ngIf=\"isDataLoaded\">\r\n <div fxFlex fxLayoutAlign=\"space-between center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: sourceLanguage, localizationKey: 'SYSTEM_PICKER.SOURCE', isOpened: isSourceOpened, isSource: true, ariaLabelCode: sourceAriaLabel }\">\r\n </ng-container>\r\n <button [disabled]=\"!canSwap\" class=\"swap-languages-button\" mat-icon-button (click)=\"swap()\"\r\n aria-label=\"swap languages\" color=\"primary\" matTooltip=\"{{'TOOLTIPS.SWAP_LANGUAGES' | translate}}\">\r\n <span class=\"material-icons\" aria-hidden=\"false\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SWAP_LANGUAGES' | translate\">swap_horiz</span>\r\n </button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"space-between center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: targetLanguage, localizationKey: 'SYSTEM_PICKER.TARGET', isOpened: isTargetOpened, isSource: false, ariaLabelCode: targetAriaLabel}\">\r\n </ng-container>\r\n\r\n <div fxFlex fxLayoutAlign=\"end center\">\r\n <div *ngIf=\"collectionsVisible\" #collectionWrapper class=\"terminology-wrapper\">\r\n <lib-terminology [system]=\"system\"></lib-terminology>\r\n </div>\r\n
|
|
8751
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerComponent, deps: [{ token: TranslationSystemPickerService }, { token: TldTranslateSystemManagementService }, { token: TldTranslateFileService }, { token: TldTranslateTextService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8752
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TranslationSystemPickerComponent, selector: "tld-translation-system-picker", inputs: { isCollectionsActivated: "isCollectionsActivated" }, ngImport: i0, template: "<div fxFlex fxLayout=\"row\">\r\n <ng-container *ngIf=\"isDataLoaded\">\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: sourceLanguage, localizationKey: 'SYSTEM_PICKER.SOURCE', isOpened: isSourceOpened, isSource: true, ariaLabelCode: sourceAriaLabel }\">\r\n </ng-container>\r\n <button [disabled]=\"!canSwap\" class=\"swap-languages-button\" mat-icon-button (click)=\"swap()\"\r\n aria-label=\"swap languages\" color=\"primary\" matTooltip=\"{{'TOOLTIPS.SWAP_LANGUAGES' | translate}}\">\r\n <span class=\"material-icons\" aria-hidden=\"false\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SWAP_LANGUAGES' | translate\">swap_horiz</span>\r\n </button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: targetLanguage, localizationKey: 'SYSTEM_PICKER.TARGET', isOpened: isTargetOpened, isSource: false, ariaLabelCode: targetAriaLabel}\">\r\n </ng-container>\r\n\r\n <div fxFlex fxLayoutAlign=\"end center\">\r\n <div *ngIf=\"collectionsVisible\" #collectionWrapper class=\"terminology-wrapper\">\r\n <lib-terminology [system]=\"system\"></lib-terminology>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #languageName let-language=\"language\" let-showDomain=\"showDomain\" let-detectedLanguage=\"detectedLanguage\">\r\n <span>{{ (detectedLanguage && !showDomain ? detectedLanguage : language.lang) | languageTranslate }}</span>\r\n <span fxHide.lt-md *ngIf=\"detectedLanguage && !showDomain\"> - {{'SYSTEM_PICKER.DETECTED' | translate}}</span>\r\n <ng-container *ngIf=\"showDomain && domainLength>1\">\r\n <span class=\"domain\">({{('DOMAINS.'+(activeDomainLocalizationKey | uppercase)) | translate: {default: activeDomainKey | titlecase} }})</span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #openedDropdown let-localizationKey=\"localizationKey\">\r\n {{localizationKey | translate}}\r\n</ng-template>\r\n\r\n<!--Template for language dropdown trigger. Same as for target and source with different params-->\r\n<ng-template #languageDropdownTrigger let-language=\"language\" let-isOpened=\"isOpened\" let-placeholder=\"localizationKey\"\r\n let-isSource=\"isSource\" let-ariaLabelCode=\"ariaLabelCode\">\r\n <lib-open-close-button [disabled]=\"isFileTranslating\" class=\"system-picker-button\" [ngClass]=\"isSource? 'source': 'target'\"\r\n [ngClass.lt-sm]=\"'system-picker-button-mobile'\" (click)=\"isSource ? sourceClick($event) : targetClick($event)\"\r\n [disableFocusOnAction]=\"true\" [isOpened]=\"isOpened\" [class.opened]=\"isOpened\" [ariaLabelCode]=\"ariaLabelCode\">\r\n <span [ngClass.lt-sm]=\"'mobile-domain-container'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"isOpened && isSource || isOpened && !isSource && !isTargetReselected ? openedDropdown : languageName; context: { language: language, localizationKey: placeholder, showDomain: !isSource, detectedLanguage: system.detectedLanguage }\">\r\n </ng-container>\r\n </span>\r\n </lib-open-close-button>\r\n</ng-template>\r\n", styles: [":host{display:flex}.swap-languages-button{color:var(--base-30)!important}.source{margin-left:.3em}.system-picker-button.system-picker-button-mobile{margin-left:.2em}.target{margin-left:1.5em}:host ::ng-deep .open-close-button-content{color:var(--base-30)}.mobile-domain-container{display:flex}.mobile-domain-container .domain{display:none}.domain{display:inline-block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.terminology-wrapper{margin-right:.3rem}:host ::ng-deep .system-picker-button-mobile{display:flex;align-items:center;max-height:46px;height:100%;max-width:120px;width:100%;background-color:var(--base-95)!important;border-radius:8px}:host ::ng-deep .system-picker-button-mobile span{font-size:12px;text-align:center;line-height:16px}:host ::ng-deep .system-picker-button-mobile .material-icons{display:none!important}:host ::ng-deep .opened .open-close-button-content,.opened button{color:var(--accent)!important}:host ::ng-deep .open-close-button-content{white-space:nowrap;overflow:hidden}:host ::ng-deep .system-picker-button-mobile span{white-space:wrap;overflow:hidden;text-align:center;max-height:46px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.OpenCloseButtonComponent, selector: "lib-open-close-button", inputs: ["disableFocusOnAction", "disabled", "isIcon", "ariaLabelCode", "isOpened"] }, { kind: "component", type: i5.TerminologyComponent, selector: "lib-terminology", inputs: ["selectedCollectionId", "system", "disabled", "storeSelectedInLocalStorage", "setSelectedFromLocalStorage", "showMenuIconOnMobile"], outputs: ["glossarySelectEvent", "menuToggleEvent"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: i2.UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.LanguageTranslatePipe, name: "languageTranslate" }] });
|
|
9013
8753
|
}
|
|
9014
8754
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerComponent, decorators: [{
|
|
9015
8755
|
type: Component,
|
|
9016
|
-
args: [{ selector: 'tld-translation-system-picker', template: "<div fxFlex fxLayout=\"row\">\r\n <ng-container *ngIf=\"isDataLoaded\">\r\n <div fxFlex fxLayoutAlign=\"space-between center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: sourceLanguage, localizationKey: 'SYSTEM_PICKER.SOURCE', isOpened: isSourceOpened, isSource: true, ariaLabelCode: sourceAriaLabel }\">\r\n </ng-container>\r\n <button [disabled]=\"!canSwap\" class=\"swap-languages-button\" mat-icon-button (click)=\"swap()\"\r\n aria-label=\"swap languages\" color=\"primary\" matTooltip=\"{{'TOOLTIPS.SWAP_LANGUAGES' | translate}}\">\r\n <span class=\"material-icons\" aria-hidden=\"false\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SWAP_LANGUAGES' | translate\">swap_horiz</span>\r\n </button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"space-between center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: targetLanguage, localizationKey: 'SYSTEM_PICKER.TARGET', isOpened: isTargetOpened, isSource: false, ariaLabelCode: targetAriaLabel}\">\r\n </ng-container>\r\n\r\n <div fxFlex fxLayoutAlign=\"end center\">\r\n <div *ngIf=\"collectionsVisible\" #collectionWrapper class=\"terminology-wrapper\">\r\n <lib-terminology [system]=\"system\"></lib-terminology>\r\n </div>\r\n
|
|
9017
|
-
}], ctorParameters: () => [{ type: TranslationSystemPickerService }, { type: TldTranslateSystemManagementService }, { type: TldTranslateFileService }, { type: TldTranslateTextService }
|
|
8756
|
+
args: [{ selector: 'tld-translation-system-picker', template: "<div fxFlex fxLayout=\"row\">\r\n <ng-container *ngIf=\"isDataLoaded\">\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: sourceLanguage, localizationKey: 'SYSTEM_PICKER.SOURCE', isOpened: isSourceOpened, isSource: true, ariaLabelCode: sourceAriaLabel }\">\r\n </ng-container>\r\n <button [disabled]=\"!canSwap\" class=\"swap-languages-button\" mat-icon-button (click)=\"swap()\"\r\n aria-label=\"swap languages\" color=\"primary\" matTooltip=\"{{'TOOLTIPS.SWAP_LANGUAGES' | translate}}\">\r\n <span class=\"material-icons\" aria-hidden=\"false\"\r\n [attr.aria-label]=\"'ARIA_LABELS.SWAP_LANGUAGES' | translate\">swap_horiz</span>\r\n </button>\r\n </div>\r\n <div fxFlex fxLayoutAlign=\"space-between center\" fxLayoutAlign.lt-sm=\"space-evenly center\">\r\n <ng-container\r\n *ngTemplateOutlet=\"languageDropdownTrigger; context: { language: targetLanguage, localizationKey: 'SYSTEM_PICKER.TARGET', isOpened: isTargetOpened, isSource: false, ariaLabelCode: targetAriaLabel}\">\r\n </ng-container>\r\n\r\n <div fxFlex fxLayoutAlign=\"end center\">\r\n <div *ngIf=\"collectionsVisible\" #collectionWrapper class=\"terminology-wrapper\">\r\n <lib-terminology [system]=\"system\"></lib-terminology>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #languageName let-language=\"language\" let-showDomain=\"showDomain\" let-detectedLanguage=\"detectedLanguage\">\r\n <span>{{ (detectedLanguage && !showDomain ? detectedLanguage : language.lang) | languageTranslate }}</span>\r\n <span fxHide.lt-md *ngIf=\"detectedLanguage && !showDomain\"> - {{'SYSTEM_PICKER.DETECTED' | translate}}</span>\r\n <ng-container *ngIf=\"showDomain && domainLength>1\">\r\n <span class=\"domain\">({{('DOMAINS.'+(activeDomainLocalizationKey | uppercase)) | translate: {default: activeDomainKey | titlecase} }})</span>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #openedDropdown let-localizationKey=\"localizationKey\">\r\n {{localizationKey | translate}}\r\n</ng-template>\r\n\r\n<!--Template for language dropdown trigger. Same as for target and source with different params-->\r\n<ng-template #languageDropdownTrigger let-language=\"language\" let-isOpened=\"isOpened\" let-placeholder=\"localizationKey\"\r\n let-isSource=\"isSource\" let-ariaLabelCode=\"ariaLabelCode\">\r\n <lib-open-close-button [disabled]=\"isFileTranslating\" class=\"system-picker-button\" [ngClass]=\"isSource? 'source': 'target'\"\r\n [ngClass.lt-sm]=\"'system-picker-button-mobile'\" (click)=\"isSource ? sourceClick($event) : targetClick($event)\"\r\n [disableFocusOnAction]=\"true\" [isOpened]=\"isOpened\" [class.opened]=\"isOpened\" [ariaLabelCode]=\"ariaLabelCode\">\r\n <span [ngClass.lt-sm]=\"'mobile-domain-container'\">\r\n <ng-container\r\n *ngTemplateOutlet=\"isOpened && isSource || isOpened && !isSource && !isTargetReselected ? openedDropdown : languageName; context: { language: language, localizationKey: placeholder, showDomain: !isSource, detectedLanguage: system.detectedLanguage }\">\r\n </ng-container>\r\n </span>\r\n </lib-open-close-button>\r\n</ng-template>\r\n", styles: [":host{display:flex}.swap-languages-button{color:var(--base-30)!important}.source{margin-left:.3em}.system-picker-button.system-picker-button-mobile{margin-left:.2em}.target{margin-left:1.5em}:host ::ng-deep .open-close-button-content{color:var(--base-30)}.mobile-domain-container{display:flex}.mobile-domain-container .domain{display:none}.domain{display:inline-block;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.terminology-wrapper{margin-right:.3rem}:host ::ng-deep .system-picker-button-mobile{display:flex;align-items:center;max-height:46px;height:100%;max-width:120px;width:100%;background-color:var(--base-95)!important;border-radius:8px}:host ::ng-deep .system-picker-button-mobile span{font-size:12px;text-align:center;line-height:16px}:host ::ng-deep .system-picker-button-mobile .material-icons{display:none!important}:host ::ng-deep .opened .open-close-button-content,.opened button{color:var(--accent)!important}:host ::ng-deep .open-close-button-content{white-space:nowrap;overflow:hidden}:host ::ng-deep .system-picker-button-mobile span{white-space:wrap;overflow:hidden;text-align:center;max-height:46px}\n"] }]
|
|
8757
|
+
}], ctorParameters: () => [{ type: TranslationSystemPickerService }, { type: TldTranslateSystemManagementService }, { type: TldTranslateFileService }, { type: TldTranslateTextService }], propDecorators: { isCollectionsActivated: [{
|
|
9018
8758
|
type: Input
|
|
9019
8759
|
}] } });
|
|
9020
8760
|
|
|
@@ -9110,7 +8850,7 @@ class TranslationSystemPickerSystemListComponent {
|
|
|
9110
8850
|
this.clicked.emit(system);
|
|
9111
8851
|
}
|
|
9112
8852
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerSystemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9113
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TranslationSystemPickerSystemListComponent, selector: "tld-translation-system-picker-system-list", inputs: { systems: "systems", titleKey: "titleKey", activeId: "activeId", showTitle: "showTitle", icon: "icon", isRecentSystemList: "isRecentSystemList", isDomainList: "isDomainList" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div [ngClass.lt-sm]=\"'mobile'\">\r\n <div class=\"span-container\" *ngIf=\"showTitle\">\r\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n <span class=\"text-l-semi-bold\" [ngClass.lt-sm]=\"'text-m-semi-bold'\">{{titleKey | translate}}</span>\r\n </div>\r\n <translation-system-picker-button [active]=\"activeId === system.languageId\" [isDomainList]=\"isDomainList\" [isRecentSystemList]=\"isRecentSystemList\" (onClick)=\"changeSystem(system)\"\r\n *ngFor=\"let system of systems\">\r\n {{system.displayName}}\r\n </translation-system-picker-button>\r\n</div>\r\n", styles: [":host{display:inline-block}:host .span-container{display:flex;align-items:center;margin:1rem 0 1.25rem}:host .system-picker-button{width:100%;text-align:left}:host .system-picker-button:not(.active){color:var(--base-10)}:host .mobile .span-container{margin:0 0 .75rem}:host ::ng-deep .system-picker-button{white-space:nowrap}mat-icon{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type:
|
|
8853
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TranslationSystemPickerSystemListComponent, selector: "tld-translation-system-picker-system-list", inputs: { systems: "systems", titleKey: "titleKey", activeId: "activeId", showTitle: "showTitle", icon: "icon", isRecentSystemList: "isRecentSystemList", isDomainList: "isDomainList" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div [ngClass.lt-sm]=\"'mobile'\">\r\n <div class=\"span-container\" *ngIf=\"showTitle\">\r\n <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\r\n <span class=\"text-l-semi-bold\" [ngClass.lt-sm]=\"'text-m-semi-bold'\">{{titleKey | translate}}</span>\r\n </div>\r\n <translation-system-picker-button [active]=\"activeId === system.languageId\" [isDomainList]=\"isDomainList\" [isRecentSystemList]=\"isRecentSystemList\" (onClick)=\"changeSystem(system)\"\r\n *ngFor=\"let system of systems\">\r\n {{system.displayName}}\r\n </translation-system-picker-button>\r\n</div>\r\n", styles: [":host{display:inline-block}:host .span-container{display:flex;align-items:center;margin:1rem 0 1.25rem}:host .system-picker-button{width:100%;text-align:left}:host .system-picker-button:not(.active){color:var(--base-10)}:host .mobile .span-container{margin:0 0 .75rem}:host ::ng-deep .system-picker-button{white-space:nowrap}mat-icon{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: TranslationSystemPickerButtonComponent, selector: "translation-system-picker-button", inputs: ["active", "isRecentSystemList", "isDomainList", "tooltip"], outputs: ["onClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
9114
8854
|
}
|
|
9115
8855
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerSystemListComponent, decorators: [{
|
|
9116
8856
|
type: Component,
|
|
@@ -9388,11 +9128,11 @@ class TranslationSystemPickerFilterComponent {
|
|
|
9388
9128
|
this.filterInput.nativeElement.focus();
|
|
9389
9129
|
}
|
|
9390
9130
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerFilterComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9391
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TranslationSystemPickerFilterComponent, selector: "tld-translation-system-picker-filter", outputs: { filterChanged: "filterChanged" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: "<mat-form-field [ngClass.lt-sm]=\"'mobile'\" color=\"accent\" appearance=\"outline\" floatLabel=\"auto\" class=\"search-input-field\">\r\n\t<mat-icon matPrefix
|
|
9131
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TranslationSystemPickerFilterComponent, selector: "tld-translation-system-picker-filter", outputs: { filterChanged: "filterChanged" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], ngImport: i0, template: "<mat-form-field [ngClass.lt-sm]=\"'mobile'\" color=\"accent\" appearance=\"outline\" floatLabel=\"auto\" class=\"search-input-field\">\r\n\t<mat-icon class=\"search-icon\" matPrefix>search</mat-icon>\r\n\t<input #filterInput matInput [(ngModel)]=\"filter\" [placeholder]=\"'SYSTEM_PICKER.SEARCH_PLACEHOLDER' | translate\" />\r\n\t<button *ngIf=\"filter.length > 0\" mat-icon-button class=\"clear-filter\" mat-icon-button matSuffix [matTooltip]=\"'SYSTEM_PICKER.CLEAR_SEARCH' | translate\" (click)=\"clear($event)\">\r\n\t\t<mat-icon>close</mat-icon>\r\n\t</button>\r\n</mat-form-field>\r\n", styles: [":host{display:inline-block;width:100%}:host ::ng-deep .mat-mdc-text-field-wrapper{max-height:42px}:host ::ng-deep .search-icon{color:var(--base-40)}:host ::ng-deep .search-icon,:host ::ng-deep button{margin-top:-15px}:host ::ng-deep .mdc-text-field--outlined .mat-mdc-form-field-infix,:host ::ng-deep .mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}:host ::ng-deep .mat-mdc-form-field-icon-prefix>.mat-icon{padding:10px!important}:host ::ng-deep .mat-mdc-form-field-infix{margin-top:.125rem}:host ::ng-deep .mobile .mat-mdc-form-field-infix{margin-top:0}:host ::ng-deep .mobile .mat-mdc-form-field-subscript-wrapper{display:none}:host .search-input-field{width:100%}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 8px !important}.clear-filter{margin-right:.5rem}\n"], dependencies: [{ kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
9392
9132
|
}
|
|
9393
9133
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerFilterComponent, decorators: [{
|
|
9394
9134
|
type: Component,
|
|
9395
|
-
args: [{ selector: 'tld-translation-system-picker-filter', template: "<mat-form-field [ngClass.lt-sm]=\"'mobile'\" color=\"accent\" appearance=\"outline\" floatLabel=\"auto\" class=\"search-input-field\">\r\n\t<mat-icon matPrefix
|
|
9135
|
+
args: [{ selector: 'tld-translation-system-picker-filter', template: "<mat-form-field [ngClass.lt-sm]=\"'mobile'\" color=\"accent\" appearance=\"outline\" floatLabel=\"auto\" class=\"search-input-field\">\r\n\t<mat-icon class=\"search-icon\" matPrefix>search</mat-icon>\r\n\t<input #filterInput matInput [(ngModel)]=\"filter\" [placeholder]=\"'SYSTEM_PICKER.SEARCH_PLACEHOLDER' | translate\" />\r\n\t<button *ngIf=\"filter.length > 0\" mat-icon-button class=\"clear-filter\" mat-icon-button matSuffix [matTooltip]=\"'SYSTEM_PICKER.CLEAR_SEARCH' | translate\" (click)=\"clear($event)\">\r\n\t\t<mat-icon>close</mat-icon>\r\n\t</button>\r\n</mat-form-field>\r\n", styles: [":host{display:inline-block;width:100%}:host ::ng-deep .mat-mdc-text-field-wrapper{max-height:42px}:host ::ng-deep .search-icon{color:var(--base-40)}:host ::ng-deep .search-icon,:host ::ng-deep button{margin-top:-15px}:host ::ng-deep .mdc-text-field--outlined .mat-mdc-form-field-infix,:host ::ng-deep .mdc-text-field--no-label .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}:host ::ng-deep .mat-mdc-form-field-icon-prefix>.mat-icon{padding:10px!important}:host ::ng-deep .mat-mdc-form-field-infix{margin-top:.125rem}:host ::ng-deep .mobile .mat-mdc-form-field-infix{margin-top:0}:host ::ng-deep .mobile .mat-mdc-form-field-subscript-wrapper{display:none}:host .search-input-field{width:100%}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 8px !important}.clear-filter{margin-right:.5rem}\n"] }]
|
|
9396
9136
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { filterInput: [{
|
|
9397
9137
|
type: ViewChild,
|
|
9398
9138
|
args: ["filterInput"]
|
|
@@ -9489,19 +9229,12 @@ class TranslationSystemPickerDropdownComponent {
|
|
|
9489
9229
|
this.breakpointSubscription.unsubscribe();
|
|
9490
9230
|
this.menuToggleSubscription.unsubscribe();
|
|
9491
9231
|
}
|
|
9492
|
-
toggleFilter() {
|
|
9493
|
-
this.showMobFilter = !this.showMobFilter;
|
|
9494
|
-
this.clearFilter();
|
|
9495
|
-
}
|
|
9496
9232
|
clearFilter() {
|
|
9497
9233
|
this.filterText = "";
|
|
9498
9234
|
}
|
|
9499
9235
|
back() {
|
|
9500
9236
|
if (this.isMobile) {
|
|
9501
|
-
if (this.
|
|
9502
|
-
this.toggleFilter();
|
|
9503
|
-
}
|
|
9504
|
-
else if (this.currentStep) {
|
|
9237
|
+
if (this.currentStep) {
|
|
9505
9238
|
// if step bigger than zero, then go one step back.
|
|
9506
9239
|
this.currentStep += -1;
|
|
9507
9240
|
}
|
|
@@ -9566,11 +9299,11 @@ class TranslationSystemPickerDropdownComponent {
|
|
|
9566
9299
|
});
|
|
9567
9300
|
}
|
|
9568
9301
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerDropdownComponent, deps: [{ token: TranslationSystemPickerService }, { token: i8$1.BreakpointObserver }, { token: TldTranslateSystemManagementService }], target: i0.ɵɵFactoryTarget.Component });
|
|
9569
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TranslationSystemPickerDropdownComponent, selector: "tld-translation-system-picker-dropdown", host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "dropdownBody", first: true, predicate: TranslationSystemPickerDropdownBodyComponent, descendants: true }, { propertyName: "filter", first: true, predicate: TranslationSystemPickerFilterComponent, descendants: true }], ngImport: i0, template: "<div *ngIf=\"isMobile\" class=\"dropdown-content-wrapper mobile\" (clickOutside)=\"clickOutside()\">\r\n\t<div class=\"system-picker-header\">\r\n\t\t<button mat-icon-button (click)=\"back()\">\r\n\t\t\t<mat-icon>arrow_back</mat-icon>\r\n\t\t</button>\r\n
|
|
9302
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TranslationSystemPickerDropdownComponent, selector: "tld-translation-system-picker-dropdown", host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "dropdownBody", first: true, predicate: TranslationSystemPickerDropdownBodyComponent, descendants: true }, { propertyName: "filter", first: true, predicate: TranslationSystemPickerFilterComponent, descendants: true }], ngImport: i0, template: "<div *ngIf=\"isMobile\" class=\"dropdown-content-wrapper mobile\" (clickOutside)=\"clickOutside()\">\r\n\t<div class=\"system-picker-header\">\r\n\t\t<button mat-icon-button (click)=\"back()\">\r\n\t\t\t<mat-icon>arrow_back</mat-icon>\r\n\t\t</button>\r\n\t\t<h1 class=\" text-l-semi-bold\">{{currentConfig?.headerTitle | translate}}</h1>\r\n\t</div>\r\n\r\n\t<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\r\n\r\n\t<div class=\"system-picker-dropdown-content mobile\">\r\n\t\t<tld-translation-system-picker-dropdown-body\r\n\t\t\t[config]=\"currentConfig\"\r\n\t\t\t[filterText]=\"filterText\"\r\n\t\t\t(onSystemClick)=\"onSystemClick()\"\r\n\t\t\t(onLanguageClick)=\"onLanguageClick()\"\r\n\t\t\t(onFilteredLanguageClick)=\"onFilteredLanguageClick()\"\r\n\t\t>\r\n\t\t</tld-translation-system-picker-dropdown-body>\r\n\t</div>\r\n</div>\r\n\r\n<div *ngIf=\"!isMobile\" class=\"dropdown-content-wrapper\" (clickOutside)=\"clickOutside()\">\r\n\t<div fxLayout=\"row\" class=\"system-picker-dropdown-content\">\r\n\t\t<div fxLayout=\"column\" class=\"system-picker-dropdown-col\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\r\n\r\n\t\t\t<tld-translation-system-picker-dropdown-body\r\n\t\t\t\t[config]=\"currentConfig\"\r\n\t\t\t\t[filterText]=\"filterText\"\r\n\t\t\t\t(onSystemClick)=\"onSystemClick()\"\r\n\t\t\t\t(onLanguageClick)=\"onLanguageClick()\"\r\n\t\t\t\t(onFilteredLanguageClick)=\"onFilteredLanguageClick()\"\r\n\t\t\t>\r\n\t\t\t</tld-translation-system-picker-dropdown-body>\r\n\t\t</div>\r\n\r\n\t\t<tld-translation-system-picker-dropdown-body\r\n\t\t\t[config]=\"recentSystemPickerConfig\"\r\n\t\t\t[filterText]=\"filterText\"\r\n\t\t\t(onSystemClick)=\"onSystemClick()\"\r\n\t\t\t(onLanguageClick)=\"onLanguageClick()\"\r\n\t\t\t(onFilteredLanguageClick)=\"onFilteredLanguageClick()\"\r\n\t\t></tld-translation-system-picker-dropdown-body>\r\n\t</div>\r\n</div>\r\n\r\n<ng-template #filter>\r\n\t<div [class.filter-mobile]=\"isMobile\">\r\n\t\t<tld-translation-system-picker-filter (filterChanged)=\"filterChange($event)\"> </tld-translation-system-picker-filter>\r\n\t</div>\r\n</ng-template>\r\n", styles: [":host{background-color:var(--base-100);overflow-y:auto!important;height:100%!important;box-sizing:border-box}:host .system-picker-dropdown-content{padding:1rem;height:100%}:host .system-picker-dropdown-content.mobile{padding:1rem 1.5rem}:host .system-picker-header{background-color:var(--base-95);padding:.5rem 1rem .5rem .75rem;display:flex;flex-direction:row;align-items:center;border-bottom:1px solid var(--base-70)}:host .system-picker-header h1{margin:0;flex:1 1 100%}:host .dropdown-content-wrapper:not(.mobile) tld-translation-system-picker-filter{margin-bottom:.5rem}.mobile tld-translation-system-picker-dropdown-body{width:100%}.dropdown-content-wrapper{height:100%}.system-picker-dropdown-col:not(.mobile){width:63%;height:100%;padding-right:1.5rem;border-right:1px solid var(--base-70)}.filter-mobile{padding:24px 24px 0}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: TranslationSystemPickerFilterComponent, selector: "tld-translation-system-picker-filter", outputs: ["filterChanged"] }, { kind: "component", type: TranslationSystemPickerDropdownBodyComponent, selector: "tld-translation-system-picker-dropdown-body", inputs: ["filterText", "config"], outputs: ["onSystemClick", "onLanguageClick", "onFilteredLanguageClick"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
9570
9303
|
}
|
|
9571
9304
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TranslationSystemPickerDropdownComponent, decorators: [{
|
|
9572
9305
|
type: Component,
|
|
9573
|
-
args: [{ selector: 'tld-translation-system-picker-dropdown', template: "<div *ngIf=\"isMobile\" class=\"dropdown-content-wrapper mobile\" (clickOutside)=\"clickOutside()\">\r\n\t<div class=\"system-picker-header\">\r\n\t\t<button mat-icon-button (click)=\"back()\">\r\n\t\t\t<mat-icon>arrow_back</mat-icon>\r\n\t\t</button>\r\n
|
|
9306
|
+
args: [{ selector: 'tld-translation-system-picker-dropdown', template: "<div *ngIf=\"isMobile\" class=\"dropdown-content-wrapper mobile\" (clickOutside)=\"clickOutside()\">\r\n\t<div class=\"system-picker-header\">\r\n\t\t<button mat-icon-button (click)=\"back()\">\r\n\t\t\t<mat-icon>arrow_back</mat-icon>\r\n\t\t</button>\r\n\t\t<h1 class=\" text-l-semi-bold\">{{currentConfig?.headerTitle | translate}}</h1>\r\n\t</div>\r\n\r\n\t<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\r\n\r\n\t<div class=\"system-picker-dropdown-content mobile\">\r\n\t\t<tld-translation-system-picker-dropdown-body\r\n\t\t\t[config]=\"currentConfig\"\r\n\t\t\t[filterText]=\"filterText\"\r\n\t\t\t(onSystemClick)=\"onSystemClick()\"\r\n\t\t\t(onLanguageClick)=\"onLanguageClick()\"\r\n\t\t\t(onFilteredLanguageClick)=\"onFilteredLanguageClick()\"\r\n\t\t>\r\n\t\t</tld-translation-system-picker-dropdown-body>\r\n\t</div>\r\n</div>\r\n\r\n<div *ngIf=\"!isMobile\" class=\"dropdown-content-wrapper\" (clickOutside)=\"clickOutside()\">\r\n\t<div fxLayout=\"row\" class=\"system-picker-dropdown-content\">\r\n\t\t<div fxLayout=\"column\" class=\"system-picker-dropdown-col\">\r\n\t\t\t<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\r\n\r\n\t\t\t<tld-translation-system-picker-dropdown-body\r\n\t\t\t\t[config]=\"currentConfig\"\r\n\t\t\t\t[filterText]=\"filterText\"\r\n\t\t\t\t(onSystemClick)=\"onSystemClick()\"\r\n\t\t\t\t(onLanguageClick)=\"onLanguageClick()\"\r\n\t\t\t\t(onFilteredLanguageClick)=\"onFilteredLanguageClick()\"\r\n\t\t\t>\r\n\t\t\t</tld-translation-system-picker-dropdown-body>\r\n\t\t</div>\r\n\r\n\t\t<tld-translation-system-picker-dropdown-body\r\n\t\t\t[config]=\"recentSystemPickerConfig\"\r\n\t\t\t[filterText]=\"filterText\"\r\n\t\t\t(onSystemClick)=\"onSystemClick()\"\r\n\t\t\t(onLanguageClick)=\"onLanguageClick()\"\r\n\t\t\t(onFilteredLanguageClick)=\"onFilteredLanguageClick()\"\r\n\t\t></tld-translation-system-picker-dropdown-body>\r\n\t</div>\r\n</div>\r\n\r\n<ng-template #filter>\r\n\t<div [class.filter-mobile]=\"isMobile\">\r\n\t\t<tld-translation-system-picker-filter (filterChanged)=\"filterChange($event)\"> </tld-translation-system-picker-filter>\r\n\t</div>\r\n</ng-template>\r\n", styles: [":host{background-color:var(--base-100);overflow-y:auto!important;height:100%!important;box-sizing:border-box}:host .system-picker-dropdown-content{padding:1rem;height:100%}:host .system-picker-dropdown-content.mobile{padding:1rem 1.5rem}:host .system-picker-header{background-color:var(--base-95);padding:.5rem 1rem .5rem .75rem;display:flex;flex-direction:row;align-items:center;border-bottom:1px solid var(--base-70)}:host .system-picker-header h1{margin:0;flex:1 1 100%}:host .dropdown-content-wrapper:not(.mobile) tld-translation-system-picker-filter{margin-bottom:.5rem}.mobile tld-translation-system-picker-dropdown-body{width:100%}.dropdown-content-wrapper{height:100%}.system-picker-dropdown-col:not(.mobile){width:63%;height:100%;padding-right:1.5rem;border-right:1px solid var(--base-70)}.filter-mobile{padding:24px 24px 0}\n"] }]
|
|
9574
9307
|
}], ctorParameters: () => [{ type: TranslationSystemPickerService }, { type: i8$1.BreakpointObserver }, { type: TldTranslateSystemManagementService }], propDecorators: { onKeydownHandler: [{
|
|
9575
9308
|
type: HostListener,
|
|
9576
9309
|
args: ['document:keydown.escape', ['$event']]
|
|
@@ -9607,8 +9340,7 @@ class TldTooltipModule {
|
|
|
9607
9340
|
MatIconModule,
|
|
9608
9341
|
MatTooltipModule,
|
|
9609
9342
|
MatButtonModule,
|
|
9610
|
-
LanguageTranslateModule,
|
|
9611
|
-
LLMModule], exports: [TldTranslateSwitcherComponent,
|
|
9343
|
+
LanguageTranslateModule], exports: [TldTranslateSwitcherComponent,
|
|
9612
9344
|
TldDomainListComponent,
|
|
9613
9345
|
TranslationSystemPickerComponent,
|
|
9614
9346
|
TranslationSystemPickerDropdownComponent] });
|
|
@@ -9627,8 +9359,7 @@ class TldTooltipModule {
|
|
|
9627
9359
|
MatIconModule,
|
|
9628
9360
|
MatTooltipModule,
|
|
9629
9361
|
MatButtonModule,
|
|
9630
|
-
LanguageTranslateModule
|
|
9631
|
-
LLMModule] });
|
|
9362
|
+
LanguageTranslateModule] });
|
|
9632
9363
|
}
|
|
9633
9364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTooltipModule, decorators: [{
|
|
9634
9365
|
type: NgModule,
|
|
@@ -9661,7 +9392,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
9661
9392
|
MatTooltipModule,
|
|
9662
9393
|
MatButtonModule,
|
|
9663
9394
|
LanguageTranslateModule,
|
|
9664
|
-
LLMModule
|
|
9665
9395
|
],
|
|
9666
9396
|
exports: [
|
|
9667
9397
|
TldTranslateSwitcherComponent,
|
|
@@ -10161,7 +9891,7 @@ class TldTranslateWebsiteComponent {
|
|
|
10161
9891
|
};
|
|
10162
9892
|
}
|
|
10163
9893
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateWebsiteComponent, deps: [{ token: i1.TranslateService }, { token: TldTranslateConfigService }, { token: TldTranslateButtonService }, { token: i5.AlertService }, { token: i5$3.Router }, { token: i5$3.ActivatedRoute }, { token: TldTranslateSystemManagementService }, { token: i5.TerminologyService }, { token: TldTranslateWebService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
10164
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateWebsiteComponent, selector: "tld-translate-website", inputs: { product: "product", company: "company" }, outputs: { onError: "onError" }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }, { propertyName: "urlInputField", first: true, predicate: ["url"], descendants: true }], ngImport: i0, template: "<div id=\"widget\" class=\"tld-translate-web\">\r\n <div class=\"translate-container-header\">\r\n <a href=\"/\" id=\"home-link\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <img [src]=\"logoLocation\" alt=\"logo\">\r\n <lib-company-product *ngIf=\"company && product\" [company]=\"company\" [product]=\"product\"></lib-company-product>\r\n </a>\r\n <div [ngClass.lt-sm]=\"'tld-translate-mobile'\">\r\n <div fxLayout=\"row\" class=\"address-wrapper\">\r\n <a (click)=\"goToHome()\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </a>\r\n <mat-form-field fxFlex=\"100%\" class=\"address-input\" appearance=\"outline\" color=\"accent\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <input matInput [placeholder]=\"'WEBTRANSLATE.SEARCH' | translate\" type=\"url\" #url class=\"url\" autofocus=\"autofocus\" [(ngModel)]=\"urlToTranslate\"\r\n (keyup.enter)=\"loadButtonClicked()\" />\r\n\r\n <mat-icon *ngIf=\"urlToTranslate\" [inline]=\"true\" (click)=\"clearUrlToTranslate()\">close</mat-icon>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center\" class=\"tld-translate-switcher-wrapper\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\r\n <tld-translate-switcher\r\n *ngIf=\"switcherOptions\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"\r\n [useParentWidth]=\"useParentWidth\"\r\n [disabled]=\"actionButtonDisabled\"\r\n [settings]=\"switcherOptions\"\r\n [showTranslateButton]=\"false\"\r\n [hideOnSmallScreens]=\"false\"\r\n [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\"\r\n [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n (onDomainChange)=\"systemChange($event)\"\r\n (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\"\r\n (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\">\r\n </tld-translate-switcher>\r\n <div fxFlexAlign=\"center\" class=\"action-btn-wrapper\">\r\n <tld-translate-button\r\n *ngIf=\"showTranslateBtn\"\r\n class=\"switcher-translate-button\"\r\n [disabled]=\"actionButtonDisabled || !urlToTranslate\">\r\n </tld-translate-button>\r\n <button *ngIf=\"showCancel\" mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"cancel-button\">{{'WEBTRANSLATE.CANCEL' | translate}}</button>\r\n <button *ngIf=\"showRestore\" mat-flat-button color=\"accent\" (click)=\"restore()\"\r\n class=\"restore-button\">{{'WEBTRANSLATE.RESTORE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [class.h-full]=\"!showEmptyView\" id=\"website-frame-container\">\r\n <mat-progress-bar *ngIf=\"showProgress\" color=\"accent\" [mode]=\"mode\" [value]=\"progressValue\">\r\n </mat-progress-bar>\r\n <lib-tld-notification-message [@openCloseAnimation] *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\"></lib-tld-notification-message>\r\n \r\n <iframe *ngIf=\"!showEmptyView; else emptyView\" #iframe id=\"letsmt-translate-page-iframe\" name=\"letsmtTranslatePageIframe\" src=\"about:blank\"></iframe>\r\n </div>\r\n\r\n <ng-template #emptyView>\r\n <lib-status-display [config]=\"emptyViewConfig\"></lib-status-display>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;height:100%;overflow-y:hidden}.tld-translate-web{height:100%}.tld-translate-switcher-wrapper{padding:0 .5em;margin-left:auto;margin-right:auto;padding-bottom:.5rem}.translate-container-header{padding:.6em 1em 0;box-sizing:border-box;background-color:var(--base-95)}#widget .translate-container-header{width:100%;margin-left:auto;margin-right:auto}#letsmt-translate-page-iframe{width:100%;height:100%;border:0}.h-full{height:100%}#website-frame-container{border-top:solid 1px var(--base-70)}#home-link{position:absolute;left:.75em;top:.2em;display:flex;flex-direction:row;text-decoration:none}#home-link img{margin-right:.75em;max-height:5.5em}@media screen and (max-width: 73em){#home-link{display:none}}.address-wrapper{max-width:60em;margin-left:auto;margin-right:auto}.address-wrapper mat-icon{margin-right:0!important}.address-wrapper a{margin-top:8px}.cancel-button,.restore-button{min-width:100px;height:36px;align-self:center}.address-input{padding-left:.9em;padding-right:.65em;width:100%}.switcher-translate-button{margin-left:.25rem}:host ::ng-deep .mat-mdc-text-field-wrapper{background-color:var(--base-100)}:host ::ng-deep .status-display-wrapper{margin:8rem 0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TldTranslateSwitcherComponent, selector: "tld-translate-switcher", inputs: ["buttonDisabled", "showTranslateButton", "hideOnSmallScreens", "disabled", "hideLangMenuLabels", "maxDisplayedLanguages", "collections", "showDomainsWithLanguageName", "isCollectionsActivated", "useParentWidth", "loader", "settings"], outputs: ["onDomainChange", "onActionClick", "onSourceLanguageChange", "onTargetLanguageChange", "onLanguageSwap", "onVendorChange"] }, { kind: "component", type: TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i5.CompanyProductComponent, selector: "lib-company-product", inputs: ["company", "product"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.StatusDisplayComponent, selector: "lib-status-display", inputs: ["config"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], animations: [
|
|
9894
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateWebsiteComponent, selector: "tld-translate-website", inputs: { product: "product", company: "company" }, outputs: { onError: "onError" }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }, { propertyName: "urlInputField", first: true, predicate: ["url"], descendants: true }], ngImport: i0, template: "<div id=\"widget\" class=\"tld-translate-web\">\r\n <div class=\"translate-container-header\">\r\n <a href=\"/\" id=\"home-link\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <img [src]=\"logoLocation\" alt=\"logo\">\r\n <lib-company-product *ngIf=\"company && product\" [company]=\"company\" [product]=\"product\"></lib-company-product>\r\n </a>\r\n <div [ngClass.lt-sm]=\"'tld-translate-mobile'\">\r\n <div fxLayout=\"row\" class=\"address-wrapper\">\r\n <a (click)=\"goToHome()\" [attr.title]=\"'WEBTRANSLATE.BACK' | translate\">\r\n <mat-icon>arrow_back</mat-icon>\r\n </a>\r\n <mat-form-field fxFlex=\"100%\" class=\"address-input\" appearance=\"outline\" color=\"accent\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n <input matInput [placeholder]=\"'WEBTRANSLATE.SEARCH' | translate\" type=\"url\" #url class=\"url\" autofocus=\"autofocus\" [(ngModel)]=\"urlToTranslate\"\r\n (keyup.enter)=\"loadButtonClicked()\" />\r\n\r\n <mat-icon *ngIf=\"urlToTranslate\" [inline]=\"true\" (click)=\"clearUrlToTranslate()\">close</mat-icon>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center\" class=\"tld-translate-switcher-wrapper\">\r\n <div fxLayout=\"row\" fxLayoutAlign=\"center center\" fxFlex>\r\n <tld-translate-switcher\r\n *ngIf=\"switcherOptions\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"\r\n [useParentWidth]=\"useParentWidth\"\r\n [disabled]=\"actionButtonDisabled\"\r\n [settings]=\"switcherOptions\"\r\n [showTranslateButton]=\"false\"\r\n [hideOnSmallScreens]=\"false\"\r\n [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\"\r\n [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n (onDomainChange)=\"systemChange($event)\"\r\n (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\"\r\n (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\">\r\n </tld-translate-switcher>\r\n <div fxFlexAlign=\"center\" class=\"action-btn-wrapper\">\r\n <tld-translate-button\r\n *ngIf=\"showTranslateBtn\"\r\n class=\"switcher-translate-button\"\r\n [disabled]=\"actionButtonDisabled || !urlToTranslate\">\r\n </tld-translate-button>\r\n <button *ngIf=\"showCancel\" mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n class=\"cancel-button\">{{'WEBTRANSLATE.CANCEL' | translate}}</button>\r\n <button *ngIf=\"showRestore\" mat-flat-button color=\"accent\" (click)=\"restore()\"\r\n class=\"restore-button\">{{'WEBTRANSLATE.RESTORE' | translate}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [class.h-full]=\"!showEmptyView\" id=\"website-frame-container\">\r\n <mat-progress-bar *ngIf=\"showProgress\" color=\"accent\" [mode]=\"mode\" [value]=\"progressValue\">\r\n </mat-progress-bar>\r\n <lib-tld-notification-message [@openCloseAnimation] *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\"></lib-tld-notification-message>\r\n \r\n <iframe *ngIf=\"!showEmptyView; else emptyView\" #iframe id=\"letsmt-translate-page-iframe\" name=\"letsmtTranslatePageIframe\" src=\"about:blank\"></iframe>\r\n </div>\r\n\r\n <ng-template #emptyView>\r\n <lib-status-display [config]=\"emptyViewConfig\"></lib-status-display>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;height:100%;overflow-y:hidden}.tld-translate-web{height:100%}.tld-translate-switcher-wrapper{padding:0 .5em;margin-left:auto;margin-right:auto;padding-bottom:.5rem}.translate-container-header{padding:.6em 1em 0;box-sizing:border-box;background-color:var(--base-95)}#widget .translate-container-header{width:100%;margin-left:auto;margin-right:auto}#letsmt-translate-page-iframe{width:100%;height:100%;border:0}.h-full{height:100%}#website-frame-container{border-top:solid 1px var(--base-70)}#home-link{position:absolute;left:.75em;top:.2em;display:flex;flex-direction:row;text-decoration:none}#home-link img{margin-right:.75em;max-height:5.5em}@media screen and (max-width: 73em){#home-link{display:none}}.address-wrapper{max-width:60em;margin-left:auto;margin-right:auto}.address-wrapper mat-icon{margin-right:0!important}.address-wrapper a{margin-top:8px}.cancel-button,.restore-button{min-width:100px;height:36px;align-self:center}.address-input{padding-left:.9em;padding-right:.65em;width:100%}.switcher-translate-button{margin-left:.25rem}:host ::ng-deep .mat-mdc-text-field-wrapper{background-color:var(--base-100)}:host ::ng-deep .status-display-wrapper{margin:8rem 0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TldTranslateSwitcherComponent, selector: "tld-translate-switcher", inputs: ["buttonDisabled", "showTranslateButton", "hideOnSmallScreens", "disabled", "hideLangMenuLabels", "maxDisplayedLanguages", "collections", "showDomainsWithLanguageName", "isCollectionsActivated", "useParentWidth", "loader", "settings"], outputs: ["onDomainChange", "onActionClick", "onSourceLanguageChange", "onTargetLanguageChange", "onLanguageSwap", "onVendorChange"] }, { kind: "component", type: TldTranslateButtonComponent, selector: "tld-translate-button", inputs: ["disabled", "enablePulseAnimation"], outputs: ["clicked"] }, { kind: "directive", type: i4$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "component", type: i5.CompanyProductComponent, selector: "lib-company-product", inputs: ["company", "product"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: i5.StatusDisplayComponent, selector: "lib-status-display", inputs: ["config"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], animations: [
|
|
10165
9895
|
trigger('openCloseAnimation', [
|
|
10166
9896
|
transition(':enter', [
|
|
10167
9897
|
style({ height: 0 }),
|
|
@@ -10315,6 +10045,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10315
10045
|
args: [{ selector: 'tld-translate-body', template: "<ng-container *ngIf=\"!multipleFilesUploaded\">\r\n <tld-translate-text *ngIf=\"!isFilePreviewLoaded\" (onFileChange)=\"fileUpload($event)\" [filePreviewProgress]=\"filePreviewProgress\"></tld-translate-text>\r\n <tld-translate-file *ngIf=\"isFilePreviewLoaded\" [translationFile]=\"file\"></tld-translate-file>\r\n</ng-container>\r\n<tld-translate-file-multiple [translationFiles]=\"files\" *ngIf=\"multipleFilesUploaded\"></tld-translate-file-multiple>\r\n", styles: ["tld-translate-text,tld-translate-file{flex:1 1 100%}tld-translate-file-multiple{height:100%;max-height:100%;width:100%}\n"] }]
|
|
10316
10046
|
}], ctorParameters: () => [{ type: TldTranslateFileService }, { type: TldTranslateConfigService }] });
|
|
10317
10047
|
|
|
10048
|
+
const SUMMARIZE = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
10049
|
+
<path d="M4 5H18.6286V6.82857H4V5ZM4 10.4857H18.6286V8.65714H4V10.4857ZM4 14.1429H10.4V12.3143H4V14.1429ZM4 17.8H10.4V15.9714H4V17.8Z" fill="currentColor"/>
|
|
10050
|
+
<path d="M17.4005 13.3093C17.0801 12.5922 16.0622 12.5922 15.7418 13.3093L15.1052 14.7341L13.6804 15.3707C12.9633 15.6911 12.9633 16.709 13.6804 17.0294L15.1052 17.666L15.7418 19.0908C16.0622 19.8079 17.0801 19.8079 17.4005 19.0908L18.0371 17.666L19.4619 17.0294C20.179 16.709 20.179 15.6911 19.4619 15.3707L18.0371 14.7341L17.4005 13.3093Z" fill="currentColor"/>
|
|
10051
|
+
<path d="M13.5612 12.0546C13.4438 11.7917 13.0705 11.7917 12.953 12.0546L12.7196 12.577L12.1972 12.8105C11.9343 12.9279 11.9343 13.3012 12.1972 13.4187L12.7196 13.6521L12.953 14.1745C13.0705 14.4374 13.4438 14.4374 13.5612 14.1745L13.7947 13.6521L14.3171 13.4187C14.58 13.3012 14.58 12.9279 14.3171 12.8105L13.7947 12.577L13.5612 12.0546Z" fill="currentColor"/>
|
|
10052
|
+
</svg>
|
|
10053
|
+
`;
|
|
10054
|
+
const DOWNLOAD = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
10055
|
+
<path d="M17.9999 15V18H5.99988V15H3.99988V18C3.99988 19.1 4.89988 20 5.99988 20H17.9999C19.0999 20 19.9999 19.1 19.9999 18V15H17.9999ZM16.9999 11L15.5899 9.59L12.9999 12.17V4H10.9999V12.17L8.40988 9.59L6.99988 11L11.9999 16L16.9999 11Z" fill="currentColor"/>
|
|
10056
|
+
</svg>
|
|
10057
|
+
`;
|
|
10058
|
+
|
|
10059
|
+
var icons = /*#__PURE__*/Object.freeze({
|
|
10060
|
+
__proto__: null,
|
|
10061
|
+
DOWNLOAD: DOWNLOAD,
|
|
10062
|
+
SUMMARIZE: SUMMARIZE
|
|
10063
|
+
});
|
|
10064
|
+
|
|
10318
10065
|
class WtwLinkParamsService {
|
|
10319
10066
|
translate;
|
|
10320
10067
|
defaultQueryParams = {
|
|
@@ -10359,6 +10106,7 @@ class TldTranslateComponent {
|
|
|
10359
10106
|
wtwQueryService;
|
|
10360
10107
|
systemPickerService;
|
|
10361
10108
|
terminologyService;
|
|
10109
|
+
iconService;
|
|
10362
10110
|
onError = new EventEmitter();
|
|
10363
10111
|
onSystemChange = new EventEmitter();
|
|
10364
10112
|
tldTranslateBody;
|
|
@@ -10407,7 +10155,7 @@ class TldTranslateComponent {
|
|
|
10407
10155
|
languageMenuV1 = languageMenuVersion.V1;
|
|
10408
10156
|
languageMenuV2 = languageMenuVersion.V2;
|
|
10409
10157
|
destroy$ = new Subject();
|
|
10410
|
-
constructor(translate, translateFileService, translateTextService, configService, alerts, translateButtonService, tldSystem, audioService, voiceProcessingService, wtwQueryService, systemPickerService, terminologyService) {
|
|
10158
|
+
constructor(translate, translateFileService, translateTextService, configService, alerts, translateButtonService, tldSystem, audioService, voiceProcessingService, wtwQueryService, systemPickerService, terminologyService, iconService) {
|
|
10411
10159
|
this.translate = translate;
|
|
10412
10160
|
this.translateFileService = translateFileService;
|
|
10413
10161
|
this.translateTextService = translateTextService;
|
|
@@ -10420,6 +10168,7 @@ class TldTranslateComponent {
|
|
|
10420
10168
|
this.wtwQueryService = wtwQueryService;
|
|
10421
10169
|
this.systemPickerService = systemPickerService;
|
|
10422
10170
|
this.terminologyService = terminologyService;
|
|
10171
|
+
this.iconService = iconService;
|
|
10423
10172
|
}
|
|
10424
10173
|
changeAuth(authOptions) {
|
|
10425
10174
|
this.configService.coreConfig.isAuth = authOptions.isAuth;
|
|
@@ -10431,6 +10180,7 @@ class TldTranslateComponent {
|
|
|
10431
10180
|
this.tldSystem.init(this.tldSystem.getLastUsedSystem() ?? this.configService.coreConfig.defaultSystemId);
|
|
10432
10181
|
}
|
|
10433
10182
|
ngOnInit() {
|
|
10183
|
+
this.iconService.registerIcons(icons);
|
|
10434
10184
|
this.removeMessagesOnClear();
|
|
10435
10185
|
this.tldSystem.getLoadedSystems().pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
10436
10186
|
if (!res.length) {
|
|
@@ -10562,7 +10312,7 @@ class TldTranslateComponent {
|
|
|
10562
10312
|
this.messages.push(message);
|
|
10563
10313
|
}
|
|
10564
10314
|
}
|
|
10565
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateComponent, deps: [{ token: i1.TranslateService }, { token: TldTranslateFileService }, { token: TldTranslateTextService }, { token: TldTranslateConfigService }, { token: i5.AlertService }, { token: TldTranslateButtonService }, { token: TldTranslateSystemManagementService }, { token: AudioRecordService }, { token: TldVoiceInputService }, { token: WtwLinkParamsService }, { token: TranslationSystemPickerService }, { token: i5.TerminologyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10315
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TldTranslateComponent, deps: [{ token: i1.TranslateService }, { token: TldTranslateFileService }, { token: TldTranslateTextService }, { token: TldTranslateConfigService }, { token: i5.AlertService }, { token: TldTranslateButtonService }, { token: TldTranslateSystemManagementService }, { token: AudioRecordService }, { token: TldVoiceInputService }, { token: WtwLinkParamsService }, { token: TranslationSystemPickerService }, { token: i5.TerminologyService }, { token: i5.IconService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10566
10316
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TldTranslateComponent, selector: "tld-translate", outputs: { onError: "onError", onSystemChange: "onSystemChange" }, viewQueries: [{ propertyName: "tldTranslateBody", first: true, predicate: TldTranslateBodyComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\" class=\"h-100 tld-translate\"\r\n [ngClass.lt-md]=\"'tld-translate-tablet tld-default-border-bottom'\"\r\n [ngClass.lt-sm]=\"'tld-translate-mobile tld-default-border-bottom'\"\r\n [class.tld-translate-multiple-files-active]=\"isMultipleFilesActive\">\r\n <div class=\"tld-translate-wrapper tld-default-border\" fxLayout=\"column\" fxFlex>\r\n <div class=\"tld-translate-switcher-wrapper tld-default-border-bottom\">\r\n <tld-translate-switcher *ngIf=\"switcherOptions && languageMenuVersion === languageMenuV1\"\r\n [disabled]=\"actionButtonDisabled\" [isCollectionsActivated]=\"isCollectionsActivated\" [settings]=\"switcherOptions\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\" [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n [buttonDisabled]=\"actionButtonDisabled\" [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n (onDomainChange)=\"systemChange($event)\" (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\" (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\" [loader]=\"actionButtonLoader\" [showTranslateButton]=\"showTranslateButton\">\r\n </tld-translate-switcher>\r\n <tld-translation-system-picker *ngIf=\"languageMenuVersion===languageMenuV2\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"></tld-translation-system-picker>\r\n </div>\r\n <div *ngIf=\"messages.length\" class=\"message-wrapper\">\r\n <lib-tld-notification-message [inline]=\"true\" *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\">\r\n </lib-tld-notification-message>\r\n </div>\r\n <div fxFlex style=\"position: relative;\">\r\n <tld-translate-body fxFlex fxLayoutAlign=\"column\" [attr.source-language]=\"sourceLanguage\"\r\n [attr.target-language]=\"targetLanguage\"></tld-translate-body>\r\n <tld-translation-system-picker-dropdown [ngClass.xs]=\"'mobile'\" *ngIf=\"systemPickerDropdownVisible\">\r\n </tld-translation-system-picker-dropdown>\r\n </div>\r\n </div>\r\n</div>", styles: [".tld-translate-wrapper{overflow:hidden;background:#fff;box-shadow:0 3.2px 7.2px #00000021}.tld-translate-switcher-wrapper{padding:.5em .2em}.h-100{height:100%}tld-translation-system-picker-dropdown{z-index:2}tld-translation-system-picker-dropdown:not(.mobile){position:absolute;width:100%;height:100%}tld-translation-system-picker-dropdown.mobile{position:fixed;top:0;left:0;width:100vw;height:100vh}.tld-translate-tablet .message-wrapper,.tld-translate-mobile .message-wrapper{padding:0}.message-wrapper{padding:16px 16px 0}lib-tld-notification-message:not(:first-child){margin-top:4px}:host ::ng-deep .notification-message{margin-bottom:0!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TldTranslateSwitcherComponent, selector: "tld-translate-switcher", inputs: ["buttonDisabled", "showTranslateButton", "hideOnSmallScreens", "disabled", "hideLangMenuLabels", "maxDisplayedLanguages", "collections", "showDomainsWithLanguageName", "isCollectionsActivated", "useParentWidth", "loader", "settings"], outputs: ["onDomainChange", "onActionClick", "onSourceLanguageChange", "onTargetLanguageChange", "onLanguageSwap", "onVendorChange"] }, { kind: "component", type: TranslationSystemPickerComponent, selector: "tld-translation-system-picker", inputs: ["isCollectionsActivated"] }, { kind: "component", type: TranslationSystemPickerDropdownComponent, selector: "tld-translation-system-picker-dropdown" }, { kind: "component", type: i5.NotificationMessageComponent, selector: "lib-tld-notification-message", inputs: ["message", "inline"], outputs: ["buttonClicked", "closeClicked", "linkClicked"] }, { kind: "directive", type: i3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i5$1.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "component", type: TldTranslateBodyComponent, selector: "tld-translate-body" }], animations: [
|
|
10567
10317
|
trigger('openCloseAnimation', [
|
|
10568
10318
|
transition(':enter', [
|
|
@@ -10584,7 +10334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
10584
10334
|
transition(':leave', animate(500, style({ height: 0 })))
|
|
10585
10335
|
])
|
|
10586
10336
|
], template: "<div fxLayout=\"column\" class=\"h-100 tld-translate\"\r\n [ngClass.lt-md]=\"'tld-translate-tablet tld-default-border-bottom'\"\r\n [ngClass.lt-sm]=\"'tld-translate-mobile tld-default-border-bottom'\"\r\n [class.tld-translate-multiple-files-active]=\"isMultipleFilesActive\">\r\n <div class=\"tld-translate-wrapper tld-default-border\" fxLayout=\"column\" fxFlex>\r\n <div class=\"tld-translate-switcher-wrapper tld-default-border-bottom\">\r\n <tld-translate-switcher *ngIf=\"switcherOptions && languageMenuVersion === languageMenuV1\"\r\n [disabled]=\"actionButtonDisabled\" [isCollectionsActivated]=\"isCollectionsActivated\" [settings]=\"switcherOptions\"\r\n [maxDisplayedLanguages]=\"maxDisplayedLanguages\" [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\"\r\n [buttonDisabled]=\"actionButtonDisabled\" [hideLangMenuLabels]=\"hideLangMenuLabels\"\r\n (onDomainChange)=\"systemChange($event)\" (onActionClick)=\"translateButtonClick()\"\r\n (onLanguageSwap)=\"swapLanguages()\" (onSourceLanguageChange)=\"sourceLanguageChange($event)\"\r\n (onTargetLanguageChange)=\"targetLanguageChange($event)\" [loader]=\"actionButtonLoader\" [showTranslateButton]=\"showTranslateButton\">\r\n </tld-translate-switcher>\r\n <tld-translation-system-picker *ngIf=\"languageMenuVersion===languageMenuV2\"\r\n [isCollectionsActivated]=\"isCollectionsActivated\"></tld-translation-system-picker>\r\n </div>\r\n <div *ngIf=\"messages.length\" class=\"message-wrapper\">\r\n <lib-tld-notification-message [inline]=\"true\" *ngFor=\"let message of messages; let ix = index\" [message]=\"message\"\r\n (closeClicked)=\"removeMessage(ix)\">\r\n </lib-tld-notification-message>\r\n </div>\r\n <div fxFlex style=\"position: relative;\">\r\n <tld-translate-body fxFlex fxLayoutAlign=\"column\" [attr.source-language]=\"sourceLanguage\"\r\n [attr.target-language]=\"targetLanguage\"></tld-translate-body>\r\n <tld-translation-system-picker-dropdown [ngClass.xs]=\"'mobile'\" *ngIf=\"systemPickerDropdownVisible\">\r\n </tld-translation-system-picker-dropdown>\r\n </div>\r\n </div>\r\n</div>", styles: [".tld-translate-wrapper{overflow:hidden;background:#fff;box-shadow:0 3.2px 7.2px #00000021}.tld-translate-switcher-wrapper{padding:.5em .2em}.h-100{height:100%}tld-translation-system-picker-dropdown{z-index:2}tld-translation-system-picker-dropdown:not(.mobile){position:absolute;width:100%;height:100%}tld-translation-system-picker-dropdown.mobile{position:fixed;top:0;left:0;width:100vw;height:100vh}.tld-translate-tablet .message-wrapper,.tld-translate-mobile .message-wrapper{padding:0}.message-wrapper{padding:16px 16px 0}lib-tld-notification-message:not(:first-child){margin-top:4px}:host ::ng-deep .notification-message{margin-bottom:0!important}\n"] }]
|
|
10587
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: TldTranslateFileService }, { type: TldTranslateTextService }, { type: TldTranslateConfigService }, { type: i5.AlertService }, { type: TldTranslateButtonService }, { type: TldTranslateSystemManagementService }, { type: AudioRecordService }, { type: TldVoiceInputService }, { type: WtwLinkParamsService }, { type: TranslationSystemPickerService }, { type: i5.TerminologyService }], propDecorators: { onError: [{
|
|
10337
|
+
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: TldTranslateFileService }, { type: TldTranslateTextService }, { type: TldTranslateConfigService }, { type: i5.AlertService }, { type: TldTranslateButtonService }, { type: TldTranslateSystemManagementService }, { type: AudioRecordService }, { type: TldVoiceInputService }, { type: WtwLinkParamsService }, { type: TranslationSystemPickerService }, { type: i5.TerminologyService }, { type: i5.IconService }], propDecorators: { onError: [{
|
|
10588
10338
|
type: Output
|
|
10589
10339
|
}], onSystemChange: [{
|
|
10590
10340
|
type: Output
|
|
@@ -10607,15 +10357,6 @@ function alertServiceConfigurationFactory(config) {
|
|
|
10607
10357
|
|
|
10608
10358
|
const MT_TERM_API_TOKEN = "MtTermApiToken";
|
|
10609
10359
|
|
|
10610
|
-
function llmServiceConfiguration(config) {
|
|
10611
|
-
return {
|
|
10612
|
-
subscriptionUrl: config.supscriptionConfig.pricingUrl,
|
|
10613
|
-
supportEmail: config.coreConfig.supportEmail,
|
|
10614
|
-
maxCharLength: config.llmConfig.maxCharLength,
|
|
10615
|
-
useLocalQuota: config.llmConfig.useLocalQuota
|
|
10616
|
-
};
|
|
10617
|
-
}
|
|
10618
|
-
|
|
10619
10360
|
class TldTranslateModule {
|
|
10620
10361
|
static forRoot(configuration) {
|
|
10621
10362
|
const providers = [
|
|
@@ -10624,11 +10365,6 @@ class TldTranslateModule {
|
|
|
10624
10365
|
useFactory: alertServiceConfigurationFactory,
|
|
10625
10366
|
deps: [TldTranslateConfigService],
|
|
10626
10367
|
},
|
|
10627
|
-
{
|
|
10628
|
-
provide: LLM_CONFIGURATION_TOKEN,
|
|
10629
|
-
useFactory: llmServiceConfiguration,
|
|
10630
|
-
deps: [TldTranslateConfigService],
|
|
10631
|
-
}
|
|
10632
10368
|
];
|
|
10633
10369
|
if (configuration) {
|
|
10634
10370
|
providers.push({
|