feat(i18n): localize onboarding & reports; logout

- add en/ms keys for welcome, onboarding, capture/review, errors, and
  settings labels
- replace hardcoded strings with I18n.t in WelcomeScreen, OnboardingFlow,
  CaptureScreen, ReviewScreen, Map severity legend, and Settings
- update StartRouter: onboarded guests go to MainScreen; non-guest users
  see SignIn; skip marks user as onboarded guest
- add logout action in Settings that clears onboarding/user mode prefs
  and returns to the welcome flow
- refine settings diagnostics and app section; move labels to i18n
- leave TODOs for app subtitle, processing status, and ReportCard menu
  labels for future i18n coverage
This commit is contained in:
2025-09-26 14:57:47 +08:00
parent 7085a54290
commit 9849df6a8c
8 changed files with 288 additions and 80 deletions

View File

@@ -380,7 +380,9 @@ class ReportCard extends StatelessWidget {
children: [
Icon(Icons.visibility),
SizedBox(width: 8),
Text('View Details'),
Text(
'View Details',
), // TODO: Move to i18n but need to handle dynamic text in popup menu
],
),
),
@@ -390,7 +392,9 @@ class ReportCard extends StatelessWidget {
children: [
Icon(Icons.update),
SizedBox(width: 8),
Text('Update Status'),
Text(
'Update Status',
), // TODO: Move to i18n but need to handle dynamic text in popup menu
],
),
),
@@ -400,7 +404,10 @@ class ReportCard extends StatelessWidget {
children: [
Icon(Icons.delete, color: Colors.red),
SizedBox(width: 8),
Text('Delete', style: TextStyle(color: Colors.red)),
Text(
'Delete',
style: TextStyle(color: Colors.red),
), // TODO: Move to i18n but need to handle dynamic text in popup menu
],
),
),