IgorRolf
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору "Отремонтированный" от Grok Service.js "// DeepL Service Configuration for QTranslate const DEEPL_API_KEY = "YOUR_API_KEY_HERE"; // Ersetzen Sie dies durch Ihren DeepL-API-Schlüssel const DEEPL_API_URL = "https://api-free.deepl.com/v2"; // Für Pro-API: https://api.deepl.com/v2 function serviceHeader() { return new ServiceHeader( 31, "DeepL", "DeepL trains artificial intelligence to understand and translate texts." + Const.NL2 + "https://www.deepl.com", Capability.TRANSLATE | Capability.DETECT_LANGUAGE ); } function serviceHost() { return DEEPL_API_URL; } function serviceLink(text, sourceLang, targetLang) { var url = "https://www.deepl.com/translator"; if (text && isLanguage(sourceLang) && isLanguage(targetLang)) { url += format( "#{0}/{1}/{2}", codeFromLanguage(sourceLang).toLowerCase(), codeFromLanguage(targetLang).toLowerCase(), encodeGetParam(text) ); } return url; } function parseText(text) { // Beibehalten für Kompatibilität, aber vereinfacht, da die API ganze Texte verarbeitet text = prepareSource(text); text = limitSource(text); return [{ type: 1, text: text.replace(/\s+/g, " ") }]; } function splitText(text) { return parseText(text).filter(function(e) { return 1 === e.type }).map(function(e) { return e.text }); } function getSourceLanguage(response) { return response && response.detected_source_language ? languageFromCode(response.detected_source_language) : UNKNOWN_LANGUAGE; } function serviceDetectLanguageRequest(text) { text = limitSource(text); // Spracherkennung erfolgt implizit über Übersetzungsanfrage mit source_lang=auto return serviceTranslateRequest(text, "auto", "EN"); // EN als Ziel, um Erkennung zu triggern } function serviceDetectLanguageResponse(response) { response = parseJSON(response); return getSourceLanguage(response.translations[0]); } function serviceTranslateRequest(text, sourceLang, targetLang) { text = splitText(text)[0]; // Nur den ersten Textblock verwenden sourceLang = codeFromLanguage(sourceLang); targetLang = codeFromLanguage(targetLang); var params = { auth_key: DEEPL_API_KEY, text: text, target_lang: targetLang }; if (sourceLang !== "auto") { params.source_lang = sourceLang; } return new RequestData( HttpMethod.POST, "/translate", stringifyJSON(params), postHeader(true) ); } function serviceTranslateResponse(originalText, response, sourceLang, targetLang) { response = parseJSON(response); var translatedText = ""; if (response && response.translations && response.translations.length > 0) { translatedText = response.translations[0].text; if (!isLanguage(sourceLang)) { sourceLang = getSourceLanguage(response.translations[0]); } } return new ResponseData(translatedText, sourceLang, targetLang, ""); } // Aktualisierte Liste der unterstützten Sprachen (Stand 2025, basierend auf DeepL-API-Dokumentation) SupportedLanguages = [ "auto", "BG", "CS", "DA", "DE", "EL", "EN", "ES", "ET", "FI", "FR", "HU", "ID", "IT", "JA", "KO", "LT", "LV", "NB", "NL", "PL", "PT", "RO", "RU", "SK", "SL", "SV", "TR", "UK", "ZH" ]; " | Всего записей: 12 | Зарегистр. 13-04-2024 | Отправлено: 16:16 19-06-2025 | Исправлено: IgorRolf, 16:17 19-06-2025 |
|