Automatic Application of Organization Terminology Across All Screens
The dynamic terminology system must seamlessly replace generic label keys with organization-specific values everywhere in the app — from navigation labels and button text to form field names and notification copy. This is powered by the TerminologyAwareTextWidget, which resolves every piece of UI text through the OrganizationLabelsNotifier and LabelKeyResolver at render time, ensuring updates propagate instantly when terminology configuration changes are synced from the backend.
User Story
Acceptance Criteria
- Given I am a Coordinator in an organization with custom terminology, When I or a peer mentor opens any screen in the app, Then all label keys are resolved to organization-specific values without visible delay
- Given the terminology configuration has been updated on the backend, When the app next syncs, Then all screens immediately reflect the updated labels without requiring an app restart
- Given terminology is loaded from cache for offline use, When a peer mentor uses the app without connectivity, Then resolved labels remain consistent with the last synced configuration
- Given two peer mentors from different organizations are using the same app build, When they view the same screen, Then each sees their own organization's terminology independently
- Given a label key is missing from the organization's configuration, When the widget renders, Then a sensible default or the raw key is shown rather than a crash or blank field
Business Value
All four partner organizations (NHF, HLF, Blindeforbundet, Barnekreftforeningen) operate with distinct volunteer roles, activity types, and reporting concepts. A terminology system that automatically localizes language per organization eliminates the need to maintain separate app builds and ensures every user group feels the product is built for them — a key factor in adoption and retention among volunteer communities.
Components
- Terminology-Aware Text Widget ui
- Organization Labels Notifier service
- Label Key Resolver Service service
- Terminology Sync Service service
- Terminology Repository data
- Terminology Local Cache Adapter data
- Label Key Registry infrastructure
- Terminology Riverpod Providers infrastructure
- Organization Labels Provider infrastructure
- Organization Labels Provider infrastructure
- Organization Labels Provider infrastructure