mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-11 16:30:28 +00:00
Add Croatian and Slovenian localizations, implement locale preferences, and update settings screen
- Created `app_localizations_hr.dart` and `app_localizations_sl.dart` for Croatian and Slovenian translations. - Added `app_sl.arb` file for Slovenian localization strings. - Enhanced `main.dart` to support locale selection and initialization. - Updated `home_screen.dart` and `settings_screen.dart` to handle locale changes and display current language. - Implemented `locale_preferences.dart` service for managing locale settings using SharedPreferences. - Modified `pubspec.yaml` to include `flutter_localizations` and enable localization file generation.
This commit is contained in:
281
lib/l10n/app_localizations_hr.dart
Normal file
281
lib/l10n/app_localizations_hr.dart
Normal file
@@ -0,0 +1,281 @@
|
||||
// ignore: unused_import
|
||||
import 'package:intl/intl.dart' as intl;
|
||||
import 'app_localizations.dart';
|
||||
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
/// The translations for Croatian (`hr`).
|
||||
class AppLocalizationsHr extends AppLocalizations {
|
||||
AppLocalizationsHr([String locale = 'hr']) : super(locale);
|
||||
|
||||
@override
|
||||
String get appTitle => 'MeshCore SAR';
|
||||
|
||||
@override
|
||||
String get messages => 'Poruke';
|
||||
|
||||
@override
|
||||
String get contacts => 'Kontakti';
|
||||
|
||||
@override
|
||||
String get map => 'Karta';
|
||||
|
||||
@override
|
||||
String get settings => 'Postavke';
|
||||
|
||||
@override
|
||||
String get connect => 'Poveži';
|
||||
|
||||
@override
|
||||
String get disconnect => 'Prekini';
|
||||
|
||||
@override
|
||||
String get scanningForDevices => 'Skeniranje uređaja...';
|
||||
|
||||
@override
|
||||
String get noDevicesFound => 'Nisu pronađeni uređaji';
|
||||
|
||||
@override
|
||||
String get scanAgain => 'Skeniraj ponovno';
|
||||
|
||||
@override
|
||||
String get tapToConnect => 'Dodirnite za povezivanje';
|
||||
|
||||
@override
|
||||
String get deviceNotConnected => 'Uređaj nije povezan';
|
||||
|
||||
@override
|
||||
String get locationPermissionDenied => 'Dopuštenje za lokaciju odbijeno';
|
||||
|
||||
@override
|
||||
String get locationPermissionPermanentlyDenied =>
|
||||
'Dopuštenje za lokaciju trajno odbijeno. Molimo omogućite u Postavkama.';
|
||||
|
||||
@override
|
||||
String get locationServicesDisabled =>
|
||||
'Usluge lokacije su onemogućene. Molimo omogućite ih u Postavkama.';
|
||||
|
||||
@override
|
||||
String get failedToGetGpsLocation => 'Neuspjelo dobivanje GPS lokacije';
|
||||
|
||||
@override
|
||||
String advertisedAtLocation(String latitude, String longitude) {
|
||||
return 'Objavljeno na $latitude, $longitude';
|
||||
}
|
||||
|
||||
@override
|
||||
String failedToAdvertise(String error) {
|
||||
return 'Neuspjela objava: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String reconnecting(int attempt, int max) {
|
||||
return 'Ponovno povezivanje... ($attempt/$max)';
|
||||
}
|
||||
|
||||
@override
|
||||
String get cancelReconnection => 'Otkaži ponovno povezivanje';
|
||||
|
||||
@override
|
||||
String get mapManagement => 'Upravljanje kartom';
|
||||
|
||||
@override
|
||||
String get general => 'Općenito';
|
||||
|
||||
@override
|
||||
String get theme => 'Tema';
|
||||
|
||||
@override
|
||||
String get chooseTheme => 'Odaberite temu';
|
||||
|
||||
@override
|
||||
String get light => 'Svijetla';
|
||||
|
||||
@override
|
||||
String get dark => 'Tamna';
|
||||
|
||||
@override
|
||||
String get blueLightTheme => 'Plava svijetla tema';
|
||||
|
||||
@override
|
||||
String get blueDarkTheme => 'Plava tamna tema';
|
||||
|
||||
@override
|
||||
String get sarRed => 'SAR crvena';
|
||||
|
||||
@override
|
||||
String get alertEmergencyMode => 'Način upozorenja/hitna situacija';
|
||||
|
||||
@override
|
||||
String get sarGreen => 'SAR zelena';
|
||||
|
||||
@override
|
||||
String get safeAllClearMode => 'Način sigurno/sve jasno';
|
||||
|
||||
@override
|
||||
String get autoSystem => 'Automatski (Sustav)';
|
||||
|
||||
@override
|
||||
String get followSystemTheme => 'Slijedi sistemsku temu';
|
||||
|
||||
@override
|
||||
String get showRxTxIndicators => 'Prikaži RX/TX indikatore';
|
||||
|
||||
@override
|
||||
String get displayPacketActivity =>
|
||||
'Prikaži indikatore aktivnosti paketa u gornjoj traci';
|
||||
|
||||
@override
|
||||
String get language => 'Jezik';
|
||||
|
||||
@override
|
||||
String get chooseLanguage => 'Odaberite jezik';
|
||||
|
||||
@override
|
||||
String get english => 'Engleski';
|
||||
|
||||
@override
|
||||
String get slovenian => 'Slovenski';
|
||||
|
||||
@override
|
||||
String get croatian => 'Hrvatski';
|
||||
|
||||
@override
|
||||
String get locationBroadcasting => 'Emitiranje lokacije';
|
||||
|
||||
@override
|
||||
String get autoLocationTracking => 'Automatsko praćenje lokacije';
|
||||
|
||||
@override
|
||||
String get automaticallyBroadcastPosition =>
|
||||
'Automatski emitiraj ažuriranja pozicije';
|
||||
|
||||
@override
|
||||
String get configureTracking => 'Konfiguriraj praćenje';
|
||||
|
||||
@override
|
||||
String get distanceAndTimeThresholds => 'Pragovi udaljenosti i vremena';
|
||||
|
||||
@override
|
||||
String get locationTrackingConfiguration => 'Konfiguracija praćenja lokacije';
|
||||
|
||||
@override
|
||||
String get configureWhenLocationBroadcasts =>
|
||||
'Konfigurirajte kada se emitiranja lokacije šalju u mesh mrežu';
|
||||
|
||||
@override
|
||||
String get minimumDistance => 'Minimalna udaljenost';
|
||||
|
||||
@override
|
||||
String broadcastAfterMoving(String distance) {
|
||||
return 'Emitiraj tek nakon pomicanja $distance metara';
|
||||
}
|
||||
|
||||
@override
|
||||
String get maximumDistance => 'Maksimalna udaljenost';
|
||||
|
||||
@override
|
||||
String alwaysBroadcastAfterMoving(String distance) {
|
||||
return 'Uvijek emitiraj nakon pomicanja $distance metara';
|
||||
}
|
||||
|
||||
@override
|
||||
String get minimumTimeInterval => 'Minimalni vremenski interval';
|
||||
|
||||
@override
|
||||
String alwaysBroadcastEvery(String duration) {
|
||||
return 'Uvijek emitiraj svakih $duration';
|
||||
}
|
||||
|
||||
@override
|
||||
String get save => 'Spremi';
|
||||
|
||||
@override
|
||||
String get cancel => 'Otkaži';
|
||||
|
||||
@override
|
||||
String get close => 'Zatvori';
|
||||
|
||||
@override
|
||||
String get about => 'O aplikaciji';
|
||||
|
||||
@override
|
||||
String get appVersion => 'Verzija aplikacije';
|
||||
|
||||
@override
|
||||
String get appName => 'Ime aplikacije';
|
||||
|
||||
@override
|
||||
String get aboutMeshCoreSar => 'O MeshCore SAR';
|
||||
|
||||
@override
|
||||
String get aboutDescription =>
|
||||
'Aplikacija za potragu i spašavanje dizajnirana za timove za hitne slučajeve. Značajke uključuju:\n\n• BLE mesh mrežu za komunikaciju uređaj-uređaj\n• Offline karte s više slojeva\n• Praćenje članova tima u stvarnom vremenu\n• SAR taktički markeri (pronađena osoba, požar, zbirno mjesto)\n• Upravljanje kontaktima i razmjena poruka\n• GPS praćenje s kompasnim smjerom\n• Predmemoriranje karata za offline upotrebu';
|
||||
|
||||
@override
|
||||
String get technologiesUsed => 'Korištene tehnologije:';
|
||||
|
||||
@override
|
||||
String get technologiesList =>
|
||||
'• Flutter za višeplatformski razvoj\n• BLE (Bluetooth Low Energy) za mesh mrežu\n• OpenStreetMap za kartografiju\n• Provider za upravljanje stanjem\n• SharedPreferences za lokalno pohranu';
|
||||
|
||||
@override
|
||||
String get developer => 'Programer';
|
||||
|
||||
@override
|
||||
String get packageName => 'Ime paketa';
|
||||
|
||||
@override
|
||||
String get sampleData => 'Primjer podataka';
|
||||
|
||||
@override
|
||||
String get sampleDataDescription =>
|
||||
'Učitajte ili očistite primjere kontakata, poruka kanala i SAR markera za testiranje';
|
||||
|
||||
@override
|
||||
String get loadSampleData => 'Učitaj primjer podataka';
|
||||
|
||||
@override
|
||||
String get clearAllData => 'Očisti sve podatke';
|
||||
|
||||
@override
|
||||
String get clearAllDataConfirmTitle => 'Očisti sve podatke';
|
||||
|
||||
@override
|
||||
String get clearAllDataConfirmMessage =>
|
||||
'Ovo će očistiti sve kontakte i SAR markere. Jeste li sigurni?';
|
||||
|
||||
@override
|
||||
String get clear => 'Očisti';
|
||||
|
||||
@override
|
||||
String loadedSampleData(
|
||||
int teamCount,
|
||||
int channelCount,
|
||||
int sarCount,
|
||||
int messageCount,
|
||||
) {
|
||||
return 'Učitano $teamCount članova tima, $channelCount kanala, $sarCount SAR markera, $messageCount poruka';
|
||||
}
|
||||
|
||||
@override
|
||||
String failedToLoadSampleData(String error) {
|
||||
return 'Neuspjelo učitavanje primjera podataka: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get allDataCleared => 'Svi podaci očišćeni';
|
||||
|
||||
@override
|
||||
String get failedToStartBackgroundTracking =>
|
||||
'Neuspjelo pokretanje praćenja u pozadini. Provjerite dopuštenja i BLE vezu.';
|
||||
|
||||
@override
|
||||
String locationBroadcast(String latitude, String longitude) {
|
||||
return 'Emitiranje lokacije: $latitude, $longitude';
|
||||
}
|
||||
|
||||
@override
|
||||
String get defaultPinInfo =>
|
||||
'Zadani PIN za uređaje bez zaslona je 123456. Problemi s uparivanjem? Zaboravite bluetooth uređaj u postavkama sustava.';
|
||||
}
|
||||
Reference in New Issue
Block a user