Languages
Installing a language pack, translating from the panel, and exporting a language you built.
Bondry ships in English, which is the source of every string. Other languages arrive as packs, or you build them in the panel.
Two layers#
A translation is resolved in this order:
- an override stored in the database, from the panel editor;
- the file of that language, from the shipped pack;
- English.
Nothing is ever blank. A half-translated language falls back to English key by key rather than showing a raw identifier.
Installing a pack#
Appearance > Languages > Add takes a zip with a language.json manifest.
The panel validates it, extracts the files, registers the locale and shows it
in the list with its coverage.
Creating a language in the panel#
You can also start from nothing. Appearance > Languages > Create asks for the locale code, the name, the native name, the direction and the metadata a distributable pack needs: author, version, compatibility and description. Those fields are required because the pack you build is exportable and sellable.
The new language starts empty and inherits English until you translate.
The translation editor#
Appearance > Languages > Translate lists every key, grouped by namespace: the core first, then one group per installed module. Each row shows the English source next to the field for the target language.
- Saving writes to the database layer and takes effect immediately.
- Coverage per language is shown as you go.
- Placeholders like
:nameand pluralisation are validated: a translation that loses a placeholder is refused. - With a search term, the editor searches every group at once. Without one, it browses the group you selected.
New strings from an update#
When a core or module update adds strings, they appear in every language pack automatically, seeded in English, and the coverage figure drops to reflect it. You never have to hunt for what is new.
Exporting#
Appearance > Languages > Export produces a zip in one of two modes, both merging your database overrides back into the files:
| Mode | What it adds |
|---|---|
| For translation | A TRANSLATING.md with instructions for a translator |
| For installation | An INSTALL.md for whoever installs it |
Use it for backups, to move a language between installs, or to publish it.
Members and their language#
Each member picks a language in their profile, from the languages you marked as visible. Marking a language as not visible only removes it from that picker: members already using it keep it while it is enabled.
English#
English can be disabled, once another language is the site default, but it can never be deleted. It is the fallback that keeps every other language from showing gaps, and the current default language cannot be disabled or deleted either.