- integrate flutter_localizations and delegates in MaterialApp - use language-only supportedLocales; add resolution callback - initialize I18n on app start and when switching language - localize capture screen prompt via I18n.t - schedule map centering via postFrame to avoid race conditions - add flutter_localizations to pubspec
101 lines
3.3 KiB
JSON
101 lines
3.3 KiB
JSON
{
|
|
"app.name": "FixMate",
|
|
"nav.report": "Report",
|
|
"nav.map": "Map",
|
|
"nav.myReports": "My Reports",
|
|
"nav.settings": "Settings",
|
|
"btn.capture": "Capture",
|
|
"btn.gallery": "Gallery",
|
|
"btn.camera": "Camera",
|
|
"capture.prompt": "Take a photo of the issue",
|
|
"btn.next": "Next",
|
|
"btn.submit": "Submit",
|
|
"btn.save": "Save",
|
|
"btn.cancel": "Cancel",
|
|
"btn.retake": "Retake",
|
|
"btn.delete": "Delete",
|
|
"btn.clearAll": "Clear All",
|
|
"btn.changeStatus": "Change Status",
|
|
"btn.view": "View",
|
|
"btn.details": "Details",
|
|
"btn.retry": "Retry",
|
|
"btn.allow": "Allow",
|
|
"btn.deny": "Deny",
|
|
"btn.confirm": "Confirm",
|
|
"btn.close": "Close",
|
|
"btn.openMap": "Open Map",
|
|
"btn.useSuggestion": "Use Suggestion",
|
|
"btn.keepManual": "Keep Manual",
|
|
"btn.apply": "Apply",
|
|
"btn.reset": "Reset",
|
|
"btn.filter": "Filter",
|
|
"btn.ok": "OK",
|
|
"btn.yes": "Yes",
|
|
"btn.no": "No",
|
|
"label.category": "Category",
|
|
"label.severity": "Severity",
|
|
"label.status": "Status",
|
|
"label.notes": "Notes",
|
|
"label.address": "Address",
|
|
"label.location": "Location",
|
|
"label.latitude": "Latitude",
|
|
"label.longitude": "Longitude",
|
|
"label.accuracy": "Accuracy",
|
|
"label.timestamp": "Timestamp",
|
|
"label.deviceId": "Device ID",
|
|
"label.source": "Source",
|
|
"label.aiSuggestion": "AI Suggestion",
|
|
"status.submitted": "Submitted",
|
|
"status.in_progress": "In Progress",
|
|
"status.fixed": "Fixed",
|
|
"severity.high": "High",
|
|
"severity.medium": "Medium",
|
|
"severity.low": "Low",
|
|
"category.pothole": "Pothole",
|
|
"category.streetlight": "Streetlight",
|
|
"category.signage": "Signage",
|
|
"category.trash": "Trash",
|
|
"category.drainage": "Drainage",
|
|
"category.other": "Other",
|
|
"filter.title": "Filters",
|
|
"filter.category": "Category",
|
|
"filter.severity": "Severity",
|
|
"filter.status": "Status",
|
|
"filter.dateRange": "Date Range",
|
|
"filter.showOnlyMine": "Show Only Mine",
|
|
"map.legend": "Map Legend",
|
|
"map.noReports": "No reports found",
|
|
"map.clustered": "Clustered",
|
|
"toast.reportSaved": "Report saved",
|
|
"toast.reportDeleted": "Report deleted",
|
|
"toast.storageCleared": "Storage cleared",
|
|
"confirm.deleteReport.title": "Delete report?",
|
|
"confirm.deleteReport.message": "This action cannot be undone.",
|
|
"confirm.clearData.title": "Clear all data?",
|
|
"confirm.clearData.message": "This will remove all local reports.",
|
|
"settings.language": "Language",
|
|
"settings.diagnostics": "Diagnostics",
|
|
"settings.theme": "Theme",
|
|
"settings.theme.light": "Light",
|
|
"settings.theme.dark": "Dark",
|
|
"lang.en": "English",
|
|
"lang.ms": "Bahasa Malaysia",
|
|
"welcome.title": "Spot it. Snap it. Fix it.",
|
|
"welcome.subtitle": "Report city issues in seconds—help crews act faster.",
|
|
"cta.continueGuest": "Continue as guest",
|
|
"cta.signIn": "Sign in",
|
|
"cta.skip": "Skip",
|
|
"cta.next": "Next",
|
|
"cta.getStarted": "Get started",
|
|
"onboarding.header": "Welcome to FixMate",
|
|
"onboarding.title1": "Fast capture",
|
|
"onboarding.body1": "Take a photo and submit in under a minute.",
|
|
"onboarding.title2": "Map clarity",
|
|
"onboarding.body2": "See issues around you with smart clustering.",
|
|
"onboarding.title3": "Track progress",
|
|
"onboarding.body3": "Follow status updates as work gets done.",
|
|
"auth.title": "Sign in",
|
|
"auth.signInWithApple": "Sign in with Apple",
|
|
"auth.signInWithGoogle": "Sign in with Google",
|
|
"auth.comingSoon": "Coming soon"
|
|
} |