After an OPDS download completes, show a prompt screen instead of immediately returning to the catalog. The user can choose to open the book for reading or go back to the listing. A live countdown (5s, fast refresh) auto-selects the configured default; any button press cancels the timer. A per-server "After Download" setting controls the default action (back to listing for backward compatibility). Made-with: Cursor
466 lines
9.8 KiB
C++
466 lines
9.8 KiB
C++
#pragma once
|
|
#include <cstdint>
|
|
|
|
// 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,
|
|
STR_POSITION,
|
|
STR_DOWNLOAD_COMPLETE,
|
|
STR_OPEN_BOOK,
|
|
STR_BACK_TO_LISTING,
|
|
STR_AFTER_DOWNLOAD,
|
|
// 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<uint8_t>(Language::_COUNT); }
|