Loco Translate is the route most people should take: it edits the same .po and .mo files as a desktop app, but from the dashboard, and it compiles the .mo for you on every save.
Setting up
- Plugins → Add New → install and activate Loco Translate.
- Loco Translate → Themes → Stoat.
- New language → pick yours.
- Choose a location — and this is the step that matters:
| Option | |
|---|---|
| System | wp-content/languages/themes/ — pick this |
| Author | inside the theme folder; deleted on update |
| Custom | anywhere; only if you know why |
Choosing Author is the single commonest way to lose a day’s translation.
Translating
The editor lists every string with the source on one side and your translation on the other. Save compiles the .mo as well as writing the .po.
You do not have to finish in one sitting. An untranslated string falls back to the English, so a half-finished translation is a working site, not a broken one.
Start with what readers see, not with the Customizer labels: the skip links, Search, Previous / Next, Nothing found, Tags:, (more), By %s. That is about twenty strings and covers the entire front end. The other two hundred are admin labels only you will ever read.
Syncing after an update
When a new Stoat version lands, open your translation and click Sync. New strings are added, removed ones are dropped, and everything you already translated stays.
If nothing changes
In order of likelihood:
- Settings → General → Site Language is not set to the language you translated.
- The file was saved to the Author location and an update removed it.
- An object cache is serving the old page — flush it.
- The string you changed comes from WordPress or a plugin, not the theme. Loco will tell you which bundle a string belongs to.
