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

Start free trial

List Translation Strings

translations/list-strings reads the strings out of a POT template or a translation — source text, current translation, gettext context, and the source-code references showing where each is used.

Filter to untranslated or fuzzy and it becomes a work queue.

At a glance

Abilitytranslations/list-strings
ToolsetLoco Translate — toolset/loco-translate
GroupLoco Translate › Strings
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

Strings are addressed by their source text plus context, never by position. That is deliberate: a sync reorders the whole file, so a stored index would afterwards point at a different string — and a write against the wrong string is a silent, plausible-looking mistranslation.

Omit locale to read the POT template instead of a translation. The template is the canonical list of what exists; a translation is that list with answers filled in.

The file in the response tells you exactly which file was read, which matters on bundles with several text domains or translations in more than one directory.

Input

NameTypeRequiredWhat it is
bundlestringYesBundle id, handle or slug — all three appear in Loco’s own screens. Use core for WordPress itself.
domainstringNoText domain. Omit for the bundle default.
localestringNoLocale such as de_DE. Omit to address the POT template instead of a translation.
filterstringNo — defaults to allall, untranslated or fuzzy.
searchstringNoCase-insensitive match against source or translation.
per_pageintegerNo — defaults to 100, max 500Maximum rows to return.

What comes back

NameTypeWhat it is
stringsarraySource, translation, context, references and fuzzy flag.
countintegerHow many strings were returned.
totalintegerHow many matched before paging.
filestringThe file that was read.
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:

What’s still untranslated in the German version of this theme?

It resolves to one call:

{
  "ability": "translations/list-strings",
  "parameters": {
    "bundle": "twentytwentyfive",
    "locale": "de_DE",
    "filter": "untranslated"
  }
}

Worth knowing

  • Source text plus context is the address. There is no positional index, by design.
  • Fuzzy strings are translated but flagged as needing review — usually because the source changed after the translation was written.
  • Omitting locale reads the template, which is how you see what a translation is missing entirely.

Related abilities


Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager

Browse the rest: Every ability, by category


Keep reading