# REST és abilities

> Az LW Translate REST-végpontjai és az LW Site Manager melletti négy ability, példákkal és a jogosultságokkal.

## REST-végpontok

A beállítás-oldal is ezeket használja. Névtér: `lw-translate/v1`. Hitelesítés: bejelentkezett munkamenet (`X-WP-Nonce`) vagy alkalmazásjelszó. A kérés törzse legfeljebb 8192 bájt.

| Metódus | Végpont | Jog | Mit csinál |
|---|---|---|---|
| GET | `/wp-json/lw-translate/v1/admin/settings` | adminisztrátor | A beállítások, a választható hangnemek és nyelvek |
| POST | `/wp-json/lw-translate/v1/admin/settings` | adminisztrátor | Részleges mentés, például `{"tone":"informal"}` |
| GET | `/wp-json/lw-translate/v1/admin/translations` | adminisztrátor | A lista állapotokkal és darabszámokkal |
| POST | `/wp-json/lw-translate/v1/admin/translations/install` | nyelvtelepítési jog | Telepítés vagy frissítés, legfeljebb 10 tétel |
| POST | `/wp-json/lw-translate/v1/admin/translations/delete` | nyelvtelepítési jog | Törlés, legfeljebb 10 tétel |
| POST | `/wp-json/lw-translate/v1/admin/translations/refresh` | nyelvtelepítési jog | Gyorsítótár törlése, friss lista |

```bash title="Egy bővítmény fordításának telepítése"
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" -X POST \
  -H "Content-Type: application/json" \
  -d '{"items":[{"type":"plugin","slug":"fluent-smtp"}]}' \
  "https://pelda.hu/wp-json/lw-translate/v1/admin/translations/install"
```

A naprakész állapot neve a REST-ben `installed`, a CLI-ben és az abilitykben `up_to_date`.

## Abilities (az LW Site Manager mellett)

Ha az [LW Site Manager](https://hub.hellowp.io/hu/docs/lw-plugins/) is aktív, az LW Translate négy képességet regisztrál „Fordítás” kategóriában. Ezek MCP-eszközként is elérhetők.

| Ability | Jog | Bemenet | Mit csinál |
|---|---|---|---|
| `lw-translate/list-translations` | adminisztrátor | `type`: `plugin`, `theme`, `all`; `status`: `up_to_date`, `update`, `not_installed`, `all` | A lista (csak olvas) |
| `lw-translate/get-options` | adminisztrátor | nincs | `tone`, `locale`, `cache_ttl` (csak olvas) |
| `lw-translate/install-translation` | nyelvtelepítési jog | `slug` és `type`, mindkettő kötelező | Egy tétel telepítése vagy frissítése |
| `lw-translate/update-translations` | nyelvtelepítési jog | nincs | **Csak a frissíthető** tételeket frissíti. A még nem telepítetteket nem telepíti. |

A WordPress Abilities REST-felületén hívhatók: `/wp-json/wp-abilities/v1/abilities/<név>/run`, olvasáshoz GET, íráshoz POST `{"input": {...}}` törzzsel.

```bash title="Frissíthető fordítások listája"
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" \
  "https://pelda.hu/wp-json/wp-abilities/v1/abilities/lw-translate/list-translations/run?input[status]=update"
```

> **Nem ugyanaz, mint a CLI**
>
> Az `update-translations` ability csak frissít. A `wp lw-translate install --all` parancs a még nem telepített fordításokat is feltelepíti.

## Konstansok és szűrők

Saját wp-config-konstans és szűrő nincs. Ezek a WordPress-konstansok hatnak rá:

| Konstans | Hatás |
|---|---|
| `DISALLOW_FILE_MODS` | Nincs nyelvtelepítési jog: a lista csak olvasható. |
| `WP_LANG_DIR` | Ide ír, a `plugins` és `themes` almappába. |
| `FS_CHMOD_FILE`, `FS_CHMOD_DIR` | Az írt fájlok és mappák jogosultsága. |
| `FS_METHOD` | Ha a WordPress nem tud közvetlenül írni, a telepítés hibát ad. |
