#pragma once #include // THIS FILE IS AUTO-GENERATED BY gen_i18n.py. DO NOT EDIT. // Forward declaration for string arrays namespace i18n_strings { extern const char* const STRINGS_EN[]; extern const char* const STRINGS_ES[]; extern const char* const STRINGS_FR[]; extern const char* const STRINGS_DE[]; extern const char* const STRINGS_CZ[]; extern const char* const STRINGS_PO[]; extern const char* const STRINGS_RU[]; extern const char* const STRINGS_SV[]; extern const char* const STRINGS_RO[]; } // namespace i18n_strings // Language enum enum class Language : uint8_t { ENGLISH = 0, SPANISH = 1, FRENCH = 2, GERMAN = 3, CZECH = 4, PORTUGUESE = 5, RUSSIAN = 6, SWEDISH = 7, ROMANIAN = 8, _COUNT }; // Language display names (defined in I18nStrings.cpp) extern const char* const LANGUAGE_NAMES[]; // Character sets for each language (defined in I18nStrings.cpp) extern const char* const CHARACTER_SETS[]; // String IDs enum class StrId : uint16_t { STR_CROSSPOINT, STR_BOOTING, STR_SLEEPING, STR_ENTERING_SLEEP, STR_BROWSE_FILES, STR_FILE_TRANSFER, STR_SETTINGS_TITLE, STR_CALIBRE_LIBRARY, STR_CONTINUE_READING, STR_NO_OPEN_BOOK, STR_START_READING, STR_BOOKS, STR_NO_BOOKS_FOUND, STR_SELECT_CHAPTER, STR_NO_CHAPTERS, STR_END_OF_BOOK, STR_EMPTY_CHAPTER, STR_INDEXING, STR_MEMORY_ERROR, STR_PAGE_LOAD_ERROR, STR_EMPTY_FILE, STR_OUT_OF_BOUNDS, STR_LOADING, STR_LOADING_POPUP, STR_LOAD_XTC_FAILED, STR_LOAD_TXT_FAILED, STR_LOAD_EPUB_FAILED, STR_SD_CARD_ERROR, STR_WIFI_NETWORKS, STR_NO_NETWORKS, STR_NETWORKS_FOUND, STR_SCANNING, STR_CONNECTING, STR_CONNECTED, STR_CONNECTION_FAILED, STR_CONNECTION_TIMEOUT, STR_FORGET_NETWORK, STR_SAVE_PASSWORD, STR_REMOVE_PASSWORD, STR_PRESS_OK_SCAN, STR_PRESS_ANY_CONTINUE, STR_SELECT_HINT, STR_HOW_CONNECT, STR_JOIN_NETWORK, STR_CREATE_HOTSPOT, STR_JOIN_DESC, STR_HOTSPOT_DESC, STR_STARTING_HOTSPOT, STR_HOTSPOT_MODE, STR_CONNECT_WIFI_HINT, STR_OPEN_URL_HINT, STR_OR_HTTP_PREFIX, STR_SCAN_QR_HINT, STR_CALIBRE_WIRELESS, STR_CALIBRE_WEB_URL, STR_CONNECT_WIRELESS, STR_NETWORK_LEGEND, STR_MAC_ADDRESS, STR_CHECKING_WIFI, STR_ENTER_WIFI_PASSWORD, STR_ENTER_TEXT, STR_TO_PREFIX, STR_CALIBRE_DISCOVERING, STR_CALIBRE_CONNECTING_TO, STR_CALIBRE_CONNECTED_TO, STR_CALIBRE_WAITING_COMMANDS, STR_CONNECTION_FAILED_RETRYING, STR_CALIBRE_DISCONNECTED, STR_CALIBRE_WAITING_TRANSFER, STR_CALIBRE_TRANSFER_HINT, STR_CALIBRE_RECEIVING, STR_CALIBRE_RECEIVED, STR_CALIBRE_WAITING_MORE, STR_CALIBRE_FAILED_CREATE_FILE, STR_CALIBRE_PASSWORD_REQUIRED, STR_CALIBRE_TRANSFER_INTERRUPTED, STR_CALIBRE_INSTRUCTION_1, STR_CALIBRE_INSTRUCTION_2, STR_CALIBRE_INSTRUCTION_3, STR_CALIBRE_INSTRUCTION_4, STR_CAT_DISPLAY, STR_CAT_READER, STR_CAT_CONTROLS, STR_CAT_SYSTEM, STR_CAT_CLOCK, STR_SLEEP_SCREEN, STR_SLEEP_COVER_MODE, STR_STATUS_BAR, STR_HIDE_BATTERY, STR_EXTRA_SPACING, STR_TEXT_AA, STR_SHORT_PWR_BTN, STR_ORIENTATION, STR_FRONT_BTN_LAYOUT, STR_SIDE_BTN_LAYOUT, STR_LONG_PRESS_SKIP, STR_FONT_FAMILY, STR_EXT_READER_FONT, STR_EXT_CHINESE_FONT, STR_EXT_UI_FONT, STR_FONT_SIZE, STR_LINE_SPACING, STR_ASCII_LETTER_SPACING, STR_ASCII_DIGIT_SPACING, STR_CJK_SPACING, STR_COLOR_MODE, STR_SCREEN_MARGIN, STR_PARA_ALIGNMENT, STR_HYPHENATION, STR_TIME_TO_SLEEP, STR_REFRESH_FREQ, STR_CALIBRE_SETTINGS, STR_KOREADER_SYNC, STR_CHECK_UPDATES, STR_LANGUAGE, STR_SELECT_WALLPAPER, STR_CLEAR_READING_CACHE, STR_CALIBRE, STR_USERNAME, STR_PASSWORD, STR_SYNC_SERVER_URL, STR_DOCUMENT_MATCHING, STR_AUTHENTICATE, STR_KOREADER_USERNAME, STR_KOREADER_PASSWORD, STR_FILENAME, STR_BINARY, STR_SET_CREDENTIALS_FIRST, STR_WIFI_CONN_FAILED, STR_AUTHENTICATING, STR_AUTH_SUCCESS, STR_KOREADER_AUTH, STR_SYNC_READY, STR_AUTH_FAILED, STR_DONE, STR_CLEAR_CACHE_WARNING_1, STR_CLEAR_CACHE_WARNING_2, STR_CLEAR_CACHE_WARNING_3, STR_CLEAR_CACHE_WARNING_4, STR_CLEARING_CACHE, STR_CACHE_CLEARED, STR_ITEMS_REMOVED, STR_FAILED_LOWER, STR_CLEAR_CACHE_FAILED, STR_CHECK_SERIAL_OUTPUT, STR_DARK, STR_LIGHT, STR_CUSTOM, STR_COVER, STR_NONE_OPT, STR_FIT, STR_CROP, STR_NO_PROGRESS, STR_FULL_OPT, STR_NEVER, STR_IN_READER, STR_ALWAYS, STR_IGNORE, STR_SLEEP, STR_PAGE_TURN, STR_PORTRAIT, STR_LANDSCAPE_CW, STR_INVERTED, STR_LANDSCAPE_CCW, STR_FRONT_LAYOUT_BCLR, STR_FRONT_LAYOUT_LRBC, STR_FRONT_LAYOUT_LBCR, STR_PREV_NEXT, STR_NEXT_PREV, STR_BOOKERLY, STR_NOTO_SANS, STR_OPEN_DYSLEXIC, STR_SMALL, STR_MEDIUM, STR_LARGE, STR_X_LARGE, STR_TIGHT, STR_NORMAL, STR_WIDE, STR_JUSTIFY, STR_ALIGN_LEFT, STR_CENTER, STR_ALIGN_RIGHT, STR_MIN_1, STR_MIN_5, STR_MIN_10, STR_MIN_15, STR_MIN_30, STR_PAGES_1, STR_PAGES_5, STR_PAGES_10, STR_PAGES_15, STR_PAGES_30, STR_UPDATE, STR_CHECKING_UPDATE, STR_NEW_UPDATE, STR_CURRENT_VERSION, STR_NEW_VERSION, STR_UPDATING, STR_NO_UPDATE, STR_UPDATE_FAILED, STR_UPDATE_COMPLETE, STR_POWER_ON_HINT, STR_EXTERNAL_FONT, STR_BUILTIN_DISABLED, STR_NO_ENTRIES, STR_DOWNLOADING, STR_DOWNLOAD_FAILED, STR_ERROR_MSG, STR_UNNAMED, STR_NO_SERVER_URL, STR_FETCH_FEED_FAILED, STR_PARSE_FEED_FAILED, STR_NETWORK_PREFIX, STR_IP_ADDRESS_PREFIX, STR_SCAN_QR_WIFI_HINT, STR_ERROR_GENERAL_FAILURE, STR_ERROR_NETWORK_NOT_FOUND, STR_ERROR_CONNECTION_TIMEOUT, STR_SD_CARD, STR_BACK, STR_EXIT, STR_HOME, STR_SAVE, STR_SELECT, STR_TOGGLE, STR_CONFIRM, STR_CANCEL, STR_CONNECT, STR_OPEN, STR_DOWNLOAD, STR_RETRY, STR_YES, STR_NO, STR_STATE_ON, STR_STATE_OFF, STR_SET, STR_NOT_SET, STR_DIR_LEFT, STR_DIR_RIGHT, STR_DIR_UP, STR_DIR_DOWN, STR_CAPS_ON, STR_CAPS_OFF, STR_OK_BUTTON, STR_ON_MARKER, STR_SLEEP_COVER_FILTER, STR_FILTER_CONTRAST, STR_STATUS_BAR_FULL_PERCENT, STR_STATUS_BAR_FULL_BOOK, STR_STATUS_BAR_BOOK_ONLY, STR_STATUS_BAR_FULL_CHAPTER, STR_UI_THEME, STR_THEME_CLASSIC, STR_THEME_LYRA, STR_THEME_LYRA_EXTENDED, STR_SUNLIGHT_FADING_FIX, STR_REMAP_FRONT_BUTTONS, STR_OPDS_BROWSER, STR_COVER_CUSTOM, STR_RECENTS, STR_MENU_RECENT_BOOKS, STR_NO_RECENT_BOOKS, STR_CALIBRE_DESC, STR_FORGET_AND_REMOVE, STR_FORGET_BUTTON, STR_CALIBRE_STARTING, STR_CALIBRE_SETUP, STR_CALIBRE_STATUS, STR_CLEAR_BUTTON, STR_DEFAULT_VALUE, STR_REMAP_PROMPT, STR_UNASSIGNED, STR_ALREADY_ASSIGNED, STR_REMAP_RESET_HINT, STR_REMAP_CANCEL_HINT, STR_HW_BACK_LABEL, STR_HW_CONFIRM_LABEL, STR_HW_LEFT_LABEL, STR_HW_RIGHT_LABEL, STR_GO_TO_PERCENT, STR_GO_HOME_BUTTON, STR_SYNC_PROGRESS, STR_PUSH_AND_SLEEP, STR_DELETE_CACHE, STR_CHAPTER_PREFIX, STR_PAGES_SEPARATOR, STR_BOOK_PREFIX, STR_KBD_SHIFT, STR_KBD_SHIFT_CAPS, STR_KBD_LOCK, STR_CALIBRE_URL_HINT, STR_PERCENT_STEP_HINT, STR_SYNCING_TIME, STR_CALC_HASH, STR_HASH_FAILED, STR_FETCH_PROGRESS, STR_UPLOAD_PROGRESS, STR_NO_CREDENTIALS_MSG, STR_KOREADER_SETUP_HINT, STR_PROGRESS_FOUND, STR_REMOTE_LABEL, STR_LOCAL_LABEL, STR_PAGE_OVERALL_FORMAT, STR_PAGE_TOTAL_OVERALL_FORMAT, STR_DEVICE_FROM_FORMAT, STR_APPLY_REMOTE, STR_UPLOAD_LOCAL, STR_NO_REMOTE_MSG, STR_UPLOAD_PROMPT, STR_UPLOAD_SUCCESS, STR_SYNC_FAILED_MSG, STR_SECTION_PREFIX, STR_UPLOAD, STR_BOOK_S_STYLE, STR_EMBEDDED_STYLE, STR_OPDS_SERVER_URL, STR_LETTERBOX_FILL, STR_DITHERED, STR_SOLID, STR_ADD_BOOKMARK, STR_REMOVE_BOOKMARK, STR_LOOKUP_WORD, STR_LOOKUP_HISTORY, STR_GO_TO_BOOKMARK, STR_CLOSE_BOOK, STR_DELETE_DICT_CACHE, STR_DEFAULT_OPTION, STR_BOOKMARK_ADDED, STR_BOOKMARK_REMOVED, STR_DICT_CACHE_DELETED, STR_NO_CACHE_TO_DELETE, STR_TABLE_OF_CONTENTS, STR_TOGGLE_ORIENTATION, STR_TOGGLE_FONT_SIZE, STR_OVERRIDE_LETTERBOX_FILL, STR_PREFERRED_PORTRAIT, STR_PREFERRED_LANDSCAPE, STR_CHOOSE_SOMETHING, STR_CLOCK, STR_CLOCK_AMPM, STR_CLOCK_24H, STR_SET_TIME, STR_CLOCK_SIZE, STR_CLOCK_SIZE_SMALL, STR_CLOCK_SIZE_MEDIUM, STR_CLOCK_SIZE_LARGE, STR_TIMEZONE, STR_TZ_UTC, STR_TZ_EASTERN, STR_TZ_CENTRAL, STR_TZ_MOUNTAIN, STR_TZ_PACIFIC, STR_TZ_ALASKA, STR_TZ_HAWAII, STR_TZ_CUSTOM, STR_SET_UTC_OFFSET, STR_INDEXING_DISPLAY, STR_INDEXING_POPUP, STR_INDEXING_STATUS_TEXT, STR_INDEXING_STATUS_ICON, STR_SYNC_CLOCK, STR_TIME_SYNCED, STR_AUTO_NTP_SYNC, STR_MANAGE_BOOK, STR_ARCHIVE_BOOK, STR_UNARCHIVE_BOOK, STR_DELETE_BOOK, STR_DELETE_CACHE_ONLY, STR_REINDEX_BOOK, STR_BROWSE_ARCHIVE, STR_BOOK_ARCHIVED, STR_BOOK_UNARCHIVED, STR_BOOK_DELETED, STR_CACHE_DELETED, STR_BOOK_REINDEXED, STR_ACTION_FAILED, STR_BACK_TO_BEGINNING, STR_CLOSE_MENU, STR_ADD_SERVER, STR_SERVER_NAME, STR_NO_SERVERS, STR_DELETE_SERVER, STR_DELETE_CONFIRM, STR_OPDS_SERVERS, STR_SAVE_HERE, STR_SELECT_FOLDER, STR_DOWNLOAD_PATH, // Sentinel - must be last _COUNT }; // Helper function to get string array for a language inline const char* const* getStringArray(Language lang) { switch (lang) { case Language::ENGLISH: return i18n_strings::STRINGS_EN; case Language::SPANISH: return i18n_strings::STRINGS_ES; case Language::FRENCH: return i18n_strings::STRINGS_FR; case Language::GERMAN: return i18n_strings::STRINGS_DE; case Language::CZECH: return i18n_strings::STRINGS_CZ; case Language::PORTUGUESE: return i18n_strings::STRINGS_PO; case Language::RUSSIAN: return i18n_strings::STRINGS_RU; case Language::SWEDISH: return i18n_strings::STRINGS_SV; case Language::ROMANIAN: return i18n_strings::STRINGS_RO; default: return i18n_strings::STRINGS_EN; } } // Helper function to get language count constexpr uint8_t getLanguageCount() { return static_cast(Language::_COUNT); }