## Summary * **What is the goal of this PR?** Fix KOSync failing with "Network error" on large/complex EPUBs, and simplify the sync navigation flow by removing the callback/result pattern. * **What changes are included?** This PR combines the approaches from #1855 and #1760 into a single, cleaner solution: **Memory fix (from #1855):** - `EpubReaderActivity` pre-computes the local KOReader position and chapter name, then explicitly releases `epub` and `section` before launching `KOReaderSyncActivity`. This frees ~65KB measured on device, giving the TLS handshake sufficient heap. The root cause was `MBEDTLS_ERR_X509_ALLOC_FAILED` (-0x2880) when a 3-cert chain consumed ~48KB during the handshake with only ~50KB available. - `KOReaderSyncActivity` no longer receives a `shared_ptr<Epub>` at construction — it lazy-loads the Epub after TLS only if remote progress is found (`ensureEpubLoaded()`). - Added `MIN_HEAP_FOR_TLS = 55000` guard in `KOReaderSyncClient` — returns `LOW_MEMORY` early if aggregate free heap is too low before attempting a TLS connection. **Navigation simplification (from #1760):** - Replaced `startActivityForResult` + callback with `activityManager.replaceActivity` / `activityManager.goToReader`. Progress is saved to `progress.bin` before the epub is released (cancel/upload paths) and in `saveProgressAndReturn` (apply remote path). The reader re-launches from the saved position naturally via `goToReader`, eliminating the need to reload the epub in a callback. - Extracted `ReaderUtils::saveProgress()` as a shared helper used by both `EpubReaderActivity` and `KOReaderSyncActivity`. - Added `STR_SAVE_PROGRESS_FAILED` to all 22 language files for the case where writing the synced position to SD fails. **Orientation fix (found during device testing):** - `EpubReaderActivity::onExit()` resets the renderer to portrait before destruction. With `replaceActivity` the reader is fully torn down before KOSync starts, so KOSync was always rendering in portrait even when reading in landscape. Fixed by calling `ReaderUtils::applyOrientation` in `KOReaderSyncActivity::onEnter()`. ## Additional Context Heap measurements on device (large EPUB with complex CSS): | Metric | Before | After | |---|---|---| | Heap before Epub release | 88,156 bytes | — | | Heap after Epub release | — | 153,892 bytes (+65,736) | | Heap at TLS handshake | ~50,000 bytes (fails) | ~116,384 bytes (passes) | | Min-free-ever during sync session | 2,600 bytes | 33,052 bytes | | TLS result | `MBEDTLS_ERR_X509_ALLOC_FAILED` | HTTP 200 | Tested on device: sync from inside a large EPUB in both portrait and landscape, cancel, apply remote progress, upload local progress. --- ### AI Usage Did you use AI tools to help write this code? _**YES**_ --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
329 lines
11 KiB
YAML
329 lines
11 KiB
YAML
_language_name: "Deutsch"
|
|
_language_code: "DE"
|
|
_order: "3"
|
|
|
|
STR_CROSSPOINT: "CrossPoint"
|
|
STR_BOOTING: "STARTEN"
|
|
STR_SLEEPING: "STANDBY"
|
|
STR_ENTERING_SLEEP: "Standby"
|
|
STR_BROWSE_FILES: "Durchsuchen"
|
|
STR_FILE_TRANSFER: "Datentransfer"
|
|
STR_SETTINGS_TITLE: "Einstellungen"
|
|
STR_CONTINUE_READING: "Weiterlesen"
|
|
STR_NO_OPEN_BOOK: "Aktuell kein Buch"
|
|
STR_START_READING: "Lesen beginnen"
|
|
STR_NO_FILES_FOUND: "Keine Dateien gefunden"
|
|
STR_SELECT_CHAPTER: "Kapitel auswählen"
|
|
STR_NO_CHAPTERS: "Keine Kapitel"
|
|
STR_END_OF_BOOK: "Buchende"
|
|
STR_EMPTY_CHAPTER: "Kapitelende"
|
|
STR_INDEXING: "Indexieren"
|
|
STR_MEMORY_ERROR: "Speicherfehler"
|
|
STR_PAGE_LOAD_ERROR: "Seitenladefehler"
|
|
STR_EMPTY_FILE: "Leere Datei"
|
|
STR_OUT_OF_BOUNDS: "Zu groß"
|
|
STR_LOADING: "Laden…"
|
|
STR_LOADING_POPUP: "Laden"
|
|
STR_WIFI_NETWORKS: "WLAN-Netzwerke"
|
|
STR_NO_NETWORKS: "Kein WLAN gefunden"
|
|
STR_NETWORKS_FOUND: "%zu WLAN-Netzwerke gefunden"
|
|
STR_SCANNING: "Suchen..."
|
|
STR_CONNECTING: "Verbinden..."
|
|
STR_CONNECTED: "Verbunden!"
|
|
STR_CONNECTION_FAILED: "Verbindungsfehler"
|
|
STR_FORGET_NETWORK: "WLAN vergessen?"
|
|
STR_SAVE_PASSWORD: "Passwort speichern?"
|
|
STR_PRESS_OK_SCAN: "OK für neue Suche"
|
|
STR_JOIN_NETWORK: "Netzwerk beitreten"
|
|
STR_CREATE_HOTSPOT: "Hotspot erstellen"
|
|
STR_JOIN_DESC: "Mit einem bestehenden WLAN verbinden"
|
|
STR_HOTSPOT_DESC: "WLAN für andere erstellen"
|
|
STR_STARTING_HOTSPOT: "Hotspot starten…"
|
|
STR_HOTSPOT_MODE: "Hotspot-Modus"
|
|
STR_CONNECT_WIFI_HINT: "Gerät mit diesem WLAN verbinden"
|
|
STR_OPEN_URL_HINT: "Diese URL im Browser öffnen"
|
|
STR_OR_HTTP_PREFIX: "oder http://"
|
|
STR_SCAN_QR_HINT: "oder QR-Code mit dem Handy scannen:"
|
|
STR_CALIBRE_WIRELESS: "Calibre Wireless"
|
|
STR_CALIBRE_WEB_URL: "OPDS URL"
|
|
STR_NETWORK_LEGEND: "* = Verschlüsselt | + = Gespeichert"
|
|
STR_MAC_ADDRESS: "MAC-Adresse:"
|
|
STR_CHECKING_WIFI: "WLAN prüfen…"
|
|
STR_ENTER_WIFI_PASSWORD: "WLAN-Passwort eingeben"
|
|
STR_TO_PREFIX: "mit "
|
|
STR_CALIBRE_RECEIVING: "Empfange:"
|
|
STR_CALIBRE_RECEIVED: "Empfangen:"
|
|
STR_CALIBRE_INSTRUCTION_1: "1) CrossPoint Reader-Plugin installieren"
|
|
STR_CALIBRE_INSTRUCTION_2: "2) Mit selbem WLAN verbinden"
|
|
STR_CALIBRE_INSTRUCTION_3: "3) In Calibre: \"An Gerät senden\""
|
|
STR_CALIBRE_INSTRUCTION_4: "Bildschirm beim Senden offenlassen"
|
|
STR_CAT_DISPLAY: "Anzeige"
|
|
STR_CAT_READER: "Lesen"
|
|
STR_CAT_CONTROLS: "Bedienung"
|
|
STR_CAT_SYSTEM: "System"
|
|
STR_SLEEP_SCREEN: "Standby-Bild"
|
|
STR_SLEEP_COVER_MODE: "Standby-Bildmodus"
|
|
STR_HIDE_BATTERY: "Batterie % ausblenden"
|
|
STR_EXTRA_SPACING: "Absatzabstand"
|
|
STR_TEXT_AA: "Schriftglättung"
|
|
STR_SHORT_PWR_BTN: "An-Taste kurz drücken"
|
|
STR_ORIENTATION: "Leseausrichtung"
|
|
STR_SIDE_BTN_LAYOUT: "Seitliche Tasten (Lesen)"
|
|
STR_LONG_PRESS_BEHAVIOR: "Verhalten bei langem Tastendruck"
|
|
STR_LONG_PRESS_BEHAVIOR_OFF: "AUS"
|
|
STR_LONG_PRESS_BEHAVIOR_SKIP: "Kapitel überspringen"
|
|
STR_LONG_PRESS_BEHAVIOR_ORIENTATION: "Ausrichtung ändern"
|
|
STR_FONT_FAMILY: "Lese-Schriftfamilie"
|
|
STR_FONT_SIZE: "Schriftgröße"
|
|
STR_LINE_SPACING: "Lese-Zeilenabstand"
|
|
STR_SCREEN_MARGIN: "Lese-Seitenränder"
|
|
STR_PARA_ALIGNMENT: "Lese-Absatzausrichtung"
|
|
STR_HYPHENATION: "Silbentrennung"
|
|
STR_TIME_TO_SLEEP: "Standby nach"
|
|
STR_REFRESH_FREQ: "Anti-Ghosting nach"
|
|
STR_KOREADER_SYNC: "KOReader-Synchr."
|
|
STR_CHECK_UPDATES: "Nach Updates suchen"
|
|
STR_LANGUAGE: "Sprache"
|
|
STR_CLEAR_READING_CACHE: "Lese-Cache leeren"
|
|
STR_USERNAME: "Benutzername"
|
|
STR_PASSWORD: "Passwort"
|
|
STR_SYNC_SERVER_URL: "Sync-Server-URL"
|
|
STR_DOCUMENT_MATCHING: "Dateizuordnung"
|
|
STR_AUTHENTICATE: "Authentifizieren"
|
|
STR_KOREADER_USERNAME: "KOReader-Benutzername"
|
|
STR_KOREADER_PASSWORD: "KOReader-Passwort"
|
|
STR_FILENAME: "Dateiname"
|
|
STR_BINARY: "Binärdatei"
|
|
STR_SET_CREDENTIALS_FIRST: "Zuerst anmelden"
|
|
STR_WIFI_CONN_FAILED: "WLAN-Verbindung fehlgeschlagen"
|
|
STR_AUTHENTICATING: "Authentifizieren…"
|
|
STR_AUTH_SUCCESS: "Erfolgreich authentifiziert!"
|
|
STR_KOREADER_AUTH: "KOReader-Auth"
|
|
STR_SYNC_READY: "KOReader-Synchronisierung bereit"
|
|
STR_AUTH_FAILED: "Authentifizierung fehlg."
|
|
STR_REGISTER: "Registrieren"
|
|
STR_REGISTERING: "Registrierung..."
|
|
STR_REGISTER_SUCCESS: "Konto erfolgreich erstellt!"
|
|
STR_REGISTER_FAILED: "Registrierung fehlgeschlagen"
|
|
STR_USERNAME_TAKEN: "Benutzername bereits vergeben"
|
|
STR_DONE: "Erledigt"
|
|
STR_CLEAR_CACHE_WARNING_1: "Alle Buch-Caches werden geleert."
|
|
STR_CLEAR_CACHE_WARNING_2: "Lesefortschritt wird gelöscht!"
|
|
STR_CLEAR_CACHE_WARNING_3: "Bücher müssen beim Öffnen"
|
|
STR_CLEAR_CACHE_WARNING_4: "neu eingelesen werden."
|
|
STR_CLEARING_CACHE: "Cache leeren…"
|
|
STR_CACHE_CLEARED: "Cache geleert"
|
|
STR_ITEMS_REMOVED: "Einträge entfernt"
|
|
STR_FAILED_LOWER: "fehlgeschlagen"
|
|
STR_CLEAR_CACHE_FAILED: "Fehler beim Cache-Leeren"
|
|
STR_CHECK_SERIAL_OUTPUT: "Serielle Ausgabe prüfen"
|
|
STR_DARK: "Dunkel"
|
|
STR_LIGHT: "Hell"
|
|
STR_CUSTOM: "Eigenes"
|
|
STR_COVER: "Umschlag"
|
|
STR_NONE_OPT: "Leer"
|
|
STR_FIT: "Anpassen"
|
|
STR_CROP: "Zuschnitt"
|
|
STR_NEVER: "Nie"
|
|
STR_IN_READER: "Beim Lesen"
|
|
STR_ALWAYS: "Immer"
|
|
STR_IGNORE: "Ignorieren"
|
|
STR_SLEEP: "Standby"
|
|
STR_PAGE_TURN: "Umblättern"
|
|
STR_PORTRAIT: "Hochformat"
|
|
STR_LANDSCAPE_CW: "Querformat rechts"
|
|
STR_INVERTED: "Invertiert"
|
|
STR_LANDSCAPE_CCW: "Querformat links"
|
|
STR_PREV_NEXT: "Zurück/Weiter"
|
|
STR_NEXT_PREV: "Weiter/Zurück"
|
|
STR_NOTO_SERIF: "Noto Serif"
|
|
STR_NOTO_SANS: "Noto Sans"
|
|
STR_OPEN_DYSLEXIC: "Open Dyslexic"
|
|
STR_SMALL: "Klein"
|
|
STR_MEDIUM: "Mittel"
|
|
STR_LARGE: "Groß"
|
|
STR_X_LARGE: "Extragroß"
|
|
STR_TIGHT: "Eng"
|
|
STR_NORMAL: "Normal"
|
|
STR_WIDE: "Breit"
|
|
STR_JUSTIFY: "Blocksatz"
|
|
STR_ALIGN_LEFT: "Links"
|
|
STR_CENTER: "Zentriert"
|
|
STR_ALIGN_RIGHT: "Rechts"
|
|
STR_MIN_1: "1 Min"
|
|
STR_MIN_5: "5 Min"
|
|
STR_MIN_10: "10 Min"
|
|
STR_MIN_15: "15 Min"
|
|
STR_MIN_30: "30 Min"
|
|
STR_PAGES_1: "1 Seite"
|
|
STR_PAGES_5: "5 Seiten"
|
|
STR_PAGES_10: "10 Seiten"
|
|
STR_PAGES_15: "15 Seiten"
|
|
STR_PAGES_30: "30 Seiten"
|
|
STR_UPDATE: "Update"
|
|
STR_CHECKING_UPDATE: "Update suchen…"
|
|
STR_NEW_UPDATE: "Neues Update verfügbar!"
|
|
STR_CURRENT_VERSION: "Aktuelle Version:"
|
|
STR_NEW_VERSION: "Neue Version:"
|
|
STR_UPDATING: "Aktualisiere…"
|
|
STR_NO_UPDATE: "Kein Update verfügbar"
|
|
STR_UPDATE_FAILED: "Updatefehler"
|
|
STR_UPDATE_COMPLETE: "Update fertig"
|
|
STR_POWER_ON_HINT: "An-Knopf lang drücken, um neuzustarten"
|
|
STR_NO_ENTRIES: "Keine Einträge"
|
|
STR_DOWNLOADING: "Herunterladen…"
|
|
STR_DOWNLOAD_FAILED: "Ladefehler"
|
|
STR_ERROR_MSG: "Fehler:"
|
|
STR_UNNAMED: "Unbenannt"
|
|
STR_NO_SERVER_URL: "Keine Server-URL konfiguriert"
|
|
STR_FETCH_FEED_FAILED: "Feedfehler"
|
|
STR_PARSE_FEED_FAILED: "Feed-Format ungültig"
|
|
STR_NETWORK_PREFIX: "Netzwerk:"
|
|
STR_IP_ADDRESS_PREFIX: "IP-Adresse:"
|
|
STR_ERROR_GENERAL_FAILURE: "Fehler: Allgemeiner Fehler"
|
|
STR_ERROR_NETWORK_NOT_FOUND: "Fehler: Kein Netzwerk"
|
|
STR_ERROR_CONNECTION_TIMEOUT: "Fehler: Zeitüberschreitung"
|
|
STR_SD_CARD: "SD-Karte"
|
|
STR_BACK: "« Zurück"
|
|
STR_EXIT: "« Verlassen"
|
|
STR_HOME: "« Start"
|
|
STR_SELECT: "Auswahl"
|
|
STR_SELECTED: "Ausgewählt"
|
|
STR_TOGGLE: "Ändern"
|
|
STR_CONFIRM: "Bestätigen"
|
|
STR_CANCEL: "Abbrechen"
|
|
STR_CONNECT: "Verbinden"
|
|
STR_OPEN: "Öffnen"
|
|
STR_DOWNLOAD: "Herunterladen"
|
|
STR_RETRY: "Wiederh."
|
|
STR_YES: "Ja"
|
|
STR_NO: "Nein"
|
|
STR_SHOW: "Zeigen"
|
|
STR_HIDE: "Ausblenden"
|
|
STR_STATE_ON: "An"
|
|
STR_STATE_OFF: "Aus"
|
|
STR_NOT_SET: "Leer"
|
|
STR_DIR_LEFT: "Links"
|
|
STR_DIR_RIGHT: "Rechts"
|
|
STR_DIR_UP: "Hoch"
|
|
STR_DIR_DOWN: "Runter"
|
|
STR_OK_BUTTON: "OK"
|
|
STR_SLEEP_COVER_FILTER: "Standby-Coverfilter"
|
|
STR_FILTER_CONTRAST: "Kontrast"
|
|
STR_CUSTOMISE_STATUS_BAR: "Statusleiste anpassen"
|
|
STR_CHAPTER_PAGE_COUNT: "Kapitel-Seitenanzahl"
|
|
STR_BOOK_PROGRESS_PERCENTAGE: "Buchfortschritt in %"
|
|
STR_PROGRESS_BAR: "Fortschrittsbalken"
|
|
STR_PROGRESS_BAR_THICKNESS: "Balkenstärke"
|
|
STR_PROGRESS_BAR_THIN: "Dünn"
|
|
STR_PROGRESS_BAR_MEDIUM: "Mittel"
|
|
STR_PROGRESS_BAR_THICK: "Dick"
|
|
STR_BOOK: "Buch"
|
|
STR_CHAPTER: "Kapitel"
|
|
STR_EXAMPLE_CHAPTER: "Kapitel 21"
|
|
STR_EXAMPLE_BOOK: "Buchtitel"
|
|
STR_PREVIEW: "Vorschau"
|
|
STR_TITLE: "Titel"
|
|
STR_BATTERY: "Batterie"
|
|
STR_UI_THEME: "System-Design"
|
|
STR_THEME_CLASSIC: "Klassisch"
|
|
STR_THEME_LYRA: "Lyra"
|
|
STR_THEME_ROUNDEDRAFF: "RoundedRaff"
|
|
STR_THEME_LYRA_EXTENDED: "Lyra Extended"
|
|
STR_SUNLIGHT_FADING_FIX: "Anti-Verblassen"
|
|
STR_REMAP_FRONT_BUTTONS: "Vordere Tasten belegen"
|
|
STR_OPDS_BROWSER: "OPDS-Browser"
|
|
STR_COVER_CUSTOM: "Umschlag + Eigenes"
|
|
STR_MENU_RECENT_BOOKS: "Zuletzt gelesen"
|
|
STR_NO_RECENT_BOOKS: "Keine Bücher"
|
|
STR_CALIBRE_DESC: "Calibre-Übertragung (WLAN)"
|
|
STR_FORGET_AND_REMOVE: "WLAN entfernen & Passwort löschen?"
|
|
STR_FORGET_BUTTON: "Entfernen"
|
|
STR_CALIBRE_STARTING: "Calibre starten…"
|
|
STR_CALIBRE_SETUP: "Installation"
|
|
STR_CALIBRE_STATUS: "Status"
|
|
STR_CLEAR_BUTTON: "Leeren"
|
|
STR_DEFAULT_VALUE: "Standard"
|
|
STR_REMAP_PROMPT: "Entsprechende Vordertaste drücken"
|
|
STR_UNASSIGNED: "Leer"
|
|
STR_ALREADY_ASSIGNED: "Bereits zugeordnet"
|
|
STR_REMAP_RESET_HINT: "Seitentaste hoch: Standard"
|
|
STR_REMAP_CANCEL_HINT: "Seitentaste runter: Abbrechen"
|
|
STR_HW_BACK_LABEL: "Zurück (1. Taste)"
|
|
STR_HW_CONFIRM_LABEL: "Bestätigen (2. Taste)"
|
|
STR_HW_LEFT_LABEL: "Links (3. Taste)"
|
|
STR_HW_RIGHT_LABEL: "Rechts (4. Taste)"
|
|
STR_GO_TO_PERCENT: "Gehe zu %"
|
|
STR_GO_HOME_BUTTON: "Zum Anfang"
|
|
STR_SYNC_PROGRESS: "Fortschritt synchronisieren"
|
|
STR_DELETE_CACHE: "Buch-Cache leeren"
|
|
STR_DISPLAY_QR: "Seite als QR anzeigen"
|
|
STR_DELETE: "Löschen"
|
|
STR_REMOVE: "Entfernen"
|
|
STR_CHAPTER_PREFIX: "Kapitel:"
|
|
STR_PAGES_SEPARATOR: " Seiten | "
|
|
STR_BOOK_PREFIX: "Buch: "
|
|
STR_CALIBRE_URL_HINT: "Calibre: URL um /opds ergänzen"
|
|
STR_PERCENT_STEP_HINT: "links/rechts: 1% hoch/runter: 10%"
|
|
STR_SYNCING_TIME: "Zeit synchronisieren…"
|
|
STR_CALC_HASH: "Dokument-Hash berechnen…"
|
|
STR_HASH_FAILED: "Dokument-Hash fehlgeschlagen"
|
|
STR_FETCH_PROGRESS: "Externen Fortschritt abrufen..."
|
|
STR_UPLOAD_PROGRESS: "Fortschritt hochladen…"
|
|
STR_NO_CREDENTIALS_MSG: "Zugangsdaten fehlen"
|
|
STR_KOREADER_SETUP_HINT: "KOReader-Konto unter Einst. anlegen"
|
|
STR_PROGRESS_FOUND: "Gefunden!"
|
|
STR_REMOTE_LABEL: "Extern:"
|
|
STR_LOCAL_LABEL: "Lokal:"
|
|
STR_PAGE_OVERALL_FORMAT: " Seite %d, %.2f%% insgesamt"
|
|
STR_PAGE_TOTAL_OVERALL_FORMAT: " Seite %d/%d, %.2f%% insgesamt"
|
|
STR_DEVICE_FROM_FORMAT: " Von: %s"
|
|
STR_APPLY_REMOTE: "Externen Fortschritt übernehmen"
|
|
STR_UPLOAD_LOCAL: "Lokalen Fortschritt hochladen"
|
|
STR_NO_REMOTE_MSG: "Kein externer Fortschritt"
|
|
STR_UPLOAD_PROMPT: "Aktuelle Position hochladen?"
|
|
STR_UPLOAD_SUCCESS: "Hochgeladen!"
|
|
STR_SYNC_FAILED_MSG: "Fehlgeschlagen"
|
|
STR_SAVE_PROGRESS_FAILED: "Fortschritt konnte nicht gespeichert werden"
|
|
STR_SECTION_PREFIX: "Abschnitt"
|
|
STR_UPLOAD: "Hochladen"
|
|
STR_BOOK_S_STYLE: "Buch-Stil"
|
|
STR_EMBEDDED_STYLE: "Eingebetteter Stil"
|
|
STR_OPDS_SERVER_URL: "OPDS-Server-URL"
|
|
STR_SCREENSHOT_BUTTON: "Screenshot aufnehmen"
|
|
STR_FOOTNOTES: "Fußnoten"
|
|
STR_NO_FOOTNOTES: "Keine Fußnoten auf dieser Seite"
|
|
STR_LINK: "[Link]"
|
|
STR_AUTO_TURN_ENABLED: "Auto-Umblättern aktiv: "
|
|
STR_AUTO_TURN_PAGES_PER_MIN: "Auto-Umblättern (Seiten/Min.)"
|
|
STR_IMAGES: "Bilder"
|
|
STR_IMAGES_DISPLAY: "Darstellung"
|
|
STR_IMAGES_PLACEHOLDER: "Platzhalter"
|
|
STR_IMAGES_SUPPRESS: "Unterdrücken"
|
|
STR_SHOW_HIDDEN_FILES: "Versteckte Dateien anzeigen"
|
|
STR_PAGE_OVERLAY: "Seiten-Overlay"
|
|
STR_RECENTS: "Zuletzt"
|
|
STR_MAPPING_REMOTE: "Externe Position zuordnen..."
|
|
STR_MAPPING_LOCAL: "Lokale Position berechnen..."
|
|
STR_INFO: "Info"
|
|
STR_AUTHOR: "Autor"
|
|
STR_SERIES: "Reihe"
|
|
STR_FILE_SIZE: "Größe"
|
|
STR_SLEEP_COVER_OVERLAY: "Standby-Info-Overlay"
|
|
STR_SYSTEM_INFO: "Systeminformationen"
|
|
STR_LOAD_XTC_FAILED: "XTC-Datei konnte nicht geladen werden"
|
|
STR_LOAD_EPUB_FAILED: "EPUB-Datei konnte nicht geladen werden"
|
|
STR_FW_VERSION: "FW-Version"
|
|
STR_CHIP: "Chip"
|
|
STR_CPU: "CPU"
|
|
STR_MHZ: "MHz"
|
|
STR_FREE_RAM: "Freier RAM"
|
|
STR_MIN_FREE: "Min. frei"
|
|
STR_MAX_BLOCK: "Max. Block"
|
|
STR_FLASH_USED: "Flash belegt"
|
|
STR_UPTIME: "Laufzeit"
|
|
STR_CHARGING: "Lädt"
|
|
STR_GATHERING_DATA: "Daten werden gesammelt..."
|
|
STR_READING: "Lese..."
|
|
STR_TILT_PAGE_TURN: "Neigung zum Blättern"
|