Translations

Every word the interface shows comes from a string with a key. The Translations page lets you read that catalogue and rewrite any value in it — so "Contacts" can become "Clients", "Spaces" can become "Branches", and a confusing message can be reworded for your own people.

Where to find it

ScreenWhere it livesWhat you need
Translations — /admin/i18nSettings → Interface & navigation → TranslationsThe View interface strings permission; editing needs Edit interface strings

Editing is a level-2 action: you will be asked for your password. Opening the page read-only needs only the view permission, and the page says so plainly rather than looking broken.

What you can and cannot do here

You can edit existing strings. You cannot create or delete keys: keys are born in the application's own language files and in the seed catalogue. If a word you want to change is not in the list, it is not a string yet — nothing you type here will create it.

Finding a string

Four controls narrow the list, and the Search button applies them:

  • Search key or value… — matches the key or the value, so you can hunt for the words you saw on screen.
  • App — the catalogue covers every application on the system; pick one, or leave it on All apps. System-wide holds the strings shared by all of them.
  • Locked only — just the rows somebody has locked.
  • Changed by app — just the rows where the application now ships a different value from the one stored. These are the rows worth reviewing after an update.

The list shows Key, Value, App and Locked for each string, and pages with Previous and Next.

Editing a value

Click Edit on a row. The form shows the key, a line saying whether an update can overwrite this string, and the current value.

  • Value — your wording. Save it and the interface uses it.
  • Lock this string — see below.

Some strings are a plural set rather than a single sentence. Those are edited as a small JSON object whose keys are the plural categories — zero, one, two, few, many, other — because the right wording depends on the number. A row that is a plural set carries a Plural set badge.

Locking: why your text survives an update

An application re-applies its own language file every time it is redeployed or restarted, and it only overwrites rows that are not locked. That applies to the strings that belong to an application; a System-wide string is never overwritten by an update, so your edit to it stays either way. For an application's strings:

  • Locked — a redeploy never overwrites this value. Your wording stays.
  • Unlocked — the application's language file owns the value again, and the next deploy restores it.

An edited string locks itself automatically. That is the whole point: the usual way to lose a careful rewording is to make it and then forget that an update will undo it. Untick the box if you deliberately want the application to own the value again.

You do not have to open the form to change the lock: the Lock and Unlock buttons on each row switch it in one click and leave the value as it is.

"App changed" and keeping your text

When the application starts shipping a different value for a string you have locked, the row is badged App changed, and its Edit form shows you both: what the application now ships (The app now ships:), and your text. Two buttons on the row settle it — Keep mine leaves your value in place; Take the app's replaces your value with the new wording. Either way the row stays locked, so the next change the application makes asks you again.

Sub-language overrides

The second tab, Sub-language overrides, is the same flow over a narrower set: a variant of a language that differs from the main one in a few places only. You edit, lock and resolve the same way; what you change applies to the variant and leaves the base language alone.

The language this page edits

The language is fixed to the system's default and shown at the top as Language: followed by its code (for example en) — there is no language switcher here yet, and other locales are not offered.

Note
Nothing on this page is loaded until after you open it, and the catalogue is never included in the page the server sends — it is fetched through its own permission-checked door. A person without the view permission never receives a single row of it.
Tip
If a raw key like crm.admin.menus.title ever appears on screen instead of real words, that string has no value in the catalogue. Search for the key here and give it one.