WP Manifestindependent plugin directory
manifest / i18n / modern-amusement-auto-translate

ModernAmusement Auto Translate

Keeps eTranslation Multilingual translations up to date automatically with scheduled machine translation runs.

★ 0stars

Install

Download source zip No release zip yet

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.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Keeps "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/run fü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

  1. Lade den Ordner modern-amusement-auto-translate nach /wp-content/plugins/ hoch.
  2. Aktiviere das Plugin über den Bildschirm „Plugins" in WordPress.
  3. Gehe zu „Einstellungen → Auto Translate", aktiviere den Zeitplan und speichere.
  4. 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/run for 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

  1. Upload the modern-amusement-auto-translate folder to /wp-content/plugins/.
  2. Activate the plugin through the "Plugins" screen in WordPress.
  3. Go to "Settings → Auto Translate", enable the schedule and save.
  4. 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