Bibliup

Translating the interface

English ships; every on-screen string is in src/i18n/messages/<locale>/, so a language is a translation job.

  1. Copy src/i18n/messages/en/ to src/i18n/messages/<code>/ and translate the files.
  2. Add src/i18n/reference/<code>.ts.
  3. Register the code in src/i18n/config.ts and src/i18n/request.ts, list the reference file in src/i18n/reference/locales.ts, and add the language's row to every other registry in the table in rulebook/i18n.md (chat's prompts and vocabulary, search's analyzer and the rest). The typecheck names any registry still missing it.
  4. Rebuild: docker compose up -d --build.

Set LOCALE to make it the default. Your library content is never translated.

The website and these guides

The website (its landing page and these guides) is translated separately: see promo/i18n/README.md for the landing page, and Translating the guides for the guides.