30 days free. No credit card. Full access from the moment you connect your site.

Start free trial

Get Translation Status

Run this first when a translation appears not to take effect. It answers the questions that decide whether anything else in this suite can work: the site locale, whether the languages directory exists and is writable, how many bundles Loco can see.

And one that matters more than all of them — whether this WordPress uses the .l10n.php translation cache.

At a glance

Abilitytranslations/get-translation-status
ToolsetLoco Translate — toolset/loco-translate
GroupLoco Translate › Discovery
RequiresLoco Translate, active on the site
Capabilitymanage_options
SafetyRead-only — changes nothing
RepeatableIdempotent — running it twice leaves the same result
Ships inAcrossAI Abilities Manager 0.0.34 and later

How it works

WordPress 6.5 and later compiles translations into a .l10n.php file and reads that in preference to the MO. A save that produced an MO but no cache leaves the old strings rendering on the front end, with nothing logged and nothing visibly wrong.

So uses_php_cache is not trivia. It tells you how to read every save in this suite: on a 6.5+ site, php_bytes being zero in an artefacts response means the write did not reach what WordPress actually loads.

The writable check catches the other common cause. A languages directory owned by root, or missing entirely, makes every write in this suite fail — usually at the point where someone has already typed forty translations.

Input

This ability takes no input.

What comes back

NameTypeWhat it is
site_localestringThe locale the site runs in.
languages_dirstringWhere translations are written.
languages_dir_existsbooleanWhether that directory exists.
languages_dir_writablebooleanWhether it can be written to.
uses_php_cachebooleanTrue on WordPress 6.5+, where the .l10n.php cache is read in preference to the MO file.
bundle_countintegerHow many bundles Loco can see.
loco_versionstringThe Loco Translate version in use.
successbooleanWhether the call completed.
messagestringA one-line summary of what happened, suitable for showing a human.
error_codestringPresent only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation.

Example

Ask your assistant:

I translated a string but the site still shows English — what’s wrong?

It resolves to one call:

{
  "ability": "translations/get-translation-status",
  "parameters": {}
}

Worth knowing

  • First call for any “the translation didn’t take” report.
  • On a 6.5+ site, a stale .l10n.php beats a correct MO every time. translations/compile-translations is the repair.
  • A non-writable languages directory fails every write in this suite, so check it before starting work rather than after.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading