Skip to content

Translating

There are two kinds of translatable text, and which one you are looking at decides where you edit it.

Strings

Strings are wording that belongs to the whole site rather than to one page: button labels, form messages, navigation items.

They live under Strings, grouped into namespaces, one row per key with a column per language.

KeyEnglishPortuguese
common.buttons.saveSaveGuardar
forms.email.invalidEnter a valid email.Introduza um email válido.

Click a cell, type, click away. It saves.

List values

Some strings hold a list rather than one line — a set of bullet points, for instance. Those show as a List chip instead of a text box; click it to edit the items.

A key that is a list in one language is a list in every language. A language that has not been translated yet shows Not translated, and opening it gives you the structure of a language that does have it, with the original text in place to translate over.

Text on a page

Copy belonging to one page is edited on that page, not here. Fields marked as translatable have a language selector in the editing panel.

Use strings for wording that repeats across the site, and page fields for wording that belongs to one page. A heading used on one page only should not be a string.

What is not here yet

Being straight about the current limits:

  • There is no per-language progress view, so "what is still untranslated" cannot be seen at a glance.
  • Plural forms and references between messages are stored and delivered correctly, but nothing checks them. If a translation loses a placeholder such as {count}, you will see it on the page rather than being warned here.

Both are being worked on.

A Nubisco product. Not open source.