# Localisation

> Every string the components show or announce.

Pass only what you change. In Nuxt, use `app.config.ts`:

```ts
export default defineAppConfig({
  writer: {
    translations: { editor: "Éditeur", commands: { bold: "Gras" } },
  },
});
```

In Vue, `createWriter({ translations })`. A ref keeps it live, e.g. when the reader switches language.

| Key              | Default                                                                                                                                                                            |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `editor`         | Markdown editor                                                                                                                                                                    |
| `toolbar`        | Formatting                                                                                                                                                                         |
| `commands`       | A label per command: Bold, Italic, Strikethrough, Code, Link, Heading 1–3, Quote, Bulleted list, Numbered list, Task list, Code block, Table, Divider, Image, Footnote, Undo, Redo |
| `task`           | Task (a task checkbox's name before it has text)                                                                                                                                   |
| `imageAlt`       | Alt text                                                                                                                                                                           |
| `imageAltHint`   | Describe the image for people who can't see it                                                                                                                                     |
| `imageCaption`   | Add a caption                                                                                                                                                                      |
| `imageDrop`      | Drop an image here, or                                                                                                                                                             |
| `imageChoose`    | Choose an image                                                                                                                                                                    |
| `imageUrl`       | Image URL                                                                                                                                                                          |
| `imageReplace`   | Replace                                                                                                                                                                            |
| `imageRemove`    | Remove                                                                                                                                                                             |
| `imageUploading` | Uploading…                                                                                                                                                                         |

`defaultTranslations` has them all; `useTranslations()` gives the resolved set.

Each line takes its own text direction, so right-to-left and mixed text work.
