Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/modernamusements/modern-amusement-auto-translate/archive/refs/heads/main.zipKeeps "eTranslation Multilingual" translations up to date automatically — machine-translates newly discovered content and UI strings on a schedule, with manual run-now, REST trigger and Basic-Auth callback support for protected staging sites.
Version: 1.0.0 · Requires: WordPress 6.0+, PHP 7.4+ · License: GPL-2.0-or-later
🇩🇪 Deutsch
ModernAmusement Auto Translate ist ein kleiner Wartungsbegleiter für das Plugin „eTranslation Multilingual". Mehrsprachige Seiten mit automatischer Maschinenübersetzung sind nur so gut wie ihre neuesten Strings: Sobald sich Content oder Theme-Text ändert, bleiben die neuen Strings in der Ausgangssprache, bis jemand die Übersetzungs-Pipeline erneut ausführt.
Dieses Plugin schließt diese Lücke:
- Geplante Läufe — stündlich, zweimal täglich oder täglich via WP-Cron; jeder Lauf ist zeit-budgetiert und resumable, sodass er nie ein Timeout auslöst oder einen Request blockiert.
- Füllt nur Lücken — vorhandene Übersetzungen werden nie überschrieben; nur fehlende oder leere Übersetzungen werden geschrieben.
- Dictionary-Prefill — Content-Strings, die bereits in einem anderen Kontext übersetzt wurden, werden kopiert statt neu übersetzt — spart Quota.
- Smarte Fehler — URLs, E-Mails, Zahlen und ähnliche Strings werden nie an die Maschinenübersetzung geschickt; Strings, die wiederholt fehlschlagen, werden dauerhaft übersprungen (mit sichtbarer Skip-Liste, die du leeren kannst).
- Run now — ein Button auf der Settings-Seite startet sofort einen Lauf.
- REST-Trigger —
POST /wp-json/ma-translate/v1/runfür externe Scheduler. - Basic-Auth-Support — wenn deine Seite (z. B. Staging) durch HTTP-Basic-Auth geschützt ist, werden die Callbacks des Übersetzungsdienstes abgelehnt und keine Übersetzung kommt an. Trage die Basic-Auth-Zugangsdaten auf der Settings-Seite ein, und das Plugin bettet sie nur in die eTranslation-Callback-URLs ein, sodass Zustellungen wieder funktionieren — keine öffentliche URL ist betroffen.
- Vollständig GPL, keine Upsells — keine Telemetrie, keine externen Requests über den Übersetzungsdienst selbst hinaus.
Anforderungen
- Das Plugin „eTranslation Multilingual" (oder ein kompatibler Fork) muss aktiv sein.
- Maschinenübersetzung muss dort konfiguriert sein (API-Zugangsdaten).
Installation
- Lade den Ordner
modern-amusement-auto-translatenach/wp-content/plugins/hoch. - Aktiviere das Plugin über den Bildschirm „Plugins" in WordPress.
- Gehe zu „Einstellungen → Auto Translate", aktiviere den Zeitplan und speichere.
- Optional „Run now" klicken, um sofort zu starten.
FAQ
In welche Tabellen schreibt es?
Nur in die eTranslation-Übersetzungstabellen der aktuellen WordPress-Datenbank ({prefix}etm_dictionary_de_de_* und {prefix}etm_gettext_*). Keine anderen Daten werden angefasst.
Übersetzt es neue Strings sofort? Neue Strings werden für das Plugin sichtbar, nachdem sie einmal auf einer übersetzten Seite gerendert wurden (das eTranslation-Plugin registriert sie dann). Der nächste geplante Lauf übersetzt sie.
Was passiert, wenn meine Seite hinter Basic-Auth liegt? Trage die Basic-Auth-Zugangsdaten auf der Settings-Seite ein. Das Plugin injiziert sie dann in die Callback-URLs, über die der EU-Übersetzungsdienst Ergebnisse zustellt — die Callbacks bekommen kein 401 mehr und Übersetzungen kommen an.
Changelog
- 1.0.0 — Erstveröffentlichung.
🇬🇧 English
ModernAmusement Auto Translate is a small maintenance companion for the "eTranslation Multilingual" plugin. Multilingual sites built with automatic machine translation are only as good as their newest strings: whenever content or theme text changes, the new strings stay in the source language until someone re-runs the translation pipeline.
This plugin closes that gap:
- Scheduled runs - hourly, twice daily or daily via WP-Cron; each run is time-budgeted and resumable, so it never times out or blocks a request.
- Fills gaps only - existing translations are never overwritten; only missing or empty translations are written.
- Dictionary prefill - content strings already translated in another context are copied instead of re-translated, saving quota.
- Smart failures - URLs, e-mails, numbers and similar strings are never sent to the machine translator; strings that repeatedly fail are skipped permanently (with a visible skip list you can clear).
- Run now - a button on the settings page triggers an immediate pass.
- REST trigger -
POST /wp-json/ma-translate/v1/runfor external schedulers. - Basic-Auth support - if your site (e.g. staging) is protected by HTTP Basic-Auth, the translation service callbacks are rejected and no translation arrives. Enter the Basic-Auth credentials on the settings page and the plugin embeds them only into the eTranslation callback URLs so deliveries work again — no public URL is ever affected.
- Fully GPL, no upsells - no telemetry, no external requests beyond the translation service itself.
Requirements
- The "eTranslation Multilingual" plugin (or a compatible fork) must be active.
- Machine translation must be configured there (API credentials).
Installation
- Upload the
modern-amusement-auto-translatefolder to/wp-content/plugins/. - Activate the plugin through the "Plugins" screen in WordPress.
- Go to "Settings → Auto Translate", enable the schedule and save.
- Optionally click "Run now" to start immediately.
FAQ
Which tables does it write to?
Only the eTranslation translation tables of the current WordPress database ({prefix}etm_dictionary_de_de_* and {prefix}etm_gettext_*). No other data is touched.
Will it translate new strings instantly? New strings become visible to the plugin after they have been rendered once on a translated page (the eTranslation plugin registers them then). The next scheduled run translates them.
What happens if my site is behind Basic-Auth? Add the Basic-Auth credentials on the settings page. The plugin then injects them into the callback URLs the EU translation service uses to deliver results — the callbacks no longer get a 401 and translations arrive.
Changelog
- 1.0.0 — Initial release.
License
GPL-2.0-or-later — see LICENSE.
Author
Shady Tawfik · https://modern-amusement.dev/de