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

@@ -97,5 +97,60 @@
"auth.title": "Sign in",
"auth.signInWithApple": "Sign in with Apple",
"auth.signInWithGoogle": "Sign in with Google",
"auth.comingSoon": "Coming soon"
"auth.comingSoon": "Coming soon",
"welcome.title": "Spot it. Snap it. Fix it.",
"welcome.subtitle": "Report city issues in seconds with AI-powered detection. Help create safer, better communities together.",
"cta.continueGuest": "Continue as Guest",
"cta.signIn": "Sign In",
"cta.skip": "Skip for now",
"onboarding.header": "Welcome to FixMate",
"onboarding.title1": "Fast Issue Reporting",
"onboarding.subtitle1": "AI-Powered Detection",
"onboarding.body1": "Simply take a photo of any urban issue - our AI automatically identifies and categorizes the problem in seconds.",
"onboarding.title2": "Smart City Mapping",
"onboarding.subtitle2": "Real-Time Visualization",
"onboarding.body2": "View all reported issues on an interactive map with intelligent clustering and filtering options.",
"onboarding.title3": "Track Progress",
"onboarding.subtitle3": "Stay Informed",
"onboarding.body3": "Follow the status of your reports from submission to resolution. Help make your community better.",
"onboarding.skip": "Skip",
"onboarding.next": "Next",
"onboarding.getStarted": "Get Started",
"review.title": "Review & Submit",
"review.submit": "Submit",
"review.aiAnalysis": "AI Analysis Complete",
"review.aiConfidence": "Smart detection with {0}% confidence",
"review.useSuggestion": "Use AI Suggestion",
"review.editManually": "Edit Manually",
"review.category": "Issue Category",
"review.severity": "Severity Level",
"review.notes": "Additional Notes",
"review.notesHint": "Add any additional details or context...",
"review.location": "Location Details",
"review.coordinates": "Coordinates",
"review.accuracy": "Accuracy: {0}m",
"error.saving": "Error saving report: {0}",
"error.imagePick": "Error picking image: {0}",
"error.location": "Unable to get location. Please try again.",
"error.imageProcessing": "Error processing image: {0}",
"capture.title": "Report Issue",
"capture.subtitle": "Report City Issues",
"capture.description": "Take a photo of any urban maintenance issue like potholes, broken streetlights, or damaged signage.",
"capture.processing": "Processing image...",
"capture.takePhoto": "Take Photo",
"capture.gallery": "Choose from Gallery",
"report.viewDetails": "View Details",
"report.updateStatus": "Update Status",
"report.delete": "Delete",
"report.comingSoon": "Coming Soon!",
"settings.loading": "Loading...",
"settings.app": "App",
"settings.version": "v1.0.0",
"settings.account": "Account",
"settings.account.guest": "Guest Mode",
"btn.logout": "Logout",
"confirm.logout.title": "Logout?",
"confirm.logout.message": "You will be returned to the welcome screen.",
"label.createdAt": "Created At",
"error.clearData": "Failed to clear data"
}

View File

@@ -97,5 +97,60 @@
"auth.title": "Log masuk",
"auth.signInWithApple": "Log masuk dengan Apple",
"auth.signInWithGoogle": "Log masuk dengan Google",
"auth.comingSoon": "Akan datang"
"auth.comingSoon": "Akan datang",
"welcome.title": "Nampak. Tangkap. Baiki.",
"welcome.subtitle": "Lapor isu bandar dalam beberapa saat dengan pengesanan berkuasa AI. Bantu mencipta komuniti yang lebih selamat dan lebih baik.",
"cta.continueGuest": "Teruskan sebagai Tetamu",
"cta.signIn": "Log Masuk",
"cta.skip": "Langkau buat masa ini",
"onboarding.header": "Selamat Datang ke FixMate",
"onboarding.title1": "Laporan Isu Pantas",
"onboarding.subtitle1": "Pengesanan Berkuasa AI",
"onboarding.body1": "Hanya ambil gambar mana-mana isu bandar - AI kami secara automatik mengenal pasti dan mengkategorikan masalah dalam beberapa saat.",
"onboarding.title2": "Pemetaan Bandar Pintar",
"onboarding.subtitle2": "Penglihatan Masa Nyata",
"onboarding.body2": "Lihat semua isu yang dilaporkan di peta interaktif dengan pengelompokan dan penapisan pintar.",
"onboarding.title3": "Jejak Kemajuan",
"onboarding.subtitle3": "Kekal Maklum",
"onboarding.body3": "Ikuti status laporan anda dari penyerahan hingga penyelesaian. Bantu memperbaiki komuniti anda.",
"onboarding.skip": "Langkau",
"onboarding.next": "Seterusnya",
"onboarding.getStarted": "Mula",
"review.title": "Semak & Hantar",
"review.submit": "Hantar",
"review.aiAnalysis": "Analisis AI Selesai",
"review.aiConfidence": "Pengesanan pintar dengan keyakinan {0}%",
"review.useSuggestion": "Guna Cadangan AI",
"review.editManually": "Edit Secara Manual",
"review.category": "Kategori Isu",
"review.severity": "Tahap Keterukan",
"review.notes": "Nota Tambahan",
"review.notesHint": "Tambah sebarang butiran atau konteks tambahan...",
"review.location": "Butiran Lokasi",
"review.coordinates": "Koordinat",
"review.accuracy": "Ketepatan: {0}m",
"error.saving": "Ralat menyimpan laporan: {0}",
"error.imagePick": "Ralat memilih imej: {0}",
"error.location": "Tidak dapat mendapatkan lokasi. Sila cuba lagi.",
"error.imageProcessing": "Ralat memproses imej: {0}",
"capture.title": "Lapor Isu",
"capture.subtitle": "Lapor Isu Bandar",
"capture.description": "Ambil gambar mana-mana isu penyelenggaraan bandar seperti lubang jalan, lampu jalan rosak, atau papan tanda rosak.",
"capture.processing": "Memproses imej...",
"capture.takePhoto": "Ambil Gambar",
"capture.gallery": "Pilih dari Galeri",
"report.viewDetails": "Lihat Butiran",
"report.updateStatus": "Kemas Kini Status",
"report.delete": "Padam",
"report.comingSoon": "Akan Datang!",
"settings.loading": "Memuatkan...",
"settings.app": "Apl",
"settings.version": "v1.0.0",
"settings.account": "Akaun",
"settings.account.guest": "Mod Tetamu",
"btn.logout": "Log Keluar",
"confirm.logout.title": "Log keluar?",
"confirm.logout.message": "Anda akan dibawa kembali ke skrin selamat datang.",
"label.createdAt": "Dicipta Pada",
"error.clearData": "Gagal mengosongkan data"
}