# Languages

Translating and finding the language of texts, the project's own languages and its term lists.

Scopes for this area: `language:read`, `language:write` and `language:admin`.

10 operations.

## language

| Method | Route | What it does | Level | Command |
| --- | --- | --- | --- | --- |
| GET | `/language/languages` | Every language Rivier works in: its code, its English name, its own name, whether it is written right to left, and whether model-based translation lists it. | read | `rivier language language list` |

## settings

| Method | Route | What it does | Level | Command |
| --- | --- | --- | --- | --- |
| GET | `/language/settings` | The project's own languages: the one it writes in first, the ones it offers its customers, whether incoming messages are translated, and the term list used by default. | read | `rivier language settings get` |
| PUT | `/language/settings` | Set the project's languages. The main language is always offered. | admin | `rivier language settings set` |

## glossary

| Method | Route | What it does | Level | Command |
| --- | --- | --- | --- | --- |
| GET | `/language/glossaries` | The project's term lists: names, products and words with fixed translations, or kept as written. | read | `rivier language glossary list` |
| POST | `/language/glossaries` | Add a term list. | admin | `rivier language glossary create` |
| GET | `/language/glossaries/{id}` | One term list with its terms. | read | `rivier language glossary get` |
| PUT | `/language/glossaries/{id}` | Change a term list. Translations made with the earlier list are not reused. | admin | `rivier language glossary update` |
| DELETE | `/language/glossaries/{id}` | Remove a term list. | admin | `rivier language glossary delete` |

## text

| Method | Route | What it does | Level | Command |
| --- | --- | --- | --- | --- |
| POST | `/language/translate` | Translate up to 200 texts into one language, keeping placeholders and markup, with the project's term list. A translation already made for the same words is read back and costs nothing; the rest is held against the project's spending limits. | write | `rivier language text translate` |
| POST | `/language/detect` | Find the language of up to 50 texts. | read | `rivier language text detect` |
