From 90e50215092cb91ee142c0b53de1470036fd47f5 Mon Sep 17 00:00:00 2001 From: Kristoph Sachsenweger <kristoph.sachsenweger@swr.de> Date: Tue, 2 Apr 2024 09:49:15 +0000 Subject: [PATCH] Entfernen: Google Translate --- netzradar-linker.js | 68 +++------------------------------------------ 1 file changed, 4 insertions(+), 64 deletions(-) diff --git a/netzradar-linker.js b/netzradar-linker.js index 7ed4ed9..e65b397 100644 --- a/netzradar-linker.js +++ b/netzradar-linker.js @@ -1,8 +1,8 @@ // ==UserScript== // @name netzradar-linker // @source https://gitlab.ard.de/ida/netzradar-linker -// @description extrahiert Metadaten (Headline, Hostnamen, URL) des gegenwärtigen Dokuments, generiert Kurz-URL, übersetzt englischsprachigen Titel ins Deutsch, und kopiert Metadaten und Kurz-URL in die Zwischenablage. -// @version 3 +// @description extrahiert Metadaten (Headline, Hostnamen, URL) des gegenwärtigen Dokuments, generiert Kurz-URL, und kopiert Metadaten und Kurz-URL in die Zwischenablage. +// @version 4 // @grant GM_setClipboard // @match *://*/* // ==/UserScript== @@ -63,27 +63,7 @@ format: "json", }; - /* Google-Translate-API */ - /** URL unter der Google-Translate erreichbar ist */ - const GOOGLE_TRANSLATE_API_URL = new URL( - "https://www.googleapis.com/language/translate/v2"); - /** - * Parameter für Google-Translate-API. - * @typedef {Object} GoogleTranslateParams - * @property {string} key Google-API-Key - * @property {string} target Code für die Zielsprache. - * @property {string} source Code für die Ursprungssprache (wird automatisch erkannt, wenn leerer String). - */ - /** - * Google Translate-Parameter. - * @type {GoogleTranslateParams} - */ - const GOOGLE_TRANSLATE_PARAMS = { - key: "YOUR_GOOGLE_API_KEY", - target: "de", - source: "", - }; - + /* ===================== @@ -141,29 +121,6 @@ return data.shorturl; }; - /** - * Übersetze `text` via Google-Translate-API. - * @param {URL} apiURL URL der Google-Translate-API - * @param {GoogleTranslateParams} apiParams - API-Parameter. - * @param {string} text Zu übersetzender Text. - * @returns {Promise<string>} Der übersetzte Text. - * @throws {Error} Request ist fehlgeschlagen. - */ - const fetchTranslation = async (apiURL, apiParams, text) => { - // GET-URL bauen für Google-Translate-API - const params = { ...apiParams, q: text }; - Object.entries(params).forEach(([name, value]) => - apiURL.searchParams.append(name, value) - ); - - // Request durchführen - const request = await fetch(apiURL); - if (!request.ok) throw new Error(request); - const data = await request.json(); - - // Übersetzung zurückgeben (wenn nicht vorhanden, den Originaltext) - return data?.data?.translations[0]?.translatedText || text; - }; /* Button */ @@ -237,7 +194,6 @@ /** * Extrahiere Metadaten (Headline, Hostnamen, URL) des aktuellen Dokuments, * generiere Kurz-URL, - * übersetze fremdsprachige Headline ins Deutsch * und kopiere Metadaten und Kurz-URL in die Zwischenablage. * @param {MouseEvent} event Das auslösende Klick-Event * @param {HTMLButtonElement} button Der gedrückte Knopf @@ -270,26 +226,10 @@ throw new Error('Fataler Fehler, konnte short-URL nicht generieren'); } - /* Wenn nötig: Versuche Headline zu übersetzen */ - - let translatedHeadline = headline; - if (headline !== HEADLINE_FALLBACK) { - try { - translatedHeadline = await fetchTranslation( - GOOGLE_TRANSLATE_API_URL, - GOOGLE_TRANSLATE_PARAMS, - headline - ); - } catch (error) { - console.error(error); - console.error('Fehler, konnte nicht übersetzen -- fahre ohne Übersetzung fort'); - } - } - /* Formatiere Ausgabe */ const output = OUTPUT_TEMPLATE.replace("{{domain}}", domainName) - .replace("{{headline}}", translatedHeadline) + .replace("{{headline}}", headline) .replace("{{url}}", shortURL); // Kopiere Ausgabe in den Zwischenspeicher -- GitLab