Translate GlossBoss
GlossBoss supports app UI translations with gettext .po files. If you want to
help translate the interface or add another language, this page summarizes the workflow
and links back to the repository docs.
Where app translations live
src/lib/app-language/locales/app.en.posrc/lib/app-language/locales/app.nl.po
app.en.po is the source catalog and required fallback language for the app.
Other UI languages should keep the same msgid keys, even if some
msgstr values are still untranslated.
Update an existing language
- Edit the relevant
app.<language>.pofile. - Keep placeholders like
{count}and{format}unchanged. - Run the local validation commands before opening a pull request.
- In the app, open Settings → Display and switch the interface language to review it.
Add a new UI string
- Add the string in code with
t('Your new string'). - Use
msgid('...')for module-scope strings that are translated later. -
Run
bun run i18n:extractto updateapp.potand merge allapp.*.pofiles. -
Review the generated entries: English keeps
msgstr = msgid, while other languages get emptymsgstrvalues that still need translation.
Add a new language
-
Run
bun run i18n:add-lang deor create a new file such assrc/lib/app-language/locales/app.de.po. - Set the PO header
Language: deor use the matching filename. -
Use
bun run i18n:extractafter adding new UI strings so the catalog stays current. - The app discovers the new locale automatically in Settings → Display.
Repository docs
For the contributor checklist and pull request expectations, read the repository guides: