Translating

Translating the site

Run it once over everything, then let the live fallback catch whatever was not there yet.

How WPGlotty finds text

Most translation plugins hook individual filters: the_content, the_title, a widget here, a menu there. Anything nobody hooked stays in the source language, which is why those sites always have one stubborn English string in the footer.

WPGlotty reads the finished HTML instead. Whatever the browser would have received is what gets parsed, so page-builder output, headers, footers, templates, global blocks, popups, menus, widgets, theme and plugin strings, image alt text and SEO fields are all in scope for the same reason: they were on the page.

The first run

Translations → Translation status has a Translate site button. It walks the site, collects strings and sends them to your provider in batches.

It runs in the background on WordPress cron, so you can close the tab. The screen shows what is queued, what is done and what failed, and it keeps counting while you watch.

Anything it missed

A first run cannot see a page nobody has visited, a popup nobody opened or a search result nobody searched for. The live fallback covers those: when a visitor lands on a page with untranslated strings, WPGlotty translates them then and there.

There are three settings for it. Synchronous makes the visitor wait a moment and see the translation. Asynchronous serves the source text and queues the translation for next time. Off serves the source text and does nothing.

  • Synchronous: correct immediately, slightly slower for that one visitor
  • Asynchronous: fast for everybody, right from the second visitor onwards
  • Off: for sites where nothing may call an API during a page render

Review before publishing

By default a machine translation goes live as soon as it exists. Turn off auto-publish and it is held back instead: the site keeps serving the source text until somebody approves it under Strings.

That is the right setting for regulated copy and the wrong one for a blog, because a queue nobody empties is just a site that never gets translated.

What it costs

A translated string is paid for once. After that it is served from the database, and a page view costs nothing at all.

The cost of a first run is therefore roughly the size of your site, once, per language. Your account page shows what has actually been spent, per day and per model.