feat(i18n): German localization foundation + locale-aware date picker #704
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
project-halkyon/halkyon-learn!704
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/704/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 1 of German support, and it fixes the Sunday-start date picker for PDF study deadlines.
The calendar fix
The weekday picker (
showDatePickerin the PDF deadline sheet) started the week on Sunday only because the app hard-pinnedsupportedLocales: [Locale('en')]— generic English starts on Sunday, while the app's own heatmap/week views are already Monday-first. Now the app follows the device locale (en, de), so a German/EU device resolves todeand Material's date picker starts on Monday.Foundation
Stands up the
gen_l10npipeline that didn't exist yet:flutter: generate: true,l10n.yamllib/l10n/app_en.arb(template) +app_de.arb+ generatedAppLocalizationsmain.dart:AppLocalizations.delegate+AppLocalizations.supportedLocales, locale follows the device; untranslated keys fall back to EnglishPilot
The PDF deadline sheet (the picker's own screen, ~17 strings) is translated end-to-end as the established pattern for the rest of the app. Its widget test now installs the localization delegates; the English assertions are unchanged.
Scope
This is the foundation + one feature. The full app is ~980 strings across 532 files / 33 feature areas — those land in follow-up PRs, area by area.
flutter analyzeclean on the touched files; the deadline-sheet widget tests pass.Note: needed a
flutter pub getto repoint.dart_tool/package_config.jsonfrom a root-owned/root/.pub-cache(a prior sudo'd pub get) to your user cache — unrelated to this change but it was blocking gen-l10n's format step locally.