Editing
The editor
Three views over the same keys, filters that narrow all three, and a URL that carries what you are looking at — so "the French strings that are still missing" is a link, not a description.
Three views
Reviewing four hundred strings and writing one careful sentence are not the same job, so the same keys are offered three ways. The toggle sits in the toolbar; the source language stays on screen in all three.
Panel
The key tree on the left, one key at a time on the right: source, translation, the context note, the placeholder verdict, the review actions and the discussion on that key.
For depth — the one string somebody sent back, or a key you have to think about.
Inline
Every key of the language under the next, the source beside the field, editable in place. Grouped by file and by key path, with the group heading pinned as you scroll — and below the phone boundary the two stack, source over field.
For context — writing a screen in one pass, where the string before matters.
Table
Every language side by side, one row per key, editable in the cell. The key column and the header stay put while you scroll in either direction.
For bulk — comparing locales, spotting the gaps, filling in a column.
Beside the toggle, one more way to look at a single key: All languages in the panel opens that key in every locale of the project at once, which is the fastest way to see whether a term was translated consistently.
Filters and search
One filter narrows whatever view you are in — the key tree, the inline list and the table all read the same selection. The toolbar shows the active one by name, so a view that is hiding keys always says so.
| Filter | Shows |
|---|---|
| All | Every key in the language. The default, and not in the URL. |
| Missing | Keys with no value at all in this language — the list you are working through. |
| Translated | Keys that have a value: both the ones waiting for review and the ones already approved. |
| Review | The narrower half of the row above — a value is there and nobody has approved it yet. |
| Rejected | Values a reviewer sent back, which are drafts carrying a reason. Where to start. |
Needs attention
A sixth filter with no entry in the menu: it is the counter in the branch banner, and clicking it filters the view down to the branch's own unreviewed work — added, changed and deleted keys, and pending renames. Clicking it again clears the filter. It exists on a branch only, because on main there is no operation to review.
Search, and the file filter
Search matches the key name and the source text, so a string you remember but cannot name is still findable. In a project that keeps several files per language, a second control filters by file. All three narrow together: a search inside Missing inside checkout is three conditions, not the last one you touched.
Two things worth knowing
- A filter that no longer includes the key you had open closes it, rather than leaving a key on screen that the list beside it says is not there.
- Switching language keeps the filter and the view. Fixing the missing strings in one locale and then the next is the same two clicks each time.
- AI Translate All is per language and not per filter: it fills every missing value in the locale you are in, whatever the view is currently showing.
A filtered view is a link
The branch, the view, the filter, the file and the open key are all in the URL, and they survive a reload and the back button. So the answer to "which strings are still missing in French?" is a link you paste into a ticket, not a sentence describing where to click.
/projects/<id>/translate/fr?filter=missing&view=tableAnything left at its default is left out of the URL, so a link is as short as what it actually says. The panel view and the All filter are the defaults.
Keyboard
Four keys, and no save key: a value is written by itself half a second after you stop typing, so moving on is what saving looks like.
| Key | Does |
|---|---|
↑ ↓ | Move to the previous or next key in the list as it is currently filtered. |
Enter | Jump from the list into the translation field for the open key. |
/ | Focus the search field. On a narrow window, the command palette instead. |
⌘K / Ctrl+K | The command palette: search keys, switch view, and reach the actions that are not in the toolbar. |
The arrows walk the filtered list, not the whole locale — which is what makes Missing plus the arrow keys a way to work through what is left.
On a phone
Below 768 pixels the inline view is the editor: source over translation, full width, with the key tree as a drawer. The toggle is absent rather than disabled, because the other two views need a width that is not there — and your choice is not thrown away. Widen the window and the view you picked comes back.
What the inline view carries, it carries there too: editing, the status dot per key, the context note, a sent-back value with its reason, search and the filters. Approving and the discussion on a key belong to the panel, so they are a wider window's job — a phone is for finishing the last twenty strings, and that works.