Translations (gettext) and CI resource check #14

Open
opened 2026-10-20 18:52:05 +00:00 by claude-bot · 2 comments
Collaborator

Phase 1 item (docs/01-pathway.md, docs/09-quality-gates.md, docs/07-platform-constraints.md).

  • gettext from the start: extract strings from QML and Rust, a po/ directory, build the catalogues into the click.
  • Resource check gating CI: PSS / start-up budget from docs/07 enforced by tools/mem-check in the slow profile, failing the build when exceeded.
  • Verify the phase exit criteria: within budget in the slow profile and on the Plinius; golden tests for 5+ Bibles covering KJV, MT and German versifications.
Phase 1 item (docs/01-pathway.md, docs/09-quality-gates.md, docs/07-platform-constraints.md). - gettext from the start: extract strings from QML and Rust, a `po/` directory, build the catalogues into the click. - Resource check gating CI: PSS / start-up budget from docs/07 enforced by `tools/mem-check` in the slow profile, failing the build when exceeded. - Verify the phase exit criteria: within budget in the slow profile and on the Plinius; golden tests for 5+ Bibles covering KJV, MT and German versifications.
Author
Collaborator

Part 1 is merged in #25.

  • Catalogues: UI text comes from gettext. core::i18n reads .mo files, and one QTranslator serves QML's qsTr.
  • German: all 23 strings are translated in po/de.po.
  • Packaging: the .mo is built into the click.
  • CI: it fails on a stale po/, and checks that the built app shows German under LANGUAGE=de.
  • Start-up gate: CI also gained a start-up time gate (2000 ms, and 3000 ms on a slow profile).

Left for part 2 (and #33):

  • more languages;
  • plurals and context;
  • an in-app language override;
  • single-pass placeholder substitution;
  • a test for the translator's disambiguation path.

Phone QC for this issue waits until part 2 merges. If you'd like an early look, set System Settings → Language to Deutsch and reopen the app. It should show:

  • the title "Studienbibel";
  • "Gehe zu" and "Zurück";
  • "Altes/Neues Testament" in the picker.
Part 1 is merged in #25. - **Catalogues:** UI text comes from gettext. `core::i18n` reads `.mo` files, and one `QTranslator` serves QML's `qsTr`. - **German:** all 23 strings are translated in `po/de.po`. - **Packaging:** the `.mo` is built into the click. - **CI:** it fails on a stale `po/`, and checks that the built app shows German under `LANGUAGE=de`. - **Start-up gate:** CI also gained a start-up time gate (2000 ms, and 3000 ms on a slow profile). Left for part 2 (and #33): - more languages; - plurals and context; - an in-app language override; - single-pass placeholder substitution; - a test for the translator's disambiguation path. Phone QC for this issue waits until part 2 merges. If you'd like an early look, set System Settings → Language to Deutsch and reopen the app. It should show: - the title "Studienbibel"; - "Gehe zu" and "Zurück"; - "Altes/Neues Testament" in the picker.
Author
Collaborator

Part 2 is merged in #136, and #33 is closed with it. Plural forms and more languages are moved to #135. Merged main (c0acc250c) is installed on the Plinius.

I checked these myself on the phone with the e2e tools:

  • Settings → Language lists "Phone language", English and Deutsch, with each label beside its circle.
  • Choosing Deutsch turns the app German at once ("Sprache", "Zurück"), with no restart.
  • After a restart the app is still German.
  • Choosing "Phone language" brings English back. The app is left on that setting.
  • Memory with German active, while scrolling: PSS 63 MB, under the 80 MB budget (docs/07).
  • Golden tests cover 7 Bibles across the KJV, MT and German versifications (in tools/golden).

For you:

  • Set System Settings → Language to Deutsch and reopen the app. With "Phone language" chosen, it should follow the phone and show German. Then set the phone back.
  • Your sign-off.

This issue stays open until you sign off.

Part 2 is merged in #136, and #33 is closed with it. Plural forms and more languages are moved to #135. Merged main (`c0acc250c`) is installed on the Plinius. I checked these myself on the phone with the e2e tools: - [x] Settings → Language lists "Phone language", English and Deutsch, with each label beside its circle. - [x] Choosing Deutsch turns the app German at once ("Sprache", "Zurück"), with no restart. - [x] After a restart the app is still German. - [x] Choosing "Phone language" brings English back. The app is left on that setting. - [x] Memory with German active, while scrolling: PSS 63 MB, under the 80 MB budget (docs/07). - [x] Golden tests cover 7 Bibles across the KJV, MT and German versifications (in `tools/golden`). For you: - [ ] Set System Settings → Language to Deutsch and reopen the app. With "Phone language" chosen, it should follow the phone and show German. Then set the phone back. - [ ] Your sign-off. This issue stays open until you sign off.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
schaefera/utStudyBIble#14
No description provided.