Single-File Panel für mehrsprachige Websites (Shared-Host kompatibel)
Übersetze komplette Websites mit DeepL – inklusive Spiegelstruktur (/en, /en-us, /it …), Link-Rewriter, SEO-Meta, optionalem Language-Switcher, Find & Replace, URL-Ausschlüssen u. v. m.
Highlights
DeepL JSON + Header-Auth (Free/Pro auto), Batch-Übersetzung, Hash-Cache
Spiegelstruktur je Sprache – nur Textknoten & SEO-Metafelder (title, description, OG/Twitter)
Link-Rewriter: root-relative & absolute interne Links → /lang/…
Switcher: Auto-Inject optional (manuell empfohlen)
Find & Replace via JSON (data/replace_rules.json)
URL-Ausschlüsse: bestimmte Pfade/Dateien von der Übersetzung ausnehmen
Wildcard-Ziel in Links: …/* wird zur Laufzeit auf den aktuellen Pfad gemappt
Installation (Kurzfassung)
Ordner /translator ins Webroot laden (PHP 7.4+, cURL aktiv).
Im Panel Site Root, Base URL, DeepL-Key setzen (Free: Key endet auf :fx).
Zielsprachen angeben (z. B. en-us,it), optional Skip-Selektoren & URL-Ausschlüsse pflegen.
Scannen → Übersetzen. Ordner /lang/ werden erzeugt/überschrieben (falls aktiviert).
Optionales Panel-Passwort (Hash in Session), Keys niemals öffentlich posten.
Nur sichtbare Texte/Meta werden ersetzt – Formulare/Logins bleiben funktional.
Cache & Regeln als JSON im /data-Verzeichnis.
Ein einzelnes PHP-Panel zum Übersetzen statischer Seiten (HTML/PHP) mit DeepL.
Es erzeugt je Sprache einen Spiegel deiner Site (/en, /en-us, …),
schreibt interne Links um und übernimmt wichtige SEO-Metafelder.
Trage deinen API-Key im Panel ein. Keys, die auf :fx enden, werden automatisch über
api-free.deepl.com geroutet; sonst api.deepl.com. Der Key testen-Button
prüft das Usage-Endpoint.
Im Panel unter „URLs ausschließen (nicht übersetzen)“ pro Zeile ein Muster eintragen.
Unterstützt werden absolute URLs (https://example.com/legal/*), root-relative Pfade
(/blog/*, /index.php) sowie Wildcards * und ?.
Übereinstimmungen werden beim Durchlauf ignoriert (Datei wird kopiert, aber nicht übersetzt).
Damit kannst du DOM-Bereiche vom Übersetzen ausnehmen (z. B. .notranslate oder
[data-notranslate]). Nur Textknoten außerhalb dieser Selektoren werden an DeepL gesendet.
Root-relative und eigene absolute Links werden auf /lang/… umgeschrieben.
Der Translator aktualisiert <title> und gängige Meta-Felder
(description, OpenGraph, Twitter). Optional werden hreflang-Links
in den <head> eingefügt.
Ja. Du kannst einen kleinen Umschalter automatisch ins Header- oder Footer-Element injizieren lassen – oder ihn manuell in dein Theme einbauen.
Prüfe zunächst den Key testen-Dialog und die Panel-Konsole. Häufige Ursachen: falsche Base URL (für absolute Links), fehlende Schreibrechte im Zielordner oder blockierte cURL-Requests beim Hoster.