mirror of
https://github.com/zjs81/meshcore-open.git
synced 2026-08-01 08:05:55 +10:00
Added Line Of Sight Feature for repeater placement, Added app wide Units Setting (#198)
* feat: add LOS workflow, global units, l10n cleanup, and mobile UI overflow fixes Squashes prior PR commits into one changeset including: LOS map/service/tests, global metric/imperial unit system adoption, notification/BLE safety fixes, app-wide localization backfill/mojibake cleanup, and responsive UI title/overflow hardening. * l10n: revert unrelated locale churn for LOS feature * feat: keep LOS with app-wide unit settings * fix: resolve post-merge app bar/import analyzer errors * style: format screen files for CI
This commit is contained in:
@@ -323,6 +323,10 @@ class AppLocalizationsPl extends AppLocalizations {
|
||||
String get settings_aboutDescription =>
|
||||
'Otwarty kod źródłowy klient Flutter dla urządzeń do sieci mesh LoRa MeshCore.';
|
||||
|
||||
@override
|
||||
String get settings_aboutOpenMeteoAttribution =>
|
||||
'Dane wysokościowe LOS: Open-Meteo (CC BY 4.0)';
|
||||
|
||||
@override
|
||||
String get settings_infoName => 'Imię';
|
||||
|
||||
@@ -621,6 +625,15 @@ class AppLocalizationsPl extends AppLocalizations {
|
||||
@override
|
||||
String get appSettings_offlineMapCache => 'Bufor Map Offline';
|
||||
|
||||
@override
|
||||
String get appSettings_unitsTitle => 'Jednostki';
|
||||
|
||||
@override
|
||||
String get appSettings_unitsMetric => 'Metryczne (m / km)';
|
||||
|
||||
@override
|
||||
String get appSettings_unitsImperial => 'Imperialne (ft / mi)';
|
||||
|
||||
@override
|
||||
String get appSettings_noAreaSelected => 'Nie zaznaczono żadnej powierzchni.';
|
||||
|
||||
@@ -1241,6 +1254,12 @@ class AppLocalizationsPl extends AppLocalizations {
|
||||
@override
|
||||
String get map_title => 'Mapa węzłów';
|
||||
|
||||
@override
|
||||
String get map_lineOfSight => 'Linia wzroku';
|
||||
|
||||
@override
|
||||
String get map_losScreenTitle => 'Linia wzroku';
|
||||
|
||||
@override
|
||||
String get map_noNodesWithLocation => 'Brak węzłów z danymi lokalizacyjnymi';
|
||||
|
||||
@@ -2721,6 +2740,116 @@ class AppLocalizationsPl extends AppLocalizations {
|
||||
@override
|
||||
String get pathTrace_clearTooltip => 'Wyczyść ścieżkę';
|
||||
|
||||
@override
|
||||
String get losSelectStartEnd => 'Wybierz węzły początkowe i końcowe dla LOS.';
|
||||
|
||||
@override
|
||||
String losRunFailed(String error) {
|
||||
return 'Sprawdzenie pola widzenia nie powiodło się: $error';
|
||||
}
|
||||
|
||||
@override
|
||||
String get losClearAllPoints => 'Wyczyść wszystkie punkty';
|
||||
|
||||
@override
|
||||
String get losRunToViewElevationProfile =>
|
||||
'Uruchom LOS, aby wyświetlić profil wysokości';
|
||||
|
||||
@override
|
||||
String get losMenuTitle => 'Menu LOS';
|
||||
|
||||
@override
|
||||
String get losMenuSubtitle =>
|
||||
'Stuknij węzły lub naciśnij i przytrzymaj mapę, aby uzyskać niestandardowe punkty';
|
||||
|
||||
@override
|
||||
String get losShowDisplayNodes => 'Pokaż węzły wyświetlające';
|
||||
|
||||
@override
|
||||
String get losCustomPoints => 'Punkty niestandardowe';
|
||||
|
||||
@override
|
||||
String losCustomPointLabel(int index) {
|
||||
return 'Niestandardowe $index';
|
||||
}
|
||||
|
||||
@override
|
||||
String get losPointA => 'Punkt A';
|
||||
|
||||
@override
|
||||
String get losPointB => 'Punkt B';
|
||||
|
||||
@override
|
||||
String losAntennaA(String value, String unit) {
|
||||
return 'Antena A: $value $unit';
|
||||
}
|
||||
|
||||
@override
|
||||
String losAntennaB(String value, String unit) {
|
||||
return 'Antena B: $value $unit';
|
||||
}
|
||||
|
||||
@override
|
||||
String get losRun => 'Uruchom LOS-a';
|
||||
|
||||
@override
|
||||
String get losNoElevationData => 'Brak danych o wysokości';
|
||||
|
||||
@override
|
||||
String losProfileClear(
|
||||
String distance,
|
||||
String distanceUnit,
|
||||
String clearance,
|
||||
String heightUnit,
|
||||
) {
|
||||
return '$distance $distanceUnit, czysty LOS, minimalny prześwit $clearance $heightUnit';
|
||||
}
|
||||
|
||||
@override
|
||||
String losProfileBlocked(
|
||||
String distance,
|
||||
String distanceUnit,
|
||||
String obstruction,
|
||||
String heightUnit,
|
||||
) {
|
||||
return '$distance $distanceUnit, zablokowane przez $obstruction $heightUnit';
|
||||
}
|
||||
|
||||
@override
|
||||
String get losStatusChecking => 'LOS: sprawdzam...';
|
||||
|
||||
@override
|
||||
String get losStatusNoData => 'LOS: brak danych';
|
||||
|
||||
@override
|
||||
String losStatusSummary(int clear, int total, int blocked, int unknown) {
|
||||
return 'LOS: $clear/$total jasne, $blocked zablokowane, $unknown nieznane';
|
||||
}
|
||||
|
||||
@override
|
||||
String get losErrorElevationUnavailable =>
|
||||
'Dane dotyczące wysokości są niedostępne dla jednej lub większej liczby próbek.';
|
||||
|
||||
@override
|
||||
String get losErrorInvalidInput =>
|
||||
'Nieprawidłowe dane punktów/wysokości do obliczenia LOS.';
|
||||
|
||||
@override
|
||||
String get losRenameCustomPoint => 'Zmień nazwę punktu niestandardowego';
|
||||
|
||||
@override
|
||||
String get losPointName => 'Nazwa punktu';
|
||||
|
||||
@override
|
||||
String get losShowPanelTooltip => 'Pokaż panel LOS';
|
||||
|
||||
@override
|
||||
String get losHidePanelTooltip => 'Ukryj panel LOS';
|
||||
|
||||
@override
|
||||
String get losElevationAttribution =>
|
||||
'Dane dotyczące wysokości: Open-Meteo (CC BY 4.0)';
|
||||
|
||||
@override
|
||||
String get contacts_pathTrace => 'Śledzenie Ścieżek';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user