Skip to content
This repository was archived by the owner on Jun 29, 2026. It is now read-only.

Repository files navigation

BulkTranslate

Warning

Dieses Projekt wird nicht mehr aktiv gepflegt. Letzter funktionaler Stand: März 2024. Externe Abhängigkeiten (Free-Proxy-Listen, Google-Translate-Endpoint) können seitdem gebrochen sein. Code bleibt als Referenz erhalten.

Übersetzt einen Text in viele Sprachen parallel — über einen rotierenden Pool von Elite-Proxies, um Google-Translate-Rate-Limits zu umgehen.

Status Maintained PHP Frontend


Was es macht

BulkTranslate ist eine PHP-Web-App, die einen Eingabetext in mehrere Zielsprachen gleichzeitig übersetzt. Damit Google Translate die Anfragen nicht als Bot-Last drosselt, läuft jede einzelne Übersetzung über einen anderen Elite-Proxy aus einem dynamisch aufgebauten Pool. Aus Google-Sicht sehen die Anfragen so aus, als kämen sie von vielen verschiedenen Personen an verschiedenen Standorten — was rate-limit-technisch das simuliert, was die Architektur emuliert.

Pipeline

  1. Proxy-Discoveryincludes/manageProxies.ajax.php holt frische Proxy-Listen via ProxyFetcher von Anbietern wie sslproxies.org und gatherproxy.com. Priorität: Elite > Anonymous > Transparent.
  2. Proxy-Validationincludes/checker.php prüft jeden Proxy gegen einen Echo-Endpoint und misst Latenz.
  3. Translation-Fan-Outincludes/uebersetze.ajax.php nutzt stichoza/google-translate-php, weist jeder Zielsprache einen frischen Proxy zu und führt die Übersetzung aus.
  4. Output — Ergebnis erscheint im UI als kopierbare Liste; Achievements (optional, mit Login) werden in MySQL geloggt.

Features

  • Parallele Übersetzung in bis zu 40+ Sprachen
  • Proxy-Rotation pro Anfrage (Elite/Anonymous/Transparent Fallback)
  • HTTPS-Erkennung und automatischer Protokoll-Switch
  • Optionales Login (E-Mail) für Achievements (ach_*-Counter in translate_logins)
  • Copy-to-Clipboard pro Übersetzung
  • Quellsprache wahlweise Deutsch oder Englisch

Tech-Stack

Layer Technologie
Backend PHP 7.4+
Frontend jQuery 3.4, SweetAlert2, clipboard.js, FontAwesome
Translate-Lib stichoza/google-translate-php
Proxy-Lib ProxyFetcher (vendored)
HTTP Guzzle 6
DB MySQL (Logins + Achievements)

Setup

Voraussetzungen

  • PHP 7.4 oder höher mit Extensions: mysqli, curl, json, mbstring
  • Webserver (Apache/Nginx) mit PHP-Support
  • MySQL 5.7+ oder MariaDB 10.3+
  • Composer (für Vendor-Updates; Vendor-Verzeichnis ist eingecheckt)

Installation

git clone https://github.com/Labushuya/BulkTranslate.git
cd BulkTranslate

# Composer-Deps refreshen (optional — vendor/ ist committed)
cd includes && composer install && cd ..

# Konfiguration aus Template anlegen
cp includes/config.inc.php.example includes/config.inc.php
# config.inc.php editieren: DB-Server, User, Passwort, Datenbank eintragen

Datenbank-Schema

CREATE TABLE `translate_logins` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `email` VARCHAR(255) NOT NULL UNIQUE,
  `disabled` TINYINT(1) DEFAULT 0,
  `ach_zaehler` INT DEFAULT 0,
  `ach_helloworld` TINYINT(1) DEFAULT 0,
  `ach_initialtranslate` TINYINT(1) DEFAULT 0,
  `ach_decadetranslate` TINYINT(1) DEFAULT 0,
  `ach_centurytranslate` TINYINT(1) DEFAULT 0,
  `ach_milleniumtranslate` TINYINT(1) DEFAULT 0,
  `ach_decemmilleniumtranslate` TINYINT(1) DEFAULT 0,
  `ach_ninja` TINYINT(1) DEFAULT 0,
  `ach_troubleshooting` TINYINT(1) DEFAULT 0,
  `ach_critical` TINYINT(1) DEFAULT 0,
  `ach_maxelite` TINYINT(1) DEFAULT 0,
  `ach_noelite` TINYINT(1) DEFAULT 0,
  `ach_googlelock` TINYINT(1) DEFAULT 0,
  `ach_bonuscatch` TINYINT(1) DEFAULT 0,
  `ach_copypasta` TINYINT(1) DEFAULT 0
);

Start

Über den Webserver auf index.php zugreifen. Lokal z.B. via php -S localhost:8000 aus dem Repo-Root (Achtung: kein Production-Setup).

Projektstruktur

BulkTranslate/
├── index.php                          # Haupt-UI mit Sprachauswahl
├── google_translate_country_codes.txt # Referenzliste unterstützter Sprachen
├── assets/
│   ├── css/                           # Styles inkl. FontAwesome
│   ├── js/                            # jQuery, SweetAlert2, runtime.js
│   └── webfonts/
└── includes/
    ├── config.inc.php(.example)       # DB-Verbindungsparameter (aus Tracking ausgeschlossen)
    ├── functions.inc.php              # dbconnect()
    ├── checker.php                    # Proxy-Validator (Multi-cURL)
    ├── login.ajax.php                 # E-Mail-Login-Endpoint
    ├── logout.ajax.php
    ├── manageProxies.ajax.php         # Proxy-Pool-Aufbau
    ├── manageAchievements.ajax.php    # Achievement-Counter
    ├── uebersetze.ajax.php            # Translate-Endpoint
    └── vendor/                        # Composer-Deps

Bekannte Einschränkungen

  • Google Translate hat keine offizielle Free-Tier-API. Das Tool nutzt die stichoza-Bibliothek, die das öffentliche Web-Endpoint von Google Translate konsumiert — das kann jederzeit brechen oder Captchas auslösen.
  • Proxy-Qualität schwankt. Free-Proxy-Listen sind volatil; einzelne Proxies können langsam, offline oder kompromittiert sein. Daher die mehrstufige Validierung in checker.php.
  • Keine Rate-Limit-Garantie. Auch mit Proxy-Rotation kann Google Translate Verkehrsmuster erkennen und blocken. Bei vielen Anfragen empfohlen: Pausen einbauen oder offizielle Google Cloud Translation API verwenden.

Disclaimer

Dieses Projekt richtet sich an legitime Use-Cases wie:

  • Bulk-Übersetzung eigener Inhalte für mehrsprachige Websites
  • Übersetzungs-Vergleich für Lokalisierungs-Workflows
  • Recherche und Lernzwecke

Die Nutzung öffentlicher Proxies und das Umgehen von Rate-Limits kann gegen die Terms of Service der jeweiligen Anbieter verstoßen. Verantwortung für den rechtskonformen Einsatz liegt beim Nutzer. Für produktive Übersetzungs-Workflows ist die kostenpflichtige Google Cloud Translation API die korrekte Wahl.

Lizenz

Siehe LICENSE.

Original checker.php von Samuel Allan, basierend auf der Arbeit von W. Al Maawali (digi77.com).

About

[ARCHIVED] PHP-Web-App für parallele Bulk-Übersetzung via Google Translate über rotierende Elite-Proxies — letzter funktionaler Stand: März 2024

Topics

Resources

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages