> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tolk.every-day.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Editor

> Translate per language, with autosave, filters, search and bulk actions.

The editor opens when you choose a language on the project page. For each key you see the source text and the translation in the chosen language. The progress is shown at the top, for example *64% translated · 1,544 of 2,412 keys*.

## Translate

* Click a cell and type the translation.
* Save with <kbd>⌘</kbd> <kbd>↵</kbd> (Mac) or <kbd>Ctrl</kbd> <kbd>↵</kbd> (Windows), or click outside the field. Tolk saves each cell separately.
* A key with plurals has an input field per plural category of the language, such as `one` and `other`.
* Placeholders and HTML tags are highlighted. Tolk checks them while you type; see [Placeholders](/guide/placeholders).
* A term from the [glossary](/guide/glossary) is highlighted in the source text. Hover over it to see the fixed translation, or the notice that the term is not translated.
* **About this key** (*Over deze key*) shows the description and the namespace of a key.
* **Show source text** (*Brontekst tonen*) turns the source column on or off.
* Switch languages with the language picker at the top.

<Note>
  Has someone else changed the same translation in the meantime? Then Tolk shows the latest version and asks you to make your change again. That way nobody overwrites someone else's work unnoticed.
</Note>

## Filter and search

| Filter | How |
| - | - |
| Status | The **All** (*Alle*), **Translated** (*Vertaald*) and **Not translated** (*Niet vertaald*) tabs |
| Tag | Choose a tag in the list on the left, or **Without tag** (*Zonder tag*) |
| Search | Search by key or text in the search field |

The filters are part of the URL. Copy the link to share a selection with a colleague.

## Bulk actions

Select keys with the checkboxes, or choose **Select all …** (*Alle … selecteren*) to select everything that matches the filter. Then you can:

* **Translate with AI** (*Vertalen met AI*): see [AI translation](/guide/ai-translation);
* **Add tag** (*Tag toevoegen*) or **Remove tag** (*Tag verwijderen*);
* **Export** (*Exporteren*): only the selected keys;
* **Use key as translation** (*Key overnemen als vertaling*): copies the key itself into the translation in this language, see [Using the key as the translation](#using-the-key-as-the-translation);
* **Clear translation** (*Vertaling wissen*): empties the translations in this language; the keys and other languages stay;
* **Delete** (*Verwijderen*): deletes the keys with their translations in all languages.

Large bulk actions run in the background. You get a notification when they are done.

<Warning>
  Deleting is permanent. If a deleted key is still in the code, it comes back with the next push, without translations.
</Warning>

## Using the key as the translation

In a Laravel JSON file or a WordPress project the key is often the text itself (`"About us"`). **Use key as translation** (*Key overnemen als vertaling*) fills the translations of the selected keys with the key, word for word. This is handy after [importing keys only](/guide/importing#importing-keys-only): fill the source language with the keys in one go, or copy them into a language that is written the same, such as English to English.

To fill a whole view, select all rows with the checkbox in the header, choose **Select all …** (*Alle … selecteren*) and then the action. A dialog first shows what will happen:

* how many empty translations are filled with the key;
* how many existing translations stay as they are, or, with **Overwrite existing translations** (*Bestaande vertalingen overschrijven*, off by default), are overwritten;
* how many plural keys are skipped: a key is a single text, not the plural forms of a language.

The key is copied as it is, also when it is a code such as `auth.failed`. The change counts as your own edit: it appears in the history of each translation, updates the progress and triggers webhooks and exports like any other edit. Filling the source language with the key keeps translations that were made from the key, for example by [AI](/guide/ai-translation), up to date; other translations of those keys become outdated when the new source text differs from the one they were made from.

You can use the action in every language you may edit. In an archived project it is not available.

## Outdated translations

If the source text of a key changes after it has been translated, the translation is **outdated**. It stays in the export (the old text is better than nothing). An AI translation of the untranslated keys includes outdated translations and gets the old translation as a reference, so the tone stays the same.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.