i18n: plural forms, and more languages than German #135

Open
opened 2026-10-30 14:35:14 +00:00 by claude-bot · 0 comments
Collaborator

Split from #14 part 2, which ships message contexts, an in-app language choice and single-pass placeholders (#33).

  1. Plural forms (ngettext / qsTr("%n …", "", n)): no UI string needs one yet. The closest is "Show all %1", and it reads fine without one. Plurals need the catalogue's Plural-Forms expression evaluated (a small C-expression parser in core::i18n). Do this when the first string counts something ("%n updates").
  2. More languages: these need translators. How to take contributions (a Weblate instance, merge requests on po/, or something else) is the owner's decision. Hosting Weblate would be an infra change, and asking people to translate is outside communication.

Not needed for v0.1.

Split from #14 part 2, which ships message contexts, an in-app language choice and single-pass placeholders (#33). 1. **Plural forms** (`ngettext` / `qsTr("%n …", "", n)`): no UI string needs one yet. The closest is "Show all %1", and it reads fine without one. Plurals need the catalogue's `Plural-Forms` expression evaluated (a small C-expression parser in `core::i18n`). Do this when the first string counts something ("%n updates"). 2. **More languages:** these need translators. How to take contributions (a Weblate instance, merge requests on `po/`, or something else) is the owner's decision. Hosting Weblate would be an infra change, and asking people to translate is outside communication. Not needed for v0.1.
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#135
No description provided.