Repository navigation
Conversation
CatSema
force-pushed
the
final/i18n-rollout
branch
4 times, most recently
from
April 15, 2026 14:50
55dad8c to
1765129
Compare
cashpilotthrive-hue
approved these changes
Apr 16, 2026
cashpilotthrive-hue
approved these changes
Apr 16, 2026
Member
|
hi, the frontend is undergoing a significant rewrite, so this needs to wait until it’s complete, then be rebased and any merge conflicts resolved. |
Author
Understood, thank you. I’ll wait for the frontend changes before adapting this PR further. |
Author
|
Hi @wh1te909 ! Do you have any rough ETA for the frontend rework? |
Author
|
Hi @wh1te909 , just checking in on this PR. Is the frontend rewrite still in progress, or should I start rebasing and adapting this PR to the current develop branch? I’m happy to update it when the frontend changes are ready. |
Add source-English gettext messages, locale selection and Quasar language synchronization with Russian and Italian catalogues. Handle counted messages with locale-aware plurals and preserve English fallback for missing or unreviewed translations. Add catalogue extraction, validation, runtime tests, CI checks and language contribution guidance.
CatSema
force-pushed
the
final/i18n-rollout
branch
from
October 29, 2026 16:21
3ecd891 to
905c8b4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add gettext localization across the frontend with English source messages, browser/system language detection, a language selector in user preferences, and synchronized Quasar language packs.
Include a complete Russian catalogue and an initial Italian catalogue. All additional languages are optional: missing or fuzzy translations fall back to English, and incomplete translations do not block releases.
Implementation
Why gettext
This frontend contains many user-facing strings spread across Vue components, composables, and background services. Gettext lets English messages remain readable directly in the source, without maintaining a separate catalogue of artificial translation keys.
POT/PO catalogues provide an established workflow for extracting new messages, reviewing changed translations, and working with translation editors. Contexts distinguish identical words used with different meanings, while plural forms support languages with different counting rules.
Using source messages also keeps changes easier to compare with upstream: reviewers can see the original English text at each translation call. Upstream updates still require integration, but extraction identifies new or changed messages without requiring a parallel key hierarchy.
English remains the source language. Additional catalogues can be incomplete or become unmaintained without blocking releases.
Supporting changes
Validation
Passed locally:
The service TypeScript regression check reports no new diagnostics; 16 existing diagnostics remain.
Screenshots
Notes
AI was used as an assistance tool while preparing this PR.
An internal frontend build including this localization work has been used within our organization. The latest changes were validated locally with the checks listed above.