translations/fetch-translations installs the official language packs this site is due — through WordPress’s own language-pack installer, not by fetching files directly.
That distinction matters: packs installed this way land where WordPress expects them and are recorded as installed, so the updater knows about them next time.
At a glance
| Ability | translations/fetch-translations |
| Toolset | Loco Translate — toolset/loco-translate |
| Group | Loco Translate › WordPress.org |
| Requires | Loco Translate, active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Not idempotent — each call changes the row set, so re-running is not a no-op |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
Call translations/list-available-languages first. Most plugins publish no packs, and this ability reports that honestly rather than appearing to succeed with nothing installed.
available_count is how many updates WordPress had pending before the install, and installed_count is how many actually landed. A gap between them is worth reading — usually a network failure against the WordPress.org API.
Restrict to one locale with locale, or omit it to install everything the site is due across core, plugins and themes.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
locale | string | No | Restrict to one locale, such as de_DE. Omit to install everything due. |
What comes back
| Name | Type | What it is |
|---|---|---|
installed | array | What was installed. |
installed_count | integer | How many packs landed. |
available_count | integer | How many updates were pending before the install. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present 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:
Install all the official German language packs this site is missing.
It resolves to one call:
{
"ability": "translations/fetch-translations",
"parameters": {
"locale": "de_DE"
}
}Worth knowing
- Nothing to fetch is reported as nothing to fetch, not as a failure and not as a success.
- Official packs overwrite hand-made translations for the same bundle and locale. Check
translations/list-localesfirst if anything was translated by hand. - Not idempotent in form — each call re-checks and installs — though running it twice with nothing pending changes nothing.
Related abilities
- List Available Languages — check what exists first
- List Locales — what this site already has
- Recompile Translations — if a pack lands but nothing changes
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category