Files
flyradar/src/i18n.h

368 lines
11 KiB
C++

#pragma once
#include <Arduino.h>
enum class StringId : uint8_t {
OK = 0,
CANCEL,
BACK,
BACK_ARROW,
LOADING,
ADD,
ON,
OFF,
NEVER,
SPLASH_SD_OK,
SPLASH_CONNECTING_WIFI,
SPLASH_WIFI_OK_PREFIX,
SPLASH_WIFI_FAILED,
SPLASH_GETTING_LOCATION,
SPLASH_READY,
SD_REQUIRED_LINE1,
SD_REQUIRED_LINE2,
SD_REQUIRED_LINE3,
SD_REQUIRED_HINT,
CALIB_TITLE,
CALIB_PROMPT,
CALIB_TOP_LEFT,
CALIB_TOP_RIGHT,
CALIB_BOTTOM_RIGHT,
CALIB_BOTTOM_LEFT,
CALIB_SAVED,
WIFI_SCANNING,
WIFI_NO_NETWORKS,
WIFI_SELECT,
WIFI_CONNECTED_BANG,
WIFI_CONNECTION_FAILED,
WIFI_BACK_TO_LIST_MSG,
WIFI_PASSWORD_LABEL,
WIFI_SPACE,
WIFI_CONNECT,
WIFI_BACK_TO_LIST_BTN,
WIFI_ALREADY_3,
WIFI_REMOVE_ONE_FIRST,
WIFI_CONNECTING,
WIFI_LABEL_PREFIX,
MENU_SETTINGS,
MENU_SETTINGS_PAGE2,
MENU_CALIBRATE,
MENU_DISPLAY_INVERTED,
MENU_DISPLAY_NORMAL,
MENU_MANAGE_WIFI,
MENU_LOCATION_PRESETS,
MENU_SCREEN_TIMEOUT_PREFIX,
MENU_NIGHT_DIMMING,
MENU_STATISTICS,
MENU_STATS_HISTORY,
MENU_LOGBOOK_FILES,
MENU_MORE_SETTINGS,
MENU_EMERGENCY_ALERT,
MENU_PROXIMITY_LED,
MENU_LED_HEARTBEAT,
MENU_FLIGHT_LOGBOOK,
MENU_HIDE_GROUND,
MENU_AIRLINE_FILTER,
MENU_WATCHLIST,
MENU_WATCHLIST_ALERT,
MENU_BACKUP,
MENU_RESTORE,
MENU_BACKUP_SAVED,
MENU_BACKUP_FAILED,
MENU_RESTORED,
MENU_RESTORE_FAILED,
MENU_LANGUAGE,
MENU_UNITS,
AIRLINE_FILTER_TITLE,
AIRLINE_FILTER_DESC1,
AIRLINE_FILTER_DESC2,
AIRLINE_FILTER_ADD,
AIRLINE_ADD_TITLE,
WATCHLIST_TITLE,
WATCHLIST_DESC1,
WATCHLIST_DESC2,
WATCHLIST_ADD,
WATCHLIST_ADD_TITLE,
WATCHLIST_EMPTY,
WATCHLIST_INFO_TITLE,
WATCHLIST_INFO_PARA1,
WATCHLIST_INFO_PARA2,
LOCATION_TITLE,
LOCATION_AUTO,
LOCATION_PRESET,
LOCATION_PRESET_EMPTY,
LOCATION_ADD,
LOCATION_LAT_PROMPT,
LOCATION_LON_PROMPT,
LOCATION_NEAREST_AIRPORT_PREFIX,
LOCATION_INFO_TITLE,
LOCATION_INFO_PARA1,
LOCATION_INFO_PARA2,
LOCATION_INFO_PARA3,
LOCATION_INFO_PARA4,
STATS_TITLE,
STATS_TODAY,
STATS_ALLTIME,
STATS_DAYS,
STATS_AVG,
STATS_RESET_BTN,
STATS_RESET_CONFIRM,
STATS_RESET_DONE,
STATS_UPTIME_PREFIX,
STATS_TOP_ALTITUDE_PREFIX,
STATS_HISTORY_TITLE,
STATS_HISTORY_EMPTY,
STATS_HISTORY_INFO_TITLE,
STATS_HISTORY_INFO_PARA1,
LOGFILES_TITLE,
LOGFILES_EMPTY,
LOGFILES_SHOWING_PREFIX,
LOGFILES_OF,
LOGFILES_DAYS_SUFFIX,
LOGFILES_AIRCRAFT_SUFFIX,
LOGFILES_INFO_TITLE,
LOGFILES_INFO_PARA1,
LOGFILES_INFO_PARA2,
RADAR_TAP_FOR_DETAILS,
RADAR_EMPTY_SKY_PREFIX,
DETAIL_MODEL,
DETAIL_TYPE,
DETAIL_LOADING_DOTS,
DETAIL_UNKNOWN,
DETAIL_ALT,
DETAIL_SPEED,
DETAIL_DIST,
DETAIL_HDG,
DETAIL_SEATS_EST,
DETAIL_SEATS_UNKNOWN,
DETAIL_TAP_CLOSE,
DETAIL_CLIMB,
DETAIL_DESCENT,
DETAIL_LEVEL,
DETAIL_SQUAWK,
UNITS_TITLE,
UNITS_AUTO,
UNITS_METRIC,
UNITS_IMPERIAL,
LANGUAGE_TITLE,
MENU_CATEGORY_REGION,
MENU_CATEGORY_WIFI,
MENU_CATEGORY_SYSTEM,
MENU_CATEGORY_FLIGHT,
WIFI_NETWORKS_TITLE,
WIFI_ADD_NETWORK,
WIFI_EMPTY_SLOT,
WIFI_INFO_TITLE,
WIFI_INFO_PARA1,
WIFI_INFO_PARA2,
WIFI_INFO_PARA3,
MENU_AIRCRAFT_LIST,
AIRCRAFT_LIST_TITLE,
AIRCRAFT_LIST_EMPTY,
AIRCRAFT_LIST_SORT_PREFIX,
AIRCRAFT_LIST_SORT_DISTANCE,
AIRCRAFT_LIST_SORT_ALTITUDE,
AIRCRAFT_LIST_SORT_CALLSIGN,
MENU_ABOUT,
ABOUT_DESC1,
ABOUT_DESC2,
ABOUT_VERSION_PREFIX,
MENU_BRIGHTNESS_PREFIX,
BRIGHTNESS_TITLE,
// Grosse Warn-Ueberlage beim Einschalten des Flugbuchs (Menue >
// Flugoptionen > Flugbuch), erklaert die 24h-Sicherheitsabschaltung.
MENU_LOGBOOK_WARNING_TITLE,
MENU_LOGBOOK_WARNING_BODY,
// Preset-Name beim Anlegen (optional), "Presets voll"-Hinweis beim
// Antippen der Naechster-Flughafen-Laufschrift, sowie ein zusaetzlicher
// Info-Absatz dazu (Menue > Flugoptionen > Standort-Presets > "?").
LOCATION_NAME_PROMPT,
LOCATION_NAME_SKIP,
LOCATION_PRESETS_FULL,
LOCATION_INFO_PARA5,
// Neuer, direkt im System-Menue erreichbarer Punkt "Logbuch/WebUI"
// (statt nur ueber das versteckte "?" im Logbuch-Dateien-Screen) -
// zeigt IP + Erklaerung der Weboberflaeche (Flugbuch
// ansehen/herunterladen/loeschen). Die urspruenglich hier mit
// enthaltene Screenshot-Verwaltung wurde wieder entfernt, siehe
// Entfernung von SCREENSHOT_SAVED_PREFIX/SCREENSHOT_FAILED oben - das
// Bildschirm-Auslesen (SPI-Readback) funktioniert auf diesem
// CYD-Board hardwareseitig nicht (TFT_MISO nicht angebunden).
MENU_LOGBOOK_WEBUI,
WEBUI_TITLE,
WEBUI_INFO_PARA1,
WEBUI_INFO_PARA2,
// Kleines Info-Fenster, das beim Antippen des Wetter-Icons im Header
// erscheint (siehe main.cpp/showWeatherInfo()) - erklaert, dass das
// Wetter zum aktuell aktiven Standort (bzw. aktivem Standort-Preset)
// gehoert.
WEATHER_INFO_TITLE,
WEATHER_INFO_BODY,
// Adresssuche (AddressSearchScreen) - Standort per Adresseingabe statt
// manueller Koordinaten, per kostenlosem Nominatim-Geokodierungsdienst.
// Erreichbar sowohl beim Ersteinrichten (nach der Sprachauswahl) als
// auch jederzeit ueber Standort-Presets > "+".
LOCATION_ADD_CHOICE_TITLE,
LOCATION_ADD_BY_COORDS,
LOCATION_ADD_BY_ADDRESS,
ADDRESS_SEARCH_TITLE,
ADDRESS_SEARCH_SEARCHING,
ADDRESS_SEARCH_NO_RESULTS,
ADDRESS_SEARCH_ERROR,
ADDRESS_SEARCH_CONFIRM_TITLE,
ADDRESS_SEARCH_USE_THIS,
ADDRESS_SEARCH_TRY_AGAIN,
ADDRESS_SEARCH_CANCEL,
// Grosser Hinweis-Screen beim allerersten Start (nur einmalig, nach der
// Sprachauswahl) - erklaert den Genauigkeitsvorteil eines per Adresse
// gesetzten Standorts gegenueber der automatischen IP-Standort-
// bestimmung, mit direktem Einstieg in die Adresssuche. Ueberspringbar.
FIRST_RUN_LOCATION_TITLE,
FIRST_RUN_LOCATION_BODY,
FIRST_RUN_LOCATION_SET_BTN,
FIRST_RUN_LOCATION_SKIP_BTN,
// Zusaetzlicher Info-Absatz im Standort-Presets-Screen (Menue >
// Flugoptionen > Standort-Presets > "?") - weist auf den "Per Adresse
// suchen"-Weg beim "+"-Button hin (deutlich genauer als die
// automatische IP-Standortbestimmung). Ergaenzt die knappe Erwaehnung
// in LOCATION_INFO_PARA3 um denselben anschaulichen Vergleich wie im
// Ersteinrichtungs-Screen (FIRST_RUN_LOCATION_BODY) und im README.
LOCATION_INFO_PARA6,
// Format-Hinweis unter dem Titel der Adresssuche (AddressSearchScreen)
// - ein Beispiel im lokalen Format (Strasse Hausnr., PLZ Ort), da das
// einzelne Freitextfeld sonst ohne jeden Hinweis war und Nutzer nicht
// wussten, was/in welcher Reihenfolge sie eingeben sollen.
ADDRESS_SEARCH_HINT,
// Letzter Screen der Ersteinrichtung (nach der Standort-Adresssuche,
// main.cpp) - bestaetigt den Abschluss der Einrichtung, nennt den
// SD-Karten-Ordner, in dem alle Daten liegen, und weist darauf hin,
// dass sich das WLAN ab dem naechsten Start automatisch verbindet.
FIRST_RUN_COMPLETE_TITLE,
FIRST_RUN_COMPLETE_BODY1,
FIRST_RUN_COMPLETE_BODY2,
// Hinweis mit Beispielnamen unter dem Titel der Namens-Tastatur
// (location_presets_screen.cpp::runPresetNameKeypad UND
// address_search_screen.cpp::runNameKeypad, beide spiegeln sich) -
// ohne jeden Hinweis wussten Einsteiger nicht, was fuer ein Name hier
// gemeint ist (Preset-Name wie "Zuhause", nicht z.B. ein Ort/Adresse).
LOCATION_NAME_HINT,
// Legenden-Eintrag auf dem Radar-Screen (radar_screen.cpp::drawLegend)
// fuer die blauen Quadrat-Marker der Bodenfahrzeuge - nur sichtbar,
// wenn "Bodenfahrzeuge ausblenden" AUS ist (Flugoptionen), da die
// Fahrzeuge dann als eigene Legenden-Zeile unter den drei
// Hoehen-Farbstufen erscheinen.
LEGEND_GROUND_VEHICLE,
// Neue "Sicherung & Reset"-Unterseite im System-Menue (fasst die
// bisher einzeln im System-Menue stehenden Backup/Restore-Buttons
// zusammen und ergaenzt einen dritten Punkt "Einstellungen
// zuruecksetzen" - ein kompletter Werksreset fuer Entwickler/Tester,
// der den gesamten Flightradar-Ordner von der SD-Karte loescht und
// neu startet, siehe settings_backup.cpp::factoryReset()). Titel und
// Button-Label teilen sich MENU_BACKUP_RESET, genau wie
// MENU_CATEGORY_SYSTEM sowohl fuer den Menue-Button als auch den
// Bildschirmtitel der System-Seite verwendet wird.
MENU_BACKUP_RESET,
MENU_FACTORY_RESET,
MENU_FACTORY_RESET_WARNING_BODY,
MENU_FACTORY_RESET_DELETING,
MENU_FACTORY_RESET_FAILED,
// Small, centered hint below the countdown button on the "Setup
// complete" screen (first_run_complete_screen.cpp) - makes it visible
// that tapping the button skips the 7-second countdown immediately
// instead of waiting it out.
FIRST_RUN_COMPLETE_TAP_TO_SKIP,
// Zeilenpraefix im Radar-Detailpanel (radar_screen.cpp::drawDetailPanel)
// fuer die Flugroute (Start- -> Zielflughafen, ICAO-Code), abgefragt
// ueber AircraftDetails per Rufzeichen. Faellt wie MODEL/TYPE/SQUAWK auf
// DETAIL_UNKNOWN zurueck, wenn kein Rufzeichen bekannt ist oder keine
// Route gefunden wurde.
DETAIL_ROUTE,
// Hinweiszeile ueber dem QR-Code auf dem neuen QR-Unterscreen der
// Logbuch/WebUI-Seite (webui_screen.cpp::runQrScreen) - der WEBUI_TITLE-
// String wird fuer die Kopfzeile wiederverwendet, kein eigener Titel
// noetig.
WEBUI_QR_HINT,
// Ruhebildschirm bei Inaktivitaets-Timeout (Menue > System >
// "Ruhebildschirm", siehe SettingsStore::screensaverEnabled() und
// main.cpp).
MENU_SCREENSAVER,
// OTA-Firmware-Update ueber WLAN (Menue > System > "Nach Update
// suchen", siehe menu_screen.cpp::runOtaUpdateScreen() und
// ota_update.h/.cpp).
MENU_CHECK_UPDATE,
OTA_CHECKING,
OTA_CHECK_FAILED,
OTA_UP_TO_DATE_PREFIX,
OTA_UPDATE_AVAILABLE_PREFIX,
OTA_CONFIRM_BODY,
OTA_INSTALLING_PREFIX,
OTA_UPDATE_FAILED,
OTA_UPDATE_SUCCESS,
// Erfolgs-/Fehler-Ergebnis nach Download+Flash wird jetzt als
// dauerhafter Info-Screen mit explizitem Button angezeigt (statt
// automatischem Neustart bzw. kurzer, automatisch verschwindender
// Meldung) - der Nutzer muss bei einer sicherheitsrelevanten Aktion wie
// einem Firmware-Update IMMER aktiv informiert werden und selbst
// bestaetigen, siehe menu_screen.cpp::infoScreen().
OTA_SUCCESS_BODY,
OTA_RESTART_BUTTON,
OTA_FAILED_BODY,
// Eigener Bildschirm-Timeout-Screen (Menue > System > Bildschirm-
// Timeout, siehe timeout_screen.cpp) mit Schieberegler statt des
// vorherigen Durchklickens per wiederholtem Antippen - der
// Ruhebildschirm-Umschalter (vorher eigene Zeile im System-Menue,
// MENU_SCREENSAVER) zieht mit auf diesen Screen um, da er inhaltlich
// eng mit dem Timeout zusammenhaengt und hier genug Platz fuer eine
// kurze Erklaerung ist.
TIMEOUT_SCREEN_TITLE,
TIMEOUT_SCREENSAVER_DESC,
MENU_ECO_MODE,
MENU_ROUTE_FILTER,
ROUTE_FILTER_PROMPT,
COUNT
};
namespace I18n {
constexpr uint8_t LANG_COUNT = 6;
const char* t(StringId id);
const char* languageName(uint8_t index);
}