2026-06-03 14:25:20 +02:00
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Language names — intentionally NOT translated so they always read in their own language -->
<string name= "lang_english" > English</string>
<string name= "lang_german" > Deutsch</string>
<!-- App -->
<string name= "app_subtitle" > V2X Begleiter — Phase 02</string>
<!-- Navigation -->
<string name= "nav_dashboard" > Dashboard</string>
<string name= "nav_sensors" > Sensoren</string>
<string name= "nav_record" > Messsitzung</string>
<string name= "nav_log" > Messsitzungen</string>
<string name= "nav_v2x" > V2X</string>
<string name= "nav_settings" > Einstellungen</string>
<string name= "nav_connection" > Verbindung</string>
<!-- Dashboard -->
<string name= "dash_gnss" > GNSS</string>
<string name= "dash_imu" > IMU</string>
<string name= "dash_obu_connection" > OBU-Verbindung</string>
<string name= "dash_acquiring_fix" > GPS-Signal wird erfasst…</string>
<string name= "dash_permission_required" > Berechtigung erforderlich</string>
<string name= "dash_tap_to_connect" > V2X-Tab öffnen zum Verbinden</string>
<string name= "dash_connected" > Verbunden</string>
<string name= "dash_mqtt_connected" > MQTT verbunden</string>
<string name= "dash_mqtt_connecting" > Verbindung zum Broker…</string>
<string name= "dash_mqtt_error" > Broker nicht erreichbar — V2X-Einstellungen prüfen</string>
<string name= "dash_recording" > Aufnahme</string>
<string name= "dash_samples" > Messwerte</string>
2026-08-04 17:58:07 +02:00
<string name= "dash_start_driving_session" > Fahrsitzung starten</string>
2026-06-03 14:25:20 +02:00
<string name= "dash_initialising" > Wird initialisiert…</string>
<string name= "stat_pressure" > Luftdruck</string>
<string name= "stat_altitude" > Höhe</string>
<string name= "stat_heading" > Richtung</string>
<string name= "stat_accuracy" > Genauigkeit</string>
<!-- Sensor Screen -->
<string name= "sensor_monitor_title" > Sensormonitor</string>
<string name= "sensor_gnss" > Telefon-GNSS</string>
<string name= "sensor_accel" > Beschleunigungssensor</string>
<string name= "sensor_gyro" > Gyroskop</string>
<string name= "sensor_magnet" > Magnetometer</string>
<string name= "sensor_baro" > Barometer</string>
<string name= "sensor_latitude" > Breitengrad</string>
<string name= "sensor_longitude" > Längengrad</string>
<string name= "sensor_altitude" > Höhe</string>
<string name= "sensor_speed" > Geschwindigkeit</string>
<string name= "sensor_heading" > Richtung</string>
<string name= "sensor_accuracy" > Genauigkeit</string>
<string name= "sensor_pressure" > Luftdruck</string>
<string name= "sensor_est_altitude" > Geschätzte Höhe</string>
<string name= "sensor_waiting" > Warte auf GPS-Signal…</string>
<string name= "sensor_initialising" > Wird initialisiert…</string>
<string name= "sensor_not_present" > Sensor nicht verfügbar</string>
<!-- Connection Setup -->
<string name= "conn_title" > Verbindungseinrichtung</string>
<string name= "conn_desc" > Verbindung zur micrOBU-Hardware über Bluetooth (primär) oder USB-C (Fallback).</string>
<string name= "conn_phase2_desc" > USB-C-Tethering ist der primäre Transport in Phase 02. OBU anschließen und Verbinden tippen.</string>
<string name= "conn_bluetooth" > Bluetooth</string>
<string name= "conn_bluetooth_phase3" > Bluetooth</string>
<string name= "conn_bluetooth_phase3_desc" > Bluetooth-Verbindung ist für Phase 03 geplant und noch nicht implementiert.</string>
2026-08-04 17:58:07 +02:00
<string name= "conn_esp32_title" > ESP32-C5 (USB Seriell)</string>
<string name= "conn_esp32_phase3_desc" > Die USB-Seriell-Verbindung zum ESP32-C5 ist für Phase 03 vorgesehen, aber noch nicht funktionsfähig — dafür muss zuerst das ESP32-Firmware-Protokoll nach Kotlin übersetzt werden.</string>
2026-08-10 11:38:01 +02:00
<string name= "conn_esp32_state_disconnected" > Nicht verbunden — ESP32-C5 an den nativen USB-C-Port anschließen und Verbinden antippen.</string>
<string name= "conn_esp32_state_device_attached" > Gerät erkannt, wird geöffnet…</string>
<string name= "conn_esp32_state_permission_requested" > Warte auf USB-Berechtigung…</string>
<string name= "conn_esp32_state_connected" > Verbunden</string>
<string name= "conn_esp32_state_error" > Verbindungsfehler — Kabel und nativen USB-C-Port prüfen und erneut versuchen.</string>
<string name= "conn_esp32_connect" > Mit ESP32-C5 verbinden</string>
2026-06-03 14:25:20 +02:00
<string name= "conn_scan" > Geräte suchen</string>
<string name= "conn_scanning" > Suche läuft…</string>
<string name= "conn_usb_title" > USB-C (Primär)</string>
<string name= "conn_usb_stub" > Über USB-C verbinden (noch nicht implementiert)</string>
<string name= "conn_usb_cable_ok" > Kabel erkannt</string>
<string name= "conn_usb_cable_missing" > Kein Kabel</string>
<string name= "conn_usb_obu_ip" > OBU-IP</string>
<string name= "conn_usb_detecting" > Wird erkannt…</string>
<string name= "conn_usb_mode" > IP-Quelle</string>
<string name= "conn_usb_auto" > Automatisch erkannt</string>
<string name= "conn_usb_manual" > Manuell</string>
<string name= "conn_usb_no_cable_hint" > ⚠ USB-C-Kabel anschließen, oder Auto-Erkennung in Einstellungen → Verbindung deaktivieren.</string>
<string name= "conn_connect" > Verbinden</string>
<string name= "conn_connect_mqtt" > Mit OBU verbinden</string>
<string name= "conn_disconnect" > Trennen</string>
<string name= "conn_selected" > Ausgewählt</string>
<string name= "conn_connected_stub" > Verbunden (Stub)</string>
<string name= "conn_stub_warning" > ⚠ Bluetooth noch nicht implementiert. Dieser Bildschirm zeigt das Ziel-UI-Layout.</string>
<!-- Recording -->
<string name= "rec_title" > Messsitzung</string>
<string name= "rec_ready" > Bereit zur Aufnahme</string>
<string name= "rec_samples_captured" > %1$d Messwerte erfasst</string>
<string name= "rec_active_streams" > Aktive Datenströme</string>
<string name= "rec_button_stop" > STOPP</string>
<string name= "rec_button_rec" > REC</string>
<string name= "stream_gnss" > Telefon-GNSS</string>
<string name= "stream_accel" > Beschleunigungssensor</string>
<string name= "stream_gyro" > Gyroskop</string>
<string name= "stream_magnet" > Magnetometer</string>
<string name= "stream_baro" > Barometer</string>
<string name= "stream_obu" > OBU / MQTT</string>
<!-- Session Log -->
<string name= "log_title" > Messsitzungen</string>
<string name= "log_stored_one" > %1$d Sitzung auf dem Gerät gespeichert</string>
<string name= "log_stored_other" > %1$d Sitzungen auf dem Gerät gespeichert</string>
<string name= "log_session_number" > Sitzung #%1$d</string>
<string name= "log_share_cd" > CSV teilen</string>
<string name= "log_save_cd" > Auf Gerät speichern</string>
<string name= "log_delete_cd" > Sitzung löschen</string>
<string name= "log_empty_title" > Noch keine Sitzungen</string>
<string name= "log_empty_desc" > Gehe zu Aufnahme und starte eine Sitzung</string>
<string name= "log_delete_dialog_title" > Sitzung löschen?</string>
<string name= "log_delete_dialog_text" > Die am %1$s aufgezeichnete Sitzung wird dauerhaft vom Gerät entfernt.</string>
<string name= "log_delete_confirm" > Löschen</string>
<string name= "log_cancel" > Abbrechen</string>
<string name= "log_export_chooser" > Sitzung exportieren</string>
<!-- GNSS bottom sheet & map -->
<string name= "gnss_sheet_title" > GNSS-Standort</string>
<string name= "gnss_open_maps" > In Maps-App öffnen</string>
<string name= "gnss_open_maps_sub" > Öffnet Ihre bevorzugte Karten-App</string>
<string name= "gnss_view_inapp" > In App anzeigen</string>
<string name= "gnss_view_inapp_sub" > Aktuellen Standort auf einer In-App-Karte anzeigen</string>
<string name= "gnss_no_fix" > Noch kein GPS-Signal — gehen Sie ins Freie</string>
<string name= "map_title" > Standortkarte</string>
<string name= "map_location_label" > Aktueller Standort</string>
2026-08-04 17:58:07 +02:00
<string name= "v2x_map_remote_count" > %1$d erfasste externe Verkehrsteilnehmer</string>
<string name= "v2x_map_own_label" > Eigen (Ego)</string>
<string name= "v2x_map_remote_plain" > Extern #%1$d</string>
<string name= "v2x_map_remote_info" > Extern #%1$d · Info</string>
<string name= "v2x_map_remote_awareness" > Extern #%1$d · Aufmerksamkeit</string>
<string name= "v2x_map_remote_warning" > Extern #%1$d · Warnung</string>
2026-06-03 14:25:20 +02:00
<!-- Settings -->
<string name= "settings_title" > Einstellungen</string>
<string name= "settings_language" > Sprache</string>
<string name= "settings_appearance" > Darstellung</string>
<string name= "settings_dark_theme" > Dunkles Design</string>
<string name= "settings_sensors" > Datenströme</string>
<string name= "settings_gnss" > Telefon-GNSS</string>
<string name= "settings_accel" > Beschleunigungssensor</string>
<string name= "settings_gyro" > Gyroskop</string>
<string name= "settings_magnet" > Magnetometer</string>
<string name= "settings_baro" > Barometer</string>
<string name= "settings_units" > Einheiten</string>
<string name= "settings_metric" > Metrisch (m, km/h, hPa)</string>
<string name= "settings_mqtt_section" > MQTT-Broker</string>
<string name= "settings_broker_ip" > Broker-IP</string>
<string name= "settings_port" > Port</string>
<string name= "settings_username" > Benutzername</string>
<string name= "settings_password" > Passwort</string>
<string name= "settings_optional" > optional</string>
<string name= "settings_show" > Anzeigen</string>
<string name= "settings_hide" > Ausblenden</string>
<string name= "settings_developer" > Entwickler</string>
<string name= "settings_dev_mode" > Entwicklermodus</string>
<string name= "settings_wifi" > WLAN-OBU-Verbindung</string>
<string name= "settings_wifi_val" > Nur Entwicklermodus — noch nicht implementiert</string>
<string name= "settings_about" > Über</string>
<string name= "settings_app_version" > App-Version</string>
2026-08-11 14:50:35 +02:00
<string name= "settings_app_version_val" > 0.5.0 (Phase 03 — ESP32-C5-Seriellverbindung + CAM vom Smartphone)</string>
2026-06-03 14:25:20 +02:00
<string name= "settings_connection" > Verbindung</string>
<string name= "settings_usb_auto_detect" > OBU per USB-C automatisch erkennen</string>
<string name= "settings_usb_manual_ip" > OBU-IP (manuell)</string>
2026-08-04 17:58:07 +02:00
<string name= "settings_obu_hardware" > OBU-Hardware</string>
<string name= "settings_obu_hardware_cit_one" > CiT One</string>
<string name= "settings_obu_hardware_esp32" > ESP32-C5</string>
2026-08-10 11:38:01 +02:00
<string name= "settings_obu_hardware_esp32_note" > Der ESP32-C5 arbeitet als „dummer" Transceiver: CAM wird auf dem Smartphone erstellt und kodiert, über USB-Seriell an den ESP32 gesendet und über ITS-G5 gesendet. Auf diesem Pfad gibt es keinen MQTT-Broker und keine DENM-Use-Case-Engine — siehe den CAM-Pinger im V2X-Monitor für ein manuelles Testwerkzeug.</string>
2026-06-03 14:25:20 +02:00
<string name= "settings_usb_transport" > Aktiver Transport</string>
<string name= "settings_transport_usbc" > USB-C</string>
<string name= "settings_transport_wifi" > WLAN</string>
<string name= "settings_save_broker" > Broker-Einstellungen speichern</string>
<!-- MQTT Topic Viewer -->
<string name= "mqtt_viewer_title" > V2X-Monitor</string>
<string name= "mqtt_connect" > Verbinden</string>
<string name= "mqtt_disconnect" > Trennen</string>
<string name= "mqtt_auto_scroll" > Automatisch scrollen</string>
<string name= "mqtt_no_topics" > Noch keine Nachrichten</string>
2026-08-04 17:58:07 +02:00
<string name= "mqtt_view_list" > Liste</string>
<string name= "mqtt_view_map" > Karte</string>
2026-06-03 14:25:20 +02:00
<string name= "mqtt_no_topics_hint" > Mit der OBU verbinden und auf V2X-Verkehr warten</string>
<string name= "mqtt_no_messages" > Noch keine Nachrichten zu diesem Thema</string>
2026-07-02 15:04:34 +02:00
<!-- DENM TX — nur manueller Antennen-/RSU-Reichweitentest, nicht Use-Case-gesteuert -->
2026-06-03 14:25:20 +02:00
<string name= "mqtt_last_tx" > Zuletzt gesendete Nutzlast:</string>
2026-07-02 15:04:34 +02:00
<string name= "mqtt_denm_tx_title" > DENM-Übertragung (manueller Test)</string>
2026-06-03 14:25:20 +02:00
<string name= "mqtt_send_denm" > Test-DENM senden</string>
<string name= "mqtt_stop_denm" > DENM stoppen</string>
<string name= "mqtt_denm_use_case_desc" > Liegengebliebenes Fahrzeug (causeCode 94)</string>
<string name= "mqtt_denm_not_connected" > Mit OBU verbinden, um DENM-Auslösung zu aktivieren</string>
<string name= "mqtt_denm_active" > DENM aktiv — OBU sendet über ITS-G5</string>
2026-07-02 15:04:34 +02:00
<string name= "mqtt_denm_hint" > Manueller Antennen-/RSU-Reichweitentest — sendet uca-denmctrl (retained) an v2x-uca/input/denmtrg. Wird nicht durch erkannte Ereignisse oder Use-Case-Alarme ausgelöst.</string>
2026-06-03 14:25:20 +02:00
<string name= "mqtt_denm_show" > Letztes TX anzeigen</string>
<string name= "mqtt_denm_hide" > Ausblenden</string>
2026-08-10 11:38:01 +02:00
<!-- CAM-Pinger — nur ESP32-C5, manueller Bank-Test, Gegenstück zur DENM-TX-Karte oben -->
<string name= "mqtt_cam_pinger_title" > CAM-Pinger (manueller Test)</string>
2026-08-10 14:09:18 +02:00
<string name= "mqtt_cam_pinger_desc" > 1-Hz-CAM-Ping aus Live-GNSS- und IMU-Daten — prüft die serielle Verbindung und den ESP32-Funkpfad ohne Fahrtaufzeichnung.</string>
<string name= "mqtt_cam_pinger_no_fix" > Warte auf GNSS-Fix — noch nichts gesendet</string>
<!-- Empfangene CAMs (ESP32-C5-Pfad) -->
<string name= "v2x_cam_rx_count" > %1$d Station(en) in Reichweite — jeweils neueste CAM</string>
<string name= "v2x_cam_rx_none" > Keine CAMs empfangen</string>
<string name= "v2x_cam_rx_none_hint" > Dekodierte CAMs benachbarter Stationen erscheinen hier, sobald sie über die serielle Verbindung eintreffen.</string>
<string name= "v2x_cam_rx_station" > Station %1$d · %2$s</string>
<string name= "v2x_cam_rx_kinematics" > %1$.1f km/h · Kurs %2$.0f°</string>
<string name= "v2x_cam_rx_distance" > %1$.0f m</string>
<string name= "v2x_cam_rx_distance_unknown" > — m</string>
<!-- DENM-Kartenmarker -->
<string name= "v2x_map_denm_labeled" > Gefahr: Ursache %1$d/%2$d (Station %3$d)</string>
<string name= "v2x_map_denm_plain" > Gefahr von Station %1$d</string>
<!-- ETSI-Stationstypen -->
<string name= "station_type_pedestrian" > Fußgänger</string>
<string name= "station_type_cyclist" > Radfahrer</string>
<string name= "station_type_car" > Pkw</string>
<string name= "station_type_bus" > Bus</string>
<string name= "station_type_truck" > Lkw</string>
<string name= "station_type_rsu" > Straßenseiteneinheit</string>
<string name= "station_type_other" > Typ %1$d</string>
2026-08-10 11:38:01 +02:00
<string name= "mqtt_cam_pinger_not_connected" > ESP32-C5 verbinden, um den CAM-Pinger zu aktivieren</string>
<string name= "mqtt_cam_pinger_active" > Sendet — 1 CAM/s über die serielle Verbindung</string>
<string name= "mqtt_cam_pinger_sent_count" > Gesendet: %1$d</string>
<string name= "mqtt_cam_pinger_send_failures" > Schreibfehler: %1$d in Folge — CAMs erreichen den ESP32 nicht</string>
<string name= "mqtt_cam_pinger_fw_counters" > ESP32: TX-Fehler %1$d · zu groß %2$d · CRC-Fehler %3$d</string>
<string name= "mqtt_start_pinger" > Pinger starten</string>
<string name= "mqtt_stop_pinger" > Pinger stoppen</string>
2026-07-02 15:04:34 +02:00
<!-- CAM-basiertes Use-Case-Alarm-Panel -->
<string name= "mqtt_usecase_panel_title" > CAM-Use-Case-Alarme</string>
<string name= "mqtt_usecase_not_connected" > Mit OBU verbinden, um CAM-basierte Use Cases auszuwerten</string>
<string name= "mqtt_usecase_none_active" > Keine aktiven Use-Case-Alarme</string>
<string name= "mqtt_usecase_detail" > Station %1$d · %2$.0f m · Annäherung %3$.1f m/s · TTC %4$.1f s · %5$s</string>
<!-- Verständliche Use-Case-Beschreibungen -->
<string name= "usecase_narrative_ima_b" > Kreuzendes Fahrzeug — %1$.0f s bis Konflikt</string>
<string name= "usecase_narrative_ima_s" > Stehendes Fahrzeug könnte losfahren — %1$.0f s</string>
<string name= "usecase_narrative_rtw_b" > Auto biegt rechts auf dich zu — %1$.0f s</string>
<string name= "usecase_narrative_ltw_b" > Auto biegt links auf dich zu — %1$.0f s</string>
<string name= "usecase_narrative_smva_bcw_b" > Schnell nahendes Fahrzeug — %1$.0f s</string>
<!-- Einstellungen > Use Case Alerts -->
<string name= "settings_usecase_alerts" > Use Case Alerts</string>
<string name= "settings_usecase_alerts_desc" > Ein-/Ausschalten pro Use Case für das CAM-basierte Use-Case-Alarm-Panel im V2X-Monitor. Alle Use Cases sind CAM-only — keiner löst ein DENM aus.</string>
<string name= "settings_usecase_alert_levels_title" > Alarmstufen-Schwellenwerte (nur lesend)</string>
<string name= "settings_usecase_level_warning" > Warning</string>
<string name= "settings_usecase_level_awareness" > Awareness</string>
<string name= "settings_usecase_level_info" > Info</string>
<string name= "settings_usecase_ttc_le" > ≤ %1$.0f s bis Konflikt</string>
2026-06-03 14:25:20 +02:00
<!-- Dashboard transport -->
<string name= "dash_transport_usbc" > USB-C</string>
2026-08-04 17:58:07 +02:00
<string name= "dash_transport_usb_serial" > USB seriell</string>
2026-06-03 14:25:20 +02:00
<string name= "dash_transport_wifi" > WLAN</string>
<string name= "dash_transport_bt" > BT</string>
<!-- OBU stationType warning -->
<string name= "dash_station_type_warning" > ⚠ OBU-stationType ≠ 2 (Radfahrer) — VRU-Erkennung an ausgerüsteten Kreuzungen ggf. beeinträchtigt</string>
<string name= "settings_platform" > Plattform</string>
<string name= "settings_platform_val" > Android / Kotlin / Jetpack Compose</string>
<string name= "settings_project" > Projekt</string>
2026-08-11 14:50:35 +02:00
<string name= "settings_project_val" > MicrOBU — HAW Hamburg & consider it GmbH</string>
2026-06-03 14:25:20 +02:00
<!-- Phase A: Trips (bottom nav) -->
<string name= "nav_trips" > Fahrten</string>
<!-- Phase A: Recording screen event counters -->
<string name= "rec_events_detected" > Erkannte Ereignisse</string>
<string name= "rec_event_braking" > Bremsen</string>
<string name= "rec_event_turning" > Abbiegen</string>
<string name= "rec_event_stopping" > Anhalten</string>
<string name= "rec_stream_event_detection" > Ereigniserkennung</string>
<string name= "rec_open_session_log" > CSV-Sitzungsprotokoll</string>
<!-- Phase A: Trip History screen -->
<string name= "trip_history_title" > Fahrtenverlauf</string>
<string name= "trip_history_count_one" > %1$d Fahrt auf dem Gerät gespeichert</string>
<string name= "trip_history_count_other" > %1$d Fahrten auf dem Gerät gespeichert</string>
<string name= "trip_number" > Fahrt #%1$d</string>
<string name= "trip_delete_title" > Fahrt löschen?</string>
<string name= "trip_delete_text" > Die am %1$s aufgezeichnete Fahrt wird dauerhaft vom Gerät entfernt.</string>
<string name= "trip_empty_title" > Noch keine Fahrten</string>
<string name= "trip_empty_desc" > Gehe zu Aufnahme und starte eine Sitzung</string>
<!-- Phase A: Trip Review screen -->
<string name= "trip_review_title" > Fahrtanalyse</string>
</resources>