Notrufnummern-Datenbasis, Ländererkennung, State-Management und Lokalisierung (AP1-AP7)

Implementiert den kompletten Kern-Flow der Emergency App gemäß docs/plan.md:
- Notrufnummern-Datenbasis für 199 Länder + Modelle/Repository (AP1)
- DialerService für tel:-Notrufe ohne Auto-Dial (AP2)
- Statisches UI mit Panik-Button-Fallback (AP3)
- Priorisierte Ländererkennung: SIM/Netz -> GPS/Geocoding -> Cache (AP4)
- EmergencyProvider verdrahtet Repository/LocationService mit der UI (AP5)
- Manuelle Länderauswahl als Fallback samt eigener Priorität (AP6)
- UI-Lokalisierung (de/en/fr/es), an erkanntes Land gekoppelt (AP7)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
root
2026-07-24 11:29:38 +02:00
co-authored by Claude Sonnet 5
parent 40e95cc495
commit e3aa088bc2
54 changed files with 7550 additions and 145 deletions
+34
View File
@@ -7,4 +7,38 @@ import 'app_localizations.dart';
/// The translations for English (`en`).
class AppLocalizationsEn extends AppLocalizations {
AppLocalizationsEn([String locale = 'en']) : super(locale);
@override
String get appTitle => 'Emergency';
@override
String get selectCountryButton => 'Select country manually';
@override
String get retryButton => 'Try again';
@override
String get errorGeneric =>
'Unknown error while loading the emergency numbers.';
@override
String get countryUnknownMessage => 'Country could not be determined.';
@override
String get countryNotInDatabaseMessage =>
'Country not listed in the emergency number database. Only the global emergency number is available.';
@override
String get pickerTitle => 'Select country';
@override
String get pickerSearchHint => 'Search country';
@override
String get pickerNoResults => 'No country found.';
@override
String emergencyButtonSemanticLabel(String label, String number) {
return '$label, call $number';
}
}