{"version":3,"file":"tilde-nlp-ngx-translate.mjs","sources":["../../../projects/tld-translate/src/lib/i18n/de.ts","../../../projects/tld-translate/src/lib/i18n/en.ts","../../../projects/tld-translate/src/lib/i18n/et.ts","../../../projects/tld-translate/src/lib/i18n/fi.ts","../../../projects/tld-translate/src/lib/i18n/lt.ts","../../../projects/tld-translate/src/lib/i18n/lv.ts","../../../projects/tld-translate/src/lib/i18n/pl.ts","../../../projects/tld-translate/src/lib/i18n/sv.ts","../../../projects/tld-translate/src/lib/i18n/hr.ts","../../../projects/tld-translate/src/lib/i18n/mt.ts","../../../projects/tld-translate/src/lib/i18n/available-languages.ts","../../../projects/tld-translate/src/lib/injection-tokens/tld-translate-config.token.ts","../../../projects/tld-translate/src/lib/modules/tld-common/models/message.model.ts","../../../projects/tld-translate/src/lib/modules/tld-common/models/core/language-menu-version.enum.ts","../../../projects/tld-translate/src/lib/modules/tld-common/models/services/file-api/file-translation-substatus.model.ts","../../../projects/tld-translate/src/lib/modules/tld-common/models/services/voice-to-text/voice-to-text-job-state.model.ts","../../../projects/tld-translate/src/lib/modules/tld-common/services/tld-translate-config.service.ts","../../../projects/tld-translate/src/lib/modules/tld-common/models/auto-language-detection-key.const.ts","../../../projects/tld-translate/src/lib/modules/tld-common/services/tld-translate-system-management.service.ts","../../../projects/tld-translate/src/lib/modules/tld-common/services/tld-highlight.service.ts","../../../projects/tld-translate/src/lib/modules/tld-common/pipes/translate-domain.pipe.ts","../../../projects/tld-translate/src/lib/modules/tld-common/pipes/capitalize.pipe.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/tld-loader/tld-loader.component.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/tld-loader/tld-loader.component.html","../../../projects/tld-translate/src/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/tld-lang-list/tld-lang-list.component.html","../../../projects/tld-translate/src/lib/modules/tld-common/components/tld-message/tld-message.component.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/tld-message/tld-message.component.html","../../../projects/tld-translate/src/lib/modules/tld-common/animations/pulse.animation.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/translate-button/tld-translate-button.service.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/translate-button/translate-button.component.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/translate-button/translate-button.component.html","../../../projects/tld-translate/src/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/tld-list-menu/tld-list-menu.component.html","../../../projects/tld-translate/src/lib/components/shared/text-to-speech/text-to-speech.component.ts","../../../projects/tld-translate/src/lib/components/shared/text-to-speech/text-to-speech.component.html","../../../projects/tld-translate/src/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.ts","../../../projects/tld-translate/src/lib/modules/tld-common/components/source-and-target-wrapper/source-and-target-wrapper.component.html","../../../projects/tld-translate/src/lib/components/shared/text-to-speech/text-to-speech.module.ts","../../../projects/tld-translate/src/lib/modules/tld-common/tld-common.module.ts","../../../projects/tld-translate/src/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.ts","../../../projects/tld-translate/src/lib/components/shared/vendor-disclaimer/vendor-disclaimer.component.html","../../../projects/tld-translate/src/lib/components/shared/vendor-disclaimer/vendor-disclaimer.module.ts","../../../projects/tld-translate/src/lib/modules/tld-document/models/translation-statuss.model.ts","../../../projects/tld-translate/src/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.ts","../../../projects/tld-translate/src/lib/modules/tld-document/image-conversion-help/image-conversion-help.component.html","../../../projects/tld-translate/src/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.ts","../../../projects/tld-translate/src/lib/modules/tld-document/pdf-conversion-help/pdf-conversion-help.component.html","../../../projects/tld-translate/src/lib/modules/tld-document/models/file-conversion-types.model.ts","../../../projects/tld-translate/src/lib/modules/tld-common/models/errors/error-codes.enum.ts","../../../projects/tld-translate/src/lib/modules/tld-document/services/api/models/file-category.model.ts","../../../projects/tld-translate/src/lib/modules/tld-document/services/api/file-api.service.ts","../../../projects/tld-translate/src/lib/modules/tld-document/services/tld-translate-file.service.ts","../../../projects/tld-translate/src/lib/modules/tld-document/tld-file-translate-base.component.ts","../../../projects/tld-translate/src/lib/modules/tld-document/download-button/download-button.component.ts","../../../projects/tld-translate/src/lib/modules/tld-document/download-button/download-button.component.html","../../../projects/tld-translate/src/lib/modules/tld-translate-file/tld-translate-file.component.ts","../../../projects/tld-translate/src/lib/modules/tld-translate-file/tld-translate-file.component.html","../../../projects/tld-translate/src/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.ts","../../../projects/tld-translate/src/lib/modules/tld-document/tld-translate-file-multiple/tld-translate-file-multiple.component.html","../../../projects/tld-translate/src/lib/modules/tld-document/tld-document.module.ts","../../../projects/tld-translate/src/lib/modules/tld-audio/models/audio-error-case.model.ts","../../../projects/tld-translate/src/lib/modules/tld-audio/tld-dictate/tld-dictate.component.ts","../../../projects/tld-translate/src/lib/modules/tld-audio/tld-dictate/tld-dictate.component.html","../../../projects/tld-translate/src/lib/modules/tld-audio/services/audio-record.service.ts","../../../projects/tld-translate/src/lib/modules/tld-audio/services/tld-voice-input-api.service.ts","../../../projects/tld-translate/src/lib/modules/tld-audio/services/tld-voice-input.service.ts","../../../projects/tld-translate/src/lib/modules/tld-audio/tld-record/tld-record.component.ts","../../../projects/tld-translate/src/lib/modules/tld-audio/tld-record/tld-record.component.html","../../../projects/tld-translate/src/lib/modules/tld-audio/tld-audio.module.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/highlight-tree/highlight-tree.component.html","../../../projects/tld-translate/src/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/progress-indicator/progress-indicator.component.html","../../../projects/tld-translate/src/lib/modules/tld-text/models/highlight-params.model.ts","../../../projects/tld-translate/src/lib/modules/tld-text/models/highlight-tree-type.model.ts","../../../projects/tld-translate/src/lib/modules/tld-text/utils/tld-translate-text.utils.ts","../../../projects/tld-translate/src/lib/modules/tld-text/services/api/tld-translate-text-api.service.ts","../../../projects/tld-translate/src/lib/modules/tld-common/services/scroll/tld-scroll.service.ts","../../../projects/tld-translate/src/lib/modules/tld-common/services/language-detection.service.ts","../../../projects/tld-translate/src/lib/modules/tld-text/services/tld-translate-text.service.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/textarea-with-background/textarea-with-background.component.html","../../../projects/tld-translate/src/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/tld-dictionary/tld-dictionary.component.html","../../../projects/tld-translate/src/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/tld-translate-source/tld-translate-source.component.html","../../../projects/tld-translate/src/lib/modules/tld-text/components/rephrase/rephrase.component.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/rephrase/rephrase.component.html","../../../projects/tld-translate/src/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.ts","../../../projects/tld-translate/src/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.html","../../../projects/tld-translate/src/lib/modules/tld-text/tld-text.module.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/tld-domain-list/tld-domain-list.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/tld-translate-switcher/tld-translate-switcher.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/models/opened-menu.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/models/grouped-language-item.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/filter/translation-system-picker-filter.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.ts","../../../projects/tld-translate/src/lib/modules/tld-tooltip/translation-system-picker/dropdown/translation-system-picker-dropdown.component.html","../../../projects/tld-translate/src/lib/modules/tld-tooltip/tld-tooltip.module.ts","../../../projects/tld-translate/src/lib/modules/tld-web/tld-translate-web.service.ts","../../../projects/tld-translate/src/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.ts","../../../projects/tld-translate/src/lib/modules/tld-web/tld-translate-web/tld-translate-web.component.html","../../../projects/tld-translate/src/lib/modules/tld-web/tld-web.module.ts","../../../projects/tld-translate/src/lib/tld-translate-body/tld-translate-body.component.ts","../../../projects/tld-translate/src/lib/tld-translate-body/tld-translate-body.component.html","../../../projects/tld-translate/src/assets/icons/icons.ts","../../../projects/tld-translate/src/lib/modules/tld-common/services/wtw-link-params.service.ts","../../../projects/tld-translate/src/lib/tld-translate.component.ts","../../../projects/tld-translate/src/lib/tld-translate.component.html","../../../projects/tld-translate/src/lib/factories/alert-service-configuration.factory.ts","../../../projects/tld-translate/src/lib/injection-tokens/mt-term-api.token.ts","../../../projects/tld-translate/src/lib/tld-translate.module.ts","../../../projects/tld-translate/src/public-api.ts","../../../projects/tld-translate/src/tilde-nlp-ngx-translate.ts"],"sourcesContent":["export const i18n_de = {\r\n  \"APP_NAME\": \"Tilde MT\",\r\n  \"TERM_PORTAL_NAME\": \"Tilde Term\",\r\n  \"TLD_TRANSLATE\": {\r\n    \"FILE_DOWNLOAD_SOURCE_HELP\": \"Eine PDF-Konvertierung kann zu Formatierungsfehlern oder Textverzerrung führen. Bitte überprüfen Sie die konvertierte Datei und beheben Sie die Fehler, bevor die Datei neu zur Übersetzung hochgeladen wird\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_TITLE\": \"Übersetzungslimit\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG\": \"Nur die ersten 1250 Wörter werden übersetzt.\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_SUBSCRIPTION\": \" Sie benötigen ein Tilde MT-Abonnement, um Dateien vollständig zu übersetzen. <a href=\\\"{{pricingUrl}}\\\" target='_blank'>Beginnen Sie mit einer kostenlosen Testphase</a>\",\r\n    \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Geben Sie den Text ein, den Sie übersetzen möchten.\",\r\n    \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Verwenden Sie {{appName}} nicht, um geheime oder vertrauliche Informationen oder Texte zu übersetzen, die besondere Kategorien personenbezogener Daten wie Gesundheitsdaten enthalten.\",\r\n    \"REGISTERED_FORMATS_LOGGED_IN\": \"Registrierte Benutzer haben Zugriff auf die folgenden Dokumentformate zur Übersetzung: {{formats}}.\",\r\n    \"REGISTERED_FORMATS\": \"Registrierte Benutzer haben Zugriff auf die folgenden Dokumentformate zur Übersetzung: {{formats}}. Bitte fordern Sie Ihren Zugang <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\"> hier</a>an.\",\r\n    \"SOURCE_FORMATS\": \"Der sichere öffentliche Übersetzungsdienst unterstützt folgende Dokumentformate: {{formats}};\",\r\n    \"CANCEL_TRANSLATION\": \"Abbreche\",\r\n    \"FILE_TARGET_PREVIEW_MESSAGE\": \"Dies ist eine Vorschauprobe des übersetzten Dokuments. Bitte laden Sie es herunter, um die vollständige Übersetzung zu erhalten.\",\r\n    \"SOURCE_TOOLTIP\": \"Geben Sie den Text oder die Webseite ein, die Sie übersetzen möchten.\",\r\n    \"TARGET_DESCRIPTION\": \"Eine maschinelle Übersetzung wird ein gutes Verständnis des Ausgangstextes vermitteln, kann aber eine von einem Menschen erstellte Übersetzung nicht ersetzen.\",\r\n    \"TEXT_COPIED\": \"Kopierte Übersetzung\",\r\n    \"TOOLTIP_ACTION\": \"Übersetzung\",\r\n    \"FILE_DOWNLOAD_SOURCE\": \"Konvertierte PDF-Quelldatei herunterladen\",\r\n    \"FILE_TANSLATION_STATUSS_QUEUING\": \"Übersetzung beginnt...\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Informationen zur PDF-Konvertierung lesen.\",\r\n    \"VENDORS_ARIA_LABEL\": \"Provider\",\r\n    \"DOWNLOAD_TRANSLATED\": \"Download\",\r\n\t\t\"FILE_DOWNLOAD_SOURCE_IMAGE\": \"Konvertiertes Quellbild herunterladen\",\r\n\t\t\"FILE_DOWNLOAD_SOURCE_IMAGE_HELP\": \"Eine Bildkonvertierung kann zu Formatierungsfehlern oder Textverzerrung führen. Bitte überprüfen Sie die konvertierte Datei und beheben Sie die Fehler, bevor die Datei neu zur Übersetzung hochgeladen wird.\",\r\n\t\t\"IMAGE_DISCLAIMER_LINK\": \"Informationen zur Bildkonvertierung lesen.\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED_TITLE\": \"Keine Übersetzungs-Engines geladen\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED\": \"Fehler beim Laden der Engines für die maschinelle Übersetzung.\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED_SUPPORT\": \" Bitte laden Sie die Seite neu oder wenden Sie sich an den <a href=\\\"mailto:{{email}}\\\"><strong>Support</strong></a>.\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG_TITLE\": \"Übersetzungslimit\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG\": \"Nur die erste Seite wird übersetzt.\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG_SUBSCRIPTION\": \" Sie benötigen ein Tilde MT-Abonnement, um PDF-Dateien vollständig zu übersetzen. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Beginnen Sie mit einer kostenlosen Testphase.</a>\",\r\n\t\t\"CLEAR_SOURCE_TOOLTIP\": \"Text löschen\",\r\n    \"SUGGEST_TRANSLATION_LABEL\": \"Übersetzung herunterladen\",\r\n    \"SUMMARY\": {\r\n\t\t\t\"TITLE\": \"Zusammenfassung\",\r\n\t\t\t\"CREATING\": \"Zusammenfassung wird erstellt\",\r\n\t\t\t\"DISABLED\": \"Stellen Sie mindestens 300 Zeichen bereit, um die Funktion Zusammenfassung zu nutzen\",\r\n      \"COPIED\": \"Zusammenfassung kopiert\",\r\n      \"NEW_FEATURE\": {\r\n\t\t\t\t\"TITLE\": \"Zusammenfassung erstellen\",\r\n\t\t\t\t\"DESCRIPTION\": \"Fasse längere Texte in einem kurzen Überblick der zentralen Punkte zusammen.\",\r\n\t\t\t\t\"CLOSE\": \"Schließen\"\r\n\t\t\t}\r\n\t\t},\r\n    \"REPHRASE\": {\r\n      \"TITLE\": \"Umformulieren\",\r\n      \"CHOOSE_LABEL\": \"Schreibe Stil wählen\",\r\n      \"TOOLTIP\": \"Formuliere den Text in einem bestimmten Schreibstil um und passe Sprache und Ton an den gewünschten Stil oder die Zielstimme an.\",\r\n      \"LOADING\": \"Wird umformuliert\",\r\n      \"COPIED\": \"Umformulierung kopiert\",\r\n      \"HINT\": \"Formuliere den Text um, um die Wortwahl zu ändern oder den richtigen Ton zu treffen. Wähle zwischen drei Stilen: Allgemein, Professionell, Akademisch.\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Umformulieren\",\r\n        \"DESCRIPTION\": \"Formuliere den Text in einem bestimmten Schreibstil um und passe Sprache und Ton an den gewünschten Stil oder die Zielstimme an.\",\r\n        \"CLOSE\": \"Schließen\"\r\n      },\r\n      \"STYLES\": {\r\n        \"GENERAL\": \"Allgemein\",\r\n        \"PROFESSIONAL\": \"Professionell\",\r\n        \"ACADEMIC\": \"Akademisch\"\r\n      }\r\n    }\r\n  },\r\n  \"LANGUAGES\": {\r\n    \"AUTO\": \"Sprache erkennen\",\r\n\t\t\"AR\": \"Arabisch\",\r\n    \"EN\": \"Englisch\",\r\n    \"LV\": \"Lettisch\",\r\n    \"LT\": \"Litauisch\",\r\n    \"FR\": \"Französisch\",\r\n    \"RU\": \"Russisch\",\r\n    \"ET\": \"Estnisch\",\r\n    \"BG\": \"Bulgarisch\",\r\n    \"DE\": \"Deutsch\",\r\n    \"CS\": \"Tschechisch\",\r\n    \"CZ\": \"Tschechisch\",\r\n    \"DA\": \"Dänisch\",\r\n    \"EL\": \"Griechisch\",\r\n    \"ES\": \"Spanisch\",\r\n    \"FI\": \"Finnisch\",\r\n    \"GA\": \"Irisch\",\r\n    \"HR\": \"Kroatisch\",\r\n    \"HU\": \"Ungarisch\",\r\n    \"IS\": \"Isländisch\",\r\n    \"IT\": \"Italienisch\",\r\n    \"MT\": \"Maltesisch\",\r\n    \"NL\": \"Niederländisch\",\r\n    \"PT\": \"Portugiesisch\",\r\n    \"PL\": \"Polnisch\",\r\n    \"RO\": \"Rumänisch\",\r\n    \"SK\": \"Slowakisch\",\r\n    \"SL\": \"Slowenisch\",\r\n    \"SV\": \"Schwedisch\",\r\n    \"KA\": \"Georgisch\",\r\n    \"BE\": \"Weißrussisch\",\r\n    \"MO\": \"Moldawisch\",\r\n    \"UK\": \"Ukrainisch\",\r\n    \"SR\": \"Serbisch\",\r\n    \"ZH\": \"Chinesisch\",\r\n    \"JA\": \"Japanisch\",\r\n    \"KO\": \"Koreanisch\",\r\n    \"TR\": \"Türkisch\",\r\n    \"UZ\": \"Usbekisch\",\r\n    \"ID\": \"Indonesisch\",\r\n    \"BA\": \"Baschkirisch\",\r\n    \"BRX\": \"Bodo\",\r\n    \"FJ\": \"Fidschianisch\",\r\n    \"DSB\": \"Niedersorbisch\",\r\n    \"GOM\": \"Konkani\",\r\n    \"HNE\": \"Chhattisgarhi\",\r\n    \"HSB\": \"Obersorbisch\",\r\n    \"IKT\": \"Inuinnaqtun\",\r\n    \"IU\": \"Inuktitut\",\r\n    \"IU_LATN\": \"Inuktitut (Lateinisch)\",\r\n    \"KS\": \"Kaschmirisch\",\r\n    \"IZH\": \"Chinesisch (Literarisch)\",\r\n    \"MWW\": \"Hmong Daw (Lateinisch)\",\r\n    \"RUN\": \"Rundi\",\r\n    \"TY\": \"Tahitisch\",\r\n    \"YUA\": \"Yukatekisches Maya\",\r\n    \"KU\": \"Kurdisch Zentral\",\r\n    \"KMR\": \"Kurdisch Nord\",\r\n    \"ZH_HANS\": \"Chinesisch (Vereinfacht)\",\r\n    \"ZH_HANT\": \"Chinesisch (Traditionell)\",\r\n    \"LZH\": \"Chinesisch (Literarisch)\",\r\n    \"OTQ\": \"Querétaro Otomí\",\r\n    \"AB\": \"Abchasisch\",\r\n    \"ACE\": \"Aceh-Sprache\",\r\n    \"ACH\": \"Acholi-Sprache\",\r\n    \"KTU\": \"Kituba (Kongo)\",\r\n    \"ALZ\": \"Alur\",\r\n    \"AWA\": \"Awadhi\",\r\n    \"LI\": \"Limburgisch\",\r\n    \"LIJ\": \"Ligurisch\",\r\n    \"LMO\": \"Lombardisch\",\r\n    \"LTG\": \"Lettgallisch\",\r\n    \"LUO\": \"Luo (Kenia und Tansania)\",\r\n    \"BAN\": \"Balinesisch\",\r\n    \"BBC\": \"Batak Toba\",\r\n    \"MAK\": \"Makassarisch\",\r\n    \"BEM\": \"Bemba (Sambia)\",\r\n    \"BEW\": \"Betawi\",\r\n    \"BIK\": \"Bikol\",\r\n    \"BO\": \"Tibetisch\",\r\n    \"BTS\": \"Batak Simalungun\",\r\n    \"BTX\": \"Batak Karo\",\r\n    \"BUA\": \"Burjatisch\",\r\n    \"MIN\": \"Minangkabau\",\r\n    \"NEW\": \"Newari (Nepal Bhasa)\",\r\n    \"CGG\": \"Chiga\",\r\n    \"NR\": \"Süd-Ndebele\",\r\n    \"NUS\": \"Nuer\",\r\n    \"CHM\": \"Mari (Russland)\",\r\n    \"CNH\": \"Hakha Chin\",\r\n    \"PAG\": \"Pangasinan\",\r\n    \"PAM\": \"Pampanga (Kapampangan)\",\r\n    \"PAP\": \"Papiamento\",\r\n    \"CRH\": \"Krimtatarisch\",\r\n    \"CRS\": \"Seychellenkreol\",\r\n    \"CV\": \"Tschuwaschisch\",\r\n    \"DIN\": \"Dinka\",\r\n    \"DOV\": \"Domari\",\r\n    \"DZ\": \"Dzongkha\",\r\n    \"RN\": \"Rundi (Kirundi)\",\r\n    \"ROM\": \"Romani\",\r\n    \"EWE\": \"Ewe\",\r\n    \"FF\": \"Fula (Fulani)\",\r\n    \"SCN\": \"Sizilianisch\",\r\n    \"SG\": \"Sango\",\r\n    \"SHN\": \"Shan\",\r\n    \"SS\": \"Swati (Siswati)\",\r\n    \"HIL\": \"Hiligaynon\",\r\n    \"SZL\": \"Schlesisch\",\r\n    \"HRX\": \"Hunsrik\",\r\n    \"TET\": \"Tetum\",\r\n    \"ZT\": \"Zapotekisch\",\r\n    \"GAA\": \"Ga\"\r\n  },\r\n  \"MULTIPLE_FILES\": {\r\n    \"CLEAR_ALL\": \"Abbrechen\",\r\n    \"DOWNLOAD\": \"Download\",\r\n    \"STATUSS_INITIALIZING\": \"Initialisierung läuft\",\r\n    \"STATUSS_EXTRACTING\": \"Extraktion läuft\",\r\n    \"STATUSS_WAITING\": \"Translator wird gestartet\",\r\n    \"STATUSS_TRANSLATING\": \"Übersetzung wird durchgeführt {{percent}}%\",\r\n    \"STATUSS_SAVING\": \"Speichervorgang läuft\",\r\n    \"STATUSS_COMPLETED\": \"Abgeschlossen\",\r\n    \"STATUSS_ERROR\": \"Fehler\",\r\n    \"STATUSS_QUEUING\": \"In Warteschlange\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Informationen zur PDF-Konvertierung lesen.\",\r\n    \"APPEND\": \"Dateien hinzufügen\",\r\n\t\t\"STATUSS_UPLOADING\": \"Daten werden hochgeladen...\",\r\n\t\t\"STATUSS_UPLOADED\": \"Hochgeladen\",\r\n\t\t\"PDF_DISCLAIMER\": \"Eine PDF-Konvertierung kann zu Formatierungsfehlern oder Textverzerrung führen. Wählen Sie nach der Übersetzung aus den Download-Optionen die Option „Konvertierte PDF-Quelldatei herunterladen“, überprüfen Sie die heruntergeladene Datei und beheben Sie die Fehler, bevor die Datei neu zur Übersetzung hochgeladen wird.\",\r\n\t\t\"IMAGE_DISCLAIMER\": \"Eine Bildkonvertierung kann zu Formatierungsfehlern oder Textverzerrung führen.\",\r\n\t\t\"IMAGE_DISCLAIMER_LINK\": \"Informationen zur Bildkonvertierung lesen.\",\r\n\t\t\"SCREEN_READER_ANNOUNCEMENT\": \"{{translated}} von {{total}} Dateien wurden übersetzt.\"\r\n  },\r\n  \"ERRORS\": {\r\n    \"UANUTHORIZED_401\": \"Sie sind nicht berechtigt, die maschinelle Übersetzung zu verwenden.\",\r\n    \"UANUTHORIZED_401_SUPPORT\": \" Bitte kontaktieren Sie den <a href=\\\"mailto:{{email}}\\\"><strong> Support</strong></a>.\",\r\n    \"E_UNKNOWN_FILE_TYPE\": \"Unbekannter Dateityp.\",\r\n    \"E_UNKNOWN_ERROR\": \"Ein unbekannter Fehler ist aufgetreten.\",\r\n    \"E_UNAUTHORIZED\": \"Die Übersetzung des Dokuments wurde verweigert.\",\r\n    \"E_11\": \"Das tägliche Übersetzungslimit wurde erreicht.\",\r\n    \"E_11_SUPPORT\": \" Um das Tageslimit zu erhöhen, wenden Sie sich bitte an den <a href=\\\"mailto:{{email}}\\\"><strong>Support</strong></a>.\",\r\n    \"ERROR_DEFAULT_TITLE\": \"Unerwarteter Fehler\",\r\n\t\t\"ERROR_DEFAULT\": \"Ein unerwarteter Fehler ist aufgetreten. Bitte versuchen Sie es erneut.\",\r\n\t\t\"ERROR_DEFAULT_SUPPORT\": \" Falls das Problem weiterhin besteht, wenden Sie sich an den <a href=\\\"mailto:{{email}}\\\"><strong>Support</strong></a>.\",\r\n\t\t\"MAX_CHAR_LENGTH_TITLE\": \"Übersetzungslimit\",\r\n\t\t\"MAX_CHAR_LENGTH\": \"Es werden nur {{maxCharLength}}/{{totalSymbols}} Zeichen übersetzt.\",\r\n\t\t\"MAX_CHAR_LENGTH_SUBSCRIPTION\": \" Sie benötigen ein Tilde MT-Abonnement für unbegrenzte Textübersetzungen. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Beginnen Sie mit einer kostenlosen Testphase.</a>\",\r\n\t\t\"MAX_NUMBER_OF_FILES_TITLE\": \"Upload-Limit\",\r\n\t\t\"MAX_NUMBER_OF_FILES\": \"Es können nur {{limit}} Dateien auf einmal übersetzt werden.\",\r\n\t\t\"FILE_ALREADY_ADDED_TITLE\": \"Datei wurde bereits hinzugefügt\",\r\n\t\t\"FILE_ALREADY_ADDED\": \"Die Datei „{{fileName}}“ wurde bereits hinzugefügt.\",\r\n\t\t\"UANUTHORIZED_401_TITLE\": \"Nicht autorisiert\",\r\n\t\t\"E_CANNOT_READ_FILE_TITLE\": \"Fehler beim Lesen der Datei\",\r\n\t\t\"E_CANNOT_READ_FILE\": \"Die Datei „{{fileName}}“ ist beschädigt und konnte nicht übersetzt werden. Überprüfen Sie die Datei und versuchen Sie es erneut.\",\r\n\t\t\"E_FAILED_IN_TRANSLATION_TITLE\": \"Übersetzung fehlgeschlagen\",\r\n\t\t\"E_FAILED_IN_TRANSLATION\": \"Beim Übersetzen ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.\",\r\n\t\t\"E_FAILED_IN_TRANSLATION_SUPPORT\": \" Falls das Problem weiterhin besteht, wenden Sie sich an den <a href=\\\"mailto:{{email}}\\\"><strong>Support</strong></a>.\",\r\n\t\t\"E_FORMAT_TRACK_CHANGES_TITLE\": \"Übersetzung fehlgeschlagen, da 'Änderungen verfolgen' aktiviert ist\",\r\n\t\t\"E_FORMAT_TRACK_CHANGES\": \"Bevor Sie Office-Dateien übersetzen können, müssen Sie alle vorhandenen Änderungen annehmen und die Funktion „Änderungen verfolgen“ deaktivieren.\",\r\n\t\t\"E_UNKNOWN_ERROR_TITLE\": \"Unbekannter Fehler\",\r\n\t\t\"E_UNAUTHORIZED_TITLE\": \"Nicht autorisiert\",\r\n\t\t\"COLLECTION_CREATE_TITLE\": \"Fehler bei der Erstellung eines Glossars\",\r\n\t\t\"COLLECTION_CREATE\": \"Fehler bei der Erstellung eines neuen Glossars. Bitte versuchen Sie es erneut.\",\r\n\t\t\"COLLECTION_CREATE_SUPPORT\": \" Falls das Problem weiterhin besteht, wenden Sie sich an den <a href=\\\"mailto:{{email}}\\\"><strong>Support</strong></a>.\",\r\n\t\t\"COLLECTION_IMPORT_TITLE\": \"Fehler beim Anhängen des Glossars\",\r\n\t\t\"COLLECTION_IMPORT\": \"Die Begriffssammlung mit der ID: {{termId}} kann nicht an die Engine für maschinelle Übersetzung angehängt werden. Bitte versuchen Sie es erneut.\",\r\n\t\t\"E_12_TITLE\": \"Limit der Textgröße\",\r\n\t\t\"E_12\": \"Das Limit für die Textgröße wurde erreicht. Senden Sie die Anfrage mit weniger Text.\",\r\n\t\t\"E_12_SUPPORT\": \" Um das Limit für die Textgröße zu erhöhen, wenden Sie sich bitte an den <a href=\\\"mailto:{{email}}\\\"><strong>Support</strong></a>.\",\r\n\t\t\"E_21\": \"Sie werden in wenigen Augenblicken übersetzen können.\",\r\n\t\t\"E_22_TITLE\": \"Engine für maschinelle Übersetzung nicht gefunden\",\r\n\t\t\"E_22\": \"Die Engine für maschinelle Übersetzung wurde nicht gefunden.\",\r\n\t\t\"E_22_SUPPORT\": \" Bitte kontaktieren Sie den <a href=\\\"mailto:{{email}}\\\"><strong> Support</strong></a>.\",\r\n\t\t\"E_23\": \"Die Engine für maschinelle Übersetzung wird nicht gestartet.\",\r\n\t\t\"E_23_SUPPORT\": \" Wenden Sie sich an den <a href=\\\"mailto:{{email}}\\\"><strong>Support</strong></a>.\",\r\n\t\t\"E_41\": \"Unbekannte Termkorpus-ID angegeben. Der Termkorpus muss mit der Engine für maschinelle Übersetzung verknüpft sein.\",\r\n\t\t\"E_504\": \"Die Zeit für die Aktion wurde überschritten.\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES_TITLE\": \"Upload-Limit\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES\": \"Es kann nur 1 Datei auf einmal übersetzt werden. Sie benötigen ein Tilde-MT-Abonnement, um das Limit zu erhöhen. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Beginnen Sie mit einer kostenlosen Testphase.</a>\",\r\n    \"E_504_TITLE\": \"Zeitüberschreitung bei der Übersetzung\",\r\n    \"E_404200\": \"Engine nicht gefunden\",\r\n    \"E_404201\": \"Engine-Begriffssammlung nicht gefunden\",\r\n    \"E_413102_TITLE\": \"Fehler beim Hochladen der Datei\",\r\n    \"E_413102\": \"Die hochgeladene Datei ist zu groß\",\r\n\t  \"E_400103\": \"Übersetzung entsprechend des Inhalts gefiltert\",\r\n    \"TRANSLATION_FAILED_TITLE\": \"Übersetzung fehlgeschlagen\",\r\n    \"TRANSLATION_FAILED\": \"Ein unerwarteter Fehler ist aufgetreten.\",\r\n    \"TRANSLATION_FAILED_SUPPORT\": \" Falls das Problem weiterhin besteht, wenden Sie sich an den <a href=\\\"mailto:{{email}}\\\"><strong>Support</strong></a>.\",\r\n    \"FILE_TRANSLATION_LIMITS\": {\r\n      \"E_429001_TITLE\": \"Dateiübertragungslimit erreicht\",\r\n      \"E_429001\": \"Sie haben Ihr monatliches Limit von {{quotaFileLimit}} übersetzten Dateien erreicht. <a href='{{pricingUrl}}' target='_blank'>Rüsten Sie Ihren Plan auf</a>, um weitere Dateien zu übersetzen.\"\r\n    },\r\n    \"FILE_UPLOAD\":{\r\n      \"FILE_UPLOAD_EMPTY_TITLE\": \"Die Datei ist leer\",\r\n\t\t\t\"FILE_UPLOAD_EMPTY\": \"Die hochgeladene Datei „{{fileName}}“ ist leer. Wählen Sie eine Datei mit Inhalt.\",\r\n\t\t\t\"FILE_UPLOAD_MAX_SIZE_TITLE\": \"Limit der Dateigröße\",\r\n\t\t\t\"FILE_UPLOAD_MAX_SIZE\": \"Die hochgeladene Datei „{{fileName}}“ ist zu groß. Maximale Größe {{maxSizeMB}} MB\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE\": \"Nicht unterstütztes Dateiformat\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"Das Format der hochgeladenen Datei „{{fileName}}“ wird nicht unterstützt. Die Übersetzung folgender Dokumentformate wird unterstützt: {{formats}}.\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE\": \"Nicht unterstütztes Dateiformat\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER\": \"Sie benötigen ein Tilde MT-Abonnement, um die Datei „{{fileName}}“ zu übersetzen. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Beginnen Sie mit einer kostenlosen Testphase.</a>\",\r\n\t\t\t\"E_404_TITLE\": \"Datei nicht gefunden\",\r\n\t\t\t\"E_404\": \"Die angeforderte Datei ist nicht vorhanden\",\r\n      \"E_404_REMOVE_TITLE\": \"Löschen der Datei fehlgeschlagen\",\r\n      \"E_404_REMOVE\": \"Datei wurde bereits gelöscht\"\r\n    },\r\n    \"FILE_TRANSLATION_SUBSTATUS\": {\r\n\t\t\t\"BAD_FILE_ERROR_TITLE\": \"Fehler bei der Übersetzung der Datei\",\r\n\t\t\t\"BAD_FILE_ERROR\": \"Die Datei ist beschädigt und konnte nicht übersetzt werden. Überprüfen Sie die Datei und versuchen Sie es erneut.\",\r\n\t\t\t\"NO_TEXT_EXTRACTED_ERROR_TITLE\": \"Fehler beim Extrahieren eines Textes\",\r\n\t\t\t\"NO_TEXT_EXTRACTED_ERROR\": \"Die Datei ist möglicherweise leer. Überprüfen Sie die Datei und versuchen Sie es erneut.\",\r\n\t\t\t\"TRACK_CHANGES_ENABLED_ERROR_TITLE\": \"Übersetzung fehlgeschlagen, da 'Änderungen verfolgen' aktiviert ist\",\r\n\t\t\t\"TRACK_CHANGES_ENABLED_ERROR\": \"Bevor Sie Office-Dateien übersetzen können, müssen Sie alle vorhandenen Änderungen annehmen und die Funktion „Änderungen verfolgen“ deaktivieren.\",\r\n\t\t\t\"UNKNOWN_FILE_TYPE_ERROR_TITLE\": \"Unbekannter Dateityp\",\r\n\t\t\t\"UNKNOWN_FILE_TYPE_ERROR\": \"Dateityp wurde nicht erkannt. Die Dateierweiterung ist möglicherweise falsch oder die Datei ist beschädigt.\"\r\n\t\t},\r\n    \"AUDIO\": {\r\n\t\t\t\"NO_SPEECH_TITLE\": \"Keine Sprachdaten\",\r\n\t\t\t\"NO_SPEECH\": \"Ihre Aufnahme wurde beendet. Wir konnten Sie nicht hören.\",\r\n\t\t\t\"MAX_TIME_EXCEEDED_TITLE\": \"Limit für Sprachdaten\",\r\n\t\t\t\"MAX_TIME_EXCEEDED\": \"Ihre Aufnahme wurde beendet. Die Spracheingabe ist auf {{timeString}} beschränkt.\",\r\n\t\t\t\"MIC_NOT_ALLOWED_TITLE\": \"Zugriff auf Mikrofon verweigert\",\r\n\t\t\t\"MIC_NOT_ALLOWED\": \"Sie haben den Zugriff auf das Mikrofon verweigert. Ändern Sie die Berechtigungen in den Einstellungen des Browsers.\",\r\n\t\t\t\"MAX_SIZE_EXCEEDED_TITLE\": \"Limit für Sprachdaten\",\r\n\t\t\t\"MAX_SIZE_EXCEEDED\": \"Ihre Aufnahme wurde beendet und zur Bearbeitung weitergeleitet. Die Spracheingabe ist auf eine Größe von {{maxSizeMB}} MB begrenzt.\",\r\n\t\t\t\"CANT_START_RECORDING_TITLE\": \"Fehler beim Starten der Aufnahme\",\r\n\t\t\t\"CANT_START_RECORDING\": \"Die Aufnahme konnte nicht gestartet werden. Bitte versuchen Sie es erneut.\",\r\n\t\t\t\"NO_TEXT_RECOGNIZED_Title\": \"Keine Sprachdaten erkannt\",\r\n\t\t\t\"NO_TEXT_RECOGNIZED\": \"Es konnten keine Sprachdaten erkannt werden. Überprüfen Sie Ihr Mikrofon und versuchen Sie es erneut.\"\r\n\t\t},\r\n    \"DETECTION\": {\r\n      \"UNAVAILABLE\": \"{{srcLang}}-{{trgLang}} Übersetzung wird nicht unterstützt. Wählen Sie die Sprachen manuell aus, falls diese falsch erkannt wurden.\"\r\n    }\r\n  },\r\n  \"ARIA_LABELS\": {\r\n    \"CLOSE_BUTTON\": \"Löschen\",\r\n    \"CLEAR_NOTIFICATION\": \"Alarmmeldung schließen\",\r\n    \"CLEAR_SOURCE\": \"Eingegebenen Text löschen\",\r\n    \"CLOSE_DIALOG\": \"Dialog schließen\",\r\n    \"CLEAR_FILES\": \"Hochgeladene Dateien löschen\",\r\n    \"SHOW_EXTENSIONS\": \"Weitere Download-Optionen zeigen\",\r\n    \"COPY\": \"In Zwischenablage kopieren\",\r\n\t\t\"OPEN_IN_NEW\": \"In neuer Registerkarte öffnen\",\r\n\t\t\"SWAP_LANGUAGES\": \"Sprachen tauschen\",\r\n\t\t\"OTHER_LANGUAGES_TRIGGER\": \"Andere Sprachen anzeigen\",\r\n    \"REFRESH\": \"Übersetzung aktualisieren\",\r\n\t\t\"CREATE_SUMMARY\": \"Zusammenfassung erstellen\"\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"COPY\": \"In Zwischenablage kopieren\",\r\n    \"SWAP_LANGUAGES\": \"Sprachen tauschen\",\r\n    \"REFRESH\": \"Übersetzung aktualisieren\",\r\n    \"DISLIKE\": \"Gefällt mir nicht\",\r\n\t\t\"CREATE_SUMMARY\": \"Zusammenfassung erstellen\",\r\n    \"UPLOAD\": \"Datei hochladen\"\r\n  },\r\n  \"PDF_CONVERSION\": {\r\n\t\t\"CLOSE\": \"Dialog schließen\",\r\n    \"TITLE_1\": \"PDF-Übersetzung\",\r\n    \"PARAGRAPH_1_1\": \"Wenn eine .pdf-Datei zur Übersetzung hochgeladen wird, erfolgt zuerst eine Konvertierung in ein übersetzbares Format. Es werden sowohl gescannte als auch native .pdf-Dateien unterstützt. Übersetzungen können in den Formaten .docx heruntergeladen werden und behalten ihre grundlegende Formatierung bei. \",\r\n    \"PARAGRAPH_1_2\": \"Da eine Konvertierung Zeit kostet, sollten Sie zur Beschleunigung des Vorgangs Ihre .pdfs aufteilen und Seiten mit nicht übersetzbaren Informationen daraus entfernen. Faktoren wie Seitenanzahl, Qualität und Textdichte wirken sich auf die Verarbeitungsdauer aus.\",\r\n    \"PARAGRAPH_1_3\": \"Zur Verbesserung der Übersetzungsleistung empfehlen wir, das Dokument nach der Konvertierung in der Originalsprache herunterzuladen und Fehler von Hand zu beheben, bevor es neu zur Übersetzung hochgeladen wird.\",\r\n    \"IMAGE_ALT_1\": \"Beispiel zum Herunterladen einer Quell-PDF\",\r\n    \"TITLE_2\": \"PDF-Konvertierung\",\r\n    \"PARAGRAPH_2_1\": \"Das Dokument wird analysiert und sein Inhalt wird in Bereiche mit Text, Tabellen und Bildern/Hintergrundbildern aufgeteilt. Diese Bereiche werden weiter analysiert, um festzustellen, welche Inhalte als Text erkannt werden sollten.\",\r\n    \"PARAGRAPH_2_2\": \"Textdaten werden mit Hilfe von OCR-Verfahren (Optical Character Recognition = Optische Zeichenerkennung) erhalten. Dabei wird jedes Zeichen abhängig on seinen optischen Eigenschaften erkannt und dann zu Wörtern und Sätzen zusammengefügt.\",\r\n    \"PARAGRAPH_2_3\": \"Die Erkennung wird unter anderem durch folgende Faktoren beeinflusst:\",\r\n    \"LI_1_1\": \"Qualität des eingescannten Dokuments (unscharfer oder deformierter Text, Bildrauschen, Bildauflösung, Kontrast usw.). Für beste Ergebnisse sollten .pdf-Dateien eine Auflösung von mindestens 300 dpi haben sowie klar und rauschfrei sein.\",\r\n    \"LI_1_2\": \"Schriftgröße. Größen unter 9 Punkten sind eventuell schlecht erkennbar. \",\r\n    \"LI_1_3\": \"Seltene und Originalschriftarten. Weniger gebräuchliche Schriftarten werden eventuell gar nicht oder nur schlecht erkannt.\",\r\n    \"LI_1_4\": \"Komplexität von Dokumentstruktur und -formatierung.\",\r\n    \"TITLE_3\": \"Verbesserung der Übersetzungsleistung\",\r\n    \"PARAGRAPH_3_1\": \"Der Konvertierungsprozess ist sehr komplex und kann zu verschiedenen Fehlern führen, die auf das eingegebene Dokument zurückzuführen sind. \",\r\n    \"PARAGRAPH_3_2\": \"Worauf Sie achten sollten:\",\r\n    \"LI_2_1\": \"Falsch erkannte Wörter.\",\r\n    \"LI_2_2\": \"Falsche Wortgrenzen.\",\r\n    \"LI_2_3\": \"Sätze, die über mehrere Spalten verlaufen, Zeilen oder Seiten, die in mehrere Textobjekte aufgeteilt wurden.\",\r\n    \"LI_2_4\": \"Falsch platzierte Fuß- oder Kopfzeilen.\",\r\n    \"LI_2_5\": \"Falsche Nummerierung.\",\r\n    \"LI_2_6\": \"Tabellen, die als Hintergrundbilder erkannt wurden und deren Zelleninhalte in verschiedenen Textobjekten platziert wurden.\",\r\n    \"LI_2_7\": \"Diagramme wurden als Bilder erkannt und enthalten keine Textelemente.\",\r\n    \"LI_2_8\": \"Trennzeichen, Ränder oder andere horizontale Linien wurden als durchgestrichener oder unterstrichener Text erkannt.\",\r\n    \"LI_2_9\": \"Die Formatierung des Inhaltsverzeichnisses oder ähnlicher Listen wurde zusammengeschoben oder als durchgestrichener oder unterstrichener Text erkannt.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Beachten Sie, dass das Ergebnisdokument nicht alle Details der Originalformatierung behält.</b> Einige Bilder, Tabellen oder Diagramme können verzerrt oder vereinfacht dargestellt werden. Schriftarten im übersetzten Dokument sind nicht dieselben wie im Original, sondern ähnliche Schriften. Es werden eventuell falsche Schriftgrößen erkannt. Spezifische Word-Formatierungen, zum Beispiel Überschriften, Inhaltsverzeichnisse, Kopf- und Fußzeilen, Beschriftungen, Formulare usw., erhalten einen Stil, der dem Original ähnelt, entsprechen diesem aber nicht vollständig. (Das heißt beispielsweise, Titel werden fett und größer dargestellt, sind aber nicht als Überschrift formatiert.)\"\r\n  },\r\n  \"IMAGE_CONVERSION\": {\r\n\t\t\"TITLE_1\": \"Bildübersetzung\",\r\n\t\t\"PARAGRAPH_1_1\": \"Wenn eine Bilddatei zur Übersetzung hochgeladen wird, erfolgt zuerst eine Konvertierung in ein übersetzbares Format. Übersetzungen können in den Formaten .docx oder .tmx heruntergeladen werden und behalten ihre grundlegende Formatierung bei.\",\r\n\t\t\"PARAGRAPH_1_2\": \"<b>Unterstützte Bildformate:</b> .jpg, .jpeg, .png und .bmp.\",\r\n\t\t\"PARAGRAPH_1_3\": \"Zur Verbesserung der Übersetzungsleistung empfehlen wir, das Dokument nach der Konvertierung in der Originalsprache herunterzuladen und Fehler von Hand zu beheben, bevor es neu zur Übersetzung hochgeladen wird.\",\r\n\t\t\"IMAGE_ALT_1\": \"Beispiel für den Download eines Quellbildes\",\r\n\t\t\"TITLE_2\": \"Bildkonvertierung\",\r\n\t\t\"PARAGRAPH_2_1\": \"Das Bild wird analysiert und sein Inhalt wird in Bereiche mit Text, Tabellen und Bildern/Hintergrundbildern aufgeteilt. Diese Bereiche werden weiter analysiert, um festzustellen, welche Inhalte als Text erkannt werden sollten.\",\r\n\t\t\"PARAGRAPH_2_2\": \"Textdaten werden mit Hilfe von OCR-Verfahren (Optical Character Recognition = Optische Zeichenerkennung) erhalten. Dabei wird jedes Zeichen abhängig von seinen optischen Eigenschaften erkannt und dann zu Wörtern und Sätzen zusammengefügt.\",\r\n\t\t\"PARAGRAPH_2_3\": \"Die Erkennung wird unter anderem durch folgende Faktoren beeinflusst:\",\r\n\t\t\"LI_1_1\": \"Qualität des eingescannten Bildes (unscharfer oder deformierter Text, Bildrauschen, Bildauflösung, Kontrast usw.). Für beste Ergebnisse sollten Bilder eine Auflösung von mindestens 300 dpi haben sowie klar und rauschfrei sein.\",\r\n\t\t\"LI_1_2\": \"Schriftgröße. Größen unter 9 Punkten sind eventuell schlecht erkennbar. \",\r\n\t\t\"LI_1_3\": \"Seltene und Originalschriftarten. Weniger gebräuchliche Schriftarten werden eventuell gar nicht oder nur schlecht erkannt.\",\r\n\t\t\"LI_1_4\": \"Komplexität von Dokumentstruktur und -formatierung.\",\r\n\t\t\"TITLE_3\": \"Verbesserung der Übersetzungsleistung\",\r\n\t\t\"PARAGRAPH_3_1\": \"Der Konvertierungsprozess ist sehr komplex und kann zu verschiedenen Fehlern führen, die auf das eingegebene Dokument zurückzuführen sind. \",\r\n\t\t\"PARAGRAPH_3_2\": \"Worauf Sie achten sollten:\",\r\n\t\t\"LI_2_1\": \"Falsch erkannte Wörter.\",\r\n\t\t\"LI_2_2\": \"Falsche Wortgrenzen.\",\r\n\t\t\"LI_2_3\": \"Sätze, die über mehrere Spalten verlaufen, Zeilen oder Seiten, die in mehrere Textobjekte aufgeteilt wurden.\",\r\n\t\t\"LI_2_4\": \"Falsch platzierte Fuß- oder Kopfzeilen.\",\r\n\t\t\"LI_2_5\": \"Falsche Nummerierung.\",\r\n\t\t\"LI_2_6\": \"Tabellen, die als Hintergrundbilder erkannt wurden und deren Zelleninhalte in verschiedenen Textobjekten platziert wurden.\",\r\n\t\t\"LI_2_7\": \"Diagramme wurden als Bilder erkannt und enthalten keine Textelemente.\",\r\n\t\t\"LI_2_8\": \"Trennzeichen, Ränder oder andere horizontale Linien wurden als durchgestrichener oder unterstrichener Text erkannt.\",\r\n\t\t\"PARAGRAPH_4_1\": \"<b>Beachten Sie, dass das Ergebnisdokument nicht alle Details der Originalformatierung behält.</b> Einige Bilder, Tabellen oder Diagramme können verzerrt oder vereinfacht dargestellt werden. Schriftarten im übersetzten Dokument sind nicht dieselben wie im Original, sondern ähnliche Schriften. Es werden eventuell falsche Schriftgrößen erkannt.\",\r\n\t\t\"CLOSE\": \"Dialog schließen\"\r\n\t},\r\n  \"WEBTRANSLATE\": {\r\n    \"BACK\": \"Zurück zum Übersetzer\",\r\n    \"LOAD_PAGE\": \"Seite laden\",\r\n    \"RESTORE\": \"Wiederherstellen\",\r\n    \"CANCEL\": \"Abbrechen\",\r\n    \"SEARCH\": \"Webseite suchen\",\r\n      \"NO_RECORDS\": {\r\n        \"TITLE\": \"Nach einer zu übersetzenden Webseite suchen\",\r\n        \"DESCRIPTION\": \"Schauen Sie sich an, <a href='{{helpUrl}}' target='_blank' class='underline'>wie es funktioniert</a>\"\r\n      }\r\n  },\r\n  \"DATE_AGO\": {\r\n    \"YEAR\": \"Vor {{value}} Jahr\",\r\n    \"YEARS\": \"Vor {{value}} Jahren\",\r\n    \"MONTH\": \"Vor {{value}} Monat\",\r\n    \"MONTHS\": \"Vor {{value}} Monaten\",\r\n    \"WEEK\": \"Vor {{value}} Woche\",\r\n    \"WEEKS\": \"Vor {{value}} Wochen\",\r\n    \"DAY\": \"Vor {{value}} Tag\",\r\n    \"DAYS\": \"Vor {{value}} Tagen\",\r\n    \"HOUR\": \"Vor {{value}} Stunde\",\r\n    \"HOURS\": \"Vor {{value}} Stunden\",\r\n    \"MINUTE\": \"Vor {{value}} Minute\",\r\n    \"MINUTES\": \"Vor {{value}} Minuten\",\r\n    \"SECOND\": \"Vor {{value}} Sekunde\",\r\n    \"SECONDS\": \"Vor {{value}} Sekunden\",\r\n    \"JUST_NOW\": \"Gerade jetzt\"\r\n  },\r\n  \"TERM_COLLECTIONS\": {\r\n    \"TITLE\": \"Glossare\",\r\n    \"DEFAULT\": \"Standard\",\r\n    \"DESCRIPTION\": \"Erzielen Sie präzise und zuverlässige Übersetzungen, indem Sie das am besten geeignete Glossar aus der Liste wählen.\",\r\n    \"DESCRIPTION_EMPTY\": \"<span>Erstellen Sie ein neues Glossar</span> für {{srcLang}}-{{trgLang}} oder öffnen Sie die <span>Standardglossarverwaltung</span> und erstellen Sie ein Glossar für die Verwendung in der Übersetzung auf der Plattform.\",\r\n    \"UNAVAILABLE_GLOSSARIES\": \"Kein Glossar verfügbar\",\r\n    \"LAST_UPDATED\": \"Letzte Aktualisierung: {{date}}\",\r\n    \"TERMS_IN_USE\": \"Verwendete Begriffe: {{termCount}}\",\r\n    \"DEFAULT_GLOSSARY_MANAGEMENT\": \"Standardglossare verwalten\",\r\n    \"GLOSSARY\": \"Glossar: \",\r\n    \"SELECTED_NONE\": \"Keines\",\r\n    \"EDIT\": \"Bearbeiten\",\r\n    \"CREATE\": \"Neues Glossar\",\r\n    \"DEFAULT_COLLECTION_NAME\": \"Meine Begriffssammlung\",\r\n    \"SYNC\": \"Synchronisieren\",\r\n    \"SYNC_ERROR\": \"Erneut versuchen\",\r\n    \"ARIA_LABELS\": {\r\n      \"RADIO_GROUP\": \"Begriffssammlung auswählen\",\r\n      \"OTHER_COLLECTIONS\": \"Sammlungsmenü öffnen\"\r\n    },\r\n    \"CREATE_DIALOG\": {\r\n      \"COLLECTION_NAME_LABEL\": \"Glossarname\",\r\n      \"DESCRIPTION_1\": \"Nach Anklicken von „Erstellen“ werden Sie zum Hinzufügen Ihrer Begriffe zur Tilde Term weitergeleitet.\",\r\n      \"CANCEL\": \"Abbrechen\",\r\n      \"CREATE\": \"Erstellen\",\r\n      \"DESCRIPTION_2\": \"<i>* KI ist nicht perfekt und kann gelegentlich Fehler machen. Ihre einzigartigen Begriffe werden mit 95%iger Genauigkeit korrekt verwendet.</i>\",\r\n      \"TITLE\": \"Neues Glossar erstellen\",\r\n      \"COLLECTION_NAME_ERROR\": \"Der Titel sollte mindestens {{minLength}} Zeichen und nicht länger als {{maxLength}} Zeichen lang sein.\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"EDIT\": \"Sie werden zum Terminologieportal weitergeleitet, das in einem neuen Tab geöffnet wird\",\r\n      \"NO_ENTRIES\": \"Begriffssammlung kann nicht verwendet werden, da es keine Begriffe für die Ausgangssprache gibt.\",\r\n      \"SYNC\": \"Begriffssammlung aktualisieren\",\r\n      \"SYNCING\": \"Die Begriffssammlung wird gerade synchronisiert, und die zuletzt synchronisierte Version der Sammlung wird verwendet.\",\r\n      \"ATTACH_TO_SYSTEM_ERROR\": \"Beim Import der Begriffssammlung ist ein Fehler aufgetreten.\",\r\n      \"IMPORTING\": \"Glossar wird importiert\",\r\n      \"DEFAULT_COLLECTION\": \"Diese Begriffe werden nun verwendet. Sie können sie über die Standardglossarverwaltung verwalten. \"\r\n    },\r\n    \"READER\": {\r\n      \"TITLE\": \"Glossare\",\r\n      \"UNAVAILABLE\": \"Glossare nicht verfügbar\",\r\n      \"AUTH_UNAVAILABLE\": \"Nur Terminologieredakteure können neue Wörterbücher erstellen.\",\r\n      \"TEXT\": \"Glossare sind nur für autorisierte Benutzer verfügbar. </br> <a href='{{signInUrl}}'>Melden Sie sich an</a> oder <a href='{{startTrialUrl}}'>starten Sie Ihre kostenlose Testphase</a> zur Freischaltung unseres Glossars.\"\r\n    },\r\n    \"ERRORS\": {\r\n      \"ERRORIMPORTING\": \"Importfehler\"\r\n    }\r\n  },\r\n  \"DOMAINS\": {\r\n    \"LAW\": \"Recht\",\r\n    \"DYNAMIC_LEARNING\": \"Dynamisches Lernen\",\r\n    \"BUSINESS\": \"Wirtschaft\",\r\n    \"OPEN_LIST_ARIA_LABEL\": \"Domainliste öffnen\",\r\n\t\t\"TITLE\": \"Domain:\",\r\n\t\t\"GENERAL\": \"Allgemein\",\r\n\t\t\"AUTO\": \"Automatische Erkennung\",\r\n    \"SPD\": \"Formale EU-Sprache\",\r\n    \"GEN\": \"Allgemeiner Text\",\r\n    \"ECB\": \"Finanzen\",\r\n    \"ECJ\": \"Europäischer Gerichtshof\",\r\n    \"PUBHEALTH\": \"Öffentliche Gesundheit\",\r\n    \"BUBA\": \"Deutsche Bundesbank\",\r\n    \"BERCY\": \"Ministère des Finances\",\r\n    \"EUROPEANA\": \"Europeana\",\r\n    \"IPO\": \"Rechtssprechung zu geistigem Eigentum\",\r\n    \"TRIS\": \"Mit Daten aus Informationssystemen technischer Regularien erstellte Engines\",\r\n    \"VK\": \"Valtioneuvoston Kanslia\",\r\n    \"BUBA_NMTTEST\": \"Deutsche Bundesbank Test\",\r\n    \"GENERAL_AI\": \"Allgemeine KI\",\r\n\t\t\"ACADEMIC_AI\": \"Akademische KI\",\r\n\t\t\"PROFESSIONAL_AI\": \"Professionelle KI\"\r\n  },\r\n\t\"AUDIO\": {\r\n\t\t\"CANCEL\": \"Abbrechen\",\r\n\t\t\"DESCRIBE_STATE_RECORDING\": \"Bitte sprechen Sie, um Sprachdaten aufzunehmen...\",\r\n\t\t\"DESCRIBE_STATE_PROCESSING\": \"Daten werden verarbeitet...\",\r\n\t\t\"MIC_NOT_FOUND\": \"Mikrofon nicht gefunden\",\r\n\t\t\"STOP\": \"Aufnahme beenden\",\r\n\t\t\"START\": \"Gesprochene Sprache übersetzen\",\r\n\t\t\"PUNCTUATION_MESSAGE_TITLE\": \"Zeichensetzung hinzufügen\",\r\n\t\t\"PUNCTUATION_MESSAGE\": \"Bitte fügen Sie dem erkannten Text Satzzeichen hinzu. Lange Texte ohne Zeichensetzung können eine geringere Übersetzungsqualität aufweisen oder nicht übersetzt werden.\"\r\n\t},\r\n\t\"EXTENSION_POPUP\": {\r\n\t\t\"OPEN\": \"Alle unterstützten Formate anzeigen\",\r\n\t\t\"TITLE\": \"Unterstützte Dateiformate\",\r\n\t\t\"DESCRIPTION\": \"UTF-8- oder UTF-16-Kodierung erforderlich, um eine korrekte Dateiübersetzung zu gewährleisten\",\r\n\t\t\"OFFICE\": \"Office\",\r\n\t\t\"SCANNED\": \"Gescannte Dateien\",\r\n\t\t\"INTERCHANGE\": \"Austauschformate\",\r\n\t\t\"WEB\": \"Web\",\r\n\t\t\"OTHER\": \"Sonstiges\"\r\n\t},\r\n\t\"FILE_UPLOAD\": {\r\n\t\t\"UPLOAD\": \"Auswählen\",\r\n\t\t\"DRAG_AND_DROP\": \"oder per Drag &amp; Drop \",\r\n\t\t\"FILE\": \"eine Datei\",\r\n\t\t\"FILES\": \"Dateien\",\r\n\t\t\"LIMITS_MB\": \"Max. {{maxSizeMB}} MB\",\r\n    \"CLEAR\": \"Datei löschen\",\r\n    \"SELECT_LANGUAGE_WARNING\": \"Bitte wählen Sie die Ausgangssprache der Datei.\"\r\n\t},\r\n  \"SYSTEM_PICKER\": {\r\n    \"SOURCE\": \"Übersetzen aus\",\r\n    \"TARGET\": \"Übersetzen in\",\r\n    \"SEARCH_PLACEHOLDER\": \"Sprachen wählen\",\r\n    \"RECENT_SYSTEM_TITLE\": \"Zuletzt\",\r\n    \"SELECT_DOMAIN\": \"Domäne wählen\",\r\n    \"FILTER_NO_RESULTS\": \"Keine Ergebnisse\",\r\n    \"ALL_LANGUAGES\": \"Alle Sprachen\",\r\n    \"CLEAR_SEARCH\": \"Suchtext löschen\",\r\n    \"OPEN_SOURCE_ARIA_LABEL\": \"Ausgangssprache auswählen\",\r\n    \"OPEN_TARGET_ARIA_LABEL\": \"Zielsprache und Domäne wählen\",\r\n    \"DETECTED\": \"Erkannt\",\r\n    \"LANGUAGE\": \"Sprache:\",\r\n    \"TRANSLATION_STYLE\": \"Fachgebiet:\"\r\n  },\r\n  \"TEXT_TRANSLATION_PROGRESS_INDICATOR\": {\r\n    \"TITLE\": \"Von {{provider}} bereitgestellte Übersetzung\",\r\n    \"TRANSLATING\": \"Übersetzung wird durchgeführt...\",\r\n    \"CLOSE_BUTTON_TOOLTIP\": \"Fortschrittsleiste entfernen\",\r\n    \"CLOSE_BUTTON_ARIA_LABEL\": \"Fortschrittsleiste entfernen\"\r\n  },\r\n  \"VENDOR_MESSAGE\": {\r\n    \"TEXT\": \"Von {{vendor}} bereitgestellte Übersetzung\",\r\n    \"ICON_TOOLTIP\": \"Von {{vendor}} angebotene Systeme werden von einer Vielzahl von Benutzern verwendet. Möglicherweise sind sie aufgrund der hohen Arbeitslast manchmal langsam.\"\r\n  },\r\n  \"VENDORS\": {\r\n    \"ETRANSLATION\": \"eTranslation\"\r\n  },\r\n  \"TEXT_TO_SPEECH\": {\r\n    \"PLAY\": \"Anhören\",\r\n    \"PAUSE\": \"Pause\"\r\n  },\r\n  \"DICTIONARY\": {\r\n    \"SOURCE\": \"Ergebnisse von {{src}}\"\r\n  }\r\n}\r\n","export const i18n_en = {\r\n  \"TERM_PORTAL_NAME\": \"Tilde term\",\r\n  \"APP_NAME\": \"Tilde MT\",\r\n  \"TLD_TRANSLATE\": {\r\n    \"CANCEL_TRANSLATION\": \"Cancel\",\r\n    \"DOWNLOAD_TRANSLATED\": \"Download\",\r\n    \"FILE_DOWNLOAD_SOURCE\": \"Download converted source PDF\",\r\n    \"FILE_DOWNLOAD_SOURCE_HELP\": \"PDF conversion may cause formatting errors or text distortion. Please check the converted file and fix the errors before re-uploading the file for translation\",\r\n    \"FILE_DOWNLOAD_SOURCE_IMAGE\": \"Download converted source image\",\r\n    \"FILE_DOWNLOAD_SOURCE_IMAGE_HELP\": \"Image conversion may cause formatting errors or text distortion. Please check the converted file and fix the errors before re-uploading the file for translation\",\r\n    \"FILE_TANSLATION_STATUSS_QUEUING\": \"Translation is starting...\",\r\n    \"FILE_TARGET_PREVIEW_MESSAGE\": \"This is a preview of the translated document, please download to receive a complete translation.\",\r\n    \"PDF_DISCLAIMER_LINK\": \"See how to fix it\",\r\n    \"IMAGE_DISCLAIMER_LINK\": \"Read about image conversion.\",\r\n    \"REGISTERED_FORMATS_LOGGED_IN\": \"Registered users have access to the following document formats translation: {{formats}}.\",\r\n    \"REGISTERED_FORMATS\": \"Registered users have access to the following document formats translation: {{formats}}. Request your access <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\">here</a>.\",\r\n    \"SOURCE_FORMATS\": \"Secure public translation service supports following document formats: {{formats}};\",\r\n    \"SOURCE_TOOLTIP\": \"Type text or insert link to translate.\",\r\n    \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Type text to translate.\",\r\n    \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Do not use {{appName}} to translate confidential or classified information or texts that contain special categories of personal data, such as medical data\",\r\n    \"TARGET_DESCRIPTION\": \"Machine translation allows to understand the meaning of a source text, but cannot substitute a human translation.\",\r\n    \"TEXT_COPIED\": \"Translation copied\",\r\n    \"TOOLTIP_ACTION\": \"Translate\",\r\n    \"VENDORS_ARIA_LABEL\": \"Providers\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_TITLE\": \"Translation limit\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG\": \"Only the first 1250 words will be translated.\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_SUBSCRIPTION\": \" You need a Tilde MT subscription to translate full files. <a href=\\\"{{pricingUrl}}\\\" target='_blank'>start with a free trial</a>\",\r\n    \"ERROR_NO_SYSTEMS_LOADED_TITLE\": \"No translation engines were loaded\",\r\n    \"ERROR_NO_SYSTEMS_LOADED\": \"Failed to load the machine translation engines.\",\r\n    \"ERROR_NO_SYSTEMS_LOADED_SUPPORT\": \" Please reload the page or contact <a href=\\\"mailto:{{email}}\\\"><strong> support</strong></a>.\",\r\n    \"PDF_PAGE_LIMIT_MSG_TITLE\": \"Translation limit\",\r\n    \"PDF_PAGE_LIMIT_MSG\": \"Only the first page will be translated.\",\r\n    \"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>\",\r\n    \"CLEAR_SOURCE_TOOLTIP\": \"Clear text\",\r\n    \"SUGGEST_TRANSLATION_LABEL\": \"Download translation\",\r\n    \"FROM\": \"From:\",\r\n    \"TO\": \"To:\",\r\n    \"SUMMARY\": {\r\n      \"TITLE\": \"Summary\",\r\n      \"CREATING\": \"Creating summary\",\r\n      \"DISABLED\": \"Provide a minimum of 300 characters to use the summarization feature\",\r\n      \"COPIED\": \"Summary copied\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Create summary\",\r\n        \"DESCRIPTION\": \"Summarise lengthy texts into a brief overview of key points.\",\r\n        \"CLOSE\": \"Close\"\r\n      }\r\n    },\r\n    \"REPHRASE\": {\r\n      \"TITLE\": \"Rephrase\",\r\n      \"CHOOSE_LABEL\": \"Choose writing style\",\r\n      \"TOOLTIP\": \"Rephrase text into a specified writing style, adapting the language and tone to match a given target style or voice.\",\r\n      \"LOADING\": \"Rephrasing\",\r\n      \"COPIED\": \"Rephrase copied\",\r\n      \"HINT\": \"Rephrase text translations to change the wording or capture the right tone. Select from 3 writing styles: General, Professional, Academic.\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Rephrase\",\r\n        \"DESCRIPTION\": \"Rephrase text into a specified writing style, adapting the language and tone to match a given target style or voice.\",\r\n        \"CLOSE\": \"Close\"\r\n      },\r\n      \"STYLES\": {\r\n        \"GENERAL\": \"General\",\r\n        \"PROFESSIONAL\": \"Professional\",\r\n        \"ACADEMIC\": \"Academic\"\r\n      }\r\n    }\r\n  },\r\n  \"MULTIPLE_FILES\": {\r\n    \"CLEAR_ALL\": \"Close\",\r\n    \"DOWNLOAD\": \"Download\",\r\n    \"STATUSS_INITIALIZING\": \"Initializing\",\r\n    \"STATUSS_EXTRACTING\": \"Extracting\",\r\n    \"STATUSS_WAITING\": \"Starting translator\",\r\n    \"STATUSS_TRANSLATING\": \"Translating {{percent}}%\",\r\n    \"STATUSS_SAVING\": \"Saving\",\r\n    \"STATUSS_COMPLETED\": \"Completed\",\r\n    \"STATUSS_ERROR\": \"Error\",\r\n    \"STATUSS_QUEUING\": \"Queuing\",\r\n    \"STATUSS_UPLOADING\": \"Uploading...\",\r\n    \"STATUSS_UPLOADED\": \"Uploaded\",\r\n    \"PDF_DISCLAIMER\": \"PDF documents may have formatting or translation errors.\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Read about pdf conversion.\",\r\n    \"IMAGE_DISCLAIMER\": \"Image conversion may cause formatting errors or text distortion.\",\r\n    \"IMAGE_DISCLAIMER_LINK\": \"Read about image conversion.\",\r\n    \"SCREEN_READER_ANNOUNCEMENT\": \"{{translated}} out of {{total}} files are translated.\"\r\n  },\r\n  \"ERRORS\": {\r\n    \"ERROR_DEFAULT_TITLE\": \"Unexpected error\",\r\n    \"ERROR_DEFAULT\": \"An unexpected error occurred. Please try again.\",\r\n    \"ERROR_DEFAULT_SUPPORT\": \" If the problem continues, contact <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"MAX_CHAR_LENGTH_TITLE\": \"Translation limit\",\r\n    \"MAX_CHAR_LENGTH\": \"Only {{maxCharLength}}/{{totalSymbols}} characters will be translated.\",\r\n    \"MAX_CHAR_LENGTH_SUBSCRIPTION\": \" You need a Tilde MT subscription for unlimited text translation. <a href=\\\"{{registerLink}}?{{queryString}}\\\">start with a free trial</a>\",\r\n    \"MAX_NUMBER_OF_FILES_TITLE\": \"Upload limit\",\r\n    \"MAX_NUMBER_OF_FILES\": \"Only {{limit}} files can be translated at once.\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES_TITLE\": \"Upload limit\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES\": \"Only 1 file can be translated at once. You need a Tilde MT subscription to increase limit. <a href=\\\"{{registerLink}}?{{queryString}}\\\">start with a free trial</a>\",\r\n    \"FILE_ALREADY_ADDED_TITLE\": \"File has already been added\",\r\n    \"FILE_ALREADY_ADDED\": \"File \\\"{{fileName}}\\\" has already been added.\",\r\n    \"UANUTHORIZED_401_TITLE\": \"Unauthorized\",\r\n    \"UANUTHORIZED_401\": \"You don't have permission to use machine translation.\",\r\n    \"UANUTHORIZED_401_SUPPORT\": \" Please contact <a href=\\\"mailto:{{email}}\\\"><strong> support</strong></a>.\",\r\n    \"E_UNKNOWN_FILE_TYPE\": \"Unknown file type.\",\r\n    \"E_CANNOT_READ_FILE_TITLE\": \"Unable to read file\",\r\n    \"E_CANNOT_READ_FILE\": \"The file \\\"{{fileName}}\\\" is corrupted and couldn't be translated. Check the file and try again.\",\r\n    \"E_FAILED_IN_TRANSLATION_TITLE\": \"Translation failed\",\r\n    \"E_FAILED_IN_TRANSLATION\": \"Error occurred while translating. Please try again.\",\r\n    \"E_FAILED_IN_TRANSLATION_SUPPORT\": \" If the problem continues, contact <a href=\\\"mailto:{{email}}\\\"><strong> support</strong></a>.\",\r\n    \"E_FORMAT_TRACK_CHANGES_TITLE\": \"Translation failed, because ‘track changes’ is turned on\",\r\n    \"E_FORMAT_TRACK_CHANGES\": \"Changes must first be accepted or ‘track changes’ turned off before translating Office files.\",\r\n    \"E_UNKNOWN_ERROR_TITLE\": \"Unknown error\",\r\n    \"E_UNKNOWN_ERROR\": \"An unknown error occurred.\",\r\n    \"E_UNAUTHORIZED_TITLE\": \"Unauthorized\",\r\n    \"E_UNAUTHORIZED\": \"Document translation was denied.\",\r\n    \"COLLECTION_CREATE_TITLE\": \"Failed to create a glossary\",\r\n    \"COLLECTION_CREATE\": \"Failed to create a new glossary. Please try again.\",\r\n    \"COLLECTION_CREATE_SUPPORT\": \" If the problem continues, contact <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"COLLECTION_IMPORT_TITLE\": \"Failed to attach the glossary\",\r\n    \"COLLECTION_IMPORT\": \"Failed to attach the term collection with ID: {{termId}} to the machine translation engine. Please try again.\",\r\n    \"E_11\": \"Daily translation limit has been reached.\",\r\n    \"E_11_SUPPORT\": \" To increase the daily limit, please contact <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"E_12_TITLE\": \"Text size limit\",\r\n    \"E_12\": \"Text size limit reached. Send less text in the request.\",\r\n    \"E_12_SUPPORT\": \" To increase the text size limit, please contact <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"E_21\": \"The translation engine is starting up, this may take a moment!\",\r\n    \"E_22_TITLE\": \"Machine translation engine not found\",\r\n    \"E_22\": \"Machine translation engine not found.\",\r\n    \"E_22_SUPPORT\": \" Please contact <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"E_23\": \"Machine translation engine is not started.\",\r\n    \"E_23_SUPPORT\": \" Contact <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"E_41\": \"Unknown term corpus ID provided. Term corpus must be linked to the machine translation engine\",\r\n    \"E_504\": \"Translation has timed out. Try again later.\",\r\n    \"E_504_TITLE\": \"Translation timeout\",\r\n    \"E_404200\": \"Engine not found\",\r\n    \"E_404201\": \"Engine term collection not found\",\r\n    \"E_413102_TITLE\": \"Uploading file error\",\r\n    \"E_413102\": \"Uploaded file is too large\",\r\n    \"E_400103\": \"Translation filtered due to content\",\r\n    \"TRANSLATION_FAILED_TITLE\": \"Translation failed\",\r\n    \"TRANSLATION_FAILED\": \"An unexpected error occurred.\",\r\n    \"TRANSLATION_FAILED_SUPPORT\": \" If the problem continues, contact <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"FILE_TRANSLATION_LIMITS\": {\r\n      \"E_429001_TITLE\": \"File translation limit reached\",\r\n      \"E_429001\": \"You have reached your monthly limit of {{quotaFileLimit}} files translated. <a href='{{pricingUrl}}' target='_blank'>Upgrade plan</a> to continue translating files.\"\r\n    },\r\n    \"FILE_TRANSLATION_SUBSTATUS\": {\r\n      \"BAD_FILE_ERROR_TITLE\": \"Failed to translate the file\",\r\n      \"BAD_FILE_ERROR\": \"The file is corrupted and couldn't be translated. Check the file and try again.\",\r\n      \"NO_TEXT_EXTRACTED_ERROR_TITLE\": \"Failed to extract any text\",\r\n      \"NO_TEXT_EXTRACTED_ERROR\": \"The file may be empty. Check the file and try again.\",\r\n      \"TRACK_CHANGES_ENABLED_ERROR_TITLE\": \"Translation failed, because ‘track changes’ is turned on\",\r\n      \"TRACK_CHANGES_ENABLED_ERROR\": \"Changes must first be accepted or ‘track changes’ turned off before translating Office files.\",\r\n      \"UNKNOWN_FILE_TYPE_ERROR_TITLE\": \"Unknown file type\",\r\n      \"UNKNOWN_FILE_TYPE_ERROR\": \"File type not recognized. The file extension may be incorrect, or the file may be corrupted.\"\r\n    },\r\n    \"FILE_UPLOAD\": {\r\n      \"FILE_UPLOAD_EMPTY_TITLE\": \"The file is empty\",\r\n      \"FILE_UPLOAD_EMPTY\": \"The uploaded file \\\"{{fileName}}\\\" is empty. Select a file with content.\",\r\n      \"FILE_UPLOAD_MAX_SIZE_TITLE\": \"File size limit\",\r\n      \"FILE_UPLOAD_MAX_SIZE\": \"The uploaded file \\\"{{fileName}}\\\" is too big. Maximum size {{maxSizeMB}}MB\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE\": \"Unsupported file format\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"The uploaded file \\\"{{fileName}}\\\" format is not supported. Translation is supported for these document formats: {{formats}}.\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE\": \"Unsupported file format\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER\": \"You need Tilde MT subscription to translate \\\"{{fileName}}\\\" file. <a href=\\\"{{registerLink}}?{{queryString}}\\\">start with a free trial</a>\",\r\n      \"E_404_TITLE\": \"File not found\",\r\n      \"E_404\": \"The requested file doesn't exist\",\r\n      \"E_404_REMOVE_TITLE\": \"Failed to delete the file\",\r\n      \"E_404_REMOVE\": \"File has already been deleted\"\r\n    },\r\n    \"AUDIO\": {\r\n      \"NO_SPEECH_TITLE\": \"No speech\",\r\n      \"NO_SPEECH\": \"Your recording was stopped. We couldn't hear you.\",\r\n      \"MAX_TIME_EXCEEDED_TITLE\": \"Speech limit\",\r\n      \"MAX_TIME_EXCEEDED\": \"Your recording was stopped. Speech input is limited to {{timeString}}.\",\r\n      \"MIC_NOT_ALLOWED_TITLE\": \"Microphone access denied\",\r\n      \"MIC_NOT_ALLOWED\": \"You have denied access to the microphone. Change permissions in browser's settings.\",\r\n      \"MAX_SIZE_EXCEEDED_TITLE\": \"Speech limit\",\r\n      \"MAX_SIZE_EXCEEDED\": \"Your recording was stopped and sent to processing. Speech input is limited to ({{maxSizeMb}}MB) size.\",\r\n      \"CANT_START_RECORDING_TITLE\": \"Failed to start recording\",\r\n      \"CANT_START_RECORDING\": \"Unable to start recording. Please try again.\",\r\n      \"NO_TEXT_RECOGNIZED_Title\": \"No speech recognized\",\r\n      \"NO_TEXT_RECOGNIZED\": \"No speech could be recognized. Check your microphone and try again.\"\r\n    },\r\n    \"DETECTION\": {\r\n      \"UNAVAILABLE\": \"{{srcLang}}-{{trgLang}} translation not supported. Select languages manually, if detected incorrectly.\"\r\n    }\r\n  },\r\n  \"LANGUAGES\": {\r\n    \"AUTO\": \"Detect language\",\r\n    \"AR\": \"Arabic\",\r\n    \"LV\": \"Latvian\",\r\n    \"ET\": \"Estonian\",\r\n    \"DA\": \"Danish\",\r\n    \"FI\": \"Finnish\",\r\n    \"IS\": \"Icelandic\",\r\n    \"LT\": \"Lithuanian\",\r\n    \"SV\": \"Swedish\",\r\n    \"BE\": \"Belorussian\",\r\n    \"BG\": \"Bulgarian\",\r\n    \"CS\": \"Czech\",\r\n    \"CZ\": \"Czech\",\r\n    \"HU\": \"Hungarian\",\r\n    \"RU\": \"Russian\",\r\n    \"MO\": \"Moldavian\",\r\n    \"PL\": \"Polish\",\r\n    \"SK\": \"Slovak\",\r\n    \"UK\": \"Ukrainian\",\r\n    \"NL\": \"Dutch\",\r\n    \"EN\": \"English\",\r\n    \"FR\": \"French\",\r\n    \"DE\": \"German\",\r\n    \"GA\": \"Irish\",\r\n    \"EL\": \"Greek\",\r\n    \"IT\": \"Italian\",\r\n    \"MT\": \"Maltese\",\r\n    \"PT\": \"Portuguese\",\r\n    \"SR\": \"Serbian\",\r\n    \"SL\": \"Slovenian\",\r\n    \"ES\": \"Spanish\",\r\n    \"ZH\": \"Chinese\",\r\n    \"JA\": \"Japanese\",\r\n    \"KO\": \"Korean\",\r\n    \"TR\": \"Turkish\",\r\n    \"HR\": \"Croatian\",\r\n    \"RO\": \"Romanian\",\r\n    \"UZ\": \"Uzbek\",\r\n    \"ID\": \"Indonesian\",\r\n    \"BA\": \"Bashkir\",\r\n    \"BRX\": \"Bodo\",\r\n    \"FJ\": \"Fijian\",\r\n    \"DSB\": \"Lower Sorbian\",\r\n    \"GOM\": \"Konkani\",\r\n    \"HNE\": \"Chhattisgarhi\",\r\n    \"HSB\": \"Upper sorbian\",\r\n    \"IKT\": \"Inuinnaqtun\",\r\n    \"IU\": \"Inuktitut\",\r\n    \"IU_LATN\": \"Inuktitut (Latin)\",\r\n    \"KS\": \"Kashmiri\",\r\n    \"IZH\": \"Chinese (Literary)\",\r\n    \"MWW\": \"Hmong Daw (Latin)\",\r\n    \"RUN\": \"Rundi\",\r\n    \"TY\": \"Tahitian\",\r\n    \"YUA\": \"Yucatec Maya\",\r\n    \"KU\": \"Kurdish Central\",\r\n    \"KMR\": \"Kurdish Northern\",\r\n    \"ZH_HANS\": \"Chinese (Simplified)\",\r\n    \"ZH_HANT\": \"Chinese (Traditional)\",\r\n    \"LZH\": \"Chinese (Literary)\",\r\n    \"OTQ\": \"Queretaro Otomi\",\r\n    \"AB\": \"Abkhazian\",\r\n    \"ACE\": \"Achinese\",\r\n    \"ACH\": \"Acoli\",\r\n    \"KTU\": \"Kituba (Congo)\",\r\n    \"ALZ\": \"Alur\",\r\n    \"AWA\": \"Awadhi\",\r\n    \"LI\": \"Limburgish\",\r\n    \"LIJ\": \"Ligurian\",\r\n    \"LMO\": \"Lombard\",\r\n    \"LTG\": \"Latgalian\",\r\n    \"LUO\": \"Luo (Kenya and Tanzania)\",\r\n    \"BAN\": \"Balinese\",\r\n    \"BBC\": \"Batak Toba\",\r\n    \"MAK\": \"Makasar\",\r\n    \"BEM\": \"Bemba (Zambia)\",\r\n    \"BEW\": \"Betawi\",\r\n    \"BIK\": \"Bikol\",\r\n    \"BO\": \"Tibetan\",\r\n    \"BTS\": \"Batak Simalungun\",\r\n    \"BTX\": \"Batak Karo\",\r\n    \"BUA\": \"Buriat\",\r\n    \"MIN\": \"Minangkabau\",\r\n    \"NEW\": \"Newari (Nepal Bhasa)\",\r\n    \"CGG\": \"Chiga\",\r\n    \"NR\": \"South Ndebele\",\r\n    \"NUS\": \"Nuer\",\r\n    \"CHM\": \"Mari (Russia)\",\r\n    \"CNH\": \"Hakha Chin\",\r\n    \"PAG\": \"Pangasinan\",\r\n    \"PAM\": \"Pampanga (Kapampangan)\",\r\n    \"PAP\": \"Papiamento\",\r\n    \"CRH\": \"Crimean Tatar\",\r\n    \"CRS\": \"Seychellois Creole\",\r\n    \"CV\": \"Chuvash\",\r\n    \"DIN\": \"Dinka\",\r\n    \"DOV\": \"Domari\",\r\n    \"DZ\": \"Dzongkha\",\r\n    \"RN\": \"Rundi (Kirundi)\",\r\n    \"ROM\": \"Romani\",\r\n    \"EWE\": \"Ewe\",\r\n    \"FF\": \"Fula (Fulani)\",\r\n    \"SCN\": \"Sicilian\",\r\n    \"SG\": \"Sango\",\r\n    \"SHN\": \"Shan\",\r\n    \"SS\": \"Swati (Siswati)\",\r\n    \"HIL\": \"Hiligaynon\",\r\n    \"SZL\": \"Silesian\",\r\n    \"HRX\": \"Hunsrik\",\r\n    \"TET\": \"Tetum\",\r\n    \"ZT\": \"Zapotec\",\r\n    \"GAA\": \"Ga\"\r\n  },\r\n  \"ARIA_LABELS\": {\r\n    \"CLOSE_BUTTON\": \"Clear\",\r\n    \"CLEAR_NOTIFICATION\": \"Close alert\",\r\n    \"CLEAR_SOURCE\": \"Clear entered text\",\r\n    \"CLOSE_DIALOG\": \"Close dialog\",\r\n    \"CLEAR_FILES\": \"Clear uploaded files\",\r\n    \"SHOW_EXTENSIONS\": \"Show other download options\",\r\n    \"COPY\": \"Copy to clipboard\",\r\n    \"REFRESH\": \"Refresh translation\",\r\n    \"CREATE_SUMMARY\": \"Create summary\",\r\n    \"OPEN_IN_NEW\": \"Open in new tab\",\r\n    \"SWAP_LANGUAGES\": \"Swap languages\",\r\n    \"OTHER_LANGUAGES_TRIGGER\": \"Show other languages\"\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"COPY\": \"Copy to clipboard\",\r\n    \"REFRESH\": \"Refresh translation\",\r\n    \"SWAP_LANGUAGES\": \"Swap languages\",\r\n    \"DISLIKE\": \"Dislike\",\r\n    \"CREATE_SUMMARY\": \"Create summary\",\r\n    \"UPLOAD\": \"Upload file\"\r\n  },\r\n  \"PDF_CONVERSION\": {\r\n    \"TITLE_1\": \"PDF translation\",\r\n    \"PARAGRAPH_1_1\": \"When a .pdf file is uploaded for translation it is converted into a translatable format. Both scanned and native .pdfs are supported. Translations can be downloaded in .docx format and will retain the basic formatting. \",\r\n    \"PARAGRAPH_1_2\": \"As conversion takes time, to speed things up split your .pdfs and delete the pages with no translatable information. Factors like the number of pages, quality and text density affect the processing time.\",\r\n    \"PARAGRAPH_1_3\": \"To improve translation performance, we recommend to download the converted document in the original language and fix it manually before re-uploading for translation.\",\r\n    \"IMAGE_ALT_1\": \"Source PDF download example\",\r\n    \"TITLE_2\": \"PDF conversion\",\r\n    \"PARAGRAPH_2_1\": \"The document is analysed and its content is split in text, table and image/background image areas. They are analysed further to determine which content should be recognized as text.\",\r\n    \"PARAGRAPH_2_2\": \"Textual data are acquired by means of OCR or optical character recognition. Every character is recognized depending on its visual characteristics, then assembled into words and sentences.\",\r\n    \"PARAGRAPH_2_3\": \"Recognition is affected by many factors, including:\",\r\n    \"LI_1_1\": \"Quality of the scanned document (blurred or deformed text, image noise, image resolution, contrast etc.). For the best result, .pdfs should be at least 300 dpi, unskewed and noise free.\",\r\n    \"LI_1_2\": \"Font size. Sizes smaller than 9 points might be poorly recognized. \",\r\n    \"LI_1_3\": \"Rare and original fonts. Less common fonts may be unrecognizable or perform worse.\",\r\n    \"LI_1_4\": \"Complexity of the document structure and formatting.\",\r\n    \"TITLE_3\": \"Improving translation performance\",\r\n    \"PARAGRAPH_3_1\": \"The conversion process is very complex and may be affected by various errors resulting from the input document. \",\r\n    \"PARAGRAPH_3_2\": \"Issues to look for:\",\r\n    \"LI_2_1\": \"Incorrectly recognized words.\",\r\n    \"LI_2_2\": \"Incorrect word boundaries.\",\r\n    \"LI_2_3\": \"Sentences spanning multiple columns, lines or pages split into different textual objects.\",\r\n    \"LI_2_4\": \"Misplaced page footers and headers.\",\r\n    \"LI_2_5\": \"Incorrect numbering.\",\r\n    \"LI_2_6\": \"Tables recognized as background images with textual content placed into different textual objects.\",\r\n    \"LI_2_7\": \"Some diagrams recognized as images without any textual content.\",\r\n    \"LI_2_8\": \"Separators, borders or other horizontal lines recognized as strikethrough or underlined text.\",\r\n    \"LI_2_9\": \"Formatting of the table of contents or similar lists collapsed or recognized as strikethrough or underlined text.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Note that the resulting document will not retain all details of the original formatting.</b> Some images, tables or diagrams may become distorted or simplified. Fonts in the translated document will not be the same as in the original, but may be similar. Incorrect font size may be recognized. Specific Word formatting like headings, tables of content, headers and footers, labels, forms etc. will be styled to look like the original, but will not match the original completely (e.g. titles will be bold and in larger font, but will not be set to the heading style).\",\r\n    \"CLOSE\": \"Close dialog\"\r\n  },\r\n  \"IMAGE_CONVERSION\": {\r\n    \"TITLE_1\": \"Image translation\",\r\n    \"PARAGRAPH_1_1\": \"When an image file is uploaded for translation it is converted into a translatable format. Translations can be downloaded in .docx format and will retain the basic formatting.\",\r\n    \"PARAGRAPH_1_2\": \"<b>Supported image formats:</b> .jpg, .jpeg, .png and .bmp.\",\r\n    \"PARAGRAPH_1_3\": \"To improve translation performance, we recommend to download the converted document in the original language and fix it manually before re-uploading for translation.\",\r\n    \"IMAGE_ALT_1\": \"Source image download example\",\r\n    \"TITLE_2\": \"Image conversion\",\r\n    \"PARAGRAPH_2_1\": \"The image is analysed and its content is split in text, table and image/background image areas. They are analysed further to determine which content should be recognized as text.\",\r\n    \"PARAGRAPH_2_2\": \"Textual data are acquired by means of OCR or optical character recognition. Every character is recognized depending on its visual characteristics, then assembled into words and sentences.\",\r\n    \"PARAGRAPH_2_3\": \"Recognition is affected by many factors, including:\",\r\n    \"LI_1_1\": \"Quality of the scanned image (blurred or deformed text, image noise, image resolution, contrast etc.). For the best result, images should be at least 300 dpi, unskewed and noise free.\",\r\n    \"LI_1_2\": \"Font size. Sizes smaller than 9 points might be poorly recognized. \",\r\n    \"LI_1_3\": \"Rare and original fonts. Less common fonts may be unrecognizable or perform worse.\",\r\n    \"LI_1_4\": \"Complexity of the document structure and formatting.\",\r\n    \"TITLE_3\": \"Improving translation performance\",\r\n    \"PARAGRAPH_3_1\": \"The conversion process is very complex and may be affected by various errors resulting from the input document. \",\r\n    \"PARAGRAPH_3_2\": \"Issues to look for:\",\r\n    \"LI_2_1\": \"Incorrectly recognized words.\",\r\n    \"LI_2_2\": \"Incorrect word boundaries.\",\r\n    \"LI_2_3\": \"Sentences spanning multiple columns, lines or pages split into different textual objects.\",\r\n    \"LI_2_4\": \"Misplaced page footers and headers.\",\r\n    \"LI_2_5\": \"Incorrect numbering.\",\r\n    \"LI_2_6\": \"Tables recognized as background images with textual content placed into different textual objects.\",\r\n    \"LI_2_7\": \"Some diagrams recognized as images without any textual content.\",\r\n    \"LI_2_8\": \"Separators, borders or other horizontal lines recognized as strikethrough or underlined text.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Note that the resulting document will not retain all details of the original formatting.</b> Some images, tables or diagrams may become distorted or simplified. Fonts in the translated document will not be the same as in the original, but may be similar. Incorrect font size may be recognized.\",\r\n    \"CLOSE\": \"Close dialog\"\r\n  },\r\n  \"WEBTRANSLATE\": {\r\n    \"BACK\": \"Back to Translator\",\r\n    \"LOAD_PAGE\": \"Load page\",\r\n    \"RESTORE\": \"Restore\",\r\n    \"CANCEL\": \"Cancel\",\r\n    \"SEARCH\": \"Search website\",\r\n    \"NO_RECORDS\": {\r\n      \"TITLE\": \"Search for a website to translate\",\r\n      \"DESCRIPTION\": \"See <a href='{{helpUrl}}' target='_blank' class='underline'>how it works</a>\"\r\n    }\r\n  },\r\n  \"DATE_AGO\": {\r\n    \"YEAR\": \"{{value}} year ago\",\r\n    \"YEARS\": \"{{value}} years ago\",\r\n    \"MONTH\": \"{{value}} month ago\",\r\n    \"MONTHS\": \"{{value}} months ago\",\r\n    \"WEEK\": \"{{value}} week ago\",\r\n    \"WEEKS\": \"{{value}} weeks ago\",\r\n    \"DAY\": \"{{value}} day ago\",\r\n    \"DAYS\": \"{{value}} days ago\",\r\n    \"HOUR\": \"{{value}} hour ago\",\r\n    \"HOURS\": \"{{value}} hours ago\",\r\n    \"MINUTE\": \"{{value}} minute ago\",\r\n    \"MINUTES\": \"{{value}} minutes ago\",\r\n    \"SECOND\": \"{{value}} second ago\",\r\n    \"SECONDS\": \"{{value}} seconds ago\",\r\n    \"JUST_NOW\": \"Just now\"\r\n  },\r\n  \"TERM_COLLECTIONS\": {\r\n    \"TITLE\": \"Glossaries\",\r\n    \"DEFAULT\": \"Default\",\r\n    \"DESCRIPTION\": \"Achieve precise and reliable translations by choosing the most suitable glossary from the list.\",\r\n    \"GLOSSARY\": \"Glossary: \",\r\n    \"SELECTED_NONE\": \"None\",\r\n    \"EDIT\": \"Edit\",\r\n    \"CREATE\": \"New glossary\",\r\n    \"DESCRIPTION_EMPTY\": \"<span>Create new glossary</span> for {{srcLang}}-{{trgLang}} or open <span>Default glossaries management</span> and create glossary there to use it in translation across the platform.\",\r\n    \"UNAVAILABLE_GLOSSARIES\": \"No glossary available\",\r\n    \"LAST_UPDATED\": \"Last updated: {{date}}\",\r\n    \"DEFAULT_COLLECTION_NAME\": \"My term collection\",\r\n    \"SYNC\": \"Sync\",\r\n    \"SYNC_ERROR\": \"Retry\",\r\n    \"TERMS_IN_USE\": \"Terms in use: {{termCount}}\",\r\n    \"DEFAULT_GLOSSARY_MANAGEMENT\": \"Manage default glossaries\",\r\n    \"ARIA_LABELS\": {\r\n      \"RADIO_GROUP\": \"Select a term collection\",\r\n      \"OTHER_COLLECTIONS\": \"Open the collection menu\"\r\n    },\r\n    \"CREATE_DIALOG\": {\r\n      \"CANCEL\": \"Cancel\",\r\n      \"COLLECTION_NAME_LABEL\": \"Glossary name\",\r\n      \"CREATE\": \"Create\",\r\n      \"DESCRIPTION_1\": \"After clicking “Create” you will be redirected to Tilde Term to add your terms.\",\r\n      \"DESCRIPTION_2\": \"<i>*AI is not perfect and can make occasional mistakes. Your unique terms will be used correctly with 95% accuracy.</i>\",\r\n      \"TITLE\": \"Create new glossary\",\r\n      \"COLLECTION_NAME_ERROR\": \"Title should be at least {{minLength}} symbols long and not longer than {{maxLength}} symbols\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"EDIT\": \"Edit glossary in terminology portal\",\r\n      \"IMPORTING\": \"Importing glossary\",\r\n      \"NO_ENTRIES\": \"Term collection cannot be used: no terms in source language\",\r\n      \"DEFAULT_COLLECTION\": \"These terms are now in use. You can manage them through Default glossary management. \",\r\n      \"SYNC\": \"Update the term collection\",\r\n      \"SYNCING\": \"Term collection is synced, the latest version of the collection will be used\",\r\n      \"ATTACH_TO_SYSTEM_ERROR\": \"An error has occured while importing the term collection\"\r\n    },\r\n    \"READER\": {\r\n      \"TITLE\": \"Glossaries\",\r\n      \"UNAVAILABLE\": \"Glossaries not available\",\r\n      \"AUTH_UNAVAILABLE\": \"New glossaries can be created by Terminology Editors only.\",\r\n      \"TEXT\": \"Glossaries are only available for authorized users. </br> <a href='{{signInUrl}}'>Sign in</a> or <a href='{{startTrialUrl}}'>start your free trial</a> to unlock our glossary.\"\r\n    },\r\n    \"ERRORS\": {\r\n      \"ERRORIMPORTING\": \"Importing error\"\r\n    }\r\n  },\r\n  \"DOMAINS\": {\r\n    \"OPEN_LIST_ARIA_LABEL\": \"Open domain list\",\r\n    \"TITLE\": \"Domain:\",\r\n    \"LAW\": \"Law\",\r\n    \"DYNAMIC_LEARNING\": \"Dynamic learning\",\r\n    \"BUSINESS\": \"Business\",\r\n    \"GENERAL\": \"General\",\r\n    \"AUTO\": \"Autodetect\",\r\n    \"SPD\": \"EU Formal Language\",\r\n    \"GEN\": \"General Text\",\r\n    \"ECB\": \"Finance\",\r\n    \"ECJ\": \"European Court of Justice\",\r\n    \"PUBHEALTH\": \"Public Health\",\r\n    \"BUBA\": \"Deutsche Bundesbank\",\r\n    \"BERCY\": \"Ministère des Finances\",\r\n    \"EUROPEANA\": \"Europeana\",\r\n    \"IPO\": \"IP Case Law\",\r\n    \"TRIS\": \"Engines built using data from the technical regulation information system\",\r\n    \"VK\": \"Valtioneuvoston Kanslia\",\r\n    \"BUBA_NMTTEST\": \"Deutsche Bundesbank Test\",\r\n    \"GENERAL_AI\": \"General AI\",\r\n    \"ACADEMIC_AI\": \"Academic AI\",\r\n    \"PROFESSIONAL_AI\": \"Professional AI\"\r\n  },\r\n  \"AUDIO\": {\r\n    \"CANCEL\": \"Cancel\",\r\n    \"DESCRIBE_STATE_RECORDING\": \"Please speak to record...\",\r\n    \"DESCRIBE_STATE_PROCESSING\": \"Processing...\",\r\n    \"MIC_NOT_FOUND\": \"Microphone not found\",\r\n    \"STOP\": \"Stop recording\",\r\n    \"START\": \"Translate speech\",\r\n    \"PUNCTUATION_MESSAGE_TITLE\": \"Add punctuation\",\r\n    \"PUNCTUATION_MESSAGE\": \"Please add punctuation to the recognized text. Long text without punctuation may have lower translation quality or not be translated.\"\r\n  },\r\n  \"EXTENSION_POPUP\": {\r\n    \"OPEN\": \"see all supported formats\",\r\n    \"TITLE\": \"Supported file formats\",\r\n    \"DESCRIPTION\": \"UTF-8 or UTF-16 coding required to ensure correct file translation\",\r\n    \"OFFICE\": \"Office\",\r\n    \"SCANNED\": \"Image files\",\r\n    \"INTERCHANGE\": \"Interchange formats\",\r\n    \"WEB\": \"Web\",\r\n    \"OTHER\": \"Other\"\r\n  },\r\n  \"FILE_UPLOAD\": {\r\n    \"UPLOAD\": \"Upload\",\r\n    \"DRAG_AND_DROP\": \"or drag and drop \",\r\n    \"FILE\": \"a file\",\r\n    \"FILES\": \"files\",\r\n    \"LIMITS_MB\": \"Max {{maxSizeMB}}MB\",\r\n    \"CLEAR\": \"Clear file\",\r\n    \"SELECT_LANGUAGE_WARNING\": \"Please, select the source language of the file.\"\r\n  },\r\n  \"SYSTEM_PICKER\": {\r\n    \"SOURCE\": \"Translate from\",\r\n    \"TARGET\": \"Translate to\",\r\n    \"SEARCH_PLACEHOLDER\": \"Search languages\",\r\n    \"RECENT_SYSTEM_TITLE\": \"Recent\",\r\n    \"SELECT_DOMAIN\": \"Select domain\",\r\n    \"FILTER_NO_RESULTS\": \"No results\",\r\n    \"ALL_LANGUAGES\": \"All languages\",\r\n    \"CLEAR_SEARCH\": \"Clear search text\",\r\n    \"OPEN_SOURCE_ARIA_LABEL\": \"Select source language\",\r\n    \"OPEN_TARGET_ARIA_LABEL\": \"Select target language and domain\",\r\n    \"DETECTED\": \"Detected\",\r\n    \"LANGUAGE\": \"Language:\",\r\n    \"TRANSLATION_STYLE\": \"Domain:\"\r\n  },\r\n  \"TEXT_TRANSLATION_PROGRESS_INDICATOR\": {\r\n    \"TITLE\": \"Translation provided by {{provider}}\",\r\n    \"TRANSLATING\": \"Translating...\",\r\n    \"CLOSE_BUTTON_TOOLTIP\": \"Remove progress bar\",\r\n    \"CLOSE_BUTTON_ARIA_LABEL\": \"Remove progress bar\"\r\n  },\r\n  \"VENDOR_MESSAGE\": {\r\n    \"TEXT\": \"Translation provided by {{vendor}}\",\r\n    \"ICON_TOOLTIP\": \"Systems offered by {{vendor}} are used by a huge number of users. They may be slow at time due to the heavy work load.\"\r\n  },\r\n  \"VENDORS\": {\r\n    \"ETRANSLATION\": \"eTranslation\"\r\n  },\r\n  \"TEXT_TO_SPEECH\": {\r\n    \"PLAY\": \"Listen\",\r\n    \"PAUSE\": \"Pause\"\r\n  },\r\n  \"DICTIONARY\": {\r\n    \"SOURCE\": \"Results from {{src}}\"\r\n  }\r\n}\r\n","export const i18n_et = {\r\n  \"APP_NAME\": \"Tilde MT\",\r\n  \"TERM_PORTAL_NAME\": \"Tilde Term\",\r\n  \"TLD_TRANSLATE\": {\r\n    \"FILE_DOWNLOAD_SOURCE_HELP\": \"PDF-faili teisendamine võib põhjustada vormindusvigu või tekstimoonutusi. Enne kui laadite faili tõlkimiseks uuesti üles, kontrollige teisendatud faili ja parandage vead\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_TITLE\": \"Tõlkepiirang\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG\": \"Tõlgitakse ainult esimesed 1250 sõna.\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_SUBSCRIPTION\": \" Failide tervikuna tõlkimiseks on vaja Tilde MT tellimust. <a href=\\\"{{pricingUrl}}\\\" target='_blank'>Alustage tasuta prooviperioodi</a>\",\r\n    \"DOWNLOAD_TRANSLATED\": \"Laadi alla\",\r\n    \"FILE_DOWNLOAD_SOURCE_IMAGE\": \"Laadi alla teisendatud lähtepilt\",\r\n    \"FILE_DOWNLOAD_SOURCE_IMAGE_HELP\": \"Pildifaili teisendamine võib põhjustada vormindusvigu või tekstimoonutusi. Enne kui laadite faili tõlkimiseks uuesti üles, kontrollige teisendatud faili ja parandage vead\",\r\n    \"IMAGE_DISCLAIMER_LINK\": \"Lugege teavet pildifaili teisendamise kohta.\",\r\n    \"ERROR_NO_SYSTEMS_LOADED_TITLE\": \"Tõlkemootoreid ei laaditud\",\r\n    \"ERROR_NO_SYSTEMS_LOADED\": \"Masintõlkemootoreid ei saanud laadida.\",\r\n    \"ERROR_NO_SYSTEMS_LOADED_SUPPORT\": \" Laadige leht uuesti või võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"PDF_PAGE_LIMIT_MSG_TITLE\": \"Tõlkepiirang\",\r\n    \"PDF_PAGE_LIMIT_MSG\": \"Tõlgitakse ainult esimene lehekülg.\",\r\n    \"PDF_PAGE_LIMIT_MSG_SUBSCRIPTION\": \" PDF-failide tervikuna tõlkimiseks on vaja Tilde MT tellimust. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Alustage tasuta prooviperioodi</a>\",\r\n    \"CLEAR_SOURCE_TOOLTIP\": \"Eemalda tekst\",\r\n    \"CANCEL_TRANSLATION\": \"Loobu\",\r\n    \"FILE_TARGET_PREVIEW_MESSAGE\": \"See on tõlgitud dokumendi eelvaatenäidis. Täieliku tõlke saamiseks laadige see alla.\",\r\n    \"SOURCE_TOOLTIP\": \"Sisestage tekst või tõlgitav veebileht.\",\r\n    \"TARGET_DESCRIPTION\": \"Masintõlge aitab lähteteksti sisust aru saada, kuid ei asenda inimtõlget.\",\r\n    \"TEXT_COPIED\": \"Tõlge kopeeritud\",\r\n    \"TOOLTIP_ACTION\": \"Tõlgi\",\r\n    \"FILE_DOWNLOAD_SOURCE\": \"Laadige alla teisendatud lähte-PDF\",\r\n    \"FILE_TANSLATION_STATUSS_QUEUING\": \"Tõlkimine algab...\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Lugege teavet PDF-i teisendamise kohta.\",\r\n    \"VENDORS_ARIA_LABEL\": \"Teenusepakkujad\",\r\n    \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Sisestage tekst, mille soovite tõlkida.\",\r\n    \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Ärge tõlkige rakendusega {{appName}} salastatud teavet või tekste, mis sisaldavad spetsiaalseid isikuandmete kategooriaid (nt terviseandmeid).\",\r\n    \"REGISTERED_FORMATS_LOGGED_IN\": \"Registreeritud kasutajatel on juurdepääs järgmiste dokumendivormingutega tõlgetele: {{formats}}.\",\r\n    \"REGISTERED_FORMATS\": \"Registreeritud kasutajatel on juurdepääs järgmiste dokumendivormingutega tõlgetele: {{formats}}. Taotlege juurdepääsu <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\">siin</a>.\",\r\n    \"SOURCE_FORMATS\": \"Turvaline avalik tõlketeenus toetab järgmisi dokumendivorminguid: {{formats}}.\",\r\n    \"SUGGEST_TRANSLATION_LABEL\": \"Laadi tõlge alla\",\r\n    \"SUMMARY\": {\r\n\t\t\t\"TITLE\": \"Kokkuvõte\",\r\n\t\t\t\"CREATING\": \"Kokkuvõtte koostamine\",\r\n\t\t\t\"DISABLED\": \"Kokkuvõtte koostamise funktsiooni kasutamiseks sisestage vähemalt 300 kirjamärki\",\r\n      \"COPIED\": \"Kokkuvõte kopeeritud\",\r\n\t\t\t\"NEW_FEATURE\": {\r\n\t\t\t\t\"TITLE\": \"Koosta kokkuvõte\",\r\n\t\t\t\t\"DESCRIPTION\": \"Pikkadest tekstidest saab nüüd koostada kokkuvõtteid, mis annavad lühiülevaate põhipunktidest.\",\r\n\t\t\t\t\"CLOSE\": \"Sule\"\r\n\t\t\t}\r\n\t\t},\r\n    \"REPHRASE\": {\r\n      \"TITLE\": \"Ümber sõnasta\",\r\n      \"CHOOSE_LABEL\": \"Vali kirjutamisstiil\",\r\n      \"TOOLTIP\": \"Sõnasta tekst ümber kindlas kirjutamisstiilis, kohandades keelt ja tooni soovitud stiili või häälega.\",\r\n      \"LOADING\": \"Ümber sõnastamine\",\r\n      \"COPIED\": \"Ümber sõnastatud tekst kopeeritud\",\r\n      \"HINT\": \"Muuda sõnastust või tabavat tooni ümber sõnastades. Vali kolme stiili vahel: Üldine, Professionaalne, Akadeemiline.\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Ümber sõnasta\",\r\n        \"DESCRIPTION\": \"Sõnasta tekst ümber kindlas kirjutamisstiilis, kohandades keelt ja tooni soovitud stiilile või häälele.\",\r\n        \"CLOSE\": \"Sulge\"\r\n      },\r\n      \"STYLES\": {\r\n        \"GENERAL\": \"Üldine\",\r\n        \"PROFESSIONAL\": \"Professionaalne\",\r\n        \"ACADEMIC\": \"Akadeemiline\"\r\n      }\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"UPLOAD\": \"Laadi fail üles\"\r\n  }\r\n  },\r\n  \"LANGUAGES\": {\r\n    \"AUTO\": \"Tuvasta keel\",\r\n    \"AR\": \"Araabia\",\r\n    \"LV\": \"Läti\",\r\n    \"ET\": \"Eesti\",\r\n    \"DA\": \"Taani\",\r\n    \"FI\": \"Soome\",\r\n    \"IS\": \"Islandi\",\r\n    \"LT\": \"Leedu\",\r\n    \"SV\": \"Rootsi\",\r\n    \"BE\": \"Valgevene\",\r\n    \"BG\": \"Bulgaaria\",\r\n    \"CS\": \"Tšehhi\",\r\n    \"CZ\": \"Tšehhi\",\r\n    \"HU\": \"Ungari\",\r\n    \"RU\": \"Vene\",\r\n    \"MO\": \"Moldova\",\r\n    \"PL\": \"Poola\",\r\n    \"SK\": \"Slovaki\",\r\n    \"UK\": \"Ukraina\",\r\n    \"NL\": \"Hollandi\",\r\n    \"EN\": \"Inglise\",\r\n    \"FR\": \"Prantsuse\",\r\n    \"DE\": \"Saksa\",\r\n    \"GA\": \"Iiri\",\r\n    \"EL\": \"Kreeka\",\r\n    \"IT\": \"Itaalia\",\r\n    \"MT\": \"Malta\",\r\n    \"PT\": \"Portugali\",\r\n    \"SR\": \"Serbia\",\r\n    \"SL\": \"Sloveeni\",\r\n    \"ES\": \"Hispaania\",\r\n    \"ZH\": \"Hiina\",\r\n    \"JA\": \"Jaapani\",\r\n    \"KO\": \"Korea\",\r\n    \"TR\": \"Türgi\",\r\n    \"HR\": \"Horvaatia\",\r\n    \"RO\": \"Rumeenia\",\r\n    \"UZ\": \"Usbeki\",\r\n    \"ID\": \"Indoneesia\",\r\n    \"BA\": \"Baškiiri\",\r\n    \"BRX\": \"Bodo\",\r\n    \"FJ\": \"Fidži\",\r\n    \"DSB\": \"Alamsorbi\",\r\n    \"GOM\": \"Konkani\",\r\n    \"HNE\": \"Chhattisgarhi\",\r\n    \"HSB\": \"Ülemsorbi\",\r\n    \"IKT\": \"Inuinnaqtun\",\r\n    \"IU\": \"Inuktitut\",\r\n    \"IU_LATN\": \"Inuktitut (Ladina)\",\r\n    \"KS\": \"Kašmiiri\",\r\n    \"IZH\": \"Hiina (Kirjanduslik)\",\r\n    \"MWW\": \"Hmong Daw (Ladina)\",\r\n    \"RUN\": \"Rundi\",\r\n    \"TY\": \"Tahiti\",\r\n    \"YUA\": \"Jukateegi maiade\",\r\n    \"KU\": \"Kurdi Kesk\",\r\n    \"KMR\": \"Kurdi Põhja\",\r\n    \"ZH_HANS\": \"Hiina (lihtsustatud)\",\r\n    \"ZH_HANT\": \"Hiina (traditsiooniline)\",\r\n    \"LZH\": \"Hiina (kirjanduslik)\",\r\n    \"OTQ\": \"Querétaro Otomi\",\r\n    \"AB\": \"Abhaasi\",\r\n    \"ACE\": \"Atšehi\",\r\n    \"ACH\": \"Ašoli\",\r\n    \"KTU\": \"Kituba (Kongo)\",\r\n    \"ALZ\": \"Aluri\",\r\n    \"AWA\": \"Avadhi\",\r\n    \"LI\": \"Limburgi\",\r\n    \"LIJ\": \"Liguuri\",\r\n    \"LMO\": \"Lombardi\",\r\n    \"LTG\": \"Latgali\",\r\n    \"LUO\": \"Luo (Keenia ja Tansaania)\",\r\n    \"BAN\": \"Bali\",\r\n    \"BBC\": \"Batak Toba\",\r\n    \"MAK\": \"Makasari\",\r\n    \"BEM\": \"Bemba (Sambia)\",\r\n    \"BEW\": \"Betawi\",\r\n    \"BIK\": \"Bikoli\",\r\n    \"BO\": \"Tiibeti\",\r\n    \"BTS\": \"Batak Simalungun\",\r\n    \"BTX\": \"Batak Karo\",\r\n    \"BUA\": \"Burjaadi\",\r\n    \"MIN\": \"Minangkabau\",\r\n    \"NEW\": \"Newari (Nepal Bhasa)\",\r\n    \"CGG\": \"Chiga\",\r\n    \"NR\": \"Lõuna Ndebele\",\r\n    \"NUS\": \"Nueri\",\r\n    \"CHM\": \"Mari (Venemaa)\",\r\n    \"CNH\": \"Hakha Chin\",\r\n    \"PAG\": \"Pangasinani\",\r\n    \"PAM\": \"Pampanga (Kapampangan)\",\r\n    \"PAP\": \"Papiamento\",\r\n    \"CRH\": \"Krimmitatari\",\r\n    \"CRS\": \"Seišelli kreool\",\r\n    \"CV\": \"Tšuvaši\",\r\n    \"DIN\": \"Dinka\",\r\n    \"DOV\": \"Domari\",\r\n    \"DZ\": \"Dzongkha\",\r\n    \"RN\": \"Rundi (Kirundi)\",\r\n    \"ROM\": \"Romani\",\r\n    \"EWE\": \"Ewe\",\r\n    \"FF\": \"Fula (Fulani)\",\r\n    \"SCN\": \"Sitsiilia\",\r\n    \"SG\": \"Sango\",\r\n    \"SHN\": \"Shani\",\r\n    \"SS\": \"Suazi (Siswati)\",\r\n    \"HIL\": \"Hiligainoni\",\r\n    \"SZL\": \"Sileesia\",\r\n    \"HRX\": \"Hunsriki\",\r\n    \"TET\": \"Tetumi\",\r\n    \"ZT\": \"Zapoteegi\",\r\n    \"GAA\": \"Ga\"\r\n  },\r\n  \"MULTIPLE_FILES\": {\r\n    \"APPEND\": \"Lisa failid\",\r\n    \"STATUSS_UPLOADING\": \"Üleslaadimine ...\",\r\n    \"STATUSS_UPLOADED\": \"Üles laaditud\",\r\n    \"PDF_DISCLAIMER\": \"PDF-faili teisendamine võib põhjustada vormindusvigu või tekstimoonutusi. Pärast tõlkimist valige allalaadimisvalikute hulgast käsk „Laadige alla teisendatud lähte-PDF“, kontrollige allalaaditud faili ja parandage vead, enne kui laadite faili tõlkimiseks uuesti üles.\",\r\n    \"IMAGE_DISCLAIMER\": \"Pildifaili teisendamine võib põhjustada vormindusvigu või tekstimoonutusi.\",\r\n    \"IMAGE_DISCLAIMER_LINK\": \"Lugege teavet pildifaili teisendamise kohta.\",\r\n    \"SCREEN_READER_ANNOUNCEMENT\": \"{{total}} failist on tõlgitud {{translated}} faili.\",\r\n    \"CLEAR_ALL\": \"Loobu\",\r\n    \"DOWNLOAD\": \"Laadi alla\",\r\n    \"STATUSS_INITIALIZING\": \"Algatamine\",\r\n    \"STATUSS_EXTRACTING\": \"Väljavõtmine\",\r\n    \"STATUSS_WAITING\": \"Tõlketööriista käivitamine\",\r\n    \"STATUSS_TRANSLATING\": \"Tõlkimine {{percent}}%\",\r\n    \"STATUSS_SAVING\": \"Salvestamine\",\r\n    \"STATUSS_COMPLETED\": \"Lõpule viidud\",\r\n    \"STATUSS_ERROR\": \"Viga\",\r\n    \"STATUSS_QUEUING\": \"Järjekorras\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Lugege teavet PDF-i teisendamise kohta.\"\r\n  },\r\n  \"ERRORS\": {\r\n    \"INCREASE_MAX_NUMBER_OF_FILES_TITLE\": \"Üleslaadimise piirang\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES\": \"Korraga saab tõlkida ainult 1 faili. Limiidi suurendamiseks on vaja Tilde MT tellimust. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Alustage tasuta prooviperioodi</a>\",\r\n    \"E_504_TITLE\": \"Tõlke ajalõpp\",\r\n    \"E_404200\": \"Mootorit ei leitud\",\r\n    \"E_404201\": \"Mootori terminite kogumit ei leitud\",\r\n    \"E_413102_TITLE\": \"Faili üleslaadimine ebaõnnestus\",\r\n    \"E_413102\": \"Üles laaditud fail on liiga suur\",\r\n\t  \"E_400103\": \"Tõlge on sisu tõttu filtreeritud\",\r\n    \"TRANSLATION_FAILED_TITLE\": \"Tõlkimine nurjus\",\r\n    \"TRANSLATION_FAILED\": \"Ilmnes ootamatu tõrge.\",\r\n    \"TRANSLATION_FAILED_SUPPORT\": \" Kui probleem ei lahene, võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"FILE_TRANSLATION_LIMITS\": {\r\n      \"E_429001_TITLE\": \"Failide tõlkimise limiit on saavutatud\",\r\n      \"E_429001\": \"Olete saavutanud kuise failide tõlkimise limiidi {{quotaFileLimit}}. Failide edasi tõlkimiseks <a href='{{pricingUrl}}' target='_blank'>täiendage paketti</a>.\"\r\n    },\r\n    \"FILE_UPLOAD\": {\r\n      \"E_404_REMOVE_TITLE\": \"Faili kustutamine nurjus\",\r\n      \"E_404_REMOVE\": \"Fail on juba kustutatud\",\r\n      \"FILE_UPLOAD_EMPTY_TITLE\": \"Fail on tühi\",\r\n      \"FILE_UPLOAD_EMPTY\": \"Üleslaaditud fail „{{fileName}}“ on tühi. Valige sisuga fail.\",\r\n      \"FILE_UPLOAD_MAX_SIZE_TITLE\": \"Failimahupiirang\",\r\n      \"FILE_UPLOAD_MAX_SIZE\": \"Üleslaaditud fail „{{fileName}}“ on liiga mahukas. Maksimummaht on {{maxSizeMB}} MB\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE\": \"Toetuseta failivorming\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"Üleslaaditud faili „{{fileName}}“ vormingut ei toetata. Tõlkida saab sellistes vormingutes dokumente: {{formats}}.\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE\": \"Toetuseta failivorming\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER\": \"Faili „{{fileName}}“ tõlkimiseks on vaja Tilde MT tellimust. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Alustage tasuta prooviperioodi</a>\",\r\n      \"E_404_TITLE\": \"Faili ei leitud\",\r\n      \"E_404\": \"Taotletud faili pole olemas\"\r\n    },\r\n    \"ERROR_DEFAULT_TITLE\": \"Ootamatu tõrge\",\r\n    \"ERROR_DEFAULT\": \"Ilmnes ootamatu tõrge. Proovige uuesti.\",\r\n    \"ERROR_DEFAULT_SUPPORT\": \" Kui probleem ei lahene, võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"MAX_CHAR_LENGTH_TITLE\": \"Tõlkepiirang\",\r\n    \"MAX_CHAR_LENGTH\": \"{{totalSymbols}} märgist tõlgitakse ainult {{maxCharLength}} märki.\",\r\n    \"MAX_CHAR_LENGTH_SUBSCRIPTION\": \" Teksti piiranguta tõlkimiseks on vaja Tilde MT tellimust. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Alustage tasuta prooviperioodi</a>\",\r\n    \"MAX_NUMBER_OF_FILES_TITLE\": \"Üleslaadimispiirang\",\r\n    \"MAX_NUMBER_OF_FILES\": \"Korraga saab tõlkida ainult {{limit}} faili.\",\r\n    \"FILE_ALREADY_ADDED_TITLE\": \"Fail on juba lisatud\",\r\n    \"FILE_ALREADY_ADDED\": \"Fail „{{fileName}}“ on juba lisatud.\",\r\n    \"UANUTHORIZED_401_TITLE\": \"Luba puudub\",\r\n    \"E_CANNOT_READ_FILE_TITLE\": \"Faili ei saa lugeda\",\r\n    \"E_CANNOT_READ_FILE\": \"Fail „{{fileName}}“ on rikutud ja seda ei saanud tõlkida. Kontrollige faili ja proovige uuesti.\",\r\n    \"E_FAILED_IN_TRANSLATION_TITLE\": \"Tõlkimine nurjus\",\r\n    \"E_FAILED_IN_TRANSLATION\": \"Tõlkimisel ilmnes tõrge. Proovige uuesti.\",\r\n    \"E_FAILED_IN_TRANSLATION_SUPPORT\": \" Kui probleem ei lahene, võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"E_FORMAT_TRACK_CHANGES_TITLE\": \"Tõlkimine nurjus, kuna muutuste jälituse funktsioon on sisse lülitatud\",\r\n    \"E_FORMAT_TRACK_CHANGES\": \"Enne Office'i failide tõlkimist tuleb muudatused esmalt aktsepteerida või muutuste jälituse funktsioon välja lülitada.\",\r\n    \"E_UNKNOWN_ERROR_TITLE\": \"Tundmatu tõrge\",\r\n    \"E_UNAUTHORIZED_TITLE\": \"Luba puudub\",\r\n    \"COLLECTION_CREATE_TITLE\": \"Sõnastikku ei saanud luua\",\r\n    \"COLLECTION_CREATE\": \"Uut sõnastikku ei saanud luua. Proovige uuesti.\",\r\n    \"COLLECTION_CREATE_SUPPORT\": \" Kui probleem ei lahene, võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"COLLECTION_IMPORT_TITLE\": \"Sõnastikku ei saanud lisada\",\r\n    \"COLLECTION_IMPORT\": \"Terminikogu, mille ID on {{termId}}, ei saanud masintõlkemootorile lisada. Proovige uuesti.\",\r\n    \"E_12_TITLE\": \"Tekstimahupiirang\",\r\n    \"E_12\": \"Tekstimahulimiit on täis. Saatke taotluses vähem teksti.\",\r\n    \"E_12_SUPPORT\": \" Tekstimahulimiidi suurendamiseks võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"E_21\": \"Mõne hetke pärast saate tõlkima hakata.\",\r\n    \"E_22_TITLE\": \"Masintõlkemootorit ei leitud\",\r\n    \"E_22\": \"Masintõlkemootorit ei leitud.\",\r\n    \"E_22_SUPPORT\": \" Võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"E_23\": \"Masintõlkemootor ei käivitunud.\",\r\n    \"E_23_SUPPORT\": \" Võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"E_41\": \"Esitatud on tundmatu terminikorpuse ID. Terminikorpus peab olema seotud masintõlkemootoriga\",\r\n    \"E_504\": \"Toimingu ajalõpp.\",\r\n    \"UANUTHORIZED_401\": \"Teil pole masintõlke kasutamise luba.\",\r\n    \"UANUTHORIZED_401_SUPPORT\": \" Võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong> toega</strong></a>.\",\r\n    \"E_UNKNOWN_FILE_TYPE\": \"Tundmatu failitüüp.\",\r\n    \"E_UNKNOWN_ERROR\": \"Ilmnes tundmatu tõrge.\",\r\n    \"E_UNAUTHORIZED\": \"Dokumendi tõlkimine keelati.\",\r\n    \"E_11\": \"Päevane tõlkelimiit on täis.\",\r\n    \"E_11_SUPPORT\": \" Päevase limiidi tõstmiseks võtke ühendust <a href=\\\"mailto:{{email}}\\\"><strong>kasutajatoega</strong></a>.\",\r\n    \"AUDIO\": {\r\n      \"NO_SPEECH_TITLE\": \"Kõnet pole kuulda\",\r\n      \"NO_SPEECH\": \"Teie salvestus on peatatud. Me ei kuulnud teid.\",\r\n      \"MAX_TIME_EXCEEDED_TITLE\": \"Kõnesisestuspiirang\",\r\n      \"MAX_TIME_EXCEEDED\": \"Teie salvestus on peatatud. Kõnesisestuslimiit on {{timeString}}.\",\r\n      \"MIC_NOT_ALLOWED_TITLE\": \"Juurepääs mikrofonile on keelatud\",\r\n      \"MIC_NOT_ALLOWED\": \"Olete keelanud juurdepääsu mikrofonile. Õigusi saate muuta brauseri sätetes.\",\r\n      \"MAX_SIZE_EXCEEDED_TITLE\": \"Kõnesisestuspiirang\",\r\n      \"MAX_SIZE_EXCEEDED\": \"Salvestus on peatatud ja salvestis on saadetud töötlusse. Kõnesisestuslimiit on {{maxSizeMb}} MB.\",\r\n      \"CANT_START_RECORDING_TITLE\": \"Salvestust ei saanud käivitada\",\r\n      \"CANT_START_RECORDING\": \"Salvestust ei saa käivitada. Proovige uuesti.\",\r\n      \"NO_TEXT_RECOGNIZED_Title\": \"Kõnet ei tuvastatud\",\r\n      \"NO_TEXT_RECOGNIZED\": \"Kõnet ei saanud tuvastada. Kontrollige mikrofoni ja proovige uuesti.\"\r\n    },\r\n    \"FILE_TRANSLATION_SUBSTATUS\": {\r\n      \"BAD_FILE_ERROR_TITLE\": \"Faili ei saanud tõlkida\",\r\n      \"BAD_FILE_ERROR\": \"Fail on rikutud ja seda ei saanud tõlkida. Kontrollige faili ja proovige uuesti.\",\r\n      \"NO_TEXT_EXTRACTED_ERROR_TITLE\": \"Teksti ei saanud ekstraktida\",\r\n      \"NO_TEXT_EXTRACTED_ERROR\": \"Fail võib olla tühi. Kontrollige faili ja proovige uuesti.\",\r\n      \"TRACK_CHANGES_ENABLED_ERROR_TITLE\": \"Tõlkimine nurjus, kuna muutuste jälituse funktsioon on sisse lülitatud\",\r\n      \"TRACK_CHANGES_ENABLED_ERROR\": \"Enne Office'i failide tõlkimist tuleb muudatused esmalt aktsepteerida või muutuste jälituse funktsioon välja lülitada.\",\r\n      \"UNKNOWN_FILE_TYPE_ERROR_TITLE\": \"Tundmatu failitüüp\",\r\n      \"UNKNOWN_FILE_TYPE_ERROR\": \"Failitüüpi ei tuvastatud. Failinimelaiend võib olla vale või fail võib olla rikutud.\"\r\n    },\r\n    \"DETECTION\": {\r\n      \"UNAVAILABLE\": \"{{srcLang}}-{{trgLang}} tõlge ei ole toetatud. Valige keeled käsitsi, kui need on valesti tuvastatud.\"\r\n    }\r\n  },\r\n  \"ARIA_LABELS\": {\r\n    \"COPY\": \"Kopeeri lõikelauale\",\r\n    \"OPEN_IN_NEW\": \"Ava uuel vahekaardil\",\r\n    \"SWAP_LANGUAGES\": \"Vaheta keeli\",\r\n    \"OTHER_LANGUAGES_TRIGGER\": \"Kuva muud keeled\",\r\n    \"CLOSE_BUTTON\": \"Eemalda\",\r\n    \"CLEAR_NOTIFICATION\": \"Sulge hoiatus\",\r\n    \"CLEAR_SOURCE\": \"Eemalda sisestatud tekst\",\r\n    \"CLOSE_DIALOG\": \"Sulge dialoog\",\r\n    \"CLEAR_FILES\": \"Eemalda üleslaaditud failid\",\r\n    \"SHOW_EXTENSIONS\": \"Kuva muud allalaadimisvalikud\",\r\n    \"REFRESH\": \"Värskenda tõlget\",\r\n\t\t\"CREATE_SUMMARY\": \"Koosta kokkuvõte\"\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"COPY\": \"Kopeerige lõikelauale\",\r\n    \"SWAP_LANGUAGES\": \"Vaheta keeli\",\r\n    \"REFRESH\": \"Värskenda tõlget\",\r\n    \"DISLIKE\": \"Ei meeldi\",\r\n\t\t\"CREATE_SUMMARY\": \"Koosta kokkuvõte\"\r\n  },\r\n  \"PDF_CONVERSION\": {\r\n    \"TITLE_1\": \"PDF-i tõlkimine\",\r\n    \"PARAGRAPH_1_1\": \"Kui PDF-fail laaditakse tõlkimiseks üles, teisendatakse see tõlgitavasse vormingusse. Toetatud on nii skannitud kui ka kohe PDF-vormingus loodud PDF-failid. Tõlked saab alla laadida DOCX-vormingus ning nende põhivormindus säilib. \",\r\n    \"PARAGRAPH_1_2\": \"Kuna teisendamine võtab aega, jagage oma PDF-failid teisenduse kiirendamiseks osadeks ja kustutage lehed, kus pole tõlgitavat teavet. Töötlusaega mõjutavad sellised tegurid nagu lehtede arv, kvaliteet ja teksti tihedus.\",\r\n    \"PARAGRAPH_1_3\": \"Tõlkimisjõudluse suurendamiseks soovitame teisendatud lähtekeelse dokumendi alla laadida ja vead käsitsi parandada ning seejärel laadida selle uuesti tõlkimiseks üles.\",\r\n    \"IMAGE_ALT_1\": \"Lähtekeelse PDF-faili allalaadimise näide\",\r\n    \"TITLE_2\": \"PDF-i teisendamine\",\r\n    \"PARAGRAPH_2_1\": \"Dokumenti analüüsitakse ja selle sisu jagatakse teksti-, tabeli- ja pildi-/taustapildialadeks. Neid analüüsitakse edasi, et teha kindlaks, millist sisu tuleks tekstina ära tunda.\",\r\n    \"PARAGRAPH_2_2\": \"Tekstiandmed saadakse OCR-i ehk optilise märgituvastuse abil. Iga tähemärk tuvastatakse vastavalt selle visuaalsetele omadustele, seejärel ühendatakse see sõnadeks ja lauseteks.\",\r\n    \"PARAGRAPH_2_3\": \"Tuvastamist mõjutavad mitmed tegurid, sealhulgas:\",\r\n    \"LI_1_1\": \"Skannitud dokumendi kvaliteet (hägune või moondunud tekst, pildimüra, pildi eraldusvõime, kontrastsus jne). Parima tulemuse saavutamiseks peaksid PDF-failid olema vähemalt 300 dpi eraldusvõimega, mittevildakad ja müravabad.\",\r\n    \"LI_1_2\": \"Fondi suurus. Väiksemaid kui 9-punktilisi suurusi võidakse halvasti tuvastada. \",\r\n    \"LI_1_3\": \"Haruldased ja algupärased fondid. Vähem levinud fonte võidakse mitte tuvastada või tulemus võib olla kehvem.\",\r\n    \"LI_1_4\": \"Dokumendi struktuuri ja vorminduse keerukus.\",\r\n    \"TITLE_3\": \"Tõlkejõudluse suurendamine\",\r\n    \"PARAGRAPH_3_1\": \"Teisendusprotsess on väga keeruline ja seda võivad mõjutada erinevad sisenddokumendist tulenevad vead. \",\r\n    \"PARAGRAPH_3_2\": \"Järgida tasub järgmisi ilminguid:\",\r\n    \"LI_2_1\": \"Valesti tuvastatud sõnad.\",\r\n    \"LI_2_2\": \"Valed sõnapiirid.\",\r\n    \"LI_2_3\": \"Mitmesse veergu jagatud laused, erinevateks tekstobjektideks jagatud read või leheküljed.\",\r\n    \"LI_2_4\": \"Valesti paigutatud lehejalused ja- päised.\",\r\n    \"LI_2_5\": \"Vale nummerdus.\",\r\n    \"LI_2_6\": \"Taustpiltidena tuvastatud tabelid, mille tekstisisu on paigutatud erinevatesse tekstiobjektidesse.\",\r\n    \"LI_2_7\": \"Mõnede diagrammmide tuvastamine piltidena, millel puudub tekstisisu.\",\r\n    \"LI_2_8\": \"Eraldajate, ääriste või muude horisontaaljoonte tuvastamine läbikriipsutatud või allajoonitud tekstina.\",\r\n    \"LI_2_9\": \"Sisukorra või sarnaste loendite vormindamine ahendatuna või tuvastamine läbikriipsutatud või allajoonitud tekstina.\",\r\n\r\n    \"PARAGRAPH_4_1\": \"<b>Pange tähele, et saadavas dokumendis ei säili kõiki algse vorminduse üksikasjad.</b> Mõned pildid, tabelid või diagrammid võivad moonduda või lihtsustuda. Tõlgitud dokumendi fondid erinevad algsest, kuid võivad olla sarnased. Tuvastatud fondisuurus võib olla vale. Spetsiifilist Wordi vormindust (näiteks pealkirjad, sisukorrad, päised ja jalused, sildid, vormid jne) kujutatakse algse välimusega sarnaselt, kuid see ei ühti algsega täielikult (nt pealkirjad on paksus kirjas ja suurema fondiga, kuid ei ole vormindatud pealkirjalaadiga).\",\r\n\r\n    \"CLOSE\": \"Sulge dialoog\"\r\n  },\r\n  \"WEBTRANSLATE\": {\r\n    \"BACK\": \"Tagasi tõlketööriista\",\r\n    \"LOAD_PAGE\": \"Laadi leht\",\r\n    \"RESTORE\": \"Taasta\",\r\n    \"CANCEL\": \"Loobu\",\r\n    \"SEARCH\": \"Otsi veebisaiti\",\r\n    \"NO_RECORDS\": {\r\n      \"TITLE\": \"Otsi veebisaiti, mida tõlkida\",\r\n      \"DESCRIPTION\": \"Vaadake, <a href='{{helpUrl}}' target='_blank' class='underline'>kuidas see töötab</a>\"\r\n    }\r\n  },\r\n  \"DATE_AGO\": {\r\n    \"YEAR\": \"{{value}} aasta tagasi\",\r\n    \"YEARS\": \"{{value}} aastat tagasi\",\r\n    \"MONTH\": \"{{value}} kuu tagasi\",\r\n    \"MONTHS\": \"{{value}} kuud tagasi\",\r\n    \"WEEK\": \"{{value}} nädal tagasi\",\r\n    \"WEEKS\": \"{{value}} nädalat tagasi\",\r\n    \"DAY\": \"{{value}} päev tagasi\",\r\n    \"DAYS\": \"{{value}} päeva tagasi\",\r\n    \"HOUR\": \"{{value}} tund tagasi\",\r\n    \"HOURS\": \"{{value}} tundi tagasi\",\r\n    \"MINUTE\": \"{{value}} minut tagasi\",\r\n    \"MINUTES\": \"{{value}} minutit tagasi\",\r\n    \"SECOND\": \"{{value}} sekund tagasi\",\r\n    \"SECONDS\": \"{{value}} sekundit tagasi\",\r\n    \"JUST_NOW\": \"Praegu\"\r\n  },\r\n  \"TERM_COLLECTIONS\": {\r\n    \"TITLE\": \"Sõnastikud\",\r\n    \"DEFAULT\": \"Vaikimisi\",\r\n    \"DESCRIPTION\": \"Saavutage täpsed ja usaldusväärsed tõlked, valides loendist kõige sobivama sõnastiku.\",\r\n    \"DESCRIPTION_EMPTY\": \"<span>Looge uus sõnastik</span> keelepaari {{srcLang}}-{{trgLang}} jaoks või avage <span>vaikesõnastike haldamine</span> ja looge seal sõnastik, mida kogu platvormi tõlgetes kasutada.\",\r\n    \"UNAVAILABLE_GLOSSARIES\": \"Sõnastik pole kättesaadav\",\r\n    \"LAST_UPDATED\": \"Viimati värskendatud: {{date}}\",\r\n    \"TERMS_IN_USE\": \"Kasutusel terminid: {{termCount}}\",\r\n    \"DEFAULT_GLOSSARY_MANAGEMENT\": \"Halda vaikesõnastikke\",\r\n    \"GLOSSARY\": \"Sõnastik: \",\r\n    \"SELECTED_NONE\": \"Puudub\",\r\n    \"EDIT\": \"Redigeeri\",\r\n    \"CREATE\": \"Uus sõnastik\",\r\n    \"DEFAULT_COLLECTION_NAME\": \"Minu terminikogu\",\r\n    \"SYNC\": \"Sünkrooni\",\r\n    \"SYNC_ERROR\": \"Proovi uuesti\",\r\n    \"ARIA_LABELS\": {\r\n      \"RADIO_GROUP\": \"Valige terminikogu\",\r\n      \"OTHER_COLLECTIONS\": \"Ava kogumenüü\"\r\n    },\r\n    \"CREATE_DIALOG\": {\r\n      \"COLLECTION_NAME_LABEL\": \"Sõnastiku nimi\",\r\n      \"DESCRIPTION_1\": \"Nupu „Loo“ klõpsamise järel suunatakse teid terminite lisamiseks keskkonda Tilde Term.\",\r\n      \"CANCEL\": \"Loobu\",\r\n      \"CREATE\": \"Loo\",\r\n      \"DESCRIPTION_2\": \"<i>* AI ei ole täiuslik ja võib vahel vigu teha. Teie kordumatuid termineid kasutatakse õigesti 95% täpsusega.</i>\",\r\n      \"TITLE\": \"Loo uus sõnastik\",\r\n      \"COLLECTION_NAME_ERROR\": \"Pealkiri peaks olema vähemalt {{minLength}} sümbolit pikk ja mitte pikem kui {{maxLength}} sümbolit\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"EDIT\": \"Teid suunatakse ümber terminoloogiaportaali, mis avatakse uuel vahekaardil\",\r\n      \"NO_ENTRIES\": \"Terminikogu ei saa kasutada. Lähtekeeles pole termineid.\",\r\n      \"SYNC\": \"Värskenda terminikogu\",\r\n      \"SYNCING\": \"Terminikogu sünkroonitakse ja kasutatakse kogu viimast sünkroonitud versiooni\",\r\n      \"ATTACH_TO_SYSTEM_ERROR\": \"Terminikogu importimisel ilmnes tõrge\",\r\n      \"IMPORTING\": \"Sõnastiku importimine\",\r\n      \"DEFAULT_COLLECTION\": \"Need terminid on nüüd kasutusel. Saate neid hallata vaikesõnastiku haldamise teel. \"\r\n    },\r\n    \"READER\": {\r\n      \"TITLE\": \"Sõnastikud\",\r\n      \"UNAVAILABLE\": \"Sõnastikud pole kättesaadavad\",\r\n      \"AUTH_UNAVAILABLE\": \"Uusi sõnastikke saavad luua ainult terminoloogiatoimetajad.\",\r\n      \"TEXT\": \"Sõnastikud on kättesaadavad ainult volitatud kasutajate jaoks. </br> Sõnastiku avamiseks <a href='{{signInUrl}}'>logige sisse</a> või <a href='{{startTrialUrl}}'>alustage prooviperioodi</a>.\"\r\n    },\r\n    \"ERRORS\": {\r\n      \"ERRORIMPORTING\": \"Importimistõrge\"\r\n    }\r\n  },\r\n  \"DOMAINS\": {\r\n    \"OPEN_LIST_ARIA_LABEL\": \"Ava domeeniloend\",\r\n    \"TITLE\": \"Domeen:\",\r\n    \"GENERAL\": \"Üldine\",\r\n    \"AUTO\": \"Automaattuvastus\",\r\n    \"LAW\": \"Juura\",\r\n    \"DYNAMIC_LEARNING\": \"Dünaamiline õpe\",\r\n    \"BUSINESS\": \"Äri\",\r\n    \"SPD\": \"EL-i ametlik keel\",\r\n    \"GEN\": \"Üldine tekst\",\r\n    \"ECB\": \"Rahandus\",\r\n    \"ECJ\": \"Euroopa Kohus\",\r\n    \"PUBHEALTH\": \"Rahvatervis\",\r\n    \"BUBA\": \"Deutsche Bundesbank\",\r\n    \"BERCY\": \"Ministère des Finances\",\r\n    \"EUROPEANA\": \"Europeana\",\r\n    \"IPO\": \"Intellektuaalomandiõiguse kohtupraktika\",\r\n    \"TRIS\": \"Mootorite loomiseks kasutati tehniliste eeskirjade infosüsteemi andmeid\",\r\n    \"VK\": \"Valtioneuvoston Kanslia\",\r\n    \"BUBA_NMTTEST\": \"Deutsche Bundesbank Test\",\r\n    \"GENERAL_AI\": \"Üldvaldkonna tehisintellekt\",\r\n\t\t\"ACADEMIC_AI\": \"Akadeemiline tehisintellekt\",\r\n\t\t\"PROFESSIONAL_AI\": \"Erialane tehisintellekt\"\r\n  },\r\n  \"IMAGE_CONVERSION\": {\r\n    \"TITLE_1\": \"Pildifaili tõlge\",\r\n    \"PARAGRAPH_1_1\": \"Kui pildifail laaditakse tõlkimiseks üles, teisendatakse see tõlgitavasse vormingusse. Tõlked saab alla laadida DOCX- või TMX-vormingus ning nende põhivormindus säilib.\",\r\n    \"PARAGRAPH_1_2\": \"<b>Toetatud pildivormingud:</b> .jpg,.jpeg, .png ja .bmp.\",\r\n    \"PARAGRAPH_1_3\": \"Tõlkimisjõudluse suurendamiseks soovitame teisendatud lähtekeelse dokumendi alla laadida ja vead käsitsi parandada ning seejärel laadida selle tõlkimiseks uuesti üles.\",\r\n    \"IMAGE_ALT_1\": \"Lähtepildi allalaadimise näide\",\r\n    \"TITLE_2\": \"Pildifaili teisendamine\",\r\n    \"PARAGRAPH_2_1\": \"Pildifaili analüüsitakse ning selle sisu jagatakse teksti-, tabeli- ja pildi-/taustapildialadeks. Neid analüüsitakse edasi, et teha kindlaks, millist sisu tuleks pidada tekstiks.\",\r\n    \"PARAGRAPH_2_2\": \"Tekstandmed saadakse OCR-i ehk optilise märgituvastuse abil. Iga tähemärk tuvastatakse selle visuaalsete omaduste järgi, seejärel ühendatakse märgid sõnadeks ja lauseteks.\",\r\n    \"PARAGRAPH_2_3\": \"Tuvastamist mõjutavad mitu tegurit, sealhulgas järgmised.\",\r\n    \"LI_1_1\": \"Skannitud pildi kvaliteet (hägune või moondunud tekst, pildimüra, pildi eraldusvõime, kontrastsus jne). Parima tulemuse saavutamiseks peaks piltide eraldusvõime olema vähemalt 300 dpi, pildid ei tohiks olla vildakad ega sisaldada pildimüra.\",\r\n    \"LI_1_2\": \"Fondi suurus. Väiksemaid kui 9-punktilisi suurusi võidakse halvasti tuvastada. \",\r\n    \"LI_1_3\": \"Haruldased ja algupärased fondid. Vähem levinud fonte võidakse mitte tuvastada või tulemus võib olla kehvem.\",\r\n    \"LI_1_4\": \"Dokumendi struktuuri ja vorminduse keerukus.\",\r\n    \"TITLE_3\": \"Tõlkejõudluse suurendamine\",\r\n    \"PARAGRAPH_3_1\": \"Teisendusprotsess on väga keeruline ja seda võivad mõjutada mitmesugused sisenddokumendist tulenevad vead. \",\r\n    \"PARAGRAPH_3_2\": \"Tähelepanu tuleks pöörata järgmistele probleemidele.\",\r\n    \"LI_2_1\": \"Valesti tuvastatud sõnad.\",\r\n    \"LI_2_2\": \"Valed sõnapiirid.\",\r\n    \"LI_2_3\": \"Mitmesse veergu ja mitmele reale või leheküljele ulatuvad ning eri tekstobjektideks jagatud laused.\",\r\n    \"LI_2_4\": \"Valesti paigutatud leheküljejalused ja -päised.\",\r\n    \"LI_2_5\": \"Vale nummerdus.\",\r\n    \"LI_2_6\": \"Taustpiltidena tuvastatud tabelid, mille tekstsisu on paigutatud eri tekstobjektidesse.\",\r\n    \"LI_2_7\": \"Mõned tekstsisuta piltidena tuvastatud diagrammid.\",\r\n    \"LI_2_8\": \"Läbikriipsutatud või allajoonitud tekstina tuvastatud eraldajad, äärised või muud horisontaaljooned.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Pange tähele, et tulemdokumendis ei säili kõik algse vorminduse üksikasjad.</b> Mõni pilt, tabel või diagramm võib olla moonutatud või lihtsustatud. Tõlgitud dokumendi fondid on teistsugused kui algdokumendis, kuid need võivad olla sarnased. Tuvastatud fondisuurus võib olla vale.\",\r\n    \"CLOSE\": \"Sule dialoog\"\r\n  },\r\n  \"AUDIO\": {\r\n    \"CANCEL\": \"Loobu\",\r\n    \"DESCRIBE_STATE_RECORDING\": \"Rääkige salvestamiseks...\",\r\n    \"DESCRIBE_STATE_PROCESSING\": \"Töötlemine...\",\r\n    \"MIC_NOT_FOUND\": \"Mikrofoni ei leitud\",\r\n    \"STOP\": \"Lõpeta salvestus\",\r\n    \"START\": \"Tõlgi kõne\",\r\n    \"PUNCTUATION_MESSAGE_TITLE\": \"Lisage kirjavahemärgid\",\r\n    \"PUNCTUATION_MESSAGE\": \"Lisage tuvastatud tekstile kirjavahemärgid. Kirjavahemärkideta pikal tekstil võib olla kehvem tõlkekvaliteet või seda ei pruugita tõlkida\"\r\n  },\r\n  \"EXTENSION_POPUP\": {\r\n    \"OPEN\": \"kuva kõik toetatud vormingud\",\r\n    \"TITLE\": \"Toetatud failivormingud\",\r\n    \"DESCRIPTION\": \"Faili õige tõlke tagamiseks on vaja kodeeringut UTF-8 või UTF-16\",\r\n    \"OFFICE\": \"Office\",\r\n    \"SCANNED\": \"Skannitud failid\",\r\n    \"INTERCHANGE\": \"Vahetusvormingud\",\r\n    \"WEB\": \"Veeb\",\r\n    \"OTHER\": \"Muu\"\r\n  },\r\n  \"FILE_UPLOAD\": {\r\n    \"UPLOAD\": \"Valige\",\r\n    \"DRAG_AND_DROP\": \"või pukseerige \",\r\n    \"FILE\": \"fail\",\r\n    \"FILES\": \"failid\",\r\n    \"LIMITS_MB\": \"Max {{maxSizeMB}}MB\",\r\n    \"CLEAR\": \"Eemalda fail\",\r\n    \"SELECT_LANGUAGE_WARNING\": \"Valige faili lähtekeel.\"\r\n  },\r\n  \"SYSTEM_PICKER\": {\r\n    \"SOURCE\": \"Lähtekeel\",\r\n    \"TARGET\": \"Sihtkeel\",\r\n    \"SEARCH_PLACEHOLDER\": \"Otsi keeli\",\r\n    \"RECENT_SYSTEM_TITLE\": \"Viimatine\",\r\n    \"SELECT_DOMAIN\": \"Vali domeen\",\r\n    \"FILTER_NO_RESULTS\": \"Tulemeid pole\",\r\n    \"ALL_LANGUAGES\": \"Kõik keeled\",\r\n    \"CLEAR_SEARCH\": \"Kustuta otsingutekst\",\r\n    \"OPEN_SOURCE_ARIA_LABEL\": \"Valige lähtekeel\",\r\n    \"OPEN_TARGET_ARIA_LABEL\": \"Valige sihtkeel ja domeen\",\r\n    \"DETECTED\": \"Leitud\",\r\n    \"LANGUAGE\": \"Język:\",\r\n    \"TRANSLATION_STYLE\": \"Dziedzina:\"\r\n  },\r\n  \"TEXT_TRANSLATION_PROGRESS_INDICATOR\": {\r\n    \"TITLE\": \"Tõlke pakkuja on {{provider}}\",\r\n    \"TRANSLATING\": \"Tõlkimine...\",\r\n    \"CLOSE_BUTTON_TOOLTIP\": \"Eemalda edenemisriba\",\r\n    \"CLOSE_BUTTON_ARIA_LABEL\": \"Eemalda edenemisriba\"\r\n  },\r\n  \"VENDOR_MESSAGE\": {\r\n    \"TEXT\": \"Tõlke pakkuja on {{vendor}}\",\r\n    \"ICON_TOOLTIP\": \"Pakkuja {{vendor}} süsteemil on väga palju kasutajaid. Suure töökoormuse tõttu võib see mõnikord veidi aeglane olla.\"\r\n  },\r\n  \"VENDORS\": {\r\n    \"ETRANSLATION\": \"eTranslation\"\r\n  },\r\n  \"TEXT_TO_SPEECH\": {\r\n    \"PLAY\": \"Kuulake\",\r\n    \"PAUSE\": \"Peata\"\r\n  },\r\n  \"DICTIONARY\": {\r\n    \"SOURCE\": \"Tulemused {{src}}-st\"\r\n  }\r\n}\r\n","\r\nexport const i18n_fi = {\r\n  \"APP_NAME\": \"Tilde MT\",\r\n  \"TERM_PORTAL_NAME\": \"Tilde term\",\r\n  \"TLD_TRANSLATE\": {\r\n    \"FILE_DOWNLOAD_SOURCE_HELP\": \"PDF-tiedoston muuntaminen voi aiheuttaa muotoiluvirheitä tai tekstin vääristymistä. Tarkista muunnettu tiedosto ja korjaa virheet, ennen kuin lataat tiedoston uudelleen kääntämistä varten.\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_TITLE\": \"Käännösrajoitus\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG\": \"Vain ensimmäiset 1 250 sanaa käännetään.\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_SUBSCRIPTION\": \" Tarvitset Tilde MT -tilauksen, jos haluat kääntää kokonaisia tiedostoja.<a href=\\\"{{pricingUrl}}\\\" target='_blank'>aloita ilmainen kokeilu</a>\",\r\n    \"DOWNLOAD_TRANSLATED\": \"Lataa\",\r\n\t\t\"FILE_DOWNLOAD_SOURCE_IMAGE\": \"Lataa muunnettu lähdekuva\",\r\n\t\t\"FILE_DOWNLOAD_SOURCE_IMAGE_HELP\": \"Kuvan muuntaminen voi aiheuttaa muotoiluvirheitä tai tekstin vääristymistä. Tarkista muunnettu tiedosto ja korjaa virheet, ennen kuin lataat tiedoston uudelleen kääntämistä varten.\",\r\n\t\t\"IMAGE_DISCLAIMER_LINK\": \"Lisätietoja kuvan muuntamisesta.\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED_TITLE\": \"Yhtään käännösohjelmaa ei ladattu\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED\": \"Konekäännösohjelmien lataaminen epäonnistui.\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED_SUPPORT\": \" Lataa sivu uudelleen tai ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukipalveluun</strong></a>.\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG_TITLE\": \"Käännösrajoitus\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG\": \"Vain ensimmäinen sivu käännetään.\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG_SUBSCRIPTION\": \" Tarvitset Tilde MT -tilauksen, jos haluat kääntää kokonaisia PDF-tiedostoja. <a href=\\\"{{registerLink}}?{{queryString}}\\\">aloita ilmainen kokeilu</a>\",\r\n\t\t\"CLEAR_SOURCE_TOOLTIP\": \"Poista teksti\",\r\n    \"CANCEL_TRANSLATION\": \"Peruuta\",\r\n    \"FILE_DOWNLOAD_SOURCE\": \"Lataa muunnettu lähde-PDF\",\r\n    \"FILE_TANSLATION_STATUSS_QUEUING\": \"Kääntäminen alkaa...\",\r\n    \"FILE_TARGET_PREVIEW_MESSAGE\": \"Tämä on käännetyn asiakirjan esikatselunäyte. Lataa, jotta saat kokonaisen käännöksen.\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Lue pdf-tiedostojen muuntamisesta.\",\r\n    \"SOURCE_TOOLTIP\": \"Lisää tähän käännettävä teksti tai verkkosivun osoite.\",\r\n    \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Älä käännä {{appName}}-konekäännöspalvelussa salassa pidettävää tai turvallisuusluokiteltua tietoa tai erityisiä henkilötietoja (esim. terveystietoja) sisältäviä tekstejä.\",\r\n    \"TARGET_DESCRIPTION\": \"Konekäännös auttaa ymmärtämään tekstin merkityksen, mutta se ei vastaa ammattikääntäjän tekemää käännöstä.\",\r\n    \"TEXT_COPIED\": \"Käännös kopioitu\",\r\n    \"TOOLTIP_ACTION\": \"Käännä\",\r\n    \"VENDORS_ARIA_LABEL\": \"Palveluntarjoajat\",\r\n    \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Kirjoita käännettävä teksti.\",\r\n    \"REGISTERED_FORMATS_LOGGED_IN\": \"Rekisteröidyillä käyttäjillä on oikeus kääntää seuraavia tiedostomuotoja: {{formats}}.\",\r\n    \"REGISTERED_FORMATS\": \"Rekisteröidyillä käyttäjillä on oikeus kääntää seuraavia tiedostomuotoja: {{formats}}. Pyydä käyttöoikeutta <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\">täältä</a>.\",\r\n    \"SOURCE_FORMATS\": \"Suojattu julkinen käännöspalvelu tukee seuraavia tiedostomuotoja: {{formats}};\",\r\n    \"SUGGEST_TRANSLATION_LABEL\": \"Lataa käännös\",\r\n    \"SUMMARY\": {\r\n\t\t\t\"TITLE\": \"Tiivistelmä\",\r\n\t\t\t\"CREATING\": \"Luodaan tiivistelmä\",\r\n\t\t\t\"DISABLED\": \"Syötä vähintään 300 merkkiä käyttääksesi tiivistelmäominaisuutta\",\r\n      \"COPIED\": \"Tiivistelmä kopioitu\",\r\n\t\t\t\"NEW_FEATURE\": {\r\n\t\t\t\t\"TITLE\": \"Luo yhteenveto\",\r\n\t\t\t\t\"DESCRIPTION\": \"Tiivistä pitkiä tekstejä keskeiset asiat sisältäväksi lyhyeksi tiivistelmäksi.\",\r\n\t\t\t\t\"CLOSE\": \"Sulje\"\r\n\t\t\t}\r\n\t\t},\r\n    \"REPHRASE\": {\r\n      \"TITLE\": \"Muotoile uudelleen\",\r\n      \"CHOOSE_LABEL\": \"Valitse kirjoitustyyli\",\r\n      \"TOOLTIP\": \"Muotoile teksti uudelleen valitussa kirjoitustyylissä, mukauttaen kielen ja sävyn kohdeäänelle sopivaksi.\",\r\n      \"LOADING\": \"Muotoillaan uudelleen\",\r\n      \"COPIED\": \"Muotoiltu teksti kopioitu\",\r\n      \"HINT\": \"Muotoile teksti uudelleen sanamuotojen tai sävyn tarkentamiseksi. Valitse kolmesta tyylistä: Yleinen, Ammattimainen, Akateeminen.\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Muotoile uudelleen\",\r\n        \"DESCRIPTION\": \"Muotoile teksti uudelleen valitussa kirjoitustyylissä, mukauttaen kielen ja sävyn kohdeäänelle sopivaksi.\",\r\n        \"CLOSE\": \"Sulje\"\r\n      },\r\n      \"STYLES\": {\r\n        \"GENERAL\": \"Yleinen\",\r\n        \"PROFESSIONAL\": \"Ammattimainen\",\r\n        \"ACADEMIC\": \"Akateeminen\"\r\n      }\r\n    }\r\n  },\r\n  \"MULTIPLE_FILES\": {\r\n    \"APPEND\": \"Lisää tiedostoja\",\r\n\t\t\"STATUSS_UPLOADING\": \"Ladataan...\",\r\n\t\t\"STATUSS_UPLOADED\": \"Ladattu\",\r\n\t\t\"PDF_DISCLAIMER\": \"PDF-tiedoston muuntaminen voi aiheuttaa muotoiluvirheitä tai tekstin vääristymistä. Kun käännös on valmis, valitse latausvaihtoehdoista \\\"Lataa muunnettu lähde-PDF”, tarkista ladattu tiedosto ja korjaa virheet ennen tiedoston lataamista uudelleen käännettäväksi.\",\r\n\t\t\"IMAGE_DISCLAIMER\": \"Kuvan muuntaminen voi aiheuttaa muotoiluvirheitä tai tekstin vääristymistä.\",\r\n\t\t\"IMAGE_DISCLAIMER_LINK\": \"Lisätietoja kuvan muuntamisesta.\",\r\n\t\t\"SCREEN_READER_ANNOUNCEMENT\": \"{{translated}}/{{total}} tiedostosta on käännetty.\",\r\n    \"CLEAR_ALL\": \"Peruuta\",\r\n    \"DOWNLOAD\": \"Lataa\",\r\n    \"STATUSS_INITIALIZING\": \"Aloitetaan\",\r\n    \"STATUSS_EXTRACTING\": \"Puretaan\",\r\n    \"STATUSS_WAITING\": \"Käynnistetään käännin\",\r\n    \"STATUSS_TRANSLATING\": \"Käännetään {{percent}}%\",\r\n    \"STATUSS_SAVING\": \"Tallennetaan\",\r\n    \"STATUSS_COMPLETED\": \"Valmis\",\r\n    \"STATUSS_ERROR\": \"Virhe\",\r\n    \"STATUSS_QUEUING\": \"Jonossa\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Lue pdf-tiedostojen muuntamisesta.\"\r\n  },\r\n  \"ERRORS\": {\r\n    \"INCREASE_MAX_NUMBER_OF_FILES_TITLE\": \"Latausraja\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES\": \"Vain 1 tiedosto voidaan kääntää kerrallaan. Tarvitset Tilde MT -tilauksen, jos haluat nostaa rajaa. <a href=\\\"{{registerLink}}?{{queryString}}\\\">aloita ilmainen kokeilu</a>\",\r\n    \"E_504_TITLE\": \"Käännöksen aikakatkaisu\",\r\n    \"E_404200\": \"Moottoria ei löydy\",\r\n    \"E_404201\": \"Käännösohjelman termikokoelmaa ei löydy\",\r\n    \"E_413102_TITLE\": \"Tiedoston lähetys epäonnistui\",\r\n    \"E_413102\": \"Lähetettävä tiedosto on liian suuri\",\r\n\t  \"E_400103\": \"Käännös suodatettu sisällön vuoksi\",\r\n    \"TRANSLATION_FAILED_TITLE\": \"Käännös epäonnistui\",\r\n    \"TRANSLATION_FAILED\": \"Tapahtui odottamaton virhe.\",\r\n    \"TRANSLATION_FAILED_SUPPORT\": \" Jos ongelma jatkuu, ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukipalveluun</strong></a>.\",\r\n    \"FILE_TRANSLATION_LIMITS\": {\r\n      \"E_429001_TITLE\": \"Tiedostojen käännösraja saavutettu\",\r\n      \"E_429001\": \"Olet saavuttanut käännettyjen tiedostojen {{quotaFileLimit}} kuukausirajan. <a href='{{pricingUrl}}' target='_blank'>Päivitä tilauksesi</a>, jotta voit jatkaa tiedostojen kääntämistä.\"\r\n    },\r\n    \"ERROR_DEFAULT_TITLE\": \"Odottamaton virhe\",\r\n\t\t\"ERROR_DEFAULT\": \"Tapahtui odottamaton virhe. Yritä uudelleen.\",\r\n\t\t\"ERROR_DEFAULT_SUPPORT\": \" Jos ongelma jatkuu, ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukipalveluun</strong></a>.\",\r\n\t\t\"MAX_CHAR_LENGTH_TITLE\": \"Käännösrajoitus\",\r\n\t\t\"MAX_CHAR_LENGTH\": \"Vain {{maxCharLength}}/{{totalSymbols}} merkkiä käännetään.\",\r\n\t\t\"MAX_CHAR_LENGTH_SUBSCRIPTION\": \" Tarvitset Tilde MT -tilauksen, jos haluat kääntää tekstiä ilman merkkirajoituksia. <a href=\\\"{{registerLink}}?{{queryString}}\\\">aloita ilmainen kokeilu</a>\",\r\n\t\t\"MAX_NUMBER_OF_FILES_TITLE\": \"Latausraja\",\r\n\t\t\"MAX_NUMBER_OF_FILES\": \"Vain {{limit}} tiedostoa voidaan kääntää kerralla.\",\r\n\t\t\"FILE_ALREADY_ADDED_TITLE\": \"Tiedosto on jo lisätty\",\r\n\t\t\"FILE_ALREADY_ADDED\": \"Tiedosto \\\"{{fileName}}\\\" on jo lisätty.\",\r\n\t\t\"UANUTHORIZED_401_TITLE\": \"Ei sallittu\",\r\n\t\t\"E_CANNOT_READ_FILE_TITLE\": \"Tiedostoa ei voi lukea\",\r\n\t\t\"E_CANNOT_READ_FILE\": \"Tiedosto \\\"{{fileName}}\\\" on viallinen, eikä sitä voitu kääntää. Tarkista tiedosto ja yritä uudelleen.\",\r\n\t\t\"E_FAILED_IN_TRANSLATION_TITLE\": \"Käännös epäonnistui\",\r\n\t\t\"E_FAILED_IN_TRANSLATION\": \"Käännöksen aikana tapahtui virhe. Yritä uudelleen.\",\r\n\t\t\"E_FAILED_IN_TRANSLATION_SUPPORT\": \" Jos ongelma jatkuu, ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukipalveluun</strong></a>.\",\r\n\t\t\"E_FORMAT_TRACK_CHANGES_TITLE\": \"Käännös epäonnistui, koska ”Jäljitä muutokset” on käytössä\",\r\n\t\t\"E_FORMAT_TRACK_CHANGES\": \"Muutokset on ensin hyväksyttävä tai muutosten jäljitys on otettava pois käytöstä ennen Office-tiedostojen kääntämistä.\",\r\n\t\t\"E_UNKNOWN_ERROR_TITLE\": \"Tuntematon virhe\",\r\n\t\t\"E_UNAUTHORIZED_TITLE\": \"Ei sallittu\",\r\n\t\t\"COLLECTION_CREATE_TITLE\": \"Sanaston luominen epäonnistui\",\r\n\t\t\"COLLECTION_CREATE\": \"Uuden sanaston luominen epäonnistui. Yritä uudelleen.\",\r\n\t\t\"COLLECTION_CREATE_SUPPORT\": \" Jos ongelma jatkuu, ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukipalveluun</strong></a>.\",\r\n\t\t\"COLLECTION_IMPORT_TITLE\": \"Sanaston liittäminen epäonnistui\",\r\n\t\t\"COLLECTION_IMPORT\": \"Termikokoelman, jonka tunnus on {{termId}}, liittäminen konekäännösohjelmaan epäonnistui. Yritä uudelleen.\",\r\n\t\t\"E_12_TITLE\": \"Tekstin kokorajoitus\",\r\n\t\t\"E_12\": \"Tekstin kokorajoitus saavutettu. Lähetä pyyntö, joka sisältää vähemmän tekstiä.\",\r\n\t\t\"E_12_SUPPORT\": \" Voit suurentaa tekstin kokorajoitusta ottamalla yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukipalveluun</strong></a>.\",\r\n\t\t\"E_21\": \"Voit kääntää hetken kuluttua.\",\r\n\t\t\"E_22_TITLE\": \"Konekäännösohjelmaa ei löydy\",\r\n\t\t\"E_22\": \"Konekäännösohjelmaa ei löydy.\",\r\n\t\t\"E_22_SUPPORT\": \" Ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukeen</strong></a>.\",\r\n\t\t\"E_23\": \"Konekäännösohjelmaa ei ole käynnistetty.\",\r\n\t\t\"E_23_SUPPORT\": \" Ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukeen</strong></a>.\",\r\n\t\t\"E_41\": \"Tuntematon termikorpuksen tunniste annettu. Termikorpus on linkitettävä konekäännösohjelmaan\",\r\n\t\t\"E_504\": \"Toiminto on aikakatkaistu.\",\r\n    \"UANUTHORIZED_401\": \"Sinulla ei ole oikeutta käyttää konekäännintä.\",\r\n    \"UANUTHORIZED_401_SUPPORT\": \" Ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukipalveluun</strong></a>.\",\r\n    \"E_UNKNOWN_FILE_TYPE\": \"Tuntematon tiedostotyyppi.\",\r\n    \"E_UNKNOWN_ERROR\": \"Ilmeni tuntematon virhe.\",\r\n    \"E_UNAUTHORIZED\": \"Asiakirjan käännös estettiin.\",\r\n    \"E_11\": \"Päivittäinen käännösraja on täyttynyt.\",\r\n    \"E_11_SUPPORT\": \" Ota yhteyttä <a href=\\\"mailto:{{email}}\\\"><strong>tukeen</strong></a>, jos haluat nostaa päivittäistä rajaa.\",\r\n    \"FILE_TRANSLATION_SUBSTATUS\": {\r\n\t\t\t\"BAD_FILE_ERROR_TITLE\": \"Tiedoston kääntäminen epäonnistui\",\r\n\t\t\t\"BAD_FILE_ERROR\": \"Tiedosto on viallinen, eikä sitä voitu kääntää. Tarkista tiedosto ja yritä uudelleen.\",\r\n\t\t\t\"NO_TEXT_EXTRACTED_ERROR_TITLE\": \"Tekstin purkaminen epäonnistui\",\r\n\t\t\t\"NO_TEXT_EXTRACTED_ERROR\": \"Tiedosto saattaa olla tyhjä. Tarkista tiedosto ja yritä uudelleen.\",\r\n\t\t\t\"TRACK_CHANGES_ENABLED_ERROR_TITLE\": \"Käännös epäonnistui, koska ”Jäljitä muutokset” on käytössä\",\r\n\t\t\t\"TRACK_CHANGES_ENABLED_ERROR\": \"Muutokset on ensin hyväksyttävä tai muutosten jäljitys on otettava pois käytöstä ennen Office-tiedostojen kääntämistä.\",\r\n\t\t\t\"UNKNOWN_FILE_TYPE_ERROR_TITLE\": \"Tuntematon tiedostotyyppi\",\r\n\t\t\t\"UNKNOWN_FILE_TYPE_ERROR\": \"Tiedostotyyppiä ei tunnisteta. Tiedostopääte voi olla virheellinen tai tiedosto voi olla viallinen.\"\r\n\t\t},\r\n    \"FILE_UPLOAD\": {\r\n      \"FILE_UPLOAD_EMPTY_TITLE\": \"Tiedosto on tyhjä\",\r\n\t\t\t\"FILE_UPLOAD_EMPTY\": \"Ladattu tiedosto \\\"{{fileName}}\\\" on tyhjä. Valitse tiedosto, jossa on sisältöä.\",\r\n\t\t\t\"FILE_UPLOAD_MAX_SIZE_TITLE\": \"Tiedoston kokorajoitus\",\r\n\t\t\t\"FILE_UPLOAD_MAX_SIZE\": \"Ladattu tiedosto \\\"{{fileName}}\\\" on liian suuri. Enimmäiskoko {{maxSizeMB}} Mt\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE\": \"Tiedostomuotoa ei tueta\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"Ladatun tiedoston \\\"{{fileName}}\\\" tiedostomuotoa ei tueta. Käännös on tuettu seuraaville asiakirjamuodoille: {{formats}}.\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE\": \"Tiedostomuotoa ei tueta\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER\": \"Tarvitset Tilde MT -tilauksen \\\"{{fileName}}\\\" -tiedoston kääntämiseen. <a href=\\\"{{registerLink}}?{{queryString}}\\\">aloita ilmainen kokeilu</a>\",\r\n\t\t\t\"E_404_TITLE\": \"Tiedostoa ei löytynyt\",\r\n\t\t\t\"E_404\": \"Pyydettyä tiedostoa ei ole olemassa\",\r\n      \"E_404_REMOVE_TITLE\": \"Tiedoston poisto epäonnistui\",\r\n      \"E_404_REMOVE\": \"Tiedosto on jo poistettu\"\r\n    },\r\n    \"AUDIO\": {\r\n\t\t\t\"NO_SPEECH_TITLE\": \"Ei puhetta\",\r\n\t\t\t\"NO_SPEECH\": \"Tallennuksesi lopetettiin. Emme kuulleet sinua.\",\r\n\t\t\t\"MAX_TIME_EXCEEDED_TITLE\": \"Puherajoitus\",\r\n\t\t\t\"MAX_TIME_EXCEEDED\": \"Tallennuksesi lopetettiin. Puheensyöttö on rajoitettu aikaan {{timeString}}.\",\r\n\t\t\t\"MIC_NOT_ALLOWED_TITLE\": \"Mikrofonin käyttö estetty\",\r\n\t\t\t\"MIC_NOT_ALLOWED\": \"Olet estänyt mikrofonin käytön. Muuta käyttöoikeuksia selaimen asetuksista.\",\r\n\t\t\t\"MAX_SIZE_EXCEEDED_TITLE\": \"Puherajoitus\",\r\n\t\t\t\"MAX_SIZE_EXCEEDED\": \"Tallennuksesi lopetettiin ja lähetettiin käsiteltäväksi. Puhesyötön enimmäiskoko on {{maxSizeMb}} Mt.\",\r\n\t\t\t\"CANT_START_RECORDING_TITLE\": \"Tallennuksen aloittaminen epäonnistui\",\r\n\t\t\t\"CANT_START_RECORDING\": \"Tallennuksen aloittaminen ei onnistu. Yritä uudelleen.\",\r\n\t\t\t\"NO_TEXT_RECOGNIZED_Title\": \"Puhetta ei tunnistettu\",\r\n\t\t\t\"NO_TEXT_RECOGNIZED\": \"Puhetta ei voitu tunnistaa. Tarkista mikrofonisi ja yritä uudelleen.\"\r\n\t\t},\r\n    \"DETECTION\": {\r\n      \"UNAVAILABLE\": \"{{srcLang}}-{{trgLang}} käännöstä ei tueta. Valitse kielet manuaalisesti, jos ne havaitaan väärin.\"\r\n    }\r\n  },\r\n  \"LANGUAGES\": {\r\n    \"AUTO\": \"Tunnista kieli\",\r\n    \"AR\": \"Arabia\",\r\n    \"BE\": \"Valkovenäjä\",\r\n    \"BG\": \"Bulgaria\",\r\n    \"CS\": \"Tsekki\",\r\n    \"CZ\": \"Tsekki\",\r\n    \"DA\": \"Tanska\",\r\n    \"DE\": \"Saksa\",\r\n    \"EL\": \"Kreikka\",\r\n    \"EN\": \"Englanti\",\r\n    \"ES\": \"Espanja\",\r\n    \"ET\": \"Viro\",\r\n    \"FI\": \"Suomi\",\r\n    \"FR\": \"Ranska\",\r\n    \"GA\": \"Irlanti\",\r\n    \"HR\": \"Kroatia\",\r\n    \"HU\": \"Unkari\",\r\n    \"IS\": \"Islanti\",\r\n    \"IT\": \"Italia\",\r\n    \"JA\": \"Japani\",\r\n    \"KA\": \"Georgia\",\r\n    \"KO\": \"Korea\",\r\n    \"LT\": \"Liettua\",\r\n    \"LV\": \"Latvia\",\r\n    \"MO\": \"Moldova\",\r\n    \"MT\": \"Malta\",\r\n    \"NL\": \"Hollanti\",\r\n    \"PL\": \"Puola\",\r\n    \"PT\": \"Portugali\",\r\n    \"RO\": \"Romania\",\r\n    \"RU\": \"Venäjä\",\r\n    \"SK\": \"Slovakki\",\r\n    \"SR\": \"Serbia\",\r\n    \"SL\": \"Sloveeni\",\r\n    \"SV\": \"Ruotsi\",\r\n    \"TR\": \"Turkki\",\r\n    \"UK\": \"Ukraina\",\r\n    \"ZH\": \"Kiina\",\r\n    \"UZ\": \"Uzbekki\",\r\n    \"ID\": \"Indonesia\",\r\n    \"BA\": \"Baškiiri\",\r\n    \"BRX\": \"Bodo\",\r\n    \"FJ\": \"Fidžin kieli\",\r\n    \"DSB\": \"Alasorbi\",\r\n    \"GOM\": \"Konkani\",\r\n    \"HNE\": \"Chhattisgarhi\",\r\n    \"HSB\": \"Yläsorbi\",\r\n    \"IKT\": \"Inuinnaqtun\",\r\n    \"IU\": \"Inuktitut\",\r\n    \"IU_LATN\": \"Inuktitut (Latinalainen)\",\r\n    \"KS\": \"Kašmirin kieli\",\r\n    \"IZH\": \"Kiina (Kirjallinen)\",\r\n    \"MWW\": \"Hmong Daw (Latinalainen)\",\r\n    \"RUN\": \"Rundi\",\r\n    \"TY\": \"Tahitin kieli\",\r\n    \"YUA\": \"Jukateekin maya\",\r\n    \"KU\": \"Kurdin Keski\",\r\n    \"KMR\": \"Kurdin Pohjoinen\",\r\n    \"ZH_HANS\": \"Kiina (yksinkertaistettu)\",\r\n    \"ZH_HANT\": \"Kiina (perinteinen)\",\r\n    \"LZH\": \"Kiina (kirjallinen)\",\r\n    \"OTQ\": \"Querétaro Otomi\",\r\n    \"AB\": \"Abhaasi\",\r\n    \"ACE\": \"Atšeh\",\r\n    \"ACH\": \"Ašoli\",\r\n    \"KTU\": \"Kituba (Kongo)\",\r\n    \"ALZ\": \"Alur\",\r\n    \"AWA\": \"Avadhi\",\r\n    \"LI\": \"Limburgin kieli\",\r\n    \"LIJ\": \"Liguuri\",\r\n    \"LMO\": \"Lombardi\",\r\n    \"LTG\": \"Latgalli\",\r\n    \"LUO\": \"Luo (Kenia ja Tansania)\",\r\n    \"BAN\": \"Bali\",\r\n    \"BBC\": \"Batak Toba\",\r\n    \"MAK\": \"Makassari\",\r\n    \"BEM\": \"Bemba (Sambia)\",\r\n    \"BEW\": \"Betawi\",\r\n    \"BIK\": \"Bikoli\",\r\n    \"BO\": \"Tiibeti\",\r\n    \"BTS\": \"Batak Simalungun\",\r\n    \"BTX\": \"Batak Karo\",\r\n    \"BUA\": \"Burjaatti\",\r\n    \"MIN\": \"Minangkabau\",\r\n    \"NEW\": \"Newari (Nepal Bhasa)\",\r\n    \"CGG\": \"Chiga\",\r\n    \"NR\": \"Etelä-ndebele\",\r\n    \"NUS\": \"Nuer\",\r\n    \"CHM\": \"Mari (Venäjä)\",\r\n    \"CNH\": \"Hakha Chin\",\r\n    \"PAG\": \"Pangasinan\",\r\n    \"PAM\": \"Pampanga (Kapampangan)\",\r\n    \"PAP\": \"Papiamento\",\r\n    \"CRH\": \"Krimintataari\",\r\n    \"CRS\": \"Seychellien kreoli\",\r\n    \"CV\": \"Tšuvassi\",\r\n    \"DIN\": \"Dinka\",\r\n    \"DOV\": \"Domari\",\r\n    \"DZ\": \"Dzongkha\",\r\n    \"RN\": \"Rundi (Kirundi)\",\r\n    \"ROM\": \"Romani\",\r\n    \"EWE\": \"Ewe\",\r\n    \"FF\": \"Fula (Fulani)\",\r\n    \"SCN\": \"Sisilia\",\r\n    \"SG\": \"Sango\",\r\n    \"SHN\": \"Shan\",\r\n    \"SS\": \"Swazi (Siswati)\",\r\n    \"HIL\": \"Hiligainon\",\r\n    \"SZL\": \"Sileesia\",\r\n    \"HRX\": \"Hunsrik\",\r\n    \"TET\": \"Tetum\",\r\n    \"ZT\": \"Zapoteekki\",\r\n    \"GAA\": \"Ga\"\r\n  },\r\n  \"ARIA_LABELS\": {\r\n    \"COPY\": \"Kopioi leikepöydälle\",\r\n\t\t\"OPEN_IN_NEW\": \"Avaa uudessa välilehdessä\",\r\n\t\t\"SWAP_LANGUAGES\": \"Vaihda kielet\",\r\n\t\t\"OTHER_LANGUAGES_TRIGGER\": \"Näytä muut kielet\",\r\n    \"CLOSE_BUTTON\": \"Tyhjennä\",\r\n    \"CLEAR_NOTIFICATION\": \"Sulje ilmoitus\",\r\n    \"CLEAR_SOURCE\": \"Poista annettu teksti\",\r\n    \"CLOSE_DIALOG\": \"Sulje valintaikkuna\",\r\n    \"CLEAR_FILES\": \"Poista ladatut tiedostot\",\r\n    \"SHOW_EXTENSIONS\": \"Näytä muut latausvalinnat\",\r\n    \"REFRESH\": \"Päivitä käännös\",\r\n\t\t\"CREATE_SUMMARY\": \"Luo tiivistelmä\"\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"COPY\": \"Kopioi leikepöydälle\",\r\n    \"SWAP_LANGUAGES\": \"Vaihda kieltä\",\r\n    \"REFRESH\": \"Päivitä käännös\",\r\n    \"DISLIKE\": \"En pidä\",\r\n\t\t\"CREATE_SUMMARY\": \"Luo tiivistelmä\",\r\n    \"UPLOAD\": \"Lataa tiedosto\"\r\n  },\r\n  \"PDF_CONVERSION\": {\r\n\t\t\"CLOSE\": \"Sulje valintaikkuna\",\r\n    \"TITLE_1\": \"PDF-käännös\",\r\n    \"PARAGRAPH_1_1\": \"Kun PDF-tiedosto ladataan käännettäväksi, se muunnetaan käännettävään muotoon. Ohjelma tukee sekä skannattuja (kuvamuotoisia) että alkuperäisiä (esim. Word-asiakirjasta pdf-muotoon tallennettuja) PDF-tiedostoja. Käännetyt asiakirjat voidaan ladata seuraavissa muodoissa: .docx. Asiakirjojen perusmuotoilu säilyy. \",\r\n    \"PARAGRAPH_1_2\": \"Voit nopeuttaa tiedostojen muuntamista jakamalla .pdf-tiedostot osiin ja poistamalla sivut, joissa ei ole käännettävää sisältöä (esim. kuvasivut). Sivujen määrä, laatu ja tekstin tiivis asettelu vaikuttavat käsittelyaikaan.\",\r\n    \"PARAGRAPH_1_3\": \"Kääntimen suorituskyvyn parantamiseksi suosittelemme, että Aura-konekäännöspalvelun muuntama pdf ladataan (pudotusvalikon kohta Lataa muunnettu lähde-pdf, ks. kuva alla) ja se korjataan manuaalisesti ennen kuin se ladataan uudelleen käännettäväksi.\",\r\n    \"IMAGE_ALT_1\": \"Esimerkki lähde-PDF:n lataamisesta\",\r\n    \"TITLE_2\": \"PDF-tiedoston muuntaminen\",\r\n    \"PARAGRAPH_2_1\": \"Asiakirja analysoidaan ja sen sisältö jaetaan teksti-, taulukko- ja kuva/taustakuva-alueisiin. Niitä analysoidaan tarkemmin sen määrittämiseksi, mikä osa sisällöstä pitää tunnistaa tekstiksi.\",\r\n    \"PARAGRAPH_2_2\": \"Kuvista teksti tunnistetaan optisella merkkien tunnistuksella. Kirjaimet ja numerot tunnistetaan ulkomuodon mukaan ja kootaan sitten sanoiksi ja lauseiksi.\",\r\n    \"PARAGRAPH_2_3\": \"Tekstin tunnistukseen vaikuttavat monet tekijät, mm.:\",\r\n    \"LI_1_1\": \"Skannatun asiakirjan laatu (epäselvä tai vääristynyt teksti, kuvakohina, kuvaresoluutio, kontrasti jne.). Parhaan tuloksen saavuttamiseksi PDF-tiedoston on oltava vähintään 300 dpi, suoristettu ja kohinaton.\",\r\n    \"LI_1_2\": \"Fontin koko. Tekstin tunnistaminen on vaikeampaa, jos fontin koko on alle 9. \",\r\n    \"LI_1_3\": \"Harvinaiset ja erikoiset fontit. Harvinaisempia fontteja ei välttämättä tunnisteta.\",\r\n    \"LI_1_4\": \"Tiedoston rakenteen ja muotoilun monimutkaisuus.\",\r\n    \"TITLE_3\": \"Kääntimen suorituskyvyn parantaminen\",\r\n    \"PARAGRAPH_3_1\": \"Muuntamisprosessi on hyvin monimutkainen, ja siihen voivat vaikuttaa erilaiset muunnettavasta asiakirjasta johtuvat virheet. \",\r\n    \"PARAGRAPH_3_2\": \"Mahdollisia tekstin tunnistusvirheitä:\",\r\n    \"LI_2_1\": \"Sanoja on tunnistettu väärin.\",\r\n    \"LI_2_2\": \"Sanarajoja on tunnistettu väärin.\",\r\n    \"LI_2_3\": \"Eri riveille, sarakkeisiin tai sivuille ulottuvia lauseita on jaettu eri tekstiobjekteiksi.\",\r\n    \"LI_2_4\": \"Sivun ala- ja ylätunnisteita on sijoitettu väärin.\",\r\n    \"LI_2_5\": \"Numerointi on virheellistä.\",\r\n    \"LI_2_6\": \"Taulukoita tunnistettu tekstiä sisältäviksi taustakuviksi ja niiden tekstisisältö on sijoitettu eri tekstiobjekteihin.\",\r\n    \"LI_2_7\": \"Kaavioita on tunnistettu kuviksi joissa ei ole tekstiä.\",\r\n    \"LI_2_8\": \"Erottimia, reunaviivoja tai muita vaakaviivoja on tunnistettu yliviivatuksi tai alleviivatuksi tekstiksi.\",\r\n    \"LI_2_9\": \"Sisällysluettelo tai vastaavia luetteloita on kutistettu tai ne on tunnistettu yliviivatuksi tai alleviivatuksi tekstiksi.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Huomaa, että tuotettu asiakirja ei täysin säilytä alkuperäistä muotoilua.</b> Kuvat, taulukot tai kaaviot voivat vääristyä tai menettää yksityiskohtia. Fontit käännetyssä asiakirjassa eivät välttämättä ole samoja kuin alkuperäisessä tiedostossa. Fontin koko voidaan tunnistaa virheellisesti. Tietyt Word -muotoilut, kuten otsikot, sisällysluettelot, ylä- ja alatunnisteet, merkit, lomakkeet jne., muotoillaan niin, että ne näyttävät alkuperäiseltä, mutta ne eivät täysin vastaa alkuperäistä muotoilua (esimerkiksi otsikot ovat lihavoituja ja suuremmalla fontilla, mutta ne eivät ole Otsikko-tyyliä.).\"\r\n  },\r\n  \"WEBTRANSLATE\": {\r\n    \"BACK\": \"Takaisin konekääntimeen\",\r\n    \"LOAD_PAGE\": \"Lataa sivu\",\r\n    \"RESTORE\": \"Palauta\",\r\n    \"CANCEL\": \"Peruuta\",\r\n    \"ORIGINAL\": \"Alkuperäinen\",\r\n    \"CLOSE\": \"Sulje\",\r\n    \"SEARCH\": \"Etsi verkkosivulta\",\r\n    \"NO_RECORDS\": {\r\n    \"TITLE\": \"Etsi käännettävää verkkosivua\",\r\n    \"DESCRIPTION\": \"Näet <a href='{{helpUrl}}' target='_blank' class='underline'>miten se toimii</a>\"\r\n    }\r\n  },\r\n  \"DATE_AGO\": {\r\n    \"YEAR\": \"{{value}} vuosi sitten\",\r\n    \"YEARS\": \"{{value}} vuotta sitten\",\r\n    \"MONTH\": \"{{value}} kuukausi sitten\",\r\n    \"MONTHS\": \"{{value}} kuukautta sitten\",\r\n    \"WEEK\": \"{{value}} viikko sitten\",\r\n    \"WEEKS\": \"{{value}} viikkoa sitten\",\r\n    \"DAY\": \"{{value}} päivä sitten\",\r\n    \"DAYS\": \"{{value}} päivää sitten\",\r\n    \"HOUR\": \"{{value}} tunti sitten\",\r\n    \"HOURS\": \"{{value}} tuntia sitten\",\r\n    \"MINUTE\": \"{{value}} minuutti sitten\",\r\n    \"MINUTES\": \"{{value}} minuuttia sitten\",\r\n    \"SECOND\": \"{{value}} sekunti sitten\",\r\n    \"SECONDS\": \"{{value}} sekuntia sitten\",\r\n    \"JUST_NOW\": \"Juuri nyt\"\r\n  },\r\n  \"TERM_COLLECTIONS\": {\r\n    \"GLOSSARY\": \"Sanasto: \",\r\n    \"SELECTED_NONE\": \"Ei mitään\",\r\n    \"EDIT\": \"Muokkaa\",\r\n    \"CREATE\": \"Uusi sanasto\",\r\n    \"DEFAULT_COLLECTION_NAME\": \"Termikokoelmani\",\r\n    \"SYNC\": \"Synkronoi\",\r\n    \"SYNC_ERROR\": \"Yritä uudelleen\",\r\n    \"TITLE\": \"Sanastot\",\r\n    \"DEFAULT\": \"Oletus\",\r\n    \"DESCRIPTION\": \"Saat  tarkat ja luotettavat käännökset valitsemalla luettelosta sopivimman sanaston.\",\r\n    \"DESCRIPTION_EMPTY\": \"<span>Luo uusi sanasto</span> kieliparille {{srcLang}}-{{trgLang}} tai avaa <span>Oletussanastojen hallinta</span> ja luo sinne sanasto, jota käytät käännöksissä koko alustalla.\",\r\n    \"UNAVAILABLE_GLOSSARIES\": \"Ei sanastoa käytettävissä\",\r\n    \"LAST_UPDATED\": \"Viimeksi päivitetty {{date}}\",\r\n    \"TERMS_IN_USE\": \"Termejä käytössä: {{termCount}}\",\r\n    \"DEFAULT_GLOSSARY_MANAGEMENT\": \"Hallitse oletussanastoja\",\r\n    \"ARIA_LABELS\": {\r\n      \"RADIO_GROUP\": \"Valitse termikokoelma\",\r\n      \"OTHER_COLLECTIONS\": \"Avaa kokoelmavalikko\"\r\n    },\r\n    \"CREATE_DIALOG\": {\r\n      \"CANCEL\": \"Peruuta\",\r\n      \"CREATE\": \"Luo\",\r\n      \"DESCRIPTION_2\": \"<i>*Tekoäly ei ole täydellinen, ja se voi joskus tehdä virheitä. Yksilöllisiä termejäsi käytetään oikein 95 prosentin tarkkuudella.</i>\",\r\n      \"TITLE\": \"Luo uusi sanasto\",\r\n      \"COLLECTION_NAME_ERROR\": \"Otsikon tulee olla vähintään {{minLength}} ja enintään {{maxLength}} merkkiä pitkä\",\r\n      \"COLLECTION_NAME_LABEL\": \"Sanaston nimi\",\r\n      \"DESCRIPTION_1\": \"Kun napsautat ”Luo”, sinut ohjataan uudelleen Tilde Termiin, jossa voit lisätä omia termejäsi.\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"EDIT\": \"Sinut ohjataan uudelleen termiportaaliin, joka avautuu uudessa välilehdessä\",\r\n      \"NO_ENTRIES\": \"Termikokoelmaa ei voida käyttää, koska lähdekielellä ei ole termejä\",\r\n      \"SYNC\": \"Päivitä termikokoelma\",\r\n      \"SYNCING\": \"Termikokoelmaa synkronoidaan. Kokoelman uusinta synkronoitua versiota käytetään\",\r\n      \"ATTACH_TO_SYSTEM_ERROR\": \"Virhe termikokoelman tuonnissa\",\r\n      \"IMPORTING\": \"Tuodaan sanastoa\",\r\n      \"DEFAULT_COLLECTION\": \"Nämä termit ovat nyt käytössä. Voit hallita niitä oletussanastojen hallinnasta. \"\r\n    },\r\n    \"READER\": {\r\n      \"TITLE\": \"Sanastot\",\r\n      \"UNAVAILABLE\": \"Sanastoja ei saatavilla\",\r\n      \"AUTH_UNAVAILABLE\": \"Vain terminologian toimittajat voivat luoda uusia sanakirjoja.\",\r\n      \"TEXT\": \"Sanastot ovat vain valtuutettujen käyttäjien käytettävissä. </br> <a href='{{signInUrl}}'>Kirjaudu sisään</a> tai <a href='{{startTrialUrl}}'>aloita ilmainen kokeilukausi</a> sanastomme avaamiseksi.\"\r\n    },\r\n    \"ERRORS\": {\r\n      \"ERRORIMPORTING\": \"Tuontivirhe\"\r\n    }\r\n  },\r\n  \"DOMAINS\": {\r\n    \"OPEN_LIST_ARIA_LABEL\": \"Avaa merkitysalueluettelo\",\r\n\t\t\"TITLE\": \"Merkitysalue:\",\r\n\t\t\"GENERAL\": \"Yleinen\",\r\n\t\t\"AUTO\": \"Automaattinen tunnistaminen\",\r\n    \"LAW\": \"Laki\",\r\n    \"DYNAMIC_LEARNING\": \"Dynaaminen oppiminen\",\r\n    \"BUSINESS\": \"Liiketoiminta\",\r\n    \"SPD\": \"EU:n virallinen kieli\",\r\n    \"GEN\": \"Yleinen teksti\",\r\n    \"ECB\": \"Rahoitus\",\r\n    \"ECJ\": \"Eurooppalainen oikeus\",\r\n    \"PUBHEALTH\": \"Terveydenhuolto\",\r\n    \"BUBA\": \"Deutsche Bundesbank\",\r\n    \"BERCY\": \"Ministère des Finances\",\r\n    \"EUROPEANA\": \"Europeana\",\r\n    \"IPO\": \"Immateriaalioikeus\",\r\n    \"TRIS\": \"Ohjelmat, jotka on rakennettu teknisiä määräyksiä koskevan tietojärjestelmän tietojen perusteella.\",\r\n    \"VK\": \"Valtioneuvoston kanslia\",\r\n    \"BUBA_NMTTEST\": \"Deutsche Bundesbank\",\r\n    \"GENERAL_AI\": \"Yleinen tekoäly\",\r\n\t\t\"ACADEMIC_AI\": \"Akateeminen tekoäly\",\r\n\t\t\"PROFESSIONAL_AI\": \"Ammattimainen tekoäly\"\r\n  },\r\n  \"IMAGE_CONVERSION\": {\r\n\t\t\"TITLE_1\": \"Kuvan käännös\",\r\n\t\t\"PARAGRAPH_1_1\": \"Kun kuvatiedosto ladataan käännettäväksi, se muunnetaan käännettävään muotoon. Käännökset voidaan ladata .docx- tai .tmx-muodossa, ja ne säilyttävät perusmuotoilun.\",\r\n\t\t\"PARAGRAPH_1_2\": \"<b>Tuetut kuvamuodot:</b>.jpg, .jpeg, .png ja .bmp.\",\r\n\t\t\"PARAGRAPH_1_3\": \"Jos haluat tehostaa käännösprosessia, suosittelemme, että lataat muunnetun asiakirjan alkuperäisellä kielellä ja korjaat sen manuaalisesti, ennen kuin lataat sen uudelleen kääntämistä varten.\",\r\n\t\t\"IMAGE_ALT_1\": \"Lähdekuvan latausesimerkki\",\r\n\t\t\"TITLE_2\": \"Kuvan muunnos\",\r\n\t\t\"PARAGRAPH_2_1\": \"Kuva analysoidaan ja sen sisältö jaetaan teksti-, taulukko- ja kuva-/taustakuva-alueisiin. Nämä alueet analysoidaan tarkemmin ja määritetään, mikä sisältö tulisi tunnistaa tekstiksi.\",\r\n\t\t\"PARAGRAPH_2_2\": \"Tekstitiedot saadaan OCR-tekstintunnistuksen avulla. Jokainen merkki tunnistetaan sen visuaalisten ominaisuuksien perusteella, minkä jälkeen teksti kootaan sanoiksi ja lauseiksi.\",\r\n\t\t\"PARAGRAPH_2_3\": \"Tunnistukseen vaikuttavat useat tekijät, mukaan lukien:\",\r\n\t\t\"LI_1_1\": \"Skannatun kuvan laatu (epätarkka tai vääristynyt teksti, kuvan kohina, kuvan tarkkuus, kontrasti jne.). Parhaan tuloksen saavuttamiseksi kuvien tulee olla vähintään 300 dpi, vääristymättömiä ja kohinattomia.\",\r\n\t\t\"LI_1_2\": \"Fonttikoko. 9 pistettä pienempien fonttikokojen tunnistamisessa voi olla ongelmia. \",\r\n\t\t\"LI_1_3\": \"Harvinaiset ja erikoiset fontit. Harvinaisempia fontteja ei ehkä tunnisteta, tai ne voivat toimia huonommin.\",\r\n\t\t\"LI_1_4\": \"Asiakirjan rakenteen ja muotoilun monimutkaisuus.\",\r\n\t\t\"TITLE_3\": \"Käännösprosessin tehostaminen\",\r\n\t\t\"PARAGRAPH_3_1\": \"Muuntoprosessi on erittäin monimutkainen, ja erilaiset, lähdetiedostosta johtuvat virheet voivat vaikuttaa siihen. \",\r\n\t\t\"PARAGRAPH_3_2\": \"Tarkistettavia asioita:\",\r\n\t\t\"LI_2_1\": \"Väärin tunnistetut sanat.\",\r\n\t\t\"LI_2_2\": \"Virheelliset sanojen rajat.\",\r\n\t\t\"LI_2_3\": \"Usean sarakkeen, rivin tai sivun pituiset lauseet jaettu erilaisiksi tekstiobjekteiksi.\",\r\n\t\t\"LI_2_4\": \"Väärin sijoitetut ala- ja ylätunnisteet.\",\r\n\t\t\"LI_2_5\": \"Virheellinen numerointi.\",\r\n\t\t\"LI_2_6\": \"Taulukot tunnistettu taustakuviksi ja tekstisisältö sijoitettu eri tekstiobjekteihin.\",\r\n\t\t\"LI_2_7\": \"Jotkin kaaviot tunnistettu kuviksi ilman tekstisisältöä.\",\r\n\t\t\"LI_2_8\": \"Erottimet, reunat tai muut vaakaviivat tunnistettu yli- tai alleviivatuksi tekstiksi.\",\r\n\t\t\"PARAGRAPH_4_1\": \"<b>Huomaa, että kaikki alkuperäisen muotoilun yksityiskohdat eivät säily lopullisessa asiakirjassa.</b> Jotkin kuvat, taulukot tai kaaviot voivat olla vääristyneitä ja yksinkertaistettuja. Käännetyn asiakirjan fontit eivät ole samoja kuin alkuperäisessä tiedostossa, mutta ne voivat olla samankaltaisia. Fonttikoko voi olla virheellinen.\",\r\n\t\t\"CLOSE\": \"Sulje valintaikkuna\"\r\n\t},\r\n\t\"AUDIO\": {\r\n\t\t\"CANCEL\": \"Peruuta\",\r\n\t\t\"DESCRIBE_STATE_RECORDING\": \"Ala puhua äänitallennetta...\",\r\n\t\t\"DESCRIBE_STATE_PROCESSING\": \"Käsitellään...\",\r\n\t\t\"MIC_NOT_FOUND\": \"Mikrofonia ei löydy\",\r\n\t\t\"STOP\": \"Lopeta tallennus\",\r\n\t\t\"START\": \"Käännä puhe\",\r\n\t\t\"PUNCTUATION_MESSAGE_TITLE\": \"Lisää välimerkit\",\r\n\t\t\"PUNCTUATION_MESSAGE\": \"Lisää tunnistettuun tekstiin välimerkit. Pitkä teksti ilman välimerkkejä voi heikentää käännöslaatua tai estää kääntämisen\"\r\n\t},\r\n\t\"EXTENSION_POPUP\": {\r\n\t\t\"OPEN\": \"katso kaikki tuetut muodot\",\r\n\t\t\"TITLE\": \"Tuetut tiedostomuodot\",\r\n\t\t\"DESCRIPTION\": \"Tiedoston kääntäminen oikein edellyttää UTF-8- tai UTF-16-koodausta\",\r\n\t\t\"OFFICE\": \"Office\",\r\n\t\t\"SCANNED\": \"Skannatut tiedostot\",\r\n\t\t\"INTERCHANGE\": \"Vaihtomuodot\",\r\n\t\t\"WEB\": \"Verkkosivusto\",\r\n\t\t\"OTHER\": \"Muu\"\r\n\t},\r\n\t\"FILE_UPLOAD\": {\r\n\t\t\"UPLOAD\": \"Valitse\",\r\n\t\t\"DRAG_AND_DROP\": \"tai vedä ja pudota \",\r\n\t\t\"FILE\": \"tiedosto\",\r\n\t\t\"FILES\": \"tiedostot\",\r\n\t\t\"LIMITS_MB\": \"Enintään {{maxSizeMB}}Mt\",\r\n    \"CLEAR\": \"Poista tiedosto\",\r\n    \"SELECT_LANGUAGE_WARNING\": \"Valitse tiedoston lähdekieli.\"\r\n\t},\r\n  \"SYSTEM_PICKER\": {\r\n    \"SOURCE\": \"Käännä kielestä\",\r\n    \"TARGET\": \"Käännä kieleen\",\r\n    \"SEARCH_PLACEHOLDER\": \"Hae kieliä\",\r\n    \"RECENT_SYSTEM_TITLE\": \"Äskettäinen\",\r\n    \"SELECT_DOMAIN\": \"Valitse aihealue\",\r\n    \"FILTER_NO_RESULTS\": \"Ei tuloksia\",\r\n    \"ALL_LANGUAGES\": \"Kaikki kielet\",\r\n    \"CLEAR_SEARCH\": \"Tyhjennä hakuteksti\",\r\n    \"OPEN_SOURCE_ARIA_LABEL\": \"Valitse lähdekieli\",\r\n    \"OPEN_TARGET_ARIA_LABEL\": \"Valitse kohdekieli ja verkkoalue\",\r\n    \"DETECTED\": \"Tunnistettu\",\r\n    \"LANGUAGE\": \"Kieli:\",\r\n    \"TRANSLATION_STYLE\": \"Ala:\"\r\n  },\r\n  \"TEXT_TRANSLATION_PROGRESS_INDICATOR\": {\r\n    \"TITLE\": \"Konekäännös, jonka tarjoaa  {{provider}}\",\r\n    \"TRANSLATING\": \"Käännetään...\",\r\n    \"CLOSE_BUTTON_TOOLTIP\": \"Poista edistymispalkki\",\r\n    \"CLOSE_BUTTON_ARIA_LABEL\": \"Poista edistymispalkki\"\r\n  },\r\n  \"VENDOR_MESSAGE\": {\r\n    \"TEXT\": \"Konekäännös, jonka tarjoaa  {{vendor}}\",\r\n    \"ICON_TOOLTIP\": \"{{vendor}} tarjoamia järjestelmiä käyttää valtava määrä käyttäjiä. Ne voivat olla ajoittain hitaita suuren kuormituksen vuoksi.\"\r\n  },\r\n  \"VENDORS\": {\r\n    \"ETRANSLATION\": \"eTranslation\"\r\n  },\r\n  \"TEXT_TO_SPEECH\": {\r\n    \"PLAY\": \"Kuuntele\",\r\n    \"PAUSE\": \"Pysäytys\"\r\n  },\r\n  \"DICTIONARY\": {\r\n    \"SOURCE\": \"Tulokset lähteestä {{src}}\"\r\n  }\r\n}\r\n","\r\nexport const i18n_lt = {\r\n  \"APP_NAME\": \"Tilde MT\",\r\n  \"TERM_PORTAL_NAME\": \"Tilde Term\",\r\n  \"TLD_TRANSLATE\": {\r\n    \"FILE_DOWNLOAD_SOURCE_HELP\": \"Konvertuojant PDF gali atsirasti formatavimo klaidų arba teksto iškraipymų. Patikrinkite konvertuotą failą ir prieš iš naujo įkeldami failą versti, pataisykite klaidas\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_TITLE\": \"Vertimo limitas\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG\": \"Bus išversti tik pirmieji 1250 žodžių.\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_SUBSCRIPTION\": \" Jei norite versti visą failą, reikia „Tilde MT“ prenumeratos. <a href=\\\"{{pricingUrl}}\\\" target='_blank'>Pradėti naudoti nemokamą bandomąją versiją</a>\",\r\n    \"DOWNLOAD_TRANSLATED\": \"Atsisiųsti\",\r\n\t\t\"FILE_DOWNLOAD_SOURCE_IMAGE\": \"Atsisiųsti konvertuotą šaltinio vaizdą\",\r\n\t\t\"FILE_DOWNLOAD_SOURCE_IMAGE_HELP\": \"Konvertuojant vaizdą gali atsirasti formatavimo klaidų arba teksto iškraipymų. Patikrinkite konvertuotą failą ir prieš iš naujo įkeldami failą versti, pataisykite klaidas\",\r\n\t\t\"IMAGE_DISCLAIMER_LINK\": \"Skaitykite apie vaizdų konvertavimą.\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED_TITLE\": \"Neįkelti jokie vertimo moduliai\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED\": \"Nepavyko įkelti mašininio vertimo modulių.\",\r\n\t\t\"ERROR_NO_SYSTEMS_LOADED_SUPPORT\": \" Iš naujo įkelkite puslapį arba kreipkitės į<a href=\\\"mailto:{{email}}\\\"><strong>pagalbos tarnybą</strong></a>.\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG_TITLE\": \"Vertimo limitas\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG\": \"Bus išverstas tik pirmasis puslapis.\",\r\n\t\t\"PDF_PAGE_LIMIT_MSG_SUBSCRIPTION\": \" Jei norite versti visą PDF failą, reikalinga „Tilde MT“ prenumerata. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Pradėti naudoti nemokamą bandomąją versiją</a>\",\r\n\t\t\"CLEAR_SOURCE_TOOLTIP\": \"Valyti tekstą\",\r\n    \"FILE_TARGET_PREVIEW_MESSAGE\": \"Tai yra išversto dokumento peržiūros pavyzdys; norėdami gauti visą vertimą, atsisiųskite.\",\r\n    \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Įveskite tekstą, kurį norite išversti.\",\r\n    \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Nenaudokite „{{appName}}“ slaptai ar įslaptintai informacijai arba tekstams, kuriuose yra tam tikrų kategorijų asmens duomenų, pvz., sveikatos duomenų, versti\",\r\n    \"TEXT_COPIED\": \"Nukopijuotas vertimas\",\r\n    \"REGISTERED_FORMATS_LOGGED_IN\": \"Registruotieji vartotojai turi prieigą prie šių dokumentų formatų vertimo: {{formats}}.\",\r\n    \"REGISTERED_FORMATS\": \"Registruotieji vartotojai turi prieigą prie šių dokumentų formatų vertimo: {{formats}}. Prašykite savo prieigos <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\">čia</a>.\",\r\n    \"SOURCE_FORMATS\": \"Saugi vieša vertimo paslauga palaiko šiuos dokumentų formatus: {{formats}}.\",\r\n    \"CANCEL_TRANSLATION\": \"Atšaukti\",\r\n    \"SOURCE_TOOLTIP\": \"Įveskite tekstą arba svetainę, kurią norėtumėte išversti.\",\r\n    \"TARGET_DESCRIPTION\": \"Mašininis vertimas leidžia suprasti šaltinio teksto reikšmę, tačiau negali pakeisti žmogaus atlikto vertimo.\",\r\n    \"TOOLTIP_ACTION\": \"Išversti\",\r\n    \"FILE_DOWNLOAD_SOURCE\": \"Atsisiųsti konvertuotą šaltinio PDF\",\r\n    \"FILE_TANSLATION_STATUSS_QUEUING\": \"Pradedamas vertimas...\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Skaitykite apie pdf konvertavimą.\",\r\n    \"VENDORS_ARIA_LABEL\": \"Teikėjai\",\r\n    \"SUGGEST_TRANSLATION_LABEL\": \"Atsisiųsti vertimą\",\r\n    \"SUMMARY\": {\r\n\t\t\t\"TITLE\": \"Santrauka\",\r\n\t\t\t\"CREATING\": \"Kuriama santrauka\",\r\n\t\t\t\"DISABLED\": \"Jei norite naudoti apibendrinimo funkciją, pateikite ne mažiau kaip 300 simbolių\",\r\n      \"COPIED\": \"Santrauka nukopijuota\",\r\n\t\t\t\"NEW_FEATURE\": {\r\n\t\t\t\t\"TITLE\": \"Sukurti santrauką\",\r\n\t\t\t\t\"DESCRIPTION\": \"Apibendrinkite ilgus tekstus, paversdami juos trumpa pagrindinių dalykų apžvalga.\",\r\n\t\t\t\t\"CLOSE\": \"Uždaryti\"\r\n\t\t\t}\r\n\t\t},\r\n    \"REPHRASE\": {\r\n      \"TITLE\": \"Pakeisti formuluotę\",\r\n      \"CHOOSE_LABEL\": \"Pasirinkite rašymo stilių\",\r\n      \"TOOLTIP\": \"Pakeiskite teksto formuluotę pasirinktu rašymo stiliumi, pritaikydami kalbą ir toną pagal norimą stilių ar balsą.\",\r\n      \"LOADING\": \"Keičiama formuluotė\",\r\n      \"COPIED\": \"Pakeista formuluotė nukopijuota\",\r\n      \"HINT\": \"Pakeiskite teksto formuluotę, kad pakeistumėte žodžius arba perteiktumėte tinkamą toną. Galite pasirinkti iš 3 rašymo stilių: Bendras, Profesinis, Akademinis.\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Pakeisti formuluotę\",\r\n        \"DESCRIPTION\": \"Pakeiskite teksto formuluotę pasirinktu rašymo stiliumi, pritaikydami kalbą ir toną pagal norimą stilių ar balsą.\",\r\n        \"CLOSE\": \"Uždaryti\"\r\n      },\r\n      \"STYLES\": {\r\n        \"GENERAL\": \"Bendras\",\r\n        \"PROFESSIONAL\": \"Profesinis\",\r\n        \"ACADEMIC\": \"Akademinis\"\r\n      }\r\n    }\r\n  },\r\n  \"LANGUAGES\": {\r\n    \"AUTO\": \"Nustatyti kalbą\",\r\n\t\t\"AR\": \"Arabų\",\r\n    \"BG\": \"Bulgarų\",\r\n    \"HR\": \"Kroatų\",\r\n    \"CS\": \"Čekų\",\r\n    \"CZ\": \"Čekų\",\r\n    \"DA\": \"Danų\",\r\n    \"NL\": \"Olandų\",\r\n    \"EN\": \"Anglų\",\r\n    \"ET\": \"Estų\",\r\n    \"FI\": \"Suomių\",\r\n    \"FR\": \"Prancūzų\",\r\n    \"DE\": \"Vokiečių\",\r\n    \"EL\": \"Graikų\",\r\n    \"HU\": \"Vengrų\",\r\n    \"GA\": \"Airių\",\r\n    \"IS\": \"Islandų\",\r\n    \"IT\": \"Italų\",\r\n    \"LV\": \"Latvių\",\r\n    \"LT\": \"Lietuvių\",\r\n    \"MT\": \"Maltiečių\",\r\n    \"PL\": \"Lenkų\",\r\n    \"PT\": \"Portugalų\",\r\n    \"RO\": \"Rumunų\",\r\n    \"RU\": \"Rusų\",\r\n    \"SK\": \"Slovakų\",\r\n    \"SL\": \"Slovėnų\",\r\n    \"ES\": \"Ispanų\",\r\n    \"SV\": \"Švedų\",\r\n    \"KA\": \"Gruzinų\",\r\n    \"BE\": \"Baltarusių\",\r\n    \"MO\": \"Moldavų\",\r\n    \"UK\": \"Ukrainiečių\",\r\n    \"SR\": \"Serbų\",\r\n    \"ZH\": \"Kinų\",\r\n    \"JA\": \"Japonų\",\r\n    \"KO\": \"Korėjiečių\",\r\n    \"TR\": \"Turkų\",\r\n    \"UZ\": \"Uzbekų\",\r\n    \"ID\": \"Indoneziečių\",\r\n    \"BA\": \"Baškirų\",\r\n    \"BRX\": \"Bodo\",\r\n    \"FJ\": \"Fidžio\",\r\n    \"DSB\": \"Žemutinė sorbų\",\r\n    \"GOM\": \"Konkani\",\r\n    \"HNE\": \"Chhattisgarhi\",\r\n    \"HSB\": \"Aukštutinė sorbų\",\r\n    \"IKT\": \"Inuinnaqtun\",\r\n    \"IU\": \"Inuktitut\",\r\n    \"IU_LATN\": \"Inuktitut (Lotyniškas)\",\r\n    \"KS\": \"Kašmyrų\",\r\n    \"IZH\": \"Kinų (Literatūrinė)\",\r\n    \"MWW\": \"Hmong Daw (Lotyniškas)\",\r\n    \"RUN\": \"Rundi\",\r\n    \"TY\": \"Taitiečių\",\r\n    \"YUA\": \"Jukatekų majų\",\r\n    \"KU\": \"Kurdų Centrinė\",\r\n    \"KMR\": \"Kurdų Šiaurinė\",\r\n    \"ZH_HANS\": \"Kinų (supaprastinta)\",\r\n    \"ZH_HANT\": \"Kinų (tradicinė)\",\r\n    \"LZH\": \"Kinų (literatūrinė)\",\r\n    \"OTQ\": \"Querétaro Otomi\",\r\n    \"AB\": \"Abchazų\",\r\n    \"ACE\": \"Ačehų\",\r\n    \"ACH\": \"Ačoli\",\r\n    \"KTU\": \"Kituba (Kongas)\",\r\n    \"ALZ\": \"Alurų\",\r\n    \"AWA\": \"Avadhi\",\r\n    \"LI\": \"Limburgiečių\",\r\n    \"LIJ\": \"Ligurų\",\r\n    \"LMO\": \"Lombardų\",\r\n    \"LTG\": \"Latgalių\",\r\n    \"LUO\": \"Luo (Kenija ir Tanzanija)\",\r\n    \"BAN\": \"Bali\",\r\n    \"BBC\": \"Batak Toba\",\r\n    \"MAK\": \"Makasarų\",\r\n    \"BEM\": \"Bemba (Zambija)\",\r\n    \"BEW\": \"Betavi\",\r\n    \"BIK\": \"Bikolų\",\r\n    \"BO\": \"Tibetiečių\",\r\n    \"BTS\": \"Batak Simalungun\",\r\n    \"BTX\": \"Batak Karo\",\r\n    \"BUA\": \"Buriatų\",\r\n    \"MIN\": \"Minangkabau\",\r\n    \"NEW\": \"Newari (Nepal Bhasa)\",\r\n    \"CGG\": \"Čiga\",\r\n    \"NR\": \"Pietų ndebelų\",\r\n    \"NUS\": \"Nuerų\",\r\n    \"CHM\": \"Mari (Rusija)\",\r\n    \"CNH\": \"Hakha Čin\",\r\n    \"PAG\": \"Pangasinanų\",\r\n    \"PAM\": \"Pampanga (Kapampangan)\",\r\n    \"PAP\": \"Papiamento\",\r\n    \"CRH\": \"Krymo totorių\",\r\n    \"CRS\": \"Seišelių kreolų\",\r\n    \"CV\": \"Čiuvašų\",\r\n    \"DIN\": \"Dinka\",\r\n    \"DOV\": \"Domari\",\r\n    \"DZ\": \"Dzonkha\",\r\n    \"RN\": \"Rundi (Kirundi)\",\r\n    \"ROM\": \"Romų\",\r\n    \"EWE\": \"Eve\",\r\n    \"FF\": \"Fula (Fulani)\",\r\n    \"SCN\": \"Siciliečių\",\r\n    \"SG\": \"Sango\",\r\n    \"SHN\": \"Šanų\",\r\n    \"SS\": \"Svazių (Siswati)\",\r\n    \"HIL\": \"Hiligainonų\",\r\n    \"SZL\": \"Sileziečių\",\r\n    \"HRX\": \"Hunsrikų\",\r\n    \"TET\": \"Tetumų\",\r\n    \"ZT\": \"Zapotekų\",\r\n    \"GAA\": \"Ga\"\r\n  },\r\n  \"MULTIPLE_FILES\": {\r\n    \"APPEND\": \"Pridėti failus\",\r\n\t\t\"STATUSS_UPLOADING\": \"Įkeliama...\",\r\n\t\t\"STATUSS_UPLOADED\": \"Įkelta\",\r\n\t\t\"PDF_DISCLAIMER\": \"Konvertuojant PDF gali atsirasti formatavimo klaidų arba teksto iškraipymų. Kai bus išversta, atsisiuntimo parinktyse pasirinkite „Atsisiųsti konvertuotą šaltinio PDF“, patikrinkite atsisiųstą failą, pataisykite klaidas ir vėl įkelkite failą versti.\",\r\n\t\t\"IMAGE_DISCLAIMER\": \"Konvertuojant vaizdą gali atsirasti formatavimo klaidų arba teksto iškraipymų.\",\r\n\t\t\"IMAGE_DISCLAIMER_LINK\": \"Skaitykite apie vaizdų konvertavimą.\",\r\n\t\t\"SCREEN_READER_ANNOUNCEMENT\": \"Išversta failų: {{translated}} iš {{total}}.\",\r\n    \"CLEAR_ALL\": \"Atšaukti\",\r\n    \"DOWNLOAD\": \"Atsisiųsti\",\r\n    \"STATUSS_INITIALIZING\": \"Inicijuojama\",\r\n    \"STATUSS_EXTRACTING\": \"Išgaunama\",\r\n    \"STATUSS_WAITING\": \"Paleidžiamas vertėjas\",\r\n    \"STATUSS_TRANSLATING\": \"Verčiama {{percent}}%\",\r\n    \"STATUSS_SAVING\": \"Įrašoma\",\r\n    \"STATUSS_COMPLETED\": \"Baigta\",\r\n    \"STATUSS_ERROR\": \"Klaida\",\r\n    \"STATUSS_QUEUING\": \"Eilėje\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Skaitykite apie pdf konvertavimą.\"\r\n  },\r\n  \"ERRORS\": {\r\n    \"INCREASE_MAX_NUMBER_OF_FILES_TITLE\": \"Įkėlimo limitas\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES\": \"Vienu metu galima išversti tik 1 failą. Jei norite padidinti limitą, reikia „Tilde MT“ prenumeratos. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Pradėti naudoti nemokamą bandomąją versiją</a>\",\r\n    \"E_504_TITLE\": \"Baigėsi vertimo skirtasis laikas\",\r\n    \"E_404200\": \"Modulio nerastas\",\r\n    \"E_404201\": \"Modulio terminų kolekcija nerasta\",\r\n    \"E_413102_TITLE\": \"Failo įkėlimas nepavyko\",\r\n    \"E_413102\": \"Įkeltas failas yra per didelis\",\r\n\t  \"E_400103\": \"Vertimas išfiltruotas dėl turinio\",\r\n    \"TRANSLATION_FAILED_TITLE\": \"Išversti nepavyko\",\r\n    \"TRANSLATION_FAILED\": \"Įvyko netikėta klaida.\",\r\n    \"TRANSLATION_FAILED_SUPPORT\": \" Jei problema kartojasi, kreipkitės į <a href=\\\"mailto:{{email}}\\\"><strong>pagalbos tarnybą</strong></a>.\",\r\n    \"FILE_TRANSLATION_LIMITS\": {\r\n      \"E_429001_TITLE\": \"Pasiektas failų vertimo limitas\",\r\n      \"E_429001\": \"Pasiekėte mėnesinį išverstų failų limitą: {{quotaFileLimit}}. <a href='{{pricingUrl}}' target='_blank'>Naujovinkite planą</a>, kad galėtumėte versti failus toliau.\"\r\n    },\r\n    \"ERROR_DEFAULT_TITLE\": \"Netikėta klaida\",\r\n\t\t\"ERROR_DEFAULT\": \"Įvyko netikėta klaida. Bandykite dar kartą.\",\r\n\t\t\"ERROR_DEFAULT_SUPPORT\": \" Jei problema kartojasi, kreipkitės į <a href=\\\"mailto:{{email}}\\\"><strong>pagalbos tarnybą</strong></a>.\",\r\n\t\t\"MAX_CHAR_LENGTH_TITLE\": \"Vertimo limitas\",\r\n\t\t\"MAX_CHAR_LENGTH\": \"Bus išversta tik {{maxCharLength}}/{{totalSymbols}} ženklų.</a>\",\r\n\t\t\"MAX_CHAR_LENGTH_SUBSCRIPTION\": \" Jei norite versti tekstą be apribojimų, reikia „Tilde MT“ prenumeratos. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Pradėti naudoti nemokamą bandomąją versiją</a>\",\r\n\t\t\"MAX_NUMBER_OF_FILES_TITLE\": \"Įkėlimo limitas\",\r\n\t\t\"MAX_NUMBER_OF_FILES\": \"Vienu metu galima išversti tik tiek failų: {{limit}}.\",\r\n\t\t\"FILE_ALREADY_ADDED_TITLE\": \"Failas jau pridėtas\",\r\n\t\t\"FILE_ALREADY_ADDED\": \"Failas „{{fileName}}“ jau pridėtas.\",\r\n\t\t\"UANUTHORIZED_401_TITLE\": \"Neįgaliotas\",\r\n\t\t\"E_CANNOT_READ_FILE_TITLE\": \"Nepavyksta perskaityti failo\",\r\n\t\t\"E_CANNOT_READ_FILE\": \"Failas „{{fileName}}“ sugadintas ir jo negalima išversti. Patikrinkite failą ir bandykite dar kartą.\",\r\n\t\t\"E_FAILED_IN_TRANSLATION_TITLE\": \"Išversti nepavyko\",\r\n\t\t\"E_FAILED_IN_TRANSLATION\": \"Verčiant įvyko klaida. Bandykite dar kartą.\",\r\n\t\t\"E_FAILED_IN_TRANSLATION_SUPPORT\": \" Jei problema kartojasi, kreipkitės į <a href=\\\"mailto:{{email}}\\\"><strong> pagalbos tarnybą</strong></a>.\",\r\n\t\t\"E_FORMAT_TRACK_CHANGES_TITLE\": \"Išversti nepavyko, nes įjungtas pakeitimų žymėjimas\",\r\n\t\t\"E_FORMAT_TRACK_CHANGES\": \"Prieš verčiant „Office“ failus, pirmiausia reikia priimti pakeitimus arba išjungti pakeitimų žymėjimą.\",\r\n\t\t\"E_UNKNOWN_ERROR_TITLE\": \"Nežinoma klaida\",\r\n\t\t\"E_UNAUTHORIZED_TITLE\": \"Neįgaliotas\",\r\n\t\t\"COLLECTION_CREATE_TITLE\": \"Nepavyko sukurti žodyno\",\r\n\t\t\"COLLECTION_CREATE\": \"Nepavyko sukurti naujo žodyno. Bandykite dar kartą.\",\r\n\t\t\"COLLECTION_CREATE_SUPPORT\": \" Jei problema kartojasi, kreipkitės į <a href=\\\"mailto:{{email}}\\\"><strong>pagalbos tarnybą</strong></a>.\",\r\n\t\t\"COLLECTION_IMPORT_TITLE\": \"Nepavyko pridėti žodyno\",\r\n\t\t\"COLLECTION_IMPORT\": \"Prie mašininio vertimo modulio nepavyko pridėti terminų rinkinio, kurio ID: {{termId}}. Bandykite dar kartą.\",\r\n\t\t\"E_12_TITLE\": \"Teksto dydžio limitas\",\r\n\t\t\"E_12\": \"Pasiektas teksto dydžio limitas. Užklausoje siųskite mažiau teksto.\",\r\n\t\t\"E_12_SUPPORT\": \" Jei norite padidinti teksto dydžio limitą, kreipkitės į <a href=\\\"mailto:{{email}}\\\"><strong>pagalbos tarnybą</strong></a>.\",\r\n\t\t\"E_21\": \"Galėsite versti po kelių akimirkų.\",\r\n\t\t\"E_22_TITLE\": \"Nerastas mašininio vertimo modulis\",\r\n\t\t\"E_22\": \"Nerastas mašininio vertimo modulis.\",\r\n\t\t\"E_22_SUPPORT\": \" Susisiekite su <a href=\\\"mailto:{{email}}\\\"><strong>pagalbos tarnyba</strong></a>.\",\r\n\t\t\"E_23\": \"Mašininio vertimo modulis nepaleistas.\",\r\n\t\t\"E_23_SUPPORT\": \" Kreipkitės į <a href=\\\"mailto:{{email}}\\\"><strong>pagalbos tarnybą</strong></a>.\",\r\n\t\t\"E_41\": \"Pateiktas nežinomas terminų tekstyno ID. Terminų tekstynas turi būti susietas su mašininio vertimo moduliu\",\r\n\t\t\"E_504\": \"Baigėsi veiksmui skirtas laikas.\",\r\n    \"UANUTHORIZED_401\": \"Neturite teisės naudoti mašininį vertimą.\",\r\n    \"UANUTHORIZED_401_SUPPORT\": \" Susisiekite su <a href=\\\"mailto:{{email}}\\\"><strong>palaikymo tarnyba</strong></a>.\",\r\n    \"E_UNKNOWN_FILE_TYPE\": \"Nežinomas failo tipas.\",\r\n    \"E_UNKNOWN_ERROR\": \"Aptikta nenustatyta klaida.\",\r\n    \"E_UNAUTHORIZED\": \"Dokumento vertimas atmestas.\",\r\n    \"E_11\": \"Pasiektas dienos vertimo limitas.\",\r\n    \"E_11_SUPPORT\": \" Jei norite padidinti dienos limitą, kreipkitės į <a href=\\\"mailto:{{email}}\\\"><strong>palaikymo tarnybą</strong></a>.\",\r\n    \"FILE_TRANSLATION_SUBSTATUS\": {\r\n\t\t\t\"BAD_FILE_ERROR_TITLE\": \"Nepavyko išversti failo\",\r\n\t\t\t\"BAD_FILE_ERROR\": \"Failas sugadintas ir jo negalima išversti. Patikrinkite failą ir bandykite dar kartą.\",\r\n\t\t\t\"NO_TEXT_EXTRACTED_ERROR_TITLE\": \"Nepavyko išskleisti jokio teksto\",\r\n\t\t\t\"NO_TEXT_EXTRACTED_ERROR\": \"Failas gali būti tuščias. Patikrinkite failą ir bandykite dar kartą.\",\r\n\t\t\t\"TRACK_CHANGES_ENABLED_ERROR_TITLE\": \"Išversti nepavyko, nes įjungtas pakeitimų žymėjimas\",\r\n\t\t\t\"TRACK_CHANGES_ENABLED_ERROR\": \"Prieš verčiant „Office“ failus, pirmiausia reikia priimti pakeitimus arba išjungti pakeitimų žymėjimą.\",\r\n\t\t\t\"UNKNOWN_FILE_TYPE_ERROR_TITLE\": \"Nežinomas failo tipas\",\r\n\t\t\t\"UNKNOWN_FILE_TYPE_ERROR\": \"Neatpažintas failo tipas. Gali būti, kad failo plėtinys neteisingas arba failas sugadintas.\"\r\n\t\t},\r\n    \"FILE_UPLOAD\": {\r\n      \"FILE_UPLOAD_EMPTY_TITLE\": \"Failas tuščias\",\r\n\t\t\t\"FILE_UPLOAD_EMPTY\": \"Įkeltas „{{fileName}}“ yra tuščias. Pasirinkite failą, kuriame yra turinio.\",\r\n\t\t\t\"FILE_UPLOAD_MAX_SIZE_TITLE\": \"Failo dydžio limitas\",\r\n\t\t\t\"FILE_UPLOAD_MAX_SIZE\": \"Įkeltas „{{fileName}}“ yra per didelis. Maksimalus dydis yra {{maxSizeMB}} MB\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE\": \"Nepalaikomas failo formatas\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"Įkelto failo „{{fileName}}“ formatas nepalaikomas. Galima versti šių formatų dokumentus: {{formatai}}.\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE\": \"Nepalaikomas failo formatas\",\r\n\t\t\t\"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER\": \"Jei norite versti failą „{{fileName}}“, reikia „Tilde MT“ prenumeratos. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Pradėti naudoti nemokamą bandomąją versiją</a>\",\r\n\t\t\t\"E_404_TITLE\": \"Failas nerastas\",\r\n\t\t\t\"E_404\": \"Pageidaujamo failo nėra\",\r\n      \"E_404_REMOVE_TITLE\": \"Panaikinti failo nepavyko\",\r\n      \"E_404_REMOVE\": \"Failas jau panaikintas\"\r\n    },\r\n    \"AUDIO\": {\r\n\t\t\t\"NO_SPEECH_TITLE\": \"Nėra kalbėjimo duomenų\",\r\n\t\t\t\"NO_SPEECH\": \"Jūsų įrašas buvo sustabdytas. Mes jūsų negirdėjome.\",\r\n\t\t\t\"MAX_TIME_EXCEEDED_TITLE\": \"Kalbėjimo limitas\",\r\n\t\t\t\"MAX_TIME_EXCEEDED\": \"Jūsų įrašas buvo sustabdytas. Kalbėjimo įvesties limitas: {{timeString}}.\",\r\n\t\t\t\"MIC_NOT_ALLOWED_TITLE\": \"Prieiga prie mikrofono uždrausta\",\r\n\t\t\t\"MIC_NOT_ALLOWED\": \"Jūs uždraudėte prieigą prie mikrofono. Pakeiskite teises naršyklės parametruose.\",\r\n\t\t\t\"MAX_SIZE_EXCEEDED_TITLE\": \"Kalbėjimo limitas\",\r\n\t\t\t\"MAX_SIZE_EXCEEDED\": \"Jūsų įrašas buvo sustabdytas ir išsiųstas apdoroti. Kalbėjimo įvestis dydžio limitas: ({{maxSizeMb}} MB).\",\r\n\t\t\t\"CANT_START_RECORDING_TITLE\": \"Nepavyko pradėti įrašymo\",\r\n\t\t\t\"CANT_START_RECORDING\": \"Nepavyksta pradėti įrašymo. Bandykite dar kartą.\",\r\n\t\t\t\"NO_TEXT_RECOGNIZED_Title\": \"Neatpažintas kalbėjimas\",\r\n\t\t\t\"NO_TEXT_RECOGNIZED\": \"Nepavyko atpažinti jokio kalbėjimo. Patikrinkite mikrofoną ir bandykite dar kartą.\"\r\n\t\t},\r\n    \"DETECTION\": {\r\n      \"UNAVAILABLE\": \"{{srcLang}}-{{trgLang}} vertimas nepalaikomas. Pasirinkite kalbas rankiniu būdu, jei jos neteisingai aptiktos.\"\r\n    }\r\n  },\r\n  \"ARIA_LABELS\": {\r\n    \"COPY\": \"Kopijuoti į mainų sritį\",\r\n\t\t\"OPEN_IN_NEW\": \"Atidaryti naujame skirtuke\",\r\n\t\t\"SWAP_LANGUAGES\": \"Sukeisti kalbas\",\r\n\t\t\"OTHER_LANGUAGES_TRIGGER\": \"Rodyti kitas kalbas\",\r\n    \"CLOSE_BUTTON\": \"Valyti\",\r\n    \"CLEAR_NOTIFICATION\": \"Uždaryti įspėjimą\",\r\n    \"CLEAR_SOURCE\": \"Valyti įvestą tekstą\",\r\n    \"CLOSE_DIALOG\": \"Uždaryti dialogo langą\",\r\n    \"CLEAR_FILES\": \"Valyti nusiųstus failus\",\r\n    \"SHOW_EXTENSIONS\": \"Rodyti kitas atsisiuntimo parinktis\",\r\n    \"REFRESH\": \"Atnaujinti vertimą\",\r\n\t\t\"CREATE_SUMMARY\": \"Kurti santrauką\"\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"COPY\": \"Kopijuoti į mainų sritį\",\r\n    \"SWAP_LANGUAGES\": \"Sukeisti kalbas\",\r\n    \"REFRESH\": \"Atnaujinti vertimą\",\r\n    \"DISLIKE\": \"Nepatinka\",\r\n\t\t\"CREATE_SUMMARY\": \"Kurti santrauką\",\r\n    \"UPLOAD\": \"Įkelti failą\"\r\n  },\r\n  \"PDF_CONVERSION\": {\r\n    \"TITLE_1\": \"PDF vertimas\",\r\n    \"PARAGRAPH_1_1\": \"Versti nusiųstas .pdf failas konvertuojamas į verčiamą formatą. Palaikomas ir nuskaitytas, ir savasis .pdf failai. Vertimus galima atsisiųsti .docx formatais ir bus išlaikytas pagrindinis formatavimas. \",\r\n    \"PARAGRAPH_1_2\": \"Konvertavimas užima laiko, norėdami paspartinti darbą, išskaidykite .pdf failus ir panaikinkite puslapius, kuriuose nėra verčiamos informacijos. Apdorojimo laikui turį įtakos įvairūs veiksniai, pavyzdžiui, puslapių skaičius, teksto kokybė ir tankumas.\",\r\n    \"PARAGRAPH_1_3\": \"Norint padidinti vertimo našumą, rekomenduojame atsisiųsti konvertuotą dokumentą originalo kalba ir, prieš pakartotinai nusiunčiant versti, pataisyti jį rankiniu būdu.\",\r\n    \"IMAGE_ALT_1\": \"Šaltinio PDF atsisiuntimo pavyzdys\",\r\n    \"TITLE_2\": \"PDF konvertavimas\",\r\n    \"PARAGRAPH_2_1\": \"Dokumentas analizuojamas ir jo turinys išskaidomas į teksto, lentelių ir vaizdo / fono sritis. Jos toliau analizuojamos, siekiant nustatyti, kurį turinį reikia atpažinti kaip tekstą.\",\r\n    \"PARAGRAPH_2_2\": \"Tekstiniai duomenys gaunami naudojant OCR optinį simbolių atpažinimą. Kiekvienas simbolis atpažįstamas atsižvelgiant į jo vizualines savybes, tada sudėliojami žodžiai ir sakiniai.\",\r\n    \"PARAGRAPH_2_3\": \"Atpažinimą veikia daug veiksnių, įskaitant:\",\r\n    \"LI_1_1\": \"Nuskaityto dokumento kokybė (neryškus arba deformuotas tekstas, vaizdo triukšmas, vaizdo raiška, kontrastas ir pan.). Siekiant geriausių rezultatų, .pdf failai turi būti mažiausiai 300 dpi, neiškraipyti ir be triukšmo.\",\r\n    \"LI_1_2\": \"Šrifto dydis. Mažesnį nei 9 taškų šriftai atpažįstami sunkiai. \",\r\n    \"LI_1_3\": \"Reti ir originalūs šriftai. Rečiau naudojami šriftai gali būti neatpažįstami ir atpažįstami prasčiau.\",\r\n    \"LI_1_4\": \"Dokumento struktūros ir formatavimo sudėtingumas.\",\r\n    \"TITLE_3\": \"Vertimo našumo didinimas\",\r\n    \"PARAGRAPH_3_1\": \"Konvertavimo procesas yra labai sudėtingas ir gali priklausyti nuo įvairių klaidų, atsiradusių dėl įvesties dokumento. \",\r\n    \"PARAGRAPH_3_2\": \"Problemos, į kurias reikia atkreipti dėmesį:\",\r\n    \"LI_2_1\": \"Netinkamai atpažinti žodžiai.\",\r\n    \"LI_2_2\": \"Netinkamo žodžių ribos.\",\r\n    \"LI_2_3\": \"Keliuose stulpeliuose, eilutėse arba puslapiuose išsidėstę sakiniai išskaidomi į skirtingus tekstinius objektus.\",\r\n    \"LI_2_4\": \"Ne vietoje išdėstytos poraštės ir antraštės.\",\r\n    \"LI_2_5\": \"Netinkamas numeravimas.\",\r\n    \"LI_2_6\": \"Lentelės atpažįstamos kaip fono vaizdai, o tekstinis turinys išdėstomas skirtinguose tekstiniuose objektuose.\",\r\n    \"LI_2_7\": \"Kai kurios diagramos atpažįstamos kaip vaizdai be jokio tekstinio turinio.\",\r\n    \"LI_2_8\": \"Skyrikliai, kraštinės ar kitos horizontalios linijos atpažįstamos kaip perbrauktas arba pabrauktas tekstas.\",\r\n    \"LI_2_9\": \"Nepavykęs turinio ar panašių sąrašų formatavimas arba atpažinimas kaip perbraukto arba pabraukto teksto.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Atminkite, kad gautame dokumente išliks ne visos originalaus formatavimo detalės.</b> Kai kurie vaizdai, lentelės arba diagramos gali išsikraipyti arba tapti paprastesni. Šriftai išvertame dokumente bus ne tokie patys kaip originale, bet gali būti panašūs. Gali būti netinkamai atpažintas šrifto dydis. Specifinis „Word“ formatavimas, pvz., antraštės, turiniai, antraštės ir poraštės, etiketės, formos ir pan., atrodys panašiai kaip originalios, tačiau ne visiškai atitiks originalias (pvz., pavadinimai bus paryškinti ir didesnio šrifto, bet antraštės stilius nebus nustatytas).\",\r\n    \"CLOSE\": \"Uždaryti dialogo langą\"\r\n  },\r\n  \"IMAGE_CONVERSION\": {\r\n\t\t\"TITLE_1\": \"Vaizdų vertimas\",\r\n\t\t\"PARAGRAPH_1_1\": \"Versti nusiųstas vaizdo failas konvertuotas į verčiamą formatą. Vertimus galima atsisiųsti .docx arba .tmx formatais, bus išlaikytas pagrindinis formatavimas.\",\r\n\t\t\"PARAGRAPH_1_2\": \"<b>Palaikomi vaizdo formatai:</b> .jpg, .jpeg, .png ir .bmp.\",\r\n\t\t\"PARAGRAPH_1_3\": \"Jei norite padidinti vertimo našumą, rekomenduojame atsisiųsti konvertuotą dokumentą originalo kalba ir, prieš pakartotinai nusiunčiant versti, pataisyti jį rankiniu būdu.\",\r\n\t\t\"IMAGE_ALT_1\": \"Šaltinio vaizdo atsisiuntimo pavyzdys\",\r\n\t\t\"TITLE_2\": \"Vaizdo konvertavimas\",\r\n\t\t\"PARAGRAPH_2_1\": \"Vaizdas analizuojamas ir jo turinys išskaidomas į teksto, lentelių ir vaizdo / fono sritis. Jos toliau analizuojamos, siekiant nustatyti, kokį turinį reikia atpažinti kaip tekstą.\",\r\n\t\t\"PARAGRAPH_2_2\": \"Tekstiniai duomenys gaunami naudojant OCR optinį ženklų atpažinimą. Kiekvienas ženklas atpažįstamas atsižvelgiant į jo vizualines savybes, tada sudėliojami žodžiai ir sakiniai.\",\r\n\t\t\"PARAGRAPH_2_3\": \"Atpažinimui įtakos turi daug veiksnių, įskaitant:\",\r\n\t\t\"LI_1_1\": \"Nuskaityto vaizdo kokybė (neryškus arba deformuotas tekstas, vaizdo triukšmas, vaizdo raiška, kontrastas ir pan.). Geriausi rezultatai gaunami, kai vaizdai yra bent 300 dpi dydžio, neiškraipyti ir be triukšmo.\",\r\n\t\t\"LI_1_2\": \"Šrifto dydis. Mažesni nei 9 punktų šriftai atpažįstami sunkiai. \",\r\n\t\t\"LI_1_3\": \"Reti ir originalūs šriftai. Rečiau naudojami šriftai gali būti neatpažįstami ir atpažįstami prasčiau.\",\r\n\t\t\"LI_1_4\": \"Dokumento struktūros ir formatavimo sudėtingumas.\",\r\n\t\t\"TITLE_3\": \"Vertimo našumo didinimas\",\r\n\t\t\"PARAGRAPH_3_1\": \"Konvertavimo procesas yra labai sudėtingas ir gali priklausyti nuo įvairių klaidų, atsiradusių dėl įvesties dokumento. \",\r\n\t\t\"PARAGRAPH_3_2\": \"Problemos, į kurias reikia atkreipti dėmesį:\",\r\n\t\t\"LI_2_1\": \"Netinkamai atpažinti žodžiai.\",\r\n\t\t\"LI_2_2\": \"Netinkamos žodžių ribos.\",\r\n\t\t\"LI_2_3\": \"Keliuose stulpeliuose, eilutėse arba puslapiuose išsidėstę sakiniai išskaidomi į skirtingus tekstinius objektus.\",\r\n\t\t\"LI_2_4\": \"Ne vietoje išdėstytos poraštės ir antraštės.\",\r\n\t\t\"LI_2_5\": \"Netinkamas numeravimas.\",\r\n\t\t\"LI_2_6\": \"Lentelės atpažįstamos kaip fono vaizdai, o tekstinis turinys išdėstomas skirtinguose tekstiniuose objektuose.\",\r\n\t\t\"LI_2_7\": \"Kai kurios diagramos atpažįstamos kaip vaizdai be jokio tekstinio turinio.\",\r\n\t\t\"LI_2_8\": \"Skyrikliai, kraštinės ar kitos horizontalios linijos atpažįstamos kaip perbrauktasis arba pabrauktasis tekstas.\",\r\n\t\t\"PARAGRAPH_4_1\": \"<b>Atminkite, kad gautame dokumente išliks ne visos originalaus formatavimo ypatybės.</b> Kai kurie vaizdai, lentelės arba diagramos gali išsikraipyti arba tapti paprastesni. Šriftai išvertame dokumente bus ne tokie patys kaip originale, bet gali būti panašūs. Gali būti netinkamai atpažintas šrifto dydis.\",\r\n\t\t\"CLOSE\": \"Uždaryti dialogo langą\"\r\n\t},\r\n  \"WEBTRANSLATE\": {\r\n    \"BACK\": \"Atgal į vertėją\",\r\n    \"LOAD_PAGE\": \"Įkelti puslapį\",\r\n    \"RESTORE\": \"Atkurti\",\r\n    \"CANCEL\": \"Atšaukti\",\r\n    \"SEARCH\": \"Ieškoti svetainės\",\r\n    \"NO_RECORDS\": {\r\n      \"TITLE\": \"Ieškokite verstinos svetainės\",\r\n      \"DESCRIPTION\": \"Pamatykite, <a href='{{helpUrl}}' target='_blank' class='underline'>kaip tai padaryti</a>\"\r\n    }\r\n  },\r\n  \"DATE_AGO\": {\r\n    \"YEAR\": \"Prieš {{value}} m.\",\r\n    \"YEARS\": \"Prieš {{value}} m.\",\r\n    \"MONTH\": \"Prieš {{value}} mėnesį\",\r\n    \"MONTHS\": \"Prieš {{value}} mėn.\",\r\n    \"WEEK\": \"Prieš {{value}} savaitę\",\r\n    \"WEEKS\": \"Prieš {{value}} sav.\",\r\n    \"DAY\": \"Prieš {{value}} dieną\",\r\n    \"DAYS\": \"Prieš {{value}} d.\",\r\n    \"HOUR\": \"Prieš {{value}} valandą\",\r\n    \"HOURS\": \"Prieš {{value}} val.\",\r\n    \"MINUTE\": \"Prieš {{value}} minutę\",\r\n    \"MINUTES\": \"Prieš {{value}} min.\",\r\n    \"SECOND\": \"Prieš {{value}} sekundę\",\r\n    \"SECONDS\": \"Prieš {{value}} sek.\",\r\n    \"JUST_NOW\": \"Ką tik\"\r\n  },\r\n  \"TERM_COLLECTIONS\": {\r\n    \"TITLE\": \"Žodynai\",\r\n    \"DEFAULT\": \"Numatyt.\",\r\n    \"DESCRIPTION\": \"Užtikrinkite vertimų tikslumą ir patikimumą, pasirinkdami iš sąrašo tinkamiausią žodyną.\",\r\n    \"DESCRIPTION_EMPTY\": \"<span>Sukurkite naują žodyną</span> kalbų kombinacijai {{srcLang}}–{{trgLang}} arba atidarykite skiltį <span>Numatytųjų žodynų tvarkymas</span> ir sukurkite žodyną ten, kad naudotumėte versdami šią platformą.\",\r\n    \"UNAVAILABLE_GLOSSARIES\": \"Pasiekiamų žodynų nėra\",\r\n    \"LAST_UPDATED\": \"Paskutinį kartą atnaujinta: {{date}}\",\r\n    \"TERMS_IN_USE\": \"Naudojami terminai: {{termCount}}\",\r\n    \"DEFAULT_GLOSSARY_MANAGEMENT\": \"Tvarkyti numatytuosius žodynus\",\r\n    \"GLOSSARY\": \"Žodynas: \",\r\n    \"SELECTED_NONE\": \"Nėra\",\r\n    \"EDIT\": \"Redaguoti\",\r\n    \"CREATE\": \"Naujas žodynas\",\r\n    \"DEFAULT_COLLECTION_NAME\": \"Mano terminų rinkinys\",\r\n    \"SYNC\": \"Sinchronizuoti\",\r\n    \"SYNC_ERROR\": \"Kartoti\",\r\n    \"ARIA_LABELS\": {\r\n      \"RADIO_GROUP\": \"Pasirinkite terminų rinkinį\",\r\n      \"OTHER_COLLECTIONS\": \"Atidaryti rinkinio meniu\"\r\n    },\r\n    \"CREATE_DIALOG\": {\r\n      \"CANCEL\": \"Atšaukti\",\r\n      \"CREATE\": \"Kurti\",\r\n      \"DESCRIPTION_2\": \"<i>* Dirbtinis intelektas nėra tobulas ir kartais gali klysti. Jūsų unikalūs terminai bus naudojami teisingai 95 % tikslumu.</i>\",\r\n      \"TITLE\": \"Kurti naują žodyną\",\r\n      \"COLLECTION_NAME_ERROR\": \"Pavadinimas turėtų būti bent tiek simbolių ilgio: {{minLength}} ir ne ilgesnis nei tiek simbolių: {{maxLength}}\",\r\n      \"COLLECTION_NAME_LABEL\": \"Žodyno pavadinimas\",\r\n      \"DESCRIPTION_1\": \"Spustelėję „Sukurti“, būsite nukreipti į platformą „Tilde Term“, kur galėsite įtraukti terminų.\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"EDIT\": \"Būsite nukreipti į terminologijos portalą, kuris bus atidarytas naujame skirtuke\",\r\n      \"NO_ENTRIES\": \"Terminų rinkinio naudoti negalima, nes nėra šaltinio kalbos terminų\",\r\n      \"SYNC\": \"Atnaujinti terminų rinkinį\",\r\n      \"SYNCING\": \"Terminų rinkinys sinchronizuojamas ir bus naudojama paskutinė sinchronizuota rinkinio versija\",\r\n      \"ATTACH_TO_SYSTEM_ERROR\": \"Importuojant terminų rinkinį įvyko klaida\",\r\n      \"IMPORTING\": \"Žodynas importuojamas\",\r\n      \"DEFAULT_COLLECTION\": \"Dabar šie terminai naudojami. Juos tvarkyti galite skiltyje „Numatytųjų žodynų tvarkymas“. \"\r\n    },\r\n    \"READER\": {\r\n      \"TITLE\": \"Žodynai\",\r\n      \"UNAVAILABLE\": \"Žodynai nepasiekiami\",\r\n      \"AUTH_UNAVAILABLE\": \"Tik terminų redaktoriai gali kurti naujus žodynus.\",\r\n      \"TEXT\": \"Žodynus pasiekti galit tik autorizuoti naudotojai. </br> <a href='{{signInUrl}}'>Prisijunkite</a> arba <a href='{{startTrialUrl}}'>pradėkite naudotis nemokama bandomąja versija</a>, kad atrakintumėte žodyną.\"\r\n    },\r\n    \"ERRORS\": {\r\n      \"ERRORIMPORTING\": \"Importavimo klaida\"\r\n    }\r\n  },\r\n  \"DOMAINS\": {\r\n    \"OPEN_LIST_ARIA_LABEL\": \"Atidaryti domenų sąrašą\",\r\n\t\t\"TITLE\": \"Domenas:\",\r\n\t\t\"GENERAL\": \"Bendrasis\",\r\n\t\t\"AUTO\": \"Automatinis aptikimas\",\r\n    \"LAW\": \"Teisė\",\r\n    \"DYNAMIC_LEARNING\": \"Dinaminis mokymasis\",\r\n    \"BUSINESS\": \"Verslas\",\r\n    \"SPD\": \"ES oficiali kalba\",\r\n    \"GEN\": \"Bendro pobūdžio tekstas\",\r\n    \"ECB\": \"Finansai\",\r\n    \"ECJ\": \"Europos Teisingumo Teismas\",\r\n    \"PUBHEALTH\": \"Visuomenės sveikata\",\r\n    \"BUBA\": \"Deutsche Bundesbank\",\r\n    \"BERCY\": \"Ministère des Finances\",\r\n    \"EUROPEANA\": \"Europeana\",\r\n    \"IPO\": \"IN teismų praktika\",\r\n    \"TRIS\": \"Moduliai, sukurti naudojant duomenis iš techninės reglamentų informacinės sistemos\",\r\n    \"VK\": \"Valtioneuvoston Kanslia\",\r\n    \"BUBA_NMTTEST\": \"Deutsche Bundesbank Test\",\r\n    \"GENERAL_AI\": \"Bendrasis DI\",\r\n\t\t\"ACADEMIC_AI\": \"Akademinis DI\",\r\n\t\t\"PROFESSIONAL_AI\": \"Profesionalus DI\"\r\n  },\r\n\t\"AUDIO\": {\r\n\t\t\"CANCEL\": \"Atšaukti\",\r\n\t\t\"DESCRIBE_STATE_RECORDING\": \"Kalbėkite, kad įrašytumėte...\",\r\n\t\t\"DESCRIBE_STATE_PROCESSING\": \"Apdorojama...\",\r\n\t\t\"MIC_NOT_FOUND\": \"Mikrofonas nerastas\",\r\n\t\t\"STOP\": \"Stabdyti įrašymą\",\r\n\t\t\"START\": \"Versti kalbėjimą\",\r\n\t\t\"PUNCTUATION_MESSAGE_TITLE\": \"Įtraukti skyrybos ženklus\",\r\n\t\t\"PUNCTUATION_MESSAGE\": \"Atpažintame tekste sudėkite skyrybos ženklus. Ilgo teksto be skyrybos ženklų vertimo kokybė gali būti prastesnė arba jo gali nepavykti išversti\"\r\n\t},\r\n\t\"EXTENSION_POPUP\": {\r\n\t\t\"OPEN\": \"peržiūrėti visus palaikomus formatus\",\r\n\t\t\"TITLE\": \"Palaikomi failų formatai\",\r\n\t\t\"DESCRIPTION\": \"Norint užtikrinti teisingą failo vertimą, koduotė turi būti UTF-8 arba UTF-16\",\r\n\t\t\"OFFICE\": \"„Office“\",\r\n\t\t\"SCANNED\": \"Nuskaityti failai\",\r\n\t\t\"INTERCHANGE\": \"Apsikeitimo formatai\",\r\n\t\t\"WEB\": \"Žiniatinklis\",\r\n\t\t\"OTHER\": \"Kiti\"\r\n\t},\r\n\t\"FILE_UPLOAD\": {\r\n\t\t\"UPLOAD\": \"Pasirinkite\",\r\n\t\t\"DRAG_AND_DROP\": \"arba nuvilkite \",\r\n\t\t\"FILE\": \"failus\",\r\n\t\t\"FILES\": \"failai\",\r\n\t\t\"LIMITS_MB\": \"Maks. {{maxSizeMB}} MB\",\r\n    \"CLEAR\": \"Valyti failą\",\r\n    \"SELECT_LANGUAGE_WARNING\": \"Pasirinkite failo originalo kalbą.\"\r\n\t},\r\n  \"SYSTEM_PICKER\": {\r\n    \"SOURCE\": \"Versti iš\",\r\n    \"TARGET\": \"Versti į\",\r\n    \"SEARCH_PLACEHOLDER\": \"Ieškoti kalbų\",\r\n    \"RECENT_SYSTEM_TITLE\": \"Paskiausia\",\r\n    \"SELECT_DOMAIN\": \"Pasirinkti domeną\",\r\n    \"FILTER_NO_RESULTS\": \"Rezultatų nėra\",\r\n    \"ALL_LANGUAGES\": \"Visos kalbos\",\r\n    \"CLEAR_SEARCH\": \"Valyti paieškos tekstą\",\r\n    \"OPEN_SOURCE_ARIA_LABEL\": \"Pasirinkite šaltinio kalbą\",\r\n    \"OPEN_TARGET_ARIA_LABEL\": \"Pasirinkite vertimo kalbą ir domeną\",\r\n    \"DETECTED\": \"Aptikta\",\r\n    \"LANGUAGE\": \"Kalba:\",\r\n    \"TRANSLATION_STYLE\": \"Sritis:\"\r\n  },\r\n  \"TEXT_TRANSLATION_PROGRESS_INDICATOR\": {\r\n    \"TITLE\": \"Vertimą pateikė „{{provider}}“\",\r\n    \"TRANSLATING\": \"Verčiama...\",\r\n    \"CLOSE_BUTTON_TOOLTIP\": \"Pašalinti eigos juostą\",\r\n    \"CLOSE_BUTTON_ARIA_LABEL\": \"Pašalinti eigos juostą\"\r\n  },\r\n  \"VENDOR_MESSAGE\": {\r\n    \"TEXT\": \"Vertimą pateikė „{{vendor}}“\",\r\n    \"ICON_TOOLTIP\": \"Teikėjo „{{vendor}}“ siūlomomis sistemomis naudojasi daugybė naudotojų. Kartais dėl didelio darbų kiekio jos gali veikti lėtai.\"\r\n  },\r\n  \"VENDORS\": {\r\n    \"ETRANSLATION\": \"eTranslation\"\r\n  },\r\n  \"TEXT_TO_SPEECH\": {\r\n    \"PLAY\": \"Klausyti\",\r\n    \"PAUSE\": \"Pristabdyti\"\r\n  },\r\n  \"DICTIONARY\": {\r\n    \"SOURCE\": \"Rezultatai iš {{src}}\"\r\n  }\r\n}\r\n","\r\nexport const i18n_lv = {\r\n  \"APP_NAME\": \"Tilde MT\",\r\n  \"TERM_PORTAL_NAME\": \"Tilde Term\",\r\n  \"TLD_TRANSLATE\": {\r\n    \"FILE_DOWNLOAD_SOURCE_HELP\": \"PDF faila konvertēšana var radīt formatējuma kļūdas vai teksta kropļojumus. Lūdzu, pārbaudiet konvertēto failu un labojiet kļūdas, pirms vēlreiz augšupielādējat failu tulkošanai\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_TITLE\": \"Tulkošanas ierobežojums\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG\": \"Tiks tulkoti tikai pirmie 1250 vārdi.\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_SUBSCRIPTION\": \" Lai tulkotu pilnus failus, nepieciešams Tilde MT abonements. <a href=\\\"{{pricingUrl}}\\\" target='_blank'>Sāciet ar bezmaksas izmēģinājumversiju</a>\",\r\n    \"DOWNLOAD_TRANSLATED\": \"Lejupielādēt\",\r\n    \"FILE_DOWNLOAD_SOURCE_IMAGE\": \"Lejupielādēt pārveidotu avota attēlu\",\r\n    \"FILE_DOWNLOAD_SOURCE_IMAGE_HELP\": \"Attēla pārveidošana var radīt formatējuma kļūdas vai teksta kropļojumus. Lūdzu, pārbaudiet pārveidoto failu un labojiet kļūdas, pirms vēlreiz augšupielādējat failu tulkošanai\",\r\n    \"FILE_TANSLATION_STATUSS_COMPLETED\": \"\",\r\n    \"FILE_TANSLATION_STATUSS_ERROR\": \"\",\r\n    \"IMAGE_DISCLAIMER_LINK\": \"Lasiet par attēla pārveidošanu.\",\r\n    \"ERROR_NO_SYSTEMS_LOADED_TITLE\": \"Netika ielādēta neviena tulkošanas sistēma\",\r\n    \"ERROR_NO_SYSTEMS_LOADED\": \"Neizdevās ielādēt mašīntulkošanas sistēmas.\",\r\n    \"ERROR_NO_SYSTEMS_LOADED_SUPPORT\": \" Lūdzu, atkārtoti ielādējiet lapu vai sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong> atbalsta dienestu</strong></a>.\",\r\n    \"PDF_PAGE_LIMIT_MSG_TITLE\": \"Tulkošanas ierobežojums\",\r\n    \"PDF_PAGE_LIMIT_MSG\": \"Tiks tulkota tikai pirmā lappuse.\",\r\n    \"PDF_PAGE_LIMIT_MSG_SUBSCRIPTION\": \" Lai tulkotu pilnus PDF failus, nepieciešams Tilde MT abonements. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Sāciet ar bezmaksas izmēģinājumu</a>\",\r\n    \"CLEAR_SOURCE_TOOLTIP\": \"Notīrīt tekstu\",\r\n    \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Ievadiet tulkojamo tekstu.\",\r\n    \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Neizmantojiet programmu {{appName}}, lai tulkotu konfidenciālu vai slepenu informāciju vai tekstus, kuros ir īpašu kategoriju personas dati, piemēram, veselības dati\",\r\n    \"REGISTERED_FORMATS_LOGGED_IN\": \"Reģistrētajiem lietotājiem ir piekļuve šādu formātu dokumentu tulkošanai: {{formats}}.\",\r\n    \"REGISTERED_FORMATS\": \"Reģistrētajiem lietotājiem ir piekļuve šādu formātu dokumentu tulkošanai: {{formats}}. Pieprasiet piekļuvi <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\">šeit</a>.\",\r\n    \"SOURCE_FORMATS\": \"Drošais publiskais tulkošanas pakalpojums atbalsta šādu formātu dokumentus: {{formats}};\",\r\n    \"CANCEL_TRANSLATION\": \"Atcelt\",\r\n    \"FILE_TARGET_PREVIEW_MESSAGE\": \"Šis ir tulkotā dokumenta priekšskatījuma paraugs. Lūdzu, lejupielādējiet, lai saņemtu pilnu tulkojumu.\",\r\n    \"SOURCE_TOOLTIP\": \"Ievadiet tulkojamo tekstu vai sākumlapas adresi.\",\r\n    \"TARGET_DESCRIPTION\": \"Izmantojot mašīntulkošanu, var saprast avota teksta nozīmi, bet tā nevar aizstāt cilvēka veiktu tulkojumu.\",\r\n    \"TEXT_COPIED\": \"Tulkojums nokopēts\",\r\n    \"TOOLTIP_ACTION\": \"Tulkot\",\r\n    \"FILE_DOWNLOAD_SOURCE\": \"Lejupielādēt pārveidotu avota PDF failu\",\r\n    \"FILE_TANSLATION_STATUSS_QUEUING\": \"Tiek sākta tulkošana...\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Skatīt, kā to labot\",\r\n    \"VENDORS_ARIA_LABEL\": \"Nodrošinātāji\",\r\n    \"SUGGEST_TRANSLATION_LABEL\": \"Lejupielādēt tulkojumu\",\r\n    \"FROM\": \"No:\",\r\n    \"TO\": \"Uz:\",\r\n    \"SUMMARY\": {\r\n      \"TITLE\": \"Kopsavilkums\",\r\n      \"CREATING\": \"Kopsavilkuma izveide\",\r\n      \"DISABLED\": \"Lai varētu lietot kopsavilkuma funkciju, tekstam ir jābūt vismaz 300 rakstzīmju garam\",\r\n      \"COPIED\": \"Kopsavilkums nokopēts\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Izveido kopsavilkumu\",\r\n        \"DESCRIPTION\": \"Apkopojiet garu tekstu saturu īsā pārskatā ar svarīgāko punktu uzskaitījumu.\",\r\n        \"CLOSE\": \"Aizvērt\"\r\n      }\r\n    },\r\n    \"REPHRASE\": {\r\n      \"TITLE\": \"Pārfrāzēt\",\r\n      \"CHOOSE_LABEL\": \"Izvēlies rakstīšanas stilu\",\r\n      \"TOOLTIP\": \"Pārfrāzē tekstu norādītajā rakstīšanas stilā, pielāgojot valodu un toni mērķa stilam vai balsij.\",\r\n      \"LOADING\": \"Pārfrāzēšana\",\r\n      \"COPIED\": \"Pārfrāze kopēta\",\r\n      \"HINT\": \"Pārfrāzē tekstu, lai mainītu formulējumu vai precīzāk atspoguļotu toni. Izvēlies kādu no 3 stiliem: Vispārīgs, Profesionāls, Akadēmisks.\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Pārfrāzēt\",\r\n        \"DESCRIPTION\": \"Pārfrāzē tekstu norādītajā rakstīšanas stilā, pielāgojot valodu un toni mērķa stilam vai balsij.\",\r\n        \"CLOSE\": \"Aizvērt\"\r\n      },\r\n      \"STYLES\": {\r\n        \"GENERAL\": \"Vispārīgs\",\r\n        \"PROFESSIONAL\": \"Profesionāls\",\r\n        \"ACADEMIC\": \"Akadēmisks\"\r\n      }\r\n    }\r\n  },\r\n  \"LANGUAGES\": {\r\n    \"AUTO\": \"Noteikt valodu\",\r\n    \"AR\": \"Arābu\",\r\n    \"LV\": \"Latviešu\",\r\n    \"ET\": \"Igauņu\",\r\n    \"DA\": \"Dāņu\",\r\n    \"FI\": \"Somu\",\r\n    \"IS\": \"Islandiešu\",\r\n    \"LT\": \"Lietuviešu\",\r\n    \"SV\": \"Zviedru\",\r\n    \"BE\": \"Baltkrievu\",\r\n    \"BG\": \"Bulgāru\",\r\n    \"CS\": \"Čehu\",\r\n    \"CZ\": \"Čehu\",\r\n    \"HU\": \"Ungāru\",\r\n    \"RU\": \"Krievu\",\r\n    \"MO\": \"Moldāvu\",\r\n    \"PL\": \"Poļu\",\r\n    \"SK\": \"Slovāku\",\r\n    \"UK\": \"Ukraiņu\",\r\n    \"NL\": \"Holandiešu\",\r\n    \"EN\": \"Angļu\",\r\n    \"FR\": \"Franču\",\r\n    \"DE\": \"Vācu\",\r\n    \"GA\": \"Īru\",\r\n    \"EL\": \"Grieķu\",\r\n    \"IT\": \"Itāliešu\",\r\n    \"MT\": \"Maltiešu\",\r\n    \"PT\": \"Portugāļu\",\r\n    \"SR\": \"Serbu\",\r\n    \"SL\": \"Slovēņu\",\r\n    \"ES\": \"Spāņu\",\r\n    \"ZH\": \"Ķīniešu\",\r\n    \"JA\": \"Japāņu\",\r\n    \"KO\": \"Korejiešu\",\r\n    \"TR\": \"Turku\",\r\n    \"HR\": \"Horvātu\",\r\n    \"RO\": \"Rumāņu\",\r\n    \"UZ\": \"Uzbeku\",\r\n    \"ID\": \"Indonēziešu\",\r\n    \"BA\": \"Baškīru\",\r\n    \"BRX\": \"Bodo\",\r\n    \"FJ\": \"Fidžiešu\",\r\n    \"DSB\": \"Lejas sorbu\",\r\n    \"GOM\": \"Konkani\",\r\n    \"HNE\": \"Čhatisgari\",\r\n    \"HSB\": \"Augšsorbu\",\r\n    \"IKT\": \"Inuinnaqtun\",\r\n    \"IU\": \"Inuktituts\",\r\n    \"IU_LATN\": \"Inuktituts (Latīņu)\",\r\n    \"KS\": \"Kašmīru\",\r\n    \"IZH\": \"Ķīniešu (Literārais)\",\r\n    \"MWW\": \"Hmong Daw (Latīņu)\",\r\n    \"RUN\": \"Rundi\",\r\n    \"TY\": \"Taiti\",\r\n    \"YUA\": \"Jukatekmaiju\",\r\n    \"KU\": \"Kurdu Centrālā\",\r\n    \"KMR\": \"Kurdu Ziemeļu\",\r\n    \"ZH_HANS\": \"Ķīniešu (vienkāršotā)\",\r\n    \"ZH_HANT\": \"Ķīniešu (tradicionālā)\",\r\n    \"LZH\": \"Ķīniešu (literārā)\",\r\n    \"OTQ\": \"Querétaro Otomi\",\r\n    \"AB\": \"Abhāzu\",\r\n    \"ACE\": \"Ačehu\",\r\n    \"ACH\": \"Ačolu\",\r\n    \"KTU\": \"Kitubu (Kongo)\",\r\n    \"ALZ\": \"Aluru\",\r\n    \"AWA\": \"Avadhi\",\r\n    \"LI\": \"Limburgiešu\",\r\n    \"LIJ\": \"Ligūriešu\",\r\n    \"LMO\": \"Lombardiešu\",\r\n    \"LTG\": \"Latgaļu\",\r\n    \"LUO\": \"Luo (Kenija un Tanzānija)\",\r\n    \"BAN\": \"Bali\",\r\n    \"BBC\": \"Bataku Toba\",\r\n    \"MAK\": \"Makasaru\",\r\n    \"BEM\": \"Bembu (Zambija)\",\r\n    \"BEW\": \"Betavi\",\r\n    \"BIK\": \"Bikolu\",\r\n    \"BO\": \"Tibetiešu\",\r\n    \"BTS\": \"Bataku Simalungunu\",\r\n    \"BTX\": \"Bataku Karo\",\r\n    \"BUA\": \"Burjatu\",\r\n    \"MIN\": \"Minangkabau\",\r\n    \"NEW\": \"Newari (Nepālas Bhasa)\",\r\n    \"CGG\": \"Čiga\",\r\n    \"NR\": \"Dienvidu ndebele\",\r\n    \"NUS\": \"Nueru\",\r\n    \"CHM\": \"Mari (Krievija)\",\r\n    \"CNH\": \"Hakha činu\",\r\n    \"PAG\": \"Pangasinu\",\r\n    \"PAM\": \"Pampanga (Kapampanganu)\",\r\n    \"PAP\": \"Papiamento\",\r\n    \"CRH\": \"Krimas tatāru\",\r\n    \"CRS\": \"Seišelu kreolu\",\r\n    \"CV\": \"Čuvašu\",\r\n    \"DIN\": \"Dinku\",\r\n    \"DOV\": \"Domaru\",\r\n    \"DZ\": \"Dzongke\",\r\n    \"RN\": \"Rundi (Kirundi)\",\r\n    \"ROM\": \"Čigānu\",\r\n    \"EWE\": \"Eve\",\r\n    \"FF\": \"Fula (Fulani)\",\r\n    \"SCN\": \"Sicīliešu\",\r\n    \"SG\": \"Sango\",\r\n    \"SHN\": \"Šanu\",\r\n    \"SS\": \"Svatu (Sisvati)\",\r\n    \"HIL\": \"Hiligainonu\",\r\n    \"SZL\": \"Silēziešu\",\r\n    \"HRX\": \"Hunsriku\",\r\n    \"TET\": \"Tetumu\",\r\n    \"ZT\": \"Zapoteku\",\r\n    \"GAA\": \"Ga\"\r\n  },\r\n  \"MULTIPLE_FILES\": {\r\n    \"APPEND\": \"Pievienot failus\",\r\n    \"STATUSS_UPLOADING\": \"Notiek augšupielāde...\",\r\n    \"STATUSS_UPLOADED\": \"Augšupielādēts\",\r\n    \"PDF_DISCLAIMER\": \"PDF faila pārveidošana var radīt formatējuma kļūdas.\",\r\n    \"IMAGE_DISCLAIMER\": \"Attēla pārvēršana var radīt formatējuma kļūdas vai teksta kropļojumus.\",\r\n    \"IMAGE_DISCLAIMER_LINK\": \"Lasiet par attēla pārveidošanu.\",\r\n    \"SCREEN_READER_ANNOUNCEMENT\": \"Iztulkoti {{translated}} faili no {{total}}.\",\r\n    \"CLEAR_ALL\": \"Aizvērt\",\r\n    \"DOWNLOAD\": \"Lejupielādēt\",\r\n    \"STATUSS_INITIALIZING\": \"Notiek inicializēšana\",\r\n    \"STATUSS_EXTRACTING\": \"Notiek izvilkšana\",\r\n    \"STATUSS_WAITING\": \"Notiek tulkotāja aktivizēšana\",\r\n    \"STATUSS_TRANSLATING\": \"Notiek tulkošana {{percent}}%\",\r\n    \"STATUSS_SAVING\": \"Notiek saglabāšana\",\r\n    \"STATUSS_COMPLETED\": \"Pabeigts\",\r\n    \"STATUSS_ERROR\": \"Kļūda\",\r\n    \"STATUSS_QUEUING\": \"Atrodas rindā\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Lasiet par PDF failu pārveidošanu.\"\r\n  },\r\n  \"ERRORS\": {\r\n    \"INCREASE_MAX_NUMBER_OF_FILES_TITLE\": \"Augšupielādes ierobežojums\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES\": \"Vienlaikus var tulkot tikai 1 failu. Lai palielinātu ierobežojumu, nepieciešams Tilde MT abonements. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Sāciet ar bezmaksas izmēģinājumversiju</a>\",\r\n    \"E_404200\": \"Dzinējs nav atrasts\",\r\n    \"E_404201\": \"Glosārijs nav atrasts\",\r\n    \"E_413102_TITLE\": \"Faila augšupielādes kļūda\",\r\n    \"E_413102\": \"Augšupielādētais fails ir pārāk liels\",\r\n\t  \"E_400103\": \"Tulkojums ir filtrēts satura dēļ\",\r\n    \"FILE_TRANSLATION_LIMITS\": {\r\n        \"E_429001_TITLE\": \"Sasniegts failu tulkošanas ierobežojums\",\r\n        \"E_429001\": \"Esat sasniedzis savu {{quotaFileLimit}} iztulkoto failu mēneša ierobežojumu. Lai turpinātu failu tulkošanu, <a href='{{pricingUrl}}' target='_blank'>jauniniet plānu</a>.\"\r\n    },\r\n    \"ERROR_DEFAULT_TITLE\": \"Neparedzēta kļūda\",\r\n    \"ERROR_DEFAULT\": \"Radās neparedzēta kļūda. Lūdzu, mēģiniet vēlreiz.\",\r\n    \"ERROR_DEFAULT_SUPPORT\": \" Ja problēma atkārtojas, sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"MAX_CHAR_LENGTH_TITLE\": \"Tulkošanas ierobežojums\",\r\n    \"MAX_CHAR_LENGTH\": \"Tiks tulkotas tikai {{maxCharLength}}/{{totalSymbols}} rakstzīmes.\",\r\n    \"MAX_CHAR_LENGTH_SUBSCRIPTION\": \" Neierobežotai teksta tulkošanai ir nepieciešams Tilde MT abonements. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Sāciet ar bezmaksas izmēģinājumu</a>\",\r\n    \"MAX_NUMBER_OF_FILES_TITLE\": \"Augšupielādes ierobežojums\",\r\n    \"MAX_NUMBER_OF_FILES\": \"Vienlaikus var tulkot tikai {{limit}} failus.\",\r\n    \"FILE_ALREADY_ADDED_TITLE\": \"Fails jau ir pievienots\",\r\n    \"FILE_ALREADY_ADDED\": \"Fails “{{fileName}}” jau ir pievienots.\",\r\n    \"UANUTHORIZED_401_TITLE\": \"Nav atļaujas\",\r\n    \"E_CANNOT_READ_FILE_TITLE\": \"Nevar nolasīt failu\",\r\n    \"E_CANNOT_READ_FILE\": \"Fails “{{fileName}}” ir bojāts, un to nevarēja tulkot. Pārbaudiet failu un mēģiniet vēlreiz.\",\r\n    \"E_FAILED_IN_TRANSLATION_TITLE\": \"Tulkošana neizdevās\",\r\n    \"E_FAILED_IN_TRANSLATION\": \"Tulkojot radās kļūda. Lūdzu, mēģiniet vēlreiz.\",\r\n    \"E_FAILED_IN_TRANSLATION_SUPPORT\": \" Ja problēma atkārtojas, sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"E_FORMAT_TRACK_CHANGES_TITLE\": \"Tulkošana neizdevās, jo ir ieslēgta izmaiņu reģistrēšanas opcija\",\r\n    \"E_FORMAT_TRACK_CHANGES\": \"Pirms Office failu tulkošanas vispirms ir jāakceptē izmaiņas vai jāizslēdz izmaiņu reģistrēšanas opcija.\",\r\n    \"E_UNKNOWN_ERROR_TITLE\": \"Nezināma kļūda\",\r\n    \"E_UNAUTHORIZED_TITLE\": \"Nav atļaujas\",\r\n    \"COLLECTION_CREATE_TITLE\": \"Neizdevās izveidot glosāriju\",\r\n    \"COLLECTION_CREATE\": \"Neizdevās izveidot jaunu glosāriju. Lūdzu, mēģiniet vēlreiz.\",\r\n    \"COLLECTION_CREATE_SUPPORT\": \" Ja problēma atkārtojas, sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"COLLECTION_IMPORT_TITLE\": \"Neizdevās pievienot glosāriju\",\r\n    \"COLLECTION_IMPORT\": \"Mašīntulkošanas sistēmai neizdevās pievienot terminu kolekciju ar ID: {{termId}}. Lūdzu, mēģiniet vēlreiz.\",\r\n    \"E_12_TITLE\": \"Teksta lieluma ierobežojums\",\r\n    \"E_12\": \"Sasniegts teksta lieluma ierobežojums. Sūtiet mazāk teksta pieprasījumā.\",\r\n    \"E_12_SUPPORT\": \" Lai palielinātu teksta lieluma ierobežojumu, sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"E_21\": \"Pēc brīža varēsit sākt tulkošanu.\",\r\n    \"E_22_TITLE\": \"Mašīntulkošanas sistēma nav atrasta\",\r\n    \"E_22\": \"Mašīntulkošanas sistēma nav atrasta.\",\r\n    \"E_22_SUPPORT\": \" Lūdzu, sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"E_23\": \"Mašīntulkošanas sistēma nav startēta.\",\r\n    \"E_23_SUPPORT\": \" Sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"E_41\": \"Norādīts nezināms terminu korpusa ID. Terminu korpusam jābūt saistītam ar mašīntulkošanas programmu\",\r\n    \"E_504_TITLE\": \"Tulkošanas pārtraukums\",\r\n    \"E_504\": \"Iestājusies darbības noildze.\",\r\n    \"UANUTHORIZED_401\": \"Jums nav atļaujas izmantot mašīntulkošanu.\",\r\n    \"UANUTHORIZED_401_SUPPORT\": \" Lūdzu, sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"E_UNKNOWN_FILE_TYPE\": \"Nezināms faila tips.\",\r\n    \"E_UNKNOWN_ERROR\": \"Radās nezināma kļūda.\",\r\n    \"E_UNAUTHORIZED\": \"Document translation was denied.\",\r\n    \"E_11\": \"Ir sasniegts dienai noteiktais tulkošanas limits.\",\r\n    \"E_11_SUPPORT\": \" Lai palielinātu dienai noteikto limitu, lūdzu, sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"TRANSLATION_FAILED_TITLE\": \"Tulkošana neizdevās\",\r\n    \"TRANSLATION_FAILED\": \"Notikusi negaidīta kļūda.\",\r\n    \"TRANSLATION_FAILED_SUPPORT\": \"Ja problēma atkārtojas, sazinieties ar <a href=\\\"mailto:{{email}}\\\"><strong>atbalsta dienestu</strong></a>.\",\r\n    \"FILE_UPLOAD\": {\r\n      \"E_404_REMOVE_TITLE\": \"Neizdevās izdzēst failu\",\r\n      \"E_404_REMOVE\": \"Fails jau ir dzēsts\",\r\n      \"FILE_UPLOAD_EMPTY_TITLE\": \"Fails ir tukšs\",\r\n      \"FILE_UPLOAD_EMPTY\": \"Augšupielādētais fails “{{fileName}}” ir tukšs. Atlasiet failu ar saturu.\",\r\n      \"FILE_UPLOAD_MAX_SIZE_TITLE\": \"Faila lieluma ierobežojums\",\r\n      \"FILE_UPLOAD_MAX_SIZE\": \"Augšupielādētais fails {{fileName}} ir pārāk liels. Maksimālais lielums {{maxSizeMB}}MB\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE\": \"Neatbalstīts faila formāts\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"Augšupielādētā faila “{{fileName}}” formāts netiek atbalstīts. Tiek atbalstīta šādu formātu dokumentu tulkošana: {{formats}}.\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE\": \"Neatbalstīts faila formāts\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER\": \"Lai tulkotu failu {{fileName}}, ir nepieciešams Tilde MT abonements. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Sāciet ar bezmaksas izmēģinājumu</a>\",\r\n      \"E_404_TITLE\": \"Fails nav atrasts\",\r\n      \"E_404\": \"Pieprasītais fails nepastāv\"\r\n    },\r\n    \"FILE_TRANSLATION_SUBSTATUS\": {\r\n      \"BAD_FILE_ERROR_TITLE\": \"Neizdevās iztulkot failu\",\r\n      \"BAD_FILE_ERROR\": \"Fails ir bojāts, un to nevarēja tulkot. Pārbaudiet failu un mēģiniet vēlreiz.\",\r\n      \"NO_TEXT_EXTRACTED_ERROR_TITLE\": \"Neizdevās izvilkt tekstu\",\r\n      \"NO_TEXT_EXTRACTED_ERROR\": \"Iespējams, fails ir tukšs. Pārbaudiet failu un mēģiniet vēlreiz.\",\r\n      \"TRACK_CHANGES_ENABLED_ERROR_TITLE\": \"Tulkošana neizdevās, jo ir ieslēgta izmaiņu reģistrēšanas opcija\",\r\n      \"TRACK_CHANGES_ENABLED_ERROR\": \"Pirms Office failu tulkošanas vispirms ir jāakceptē izmaiņas vai jāizslēdz izmaiņu reģistrēšanas opcija.\",\r\n      \"UNKNOWN_FILE_TYPE_ERROR_TITLE\": \"Nezināms faila tips\",\r\n      \"UNKNOWN_FILE_TYPE_ERROR\": \"Faila tips nav atpazīts. Iespējams, faila paplašinājums nav pareizs vai fails ir bojāts.\"\r\n    },\r\n    \"AUDIO\": {\r\n      \"NO_SPEECH_TITLE\": \"Nav runas\",\r\n      \"NO_SPEECH\": \"Ieraksts tika apturēts. Mēs jūs nedzirdējām.\",\r\n      \"MAX_TIME_EXCEEDED_TITLE\": \"Runas ierobežojums\",\r\n      \"MAX_TIME_EXCEEDED\": \"Ieraksts tika apturēts. Runas ievade ir ierobežota līdz {{timeString}}.\",\r\n      \"MIC_NOT_ALLOWED_TITLE\": \"Liegta piekļuve mikrofonam\",\r\n      \"MIC_NOT_ALLOWED\": \"Jūs liedzāt piekļuvi mikrofonam. Mainiet atļaujas pārlūkprogrammas iestatījumos.\",\r\n      \"MAX_SIZE_EXCEEDED_TITLE\": \"Runas ierobežojums\",\r\n      \"MAX_SIZE_EXCEEDED\": \"Ieraksts tika apturēts un nosūtīts apstrādei. Runas ievade ir ierobežota līdz ({{maxSizeMb}}MB).\",\r\n      \"CANT_START_RECORDING_TITLE\": \"Neizdevās sākt ierakstīšanu\",\r\n      \"CANT_START_RECORDING\": \"Nevar sākt ierakstīšanu. Lūdzu, mēģiniet vēlreiz.\",\r\n      \"NO_TEXT_RECOGNIZED_Title\": \"Runa nav atpazīta\",\r\n      \"NO_TEXT_RECOGNIZED\": \"Runu nevarēja atpazīt. Pārbaudiet mikrofonu un mēģiniet vēlreiz.\"\r\n    },\r\n    \"DETECTION\": {\r\n      \"UNAVAILABLE\": \"{{srcLang}}-{{trgLang}} tulkojums nav atbalstīts. Izvēlieties valodas manuāli, ja tās ir nepareizi noteiktas.\"\r\n    }\r\n  },\r\n  \"ARIA_LABELS\": {\r\n    \"COPY\": \"Kopēt starpliktuvē\",\r\n    \"OPEN_IN_NEW\": \"Atvērt jaunā cilnē\",\r\n    \"SWAP_LANGUAGES\": \"Pārslēgt valodas\",\r\n    \"OTHER_LANGUAGES_TRIGGER\": \"Rādīt citas valodas\",\r\n    \"CLOSE_BUTTON\": \"Notīrīt\",\r\n    \"CLEAR_NOTIFICATION\": \"Aizvērt brīdinājumu\",\r\n    \"CLEAR_SOURCE\": \"Notīrīt ievadīto tekstu\",\r\n    \"CLOSE_DIALOG\": \"Aizvērt dialoglodziņu\",\r\n    \"CLEAR_FILES\": \"Notīrīt augšupielādētos failus\",\r\n    \"SHOW_EXTENSIONS\": \"Rādīt citas lejupielādes iespējas\",\r\n    \"REFRESH\": \"Atsvaidzināt tulkojumu\",\r\n\t\t\"CREATE_SUMMARY\": \"Izveidot kopsavilkumu\"\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"COPY\": \"Kopēt starpliktuvē\",\r\n    \"SWAP_LANGUAGES\": \"Pārslēgt valodas\",\r\n    \"REFRESH\": \"Atsvaidzināt tulkojumu\",\r\n    \"DISLIKE\": \"Nepatīk\",\r\n\t\t\"CREATE_SUMMARY\": \"Izveidot kopsavilkumu\",\r\n    \"UPLOAD\": \"Augšupielādēt failu\"\r\n  },\r\n  \"PDF_CONVERSION\": {\r\n    \"TITLE_1\": \"PDF failu tulkošana\",\r\n    \"PARAGRAPH_1_1\": \"Kad PDF fails tiek augšupielādēts tulkošanai, tas tiek pārveidots tulkojamā formātā. Tiek atbalstīti gan skenēti, gan oriģināli PDF faili. Tulkojumus var lejupielādēt .docx formātā, un tajos tiek saglabāts pamata formatējums. \",\r\n    \"PARAGRAPH_1_2\": \"Pārveidošanai ir nepieciešams laiks, tāpēc, lai šo procesu paātrinātu, sadaliet .pdf failus un izdzēsiet lapas, kurās nav tulkojamas informācijas. Apstrādes laiku ietekmē tādi faktori kā lapu skaits, kvalitāte un teksta blīvums.\",\r\n    \"PARAGRAPH_1_3\": \"Lai uzlabotu tulkošanas veiktspēju, mēs iesakām lejupielādēt pārveidoto dokumentu oriģinālvalodā un manuāli veikt labojumus, bet pēc tam vēlreiz augšupielādēt failu tulkošanai.\",\r\n    \"IMAGE_ALT_1\": \"Avota PDF faila lejupielādes piemērs\",\r\n    \"TITLE_2\": \"PDF failu pārveidošana\",\r\n    \"PARAGRAPH_2_1\": \"Dokuments tiek analizēts, un tā saturs tiek sadalīts teksta, tabulu un attēlu/fona attēlu zonās. Tās tiek papildus analizētas, lai noteiktu, kurš saturs ir jāatpazīst kā teksts.\",\r\n    \"PARAGRAPH_2_2\": \"Tekstuāli dati tiek iegūti, izmantojot OCR jeb optisku rakstzīmju atpazīšanu. Katra rakstzīme tiek atpazīta atkarībā no tās vizuālajām pazīmēm, un pēc tam no rakstzīmēm tiek izveidoti vārdi un teikumi.\",\r\n    \"PARAGRAPH_2_3\": \"Atpazīšanu ietekmē dažādi faktori, tostarp šie:\",\r\n    \"LI_1_1\": \"Skenētā dokumenta kvalitāte (izplūdis vai deformēts teksts, attēla troksnis, attēla izšķirtspēja, kontrasts u. c.). Optimālam rezultātam PDF failu izšķirtspējai jābūt vismaz 300 dpi, tiem jābūt nesašķiebtiem un bez trokšņiem.\",\r\n    \"LI_1_2\": \"Fonta lielums. Rakstzīmēm, kuru lielums ir mazāks par 9 punktiem, atpazīšana var būt apgrūtināta. \",\r\n    \"LI_1_3\": \"Reti un oriģināli fonti. Retāk izmantoti fonti var būt neatpazīstami vai arī to atpazīšana var būt apgrūtināta.\",\r\n    \"LI_1_4\": \"Dokumenta struktūras un formatējuma sarežģītība.\",\r\n    \"TITLE_3\": \"Tulkošanas veiktspējas uzlabošana\",\r\n    \"PARAGRAPH_3_1\": \"Pārveidošanas process ir ļoti sarežģīts, un to var ietekmēt dažādas ievadītā dokumenta kļūdas. \",\r\n    \"PARAGRAPH_3_2\": \"Iespējamās problēmas:\",\r\n    \"LI_2_1\": \"Nepareizi atpazīti vārdi.\",\r\n    \"LI_2_2\": \"Nepareizas vārdu robežas.\",\r\n    \"LI_2_3\": \"Teikumi, kas atrodas vairākās kolonnās, rindās vai lapās, tiek sadalīti dažādos teksta objektos.\",\r\n    \"LI_2_4\": \"Nepareizi novietotas kājenes un galvenes.\",\r\n    \"LI_2_5\": \"Nepareiza numerācija.\",\r\n    \"LI_2_6\": \"Tabulas, kas atpazītas kā fona attēli ar tekstuālu saturu, tiek sadalītas dažādos teksta objektos.\",\r\n    \"LI_2_7\": \"Dažas diagrammas tiek atpazītas kā attēli bez tekstuāla satura.\",\r\n    \"LI_2_8\": \"Atdalītāji, apmales vai citas horizontālas līnijas tiek atpazītas kā pārsvītrots vai pasvītrots teksts.\",\r\n    \"LI_2_9\": \"Satura rādītāju vai līdzīgu sarakstu formatējums tiek sakļauts vai atpazīts kā pārsvītrots vai pasvītrots teksts.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Ņemiet vērā, ka iegūtajā dokumentā netiks saglabātas visas oriģinālā formatējuma detaļas.</b> Daži attēli, tabulas vai diagrammas var tikt izkropļotas vai vienkāršotas. Tulkotajā dokumentā fonti nebūs tādi paši kā sākotnējā dokumentā, bet tie var būt līdzīgi. Var tikt atpazīts nepareizs fonta lielums. Noteiktiem programmas Word formatējuma elementiem, piemēram, virsrakstiem, satura rādītājiem, galvenēm un kājenēm, etiķetēm, veidlapām u. c., izskats tiek veidots līdzīgi oriģinālam, bet tie nav tieši tādi kā oriģinālā (piemēram, virsrakstiem tiek lietots treknraksts un lielāks fonts, bet tiem netiek lietots virsraksta stils).\",\r\n    \"CLOSE\": \"Aizvērt dialoglodziņu\"\r\n  },\r\n  \"IMAGE_CONVERSION\": {\r\n    \"TITLE_1\": \"Attēlu tulkošana\",\r\n    \"PARAGRAPH_1_1\": \"Kad attēla fails tiek augšupielādēts tulkošanai, tas tiek pārveidots tulkojamā formātā. Tulkojumus var lejupielādēt .docx formātā, un tajos tiek saglabāts pamata formatējums.\",\r\n    \"PARAGRAPH_1_2\": \"<b>Atbalstītie attēlu formāti:</b> .jpg, .jpeg, .png un .bmp.\",\r\n    \"PARAGRAPH_1_3\": \"Lai uzlabotu tulkošanas sniegumu, mēs iesakām lejupielādēt pāveidoto dokumentu oriģinālvalodā un manuāli veikt labojumus, pirms vēlreiz augšupielādējat failu tulkošanai.\",\r\n    \"IMAGE_ALT_1\": \"Avota attēla lejupielādes piemērs\",\r\n    \"TITLE_2\": \"Attēla pārvēršana\",\r\n    \"PARAGRAPH_2_1\": \"Attēls tiek analizēts, un tā saturs tiek sadalīts teksta, tabulu un attēlu/fona attēlu zonās. Tās tiek papildus analizētas, lai noteiktu, kurš saturs ir jāatpazīst kā teksts.\",\r\n    \"PARAGRAPH_2_2\": \"Tekstuāli dati tiek iegūti, izmantojot OCR jeb optisku rakstzīmju atpazīšanu. Katra rakstzīme tiek atpazīta atkarībā no tās vizuālajām pazīmēm, un pēc tam no rakstzīmēm tiek izveidoti vārdi un teikumi.\",\r\n    \"PARAGRAPH_2_3\": \"Atpazīšanu ietekmē dažādi faktori, tostarp tālāk norādītie.\",\r\n    \"LI_1_1\": \"Skenētā attēla kvalitāte (izplūdis vai deformēts teksts, attēla troksnis, attēla izšķirtspēja, kontrasts u. c.). Optimālam rezultātam attēlu izšķirtspējai jābūt vismaz 300 dpi, tiem jābūt nesašķiebtiem un bez trokšņiem.\",\r\n    \"LI_1_2\": \"Fonta lielums. Rakstzīmēm, kuru lielums ir mazāks par 9 punktiem, atpazīšana var būt apgrūtināta. \",\r\n    \"LI_1_3\": \"Reti un oriģināli fonti. Retāk izmantoti fonti var nebūt atpazīstami, vai arī to atpazīšana var būt apgrūtināta.\",\r\n    \"LI_1_4\": \"Dokumenta struktūras un formatējuma sarežģītība.\",\r\n    \"TITLE_3\": \"Tulkošanas snieguma uzlabošana\",\r\n    \"PARAGRAPH_3_1\": \"Pārveidošanas process ir ļoti sarežģīts, un to var ietekmēt dažādas ievadītā dokumenta kļūdas. \",\r\n    \"PARAGRAPH_3_2\": \"Iespējamās problēmas:\",\r\n    \"LI_2_1\": \"Nepareizi atpazīti vārdi.\",\r\n    \"LI_2_2\": \"Nepareizas vārdu robežas.\",\r\n    \"LI_2_3\": \"Teikumi, kas atrodas vairākās kolonnās, rindās vai lapās, tiek sadalīti dažādos teksta objektos.\",\r\n    \"LI_2_4\": \"Nepareizi novietotas kājenes un galvenes.\",\r\n    \"LI_2_5\": \"Nepareiza numerācija.\",\r\n    \"LI_2_6\": \"Tabulas, kas atpazītas kā fona attēli ar tekstuālu saturu, tiek sadalītas dažādos teksta objektos.\",\r\n    \"LI_2_7\": \"Dažas diagrammas tiek atpazītas kā attēli bez tekstuāla satura.\",\r\n    \"LI_2_8\": \"Atdalītāji, apmales vai citas horizontālas līnijas tiek atpazītas kā pārsvītrots vai pasvītrots teksts.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Ņemiet vērā, ka iegūtajā dokumentā netiks saglabātas visas oriģinālā formatējuma detaļas.</b> Daži attēli, tabulas vai diagrammas var tikt izkropļotas vai vienkāršotas. Tulkotajā dokumentā fonti nebūs tādi paši kā sākotnējā dokumentā, bet tie var būt līdzīgi. Var tikt atpazīts nepareizs fonta lielums.\",\r\n    \"CLOSE\": \"Aizvērt dialoglodziņu\"\r\n  },\r\n  \"WEBTRANSLATE\": {\r\n    \"BACK\": \"Atgriezties sadaļā Tulkotājs\",\r\n    \"LOAD_PAGE\": \"Ielādēt lapu\",\r\n    \"RESTORE\": \"Atjaunot\",\r\n    \"CANCEL\": \"Atcelt\",\r\n    \"SEARCH\": \"Meklēt tīmekļa vietni\",\r\n      \"NO_RECORDS\": {\r\n        \"TITLE\": \"Tulkojamās tīmekļa vietnes meklēšana\",\r\n        \"DESCRIPTION\": \"Uzziniet, <a href='{{helpUrl}}' target='_blank' class='underline'>kā tas darbojas</a>\"\r\n    }\r\n  },\r\n  \"DATE_AGO\": {\r\n    \"DAY\": \"pirms {{value}} dienas\",\r\n    \"DAYS\": \"pirms {{value}} dienām\",\r\n    \"HOUR\": \"pirms {{value}} stundas\",\r\n    \"HOURS\": \"pirms {{value}} stundām\",\r\n    \"JUST_NOW\": \"Tikko\",\r\n    \"MINUTE\": \"pirms {{value}} minūtes\",\r\n    \"MINUTES\": \"pirms {{value}} minūtēm\",\r\n    \"MONTH\": \"pirms {{value}} mēneša\",\r\n    \"MONTHS\": \"pirms {{value}} mēnešiem\",\r\n    \"SECOND\": \"pirms {{value}} sekundes\",\r\n    \"SECONDS\": \"pirms {{value}} sekundēm\",\r\n    \"WEEK\": \"pirms {{value}} nedēļas\",\r\n    \"WEEKS\": \"pirms {{value}} nedēļām\",\r\n    \"YEAR\": \"pirms {{value}} gada\",\r\n    \"YEARS\": \"pirms {{value}} gadiem\"\r\n  },\r\n  \"TERM_COLLECTIONS\": {\r\n    \"DESCRIPTION_EMPTY\": \"<span>Izveidojiet jaunu glosāriju</span> valodām {{srcLang}}-{{trgLang}} vai atveriet sadaļu <span>Noklusējuma glosāriju pārvaldība</span> un izveidojiet glosāriju tur, lai to izmantotu tulkošanā visā platformā.\",\r\n    \"UNAVAILABLE_GLOSSARIES\": \"Nav pieejams neviens glosārijs\",\r\n    \"TITLE\": \"Glosāriji\",\r\n    \"DEFAULT\": \"Noklusējuma\",\r\n    \"DESCRIPTION\": \"Veidojiet precīzus un uzticamus tulkojumus, izvēloties vispiemērotāko glosāriju no saraksta.\",\r\n    \"LAST_UPDATED\": \"Pēdējo reizi atjaunots: {{date}}\",\r\n    \"TERMS_IN_USE\": \"Izmantotie termini: {{termCount}}\",\r\n    \"DEFAULT_GLOSSARY_MANAGEMENT\": \"Noklusējuma glosāriju pārvaldība\",\r\n    \"READER\": {\r\n      \"TITLE\": \"Glosāriji\",\r\n      \"UNAVAILABLE\": \"Glosāriji nav pieejami\",\r\n      \"AUTH_UNAVAILABLE\": \"Tikai terminoloģijas redaktori var izveidot jaunus glosārijus.\",\r\n      \"TEXT\": \"Glosāriji ir pieejami tikai autorizētiem lietotājiem. </br> <a href='{{signInUrl}}'>Pierakstieties</a> vai <a href='{{startTrialUrl}}'>sāciet bezmaksas izmēģinājumversiju</a>, lai atbloķētu mūsu glosāriju.\"\r\n      \r\n    },\r\n    \"GLOSSARY\": \"Glosārijs: \",\r\n    \"SELECTED_NONE\": \"Neviens\",\r\n    \"EDIT\": \"Rediģēt\",\r\n    \"CREATE\": \"Jauns glosārijs\",\r\n    \"DEFAULT_COLLECTION_NAME\": \"Mana terminu kolekcija\",\r\n    \"SYNC\": \"Sinhronizēt\",\r\n    \"SYNC_ERROR\": \"Mēģināt vēlreiz\",\r\n    \"ARIA_LABELS\": {\r\n      \"RADIO_GROUP\": \"Atlasīt terminu kolekciju\",\r\n      \"OTHER_COLLECTIONS\": \"Atvērt kolekciju izvēlni\"\r\n    },\r\n    \"CREATE_DIALOG\": {\r\n      \"CANCEL\": \"Atcelt\",\r\n      \"CREATE\": \"Izveidot\",\r\n      \"DESCRIPTION_2\": \"<i>* Mākslīgais intelekts nav nevainojams un reizēm pieļauj kļūdas. Jūsu unikālie termini tiks izmantoti pareizi ar 95% precizitāti.</i>\",\r\n      \"TITLE\": \"Jauna glosārija izveide\",\r\n      \"COLLECTION_NAME_ERROR\": \"Rakstzīmju skaits virsrakstā nedrīkst būt mazāks par {{minLength}} vai lielāks par {{maxLength}}\",\r\n      \"COLLECTION_NAME_LABEL\": \"Glosārija nosaukums\",\r\n      \"DESCRIPTION_1\": \"Noklikšķinot uz “Izveidot”, tiksit novirzīts uz Tilde Term, lai pievienotu jūsu terminus.\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"NO_ENTRIES\": \"Terminu kolekciju nevar izmantot, jo avotvalodā nav terminu\",\r\n      \"SYNC\": \"Atjaunināt terminu kolekciju\",\r\n      \"SYNCING\": \"Terminu kolekcija tiek sinhronizēta, un tiks izmantota kolekcijas jaunākā sinhronizētā versija\",\r\n      \"ATTACH_TO_SYSTEM_ERROR\": \"Importējot terminu kolekciju, radās kļūda\",\r\n      \"EDIT\": \"Rediģēt glosāriju terminoloģijas portālā\",\r\n      \"IMPORTING\": \"Glosārija importēšana\",\r\n      \"DEFAULT_COLLECTION\": \"Šie termini tagad tiek izmanototi. Tos var pārvaldīt, izmantojot Noklusējuma glosāriju pārvaldību.\"\r\n    },\r\n    \"ERRORS\": {\r\n      \"ERRORIMPORTING\": \"Importēšanas kļūda\"\r\n    }\r\n  },\r\n  \"DOMAINS\": {\r\n    \"OPEN_LIST_ARIA_LABEL\": \"Atvērt domēnu sarakstu\",\r\n    \"TITLE\": \"Domēns:\",\r\n    \"GENERAL\": \"Vispārēja\",\r\n    \"AUTO\": \"Automātiskā noteikšana\",\r\n    \"LAW\": \"Jurisprudence\",\r\n    \"DYNAMIC_LEARNING\": \"Dinamiskā mācīšanās\",\r\n    \"BUSINESS\": \"Uzņēmējdarbība\",\r\n    \"SPD\": \"ES formālā valoda\",\r\n    \"GEN\": \"Vispārīgs teksts\",\r\n    \"ECB\": \"Finanses\",\r\n    \"ECJ\": \"Eiropas Tiesa\",\r\n    \"PUBHEALTH\": \"Veselības aizsardzība\",\r\n    \"BUBA\": \"Deutsche Bundesbank\",\r\n    \"BERCY\": \"Ministère des Finances\",\r\n    \"EUROPEANA\": \"Europeana\",\r\n    \"IPO\": \"IĪ tiesu prakse\",\r\n    \"TRIS\": \"Programmas veidotas, izmantojot datus no tehnisko noteikumu informācijas sistēmas\",\r\n    \"VK\": \"Valtioneuvoston Kanslia\",\r\n    \"BUBA_NMTTEST\": \"Deutsche Bundesbank Test\",\r\n    \"GENERAL_AI\": \"Vispārīgais MI\",\r\n\t\t\"ACADEMIC_AI\": \"Zinātniskais MI\",\r\n\t\t\"PROFESSIONAL_AI\": \"Profesionālais MI\"\r\n  },\r\n  \"AUDIO\": {\r\n    \"START\": \"Tulkot runu\",\r\n    \"CANCEL\": \"Atcelt\",\r\n    \"DESCRIBE_STATE_RECORDING\": \"Lūdzu, runājiet, lai ierakstītu...\",\r\n    \"DESCRIBE_STATE_PROCESSING\": \"Notiek apstrāde...\",\r\n    \"MIC_NOT_FOUND\": \"Mikrofons nav atrasts\",\r\n    \"STOP\": \"Pārtraukt ierakstīšanu\",\r\n    \"PUNCTUATION_MESSAGE_TITLE\": \"Pieturzīmju pievienošana\",\r\n    \"PUNCTUATION_MESSAGE\": \"Lūdzu, pievienojiet atpazītajam tekstam pieturzīmes. Garam tekstam bez pieturzīmēm var būt zemāka tulkojuma kvalitāte, vai arī tas var nebūt tulkots\"\r\n  },\r\n  \"EXTENSION_POPUP\": {\r\n    \"OPEN\": \"skatīt visus atbalstītos formātus\",\r\n    \"TITLE\": \"Atbalstītie failu formāti\",\r\n    \"DESCRIPTION\": \"Nepieciešama UTF-8 vai UTF-16 kodēšana, lai nodrošinātu pareizu failu tulkošanu\",\r\n    \"OFFICE\": \"Office\",\r\n    \"SCANNED\": \"Skenētie faili\",\r\n    \"INTERCHANGE\": \"Apmaiņas formāti\",\r\n    \"WEB\": \"Tīmeklis\",\r\n    \"OTHER\": \"Cits\"\r\n  },\r\n  \"FILE_UPLOAD\": {\r\n    \"UPLOAD\": \"Atlasiet\",\r\n    \"DRAG_AND_DROP\": \"vai velciet un nometiet \",\r\n    \"FILE\": \"failu\",\r\n    \"FILES\": \"failus\",\r\n    \"LIMITS_MB\": \"Maks. {{maxSizeMB}}MB\",\r\n    \"CLEAR\": \"Notīrīt failu\",\r\n    \"SELECT_LANGUAGE_WARNING\": \"Lūdzu, atlasiet faila avotvalodu.\"\r\n  },\r\n  \"SYSTEM_PICKER\": {\r\n    \"SOURCE\": \"Tulkot no\",\r\n    \"TARGET\": \"Tulkot uz\",\r\n    \"SEARCH_PLACEHOLDER\": \"Meklēt valodas\",\r\n    \"RECENT_SYSTEM_TITLE\": \"Nesen izmantotie\",\r\n    \"SELECT_DOMAIN\": \"Izvēlēties domēnu\",\r\n    \"FILTER_NO_RESULTS\": \"Nav rezultātu\",\r\n    \"ALL_LANGUAGES\": \"Visas valodas\",\r\n    \"CLEAR_SEARCH\": \"Notīrīt meklēšanas tekstu\",\r\n    \"OPEN_SOURCE_ARIA_LABEL\": \"Izvēlieties avota valodu\",\r\n    \"OPEN_TARGET_ARIA_LABEL\": \"Izvēlieties mērķa valodu un domēnu\",\r\n    \"DETECTED\": \"Noteikta\",\r\n    \"LANGUAGE\": \"Valoda:\",\r\n    \"TRANSLATION_STYLE\": \"Domēns:\"\r\n  },\r\n  \"TEXT_TRANSLATION_PROGRESS_INDICATOR\": {\r\n    \"TITLE\": \"Tulkošanu nodrošina {{provider}}\",\r\n    \"TRANSLATING\": \"Notiek tulkošana...\",\r\n    \"CLOSE_BUTTON_TOOLTIP\": \"Noņemt progresa joslu\",\r\n    \"CLOSE_BUTTON_ARIA_LABEL\": \"Noņemt progresa joslu\"\r\n  },\r\n  \"VENDOR_MESSAGE\": {\r\n    \"TEXT\": \"Tulkojumu nodrošina {{vendor}}\",\r\n    \"ICON_TOOLTIP\": \"{{vendor}} piedāvātās sistēmas izmanto liels skaits lietotāju. Tās var darboties lēnkāk lielas darba slodzes dēļ.\"\r\n  },\r\n  \"VENDORS\": {\r\n    \"ETRANSLATION\": \"e-Tulkošana\"\r\n  },\r\n  \"TEXT_TO_SPEECH\": {\r\n    \"PLAY\": \"Klausīties\",\r\n    \"PAUSE\": \"Pauze\"\r\n  },\r\n  \"DICTIONARY\": {\r\n    \"SOURCE\": \"Rezultāti no {{src}}\"\r\n  }\r\n}\r\n","\r\nexport const i18n_pl = {\r\n  \"APP_NAME\": \"Tilde MT\",\r\n  \"TERM_PORTAL_NAME\": \"Tilde Term\",\r\n  \"TLD_TRANSLATE\": {\r\n    \"FILE_DOWNLOAD_SOURCE_HELP\": \"Konwersja PDF może powodować błędy formatowania lub zniekształcenia tekstu. Sprawdź skonwertowany plik i popraw błędy przed ponownym wysłaniem pliku do tłumaczenia\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_TITLE\": \"Limit tłumaczenia\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG\": \"Przetłumaczone zostanie tylko pierwsze 1250 słów.\",\r\n    \"DOC_WORD_CNT_LIMIT_MSG_SUBSCRIPTION\": \" Do przetłumaczenia pełnych plików potrzebna jest subskrypcja Tilde MT. <a href=\\\"{{pricingUrl}}\\\" target='_blank'>Na początek skorzystaj z bezpłatnej wersji próbnej</a>\",\r\n    \"DOWNLOAD_TRANSLATED\": \"Pobierz\",\r\n    \"FILE_DOWNLOAD_SOURCE_IMAGE\": \"Pobierz przekonwertowany obraz źródłowy\",\r\n    \"FILE_DOWNLOAD_SOURCE_IMAGE_HELP\": \"Konwersja obrazu może powodować błędy formatowania lub zniekształcenia tekstu. Sprawdź skonwertowany plik i popraw błędy przed ponownym wysłaniem pliku do tłumaczenia\",\r\n    \"IMAGE_DISCLAIMER_LINK\": \"Przeczytaj o konwersji obrazu.\",\r\n    \"ERROR_NO_SYSTEMS_LOADED_TITLE\": \"Nie załadowano żadnych silników tłumaczenia\",\r\n    \"ERROR_NO_SYSTEMS_LOADED\": \"Nie można załadować silników tłumaczenia maszynowego.\",\r\n    \"ERROR_NO_SYSTEMS_LOADED_SUPPORT\": \" Załaduj ponownie stronę lub skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>działem wsparcia</strong></a>.\",\r\n    \"PDF_PAGE_LIMIT_MSG_TITLE\": \"Limit tłumaczenia\",\r\n    \"PDF_PAGE_LIMIT_MSG\": \"Przetłumaczona zostanie tylko pierwsza strona.\",\r\n    \"PDF_PAGE_LIMIT_MSG_SUBSCRIPTION\": \" Do przetłumaczenia pełnych plików PDF potrzebna jest subskrypcja Tilde MT. <a href=\\\"{{registerLink}}?{{queryString}}\\\">na początek skorzystaj z bezpłatnej wersji próbnej</a>\",\r\n    \"CLEAR_SOURCE_TOOLTIP\": \"Usuń tekst\",\r\n    \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Wprowadź tekst, który chcesz przetłumaczyć.\",\r\n    \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Nie używaj {{appName}} do tłumaczenia tajnych lub poufnych informacji lub tekstów, które zawierają specjalne kategorie danych osobowych, takich jak dane dotyczące zdrowia.\",\r\n    \"REGISTERED_FORMATS_LOGGED_IN\": \"Zarejestrowani użytkownicy mają dostęp do tłumaczenia dokumentów o następujących formatach: {{formats}}.\",\r\n    \"REGISTERED_FORMATS\": \"Zarejestrowani użytkownicy mają dostęp do tłumaczenia dokumentów o następujących formatach: {{formats}}. Uzyskaj dostęp <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\">tutaj</a>.\",\r\n    \"SOURCE_FORMATS\": \"Bezpieczna publiczna usługa tłumaczeń obsługuje następujące formaty dokumentów: {{formats}};\",\r\n    \"CANCEL_TRANSLATION\": \"Anuluj\",\r\n    \"FILE_TARGET_PREVIEW_MESSAGE\": \"To jest przykładowy podgląd przetłumaczonego dokumentu. Pobierz, aby uzyskać pełne tłumaczenie.\",\r\n    \"SOURCE_TOOLTIP\": \"Wprowadź tekst lub adres strony, którą chcesz przetłumaczyć.\",\r\n    \"TARGET_DESCRIPTION\": \"Tłumaczenie maszynowe pozwala na zrozumienie znaczenia tekstu źródłowego, ale nie może zastąpić tłumaczenia wykonanego przez człowieka.\",\r\n    \"TEXT_COPIED\": \"Tłumaczenie skopiowane\",\r\n    \"TOOLTIP_ACTION\": \"Przetłumacz\",\r\n    \"FILE_DOWNLOAD_SOURCE\": \"Pobierz przekonwertowany źródłowy plik PDF\",\r\n    \"FILE_TANSLATION_STATUSS_QUEUING\": \"Rozpoczynanie tłumaczenia...\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Przeczytaj o konwersji plików pdf.\",\r\n    \"VENDORS_ARIA_LABEL\": \"Dostawcy usług\",\r\n    \"SUGGEST_TRANSLATION_LABEL\": \"Pobierz tłumaczenie\",\r\n    \"SUMMARY\": {\r\n\t\t\t\"TITLE\": \"Podsumowanie\",\r\n\t\t\t\"CREATING\": \"Tworzenie podsumowania\",\r\n\t\t\t\"DISABLED\": \"Wprowadź minimum 300 znaków, aby użyć funkcji tworzenia podsumowania\",\r\n      \"COPIED\": \"Podsumowanie skopiowane\",\r\n\t\t\t\"NEW_FEATURE\": {\r\n\t\t\t\t\"TITLE\": \"Utwórz podsumowanie\",\r\n\t\t\t\t\"DESCRIPTION\": \"Umożliwia tworzenie podsumowań długich tekstów składających się z najważniejszych punktów.\",\r\n\t\t\t\t\"CLOSE\": \"Zamknij\"\r\n\t\t\t}\r\n\t\t},\r\n    \"REPHRASE\": {\r\n      \"TITLE\": \"Przekształć tekst\",\r\n      \"CHOOSE_LABEL\": \"Wybierz styl pisania\",\r\n      \"TOOLTIP\": \"Przekształć tekst, dopasowując język i ton do określonego stylu lub głosu.\",\r\n      \"LOADING\": \"Przekształcanie\",\r\n      \"COPIED\": \"Tekst przekształcony i skopiowany\",\r\n      \"HINT\": \"Przekształć tekst, aby zmienić sformułowanie lub oddać odpowiedni ton. Wybierz spośród 3 stylów: Ogólny, Profesjonalny, Akademicki.\",\r\n      \"NEW_FEATURE\": {\r\n        \"TITLE\": \"Przekształć tekst\",\r\n        \"DESCRIPTION\": \"Przekształć tekst, dopasowując język i ton do określonego stylu lub głosu.\",\r\n        \"CLOSE\": \"Zamknij\"\r\n      },\r\n      \"STYLES\": {\r\n        \"GENERAL\": \"Ogólny\",\r\n        \"PROFESSIONAL\": \"Profesjonalny\",\r\n        \"ACADEMIC\": \"Akademicki\"\r\n      }\r\n    }\r\n  },\r\n  \"LANGUAGES\": {\r\n    \"AUTO\": \"Wykryj język\",\r\n    \"AR\": \"Arabski\",\r\n    \"BG\": \"Bułgarski\",\r\n    \"HR\": \"Chorwacki\",\r\n    \"CS\": \"Czeski\",\r\n    \"CZ\": \"Czeski\",\r\n    \"DA\": \"Duński\",\r\n    \"NL\": \"Niderlandzki\",\r\n    \"EN\": \"Angielski\",\r\n    \"ET\": \"Estoński\",\r\n    \"FI\": \"Fiński\",\r\n    \"FR\": \"Francuski\",\r\n    \"DE\": \"Niemiecki\",\r\n    \"EL\": \"Grecki\",\r\n    \"HU\": \"Węgierski\",\r\n    \"GA\": \"Irlandzki\",\r\n    \"IS\": \"Islandzki\",\r\n    \"IT\": \"Włoski\",\r\n    \"LV\": \"Łotewski\",\r\n    \"LT\": \"Litewski\",\r\n    \"MT\": \"Maltański\",\r\n    \"PL\": \"Polski\",\r\n    \"PT\": \"Portugalski\",\r\n    \"RO\": \"Rumuński\",\r\n    \"RU\": \"Rosyjski\",\r\n    \"SK\": \"Słowacki\",\r\n    \"SL\": \"Słoweński\",\r\n    \"ES\": \"Hiszpański\",\r\n    \"SV\": \"Szwedzki\",\r\n    \"KA\": \"Gruziński\",\r\n    \"BE\": \"Białoruski\",\r\n    \"MO\": \"Mołdawski\",\r\n    \"UK\": \"Ukraiński\",\r\n    \"SR\": \"Serbski\",\r\n    \"ZH\": \"Chiński\",\r\n    \"JA\": \"Japoński\",\r\n    \"KO\": \"Koreański\",\r\n    \"TR\": \"Turecki\",\r\n    \"UZ\": \"Uzbecki\",\r\n    \"ID\": \"Indonezyjski\",\r\n    \"BA\": \"Baszkir\",\r\n    \"BRX\": \"Bodo\",\r\n    \"FJ\": \"Fidżi\",\r\n    \"DSB\": \"Dolnołużycki\",\r\n    \"GOM\": \"Konkani\",\r\n    \"HNE\": \"Chhattisgarhi\",\r\n    \"HSB\": \"Górnołużycki\",\r\n    \"IKT\": \"Inuinnaqtun\",\r\n    \"IU\": \"Inuktitut\",\r\n    \"IU_LATN\": \"Inuktitut (Łaciński)\",\r\n    \"KS\": \"Kaszmirski\",\r\n    \"IZH\": \"Chiński (Literacki)\",\r\n    \"MWW\": \"Hmong Daw (Łaciński)\",\r\n    \"RUN\": \"Rundi\",\r\n    \"TY\": \"Tahitian\",\r\n    \"YUA\": \"Majów Jukateckich\",\r\n    \"KU\": \"Kurdyjski Centralny\",\r\n    \"KMR\": \"Kurdyjski Północny\",\r\n    \"ZH_HANS\": \"Chiński (uproszczony)\",\r\n    \"ZH_HANT\": \"Chiński (tradycyjny)\",\r\n    \"LZH\": \"Chiński (literacki)\",\r\n    \"OTQ\": \"Querétaro Otomi\",\r\n    \"AB\": \"Abchaski\",\r\n    \"ACE\": \"Acehijski\",\r\n    \"ACH\": \"Acoli\",\r\n    \"KTU\": \"Kituba (Kongo)\",\r\n    \"ALZ\": \"Alur\",\r\n    \"AWA\": \"Awadhi\",\r\n    \"LI\": \"Limburgijski\",\r\n    \"LIJ\": \"Liguryjski\",\r\n    \"LMO\": \"Lombardzki\",\r\n    \"LTG\": \"Łotewski (Łatgalski)\",\r\n    \"LUO\": \"Luo (Kenia i Tanzania)\",\r\n    \"BAN\": \"Bali\",\r\n    \"BBC\": \"Batak Toba\",\r\n    \"MAK\": \"Makasarski\",\r\n    \"BEM\": \"Bemba (Zambia)\",\r\n    \"BEW\": \"Betawi\",\r\n    \"BIK\": \"Bikol\",\r\n    \"BO\": \"Tybetański\",\r\n    \"BTS\": \"Batak Simalungun\",\r\n    \"BTX\": \"Batak Karo\",\r\n    \"BUA\": \"Buriacki\",\r\n    \"MIN\": \"Minangkabau\",\r\n    \"NEW\": \"Newarski (Nepal Bhasa)\",\r\n    \"CGG\": \"Chiga\",\r\n    \"NR\": \"Ndebele Południowy\",\r\n    \"NUS\": \"Nuer\",\r\n    \"CHM\": \"Mari (Rosja)\",\r\n    \"CNH\": \"Hakha Chin\",\r\n    \"PAG\": \"Pangasinan\",\r\n    \"PAM\": \"Pampanga (Kapampangan)\",\r\n    \"PAP\": \"Papiamento\",\r\n    \"CRH\": \"Krymskotatarski\",\r\n    \"CRS\": \"Seszelski kreolski\",\r\n    \"CV\": \"Czuwaski\",\r\n    \"DIN\": \"Dinka\",\r\n    \"DOV\": \"Domari\",\r\n    \"DZ\": \"Dzongkha\",\r\n    \"RN\": \"Rundi (Kirundi)\",\r\n    \"ROM\": \"Romani\",\r\n    \"EWE\": \"Ewe\",\r\n    \"FF\": \"Fula (Fulani)\",\r\n    \"SCN\": \"Sycylijski\",\r\n    \"SG\": \"Sango\",\r\n    \"SHN\": \"Szan\",\r\n    \"SS\": \"Swati (Siswati)\",\r\n    \"HIL\": \"Hiligajnon\",\r\n    \"SZL\": \"Śląski\",\r\n    \"HRX\": \"Hunsrik\",\r\n    \"TET\": \"Tetum\",\r\n    \"ZT\": \"Zapotek\",\r\n    \"GAA\": \"Ga\"\r\n  },\r\n  \"MULTIPLE_FILES\": {\r\n    \"APPEND\": \"Dodaj pliki\",\r\n    \"STATUSS_UPLOADING\": \"Przesyłanie…\",\r\n    \"STATUSS_UPLOADED\": \"Przesłano\",\r\n    \"PDF_DISCLAIMER\": \"Konwersja PDF może powodować błędy formatowania lub zniekształcenia tekstu. Po przetłumaczeniu wybierz „Pobierz przekonwertowany źródłowy plik PDF” z rozwijanego menu, sprawdź pobrany plik i popraw błędy przed ponownym przesłaniem pliku do tłumaczenia.\",\r\n    \"IMAGE_DISCLAIMER\": \"Konwersja obrazu może powodować błędy formatowania lub zniekształcenia tekstu.\",\r\n    \"IMAGE_DISCLAIMER_LINK\": \"Przeczytaj o konwersji obrazu.\",\r\n    \"SCREEN_READER_ANNOUNCEMENT\": \"Przetłumaczono {{translated}} z {{total}} plików.\",\r\n    \"CLEAR_ALL\": \"Anuluj\",\r\n    \"DOWNLOAD\": \"Pobierz\",\r\n    \"STATUSS_INITIALIZING\": \"Inicjalizacja\",\r\n    \"STATUSS_EXTRACTING\": \"Ekstrakcja\",\r\n    \"STATUSS_WAITING\": \"Uruchamianie translatora\",\r\n    \"STATUSS_TRANSLATING\": \"Tłumaczenie {{percent}}%\",\r\n    \"STATUSS_SAVING\": \"Zapisywanie\",\r\n    \"STATUSS_COMPLETED\": \"Ukończono\",\r\n    \"STATUSS_ERROR\": \"Błąd\",\r\n    \"STATUSS_QUEUING\": \"Oczekuje\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Przeczytaj o konwersji plików pdf.\"\r\n  },\r\n  \"ERRORS\": {\r\n    \"INCREASE_MAX_NUMBER_OF_FILES_TITLE\": \"Limit przesyłania\",\r\n    \"INCREASE_MAX_NUMBER_OF_FILES\": \"Jednocześnie można przetłumaczyć tylko 1 plik. Aby zwiększyć limit, potrzebna jest subskrypcja Tilde MT. <a href=\\\"{{registerLink}}?{{queryString}}\\\">Na początek skorzystaj z bezpłatnej wersji próbnej</a>\",\r\n    \"E_504_TITLE\": \"Limit czasu na tłumaczenie\",\r\n    \"E_404200\": \"Nie znaleziono silnika\",\r\n    \"E_404201\": \"Nie znaleziono zbioru terminów silnika\",\r\n    \"E_413102_TITLE\": \"Błąd przesyłania pliku\",\r\n    \"E_413102\": \"Plik przesłany jest zbyt duży\",\r\n\t  \"E_400103\": \"Tłumaczenie przefiltrowane ze względu na zawartość\",\r\n    \"TRANSLATION_FAILED_TITLE\": \"Tłumaczenie nie powiodło się\",\r\n    \"TRANSLATION_FAILED\": \"Wystąpił nieoczekiwany błąd.\",\r\n    \"TRANSLATION_FAILED_SUPPORT\": \" Jeśli problem będzie się powtarzał, skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>działem wsparcia</strong></a>.\",\r\n    \"FILE_TRANSLATION_LIMITS\": {\r\n      \"E_429001_TITLE\": \"Osiągnięto limit plików do tłumaczenia\",\r\n      \"E_429001\": \"Osiągnięto miesięczny limit przetłumaczonych plików ({{quotaFileLimit}}). <a href='{{pricingUrl}}' target='_blank'>Zaktualizuj plan</a>, aby kontynuować tłumaczenie plików.\"\r\n    },\r\n    \"ERROR_DEFAULT_TITLE\": \"Nieoczekiwany błąd\",\r\n    \"ERROR_DEFAULT\": \"Wystąpił nieoczekiwany błąd. Spróbuj ponownie.\",\r\n    \"ERROR_DEFAULT_SUPPORT\": \" Jeśli problem będzie się powtarzał, skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>działem wsparcia</strong></a>.\",\r\n    \"MAX_CHAR_LENGTH_TITLE\": \"Limit tłumaczenia\",\r\n    \"MAX_CHAR_LENGTH\": \"Przetłumaczona zostanie tylko następująca liczba znaków: {{maxCharLength}}/{{totalSymbols}}.\",\r\n    \"MAX_CHAR_LENGTH_SUBSCRIPTION\": \" Do przetłumaczenia nieograniczonej ilości tekstu potrzebna jest subskrypcja Tilde MT. <a href=\\\"{{registerLink}}?{{queryString}}\\\">na początek skorzystaj z bezpłatnej wersji próbnej</a>\",\r\n    \"MAX_NUMBER_OF_FILES_TITLE\": \"Limit przesyłania\",\r\n    \"MAX_NUMBER_OF_FILES\": \"Jednocześnie można przetłumaczyć tylko następującą liczbę plików: {{limit}}.\",\r\n    \"FILE_ALREADY_ADDED_TITLE\": \"Plik został już dodany\",\r\n    \"FILE_ALREADY_ADDED\": \"Plik „{{fileName}}” został już dodany.\",\r\n    \"UANUTHORIZED_401_TITLE\": \"Brak pozwolenia\",\r\n    \"E_CANNOT_READ_FILE_TITLE\": \"Nie można odczytać pliku\",\r\n    \"E_CANNOT_READ_FILE\": \"Plik „{{fileName}}” jest uszkodzony i nie można go przetłumaczyć. Sprawdź plik i spróbuj ponownie.\",\r\n    \"E_FAILED_IN_TRANSLATION_TITLE\": \"Tłumaczenie nie powiodło się\",\r\n    \"E_FAILED_IN_TRANSLATION\": \"W trakcie tłumaczenia wystąpił błąd. Spróbuj ponownie.\",\r\n    \"E_FAILED_IN_TRANSLATION_SUPPORT\": \" Jeśli problem będzie się powtarzał, skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>działem wsparcia</strong></a>.\",\r\n    \"E_FORMAT_TRACK_CHANGES_TITLE\": \"Tłumaczenie nie powiodło się, ponieważ włączono „zmiany ścieżki”\",\r\n    \"E_FORMAT_TRACK_CHANGES\": \"Przed tłumaczeniem plików pakietu Office należy najpierw zaakceptować zmiany lub wyłączyć opcję „Śledź zmiany”.\",\r\n    \"E_UNKNOWN_ERROR_TITLE\": \"Nieznany błąd\",\r\n    \"E_UNAUTHORIZED_TITLE\": \"Brak pozwolenia\",\r\n    \"COLLECTION_CREATE_TITLE\": \"Nie można utworzyć słownika\",\r\n    \"COLLECTION_CREATE\": \"Nie można utworzyć nowego słownika. Spróbuj ponownie.\",\r\n    \"COLLECTION_CREATE_SUPPORT\": \" Jeśli problem będzie się powtarzał, skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>działem wsparcia</strong></a>.\",\r\n    \"COLLECTION_IMPORT_TITLE\": \"Nie można dołączyć słownika\",\r\n    \"COLLECTION_IMPORT\": \"Nie można dołączyć zbioru terminów o identyfikatorze {{termId}} do silnika tłumaczenia maszynowego. Spróbuj ponownie.\",\r\n    \"E_12_TITLE\": \"Limit rozmiaru tekstu\",\r\n    \"E_12\": \"Osiągnięto limit rozmiaru tekstu. Wyślij mniej tekstu w żądaniu.\",\r\n    \"E_12_SUPPORT\": \" Aby zwiększyć limit rozmiaru tekstu, skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>działem wsparcia</strong></a>.\",\r\n    \"E_21\": \"Za chwilę będziesz w stanie tłumaczyć.\",\r\n    \"E_22_TITLE\": \"Nie znaleziono silnika tłumaczenia maszynowego\",\r\n    \"E_22\": \"Nie znaleziono silnika tłumaczenia maszynowego.\",\r\n    \"E_22_SUPPORT\": \" Skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>działem wsparcia</strong></a>.\",\r\n    \"E_23\": \"Silnik tłumaczenia maszynowego nie został uruchomiony.\",\r\n    \"E_23_SUPPORT\": \" Skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>działem wsparcia</strong></a>.\",\r\n    \"E_41\": \"Podano nieznane ID korpusu terminów. Korpus terminów musi być połączony z silnikiem tłumaczenia maszynowego\",\r\n    \"E_504\": \"Czynność przekroczyła limit czasu.\",\r\n    \"UANUTHORIZED_401\": \"Nie masz uprawnień do korzystania z tłumaczenia maszynowego.\",\r\n    \"UANUTHORIZED_401_SUPPORT\": \" Skontaktuj się ze<a href=\\\"mailto:{{email}}\\\"><strong> wsparciem</strong></a>.\",\r\n    \"E_UNKNOWN_FILE_TYPE\": \"Nieznany typ pliku.\",\r\n    \"E_UNKNOWN_ERROR\": \"Wystąpił nieznany błąd.\",\r\n    \"E_UNAUTHORIZED\": \"Odmowa tłumaczenia dokumentu.\",\r\n    \"E_11\": \"Dzienny limit tłumaczeń został osiągnięty.\",\r\n    \"E_11_SUPPORT\": \" Aby zwiększyć dzienny limit, skontaktuj się z <a href=\\\"mailto:{{email}}\\\"><strong>pomocą techniczną</strong></a>.\",\r\n    \"FILE_TRANSLATION_SUBSTATUS\": {\r\n      \"BAD_FILE_ERROR_TITLE\": \"Nie można przetłumaczyć pliku\",\r\n      \"BAD_FILE_ERROR\": \"Plik jest uszkodzony i nie można go przetłumaczyć. Sprawdź plik i spróbuj ponownie.\",\r\n      \"NO_TEXT_EXTRACTED_ERROR_TITLE\": \"Nie można wyodrębnić żadnego tekstu\",\r\n      \"NO_TEXT_EXTRACTED_ERROR\": \"Plik może być pusty. Sprawdź plik i spróbuj ponownie.\",\r\n      \"TRACK_CHANGES_ENABLED_ERROR_TITLE\": \"Tłumaczenie nie powiodło się, ponieważ włączono „zmiany ścieżki”\",\r\n      \"TRACK_CHANGES_ENABLED_ERROR\": \"Przed tłumaczeniem plików pakietu Office należy najpierw zaakceptować zmiany lub wyłączyć opcję „Śledź zmiany”.\",\r\n      \"UNKNOWN_FILE_TYPE_ERROR_TITLE\": \"Nieznany typ pliku\",\r\n      \"UNKNOWN_FILE_TYPE_ERROR\": \"Nie rozpoznano typu pliku. Rozszerzenie pliku może być nieprawidłowe lub plik może być uszkodzony.\"\r\n    },\r\n    \"FILE_UPLOAD\": {\r\n      \"FILE_UPLOAD_EMPTY_TITLE\": \"Plik jest pusty\",\r\n      \"FILE_UPLOAD_EMPTY\": \"Przesłany plik „{{fileName}}” jest pusty. Wybierz plik zawierający treść.\",\r\n      \"FILE_UPLOAD_MAX_SIZE_TITLE\": \"Limit rozmiaru pliku\",\r\n      \"FILE_UPLOAD_MAX_SIZE\": \"Przesłany plik „{{fileName}}” jest za duży. Maksymalny rozmiar to {{maxSizeMB}} MB\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE\": \"Nieobsługiwany format pliku\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"Przesłany plik „{{fileName}}” nie jest obsługiwany. Możliwe jest tłumaczenie dokumentów w następujących formatach: {{formats}}.\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE\": \"Nieobsługiwany format pliku\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER\": \"Do przetłumaczenia pliku „{{fileName}}” potrzebna jest subskrypcja Tilde MT. <a href=\\\"{{registerLink}}?{{queryString}}\\\">na początek skorzystaj z bezpłatnej wersji próbnej</a>\",\r\n      \"E_404_TITLE\": \"Nie znaleziono pliku\",\r\n      \"E_404\": \"Żądany plik nie istnieje\",\r\n      \"E_404_REMOVE_TITLE\": \"Nie udało się usunąć pliku\",\r\n      \"E_404_REMOVE\": \"Plik został już usunięty\"\r\n    },\r\n    \"AUDIO\": {\r\n      \"NO_SPEECH_TITLE\": \"Brak tekstu mówionego\",\r\n      \"NO_SPEECH\": \"Nagranie zostało zatrzymane. Nie słyszeliśmy cię.\",\r\n      \"MAX_TIME_EXCEEDED_TITLE\": \"Limit tekstu mówionego\",\r\n      \"MAX_TIME_EXCEEDED\": \"Nagranie zostało zatrzymane. Limit tekstu mówionego wynosi {{timeString}}.\",\r\n      \"MIC_NOT_ALLOWED_TITLE\": \"Odmowa dostępu do mikrofonu\",\r\n      \"MIC_NOT_ALLOWED\": \"Pojawiła się odmowa dostępu do mikrofonu. Zmień uprawnienia w ustawieniach przeglądarki.\",\r\n      \"MAX_SIZE_EXCEEDED_TITLE\": \"Limit tekstu mówionego\",\r\n      \"MAX_SIZE_EXCEEDED\": \"Nagranie zostało zatrzymane i wysłane do przetwarzania. Limit rozmiaru tekstu mówionego wynosi ({{maxSizeMb}} MB).\",\r\n      \"CANT_START_RECORDING_TITLE\": \"Nie można rozpocząć nagrywania\",\r\n      \"CANT_START_RECORDING\": \"Nie udało się rozpocząć nagrywania. Spróbuj ponownie.\",\r\n      \"NO_TEXT_RECOGNIZED_Title\": \"Nie rozpoznano mowy\",\r\n      \"NO_TEXT_RECOGNIZED\": \"Nie można rozpoznać mowy. Sprawdź mikrofon i spróbuj ponownie.\"\r\n    },\r\n    \"DETECTION\": {\r\n      \"UNAVAILABLE\": \"{{srcLang}}-{{trgLang}} tłumaczenie nie jest obsługiwane. Wybierz języki ręcznie, jeśli zostały wykryte nieprawidłowo.\"\r\n    }\r\n  },\r\n  \"ARIA_LABELS\": {\r\n    \"CLOSE_BUTTON\": \"Wyczyść\",\r\n    \"CLEAR_NOTIFICATION\": \"Zamknij powiadomienie\",\r\n    \"CLEAR_SOURCE\": \"Wyczyść wprowadzony tekst\",\r\n    \"CLOSE_DIALOG\": \"Zamknij okno dialogowe\",\r\n    \"CLEAR_FILES\": \"Wyczyść przesłane pliki\",\r\n    \"SHOW_EXTENSIONS\": \"Pokaż inne opcje pobierania\",\r\n    \"COPY\": \"Kopiuj do schowka\",\r\n    \"OPEN_IN_NEW\": \"Otwórz w nowej karcie\",\r\n    \"SWAP_LANGUAGES\": \"Zamień języki\",\r\n    \"OTHER_LANGUAGES_TRIGGER\": \"Pokaż inne języki\",\r\n    \"REFRESH\": \"Odśwież tłumaczenie\",\r\n\t\t\"CREATE_SUMMARY\": \"Utwórz podsumowanie\"\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"COPY\": \"Kopiuj do schowka\",\r\n    \"SWAP_LANGUAGES\": \"Zamień języki\",\r\n    \"REFRESH\": \"Odśwież tłumaczenie\",\r\n    \"DISLIKE\": \"Nie lubię\",\r\n\t\t\"CREATE_SUMMARY\": \"Utwórz podsumowanie\",\r\n    \"UPLOAD\": \"Prześlij plik\"\r\n  },\r\n  \"PDF_CONVERSION\": {\r\n    \"TITLE_1\": \"Tłumaczenie PDF\",\r\n    \"PARAGRAPH_1_1\": \"Kiedy plik .pdf przesyłany do tłumaczenia jest konwertowany na format, który można przetłumaczyć. Obsługiwane są zarówno zeskanowane, jak i natywne pliki .pdf. Tłumaczenia mogą być pobrane w formatach .docx i zachowają podstawowe formatowanie. \",\r\n    \"PARAGRAPH_1_2\": \"Ponieważ konwersja wymaga czasu, aby ją przyspieszyć, podziel swoje pliki .pdf i usuń strony, na których nie ma informacji, które można przetłumaczyć. Na czas przetwarzania wpływają czynniki, takie jak liczba stron, jakość i gęstość tekstu.\",\r\n    \"PARAGRAPH_1_3\": \"Aby poprawić wydajność tłumaczenia, zalecamy pobranie przekonwertowanego dokumentu w oryginalnym języku i ręczne poprawienie go przed ponownym przesłaniem do tłumaczenia.\",\r\n    \"IMAGE_ALT_1\": \"Przykład pobrania źródłowego pliku PDF\",\r\n    \"TITLE_2\": \"Konwersja PDF\",\r\n    \"PARAGRAPH_2_1\": \"Dokument jest analizowany, a jego zawartość dzielona na obszary tekstu, tabeli i obrazu/obrazu tła. Następnie całość jest analizowana w celu określenia, które treści powinny być rozpoznawane jako tekst.\",\r\n    \"PARAGRAPH_2_2\": \"Dane tekstowe są pozyskiwane za pomocą OCR, czyli optycznego rozpoznawania znaków. Każdy znak jest rozpoznawany w zależności od jego wizualnej charakterystyki, a następnie składany w słowa i zdania.\",\r\n    \"PARAGRAPH_2_3\": \"Na rozpoznawanie ma wpływ wiele czynników, w tym:\",\r\n    \"LI_1_1\": \"Jakość zeskanowanego dokumentu (zamazany lub zniekształcony tekst, szumy w obrazie, rozdzielczość obrazu, kontrast itp.) Aby uzyskać najlepszy wynik, pliki .pdf powinny mieć rozdzielczość co najmniej 300 dpi, być symetryczne i pozbawione szumów.\",\r\n    \"LI_1_2\": \"Rozmiar czcionki. Rozmiary mniejsze niż 9 punktów mogą być słabo rozpoznawane. \",\r\n    \"LI_1_3\": \"Rzadkie i oryginalne czcionki. Mniej popularne czcionki mogą być nierozpoznawalne lub działać gorzej.\",\r\n    \"LI_1_4\": \"Złożoność struktury i formatowania dokumentu\",\r\n    \"TITLE_3\": \"Poprawa wydajności tłumaczenia\",\r\n    \"PARAGRAPH_3_1\": \"Proces konwersji jest bardzo złożony i mogą na niego wpływać różne błędy wynikające z dokumentu wejściowego. \",\r\n    \"PARAGRAPH_3_2\": \"Kwestie, na które należy zwrócić uwagę:\",\r\n    \"LI_2_1\": \"Nieprawidłowo rozpoznane słowa.\",\r\n    \"LI_2_2\": \"Nieprawidłowe granice wyrazów.\",\r\n    \"LI_2_3\": \"Zdania obejmujące wiele kolumn, wierszy lub stron podzielone na różne obiekty tekstowe.\",\r\n    \"LI_2_4\": \"Błędnie rozmieszczone stopki i nagłówki stron.\",\r\n    \"LI_2_5\": \"Nieprawidłowa numeracja.\",\r\n    \"LI_2_6\": \"Tabele rozpoznane jako obrazy tła z zawartością tekstową umieszczoną w różnych obiektach tekstowych.\",\r\n    \"LI_2_7\": \"Niektóre wykresy rozpoznane jako obrazy bez zawartości tekstowej.\",\r\n    \"LI_2_8\": \"Separatory, obramowania lub inne linie poziome rozpoznawane jako przekreślenie lub podkreślenie tekstu.\",\r\n    \"LI_2_9\": \"Formatowanie spisu treści lub podobnych list zawalonych lub rozpoznawanych jako przekreślenie lub podkreślenie tekstu.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Należy pamiętać, że w dokumencie docelowym nie zostaną zachowane wszystkie szczegóły oryginalnego formatowania.</b> Niektóre obrazy, tabele lub diagramy mogą zostać zniekształcone lub uproszczone. Czcionki w przetłumaczonym dokumencie nie będą takie same jak w oryginale, ale mogą być podobne. Rozpoznany może być nieprawidłowy rozmiar czcionki. Specyficzne formatowanie Worda obejmujące działy, spisy treści, nagłówki i stopki, etykiety, formularze itp. będą stylizowane tak, aby wyglądały jak oryginał, ale nie będą całkowicie zgodne z oryginałem (np. tytuły będą pogrubione i zapisane większą czcionką, ale nie będą ustawione jako styl nagłówka).\",\r\n    \"CLOSE\": \"Zamknij okno dialogowe\"\r\n  },\r\n  \"IMAGE_CONVERSION\": {\r\n    \"TITLE_1\": \"Tłumaczenie obrazu\",\r\n    \"PARAGRAPH_1_1\": \"Obraz przesyłany do tłumaczenia jest konwertowany na format, który można przetłumaczyć. Tłumaczenia mogą być pobrane w formatach .docx, lub .tmx i zachowają podstawowe formatowanie.\",\r\n    \"PARAGRAPH_1_2\": \"<b>Obsługiwane formaty obrazów: </b> jpg,. jpeg,. png i. bmp.\",\r\n    \"PARAGRAPH_1_3\": \"Aby poprawić wydajność tłumaczenia, zalecamy pobranie przekonwertowanego dokumentu w oryginalnym języku i ręczne poprawienie go przed ponownym przesłaniem do tłumaczenia.\",\r\n    \"IMAGE_ALT_1\": \"Przykład pobierania obrazu źródłowego\",\r\n    \"TITLE_2\": \"Konwersja obrazu\",\r\n    \"PARAGRAPH_2_1\": \"Obraz jest analizowany, a jego zawartość dzielona na obszary tekstu, tabeli i obrazu/obrazu tła. Następnie całość jest analizowana w celu określenia, które treści powinny być rozpoznawane jako tekst.\",\r\n    \"PARAGRAPH_2_2\": \"Dane tekstowe są pozyskiwane za pomocą OCR, czyli optycznego rozpoznawania znaków. Każdy znak jest rozpoznawany w zależności od jego wizualnej charakterystyki, a następnie składany w słowa i zdania.\",\r\n    \"PARAGRAPH_2_3\": \"Na rozpoznawanie ma wpływ wiele czynników, w tym:\",\r\n    \"LI_1_1\": \"Jakość zeskanowanego obrazu (zamazany lub zniekształcony tekst, szumy w obrazie, rozdzielczość obrazu, kontrast itp.). Aby uzyskać najlepszy wynik, obrazy powinny mieć rozdzielczość co najmniej 300 dpi, być symetryczne i pozbawione szumów.\",\r\n    \"LI_1_2\": \"Rozmiar czcionki. Rozmiary mniejsze niż 9 punktów mogą być słabo rozpoznawane. \",\r\n    \"LI_1_3\": \"Rzadkie i oryginalne czcionki. Mniej popularne czcionki mogą być nierozpoznawalne lub działać gorzej.\",\r\n    \"LI_1_4\": \"Złożoność struktury i formatowania dokumentu.\",\r\n    \"TITLE_3\": \"Poprawa wydajności tłumaczenia\",\r\n    \"PARAGRAPH_3_1\": \"Proces konwersji jest bardzo złożony i mogą na niego wpływać różne błędy wynikające z dokumentu wejściowego. \",\r\n    \"PARAGRAPH_3_2\": \"Kwestie, na które należy zwrócić uwagę:\",\r\n    \"LI_2_1\": \"Nieprawidłowo rozpoznane słowa.\",\r\n    \"LI_2_2\": \"Nieprawidłowe granice wyrazów.\",\r\n    \"LI_2_3\": \"Zdania obejmujące wiele kolumn, wierszy lub stron podzielone na różne obiekty tekstowe.\",\r\n    \"LI_2_4\": \"Błędnie rozmieszczone stopki i nagłówki stron.\",\r\n    \"LI_2_5\": \"Nieprawidłowa numeracja.\",\r\n    \"LI_2_6\": \"Tabele rozpoznane jako obrazy tła z zawartością tekstową umieszczoną w różnych obiektach tekstowych.\",\r\n    \"LI_2_7\": \"Niektóre wykresy rozpoznane jako obrazy bez zawartości tekstowej.\",\r\n    \"LI_2_8\": \"Separatory, obramowania lub inne linie poziome rozpoznawane jako przekreślenie lub podkreślenie tekstu.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Należy pamiętać, że w dokumencie docelowym nie zostaną zachowane wszystkie szczegóły oryginalnego formatowania.</b> Niektóre obrazy, tabele lub diagramy mogą zostać zniekształcone lub uproszczone. Czcionki w przetłumaczonym dokumencie nie będą takie same jak w oryginale, ale mogą być podobne. Rozpoznany może być nieprawidłowy rozmiar czcionki.\",\r\n    \"CLOSE\": \"Zamknij okno dialogowe\"\r\n  },\r\n  \"WEBTRANSLATE\": {\r\n    \"BACK\": \"Powrót do translatora\",\r\n    \"LOAD_PAGE\": \"Załaduj stronę\",\r\n    \"RESTORE\": \"Przywróć\",\r\n    \"CANCEL\": \"Anuluj\",\r\n    \"SEARCH\": \"Wyszukaj stronę\",\r\n    \"NO_RECORDS\": {\r\n      \"TITLE\": \"Wyszukaj stronę do przetłumaczenia\",\r\n      \"DESCRIPTION\": \"Sprawdź <a href='{{helpUrl}}' target='_blank' class='underline'>jak to działa</a>\"\r\n    }\r\n  },\r\n  \"DATE_AGO\": {\r\n    \"YEAR\": \"{{value}} rok temu\",\r\n    \"YEARS\": \"{{value}} lata/lat temu\",\r\n    \"MONTH\": \"{{value}} miesiąc temu\",\r\n    \"MONTHS\": \"{{value}} miesiące/miesięcy temu\",\r\n    \"WEEK\": \"{{value}} tydzień temu\",\r\n    \"WEEKS\": \"{{value}} tygodnie/tygodni temu\",\r\n    \"DAY\": \"{{value}} dzień temu\",\r\n    \"DAYS\": \"{{value}} dni temu\",\r\n    \"HOUR\": \"{{value}} godzinę temu\",\r\n    \"HOURS\": \"{{value}} godziny/godzin temu\",\r\n    \"MINUTE\": \"{{value}} minutę temu\",\r\n    \"MINUTES\": \"{{value}} minuty/minut temu\",\r\n    \"SECOND\": \"{{value}} sekundę temu\",\r\n    \"SECONDS\": \"{{value}} sekundy/sekund temu\",\r\n    \"JUST_NOW\": \"Teraz\"\r\n  },\r\n  \"TERM_COLLECTIONS\": {\r\n    \"GLOSSARY\": \"Glosariusz: \",\r\n    \"SELECTED_NONE\": \"Brak\",\r\n    \"EDIT\": \"Edytuj\",\r\n    \"CREATE\": \"Nowy glosariusz\",\r\n    \"DEFAULT_COLLECTION_NAME\": \"Mój zbiór terminów\",\r\n    \"SYNC\": \"Synchronizuj\",\r\n    \"SYNC_ERROR\": \"Spróbuj ponownie\",\r\n    \"TITLE\": \"Glosariusze\",\r\n    \"DEFAULT\": \"Domyślne\",\r\n    \"DESCRIPTION\": \"Uzyskaj precyzyjne i niezawodne tłumaczenia, wybierając z listy najbardziej odpowiedni glosariusz.\",\r\n    \"DESCRIPTION_EMPTY\": \"<span>Utwórz nowy glosariusz</span> dla pary językowej {{srcLang}}-{{trgLang}} lub otwórz <span>Zarządzanie domyślnymi glosariuszami</span> i utwórz glosariusz, aby móc go używać w tłumaczeniu na całej platformie.\",\r\n    \"UNAVAILABLE_GLOSSARIES\": \"Brak dostępnych glosariuszy\",\r\n    \"LAST_UPDATED\": \"Ostatnia aktualizacja: {{date}}\",\r\n    \"TERMS_IN_USE\": \"Liczba używanych terminów: {{termCount}}\",\r\n    \"DEFAULT_GLOSSARY_MANAGEMENT\": \"Zarządzaj domyślnymi glosariuszami\",\r\n    \"ARIA_LABELS\": {\r\n      \"RADIO_GROUP\": \"Wybierz zbiór terminów\",\r\n      \"OTHER_COLLECTIONS\": \"Otwórz menu zbioru\"\r\n    },\r\n    \"CREATE_DIALOG\": {\r\n      \"CANCEL\": \"Anuluj\",\r\n      \"CREATE\": \"Utwórz\",\r\n      \"DESCRIPTION_2\": \"<i>* SI nie jest idealna i mogą występować błędy. Twoje unikalne terminy będą używane prawidłowo z dokładnością na poziomie 95%.</i>\",\r\n      \"TITLE\": \"Utwórz nowy glosariusz\",\r\n      \"COLLECTION_NAME_ERROR\": \"Tytuł powinien mieć minimalną liczbę symboli wynoszącą {{minLength}} oraz nie większą niż {{maxLength}}\",\r\n      \"COLLECTION_NAME_LABEL\": \"Nazwa glosariusza\",\r\n      \"DESCRIPTION_1\": \"Po kliknięciu „Utwórz” zostaniesz przekierowany do Tilde Term, gdzie możesz dodać terminy.\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"EDIT\": \"Nastąpi przekierowanie do portalu z terminologią, który otworzy się w nowej zakładce\",\r\n      \"NO_ENTRIES\": \"Nie można korzystać ze zbioru terminów, ponieważ dla języka źródłowego nie ma terminów\",\r\n      \"SYNC\": \"Zaktualizuj zbiór terminów\",\r\n      \"SYNCING\": \"Zbiór terminów jest synchronizowany i zostanie użyta ostatnia zsynchronizowana wersja zbioru\",\r\n      \"ATTACH_TO_SYSTEM_ERROR\": \"Wystąpił błąd podczas importowania zbioru terminów\",\r\n      \"IMPORTING\": \"Importowanie glosariusza\",\r\n      \"DEFAULT_COLLECTION\": \"Te terminy są obecnie używane. Możesz nimi zarządzać poprzez zarządzanie domyślnym glosariuszem. \"\r\n    },\r\n    \"READER\": {\r\n      \"TITLE\": \"Glosariusze\",\r\n      \"UNAVAILABLE\": \"Glosariusze są niedostępne\",\r\n      \"AUTH_UNAVAILABLE\": \"Tylko redaktorzy terminologii mogą tworzyć nowe słowniki.\",\r\n      \"TEXT\": \"Glosariusze są dostępne tylko dla autoryzowanych użytkowników. </br> <a href='{{signInUrl}}'>Zaloguj się</a> lub <a href='{{startTrialUrl}}'>rozpocznij bezpłatny okres próbny</a>, aby odblokować glosariusz.\"\r\n    },\r\n    \"ERRORS\": {\r\n      \"ERRORIMPORTING\": \"Importowanie błędu\"\r\n    }\r\n  },\r\n  \"DOMAINS\": {\r\n    \"OPEN_LIST_ARIA_LABEL\": \"Otwórz listę domen\",\r\n    \"TITLE\": \"Domena:\",\r\n    \"GENERAL\": \"Ogólne\",\r\n    \"AUTO\": \"Automatyczne wykrywanie\",\r\n    \"LAW\": \"Prawo\",\r\n    \"DYNAMIC_LEARNING\": \"Dynamiczne uczenie się\",\r\n    \"BUSINESS\": \"Biznes\",\r\n    \"SPD\": \"Formalny język UE\",\r\n    \"GEN\": \"Tekst ogólny\",\r\n    \"ECB\": \"Finanse\",\r\n    \"ECJ\": \"Europejski Trybunał Sprawiedliwości\",\r\n    \"PUBHEALTH\": \"Publiczna ochrona zdrowia\",\r\n    \"BUBA\": \"Deutsche Bundesbank\",\r\n    \"BERCY\": \"Ministère des Finances\",\r\n    \"EUROPEANA\": \"Europeana\",\r\n    \"IPO\": \"IP Case Law\",\r\n    \"TRIS\": \"Silniki zbudowane w oparciu o dane z systemu informacji o przepisach technicznych\",\r\n    \"VK\": \"Valtioneuvoston Kanslia\",\r\n    \"BUBA_NMTTEST\": \"Deutsche Bundesbank Test\",\r\n    \"GENERAL_AI\": \"Ogólne SI\",\r\n\t\t\"ACADEMIC_AI\": \"Naukowe SI\",\r\n\t\t\"PROFESSIONAL_AI\": \"Profesjonalne SI\"\r\n  },\r\n  \"AUDIO\": {\r\n    \"CANCEL\": \"Anuluj\",\r\n    \"DESCRIBE_STATE_RECORDING\": \"Zacznij nagrywać mowę…\",\r\n    \"DESCRIBE_STATE_PROCESSING\": \"Trwa przetwarzanie…\",\r\n    \"MIC_NOT_FOUND\": \"Nie znaleziono mikrofonu\",\r\n    \"STOP\": \"Zatrzymaj nagrywanie\",\r\n    \"START\": \"Tłumacz mowę\",\r\n    \"PUNCTUATION_MESSAGE_TITLE\": \"Dodaj interpunkcję\",\r\n    \"PUNCTUATION_MESSAGE\": \"Dodaj interpunkcję do rozpoznanego tekstu. Długi tekst bez interpunkcji może mieć niższą jakość tłumaczenia lub nie zostać przetłumaczony\"\r\n  },\r\n  \"EXTENSION_POPUP\": {\r\n    \"OPEN\": \"zobacz wszystkie obsługiwane formaty\",\r\n    \"TITLE\": \"Obsługiwane formaty plików\",\r\n    \"DESCRIPTION\": \"Konieczne jest kodowanie UTF-8 lub UTF-16 w celu zapewnienia prawidłowego tłumaczenia pliku\",\r\n    \"OFFICE\": \"Office\",\r\n    \"SCANNED\": \"Zeskanowane pliki\",\r\n    \"INTERCHANGE\": \"Formaty wymiany\",\r\n    \"WEB\": \"Sieć Web\",\r\n    \"OTHER\": \"Inne\"\r\n  },\r\n  \"FILE_UPLOAD\": {\r\n    \"UPLOAD\": \"Wybierz\",\r\n    \"DRAG_AND_DROP\": \"lub przeciągnij i upuść \",\r\n    \"FILE\": \"plik\",\r\n    \"FILES\": \"pliki\",\r\n    \"LIMITS_MB\": \"Maks. {{maxSizeMB}} MB\",\r\n    \"CLEAR\": \"Wyczyść plik\",\r\n    \"SELECT_LANGUAGE_WARNING\": \"Wybierz język źródłowy pliku.\"\r\n  },\r\n  \"SYSTEM_PICKER\": {\r\n    \"SOURCE\": \"Przetłumacz z języka\",\r\n    \"TARGET\": \"Przetłumacz na język\",\r\n    \"SEARCH_PLACEHOLDER\": \"Wyszukaj języki\",\r\n    \"RECENT_SYSTEM_TITLE\": \"Ostatnie\",\r\n    \"SELECT_DOMAIN\": \"Wybierz domenę\",\r\n    \"FILTER_NO_RESULTS\": \"Brak wyników\",\r\n    \"ALL_LANGUAGES\": \"Wszystkie języki\",\r\n    \"CLEAR_SEARCH\": \"Wyczyść wyszukiwany tekst\",\r\n    \"OPEN_SOURCE_ARIA_LABEL\": \"Wybierz język źródłowy\",\r\n    \"OPEN_TARGET_ARIA_LABEL\": \"Wybierz język źródłowy i domenę\",\r\n    \"DETECTED\": \"Wykryto\",\r\n    \"LANGUAGE\": \"Język:\",\r\n    \"TRANSLATION_STYLE\": \"Dziedzina:\"\r\n  },\r\n  \"TEXT_TRANSLATION_PROGRESS_INDICATOR\": {\r\n    \"TITLE\": \"Tłumaczenie wykonane przez {{provider}}\",\r\n    \"TRANSLATING\": \"Tłumaczenie...\",\r\n    \"CLOSE_BUTTON_TOOLTIP\": \"Usuń pasek postępu\",\r\n    \"CLOSE_BUTTON_ARIA_LABEL\": \"Usuń pasek postępu\"\r\n  },\r\n  \"VENDOR_MESSAGE\": {\r\n    \"TEXT\": \"Tłumaczenie wykonane przez {{vendor}}\",\r\n    \"ICON_TOOLTIP\": \"Z systemów oferowanych przez firmę {{vendor}} korzysta duża liczba użytkowników Ze względu na duże obciążenie systemy te mogą czasem działać wolno.\"\r\n  },\r\n  \"VENDORS\": {\r\n    \"ETRANSLATION\": \"eTranslation\"\r\n  },\r\n  \"TEXT_TO_SPEECH\": {\r\n    \"PLAY\": \"Słuchaj\",\r\n    \"PAUSE\": \"Wstrzymaj\"\r\n  },\r\n  \"DICTIONARY\": {\r\n    \"SOURCE\": \"Wyniki z {{src}}\"\r\n  }\r\n}\r\n","\r\nexport const i18n_sv = {\r\n  \"APP_NAME\": \"Tilde MT\",\r\n  \"TLD_TRANSLATE\": {\r\n    \"PDF_PAGE_LIMIT_MSG\": \"I pdf-filer kommer endast den första sidan att översättas. Översättning av ett helt dokument stöds för registrerade användare, begär åtkomst <a href=\\\"{{registerLink}}\\\">här</a>.\",\r\n    \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Skriv in texten du vill översätta.\",\r\n    \"REGISTERED_FORMATS_LOGGED_IN\": \"Registrerade användare har tillgång till översättning av följande dokumentformat: {{formats}}.\",\r\n    \"REGISTERED_FORMATS\": \"Registrerade användare har tillgång till översättning av följande dokumentformat: {{formats}}. Begär åtkomst <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\">här</a>.\",\r\n    \"SOURCE_FORMATS\": \"Säker offentlig översättningstjänst stöder följande dokumentformat: {{formats}};\",\r\n    \"CANCEL_TRANSLATION\": \"Avbryt\",\r\n    \"DOWNLOAD_TRANSLATED\": \"Ladda ned\",\r\n    \"ERROR_NO_SYSTEMS_LOADED\": \"Inget system kunde laddas.\",\r\n    \"FILE_DOWNLOAD_SOURCE\": \"Ladda ned konverterad källtext\",\r\n    \"FILE_TANSLATION_STATUSS_QUEUING\": \"I kö\",\r\n    \"FILE_TARGET_PREVIEW_MESSAGE\": \"Detta är en förhandsvisning av det översatta dokumentet. Ladda ned hela översättningen.\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Läs om konvertering av pdf-dokument.\",\r\n    \"SOURCE_TOOLTIP\": \"Fyll i text eller adressen till en webbsida som du vill översätta.\",\r\n    \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Använd inte {{appName}} för att översätta texter som innehåller sekretessbelagd eller säkerhetsklassificerad information eller särskilda kategorier av personuppgifter (t.ex. hälsouppgifter).\",\r\n    \"TARGET_DESCRIPTION\": \"En maskinöversättning kan göra det möjligt att förstå en källtexts innehåll, men den kan inte ersätta en översättning gjord av en människa.\",\r\n    \"TEXT_COPIED\": \"Översättningen kopierad\",\r\n    \"TOOLTIP_ACTION\": \"Översätt\",\r\n    \"VENDORS_ARIA_LABEL\": \"Tjänsteleverantörer\"\r\n  },\r\n  \"MULTIPLE_FILES\": {\r\n    \"APPEND\": \"Lägg till filer\",\r\n    \"CLEAR_ALL\": \"Avbryt\",\r\n    \"DOWNLOAD\": \"Ladda ned\",\r\n    \"STATUSS_INITIALIZING\": \"Förbereds\",\r\n    \"STATUSS_EXTRACTING\": \"Extraheras\",\r\n    \"STATUSS_WAITING\": \"Väntar\",\r\n    \"STATUSS_TRANSLATING\": \"Översätts\",\r\n    \"STATUSS_SAVING\": \"Sparas\",\r\n    \"STATUSS_COMPLETED\": \"Klar\",\r\n    \"STATUSS_ERROR\": \"Fel\",\r\n    \"STATUSS_QUEUING\": \"I kö\",\r\n    \"PDF_DISCLAIMER\": \"Konverteringen av pdf-dokument kan orsaka formateringsfel eller förvrängning av texten. När texten är översatt, välj ”Ladda ned konverterad källtext” i menyn, kontrollera texten och korrigera eventuella fel innan du laddar upp texten på nytt för översättning.\",\r\n    \"PDF_DISCLAIMER_LINK\": \"Läs mer om konvertering av pdf-dokument.\",\r\n    \"SCREEN_READER_ANNOUNCEMENT\": \"{{translated}} av {{total}} filer har översatts.\"\r\n  },\r\n  \"ERRORS\": {\r\n    \"ERROR_DEFAULT\": \"Ett oväntat fel inträffade. Försök på nytt.\",\r\n    \"ERROR_DEFAULT_SUPPORT\": \" Om problemet kvarstår, kontakta <a href=\\\"mailto:{{email}}\\\"><strong>supporten</strong></a>.\",\r\n    \"MAX_CHAR_LENGTH\": \"Du har lagt till {{totalSymbols}} tecken, men det högsta tillåtna teckenantalet är {{maxCharLength}}. Din text förkortas.\",\r\n    \"FILE_ALREADY_ADDED\": \"En fil med namnet {{fileName}} har redan lagts till.\",\r\n    \"UANUTHORIZED_401\": \"Du saknar rättigheter att använda maskinöversättningsverktyget.\",\r\n    \"UANUTHORIZED_401_SUPPORT\": \" Kontakta <a href=\\\"mailto:{{email}}\\\"><strong>supporten</strong></a>.\",\r\n    \"E_UNKNOWN_FILE_TYPE\": \"Okänt filformat.\",\r\n    \"E_CANNOT_READ_FILE\": \"Filen kunde inte läsas. Filen kan vara skadad.\",\r\n    \"E_FAILED_IN_TRANSLATION\": \"Det uppstod ett fel under översättningen.\",\r\n    \"E_FORMAT_TRACK_CHANGES\": \"Översättningen misslyckades, eftersom spåra ändringar-funktionen var påkopplad. Alla ändringar måste först godkännas.\",\r\n    \"E_UNKNOWN_ERROR\": \"Ett okänt fel uppstod.\",\r\n    \"E_UNAUTHORIZED\": \"Översättningen av dokumentet hindrades.\",\r\n    \"COLLECTION_CREATE\": \"Det gick inte att skapa en ny termbank.  Försök igen.\",\r\n    \"COLLECTION_CREATE_SUPPORT\": \" Kontakta <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a> om problemet kvarstår.\",\r\n    \"COLLECTION_IMPORT\": \"Det gick inte att bifoga termbanken med id: {{termId}}.\",\r\n    \"E_11\": \"Daglig översättningsgräns har nåtts.\",\r\n    \"E_11_SUPPORT\": \" För att höja den dagliga gränsen, kontakta <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"E_12\": \"Maximal textmängd har uppnåtts. Skicka kortare text i en förfrågan.\",\r\n    \"E_12_SUPPORT\": \" Om du vill höja gränsen för textmängden kontaktar du <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"E_21\": \"Systemet startar. Du kommer att kunna översätta alldeles strax.\",\r\n    \"E_22\": \"Översättningssystem hittades inte.\",\r\n    \"E_22_SUPPORT\": \" Kontakta <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"E_23\": \"Systemet har inte startats.\",\r\n    \"E_23_SUPPORT\": \" Starta systemet för att översätta eller kontakta <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"E_41\": \"Okänt termbank-ID har angetts.\",\r\n    \"E_41_SUPPORT\": \" Ange det termbank-ID som tillhör systemet eller kontakta <a href=\\\"mailto:{{email}}\\\"><strong>support</strong></a>.\",\r\n    \"FILE_UPLOAD\": {\r\n      \"FILE_UPLOAD_EMPTY\": \"Filen \\\"{{fileName}}” är tom. Välj en fil som inte är tom.\",\r\n      \"FILE_UPLOAD_MAX_SIZE\": \"Filen \\\"{{fileName}}” är för stor. Den maximala filstorleken är {{maxSizeMB}}.\",\r\n      \"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"Filformatet för filen \\\"{{fileName}}” kunde inte identifieras.  Översättningsverktyget stöder följande filformat: {{formats}}.\"\r\n    }\r\n  },\r\n  \"LANGUAGES\": {\r\n    \"AUTO\": \"Identifiera språk\",\r\n    \"AR\": \"Arabiska\",\r\n    \"BE\": \"Belarusiska\",\r\n    \"BG\": \"Bulgariska\",\r\n    \"CS\": \"Tjeckiska\",\r\n    \"DA\": \"Danska\",\r\n    \"DE\": \"Tyska\",\r\n    \"EL\": \"Grekiska\",\r\n    \"EN\": \"Engelska\",\r\n    \"ES\": \"Spanska\",\r\n    \"ET\": \"Estniska\",\r\n    \"FI\": \"Finska\",\r\n    \"FR\": \"Franska\",\r\n    \"GA\": \"Iriska\",\r\n    \"HR\": \"Kroatiska\",\r\n    \"HU\": \"Ungerska\",\r\n    \"IS\": \"Isländska\",\r\n    \"IT\": \"Italienska\",\r\n    \"JA\": \"Japanska\",\r\n    \"KA\": \"Georgiska\",\r\n    \"KO\": \"Koreanska\",\r\n    \"LT\": \"Litauiska\",\r\n    \"LV\": \"Lettiska\",\r\n    \"MO\": \"Moldaviska\",\r\n    \"MT\": \"Maltesiska\",\r\n    \"NL\": \"Nederländska\",\r\n    \"PL\": \"Polska\",\r\n    \"PT\": \"Portugisiska\",\r\n    \"RO\": \"Rumänska\",\r\n    \"RU\": \"Ryska\",\r\n    \"SK\": \"Slovakiska\",\r\n    \"SR\": \"Serbiska\",\r\n    \"SL\": \"Slovenska\",\r\n    \"SV\": \"Svenska\",\r\n    \"TR\": \"Turkiska\",\r\n    \"UK\": \"Ukrainska\",\r\n    \"ZH\": \"Kinesiska\"\r\n  },\r\n  \"ARIA_LABELS\": {\r\n    \"CLOSE_BUTTON\": \"Stäng\",\r\n    \"CLEAR_NOTIFICATION\": \"Stäng\",\r\n    \"CLEAR_SOURCE\": \"Rensa text\",\r\n    \"CLOSE_DIALOG\": \"Stäng\",\r\n    \"CLEAR_FILES\": \"Rensa filer\",\r\n    \"SHOW_EXTENSIONS\": \"Visa andra nedladdningsalternativ\"\r\n  },\r\n  \"TOOLTIPS\": {\r\n    \"COPY\": \"Kopiera till urklipp\",\r\n    \"SWAP_LANGUAGES\": \"Byt språkriktning\"\r\n  },\r\n  \"PDF_CONVERSION\": {\r\n    \"TITLE_1\": \"Översättning av pdf-dokument\",\r\n    \"PARAGRAPH_1_1\": \"När en pdf-fil laddas upp för att översättas, konverteras den först till ett format som själva översättningsverktyget kan hantera. Både pdf-filer med skannad text och vanliga textdokument sparade i pdf-format kan konverteras. Den färdiga översättningen kan laddas ned i docx- eller pdf-format och bevarar grundläggande formatering. \",\r\n    \"PARAGRAPH_1_2\": \"Konverteringen av pdf-filerna går snabbare, om du delar upp filerna i mindre delar och tar bort sidor som inte behöver översättas. Antalet sidor samt textens kvalitet och täthet inverkar på hur lång tid det tar.\",\r\n    \"PARAGRAPH_1_3\": \"För att maskinöversättningen ska bli så bra som möjligt rekommenderar vi att du efter konverteringen laddar ned den konverterade källtexten, korrigerar texten manuellt och sedan laddar upp det korrigerade dokumentet för att översättas.\",\r\n    \"IMAGE_ALT_1\": \"Exempel på nedladdning av konverterad källtext\",\r\n    \"TITLE_2\": \"Konvertering av pdf-fil\",\r\n    \"PARAGRAPH_2_1\": \"Dokumentet analyseras och dess innehåll delas upp i text, tabeller och bilder/bakgrundsbild. Dessa analyseras närmare för att bestämma vilken del av innehållet som ska kännas igen som text.\",\r\n    \"PARAGRAPH_2_2\": \"Texten läses med hjälp av optisk teckenigenkänning (OCR). Varje tecken känns igen utifrån dess visuella egenskaper, och tecknen sätts sedan samman till ord och meningar.\",\r\n    \"PARAGRAPH_2_3\": \"Igenkänningen påverkas av många faktorer, bland annat följande:\",\r\n    \"LI_1_1\": \"Ett skannat dokuments kvalitet (otydlig eller deformerad text, brus, resolution, kontrast osv.) För bästa möjliga resultat ska pdf-dokument ha en resolution på minst 300 dpi samt vara raka och brusfria.\",\r\n    \"LI_1_2\": \"Teckenstorlek. Igenkänningen fungerar sämre, om teckenstorleken är mindre än 9. \",\r\n    \"LI_1_3\": \"Ovanliga och säregna teckensnitt. Med mindre vanliga teckensnitt kan teckenigenkänningen fungera sämre eller inte alls.\",\r\n    \"LI_1_4\": \"Hur komplex dokumentets struktur och formatering är.\",\r\n    \"TITLE_3\": \"Att notera för bättre översättningsresultat\",\r\n    \"PARAGRAPH_3_1\": \"Konverteringsprocessen är mycket komplex, och den kan påverkas av olika slags fel i det ursprungliga dokumentet. \",\r\n    \"PARAGRAPH_3_2\": \"Möjliga fel som kan uppkomma under processen:\",\r\n    \"LI_2_1\": \"Ord identifieras på ett felaktigt sätt.\",\r\n    \"LI_2_2\": \"Gränserna mellan ord blir felaktiga.\",\r\n    \"LI_2_3\": \"Meningar sträcker sig över flera kolumner, eller rader och sidor delas upp i olika textobjekt.\",\r\n    \"LI_2_4\": \"Sidhuvuden och sidfötter blir felplacerade.\",\r\n    \"LI_2_5\": \"Numreringen blir felaktig.\",\r\n    \"LI_2_6\": \"Textinnehåll i tabeller som har identifierats som bakgrundsbilder placeras i olika textobjekt.\",\r\n    \"LI_2_7\": \"Vissa diagram identifieras som bilder utan textinnehåll.\",\r\n    \"LI_2_8\": \"Avgränsare, kanter eller andra vågräta linjer identifieras som överstruken eller understruken text.\",\r\n    \"LI_2_9\": \"Innehållsförteckningar eller andra förteckningar krymps ihop eller identifieras som överstruken eller understruken text.\",\r\n    \"PARAGRAPH_4_1\": \"<b>Notera att det konverterade dokumentet inte helt och hållet behåller sin ursprungliga formatering.</b> Bilder, tabeller eller figurer kan förvrängas eller förenklas. Teckensnittet i översättningen är inte detsamma som i det ursprungliga dokumentet, men det kan vara likartat. Teckenstorleken kan ändras. Vissa formateringar i Word, såsom rubriker, innehållsförteckningar, sidhuvuden och sidfötter, symboler, blanketter osv. formateras så att de ser ut som i det ursprungliga dokumentet, men inte helt motsvarar den ursprungliga formateringen (till exempel rubriker är skrivna med fet stil och större teckenstorlek, men inte med särskilt rubrikformat).\",\r\n    \"CLOSE\": \"Stäng \"\r\n  },\r\n  \"WEBTRANSLATE\": {\r\n    \"BACK\": \"Återgå till maskinöversättaren\",\r\n    \"LOAD_PAGE\": \"Ladda sidan\",\r\n    \"RESTORE\": \"Återställ\",\r\n    \"CANCEL\": \"Avbryt\",\r\n    \"ORIGINAL\": \"Original\",\r\n    \"CLOSE\": \"Stäng\"\r\n  },\r\n  \"TERM_COLLECTIONS\": {\r\n    \"TITLE\": \"Hantera ordlistor\",\r\n    \"GLOSSARY\": \"Ordlista: \",\r\n    \"SELECTED_NONE\": \"Ingen\",\r\n    \"EDIT\": \"Redigera\",\r\n    \"CREATE\": \"Ny ordlista\",\r\n    \"DEFAULT_COLLECTION_NAME\": \"Min termbank\",\r\n    \"SYNC\": \"Synkronisera\",\r\n    \"SYNC_ERROR\": \"Försök igen\",\r\n    \"ARIA_LABELS\": {\r\n      \"RADIO_GROUP\": \"Välj termbank\",\r\n      \"OTHER_COLLECTIONS\": \"Öppna termbanksmenyn\"\r\n    },\r\n    \"CREATE_DIALOG\": {\r\n      \"CANCEL\": \"Avbryt\",\r\n      \"CREATE\": \"Skapa\",\r\n      \"DESCRIPTION_2\": \"<i>*AI är inte perfekt och det kan förekomma enstaka misstag. Dina unika termer kommer att användas korrekt med 95 % noggrannhet.</i>\",\r\n      \"TITLE\": \"Skapa ny ordlista\",\r\n      \"COLLECTION_NAME_ERROR\": \"Titeln bör vara minst {{minLength}} tecken lång och får inte vara längre än {{maxLength}} tecken\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"EDIT\": \"Du kommer att omdirigeras till terminologiportalen som kommer att öppnas i en ny flik\",\r\n      \"NO_ENTRIES\": \"Termbanken kan inte användas eftersom det inte finns några termer för källspråket\",\r\n      \"SYNC\": \"Uppdatera termbank\",\r\n      \"SYNCING\": \"Termbanken synkroniseras och den senaste synkroniserade versionen av banken kommer att användas\",\r\n      \"ATTACH_TO_SYSTEM_ERROR\": \"Det uppstod ett fel vid importering av termbanken\"\r\n    }\r\n  },\r\n  \"DOMAINS\": {\r\n    \"LAW\": \"Juridik\",\r\n    \"DYNAMIC_LEARNING\": \"Dynamiskt lärande\",\r\n    \"BUSINESS\": \"Näringsliv\",\r\n    \"GENERAL\": \"Allmänt\"\r\n  }\r\n}\r\n","export const i18n_hr =  {\r\n    \"TERM_PORTAL_NAME\": \"Tilde term\",\r\n    \"APP_NAME\": \"Tilde MT\",\r\n    \"TLD_TRANSLATE\": {\r\n      \"CANCEL_TRANSLATION\": \"Otkazati\",\r\n      \"DOWNLOAD_TRANSLATED\": \"Preuzimanje\",\r\n      \"FILE_DOWNLOAD_SOURCE\": \"Preuzmi konvertirani izvorni PDF.\",\r\n      \"FILE_DOWNLOAD_SOURCE_HELP\": \"Pretvorba PDF-a može uzrokovati pogreške u formatiranju ili iskrivljenje teksta. Molimo provjerite konvertiranu datoteku i ispravite pogreške prije ponovnog učitavanja datoteke za prijevod.\",\r\n      \"FILE_DOWNLOAD_SOURCE_IMAGE\": \"Preuzmi konvertiranu izvornu sliku\",\r\n      \"FILE_DOWNLOAD_SOURCE_IMAGE_HELP\": \"Pretvorba slike može uzrokovati pogreške u formatiranju ili izobličenje teksta. Molimo provjerite konvertiranu datoteku i ispravite pogreške prije ponovnog učitavanja datoteke za prijevod.\",\r\n      \"FILE_TANSLATION_STATUSS_QUEUING\": \"Prijevod počinje...\",\r\n      \"FILE_TARGET_PREVIEW_MESSAGE\": \"Ovo je pregled prevedenog dokumenta, molimo preuzmite ga kako biste dobili potpuni prijevod.\",\r\n      \"PDF_DISCLAIMER_LINK\": \"Pogledajte kako to popraviti\",\r\n      \"IMAGE_DISCLAIMER_LINK\": \"Pročitajte o konverziji slike.\",\r\n      \"REGISTERED_FORMATS_LOGGED_IN\": \"Registrirani korisnici imaju pristup sljedećim formatima dokumenata za prijevod: {{formats}}.\",\r\n      \"REGISTERED_FORMATS\": \"Registrirani korisnici imaju pristup sljedećim formatima dokumenata za prijevod: {{formats}}. Zatražite svoj pristup <a class=\\\"accent-color\\\" target=\\\"blank\\\" href=\\\"{{registerLink}}\\\">ovdje</a>.\",\r\n      \"SOURCE_FORMATS\": \"Sigurna javna usluga prevođenja podržava sljedeće formate dokumenata: {{formati}};\",\r\n      \"SOURCE_TOOLTIP\": \"Upišite tekst ili umetnite poveznicu za prijevod.\",\r\n      \"SOURCE_TOOLTIP_ONLY_TEXT\": \"Upišite tekst za prijevod.\",\r\n      \"SOURCE_TOOLTIP_SENSITIVE_INFO\": \"Ne koristite {{appName}} za prevođenje povjerljivih ili klasificiranih informacija ili tekstova koji sadrže posebne kategorije osobnih podataka, kao što su medicinski podaci.\",\r\n      \"TARGET_DESCRIPTION\": \"Strojno prevođenje omogućuje razumijevanje značenja izvornog teksta, ali ne može zamijeniti ljudski prijevod.\",\r\n      \"TEXT_COPIED\": \"Prijevod kopiran\",\r\n      \"SUGGEST_BUTTON\": \"Predložiti prijevod\",\r\n      \"SUGGEST_ORIGINAL_LABEL\": \"Izvorna rečenica\",\r\n      \"SUGGEST_SUBMIT_BUTTON\": \"Doprinesi\",\r\n      \"SUGGEST_TRANSLATION_LABEL\": \"Prijevod\",\r\n      \"SUGGEST_USAGE_INFO\": \"Vaš prijedlog anonimne prijevoda bit će korišten za poboljšanje kvalitete strojnog prevođenja.\",\r\n      \"TOOLTIP_ACTION\": \"Prevesti\",\r\n      \"VENDORS_ARIA_LABEL\": \"Pružatelji\",\r\n      \"DOC_WORD_CNT_LIMIT_MSG_TITLE\": \"Ograničenje prijevoda\",\r\n      \"DOC_WORD_CNT_LIMIT_MSG\": \"Prevedeno će biti samo prvih 1250 riječi.\",\r\n      \"DOC_WORD_CNT_LIMIT_MSG_SUBSCRIPTION\": \" Za prevođenje cijelih datoteka trebate pretplatu na Tilde MT. <a href=\\\"{{pricingUrl}}\\\" target='_blank'>započnite s besplatnim probnim razdobljem</a>\",\r\n      \"ERROR_NO_SYSTEMS_LOADED_TITLE\": \"Nijedan prevoditeljski stroj nije učitan.\",\r\n      \"ERROR_NO_SYSTEMS_LOADED\": \"Nije uspjelo učitavanje strojeva za strojno prevođenje.\",\r\n      \"ERROR_NO_SYSTEMS_LOADED_SUPPORT\": \" Molimo ponovno učitajte stranicu ili kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"PDF_PAGE_LIMIT_MSG_TITLE\": \"Ograničenje prijevoda\",\r\n      \"PDF_PAGE_LIMIT_MSG\": \"Prevest će se samo prva stranica.\",\r\n      \"PDF_PAGE_LIMIT_MSG_SUBSCRIPTION\": \" Za prevođenje cijelih PDF datoteka potrebna vam je pretplata na Tilde MT. <a href=\\\"{{pricingUrl}}\\\" target='_blank'>započnite s besplatnim probnim razdobljem</a>\",\r\n      \"CLEAR_SOURCE_TOOLTIP\": \"Jasan tekst.\",\r\n      \"SUMMARY\": {\r\n        \"TITLE\": \"Sažetak\",\r\n        \"CREATING\": \"Izrada sažetka\",\r\n        \"DISABLED\": \"Pružite najmanje 300 znakova za korištenje značajke sažimanja.\",\r\n        \"COPIED\": \"Sažetak teksta kopiran\",\r\n        \"NEW_FEATURE\": {\r\n          \"TITLE\": \"Nova značajka\",\r\n          \"DESCRIPTION\": \"Sažmi duge tekstove u kratak pregled ključnih točaka.\",\r\n          \"CLOSE\": \"Zatvori\"\r\n        }\r\n      },\r\n      \"REPHRASE\": {\r\n        \"TITLE\": \"Preoblikuj\",\r\n        \"CHOOSE_LABEL\": \"Odaberi stil pisanja\",\r\n        \"TOOLTIP\": \"Preoblikuj tekst u odabrani stil pisanja, prilagođavajući jezik i ton kako bi odgovarao odabranom stilu ili glasu.\",\r\n        \"LOADING\": \"Preoblikovanje\",\r\n        \"COPIED\": \"Preoblikovani tekst kopiran\",\r\n        \"HINT\": \"Preoblikuj tekstove kako bi promijenio formulaciju ili uhvatio pravi ton. Odaberi jedan od 3 stila pisanja: Opći, Profesionalni, Akademski.\",\r\n        \"NEW_FEATURE\": {\r\n          \"TITLE\": \"Preoblikuj\",\r\n          \"DESCRIPTION\": \"Preoblikuj tekst u odabrani stil pisanja, prilagođavajući jezik i ton kako bi odgovarao odabranom stilu ili glasu.\",\r\n          \"CLOSE\": \"Zatvori\"\r\n        },\r\n        \"STYLES\": {\r\n          \"GENERAL\": \"Opći\",\r\n          \"PROFESSIONAL\": \"Profesionalni\",\r\n          \"ACADEMIC\": \"Akademski\"\r\n        }\r\n      },\r\n    },\r\n    \"MULTIPLE_FILES\": {\r\n      \"CLEAR_ALL\": \"Zatvori\",\r\n      \"DOWNLOAD\": \"Preuzimanje\",\r\n      \"STATUSS_INITIALIZING\": \"Inicijalizacija\",\r\n      \"STATUSS_EXTRACTING\": \"Ekstrakcija\",\r\n      \"STATUSS_WAITING\": \"Pokretanje prevoditelja.\",\r\n      \"STATUSS_TRANSLATING\": \"Prevođenje {{percent}}%\",\r\n      \"STATUSS_SAVING\": \"Spremanje\",\r\n      \"STATUSS_COMPLETED\": \"Dovršeno\",\r\n      \"STATUSS_ERROR\": \"Greška\",\r\n      \"STATUSS_QUEUING\": \"Redoslijed čekanja\",\r\n      \"STATUSS_UPLOADING\": \"Učitavanje...\",\r\n      \"STATUSS_UPLOADED\": \"Preneseno\",\r\n      \"PDF_DISCLAIMER\": \"PDF dokumenti mogu imati pogreške u formatiranju ili prijevodu.\",\r\n      \"PDF_DISCLAIMER_LINK\": \"Pročitajte o pretvorbi PDF-a.\",\r\n      \"IMAGE_DISCLAIMER\": \"Pretvorba slike može uzrokovati pogreške u formatiranju ili izobličenje teksta.\",\r\n      \"IMAGE_DISCLAIMER_LINK\": \"Pročitajte o konverziji slike.\",\r\n      \"SCREEN_READER_ANNOUNCEMENT\": \"{{translated}} od {{total}} datoteka je prevedeno.\"\r\n    },\r\n    \"ERRORS\": {\r\n      \"ERROR_DEFAULT_TITLE\": \"Neočekivana greška\",\r\n      \"ERROR_DEFAULT\": \"Dogodila se neočekivana greška. Molim vas, pokušajte ponovno.\",\r\n      \"ERROR_DEFAULT_SUPPORT\": \" Ako se problem nastavi, kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"MAX_CHAR_LENGTH_TITLE\": \"Ograničenje prijevoda\",\r\n      \"MAX_CHAR_LENGTH\": \"Samo {{maxCharLength}}/{{totalSymbols}} znakova će biti prevedeno.\",\r\n      \"MAX_CHAR_LENGTH_SUBSCRIPTION\": \" Trebate pretplatu za Tilde MT za neograničen prijevod teksta. <a href=\\\"{{registerLink}}?{{queryString}}\\\">započni s besplatnim probnim razdobljem</a>\",\r\n      \"MAX_NUMBER_OF_FILES_TITLE\": \"Ograničenje prijenosa\",\r\n      \"MAX_NUMBER_OF_FILES\": \"Može se prevesti samo {{limit}} datoteka odjednom.\",\r\n      \"INCREASE_MAX_NUMBER_OF_FILES_TITLE\": \"Ograničenje prijenosa\",\r\n      \"INCREASE_MAX_NUMBER_OF_FILES\": \"Može se prevesti samo 1 datoteka odjednom. Za povećanje ograničenja trebate pretplatu na Tilde MT. <a href=\\\"{{registerLink}}?{{queryString}}\\\">započni s besplatnim probnim razdobljem</a>\",\r\n      \"FILE_ALREADY_ADDED_TITLE\": \"Datoteka je već dodana.\",\r\n      \"FILE_ALREADY_ADDED\": \"Datoteka \\\"{{fileName}}\\\" je već dodana.\",\r\n      \"UANUTHORIZED_401_TITLE\": \"Neovlašteno\",\r\n      \"UANUTHORIZED_401\": \"Nemate dopuštenje za korištenje strojnog prevođenja.\",\r\n      \"UANUTHORIZED_401_SUPPORT\": \" Molimo kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong> podršku</strong></a>.\",\r\n      \"E_UNKNOWN_FILE_TYPE\": \"Nepoznata vrsta datoteke.\",\r\n      \"E_CANNOT_READ_FILE_TITLE\": \"Nije moguće pročitati datoteku.\",\r\n      \"E_CANNOT_READ_FILE\": \"Datoteka \\\"{{fileName}}\\\" je oštećena i nije se mogla prevesti. Provjerite datoteku i pokušajte ponovno.\",\r\n      \"E_FAILED_IN_TRANSLATION_TITLE\": \"Prijevod nije uspio.\",\r\n      \"E_FAILED_IN_TRANSLATION\": \"Došlo je do pogreške prilikom prevođenja. Molim vas, pokušajte ponovno.\",\r\n      \"E_FAILED_IN_TRANSLATION_SUPPORT\": \" Ako se problem nastavi, kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"E_FORMAT_TRACK_CHANGES_TITLE\": \"Prijevod nije uspio jer je opcija 'praćenje promjena' uključena.\",\r\n      \"E_FORMAT_TRACK_CHANGES\": \"Promjene prvo moraju biti prihvaćene ili opcija 'praćenje promjena' isključena prije prevođenja Office datoteka.\",\r\n      \"E_UNKNOWN_ERROR_TITLE\": \"Nepoznata greška\",\r\n      \"E_UNKNOWN_ERROR\": \"Došlo je do nepoznate pogreške.\",\r\n      \"E_UNAUTHORIZED_TITLE\": \"Neovlašteno\",\r\n      \"E_UNAUTHORIZED\": \"Prijevod dokumenta je odbijen.\",\r\n      \"COLLECTION_CREATE_TITLE\": \"Nije uspjelo stvaranje pojmovnika.\",\r\n      \"COLLECTION_CREATE\": \"Nije uspjelo stvoriti novi pojmovnik. Molim vas, pokušajte ponovno.\",\r\n      \"COLLECTION_CREATE_SUPPORT\": \" Ako se problem nastavi, kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"COLLECTION_IMPORT_TITLE\": \"Nije uspjelo priložiti pojmovnik.\",\r\n      \"COLLECTION_IMPORT\": \"Nije uspjelo povezivanje zbirke pojmova s ID-om: {{termId}} na strojni prijevodni motor. Molim vas, pokušajte ponovno.\",\r\n      \"E_11\": \"Dnevni limit za prevođenje je dosegnut.\",\r\n      \"E_11_SUPPORT\": \" Za povećanje dnevnog limita, molimo kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"E_12_TITLE\": \"Ograničenje veličine teksta\",\r\n      \"E_12\": \"Doseg veličine teksta je postignut. Pošaljite manje teksta u zahtjevu.\",\r\n      \"E_12_SUPPORT\": \" Za povećanje ograničenja veličine teksta, molimo kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"E_21\": \"Pokreće se prevoditeljski stroj, ovo može potrajati trenutak!\",\r\n      \"E_22_TITLE\": \"Stroj za strojno prevođenje nije pronađen.\",\r\n      \"E_22\": \"Strojni prevoditeljski sustav nije pronađen.\",\r\n      \"E_22_SUPPORT\": \" Molimo kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"E_23\": \"Stroj za strojno prevođenje nije pokrenut.\",\r\n      \"E_23_SUPPORT\": \" Kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"E_41\": \"Nepoznat ID korpusa izraza. Termin korpus mora biti povezan s pogonom za strojno prevođenje.\",\r\n      \"E_504\": \"Prijevod je istekao. Pokušajte ponovno kasnije.\",\r\n      \"E_504_TITLE\": \"Istek vremena za prijevod.\",\r\n      \"E_404200\": \"Motor nije pronađen\",\r\n      \"E_404201\": \"Zbirka pojmova motora nije pronađena.\",\r\n      \"E_413102_TITLE\": \"Pogreška pri učitavanju datoteke\",\r\n      \"E_413102\": \"Prenesena datoteka je prevelika.\",\r\n      \"E_400103\": \"Visoka izvedba, interaktivna analiza velikih ili malih količina informacija.\",\r\n      \"TRANSLATION_FAILED_TITLE\": \"Prijevod nije uspio.\",\r\n      \"TRANSLATION_FAILED\": \"Dogodila se neočekivana greška.\",\r\n      \"TRANSLATION_FAILED_SUPPORT\": \" Ako se problem nastavi, kontaktirajte <a href=\\\"mailto:{{email}}\\\"><strong>podršku</strong></a>.\",\r\n      \"FILE_TRANSLATION_LIMITS\": {\r\n        \"E_429001_TITLE\": \"Dostignuto ograničenje prijevoda datoteke.\",\r\n        \"E_429001\": \"Dosegli ste mjesečni limit od {{quotaFileLimit}} prevedenih datoteka. <a href='{{pricingUrl}}' target='_blank'>Nadogradite plan</a> za nastavak prevođenja datoteka.\"\r\n      },\r\n      \"FILE_TRANSLATION_SUBSTATUS\": {\r\n        \"BAD_FILE_ERROR_TITLE\": \"Nije uspjelo prevođenje datoteke.\",\r\n        \"BAD_FILE_ERROR\": \"Datoteka je oštećena i nije se mogla prevesti. Provjerite datoteku i pokušajte ponovno.\",\r\n        \"NO_TEXT_EXTRACTED_ERROR_TITLE\": \"Nije uspjelo izdvajanje teksta.\",\r\n        \"NO_TEXT_EXTRACTED_ERROR\": \"Datoteka može biti prazna. Provjerite datoteku i pokušajte ponovno.\",\r\n        \"TRACK_CHANGES_ENABLED_ERROR_TITLE\": \"Prijevod nije uspio jer je opcija 'praćenje promjena' uključena.\",\r\n        \"TRACK_CHANGES_ENABLED_ERROR\": \"Promjene prvo moraju biti prihvaćene ili opcija 'praćenje promjena' isključena prije prevođenja Office datoteka.\",\r\n        \"UNKNOWN_FILE_TYPE_ERROR_TITLE\": \"Nepoznata vrsta datoteke\",\r\n        \"UNKNOWN_FILE_TYPE_ERROR\": \"Vrsta datoteke nije prepoznata. Ekstenzija datoteke može biti netočna ili datoteka može biti oštećena.\"\r\n      },\r\n      \"FILE_UPLOAD\": {\r\n        \"FILE_UPLOAD_EMPTY_TITLE\": \"Datoteka je prazna\",\r\n        \"FILE_UPLOAD_EMPTY\": \"Prenesena datoteka \\\"{{fileName}}\\\" je prazna. Odaberite datoteku sa sadržajem.\",\r\n        \"FILE_UPLOAD_MAX_SIZE_TITLE\": \"Ograničenje veličine datoteke\",\r\n        \"FILE_UPLOAD_MAX_SIZE\": \"Prenesena datoteka \\\"{{fileName}}\\\" je prevelika. Maksimalna veličina {{maxSizeMB}}MB\",\r\n        \"FILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE\": \"Nepodržani format datoteke\",\r\n        \"FILE_UPLOAD_UNSUPPORTED_FORMAT\": \"Format prenesene datoteke \\\"{{fileName}}\\\" nije podržan. Podržani su ovi formati dokumenata za prijevod: {{formats}}.\",\r\n        \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE\": \"Nepodržani format datoteke\",\r\n        \"FILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER\": \"Za prijevod datoteke \\\"{{fileName}}\\\" potrebna vam je pretplata na Tilde MT. <a href=\\\"{{registerLink}}?{{queryString}}\\\">započni s besplatnim probnim razdobljem</a>\",\r\n        \"E_404_TITLE\": \"Datoteka nije pronađena\",\r\n        \"E_404\": \"Tražena datoteka ne postoji.\",\r\n        \"E_404_REMOVE_TITLE\": \"Nije uspjelo brisanje datoteke.\",\r\n        \"E_404_REMOVE\": \"Datoteka je već izbrisana.\"\r\n      },\r\n      \"AUDIO\": {\r\n        \"NO_SPEECH_TITLE\": \"Bez govora\",\r\n        \"NO_SPEECH\": \"Vaše snimanje je zaustavljeno. Nismo vas mogli čuti.\",\r\n        \"MAX_TIME_EXCEEDED_TITLE\": \"Ograničenje govora\",\r\n        \"MAX_TIME_EXCEEDED\": \"Vaše snimanje je zaustavljeno. Unos govora je ograničen na {{timeString}}.\",\r\n        \"MIC_NOT_ALLOWED_TITLE\": \"Pristup mikrofonu odbijen\",\r\n        \"MIC_NOT_ALLOWED\": \"Odbili ste pristup mikrofonu. Promijenite dozvole u postavkama preglednika.\",\r\n        \"MAX_SIZE_EXCEEDED_TITLE\": \"Ograničenje govora\",\r\n        \"MAX_SIZE_EXCEEDED\": \"Vaša snimka je zaustavljena i poslana na obradu. Unos govora je ograničen na veličinu ({{maxSizeMb}}MB).\",\r\n        \"CANT_START_RECORDING_TITLE\": \"Nije uspjelo pokretanje snimanja.\",\r\n        \"CANT_START_RECORDING\": \"Nije moguće započeti snimanje. Molim vas, pokušajte ponovno.\",\r\n        \"NO_TEXT_RECOGNIZED_Title\": \"Nije prepoznat govor\",\r\n        \"NO_TEXT_RECOGNIZED\": \"Nijedan govor nije mogao biti prepoznat. Provjerite mikrofon i pokušajte ponovno.\"\r\n      },\r\n      \"DETECTION\": {\r\n        \"UNAVAILABLE\": \"Prijevod s en na hr nije podržan. Odaberi jezike ručno, ako su pogrešno detektirani.\"\r\n      }\r\n    },\r\n    \"LANGUAGES\": {\r\n      \"AUTO\": \"Otkrivanje jezika\",\r\n      \"AR\": \"Arapski\",\r\n      \"LV\": \"Latvijski\",\r\n      \"ET\": \"Estonski\",\r\n      \"DA\": \"Danski\",\r\n      \"FI\": \"Finski\",\r\n      \"IS\": \"Islandski\",\r\n      \"LT\": \"Litvanski\",\r\n      \"SV\": \"Švedski\",\r\n      \"BE\": \"Bjeloruski\",\r\n      \"BG\": \"Bugarski\",\r\n      \"CS\": \"Češki\",\r\n      \"CZ\": \"Češki\",\r\n      \"HU\": \"Mađarski\",\r\n      \"RU\": \"Ruski\",\r\n      \"MO\": \"Moldavski\",\r\n      \"PL\": \"Polirati\",\r\n      \"SK\": \"Slovački\",\r\n      \"UK\": \"Ukrajinski\",\r\n      \"NL\": \"Nizozemski\",\r\n      \"EN\": \"Engleski\",\r\n      \"FR\": \"Francuski\",\r\n      \"DE\": \"Njemački\",\r\n      \"GA\": \"Irski\",\r\n      \"EL\": \"Grčki\",\r\n      \"IT\": \"Talijanski\",\r\n      \"MT\": \"Malteški\",\r\n      \"PT\": \"Portugalski\",\r\n      \"SR\": \"Srpski\",\r\n      \"SL\": \"Slovenski\",\r\n      \"ES\": \"Španjolski\",\r\n      \"ZH\": \"Kineski\",\r\n      \"JA\": \"Japanski\",\r\n      \"KO\": \"Korejski\",\r\n      \"TR\": \"Turski\",\r\n      \"HR\": \"Hrvatski\",\r\n      \"RO\": \"Rumunjski\",\r\n      \"UZ\": \"Uzbekistanski\",\r\n      \"ID\": \"Indonezijski\",\r\n      \"BA\": \"Baškir\",\r\n      \"BRX\": \"Bodo\",\r\n      \"FJ\": \"Fidžijski\",\r\n      \"DSB\": \"Donja Lužica\",\r\n      \"GOM\": \"Konkani\",\r\n      \"HNE\": \"Chhattisgarhi\",\r\n      \"HSB\": \"Gornjolužički.\",\r\n      \"IKT\": \"Inuinnaqtun\",\r\n      \"IU\": \"Inuktitut\",\r\n      \"IU_LATN\": \"Inuktitut (latinica)\",\r\n      \"KS\": \"Kašmirski\",\r\n      \"IZH\": \"Kineski (književni)\",\r\n      \"MWW\": \"Hmong Daw (latinica)\",\r\n      \"RUN\": \"Rundi\",\r\n      \"TY\": \"Tahićanski\",\r\n      \"YUA\": \"Yucatec Maya\",\r\n      \"KU\": \"Kurdski Centralni\",\r\n      \"KMR\": \"Kurdski Sjeverni\",\r\n      \"ZH_HANS\": \"Kineski (pojednostavljeni)\",\r\n      \"ZH_HANT\": \"Kineski (tradicionalni)\",\r\n      \"LZH\": \"Kineski (književni)\",\r\n      \"OTQ\": \"Queretaro Otomi\",\r\n      \"AB\": \"Abhaski\",\r\n      \"ACE\": \"Achinese\",\r\n      \"ACH\": \"Acoli\",\r\n      \"KTU\": \"Kituba (Kongo)\",\r\n      \"ALZ\": \"Alur\",\r\n      \"AWA\": \"Awadhi\",\r\n      \"LI\": \"Limburški\",\r\n      \"LIJ\": \"Ligurski\",\r\n      \"LMO\": \"Zalagaonica\",\r\n      \"LTG\": \"Latgalian\",\r\n      \"LUO\": \"Luo (Kenija i Tanzanija)\",\r\n      \"BAN\": \"Balijski\",\r\n      \"BBC\": \"Batak Toba\",\r\n      \"MAK\": \"Makasar\",\r\n      \"BEM\": \"Bemba (Zambija)\",\r\n      \"BEW\": \"Betawi\",\r\n      \"BIK\": \"Bikol\",\r\n      \"BO\": \"Tibetanski\",\r\n      \"BTS\": \"Batak Simalungun\",\r\n      \"BTX\": \"Batak Karo\",\r\n      \"BUA\": \"Burjat\",\r\n      \"MIN\": \"Minangkabau\",\r\n      \"NEW\": \"Newari (Nepal Bhasa)\",\r\n      \"CGG\": \"Chiga\",\r\n      \"NR\": \"Južni Ndebele\",\r\n      \"NUS\": \"Nuer\",\r\n      \"CHM\": \"Mari (Rusija)\",\r\n      \"CNH\": \"Hakha Chin\",\r\n      \"PAG\": \"Pangasinan\",\r\n      \"PAM\": \"Pampanga (Kapampangan)\",\r\n      \"PAP\": \"Papiamento\",\r\n      \"CRH\": \"Krimski Tatar\",\r\n      \"CRS\": \"Sejšelski kreolski.\",\r\n      \"CV\": \"Čuvaški\",\r\n      \"DIN\": \"Dinka\",\r\n      \"DOV\": \"Domari\",\r\n      \"DZ\": \"Dzongkha\",\r\n      \"RN\": \"Kirundi\",\r\n      \"ROM\": \"Romi\",\r\n      \"EWE\": \"Ovca\",\r\n      \"FF\": \"Fula (Fulani)\",\r\n      \"SCN\": \"Sicilijanski\",\r\n      \"SG\": \"Sango\",\r\n      \"SHN\": \"Shan\",\r\n      \"SS\": \"Svati (Siswati)\",\r\n      \"HIL\": \"Hiligaynon\",\r\n      \"SZL\": \"Šleski.\",\r\n      \"HRX\": \"Hunsrik\",\r\n      \"TET\": \"Tetum\",\r\n      \"ZT\": \"Zapotec\",\r\n      \"GAA\": \"Plin\"\r\n    },\r\n    \"ARIA_LABELS\": {\r\n      \"CLOSE_BUTTON\": \"Jasno\",\r\n      \"CLEAR_NOTIFICATION\": \"Zatvori upozorenje\",\r\n      \"CLEAR_SOURCE\": \"Obriši uneseni tekst.\",\r\n      \"CLOSE_DIALOG\": \"Zatvori dijalog.\",\r\n      \"CLEAR_FILES\": \"Očisti učitane datoteke.\",\r\n      \"SHOW_EXTENSIONS\": \"Prikaži druge opcije preuzimanja\",\r\n      \"COPY\": \"Kopiraj u međuspremnik\",\r\n      \"REFRESH\": \"Osvježi prijevod.\",\r\n      \"CREATE_SUMMARY\": \"Izraditi sažetak\",\r\n      \"OPEN_IN_NEW\": \"Otvori u novoj kartici\",\r\n      \"SWAP_LANGUAGES\": \"Zamijeni jezike.\",\r\n      \"OTHER_LANGUAGES_TRIGGER\": \"Prikaži druge jezike\"\r\n    },\r\n    \"TOOLTIPS\": {\r\n      \"COPY\": \"Kopiraj u međuspremnik\",\r\n      \"REFRESH\": \"Osvježi prijevod.\",\r\n      \"SWAP_LANGUAGES\": \"Zamijeni jezike.\",\r\n      \"DISLIKE\": \"Ne sviđa mi se\",\r\n      \"CREATE_SUMMARY\": \"Izraditi sažetak\"\r\n    },\r\n    \"PDF_CONVERSION\": {\r\n      \"TITLE_1\": \"Prijevod PDF-a\",\r\n      \"PARAGRAPH_1_1\": \"Kada se .pdf datoteka učita za prijevod, ona se pretvara u format koji se može prevesti. Podržani su i skenirani i izvorni .pdf dokumenti. Prijevodi se mogu preuzeti u .docx formatu i zadržat će osnovno formatiranje. \",\r\n      \"PARAGRAPH_1_2\": \"Budući da pretvorba traje neko vrijeme, radi ubrzanja podijelite svoje .pdf datoteke i izbrišite stranice bez informacija koje se mogu prevesti. Čimbenici poput broja stranica, kvalitete i gustoće teksta utječu na vrijeme obrade.\",\r\n      \"PARAGRAPH_1_3\": \"Kako biste poboljšali učinkovitost prijevoda, preporučujemo da preuzmete konvertirani dokument na izvornom jeziku i ručno ga ispravite prije ponovnog učitavanja za prijevod.\",\r\n      \"IMAGE_ALT_1\": \"Primjer preuzimanja PDF-a izvora\",\r\n      \"TITLE_2\": \"PDF konverzija\",\r\n      \"PARAGRAPH_2_1\": \"Dokument se analizira i njegov sadržaj se dijeli na tekst, tablicu i slike/pozadinske slike. Daljnje se analiziraju kako bi se odredilo koji sadržaj treba prepoznati kao tekst.\",\r\n      \"PARAGRAPH_2_2\": \"Tekstualni podaci se prikupljaju pomoću OCR-a ili optičkog prepoznavanja znakova. Svaki znak se prepoznaje ovisno o njegovim vizualnim karakteristikama, zatim se sastavlja u riječi i rečenice.\",\r\n      \"PARAGRAPH_2_3\": \"Prepoznavanje je pod utjecajem mnogih čimbenika, uključujući:\",\r\n      \"LI_1_1\": \"Kvaliteta skeniranog dokumenta (zamagljen ili deformiran tekst, šum slike, razlučivost slike, kontrast itd.). Za najbolji rezultat, .pdf datoteke trebaju biti rezolucije najmanje 300 dpi, bez iskrivljenja i šuma.\",\r\n      \"LI_1_2\": \"Veličina fonta. Veličine manje od 9 bodova mogu biti slabo prepoznate. \",\r\n      \"LI_1_3\": \"Rijetki i originalni fontovi. Manje uobičajeni fontovi mogu biti neprepoznatljivi ili lošije funkcionirati.\",\r\n      \"LI_1_4\": \"Složenost strukture i formatiranja dokumenta.\",\r\n      \"TITLE_3\": \"Složenost strukture i formatiranja dokumenta.\",\r\n      \"PARAGRAPH_3_1\": \"Proces pretvorbe je vrlo složen i na njega mogu utjecati razne pogreške koje proizlaze iz ulaznog dokumenta. \",\r\n      \"PARAGRAPH_3_2\": \"Problemi koje treba tražiti:\",\r\n      \"LI_2_1\": \"Netočno prepoznate riječi.\",\r\n      \"LI_2_2\": \"\",\r\n      \"LI_2_3\": \"Rečenice koje se protežu kroz više stupaca, redaka ili stranica podijeljene u različite tekstualne objekte.\",\r\n      \"LI_2_4\": \"Pogrešno postavljeni podnožja i zaglavlja stranice.\",\r\n      \"LI_2_5\": \"Pogrešno numeriranje.\",\r\n      \"LI_2_6\": \"\",\r\n      \"LI_2_7\": \"\",\r\n      \"LI_2_8\": \"Separatori, granice ili druge horizontalne linije prepoznate kao precrtani ili podcrtani tekst.\",\r\n      \"LI_2_9\": \"\",\r\n      \"PARAGRAPH_4_1\": \"  Nepravilna veličina fonta može biti prepoznata. Specifično oblikovanje riječi kao što su naslovi, sadržaji, zaglavlja i podnožja, oznake, obrasci itd. bit će oblikovani da izgledaju kao original, ali neće potpuno odgovarati originalu (npr. naslovi će biti podebljani i u većem fontu, ali neće biti postavljeni na stil naslova).\",\r\n      \"CLOSE\": \"Zatvori dijalog.\"\r\n    },\r\n    \"IMAGE_CONVERSION\": {\r\n      \"TITLE_1\": \"Prijevod slike\",\r\n      \"PARAGRAPH_1_1\": \"Kada se datoteka slike prenese za prijevod, ona se pretvara u format koji se može prevesti. Prijevodi se mogu preuzeti u .docx formatu i zadržat će osnovno formatiranje.\",\r\n      \"PARAGRAPH_1_2\": \"\",\r\n      \"PARAGRAPH_1_3\": \"Kako biste poboljšali učinkovitost prijevoda, preporučujemo da preuzmete konvertirani dokument na izvornom jeziku i ručno ga ispravite prije ponovnog učitavanja za prijevod.\",\r\n      \"IMAGE_ALT_1\": \"Primjer preuzimanja izvornog slike\",\r\n      \"TITLE_2\": \"Pretvorba slike\",\r\n      \"PARAGRAPH_2_1\": \" Daljnje se analiziraju kako bi se odredilo koji sadržaj treba prepoznati kao tekst.\",\r\n      \"PARAGRAPH_2_2\": \"Tekstualni podaci se prikupljaju pomoću OCR-a ili optičkog prepoznavanja znakova. Svaki znak se prepoznaje ovisno o njegovim vizualnim karakteristikama, zatim se sastavlja u riječi i rečenice.\",\r\n      \"PARAGRAPH_2_3\": \"Prepoznavanje je pod utjecajem mnogih čimbenika, uključujući:\",\r\n      \"LI_1_1\": \"Kvaliteta skenirane slike (zamućeni ili deformirani tekst, šum slike, razlučivost slike, kontrast itd.). \",\r\n      \"LI_1_2\": \"Veličina fonta. Veličine manje od 9 bodova mogu biti slabo prepoznate. \",\r\n      \"LI_1_3\": \"Rijetki i originalni fontovi. Manje uobičajeni fontovi mogu biti neprepoznatljivi ili lošije funkcionirati.\",\r\n      \"LI_1_4\": \"Složenost strukture i formatiranja dokumenta.\",\r\n      \"TITLE_3\": \"Složenost strukture i formatiranja dokumenta.\",\r\n      \"PARAGRAPH_3_1\": \"Proces pretvorbe je vrlo složen i na njega mogu utjecati razne pogreške koje proizlaze iz ulaznog dokumenta. \",\r\n      \"PARAGRAPH_3_2\": \"Problemi koje treba tražiti:\",\r\n      \"LI_2_1\": \"Netočno prepoznate riječi.\",\r\n      \"LI_2_2\": \"\",\r\n      \"LI_2_3\": \"Rečenice koje se protežu kroz više stupaca, redaka ili stranica podijeljene u različite tekstualne objekte.\",\r\n      \"LI_2_4\": \"Pogrešno postavljeni podnožja i zaglavlja stranice.\",\r\n      \"LI_2_5\": \"Pogrešno numeriranje.\",\r\n      \"LI_2_6\": \"\",\r\n      \"LI_2_7\": \"\",\r\n      \"LI_2_8\": \"Separatori, granice ili druge horizontalne linije prepoznate kao precrtani ili podcrtani tekst.\",\r\n      \"PARAGRAPH_4_1\": \"  Nepravilna veličina fonta može biti prepoznata.\",\r\n      \"CLOSE\": \"Zatvori dijalog.\"\r\n    },\r\n    \"WEBTRANSLATE\": {\r\n      \"BACK\": \"Povratak na prevoditelja\",\r\n      \"LOAD_PAGE\": \"Učitaj stranicu\",\r\n      \"RESTORE\": \"Vrati\",\r\n      \"CANCEL\": \"Otkazati\",\r\n      \"SEARCH\": \"Pretraži web stranicu\",\r\n      \"NO_RECORDS\": {\r\n        \"TITLE\": \"Pretraži web stranicu za prijevod.\",\r\n        \"DESCRIPTION\": \"Pogledajte <a href='{{helpUrl}}' target='_blank' class='underline'>kako to funkcionira</a>\"\r\n      }\r\n    },\r\n    \"DATE_AGO\": {\r\n      \"YEAR\": \"{{value}} prije godinu dana\",\r\n      \"YEARS\": \"{{value}} godina prije\",\r\n      \"MONTH\": \"{{value}} mjesec prije\",\r\n      \"MONTHS\": \"{{value}} mjeseci prije\",\r\n      \"WEEK\": \"{{value}} tjedan prije\",\r\n      \"WEEKS\": \"{{value}} tjedana prije\",\r\n      \"DAY\": \"{{value}} dan prije\",\r\n      \"DAYS\": \"{{value}} dana prije\",\r\n      \"HOUR\": \"{{value}} sat vremena prije\",\r\n      \"HOURS\": \"{{value}} sati prije\",\r\n      \"MINUTE\": \"{{value}} minuta prije\",\r\n      \"MINUTES\": \"{{value}} minuta prije\",\r\n      \"SECOND\": \"{{value}} sekundu prije\",\r\n      \"SECONDS\": \"{{value}} sekundi prije\",\r\n      \"JUST_NOW\": \"Upravo sada.\"\r\n    },\r\n    \"TERM_COLLECTIONS\": {\r\n      \"TITLE\": \"Rječnici\",\r\n      \"DEFAULT\": \"Zadano\",\r\n      \"DESCRIPTION\": \"Postignite precizne i pouzdane prijevode odabirom najprikladnijeg pojmovnika s popisa.\",\r\n      \"GLOSSARY\": \"Pojmovnik: \",\r\n      \"SELECTED_NONE\": \"Nijedan\",\r\n      \"EDIT\": \"Uredi\",\r\n      \"CREATE\": \"Novi pojmovnik\",\r\n      \"DESCRIPTION_EMPTY\": \"<span>Izradite novi pojmovnik</span> za {{srcLang}}-{{trgLang}} ili otvorite <span>Upravljanje zadanim pojmovnicima</span> i izradite pojmovnik tamo kako biste ga koristili u prijevodu na cijeloj platformi.\",\r\n      \"UNAVAILABLE_GLOSSARIES\": \"Nema dostupnog pojmovnika.\",\r\n      \"LAST_UPDATED\": \"Zadnje ažurirano: {{date}}\",\r\n      \"DEFAULT_COLLECTION_NAME\": \"Moja zbirka pojmova\",\r\n      \"SYNC\": \"Sinkronizacija\",\r\n      \"SYNC_ERROR\": \"Pokušaj ponovo\",\r\n      \"TERMS_IN_USE\": \"Uvjeti korištenja: {{brojPojmova}}\",\r\n      \"DEFAULT_GLOSSARY_MANAGEMENT\": \"Upravljajte zadanim rječnicima.\",\r\n      \"ARIA_LABELS\": {\r\n        \"RADIO_GROUP\": \"Odaberite zbirku pojmova\",\r\n        \"OTHER_COLLECTIONS\": \"Otvori izbornik kolekcije\"\r\n      },\r\n      \"CREATE_DIALOG\": {\r\n        \"CANCEL\": \"Otkazati\",\r\n        \"COLLECTION_NAME_LABEL\": \"Naziv pojmovnika\",\r\n        \"CREATE\": \"Stvoriti\",\r\n        \"DESCRIPTION_1\": \"Nakon što kliknete \\\"Stvori\\\", bit ćete preusmjereni na Tilde Term kako biste dodali svoje pojmove.\",\r\n        \"DESCRIPTION_2\": \"<i>*AI nije savršen i može povremeno napraviti pogreške. Vaši jedinstveni pojmovi će biti korišteni ispravno s 95% točnosti.</i>\",\r\n        \"TITLE\": \"Izradi novi pojmovnik.\",\r\n        \"COLLECTION_NAME_ERROR\": \"Naslov treba biti najmanje {{minLength}} simbola dug i ne duži od {{maxLength}} simbola.\"\r\n      },\r\n      \"TOOLTIPS\": {\r\n        \"EDIT\": \"Uredite pojmovnik u terminološkom portalu.\",\r\n        \"IMPORTING\": \"Uvoz pojmovnika\",\r\n        \"NO_ENTRIES\": \"Zbirka pojmova se ne može koristiti: nema pojmova u izvornom jeziku.\",\r\n        \"DEFAULT_COLLECTION\": \"Ovi uvjeti su sada u upotrebi. Možete ih upravljati putem zadane upravljanja pojmovnikom. \",\r\n        \"SYNC\": \"Ažurirajte zbirku pojmova\",\r\n        \"SYNCING\": \"Zbirka pojmova je sinkronizirana, koristit će se najnovija verzija zbirke.\",\r\n        \"ATTACH_TO_SYSTEM_ERROR\": \"Došlo je do pogreške prilikom uvoza zbirke pojmova.\"\r\n      },\r\n      \"READER\": {\r\n        \"TITLE\": \"Rječnici\",\r\n        \"UNAVAILABLE\": \"Rječnici nisu dostupni.\",\r\n        \"AUTH_UNAVAILABLE\": \"Nove pojmovnike mogu izraditi samo urednici terminologije.\",\r\n        \"TEXT\": \"Rječnici su dostupni samo ovlaštenim korisnicima. </br> <a href='{{signInUrl}}'>Prijavite se</a> ili <a href='{{startTrialUrl}}'>započnite besplatno probno razdoblje</a> kako biste otključali naš rječnik.\",\r\n        \"WHAT_IS_GLOSSARY_TITLE\": \"Što je pojmovnik?\",\r\n        \"WHAT_IS_GLOSSARY_DESC\": \"Rječnik u strojnom prevođenju je prilagođeni rječnik specifičnih pojmova i prijevoda.\",\r\n        \"BENEFITS_TITLE\": \"Prednosti pojmovnika\",\r\n        \"BENEFITS_DESC\": \"Osigurava dosljednost i točnost, poboljšavajući kvalitetu prijevoda za specijalizirani sadržaj.\"\r\n      },\r\n      \"ERRORS\": {\r\n        \"ERRORIMPORTING\": \"Pogreška pri uvozu\"\r\n      }\r\n    },\r\n    \"DOMAINS\": {\r\n      \"OPEN_LIST_ARIA_LABEL\": \"Otvoreni popis domena\",\r\n      \"TITLE\": \"Domena:\",\r\n      \"LAW\": \"Zakon\",\r\n      \"DYNAMIC_LEARNING\": \"Dinamičko učenje\",\r\n      \"BUSINESS\": \"Posao\",\r\n      \"GENERAL\": \"Općenito\",\r\n      \"AUTO\": \"Automatsko otkrivanje\",\r\n      \"SPD\": \"EU formalni jezik\",\r\n      \"GEN\": \"Opći tekst\",\r\n      \"ECB\": \"Financije\",\r\n      \"ECJ\": \"Europski sud pravde\",\r\n      \"PUBHEALTH\": \"Javno zdravstvo\",\r\n      \"BUBA\": \"Deutsche Bundesbank\",\r\n      \"BERCY\": \"Ministarstvo financija\",\r\n      \"EUROPEANA\": \"Europeana\",\r\n      \"IPO\": \"Sudska praksa o intelektualnom vlasništvu\",\r\n      \"TRIS\": \"Motori izrađeni korištenjem podataka iz informacijskog sustava tehničkih propisa.\",\r\n      \"VK\": \"Ured Vlade\",\r\n      \"BUBA_NMTTEST\": \"Deutsche Bundesbank Test\",\r\n      \"GENERAL_AI\": \"Opća umjetna inteligencija\",\r\n      \"ACADEMIC_AI\": \"Akademska AI\",\r\n      \"PROFESSIONAL_AI\": \"Profesionalna AI\"\r\n    },\r\n    \"GRAMMAR_CHECK_MENU\": {\r\n      \"TITLE\": \"Razmislite o promjeni na:\"\r\n    },\r\n    \"AUDIO\": {\r\n      \"CANCEL\": \"Otkazati\",\r\n      \"DESCRIBE_STATE_RECORDING\": \"Molim vas, govorite za snimanje...\",\r\n      \"DESCRIBE_STATE_PROCESSING\": \"Obrada...\",\r\n      \"MIC_NOT_FOUND\": \"Mikrofon nije pronađen\",\r\n      \"STOP\": \"Prekini snimanje\",\r\n      \"START\": \"Prevedi govor\",\r\n      \"PUNCTUATION_MESSAGE_TITLE\": \"Dodaj interpunkciju.\",\r\n      \"PUNCTUATION_MESSAGE\": \"Molim vas dodajte interpunkcijske znakove prepoznatom tekstu. Dugi tekst bez interpunkcije može imati nižu kvalitetu prijevoda ili možda neće biti preveden.\"\r\n    },\r\n    \"EXTENSION_POPUP\": {\r\n      \"OPEN\": \"pogledajte sve podržane formate\",\r\n      \"TITLE\": \"Podržani formati datoteka\",\r\n      \"DESCRIPTION\": \"Za ispravan prijevod datoteke potrebno je koristiti kodiranje UTF-8 ili UTF-16.\",\r\n      \"OFFICE\": \"Ured\",\r\n      \"SCANNED\": \"Datoteke slika\",\r\n      \"INTERCHANGE\": \"Format za razmjenu\",\r\n      \"WEB\": \"Web\",\r\n      \"OTHER\": \"Drugi\"\r\n    },\r\n    \"FILE_UPLOAD\": {\r\n      \"UPLOAD\": \"Prenesi\",\r\n      \"DRAG_AND_DROP\": \"ili povuci i ispusti \",\r\n      \"FILE\": \"datoteka\",\r\n      \"FILES\": \"datoteke\",\r\n      \"LIMITS_MB\": \"Maksimalno {{maxSizeMB}}MB\",\r\n      \"CLEAR\": \"Jasan dokument.\",\r\n      \"SELECT_LANGUAGE_WARNING\": \"Molimo, odaberite izvorni jezik datoteke.\"\r\n    },\r\n    \"SYSTEM_PICKER\": {\r\n      \"SOURCE\": \"Prevedi s\",\r\n      \"TARGET\": \"Prevedi na\",\r\n      \"SEARCH_PLACEHOLDER\": \"Pretraživanje jezika\",\r\n      \"RECENT_SYSTEM_TITLE\": \"Nedavno\",\r\n      \"SELECT_DOMAIN\": \"Odaberi domenu\",\r\n      \"FILTER_NO_RESULTS\": \"Nema rezultata\",\r\n      \"ALL_LANGUAGES\": \"Svi jezici\",\r\n      \"CLEAR_SEARCH\": \"Očisti tekst pretraživanja\",\r\n      \"OPEN_SOURCE_ARIA_LABEL\": \"Odaberite izvorni jezik\",\r\n      \"OPEN_TARGET_ARIA_LABEL\": \"Odaberite ciljani jezik i domenu.\",\r\n      \"DETECTED\": \"Otkriveno\",\r\n      \"SHOW_ALL\": \"Prikaži sve\",\r\n      \"HIDE_ALL\": \"Kolaps\",\r\n      \"LANGUAGE\": \"Jezik:\",\r\n      \"TRANSLATION_STYLE\": \"Područje:\"\r\n    },\r\n    \"TEXT_TRANSLATION_PROGRESS_INDICATOR\": {\r\n      \"TITLE\": \"Prijevod koji je omogućio {{provider}}\",\r\n      \"TRANSLATING\": \"Prevođenje...\",\r\n      \"CLOSE_BUTTON_TOOLTIP\": \"Ukloni traku napretka\",\r\n      \"CLOSE_BUTTON_ARIA_LABEL\": \"Ukloni traku napretka\"\r\n    },\r\n    \"VENDOR_MESSAGE\": {\r\n      \"TEXT\": \"Prijevod koji je omogućio {{vendor}}\",\r\n      \"ICON_TOOLTIP\": \"Sustave koje nudi {{vendor}} koristi veliki broj korisnika. Ponekad mogu biti spori zbog velikog opterećenja posla.\"\r\n    },\r\n    \"VENDORS\": {\r\n      \"ETRANSLATION\": \"ePrevod\"\r\n    },\r\n    \"TEXT_TO_SPEECH\": {\r\n      \"PLAY\": \"Slušaj\",\r\n      \"PAUSE\": \"Pauza\"\r\n    },\r\n    \"DICTIONARY\": {\r\n      \"SOURCE\": \"Rezultati iz {{src}}\"\r\n    }\r\n  }","export const i18n_mt = {\r\n\tTLD_TRANSLATE: {\r\n\t\tTERM_PORTAL_NAME: \"Terminu ta' traduzzjoni.mt\",\r\n\t\tAPP_NAME: \"Traduzzjoni awtomatika ta' traduzzjoni.mt\",\r\n\t\tCANCEL_TRANSLATION: 'Ikkanċella',\r\n\t\tDOWNLOAD_TRANSLATED: 'Niżżel',\r\n\t\tFILE_DOWNLOAD_SOURCE: 'Niżżel is-sors konvertit PDF',\r\n\t\tFILE_DOWNLOAD_SOURCE_HELP:\r\n\t\t\t'Il-konverżjoni għall-PDF tista’ tikkawża żbalji fl-ifformattjar jew ta’ distorzjoni fit-test. Jekk jogħġbok iċċekkja l-fajl konvertit u neħħi l-iżbalji qabel ma terġa’ ttella’ l-fajl għat-traduzzjoni',\r\n\t\tFILE_DOWNLOAD_SOURCE_IMAGE: 'Niżżel l-immaġni tas-sors konvertit',\r\n\t\tFILE_DOWNLOAD_SOURCE_IMAGE_HELP:\r\n\t\t\t'Il-konverżjoni tal-immaġni tista’ tikkawża żbalji fl-ifformattjar jew distorsjoni tat-test. Jekk jogħġbok iċċekkja l-fajl konvertit u neħħi l-iżbalji qabel ma terġa’ ttella’ l-fajl għat-traduzzjoni',\r\n\t\tFILE_TANSLATION_STATUSS_QUEUING: 'It-traduzzjoni ser tibda ...',\r\n\t\tFILE_TARGET_PREVIEW_MESSAGE:\r\n\t\t\t'Din hija previżjoni tad-dokument tradott, jekk jogħġbok niżżel id-dokument sabiex tirċievi t-traduzzjoni kompluta',\r\n\t\tPDF_DISCLAIMER_LINK: \"Ara kif tista' ssolviha\",\r\n\t\tIMAGE_DISCLAIMER_LINK: 'Aqra dwar l-konverżjoni tal-immaġni.',\r\n\t\tREGISTERED_FORMATS_LOGGED_IN: 'L-utenti rreġistrati għandhom aċċess għat-traduzzjoni fil-formati tad-dokumenti li ġejjin: {{formats}}.',\r\n\t\tREGISTERED_FORMATS:\r\n\t\t\t'L-utenti rreġistrati għandhom aċċess għat-traduzzjoni fil-formati tad-dokumenti li ġejjin: {{formats}}. Itlob l-aċċess tiegħek <a class=\"accent-color\" target=\"blank\" href=\"{{registerLink}}\">hawn</a>.',\r\n\t\tSOURCE_FORMATS: 'Dan huwa servizz pubbliku sikur tat-traduzzjoni li jsostni l-formati tad-dokumenti li ġejjin: {formats}};',\r\n\t\tSOURCE_TOOLTIP: 'Ittajpja t-test jew daħħal link biex tittraduċi.',\r\n\t\tSOURCE_TOOLTIP_ONLY_TEXT: 'Daħħal test biex tittraduċi',\r\n\t\tSOURCE_TOOLTIP_SENSITIVE_INFO:\r\n\t\t\t'Tużax {{appName}} biex tittraduċi informazzjoni kunfidenzjali jew klassifikata jew testi li fihom kategoriji speċjali ta’ data personali, bħal data medika',\r\n\t\tTARGET_DESCRIPTION:\r\n\t\t\t'It-traduzzjoni awtomatika tippermetti li wieħed jifhem it-tifsira tat-test oriġinali, iżda ma tistax tissostitwixxi t-traduzzjoni umana.',\r\n\t\tTEXT_COPIED: 'It-traduzzjoni ġiet ikkuppjata',\r\n\t\tSUGGEST_BUTTON: 'Traduzzjoni suġġerita',\r\n\t\tSUGGEST_ORIGINAL_LABEL: 'Sentenza oriġinali',\r\n\t\tSUGGEST_SUBMIT_BUTTON: 'Kontribuzzjoni',\r\n\t\tSUGGEST_TRANSLATION_LABEL: 'Traduzzjoni',\r\n\t\tSUGGEST_USAGE_INFO:\r\n\t\t\t'Is-suġġeriment tiegħek għat-traduzzjoni anonimizzata ser jintuża biex itejjeb il-kwalità tat-traduzzjoni awtomatika.',\r\n\t\tTOOLTIP_ACTION: 'Ittraduċi',\r\n\t\tVENDORS_ARIA_LABEL: 'Fornituri',\r\n\t\tDOC_WORD_CNT_LIMIT_MSG_TITLE: 'Limitu tat-traduzzjoni',\r\n\t\tDOC_WORD_CNT_LIMIT_MSG: 'Ser jiġu tradotti biss l-ewwel 1250 kelma.',\r\n\t\tERROR_NO_SYSTEMS_LOADED_TITLE: 'Ma ttellgħu l-ebda magni tat-traduzzjoni',\r\n\t\tERROR_NO_SYSTEMS_LOADED: 'Il-magni tat-traduzzjoni ma setgħux jittellgħu',\r\n\t\tERROR_NO_SYSTEMS_LOADED_SUPPORT:\r\n\t\t\t'Jekk jogħġbok erġa\\' tella\\' l-paġna jew ikkuntattja<a href=\"mailto:{{email}}\"><strong>appoġġ</strong></a>.',\r\n\t\tPDF_PAGE_LIMIT_MSG_TITLE: 'Limitu tat-traduzzjoni',\r\n\t\tPDF_PAGE_LIMIT_MSG: 'Ser tiġi tradotta biss l-ewwel paġna',\r\n\t\tPDF_PAGE_LIMIT_MSG_SUBSCRIPTION: '',\r\n\t\tCLEAR_SOURCE_TOOLTIP: 'Neħħi t-test',\r\n\t\tSUMMARY: {\r\n\t\t\tTITLE: 'Sommarju',\r\n\t\t\tCREATING: 'Is-sommarju qed jiġi ġġenerat',\r\n\t\t\tDISABLED: 'Daħħal minimu ta’ 300 karattru biex tuża l-karatteristika tas-sommarju',\r\n\t\t\tNEW_FEATURE: {\r\n\t\t\t\tTITLE: 'Karatteristika ġdida',\r\n\t\t\t\tDESCRIPTION: 'Agħmel sommarju tat-testi twal billi tiġbor il-punti ewlenin.',\r\n\t\t\t\tCLOSE: 'Agħlaq',\r\n\t\t\t},\r\n\t\t},\r\n\t\tREPHRASE: {\r\n\t\t\tTITLE: 'Irreformula',\r\n\t\t\tCHOOSE_LABEL: \"Agħżel stil ta' kitba\",\r\n\t\t\tTOOLTIP: \"Irreformula t-test f’stil ta' kitba speċifikat, adattan il-lingwa u t-ton biex jaqbel mal-istil jew il-vuċi target.\",\r\n\t\t\tLOADING: 'Irreformulazzjoni',\r\n\t\t\tCOPIED: 'Irreformulazzjoni kkopjata',\r\n\t\t\tHINT: \"Irreformula t-traduzzjonijiet tat-test biex tbiddel il-lingwa jew tikseb it-ton it-tajjeb. Agħżel minn 3 stili ta' kitba: Ġenerali, Professjonali, Akkademiku.\",\r\n\t\t\tNEW_FEATURE: {\r\n\t\t\t\tTITLE: 'Irreformula',\r\n\t\t\t\tDESCRIPTION: \"Irreformula t-test f’stil ta' kitba speċifikat, adattan il-lingwa u t-ton biex jaqbel mal-istil jew il-vuċi target.\",\r\n\t\t\t\tCLOSE: 'Agħlaq',\r\n\t\t\t},\r\n\t\t\tSTYLES: {\r\n\t\t\t\tGENERAL: 'Ġenerali',\r\n\t\t\t\tPROFESSIONAL: 'Professjonali',\r\n\t\t\t\tACADEMIC: 'Akkademiku',\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\tMULTIPLE_FILES: {\r\n\t\tCLEAR_ALL: 'Agħlaq',\r\n\t\tDOWNLOAD: 'Niżżel',\r\n\t\tSTATUSS_INITIALIZING: 'Inizjalizzazzjoni',\r\n\t\tSTATUSS_EXTRACTING: 'Estrazzjoni',\r\n\t\tSTATUSS_WAITING: 'Inizjalizzazzjoni tat-traduttur',\r\n\t\tSTATUSS_TRANSLATING: 'Tħejjija tat-traduzzjoni  {{percent}}%',\r\n\t\tSTATUSS_SAVING: 'Qed jissejvja',\r\n\t\tSTATUSS_COMPLETED: 'Ikkompletat',\r\n\t\tSTATUSS_ERROR: 'Żball',\r\n\t\tSTATUSS_QUEUING: 'Fil-kju',\r\n\t\tSTATUSS_UPLOADING: \"Qed itella'\",\r\n\t\tSTATUSS_UPLOADED: 'Ittella’',\r\n\t\tPDF_DISCLAIMER: \"Id-dokumenti PDF jista' jkollhom żbalji fl-ifformattjar jew fit-traduzzjoni.\",\r\n\t\tPDF_DISCLAIMER_LINK: 'Aqra dwar il-konverżjoni tal-pdfs',\r\n\t\tIMAGE_DISCLAIMER: \"Il-konverżjoni tal-immaġni tista' tikkawża żbalji fl-ifformattjar jew distorsjoni fit-test.\",\r\n\t\tIMAGE_DISCLAIMER_LINK: 'Aqra dwar il-konverżjoni tal-immaġni.',\r\n\t\tSCREEN_READER_ANNOUNCEMENT: 'Fajls tradotti: {{translated}} minn {{total}}.',\r\n\t},\r\n\tERRORS: {\r\n\t\tERROR_DEFAULT_TITLE: 'Zball mhux mistenni',\r\n\t\tERROR_DEFAULT: \"Seħħ żball mhux mistenni. Jekk jogħġbok erġa' prova.\",\r\n\t\tERROR_DEFAULT_SUPPORT:\r\n\t\t\t'Jekk il-problema tippersisti, jekk jogħġbok ikkuntattja <a href=\"mailto:{{email}}\"><strong>appoġġ</strong></a>.',\r\n\t\tMAX_CHAR_LENGTH_TITLE: 'Limitu tat-traduzzjoni',\r\n\t\tMAX_CHAR_LENGTH: 'Ser jiġu tradotti biss {{maxCharLength}}/{{totalSymbols}} karattru .',\r\n\t\tMAX_CHAR_LENGTH_SUBSCRIPTION: '',\r\n\t\tMAX_NUMBER_OF_FILES_TITLE: \"Limitu ta' kontenut li jista' jittella'\",\r\n\t\tMAX_NUMBER_OF_FILES: \"Limitu ta' fajls li jistgħu jiġu tradotti f'daqqa:  {{limit}} .\",\r\n\t\tINCREASE_MAX_NUMBER_OF_FILES_TITLE: \"Limitu ta' kontenut li jista' jittela'\",\r\n\t\tINCREASE_MAX_NUMBER_OF_FILES: '',\r\n\t\tFILE_ALREADY_ADDED_TITLE: 'Il-fajl diġà ġie miżjud',\r\n\t\tFILE_ALREADY_ADDED: 'Il-fajl \"{{fileName}}\" diġà ġie miżjud',\r\n\t\tUANUTHORIZED_401_TITLE: 'Mhux awtorizzat',\r\n\t\tUANUTHORIZED_401: '',\r\n\t\tUANUTHORIZED_401_SUPPORT: 'Jekk jogħġbok ikkuntattja <a href=\"mailto:{{email}}\"><strong> appoġġ</strong></a>.',\r\n\t\tE_UNKNOWN_FILE_TYPE: \"Dan it-tip ta' fajl mhux magħruf.\",\r\n\t\tE_CANNOT_READ_FILE_TITLE: 'Il-fajl ma jistax jinqara',\r\n\t\tE_CANNOT_READ_FILE: 'Il-fajl \"{{fileName}}\" huwa difettuż u ma jistax jiġi tradott. Iċċekja l-fajl u erġa\\' prova.',\r\n\t\tE_FAILED_IN_TRANSLATION_TITLE: 'It-traduzzjoni ma tistax tiġi kompluta',\r\n\t\tE_FAILED_IN_TRANSLATION: \"Seħħ żball waqt it-traduzzjoni. Erġa' prova.\",\r\n\t\tE_FAILED_IN_TRANSLATION_SUPPORT: 'Jekk il-problema tippersisti, ikkuntattja <a href=\"mailto:{{email}}\"><strong> appoġġ</strong></a>.',\r\n\t\tE_FORMAT_TRACK_CHANGES_TITLE: 'It-traduzzjoni ma tistax tiġi kompluta, peress li t-‘track changes’ huma mixgħulin',\r\n\t\tE_FORMAT_TRACK_CHANGES: 'Aċċetta t-tibdil jew itfi t-‘track changes’ qabel ma tittraduċi fajls tal-Office.',\r\n\t\tE_UNKNOWN_ERROR_TITLE: 'Żball mhux magħruf',\r\n\t\tE_UNKNOWN_ERROR: 'Seħħ żball mhux magħruf.',\r\n\t\tE_UNAUTHORIZED_TITLE: 'Mhux awtorizzat',\r\n\t\tE_UNAUTHORIZED: 'It-traduzzjoni tad-dokumenti ġiet miċħuda.',\r\n\t\tCOLLECTION_CREATE_TITLE: 'Il-glossarju ma setax jinħoloq',\r\n\t\tCOLLECTION_CREATE: \"Il-glossarju ma setax jinħoloq. Jekk jogħġbok erġa' prova.\",\r\n\t\tCOLLECTION_CREATE_SUPPORT: 'Jekk il-problema tippersisti, ikkuntattja <a href=\"mailto:{{email}}\"><strong> appoġġ</strong></a>.',\r\n\t\tCOLLECTION_IMPORT_TITLE: 'Il-glossarju ma setax jiġi mehmuż',\r\n\t\tCOLLECTION_IMPORT: 'Il-ġabra tat-termini bl-ID: {{termId}} ma setgħetx tiddaħħal fil-magna tat-traduzzjoni. Please try again.',\r\n\t\tE_11: \"Il-limitu tat-traduzzjoni ta' kuljum intlaħaq.\",\r\n\t\tE_11_SUPPORT: '',\r\n\t\tE_12_TITLE: 'Limitu tad-daqs tat-test',\r\n\t\tE_12: 'Intlaħaq il-limitu tad-daqs tat-test. Ibgħat anqas test fir-rikjesta tiegħek.',\r\n\t\tE_12_SUPPORT: '',\r\n\t\tE_21: \"Il-magna tat-traduzzjoni għadha mhix lesta; dan jista' jieħu xi ftit tal-ħin!\",\r\n\t\tE_22_TITLE: 'Il-magna tat-traduzzjoni ma nstabitx',\r\n\t\tE_22: 'Il-magna tat-traduzzjoni ma nstabitx.',\r\n\t\tE_22_SUPPORT: 'Jekk jogħġbok ikkuntattja <a href=\"mailto:{{email}}\"><strong>appoġġ</strong></a>.',\r\n\t\tE_23: 'Il-magna tat-traduzzjoni mhix lesta.',\r\n\t\tE_23_SUPPORT: 'Jekk jogħġbok ikkuntattja <a href=\"mailto:{{email}}\"><strong>appoġġ</strong></a>.',\r\n\t\tE_41: 'L-ID tal-korpus tat-termini provdut mhux magħruf. Il-korpus tat-termini għandu jkun marbut mal-magna tat-traduzzjoni awotmatika',\r\n\t\tE_504: \"It-traduzzjoni skadiet. Erġa' pprova aktar tard.\",\r\n\t\tE_504_TITLE: 'It-traduzzjoni skadiet.',\r\n\t\tE_404200: 'Il-magna ma nstabitx',\r\n\t\tE_404201: 'Il-ġabra tat-termini ma nstabitx',\r\n\t\tE_413102_TITLE: \"Il-fajl ma setax jittella'\",\r\n\t\tE_413102: \"Il-fajl li ttella' huwa kbir wisq\",\r\n\t\tE_400103: 'It-traduzzjoni ġiet iffiltrata minħabba l-kontenut',\r\n\t\tTRANSLATION_FAILED_TITLE: 'It-traduzzjoni ma setgħetx tiġi kompluta',\r\n\t\tTRANSLATION_FAILED: 'Seħħ żball mhux mistenni.',\r\n\t\tTRANSLATION_FAILED_SUPPORT:\r\n\t\t\t'Jekk il-problema tippersisti jekk jogħġbok ikkuntattja <a href=\"mailto:{{email}}\"><strong>appoġġ</strong></a>.',\r\n\t\tFILE_TRANSLATION_LIMITS: {\r\n\t\t\tE_429001_TITLE: 'Intlaħaq il-limitu tal-fajl tat-traduzzjoni.',\r\n\t\t\tE_429001: '',\r\n\t\t\tFILE_TRANSLATION_SUBSTATUS: {\r\n\t\t\t\tBAD_FILE_ERROR_TITLE: 'Il-fajl ma setax jiġi tradott',\r\n\t\t\t\tBAD_FILE_ERROR: \"Il-fajl huwa difettuż u ma setax jiġi tradott. Iċċekja l-fajl u erġa' prova.\",\r\n\t\t\t\tNO_TEXT_EXTRACTED_ERROR_TITLE: 'It-test ma setax jiġi estratt',\r\n\t\t\t\tNO_TEXT_EXTRACTED_ERROR: \"Il-fajl jista' jkun vojt. Iċċekja l-fajl u erġa' prova.\",\r\n\t\t\t\tTRACK_CHANGES_ENABLED_ERROR_TITLE: 'Il-fajl ma setax jiġi tradott, peress li t-‘track changes’ huma mixgħulin',\r\n\t\t\t\tTRACK_CHANGES_ENABLED_ERROR: 'Aċċetta t-tibdil jew itfi t-‘track changes’ qabel ma tittraduċi fajls tal-Office.',\r\n\t\t\t\tUNKNOWN_FILE_TYPE_ERROR_TITLE: \"Dan it-tip ta' fajl mhux magħruf.\",\r\n\t\t\t\tUNKNOWN_FILE_TYPE_ERROR:\r\n\t\t\t\t\t\"Dan it-tip ta' fajl mhux rikonoxxut. L-estensjoni tal-fajl tista' tkun skorretta, jew il-fajl jista' jkun difettuż.\",\r\n\t\t\t},\r\n\t\t},\r\n\t\tFILE_UPLOAD: {\r\n\t\t\tFILE_UPLOAD_EMPTY_TITLE: 'Il-fajl huwa vojt',\r\n\t\t\tFILE_UPLOAD_EMPTY: 'Il-fajl li ttella\\' \"{{fileName}}\" huwa vojt. Agħżel fajl b\\'kontenut.',\r\n\t\t\tFILE_UPLOAD_MAX_SIZE_TITLE: 'Limitu tad-daqs tal-fajl',\r\n\t\t\tFILE_UPLOAD_MAX_SIZE: 'Il-fajl li ttela\\' \"{{fileName}}\" huwa kbir wisq. Daqs massimu {{maxSizeMB}}MB',\r\n\t\t\tFILE_UPLOAD_UNSUPPORTED_FORMAT_TITLE: 'Format tal-fajl mhux sostnut',\r\n\t\t\tFILE_UPLOAD_UNSUPPORTED_FORMAT:\r\n\t\t\t\t'Il-fajl li ttela\\' \"{{fileName}}\" mhux sostnut. It-traduzzjoni hija sostnuta għal dawn il-formati: {{formats}}.',\r\n\t\t\tFILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER_TITLE: 'Format tal-fajl mhux sostnut',\r\n\t\t\tFILE_UPLOAD_UNSUPPORTED_FORMAT_REGISTER: '',\r\n\t\t\tE_404_TITLE: 'Il-fajl ma nstabx',\r\n\t\t\tE_404: 'Il-fajl mitlub ma jeżistix',\r\n\t\t\tE_404_REMOVE_TITLE: 'Il-fajl ma setax jiġi mħassar',\r\n\t\t\tE_404_REMOVE: 'Il-fajl diġà ġie mħassar',\r\n\t\t},\r\n\t\tAUDIO: {\r\n\t\t\tNO_SPEECH_TITLE: '',\r\n\t\t\tNO_SPEECH: '',\r\n\t\t\tMAX_TIME_EXCEEDED_TITLE: '',\r\n\t\t\tMAX_TIME_EXCEEDED: '',\r\n\t\t\tMIC_NOT_ALLOWED_TITLE: '',\r\n\t\t\tMIC_NOT_ALLOWED: '',\r\n\t\t\tMAX_SIZE_EXCEEDED_TITLE: '',\r\n\t\t\tMAX_SIZE_EXCEEDED: '',\r\n\t\t\tCANT_START_RECORDING_TITLE: '',\r\n\t\t\tCANT_START_RECORDING: '',\r\n\t\t\tNO_TEXT_RECOGNIZED_Title: '',\r\n\t\t\tNO_TEXT_RECOGNIZED: '',\r\n\t\t},\r\n\t\tDETECTION: {\r\n\t\t\tUNAVAILABLE:\r\n\t\t\t\t'{{srcLang}}-{{trgLang}} traduzzjoni mhux sostnuta. Agħzel il-lingwi manwalment, jekk l-identifikazzjoni kienet skorretta.',\r\n\t\t},\r\n\t},\r\n\tARIA_LABELS: {\r\n\t\tCLOSE_BUTTON: 'Neħħi',\r\n\t\tCLEAR_NOTIFICATION: 'Neħħi n-notifikazzjoni',\r\n\t\tCLEAR_SOURCE: 'Neħħi t-test mdaħħal',\r\n\t\tCLOSE_DIALOG: 'Agħlaq il-kaxxa tad-djalogu',\r\n\t\tCLEAR_FILES: 'Neħħi l-fajls li ttellgħu',\r\n\t\tSHOW_EXTENSIONS: 'Uri possibbiltajiet oħra għat-tniżżil',\r\n\t\tCOPY: 'Ikkopja fuq il-clipboard',\r\n\t\tREFRESH: 'Aġġorna t-traduzzjoni',\r\n\t\tCREATE_SUMMARY: 'Oħloq sommarju',\r\n\t\tOPEN_IN_NEW: \"Iftaħ f'tab ġdida\",\r\n\t\tSWAP_LANGUAGES: 'Eqleb il-lingwi',\r\n\t\tOTHER_LANGUAGES_TRIGGER: 'Uri lingwi oħra',\r\n\t},\r\n\tPDF_CONVERSION: {\r\n\t\tTITLE_1: 'Traduzzjoni PDF',\r\n\t\tPARAGRAPH_1_1:\r\n\t\t\t'Meta fajl .pdf  jittella’ għat-traduzzjoni, jiġi konvertit f’format li jista’ jiġi tradott. Kemm il-fajls skennjati kif ukoll nattivi huma sostnuti. It-traduzzjonijiet jistgħu jitniżżlu f’format .docx filwaqt li jżommu l-ifformattjar bażiku.',\r\n\t\tPARAGRAPH_1_2:\r\n\t\t\t'Peress li l-konverżjoni ddum, biex tħaffef il-proċess, aqsam il-PDFs tiegħek u ħassar il-paġni mingħajr informazzjoni li tista’ tiġi tradotta. Fatturi bħan-numru ta’ paġni, kwalità u densità tat-test jaffettwaw il-ħin tal-ipproċessar.',\r\n\t\tPARAGRAPH_1_3:\r\n\t\t\t'Biex tittejjeb l-prestazzjoni tat-traduzzjoni, nirrakkomandaw li d-dokument konvertit jitniżżel fil-lingwa oriġinali u li jiġi rranġat manwalment qabel ma terġa’ tittela’ t-traduzzjoni.',\r\n\t\tIMAGE_ALT_1: 'Eżempju ta’ sors PDF mniżżel',\r\n\t\tTITLE_2: 'Konverżjoni PDF',\r\n\t\tPARAGRAPH_2_1:\r\n\t\t\t'Id-dokument jiġi analizzat u l-kontenut tiegħu jinqasam f’oqsma ta’ test, tabelli u immaġni. Dawn jiġu analizzati u ulterjorment sabiex jiġi determinat liema kontenut għandu jiġi rikonoxxut bħala test.',\r\n\t\tPARAGRAPH_2_2:\r\n\t\t\t'Id-data testwali tinkiseb permezz tal-OCR jew ir-rikonoxximent ottiku tal-karattri. Kull karattru jingħaraf skont il-karatteristiċi viżivi tiegħu, imbagħad jiġi ffurmat fi kliem u sentenzi.',\r\n\t\tPARAGRAPH_2_3: 'Ir-rikonoxximent jiġi affettwat minn bosta fatturi, fosthom:',\r\n\t\tLI_1_1:\r\n\t\t\t'Il-kwalità tad-dokument skennjat (test imċajpar jew deformat, sfumaturi fl-immaġni, ir-riżoluzzjoni tal-immaġni, kuntrast eċċ.). Għall-aħjar riżultat, il-PDFs għandhom ikunu mill-inqas 300 dpi, u kemm jista’ jkun ċari.',\r\n\t\tLI_1_2: 'Daqs tal-font. Daqsijiet anqas minn 9 punti jistgħu ma jiġux rikonoxxuti sew.',\r\n\t\tLI_1_3: 'Fonts rari u oriġinali. Fonts anqas komuni jistgħu ma jintgħarfux jew jagħtu riżultat anqas preċiżi.',\r\n\t\tLI_1_4: 'Kumplessità fl-istruttura u l-ifformattjar tad-dokument.',\r\n\t\tTITLE_3: 'Titjib fil-prestazzjoni tat-traduzzjoni',\r\n\t\tPARAGRAPH_3_1:\r\n\t\t\t'Il-proċess ta’ konverżjoni huwa kumpless ħafna u jista’ jiġi affettwat minn diversi żbalji li jirriżultaw mid-dokument użat.',\r\n\t\tPARAGRAPH_3_2: 'Ħwejjeġ li wieħed għandu joqgħod attend għalihom:',\r\n\t\tLI_2_1: 'Kliem rikonoxxut ħażin.',\r\n\t\tLI_2_2: 'Żbalji fil-bidu u fi tmiem il-kliem.',\r\n\t\tLI_2_3: \"Sentenzi mifruxa fuq bosta kolonni, linji jew paġni maqsuma f'partiti testwali differenti.\",\r\n\t\tLI_2_4: 'Noti ta’ qiegħ il-paġna u intestaturi mpoġġija ħażin.',\r\n\t\tLI_2_5: 'Enumerazzjoni skorretta',\r\n\t\tLI_2_6: 'Tabelli rikonoxxuti bħala immaġni fl-isfond b’kontenut testwali mqiegħed f’partiti testwali differenti.',\r\n\t\tLI_2_7: 'Dijagrammi rikonoxxuti bħala immaġni mingħajr kontenut testwali.',\r\n\t\tLI_2_8: 'Separaturi, borduri jew linji orizzontali oħra rikonoxxuti bħala test maqtugħ jew sottolinjat.',\r\n\t\tLI_2_9: 'L-ifformattjar tal-werrej jew listi simili intilef jew ġie rikonoxxut bħala test maqtugħ jew sottolinjat.',\r\n\t\tPARAGRAPH_4_1:\r\n\t\t\t'<b>Għandu jiġi nnotat li d-dokument prodott mhux ser iżomm id-dettalji kollha tal-ifformattjar oriġinali.</b> Xi immaġnijiet, tabelli jew dijagrammi jistgħu jkunu mċajpra jew jiġu simplifikati. Il-fonts fid-dokument tradott mhux se jkunu l-istess bħal fl-oriġinal, iżda jistgħu jkunu simili. Daqs tal-font mhux korrett jista’ jiġi rikonoxxut.',\r\n\t},\r\n\tIMAGE_CONVERSION: {\r\n\t\tCLOSE: 'Agħlaq',\r\n\t\tTITLE_1: 'Traduzzjoni tal-immaġni',\r\n\t\tPARAGRAPH_1_1:\r\n\t\t\t'Meta fajl bl-immaġni jittela’ għat-traduzzjoni, jiġi konvertit f’format li jista’ jiġi tradott. It-traduzzjonijiet jistgħu jitniżżlu f’format .docx u jżommu l-ifformattjar bażiku.',\r\n\t\tPARAGRAPH_1_2: '<b>Formati tal-immaġni sostnuti:</b> .jpg, .jpeg, .png and .bmp.',\r\n\t\tPARAGRAPH_1_3:\r\n\t\t\t'Biex titjieb il-prestazzjoni tat-traduzzjoni, huwa rakkomandat li d-dokument konvertit jitniżżel fil-lingwa oriġinali u jiġi rranġat manwalment qabel ma jerġa’ jittela’ għat-traduzzjoni.',\r\n\t\tIMAGE_ALT_1: 'Eżempju ta’ tniżżil tal-immaġni tas-sors',\r\n\t\tTITLE_2: 'Konverżjoni tal-immaġni',\r\n\t\tPARAGRAPH_2_1:\r\n\t\t\t'L-immaġni tiġi analizzata u l-kontenut tagħha jinqasam f’oqsma ta’ test, tabelli u immaġni. Dawn jiġu analizzati ulterjorment sabiex jiġi determinat liema kontenut għandu jiġi rikonoxxut bħala test.',\r\n\t\tPARAGRAPH_2_2:\r\n\t\t\t'Id-dejta testwali tinkiseb permezz tal-OCR jew ir-rikonoxximent ottiku tal-karattri. Kull karattru jingħaraf skont il-karatteristiċi viżivi tiegħu, imbagħad jiġi ffurmat fi kliem u sentenzi.',\r\n\t\tPARAGRAPH_2_3: 'Ir-rikonoxximent jiġi affettwat minn bosta fatturi, fosthom:',\r\n\t\tLI_1_1:\r\n\t\t\t'Il-kwalità tad-dokument skennjat (test imċajpar jew deformat, sfumaturi fl-immaġni, ir-riżoluzzjoni tal-immaġni, kuntrast eċċ.). Għall-aħjar riżultat, l-immaġni għandhom ikunu mill-inqas 300 dpi, u kemm jista’ jkun ċari.',\r\n\t\tLI_1_2: 'Daqs tal-font. Daqsijiet anqas minn 9 punti jistgħu ma jiġux rikonoxxuti sew.',\r\n\t\tLI_1_3: 'Fonts rari u oriġinali. Fonts anqas komuni jistgħu ma jintgħarfux jew jagħtu riżultat anqas preċiżi.',\r\n\t\tLI_1_4: 'Kumplessità fl-istruttura u l-ifformattjar tad-dokument.',\r\n\t\tTITLE_3: 'Titjib fil-prestazzjoni tat-traduzzjoni',\r\n\t\tPARAGRAPH_3_1:\r\n\t\t\t'Il-proċess ta’ konverżjoni huwa kumpless ħafna u jista’ jiġi affettwat minn diversi żbalji li jirriżultaw mid-dokument użat.',\r\n\t\tPARAGRAPH_3_2: 'Ħwejjeġ li wieħed għandu joqgħod attend għalihom:',\r\n\t\tLI_2_1: 'Kliem rikonoxxut ħażin.',\r\n\t\tLI_2_2: 'Żbalji fil-bidu u fi tmiem il-kliem.',\r\n\t\tLI_2_3: \"Sentenzi mifruxa fuq bosta kolonni, linji jew paġni maqsuma f'partiti testwali differenti.\",\r\n\t\tLI_2_4: 'Noti ta’ qiegħ il-paġna u intestaturi mpoġġija ħażin.',\r\n\t\tLI_2_5: 'Enumerazzjoni skorretta',\r\n\t\tLI_2_6: 'Tabelli rikonoxxuti bħala immaġni fl-isfond b’kontenut testwali mqiegħed f’partiti testwali differenti.',\r\n\t\tLI_2_7: 'Dijagrammi rikonoxxuti bħala immaġni mingħajr kontenut testwali.',\r\n\t\tLI_2_8: 'Separaturi, borduri jew linji orizzontali oħra rikonoxxuti bħala test maqtugħ jew sottolinjat.',\r\n\t\tPARAGRAPH_4_1:\r\n\t\t\t'<b>Għandu jiġi nnotat li d-dokument prodott mhux ser iżomm id-dettalji kollha tal-ifformattjar oriġinali.</b> Xi immaġnijiet, tabelli jew dijagrammi jistgħu jkunu mċajpra jew jiġu simplifikati. Il-fonts fid-dokument tradott mhux se jkunu l-istess bħal fl-oriġinal, iżda jistgħu jkunu simili. Daqs tal-font mhux korrett jista’ jiġi rikonoxxut.',\r\n\t},\r\n\tWEBTRANSLATE: {\r\n\t\tBACK: 'Lura għat-tarduttur',\r\n\t\tLOAD_PAGE: \"Tella' l-paġna\",\r\n\t\tRESTORE: 'Irrestawra',\r\n\t\tCANCEL: 'Ikkanċella',\r\n\t\tSEARCH: 'Fittex fil-website',\r\n\t\tNO_RECORDS: {\r\n\t\t\tTITLE: 'Fittex website li tixtieq tittraduċi',\r\n\t\t\tDESCRIPTION: \"Ara <a href='{{helpUrl}}' target='_blank' class='underline'>kid taħdem</a>\",\r\n\t\t},\r\n\t},\r\n\tDATE_AGO: {\r\n\t\tYEAR: 'Sena ilu',\r\n\t\tYEARS: 'Sena(e) ilu',\r\n\t\tMONTH: 'Xahar ilu',\r\n\t\tMONTHS: 'Xahar(i) ilu',\r\n\t\tWEEK: 'Ġimgħa ilu',\r\n\t\tWEEKS: 'Ġimgħa(e) ilu',\r\n\t\tDAY: 'Ilbieraħ',\r\n\t\tDAYS: 'Ilbieraħ(i) ilu',\r\n\t\tHOUR: 'Sieħa ilu',\r\n\t\tHOURS: 'Sieħa(e) ilu',\r\n\t\tMINUTE: 'Minuta ilu',\r\n\t\tMINUTES: 'Minuti ilu',\r\n\t\tSECOND: 'Sekonda ilu',\r\n\t\tSECONDS: 'Sekonda(e) ilu',\r\n\t\tJUST_NOW: 'Issa',\r\n\t},\r\n\r\n\tGRAMMAR_CHECK_MENU: {\r\n\t\tTITLE: 'Ikkunsidra li teqleb għal:',\r\n\t},\r\n\tAUDIO: {\r\n\t\tCANCEL: 'Ikkanċella',\r\n\t\tDESCRIBE_STATE_RECORDING: ' ',\r\n\t\tDESCRIBE_STATE_PROCESSING: ' ',\r\n\t\tMIC_NOT_FOUND: ' ',\r\n\t\tSTOP: ' ',\r\n\t\tSTART: ' ',\r\n\t\tPUNCTUATION_MESSAGE_TITLE: 'Żid il-punteġġjatura',\r\n\t\tPUNCTUATION_MESSAGE:\r\n\t\t\t'Jekk jogħġbok żid il-punteġġjatura fit-test rikonoxxut. Test twil mingħajr punteġġjatura jista’ jkollu kwalità tat-traduzzjoni inferjuri jew ma jiġix tradott.',\r\n\t},\r\n\tTEXT_TRANSLATION_PROGRESS_INDICATOR: {\r\n\t\tTITLE: 'Traduzzjoni pprovduta minn {{provider}}',\r\n\t\tTRANSLATING: 'Qed jittraduċi...',\r\n\t\tCLOSE_BUTTON_TOOLTIP: 'Neħħi l-linja li turi l-avvanz fil-progress',\r\n\t\tCLOSE_BUTTON_ARIA_LABEL: 'Neħħi l-linja li turi l-avvanz fil-progress',\r\n\t},\r\n\tVENDOR_MESSAGE: {\r\n\t\tTEXT: 'Traduzzjoni provduta minn {{vendor}}',\r\n\t\tICON_TOOLTIP:\r\n\t\t\t'Is-sistemi offruti minn {{vendor}} jintużaw minn għadd kbir ta’ utenti. Dan jista’ jikkawża xi dewmien f’ċertu ħinijiet.',\r\n\t},\r\n\tVENDORS: {\r\n\t\tETRANSLATION: 'eTranslation',\r\n\t},\r\n\tTEXT_TO_SPEECH: {\r\n\t\tPLAY: ' ',\r\n\t\tPAUSE: ' ',\r\n\t},\r\n\tDICTIONARY: {\r\n\t\tSOURCE: 'Riżultati minn {{src}}',\r\n\t},\r\n\tFILE_UPLOAD: {\r\n\t\tUPLOAD: \"Tella'\",\r\n\t\tDRAG_AND_DROP: 'jew mexxi u ddepożita l-fajl hawnhekk',\r\n\t\tFILE: 'fajl',\r\n\t\tFILES: 'fajls',\r\n\t\tLIMITS_MB: 'Massimu {{maxSizeMB}}MB',\r\n\t\tCLEAR: 'Neħħi l-fajl',\r\n\t\tSELECT_LANGUAGE_WARNING: 'Jekk jogħġbok agħżel il-lingwa sors tal-fajl.',\r\n\t},\r\n\tEXTENSION_POPUP: {\r\n\t\tOPEN: 'Ara l-formati kollha li huma sostnuti',\r\n\t\tTITLE: \"Formati ta' fajls sostnuti\",\r\n\t\tDESCRIPTION: 'Kodifikazzjoni UTF-8 jew UTF-16 meħtieġa sabiex tiġi żgurata traduzzjoni korretta tal-fajl',\r\n\t\tOFFICE: 'Office',\r\n\t\tSCANNED: 'Fajls bl-immaġni',\r\n\t\tINTERCHANGE: 'Formati tat-tip Interchange',\r\n\t\tWEB: 'Web',\r\n\t\tOTHER: 'Oħrajn',\r\n\t},\r\n\tTERM_COLLECTIONS: {\r\n\t\tTITLE: 'Glossarji',\r\n\t\tDEFAULT: 'Default',\r\n\t\tDESCRIPTION: 'Ittraduċi b’mod preċiż u affidabbli billi tagħżel il-glossarju l-aktar adegwat mil-lista.',\r\n\t\tGLOSSARY: 'Glossarju: ',\r\n\t\tSELECTED_NONE: 'L-ebda glossarju ma huwa disponibbli',\r\n\t\tEDIT: 'Immodifika',\r\n\t\tCREATE: 'Glossarju ġdid',\r\n\t\tDESCRIPTION_EMPTY:\r\n\t\t\t\"<span>Oħloq glossarju ġdid</span> għal {{srcLang}}-{{trgLang}} jew iftaħ <span>Ġestjoni ta' glossarji awtomatiċi</span> u oħloq glossarju għall-użu fit-traduzzjoni fuq din il-pjattaforma.\",\r\n\t\tUNAVAILABLE_GLOSSARIES: 'L-ebda glossarju ma huwa disponibbli',\r\n\t\tLAST_UPDATED: 'L-aħħar aġġornat: {{date}}',\r\n\t\tDEFAULT_COLLECTION_NAME: 'Il-ġabra tat-termini tiegħi',\r\n\t\tSYNC: 'Issinkronizza',\r\n\t\tSYNC_ERROR: \"Erġa' prova\",\r\n\t\tTERMS_IN_USE: 'Termini li qed jintużaw: {{termCount}}',\r\n\t\tDEFAULT_GLOSSARY_MANAGEMENT: 'Immaniġġja l-glossarji awtomatiċi',\r\n\t\tARIA_LABELS: {\r\n\t\t\tRADIO_GROUP: \"Agħżel ġabra ta' termini\",\r\n\t\t\tOTHER_COLLECTIONS: 'Iftaħ il-menu tal-ġabra',\r\n\t\t},\r\n\t\tCREATE_DIALOG: {\r\n\t\t\tCANCEL: 'Ikkanċella',\r\n\t\t\tCOLLECTION_NAME_LABEL: 'Isem tal-glossarju',\r\n\t\t\tCREATE: 'Oħloq',\r\n\t\t\tDESCRIPTION_1: ' ',\r\n\t\t\tDESCRIPTION_2:\r\n\t\t\t\t\"<i>* L-AI mhijiex perfetta u tista' xi kultant tiżbalja. It-termini uniċi tiegħek ser jintużaw b’ mod korrett bi preċiżjoni ta ’95%.</i>\",\r\n\t\t\tTITLE: 'Oħloq glossarju ġdid',\r\n\t\t\tCOLLECTION_NAME_ERROR:\r\n\t\t\t\t\"It-titolu għandu jkollu tul ta' mill-anqas {{minLength}} simbolu u ma għandux ikun itwal minn {{maxLength}} simbolu\",\r\n\t\t},\r\n\t\tTOOLTIPS: {\r\n\t\t\tEDIT: 'Immodifika l-glossarju fil-portal tat-terminoloġija',\r\n\t\t\tIMPORTING: 'Il-glossarju qed jiġi importat',\r\n\t\t\tNO_ENTRIES: 'Il-ġabra tat-termini ma tistax tintuża: ma hemm l-ebda termini fil-lingwa sors',\r\n\t\t\tDEFAULT_COLLECTION: \"Dawn it-termini issa qed jintużaw. Tista' timmaniġġjahom permezz tal-ġestjoni ta' glossarji awtomatiċi.\",\r\n\t\t\tSYNC: 'Aġġorna l-ġabra tat-termini',\r\n\t\t\tSYNCING: 'Il-ġabra tat-terminu hija sinkronizzata, ser tintuża l-aħħar verżjoni tal-ġabra',\r\n\t\t\tATTACH_TO_SYSTEM_ERROR: 'Sar zball waqt l-impotazzjoni tal-ġabra tat-termini',\r\n\t\t},\r\n\t\tREADER: {\r\n\t\t\tTITLE: 'Glossarji',\r\n\t\t\tUNAVAILABLE: 'Glossarji mhux disponibbli',\r\n\t\t\tAUTH_UNAVAILABLE: 'Il-glossarji ġodda jistgħu jinħolqu biss mill-edituri tat-terminoloġija.',\r\n\t\t\tTEXT: ' ',\r\n\t\t\tWHAT_IS_GLOSSARY_TITLE: \"X'inhu glossarju?\",\r\n\t\t\tWHAT_IS_GLOSSARY_DESC:\r\n\t\t\t\t\"Il-glossarju fit-traduzzjoni awtomatika huwa dizzjunarju personalizzat ta' termini u traduzzjonijiet speċifiċi.\",\r\n\t\t\tBENEFITS_TITLE: 'Benefiċċji tal-glossarju',\r\n\t\t\tBENEFITS_DESC: 'Il-glossarju jiżgura l-konsistenza u l-preċiżjoni, itejjeb il-kwalità tat-traduzzjoni għal kontenut speċjalizzat.',\r\n\t\t},\r\n\t\tERRORS: {\r\n\t\t\tERRORIMPORTING: 'Żball fl-importazzjoni',\r\n\t\t},\r\n\t},\r\n\tSYSTEM_PICKER: {\r\n\t\tSOURCE: 'Ittraduċi minn',\r\n\t\tTARGET: 'Ittraduċi għal',\r\n\t\tSEARCH_PLACEHOLDER: 'Fittex il-lingwi',\r\n\t\tRECENT_SYSTEM_TITLE: 'Riċenti',\r\n\t\tSELECT_DOMAIN: 'Agħżel id-qasam',\r\n\t\tFILTER_NO_RESULTS: 'L-ebda riżultat',\r\n\t\tALL_LANGUAGES: 'Il-lingwi kollha',\r\n\t\tCLEAR_SEARCH: 'Neħħi t-test tat-tiftix',\r\n\t\tOPEN_SOURCE_ARIA_LABEL: 'Agħżel il-lingwa sors',\r\n\t\tOPEN_TARGET_ARIA_LABEL: 'Agħżel il-lingwa fil-mira u l-qasam',\r\n\t\tDETECTED: 'Identifikata',\r\n\t\tSHOW_ALL: 'Uri kollox',\r\n\t\tHIDE_ALL: 'Agħlaq',\r\n\t},\r\n\tTOOLTIPS: {\r\n\t\tCOPY: 'Ikkopja fuq il-clipboard',\r\n\t\tREFRESH: 'Aġġorna t-traduzzjoni',\r\n\t\tSWAP_LANGUAGES: 'Eqleb il-lingwi',\r\n\t\tDISLIKE: 'Dislike',\r\n\t\tCREATE_SUMMARY: 'Oħloq sommarju',\r\n\t\tUPLOAD: 'Tella fajl',\r\n\t},\r\n\tLANGUAGES: {\r\n\t\tAUTO: 'Identifika l-lingwa',\r\n\t\tAR: 'Għarbi',\r\n\t\tLV: 'Latvjan',\r\n\t\tET: 'Estojan',\r\n\t\tDA: 'Daniż',\r\n\t\tFI: 'Finlandiż',\r\n\t\tIS: 'Iżlandiż',\r\n\t\tLT: 'Litwan',\r\n\t\tSV: 'Żvediż',\r\n\t\tBG: 'Bulgaru',\r\n\t\tCS: 'Ċek',\r\n\t\tRU: 'Russu',\r\n\t\tPL: 'Pollakk',\r\n\t\tSK: 'Slovakk',\r\n\t\tUK: 'Ukren',\r\n\t\tNL: 'Netherlandiż',\r\n\t\tEN: 'Ingliż',\r\n\t\tFR: 'Franċiż',\r\n\t\tDE: 'Ġermaniż',\r\n\t\tGA: 'Irlandiż',\r\n\t\tEL: 'Grieg',\r\n\t\tIT: 'Taljan',\r\n\t\tMT: 'Malti',\r\n\t\tPT: 'Portugiż',\r\n\t\tSR: 'Serbju',\r\n\t\tSL: 'Sloven',\r\n\t\tES: 'Spanjol',\r\n\t\tZH: 'Ċiniż',\r\n\t\tJA: 'Ġappuniż',\r\n\t\tKO: 'Tork',\r\n\t\tHR: 'Kroat',\r\n\t\tRO: 'Rumen',\r\n\t\tUZ: 'Uzbek',\r\n\t\tID: 'Indoneżjan',\r\n\t\tBA: 'Bashkir',\r\n\t\tBRX: 'Bodo',\r\n\t\tFJ: 'Fijian',\r\n\t\tDSB: 'Lower Sorbian',\r\n\t\tGOM: 'Goan Konkani',\r\n\t\tHNE: 'Western Huasteca Nahuatl',\r\n\t\tHSB: 'Upper Sorbian',\r\n\t\tIKT: 'Inuktitut',\r\n\t\tIU: 'Inuktitut',\r\n\t\tIU_LATN: 'Inuktitut (Latin)',\r\n\t\tKS: 'Kashmiri',\r\n\t\tIZH: 'Ingrian',\r\n\t\tMWW: 'Hmong Daw',\r\n\t\tRUN: 'Rundi',\r\n\t\tTY: 'Tahitian',\r\n\t\tYUA: 'Yucatec Maya',\r\n\t\tKU: 'Kurdish',\r\n\t\tKMR: 'Kurmanji',\r\n\t\tZH_HANS: 'Chinese (Simplified)',\r\n\t\tZH_HANT: 'Chinese (Traditional)',\r\n\t\tLZH: 'Classical Chinese',\r\n\t\tOTQ: 'Old Turkic',\r\n\t\tAB: 'Abkhazian',\r\n\t\tACE: 'Acehnese',\r\n\t\tACH: 'Acholi',\r\n\t\tKTU: 'Katawiyan',\r\n\t\tALZ: 'Albanian',\r\n\t\tAWA: 'Awadhi',\r\n\t\tLI: 'Limburgish',\r\n\t\tLIJ: 'Ligurian',\r\n\t\tLMO: 'Lombard',\r\n\t\tLTG: 'Latgalian',\r\n\t\tLUO: 'Luo',\r\n\t\tBAN: 'Balinese',\r\n\t\tBBC: 'Bengali',\r\n\t\tMAK: 'Makhuwa',\r\n\t\tBEM: 'Bemba',\r\n\t\tBEW: 'Bewani',\r\n\t\tBIK: 'Bikol',\r\n\t\tBO: 'Tibetan',\r\n\t\tBTS: 'Batswana',\r\n\t\tBTX: 'Batak',\r\n\t\tBUA: 'Buriat',\r\n\t\tMIN: 'Minangkabau',\r\n\t\tNEW: 'Newar',\r\n\t\tCGG: 'Chiga',\r\n\t\tNR: 'Ndebele',\r\n\t\tNUS: 'Nuer',\r\n\t\tCHM: 'Chamic',\r\n\t\tCNH: 'Congo',\r\n\t\tPAG: 'Pangasinan',\r\n\t\tPAM: 'Pampanga',\r\n\t\tPAP: 'Papiamento',\r\n\t\tCRH: 'Crimean Tatar',\r\n\t\tCRS: 'Central Sudanic',\r\n\t\tCV: 'Chuvash',\r\n\t\tDIN: 'Dinka',\r\n\t\tDOV: 'Dovahkiin',\r\n\t\tDZ: 'Dzongkha',\r\n\t\tRN: 'Rwandan',\r\n\t\tROM: 'Romani',\r\n\t\tEWE: 'Ewe',\r\n\t\tFF: 'Fulah',\r\n\t\tSCN: 'Sicilian',\r\n\t\tSG: 'Sango',\r\n\t\tSHN: 'Shan',\r\n\t\tSS: 'Swazi',\r\n\t\tHIL: 'Hiligaynon',\r\n\t\tSZL: 'Silesian',\r\n\t\tHRX: 'Haitian Creole',\r\n\t\tTET: 'Tetum',\r\n\t\tZT: 'Zhuang',\r\n\t\tGAA: 'Ga',\r\n\t},\r\n\tDOMAINS: {\r\n\t\tOPEN_LIST_ARIA_LABEL: 'Iftaħ il-lista tal-oqsam',\r\n\t\tTITLE: 'Qasam:',\r\n\t\tLAW: 'Liġi',\r\n\t\tDYNAMIC_LEARNING: 'Tagħlim dinamiku',\r\n\t\tBUSINESS: 'Kummerċ',\r\n\t\tGENERAL: 'Ġenerali',\r\n\t\tAUTO: 'Identifikazzjoni awtomatika',\r\n\t\tSPD: 'Lingwaġġ formali tal-UE',\r\n\t\tGEN: 'Test Ġenerali',\r\n\t\tECB: 'Finanzi',\r\n\t\tECJ: 'Qorti tal-Ġustizzja tal-Unjoni Ewropea',\r\n\t\tPUBHEALTH: 'Saħħa Pubblika',\r\n\t\tBUBA: 'Deutsche Bundesbank',\r\n\t\tBERCY: 'Ministère des Finances',\r\n\t\tEUROPEANA: 'Europeana',\r\n\t\tIPO: 'Każistika dwar il-proprjetà intellettwali',\r\n\t\tTRIS: \"Il-magni ġew mibnija bl-użu ta' data mis-sistema tal-informazzjoni dwar ir-regolazzjoni teknika\",\r\n\t\tVK: 'Valtioneuvoston Kanslia',\r\n\t\tBUBA_NMTTEST: 'Deutsche Bundesbank Test',\r\n\t\tGENERAL_AI: 'AI Ġenerali',\r\n\t\tACADEMIC_AI: 'AI Akkademika',\r\n\t\tPROFESSIONAL_AI: 'AI Professjonali',\r\n\t},\r\n};\r\n","import { IAvailableLanguages } from './models/available-languages.model';\r\n\r\nimport { i18n_de } from './de';\r\nimport { i18n_en } from './en';\r\nimport { i18n_et } from './et';\r\nimport { i18n_fi } from './fi';\r\nimport { i18n_lt } from './lt';\r\nimport { i18n_lv } from './lv';\r\nimport { i18n_pl } from './pl';\r\nimport { i18n_sv } from './sv';\r\nimport { i18n_hr } from './hr';\r\nimport { i18n_mt } from './mt';\r\n\r\nexport const availableLanguages: IAvailableLanguages = {\r\n  \"de\": i18n_de,\r\n  \"en\": i18n_en,\r\n  \"et\": i18n_et,\r\n  \"fi\": i18n_fi,\r\n  \"lv\": i18n_lv,\r\n  \"lt\": i18n_lt,\r\n  \"pl\": i18n_pl,\r\n  \"sv\": i18n_sv,\r\n  \"hr\": i18n_hr,\r\n  \"mt\": i18n_mt\r\n}\r\n","export const TLD_TRANSLATE_CONFIG_TOKEN = \"TldTranslateConfig\";","export interface ITldTranslateMessage{\r\n  type: TldMessageType;\r\n  text: string;\r\n  error?: any;\r\n  params?: any;\r\n}\r\n\r\nexport enum TldMessageType {\r\n  ERROR = \"ERROR\",\r\n  SUCCESS = \"SUCCESS\",\r\n  WARNING = \"WARNING\"\r\n}\r\n","export enum languageMenuVersion{\r\n  V1,\r\n  V2\r\n}\r\n","export enum FileTranslationSubstatus{\r\n    UNSPECIFIED = \"UNSPECIFIED\",\r\n    BAD_FILE_ERROR = \"BAD_FILE_ERROR\",\r\n    UNKNOWN_FILE_TYPE_ERROR = \"UNKNOWN_FILE_TYPE_ERROR\",\r\n    TRACK_CHANGES_ENABLED_ERROR = \"TRACK_CHANGES_ENABLED_ERROR\",\r\n    NO_TEXT_EXTRACTED_ERROR = \"NO_TEXT_EXTRACTED_ERROR\"\r\n}","export enum VoiceToTextState{\r\n    QUEUED = \"QUEUED\",\r\n    COMPLETED = \"COMPLETED\",\r\n    IN_PROGRESS = \"IN_PROGRESS\"\r\n}","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { TLD_TRANSLATE_CONFIG_TOKEN } from '../../../injection-tokens/tld-translate-config.token';\r\nimport { ITldSpeechConfig, languageMenuVersion } from '../models';\r\nimport { ITldAudioConfig } from '../models/configs/tld-audio-config.model';\r\nimport { ITldTermConfig } from '../models/configs/tld-term-config.model';\r\nimport { ITldTranslateConfig } from '../models/configs/tld-translate-config.model';\r\nimport { ITldTranslateCoreConfig } from '../models/configs/tld-translate-core-config.model';\r\nimport { ITldTranslateFileConfig } from '../models/configs/tld-translate-file-config.model';\r\nimport { ITldTranslateTextConfig } from '../models/configs/tld-translate-text-config.model';\r\nimport { ITldTranslateWebsiteConfig } from '../models/configs/tld-translate-web-config.model';\r\nimport { ITldQuotaConfig } from '../models/configs/tld-quota.model';\r\nimport { ITldSubscriptionConfig } from '../models/configs/tld-subscription-config.model';\r\nimport { ITldLLMConfig } from '../models/configs/tld-llm-config.model';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldTranslateConfigService {\r\n\r\n  constructor(@Optional() @Inject(TLD_TRANSLATE_CONFIG_TOKEN) private readonly config: ITldTranslateConfig) {\r\n    this.initConfigs();\r\n  }\r\n\r\n  private _coreConfig: ITldTranslateCoreConfig = { appId: null, xApiKey: null };\r\n  get coreConfig() {\r\n    return this._coreConfig;\r\n  }\r\n\r\n  private _textConfig: ITldTranslateTextConfig = {};\r\n  get textConfig() {\r\n    return this._textConfig;\r\n  }\r\n\r\n  private _llmConfig: ITldLLMConfig = {};\r\n  get llmConfig() {\r\n    return this._llmConfig;\r\n  }\r\n\r\n  private _fileConfig: ITldTranslateFileConfig = {};\r\n  get fileConfig() {\r\n    return this._fileConfig;\r\n  }\r\n\r\n  private _webtranslateConfig: ITldTranslateWebsiteConfig = {};\r\n  get webtranslateConfig() {\r\n    return this._webtranslateConfig;\r\n  }\r\n\r\n  private _termConfig: ITldTermConfig = {};\r\n  get termConfig() {\r\n    return this._termConfig;\r\n  }\r\n\r\n  private _audioConfig: ITldAudioConfig = {};\r\n  get audioConfig() {\r\n    return this._audioConfig;\r\n  }\r\n\r\n  private _quotaConfig: ITldQuotaConfig = {};\r\n  get quotaConfig() {\r\n    return this._quotaConfig;\r\n  }\r\n\r\n  private _supscriptionConfig: ITldSubscriptionConfig = { pricingUrl: null };\r\n  get supscriptionConfig() {\r\n    return this._supscriptionConfig;\r\n  }\r\n\r\n  private _speechConfig: ITldSpeechConfig = {\r\n    apiKey: \"\",\r\n    textToSpeech: {\r\n      url: \"\"\r\n    },\r\n    onlineAsr: {\r\n      url: \"\"\r\n    },\r\n  };\r\n  get speechConfig() {\r\n    return this._speechConfig;\r\n  }\r\n\r\n  initConfigs(configuration?: ITldTranslateConfig) {\r\n    const config = configuration ?? this.config ?? {};\r\n\r\n    const core = config?.core;\r\n    const file = config?.file;\r\n    const text = config?.text;\r\n    const llm = config?.llm;\r\n    const audio = config?.audio;\r\n    const quota = config?.quota;\r\n    const subscription = config?.subscription;\r\n    const webtranslate = config?.webTranslate;\r\n    const termConfig = config?.term;\r\n    const speech = config?.speech;\r\n\r\n    this._coreConfig = { apiBaseUrl: core?.apiBaseUrl, appId: core?.appId, xApiKey: core?.xApiKey };\r\n    this._coreConfig.apiIsInTheSameDomain = core?.apiIsInTheSameDomain || false;\r\n    this._coreConfig.appName = core?.appName || \"Tilde MT\";\r\n    this._coreConfig.isAuth = core?.isAuth || false;\r\n    this._coreConfig.jwtAuth = core?.jwtAuth || false;\r\n    this._coreConfig.translateAppName = core?.translateAppName ?? true;\r\n    this._coreConfig.registerLink = core?.registerLink || \"https://tilde.ai/machine-translation\";\r\n    this._coreConfig.supportEmail = core?.supportEmail || \"support@tilde.com\";\r\n    this._coreConfig.hideLangMenuLabels = core?.hideLangMenuLabels || false;\r\n    this._coreConfig.showVendors = core?.showVendors || false;\r\n    this._coreConfig.unauthorizedRedirectLink = core?.unauthorizedRedirectLink;\r\n    this._coreConfig.maxDisplayedLanguages = core?.maxDisplayedLanguages ?? 3;\r\n    this._coreConfig.uploadIconName = core?.uploadIconName;\r\n    this._coreConfig.debug = core?.debug;\r\n    this._coreConfig.showDomainsWithLanguageName = core?.showDomainsWithLanguageName || false;\r\n    this._coreConfig.showDomains = core?.showDomains ?? true;\r\n    this._coreConfig.defaultVendor = core?.defaultVendor ?? \"Tilde\";\r\n    this._coreConfig.defaultDomain = core?.defaultDomain ?? \"general\";\r\n    this._coreConfig.showDomainTitle = core?.showDomainTitle;\r\n    this._coreConfig.domainSide = core?.domainSide ?? \"trg\";\r\n    this._coreConfig.swapIconPosition = core?.swapIconPosition ?? \"src\";\r\n    this._coreConfig.languageMenuVersion = core?.languageMenuVersion ?? languageMenuVersion.V2;\r\n    this._coreConfig.maxRecentSystemCount = core?.maxRecentSystemCount ?? 4;\r\n    this._coreConfig.defaultDomains = core?.defaultDomains ?? [\"GEN\", \"general\"];\r\n    this._coreConfig.contactSupport = core?.contactSupport ?? true;\r\n    this._coreConfig.subscriptionSupport = core?.subscriptionSupport ?? true;\r\n    this._coreConfig.isWebComponent = core?.isWebComponent ?? false;\r\n    this._coreConfig.defaultSourceLanguage =  core?.defaultSourceLanguage ?? ((text?.isAutoLanguageDetectionEnabled ?? true) ? 'AUTO' : 'en');\r\n    this._coreConfig.defaultTargetLanguage = core?.defaultTargetLanguage ?? 'lv';\r\n\r\n    this._fileConfig.allowedFileTypes = file?.allowedFileTypes || [\".pdf\", \".docx\", \".doc\", \".pptx\", \".xlsx\", \".txt\", \".odt\", \".html\", \".json\", \".srt\", \".rtf\", \".pages\", \".docm\", \".odp\", \".ods\", \".htm\", \".xhtml\", \".xht\", \".tmx\", \".xlf\", \".xlif\", \".xliff\", \".sdlxliff\", \".sdlxlf\", \".ttx\", \".tex\", \".xml\", \".sxw\", \".csv\", \".jpg\", \".jpeg\", \".png\", \".bmp\"];\r\n    this._fileConfig.extendedFileTypes = file?.extendedFileTypes\r\n      || [\".doc\", \".docx\", \".xlsx\", \".pptx\", \".odt\", \".odp\", \".ods\", \".txt\", \".html\", \".htm\",\r\n        \".xhtml\", \".xht\", \".tmx\", \".xlf\", \".xlif\", \".xliff\", \".sdlxliff\", \".sdlxlf\", \".ttx\", \".rtf\",\r\n        \".pages\", \".tex\", \".xml\", \".json\", \".sxw\", \".pdf\", \".csv\", \".ttl\", \".srt\", \".png\", \".jpg\", \".jpeg\", \".bmp\"];\r\n    this._fileConfig.fileApiUrl = file?.fileApiUrl || \"https://letsmt.eu/ws/Files/\";\r\n    this._fileConfig.fileDownloadTimeouts = file?.fileDownloadTimeouts\r\n      || {\r\n      \"initializing\": 1000,\r\n      \"extracting\": 1000,\r\n      \"waiting\": 10000,\r\n      \"translating\": 1000,\r\n      \"saving\": 1000,\r\n      \"completed\": 1000,\r\n      \"error\": 1000,\r\n      \"queuing\": 1000\r\n    };\r\n\r\n    this._fileConfig.maxSize = file?.maxSize === null ? null : (file?.maxSize ?? (this.coreConfig.isAuth ? 30720000 : 10485760));\r\n    this._fileConfig.fileUpload = file?.fileUpload ?? true;\r\n    this._fileConfig.ocrPageLimit = file?.ocrPageLimit ?? 1;\r\n    this._fileConfig.allowPDFSourceDownload = file?.allowPDFSourceDownload ?? true;\r\n    this._fileConfig.allowImageSourceDownload = file?.allowImageSourceDownload ?? true;\r\n    this._fileConfig.sourceDownloadExtensions = file?.sourceDownloadExtensions || [\"pdf\", \"png\", \"jpg\", \"jpeg\", \"bmp\"];\r\n    this._fileConfig.targetDownloadExtensionOrder = file?.targetDownloadExtensionOrder;\r\n    this._fileConfig.numberOfFilesAllowed = file?.numberOfFilesAllowed > 0 ? file.numberOfFilesAllowed : 1;\r\n    this._fileConfig.showTranslationLimits = file?.showTranslationLimits ?? true;\r\n    this._fileConfig.useMultipleFileUpload = file?.useMultipleFileUpload ?? true;\r\n    this._fileConfig.progressIndicatorTitleVisibleForVendors = file?.progressIndicatorTitleVisibleForVendors ?? [\"ETranslation\"];\r\n\r\n    this._textConfig.maxCharLength = text?.maxCharLength ?? 5000;\r\n    this._textConfig.webWidgetRedirectUrlPosfix = text?.webWidgetRedirectUrlPosfix || \"/webtranslate?url=\";\r\n    this._textConfig.webWidgetRedirectUrlPrefix = text?.webWidgetRedirectUrlPrefix || \"\";\r\n    this._textConfig.useDictionary = text?.useDictionary ?? false;\r\n    this._textConfig.dictionaryUrls = text?.dictionaryUrls ?? [];\r\n    this._textConfig.showAvailableExtensions = text?.showAvailableExtensions == null ? true : text.showAvailableExtensions;\r\n    this._textConfig.showAuthExtensions = text?.showAuthExtensions == null ? true : text.showAuthExtensions;\r\n    this._textConfig.autoFocuss = text?.autoFocuss;\r\n    this._textConfig.showExtensionsUnauthOnly = text?.showExtensionsUnauthOnly;\r\n    this._textConfig.showSensitiveInfoTooltip = text?.showSensitiveInfoTooltip;\r\n    this._textConfig.allowWebsiteTranslation = text?.allowWebsiteTranslation ?? true;\r\n    this._textConfig.autoRedirectToWebTranslate = text?.autoRedirectToWebTranslate ?? false;\r\n    this._textConfig.highlight = text?.highlight ?? true;\r\n    this._textConfig.showTargetPlaceholder = text?.showTargetPlaceholder;\r\n    this._textConfig.showExtensionPopup = text?.showExtensionPopup;\r\n    this._textConfig.visibleExtensionCount = text?.visibleExtensionCount ?? 3;\r\n    this._textConfig.progressIndicatorTimeoutMiliSeconds = text?.progressIndicatorTimeoutMiliSeconds ?? 2000;\r\n    this._textConfig.progressIndicatorTitleVisibleForVendors = text?.progressIndicatorTitleVisibleForVendors ?? [\"ETranslation\"];\r\n    this._textConfig.progressIndicatorVisible = text?.progressIndicatorVisible ?? true;\r\n    this._textConfig.showTranslateButton = text?.showTranslateButton ?? true;\r\n    this._textConfig.displaySingleAvailableDomain = text?.displaySingleAvailableDomain ?? false;\r\n    this._textConfig.isAutoLanguageDetectionEnabled = text?.isAutoLanguageDetectionEnabled ?? true;\r\n    this._textConfig.showWordLimitWarning = text?.showWordLimitWarning ?? true;\r\n\r\n    this._llmConfig.isEnabled = llm?.isEnabled ?? false;\r\n    this._llmConfig.apiUrl = llm?.apiUrl ?? 'https://translate.tilde.ai/api/language';\r\n\r\n    // Not setting default url because there is no service provided by Tilde and this is not used by default in website project.\r\n    this._audioConfig.audioApiUrl = audio?.audioApiUrl;\r\n    this._audioConfig.audioMaxSizeBytes = audio?.audioMaxSizeBytes ?? 10000000;\r\n    this._audioConfig.sourceLanguages = audio?.sourceLanguages ?? [];\r\n    this._audioConfig.dataUpdateTimeFrame = audio?.dataUpdateTimeFrame ?? 5000;\r\n    this._audioConfig.punctuationMessage = audio?.punctuationMessage ?? true;\r\n    this._audioConfig.disableAutomaticTranslation = audio?.disableAutomaticTranslation ?? true;\r\n\r\n    this._webtranslateConfig.logoLocation = webtranslate?.logoLocation || 'assets/webtranslate/tilde_logo.png';\r\n    this._webtranslateConfig.translatePagePath = webtranslate?.translatePagePath;\r\n    this._webtranslateConfig.debug = webtranslate?.debug || false;\r\n    this._webtranslateConfig.webLangAutodetect = webtranslate?.webLangAutodetect || true;\r\n    this._webtranslateConfig.allowSuggestions = webtranslate?.allowSuggestions || false;\r\n    this._webtranslateConfig.hidePopup = webtranslate?.hidePopup || false;\r\n    this._webtranslateConfig.sandbox = webtranslate?.sandbox ?? \"allow-forms allow-scripts allow-same-origin\";\r\n    this._webtranslateConfig.appId = webtranslate?.appId;\r\n    this._webtranslateConfig.helpUrl = webtranslate?.helpUrl ?? 'https://help.tilde.ai/tilde-mt/guides/web-translation/translate';\r\n\r\n    this._termConfig.canCreateCollection = termConfig?.canCreateCollection;\r\n    this._termConfig.isCollectionsActivated = termConfig?.isCollectionsActivated;\r\n    this._termConfig.terminologyPortalUrl = termConfig?.terminologyPortalUrl ?? 'https://term.tilde.com';\r\n    this._termConfig.systemListUrl = termConfig?.systemListUrl ?? 'https://translate.tilde.ai/api/engine';\r\n\r\n    // seperated because following urls have method names added\r\n    this._textConfig.updateTranslationUrl = text?.updateTranslationUrl;\r\n\r\n    this._coreConfig.apiBaseUrl = core?.apiBaseUrl ?? \"https://translate.tilde.ai/api\";\r\n    this._textConfig.translationUrl = text?.translationUrl ?? this.coreConfig.apiBaseUrl + \"/translate/text\";\r\n    this._fileConfig.fileApiUrl = file?.fileApiUrl ?? this.coreConfig.apiBaseUrl + \"/translate/file\";\r\n\r\n    this._quotaConfig.apiUrl = quota?.apiUrl ?? \"https://translate.tilde.ai/api/quota/usage\";\r\n    this._quotaConfig.xApiKey = core?.xApiKey;\r\n    this._quotaConfig.appId = core?.appId;\r\n\r\n    this._supscriptionConfig.pricingUrl = subscription?.pricingUrl ?? \"https://tilde.ai/machine-translation/#price\";\r\n    this._supscriptionConfig.hasActiveSubscription = subscription?.hasActiveSubscription ?? false;\r\n\r\n    this._speechConfig.resourceServiceUrl = speech?.resourceServiceUrl ?? \"https://services.tilde.com/service/asr\";\r\n    this._speechConfig.apiKey = speech?.apiKey ?? \"\";\r\n    this._speechConfig.textToSpeech.url = speech?.textToSpeech?.url ?? \"https://services.tilde.com/service\";\r\n    this._speechConfig.textToSpeech.enabled = speech?.textToSpeech?.enabled ?? false;\r\n    this._speechConfig.textToSpeech.maxCharsInText = speech?.textToSpeech?.maxCharsInText ?? 500;\r\n    this._speechConfig.onlineAsr.url = speech?.onlineAsr?.url ?? \"wss://services.tilde.com/service/asr/ws\";\r\n    this._speechConfig.onlineAsr.enabled = speech?.onlineAsr?.enabled ?? false;\r\n    this._speechConfig.onlineAsr.maximumRecordTime = speech?.onlineAsr?.maximumRecordTime ?? 180;\r\n  }\r\n}\r\n","export const AUTO_LANGUAGE_DETECTION_KEY = 'AUTO';","import { inject, Injectable, signal } from '@angular/core';\r\nimport { ActiveData, AlertService, Domain, LAST_USED_SYSTEM_LOCAL_STORAGE_KEY, LangListItem, SortHelper, System, SystemService, Vendor } from '@tilde-nlp/ngx-common';\r\nimport { BehaviorSubject, Observable, ReplaySubject, Subject } from 'rxjs';\r\nimport { AUTO_LANGUAGE_DETECTION_KEY } from '../models/auto-language-detection-key.const';\r\nimport { TldTranslateConfigService } from './tld-translate-config.service';\r\nimport { Resource, ResourceService, ResourceType } from '@tilde-nlp/ngx-services';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldTranslateSystemManagementService {\r\n  private systemService = inject(SystemService);\r\n  private config = inject(TldTranslateConfigService);\r\n  private alert = inject(AlertService);\r\n  private resourceService = inject(ResourceService);\r\n\r\n  noSystemsError = false;\r\n  systems: System[] = [];\r\n  readonly onlineASrSystems = signal<Resource[]>([]);\r\n  readonly ttsSystems = signal<Resource[]>([]);\r\n  widgetInitialized = false;\r\n  sysList = new ReplaySubject<System[]>(1);\r\n  activeDomain!: Domain;\r\n  canSwapLanguages!: boolean;\r\n\r\n  defaultErrorTranslationKey = 'TLD_TRANSLATE.ERROR_NO_SYSTEMS_LOADED';\r\n\r\n  private loadedSystemsSubject = new Subject<System[]>();\r\n\r\n  get activeVendor() {\r\n    return this.activeSystem.vendor || this.defaultVendor;\r\n  }\r\n\r\n  get defaultVendor() {\r\n    return this.config.coreConfig.defaultVendor;\r\n  }\r\n\r\n  get defaultDomains() {\r\n    return this.config.coreConfig.defaultDomains as string[];\r\n  }\r\n\r\n  get defaultTargetLanguage() {\r\n    return this.config.coreConfig.defaultTargetLanguage;\r\n  }\r\n\r\n  get domainsAvailable() {\r\n    return this.domains.length > 0;\r\n  }\r\n\r\n  private sourceLanguage!: string;\r\n  private activeSystem!: System;\r\n  private domains: Domain[] = [];\r\n  private vendors: Vendor[] = [];\r\n  private targetLanguage!: string;\r\n  private sourceLangList: LangListItem[] = [];\r\n  private targetLangList: LangListItem[] = [];\r\n\r\n  //#region Recent system variables\r\n  // Possibly from config\r\n  get recentSystemsMaxCount() { return this.config.coreConfig.maxRecentSystemCount as number; }\r\n  private recentSystems: System[] = [];\r\n  //#endregion\r\n\r\n  private readonly recentSystemKey = \"recentSystems\";\r\n  private readonly active: BehaviorSubject<ActiveData> = new BehaviorSubject<ActiveData>(<any>null);\r\n\r\n  /**\r\n  * This method is being called when auto language detection was chosen.\r\n  */\r\n  enableLanguageDetection(retranslate?: boolean): void {\r\n    if (this.activeSystem?.detectedLanguage) {\r\n      return;\r\n    }\r\n\r\n    this.sourceLanguage = AUTO_LANGUAGE_DETECTION_KEY;\r\n    this.changeLanguage(this.sourceLanguage, this.targetLanguage, retranslate);\r\n  }\r\n\r\n  /**\r\n  * This method is being used to set detected language.\r\n  * Also, when language was detected and we want to clear source text, this method also is being called.\r\n  */\r\n  setDetectedLanguage(langCode: string) {\r\n    if (langCode === null) {\r\n      this.activeSystem.detectedLanguage = langCode;\r\n      this.enableLanguageDetection(false);\r\n      this.onActiveSystemChange(false);\r\n      return;\r\n    }\r\n\r\n    this.activeSystem.detectedLanguage = langCode;\r\n    this.changeLanguage(langCode, this.targetLanguage, true, true);\r\n  }\r\n\r\n  getSystems(): System[] {\r\n    return this.systems;\r\n  }\r\n\r\n  changeLanguage(source: string, target: string, retranslate?: boolean, isDetection?: boolean) {\r\n    if (((source !== AUTO_LANGUAGE_DETECTION_KEY) || (this.activeSystem?.detectedLanguage === source)) && !isDetection) {\r\n      this.sourceLanguage = source;\r\n      this.activeSystem.detectedLanguage = null;\r\n      this.onActiveSystemChange(false);\r\n    }\r\n\r\n    let systemId = this.findCorrectSystem(source, target, this.activeSystem?.domain);\r\n\r\n    if (!systemId) {\r\n      return;\r\n    }\r\n\r\n    this.changeSystem(systemId, retranslate);\r\n  }\r\n\r\n  showSameLanguages(lang: string): void {\r\n    this.activeSystem.sourceLanguage = AUTO_LANGUAGE_DETECTION_KEY;\r\n    this.activeSystem.detectedLanguage = lang;\r\n    this.activeSystem.domain = '';\r\n    this.activeSystem.includesTerminology = false;\r\n    this.domains = [];\r\n    this.vendors = [];\r\n    this.onActiveSystemChange(false);\r\n  }\r\n\r\n  getActiveData() {\r\n    return this.active.asObservable();\r\n  }\r\n\r\n  getActiveSystemObj(): System {\r\n    return this.activeSystem;\r\n  }\r\n\r\n  getActiveVendorsAndDomains() {\r\n    if (!this.sourceLanguage || !this.targetLanguage) {\r\n      return;\r\n    }\r\n    const vendors: Vendor[] = [];\r\n    const domains: Domain[] = [];\r\n\r\n    for (const system of this.systems) {\r\n      if (!(system.sourceLanguage === (this.activeSystem?.detectedLanguage ?? this.sourceLanguage) && system.targetLanguage === this.targetLanguage)) {\r\n        continue;\r\n      }\r\n      const domain: Domain = {\r\n        languageId: system.languageId,\r\n        title: system.domain as string\r\n      };\r\n      domains.push(domain);\r\n      const vendor: Vendor = {\r\n        languageId: system.languageId,\r\n        title: system.vendor\r\n      }\r\n\r\n      if (!vendors.includes(vendor)) {\r\n        vendors.push(vendor);\r\n      }\r\n\r\n      if (domain.languageId === this.activeSystem.languageId) {\r\n        this.activeDomain = domain;\r\n      }\r\n    }\r\n\r\n    this.domains = domains;\r\n    this.vendors = vendors;\r\n  }\r\n\r\n\r\n  getLastUsedSystem(): string {\r\n    return localStorage.getItem(LAST_USED_SYSTEM_LOCAL_STORAGE_KEY) as string;\r\n  }\r\n\r\n  getUniqueLanguages(list: LangListItem[]): string[] {\r\n    if (!list) {\r\n      return [];\r\n    }\r\n    const titles: string[] = [];\r\n\r\n    list.forEach((lang) => {\r\n      const langTitle = lang.lang;\r\n      const ix = titles.indexOf(langTitle as string);\r\n      if (ix == -1) {\r\n        titles.push(langTitle as string);\r\n      }\r\n    });\r\n\r\n    return titles;\r\n  }\r\n\r\n  init(languageId: string) {\r\n    this.systemService.getSystemList().subscribe({\r\n      next: (res: System[]) => {\r\n        this.systems = res;\r\n        if (res.length == 0) {\r\n          this.loadedSystemsSubject.next(res);\r\n        }\r\n\r\n        if (!languageId) {\r\n          languageId = this.getDefaultLanguageId();\r\n        }\r\n\r\n        if (!this.systemExists(languageId, this.systems) && !languageId?.includes(AUTO_LANGUAGE_DETECTION_KEY)) {\r\n          languageId = this.systems[0]?.languageId;\r\n          for (const system of this.systems) {\r\n            const vendor = system.vendor;\r\n            if (vendor === this.defaultVendor) {\r\n              languageId = system.languageId;\r\n              break;\r\n            }\r\n          }\r\n        }\r\n\r\n        if (languageId === AUTO_LANGUAGE_DETECTION_KEY) {\r\n          this.targetLanguage = this.defaultTargetLanguage;\r\n        }\r\n\r\n        this.createRecentSystemArray();\r\n        this.sourceLangList = this.createLangList(this.systems);\r\n        this.changeSystem(languageId);\r\n        this.widgetInitialized = true;\r\n        this.sysList.next(this.systems);\r\n        this.noSystemsError = false;\r\n\r\n        if (languageId === AUTO_LANGUAGE_DETECTION_KEY) {\r\n          this.enableLanguageDetection();\r\n        }\r\n      },\r\n      error: (error) => {\r\n        this.noSystemsError = true;\r\n        this.alert.error(this.defaultErrorTranslationKey, error);\r\n      },\r\n    });\r\n\r\n    this.loadSpeechSystems();\r\n  }\r\n\r\n  getLoadedSystems(): Observable<System[]> {\r\n    return this.loadedSystemsSubject.asObservable();\r\n  }\r\n\r\n  setLastUsedSystem(systemId: string) {\r\n    return localStorage.setItem(LAST_USED_SYSTEM_LOCAL_STORAGE_KEY, systemId);\r\n  }\r\n\r\n  swapSystemLanguages() {\r\n    this.changeLanguage(this.targetLanguage, this.sourceLanguage);\r\n  }\r\n\r\n  changeSystem(languageId: string, retranslate = true, isRecentSystem?: boolean) {\r\n    if (this.activeSystem?.languageId === languageId) {\r\n      return;\r\n    }\r\n\r\n    let selectedSystem!: System;\r\n\r\n    if (!languageId?.includes(AUTO_LANGUAGE_DETECTION_KEY)) {\r\n      for (const system of this.systems) {\r\n        if (system.languageId === languageId) {\r\n          selectedSystem = system;\r\n\r\n          if (!isRecentSystem) {\r\n            selectedSystem.detectedLanguage = this.activeSystem?.detectedLanguage ?? null;\r\n          }\r\n\r\n          break;\r\n        }\r\n      }\r\n    } else {\r\n      selectedSystem = this.createSystem('', languageId, languageId, AUTO_LANGUAGE_DETECTION_KEY, this.targetLanguage, '', this.activeSystem?.detectedLanguage ?? null, false);\r\n\r\n      this.targetLangList = this.createLangList(this.systems, AUTO_LANGUAGE_DETECTION_KEY);\r\n      this.targetLanguage = this.targetLanguage;\r\n      this.sourceLanguage = AUTO_LANGUAGE_DETECTION_KEY;\r\n      this.activeSystem = selectedSystem;\r\n      this.getActiveVendorsAndDomains();\r\n      this.onActiveSystemChange(retranslate);\r\n      return;\r\n    }\r\n\r\n    this.targetLangList = this.createLangList(this.systems, selectedSystem?.sourceLanguage);\r\n    this.targetLanguage = selectedSystem?.targetLanguage;\r\n    this.sourceLanguage = this.activeSystem?.detectedLanguage && !isRecentSystem ? AUTO_LANGUAGE_DETECTION_KEY : selectedSystem.sourceLanguage;\r\n\r\n    if (!isRecentSystem) {\r\n      selectedSystem.detectedLanguage = this.activeSystem?.detectedLanguage ?? null;\r\n    }\r\n\r\n    this.activeSystem = selectedSystem;\r\n    this.getActiveVendorsAndDomains();\r\n\r\n    this.onActiveSystemChange(retranslate);\r\n\r\n    this.setLastUsedSystem(selectedSystem.languageId);\r\n  }\r\n\r\n  systemExists(languageId: string, systemList: System[]): boolean {\r\n    const systems = systemList ?? this.systems;\r\n    for (const system of systems) {\r\n      if (system.languageId === languageId) {\r\n        return true;\r\n      }\r\n    }\r\n\r\n    return false;\r\n  }\r\n\r\n  isTerminologySupported(system: System): boolean {\r\n    return system.includesTerminology as boolean;\r\n  }\r\n\r\n  changeSourceLanguage(sourceLanguageCode: string) {\r\n    if (sourceLanguageCode === this.activeSystem.targetLanguage) {\r\n      this.changeLanguage(sourceLanguageCode, this.activeSystem.sourceLanguage);\r\n    } else {\r\n      this.changeLanguage(sourceLanguageCode, this.activeSystem.targetLanguage);\r\n    }\r\n  }\r\n\r\n  changeTargetLanguage(targetLanguageCode: string) {\r\n    if (this.activeSystem?.detectedLanguage) {\r\n      this.changeLanguage(this.activeSystem?.detectedLanguage, targetLanguageCode, true, true);\r\n      return;\r\n    }\r\n\r\n    if (targetLanguageCode === this.activeSystem.sourceLanguage) {\r\n      this.changeLanguage(this.activeSystem.targetLanguage, targetLanguageCode);\r\n    } else {\r\n      this.changeLanguage(this.activeSystem?.detectedLanguage ? AUTO_LANGUAGE_DETECTION_KEY : this.activeSystem.sourceLanguage, targetLanguageCode);\r\n    }\r\n  }\r\n\r\n  private getDefaultLanguageId(): string {\r\n    return this.findCorrectSystem(this.config.coreConfig.defaultSourceLanguage, this.config.coreConfig.defaultTargetLanguage, this.config.coreConfig.defaultDomain);\r\n  }\r\n\r\n  private createRecentSystemArray() {\r\n    let systemIdArray: string[];\r\n    const recentSystemArray: System[] = [];\r\n\r\n    try {\r\n      systemIdArray = JSON.parse(localStorage.getItem(this.recentSystemKey) ?? \"[]\");\r\n    } catch {\r\n      return;\r\n    }\r\n\r\n    systemIdArray.forEach((languageId) => {\r\n      const existingSystem = this.systems.find(system => system.languageId === languageId);\r\n      if (existingSystem && !this.recentSystems.includes(existingSystem)) {\r\n        recentSystemArray.push(existingSystem);\r\n      }\r\n    });\r\n\r\n    this.recentSystems = recentSystemArray;\r\n  }\r\n\r\n  private addToRecentSystemArray(system: System) {\r\n    const existingSystem = this.recentSystems.find(existing => existing.languageId === system.languageId);\r\n    // if system already in list, put it to first position. If ix 0, no action required since latest system is already first.\r\n    if (existingSystem) {\r\n      const systemIxInRecentList = this.recentSystems.indexOf(existingSystem);\r\n      if (systemIxInRecentList > 0) {\r\n        this.recentSystems.splice(systemIxInRecentList, 1);\r\n        this.recentSystems.splice(0, 0, system);\r\n        // reseting detectedLanguage, so (- Detected) label doesnt appears if we select language direction from recent system list\r\n        system.detectedLanguage = undefined;\r\n      }\r\n    } else {\r\n      // if list too long, remove last (oldest element)\r\n      while (this.recentSystems.length >= this.recentSystemsMaxCount) {\r\n        this.recentSystems.pop();\r\n      }\r\n\r\n      this.recentSystems.splice(0, 0, system);\r\n    }\r\n    localStorage.setItem(this.recentSystemKey, JSON.stringify(this.recentSystems.map(system => system.languageId)));\r\n  }\r\n\r\n  private canSwapSystemLanguages(): boolean {\r\n    let langSwapActive = false;\r\n    for (const element of this.systems) {\r\n      const system = element;\r\n      if (system.sourceLanguage == this.targetLanguage && system.targetLanguage == this.sourceLanguage) {\r\n        langSwapActive = true;\r\n        break;\r\n      }\r\n    }\r\n    this.canSwapLanguages = langSwapActive;\r\n    return langSwapActive;\r\n  }\r\n\r\n  private createLangList(systems: System[], srcLangCode?: string) {\r\n    const langListItemArray: LangListItem[] = [];\r\n    systems.forEach((system) => {\r\n      if (!srcLangCode || srcLangCode === system.sourceLanguage || srcLangCode === AUTO_LANGUAGE_DETECTION_KEY) {\r\n        langListItemArray.push(\r\n          {\r\n            domain: system.domain as string,\r\n            lang: srcLangCode ? system.targetLanguage : system.sourceLanguage,\r\n            languageId: system.languageId,\r\n            vendor: system.vendor\r\n          }\r\n        );\r\n      }\r\n    })\r\n    return langListItemArray;\r\n  }\r\n\r\n  private findCorrectSystem(sourceLanguage: string, targetLanguage: string, domain?: string): string {\r\n\t\tconst systems = this.systems;\r\n\r\n\t\tif (sourceLanguage === AUTO_LANGUAGE_DETECTION_KEY) {\r\n\t\t\tthis.targetLanguage = targetLanguage;\r\n\t\t\tif (this.activeSystem) {\r\n\t\t\t\tthis.activeSystem.targetLanguage = targetLanguage;\r\n\t\t\t}\r\n\t\t\treturn `${AUTO_LANGUAGE_DETECTION_KEY}-${targetLanguage}`;\r\n\t\t}\r\n\r\n\t\tconst systemWithSameDomain = systems.find((system) => {\r\n\t\t\treturn system.sourceLanguage === sourceLanguage && system.targetLanguage === targetLanguage && (!domain || system.domain === domain);\r\n\t\t});\r\n\r\n\t\tif (systemWithSameDomain) {\r\n\t\t\treturn systemWithSameDomain.languageId;\r\n\t\t}\r\n\r\n\t\tconst systemsForLanguagePair = systems.filter((system) => {\r\n\t\t\treturn system.sourceLanguage === sourceLanguage && system.targetLanguage === targetLanguage;\r\n\t\t});\r\n\r\n\t\tif (systemsForLanguagePair.length === 0) {\r\n\t\t\treturn this.systems.find((system) => system.sourceLanguage === sourceLanguage)?.languageId as string;\r\n\t\t}\r\n\r\n\t\tlet systemsWithDefaultVendor = systemsForLanguagePair.filter((system) => (system.vendor || this.defaultVendor) === this.defaultVendor);\r\n\t\tif (systemsWithDefaultVendor.length === 0) {\r\n\t\t\tsystemsWithDefaultVendor = systemsForLanguagePair;\r\n\t\t}\r\n\r\n\t\tlet systemsWithDefaultDomain = systemsWithDefaultVendor.filter((system) =>\r\n\t\t\tdomain ? system.domain === domain : this.defaultDomains.includes(system.domain as string)\r\n\t\t);\r\n\t\tif (systemsWithDefaultDomain.length === 0) {\r\n\t\t\tsystemsWithDefaultDomain = systemsWithDefaultVendor;\r\n\t\t}\r\n\t\tSortHelper.sortByArray(systemsWithDefaultDomain, this.defaultDomains, 'domain');\r\n\r\n\t\treturn systemsWithDefaultDomain[0].languageId;\r\n\t}\r\n\r\n  private onActiveSystemChange(retranslate = true) {\r\n    const system: System = this.activeSystem;\r\n    const vendor = this.activeSystem.vendor;\r\n\r\n    if (this.sourceLanguage !== AUTO_LANGUAGE_DETECTION_KEY && !system?.detectedLanguage && system.domain?.length) {\r\n      this.addToRecentSystemArray(system);\r\n    }\r\n\r\n    this.active.next({\r\n      sourceLang: {\r\n        lang: this.sourceLanguage,\r\n        domain: system.domain,\r\n        vendor: vendor,\r\n        languageId: system.languageId,\r\n      },\r\n      sourceLangList: this.sourceLangList,\r\n      systemId: system.id,\r\n      languageId: system.languageId,\r\n      targetLang: {\r\n        domain: system.domain ?? this.activeDomain.title,\r\n        vendor: vendor,\r\n        languageId: system.languageId,\r\n        lang: this.targetLanguage\r\n      },\r\n      targetLangList: this.targetLangList,\r\n      vendors: this.vendors,\r\n      domains: { active: this.activeDomain, domains: this.domains },\r\n      swapLangActive: this.canSwapSystemLanguages(),\r\n      system: system,\r\n      retranslate: retranslate,\r\n      recentSystems: this.recentSystems\r\n    });\r\n  }\r\n\r\n  private createSystem(domain: string, id: string, languageId: string, sourceLanguage: string, targetLanguage: string, vendor: string, detectedLanguage: string, includesTerminology: boolean): System {\r\n    return { domain, id, languageId, sourceLanguage, targetLanguage, vendor, detectedLanguage, includesTerminology }\r\n  }\r\n\r\n  private loadSpeechSystems() {\r\n    // If online asr and tts not enabled, no need to load.\r\n    if (!this.config.speechConfig.onlineAsr?.enabled && !this.config.speechConfig.textToSpeech?.enabled) {\r\n      return;\r\n    }\r\n    this.resourceService.get().subscribe((speechSystems) => {\r\n      if (this.config.speechConfig.onlineAsr?.enabled) {\r\n        this.onlineASrSystems.set(speechSystems.filter((system) => system.type === ResourceType.ONLINE));\r\n      }\r\n\r\n      if (this.config.speechConfig.textToSpeech?.enabled) {\r\n        this.ttsSystems.set(speechSystems.filter((system) => system.type === ResourceType.TTS));\r\n      }\r\n    })\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { IHighlightSelectedSentence } from '../../tld-text/models';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldHighlightService {\r\n\r\n  constructor() { }\r\n\r\n  selectedTargetSentence: IHighlightSelectedSentence;\r\n\r\n  private selectedTargetSentence$: Subject<{ previous: IHighlightSelectedSentence, next: IHighlightSelectedSentence}> = new Subject();\r\n\r\n  onChangeSelectedTargetSentence() {\r\n    return this.selectedTargetSentence$.asObservable();\r\n  }\r\n\r\n  changeSelectedTargetSentence(sentence: IHighlightSelectedSentence) {\r\n    const observableObj = { previous: this.selectedTargetSentence, next: sentence };\r\n    this.selectedTargetSentence = sentence;\r\n    this.selectedTargetSentence$.next(observableObj);\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { availableLanguages } from '../../../i18n/available-languages';\r\n\r\n/**\r\n * @deprecated This pipe should not be used. To translate domains - check ngx-common readme about custom MissingTranslationHandler.\r\n */\r\n@Pipe({\n    name: 'translateDomain',\n    standalone: false\n})\r\nexport class TranslateDomainPipe implements PipeTransform {\r\n  constructor(private readonly translate: TranslateService){}\r\n\r\n  transform(domainName: string): string {\r\n    const autoKey = \"Auto\";\r\n    const domainKey = (domainName ?? autoKey).toUpperCase().replace(\" \", \"_\").replace(\"-\", \"_\");\r\n    const domainTranslations = availableLanguages[this.translate.currentLang]?.DOMAINS ?? availableLanguages[this.translate.defaultLang]?.DOMAINS;\r\n    return domainTranslations?.[domainKey] ?? domainName ?? autoKey;\r\n  }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n    name: 'capitalize',\r\n    standalone: false\r\n})\r\nexport class CapitalizePipe implements PipeTransform {\r\n  transform(value: string): string {\r\n    return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\r\n  }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'tld-loader',\r\n    templateUrl: './tld-loader.component.html',\r\n    styleUrls: ['./tld-loader.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldLoaderComponent {\r\n}\r\n","\r\n<div class=\"tld-loader accent-color\" fxLayout=\"row\" fxLayoutGap=\"10px\">\r\n  <div class=\"accent-bg-color tld-loader-element element-1\"></div>\r\n  <div class=\"accent-bg-color tld-loader-element element-2\"></div>\r\n  <div class=\"accent-bg-color tld-loader-element element-3\"></div>\r\n</div>\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';\r\nimport { MatMenu } from '@angular/material/menu';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { ILangListItem, ILanguageWithTranslation, ISelectedLanguage } from '../../models';\r\nimport { OpenCloseButtonComponent } from '@tilde-nlp/ngx-common';\r\n\r\n@Component({\r\n    selector: 'tld-lang-list',\r\n    templateUrl: './tld-lang-list.component.html',\r\n    styleUrls: ['./tld-lang-list.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldLangListComponent implements AfterViewInit, OnDestroy {\r\n  //available only after view initialized\r\n  @ViewChild(\"wrapper\") wrapper: ElementRef;\r\n  @ViewChild(MatMenu) menu: MatMenu;\r\n  @ViewChild(OpenCloseButtonComponent) openCloseButton: OpenCloseButtonComponent;\r\n\r\n  //Inputs\r\n  @Input() disabled: boolean;\r\n  @Input() pxPerLanguage: number = 100;\r\n\r\n  @Input() set languages(languageList: ILangListItem[]) {\r\n    setTimeout(() => {\r\n      this.languageList = languageList || [];\r\n      this.recreateLanguageLists();\r\n    }, 0)\r\n\r\n  };\r\n\r\n  /** Id for panel class. For testing purposes. */\r\n  @Input() testId: string;\r\n\r\n  private _selected: ISelectedLanguage;\r\n  @Input() set selected(val: ISelectedLanguage) {\r\n    this._selected = val;\r\n    this.ensureSelectedIsVisible();\r\n  };\r\n  get selected() { return this._selected; }\r\n\r\n  private _maxDisplayedLanguages: number;\r\n  @Input() set maxDisplayedLanguages(val: number) {\r\n    if (this._maxDisplayedLanguages === val) {\r\n      return;\r\n    }\r\n\r\n    this._maxDisplayedLanguages = val;\r\n    this.recreateLanguageLists();\r\n  }\r\n  get maxDisplayedLanguages() {\r\n    return this._maxDisplayedLanguages;\r\n  }\r\n\r\n  get firstVisible() {\r\n    return this.visibleLanguageList?.[0];\r\n  }\r\n  @Input() showDomainsWithLanguageName: boolean;\r\n  //Outputs\r\n  @Output() onLanguageChange: EventEmitter<string> = new EventEmitter<string>();\r\n  @Output() onDomainChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n  //public variables\r\n  currentLanguage: string;\r\n  menuLanguageList: ILanguageWithTranslation[] = [];\r\n  visibleLanguageList: ILanguageWithTranslation[] = [];\r\n\r\n  readonly menuTriggerAriaCode = \"ARIA_LABELS.OTHER_LANGUAGES_TRIGGER\";\r\n  readonly languageLocalizationKey = \"LANGUAGES\"\r\n  readonly languageCodePropertyName = \"code\";\r\n  //Private variables and their accessors\r\n  //necessary because domain name will show next to language if multiple domains available\r\n  private duplicateCodes: string[] = [];\r\n  private languageList: ILangListItem[] = [];\r\n\r\n  private readonly destroy$ = new Subject();\r\n\r\n  constructor(private readonly translate: TranslateService) {\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.menu.overlayPanelClass = \"language-menu-overlay\";\r\n    this.translate.onLangChange.pipe(\r\n      takeUntil(this.destroy$)\r\n    ).subscribe((lang) => {\r\n      this.currentLanguage = lang.lang;\r\n      this.toogleDomainVisibility();\r\n    })\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.destroy$.next(null)\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  onMenuOpen() {\r\n    const panel = document.getElementById(this.menu.panelId);\r\n    // disables tilde web translator for lang menu\r\n    panel.setAttribute(\"translate\", \"no\");\r\n    if (this.testId) {\r\n      panel.setAttribute(\"data-test-id\", this.testId);\r\n    }\r\n  }\r\n\r\n  isActive(language: any | ILanguageWithTranslation) {\r\n    return this.isEqualWithSelected(language);\r\n  }\r\n  selectLanguage(language: ILanguageWithTranslation) {\r\n    if (this.isEqualWithSelected(language)) {\r\n      return;\r\n    }\r\n\r\n    if (this.showDomainsWithLanguageName) {\r\n      this.onDomainChange.emit(language.systemId);\r\n    }\r\n    else {\r\n      this.onLanguageChange.emit(language.code);\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Creates visible language list and menu language list that is used in template.\r\n   * Uses component variable \"languageList\" which gets passed as input param.\r\n   */\r\n  private recreateLanguageLists() {\r\n    const visibleLanguages: ILanguageWithTranslation[] = [];\r\n    const menuLanguages: ILanguageWithTranslation[] = [];\r\n    const languageCodes: string[] = [];\r\n    this.duplicateCodes = [];\r\n    for (var i = 0; i < this.languageList.length; i++) {\r\n      const language = this.languageList[i];\r\n      if (languageCodes.indexOf(language.lang) >= 0) {\r\n        this.duplicateCodes.push(language.lang);\r\n        if (!this.showDomainsWithLanguageName) {\r\n          continue;\r\n        }\r\n      }\r\n      languageCodes.push(language.lang);\r\n\r\n      const languageWithTranslation: ILanguageWithTranslation =\r\n      {\r\n        code: language.lang,\r\n        //will be set later, together with domain translation\r\n        showDomain: false,\r\n        domain: language.domain,\r\n        systemId: language.systemId,\r\n      };\r\n\r\n      if (visibleLanguages.length < this.maxDisplayedLanguages) {\r\n        visibleLanguages.push(languageWithTranslation);\r\n      } else if(this.maxDisplayedLanguages===1 || visibleLanguages.length >= this.maxDisplayedLanguages) {\r\n        menuLanguages.push(languageWithTranslation);\r\n      }\r\n    }\r\n    this.visibleLanguageList = visibleLanguages;\r\n    this.menuLanguageList = menuLanguages;\r\n    this.toogleDomainVisibility();\r\n    this.ensureSelectedIsVisible();\r\n  }\r\n\r\n  private ensureSelectedIsVisible() {\r\n    // Loop visible languages and if selected is visible, then no reordering necessary.\r\n    for (var i = 0; i < this.visibleLanguageList.length; i++) {\r\n      const lang = this.visibleLanguageList[i];\r\n      if (this.isEqualWithSelected(lang)) {\r\n        return;\r\n      }\r\n    }\r\n\r\n    // If selected lang not visible, make it visible from menu languages\r\n    for (var i = 0; i < this.menuLanguageList.length; i++) {\r\n      const lang = this.menuLanguageList[i];\r\n      if (this.isEqualWithSelected(lang)) {\r\n        const deletedVisible = this.visibleLanguageList.splice(0, 1, lang)[0];\r\n\r\n        // if max visible length === 1, then it is ok that visible lang is also in menu langs. \r\n        if (this.maxDisplayedLanguages !== 1) {\r\n          this.menuLanguageList.splice(i, 1, deletedVisible);\r\n        }\r\n        return;\r\n      }\r\n    }\r\n  }\r\n\r\n  private isEqualWithSelected(lang: ILanguageWithTranslation) {\r\n    return lang && ((!this.showDomainsWithLanguageName && lang.code === this.selected.code)\r\n      || (this.showDomainsWithLanguageName && lang.systemId === this.selected.systemId))\r\n  }\r\n\r\n  private toogleDomainVisibility() {\r\n    [...this.visibleLanguageList, ...this.menuLanguageList].forEach(\r\n      (language) => {\r\n        language.showDomain = this.showDomainsWithLanguageName && this.duplicateCodes.includes(language.code) ? true : false;\r\n      });\r\n  }\r\n\r\n}\r\n","<div fxLayout=\"row\" class=\"tld-lang-list-wrapper\" fxLayoutAlign=\"start center\">\r\n  <div fxLayout=\"row\" fxLayoutAlign=\"center center\" role=\"list\" class=\"tld-lang-list\"\r\n    [ngClass]=\"{'single-element-list': visibleLanguageList.length === 1}\">\r\n    <ng-container *ngIf=\"visibleLanguageList.length>1 else singleLanguageList\">\r\n      <div role=\"listitem\" *ngFor=\"let language of visibleLanguageList\" class=\"tld-language-list-element\"\r\n        [ngClass]=\"{'active accent-color' : isActive(language)}\">\r\n        <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\">\r\n        </ng-template>\r\n      </div>\r\n      <ng-template *ngIf=\"menuLanguageList.length>0\" [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: true}\"></ng-template>\r\n    </ng-container>\r\n  </div>\r\n  <ng-content></ng-content>\r\n  <mat-menu #languageMenu=\"matMenu\" fxLayout=\"column\" class=\"language-menu\">\r\n    <ng-container *ngFor=\"let language of menuLanguageList\">\r\n      <ng-template [ngTemplateOutlet]=\"languageButton\" [ngTemplateOutletContext]=\"{ language: language }\"></ng-template>\r\n    </ng-container>\r\n  </mat-menu>\r\n</div>\r\n\r\n<!-- Template for one visible language with menu languages. -->\r\n<ng-template #singleLanguageList>\r\n  <ng-container *ngIf=\" menuLanguageList.length > 0 else UnclickableLanguage\">\r\n    <ng-template [ngTemplateOutlet]=\"menuDropDown\" [ngTemplateOutletContext]=\"{ isIcon: false}\"></ng-template>\r\n  </ng-container>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- Template if only one language is in list and no menu languages. This language needs no cursor or click events.-->\r\n<ng-template #UnclickableLanguage>\r\n  <button color=\"primary\" [attr.aria-label]=\"firstVisible.code | languageTranslate\" *ngIf=\"firstVisible\" class=\"language-title no-highlight no-action\">\r\n    <ng-template [ngTemplateOutlet]=\"languageNameWithDomain\" [ngTemplateOutletContext]=\"{ language: firstVisible}\"></ng-template>\r\n  </button>\r\n</ng-template>\r\n<!-- ------------------------ -->\r\n\r\n<!-- templates for language names and other small repeated parts of this component-->\r\n<ng-template #menuDropDown let-isIcon=\"isIcon\">\r\n  <lib-open-close-button [isIcon]=\"isIcon\" [ngClass]=\"{'language-title no-highlight' : !isIcon}\" [disabled]=\"disabled\"\r\n    #state=\"matMenuTrigger\" (menuOpened)=\"onMenuOpen()\" [matMenuTriggerFor]=\"languageMenu\" [isOpened]=\"state.menuOpen\"\r\n    [ariaLabelCode]=\"menuTriggerAriaCode\">\r\n    <ng-template *ngIf=\"!isIcon\" [ngTemplateOutlet]=\"languageNameWithDomain\"\r\n      [ngTemplateOutletContext]=\"{ language: firstVisible }\">\r\n    </ng-template>\r\n  </lib-open-close-button>\r\n</ng-template>\r\n\r\n<ng-template #languageButton let-language=\"language\">\r\n  <button fxLayoutAlign=\"start center\" [ngClass]=\"{'active accent-color' : isActive(language)}\" mat-menu-item\r\n    *ngIf=\"language\" class=\"language-title\" (click)=\"selectLanguage(language)\" [disabled]=\"disabled\"\r\n    [attr.aria-label]=\"language.code | languageTranslate\">\r\n    <span>{{ language.code | languageTranslate }}</span>&nbsp;\r\n    <span class=\"domain\" *ngIf=\"language.showDomain\"> ({{language.domain | translateDomain}})</span>\r\n  </button>\r\n</ng-template>\r\n\r\n<ng-template #languageNameWithDomain let-language=\"language\">\r\n  <span>{{ language.code | languageTranslate }}</span>\r\n  <span fxHide.lt-sm *ngIf=\"language.showDomain\">\r\n    <span>&nbsp;(</span>\r\n    <span class=\"domain\">{{language.domain | translateDomain}}</span>\r\n    <span>)</span>\r\n  </span>\r\n</ng-template>\r\n<!-- ------------------------ -->","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ITldTranslateMessage } from '../../models';\r\n\r\n@Component({\r\n    selector: 'tld-message',\r\n    templateUrl: './tld-message.component.html',\r\n    styleUrls: ['./tld-message.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldMessageComponent implements OnInit {\r\n\r\n  constructor() { }\r\n  \r\n  @Input() message: ITldTranslateMessage;\r\n  @Input() contentProjection: boolean;\r\n  @Input() hideClose = false;\r\n  @Output() onClose: EventEmitter<any> = new EventEmitter();\r\n\r\n  get id() {\r\n    return this.message?.params?.id || \"\";\r\n  }\r\n  get closeButtonId() {\r\n    return this.message?.params?.closeButtonId || \"\";\r\n  }\r\n\r\n  className: string;\r\n  readonly ClearLabelCode = \"CLEAR_NOTIFICATION\";\r\n\r\n  ngOnInit(): void {\r\n    if (!this.message) {\r\n      return;\r\n    }\r\n\r\n    this.className = this.message.type.toLowerCase();\r\n  }\r\n\r\n  close() {\r\n    if (this.message?.params?.parentId) {\r\n      const parent = document.getElementById(this.message.params.parentId);\r\n      if (parent) {\r\n        parent.focus();\r\n      }\r\n    }\r\n\r\n    this.onClose.emit();\r\n  }\r\n}\r\n","<div fxFlex fxLayout=\"row\" aria-live=\"polite\" class=\"info-message-box {{className}}\" [attr.id]=\"id\" >\r\n    <div fxFlex class=\"message-box-text\" *ngIf=\"!contentProjection\" [innerHtml]=\"message.text | translate: message.params\"></div>\r\n    <ng-content *ngIf=\"contentProjection\"></ng-content>\r\n  <tld-close-button [ariaCode]=\"ClearLabelCode\"  *ngIf=\"!hideClose\" (tldClick)=\"close()\" [attr.id]=\"closeButtonId\"></tld-close-button>\r\n</div>\r\n","import { animate, keyframes, state, style, transition, trigger } from \"@angular/animations\";\r\n\r\nexport const pulseAnimation = trigger('pulse', [\r\n    state(\"true\", style({})),\r\n    state(\"false\", style({})),\r\n    transition('false <=> true', animate('1.5s ease', keyframes(\r\n        [\r\n            style({ offset: 0 }),\r\n            style({ boxShadow: '0 0 0 15px rgb(173, 35, 74, 10%)', offset: 0.7 }),\r\n            style({ boxShadow: '0 0 0 0', offset: 1 }),\r\n        ]\r\n    )))\r\n])","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldTranslateButtonService {\r\n\r\n  private onClick = new Subject<any>();\r\n  private readonly pulseAnimation = new EventEmitter();\r\n\r\n  constructor() { }\r\n\r\n  actionButtonClicked() {\r\n    this.onClick.next(null)\r\n  }\r\n\r\n  getActionClick() {\r\n    return this.onClick.asObservable();\r\n  }\r\n\r\n  pulseButton(){\r\n    this.pulseAnimation.next(null)\r\n  }\r\n\r\n  onPulseAnimation(){\r\n    return this.pulseAnimation.asObservable();\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { pulseAnimation } from '../../animations/pulse.animation';\r\nimport { TldTranslateButtonService } from './tld-translate-button.service';\r\n\r\n@Component({\r\n    selector: 'tld-translate-button',\r\n    templateUrl: './translate-button.component.html',\r\n    styleUrls: ['./translate-button.component.scss'],\r\n    animations: [\r\n        pulseAnimation\r\n    ],\r\n    standalone: false\r\n})\r\nexport class TldTranslateButtonComponent implements OnDestroy, OnInit {\r\n\r\n  @Input() disabled: boolean;\r\n  @Input() enablePulseAnimation: boolean;\r\n  @Output() clicked: EventEmitter<null> = new EventEmitter();\r\n\r\n  private pulseCounter;\r\n  private readonly maxPulseCount = 3;\r\n\r\n  animationState: boolean = false;\r\n  private subscription: Subscription;\r\n\r\n  constructor(private service: TldTranslateButtonService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.subscription = this.translateButtonAnimation();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subscription.unsubscribe();\r\n  }\r\n\r\n  actionClick() {\r\n    this.service.actionButtonClicked();\r\n    this.clicked.next(null);\r\n  }\r\n\r\n  onAnimationEnd() {\r\n    this.pulse();\r\n  }\r\n\r\n  private translateButtonAnimation() {\r\n    return this.service.onPulseAnimation()\r\n      .subscribe(() => {\r\n        if (this.enablePulseAnimation) {\r\n          this.pulseCounter = 0;\r\n          this.pulse();\r\n        }\r\n      })\r\n  }\r\n\r\n  private pulse() {\r\n    if (this.pulseCounter < this.maxPulseCount && (this.pulseCounter === 0 || !this.disabled)) {\r\n      this.animationState = !this.animationState;\r\n      this.pulseCounter += 1;\r\n    }\r\n  }\r\n}\r\n","<button id=\"tld-translate-button\" [@pulse]=\"animationState\" (@pulse.done)=\"onAnimationEnd()\" class=\"translate-button text-l\" mat-flat-button\r\n    color=\"accent\" [disabled]=\"disabled\" (click)=\"actionClick()\">{{'TLD_TRANSLATE.TOOLTIP_ACTION' | translate}}</button>","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { MatMenu } from '@angular/material/menu';\r\n\r\n@Component({\r\n    selector: 'tld-list-menu',\r\n    templateUrl: './tld-list-menu.component.html',\r\n    styleUrls: ['./tld-list-menu.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldListMenuComponent {\r\n  @ViewChild(MatMenu) menu: MatMenu;\r\n\r\n  /** Title key. Should be set if element is not string. */\r\n  @Input() titleKey: string;\r\n  @Input() list: any[];\r\n  \r\n  @Input() showContent = true;\r\n\r\n  selected: any;\r\n  @Input() set selectedValue(value: any) {\r\n    for (const el of this.list) {\r\n      if ((this.valueKey && value === el[this.valueKey]) || (!this.valueKey && value === el)) {\r\n        this.selected = el;\r\n        return;\r\n      }\r\n    }\r\n    this.selected = null;\r\n  };\r\n  @Input() disabled: boolean;\r\n  /** Open menu button aria label */\r\n  @Input() ariaLabel: string;\r\n  /** Which property of object should be emitted when element is selected. By default, object is returned. */\r\n  @Input() valueKey: string;\r\n  /** For testing purposes. Adds this to attributes for wrapper. */\r\n  @Input() testId: string;\r\n  @Output() selectionChange: EventEmitter<any> = new EventEmitter();\r\n\r\n  select(element: any) {\r\n    this.selectionChange.next(element.languageId);\r\n  }\r\n\r\n  onMenuOpen() {\r\n    if (this.testId) {\r\n      const panel = document.getElementById(this.menu.panelId);\r\n      panel.setAttribute(\"data-test-id\", this.testId);\r\n    }\r\n  }\r\n}\r\n","<lib-open-close-button [isOpened]=\"state.menuOpen\" #state=\"matMenuTrigger\" [disabled]=\"disabled\"\r\n\r\n[matMenuTriggerFor]=\"listMenu\" (menuOpened)=\"onMenuOpen()\" [ariaLabelCode]=\"ariaLabel\">\r\n    <ng-content *ngIf=\"showContent\"></ng-content>\r\n    <ng-container *ngIf=\"!showContent && selected\">\r\n        <span>{{(titleKey? selected[titleKey]:selected) | capitalize}}</span>\r\n    </ng-container>\r\n</lib-open-close-button>\r\n<mat-menu #listMenu=\"matMenu\" fxLayout=\"column\">\r\n    <ng-container *ngFor=\"let element of list\">\r\n        <button fxLayoutAlign=\"start center\" mat-menu-item [attr.aria-label]=\"(titleKey? element[titleKey]:element)\"\r\n            *ngIf=\"element\" class=\"tld-list-title\" (click)=\"select(element)\" [disabled]=\"disabled\">\r\n            {{(titleKey? element[titleKey]:element) | capitalize}}\r\n        </button>\r\n    </ng-container>\r\n</mat-menu>","import { Component, Input, OnDestroy, inject } from '@angular/core';\r\nimport { TextToSpeechSettings } from './models/text-to-speech-settings.model';\r\nimport { TextToSpeechService } from '@tilde-nlp/ngx-services';\r\n\r\n@Component({\r\n    selector: 'tld-text-to-speech',\r\n    templateUrl: './text-to-speech.component.html',\r\n    styleUrls: ['./text-to-speech.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TextToSpeechComponent implements OnDestroy {\r\n  readonly #ttsService = inject(TextToSpeechService);\r\n  get isPaused() {\r\n    return this.audio?.paused;\r\n  }\r\n  private audio: HTMLAudioElement;\r\n\r\n  private _settings: TextToSpeechSettings;\r\n  get settings() { return this._settings; }\r\n  @Input() set settings(value) {\r\n    this._settings = value;\r\n    this.disposeAudio();\r\n    this.audio = new Audio();\r\n  }\r\n\r\n  isLoading!: boolean;\r\n\r\n  constructor() { }\r\n\r\n  clicked() {\r\n    if (this.isPaused) {\r\n      this.play();\r\n    }\r\n    else {\r\n      this.pause();\r\n    }\r\n  }\r\n\r\n  private pause() {\r\n    this.audio.pause();\r\n  }\r\n\r\n  private play() {\r\n    if (!this.audio.src) {\r\n      this.isLoading = true;\r\n      const trimmedText = (this.settings?.maxCharsInText && this.settings.maxCharsInText < this.settings.text.length) ? this.settings.text.slice(0, this.settings.maxCharsInText) : this.settings.text;\r\n      this.#ttsService.generateSpeech({ text: trimmedText, system: this.settings.systemId }).subscribe((blob) => {\r\n        this.isLoading = false;\r\n        this.audio = new Audio();\r\n        const url = URL.createObjectURL(blob);\r\n        this.audio.src = url;\r\n        this.audio.load();\r\n        this.audio.play();\r\n      });\r\n    }\r\n    else {\r\n      this.audio.play();\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.disposeAudio();\r\n  }\r\n\r\n  private disposeAudio() {\r\n    if (this.audio) {\r\n      this.audio.src = null;\r\n      this.audio = null;\r\n    }\r\n  }\r\n\r\n}\r\n","@if (isLoading) {\r\n  <mat-spinner [diameter]=\"20\"></mat-spinner>\r\n} @else {\r\n  <button \r\n    mat-icon-button \r\n    [matTooltip]=\"(isPaused? 'TEXT_TO_SPEECH.PLAY':'TEXT_TO_SPEECH.PAUSE') | translate\"\r\n    (click)=\"clicked()\"\r\n  >\r\n    @if (isPaused) {\r\n      <mat-icon [svgIcon]=\"'sound'\"></mat-icon>\r\n    } @else {\r\n      <span class=\"material-icons\">pause</span>\r\n    }\r\n  </button>\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { CloseButtonComponent } from '@tilde-nlp/ngx-common';\r\nimport { TextToSpeechSettings } from '../../../../components/shared/text-to-speech/models/text-to-speech-settings.model';\r\n\r\n@Component({\r\n    selector: 'tld-source-and-target-wrapper',\r\n    templateUrl: './source-and-target-wrapper.component.html',\r\n    styleUrls: ['./source-and-target-wrapper.component.scss'],\r\n    standalone: false\r\n})\r\nexport class SourceAndTargetWrapperComponent implements OnInit {\r\n\r\n  @ViewChild(\"clearButton\") clearButton: CloseButtonComponent;\r\n\r\n  @Input() clearSourceVisible: boolean;\r\n  @Input() clearSourceTooltip: string;\r\n  @Input() clearDisabled: boolean;\r\n  @Input() textToSpeechSourceSettings: TextToSpeechSettings;\r\n\r\n  @Output() onSourceClear = new EventEmitter<any>();\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  clearSource(){\r\n    this.onSourceClear.emit();\r\n  }\r\n\r\n  focusClearButton(){\r\n    this.clearButton?.clearButton.focus();\r\n  }\r\n}\r\n","<div fxLayout=\"row\" class=\"source-target-wrapper\" fxLayout.lt-md=\"column\">\r\n  <div class=\"source-wrapper\" [ngClass.gt-sm]=\"'tld-default-border-right'\" [ngClass.lt-md]=\"'tld-default-border-bottom'\"\r\n    fxFlex fxLayout=\"column\">\r\n    <div fxLayout=\"column\" class=\"source-wrapper-action-buttons\">\r\n      <tld-close-button [tooltip]=\"clearSourceTooltip\" #clearButton (tldClick)=\"clearSource()\"\r\n      *ngIf=\"clearSourceVisible\" [disabled]=\"clearDisabled\"></tld-close-button>\r\n      <ng-content select=\"[dictation]\"></ng-content>\r\n      <ng-content select=\"[compactUpload]\"></ng-content>\r\n      <tld-text-to-speech *ngIf=\"textToSpeechSourceSettings\" [settings]=\"textToSpeechSourceSettings\">\r\n      </tld-text-to-speech>\r\n    </div>\r\n    <div class=\"source-container\" fxFlex>\r\n      <ng-content select=\"[sourceMain]\"></ng-content>\r\n    </div>\r\n    <div class=\"source-action-wrapper\">\r\n      <ng-content select=\"[sourceActions]\"></ng-content>\r\n    </div>\r\n  </div>\r\n  <div class=\"target-wrapper\" fxLayout=\"column\" fxFlex=\"50\">\r\n    <div class=\"target-container\" fxFlex cdkScrollable>\r\n      <ng-content select=\"[targetMain]\"></ng-content>\r\n    </div>\r\n    <div class=\"target-action-wrapper\">\r\n      <ng-content select=\"[targetActions]\"></ng-content>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TextToSpeechComponent } from './text-to-speech.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    TextToSpeechComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    MatButtonModule,\r\n    TranslateModule,\r\n    MatTooltipModule,\r\n    MatIconModule,\r\n    MatProgressSpinnerModule\r\n  ],\r\n  exports: [\r\n    TextToSpeechComponent\r\n  ]\r\n})\r\nexport class TextToSpeechModule { }\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CloseButtonModule, SortTranslationsModule, OpenCloseButtonModule, LanguageTranslateModule } from '@tilde-nlp/ngx-common';\r\nimport { TextToSpeechModule } from '../../components/shared/text-to-speech/text-to-speech.module';\r\nimport { SourceAndTargetWrapperComponent } from './components/source-and-target-wrapper/source-and-target-wrapper.component';\r\nimport { TldLangListComponent } from './components/tld-lang-list/tld-lang-list.component';\r\nimport { TldListMenuComponent } from './components/tld-list-menu/tld-list-menu.component';\r\nimport { TldLoaderComponent } from './components/tld-loader/tld-loader.component';\r\nimport { TldMessageComponent } from './components/tld-message/tld-message.component';\r\nimport { TldTranslateButtonComponent } from './components/translate-button/translate-button.component';\r\nimport { TranslateDomainPipe } from './pipes/translate-domain.pipe';\r\nimport { CapitalizePipe } from './pipes/capitalize.pipe';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    TldLangListComponent,\r\n    TldLoaderComponent,\r\n    TldMessageComponent,\r\n    TldTranslateButtonComponent,\r\n    TranslateDomainPipe,\r\n    TldListMenuComponent,\r\n    SourceAndTargetWrapperComponent,\r\n    CapitalizePipe\r\n  ],\r\n  imports: [\r\n    FormsModule,\r\n    CommonModule,\r\n    TranslateModule,\r\n    CloseButtonModule,\r\n    SortTranslationsModule,\r\n    TextToSpeechModule,\r\n    OpenCloseButtonModule,\r\n    MatButtonModule,\r\n    MatIconModule,\r\n    FlexLayoutModule,\r\n    MatMenuModule,\r\n    LanguageTranslateModule,\r\n    MatMenuModule\r\n  ],\r\n  exports: [\r\n    TldLangListComponent,\r\n    TldLoaderComponent,\r\n    TldMessageComponent,\r\n    TldTranslateButtonComponent,\r\n    TranslateDomainPipe,\r\n    TldListMenuComponent,\r\n    SourceAndTargetWrapperComponent,\r\n    CapitalizePipe\r\n  ]\r\n})\r\nexport class TldCommonModule { }\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { InlineMessage, InlineMessageIconPosition, InlineMessageType } from '@tilde-nlp/ngx-common';\r\nimport { Subscription } from 'rxjs';\r\nimport { TldTranslateSystemManagementService } from '../../../modules/tld-common/services';\r\n\r\n@Component({\r\n    selector: 'vendor-disclaimer',\r\n    templateUrl: './vendor-disclaimer.component.html',\r\n    styleUrls: ['./vendor-disclaimer.component.scss'],\r\n    standalone: false\r\n})\r\nexport class VendorDisclaimerComponent implements OnInit, OnDestroy {\r\n\r\n  readonly vendorMessage: InlineMessage = {\r\n    description: \"VENDOR_MESSAGE.TEXT\",\r\n    title: null,\r\n    localizationParams: null,\r\n    type: InlineMessageType.INFO,\r\n    iconPosition: InlineMessageIconPosition.END,\r\n    iconTooltip: \"VENDOR_MESSAGE.ICON_TOOLTIP\"\r\n  };\r\n\r\n  private subscription: Subscription;\r\n\r\n  constructor(private readonly systemService: TldTranslateSystemManagementService,\r\n    private readonly translateService: TranslateService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.subscribeToVendorLocalization();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subscription.unsubscribe();\r\n  }\r\n\r\n  private subscribeToVendorLocalization() {\r\n    this.subscription = this.translateService.stream(\"VENDORS\").subscribe((data) => {\r\n      const vendor = data[this.systemService.activeVendor.toUpperCase()] ?? this.systemService.activeVendor;\r\n      this.vendorMessage.localizationParams = { vendor }\r\n    })\r\n  }\r\n\r\n\r\n\r\n}\r\n","<lib-inline-message class=\"vendor-notification\" [message]=\"vendorMessage\"></lib-inline-message>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { VendorDisclaimerComponent } from './vendor-disclaimer.component';\r\nimport { InlineMessageModule } from '@tilde-nlp/ngx-common';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    VendorDisclaimerComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    InlineMessageModule\r\n  ],\r\n  exports: [\r\n    VendorDisclaimerComponent\r\n  ]\r\n})\r\nexport class VendorDisclaimerModule { }\r\n","// same as backend.\r\nexport enum TranslationStatuss {\r\n  INITIALIZING = \"INITIALIZING\",\r\n  EXTRACTING = \"EXTRACTING\",\r\n  WAITING = \"WAITING\",\r\n  TRANSLATING = \"TRANSLATING\",\r\n  SAVING = \"SAVING\",\r\n  COMPLETED = \"COMPLETED\",\r\n  ERROR = \"ERROR\",\r\n  QUEUING = \"QUEUING\",\r\n  UPLOADING = \"UPLOADING\",\r\n  UPLOADED = \"UPLOADED\"\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'lib-image-conversion-help',\r\n    templateUrl: './image-conversion-help.component.html',\r\n    styleUrls: ['./image-conversion-help.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslateImageConversionHelpComponent {}\r\n","<mat-dialog-content>\r\n  <section>\r\n\r\n    <h1 id=\"image-disclaimer-title\">{{'IMAGE_CONVERSION.TITLE_1' | translate}}</h1>\r\n\r\n    <p>{{'IMAGE_CONVERSION.PARAGRAPH_1_1' | translate}}</p>\r\n    <p [innerHtml]=\"'IMAGE_CONVERSION.PARAGRAPH_1_2' | translate\"></p>\r\n    <p>{{'IMAGE_CONVERSION.PARAGRAPH_1_3' | translate}}</p>\r\n\r\n    <h2>{{'IMAGE_CONVERSION.TITLE_2' | translate}}</h2>\r\n\r\n    <p>{{'IMAGE_CONVERSION.PARAGRAPH_2_1' | translate}}</p>\r\n    <p>{{'IMAGE_CONVERSION.PARAGRAPH_2_2' | translate}}</p>\r\n    <p>{{'IMAGE_CONVERSION.PARAGRAPH_2_3' | translate}}</p>\r\n    <ul>\r\n      <li>{{'IMAGE_CONVERSION.LI_1_1' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_1_2' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_1_3' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_1_4' | translate}}</li>\r\n    </ul>\r\n\r\n    <h2>{{'IMAGE_CONVERSION.TITLE_3' | translate}}</h2>\r\n    <p>{{'IMAGE_CONVERSION.PARAGRAPH_3_1' | translate}}</p>\r\n    <p>{{'IMAGE_CONVERSION.PARAGRAPH_3_2' | translate}}</p>\r\n\r\n    <ul>\r\n      <li>{{'IMAGE_CONVERSION.LI_2_1' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_2_2' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_2_3' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_2_4' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_2_5' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_2_6' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_2_7' | translate}}</li>\r\n      <li>{{'IMAGE_CONVERSION.LI_2_8' | translate}}</li>\r\n    </ul>\r\n\r\n    <p [innerHtml]=\"'IMAGE_CONVERSION.PARAGRAPH_4_1' | translate\"></p>\r\n  </section>\r\n</mat-dialog-content>\r\n<mat-dialog-actions align=\"center\">\r\n  <button mat-button mat-dialog-close color=\"accent\">{{'IMAGE_CONVERSION.CLOSE' | translate }}</button>\r\n</mat-dialog-actions>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'tld-translate-pdf-conversion-help',\r\n    templateUrl: './pdf-conversion-help.component.html',\r\n    styleUrls: ['./pdf-conversion-help.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslatePdfConversionHelpComponent {}\r\n","<mat-dialog-content>\r\n  <section>\r\n\r\n    <h1 id=\"pdf-disclaimer-title\">{{'PDF_CONVERSION.TITLE_1' | translate}}</h1>\r\n\r\n    <p>{{'PDF_CONVERSION.PARAGRAPH_1_1' | translate}}</p>\r\n    <p>{{'PDF_CONVERSION.PARAGRAPH_1_2' | translate}}</p>\r\n    <p>{{'PDF_CONVERSION.PARAGRAPH_1_3' | translate}}</p>\r\n\r\n    <h2>{{'PDF_CONVERSION.TITLE_2' | translate}}</h2>\r\n\r\n    <p>{{'PDF_CONVERSION.PARAGRAPH_2_1' | translate}}</p>\r\n    <p>{{'PDF_CONVERSION.PARAGRAPH_2_2' | translate}}</p>\r\n    <p>{{'PDF_CONVERSION.PARAGRAPH_2_3' | translate}}</p>\r\n    <ul>\r\n      <li>{{'PDF_CONVERSION.LI_1_1' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_1_2' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_1_3' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_1_4' | translate}}</li>\r\n    </ul>\r\n\r\n    <h2>{{'PDF_CONVERSION.TITLE_3' | translate}}</h2>\r\n    <p>{{'PDF_CONVERSION.PARAGRAPH_3_1' | translate}}</p>\r\n    <p>{{'PDF_CONVERSION.PARAGRAPH_3_2' | translate}}</p>\r\n\r\n    <ul>\r\n      <li>{{'PDF_CONVERSION.LI_2_1' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_2_2' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_2_3' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_2_4' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_2_5' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_2_6' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_2_7' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_2_8' | translate}}</li>\r\n      <li>{{'PDF_CONVERSION.LI_2_9' | translate}}</li>\r\n    </ul>\r\n\r\n    <p [innerHtml]=\"'PDF_CONVERSION.PARAGRAPH_4_1' | translate\"></p>\r\n  </section>\r\n</mat-dialog-content>\r\n<mat-dialog-actions align=\"center\">\r\n  <button mat-button mat-dialog-close color=\"accent\">{{'PDF_CONVERSION.CLOSE' | translate }}</button>\r\n</mat-dialog-actions>\r\n","export enum FileConversionTypes {\r\n  PDF = \"PDF\",\r\n  IMAGE = \"IMAGE\"\r\n}\r\n","export enum ErrorCode {\r\n  // custom\r\n  COLLECTION_IMPORT = \"COLLECTION_IMPORT\",\r\n  COLLECTION_CREATE = \"COLLECTION_CREATE\",\r\n  NO_FILE_ADDED = \"NO_FILE_ADDED\",\r\n  CANT_START_FILE_TRANSLATION = \"CANT_START_FILE_TRANSLATION\",\r\n  CANT_START_RECORDING = \"CANT_START_RECORDING\",\r\n  TRANSLATION_FAILED = \"TRANSLATION_FAILED\",\r\n\r\n  // from file sevice checkTranslationProgress\r\n  E_UNKNOWN_FILE_TYPE = \"E_UNKNOWN_FILE_TYPE\",\r\n  E_CANNOT_READ_FILE = \"E_CANNOT_READ_FILE\",\r\n  E_FAILED_IN_TRANSLATION = \"E_FAILED_IN_TRANSLATION\",\r\n  E_FORMAT_TRACK_CHANGES = \"E_FORMAT_TRACK_CHANGES\",\r\n  E_UNKNOWN_ERROR = \"E_UNKNOWN_ERROR\",\r\n  E_UNAUTHORIZED = \"E_UNAUTHORIZED\",\r\n\r\n  // http response codes that should be handeled\r\n  \"E_504\" = \"E_504\",\r\n\r\n  // errors from https://tilde.com/developers/machine-translation-api\r\n  E_11 = \"E_11\",\r\n  E_12 = \"E_12\",\r\n  E_21 = \"E_21\",\r\n  E_22 = \"E_22\",\r\n  E_23 = \"E_23\",\r\n  E_41 = \"E_41\",\r\n\r\n  // exceeded limits\r\n  E_429001 = \"429001\",\r\n  E_413102 = \"413102\"\r\n}\r\n","export enum FileCategory{\r\n    SOURCE = \"Source\",\r\n    TRANSLATED = \"Translated\",\r\n    SOURCECONVERTED = \"SourceConverted\"\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { AuthHeadersHelper, ConversionHelper, TerminologyService } from '@tilde-nlp/ngx-common';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { FileTranslationSubstatus, IDownloadFileParams, IFileMeta, IGetFileStatusParams, IGetFileTranslationStatusResponse, IRemoveFileParams, ISourceFilePreviewResponse, IStartFileTranslationParams, ITranslatedDocumentPreviewParams } from '../../../tld-common/models';\r\nimport { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../../tld-common/services';\r\nimport { ITranslationFile } from '../../models/translate-file.model';\r\nimport { TranslationStatuss } from '../../models/translation-statuss.model';\r\nimport { FileCategory } from './models/file-category.model';\r\nimport { IFileTranslationStatusResponse } from './models/file-translation-status-response.model';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class FileApiService {\r\n\r\n  private get url() {\r\n    return this.config.fileConfig.fileApiUrl;\r\n  }\r\n\r\n  constructor(private readonly http: HttpClient,\r\n    private readonly config: TldTranslateConfigService,\r\n    private readonly terminologyService: TerminologyService,\r\n    private readonly systemManagementService: TldTranslateSystemManagementService\r\n  ) { }\r\n\r\n\r\n  translatedDocumentPreview(properties: ITranslatedDocumentPreviewParams) {\r\n    properties;\r\n    return of({ success: true });\r\n  }\r\n\r\n  download(properties: IDownloadFileParams) {\r\n    const headers = AuthHeadersHelper.getAppIdAuthHeaders(this.config.coreConfig.appId);\r\n    return this.http.get(`${this.url}/${properties.id}/${properties.fileMeta.id}`, { responseType: \"blob\", headers, });\r\n  }\r\n\r\n  startTranslation(properties: IStartFileTranslationParams): Observable<string> {\r\n    const formData: FormData = new FormData();\r\n    formData.append(\"file\", properties.file.file);\r\n    formData.append(\"fileName\", properties.file.originalFileName);\r\n    formData.append(\"srcLang\", properties.system.sourceLanguage);\r\n    formData.append(\"trgLang\", properties.system.targetLanguage);\r\n\r\n    if (this.terminologyService.engines[this.systemManagementService.getActiveSystemObj().id]?.selected) {\r\n      formData.append(\"termCollections\", this.terminologyService.engines[this.systemManagementService.getActiveSystemObj().id].selected.mtCollection?.id);\r\n    }\r\n\r\n    if (properties.system.domain) {\r\n      formData.append(\"domain\", properties.system.domain);\r\n    }\r\n\r\n    const headers = AuthHeadersHelper.getAppIdAuthHeaders(this.config.coreConfig.appId);\r\n\r\n\r\n    return this.http.post<IFileTranslationStatusResponse>(this.url, formData, { headers }).pipe(\r\n      map(response => response.id)\r\n    );\r\n  }\r\n\r\n  remove(properties: IRemoveFileParams): Observable<any> {\r\n    if (properties.file.translationStartedOnServer) {\r\n      const headers = AuthHeadersHelper.getAppIdAuthHeaders(this.config.coreConfig.appId);\r\n      return this.http.delete(`${this.url}/${properties.file.id}`, { headers });\r\n    }\r\n    return of();\r\n  }\r\n\r\n  sourceFilePreview(file: ITranslationFile): Observable<ISourceFilePreviewResponse> {\r\n    const extension = file.originalExtension.toLowerCase();\r\n    const sourcePreview = `<div id=\"docPreviewContent\" class=\"no-preview type-${extension}\"><div class=\"type\">${extension.toUpperCase()}</div></div>`;\r\n    return of({\r\n      isFilePreviewLoaded: true,\r\n      sourcePreviewHasHtml: false,\r\n      tmpName: file.originalFileName,\r\n      name: file.originalFileName,\r\n      sourcePreview: sourcePreview\r\n    })\r\n  }\r\n\r\n  getStatus(properties: IGetFileStatusParams): Observable<IGetFileTranslationStatusResponse> {\r\n    const headers = AuthHeadersHelper.getAppIdAuthHeaders(this.config.coreConfig.appId);\r\n\r\n    return this.http.get<IFileTranslationStatusResponse>(`${this.url}/${properties.file.id}`, { headers }).pipe(\r\n      map((response) => {\r\n        const extensions: IFileMeta[] = [];\r\n        response.files.forEach((file) => {\r\n          let fileName;\r\n          if (file.category === FileCategory.SOURCECONVERTED) {\r\n            fileName = this.convertedSourceFileName(`${properties.file.originalFileName.slice(0, properties.file.originalFileName.lastIndexOf(\".\"))}${file.extension}`);\r\n          }\r\n          else {\r\n            fileName = `${properties.file.originalFileName.slice(0, properties.file.originalFileName.lastIndexOf(\".\"))}${file.extension}`;\r\n          }\r\n          extensions.push({ extension: file.extension, fileName: fileName, id: file.id, category: file.category });\r\n        })\r\n        const srcFile = response.files.find((file) => file.category === FileCategory.SOURCECONVERTED);\r\n\r\n        const returnValue: IGetFileTranslationStatusResponse = {\r\n          name: response.fileName,\r\n          progress: Math.floor(response.translatedSegments / response.segments * 100),\r\n          translationStatuss: response.status.toUpperCase() as TranslationStatuss,\r\n          sourceDownloadAvailable: srcFile !== undefined,\r\n          extensions: extensions,\r\n          sourceFileName: response.fileName\r\n        };\r\n\r\n        if (response.substatus) {\r\n          returnValue.substatus = ConversionHelper.pascalCaseToEnum(response.substatus) as FileTranslationSubstatus;\r\n        }\r\n        return returnValue;\r\n      })\r\n    );\r\n  }\r\n\r\n  private convertedSourceFileName(fileName: string): string {\r\n    const postFix = \"_converted.docx\";\r\n    fileName = fileName.slice(0, fileName.lastIndexOf(\".\"));\r\n    const convertedFileName = fileName + postFix;\r\n    return convertedFileName;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { ActiveData, AlertService, ConversionHelper, FileExtensionHelper, FileExtensions, FileUploadError, InlineMessage, InlineMessageType, System } from '@tilde-nlp/ngx-common';\r\nimport { saveAs } from 'file-saver';\r\nimport { Observable, Subject, of, throwError, timer } from 'rxjs';\r\nimport { catchError, mergeMap, retryWhen } from 'rxjs/operators';\r\nimport { IDownloadFileParams, IFileMeta, IGetFileStatusParams, IGetFileTranslationStatusResponse, IRemoveFileParams, ISourceFilePreviewResponse, IStartFileTranslationParams, ITldError, ITranslatedDocumentPreviewParams } from '../../tld-common/models';\r\nimport { ErrorCode } from '../../tld-common/models/errors/error-codes.enum';\r\nimport { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../tld-common/services';\r\nimport { TranslationStatuss } from '../models';\r\nimport { FileConversionTypes } from '../models/file-conversion-types.model';\r\nimport { ITranslationFile } from '../models/translate-file.model';\r\nimport { FileApiService } from './api/file-api.service';\r\nimport { QuotaService, QuotaType } from '@tilde-nlp/ngx-services';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldTranslateFileService {\r\n\r\n  translationStarted: boolean;\r\n  /** Value to be set to true while loading source preview. At that time, translate button should be disabled. */\r\n  get isUploadingFile(): boolean { return this.filesUploading.length > 0; };\r\n  translationFiles: ITranslationFile[] = [];\r\n  fileNames: string[] = [];\r\n  filesAdded: number;\r\n  anyPdfFileLoaded: boolean;\r\n  anyImageFileLoaded: boolean;\r\n  //for multiple file component\r\n  translatedCount: number = 0;\r\n  multipleFileUploadActive: boolean = false;\r\n\r\n  get disableTranslateButton() {\r\n    return this.translationStarted || this.isUploadingFile;\r\n  }\r\n\r\n  private readonly _onFilesUploaded = new Subject<any>();\r\n  private activeSystem: System;\r\n  // TODO. Configurable?\r\n  private readonly _defaultStatusCheckTimeout = 1000;\r\n  // 0 is network error, should try again\r\n  private readonly _retryErrorCodes = [0];\r\n  private readonly _networkErrorMaxRetries = 2;\r\n  private readonly _statusTimeouts = {};\r\n  private readonly _onClear = new Subject<any>();\r\n  private readonly _supportedImageExtensions = [\"png\", \"jpg\", \"jpeg\", \"bmp\"];\r\n  private filesUploading: string[] = [];\r\n  private notFoundErrorCode = \"E_404\";\r\n  private notFoundRemoveErrorCode = \"E_404_REMOVE\";\r\n\r\n  private readonly errorTranslationSubKeys = [\r\n    'FILE_TRANSLATION_SUBSTATUS',\r\n    'FILE_UPLOAD',\r\n    'FILE_TRANSLATION_LIMITS'\r\n  ];\r\n\r\n  constructor(\r\n    private readonly fileApi: FileApiService,\r\n    private readonly alerts: AlertService,\r\n    private sanitizer: DomSanitizer,\r\n    private config: TldTranslateConfigService,\r\n    private readonly tldSystem: TldTranslateSystemManagementService,\r\n    private readonly quotaService: QuotaService\r\n  ) {\r\n    this._statusTimeouts[TranslationStatuss.EXTRACTING] = 1000;\r\n    this._statusTimeouts[TranslationStatuss.EXTRACTING] = 1000;\r\n    this._statusTimeouts[TranslationStatuss.INITIALIZING] = 1000;\r\n    this._statusTimeouts[TranslationStatuss.QUEUING] = 1000;\r\n    this._statusTimeouts[TranslationStatuss.SAVING] = 1000;\r\n    this._statusTimeouts[TranslationStatuss.TRANSLATING] = 1000;\r\n    this._statusTimeouts[TranslationStatuss.WAITING] = 10000;\r\n  }\r\n\r\n  // clears all loaded data\r\n  clear() {\r\n    const fileArr = this.translationFiles;\r\n    fileArr.forEach((file) => {\r\n      file.translating = false;\r\n      this.remove(file);\r\n    });\r\n\r\n    this.clearParams();\r\n  }\r\n\r\n  onClear(): Observable<any> {\r\n    return this._onClear.asObservable();\r\n  }\r\n\r\n  onFilesUploaded(): Observable<any> {\r\n    return this._onFilesUploaded.asObservable();\r\n  }\r\n\r\n  remove(file: ITranslationFile) {\r\n    // file.translating needs to be set, so no other get status requests are sent to server.\r\n    file.translating = false;\r\n    const ix = this.translationFiles.indexOf(file);\r\n    if (ix < 0) {\r\n      throw \"Can't remove file\";\r\n    }\r\n\r\n    const params: IRemoveFileParams = {\r\n      file: file\r\n    };\r\n\r\n    this.fileApi.remove(params).pipe(\r\n      catchError((error: any) => {\r\n        if (error.status === 404) {\r\n          this.alerts.unhandeledError({ ErrorCode: this.notFoundRemoveErrorCode });\r\n        }\r\n        return of();\r\n      })\r\n    ).subscribe();\r\n\r\n    this.translationFiles.splice(ix, 1);\r\n    this.fileNames.splice(ix, 1);\r\n\r\n    if (this.translationFiles.length == 0) {\r\n      this.clear();\r\n    }\r\n    else {\r\n      this.hasAnyImageOrPdf();\r\n    }\r\n  }\r\n\r\n\r\n\r\n  download(translationFile: ITranslationFile, fileMeta: IFileMeta) {\r\n    if (translationFile.isDownloading) {\r\n      return;\r\n    }\r\n\r\n    translationFile.isDownloading = true;\r\n    const downloadParams: IDownloadFileParams = {\r\n      id: translationFile.id,\r\n      fileMeta: fileMeta\r\n    };\r\n    this.fileApi.download(downloadParams).subscribe((response) => {\r\n      translationFile.isDownloading = false;\r\n      saveAs(response, fileMeta ? fileMeta.fileName : translationFile.originalFileName);\r\n    }, (error) => {\r\n      this.onError(error, translationFile);\r\n    });\r\n  }\r\n\r\n  loadFilePreview(file: File): ITranslationFile {\r\n    const filesAllowed = this.config.fileConfig.numberOfFilesAllowed;\r\n    const fileName = file.name;\r\n\r\n    if (this.translationFiles.length >= filesAllowed) {\r\n      const errorCode = \"ERRORS.\" + (filesAllowed > 1 ? \"MAX_NUMBER_OF_FILES\" : \"INCREASE_MAX_NUMBER_OF_FILES\");\r\n      this.alerts.error(errorCode, null, { link: this.config.coreConfig.registerLink, limit: filesAllowed });\r\n      return null;\r\n    }\r\n\r\n    if (this.fileNames.includes(fileName)) {\r\n      this.alerts.error(\"ERRORS.FILE_ALREADY_ADDED\", null, { fileName: file.name });\r\n      return null;\r\n    }\r\n\r\n    this.filesUploading.push(fileName);\r\n    const translationFile: ITranslationFile = {\r\n      originalFileName: fileName,\r\n      // name: fileName,\r\n      originalExtension: FileExtensionHelper.getFileExtension(fileName),\r\n      translationStatuss: TranslationStatuss.UPLOADING,\r\n      file,\r\n      messages: []\r\n    }\r\n\r\n    this.translationFiles.push(translationFile);\r\n    this.fileNames.push(fileName);\r\n    const isImage = this._supportedImageExtensions.includes(FileExtensionHelper.getFileExtension(translationFile.originalFileName));\r\n    if (isImage) {\r\n      this.anyImageFileLoaded = true;\r\n      translationFile.fileType = FileConversionTypes.IMAGE;\r\n    }\r\n    const isPdf = \"pdf\" === FileExtensionHelper.getFileExtension(translationFile.originalFileName);\r\n    if (isPdf) {\r\n      this.anyPdfFileLoaded = true;\r\n      translationFile.fileType = FileConversionTypes.PDF;\r\n    }\r\n    this.fileApi.sourceFilePreview(translationFile).subscribe((resp) => {\r\n      if (resp.isFilePreviewLoaded) {\r\n        translationFile.translationStatuss = TranslationStatuss.UPLOADED;\r\n        this.fileUploaded(fileName);\r\n        this.filePreviewAlerts(isPdf);\r\n      }\r\n      this.onFilePreviewLoad(resp, translationFile);\r\n    }, (error) => {\r\n      this.remove(translationFile);\r\n      this.alerts.unhandeledError(error);\r\n      throw error;\r\n    });\r\n    return translationFile;\r\n  }\r\n\r\n  translateButtonClick(active: ActiveData) {\r\n    this.translationStarted = true;\r\n    this.translationFiles.forEach((file) => {\r\n      this.startFileTranslation(active, file);\r\n    })\r\n  }\r\n\r\n  startFileTranslation(activeSystem: ActiveData, translationFile: ITranslationFile) {\r\n    if (!this.canStartTranslation(translationFile)) {\r\n      console.error(\"Could not start file translation!\");\r\n      return;\r\n    }\r\n    this.activeSystem = this.tldSystem.getActiveSystemObj();\r\n    translationFile.translationStarted = true;\r\n    translationFile.translating = true;\r\n    // quite weird. Response can be structure with success and error params and it can also be plain string in success.\r\n    const params: IStartFileTranslationParams = {\r\n      file: translationFile,\r\n      system: activeSystem.system\r\n    };\r\n    this.fileApi.startTranslation(params).pipe(\r\n      catchError((error) => {\r\n        this.fileApiError(translationFile, error);\r\n        return of(null);\r\n        // throw error;\r\n      })\r\n    ).subscribe((response: string) => {\r\n      // something gone wrong\r\n      if (!response) {\r\n        return;\r\n      }\r\n\r\n      translationFile.id = response;\r\n      translationFile.translationStartedOnServer = true;\r\n\r\n      this.checkTranslationProgress(translationFile);\r\n    });\r\n  }\r\n\r\n\r\n  fileUploadError(error: FileUploadError) {\r\n    const params = {\r\n      fileName: error.fileName,\r\n      maxSizeMB: ConversionHelper.bytesToMb(this.config.fileConfig.maxSize),\r\n      formats: this.config.fileConfig.allowedFileTypes.join(\", \"),\r\n      registerLink: this.config.coreConfig.registerLink\r\n    }\r\n    this.alerts.error(`ERRORS.FILE_UPLOAD.${error.code}`, null, params);\r\n    console.error(error);\r\n  }\r\n\r\n  // checks all necessary params that are responsible wheter it is allowed to start new translation.\r\n  private canStartTranslation(translationFile: ITranslationFile) {\r\n    return translationFile.tmpName && !translationFile.translating;\r\n  }\r\n\r\n  private checkTranslationProgress(translationFile: ITranslationFile) {\r\n    const finishedStatus = TranslationStatuss.COMPLETED;\r\n    const params: IGetFileStatusParams = {\r\n      file: translationFile,\r\n      srcLang: this.activeSystem.sourceLanguage,\r\n      trgLang: this.activeSystem.targetLanguage\r\n    };\r\n    this.fileApi.getStatus(params)\r\n      .pipe(\r\n        // If network error, check again because file has not failed.\r\n        // this code needs to be tested, because cant repeat it\r\n        retryWhen((observables) => {\r\n          return observables.pipe(\r\n            mergeMap((error, i) => {\r\n              if (i < this._networkErrorMaxRetries && this._retryErrorCodes.includes(error.status)) {\r\n                return timer(this._defaultStatusCheckTimeout)\r\n              }\r\n              return throwError(error);\r\n            })\r\n          )\r\n        })\r\n      )\r\n      .subscribe({\r\n        next: (response: IGetFileTranslationStatusResponse) => {\r\n          if (response.systemId && response.systemId !== this.activeSystem.id) {\r\n            this.tldSystem.changeSystem(response.systemId, false);\r\n            this.activeSystem = this.tldSystem.getActiveSystemObj();\r\n          }\r\n\r\n          translationFile.translationStatuss = response.translationStatuss;\r\n          translationFile.sourceDownloadAvailable = response.sourceDownloadAvailable;\r\n          translationFile.progress = response.progress;\r\n          translationFile.availableExtensions = response.extensions;\r\n          translationFile.sourceFileName = response.sourceFileName;\r\n          if (translationFile.translationStatuss == TranslationStatuss.ERROR) {\r\n            const error: ITldError = {\r\n              ErrorCode:\r\n                response.substatus ?? ErrorCode.E_FAILED_IN_TRANSLATION,\r\n            };\r\n            this.fileApiError(translationFile, error);\r\n            //throw error;\r\n          } else if (translationFile.translationStatuss === finishedStatus) {\r\n            this.translatedCount += 1;\r\n            //translationFile.name = response.name;\r\n            translationFile.downloadAvailable = true;\r\n\r\n            if (!this.multipleFileUploadActive) {\r\n              this.translatedDocPreview(translationFile);\r\n            }\r\n          } else {\r\n            let timeout = this._defaultStatusCheckTimeout;\r\n            if (this.config.fileConfig.fileDownloadTimeouts && this.config.fileConfig.fileDownloadTimeouts[translationFile.translationStatuss]) {\r\n              timeout = this.config.fileConfig.fileDownloadTimeouts[translationFile.translationStatuss];\r\n            } else if (this._statusTimeouts && this._statusTimeouts[translationFile.translationStatuss]) {\r\n              timeout = this._statusTimeouts[translationFile.translationStatuss];\r\n            }\r\n\r\n            setTimeout(() => {\r\n              if (!translationFile.translating) {\r\n                return;\r\n              }\r\n              this.checkTranslationProgress(translationFile);\r\n            }, timeout);\r\n          }\r\n        },\r\n        error: (error) => {\r\n          translationFile.translationStatuss = TranslationStatuss.ERROR;\r\n          this.onTranslationFileError(translationFile, error);\r\n        },\r\n      });\r\n  }\r\n\r\n  private onFilePreviewLoad(data: ISourceFilePreviewResponse, translationFile: ITranslationFile) {\r\n    translationFile.isFilePreviewLoaded = data.isFilePreviewLoaded;\r\n    translationFile.tmpName = data.tmpName;\r\n    translationFile.sourcePreviewHasHtml = data.sourcePreviewHasHtml;\r\n    translationFile.sourcePreview = this.sanitizer.bypassSecurityTrustHtml(data.sourcePreview);\r\n    translationFile.filePreviewProgress = data.percentDone;\r\n\r\n  }\r\n\r\n  private translatedDocPreview(translationFile: ITranslationFile) {\r\n    // show preview for original extension if exists, if not, then preview for docx, if not then try with original filename.\r\n    const fileName = translationFile.availableExtensions.find(ext => ext.extension === FileExtensions.DOCX)?.fileName\r\n      ?? translationFile.originalFileName;\r\n    const params: ITranslatedDocumentPreviewParams = {\r\n      fileName: fileName,\r\n      translationDocId: translationFile.id\r\n    };\r\n    this.fileApi.translatedDocumentPreview(params)\r\n      .subscribe((response: { success: boolean, error?: string, status: string, preview: string }) => {\r\n        translationFile.translating = false;\r\n        if (!response.success) {\r\n          console.error(response.error);\r\n          this.alerts.unhandeledError(response.error);\r\n        }\r\n\r\n        if (response.preview) {\r\n          translationFile.translatedPreview = this.sanitizer.bypassSecurityTrustHtml(response.preview);\r\n        }\r\n        else {\r\n          translationFile.translatedPreview = null;\r\n        }\r\n      })\r\n  }\r\n\r\n  private fileApiError(translationFile: ITranslationFile, error: any) {\r\n    console.error(error);\r\n    translationFile.translating = false;\r\n    translationFile.translationStatuss = TranslationStatuss.ERROR;\r\n    this.onTranslationFileError(translationFile, error);\r\n  }\r\n\r\n  private filePreviewAlerts(isPdf: boolean) {\r\n    const alertParams = {\r\n      appName: this.config.coreConfig.appName,\r\n      pricingUrl: this.config.supscriptionConfig.pricingUrl\r\n    };\r\n    if (this.config.fileConfig.showTranslationLimits) {\r\n      if (isPdf && this.config.fileConfig.ocrPageLimit) {\r\n        this.alerts.warning(\"TLD_TRANSLATE.PDF_PAGE_LIMIT_MSG\", alertParams);\r\n      }\r\n\r\n      if (this.config.textConfig.showWordLimitWarning) {\r\n        this.alerts.warning(\"TLD_TRANSLATE.DOC_WORD_CNT_LIMIT_MSG\", alertParams);\r\n      }\r\n    }\r\n  }\r\n\r\n  private onError(error: any, translationFile: ITranslationFile) {\r\n    if (translationFile) {\r\n      translationFile.isDownloading = false;\r\n    }\r\n\r\n    const errorForMessage = error.status === 404 ? { ErrorCode: this.notFoundErrorCode } : error;\r\n    this.onTranslationFileError(translationFile, errorForMessage);\r\n  }\r\n\r\n  private fileUploaded(fileName: string) {\r\n    const fileIx = this.filesUploading.indexOf(fileName);\r\n    if (fileIx >= 0) {\r\n      this.filesUploading.splice(fileIx, 1);\r\n    }\r\n    if (this.filesUploading.length === 0) {\r\n      this._onFilesUploaded.next(null)\r\n    }\r\n  }\r\n\r\n  private hasAnyImageOrPdf() {\r\n    let anyImage = false;\r\n    let anyPdf = false;\r\n    for (let i = 0; i < this.translationFiles.length && !(anyPdf && anyImage); i++) {\r\n      const file = this.translationFiles[i];\r\n      if (file.fileType === FileConversionTypes.IMAGE) {\r\n        anyImage = true;\r\n      }\r\n      else if (file.fileType === FileConversionTypes.PDF) {\r\n        anyPdf = true;\r\n      }\r\n    }\r\n\r\n    this.anyImageFileLoaded = anyImage;\r\n    this.anyPdfFileLoaded = anyPdf;\r\n  }\r\n\r\n  private clearParams() {\r\n    this.translationStarted = false;\r\n    this.translationFiles = [];\r\n    this.anyPdfFileLoaded = false;\r\n    this.anyImageFileLoaded = false;\r\n    this.fileNames = [];\r\n    this.translatedCount = 0;\r\n    this.filesUploading = [];\r\n    this._onClear.next(null)\r\n  }\r\n\r\n  private onTranslationFileError(translationFile: ITranslationFile, error: any) {\r\n    if (error.error?.error?.code == ErrorCode.E_429001) {\r\n      this.quotaService.getQuotaUsage().subscribe((res) => {\r\n        const msg = this.alerts.findErrorTitleAndLocalizationKey({ ...error, ErrorCode: `E_${error.error.error.code}` }, this.errorTranslationSubKeys);\r\n        const fileQuota = res.usage.find((quota) => QuotaType.TRANSLATION_DOCUMENTS === quota.quotaType);\r\n        this.alerts.error(msg.description, msg.title, { quotaFileLimit: fileQuota.quotaLimit, pricingUrl: this.config.supscriptionConfig.pricingUrl });\r\n      })\r\n      return;\r\n    } \r\n\r\n    const message = this.alerts.findErrorTitleAndLocalizationKey(error, this.errorTranslationSubKeys);\r\n    const originalFileName = translationFile.originalFileName;\r\n    const inlineMessage: InlineMessage = {\r\n      title: message.title,\r\n      description: message.description,\r\n      type: InlineMessageType.ERROR,\r\n      localizationParams: { fileName: originalFileName, ...this.alerts.defaultParams }\r\n    };\r\n\r\n    if (!this.multipleFileUploadActive) {\r\n      this.alerts.error(message.description, message.title, { fileName: originalFileName });\r\n      return;\r\n    }\r\n\r\n    const messageString = JSON.stringify(inlineMessage);\r\n    if (!translationFile.messages.some(msg => JSON.stringify(msg) === messageString)) {\r\n      translationFile.messages.push(inlineMessage);\r\n    }\r\n  }\r\n}\r\n","import { ComponentType } from '@angular/cdk/portal';\r\nimport { Component, OnDestroy, ViewChild } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { TldTranslateConfigService } from '../tld-common/services';\r\nimport { TldTranslateImageConversionHelpComponent } from './image-conversion-help/image-conversion-help.component';\r\nimport { TldTranslatePdfConversionHelpComponent } from './pdf-conversion-help/pdf-conversion-help.component';\r\nimport { TldTranslateFileService } from './services/tld-translate-file.service';\r\nimport { FileConversionTypes } from './models/file-conversion-types.model';\r\nimport { TranslationStatuss } from './models/translation-statuss.model';\r\n\r\n@Component({\r\n    template: '',\r\n    standalone: false\r\n})\r\n\r\nexport class TldFileTranslateBaseComponent implements OnDestroy {\r\n\r\n  constructor(protected readonly dialog: MatDialog,\r\n    protected readonly config: TldTranslateConfigService,\r\n    protected readonly fileService: TldTranslateFileService) { }\r\n\r\n  @ViewChild(\"pdfConversionButton\") pdfConversionButton: MatButton;\r\n  @ViewChild(\"imageConversionButton\") imageConversionButton: MatButton;\r\n  readonly pdfConversion = FileConversionTypes.PDF;\r\n  readonly imageConversion = FileConversionTypes.IMAGE;\r\n\r\n  get sourceDownloadPDF() {\r\n    return this.config.fileConfig.allowPDFSourceDownload && this.fileService.anyPdfFileLoaded\r\n  }\r\n\r\n  get sourceDownloadImage() {\r\n    return this.config.fileConfig.allowImageSourceDownload && this.fileService.anyImageFileLoaded\r\n  }\r\n\r\n  readonly translatingStatuss = TranslationStatuss.TRANSLATING;\r\n  readonly errorTranslatingStatuss = TranslationStatuss.ERROR;\r\n  readonly completedTranslatingStatuss = TranslationStatuss.COMPLETED;\r\n  readonly uploadedTranslatingStatuss = TranslationStatuss.UPLOADED;\r\n\r\n  conversionDialog(type: FileConversionTypes) {\r\n    const dialogConfig = new MatDialogConfig();\r\n    dialogConfig.minWidth = '320px';\r\n    dialogConfig.width = '80%';\r\n    dialogConfig.maxWidth = '100%';\r\n    dialogConfig.panelClass = 'responsive-dialog'\r\n    let dialogComponent: ComponentType<unknown>;\r\n    let conversionButton: MatButton;\r\n\r\n    if (type == FileConversionTypes.PDF) {\r\n      // h1 tag from dialog.\r\n      dialogConfig.ariaLabelledBy = 'pdf-disclaimer-title';\r\n      dialogComponent = TldTranslatePdfConversionHelpComponent;\r\n      conversionButton = this.pdfConversionButton;\r\n    }\r\n    else if (type == FileConversionTypes.IMAGE) {\r\n      // h1 tag from dialog.\r\n      dialogConfig.ariaLabelledBy = 'image-disclaimer-title';\r\n      dialogComponent = TldTranslateImageConversionHelpComponent;\r\n      conversionButton = this.imageConversionButton;\r\n    }\r\n\r\n    const dialogRef = this.dialog.open(dialogComponent, dialogConfig);\r\n    dialogRef.afterClosed().subscribe(() => {\r\n      if (conversionButton) {\r\n        conversionButton.focus();\r\n      }\r\n    });\r\n  }\r\n\r\n  clearAll() {\r\n    this.fileService.clear();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.clearAll();\r\n  }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MatMenu } from '@angular/material/menu';\r\nimport { IFileMeta } from '../../tld-common/models';\r\nimport { TldTranslateConfigService } from '../../tld-common/services';\r\nimport { FileConversionTypes } from '../models/file-conversion-types.model';\r\nimport { ITranslationFile } from '../models/translate-file.model';\r\nimport { FileCategory } from '../services/api/models/file-category.model';\r\n\r\n@Component({\r\n    selector: 'tld-translate-file-download-button',\r\n    templateUrl: './download-button.component.html',\r\n    styleUrls: ['./download-button.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslateFileDownloadButtonComponent implements OnInit {\r\n\r\n  isAuth: boolean;\r\n  get showSourceDownloadPdf() {\r\n    return this.sourceDownload &&\r\n      this.file?.sourceFileName &&\r\n      this.config.fileConfig.allowPDFSourceDownload &&\r\n      this.file.fileType == FileConversionTypes.PDF\r\n  }\r\n  get showSourceDownloadImage() {\r\n    return this.sourceDownload &&\r\n      this.file?.sourceFileName &&\r\n      this.config.fileConfig.allowImageSourceDownload &&\r\n      this.file.fileType == FileConversionTypes.IMAGE\r\n  }\r\n  get extensions() { return this.file?.availableExtensions || []; }\r\n\r\n  readonly translatedCategory = FileCategory.TRANSLATED;\r\n\r\n  @ViewChild(MatMenu) menu: MatMenu;\r\n\r\n  @Output() tldClick: EventEmitter<IFileMeta> = new EventEmitter();\r\n  @Input() file: ITranslationFile;\r\n  //@Input() extensions: ITranslationExtensionMeta[];\r\n  @Input() disabled: boolean;\r\n  @Input() sourceDownload: boolean;\r\n\r\n  constructor(\r\n    private readonly config: TldTranslateConfigService) {\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.isAuth = this.config.coreConfig.isAuth;\r\n  }\r\n\r\n  onClick(meta?: IFileMeta) {\r\n    if (!meta && this.extensions) {\r\n      meta = this.extensions.find((file) => file.category === FileCategory.TRANSLATED) ?? this.extensions[0];\r\n    }\r\n    this.tldClick.emit(meta)\r\n  }\r\n\r\n  onSourceClick() {\r\n    const sourceMeta = this.extensions.find(extension => extension.category === FileCategory.SOURCECONVERTED);\r\n    this.onClick(sourceMeta);\r\n  }\r\n\r\n\r\n  onMenuOpen() {\r\n    const panel = document.getElementById(this.menu.panelId);\r\n    panel.setAttribute(\"data-test-id\", 'tld-download-file-list');\r\n  }\r\n}\r\n","<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{{ '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","import { AfterViewInit, Component, Input, OnDestroy, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SourceAndTargetWrapperComponent } from '../tld-common/components';\r\nimport { IFileMeta } from '../tld-common/models';\r\nimport { TldTranslateConfigService } from '../tld-common/services';\r\nimport { ITranslationFile, TranslationStatuss } from '../tld-document/models';\r\nimport { TldTranslateFileService } from '../tld-document/services/tld-translate-file.service';\r\nimport { TldFileTranslateBaseComponent } from '../tld-document/tld-file-translate-base.component';\r\nimport { FileCategory } from '../tld-document/services/api/models/file-category.model';\r\n\r\n@Component({\r\n    selector: 'tld-translate-file',\r\n    templateUrl: './tld-translate-file.component.html',\r\n    styleUrls: ['./tld-translate-file.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslateFileComponent extends TldFileTranslateBaseComponent implements AfterViewInit, OnDestroy {\r\n  errorStatus: string = TranslationStatuss.ERROR;\r\n\r\n  constructor(protected readonly fileService: TldTranslateFileService,\r\n    protected readonly dialog: MatDialog,\r\n    protected readonly config: TldTranslateConfigService) {\r\n    super(dialog, config, fileService);\r\n  }\r\n\r\n  @Input() translationFile: ITranslationFile;\r\n  @ViewChild(SourceAndTargetWrapperComponent) translatorWrapper: SourceAndTargetWrapperComponent;\r\n\r\n  get downloading() { return this.translationFile?.isDownloading; }\r\n  get filePreview() { return this.translationFile?.sourcePreview; }\r\n  get isFilePreviewLoaded() { return this.translationFile?.isFilePreviewLoaded; };\r\n  get progress() { return this.translationFile?.progress; }\r\n  get translatedPreview() { return this.translationFile?.translatedPreview; }\r\n  get translating() { return this.translationFile?.translating; }\r\n  get showPreview() { return this.translationFile?.downloadAvailable; }\r\n  get translationStatuss() { return this.translationFile?.translationStatuss }\r\n  get sourcePreviewHasHtml() { return this.translationFile?.sourcePreviewHasHtml; }\r\n  get loadedFileName() { return this.translationFile?.originalFileName; }\r\n  get showSourceDownload() { return this.translationFile?.sourceDownloadAvailable }\r\n\r\n  readonly clearButtonAriaCode = \"CLEAR_FILES\";\r\n\r\n  ngAfterViewInit() {\r\n    this.translatorWrapper.focusClearButton();\r\n  }\r\n\r\n  cancel() {\r\n    this.fileService.clear();\r\n  }\r\n\r\n  clearPreview() {\r\n    this.fileService.clear();\r\n  }\r\n\r\n  download(fileMeta?: IFileMeta) {\r\n    this.fileService.download(this.translationFile, fileMeta);\r\n  }\r\n\r\n  downloadSource() {\r\n    const fileMeta = this.translationFile.availableExtensions.find(extension => extension.category === FileCategory.SOURCECONVERTED);\r\n    this.fileService.download(this.translationFile, fileMeta);\r\n  }\r\n}\r\n","<!-- 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 class=\"wrapper-paddings\" [clearSourceVisible]=\"true\" (onSourceClear)=\"clearPreview()\">\r\n  <ng-container sourceMain>\r\n    <div fxLayout=\"column\" fxLayoutAlign=\"start start\" *ngIf=\"sourcePreviewHasHtml; else noPreviewBlock\">\r\n      <div [innerHtml]=\"filePreview\" class=\"file-preview\"></div>\r\n    </div>\r\n  </ng-container>\r\n\r\n  <ng-container targetMain>\r\n    <div class=\"target-main\" fxLayout=\"column\">\r\n      <div *ngIf=\"showPreview\" [innerHtml]=\"translatedPreview\">\r\n      </div>\r\n      <div fxLayout=\"column\" fxFlex *ngIf=\"translating\">\r\n        <div fxLayoutAlign=\"end center\">\r\n          <button mat-flat-button color=\"accent\" (click)=\"cancel()\"\r\n            class=\"action-button cancel-button\">{{'TLD_TRANSLATE.CANCEL_TRANSLATION' | translate}}</button>\r\n        </div>\r\n        <div fxFlex fxLayoutAlign=\"center center\" fxLayout=\"column\" role=\"progressbar\">\r\n          <tld-loader *ngIf=\"translationStatuss !== errorStatus\"></tld-loader>\r\n          <div *ngIf=\"translationStatuss===translatingStatuss\" aria-live=\"polite\">{{progress}}%</div>\r\n          <div *ngIf=\"!translationStatuss\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_QUEUING' | translate}}</div>\r\n          <div *ngIf=\"translationStatuss\" aria-live=\"polite\">{{'TLD_TRANSLATE.FILE_TANSLATION_STATUSS_' + translationStatuss | translate}}</div>\r\n        </div>\r\n      </div>\r\n      <tld-translate-file-download-button class=\"download-button\" (tldClick)=\"download($event)\" [file]=\"translationFile\"\r\n        *ngIf=\"showPreview\" [disabled]=\"downloading\"></tld-translate-file-download-button>\r\n      <tld-translate-button class=\"action-button translate-file-button\" *ngIf=\"!translating && !showPreview\"\r\n        fxHide.gt-xs></tld-translate-button>\r\n    </div>\r\n  </ng-container>\r\n\r\n  <ng-container targetActions>\r\n    <div class=\"tld-translate-target-footer\" *ngIf=\"translatedPreview\" fxLayoutAlign=\"start center\">\r\n      <p class=\"tld-target-preview-message\">{{'TLD_TRANSLATE.FILE_TARGET_PREVIEW_MESSAGE' | translate}}</p>\r\n    </div>\r\n  </ng-container>\r\n</tld-source-and-target-wrapper>\r\n\r\n<ng-template #noPreviewBlock>\r\n  <div class=\"no-preview-wrapper\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n    <div [innerHtml]=\"filePreview\"></div>\r\n    <div>{{loadedFileName}}</div>\r\n    <ng-container *ngIf=\"showSourceDownload\">\r\n      <ng-container *ngIf=\"sourceDownloadPDF\">\r\n        <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n          {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE'|translate}}\r\n        </button>\r\n        <br />\r\n        <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n          {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_HELP'|translate}}\r\n        </div>\r\n        <button mat-button color=\"accent\" #pdfConversionButton data-test-id=\"pdf-help-button\"\r\n          (click)=\"conversionDialog(pdfConversion)\">{{'TLD_TRANSLATE.PDF_DISCLAIMER_LINK' | translate}}</button>\r\n      </ng-container>\r\n      <ng-container *ngIf=\"sourceDownloadImage\">\r\n        <button mat-flat-button class=\"download-source-button\" (click)=\"downloadSource()\">\r\n          {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE'|translate}}\r\n        </button>\r\n        <br />\r\n        <div class=\"source-download-help\" fxLayout=\"row\" fxLaouytAlign=\"start start\">\r\n          {{'TLD_TRANSLATE.FILE_DOWNLOAD_SOURCE_IMAGE_HELP'|translate}}\r\n        </div>\r\n        <button mat-button color=\"accent\" #imageConversionButton data-test-id=\"image-help-button\"\r\n          (click)=\"conversionDialog(imageConversion)\">{{'TLD_TRANSLATE.IMAGE_DISCLAIMER_LINK' | translate}}</button>\r\n      </ng-container>\r\n\r\n    </ng-container>\r\n  </div>\r\n</ng-template>","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AlertService, FileUploadError, NotificationMessageType } from '@tilde-nlp/ngx-common';\r\nimport { take } from 'rxjs/operators';\r\nimport { TldTranslateButtonService } from '../../tld-common/components/translate-button/tld-translate-button.service';\r\nimport { IFileMeta } from '../../tld-common/models';\r\nimport { TldTranslateSystemManagementService, TldTranslateConfigService } from '../../tld-common/services';\r\nimport { ITranslationFile } from '../models/translate-file.model';\r\nimport { TldTranslateFileService } from '../services/tld-translate-file.service';\r\nimport { TldFileTranslateBaseComponent } from '../tld-file-translate-base.component';\r\nimport { AUTO_LANGUAGE_DETECTION_KEY } from '../../tld-common/models/auto-language-detection-key.const';\r\nimport { FileCategory } from '../services/api/models/file-category.model';\r\n\r\n@Component({\r\n    selector: 'tld-translate-file-multiple',\r\n    templateUrl: './tld-translate-file-multiple.component.html',\r\n    styleUrls: ['./tld-translate-file-multiple.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslateFileMultipleComponent extends TldFileTranslateBaseComponent implements OnInit {\r\n\r\n  constructor(\r\n    protected readonly fileService: TldTranslateFileService,\r\n    protected readonly config: TldTranslateConfigService,\r\n    protected readonly dialog: MatDialog,\r\n    protected readonly translateButtonService: TldTranslateButtonService,\r\n    private readonly systemManagementService: TldTranslateSystemManagementService,\r\n    private readonly alertService: AlertService\r\n  ) {\r\n    super(dialog, config, fileService);\r\n  }\r\n  @Input() translationFiles: ITranslationFile[];\r\n\r\n  allowedFileTypes: string[];\r\n  allowedFileTypesAuthUser: string[];\r\n  maxFileUploadSize: number;\r\n  multipleFiles: boolean;\r\n  extendedFileTypes: string[];\r\n  showVendorNotification: boolean;\r\n\r\n  private isSelectLanguageWarningAdded = false;\r\n\r\n  get isAutoSourceLangEnabled() {\r\n    const isSourceLangAuto = this.systemManagementService.getActiveSystemObj().sourceLanguage === AUTO_LANGUAGE_DETECTION_KEY;\r\n\r\n    if (isSourceLangAuto) {\r\n      if (this.isSelectLanguageWarningAdded) {\r\n        return true;\r\n      }\r\n\r\n      this.isSelectLanguageWarningAdded = true;\r\n      this.alertService.warning('FILE_UPLOAD.SELECT_LANGUAGE_WARNING', null, true);\r\n    } else {\r\n      this.isSelectLanguageWarningAdded = false;\r\n      this.alertService.deleteMessage(NotificationMessageType.WARNING, 'FILE_UPLOAD.SELECT_LANGUAGE_WARNING', null, true)\r\n    }\r\n\r\n    return isSourceLangAuto;\r\n  }\r\n\r\n  get translationStarted() {\r\n    return this.fileService.translationStarted;\r\n  }\r\n\r\n  get disableAppendFiles() {\r\n    return this.fileService?.translationStarted || this.fileService.translationFiles?.length >= this.config.fileConfig.numberOfFilesAllowed;\r\n  }\r\n\r\n  get isAuth() {\r\n    return this.config?.coreConfig?.isAuth;\r\n  }\r\n\r\n  get translatedFilesCount() {\r\n    return this.fileService?.translatedCount || 0;\r\n  }\r\n\r\n  get maxFileCount() {\r\n    return this.config.fileConfig.numberOfFilesAllowed;\r\n  }\r\n\r\n  get fileCount() {\r\n    return this.translationFiles?.length || 0;\r\n  }\r\n\r\n  get disableTranslateButton() {\r\n    return this.fileService.disableTranslateButton || this.isAutoSourceLangEnabled;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.allowedFileTypes = this.config.fileConfig.allowedFileTypes;\r\n    this.extendedFileTypes = this.config.fileConfig.extendedFileTypes;\r\n    this.maxFileUploadSize = this.config.fileConfig.maxSize;\r\n    this.multipleFiles = this.config.fileConfig.numberOfFilesAllowed > 1;\r\n\r\n    this.fileService.onFilesUploaded().pipe(take(1)).subscribe(() => { this.translateButtonService.pulseButton(); })\r\n\r\n  }\r\n\r\n  download(file: ITranslationFile, fileMeta?: IFileMeta) {\r\n    if (!fileMeta) {\r\n      fileMeta = file.availableExtensions?.find((file) => file.category === FileCategory.TRANSLATED) ?? file.availableExtensions?.[0];\r\n    }\r\n    this.fileService.download(file, fileMeta);\r\n  }\r\n\r\n  fileChange(files: File[]) {\r\n    for (var i = 0; i < files.length; i++) {\r\n      this.fileService.loadFilePreview(files[i]);\r\n    }\r\n  }\r\n\r\n\r\n  remove(file: ITranslationFile) {\r\n    if (this.translationFiles.length === 1) {\r\n      this.clearAll();\r\n    }\r\n    else {\r\n      this.fileService.remove(file);\r\n    }\r\n  }\r\n\r\n  fileUploadError(error: any) {\r\n    this.fileService.fileUploadError(error as FileUploadError);\r\n  }\r\n\r\n  // no need to handle translation, since it is happening in translate button component, but this method is for custom action\r\n  translateButtonClick() {\r\n    const vendor = this.systemManagementService.activeVendor;\r\n    this.showVendorNotification = this.config.fileConfig.progressIndicatorTitleVisibleForVendors.includes(vendor);\r\n  }\r\n}\r\n","<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 && maxFileCount !== 1\"\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>&nbsp;</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","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FileUploadModule } from '@tilde-nlp/ngx-common';\r\nimport { CloseButtonModule, InlineMessageModule } from '@tilde-nlp/ngx-common';\r\nimport { VendorDisclaimerModule } from '../../components/shared/vendor-disclaimer/vendor-disclaimer.module';\r\nimport { TldCommonModule } from '../tld-common/tld-common.module';\r\nimport { TldTranslateFileComponent } from '../tld-translate-file/tld-translate-file.component';\r\nimport { TldTranslateFileDownloadButtonComponent } from './download-button/download-button.component';\r\nimport { TldTranslateImageConversionHelpComponent } from './image-conversion-help/image-conversion-help.component';\r\nimport { TldTranslatePdfConversionHelpComponent } from './pdf-conversion-help/pdf-conversion-help.component';\r\nimport { TldFileTranslateBaseComponent } from './tld-file-translate-base.component';\r\nimport { TldTranslateFileMultipleComponent } from './tld-translate-file-multiple/tld-translate-file-multiple.component';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    TldTranslateFileComponent,\r\n    TldTranslateFileMultipleComponent,\r\n    TldTranslateFileDownloadButtonComponent,\r\n    TldTranslatePdfConversionHelpComponent,\r\n    TldTranslateImageConversionHelpComponent,\r\n    TldFileTranslateBaseComponent\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    TldCommonModule,\r\n    TranslateModule,\r\n    FlexLayoutModule,\r\n    CloseButtonModule,\r\n    InlineMessageModule,\r\n    VendorDisclaimerModule,\r\n    FileUploadModule,\r\n    MatProgressBarModule,\r\n    MatButtonModule,\r\n    MatDialogModule,\r\n    MatMenuModule,\r\n    MatIconModule,\r\n    MatTooltipModule\r\n  ],\r\n  exports: [\r\n    TldTranslateFileComponent,\r\n    TldTranslateFileMultipleComponent,\r\n    TldTranslateFileDownloadButtonComponent\r\n  ]\r\n})\r\nexport class TldDocumentModule { }\r\n","export enum AudioErrorCase {\r\n    USER_CONSENT_FAILED = \"USER_CONSENT_FAILED\",\r\n    RECORDER_TIMEOUT = \"RECORDER_TIMEOUT\",\r\n    ALREADY_RECORDING = \"ALREADY_RECORDING\",\r\n    MIC_NOT_ALLOWED = \"MIC_NOT_ALLOWED\",\r\n    CANT_START_RECORDING = \"CANT_START_RECORDING\",\r\n    MAX_SIZE_EXCEEDED = \"MAX_SIZE_EXCEEDED\",\r\n    NO_TEXT_RECOGNIZED = \"NO_TEXT_RECOGNIZED\",\r\n    MAX_TIME_EXCEEDED = \"MAX_TIME_EXCEEDED\",\r\n    NO_SPEECH = \"NO_SPEECH\"\r\n}","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AsrClient, AsrClientConfiguration, RecognitionStatus, SAMPLE_RATE_PLACEHOLDER, SpeechRecognitionResult } from '@tilde-nlp/asr-api-client';\r\nimport { AudioErrorCase } from '../models/audio-error-case.model';\r\nimport { IDictateConfiguration } from '../models/dictate-configurationi.model';\r\n\r\n@Component({\r\n    selector: 'tld-dictate',\r\n    templateUrl: './tld-dictate.component.html',\r\n    styleUrls: ['./tld-dictate.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldDictateComponent implements OnInit {\r\n  recordLength: Date = new Date(0, 0, 0, 0, 0, 0);\r\n  isProcessing: boolean;\r\n  hasAnyMicrophone: boolean;\r\n  // asrApiClient: ASRApiClient;\r\n  asrClient: AsrClient;\r\n  private readonly notAllowedErrorName = \"NotAllowedError\";\r\n\r\n  get maxLength() { return this.configuration?.maxLength };\r\n\r\n  private _isRecording: boolean;\r\n  get isRecording() { return this._isRecording; }\r\n  set isRecording(value: boolean) {\r\n    const shouldClearSource = !this.isRecording && value;\r\n    // if record ended, dictate text emitted one last time, so it translates automatically.\r\n    this._isRecording = value;\r\n    this.isDictating.emit(this._isRecording);\r\n    if (shouldClearSource) {\r\n      this.dictatedText = \"\";\r\n    }\r\n  }\r\n\r\n  private _dictatedText: string;\r\n  set dictatedText(value: string) {\r\n    this._dictatedText = value;\r\n    this.result.emit(this._dictatedText);\r\n  }\r\n  get dictatedText() { return this._dictatedText; }\r\n\r\n  /**\r\n   * Last recognized text\r\n   */\r\n  @Output() result: EventEmitter<string> = new EventEmitter<string>();\r\n  @Output() partialResult: EventEmitter<string> = new EventEmitter<string>();\r\n  @Output() isDictating: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n  @Output() onError: EventEmitter<AudioErrorCase> = new EventEmitter<AudioErrorCase>();\r\n  @Input() configuration: IDictateConfiguration;\r\n\r\n  private _systemId: string;\r\n  @Input() set systemId(value: string) {\r\n    this._systemId = value;\r\n    this.stopRecording();\r\n  }\r\n\r\n  constructor() {\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.hasAnyAudioInput();\r\n  }\r\n\r\n  startRecording() {\r\n    this.createClient();\r\n    this.asrClient.beginVoiceRecognition();\r\n  }\r\n\r\n  stopRecording() {\r\n    this.asrClient?.endVoiceRecognition();\r\n    this.asrClient = null;\r\n  }\r\n\r\n  private hasAnyAudioInput() {\r\n    navigator.mediaDevices.enumerateDevices().then((devices: MediaDeviceInfo[]) => {\r\n      this.hasAnyMicrophone = false;\r\n      for (const device of devices) {\r\n        if (device.kind === \"audioinput\") {\r\n          this.hasAnyMicrophone = true;\r\n          return;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  private handleResult(result: SpeechRecognitionResult) {\r\n    // not necessary to display <unk> tags\r\n    const resultText = result.hypotheses[0].transcript?.replace(\"<unk>\", \"\");\r\n    if (result.final) {\r\n      let text = (this.dictatedText.length > 0 ? \" \" : \"\") + resultText;\r\n      this.dictatedText += text;\r\n    }\r\n    else {\r\n      this.partialResult.emit(resultText);\r\n    }\r\n  }\r\n\r\n  private emitError(error: AudioErrorCase) {\r\n    this.onError.emit(error);\r\n  }\r\n\r\n  private createClient() {\r\n    const config: AsrClientConfiguration = {\r\n      url: `${this.configuration.apiUrl}/${this._systemId}?contentType=audio/x-raw&sampleRate=${SAMPLE_RATE_PLACEHOLDER}&x-api-key=${this.configuration.apiKey}`,\r\n      replaceSampleRateInUrl: true,\r\n      onResult: (result) => { this.handleResult(result as SpeechRecognitionResult) },\r\n      onRecordingStartStop: (isRecording) => {\r\n        this.isRecording = isRecording;\r\n      },\r\n      onError: (error) => {\r\n        this.hasAnyMicrophone = false;\r\n        this.stopRecording();\r\n        if (error.name === this.notAllowedErrorName) {\r\n          this.emitError(AudioErrorCase.MIC_NOT_ALLOWED);\r\n          return;\r\n        }\r\n        throw error;\r\n      },\r\n      onMessage: (message) => {\r\n        if (message === RecognitionStatus.NoSpeech) {\r\n          this.emitError(AudioErrorCase.NO_SPEECH);\r\n        }\r\n      }\r\n    }\r\n    this.asrClient = new AsrClient(config);\r\n  }\r\n}\r\n","<ng-container *ngIf=\"!isRecording\">\r\n\t<button\r\n\t\t[matTooltip]=\"'AUDIO.START' | translate\"\r\n\t\t[disabled]=\"!hasAnyMicrophone\"\r\n\t\tmat-icon-button\r\n\t\tfxLayoutAlign=\"center center\"\r\n\t\t(click)=\"startRecording()\"\r\n\t\t[attr.aria-label]=\"(hasAnyMicrophone ? 'AUDIO.START' : 'AUDIO.MIC_NOT_FOUND') | translate\"\r\n\t>\r\n\t\t<span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" [matTooltip]=\"'AUDIO.START' | translate\"> mic </span>\r\n\t\t<span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\" *ngIf=\"!hasAnyMicrophone\"> mic_off </span>\r\n\t</button>\r\n</ng-container>\r\n<ng-container *ngIf=\"isRecording\">\r\n\t<div fxLayout=\"row\" fxLayoutAlign=\"start end\">\r\n\t\t<div fxLayout=\"column\">\r\n\t\t\t<button\r\n\t\t\t\tmat-icon-button\r\n\t\t\t\tfxLayoutAlign=\"center center\"\r\n\t\t\t\t[disabled]=\"!isRecording\"\r\n\t\t\t\t(click)=\"stopRecording()\"\r\n\t\t\t\t[matTooltip]=\"'AUDIO.STOP' | translate\"\r\n\t\t\t\t[attr.aria-label]=\"'AUDIO.STOP' | translate\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"material-icons\"> stop </span>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>\r\n","import { EventEmitter, Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { AudioErrorCase } from '../models/audio-error-case.model';\r\n\r\ndeclare var MediaRecorder: any;\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class AudioRecordService {\r\n  private blobType: string;\r\n  private readonly defaultBlobType = \"audio/wav\";\r\n  private chunks: Array<any> = [];\r\n  protected recorderEnded = new EventEmitter();\r\n  private recorder: any;\r\n  //NodeJs.Timeout?\r\n  private timerRef: any;\r\n\r\n  private recordTimeSeconds: number;\r\n\r\n  private _recordTimeDate: Date;\r\n  get recordTimeDate() { return this._recordTimeDate; }\r\n\r\n  private _onRecordingStatusChange: Subject<boolean> = new Subject();\r\n  get onRecordingStatusChange() { return this._onRecordingStatusChange.asObservable(); }\r\n\r\n  private _onRecordStart: Subject<any> = new Subject();\r\n  get onRecordStart() { return this._onRecordStart.asObservable(); }\r\n\r\n  private _onError: Subject<any> = new Subject();\r\n  get onError() { return this._onError.asObservable(); }\r\n\r\n  get isRecording() { return this._isRecording; }\r\n  private _isRecording: boolean;\r\n\r\n  private static guc() {\r\n    return navigator.mediaDevices.getUserMedia({ audio: true });\r\n  }\r\n\r\n  private maxFileSizeBytes: number;\r\n  private currentFileSizeBytes: number;\r\n\r\n  getUserContent() {\r\n    return AudioRecordService.guc();\r\n  }\r\n\r\n  startRecording(dataUpdateTimeFrame: number, maxFileSizeInBytes: number, type?: string) {\r\n    this.currentFileSizeBytes = 0;\r\n    this.maxFileSizeBytes = maxFileSizeInBytes;\r\n    this._recordTimeDate = new Date(0, 0, 0, 0, 0, 0);\r\n    this.blobType = type;\r\n    if (this._isRecording) {\r\n      this.throwError(AudioErrorCase.ALREADY_RECORDING);\r\n    }\r\n\r\n    AudioRecordService.guc().then((mediaStream) => {\r\n      this._onRecordStart.next(null)\r\n      this.recordTimeSeconds = 0;\r\n      this.recorder = new MediaRecorder(mediaStream);\r\n      this.addListeners();\r\n      this.recorder.start(dataUpdateTimeFrame);\r\n      this.timerRef = setInterval(() => {\r\n        this.recordTimeSeconds++;\r\n        // New date every time, so that angular date pipe updates in ui\r\n        this._recordTimeDate = new Date(0, 0, 0, 0, 0, this.recordTimeSeconds);\r\n      }, 1000)\r\n\r\n      this.toggleRecordingStatus(true);\r\n    }).catch((error: DOMException) => {\r\n      if (error.name === \"NotAllowedError\") {\r\n        this.throwError(AudioErrorCase.MIC_NOT_ALLOWED);\r\n      }\r\n      else {\r\n        this.throwError(AudioErrorCase.CANT_START_RECORDING);\r\n      }\r\n    });;\r\n  }\r\n\r\n  stopRecording() {\r\n    return new Promise((resolve, reject) => {\r\n      this.recorderEnded.subscribe((blob) => {\r\n        this.toggleRecordingStatus(false);\r\n        if (this.timerRef) {\r\n          clearInterval(this.timerRef);\r\n        }\r\n        resolve(blob);\r\n      }, _ => {\r\n        this.throwError(AudioErrorCase.RECORDER_TIMEOUT);\r\n        reject(AudioErrorCase.RECORDER_TIMEOUT);\r\n      });\r\n      this.recorder.stop();\r\n    }).catch(() => {\r\n      this.throwError(AudioErrorCase.USER_CONSENT_FAILED);\r\n    });\r\n  }\r\n\r\n  private addListeners() {\r\n    this.recorder.addEventListener('dataavailable', event => {\r\n      this.appendToChunks(event);\r\n    });\r\n\r\n    this.recorder.addEventListener('stop', () => {\r\n      this.recordingStopped();\r\n    });\r\n  }\r\n\r\n  private appendToChunks = (event: any) => {\r\n    this.chunks.push(event.data);\r\n    this.currentFileSizeBytes += event.data.size;\r\n\r\n    if (this.recorder.state !== \"inactive\") {\r\n      if (this.maxFileSizeBytes && this.maxFileSizeBytes < this.currentFileSizeBytes) {\r\n        this.throwError(AudioErrorCase.MAX_SIZE_EXCEEDED);\r\n      }\r\n    }\r\n  };\r\n\r\n  private recordingStopped = () => {\r\n    const blob = new Blob(this.chunks, { type: this.blobType ?? this.defaultBlobType });\r\n    this.blobType = null;\r\n    this.chunks = [];\r\n    this.recorderEnded.emit(blob);\r\n    this.clear();\r\n  };\r\n\r\n  private clear() {\r\n    this.recorder = null;\r\n    this.chunks = [];\r\n  }\r\n\r\n  private toggleRecordingStatus(isRecording: boolean) {\r\n    this._isRecording = isRecording;\r\n    this._onRecordingStatusChange.next(this._isRecording);\r\n  }\r\n\r\n  private throwError(code: AudioErrorCase) {\r\n    this._onError.next(code);\r\n  }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { IVoiceToTextJob, IVoiceToTextJobServerResponse, IVoiceToTextStartJobRequestParams } from '../../tld-common/models';\r\nimport { TldTranslateConfigService } from '../../tld-common/services';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldVoiceInputApiService {\r\n\r\n  private get audioConfig() { return this.config.audioConfig; }\r\n\r\n  constructor(private readonly http: HttpClient,\r\n    private readonly config: TldTranslateConfigService) { }\r\n\r\n  startJob(params: IVoiceToTextStartJobRequestParams): Observable<IVoiceToTextJob> {\r\n\r\n    if (!this.audioConfig.audioApiUrl) {\r\n      console.error(\"Speech API url not defined\");\r\n      throw null;\r\n    }\r\n\r\n    const formData: FormData = new FormData();\r\n    formData.append(\"file\", params.file);\r\n    formData.append(\"langauge\", params.language);\r\n    return this.http.post<IVoiceToTextJobServerResponse>(this.audioConfig.audioApiUrl, formData).pipe(\r\n      map(response => this.mapJob(response))\r\n    )\r\n  }\r\n\r\n  getJobInfo(jobId: string) {\r\n    return this.http.get<IVoiceToTextJobServerResponse>(`${this.audioConfig.audioApiUrl}/${jobId}`).pipe(\r\n      map(response => this.mapJob(response))\r\n    );\r\n  }\r\n\r\n\r\n  private mapJob(response: IVoiceToTextJobServerResponse): IVoiceToTextJob {\r\n    // converts to VoiceToTextState, so it suits enum conventions.\r\n    const state: any = response.state.toUpperCase().replace(/ /g, \"_\");\r\n    return {\r\n      createdAt: new Date(response.created_at),\r\n      fileName: response.file_name,\r\n      jobId: response.job_id,\r\n      language: response.language,\r\n      state,\r\n      updatedAt: new Date(response.updated_at),\r\n      errorMessage: response.error_message,\r\n      transcription: response.transcription\r\n    };\r\n  }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { IVoiceToTextJob, IVoiceToTextStartJobRequestParams, VoiceToTextState } from '../../tld-common/models';\r\nimport { ITranscriptionUpdateModel } from '../models/transcription-update.model';\r\nimport { TldVoiceInputApiService } from './tld-voice-input-api.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldVoiceInputService {\r\n\r\n  activeJob: IVoiceToTextJob;\r\n  isProcessing: boolean;\r\n\r\n  private readonly timeoutMs = 1000;\r\n  private lastTranscribtion: string;\r\n\r\n  private readonly transcribtionTextUpdated: Subject<ITranscriptionUpdateModel> = new Subject();\r\n  get onTranscribtionTextUpdated() { return this.transcribtionTextUpdated.asObservable(); }\r\n\r\n  constructor(private readonly api: TldVoiceInputApiService) { }\r\n\r\n  startTranscribtion(params: IVoiceToTextStartJobRequestParams) {\r\n    this.isProcessing = true;\r\n    this.api.startJob(params).subscribe((job) => {\r\n      this.activeJob = job;\r\n      this.lastTranscribtion = job.transcription;\r\n      this.scheduleProgressCheckIfNecessary();\r\n    })\r\n  }\r\n\r\n  stopProcessing() {\r\n    if (this.isProcessing) {\r\n      this.activeJob = null;\r\n      this.isProcessing = false;\r\n    }\r\n  }\r\n\r\n  private checkProgress() {\r\n    if (!this.activeJob) {\r\n      return;\r\n    }\r\n\r\n    this.api.getJobInfo(this.activeJob.jobId).subscribe((response) => {\r\n      this.activeJob = response;\r\n      const isCompleted = VoiceToTextState.COMPLETED === response.state;\r\n      if ((response.transcription && this.lastTranscribtion !== response.transcription) || isCompleted) {\r\n        this.transcribtionTextUpdated.next({ text: response.transcription, completed: isCompleted});\r\n      }\r\n      this.lastTranscribtion = response.transcription;\r\n      this.scheduleProgressCheckIfNecessary();\r\n    })\r\n  }\r\n\r\n  private scheduleProgressCheckIfNecessary() {\r\n    if (this.activeJob.state === VoiceToTextState.COMPLETED) {\r\n      this.isProcessing = false;\r\n    }\r\n    else {\r\n      setTimeout(() => {\r\n        this.checkProgress();\r\n      }, this.timeoutMs);\r\n    }\r\n  }\r\n}\r\n","import { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../tld-common/services';\r\nimport { AudioErrorCase } from '../models';\r\nimport { AudioRecordService } from '../services/audio-record.service';\r\nimport { TldVoiceInputService } from '../services/tld-voice-input.service';\r\nimport { AlertService, ConversionHelper } from '@tilde-nlp/ngx-common';\r\n\r\n@Component({\r\n    selector: 'tld-record',\r\n    templateUrl: './tld-record.component.html',\r\n    styleUrls: ['./tld-record.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldRecordComponent implements OnInit, OnDestroy {\r\n\r\n  get isRecording() {\r\n    return this.audioRecorderService.isRecording;\r\n  }\r\n\r\n  get recordTimeDate() { return this.audioRecorderService.recordTimeDate; }\r\n  get isProcessing() { return this.voiceProcessingService.isProcessing; }\r\n\r\n  hasAnyMicrophone: boolean;\r\n\r\n  /**\r\n   * Successfuly recorded BLOB\r\n   */\r\n  @Output() record: EventEmitter<Blob> = new EventEmitter<Blob>();\r\n\r\n  private recordErrorSubscription: Subscription;\r\n\r\n  private readonly errorTranslationSubKeys = [\r\n    'AUDIO',\r\n  ];\r\n\r\n  constructor(\r\n    private readonly audioRecorderService: AudioRecordService,\r\n    private readonly systemManagementService: TldTranslateSystemManagementService,\r\n    private readonly configService: TldTranslateConfigService,\r\n    private readonly voiceProcessingService: TldVoiceInputService,\r\n    private readonly alert: AlertService) \r\n  {}\r\n\r\n  ngOnInit() {\r\n    this.recordErrorSubscription = this.audioRecorderService.onError.subscribe((error: AudioErrorCase) => {\r\n      if (error === AudioErrorCase.MAX_SIZE_EXCEEDED) {\r\n        this.alert.unhandeledError({ ErrorCode: error }, this.errorTranslationSubKeys, { maxSizeMb: ConversionHelper.bytesToMb(this.configService.audioConfig.audioMaxSizeBytes) })\r\n        this.stopRecording();\r\n      }\r\n      else {\r\n        this.alert.unhandeledError({ ErrorCode: error });\r\n      }\r\n    })\r\n\r\n    this.findMic();\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.recordErrorSubscription.unsubscribe();\r\n  }\r\n\r\n  startRecording() {\r\n    this.audioRecorderService.startRecording(this.configService.audioConfig.dataUpdateTimeFrame, this.configService.audioConfig.audioMaxSizeBytes);\r\n  }\r\n\r\n  stopRecording() {\r\n    this.audioRecorderService.stopRecording().then((output: Blob) => {\r\n      this.record.next(output);\r\n      this.processVoiceRecord(output);\r\n    });\r\n  }\r\n\r\n  cancel() {\r\n    if (this.audioRecorderService.isRecording) {\r\n      this.audioRecorderService.stopRecording();\r\n    }\r\n    if (this.voiceProcessingService.isProcessing) {\r\n      this.voiceProcessingService.stopProcessing()\r\n    }\r\n  }\r\n\r\n  processVoiceRecord(file: Blob) {\r\n    const language = this.systemManagementService.getActiveSystemObj().sourceLanguage;\r\n    this.voiceProcessingService.startTranscribtion({ file, language });\r\n  }\r\n\r\n  private findMic() {\r\n    navigator.mediaDevices.enumerateDevices().then((devices: MediaDeviceInfo[]) => {\r\n      this.hasAnyMicrophone = false;\r\n      for (const device of devices) {\r\n        if (device.kind === \"audioinput\") {\r\n          this.hasAnyMicrophone = true;\r\n          return;\r\n        }\r\n      }\r\n    });\r\n  }\r\n}\r\n","<div fxLayout=\"row\" fxFlex>\r\n    <ng-container *ngIf=\"!(isRecording || isProcessing)\">\r\n        <button [disabled]=\"!hasAnyMicrophone\" mat-button mat-icon-button fxLayoutAlign=\"center center\"\r\n            (click)=\"startRecording()\" color=\"accent\"  [attr.aria-label]=\"(hasAnyMicrophone?'AUDIO.START':'AUDIO.MIC_NOT_FOUND') | translate\">\r\n            <span class=\"material-icons\" *ngIf=\"hasAnyMicrophone\" color=\"accent\" \r\n            [matTooltip]=\"'AUDIO.START' | translate\">\r\n                mic\r\n            </span>\r\n            <span class=\"material-icons\" [matTooltip]=\"'AUDIO.MIC_NOT_FOUND' | translate\"\r\n                *ngIf=\"!hasAnyMicrophone\">\r\n                mic_off\r\n            </span>\r\n        </button>\r\n    </ng-container>\r\n    <ng-container *ngIf=\"isRecording || isProcessing\">\r\n        <div fxLayout=\"column\">\r\n            <button mat-button mat-icon-button fxLayoutAlign=\"center center\" [disabled]=\"!isRecording\"\r\n                (click)=\"stopRecording()\" color=\"accent\" [matTooltip]=\"'AUDIO.STOP' | translate\" [attr.aria-label]=\"'AUDIO.STOP' | translate\">\r\n                <span class=\"material-icons\">\r\n                    stop\r\n                </span>\r\n            </button>\r\n            <div class=\"tld-audio-timer\" fxLayoutAlign=\"center center\">\r\n                {{recordTimeDate | date:'mm:ss'}}\r\n            </div>\r\n        </div>\r\n        <div fxLayout=\"row\" fxFlex fxLayoutAlign=\"center center\">\r\n            <div fxFlex fxLayoutAlign=\"center center\" data-test-id=\"voice-input-info\">\r\n                <span *ngIf=\"isRecording\">{{'AUDIO.DESCRIBE_STATE_RECORDING' | translate}}</span>\r\n                <span *ngIf=\"isProcessing\">{{'AUDIO.DESCRIBE_STATE_PROCESSING' | translate}}</span>\r\n            </div>\r\n            <button mat-flat-button color=\"accent\" (click)=\"cancel()\">{{'AUDIO.CANCEL' | translate}}</button>\r\n        </div>\r\n    </ng-container>\r\n</div>","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TldDictateComponent } from './tld-dictate/tld-dictate.component';\r\nimport { TldRecordComponent } from './tld-record/tld-record.component';\r\n\r\n\r\n@NgModule({\r\n  declarations: [TldRecordComponent, TldDictateComponent],\r\n  imports: [\r\n    CommonModule,\r\n    TranslateModule,\r\n    MatTooltipModule,\r\n    MatIconModule,\r\n    FlexLayoutModule,\r\n    MatButtonModule\r\n  ],\r\n  exports: [TldRecordComponent, TldDictateComponent]\r\n})\r\nexport class TldAudioModule { }\r\n","import { Component, Input } from '@angular/core';\r\nimport { IHighlightTree } from '../../models/highlight-tree.model';\r\n\r\n@Component({\r\n    selector: 'tld-highlight-tree',\r\n    templateUrl: './highlight-tree.component.html',\r\n    styleUrls: ['./highlight-tree.component.scss'],\r\n    standalone: false\r\n})\r\nexport class HighlightTreeComponent {\r\n\t@Input() tree: IHighlightTree;\r\n\t@Input() isSource: boolean;\r\n\t@Input() highlight: boolean;\r\n\r\n\tconstructor() {}\r\n}\r\n","<ng-template #highlightTree let-tree=\"tree\">\r\n\t<ng-container *ngIf=\"!tree.children\">\r\n\t\t<ng-container *ngIf=\"tree.text\">\r\n\t\t\t<span class=\"{{ tree.class }}\" [innerHTML]=\"tree.text\"></span>\r\n\t\t</ng-container>\r\n\t\t<ng-container *ngIf=\"!tree.text\">\r\n\t\t\t<br />\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\t<ng-container *ngIf=\"tree.children\">\r\n\t\t<span class=\"highlight-tree-child-wrapper {{ tree.class }}\">\r\n\t\t\t<ng-template ngFor let-child [ngForOf]=\"tree.children\">\r\n\t\t\t\t<ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: child }\"> </ng-template>\r\n\t\t\t</ng-template>\r\n\t\t</span>\r\n\t</ng-container>\r\n</ng-template>\r\n\r\n<div *ngIf=\"tree\" class=\"tld-highlight-tree\">\r\n\t<ng-template [ngTemplateOutlet]=\"highlightTree\" [ngTemplateOutletContext]=\"{ tree: tree }\"></ng-template>\r\n</div>\r\n","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { InlineMessage } from '@tilde-nlp/ngx-common';\r\nimport { TldTranslateConfigService } from '../../../tld-common/services/tld-translate-config.service';\r\nimport { TldTranslateSystemManagementService } from '../../../tld-common/services';\r\n\r\n@Component({\r\n    selector: 'progress-indicator',\r\n    templateUrl: './progress-indicator.component.html',\r\n    styleUrls: ['./progress-indicator.component.scss'],\r\n    standalone: false\r\n})\r\nexport class ProgressIndicatorComponent implements OnInit {\r\n\r\n  readonly closeButtonAriaLabel = \"TEXT_TRANSLATION_PROGRESS_INDICATOR.CLOSE_BUTTON_ARIA_LABEL\";\r\n  readonly closeButtonTooltip = \"TEXT_TRANSLATION_PROGRESS_INDICATOR.CLOSE_BUTTON_TOOLTIP\";\r\n\r\n  @Output() onClose: EventEmitter<null> = new EventEmitter();\r\n\r\n  vendor: string;\r\n  showTitle: boolean;\r\n\r\n  titleMessage: InlineMessage;\r\n\r\n  constructor(private systemManagementService: TldTranslateSystemManagementService, private configService: TldTranslateConfigService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.vendor = this.systemManagementService.activeVendor;\r\n    this.showTitle = this.configService.textConfig.progressIndicatorTitleVisibleForVendors?.includes(this.vendor);\r\n  }\r\n\r\n  close() {\r\n    this.onClose.next(null);\r\n  }\r\n\r\n}\r\n","<div fxLayout=\"row\">\r\n  <div fxFlex>\r\n    <vendor-disclaimer *ngIf=\"showTitle\"></vendor-disclaimer>\r\n    <mat-progress-bar mode=\"indeterminate\" color=\"accent\"></mat-progress-bar>\r\n    <div class=\"text-s status\">{{\"TEXT_TRANSLATION_PROGRESS_INDICATOR.TRANSLATING\" | translate}}</div>\r\n  </div>\r\n  <div fxLayoutAlign=\"center center\">\r\n    <tld-close-button (tldClick)=\"close()\" [tooltip]=\"closeButtonTooltip\" [ariaCode]=\"closeButtonAriaLabel\"></tld-close-button>\r\n  </div>\r\n</div>\r\n","export class HighlightParams {\r\n    static invalidPhraseClass = \"tld-invalid-phrase\";\r\n    static wordClass = \"tld-word\";\r\n    static siblingClass = \"tld-sibling\";\r\n    static sentenceClass = \"tld-sentence\";\r\n    static sourceHighlightClass = \"textarea-highlight-background\";\r\n    static targetHighlightClass = \"translated-source\";\r\n    static hoveredClassName = \"hovered\";\r\n    static multipleWordWrapper = \"multiple-word-wrapper\";\r\n}","export enum HighlightTreeType{\r\n    WORD,\r\n    SENTENCE,\r\n    PARAGRAPH,\r\n    OTHER,\r\n    /** Hypen needs to be as seperate and standalone type so that lines are broken same as in textarea.*/\r\n    HYPEN,\r\n    /** Sometimes one word for textarea, is multiple words for api. Simple sentence: \"It.\" Api sees it as 2 words but textarea as one, thats why this should be wrapped and display set to inline-block*/\r\n    WORD_WRAPPER\r\n}","import { HighlightTreeType } from \"../models/highlight-tree-type.model\";\r\nimport { IHighlightTree } from \"../models/highlight-tree.model\";\r\nimport { IParagraphInfo } from \"../models/highlight.model\";\r\nimport { IExistingParagraphInfo } from \"./models/existing-paragraph-info.model\";\r\n\r\nexport class TldTranslateTextUtils {\r\n    /** Finds paragraph in given array, by comparing its text. This is helpful to use to check if parahraph is already translated. */\r\n    static findExistingParagraph(searchParagraph: string, searchParagraphIx: number, paragraphs: IParagraphInfo[]): IExistingParagraphInfo {\r\n        const returnObject = {\r\n            hasSameIx: false,\r\n            existingParagraph: null\r\n        };\r\n        for (var i = 0; i < paragraphs.length; i++) {\r\n            const currentParagraph = paragraphs[i];\r\n            if (currentParagraph.source.originalText == searchParagraph) {\r\n\r\n                // Paragraph hasn't changed and its position is the same, no need to do anything else.\r\n                if (currentParagraph.ix === searchParagraphIx) {\r\n                    returnObject.existingParagraph = currentParagraph;\r\n                    break;\r\n                }\r\n\r\n                returnObject.hasSameIx = true;\r\n                returnObject.existingParagraph = {\r\n                    searchParagraphIx,\r\n                    source: Object.assign({}, currentParagraph.source),\r\n                    target: Object.assign({}, currentParagraph.target)\r\n                };\r\n                if (searchParagraphIx > currentParagraph.ix) {\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n        return returnObject;\r\n    }\r\n\r\n    static changeRootAndParagraphIx(tree: IHighlightTree, root: IHighlightTree, paragraphIx: number) {\r\n        tree.paragraphIx = paragraphIx;\r\n        if (root != tree) {\r\n            tree.root = root;\r\n        }\r\n\r\n        if (tree.children) {\r\n            const children = [];\r\n            tree.children?.forEach((child) => {\r\n                const newChild = Object.assign({}, child);\r\n                this.changeRootAndParagraphIx(newChild, root, paragraphIx)\r\n                children.push(newChild);\r\n            })\r\n            tree.children = children;\r\n        }\r\n    }\r\n\r\n    static createEmptyParagraphInfo(ix: number): IParagraphInfo {\r\n        const sourceParagraph: IHighlightTree = { text: \"\", originalText: \"\", paragraphIx: ix, type: HighlightTreeType.PARAGRAPH, root: null };\r\n        const targetParagraph: IHighlightTree = { text: \"\", originalText: \"\", paragraphIx: ix, type: HighlightTreeType.PARAGRAPH, root: null };\r\n        const newParagraph: IParagraphInfo = {\r\n            ix: ix,\r\n            source: sourceParagraph,\r\n            target: targetParagraph\r\n        };\r\n        return newParagraph;\r\n    }\r\n}","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { AuthHeadersHelper, HtmlHelper, TerminologyService } from '@tilde-nlp/ngx-common';\r\nimport { forkJoin, Observable, throwError } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ITranslateParagraphRequestParams } from '../../../tld-common/models';\r\nimport { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../../tld-common/services';\r\nimport { HighlightTreeType } from '../../models/highlight-tree-type.model';\r\nimport { IHighlightTree } from '../../models/highlight-tree.model';\r\nimport { ITranslateParagraphParams } from '../../models/translate-paragraph-params.model';\r\nimport { ITranslateParagraphResponseV2 } from '../../models/translate-paragraph-response-v2.model';\r\nimport { ITranslateParagraphResponse } from '../../models/translate-paragraph-response.model';\r\nimport { Dictionary } from '../../models';\r\nimport { DictionaryRequestParams } from '../../models/dictionary-request-params.model';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldTranslateTextApiService {\r\n  constructor(private readonly http: HttpClient,\r\n    private readonly config: TldTranslateConfigService,\r\n    private readonly terminologyService: TerminologyService,\r\n    private readonly systemManagementService: TldTranslateSystemManagementService\r\n  ) { }\r\n\r\n  translateParagraph(params: ITranslateParagraphRequestParams): Observable<ITranslateParagraphResponse> {\r\n    const requestParams: ITranslateParagraphParams = {\r\n      text: [params.text],\r\n      trgLang: params.system.targetLanguage,\r\n      srcLang: params.system.detectedLanguage ?? params.system.sourceLanguage,\r\n      domain: params.system.domain\r\n    };\r\n\r\n    const currentSystemId = this.systemManagementService.getActiveSystemObj().id;\r\n    const selected = this.terminologyService.engines[currentSystemId]?.selected;\r\n    const localStorageCollections = localStorage.getItem(this.terminologyService.LOCAL_STORAGE_KEY);\r\n\r\n    let currentSystemCollection;\r\n\r\n    if (localStorageCollections?.length) {\r\n      currentSystemCollection = JSON.parse(localStorageCollections)[currentSystemId] ?? '';\r\n    }\r\n\r\n    if (selected) {\r\n\t\t\trequestParams.termCollections = selected.mtCollection?.id ? [selected.mtCollection?.id] : [selected.termId];\r\n\t\t} else if (currentSystemCollection && params.system.detectedLanguage) {\r\n      // when language is detected we should also check if this system was used before and if there collection selected\r\n\t\t\tthis.terminologyService.getCollections().subscribe((collection) => {\r\n\t\t\t\tif (currentSystemCollection === collection[currentSystemId]?.selected?.mtCollection?.id) {\r\n\t\t\t\t\trequestParams.termCollections = [currentSystemCollection];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n    const sourceText = params.text;\r\n    const sourceTree: IHighlightTree = {\r\n      text: HtmlHelper.escapeHtmlString(sourceText),\r\n      paragraphIx: params.paragraphIx,\r\n      type: HighlightTreeType.PARAGRAPH,\r\n      root: null,\r\n      originalText: sourceText\r\n    };\r\n    const headers = AuthHeadersHelper.getAppIdAuthHeaders(this.config.coreConfig.appId);\r\n\r\n    return this.http.post<ITranslateParagraphResponseV2>(this.config.textConfig.translationUrl, requestParams, { headers }).pipe(\r\n      map((translationResponse) => {\r\n        const systemId = `${requestParams.srcLang}-${requestParams.trgLang}-${translationResponse.domain}`;\r\n        const originalTranslation = translationResponse.translations[0].translation;\r\n        const targetTree: IHighlightTree = {\r\n          text: HtmlHelper.escapeHtmlString(originalTranslation),\r\n          paragraphIx: params.paragraphIx,\r\n          type: HighlightTreeType.PARAGRAPH,\r\n          root: null,\r\n          originalText: originalTranslation\r\n        };\r\n        return {\r\n          sourceTree,\r\n          targetTree,\r\n          systemId\r\n        };\r\n      })\r\n    );\r\n  }\r\n\r\n  // This method was implemented in old API. But it is left here, since there is plans to implement aloso in current API.\r\n  updateTranslation(options: string, systemID: string, text: string, translation: string) {\r\n    options; systemID; text; translation;\r\n    return throwError(() => new Error(\"method not implemented!\"));\r\n  }\r\n\r\n  dictionaryTranslation(text: string, srcCode: string, trgCode: string): { urls: string[]; request: Observable<Dictionary[][]> } {\r\n\t\tconst domainUrls: string[] = [];\r\n\t\tconst requests: Observable<any>[] = [];\r\n\r\n    const params: DictionaryRequestParams = {\r\n      term: text,\r\n      sourceLang: srcCode,\r\n      targetLang: trgCode\r\n    }\r\n\r\n\t\tthis.config.textConfig.dictionaryUrls.forEach((url) => {\r\n\t\t\trequests.push(this.http.get<Dictionary[]>(url, <any>{ params }));\r\n\t\t\tdomainUrls.push(url.replace(/https?:\\/\\/([^\\/]+).*/, '$1'));\r\n\t\t});\r\n\r\n\t\treturn { urls: domainUrls, request: forkJoin(requests) };\r\n\t}\r\n}\r\n","import { CdkScrollable, ScrollDispatcher } from '@angular/cdk/overlay';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\n/** Service is used to synchronize registered scrollbars. For example, source and target window scrollbars should be synced in text translation. This service handles it. */\r\nexport class TldScrollService {\r\n\r\n  private subscription: Subscription;\r\n\r\n  constructor(\r\n    private readonly scrollDispatcher: ScrollDispatcher\r\n  ) { }\r\n\r\n  subscribeToScroll(){\r\n    this.subscription = this.scrollDispatcher.scrolled()\r\n    .subscribe((scrollable: CdkScrollable) => {\r\n      this.syncScrollbars(scrollable);\r\n    });\r\n  }\r\n\r\n  unsubscribeToScroll(){\r\n    this.subscription.unsubscribe();\r\n  }\r\n\r\n  syncScrollbars(scrollable?: CdkScrollable, offset?: number) {\r\n    if (typeof scrollable == \"undefined\" && (!offset || offset != 0)) {\r\n      return;\r\n    }\r\n    const scrollOffsetKey = \"top\";\r\n    const offsetValue = offset || offset == 0 ? offset : scrollable.measureScrollOffset(scrollOffsetKey);\r\n    Array.from(this.scrollDispatcher.scrollContainers.keys())\r\n      .filter(otherScrollable => otherScrollable && otherScrollable !== scrollable)\r\n      .forEach(otherScrollable => {\r\n        if (otherScrollable.measureScrollOffset(scrollOffsetKey) !== offsetValue) {\r\n          const scrollTo = {};\r\n          scrollTo[scrollOffsetKey] = offsetValue;\r\n          otherScrollable.scrollTo(scrollTo);\r\n        }\r\n      });\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TldTranslateConfigService } from './tld-translate-config.service';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DetectLanguageResponse } from '../models/detect-language-response.model';\r\nimport { AuthHeadersHelper } from '@tilde-nlp/ngx-common';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class LanguageDetectionService {\r\n\tconstructor(private readonly config: TldTranslateConfigService, private readonly http: HttpClient) {}\r\n\r\n\tdetect(text: string): Observable<DetectLanguageResponse> {\r\n    const headers = AuthHeadersHelper.getAppIdAuthHeaders(this.config.coreConfig.appId);\r\n\r\n\t\treturn this.http.post<DetectLanguageResponse>(`${this.config.coreConfig.apiBaseUrl}/language`, { text: text }, { headers });\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AlertService, HtmlHelper, LanguageTranslateService, NotificationMessageType, TerminologyService } from '@tilde-nlp/ngx-common';\r\nimport { Observable, Subject, Subscription, of, timer } from 'rxjs';\r\nimport { catchError, debounce, distinctUntilChanged, mergeMap, tap } from 'rxjs/operators';\r\nimport { TextToSpeechSettings } from '../../../components/shared/text-to-speech/models/text-to-speech-settings.model';\r\nimport { ITranslateParagraphRequestParams } from '../../tld-common/models';\r\nimport { ErrorCode } from '../../tld-common/models/errors/error-codes.enum';\r\nimport { TldHighlightService, TldTranslateConfigService, TldTranslateSystemManagementService } from '../../tld-common/services';\r\nimport { TldScrollService } from '../../tld-common/services/scroll/tld-scroll.service';\r\nimport { Dictionary } from '../models/dictionary.model';\r\nimport { HighlightTreeType } from '../models/highlight-tree-type.model';\r\nimport { IHighlightTree } from '../models/highlight-tree.model';\r\nimport { IParagraphInfo } from '../models/highlight.model';\r\nimport { IRetranslateParams } from '../models/retranslate-params.model';\r\nimport { ITranslateParagraphResponse } from '../models/translate-paragraph-response.model';\r\nimport { IUntranslatedParagraph } from '../models/untranslated-paragraph.model';\r\nimport { TldTranslateTextUtils } from '../utils/tld-translate-text.utils';\r\nimport { TldTranslateTextApiService } from './api/tld-translate-text-api.service';\r\nimport { AUTO_LANGUAGE_DETECTION_KEY } from '../../tld-common/models/auto-language-detection-key.const';\r\nimport { LanguageDetectionService } from '../../tld-common/services/language-detection.service';\r\nimport { SourceChangeEvent } from '../models/source-change-event.model';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldTranslateTextService {\r\n\r\n  private _sourceText: string;\r\n  get sourceText() {\r\n    return this._sourceText;\r\n  }\r\n\r\n  private _sourceTextHypothesis: string;\r\n  get sourceTextHypothesis() {\r\n    return this._sourceTextHypothesis;\r\n  }\r\n\r\n  private _sourceChange: Subject<SourceChangeEvent> = new Subject();\r\n  get sourceChange() { return this._sourceChange.asObservable(); }\r\n\r\n  private _sourceScroll: Subject<number> = new Subject();\r\n  get sourceScroll() { return this._sourceScroll.asObservable(); }\r\n\r\n  private _translateButtonClick: Subject<any> = new Subject();\r\n  get translateButtonClick() { return this._translateButtonClick.asObservable(); }\r\n\r\n  private _hasDictionary: boolean;\r\n  get hasDictionary() { return this._hasDictionary; }\r\n  set hasDictionary(val) {\r\n    this._hasDictionary = val;\r\n    if (!val) {\r\n      this._dictionaryEntry = null;\r\n    }\r\n  }\r\n\r\n  private _dictionaryEntry: Dictionary[];\r\n  get dictionaryEntry() { return this._dictionaryEntry; }\r\n  set dictionaryEntry(val) {\r\n    this._dictionaryEntry = val;\r\n    if (this.dictionaryEntry) {\r\n      this.hasDictionary = true;\r\n    }\r\n  }\r\n  get translatedText(): string {\r\n    return this.targetParagraphs.map(line => line.originalText).join(\"\\n\")\r\n  }\r\n\r\n  private readonly _onClear = new Subject<any>();\r\n\r\n  previousText!: string;\r\n  previousDetectedLang!: string;\r\n\r\n  urlToTranslate: string;\r\n  paragraphs: IParagraphInfo[] = [];\r\n  sourceParagraphs: IHighlightTree[] = [];\r\n  targetParagraphs: IHighlightTree[] = [];\r\n\r\n  isSystemWakingUp!: boolean;\r\n  trgLangBeforeDetect!: string;\r\n  isUnsupportedLangWarningVisible!: boolean;\r\n\r\n  // Set this object with necessary values to display TTS component\r\n  textToSpeechSourceSettings: TextToSpeechSettings;\r\n  textToSpeechTargetSettings: TextToSpeechSettings;\r\n\r\n  private _firstParagraphTranslated: boolean;\r\n  get firstParagraphTranslated() {\r\n    return this._firstParagraphTranslated;\r\n  }\r\n\r\n  private dictionarySubscription: Subscription;\r\n  private paragraphTranslationsSubject = new Subject<IUntranslatedParagraph>();\r\n  private paragraphTranslationSubscription: Subscription;\r\n  private readonly debouncer: Subject<SourceChangeEvent> = new Subject<SourceChangeEvent>();\r\n  private debouncerSubscription: Subscription;\r\n  /** How many paragraphs can be translated at the same time. */\r\n  private readonly CONCURRENT_UPLOADS = 5;\r\n  private readonly DEBOUNCE_TIME = 1000;\r\n\r\n  private readonly standbyEngineNotificationErrorKey = '21';\r\n  private readonly standbySystemRetranslationTimeout = 3000;\r\n  private readonly engineTermCollectionNotFoundErrorKey = '404201';\r\n\r\n  /** Whether progress indicator should be shown. This value must be set to true only if configured time has passed. */\r\n  private _shouldShowProgressIndicator = false;\r\n  get shouldShowProgressIndicator() { return this._shouldShowProgressIndicator; }\r\n  //NodeJS.Timeout\r\n  private progressIndicatorTimeout: any;\r\n\r\n  private _untranslatedParagraphCount = 0;\r\n  get untranslatedParagraphCount() { return this._untranslatedParagraphCount; }\r\n  set untranslatedParagraphCount(value: number) {\r\n    this._untranslatedParagraphCount = value;\r\n    // When translation finished, progress indicator should not be shown.\r\n    if (value === 0) {\r\n      this.toggleTextToSpeech();\r\n      this.hideProgressIndicator();\r\n    }\r\n  }\r\n\r\n  get isTranslating() { return this.untranslatedParagraphCount > 0 || this.isSystemWakingUp }\r\n\r\n  // getters from config service.\r\n  get allowWebsiteTranslation(): boolean { return this.configService.textConfig.allowWebsiteTranslation; };\r\n  get autoRedirectToWebTranslate(): boolean { return this.configService.textConfig.autoRedirectToWebTranslate; };\r\n  get webWidgetRedirectUrlPrefix(): string { return this.configService.textConfig.webWidgetRedirectUrlPrefix; };\r\n  get webWidgetRedirectUrlPosfix(): string { return this.configService.textConfig.webWidgetRedirectUrlPosfix; };\r\n  get useDictionary(): boolean { return this.configService.textConfig.useDictionary; };\r\n  get progressIndicatorTimeoutMiliSeconds(): number { return this.configService.textConfig.progressIndicatorTimeoutMiliSeconds; }\r\n  get terminologyPortalUrl(): string { return this.configService.termConfig.terminologyPortalUrl; }\r\n  // -----------------------------\r\n\r\n  get activeData() {\r\n    return this.systemManagementService.getActiveSystemObj();\r\n  }\r\n\r\n  get translateUrlRedirect() {\r\n    if (this.webWidgetRedirectUrlPrefix === '') {\r\n      return `${this.webWidgetRedirectUrlPrefix}${this.webWidgetRedirectUrlPosfix}${encodeURIComponent(this.urlToTranslate)}`;\r\n    } else {\r\n      return `${this.webWidgetRedirectUrlPrefix}${this.translate.currentLang}${this.webWidgetRedirectUrlPosfix}${this.urlToTranslate}`;\r\n    }\r\n  }\r\n\r\n  /** If dictattion is active. Based on this, extensions are hidden. */\r\n  isDictating: boolean;\r\n\r\n  constructor(\r\n    private readonly api: TldTranslateTextApiService,\r\n    private readonly systemManagementService: TldTranslateSystemManagementService,\r\n    private readonly tldScrollService: TldScrollService,\r\n    private readonly configService: TldTranslateConfigService,\r\n    private readonly translate: TranslateService,\r\n    private readonly highlightService: TldHighlightService,\r\n    private readonly alertsService: AlertService,\r\n    private readonly terminologyService: TerminologyService,\r\n    private readonly language: LanguageDetectionService,\r\n    private readonly languageTranslate: LanguageTranslateService\r\n  ) { }\r\n\r\n  changeSource(event: SourceChangeEvent) {\r\n    if (!event.phrase.trim().length) {\r\n      this._onClear.next(null);\r\n\r\n      if (this.activeData?.detectedLanguage) {\r\n        this.systemManagementService.setDetectedLanguage(null);\r\n      }\r\n    }\r\n\r\n    this._sourceText = event.phrase;\r\n    this._sourceChange.next(event);\r\n    this.debouncer.next(event);\r\n  }\r\n\r\n  changeSourceHypothesis(text: string) {\r\n    this._sourceTextHypothesis = text;\r\n  }\r\n\r\n  onSourceScroll(offsetTop: number) {\r\n    this._sourceScroll.next(offsetTop);\r\n  }\r\n\r\n  onTranslateButtonClick() {\r\n    this._translateButtonClick.next(null)\r\n    this.retranslate({ buttonClicked: true });\r\n  }\r\n\r\n  clearSource() {\r\n    this._onClear.next(null);\r\n    this.resetDetectedLanguage();\r\n    this.changeSource({ phrase: \"\" });\r\n  }\r\n\r\n  onClear(): Observable<any> {\r\n    return this._onClear.asObservable();\r\n  }\r\n\r\n  updateTranslation(options: string, systemID: string, text: string, translation: string) {\r\n    return this.api.updateTranslation(options, systemID, text, translation);\r\n  }\r\n\r\n  listenOnChanges() {\r\n    if (this.debouncerSubscription) {\r\n      return;\r\n    }\r\n\r\n    this.debouncerSubscription = this.debouncer.pipe(\r\n      distinctUntilChanged((previous) => {\r\n        return previous.phrase == this.sourceText;\r\n      }),\r\n      debounce(ev => ev.phrase?.length > 0 ? timer(this.DEBOUNCE_TIME) : timer(0))\r\n    )\r\n      .subscribe((event) => {\r\n        this.highlightService.changeSelectedTargetSentence(null);\r\n\r\n        if (!event.disableAutomaticTranslation) {\r\n          this.retranslate();\r\n        }\r\n      });\r\n  }\r\n\r\n  stopListeningToChanges() {\r\n    if (!this.debouncerSubscription) {\r\n      return;\r\n    }\r\n    this.debouncerSubscription.unsubscribe();\r\n    this.debouncerSubscription = null;\r\n  }\r\n\r\n  // if method gets called because of button click and url entered - go to web translation\r\n  retranslate(params?: IRetranslateParams, detectedLanguage?: string) {\r\n    if (!this.sourceText?.trim() || this.sourceText?.trim() == \"\") {\r\n      this.clearSourceParams();\r\n\r\n      return;\r\n    }\r\n\r\n    if (params?.buttonClicked || params?.systemChanged) {\r\n      this.clearSourceParams();\r\n    }\r\n\r\n    if (!detectedLanguage && (this.activeData.sourceLanguage === AUTO_LANGUAGE_DETECTION_KEY || this.activeData.detectedLanguage)) {\r\n      const text = this.sourceText.replace('\\n', ' ');\r\n\r\n      if (text === this.previousText) {\r\n        detectedLanguage = this.previousDetectedLang;\r\n      } else {\r\n        this.language.detect(text).subscribe(res => {\r\n          // displaying english language, if text is undetectable\r\n          this.retranslate(params, res.detectedLanguage ?? 'en');\r\n\r\n          this.previousText = text;\r\n          this.previousDetectedLang = res.detectedLanguage ?? 'en';\r\n        })\r\n\r\n        return;\r\n      }\r\n    }\r\n\r\n    const activeSystemId = this.systemManagementService.getActiveSystemObj().id;\r\n    const selectedCollection = this.terminologyService.engines[activeSystemId]?.selected;\r\n    // if collection is not imported we want to avoid instant translation\r\n    if (selectedCollection && !selectedCollection?.mtCollection) {\r\n      setTimeout(() => {\r\n        this.retranslate({ buttonClicked: true }, detectedLanguage);\r\n      }, 3000)\r\n      return;\r\n    }\r\n\r\n    const maxSourceCharacterDictionary = 200;\r\n    const maxDictionaryWords = 12;\r\n\r\n    const wordsInSource = HtmlHelper.getWordCount(this.sourceText);\r\n    this.urlToTranslate = HtmlHelper.isTextUrl(this.sourceText);\r\n\r\n    if (this.allowWebsiteTranslation && this.urlToTranslate) {\r\n      this.paragraphs = [];\r\n      this.sourceParagraphs = [];\r\n      this.targetParagraphs = [];\r\n\r\n      if (this.autoRedirectToWebTranslate || params?.buttonClicked) {\r\n        window.open(this.translateUrlRedirect, \"_blank\");\r\n      }\r\n      return;\r\n    } else {\r\n      this.urlToTranslate = null;\r\n    }\r\n\r\n    if (this.useDictionary && this.sourceText.length < maxSourceCharacterDictionary && wordsInSource <= maxDictionaryWords) {\r\n      this.prepareAndTranslateWords(detectedLanguage);\r\n      return;\r\n    }\r\n\r\n    this.translateText(this.sourceText, detectedLanguage);\r\n  }\r\n\r\n  /** Stops text translation if it is active. */\r\n  stopTranslation() {\r\n    this.untranslatedParagraphCount = 0;\r\n    if (this.paragraphTranslationSubscription) {\r\n      this.paragraphTranslationSubscription.unsubscribe();\r\n    }\r\n\r\n    if (this.dictionarySubscription) {\r\n      this.dictionarySubscription.unsubscribe();\r\n    }\r\n  }\r\n\r\n  private resetDetectedLanguage(): void {\r\n    if (this.configService.textConfig.isAutoLanguageDetectionEnabled && this.activeData?.detectedLanguage) {\r\n      this.systemManagementService.setDetectedLanguage(null);\r\n    }\r\n  }\r\n\r\n  private recreateParagraphTranslationSubject(detectedLanguage?: string) {\r\n    this._firstParagraphTranslated = false;\r\n    this.paragraphTranslationsSubject = new Subject<IUntranslatedParagraph>();\r\n\r\n    const source = this.sourceText;\r\n    this.untranslatedParagraphCount = 0;\r\n    this.paragraphTranslationSubscription = this.paragraphTranslationsSubject.asObservable().pipe(\r\n      mergeMap((untranslatedParagraph) => {\r\n        this.untranslatedParagraphCount += 1;\r\n        return this.translateParagraph(untranslatedParagraph, detectedLanguage).pipe(\r\n          tap((response: ITranslateParagraphResponse) => {\r\n            // No need to handle response if source text has changed.\r\n            if (source != this.sourceText) {\r\n              return;\r\n            }\r\n            this.handleTranslatedParagraph(response);\r\n            this.updateParagraphs(untranslatedParagraph.ix, response);\r\n            this.untranslatedParagraphCount -= 1;\r\n\r\n            if (this.untranslatedParagraphCount === 0 && this.isSystemWakingUp) {\r\n              this.isSystemWakingUp = false;\r\n              this.alertsService.deleteMessage(NotificationMessageType.INFO, 'ERRORS.E_21');\r\n            }\r\n          }),\r\n          catchError(err => {\r\n            const error = err.error;\r\n\r\n            this.untranslatedParagraphCount -= 1;\r\n\r\n            if (err.status === 500) {\r\n              this.alertsService.unhandeledError({ ErrorCode: ErrorCode.TRANSLATION_FAILED });\r\n            } else if (error?.ErrorCode === this.standbyEngineNotificationErrorKey) {\r\n              this.alertsService.info('ERRORS.E_21');\r\n              this.isSystemWakingUp = true;\r\n\r\n              setTimeout(() => {\r\n                this.retranslate();\r\n              }, this.standbySystemRetranslationTimeout)\r\n\r\n              throw err;\r\n            } else if (error?.error?.code == this.engineTermCollectionNotFoundErrorKey) {\r\n              this.alertsService.error('ERRORS.E_404201', err);\r\n            }\r\n            else {\r\n              this.alertsService.unhandeledError(err);\r\n            }\r\n\r\n            // after calling this method, subject is destroyed and unsubscribed, so thrown error wont have any effect.\r\n            this.stopTranslation();\r\n            throw err;\r\n          }))\r\n      }, this.CONCURRENT_UPLOADS),\r\n    ).subscribe();\r\n  }\r\n\r\n  private translateParagraph(paragraph: IUntranslatedParagraph, detectedLanguage?: string): Observable<ITranslateParagraphResponse> {\r\n    const params: ITranslateParagraphRequestParams = {\r\n      paragraphIx: paragraph.ix,\r\n      text: paragraph.line,\r\n      system: this.activeData\r\n    };\r\n\r\n    if ((detectedLanguage === params.system.targetLanguage) && this.systemManagementService.systems.find((system) => system.sourceLanguage === detectedLanguage)) {\r\n      this.dictionaryEntry = [];\r\n      this.hasDictionary = false;\r\n      this.systemManagementService.showSameLanguages(detectedLanguage);\r\n      this._onClear.next(null);\r\n\r\n      return of(this.getEmptyTranslationResponse(paragraph, params));\r\n    }\r\n\r\n    if (!params.text || params.text.trim().length === 0) {\r\n      return of(this.getEmptyTranslationResponse(paragraph, params, true));\r\n    }\r\n\r\n    if (detectedLanguage && (detectedLanguage !== params.system.detectedLanguage)) {\r\n      params.system.domain = \"\";\r\n      params.system.detectedLanguage = detectedLanguage;\r\n\r\n      const engine = this.systemManagementService.systems.find((system) =>\r\n        system.sourceLanguage === detectedLanguage && params.system.targetLanguage === system.targetLanguage\r\n      );\r\n\r\n      this._onClear.next(null);\r\n\r\n      if (engine) {\r\n        this.systemManagementService.setDetectedLanguage(detectedLanguage);\r\n      } else {\r\n        // displaying that engine not found.\r\n        this.alertsService.warning('ERRORS.DETECTION.UNAVAILABLE', {\r\n          srcLang: this.languageTranslate.getLanguageCodeTranslation(detectedLanguage),\r\n          trgLang: this.languageTranslate.getLanguageCodeTranslation(params.system.targetLanguage),\r\n        });\r\n\r\n        this.isUnsupportedLangWarningVisible = true;\r\n\r\n        // preseting system with srcLang same as detectedLanguage (target is random here)\r\n        if (this.systemManagementService.systems.find((system) => system.sourceLanguage === detectedLanguage)) {\r\n          this.systemManagementService.setDetectedLanguage(detectedLanguage);\r\n          this.trgLangBeforeDetect = params.system.targetLanguage;\r\n        } else {\r\n          this.resetDetectedLanguage();\r\n          return of(this.getEmptyTranslationResponse(paragraph, params, false, true));\r\n        }\r\n      }\r\n    }\r\n\r\n    // we should clear unavailable notification after manual language selection, but not when we have preseted engine with random target language\r\n    if (this.isUnsupportedLangWarningVisible && (!this.trgLangBeforeDetect || this.trgLangBeforeDetect && !params.system.detectedLanguage)) {\r\n      this._onClear.next(null);\r\n      this.isUnsupportedLangWarningVisible = false;\r\n    }\r\n\r\n    return this.api.translateParagraph(params);\r\n  }\r\n\r\n  private getEmptyTranslationResponse(paragraph: IUntranslatedParagraph, params: ITranslateParagraphRequestParams, leaveAllEmpty?: boolean, leaveTargetEmpty?: boolean): ITranslateParagraphResponse {\r\n    return {\r\n      sourceTree: { text: leaveAllEmpty ? '' : paragraph.line, paragraphIx: params.paragraphIx, type: HighlightTreeType.PARAGRAPH, root: null, originalText: leaveAllEmpty ? '' : paragraph.line },\r\n      targetTree: { text: leaveTargetEmpty || leaveAllEmpty ? '' : paragraph.line, paragraphIx: params.paragraphIx, type: HighlightTreeType.PARAGRAPH, root: null, originalText: leaveAllEmpty ? '' : paragraph.line }\r\n    }\r\n  }\r\n\r\n  private handleTranslatedParagraph(paragraph: ITranslateParagraphResponse) {\r\n    //if auto domain detection is on, system api service sets system id to `${srcLang}-${targetLang}` so we need to validate if that is the case\r\n    if (paragraph.systemId && this.activeData.id !== paragraph.systemId\r\n      && this.activeData.id === `${this.activeData.sourceLanguage}-${this.activeData.targetLanguage}`) {\r\n      this.systemManagementService.changeSystem(paragraph.systemId);\r\n    }\r\n\r\n    // Needs to scroll to top after first paragraph is translated.\r\n    if (!this._firstParagraphTranslated) {\r\n      // if empty paragraph is 'translated' first, no need to do any scrolling. Wait for real text to be translated.\r\n      if (paragraph.targetTree.text.trim().length > 0) {\r\n        this._firstParagraphTranslated = true;\r\n        this.tldScrollService.syncScrollbars(null, 0);\r\n      }\r\n    }\r\n  }\r\n\r\n  private updateParagraphs(paragraphIx: number, response: ITranslateParagraphResponse) {\r\n    let paragraph: IParagraphInfo = {\r\n      ix: paragraphIx,\r\n      target: response.targetTree,\r\n      source: response.sourceTree\r\n    };\r\n\r\n    this.paragraphs.splice(paragraphIx, 1, paragraph);\r\n    this.sourceParagraphs.splice(paragraphIx, 1, response.sourceTree);\r\n    this.targetParagraphs.splice(paragraphIx, 1, response.targetTree);\r\n\r\n    this.paragraphs.sort((a, b) => (a.ix > b.ix) ? 1 : -1);\r\n  }\r\n\r\n  private clearSourceParams() {\r\n    this._dictionaryEntry = null;\r\n    this._hasDictionary = false;\r\n    this.paragraphs = [];\r\n    this.targetParagraphs = [];\r\n    this.sourceParagraphs = [];\r\n    this.urlToTranslate = null;\r\n    this.textToSpeechTargetSettings = null;\r\n    this.textToSpeechSourceSettings = null;\r\n    this.stopTranslation();\r\n  }\r\n\r\n  private prepareAndTranslateWords(detectedLanguage?: string) {\r\n    if (this.activeData.sourceLanguage === AUTO_LANGUAGE_DETECTION_KEY && !this.activeData.detectedLanguage) {\r\n      this.translateText(this.sourceText, detectedLanguage);\r\n      this.hasDictionary = false;\r\n      return;\r\n    }\r\n\r\n    const dictionary = this.api.dictionaryTranslation(this.sourceText.trim(), this.activeData.detectedLanguage ?? this.activeData.sourceLanguage, this.activeData.targetLanguage);\r\n\r\n    this.dictionarySubscription = dictionary.request.subscribe({\r\n      next: (response) => {\r\n        this.dictionarySubscription = null;\r\n        this.dictionaryEntry = [];\r\n\r\n        this.setDictionaryTerms(response, dictionary.urls);\r\n        this.translateText(this.sourceText, detectedLanguage);\r\n      },\r\n      error: () => {\r\n        this.translateText(this.sourceText, detectedLanguage);\r\n        this.hasDictionary = false;\r\n      },\r\n    });\r\n  }\r\n\r\n  private setDictionaryTerms(response: Dictionary[][], urls: string[]): void {\r\n    response.forEach((res, i) => {\r\n      res.forEach((item) => {\r\n        const isTerminiGovLvCollection = urls[i].includes('termini');\r\n        const isTildeTermCollection = urls[i].includes('tilde');\r\n        const termWithSource = {\r\n          ...item,\r\n          dictionaryDomainUrl: urls[i],\r\n          sourceLabel: isTildeTermCollection ? this.translate.instant('TERM_PORTAL_NAME') : null,\r\n        };\r\n\r\n        const termSummary = termWithSource.languageSummaries?.find((summary) => summary.lang === this.activeData.targetLanguage);\r\n\r\n        if (termSummary) {\r\n          const collectionEntry = termWithSource.entrySummaries[0];\r\n          const collectionId = collectionEntry.collectionId;\r\n          const collectionTargetWord = termSummary.terms[0].term;\r\n\r\n          let collectionUrl;\r\n\r\n          if (isTildeTermCollection) {\r\n            collectionUrl = `${this.terminologyPortalUrl}/collections/${collectionId}`;\r\n          } else if (isTerminiGovLvCollection) {\r\n            collectionUrl = `https://${termWithSource.dictionaryDomainUrl}/kolekcijas/${collectionId}`\r\n          } else {\r\n            collectionUrl = `https://${termWithSource.dictionaryDomainUrl}/collections/${collectionId}`\r\n          }\r\n          \r\n\r\n          if (!this.dictionaryEntry.some((term) => term.targetWord === collectionTargetWord && term.termSource === collectionEntry.collectionName)) {\r\n            this.dictionaryEntry.push({\r\n              ...termWithSource,\r\n              targetWord: collectionTargetWord,\r\n              termSource: collectionEntry.collectionName,\r\n              collectionUrl: collectionUrl,\r\n            });\r\n          }\r\n        }\r\n      });\r\n    });\r\n\r\n    this.removeDictionaryDrafts();\r\n    this.hasDictionary = this.dictionaryEntry.length > 0;\r\n  }\r\n\r\n  private translateText(text: string, detectedLanguage?: string) {\r\n    const paragraphs = HtmlHelper.splitInParagraphs(text);\r\n    const newParagraphs: IParagraphInfo[] = [];\r\n    const newSourceParagraphs: IHighlightTree[] = [];\r\n    const newTargetParagraphs: IHighlightTree[] = [];\r\n\r\n    // source text changed. Previously made observables aren't necessary anymore;\r\n    this.recreateParagraphTranslationSubject(detectedLanguage);\r\n\r\n    paragraphs.forEach((paragraph, ix) => {\r\n      // Check if paragraph with same text exists (so you don't have to translate it again).\r\n      // If it does, you can clone it.\r\n      const existingParagraphInfo = TldTranslateTextUtils.findExistingParagraph(paragraph, ix, this.paragraphs);\r\n      const existingParagraph = existingParagraphInfo.existingParagraph;\r\n      if (existingParagraphInfo.existingParagraph) {\r\n        if (!existingParagraphInfo.hasSameIx) {\r\n          TldTranslateTextUtils.changeRootAndParagraphIx(existingParagraph.source, existingParagraph.source, existingParagraph.ix);\r\n          TldTranslateTextUtils.changeRootAndParagraphIx(existingParagraph.target, existingParagraph.target, existingParagraph.ix);\r\n        }\r\n        newParagraphs.splice(ix, 0, existingParagraph);\r\n        newTargetParagraphs.splice(ix, 0, existingParagraph.target);\r\n        newSourceParagraphs.splice(ix, 0, existingParagraph.source);\r\n      } else {\r\n        const newParagraph = TldTranslateTextUtils.createEmptyParagraphInfo(ix);\r\n\r\n        newParagraphs.splice(ix, 0, newParagraph);\r\n        newSourceParagraphs.splice(ix, 0, newParagraph.source);\r\n        newTargetParagraphs.splice(ix, 0, newParagraph.target);\r\n      }\r\n    });\r\n\r\n    this.paragraphs = newParagraphs;\r\n    this.targetParagraphs = newTargetParagraphs;\r\n    this.sourceParagraphs = newSourceParagraphs;\r\n\r\n    paragraphs.forEach((paragraph, ix) => {\r\n      this.paragraphTranslationsSubject.next({ ix: ix, line: paragraph });\r\n    });\r\n\r\n    if (this.isTranslating) {\r\n      this.setProgressIndicatorTimeout();\r\n    }\r\n  }\r\n\r\n  /** Creates timeout which enables progress indicator after given miliseconds */\r\n  private setProgressIndicatorTimeout() {\r\n    if (this.progressIndicatorTimeoutMiliSeconds === null || this.progressIndicatorTimeoutMiliSeconds === undefined) {\r\n      return;\r\n    }\r\n\r\n    if (this.configService.textConfig.progressIndicatorVisible) {\r\n      this.progressIndicatorTimeout = setTimeout(() => {\r\n        this.showProgressIndicator();\r\n      }, this.progressIndicatorTimeoutMiliSeconds);\r\n    }\r\n  }\r\n\r\n  /** Method for setting necessary properties to make progress indicator visible. */\r\n  private showProgressIndicator() {\r\n    this._shouldShowProgressIndicator = true;\r\n  }\r\n\r\n  /** Method for setting necessary properties to make progress indicator hidden. */\r\n  hideProgressIndicator() {\r\n    if (this.progressIndicatorTimeout) {\r\n      clearTimeout(this.progressIndicatorTimeout);\r\n    }\r\n    this._shouldShowProgressIndicator = false;\r\n  }\r\n\r\n  private toggleTextToSpeech() {\r\n    // if nothing translated, tts should not be available\r\n    if (!this.targetParagraphs.length) {\r\n      return;\r\n    }\r\n\r\n    const activeSystem = this.activeData;\r\n    const sourceTTSSystemId = this.systemManagementService.ttsSystems().find(ttsSystem => ttsSystem.language === activeSystem.sourceLanguage)?.systemId;\r\n    this.textToSpeechSourceSettings = this.findTextToSpeechSettings(this.sourceText, sourceTTSSystemId);\r\n    const targetTTSSystemId = this.systemManagementService.ttsSystems().find(ttsSystem => ttsSystem.language === activeSystem.targetLanguage)?.systemId;\r\n    this.textToSpeechTargetSettings = this.findTextToSpeechSettings(this.translatedText, targetTTSSystemId);\r\n  }\r\n\r\n  private findTextToSpeechSettings(text: string, systemId?: string): TextToSpeechSettings {\r\n    if (!this.configService.speechConfig.textToSpeech?.enabled || !systemId) {\r\n      return null;\r\n    }\r\n    return {\r\n      text,\r\n      systemId,\r\n      maxCharsInText: this.configService.speechConfig.textToSpeech.maxCharsInText\r\n    }\r\n  }\r\n\r\n  private removeDictionaryDrafts(): void {\r\n    const collectionDraftStatus = 'Draft';\r\n\r\n    this.dictionaryEntry = this.dictionaryEntry.map(entry => ({\r\n      ...entry,\r\n      languageSummaries: entry.languageSummaries?.map(languageSummary => ({\r\n        ...languageSummary,\r\n        terms: languageSummary.terms.filter(term => term.termStatus !== collectionDraftStatus)\r\n      }))\r\n    }));\r\n  }\r\n}\r\n","import { AfterViewInit, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { HighlightParams } from '../../models/highlight-params.model';\r\nimport { IHighlightTree } from '../../models/highlight-tree.model';\r\nimport { TldTranslateTextService } from '../../services/tld-translate-text.service';\r\nimport { AlertService } from '@tilde-nlp/ngx-common';\r\n\r\n@Component({\r\n    selector: 'tld-textarea-with-background',\r\n    templateUrl: './textarea-with-background.component.html',\r\n    styleUrls: ['./textarea-with-background.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TextareaWithBackgroundComponent implements OnInit, AfterViewInit {\r\n  @ViewChild(\"sourceInput\") sourceInput: ElementRef;\r\n  @ViewChild(\"treeWrapper\") treeWrapper: ElementRef;\r\n\r\n  @Input() maxCharLength: number;\r\n  @Input() autoFocuss: boolean;\r\n  @Input() highlightTree: IHighlightTree[];\r\n  @Input() highlight: boolean;\r\n  @Input() textareaDisabled: boolean;\r\n\r\n  private _sourceText: string;\r\n  get sourceText() { return this._sourceText; };\r\n  set sourceText(val) {\r\n    this._sourceText = val;\r\n    // this is necessary so that highlighting is always in his real place also when tree wrapper is not finished rendering.\r\n    if (this.treeWrapper) {\r\n      this.treeWrapper.nativeElement.style.height = this.sourceInput.nativeElement.scrollHeight;\r\n    }\r\n    this.textService.changeSource({ phrase: val });\r\n  }\r\n\r\n  get hasOverflow() {\r\n    const textarea = document.querySelector('textarea');\r\n    const textareaOverflow = textarea.scrollHeight > textarea.clientHeight; \r\n    return textareaOverflow;\r\n  }\r\n\r\n  readonly clearButtonAriaCode = \"CLEAR_SOURCE\";\r\n  readonly wrapperClass = HighlightParams.sourceHighlightClass;\r\n\r\n  constructor(private readonly alerts: AlertService,\r\n    private readonly textService: TldTranslateTextService) { }\r\n\r\n  ngOnInit(): void {\r\n    this._sourceText = this.textService.sourceText;\r\n\r\n    this.textService.sourceChange.subscribe((event) => {\r\n      //this.changeSourceManually(event);\r\n      this._sourceText = event.phrase;\r\n      if (!this.sourceText || this.sourceText.length === 0) {\r\n        setTimeout(() => {\r\n          this.sourceInput.nativeElement.focus();\r\n        }, 0);\r\n      }\r\n    });\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    if (this.autoFocuss) {\r\n      this.focus();\r\n    }\r\n  }\r\n\r\n  onPaste(event: ClipboardEvent) {\r\n    if (this.maxCharLength > 0) {\r\n      const totalCharLength = (this.sourceText || \"\").length + event.clipboardData.getData(\"text\").length;\r\n      if (totalCharLength > this.maxCharLength) {\r\n        this.alerts.warning(\"ERRORS.MAX_CHAR_LENGTH\", { maxCharLength: this.maxCharLength, totalSymbols: totalCharLength});\r\n      }\r\n    }\r\n  }\r\n\r\n  private focus() {\r\n    this.sourceInput?.nativeElement?.focus();\r\n  }\r\n}\r\n","<div [class.textarea-overflow]=\"hasOverflow\" class=\"textarea-with-background\">\r\n\t<textarea\r\n\t\t#sourceInput\r\n\t\tfxFlex\r\n\t\tmatInput\r\n\t\tcdkScrollable\r\n\t\tspellcheck=\"false\"\r\n\t\t[(ngModel)]=\"sourceText\"\r\n\t\t[disabled]=\"textareaDisabled\"\r\n\t\t[attr.maxLength]=\"maxCharLength ? maxCharLength : null\"\r\n\t\t[attr.aria-label]=\"'TLD_TRANSLATE.SOURCE_TOOLTIP' | translate\"\r\n\t\t(paste)=\"onPaste($event)\"\r\n\t></textarea>\r\n\t<div class=\"{{ wrapperClass }}\" *ngIf=\"highlight\" cdkScrollable #treeWrapper>\r\n\t\t<div class=\"textarea-highlight-backround-inner\" cdkScrollable>\r\n\t\t\t<div *ngFor=\"let paragraph of highlightTree\">\r\n\t\t\t\t<tld-highlight-tree [isSource]=\"true\" [tree]=\"paragraph\" [highlight]=\"highlight\"></tld-highlight-tree>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { Dictionary } from '../../models/dictionary.model';\r\n\r\n@Component({\r\n    selector: 'tld-dictionary',\r\n    templateUrl: './tld-dictionary.component.html',\r\n    styleUrls: ['./tld-dictionary.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldDictionaryComponent {\r\n\t@Input() set dictionary(data: Dictionary[]) {\r\n\t\tthis.groupDictionariesByDomain(data);\r\n\t}\r\n\r\n\tdictionaryGroups: { [key: string]: Dictionary[] } = {};\r\n\r\n\tprivate groupDictionariesByDomain(data: Dictionary[]): void {\r\n\t\tif (!data?.length) {\r\n\t\t\tthis.dictionaryGroups = null;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.dictionaryGroups = data.reduce((acc, dictionary) => {\r\n\t\t\tconst domain = dictionary.sourceLabel ?? dictionary.dictionaryDomainUrl;\r\n\t\t\tif (!acc[domain]) {\r\n\t\t\t\tacc[domain] = [];\r\n\t\t\t}\r\n\t\t\tacc[domain].push(dictionary);\r\n\t\t\treturn acc;\r\n\t\t}, {} as { [key: string]: Dictionary[] });\r\n\t}\r\n}\r\n","<div *ngFor=\"let domain of dictionaryGroups | keyvalue\">\r\n\t<div fxFlex fxLayout=\"column\" class=\"dictionary-area\">\r\n\t\t<div fxFlex fxLayout=\"column\">\r\n\t\t\t<p class=\"dictionary-source\">{{ 'DICTIONARY.SOURCE' | translate: { src: domain.key | titlecase } }}</p>\r\n\r\n\t\t\t<div *ngFor=\"let dictionary of domain.value\" class=\"dictionary-target-wrapper\">\r\n\t\t\t\t<a [href]=\"dictionary.collectionUrl\" target=\"_blank\" class=\"dictionary-target-word\">{{ dictionary.targetWord }}</a>\r\n\r\n\t\t\t\t<div class=\"dictionary-word-source\">{{ dictionary.termSource }}</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TldTranslateConfigService } from '../../../tld-common/services';\r\nimport { IHighlightTree } from '../../models/highlight-tree.model';\r\nimport { TldTranslateTextService } from '../../services/tld-translate-text.service';\r\n\r\n@Component({\r\n    selector: 'tld-translate-source',\r\n    templateUrl: './tld-translate-source.component.html',\r\n    styleUrls: ['./tld-translate-source.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslateSourceComponent implements OnInit {\r\n  @Input() textareaDisabled: boolean;\r\n  @Input() sourceParagraphs: IHighlightTree[];\r\n\r\n  // params from config.\r\n  autoFocuss: boolean;\r\n  highlight: boolean;\r\n  showSensitiveInfoTooltip: boolean;\r\n  allowedFileTypes: string[];\r\n  extendedFileTypes: string[];\r\n  showExtensionsUnauthOnly: boolean;\r\n  webTranslation: boolean;\r\n  get isAuth() { return this.config.coreConfig.isAuth; };\r\n  maxCharLength: number;\r\n\r\n  acceptedTypesString: string;\r\n  extendedFileTypesString: string;\r\n  sourceChangedManually = false;\r\n  get sourceText(): string { return this.textService?.sourceText };\r\n  get sourceTextHypothesis(): string{ return this.textService?.sourceTextHypothesis}\r\n\r\n\r\n  get showPlaceHolder(): boolean {\r\n    return (!this.sourceText || this.sourceText.length == 0) && !this.isDictating;\r\n  };\r\n  get registerLink() { return this.config.coreConfig.registerLink }\r\n  get isDictating() { return this.textService.isDictating; }\r\n  get showExtensions() {\r\n    return this.config.textConfig.showAvailableExtensions;\r\n  }\r\n  get appName() {\r\n    return this.config.coreConfig.appName;\r\n  }\r\n\r\n  constructor(private readonly config: TldTranslateConfigService,\r\n    private readonly textService: TldTranslateTextService) {\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    const textCfg = this.config.textConfig;\r\n    const fileCfg = this.config.fileConfig;\r\n\r\n    this.autoFocuss = this.config.textConfig.autoFocuss;\r\n    this.highlight = this.config.textConfig.highlight;\r\n    this.allowedFileTypes = fileCfg.allowedFileTypes;\r\n    this.extendedFileTypes = fileCfg.extendedFileTypes;\r\n    this.maxCharLength = textCfg.maxCharLength;\r\n    this.showExtensionsUnauthOnly = textCfg.showExtensionsUnauthOnly;\r\n    this.showSensitiveInfoTooltip = textCfg.showSensitiveInfoTooltip;\r\n    this.webTranslation = textCfg.allowWebsiteTranslation;\r\n\r\n    this.acceptedTypesString = this.allowedFileTypes.join(\", \").replace(/\\./g, '');\r\n    this.extendedFileTypesString = this.extendedFileTypes.join(\", \").replace(/\\./g, '');\r\n  }\r\n}\r\n","<div class=\"tld-translate-source-wrapper\" fxFlex fxLayout=\"column\">\r\n  <div class=\"source-input-wrapper\" fxFlex>\r\n    <tld-textarea-with-background *ngIf=\"!isDictating\" [textareaDisabled]=\"textareaDisabled\" [highlight]=\"highlight\"\r\n      [autoFocuss]=\"autoFocuss\" [highlightTree]=\"sourceParagraphs\" fxFlex\r\n      [maxCharLength]=\"maxCharLength\"></tld-textarea-with-background>\r\n    <div *ngIf=\"isDictating\" class=\"asr-result-wrapper\">\r\n      <span class=\"asr-result\">\r\n        {{sourceText}}\r\n      </span>\r\n      <span class=\"asr-hypothesis\">\r\n        {{sourceTextHypothesis}}\r\n      </span>\r\n    </div>\r\n  </div>\r\n  <div fxLayout=\"column\" fxFlex *ngIf=\"showPlaceHolder\" class=\"description-text tld-trg-placeholder\">\r\n    <div fxFlex>\r\n      <p\r\n        [innerHtml]=\"(webTranslation?'TLD_TRANSLATE.SOURCE_TOOLTIP':'TLD_TRANSLATE.SOURCE_TOOLTIP_ONLY_TEXT') | translate: {appName: appName}\">\r\n      </p>\r\n      <ng-container *ngIf=\"showSensitiveInfoTooltip\">\r\n        <br fxHide.xs />\r\n        <p>{{'TLD_TRANSLATE.SOURCE_TOOLTIP_SENSITIVE_INFO' | translate: {appName: appName} }}</p>\r\n      </ng-container>\r\n    </div>\r\n\r\n    <div *ngIf=\"showExtensions\" class=\"extension-container\">\r\n      <ng-container *ngIf=\"!isAuth\">\r\n        <p class=\"description-smaller\">\r\n          <span>{{'TLD_TRANSLATE.SOURCE_FORMATS' | translate: { formats:acceptedTypesString, appName:\r\n            appName} }}</span>\r\n        </p>\r\n\r\n        <ng-container *ngIf=\"!showExtensionsUnauthOnly\">\r\n          <br fxHide.xs />\r\n          <p class=\"description-smaller\" *ngIf=\" !isAuth\"\r\n            [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS' | translate: { formats:extendedFileTypesString, registerLink:registerLink, appName: appName }\">\r\n        </ng-container>\r\n      </ng-container>\r\n\r\n      <p class=\"description-smaller\" *ngIf=\"isAuth\"\r\n        [innerHtml]=\"'TLD_TRANSLATE.REGISTERED_FORMATS_LOGGED_IN' | translate: { formats:extendedFileTypesString, registerLink:registerLink, appName: appName }\">\r\n      </p>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { CommonModule } from '@angular/common';\r\nimport { Component, computed, inject, input, OnInit, signal } from '@angular/core';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AlertService, LLMActions, OpenCloseButtonModule, PlausibleHelper } from '@tilde-nlp/ngx-common';\r\nimport { LLMRephraseUseCase, LLMService, LLMWritingStyle } from '@tilde-nlp/ngx-services';\r\nimport { marked } from 'marked';\r\nimport { finalize } from 'rxjs';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\r\n\r\n@Component({\r\n    selector: 'tld-rephrase',\r\n    imports: [\r\n        CommonModule,\r\n        MatMenuModule,\r\n        OpenCloseButtonModule,\r\n        TranslateModule,\r\n        MatButtonModule,\r\n        MatIconModule,\r\n        MatTooltipModule,\r\n        FlexLayoutModule,\r\n    ],\r\n    templateUrl: './rephrase.component.html',\r\n    styleUrl: './rephrase.component.scss'\r\n})\r\nexport class RephraseComponent implements OnInit {\r\n\ttext = input('');\r\n\tlanguage = input('');\r\n\tdisabled = input(false);\r\n\r\n\tisLoading = signal(false);\r\n\r\n\treadonly #llm = inject(LLMService);\r\n\treadonly #clipboard = inject(Clipboard);\r\n\treadonly #alerts = inject(AlertService);\r\n\r\n\treadonly rephraseStyleLocalStorageKey = 'REPHRASE_STYLE';\r\n\r\n\trephraseStyles: LLMWritingStyle[] = Object.values(LLMWritingStyle);\r\n\tselectedRephrasingStyle = signal<LLMWritingStyle | null>(null);\r\n\r\n\trephrasedText = signal('');\r\n\tmarkedRephrasedText = computed(() => marked.parse(this.rephrasedText()));\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.selectedRephrasingStyle.set((localStorage.getItem(this.rephraseStyleLocalStorageKey) as LLMWritingStyle) ?? null);\r\n\r\n\t\tif (this.selectedRephrasingStyle()) {\r\n\t\t\tthis.rephrase(this.selectedRephrasingStyle());\r\n\t\t}\r\n\t}\r\n\r\n\trephrase(style: LLMWritingStyle): void {\r\n\t\tthis.rephrasedText.set('');\r\n\r\n\t\tthis.setSelectedWritingStyle(style);\r\n\r\n\t\tthis.isLoading.set(true);\r\n\r\n\t\tthis.rephrasePlausible();\r\n\r\n\t\tthis.#llm\r\n\t\t\t.rephrase({\r\n\t\t\t\tuseCase: LLMRephraseUseCase.General,\r\n\t\t\t\tlanguage: this.language(),\r\n\t\t\t\tstyle: this.selectedRephrasingStyle(),\r\n\t\t\t\ttext: this.text(),\r\n\t\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\tfinalize(() => {\r\n\t\t\t\t\tthis.isLoading.set(false);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (text) => {\r\n\t\t\t\t\tthis.rephrasedText.set(text);\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tcopyRephraseText() {\r\n\t\tthis.#clipboard.copy(this.rephrasedText());\r\n\t\tthis.#alerts.success('TLD_TRANSLATE.REPHRASE.COPIED');\r\n\t\tthis.copyPlausible();\r\n\t}\r\n\r\n\tprivate setSelectedWritingStyle(style: LLMWritingStyle): void {\r\n\t\tthis.selectedRephrasingStyle.set(style);\r\n\r\n\t\tlocalStorage.setItem(this.rephraseStyleLocalStorageKey, style);\r\n\t}\r\n\r\n\tprivate rephrasePlausible(): void {\r\n\t\tPlausibleHelper.customEvent(LLMActions.REPHRASE.toLowerCase(), { writingStyle: this.selectedRephrasingStyle() });\r\n\t}\r\n\r\n\tprivate copyPlausible(): void {\r\n\t\tPlausibleHelper.customEvent(LLMActions.REPHRASE.toLowerCase(), { action: 'copy' });\r\n\t}\r\n}\r\n","<lib-open-close-button\r\n\t[ngClass.lt-sm]=\"'mobile'\"\r\n\tclass=\"rephrase-menu-btn\"\r\n\t#state=\"matMenuTrigger\"\r\n\t[matMenuTriggerFor]=\"rephraseStylesMenu\"\r\n\t[isOpened]=\"state.menuOpen\"\r\n\t[disabled]=\"disabled()\"\r\n>\r\n\t<span class=\"rephrase-title\">{{ \"TLD_TRANSLATE.REPHRASE.TITLE\" | translate }} ({{ selectedRephrasingStyle() ?? \"TLD_TRANSLATE.REPHRASE.CHOOSE_LABEL\" | translate }})</span>\r\n</lib-open-close-button>\r\n\r\n<mat-menu #rephraseStylesMenu=\"matMenu\" class=\"rephrase-menu\">\r\n\t@for (style of rephraseStyles; track style) {\r\n\t<button mat-menu-item (click)=\"rephrase(style)\">\r\n\t\t{{ \"TLD_TRANSLATE.REPHRASE.STYLES.\" + (style | uppercase) | translate }}\r\n\t</button>\r\n\t}\r\n</mat-menu>\r\n\r\n@if (isLoading()) {\r\n<p class=\"rephrasing\">{{ \"TLD_TRANSLATE.REPHRASE.LOADING\" | translate }}<span class=\"dot-loading\">...</span></p>\r\n} @if(!selectedRephrasingStyle()) {\r\n<p class=\"rephrase-hint\">{{ \"TLD_TRANSLATE.REPHRASE.HINT\" | translate }}</p>\r\n}\r\n\r\n<p [innerHTML]=\"markedRephrasedText()\"></p>\r\n\r\n@if (rephrasedText()) {\r\n<button mat-icon-button [ngClass.lt-sm]=\"'rephrase-mobile'\" class=\"rephrase-copy-btn\" (click)=\"copyRephraseText()\" [matTooltip]=\"'TOOLTIPS.COPY' | translate\">\r\n\t<span class=\"material-icons\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.COPY' | translate\"> content_copy </span>\r\n</button>\r\n}\r\n","import { Clipboard } from '@angular/cdk/clipboard';\r\nimport { Component, computed, EventEmitter, Input, OnDestroy, OnInit, Output, signal, ViewChild } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { distinctUntilChanged, finalize, takeUntil } from 'rxjs/operators';\r\nimport { AudioErrorCase, ITranscriptionUpdateModel } from '../../../tld-audio/models';\r\nimport { IDictateConfiguration } from '../../../tld-audio/models/dictate-configurationi.model';\r\nimport { AudioRecordService, TldVoiceInputService } from '../../../tld-audio/services';\r\nimport { TldTranslateSystemManagementService, TldTranslateConfigService } from '../../../tld-common/services';\r\nimport { TldScrollService } from '../../../tld-common/services/scroll/tld-scroll.service';\r\nimport { TldTranslateFileService } from '../../../tld-document/services';\r\nimport { TldTranslateTextService } from '../../services/tld-translate-text.service';\r\nimport { TldTranslateSourceComponent } from '../tld-translate-source/tld-translate-source.component';\r\nimport { ActiveData, AlertService, ConversionHelper, FileUploadError, HashHelper, PlausibleHelper, ResolutionHelper, LLMActions } from '@tilde-nlp/ngx-common';\r\nimport { TldDictateComponent } from '../../../tld-audio';\r\nimport { LLMService, LLMSummaryUseCase } from '@tilde-nlp/ngx-services';\r\nimport { marked } from 'marked';\r\nimport { KeycloakService } from 'keycloak-angular';\r\n\r\n\r\n@Component({\r\n    selector: 'tld-translate-text',\r\n    templateUrl: './tld-translate-text.component.html',\r\n    styleUrls: ['./tld-translate-text.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslateTextComponent implements OnInit, OnDestroy {\r\n  @ViewChild(\"sourceComponent\") sourceComponent: TldTranslateSourceComponent;\r\n  @ViewChild(\"dictate\") dictateComponent: TldDictateComponent;\r\n  @Input() filePreviewProgress: number;\r\n  @Output() onFileChange: EventEmitter<File[]> = new EventEmitter<File[]>();\r\n\r\n  activeData = signal<ActiveData | undefined>(undefined);\r\n  get systemId() { return this.activeData()?.systemId; };\r\n  //params from config service.\r\n  get allowedFileTypes(): string[] { return this.config.fileConfig.allowedFileTypes; };\r\n  get extendedFileTypes(): string[] { return this.config.fileConfig.extendedFileTypes; };\r\n  get appId(): string { return this.config.coreConfig.appId; };\r\n  get highlight(): boolean { return this.config.textConfig.highlight; };\r\n  get fileUpload(): boolean { return this.config.fileConfig.fileUpload && !this.isMobile && !(this.isDictating || this.audioService?.isRecording || this.voiceInputService.isProcessing) && !this.source?.length };\r\n  get isAuth() { return this.config.coreConfig.isAuth; };\r\n  get maxFileUploadSize(): number { return this.config.fileConfig.maxSize; };\r\n  get multipleFiles(): boolean { return this.config.fileConfig.numberOfFilesAllowed > 1; };\r\n  get updateTranslationUrl(): string { return this.config.textConfig.updateTranslationUrl; };\r\n  get allowWebsiteTranslation(): boolean { return this.config.textConfig.allowWebsiteTranslation; };\r\n  get autoRedirectToWebTranslate(): boolean { return this.config.textConfig.autoRedirectToWebTranslate; };\r\n  get webWidgetRedirectUrlPrefix(): string { return this.config.textConfig.webWidgetRedirectUrlPrefix; };\r\n  get webWidgetRedirectUrlPosfix(): string { return this.config.textConfig.webWidgetRedirectUrlPosfix; };\r\n  get textareaDisabled(): boolean { return this.audioService.isRecording || this.voiceInputService.isProcessing || this.isDictating || this.tldSystem.noSystemsError };\r\n  get fileUploadDisabled(): boolean { return this.tldSystem.noSystemsError };\r\n  get isDictating() { return this.translateTextService.isDictating; };\r\n  get sourceLanguage() { return this.activeData()?.sourceLang.lang; }\r\n  get targetLanguage() { return this.activeData()?.targetLang.lang; }\r\n  get hasTranslatedParagraphs() { return this.targetParagraphs?.length > 0 }\r\n  get isEmptyTarget() { return !this.hasTranslatedParagraphs && !this.urlToTranslate && !this.hasDictionary }\r\n  get showTargetPlaceholder() { return this.config.textConfig.showTargetPlaceholder }\r\n  get showExtensionPopup() { return this.config.textConfig.showExtensionPopup && this.visibleExtensionCount < this.allowedFileTypes.length }\r\n  get visibleExtensionCount() { return this.config.textConfig.visibleExtensionCount };\r\n  get textToSpeechTargetSettings() { return this.translateTextService.textToSpeechTargetSettings };\r\n  get textToSpeechSourceSettings() { return this.translateTextService.textToSpeechSourceSettings };\r\n  get uploadIconName() { return this.config.coreConfig.uploadIconName };\r\n  get isLlmEnabled() { return this.config.llmConfig.isEnabled };\r\n\r\n  audioInputVisible = computed(() => { return this.config.speechConfig.onlineAsr?.enabled && this.onlineAsrSystemId(); });\r\n  targetSentenceSelect: boolean = true;\r\n  get urlToTranslate() { return this.translateTextService.urlToTranslate; };\r\n\r\n  onlineAsrSystemId = computed(() => {\r\n    const onlineSystems = this.tldSystem.onlineASrSystems();\r\n    const active = this.activeData();\r\n\r\n    if (!this.config.speechConfig.onlineAsr?.enabled && onlineSystems.length === 0) {\r\n      return null;\r\n    }\r\n\r\n    return onlineSystems.find((onlineSystem) => onlineSystem.language === active?.sourceLang.lang)?.systemId;\r\n  });\r\n\r\n  allowedTypesWithoutDots: string[] = [];\r\n\r\n  readonly copyMessageId = \"tld-copy-success\";\r\n  readonly copyMessageCloseButtonId = \"tld-copy-success-close\";\r\n  readonly copyButtonId = \"tld-copy-to-clipboard\";\r\n\r\n  get translatedText(): string {\r\n    return this.translateTextService.translatedText;\r\n  }\r\n\r\n  get firstParagraphTranslated() {\r\n    return this.translateTextService.firstParagraphTranslated;\r\n  }\r\n\r\n  get isTranslating() {\r\n    return this.translateTextService.isTranslating;\r\n  }\r\n\r\n  get translationError() {\r\n    return this.source && !this.isTranslating;\r\n  }\r\n\r\n  get isTextSummarizable() {\r\n    return this.translateTextService.sourceText?.length > 300;\r\n  }\r\n\r\n  get hasDictionary() { return this.translateTextService.hasDictionary; }\r\n  get dictionaryEntry() { return this.translateTextService.dictionaryEntry; }\r\n  get source() { return this.translateTextService.sourceText; }\r\n  get translateUrlRedirect() { return this.translateTextService.translateUrlRedirect; }\r\n  get showProgressIndicator() { return this.translateTextService.shouldShowProgressIndicator; }\r\n  get paragraphs() { return this.translateTextService.paragraphs; };\r\n  get sourceParagraphs() { return this.translateTextService.sourceParagraphs; }\r\n  get targetParagraphs() { return this.translateTextService.targetParagraphs; }\r\n\r\n  get targetWrapperOverflow() {\r\n    const targetWrapper = document.querySelector('.target-main');\r\n    const targetWrapperOverflow = targetWrapper.scrollHeight > targetWrapper.clientHeight;\r\n    return targetWrapperOverflow;\r\n  }\r\n\r\n  dictateConfig: IDictateConfiguration;\r\n  visibleExtensions: string;\r\n  maxSizeMB: number;\r\n\r\n  isRephraseActive!: boolean;\r\n  isSummarazing!: boolean;\r\n  summarizedText!: string;\r\n  markedSummarizedText!: string;\r\n  summarizeFeatureLocalStorageKey!: string;\r\n  rephraseFeatureLocalStorageKey!: string;\r\n  isMobile!: boolean;\r\n\r\n  private readonly destroy$ = new Subject();\r\n\r\n  constructor(\r\n    private readonly translateTextService: TldTranslateTextService,\r\n    private readonly clipboard: Clipboard,\r\n    private readonly alerts: AlertService,\r\n    private readonly config: TldTranslateConfigService,\r\n    private readonly tldScrollService: TldScrollService,\r\n    private readonly tldSystem: TldTranslateSystemManagementService,\r\n    private readonly audioService: AudioRecordService,\r\n    private readonly voiceInputService: TldVoiceInputService,\r\n    private readonly fileService: TldTranslateFileService,\r\n    private readonly llmService: LLMService,\r\n    private readonly keycloak: KeycloakService\r\n  ) { }\r\n\r\n  ngOnInit(): void {\r\n    this.isMobile = ResolutionHelper.isMobileRes();\r\n    \r\n    this.summarizeFeatureLocalStorageKey = this.keycloak.getKeycloakInstance()?.tokenParsed ? `summarizeFeatureDialogShown_${HashHelper.hashString(this.keycloak.getKeycloakInstance().tokenParsed.email)}` : 'summarizeFeatureDialogShown';\r\n    this.rephraseFeatureLocalStorageKey = this.keycloak.getKeycloakInstance()?.tokenParsed ? `rephraseFeatureDialogShown_${HashHelper.hashString(this.keycloak.getKeycloakInstance().tokenParsed.email)}` : 'rephraseFeatureDialogShown';\r\n\r\n    this.translateTextService.listenOnChanges();\r\n    this.translateTextService.sourceChange.subscribe(() => {\r\n      this.clearSummarize();\r\n      this.isRephraseActive = false;\r\n    })\r\n    this.dictateConfig = {\r\n      maxLength: this.config.speechConfig?.onlineAsr?.maximumRecordTime,\r\n      apiUrl: this.config.speechConfig.onlineAsr?.url,\r\n      apiKey: this.config.speechConfig.apiKey\r\n    }\r\n\r\n    this.visibleExtensions = this.allowedFileTypes.slice(0, this.visibleExtensionCount).join(\", \");\r\n    this.allowedFileTypes.forEach((el) => this.allowedTypesWithoutDots.push(el.replace('.', '')));\r\n\r\n    this.maxSizeMB = ConversionHelper.bytesToMb(this.config.fileConfig.maxSize);\r\n\r\n    this.tldSystem.getActiveData().pipe(distinctUntilChanged((x, y) => x && y && x.languageId == y.languageId))\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe((syst) => {\r\n        if (!syst) {\r\n          return;\r\n        }\r\n        this.activeData.set(syst);\r\n\r\n        if (this.activeData().retranslate) {\r\n          this.clearSummarize();\r\n          this.isRephraseActive = false;\r\n          this.translateTextService.retranslate({ systemChanged: true });\r\n        }\r\n      });\r\n\r\n\r\n    this.tldScrollService.subscribeToScroll();\r\n\r\n    if (this.config.speechConfig.onlineAsr?.enabled) {\r\n      this.audioService.onRecordStart.pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n        this.translateTextService.changeSource({ phrase: \"\" });\r\n      })\r\n\r\n      this.voiceInputService.onTranscribtionTextUpdated.pipe(takeUntil(this.destroy$))\r\n        .subscribe((event: ITranscriptionUpdateModel) => {\r\n          this.translateTextService.changeSource({ phrase: event.text, swapSystems: false, disableAutomaticTranslation: !event.completed });\r\n          if (event.completed && (!event.text || event.text === \"\")) {\r\n            this.alerts.warning(`ERRORS.AUDIO.${AudioErrorCase.NO_TEXT_RECOGNIZED}`)\r\n          }\r\n        })\r\n    }\r\n  }\r\n\r\n  copy() {\r\n    this.clipboard.copy(this.translatedText);\r\n    this.alerts.success(\"TLD_TRANSLATE.TEXT_COPIED\", { id: this.copyMessageId, closeButtonId: this.copyMessageCloseButtonId, parentId: this.copyButtonId });\r\n  }\r\n\r\n  copySummarizedText() {\r\n    this.clipboard.copy(this.summarizedText);\r\n    this.alerts.success(\"TLD_TRANSLATE.SUMMARY.COPIED\");\r\n    this.summaryCopyPlausible();\r\n  }\r\n\r\n  refresh() {\r\n    this.translateTextService.onTranslateButtonClick();\r\n    this.clearSummarize();\r\n    this.isRephraseActive = false;\r\n  }\r\n\r\n  showRephraseOptions(): void {\r\n    this.isRephraseActive = true;\r\n    this.scroll('.rephrase-wrapper');\r\n  }\r\n\r\n  createSummary() {\r\n    this.summarizedText = '';\r\n    this.markedSummarizedText = '';\r\n    this.isSummarazing = true;\r\n\r\n    this.scroll('.summary-wrapper');\r\n\r\n    this.llmService\r\n      .summarize({ language: this.targetLanguage, text: this.translatedText, useCase: LLMSummaryUseCase.Brief })\r\n      .pipe(finalize(() => (this.isSummarazing = false)))\r\n      .subscribe({\r\n        next: (response) => {\r\n          this.summarizedText = response;\r\n          this.markedSummarizedText = marked.parse(response) as string;\r\n        },\r\n      });\r\n\r\n    this.summaryPlausible();\r\n  }\r\n\r\n  switchFocusFromCopy(event) {\r\n    const copyMessageCloseButton = document.getElementById(this.copyMessageCloseButtonId)?.getElementsByTagName(\"button\")?.item(0);\r\n    if (copyMessageCloseButton) {\r\n      event.preventDefault();\r\n      copyMessageCloseButton.focus();\r\n    }\r\n  }\r\n\r\n  fileChange(files: File[]) {\r\n    this.onFileChange.emit(files);\r\n  }\r\n\r\n  fileUploadError(error: any) {\r\n    this.fileService.fileUploadError(error as FileUploadError);\r\n  }\r\n\r\n  navigateToTranslatedUrl() {\r\n    window.location.replace(this.translateUrlRedirect);\r\n  }\r\n\r\n  dictateStartStop(isDictating: boolean) {\r\n    const phrase = `${this.translateTextService.sourceText}${this.translateTextService.sourceText?.length > 0 ? \" \" : \"\"}${this.translateTextService.sourceTextHypothesis}`;\r\n    this.translateTextService.isDictating = isDictating;\r\n    // Translation has ended.\r\n    if (!isDictating) {\r\n      if (this.config.speechConfig.onlineAsr.punctuationMessage && phrase?.length > 0) {\r\n        this.alerts.warning(\"AUDIO.PUNCTUATION_MESSAGE\");\r\n      }\r\n\r\n      this.translateTextService.changeSource(\r\n        {\r\n          phrase,\r\n          disableAutomaticTranslation: this.isDictating || this.config.audioConfig.disableAutomaticTranslation\r\n        });\r\n      this.translateTextService.changeSourceHypothesis(\"\");\r\n    }\r\n    else {\r\n      this.translateTextService.clearSource();\r\n    }\r\n  }\r\n\r\n  dictateResult(result: string) {\r\n    this.translateTextService.changeSourceHypothesis(\"\");\r\n    this.translateTextService.changeSource({ phrase: result, disableAutomaticTranslation: this.isDictating })\r\n  }\r\n\r\n  dictatePartialResult(partialResult: string) {\r\n    this.translateTextService.changeSourceHypothesis(partialResult);\r\n  }\r\n\r\n  dictateError(error: AudioErrorCase) {\r\n    if (error === AudioErrorCase.MAX_TIME_EXCEEDED) {\r\n      let timeString = \"\";\r\n      const maxLengthTime = new Date(0, 0, 0, 0, 0, this.config.speechConfig.onlineAsr.maximumRecordTime);\r\n\r\n      const minutes = maxLengthTime.getMinutes();\r\n      if (minutes > 0) {\r\n        timeString += `${minutes} minutes`;\r\n      }\r\n\r\n      const seconds = maxLengthTime.getSeconds();\r\n      if (seconds > 0) {\r\n        timeString += `${seconds} seconds`\r\n      }\r\n      this.alerts.warning(`ERRORS.AUDIO.${error}`, { timeString });\r\n    } else if (error === AudioErrorCase.NO_SPEECH) {\r\n      this.alerts.warning(`ERRORS.AUDIO.${error}`);\r\n    } else if (error === AudioErrorCase.MIC_NOT_ALLOWED) {\r\n      this.alerts.warning(`ERRORS.AUDIO.${error}`);\r\n    } else {\r\n      this.alerts.unhandeledError({ ErrorCode: error });\r\n    }\r\n  }\r\n\r\n  clearSource() {\r\n    this.translateTextService.clearSource();\r\n    this.clearSummarize();\r\n    this.isRephraseActive = false;\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.translateTextService.stopListeningToChanges();\r\n    this.tldScrollService.unsubscribeToScroll();\r\n    this.destroy$.next(null)\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  closeProgressIndicator() {\r\n    this.translateTextService.hideProgressIndicator();\r\n    this.translateTextService.stopTranslation();\r\n  }\r\n\r\n  openFileUpload(): void {\r\n    const uploadButton = document.querySelector('.upload-button') as HTMLElement;\r\n    uploadButton.click();\r\n  }\r\n\r\n  private summaryPlausible(): void {\r\n    PlausibleHelper.customEvent(LLMActions.SUMMARY.toLowerCase(), { action: 'summary' });\r\n  }\r\n\r\n  private summaryCopyPlausible(): void {\r\n    PlausibleHelper.customEvent(LLMActions.SUMMARY.toLowerCase(), { action: 'copy' });\r\n  }\r\n\r\n  private scroll(elementClassName: string): void {\r\n    setTimeout(() => {\r\n      const container = document.querySelector('.translated-source');\r\n      container.querySelector(elementClassName).scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n    }, 100);\r\n  }\r\n\r\n  private clearSummarize(): void {\r\n    this.summarizedText = null;\r\n    this.markedSummarizedText = null;\r\n  }\r\n}\r\n","<!-- 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, '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 dictation *ngIf=\"audioInputVisible()\">\r\n\t\t<tld-dictate\r\n\t\t\t#dictate\r\n\t\t\t[configuration]=\"dictateConfig\"\r\n\t\t\t[ngClass]=\"{ 'full-width': !fileUpload }\"\r\n\t\t\t(isDictating)=\"dictateStartStop($event)\"\r\n\t\t\t(result)=\"dictateResult($event)\"\r\n\t\t\t(partialResult)=\"dictatePartialResult($event)\"\r\n\t\t\t(onError)=\"dictateError($event)\"\r\n\t\t\t[systemId]=\"onlineAsrSystemId()\"\r\n\t\t>\r\n\t\t</tld-dictate>\r\n\t</ng-container>\r\n\r\n\t<button compactUpload mat-icon-button [matTooltip]=\"'TOOLTIPS.UPLOAD' | translate\" [disabled]=\"fileUploadDisabled\" (click)=\"openFileUpload()\">\r\n\t\t<mat-icon [svgIcon]=\"'upload'\"></mat-icon>\r\n\t</button>\r\n\r\n\t<ng-container sourceActions>\r\n\t\t<div fxLayoutAlign=\"start center\" [class.basic-padding]=\"fileUpload\" fxLayoutGap=\"1em\">\r\n\t\t\t<div [class.hidden]=\"!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<span class=\"info\">\r\n\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<span>&nbsp;</span>\r\n\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<span [innerHTML]=\"'FILE_UPLOAD.' + (multipleFiles ? 'FILES' : 'FILE') | translate\" [ngClass.lt-sm]=\"'accent-color'\"></span>\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<span class=\"file-upload-extensions text-m\">\r\n\t\t\t\t\t\t\t(&nbsp;<span>{{ visibleExtensions }}.</span>&nbsp;\r\n\t\t\t\t\t\t\t<span *ngIf=\"maxSizeMB\" class=\"file-upload-max-size\" [innerHTML]=\"'FILE_UPLOAD.LIMITS_MB' | translate : { maxSizeMB: maxSizeMB }\"></span>&nbsp;)\r\n\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=\"showProgressIndicator\">\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\">\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<div [matTooltip]=\"'TLD_TRANSLATE.REPHRASE.TOOLTIP' | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#rephraseFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.REPHRASE.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-rephrase'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"rephraseFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t\t[maxWidth]=\"400\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\t\tclass=\"tld-rephrase\"\r\n\t\t\t\t\t\t\t[class.rephrase-feature-active]=\"rephraseFeature?.featureActive()\"\r\n\t\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing\"\r\n\t\t\t\t\t\t\t(click)=\"showRephraseOptions()\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<mat-icon [svgIcon]=\"'rephrase'\" aria-hidden=\"false\" [attr.aria-label]=\"'ARIA_LABELS.REPHRASE' | translate\"></mat-icon>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div [matTooltip]=\"(isTextSummarizable ? 'TOOLTIPS.CREATE_SUMMARY' : 'TLD_TRANSLATE.SUMMARY.DISABLED') | translate\">\r\n\t\t\t\t\t@if (isLlmEnabled && firstParagraphTranslated) {\r\n\t\t\t\t\t<lib-new-feature-dialog-wrapper\r\n\t\t\t\t\t\t#summarizeFeature\r\n\t\t\t\t\t\t[titleLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.TITLE'\"\r\n\t\t\t\t\t\t[descriptionLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.DESCRIPTION'\"\r\n\t\t\t\t\t\t[closeLocalizationKey]=\"'TLD_TRANSLATE.SUMMARY.NEW_FEATURE.CLOSE'\"\r\n\t\t\t\t\t\t[featureClassName]=\"'tld-create-summary'\"\r\n\t\t\t\t\t\t[featureLocalStorageKey]=\"summarizeFeatureLocalStorageKey\"\r\n\t\t\t\t\t\t[mobileScreenCustomPosition]=\"{autoScroll: true, left: '10px', top: '30%'}\"\r\n\t\t\t\t\t\t[timeout]=\"1000\"\r\n\t\t\t\t\t></lib-new-feature-dialog-wrapper>\r\n\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\tclass=\"tld-create-summary\"\r\n\t\t\t\t\t\t[class.summarize-feature-active]=\"summarizeFeature?.featureActive()\"\r\n\t\t\t\t\t\t[disabled]=\"isTranslating || isSummarazing || !isTextSummarizable\"\r\n\t\t\t\t\t\t(click)=\"createSummary()\"\r\n\t\t\t\t\t>\r\n\t\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\t</button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\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 class=\"highlight-tree-wrapper\">\r\n\t\t\t\t<tld-highlight-tree *ngFor=\"let paragraph of targetParagraphs\" [highlight]=\"highlight\" [tree]=\"paragraph\"> </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 class=\"summary-title\">{{ \"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]=\"markedSummarizedText\"></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=\"isRephraseActive\" class=\"rephrase-wrapper\">\r\n\t\t\t\t<tld-rephrase [text]=\"translatedText\" [disabled]=\"isTranslating\" [language]=\"targetLanguage\"></tld-rephrase>\r\n\t\t\t</div>\t\r\n\r\n\t\t\t<div *ngIf=\"firstParagraphTranslated && dictionaryEntry\" 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","import { ClipboardModule } from '@angular/cdk/clipboard';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CloseButtonModule, ExtensionDialogModule, FileUploadModule, NewFeatureDialogWrapperComponent } from '@tilde-nlp/ngx-common';\r\nimport { TextToSpeechModule } from '../../components/shared/text-to-speech/text-to-speech.module';\r\nimport { VendorDisclaimerModule } from '../../components/shared/vendor-disclaimer/vendor-disclaimer.module';\r\nimport { TldAudioModule } from '../tld-audio';\r\nimport { TldCommonModule } from '../tld-common/tld-common.module';\r\nimport { HighlightTreeComponent } from './components/highlight-tree/highlight-tree.component';\r\nimport { ProgressIndicatorComponent } from './components/progress-indicator/progress-indicator.component';\r\nimport { TextareaWithBackgroundComponent } from './components/textarea-with-background/textarea-with-background.component';\r\nimport { TldDictionaryComponent } from './components/tld-dictionary/tld-dictionary.component';\r\nimport { TldTranslateSourceComponent } from './components/tld-translate-source/tld-translate-source.component';\r\nimport { TldTranslateTextComponent } from './components/tld-translate-text/tld-translate-text.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { KeycloakAngularModule } from 'keycloak-angular';\r\nimport { RephraseComponent } from './components/rephrase/rephrase.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tTldTranslateSourceComponent,\r\n\t\tTldTranslateTextComponent,\r\n\t\tTldDictionaryComponent,\r\n\t\tTextareaWithBackgroundComponent,\r\n\t\tHighlightTreeComponent,\r\n\t\tProgressIndicatorComponent\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tTranslateModule,\r\n\t\tFormsModule,\r\n\t\tTldCommonModule,\r\n\t\tClipboardModule,\r\n\t\tTldAudioModule,\r\n\t\tCloseButtonModule,\r\n\t\tExtensionDialogModule,\r\n\t\tLayoutModule,\r\n\t\tMatProgressBarModule,\r\n\t\tVendorDisclaimerModule,\r\n\t\tTextToSpeechModule,\r\n\t\tFileUploadModule,\r\n\t\tMatButtonModule,\r\n\t\tMatMenuModule,\r\n\t\tFlexLayoutModule,\r\n\t\tMatInputModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatDialogModule,\r\n\t\tMatTooltipModule,\r\n\t\tMatIconModule,\r\n\t\tNewFeatureDialogWrapperComponent,\r\n\t\tKeycloakAngularModule,\r\n\t\tRephraseComponent\r\n\t],\r\n\texports: [TldTranslateSourceComponent, TldTranslateTextComponent],\r\n})\r\nexport class TldTextModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Domain } from '@tilde-nlp/ngx-common';\r\nimport { TranslateDomainPipe } from '../../tld-common/pipes/translate-domain.pipe';\r\nimport { TldTranslateConfigService } from '../../tld-common/services/tld-translate-config.service';\r\n\r\n@Component({\r\n    selector: 'tld-domain-list',\r\n    templateUrl: './tld-domain-list.component.html',\r\n    styleUrls: ['./tld-domain-list.component.scss'],\r\n    providers: [TranslateDomainPipe],\r\n    standalone: false\r\n})\r\nexport class TldDomainListComponent implements OnInit {\r\n\r\n  private _list: Domain[];\r\n  get list() { return this._list; }\r\n  @Input() set list(value: Domain[]) {\r\n    this._list = value;\r\n    this.retranslate();\r\n  };\r\n\r\n  private _selected: Domain;\r\n  get selected() { return this._selected; }\r\n  @Input() set selected(value: Domain) {\r\n    this._selected = value;\r\n    this.selectedDomainName = this.translateDomainName(value?.title);\r\n  };\r\n\r\n  @Input() disabled: boolean;\r\n\r\n  @Output() selectionChange: EventEmitter<any> = new EventEmitter();\r\n\r\n  translations: any;\r\n  translatedList: Domain[];\r\n  selectedDomainName: string;\r\n  currentLanguage: string;\r\n\r\n  showTitle: boolean;\r\n\r\n  readonly titleKey: string = \"title\";\r\n  readonly valueKey = \"domain\";\r\n\r\n  constructor(\r\n    private readonly translate: TranslateService,\r\n    private readonly config: TldTranslateConfigService,\r\n    private readonly translateDomainPipe: TranslateDomainPipe\r\n  ) {\r\n    this.showTitle = this.config.coreConfig.showDomainTitle;\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.translate.stream(\"DOMAINS\").subscribe((translations) => {\r\n      this.translations = translations;\r\n      this.retranslate();\r\n      this.currentLanguage = this.translate.currentLang;\r\n    })\r\n  }\r\n\r\n  select(element: any) {\r\n    this.selectionChange.next(element);\r\n  }\r\n\r\n  private retranslate() {\r\n    this.selectedDomainName = this.translateDomainName(this.selected?.title);\r\n\r\n    const translatedList: Domain[] = [];\r\n    this.list.forEach((domain) => {\r\n      translatedList.push({ title: this.translateDomainName(domain.title), languageId: domain.languageId })\r\n    })\r\n    this.translatedList = translatedList;\r\n  }\r\n\r\n  private translateDomainName(domainName: string): string {\r\n    return this.translateDomainPipe.transform(domainName);\r\n  }\r\n\r\n}\r\n","<span fxHide.lt-md class=\"domain-title\" *ngIf=\"showTitle\">{{'DOMAINS.TITLE' | translate}}</span>\r\n<tld-list-menu (selectionChange)=\"select($event)\" [list]=\"translatedList | sortTranslations: null: 'title': currentLanguage | async\" [titleKey]=\"titleKey\" \r\n[valueKey]=\"valueKey\" testId=\"tld-domain-list\" [disabled]=\"disabled\" [ariaLabel]=\"'DOMAINS.OPEN_LIST_ARIA_LABEL' | translate\">\r\n    <span [ngClass.lt-sm]=\"'selected-domain'\">{{ selectedDomainName | capitalize }}</span>    \r\n</tld-list-menu>","import { AfterViewInit, Component, ElementRef, EventEmitter, HostListener, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TldTranslateSystemManagementService, TldTranslateConfigService } from '../../tld-common/services';\r\nimport { ISwitcherTranslationOptions } from '../models/switcher-options.model';\r\n\r\n@Component({\r\n    selector: 'tld-translate-switcher',\r\n    templateUrl: './tld-translate-switcher.component.html',\r\n    styleUrls: ['./tld-translate-switcher.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslateSwitcherComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n  @ViewChild(\"wrapper\") wrapper: ElementRef;\r\n  @ViewChild(\"fromLabel\") fromLabel: ElementRef;\r\n  @ViewChild(\"sourceAside\") sourceAside: ElementRef;\r\n  @ViewChild(\"toLabel\") toLabel: ElementRef;\r\n  @ViewChild(\"domainWrapper\") domainWrapper: ElementRef;\r\n  @ViewChild(\"vendorWrapper\") vendorWrapper: ElementRef;\r\n  @ViewChild(\"collectionWrapper\") collectionWrapper: ElementRef;\r\n\r\n  @HostListener('window:resize')\r\n  onResize() {\r\n    const pxPerLanguage = 110;\r\n    const componentWidth = this.getElementRefWidth(this.wrapper);\r\n    const parentWidth = this.elRef?.nativeElement?.parentElement.offsetWidth || 0;\r\n    const wrapperWidth = this.useParentWidth ? parentWidth : componentWidth;\r\n    const fromWidth = this.getElementRefWidth(this.fromLabel);\r\n    const sourceAsideWidth = this.getElementRefWidth(this.sourceAside);\r\n    const toWidth = this.getElementRefWidth(this.toLabel);\r\n    const domainsWidth = this.getElementRefWidth(this.domainWrapper);\r\n    const vendorsWidth = this.getElementRefWidth(this.vendorWrapper);\r\n    const collectionsWidth = this.getElementRefWidth(this.collectionWrapper);\r\n    // additional px to distract because swap lang button and dropdown icons.\r\n    const extra = 100;\r\n    const freeWidth = wrapperWidth - fromWidth - sourceAsideWidth - toWidth - domainsWidth - vendorsWidth - collectionsWidth - extra;\r\n    const languageCount = Math.floor(freeWidth / 2 / pxPerLanguage);\r\n    this.languageCountByScreenSize = languageCount > 0 ? languageCount : 1;\r\n  }\r\n\r\n  @Input() buttonDisabled = false;\r\n  @Input() showTranslateButton = true;\r\n  @Input() hideOnSmallScreens = true;\r\n  @Input() disabled: boolean;\r\n  @Input() hideLangMenuLabels = false;\r\n  @Input() maxDisplayedLanguages: number;\r\n  @Input() collections: any[];\r\n  @Input() showDomainsWithLanguageName: boolean;\r\n  @Input() isCollectionsActivated: boolean;\r\n  /** If this is set to true, component parent is checked for displayed language count. */\r\n  @Input() useParentWidth: boolean;\r\n  /** Show loader instead of translate button */\r\n  @Input() loader: boolean;\r\n\r\n  @Input() settings: ISwitcherTranslationOptions;\r\n\r\n  @Output() onDomainChange: EventEmitter<string> = new EventEmitter();\r\n  @Output() onActionClick: EventEmitter<any> = new EventEmitter();\r\n  @Output() onSourceLanguageChange: EventEmitter<any> = new EventEmitter();\r\n  @Output() onTargetLanguageChange: EventEmitter<any> = new EventEmitter();\r\n  @Output() onLanguageSwap: EventEmitter<string> = new EventEmitter();\r\n  @Output() onVendorChange: EventEmitter<string> = new EventEmitter();\r\n\r\n  languageCountByScreenSize: number;\r\n\r\n  system: { systemId: string; sourceLanguageCode: string; targetLanguageCode: string };\r\n\r\n  get visibleLanguageCount() {\r\n    if (this.languageCountByScreenSize && this.languageCountByScreenSize < this.maxDisplayedLanguages) {\r\n      return this.languageCountByScreenSize;\r\n    }\r\n    return this.maxDisplayedLanguages;\r\n  }\r\n\r\n  get collectionsVisible() {\r\n    return this.isCollectionsActivated\r\n      && this.isTerminologySupported\r\n  }\r\n\r\n  get showVendors() {\r\n    return this.config?.coreConfig.showVendors && this.settings.vendors?.length > 0;\r\n  }\r\n\r\n  get showDomains() {\r\n    const singleDomainAvailable = this.config?.textConfig.displaySingleAvailableDomain && this.settings?.domains?.domains?.length >= 1;\r\n  \r\n    return (\r\n      this.config?.coreConfig.showDomains &&\r\n      !this.showDomainsWithLanguageName &&\r\n      (\r\n        (this.settings?.domains?.domains?.length > 1 && this.settings?.source) ||\r\n        singleDomainAvailable\r\n      )\r\n    );\r\n  }\r\n  \r\n\r\n  get isSwapLanguagesDisabled() {\r\n    return this.disabled || !this.settings.swapActive;\r\n  }\r\n\r\n  get domainSide() { return this.config.coreConfig.domainSide; }\r\n  get swapIconPosition() { return this.config.coreConfig.swapIconPosition; }\r\n  \r\n  private readonly destroy$ = new Subject();\r\n\r\n  readonly srcLangTestId = \"src-lang-menu\";\r\n  readonly trgLangTestId = \"trg-lang-menu\";\r\n\r\n  private isTerminologySupported: boolean;\r\n\r\n  constructor(\r\n    private readonly config: TldTranslateConfigService,\r\n    private readonly tldSystem: TldTranslateSystemManagementService,\r\n    private elRef: ElementRef\r\n  ) {}\r\n\r\n\r\n  ngOnInit() {\r\n    this.subscribeToActiveData();\r\n  }\r\n\r\n  ngAfterViewInit() {\r\n    this.onResize();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next(null)\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  actionClick() {\r\n    this.onActionClick.emit();\r\n  }\r\n\r\n  domainChange(systemId: string) {\r\n    this.onDomainChange.emit(systemId);\r\n  }\r\n\r\n  sourceLangChange(language: string) {\r\n    this.onSourceLanguageChange.emit(language);\r\n  }\r\n\r\n  swapSourceAndTarget() {\r\n    this.onLanguageSwap.emit();\r\n  }\r\n\r\n  targetLangChange(language: string) {\r\n    this.onTargetLanguageChange.emit(language);\r\n  }\r\n\r\n  vendorChange(systemId: string) {\r\n    this.onVendorChange.emit(systemId);\r\n  }\r\n\r\n  private getElementRefWidth(element: ElementRef) {\r\n    return element?.nativeElement.offsetWidth || 0;\r\n  }\r\n\r\n  private subscribeToActiveData(){\r\n    this.tldSystem.getActiveData()\r\n    .pipe(takeUntil(this.destroy$))\r\n    .subscribe((active) => {\r\n      this.system = {systemId: active.systemId, sourceLanguageCode: active.sourceLang.lang, targetLanguageCode: active.targetLang.lang}\r\n\r\n      if (!active) {\r\n        this.isTerminologySupported = false;\r\n        return;\r\n      }\r\n\r\n      this.isTerminologySupported = this.tldSystem.isTerminologySupported(active.system);\r\n    });\r\n  }\r\n}\r\n","<div fxLayout=\"row\" fxLayoutAlign=\"center center\" class=\"tld-translate-switcher-container\" #wrapper\r\n  [ngClass.lt-md]=\"'tld-translate-switcher-container-tablet'\"\r\n  [ngClass.lt-sm]=\"'tld-translate-switcher-container-mobile'\"\r\n  [class.tld-switcher-with-collections]=\"collectionsVisible\">\r\n\r\n  <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n    <div fxHide.lt-md *ngIf=\"!hideLangMenuLabels\" #fromLabel>{{'TLD_TRANSLATE.FROM' | translate}}</div>\r\n    <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n      <tld-lang-list id=\"tld-source-language-list\" [disabled]=\"disabled\" [testId]=\"srcLangTestId\"\r\n        [languages]=\"settings.sourceLanguageList\" (onLanguageChange)=\"sourceLangChange($event)\"\r\n        [selected]=\"settings.source\" [maxDisplayedLanguages]=\"visibleLanguageCount\"></tld-lang-list>\r\n      <ng-container *ngIf=\"domainSide==='src'\">\r\n        <ng-container *ngTemplateOutlet=\"domainTemplate;\">\r\n        </ng-container>\r\n      </ng-container>\r\n    </div>\r\n    <div #sourceAside *ngIf=\"swapIconPosition==='src'\">\r\n      <ng-container *ngTemplateOutlet=\"swapButtonTemplate;\"></ng-container>\r\n    </div>\r\n  </div>\r\n  <div *ngIf=\"swapIconPosition==='center'\">\r\n    <ng-container *ngTemplateOutlet=\"swapButtonTemplate;\"></ng-container>\r\n  </div>\r\n  <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutAlign.lt-sm=\"end center\">\r\n    <div fxHide.lt-md *ngIf=\"!hideLangMenuLabels\" #toLabel>{{'TLD_TRANSLATE.TO' | translate}}</div>\r\n    <div fxFlex fxLayout=\"row\" fxLayoutAlign=\"start center\">\r\n      <tld-lang-list [disabled]=\"disabled\" id=\"tld-target-language-list\" [languages]=\"settings.targetLanguageList\"\r\n        (onLanguageChange)=\"targetLangChange($event)\" [selected]=\"settings.target\"\r\n        [maxDisplayedLanguages]=\"visibleLanguageCount\" [testId]=\"trgLangTestId\" (onDomainChange)=\"domainChange($event)\"\r\n        [showDomainsWithLanguageName]=\"showDomainsWithLanguageName\">\r\n        <ng-container *ngIf=\"domainSide==='trg'\">\r\n          <ng-container *ngTemplateOutlet=\"domainTemplate;\">\r\n          </ng-container>\r\n        </ng-container>\r\n        <div class=\"tld-translate-vendor-selection\" fxLayoutAlign=\"center center\" *ngIf=\"showVendors\" #vendorWrapper>\r\n          <tld-list-menu (selectionChange)=\"domainChange($event)\" [list]=\"settings.vendors\" [titleKey]=\"'title'\"\r\n            [valueKey]=\"'systemId'\" testId=\"tld-vendor-list\" [disabled]=\"disabled\" [showContent]=\"false\"\r\n            [ariaLabel]=\"'TLD_TRANSLATE.VENDORS_ARIA_LABEL' | translate\" [selectedValue]=\"settings.systemId\">\r\n          </tld-list-menu>\r\n        </div>\r\n      </tld-lang-list>\r\n    </div>\r\n    <div fxLayout=\"row\" fxLayoutGap.gt-xs=\"16px\">\r\n      <div *ngIf=\"collectionsVisible\" #collectionWrapper>\r\n        <lib-terminology [system]=\"system\" [disabled]=\"buttonDisabled\"></lib-terminology>\r\n      </div>\r\n      <ng-container *ngIf=\"showTranslateButton\">\r\n        <tld-loader *ngIf=\"loader\" fxHide.lt-sm></tld-loader>\r\n        <tld-translate-button [enablePulseAnimation]=\"true\" *ngIf=\"!loader\" class=\"switcher-translate-button\"\r\n          [fxHide.lt-sm]=\"hideOnSmallScreens\" [disabled]=\"buttonDisabled\"></tld-translate-button>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #swapButtonTemplate>\r\n  <button [disabled]=\"isSwapLanguagesDisabled\" class=\"swap-languages-button\" mat-icon-button\r\n    (click)=\"swapSourceAndTarget()\" aria-label=\"swap languages\" color=\"primary\"\r\n    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</ng-template>\r\n\r\n<ng-template #domainTemplate>\r\n  <div class=\"tld-translate-domain-selection\" fxLayoutAlign=\"center center\" *ngIf=\"showDomains\" #domainWrapper>\r\n    <tld-domain-list fxLayoutAlign=\"center center\" (selectionChange)=\"domainChange($event)\"\r\n      [list]=\"settings.domains.domains\" [selected]=\"settings.domains.active\" [selected]=\"settings.domains.active\"\r\n      [disabled]=\"disabled\"></tld-domain-list>\r\n  </div>\r\n</ng-template>\r\n","export enum OpenedMenu{\r\n  NONE,\r\n  SOURCE,\r\n  TARGET\r\n}\r\n","// also possible to make this generic to allow more flexibility, but at the time of writing used only for language list.\r\n\r\nimport { TranslatedLanguage } from \"./translated-language.model\";\r\n\r\n/** Interface for storing grouped languages by alphabet. E.g. [{groupedBy: 'a', group: [\"al\", \"ar\" ...]}, {groupedBy: 'l', group: ['lv', 'lt']}] */\r\nexport interface GroupedLanguageItem {\r\n  /** By what this is grouped */\r\n  groupedBy: string;\r\n  /** Group with items */\r\n  group: TranslatedLanguage[];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { OpenedMenu, TranslatedLanguage } from '../models';\r\nimport { TldTranslateSystemManagementService } from '../../../tld-common/services';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TranslationSystemPickerService {\r\n\r\n  private _openedMenu: OpenedMenu = OpenedMenu.NONE;\r\n  get openedMenu() { return this._openedMenu; }\r\n\r\n  private _isSourceOpened: boolean;\r\n  get isSourceOpened() { return this._isSourceOpened; }\r\n\r\n  private _isTargetOpened: boolean;\r\n  get isTargetOpened() { return this._isTargetOpened; }\r\n\r\n  private readonly menuToggleEvent = new Subject<OpenedMenu>();\r\n\r\n  constructor(private readonly systemService: TldTranslateSystemManagementService) { }\r\n\r\n  sourceLanguageClicked() {\r\n    this.changeOpenedMenu(OpenedMenu.SOURCE);\r\n  }\r\n\r\n  targetLanguageClicked() {\r\n    this.changeOpenedMenu(OpenedMenu.TARGET);\r\n  }\r\n\r\n  languageSelected(language: TranslatedLanguage) {\r\n    if (this.isSourceOpened) {\r\n      this.systemService.changeSourceLanguage(language.code);\r\n    }\r\n    else if (this.isTargetOpened) {\r\n      this.systemService.changeTargetLanguage(language.code);\r\n    }\r\n  }\r\n\r\n  menuToggled(): Observable<OpenedMenu> {\r\n    return this.menuToggleEvent.asObservable();\r\n  }\r\n\r\n  closeOpened() {\r\n    this.changeOpenedMenu(OpenedMenu.NONE);\r\n  }\r\n\r\n  private changeOpenedMenu(type: OpenedMenu) {\r\n    if (type === this._openedMenu) {\r\n      this._openedMenu = OpenedMenu.NONE\r\n    } else {\r\n      this._openedMenu = type;\r\n    }\r\n\r\n    this.toggleOpenedMenu();\r\n  }\r\n\r\n  private toggleOpenedMenu() {\r\n    this._isSourceOpened = this.openedMenu === OpenedMenu.SOURCE;\r\n    this._isTargetOpened = this.openedMenu === OpenedMenu.TARGET;\r\n\r\n    this.menuToggleEvent.next(this.openedMenu);\r\n  }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TranslationSystemPickerService } from './services/translation-system-picker.service';\r\nimport { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../tld-common/services';\r\nimport { ActiveData, HtmlHelper } from '@tilde-nlp/ngx-common';\r\nimport { TldTranslateFileService } from '../../tld-document/services';\r\nimport { TldTranslateTextService } from '../../tld-text/services';\r\n\r\n@Component({\r\n    selector: 'tld-translation-system-picker',\r\n    templateUrl: './translation-system-picker.component.html',\r\n    styleUrls: ['./translation-system-picker.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TranslationSystemPickerComponent implements OnInit, OnDestroy {\r\n  @Input() isCollectionsActivated: boolean;\r\n\r\n  get isSourceOpened() { return this.systemPickerService.isSourceOpened; }\r\n  get isTargetOpened() { return this.systemPickerService.isTargetOpened; }\r\n\r\n  get canSwap() {\r\n    return this.tldSystem.canSwapLanguages && !this.isFileTranslating;\r\n  }\r\n\r\n  get sourceLanguage() {\r\n    return this.activeData?.sourceLang;\r\n  }\r\n\r\n  get targetLanguage() {\r\n    return this.activeData?.targetLang;\r\n  }\r\n\r\n  get isDataLoaded() {\r\n    return this.activeData;\r\n  }\r\n\r\n  get collectionsVisible() {\r\n    return this.isCollectionsActivated && this.isTerminologySupported && this.config.coreConfig.isAuth;\r\n  }\r\n\r\n  get isFileTranslating() {\r\n    return this.file.translationStarted;\r\n  }\r\n\r\n  get translatedText() {\r\n    return this.text.translatedText;\r\n  }\r\n\r\n  get isTranslating() {\r\n    return this.text.isTranslating;\r\n  }\r\n\r\n  get isFileView() {\r\n    return this.file.fileNames.length > 0;\r\n  }\r\n\r\n  readonly sourceAriaLabel = \"SYSTEM_PICKER.OPEN_SOURCE_ARIA_LABEL\";\r\n  readonly targetAriaLabel = \"SYSTEM_PICKER.OPEN_TARGET_ARIA_LABEL\";\r\n\r\n  domainLength: number = 0;\r\n  activeDomainKey: string;\r\n  activeDomainLocalizationKey: string;\r\n\r\n  isTargetReselected = false;\r\n\r\n  private isTerminologySupported: boolean;\r\n\r\n  private subscription: Subscription;\r\n  private activeData: ActiveData;\r\n\r\n  system: { systemId: string; sourceLanguageCode: string; targetLanguageCode: string; detectedLanguage?: string; };\r\n\r\n  constructor(\r\n    private readonly systemPickerService: TranslationSystemPickerService,\r\n    private readonly tldSystem: TldTranslateSystemManagementService,\r\n    private readonly file: TldTranslateFileService,\r\n    private readonly text: TldTranslateTextService,\r\n    private readonly config: TldTranslateConfigService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.subscribeToActiveData();\r\n  }\r\n\r\n  sourceClick(event: MouseEvent) {\r\n    if (this.isFileTranslating) {\r\n      return;\r\n    }\r\n    // stop propagation necessary so that click outside directive works as intended otherwise click event goes up through parents and click outside gets called and closes dropdown.\r\n    event.stopPropagation();\r\n    this.systemPickerService.sourceLanguageClicked();\r\n  }\r\n\r\n  targetClick(event: MouseEvent) {\r\n    if (this.isFileTranslating) {\r\n      return;\r\n    }\r\n    this.isTargetReselected = false;\r\n\r\n    // stop propagation necessary so that click outside directive works as intended otherwise click event goes up through parents and click outside gets called and closes dropdown.\r\n    event.stopPropagation();\r\n    this.systemPickerService.targetLanguageClicked();\r\n  }\r\n\r\n  swap() {\r\n    if (this.isFileTranslating) {\r\n      return;\r\n    }\r\n    this.tldSystem.swapSystemLanguages();\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.subscription.unsubscribe();\r\n  }\r\n\r\n  private subscribeToActiveData() {\r\n    let lastTargetLanguage!: string;\r\n\r\n    this.subscription = this.tldSystem.getActiveData().subscribe((activeData) => {\r\n      if (!activeData) {\r\n        return;\r\n      }\r\n\r\n      if (activeData.targetLang.lang !== lastTargetLanguage) {\r\n        if (lastTargetLanguage) {\r\n          this.isTargetReselected = true;\r\n        }\r\n\r\n        lastTargetLanguage = activeData.targetLang.lang;\r\n      } \r\n\r\n      this.system = {systemId: activeData.systemId, sourceLanguageCode: activeData?.system?.detectedLanguage ?? activeData.sourceLang.lang, targetLanguageCode: activeData.targetLang.lang, detectedLanguage: activeData.system.detectedLanguage};\r\n      this.activeData = activeData;\r\n      this.activeDomainKey = this.activeData.domains?.active?.title;\r\n      this.activeDomainLocalizationKey = HtmlHelper.getLocalizationKey(this.activeDomainKey);\r\n      this.domainLength = this.activeData.domains?.domains?.length ?? 0;\r\n      this.isTerminologySupported = this.tldSystem.isTerminologySupported(this.activeData.system);\r\n    })\r\n  }\r\n}\r\n","<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","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 'translation-system-picker-button',\r\n    templateUrl: './translation-system-picker-button.component.html',\r\n    styleUrls: ['./translation-system-picker-button.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TranslationSystemPickerButtonComponent {\r\n\r\n  @Input() active: boolean;\r\n  @Input() isRecentSystemList: boolean;\r\n  @Input() isDomainList: boolean;\r\n  @Input() tooltip: string;\r\n  @Output() onClick: EventEmitter<null> = new EventEmitter();\r\n\r\n  clicked(event: MouseEvent) {\r\n    // stop propagation necessary so that click outside directive works as intended otherwise click event goes up through parents and click outside gets called and closes dropdown.\r\n    event.stopPropagation();\r\n    this.onClick.emit();\r\n  }\r\n\r\n}\r\n","<button [ngClass.lt-sm]=\"'system-picker-button-mobile'\" [class.domain]=\"isDomainList\" [class.recent-system]=\"isRecentSystemList\" mat-button [class.active]=\"active\" class=\"system-picker-button\" (click)=\"clicked($event)\"\r\n  [matTooltip]=\"tooltip ? tooltip : ''\">\r\n  <ng-content></ng-content>\r\n</button>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { GroupedLanguageItem } from '../models/grouped-language-item';\r\nimport { TranslatedLanguage } from '../models/translated-language.model';\r\nimport { OpenedMenu } from '../models';\r\nimport { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../../tld-common/services';\r\nimport { AUTO_LANGUAGE_DETECTION_KEY } from '../../../tld-common/models/auto-language-detection-key.const';\r\nimport { TranslationSystemPickerService } from '../services';\r\nimport { MatExpansionPanel } from '@angular/material/expansion';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'tld-translation-system-picker-language-list',\r\n    templateUrl: './translation-system-picker-language-list.component.html',\r\n    styleUrls: ['./translation-system-picker-language-list.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TranslationSystemPickerLanguageListComponent implements OnInit, OnDestroy {\r\n\t@ViewChild('expandableLanguagePanel') expandableLanguagePanel: MatExpansionPanel;\r\n\r\n\t@Input() languages: GroupedLanguageItem[] = [];\r\n\t@Input() activeCode: string;\r\n\t@Input() isMobile: boolean;\r\n\t@Input() showTitle: boolean;\r\n\t@Input() isSourceOpened: boolean;\r\n\t@Input() showFiltered: boolean;\r\n\t@Input() menuState: OpenedMenu;\r\n\t@Output() clicked = new EventEmitter<TranslatedLanguage>();\r\n\r\n\treadonly openedSourceState = OpenedMenu.SOURCE;\r\n\r\n\treadonly languageAutoDetectionKey = AUTO_LANGUAGE_DETECTION_KEY;\r\n\r\n\treadonly titleKey = 'SYSTEM_PICKER.ALL_LANGUAGES';\r\n\r\n\t// If languages are less than this number, languages will be displayed in single column.\r\n\tprivate readonly singleColumnLength = 10;\r\n\r\n\tget singleLanguageColumn() {\r\n\t\treturn this.languages?.length < this.singleColumnLength;\r\n\t}\r\n\r\n\tget isAutoLanguageDetectionEnabled() {\r\n\t\treturn this.config.textConfig.isAutoLanguageDetectionEnabled;\r\n\t}\r\n\r\n\tprivate readonly destroy = new Subject();\r\n\r\n\tconstructor(\r\n\t\tprivate readonly systemManagementService: TldTranslateSystemManagementService,\r\n\t\tprivate readonly systemPickerService: TranslationSystemPickerService,\r\n\t\tprivate readonly config: TldTranslateConfigService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.systemManagementService\r\n\t\t\t.getActiveData()\r\n\t\t\t.pipe(takeUntil(this.destroy))\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: () => {\r\n\t\t\t\t\tif (this.showFiltered) {\r\n\t\t\t\t\t\tthis.expandableLanguagePanel.close();\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy.next(null);\r\n\t\tthis.destroy.complete();\r\n\t}\r\n\r\n\tlanguageClick(language: TranslatedLanguage) {\r\n\t\tif (!this.isSourceOpened && this.isMobile) {\r\n\t\t\tthis.expandableLanguagePanel.close();\r\n\t\t}\r\n\r\n\t\tthis.clicked.emit(language);\r\n\t}\r\n\r\n\tenableLanguageDetection(): void {\r\n\t\tthis.systemManagementService.enableLanguageDetection();\r\n\t\tthis.systemPickerService.closeOpened();\r\n\t}\r\n}\r\n","<div [class.single-column]=\"singleLanguageColumn\" class=\"translation-system-picker-wrapper\">\r\n\t<h1 class=\"text-m-semi-bold\" *ngIf=\"showTitle\">{{ titleKey | translate }}</h1>\r\n\r\n\t<div *ngIf=\"isAutoLanguageDetectionEnabled && menuState === openedSourceState\" class=\"language-group\">\r\n\t\t<translation-system-picker-button class=\"detect-language-btn\" [active]=\"activeCode === languageAutoDetectionKey\" (onClick)=\"enableLanguageDetection()\">\r\n\t\t\t{{ \"LANGUAGES.AUTO\" | translate }}\r\n\t\t</translation-system-picker-button>\r\n\t</div>\r\n\r\n\t<ng-template [ngTemplateOutlet]=\"isMobile && !isSourceOpened ? expandableLanguageGroup : languageGroup\"></ng-template>\r\n</div>\r\n\r\n<ng-template #languageGroup>\r\n\t<div *ngFor=\"let group of languages\" class=\"language-group\">\r\n\t\t<span class=\"text-l-semi-bold grouped-by-symbol\">{{ group.groupedBy | uppercase }}</span>\r\n\t\t<ul [ngClass.lt-sm]=\"'mobile'\">\r\n\t\t\t<li *ngFor=\"let language of group.group\">\r\n\t\t\t\t<translation-system-picker-button [active]=\"activeCode === language.code\" (onClick)=\"languageClick(language)\">\r\n\t\t\t\t\t{{ language.displayName }}\r\n\t\t\t\t</translation-system-picker-button>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #expandableLanguageGroup>\r\n\t<mat-accordion>\r\n\t\t<mat-expansion-panel #expandableLanguagePanel [expanded]=\"true\" [class.mob-language-list]=\"expandableLanguagePanel.expanded\">\r\n\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t<mat-panel-title>\r\n\t\t\t\t\t<b>{{ \"SYSTEM_PICKER.LANGUAGE\" | translate }}</b\r\n\t\t\t\t\t>&nbsp;{{ activeCode | languageTranslate }}\r\n\t\t\t\t</mat-panel-title>\r\n\t\t\t</mat-expansion-panel-header>\r\n\t\t\t<ng-content></ng-content>\r\n\r\n\t\t\t@if (!showFiltered) {\r\n\t\t\t<ng-template [ngTemplateOutlet]=\"languageGroup\"> </ng-template>\r\n\t\t\t}\r\n\t\t</mat-expansion-panel>\r\n\t</mat-accordion>\r\n</ng-template>\r\n","import { Component, EventEmitter, inject, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { TranslatedSystem } from '../models/translated-system.model';\r\nimport { TldTranslateSystemManagementService } from '../../../tld-common/services';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n    selector: 'tld-translation-system-picker-system-list',\r\n    templateUrl: './translation-system-picker-system-list.component.html',\r\n    styleUrls: ['./translation-system-picker-system-list.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TranslationSystemPickerSystemListComponent implements OnInit, OnDestroy {\r\n\t@Input() systems: TranslatedSystem[];\r\n\t@Input() titleKey: string;\r\n\t@Input() activeId: string;\r\n\t@Input() showTitle: boolean;\r\n\t@Input() icon: string;\r\n\t@Input() isRecentSystemList: boolean;\r\n\t@Input() isDomainList: boolean;\r\n\t@Input() isSourceOpened: boolean;\r\n\t@Input() isMobile: boolean;\r\n\t@Input() activeDomain: string;\r\n\r\n\t@Output() clicked: EventEmitter<TranslatedSystem> = new EventEmitter<TranslatedSystem>();\r\n\r\n\t#system = inject(TldTranslateSystemManagementService);\r\n\r\n\tisTargetChanged = false;\r\n\r\n\tinitialTargetLang!: string;\r\n\r\n\treadonly destroy = new Subject();\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.#system\r\n\t\t\t.getActiveData()\r\n\t\t\t.pipe(takeUntil(this.destroy))\r\n\t\t\t.subscribe({\r\n\t\t\t\tnext: (sys) => {\r\n\t\t\t\t\tif (this.initialTargetLang && this.initialTargetLang !== sys.targetLang.lang) {\r\n\t\t\t\t\t\tthis.isTargetChanged = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.initialTargetLang = sys.targetLang.lang;\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.destroy.next(null);\r\n\t\tthis.destroy.complete();\r\n\t}\r\n\r\n\tchangeSystem(system: TranslatedSystem) {\r\n\t\tthis.clicked.emit(system);\r\n\t}\r\n}\r\n","<div [ngClass.lt-sm]=\"'mobile'\">\r\n\t<div class=\"span-container\" *ngIf=\"showTitle\">\r\n\t\t<mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\r\n\r\n\t\t@if (!isMobile || isSourceOpened) {\r\n\t\t<span class=\"text-l-semi-bold\" [ngClass.lt-sm]=\"'text-m-semi-bold'\">{{ titleKey | translate }}</span>\r\n\t\t}\r\n\t</div>\r\n\r\n\t<ng-template [ngTemplateOutlet]=\"isMobile && !isSourceOpened ? expandableSystemList : systemList\"></ng-template>\r\n</div>\r\n\r\n<ng-template #systemList>\r\n\t@for (system of systems | sortDomains:isDomainList:'displayName'; let i = $index; track i) {\r\n\t<translation-system-picker-button\r\n\t\t[active]=\"activeId === system.languageId\"\r\n\t\t[isDomainList]=\"isDomainList\"\r\n\t\t[isRecentSystemList]=\"isRecentSystemList\"\r\n\t\t(onClick)=\"changeSystem(system)\"\r\n\t>\r\n\t\t{{ system.displayName | domainTranslate : isDomainList }}\r\n\t</translation-system-picker-button>\r\n\t}\r\n</ng-template>\r\n\r\n<ng-template #expandableSystemList>\r\n\t<mat-accordion>\r\n\t\t<mat-expansion-panel [expanded]=\"isTargetChanged\">\r\n\t\t\t<mat-expansion-panel-header>\r\n\t\t\t\t<mat-panel-title>\r\n\t\t\t\t\t<b>{{ \"SYSTEM_PICKER.TRANSLATION_STYLE\" | translate }}</b\r\n\t\t\t\t\t>&nbsp;{{ activeDomain | domainTranslate : true }}\r\n\t\t\t\t</mat-panel-title>\r\n\t\t\t</mat-expansion-panel-header>\r\n\t\t\t<ng-template [ngTemplateOutlet]=\"systemList\"></ng-template>\r\n\r\n\t\t</mat-expansion-panel>\r\n\t</mat-accordion>\r\n</ng-template>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ActiveData, DomainTranslatePipe, FilterWithHighlightPipe, LanguageTranslateService, SortHelper } from '@tilde-nlp/ngx-common';\r\nimport { Subscription } from 'rxjs';\r\nimport { DropdownBodyConfig, OpenedMenu, TranslatedSystem } from '../models';\r\nimport { GroupedLanguageItem } from '../models/grouped-language-item';\r\nimport { TranslatedLanguage } from '../models/translated-language.model';\r\nimport { TranslationSystemPickerService } from '../services/translation-system-picker.service';\r\nimport { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../../tld-common/services';\r\nimport { AUTO_LANGUAGE_DETECTION_KEY } from '../../../tld-common/models/auto-language-detection-key.const';\r\n\r\n\r\n@Component({\r\n    selector: 'tld-translation-system-picker-dropdown-body',\r\n    templateUrl: './translation-system-picker-dropdown-body.component.html',\r\n    styleUrls: ['./translation-system-picker-dropdown-body.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TranslationSystemPickerDropdownBodyComponent implements OnInit {\r\n\r\n  @Input() set filterText(val: string) {\r\n    this.filterLanguages(val);\r\n  }\r\n  @Input() config: DropdownBodyConfig;\r\n  @Input() isMobile!: boolean;\r\n\r\n  @Output() onSystemClick: EventEmitter<TranslatedSystem> = new EventEmitter<TranslatedSystem>();\r\n  @Output() onLanguageClick: EventEmitter<TranslatedLanguage> = new EventEmitter<TranslatedLanguage>();\r\n  @Output() onFilteredLanguageClick: EventEmitter<TranslatedLanguage> = new EventEmitter<TranslatedLanguage>();\r\n\r\n  menuState: OpenedMenu;\r\n  systemList: TranslatedSystem[];\r\n  systemListTitle: string;\r\n  showFiltered: boolean;\r\n\r\n  get showSystems() { return !this.config?.hideSystems; }\r\n  get showLanguages() { return !this.config?.hideLanguages; }\r\n  get showSystemTitle() { return !this.config?.hideSystemTitle; };\r\n  get showLanguageTitle() { return this.config?.showLanguageTitle; }\r\n\r\n  private activeData: ActiveData;\r\n  private systemSubscription: Subscription;\r\n  private langSubscription: Subscription;\r\n  private menuToggleSubscription: Subscription;\r\n  // Stores from localization file language translations\r\n  // This needs to be stored here because the order in tmeplate needs to be by current language\r\n  // possible to use sortTranslations pipe from common lib, but decided not to because here we still need to group languages by first letter.\r\n  private languageAndDomainTranslations: string[][];\r\n\r\n  private readonly languagesLocalizationKey = \"LANGUAGES\";\r\n  private readonly domainsLocalizationKey = \"DOMAINS\";\r\n  private readonly filterHighlightPipe = new FilterWithHighlightPipe();\r\n  \r\n  readonly domainsTitleKey = \"SYSTEM_PICKER.SELECT_DOMAIN\";\r\n  readonly recentSystemTitleKey = \"SYSTEM_PICKER.RECENT_SYSTEM_TITLE\";\r\n\r\n  readonly historyIcon = 'history';\r\n\r\n  get recentSystems() {\r\n    return this.activeData?.recentSystems ?? [];\r\n  }\r\n\r\n  get domains() {\r\n    return this.activeData?.domains?.domains ?? [];\r\n  }\r\n\r\n  get activeSystemId() {\r\n    return this.activeData?.languageId;\r\n  }\r\n\r\n  get isAutoLanguageDetectionEnabled() {\r\n    return this.configService.textConfig.isAutoLanguageDetectionEnabled;\r\n  }\r\n\r\n  get activeDomain() {\r\n    return this.activeData?.system?.domain;\r\n  }\r\n\r\n  get isSourceOpened() {\r\n    return this.systemPickerService.isSourceOpened;\r\n  }\r\n\r\n  allLanguages: TranslatedLanguage[];\r\n  filteredLanguages: TranslatedLanguage[];\r\n\r\n  groupedLanguages: GroupedLanguageItem[];\r\n  // Either source or target lang code, depending on which one is opened.\r\n  activeLanguageCode: string;\r\n\r\n  constructor(\r\n    private readonly systemManagementService: TldTranslateSystemManagementService,\r\n    private readonly translate: TranslateService,\r\n    private readonly systemPickerService: TranslationSystemPickerService,\r\n    private readonly languageService: LanguageTranslateService,\r\n    private readonly configService: TldTranslateConfigService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.menuState = this.systemPickerService.openedMenu;\r\n\r\n    this.subscribeToActiveSystemData();\r\n    this.subscribeToLanguageChange();\r\n    this.subscribeToMenuToggle();\r\n\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.systemPickerService.closeOpened();\r\n    this.systemSubscription.unsubscribe();\r\n    this.langSubscription.unsubscribe();\r\n    this.menuToggleSubscription.unsubscribe();\r\n  }\r\n\r\n  close() {\r\n    this.systemPickerService.closeOpened();\r\n  }\r\n\r\n  filterLanguages(filter: string) {\r\n    if (!filter?.length) {\r\n      this.filteredLanguages = null;\r\n      this.showFiltered = false;\r\n      return;\r\n    }\r\n\r\n    const languageDetection = { code: 'AUTO', displayName: this.languageService.getLanguageCodeTranslation('auto') };\r\n\r\n    this.showFiltered = true;\r\n    this.filteredLanguages = this.filterHighlightPipe.transform(\r\n      this.isAutoLanguageDetectionEnabled && this.isSourceOpened ? [...this.allLanguages, languageDetection] : this.allLanguages, filter, \"displayName\"\r\n    );\r\n  }\r\n\r\n  languageClick(language: TranslatedLanguage) {\r\n    this.systemPickerService.languageSelected(language);\r\n    this.onLanguageClick.emit(language);\r\n  }\r\n\r\n  filteredLanguageClick(language: TranslatedLanguage) {\r\n    this.systemPickerService.languageSelected(language);\r\n    this.onFilteredLanguageClick.emit(language);\r\n  }\r\n\r\n  systemClick(system: TranslatedSystem) {\r\n    this.systemManagementService.changeSystem(system.languageId, true, this.systemListTitle === this.recentSystemTitleKey);\r\n    this.onSystemClick.emit(system);\r\n  }\r\n\r\n  private subscribeToMenuToggle() {\r\n    this.menuToggleSubscription = this.systemPickerService.menuToggled().subscribe(\r\n      (state) => { this.onMenuToggle(state); }\r\n    );\r\n  }\r\n\r\n  private onMenuToggle(state: OpenedMenu) {\r\n    if (this.menuState !== state) {\r\n      this.menuState = state;\r\n      this.setActiveLanguageCode();\r\n      this.retranslate();\r\n    }\r\n  }\r\n\r\n  private setActiveLanguageCode() {\r\n    if (!this.activeData) {\r\n      return;\r\n    }\r\n\r\n    if (this.menuState === OpenedMenu.SOURCE) {\r\n      this.activeLanguageCode = this.activeData.system.detectedLanguage ? AUTO_LANGUAGE_DETECTION_KEY : this.activeData.sourceLang.lang;\r\n    } else if (this.menuState === OpenedMenu.TARGET) {\r\n      this.activeLanguageCode = this.activeData.targetLang.lang;\r\n    } else {\r\n      this.activeLanguageCode = null;\r\n    }\r\n  }\r\n\r\n  private subscribeToActiveSystemData() {\r\n    this.systemSubscription = this.systemManagementService.getActiveData().subscribe(\r\n      (active) => {\r\n        if (!active) {\r\n          return;\r\n        }\r\n\r\n        this.activeData = active;\r\n        this.setActiveLanguageCode();\r\n        this.retranslate();\r\n      }\r\n    );\r\n  }\r\n\r\n  private subscribeToLanguageChange() {\r\n    this.langSubscription = this.translate.stream([this.languagesLocalizationKey, this.domainsLocalizationKey]).subscribe((data) => {\r\n      this.languageAndDomainTranslations = data;\r\n      this.retranslate();\r\n    })\r\n  }\r\n\r\n  private retranslate() {\r\n    // cant retranslate if both of these values are not loaded yer. This condition should fulfill only on first time.\r\n    if (!(this.languageAndDomainTranslations && this.activeData)) {\r\n      return;\r\n    }\r\n\r\n    this.translateSystems();\r\n    this.sortLanguages();\r\n  }\r\n\r\n  // Method prepares objects for recent systems or domains, depending on which menu is opened.\r\n  private translateSystems() {\r\n    if (this.isSourceOpened) {\r\n      this.systemList = this.getTranslatedRecentSystems();\r\n    }\r\n    else if (this.systemPickerService.isTargetOpened) {\r\n      this.systemList = this.getTranslatedDomains();\r\n    }\r\n  }\r\n\r\n  private getTranslatedDomains(): TranslatedSystem[] {\r\n    this.systemListTitle = this.domainsTitleKey;\r\n    const arr: TranslatedSystem[] = [];\r\n    this.domains.forEach(domain => {\r\n      arr.push({ displayName: domain.title, languageId: domain.languageId });\r\n    });\r\n\r\n    return arr.sort((a, b) => {\r\n      if (a.languageId === this.activeSystemId) return -1;\r\n      if (b.languageId === this.activeSystemId) return 1;\r\n    \r\n      return a.displayName.localeCompare(b.displayName);\r\n    });\r\n    \r\n  }\r\n\r\n  private getTranslatedRecentSystems(): TranslatedSystem[] {\r\n    this.systemListTitle = this.recentSystemTitleKey;\r\n    const arr: TranslatedSystem[] = [];\r\n    this.recentSystems.forEach((system) => {\r\n      const translated: TranslatedSystem = {\r\n        languageId: system.languageId,\r\n        displayName: `${this.languageService.getLanguageCodeTranslation(system.sourceLanguage)} - ${this.languageService.getLanguageCodeTranslation(system.targetLanguage)} (${this.getDomainDisplayName(system.domain)})`\r\n      }\r\n      arr.push(translated);\r\n    });\r\n    return arr ?? [];\r\n  }\r\n\r\n  // Sorts languages and sets them to GroupedLanguageItem structure\r\n  private sortLanguages() {\r\n    let languageList: any[];\r\n    if (this.isSourceOpened) {\r\n      languageList = this.activeData.sourceLangList;\r\n    }\r\n    else if (this.systemPickerService.isTargetOpened) {\r\n      languageList = this.activeData.targetLangList;\r\n    }\r\n    else {\r\n      return;\r\n    }\r\n\r\n    this.allLanguages = [];\r\n\r\n    this.groupedLanguages = this.systemManagementService.getUniqueLanguages(languageList)\r\n      .reduce((newArray: GroupedLanguageItem[], curr) => {\r\n        const translatedLanguage: TranslatedLanguage = { code: curr, displayName: this.languageService.getLanguageCodeTranslation(curr.toUpperCase()) };\r\n        const firstLetter = translatedLanguage.displayName[0].toUpperCase();\r\n        const idx = newArray.findIndex(e => e.groupedBy === firstLetter);\r\n        this.allLanguages.push(translatedLanguage);\r\n        if (idx === -1) {\r\n          newArray.push({ groupedBy: firstLetter, group: [translatedLanguage] });\r\n        }\r\n        else {\r\n          newArray[idx].group.push(translatedLanguage);\r\n          SortHelper.sortAlphabetically(newArray[idx].group, 'displayName');\r\n        }\r\n        return newArray;\r\n      }, [])\r\n      .sort((e1, e2) => e1.groupedBy > e2.groupedBy ? 1 : -1);\r\n  }\r\n\r\n  private getDomainDisplayName(domain: string) {\r\n    const domainTranslate = new DomainTranslatePipe(this.translate);\r\n    return domainTranslate.transform(domain, true);\r\n  }\r\n}\r\n","<div [class.mobile]=\"isMobile\" class=\"dropdown-body\" *ngIf=\"!showFiltered || (!isSourceOpened && showFiltered && isMobile); else filter\">\r\n\t<tld-translation-system-picker-language-list\r\n\t\t*ngIf=\"showLanguages\"\r\n\t\t[showFiltered]=\"showFiltered\"\r\n\t\t[isSourceOpened]=\"isSourceOpened\"\r\n\t\t[isMobile]=\"isMobile\"\r\n\t\t[languages]=\"groupedLanguages\"\r\n\t\t[activeCode]=\"activeLanguageCode\"\r\n\t\t(clicked)=\"languageClick($event)\"\r\n\t\t[showTitle]=\"showLanguageTitle\"\r\n\t\t[menuState]=\"menuState\"\r\n\t>\r\n\t\t<ng-content></ng-content>\r\n\r\n\t\t@if (isMobile && showFiltered) {\r\n\t\t<ng-template [ngTemplateOutlet]=\"filter\"></ng-template>\r\n\t\t}\r\n\t</tld-translation-system-picker-language-list>\r\n\t<tld-translation-system-picker-system-list\r\n\t\t*ngIf=\"showSystems && systemList?.length > 0\"\r\n\t\t[class.domain-list]=\"systemListTitle === domainsTitleKey\"\r\n\t\t[isSourceOpened]=\"isSourceOpened\"\r\n\t\t[isMobile]=\"isMobile\"\r\n\t\t[activeDomain]=\"activeDomain\"\r\n\t\t[isDomainList]=\"systemListTitle === domainsTitleKey\"\r\n\t\t[isRecentSystemList]=\"systemListTitle === recentSystemTitleKey\"\r\n\t\t[systems]=\"systemList\"\r\n\t\t[showTitle]=\"showSystemTitle\"\r\n\t\t[titleKey]=\"systemListTitle\"\r\n\t\t[activeId]=\"activeSystemId\"\r\n\t\t[icon]=\"systemListTitle === recentSystemTitleKey ? historyIcon : null\"\r\n\t\t(clicked)=\"systemClick($event)\"\r\n\t>\r\n\t</tld-translation-system-picker-system-list>\r\n</div>\r\n<ng-template #filter>\r\n\t<div *ngIf=\"showLanguages\" class=\"filtered-items\">\r\n\t\t<ul>\r\n\t\t\t<li>\r\n\t\t\t\t<translation-system-picker-button *ngFor=\"let language of filteredLanguages\" [active]=\"activeLanguageCode === language.code\" (onClick)=\"filteredLanguageClick(language)\">\r\n\t\t\t\t\t<span [innerHtml]=\"language.displayName\"></span>\r\n\t\t\t\t</translation-system-picker-button>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t\t<p class=\"no-results-message\" *ngIf=\"!filteredLanguages?.length\">{{ \"SYSTEM_PICKER.FILTER_NO_RESULTS\" | translate }}</p>\r\n\t</div>\r\n</ng-template>\r\n","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, ViewChild } from '@angular/core';\r\nimport { MatInput } from '@angular/material/input';\r\n\r\n@Component({\r\n    selector: 'tld-translation-system-picker-filter',\r\n    templateUrl: './translation-system-picker-filter.component.html',\r\n    styleUrls: ['./translation-system-picker-filter.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TranslationSystemPickerFilterComponent implements AfterViewInit {\r\n  @ViewChild(\"filterInput\") filterInput: ElementRef<MatInput>;\r\n\r\n  @Output() filterChanged: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n  private _filter: string = \"\";\r\n  get filter() { return this._filter; }\r\n  set filter(val: string) {\r\n    this._filter = val;\r\n    this.filterChanged.emit(this.filter);\r\n  }\r\n\r\n  constructor(private readonly changeDetector: ChangeDetectorRef) { }\r\n\r\n  ngAfterViewInit(): void {\r\n    this.focus();\r\n    this.changeDetector.detectChanges();\r\n  }\r\n\r\n  clear(event: MouseEvent) {\r\n    if (event) {\r\n      event.stopPropagation();\r\n    }\r\n    this.filter = \"\";\r\n    this.focus();\r\n  }\r\n\r\n  private focus() {\r\n    this.filterInput.nativeElement.focus();\r\n  }\r\n\r\n}\r\n","<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","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { Component, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { TranslationSystemPickerDropdownBodyComponent } from '../dropdown-body/translation-system-picker-dropdown-body.component';\r\nimport { TranslationSystemPickerFilterComponent } from '../filter/translation-system-picker-filter.component';\r\nimport { DropdownBodyConfig } from '../models/dropdown-body-config.model';\r\nimport { TranslationSystemPickerService } from '../services/translation-system-picker.service';\r\nimport { TldTranslateSystemManagementService } from '../../../tld-common/services';\r\n\r\n@Component({\r\n    selector: 'tld-translation-system-picker-dropdown',\r\n    templateUrl: './translation-system-picker-dropdown.component.html',\r\n    styleUrls: ['./translation-system-picker-dropdown.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TranslationSystemPickerDropdownComponent implements OnInit, OnDestroy {\r\n  @HostListener('document:keydown.escape', ['$event']) onKeydownHandler() {\r\n    this.close();\r\n  }\r\n\r\n  @ViewChild(TranslationSystemPickerDropdownBodyComponent) dropdownBody: TranslationSystemPickerDropdownBodyComponent;\r\n  @ViewChild(TranslationSystemPickerFilterComponent) filter: TranslationSystemPickerFilterComponent;\r\n\r\n  filterText: string;\r\n  isMobile: boolean;\r\n  showMobFilter: boolean;\r\n\r\n  private currentStep = 0;\r\n  private breakpointSubscription: Subscription;\r\n  private menuToggleSubscription: Subscription;\r\n\r\n  get selectedBodyConfig() {\r\n    return this.bodyConfigArr?.[this.currentStep];\r\n  }\r\n\r\n  get recentSystemPickerConfig() {\r\n    return {...this.bodyConfigArr?.[this.currentStep], hideLanguages: true};\r\n  }\r\n\r\n  bodyConfigArr: DropdownBodyConfig[];\r\n  get currentConfig() { \r\n    return {...this.bodyConfigArr?.[this.currentStep], hideSystems: this.isMobile ? false : true} \r\n  }\r\n\r\n  get isSourceOpened() {\r\n    return this.systemPickerService.isSourceOpened;\r\n  }\r\n\r\n  private readonly mobileTargetConfig: DropdownBodyConfig[] = [\r\n    {\r\n      hideLanguages: false,\r\n      hideSystems: true,\r\n      headerTitle: \"SYSTEM_PICKER.TARGET\",\r\n      leaveOpenOnLanguageClick: true\r\n    },\r\n    {\r\n      hideLanguages: true,\r\n      hideSystems: false,\r\n      headerTitle: \"SYSTEM_PICKER.SELECT_DOMAIN\",\r\n      hideSystemTitle: true\r\n    }\r\n  ];\r\n\r\n  private readonly mobileSourceConfig: DropdownBodyConfig[] = [\r\n    {\r\n      hideLanguages: false,\r\n      hideSystems: false,\r\n      headerTitle: \"SYSTEM_PICKER.SOURCE\",\r\n      showLanguageTitle: true\r\n    }\r\n  ];\r\n\r\n  private readonly desktopTargetConfig: DropdownBodyConfig[] = [\r\n    {\r\n      hideLanguages: false,\r\n      hideSystems: false,\r\n      leaveOpenOnLanguageClick: true\r\n    }\r\n  ]\r\n\r\n  constructor(\r\n    private readonly systemPickerService: TranslationSystemPickerService,\r\n    private readonly breakPointObserver: BreakpointObserver,\r\n    private readonly systemManagement: TldTranslateSystemManagementService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.subscribeToBreakpointObserver();\r\n    this.subscribeToMenuToggle();\r\n  }\r\n\r\n  onSystemClick() {\r\n    if (!this.selectedBodyConfig?.leaveOpenOnSystemClick) {\r\n      this.close();\r\n    }\r\n  }\r\n\r\n  onLanguageClick() {\r\n    if (!this.selectedBodyConfig?.leaveOpenOnLanguageClick || !this.systemManagement.domainsAvailable) {\r\n      this.close();\r\n    }\r\n  }\r\n\r\n  onFilteredLanguageClick() {\r\n    // should not close menu, but only clear the filter\r\n    this.filter.clear(null);\r\n    if (!this.selectedBodyConfig?.leaveOpenOnLanguageClick || !this.systemManagement.domainsAvailable) {\r\n      this.close();\r\n    }\r\n  }\r\n\r\n  close() {\r\n    this.systemPickerService.closeOpened();\r\n  }\r\n\r\n  filterChange(filter: string) {\r\n    this.filterText = filter;\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.breakpointSubscription.unsubscribe();\r\n    this.menuToggleSubscription.unsubscribe();\r\n  }\r\n\r\n  clearFilter() {\r\n    this.filterText = \"\";\r\n  }\r\n\r\n  clickOutside() {\r\n    // it shouldn't be possible to click outside on mob because it should be 100vw and 100vh.\r\n    // NOTE that this method gets triggered also on system select, because active system changes, rerenders ui elements and clicked element doesn't exist anymore in this container\r\n    if (this.isMobile) {\r\n      return;\r\n    }\r\n    this.close();\r\n  }\r\n\r\n  private subscribeToBreakpointObserver() {\r\n    this.breakpointSubscription = this.breakPointObserver.observe([Breakpoints.XSmall]).subscribe((res) => {\r\n      this.isMobile = res.breakpoints[Breakpoints.XSmall];\r\n      this.selectBodyConfig();\r\n    })\r\n  }\r\n\r\n  private selectBodyConfig() {\r\n    this.currentStep = 0;\r\n    if (this.isMobile) {\r\n      if (this.systemPickerService.isTargetOpened) {\r\n        this.bodyConfigArr = this.mobileTargetConfig;\r\n      } else if (this.isSourceOpened) {\r\n        this.bodyConfigArr = this.mobileSourceConfig;\r\n      }\r\n    } else {\r\n      if (this.systemPickerService.isTargetOpened) {\r\n        this.bodyConfigArr = this.desktopTargetConfig;\r\n      } else {\r\n        this.bodyConfigArr = null;\r\n      }\r\n    }\r\n  }\r\n\r\n  private subscribeToMenuToggle() {\r\n    this.menuToggleSubscription = this.systemPickerService.menuToggled().subscribe(() => {\r\n      this.selectBodyConfig();\r\n    })\r\n  }\r\n\r\n}\r\n","<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)=\"close()\">\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 *ngIf=\"isSourceOpened\">\r\n\t\t<ng-template *ngTemplateOutlet=\"filter\"></ng-template>\r\n\t</ng-container>\r\n\r\n\t<div class=\"system-picker-dropdown-content mobile\" [class.source]=\"isSourceOpened\">\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\t[isMobile]=\"true\"\r\n\t\t>\r\n\t\t\t<ng-template *ngTemplateOutlet=\"filter\"></ng-template>\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\" [class.mob-target-filter]=\"isMobile && !isSourceOpened\">\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","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\n\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ClickOutsideModule, DomainTranslatePipe, FilterWithHighlightModule, LanguageTranslateModule, OpenCloseButtonModule, SortDomainsPipe, SortTranslationsModule, TerminologyModule } from '@tilde-nlp/ngx-common';\r\nimport { TldCommonModule } from '../tld-common';\r\nimport { TldDomainListComponent } from './tld-domain-list/tld-domain-list.component';\r\nimport { TldTranslateSwitcherComponent } from './tld-translate-switcher/tld-translate-switcher.component';\r\nimport { TranslationSystemPickerButtonComponent, TranslationSystemPickerFilterComponent } from './translation-system-picker';\r\nimport { TranslationSystemPickerDropdownBodyComponent } from './translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component';\r\nimport { TranslationSystemPickerDropdownComponent } from './translation-system-picker/dropdown/translation-system-picker-dropdown.component';\r\nimport { TranslationSystemPickerLanguageListComponent } from './translation-system-picker/language-list/translation-system-picker-language-list.component';\r\nimport { TranslationSystemPickerSystemListComponent } from './translation-system-picker/system-list/translation-system-picker-system-list.component';\r\nimport { TranslationSystemPickerComponent } from './translation-system-picker/translation-system-picker.component';\r\n\r\n\r\n\r\n@NgModule({\r\n  declarations: [\r\n    TldTranslateSwitcherComponent,\r\n    TldDomainListComponent,\r\n    TranslationSystemPickerComponent,\r\n    TranslationSystemPickerDropdownComponent,\r\n    TranslationSystemPickerLanguageListComponent,\r\n    TranslationSystemPickerSystemListComponent,\r\n    TranslationSystemPickerFilterComponent,\r\n    TranslationSystemPickerDropdownBodyComponent,\r\n    TranslationSystemPickerButtonComponent\r\n  ],\r\n  imports: [\r\n    FormsModule,\r\n    CommonModule,\r\n    FlexLayoutModule,\r\n    TranslateModule,\r\n    TldCommonModule,\r\n    SortTranslationsModule,\r\n    FilterWithHighlightModule,\r\n    ClickOutsideModule,\r\n    OpenCloseButtonModule,\r\n    TerminologyModule,\r\n    MatFormFieldModule,\r\n    MatInputModule,\r\n    MatIconModule,\r\n    MatTooltipModule,\r\n    MatButtonModule,\r\n    LanguageTranslateModule,\r\n    SortDomainsPipe,\r\n    DomainTranslatePipe,\r\n    MatExpansionModule\r\n  ],\r\n  exports: [\r\n    TldTranslateSwitcherComponent,\r\n    TldDomainListComponent,\r\n    TranslationSystemPickerComponent,\r\n    TranslationSystemPickerDropdownComponent\r\n  ]\r\n})\r\nexport class TldTooltipModule { }\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class TldTranslateWebService {\r\nwtScriptsAdded=false;\r\n\r\n  constructor() { }\r\n\r\n\r\n}\r\n","import { animate, style, transition, trigger } from '@angular/animations';\r\nimport { Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { ProgressBarMode } from '@angular/material/progress-bar';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ActiveData, AlertService, NotificationMessage, NotificationMessageType, StatusDisplayConfig, TerminologyService } from '@tilde-nlp/ngx-common';\r\nimport * as $ from 'jquery';\r\nimport { Subject } from 'rxjs';\r\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\r\nimport { TldTranslateButtonService } from '../../tld-common/components/translate-button/tld-translate-button.service';\r\nimport { ITldTranslateMessage, TldMessageType } from '../../tld-common/models';\r\nimport { TldTranslateConfigService, TldTranslateSystemManagementService } from '../../tld-common/services';\r\nimport { ISwitcherTranslationOptions } from '../../tld-tooltip/models/switcher-options.model';\r\nimport { TldTranslateWebService } from '../tld-translate-web.service';\r\nimport { availableLanguages } from './../../../i18n/available-languages';\r\n\r\n\r\ndeclare var window: any;\r\nwindow.$ = window.jQuery = $;\r\n\r\n@Component({\r\n    selector: 'tld-translate-website',\r\n    templateUrl: './tld-translate-web.component.html',\r\n    styleUrls: ['./tld-translate-web.component.scss'],\r\n    animations: [\r\n        trigger('openCloseAnimation', [\r\n            transition(':enter', [\r\n                style({ height: 0 }),\r\n                animate(500)\r\n            ]),\r\n            transition(':leave', animate(500, style({ height: 0 })))\r\n        ])\r\n    ],\r\n    standalone: false\r\n})\r\nexport class TldTranslateWebsiteComponent implements OnInit, OnDestroy {\r\n  @ViewChild('iframe') iframe: ElementRef;\r\n\r\n  constructor(\r\n    private readonly translate: TranslateService,\r\n    private readonly configService: TldTranslateConfigService,\r\n    private readonly translateButtonService: TldTranslateButtonService,\r\n    private readonly alerts: AlertService,\r\n    private readonly router: Router,\r\n    private activatedRoute: ActivatedRoute,\r\n    private readonly tldSystem: TldTranslateSystemManagementService,\r\n    private readonly terminologyService: TerminologyService,\r\n    private readonly tldTranslateWebService: TldTranslateWebService,\r\n    private readonly renderer: Renderer2,\r\n  ) { }\r\n  @Input() product = '';\r\n  @Input() company = '';\r\n\r\n  @ViewChild('url') urlInputField: ElementRef;\r\n\r\n  settingSystemListForFirstTime: boolean;\r\n  urlToTranslate = ''; // translateWeb_Url\r\n  showCancel = false;\r\n  showRestore = false;\r\n  showTranslateBtn = true;\r\n  translating = false;\r\n  disableButton = false; // actionButtonDisabled\r\n\r\n  // params from config service.\r\n  logoLocation: string;\r\n  debug: boolean;\r\n  webLangAutodetect: boolean; // TODO check if really needed // after page is loaded auto detect language and change active system\r\n  hidePopup: boolean;\r\n  translatePagePath: string; //  path to WebTranslationProxy\r\n  appId: string;\r\n  xApiKey: string;\r\n  translateServiceUrl: string;\r\n\r\n  switcherOptions: ISwitcherTranslationOptions;\r\n\r\n  @Output() onError: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n  activeSystemObj: ActiveData;\r\n  messages: NotificationMessage[] = [];\r\n\r\n  //Progress bar\r\n  mode: ProgressBarMode = 'determinate';\r\n  progressValue = 0;\r\n  showProgress = false;\r\n  showEmptyView = true;\r\n\r\n  emptyViewConfig!: StatusDisplayConfig;\r\n\r\n  noSystemsError: ITldTranslateMessage = { text: 'TLD_TRANSLATE.ERROR_NO_SYSTEMS_LOADED', type: TldMessageType.ERROR };\r\n\r\n  get actionButtonDisabled() { return this.disableButton; }\r\n\r\n\r\n  get hideLangMenuLabels() {\r\n    return this.configService?.coreConfig.hideLangMenuLabels;\r\n  }\r\n\r\n  get maxDisplayedLanguages(): number {\r\n    return this.configService.coreConfig.maxDisplayedLanguages;\r\n  }\r\n\r\n  get isCollectionsActivated() {\r\n    return this.configService?.termConfig?.isCollectionsActivated;\r\n  }\r\n\r\n  get showDomainsWithLanguageName(): boolean {\r\n    return this.configService.coreConfig.showDomainsWithLanguageName;\r\n  }\r\n\r\n  get helpUrl(): string {\r\n    return this.configService.webtranslateConfig.helpUrl;\r\n  }\r\n\r\n  get sandbox() { \r\n    return this.configService.webtranslateConfig.sandbox; \r\n  }\r\n\r\n  readonly useParentWidth = true;\r\n  private readonly destroy$ = new Subject();\r\n\r\n  changeAuth(isAuth: boolean) {\r\n    this.configService.coreConfig.isAuth = isAuth;\r\n    this.initializeWidget();\r\n  }\r\n\r\n  initializeWidget(): void {\r\n    this.tldSystem.init(this.tldSystem.getLastUsedSystem());\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    if (this.configService.coreConfig.debug) {\r\n      for (const key in availableLanguages) {\r\n        this.translate.setTranslation(key, availableLanguages[key], true);\r\n      }\r\n      this.configService.coreConfig.isAuth = true;\r\n      this.translate.use(\"en\");\r\n    }\r\n\r\n    this.initFromConfig();\r\n    this.initializeWidget();\r\n    this.setEmptyViewConfiguration();\r\n\r\n    this.tldSystem.getActiveData().pipe(\r\n      distinctUntilChanged(),\r\n      takeUntil(this.destroy$))\r\n      .subscribe((val: ActiveData) => {\r\n        this.activeSystemObj = val;\r\n        if (!val) {\r\n          return;\r\n        }\r\n        this.switcherOptions = {\r\n          domains: val.domains,\r\n          source: { code: val.sourceLang.lang, systemId: val.systemId },\r\n          sourceLanguageList: val.sourceLangList,\r\n          systemId: val.systemId,\r\n          swapActive: val.swapLangActive,\r\n          target: { code: val.targetLang.lang, systemId: val.systemId },\r\n          targetLanguageList: val.targetLangList,\r\n          vendors: val.vendors,\r\n          languageId: val.languageId\r\n        };\r\n      });\r\n\r\n\r\n    this.translateButtonService.getActionClick().pipe(\r\n      takeUntil(this.destroy$))\r\n      .subscribe(() => {\r\n        this.translateButtonClick();\r\n      });\r\n\r\n    this.alerts.getMessages().pipe(\r\n      takeUntil(this.destroy$))\r\n      .subscribe((message: NotificationMessage) => {\r\n        if (message.type === NotificationMessageType.ERROR) {\r\n          this.onError.emit(message.error);\r\n        }\r\n        // pushing only \"one of\" message in array, so screen is not spammed with messages\r\n        const existingMessage = this.messages.find(msg => msg.body === message.body && msg.type === message.type && msg.title === message.title);\r\n        if (!existingMessage) {\r\n          this.messages.push(message);\r\n        }\r\n      });\r\n\r\n    this.translate.get('APP_NAME').pipe(\r\n      takeUntil(this.destroy$))\r\n      .subscribe((text: string) => {\r\n        this.configService.coreConfig.appName = text;\r\n      });\r\n\r\n    window.onmessage = this.receiveMessage.bind(this);\r\n  }\r\n\r\n  ngAfterViewInit(): void {\r\n    if (!this.tldTranslateWebService.wtScriptsAdded) {\r\n      this.addScript('./assets/webtranslate/translate-website.js');\r\n      this.addConfigurationScrip();\r\n      this.addScript('./assets/webtranslate/page-translate-widget.js');\r\n      this.tldTranslateWebService.wtScriptsAdded = true;\r\n    }\r\n\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    window.onmessage = undefined;\r\n    this.destroy$.next(null);\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  private receiveMessage(event: any) {\r\n    // TODO add correct origin\r\n    // if (event.origin !== \"\")\r\n    // return;\r\n\r\n    if (this.debug) {\r\n      // eslint-disable-next-line no-console\r\n      console.info('Message received from iframe:' + JSON.stringify(event.data));\r\n    }\r\n\r\n\r\n    if (event.data && event.data.message) {\r\n      switch (event.data.message) {\r\n        case 'ready':\r\n          this.tldSystem.sysList.pipe(\r\n            takeUntil(this.destroy$))\r\n            .subscribe(data => {\r\n              let systemListToIframe = [];\r\n              data.forEach((sys, index) => {\r\n                systemListToIframe.push({\r\n                  id: sys.languageId,\r\n                  sourceLanguage: sys.sourceLanguage,\r\n                  targetLanguage: sys.targetLanguage,\r\n                  name: sys.id,\r\n                  order: index,\r\n                  domain: sys.domain\r\n                });\r\n              });\r\n\r\n              // push system list to iframe\r\n              this.settingSystemListForFirstTime = true;\r\n              this.sendMessage({ message: 'setSystemList', systemList: systemListToIframe });\r\n              if (this.activatedRoute.snapshot.queryParams.url) {\r\n                this.sendMessage({\r\n                  message: 'loadUrl',\r\n                  url: this.activatedRoute.snapshot.queryParams.url,\r\n                  translateAfterLoad: false\r\n                });\r\n                this.urlToTranslate = this.activatedRoute.snapshot.queryParams.url;\r\n              }\r\n            })\r\n          this.urlInputField.nativeElement.focus();\r\n\r\n          break;\r\n        case 'urlLoaded':\r\n          this.showProgress = false;\r\n          // webpage finished loading, set the full url in address box\r\n          this.urlToTranslate = event.data.url;\r\n          this.showTranslateBtn = true;\r\n          this.disableButton = false;\r\n\r\n          break;\r\n        case 'startedLoading':\r\n          this.mode = 'indeterminate';\r\n          this.showProgress = true;\r\n          this.showCancel = false;\r\n          this.showRestore = false;\r\n          this.showTranslateBtn = false;\r\n          this.renderer.setAttribute(this.iframe.nativeElement, 'sandbox', this.sandbox);\r\n          break;\r\n        case 'stoppedLoading':\r\n          if (!this.translating) {\r\n            this.showCancel = false;\r\n            this.showRestore = false;\r\n            this.showTranslateBtn = true;\r\n            this.disableButton = false;\r\n          }\r\n          break;\r\n        case 'systemChanged':\r\n          // set default system, right after web translation widget in iframe is loaded\r\n          if (this.settingSystemListForFirstTime) {\r\n            this.settingSystemListForFirstTime = false;\r\n            this.sendMessage({ message: 'changeSystem', systemId: this.switcherOptions.languageId });\r\n          } else {\r\n            // if initiated by language of the loaded webpage being different\r\n            // than source language of currently selected  system\r\n            // we should change the system in UI and warn the user about the fact\r\n            if (event.data.auto && event.data.changed) {\r\n              if (this.webLangAutodetect) {\r\n                this.systemChange(event.data.systemId);\r\n                this.switcherOptions.systemId = event.data.systemId;\r\n\r\n              } else {\r\n                this.sendMessage({ message: 'changeSystem', systemId: this.switcherOptions.languageId });\r\n\r\n              }\r\n            }\r\n          }\r\n\r\n          break;\r\n        case 'translationStarted':\r\n          this.mode = 'determinate';\r\n          this.progressValue = 0;\r\n          this.showProgress = true;\r\n          this.translating = true;\r\n\r\n          // disable system change, show cancel button\r\n          this.showTranslateBtn = false;\r\n          this.showCancel = true;\r\n          this.disableButton = true;  // to disableSystemChange\r\n\r\n          break;\r\n        case 'translationStopped':\r\n          this.translating = false;\r\n          this.showProgress = false;\r\n          break;\r\n        case 'translated':\r\n          // show restore button\r\n          this.showRestore = true;\r\n          this.showCancel = false;\r\n          break;\r\n        case 'untranslated':\r\n          // enable system change, show translate button\r\n          this.disableButton = false;\r\n          this.showRestore = false;\r\n          this.showCancel = false;\r\n          this.showTranslateBtn = true;\r\n          break;\r\n        case 'progress':\r\n          this.progressValue = event.data.progress;\r\n          break;\r\n        case 'error':\r\n          // enable system change, show translate button\r\n          this.disableButton = false;\r\n          this.showRestore = false;\r\n          this.showCancel = false;\r\n          this.showTranslateBtn = true;\r\n          if (console) {\r\n            console.error(event.data.description);\r\n          }\r\n\r\n          break;\r\n        case 'warning':\r\n          if (console) {\r\n            console.warn(event.data.description);\r\n          }\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  private sendMessage(message: any): void {\r\n    if (this.debug) {\r\n      // eslint-disable-next-line no-console\r\n      console.info('Message sent to iframe:' + JSON.stringify(message));\r\n    }\r\n\r\n    window.postMessage(message, window.location.origin);\r\n  }\r\n\r\n  removeMessage(ix: number) {\r\n    this.messages.splice(ix, 1);\r\n  }\r\n\r\n  swapLanguages() {\r\n    this.tldSystem.swapSystemLanguages();\r\n\r\n    const sys = this.tldSystem.getActiveSystemObj();\r\n    this.sendMessage({ message: 'changeSystem', systemId: sys.languageId });\r\n  }\r\n\r\n  systemChange(systemId: string) {\r\n    this.tldSystem.changeSystem(systemId);\r\n\r\n    this.sendMessage({ message: 'changeSystem', systemId });\r\n  }\r\n\r\n  sourceLanguageChange(language: string) {\r\n    this.tldSystem.changeLanguage(language, this.switcherOptions.target.code);\r\n\r\n    const sys = this.tldSystem.getActiveSystemObj();\r\n\r\n    this.sendMessage({ message: 'changeSystem', systemId: sys.languageId });\r\n  }\r\n\r\n  targetLanguageChange(language: string) {\r\n    this.tldSystem.changeLanguage(this.switcherOptions.source.code, language);\r\n\r\n    const sys = this.tldSystem.getActiveSystemObj();\r\n\r\n    this.sendMessage({ message: 'changeSystem', systemId: sys.languageId });\r\n  }\r\n\r\n  translateButtonClick() {\r\n    const selectedCollectionId = this.terminologyService.selectedIdForTranslation(this.tldSystem.getActiveSystemObj().id);\r\n\r\n    if (this.urlToTranslate != '') {\r\n      this.showEmptyView = false;\r\n\r\n      this.sendMessage({\r\n        message: 'loadUrl',\r\n        url: this.urlToTranslate,\r\n        translateAfterLoad: true,\r\n        termCorpusId: selectedCollectionId\r\n      });\r\n    }\r\n  }\r\n\r\n  loadButtonClicked() {\r\n    if (this.urlToTranslate != '') {\r\n      this.showEmptyView = false;\r\n\r\n      this.sendMessage({\r\n        message: 'loadUrl',\r\n        url: this.urlToTranslate,\r\n        translateAfterLoad: false\r\n      });\r\n    }\r\n  }\r\n\r\n  clearUrlToTranslate() {\r\n    this.urlToTranslate = '';\r\n  }\r\n\r\n  cancel(): void {\r\n    this.sendMessage({ message: 'untranslate' });\r\n  }\r\n\r\n  restore(): void {\r\n    this.sendMessage({ message: 'untranslate' });\r\n  }\r\n\r\n  private initFromConfig() {\r\n    const coreConfig = this.configService.coreConfig;\r\n    const webtranslateConfig = this.configService.webtranslateConfig;\r\n    this.logoLocation = webtranslateConfig.logoLocation;\r\n    this.debug = webtranslateConfig.debug;\r\n    this.webLangAutodetect = webtranslateConfig.webLangAutodetect; // after page is loaded auto detect language and change active system\r\n    this.hidePopup = webtranslateConfig.hidePopup;\r\n    this.translatePagePath = webtranslateConfig.translatePagePath;\r\n    this.appId = webtranslateConfig.appId;\r\n\r\n    this.xApiKey = coreConfig.xApiKey;\r\n\r\n    this.translateServiceUrl = this.configService.textConfig.translationUrl;\r\n  }\r\n\r\n  goToHome(): void {\r\n    this.router.navigateByUrl('');\r\n    this.sendMessage({ message: 'untranslate' });\r\n  }\r\n\r\n  addScript(url: string): void {\r\n    const script = document.createElement('script');\r\n    script.src = url;\r\n    document.body.appendChild(script);\r\n  }\r\n\r\n  addConfigurationScrip(): void {\r\n    const body = document.body as HTMLDivElement;\r\n    const script = document.createElement('script');\r\n    script.type = 'text/javascript';\r\n    script.innerHTML = '';\r\n    script.innerHTML = `\r\n\r\n    if (typeof (Tilde) === 'undefined')\r\n        Tilde = {};\r\n\r\n        Tilde.PageTranslateWidgetServerConfiguration = {\r\n          translateServiceUrl: '${this.translateServiceUrl}',\r\n        };\r\n\r\n    Tilde.PageTranslateWidgetClientConfiguration = {\r\n      TranslatePagePrefix: location.host + '/${this.translatePagePath}/',\r\n\r\n        // Url of the place where CSS for translation widget is kept\r\n        // if you wish to customize the standard letsmt style,\r\n        // point this to your own css file\r\n        cssLocation: './assets/webtranslate/widget.css',\r\n\r\n        // x-api-key for authorization\r\n        xApiKey: \"${this.xApiKey}\",\r\n\r\n        //api version\r\n        apiVersion: \"1\",  // Hardcoded, since only one version is supported\r\n\r\n        // enable or disable original text popup\r\n        hidePopup: ${this.hidePopup},\r\n\r\n        // id of the <div> where to draw widget\r\n        widgetContainerId: \"PageTranslateWidget\",\r\n\r\n        // available translation systems (target languages)\r\n        translationSystems: [],\r\n\r\n        // source language of the page that needs to be translated\r\n        language: \"en\",\r\n\r\n        // translate widget UI to language that is chosen in target language dropdown\r\n        translateUItoChosenLanguage: false,\r\n\r\n        // translate widget administrative part to language that is chosen in target language dropdown\r\n        translateAdminUItoChosenLanguage: false,\r\n\r\n        uiLanguage: \"${this.translate.currentLang}\",\r\n\r\n        // if page was translated and you click on a link\r\n        // that goes to another page in the same site,\r\n        // then translate the newly opened page also\r\n        translateAfterNavigation: true,\r\n\r\n        // true - language list is shown as links\r\n        // false - language list is shown as dropdown list and \"translate\" button\r\n        languageListAsLinks: false,\r\n\r\n        showHeader: false,\r\n\r\n        // after translation show a warning that page is machine translated at the top of the page\r\n        showMachineTranslationWarningAfterTranslation: false,\r\n\r\n        // show all available translation systems instead of just the ones configured in this file\r\n        showAllTranslationSystems: false,\r\n\r\n        // add some pixels to dropdown padding to make it look more similar on different browsers\r\n        browserSpecificDropdownPadding: false,\r\n\r\n        // name of icon set: \"default\", \"white\", \"grey\", \"red\"\r\n        iconSet: \"white\",\r\n\r\n        // Possible values: 1, 2, 3. Text for link \"Restore original: Latvian\" may be made shorter or longer\r\n        // useful to adapt to small or large screens\r\n        restoreOriginalLinkLength: 2,\r\n\r\n        // show message box when error happens?\r\n        showMessageBoxOnError: false,\r\n\r\n        // application identifier\r\n        appId: \"${this.appId}\",\r\n\r\n        // server will only return systems that are meant for given appId\r\n        filterSystemsByAppId: false,\r\n\r\n        // show help link\r\n        enableHelp: false,\r\n\r\n        // show feedback link\r\n        enableFeedback: false,\r\n\r\n        // allowed system statuses, by default only \"running\"\r\n        allowedSystemStatuses: \"running\",\r\n\r\n        // passed to translation service for logging.\r\n        // \"web-embedded\" for widget that is embedded in html page,\r\n        // \"web\" for widget that can load and translate any website\r\n        widget: \"web\"\r\n    };\r\n    `;\r\n    body.appendChild(script);\r\n  }\r\n\r\n  private setEmptyViewConfiguration(): void {\r\n    this.emptyViewConfig = {\r\n      title: 'WEBTRANSLATE.NO_RECORDS.TITLE',\r\n      description: 'WEBTRANSLATE.NO_RECORDS.DESCRIPTION',\r\n      descriptionParams: { helpUrl: this.helpUrl },\r\n      icon: 'manage_search',\r\n      enabled: true\r\n    }\r\n  }\r\n}\r\n","<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","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\nimport { TldTranslateWebsiteComponent } from './tld-translate-web/tld-translate-web.component';\r\nimport { TldTooltipModule } from '../tld-tooltip/tld-tooltip.module';\r\nimport { TldCommonModule } from '../tld-common/tld-common.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CloseButtonModule, CompanyProductModule, NotificationMessageModule, StatusDisplayModule } from '@tilde-nlp/ngx-common';\r\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\n\r\n@NgModule({\r\n  declarations: [TldTranslateWebsiteComponent],\r\n  imports: [\r\n    CommonModule,\r\n    TranslateModule,\r\n    TldTooltipModule,\r\n    TldCommonModule,\r\n    FormsModule,\r\n    NotificationMessageModule,\r\n    CompanyProductModule,\r\n    CloseButtonModule,\r\n    MatButtonModule,\r\n    MatIconModule,\r\n    MatProgressBarModule,\r\n    MatInputModule,\r\n    MatTooltipModule,\r\n    MatButtonModule,\r\n    FlexLayoutModule,\r\n    MatFormFieldModule,\r\n    StatusDisplayModule\r\n  ],\r\n  exports: [\r\n    TldTranslateWebsiteComponent\r\n  ]\r\n})\r\nexport class TldWebModule { }\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { TldTranslateConfigService } from '../modules/tld-common/services';\r\nimport { ITranslationFile } from '../modules/tld-document/models/translate-file.model';\r\nimport { TldTranslateFileService } from '../modules/tld-document/services/tld-translate-file.service';\r\n\r\n@Component({\r\n    selector: 'tld-translate-body',\r\n    templateUrl: './tld-translate-body.component.html',\r\n    styleUrls: ['./tld-translate-body.component.scss'],\r\n    standalone: false\r\n})\r\nexport class TldTranslateBodyComponent implements OnInit, OnDestroy {\r\n  constructor(\r\n    private readonly fileTranslateService: TldTranslateFileService,\r\n    private readonly config: TldTranslateConfigService) {\r\n  }\r\n\r\n  get files(): ITranslationFile[] {\r\n    return this.fileTranslateService?.translationFiles;\r\n  };\r\n  get file(): ITranslationFile {\r\n    return this.fileTranslateService?.translationFiles?.[0];\r\n  }\r\n  get isFilePreviewLoaded() {\r\n    return this.file?.isFilePreviewLoaded;\r\n  }\r\n  get filePreviewProgress() { return this.file?.filePreviewProgress };\r\n\r\n  private _multipleFilesUploaded: boolean;\r\n\r\n  get multipleFilesUploaded() {\r\n    return this._multipleFilesUploaded;\r\n  }\r\n\r\n  set multipleFilesUploaded(value: boolean) {\r\n    this._multipleFilesUploaded = value;\r\n    this.fileTranslateService.multipleFileUploadActive = this._multipleFilesUploaded;\r\n  }\r\n\r\n  private readonly destroy$ = new Subject();\r\n\r\n  ngOnInit(): void {\r\n    this.fileTranslateService.onClear()\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(() => {\r\n        this.multipleFilesUploaded = false;\r\n      })\r\n  }\r\n\r\n  fileUpload(files: File[]) {\r\n    this.multipleFilesUploaded = this.config.fileConfig.useMultipleFileUpload;\r\n    for (var i = 0; i < files.length; i++) {\r\n      this.fileTranslateService.loadFilePreview(files[i]);\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.destroy$.next(null)\r\n    this.destroy$.complete();\r\n  }\r\n}\r\n","<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","export const SUMMARIZE = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M4 5H18.6286V6.82857H4V5ZM4 10.4857H18.6286V8.65714H4V10.4857ZM4 14.1429H10.4V12.3143H4V14.1429ZM4 17.8H10.4V15.9714H4V17.8Z\" fill=\"currentColor\"/>\r\n<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\"/>\r\n<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\"/>\r\n</svg>\r\n`;\r\nexport const REPHRASE = `<svg width=\"25\" height=\"25\" viewBox=\"0 0 25 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.879 4.16166L21.229 5.51166C22.019 6.29166 22.019 7.56166 21.229 8.34166L7.99897 21.5717H3.81897V17.3917L14.219 6.98166L17.049 4.16166C17.829 3.38166 19.099 3.38166 19.879 4.16166ZM5.81897 19.5717L7.22897 19.6317L17.049 9.80166L15.639 8.39166L5.81897 18.2117V19.5717Z\" fill=\"currentColor\"/>\r\n<path d=\"M19.5181 19.798L18.8644 21.261C18.6793 21.6752 18.0913 21.6752 17.9062 21.261L17.2526 19.798C17.1471 19.5621 16.9584 19.3734 16.7225 19.268L15.2595 18.6143C14.8453 18.4292 14.8453 17.8412 15.2595 17.6561L16.7225 17.0024C16.9584 16.897 17.1471 16.7083 17.2526 16.4724L17.9062 15.0094C18.0913 14.5952 18.6793 14.5952 18.8644 15.0094L19.5181 16.4724C19.6235 16.7083 19.8122 16.897 20.0481 17.0024L21.5111 17.6561C21.9253 17.8412 21.9253 18.4292 21.5111 18.6143L20.0481 19.268C19.8122 19.3734 19.6235 19.5621 19.5181 19.798Z\" stroke=\"#474D53\"/>\r\n<path d=\"M9.88502 3.56437C9.75242 3.26761 9.33117 3.26761 9.19857 3.56437L8.93512 4.15399L8.3455 4.41744C8.04874 4.55003 8.04874 4.97129 8.3455 5.10389L8.93512 5.36733L9.19857 5.95696C9.33117 6.25372 9.75242 6.25372 9.88502 5.95696L10.1485 5.36733L10.7381 5.10389C11.0349 4.97129 11.0349 4.55003 10.7381 4.41744L10.1485 4.15399L9.88502 3.56437Z\" fill=\"currentColor\"/>\r\n<path d=\"M6.50947 5.80395C6.31057 5.35881 5.67869 5.35881 5.4798 5.80395L5.08462 6.68839L4.20019 7.08356C3.75505 7.28245 3.75505 7.91434 4.20019 8.11323L5.08462 8.5084L5.4798 9.39284C5.67869 9.83798 6.31057 9.83798 6.50947 9.39284L6.90464 8.5084L7.78907 8.11323C8.23421 7.91434 8.23421 7.28245 7.78907 7.08356L6.90464 6.68839L6.50947 5.80395Z\" fill=\"currentColor\"/>\r\n</svg>\r\n`;\r\nexport const DOWNLOAD = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n  <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\"/>\r\n</svg>\r\n`;\r\nexport const SOUND = `\r\n<svg width=\"25\" height=\"24\" viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M16.0996 20.101C19.2741 18.7086 21.499 15.6827 21.499 12.0006C21.499 8.31848 19.2741 5.29252 16.0996 3.90015V5.70024C18.248 6.94771 19.6989 9.34273 19.6989 12.0006C19.6989 14.6584 18.248 17.0534 16.0996 18.3009V20.101Z\" fill=\"#474D53\"/>\r\n<path d=\"M16.0997 7.5006V16.5011C17.2022 15.511 17.8998 13.5948 17.8998 12.0008C17.8998 10.4069 17.2022 8.49065 16.0997 7.5006ZM5.29912 16.5011H7.72654L12.9 19.9501C13.0356 20.0406 13.1932 20.0925 13.356 20.1005C13.5188 20.1084 13.6807 20.072 13.8244 19.9951C13.968 19.9181 14.0881 19.8037 14.1718 19.6639C14.2555 19.5241 14.2997 19.3642 14.2996 19.2012V4.80046C14.2995 4.63766 14.2553 4.47792 14.1716 4.33827C14.0879 4.19863 13.9679 4.08429 13.8244 4.00745C13.6808 3.9306 13.5192 3.89413 13.3565 3.90191C13.1939 3.90969 13.0365 3.96143 12.9009 4.05162L7.72654 7.5006H5.29912C4.30637 7.5006 3.49902 8.30795 3.49902 9.3007V14.701C3.49902 15.6937 4.30637 16.5011 5.29912 16.5011ZM5.29912 9.3007H7.99926C8.02896 9.3007 8.05416 9.2863 8.08296 9.2836C8.20281 9.27202 8.31911 9.23652 8.42498 9.17919C8.44838 9.16569 8.47628 9.16389 8.49879 9.14949L12.4995 6.48175V17.5199L8.49879 14.8522C8.47628 14.8369 8.44838 14.8342 8.42498 14.8225C8.31856 14.7649 8.20162 14.7294 8.08116 14.7181C8.05236 14.7154 8.02806 14.701 7.99926 14.701H5.29912V9.3007Z\" fill=\"#474D53\"/>\r\n</svg>\r\n`;\r\nexport const UPLOAD = `<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n<path d=\"M18 15.0001V18.0001H6V15.0001H4V18.0001C4 19.1001 4.9 20.0001 6 20.0001H18C19.1 20.0001 20 19.1001 20 18.0001V15.0001H18ZM7 9.00012L8.41 10.4101L11 7.83012V16.0001H13V7.83012L15.59 10.4101L17 9.00012L12 4.00012L7 9.00012Z\" fill=\"#474D53\"/>\r\n</svg>\r\n`;\r\n","import { Injectable } from '@angular/core';\r\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class WtwLinkParamsService {\r\n\r\n  private defaultQueryParams = {\r\n    lang: ''\r\n  }\r\n  private queryString: BehaviorSubject<string> = new BehaviorSubject(this.defaultQueryString)\r\n\r\n  get defaultQueryString() {\r\n    return `lang=${this.defaultQueryParams.lang}`\r\n  }\r\n\r\n  constructor(private readonly translate: TranslateService) {\r\n    this.defaultQueryParams.lang = this.translate.currentLang;\r\n    \r\n    this.translate.onLangChange.subscribe((language: LangChangeEvent) => {\r\n      this.defaultQueryParams.lang = language.lang;\r\n      this.queryString.next(this.defaultQueryString);\r\n    });\r\n  };\r\n\r\n  query(): Observable<string> {\r\n    return this.queryString.asObservable()\r\n  }\r\n}\r\n","import { animate, style, transition, trigger } from '@angular/animations';\r\nimport { Component, EventEmitter, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ActiveData, AlertService, IconService, NotificationMessage, NotificationMessageType } from '@tilde-nlp/ngx-common';\r\nimport { Subject } from 'rxjs';\r\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\r\nimport { availableLanguages } from './i18n/available-languages';\r\nimport { AudioRecordService, TldVoiceInputService } from './modules/tld-audio/services';\r\nimport { TldTranslateButtonService } from './modules/tld-common/components/translate-button/tld-translate-button.service';\r\nimport { IAuthOptions, languageMenuVersion } from './modules/tld-common/models';\r\nimport { TldTranslateSystemManagementService, TldTranslateConfigService } from './modules/tld-common/services';\r\nimport { WtwLinkParamsService } from './modules/tld-common/services/wtw-link-params.service';\r\nimport { TldTranslateFileService } from './modules/tld-document/services/tld-translate-file.service';\r\nimport { TldTranslateTextService } from './modules/tld-text/services/tld-translate-text.service';\r\nimport { ISwitcherTranslationOptions } from './modules/tld-tooltip/models/switcher-options.model';\r\nimport { OpenedMenu } from './modules/tld-tooltip/translation-system-picker/models/opened-menu';\r\nimport { TranslationSystemPickerService } from './modules/tld-tooltip/translation-system-picker/services/translation-system-picker.service';\r\nimport { TldTranslateBodyComponent } from './tld-translate-body/tld-translate-body.component';\r\nimport { TerminologyService } from '@tilde-nlp/ngx-common';\r\n\r\nimport * as icons from '../assets/icons';\r\n\r\n@Component({\r\n    selector: 'tld-translate',\r\n    templateUrl: './tld-translate.component.html',\r\n    styleUrls: ['./tld-translate.component.scss'],\r\n    animations: [\r\n        trigger('openCloseAnimation', [\r\n            transition(':enter', [\r\n                style({ height: 0 }),\r\n                animate(500)\r\n            ]),\r\n            transition(':leave', animate(500, style({ height: 0 })))\r\n        ])\r\n    ],\r\n    standalone: false\r\n})\r\nexport class TldTranslateComponent implements OnInit, OnDestroy {\r\n  @Output() onError: EventEmitter<any> = new EventEmitter<any>();\r\n  @Output() onSystemChange: EventEmitter<ActiveData> = new EventEmitter<ActiveData>();\r\n\r\n  @ViewChild(TldTranslateBodyComponent) tldTranslateBody: TldTranslateBodyComponent;\r\n\r\n  activeSystemObj: ActiveData;\r\n  messages: NotificationMessage[] = [];\r\n\r\n  switcherOptions: ISwitcherTranslationOptions;\r\n\r\n  get actionButtonLoader() { return this.translateTextService.isTranslating; }\r\n\r\n  get showDomainsWithLanguageName(): boolean {\r\n    return this.configService.coreConfig.showDomainsWithLanguageName;\r\n  }\r\n\r\n  get maxDisplayedLanguages(): number {\r\n    return this.configService.coreConfig.maxDisplayedLanguages;\r\n  }\r\n\r\n  readonly noSystemsError: NotificationMessage = { body: \"TLD_TRANSLATE.ERROR_NO_SYSTEMS_LOADED\", type: NotificationMessageType.ERROR, hideClose: true };\r\n\r\n  get actionButtonDisabled() {\r\n    return this.translateFileService.disableTranslateButton\r\n      || this.audioService.isRecording\r\n      || this.voiceProcessingService.isProcessing\r\n      || this.translateTextService.isDictating\r\n  }\r\n\r\n  get showTranslateButton() {\r\n    return this.configService.textConfig.showTranslateButton && !this.translateFileService.multipleFileUploadActive;\r\n  }\r\n\r\n  // this param is necessary to remove max height if multiple file component is active, since there shouldn't be max height in that case.\r\n  get isMultipleFilesActive() {\r\n    return this.tldTranslateBody?.multipleFilesUploaded;\r\n  }\r\n\r\n  get hideLangMenuLabels() {\r\n    return this.configService?.coreConfig.hideLangMenuLabels;\r\n  }\r\n\r\n  get isCollectionsActivated() {\r\n    return this.configService?.termConfig?.isCollectionsActivated;\r\n  }\r\n\r\n  get sourceLanguage() {\r\n    return this.activeSystemObj?.sourceLang.lang;\r\n  }\r\n\r\n  get targetLanguage() {\r\n    return this.activeSystemObj?.targetLang.lang;\r\n  }\r\n\r\n  get systemPickerDropdownVisible() {\r\n    return this.systemPickerService.openedMenu !== OpenedMenu.NONE;\r\n  }\r\n\r\n  get languageMenuVersion() {\r\n    return this.configService.coreConfig?.languageMenuVersion;\r\n  }\r\n\r\n  readonly languageMenuV1 = languageMenuVersion.V1;\r\n  readonly languageMenuV2 = languageMenuVersion.V2;\r\n\r\n  private readonly destroy$ = new Subject();\r\n\r\n  constructor(private readonly translate: TranslateService,\r\n    private readonly translateFileService: TldTranslateFileService,\r\n    private readonly translateTextService: TldTranslateTextService,\r\n    private readonly configService: TldTranslateConfigService,\r\n    private readonly alerts: AlertService,\r\n    private readonly translateButtonService: TldTranslateButtonService,\r\n    private readonly tldSystem: TldTranslateSystemManagementService,\r\n    private readonly audioService: AudioRecordService,\r\n    private readonly voiceProcessingService: TldVoiceInputService,\r\n    private readonly wtwQueryService: WtwLinkParamsService,\r\n    private readonly systemPickerService: TranslationSystemPickerService,\r\n    private readonly terminologyService: TerminologyService,\r\n    private readonly iconService: IconService\r\n  ) {}\r\n\r\n  changeAuth(authOptions: IAuthOptions) {\r\n    this.configService.coreConfig.isAuth = authOptions.isAuth;\r\n    this.configService.termConfig.canCreateCollection = authOptions.canCreateTermCollection;\r\n    this.translateFileService.clear();\r\n    this.initializeWidget();\r\n  }\r\n\r\n  initializeWidget(): void {\r\n    this.tldSystem.init(this.tldSystem.getLastUsedSystem());\r\n  }\r\n\r\n  ngOnInit() {\r\n\t\tthis.iconService.registerIcons(icons);\r\n    this.removeMessagesOnClear();\r\n\r\n    this.tldSystem.getLoadedSystems().pipe(takeUntil(this.destroy$)).subscribe((res) => {\r\n      if (!res.length) {\r\n        this.messages.push(this.noSystemsError);\r\n      }\r\n    })\r\n\r\n    if (this.configService.coreConfig.debug) {\r\n      for (const key in availableLanguages) {\r\n        this.translate.setTranslation(key, availableLanguages[key], true);\r\n      }\r\n    }\r\n\r\n    this.initializeWidget();\r\n\r\n    this.tldSystem.getActiveData().pipe(\r\n      distinctUntilChanged(),\r\n      takeUntil(this.destroy$))\r\n      .subscribe((val: ActiveData) => {\r\n        this.activeSystemObj = val;\r\n        if (!val) {\r\n          return;\r\n        }\r\n\r\n        this.onSystemChange.emit(val);\r\n\r\n        this.switcherOptions = {\r\n          domains: val.domains,\r\n          source: { code: val.sourceLang.lang, systemId: val.systemId },\r\n          sourceLanguageList: val.sourceLangList,\r\n          systemId: val.systemId,\r\n          swapActive: val.swapLangActive,\r\n          target: { code: val.targetLang.lang, systemId: val.systemId },\r\n          targetLanguageList: val.targetLangList,\r\n          vendors: val.vendors,\r\n          languageId: val.languageId\r\n        };\r\n      });\r\n\r\n    this.translateTextService.sourceChange.pipe(\r\n      takeUntil(this.destroy$))\r\n      .subscribe((event) => {\r\n        if (event.swapSystems) {\r\n          this.swapLanguages();\r\n        }\r\n      });\r\n\r\n    this.translateButtonService.getActionClick().pipe(\r\n      takeUntil(this.destroy$))\r\n      .subscribe(() => {\r\n        this.translateButtonClick();\r\n      });\r\n\r\n    this.wtwQueryService.query().pipe(\r\n      takeUntil(this.destroy$))\r\n      .subscribe((query: string) => {\r\n        this.messages.forEach(msg => {\r\n          msg.localizationParams.queryString = query\r\n        });\r\n      });\r\n\r\n    this.alerts.getMessages().pipe(\r\n      takeUntil(this.destroy$))\r\n      .subscribe((message: NotificationMessage) => {\r\n        message.localizationParams.queryString = this.wtwQueryService.defaultQueryString;\r\n        if (message?.delete) {\r\n          this.removeExistingMessage(message);\r\n          return;\r\n        }\r\n\r\n        if (message.type === NotificationMessageType.ERROR) {\r\n          this.onError.emit(message.error);\r\n        }\r\n       \r\n        this.addMessage(message);\r\n      });\r\n\r\n    const appNameKey = \"APP_NAME\";\r\n    this.translate.stream([appNameKey]).pipe(\r\n      takeUntil(this.destroy$))\r\n      .subscribe((translations) => {\r\n        this.configService.coreConfig.appName = translations[appNameKey];\r\n      });\r\n\r\n    this.terminologyService.getRetranslateSignal().pipe(takeUntil(this.destroy$)).subscribe(() => {\r\n      if (this.translateFileService.fileNames.length) {\r\n        return;\r\n      }\r\n      this.translateButtonClick();\r\n    });\r\n  }\r\n\r\n  removeMessage(ix: number) {\r\n    this.messages.splice(ix, 1);\r\n  }\r\n\r\n  swapLanguages() {\r\n    this.tldSystem.swapSystemLanguages();\r\n  }\r\n\r\n  sourceLanguageChange(language: string) {\r\n    this.tldSystem.changeLanguage(language, this.switcherOptions.target.code);\r\n  }\r\n\r\n  systemChange(systemId: string) {\r\n    this.tldSystem.changeSystem(systemId);\r\n  }\r\n\r\n  targetLanguageChange(language: string) {\r\n    this.tldSystem.changeLanguage(this.switcherOptions.source.code, language);\r\n  }\r\n\r\n  translateButtonClick() {\r\n    if (this.translateFileService.translationFiles?.length > 0) {\r\n      this.translateFileService.translateButtonClick(this.activeSystemObj);\r\n    }\r\n    else {\r\n      this.translateTextService.onTranslateButtonClick();\r\n    }\r\n  }\r\n\r\n  removeMessagesOnClear() {\r\n    this.translateFileService.onClear()\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(() => {\r\n        this.messages = [];\r\n      })\r\n\r\n    this.translateTextService.onClear()\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(() => {\r\n        this.messages = [];\r\n      })\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.destroy$.next(null)\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  private removeExistingMessage(message: NotificationMessage): void {\r\n    delete message.delete;\r\n    const deleteMsgString = JSON.stringify(message);\r\n    const msg = this.messages.find((existingMsg) => \r\n      JSON.stringify(existingMsg) === deleteMsgString);\r\n      \r\n    const index = this.messages.indexOf(msg);\r\n\r\n    if (index < 0) {\r\n      return;\r\n    }\r\n\r\n    this.removeMessage(index);\r\n  }\r\n\r\n  private addMessage(message: NotificationMessage): void {\r\n    // pushing only \"one of\" message in array, so screen is not spammed with messages\r\n    const deleteMsgString = JSON.stringify(message.localizationParams);\r\n    const existingMessage = this.messages.find(msg => msg.title === message.title\r\n      && msg.type === message.type\r\n      && message.body === msg.body\r\n      && JSON.stringify(msg.localizationParams) === deleteMsgString);\r\n    if (!existingMessage) {\r\n      this.messages.push(message);\r\n    }\r\n  }\r\n}\r\n","<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>","import { AlertConfiguration } from '@tilde-nlp/ngx-common';\r\nimport { TldTranslateConfigService } from '../modules/tld-common/services';\r\nimport { availableLanguages } from '../i18n/available-languages';\r\n\r\nexport function alertServiceConfigurationFactory(\r\n  config: TldTranslateConfigService\r\n) {\r\n  const coreConfig = config.coreConfig;\r\n\r\n  const alertConfig: AlertConfiguration = {\r\n    contactSupport: coreConfig.contactSupport,\r\n    subscriptionSupport: coreConfig.subscriptionSupport,\r\n    registerLink: coreConfig.registerLink,\r\n    supportEmail: coreConfig.supportEmail,\r\n    availableLanguages: availableLanguages\r\n  };\r\n\r\n  return alertConfig;\r\n}\r\n","export const MT_TERM_API_TOKEN = \"MtTermApiToken\";\r\n","import { ClipboardModule } from '@angular/cdk/clipboard';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule, Provider } from '@angular/core';\r\nimport { FlexLayoutModule } from '@ngbracket/ngx-layout';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\r\nimport {\r\n\tALERT_CONFIGURATION_TOKEN,\r\n\tCloseButtonModule,\r\n\tNotificationMessageModule,\r\n} from '@tilde-nlp/ngx-common';\r\nimport { alertServiceConfigurationFactory } from './factories/alert-service-configuration.factory';\r\nimport { TLD_TRANSLATE_CONFIG_TOKEN } from './injection-tokens';\r\nimport { TldCommonModule } from './modules/tld-common';\r\nimport { ITldTranslateConfig } from './modules/tld-common/models';\r\nimport { TldTranslateConfigService } from './modules/tld-common/services';\r\nimport { TldDocumentModule } from './modules/tld-document';\r\nimport { TldTextModule } from './modules/tld-text';\r\nimport { TldTooltipModule } from './modules/tld-tooltip';\r\nimport { TldTranslateBodyComponent } from './tld-translate-body/tld-translate-body.component';\r\nimport { TldTranslateComponent } from './tld-translate.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [TldTranslateBodyComponent, TldTranslateComponent],\r\n\texports: [TldTranslateComponent],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tTranslateModule,\r\n\t\tFormsModule,\r\n\t\tClipboardModule,\r\n\t\tTldCommonModule,\r\n\t\tTldTextModule,\r\n\t\tTldDocumentModule,\r\n\t\tTldTooltipModule,\r\n\t\tNotificationMessageModule,\r\n\t\tCloseButtonModule,\r\n\t\tFlexLayoutModule,\r\n\t],\r\n\tproviders: [TranslateService],\r\n})\r\nexport class TldTranslateModule {\r\n\tstatic forRoot(configuration?: ITldTranslateConfig): ModuleWithProviders<TldTranslateModule> {\r\n\t\tconst providers: Provider[] = [\r\n\t\t\t{\r\n\t\t\t\tprovide: ALERT_CONFIGURATION_TOKEN,\r\n\t\t\t\tuseFactory: alertServiceConfigurationFactory,\r\n\t\t\t\tdeps: [TldTranslateConfigService],\r\n\t\t\t},\r\n\t\t];\r\n\r\n\t\tif (configuration) {\r\n\t\t\tproviders.push({\r\n\t\t\t\tprovide: TLD_TRANSLATE_CONFIG_TOKEN,\r\n\t\t\t\tuseValue: configuration,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tngModule: TldTranslateModule,\r\n\t\t\tproviders,\r\n\t\t};\r\n\t}\r\n}\r\n","/*\r\n * Public API Surface of tld-translate\r\n */\r\n\r\n\r\n// Tooltip module\r\nexport * from './lib/i18n/available-languages';\r\n// Common moduke\r\nexport * from './lib/modules/tld-common/services';\r\nexport * from './lib/modules/tld-common/models';\r\nexport * from './lib/modules/tld-common/pipes';\r\nexport * from './lib/modules/tld-common/components'\r\nexport * from './lib/modules/tld-common';\r\n// Document module\r\nexport * from './lib/modules/tld-document'\r\nexport * from './lib/modules/tld-document/models'\r\nexport * from './lib/modules/tld-document/services'\r\n// Text module\r\nexport * from './lib/modules/tld-text';\r\nexport * from './lib/modules/tld-text/models';\r\nexport * from './lib/modules/tld-text/services';\r\nexport * from './lib/modules/tld-text/utils';\r\n// Tooltip module\r\nexport * from './lib/modules/tld-tooltip';\r\nexport * from './lib/modules/tld-tooltip/models';\r\n// Webtranslate module\r\nexport * from './lib/modules/tld-web'\r\nexport * from './lib/tld-translate.component';\r\n// Translate module\r\nexport * from './lib/tld-translate.module';\r\n// Audio module\r\nexport * from './lib/modules/tld-audio';\r\nexport * from './lib/modules/tld-audio/services';\r\n// Shared components\r\nexport * from \"./lib/components/shared/text-to-speech\";\r\n// Injection tokens\r\nexport * from \"./lib/injection-tokens\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i5","i7.TranslateDomainPipe","i1.TldTranslateButtonService","i5.CapitalizePipe","i3.TextToSpeechComponent","i6","i1.TldTranslateSystemManagementService","i2.TldTranslateConfigService","i2.TldTranslateSystemManagementService","i1.FileApiService","i4.TldTranslateConfigService","i4.TldTranslateSystemManagementService","i3.TldTranslateFileService","i1.TldTranslateConfigService","i7","i8","i1.TldTranslateFileService","i3.TldTranslateConfigService","i5.TldLoaderComponent","i6.TldTranslateButtonComponent","i7.SourceAndTargetWrapperComponent","i9","i10","i11.TldTranslateFileDownloadButtonComponent","i12","i4.TldTranslateButtonService","i7.TldTranslateButtonComponent","i10.VendorDisclaimerComponent","i13.TldTranslateFileDownloadButtonComponent","i14","i1.TldVoiceInputApiService","i1.AudioRecordService","i3.TldVoiceInputService","i6.VendorDisclaimerComponent","i1.TldTranslateTextApiService","i3.TldScrollService","i2.TldHighlightService","i6.LanguageDetectionService","i2.TldTranslateTextService","i8.HighlightTreeComponent","i6.TextareaWithBackgroundComponent","finalize","i1.TldTranslateTextService","i5.TldScrollService","i6.AudioRecordService","i6.TldVoiceInputService","i7.TldTranslateFileService","i11.SourceAndTargetWrapperComponent","i12.TldDictateComponent","i13.TextToSpeechComponent","i15","i16","i17","i18","i19.RephraseComponent","i20.TldTranslateSourceComponent","i21.TldDictionaryComponent","i22.HighlightTreeComponent","i23.ProgressIndicatorComponent","i24","i3.TranslateDomainPipe","i6.TldListMenuComponent","i7.CapitalizePipe","i5.TldLangListComponent","i6.TldLoaderComponent","i8.TldListMenuComponent","i11","i12.TldDomainListComponent","i13","i1.TranslationSystemPickerService","i4.TldTranslateTextService","takeUntil","i2.TranslationSystemPickerService","i6.TranslationSystemPickerButtonComponent","i5.TranslationSystemPickerButtonComponent","i3.TranslationSystemPickerService","i6.TranslationSystemPickerLanguageListComponent","i7.TranslationSystemPickerSystemListComponent","i8.TranslationSystemPickerButtonComponent","i3.TldTranslateSystemManagementService","i9.TranslationSystemPickerFilterComponent","i10.TranslationSystemPickerDropdownBodyComponent","i3.TldTranslateButtonService","i6.TldTranslateWebService","i8.TldTranslateSwitcherComponent","i9.TldTranslateButtonComponent","i4.TldTranslateTextComponent","i5.TldTranslateFileComponent","i6.TldTranslateFileMultipleComponent","i2.TldTranslateFileService","i3.TldTranslateTextService","i6.TldTranslateButtonService","i7.AudioRecordService","i7.TldVoiceInputService","i8.WtwLinkParamsService","i9.TranslationSystemPickerService","i11.TldTranslateSwitcherComponent","i12.TranslationSystemPickerComponent","i13.TranslationSystemPickerDropdownComponent","i16.TldTranslateBodyComponent"],"mappings":"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"}