You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Complete ICU sentence migration for landing and balance summaries - #800
Completes the remaining sentence fragments after #457, following the phase-two approval in #457 (comment). Related to #418.
Landing headings now use complete rich-text messages with translator-controlled highlight and source-link placement. Balance summaries and group balance headers include their styled amounts in the same message, allowing translators to reorder them. Import previews use an ICU member-count plural, and the exchange-rate date has a standalone contextual label.
Existing participant links, actor selects, activity messages, metadata and balance plurals were already migrated on main and remain in use. Every old translation key and all 112 catalog paths are preserved; non-English files are unchanged. New keys are English-only in the existing common/home namespaces. No gender is inferred from names; gender select is tested with a fixture because users have no gender field.
Validation:
49 unit suites / 527 tests passed, including all catalogs, actor roles, plural categories, rich-text reordering, escaped names, English fallback, SSR serialization/hydration, and gender select.
Prettier, TypeScript and production build passed.
Lint passed with one pre-existing unused-import warning in DeleteAccount.tsx; pre-commit checks passed.
Catalog comparison confirmed existing values unchanged and non-English catalogs byte-identical.
Database integration and browser E2E suites were not run.
AI assistance was used for implementation and validation.
Summary by CodeRabbit
New Features
Balance summaries now display labels and amounts together, with support for translated text and reordered layouts.
Landing-page titles and subtitles support rich formatting and links.
Member counts use plural-aware translations, and exchange-rate controls use a clearer date label.
Documentation
Updated translation guidance to retain deprecated keys for translation history and compatibility with older app versions.
English catalogs add rich translation messages for landing-page text and balances. Application pages and components render these messages, and SSR tests cover interpolation, ordering, and ICU gender selection.
Changes: Rich translations
Layer / File(s)
Summary
Translation catalogs and guidance docs/OBSOLETE_TRANSLATION_KEYS.md, public/locales/en/*.json
English catalogs add rich landing-page and balance messages, member-count plurals, and an exchange-rate date label. The guidance describes retaining deprecated keys and notes Phase 2 translation coverage.
Pages and components use rich translations for landing-page text, balances, and member counts. SSR tests check markup, interpolation, component ordering, and ICU gender selection.
sequenceDiagram
participant BalanceList
participant Trans
participant TranslationCatalog
BalanceList->>Trans: message key, person, and amount components
Trans->>TranslationCatalog: resolve rich translation
TranslationCatalog-->>Trans: translated message template
Trans-->>BalanceList: rendered message with components
Loading
Possibly related PRs
oss-apps/split-pro#457: This PR introduced the ICU setup that the current translation tests and sentence-fragment migration build on.
Suggested reviewers:krokosik
Merge Risk: Minimal · up to 5db2c
The changes appear mergeable after normal checks; no material issue is currently identified.
- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Tip
🎯 Customize your risk assessments
Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.
✅ Automatic approvals, with your rules
Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
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
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.
Completes the remaining sentence fragments after #457, following the phase-two approval in #457 (comment). Related to #418.
Landing headings now use complete rich-text messages with translator-controlled highlight and source-link placement. Balance summaries and group balance headers include their styled amounts in the same message, allowing translators to reorder them. Import previews use an ICU member-count plural, and the exchange-rate date has a standalone contextual label.
Existing participant links, actor selects, activity messages, metadata and balance plurals were already migrated on main and remain in use. Every old translation key and all 112 catalog paths are preserved; non-English files are unchanged. New keys are English-only in the existing common/home namespaces. No gender is inferred from names; gender select is tested with a fixture because users have no gender field.
Validation:
AI assistance was used for implementation and validation.
Summary by CodeRabbit