## Summary This PR enhances the EPUB reader's bookmark system with two complementary improvements: a per-page bookmark indicator icon and toggle behavior on the existing long-press action. --- ### What Changed **Bookmark Toggle (was: add-only)** The long-press Confirm action now toggles bookmarks rather than always adding. `addBookmark()` checks whether a bookmark with the same xpath already exists in the in-memory cache: - If found → removes it and shows "Bookmark removed." - If not found → adds it and shows "Bookmark added." A new `STR_BOOKMARK_REMOVED` translation string was added to support the removal message. **Bookmark Icon Indicator** A `BookmarkIcon` is now drawn at the top-right corner of the page whenever the current page has a bookmark. `updateBookmarkFlag()` is called at render time to determine whether the current page is bookmarked. **In-Memory Bookmark Cache** Bookmarks are now loaded into `cachedBookmarks` on `onEnter()` rather than being re-read from disk on every toggle. All subsequent add/remove operations work against this cache and flush to disk, avoiding redundant file reads on each bookmark action. **Faster bookmarks list** Previously, calculating "page X/Y" for each entry required decompressing the entire spine item. We now persist `si`/`pc`/`pp` (spine index, page count, and page progress) in the bookmark JSON when saving, and restore them when loading. This avoids the expensive `toCrossPoint()` loop in `onEnter()`, significantly reducing the cost of initializing the bookmarks list. --- ### Files Changed - `EpubReaderActivity.cpp` — `addBookmark()` toggle logic, `updateBookmarkFlag()` (new), icon rendering in `renderContents()`, cache initialization in `onEnter()` - `EpubReaderActivity.h` — new fields: `currentPageBookmarked`, `bookmarkRemoved`, `cachedBookmarks`; new method declaration `updateBookmarkFlag()` --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**< PARTIALLY >**_ --------- Co-authored-by: Julia Nguyen <julia@uxj.io>
382 lines
21 KiB
YAML
382 lines
21 KiB
YAML
_language_name: "Українська"
|
||
_language_code: "UK"
|
||
_order: "10"
|
||
|
||
STR_CROSSPOINT: "CrossPoint"
|
||
STR_BOOTING: "ЗАВАНТАЖЕННЯ"
|
||
STR_SLEEPING: "СПИТЬ"
|
||
STR_ENTERING_SLEEP: "Перехід у режим сну"
|
||
STR_BROWSE_FILES: "Перегляд файлів"
|
||
STR_FILE_TRANSFER: "Передача файлів"
|
||
STR_SETTINGS_TITLE: "Налаштування"
|
||
STR_CONTINUE_READING: "Продовжити читання"
|
||
STR_NO_OPEN_BOOK: "Немає відкритої книги"
|
||
STR_START_READING: "Почніть читання нижче"
|
||
STR_NO_FILES_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_WIFI_NETWORKS: "Мережі Wi-Fi"
|
||
STR_NO_NETWORKS: "Мереж не знайдено"
|
||
STR_NETWORKS_FOUND: "мереж %zu"
|
||
STR_SCANNING: "Сканування..."
|
||
STR_CONNECTING: "Підключення..."
|
||
STR_CONNECTED: "Підключено!"
|
||
STR_CONNECTION_FAILED: "Помилка підключення"
|
||
STR_FORGET_NETWORK: "Забути мережу?"
|
||
STR_SAVE_PASSWORD: "Зберегти пароль на наступний раз?"
|
||
STR_PRESS_OK_SCAN: "Натисніть OK для повторного сканування"
|
||
STR_JOIN_NETWORK: "Приєднатися до мережі"
|
||
STR_CREATE_HOTSPOT: "Створити точку доступу"
|
||
STR_JOIN_DESC: "Підключитися до існуючої мережі Wi-Fi"
|
||
STR_HOTSPOT_DESC: "Дозволити іншим підключення по Wi-Fi"
|
||
STR_STARTING_HOTSPOT: "Запуск точки доступу..."
|
||
STR_HOTSPOT_MODE: "Режим точки доступу"
|
||
STR_CONNECT_WIFI_HINT: "Підключіть пристрій до цієї мережі Wi-Fi"
|
||
STR_OPEN_URL_HINT: "Відкрийте посилання у своєму браузері"
|
||
STR_OR_HTTP_PREFIX: "або http://"
|
||
STR_SCAN_QR_HINT: "або відскануйте QR-код телефоном:"
|
||
STR_CALIBRE_WIRELESS: "Отримати з Calibre"
|
||
STR_NETWORK_LEGEND: "* = Зашифровано | + = Збережено"
|
||
STR_MAC_ADDRESS: "MAC адреса:"
|
||
STR_CHECKING_WIFI: "Перевірка Wi-Fi..."
|
||
STR_ENTER_WIFI_PASSWORD: "Введіть пароль Wi-Fi"
|
||
STR_TO_PREFIX: "до "
|
||
STR_CALIBRE_RECEIVING: "Отримання: "
|
||
STR_CALIBRE_RECEIVED: "Отримано: "
|
||
STR_CALIBRE_INSTRUCTION_1: "1) Встановіть плагін CrossPoint Reader"
|
||
STR_CALIBRE_INSTRUCTION_2: "2) Перебувайте в тій самій мережі Wi-Fi"
|
||
STR_CALIBRE_INSTRUCTION_3: "3) В Calibre: \"Надіслати на пристрій\""
|
||
STR_CALIBRE_INSTRUCTION_4: "\"Тримайте цей екран відкритим під час надсилання\""
|
||
STR_CAT_DISPLAY: "Екран"
|
||
STR_CAT_READER: "Читач"
|
||
STR_CAT_CONTROLS: "Кнопки"
|
||
STR_CAT_SYSTEM: "Система"
|
||
STR_SLEEP_SCREEN: "Екран у режимі сну"
|
||
STR_QUICK_RESUME_TIMEOUT: "Швидке поверн. після таймауту"
|
||
STR_SLEEP_COVER_MODE: "Режим заповнення"
|
||
STR_HIDE_BATTERY: "Приховати % батареї"
|
||
STR_EXTRA_SPACING: "Додатковий інтервал між абзацами"
|
||
STR_TEXT_AA: "Згладжування тексту"
|
||
STR_IMAGES: "Зображення"
|
||
STR_IMAGES_DISPLAY: "Показати"
|
||
STR_IMAGES_PLACEHOLDER: "Заглушка"
|
||
STR_IMAGES_SUPPRESS: "Приховати"
|
||
STR_SHORT_PWR_BTN: "Короткий натиск кн. живл."
|
||
STR_ORIENTATION: "Орієнтація читання"
|
||
STR_SIDE_BTN_LAYOUT: "Схема бічних кнопок"
|
||
STR_FRONT_BTN_FOLLOW_ORIENTATION: "Орієнтувати передні кнопки"
|
||
STR_LONG_PRESS_BEHAVIOR: "Поведінка при довгому настику"
|
||
STR_LONG_PRESS_BEHAVIOR_OFF: "Немає"
|
||
STR_LONG_PRESS_BEHAVIOR_SKIP: "Наступ. розділ (утримув.)"
|
||
STR_LONG_PRESS_BEHAVIOR_ORIENTATION: "Зміна орієнтації екрану"
|
||
STR_FONT_PREVIEW_TEXT: "Єхидна, ґава, їжак ще й шиплячі плазуни бігцем форсують Янцзи"
|
||
STR_FONT_FAMILY: "Шрифт"
|
||
STR_FONT_SIZE: "Розмір шрифту"
|
||
STR_LINE_SPACING: "Міжрядковий інтервал"
|
||
STR_SCREEN_MARGIN: "Відступи від країв"
|
||
STR_PARA_ALIGNMENT: "Вирівнювання тексту"
|
||
STR_HYPHENATION: "Перенесення слів"
|
||
STR_TIME_TO_SLEEP: "Перехід в режим сну"
|
||
STR_SHOW_HIDDEN_FILES: "Показати приховані файли"
|
||
STR_REMOVE_READ_FROM_RECENTS: "Приховувати прочитані книги"
|
||
STR_MOVE_FINISHED_TO_READ: "Переміщати прочит. в теку Read"
|
||
STR_REFRESH_FREQ: "Частота оновлення екрану"
|
||
STR_KOREADER_SYNC: "Синхронізація KOReader"
|
||
STR_CHECK_UPDATES: "Перевірити оновлення системи"
|
||
STR_LANGUAGE: "Мова"
|
||
STR_CLEAR_READING_CACHE: "Очистити кеш книг"
|
||
STR_USERNAME: "Ім'я користувача"
|
||
STR_PASSWORD: "Пароль"
|
||
STR_SYNC_SERVER_URL: "URL для синхронізації"
|
||
STR_DOCUMENT_MATCHING: "Порівняння документів"
|
||
STR_AUTHENTICATE: "Автентифікувати"
|
||
STR_KOREADER_USERNAME: "Ім'я користувача KOReader"
|
||
STR_KOREADER_PASSWORD: "Пароль KOReader"
|
||
STR_FILENAME: "Ім'я файлу"
|
||
STR_BINARY: "Побайтово"
|
||
STR_SET_CREDENTIALS_FIRST: "Спочатку вкажіть облікові дані"
|
||
STR_WIFI_CONN_FAILED: "Помилка підключення Wi-Fi"
|
||
STR_AUTHENTICATING: "Автентифікація..."
|
||
STR_AUTH_SUCCESS: "Успішно автентифіковано!"
|
||
STR_KOREADER_AUTH: "Автентифікація KOReader"
|
||
STR_SYNC_READY: "Синхронізація KOReader активована"
|
||
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_NEVER: "Ніколи"
|
||
STR_IN_READER: "В читачі"
|
||
STR_ALWAYS: "Завжди"
|
||
STR_IGNORE: "Ігнорувати"
|
||
STR_SLEEP: "Сон"
|
||
STR_PAGE_TURN: "Наст. сторінка"
|
||
STR_FORCE_REFRESH: "Оновити екран"
|
||
STR_PORTRAIT: "Книжкова"
|
||
STR_LANDSCAPE_CW: "Альбом. за год."
|
||
STR_INVERTED: "Перевернутий"
|
||
STR_LANDSCAPE_CCW: "Альбом. проти год."
|
||
STR_PREV_NEXT: "Попер/Наст"
|
||
STR_NEXT_PREV: "Наст/Попер"
|
||
STR_DISABLED: "Вимкнуто"
|
||
STR_NOTO_SERIF: "Noto Serif"
|
||
STR_NOTO_SANS: "Noto Sans"
|
||
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_PAGES_1: "1 сторінка"
|
||
STR_PAGES_5: "5 сторінок"
|
||
STR_PAGES_10: "10 сторінок"
|
||
STR_PAGES_15: "15 сторінок"
|
||
STR_PAGES_30: "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_RESTARTING_HINT: "Перезавантаження... Якщо пристрій не перезавантажується, утримуйте кнопку живлення кілька секунд."
|
||
STR_NO_ENTRIES: "Записів не знайдено"
|
||
STR_DOWNLOADING: "Завантаження..."
|
||
STR_DOWNLOAD_FAILED: "Завантаження не вдалося"
|
||
STR_ERROR_MSG: "Помилка:"
|
||
STR_UNNAMED: "Без назви"
|
||
STR_HOLD_OPEN_TO_DELETE: "Утримуйте Відкрити, щоб видалити"
|
||
STR_NO_SERVER_URL: "URL сервера не налаштовано"
|
||
STR_FETCH_FEED_FAILED: "Не вдалося отримати стрічку"
|
||
STR_PARSE_FEED_FAILED: "Не вдалося розпарсити стрічку"
|
||
STR_NEXT_PAGE: "Наступна с.»"
|
||
STR_PREV_PAGE: "« Попередня с."
|
||
STR_NETWORK_PREFIX: "Мережа: "
|
||
STR_IP_ADDRESS_PREFIX: "IP адреса: "
|
||
STR_ERROR_GENERAL_FAILURE: "Помилка: Загальна помилка"
|
||
STR_ERROR_NETWORK_NOT_FOUND: "Помилка: Мережу не знайдено"
|
||
STR_ERROR_CONNECTION_TIMEOUT: "Помилка: Таймаут підключення"
|
||
STR_SD_CARD: "SD картка"
|
||
STR_BACK: "« Назад"
|
||
STR_EXIT: "« Вихід"
|
||
STR_HOME: "« Додому"
|
||
STR_SELECT: "Вибрати"
|
||
STR_SELECTED: "Вибрано"
|
||
STR_TOGGLE: "Обрати"
|
||
STR_TOGGLE_BOOKMARK: "Перемкнути закладку"
|
||
STR_CONFIRM: "Підтвердити"
|
||
STR_CANCEL: "Скасувати"
|
||
STR_CONNECT: "Приєдн."
|
||
STR_OPEN: "Відкрити"
|
||
STR_DOWNLOAD: "Завант."
|
||
STR_RETRY: "Повтор."
|
||
STR_YES: "Так"
|
||
STR_NO: "Ні"
|
||
STR_SHOW: "Показати"
|
||
STR_HIDE: "Сховати"
|
||
STR_STATE_ON: "УВІМК"
|
||
STR_STATE_OFF: "ВИМК"
|
||
STR_NOT_SET: "Не встановлено"
|
||
STR_DIR_LEFT: "Вліво"
|
||
STR_DIR_RIGHT: "Вправо"
|
||
STR_DIR_UP: "Вгору"
|
||
STR_DIR_DOWN: "Вниз"
|
||
STR_OK_BUTTON: "OK"
|
||
STR_SLEEP_COVER_FILTER: "Ефект заставки"
|
||
STR_FILTER_CONTRAST: "Контраст"
|
||
STR_CUSTOMISE_STATUS_BAR: "Налаштувати рядок стану"
|
||
STR_CHAPTER_PAGE_COUNT: "Кількість сторінок у розділі"
|
||
STR_BOOK_PROGRESS_PERCENTAGE: "Відсоток прочитаного"
|
||
STR_PROGRESS_BAR: "Рядок прогресу"
|
||
STR_PROGRESS_BAR_THICKNESS: "Товщина рядку прогресу"
|
||
STR_PROGRESS_BAR_THIN: "Тонкий"
|
||
STR_PROGRESS_BAR_MEDIUM: "Середній"
|
||
STR_PROGRESS_BAR_THICK: "Жирний"
|
||
STR_BOOK: "Книга"
|
||
STR_CHAPTER: "Розділ"
|
||
STR_EXAMPLE_CHAPTER: "Розділ 21"
|
||
STR_EXAMPLE_BOOK: "Назва книги"
|
||
STR_PREVIEW: "Перегляд"
|
||
STR_TITLE: "Назва"
|
||
STR_BATTERY: "Акумулятор"
|
||
STR_XTC_STATUS_BAR: "XTC Рядок прогресу"
|
||
STR_BOTTOM: "Низ"
|
||
STR_TOP: "Верх"
|
||
STR_CLOCK: "Годинник"
|
||
STR_CLOCK_UTC_OFFSET: "Часовий пояс"
|
||
STR_CLOCK_FORMAT: "Формат Годинника"
|
||
STR_CLOCK_FORMAT_24H: "24-години"
|
||
STR_CLOCK_FORMAT_12H: "12-годин"
|
||
STR_CURRENT_TIME: "Поточний час:"
|
||
STR_NEXT_FIELD: "наступний"
|
||
STR_CLOCK_SYNC: "Синхр. Годинник"
|
||
STR_CLOCK_SYNC_NOW: "Синхр. годин. зараз"
|
||
STR_CLOCK_SYNCING: "Синхр. через NTP..."
|
||
STR_CLOCK_SYNC_OK: "Успішна синхр."
|
||
STR_CLOCK_SYNC_FAIL: "Невдала синхр. "
|
||
STR_CLOCK_SYNC_NO_WIFI: "Wi-Fi не під'єднано"
|
||
STR_CLOCK_SYNC_NO_WIFI_HINT: "Під'єднайтесь спершу до Wi-Fi, тоді спробуйте знову."
|
||
STR_CLOCK_SYNCED: "Годинник синхр."
|
||
STR_UI_THEME: "Тема інтерфейсу"
|
||
STR_THEME_CLASSIC: "Класична"
|
||
STR_THEME_LYRA: "Lyra"
|
||
STR_THEME_ROUNDEDRAFF: "RoundedRaff"
|
||
STR_THEME_LYRA_EXTENDED: "Lyra Extended"
|
||
STR_SUNLIGHT_FADING_FIX: "Виправлення вицвітання на сонці"
|
||
STR_REMAP_FRONT_BUTTONS: "Налаштувати передні кнопки"
|
||
STR_BOOKMARKS: "Закладки"
|
||
STR_BOOKMARK_ADDED: "Закладку додано"
|
||
STR_BOOKMARK_REMOVED: "Закладку видалено"
|
||
STR_OPDS_BROWSER: "Браузер OPDS"
|
||
STR_SEARCH: "Пошук"
|
||
STR_COVER_CUSTOM: "Обкл. + власне"
|
||
STR_QUICK_RESUME: "Швидке поверн."
|
||
STR_MENU_RECENT_BOOKS: "Останні книги"
|
||
STR_REMOVE_FROM_RECENTS: "Видалити з останніх книг?"
|
||
STR_NO_RECENT_BOOKS: "Немає останніх книг"
|
||
STR_CALIBRE_DESC: "Бездротова передача на пристрій із Calibre"
|
||
STR_FORGET_AND_REMOVE: "Забути мережу та видалити збережений пароль?"
|
||
STR_FORGET_BUTTON: "Забути"
|
||
STR_CALIBRE_STARTING: "Запуск Calibre..."
|
||
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: "Назад (1-ша кнопка)"
|
||
STR_HW_CONFIRM_LABEL: "Підтвердити (2-га кнопка)"
|
||
STR_HW_LEFT_LABEL: "Вліво (3-тя кнопка)"
|
||
STR_HW_RIGHT_LABEL: "Вправо (4-та кнопка)"
|
||
STR_GO_TO_PERCENT: "Перейти до %"
|
||
STR_GO_HOME_BUTTON: "На головну"
|
||
STR_SYNC_PROGRESS: "Прогрес синхронізації"
|
||
STR_DELETE_CACHE: "Видалити кеш книги"
|
||
STR_DELETE: "Видалити"
|
||
STR_CONFIRM_DELETE_BOOKMARK: "Видалити цю закладку?"
|
||
STR_DISPLAY_QR: "Показати сторінку як QR-код"
|
||
STR_CHAPTER_PREFIX: "Розділ: "
|
||
STR_PAGES_SEPARATOR: " сторінок | "
|
||
STR_BOOK_PREFIX: "Книга: "
|
||
STR_CALIBRE_URL_HINT: "Для Calibre додайте /opds до вашої URL"
|
||
STR_PERCENT_STEP_HINT: "Вліво/Вправо: 1% Вгору/Вниз: 10%"
|
||
STR_SYNCING_TIME: "Синхронізація часу..."
|
||
STR_CALC_HASH: "Обчислення хешу документа..."
|
||
STR_HASH_FAILED: "Не вдалося обчислити хеш документа"
|
||
STR_FETCH_PROGRESS: "Отримання віддаленого прогресу..."
|
||
STR_UPLOAD_PROGRESS: "Завантаження прогресу..."
|
||
STR_NO_CREDENTIALS_MSG: "Облікові дані не налаштовано"
|
||
STR_KOREADER_SETUP_HINT: "Налаштуйте обліковий запис KOReader в Налаштуваннях"
|
||
STR_PROGRESS_FOUND: "Прогрес знайдено!"
|
||
STR_REMOTE_LABEL: "Віддалений:"
|
||
STR_LOCAL_LABEL: "Локальний:"
|
||
STR_PAGE_OVERALL_FORMAT: "Сторінка %d, %.2f%% загалом"
|
||
STR_PAGE_TOTAL_OVERALL_FORMAT: "Сторінка %d/%d, %.2f%% загалом"
|
||
STR_DEVICE_FROM_FORMAT: " Від: %s"
|
||
STR_APPLY_REMOTE: "Застосувати віддалений прогрес"
|
||
STR_UPLOAD_LOCAL: "Завантажити локальний прогрес"
|
||
STR_NO_REMOTE_MSG: "Віддаленого прогресу не знайдено"
|
||
STR_UPLOAD_PROMPT: "Завантажити поточну позицію?"
|
||
STR_UPLOAD_SUCCESS: "Прогрес завантажено!"
|
||
STR_SYNC_FAILED_MSG: "Синхронізація не вдалася"
|
||
STR_SAVE_PROGRESS_FAILED: "Не вдалося зберегти прогрес"
|
||
STR_SECTION_PREFIX: "Розділ "
|
||
STR_UPLOAD: "Завантажити"
|
||
STR_BOOK_S_STYLE: "Стиль книги"
|
||
STR_EMBEDDED_STYLE: "Вбудований стиль"
|
||
STR_FOCUS_READING: "Фокусне читання"
|
||
STR_OPDS_SERVER_URL: "URL сервера OPDS"
|
||
STR_PWR_BTN_FOOTNOTE_BACK: "Швидке повернення з приміток"
|
||
STR_SET_SLEEP_COVER: "Як обкл."
|
||
STR_FOOTNOTES: "Примітки"
|
||
STR_NO_FOOTNOTES: "На цій сторінці немає приміток"
|
||
STR_LINK: "[посилання]"
|
||
STR_SCREENSHOT_BUTTON: "Знімок екрана"
|
||
STR_SLEEP_TIMER_VALUE_FORMAT: "%u хв"
|
||
STR_SLEEP_NEVER: "Ніколи"
|
||
STR_SLEEP_TIMER_STEP_HINT: "Вліво/Вправо: 1 хв Вгору/Вниз: 5 хв"
|
||
STR_ADD_SERVER: "Додати сервер"
|
||
STR_SERVER_NAME: "Назва сервера"
|
||
STR_NO_SERVERS: "Не налаштовано жодного сервера OPDS"
|
||
STR_DELETE_SERVER: "Видалити сервер"
|
||
STR_OPDS_SERVERS: "Сервери OPDS"
|
||
STR_AUTO_TURN_ENABLED: "Автоперегортання увімк: "
|
||
STR_AUTO_TURN_PAGES_PER_MIN: "Автоперегортання (ст/хв)"
|
||
STR_MANAGE_FONTS: "Керування шрифтами"
|
||
STR_FONT_BROWSER: "Перегляд шрифтів"
|
||
STR_LOADING_FONT_LIST: "Оновлення списку шрифтів..."
|
||
STR_NO_FONTS_AVAILABLE: "Шрифти недоступні"
|
||
STR_FONT_INSTALLED: "Шрифт встановлено!"
|
||
STR_FONT_INSTALL_FAILED: "Не вдалося встановити шрифт"
|
||
STR_INSTALLED: "Встановлено"
|
||
STR_DOWNLOAD_ALL: "Завантажити все"
|
||
STR_UPDATE_ALL: "Оновити все"
|
||
STR_UPDATE_AVAILABLE: "Оновити"
|
||
STR_CRASH_TITLE: "Збій Системи"
|
||
STR_CRASH_DESCRIPTION: "Дані про збій збережено в crash_report.txt. Додайте цей файл до вашого звіту про помилку."
|
||
STR_CRASH_REASON: "Причина збою:"
|
||
STR_CRASH_NO_REASON: "(Причину не вказано)"
|
||
STR_TILT_PAGE_TURN: "Перегортання нахилом"
|
||
STR_KB_HINT_MOVE_CURSOR: "Натисніть ВЛІВО / ВПРАВО для переміщення курсору"
|
||
STR_KB_HINT_RETURN_CURSOR: "Натисніть ВЛІВО для повернення до курсору"
|
||
STR_KB_HINT_HIDE_PASSWORD: "Затисніть ВПРАВО, натисніть [***], щоб приховати пароль"
|
||
STR_KB_HINT_SHOW_PASSWORD: "Затисніть ВПРАВО, натисніть [abc], щоб показати пароль"
|
||
STR_KB_HINT_TOGGLE_HIDE_PASSWORD: "Натисніть [***], щоб приховати пароль"
|
||
STR_KB_HINT_TOGGLE_SHOW_PASSWORD: "Натисніть [abc], щоб показати пароль"
|
||
STR_KB_HINT_EDIT_ENTRY: "Затисніть ВГОРУ для редагування"
|
||
STR_KB_TIPS: "Поради:"
|
||
STR_KB_HINT_RETURN_KEYBOARD: "Натисніть ВНИЗ, щоб повернутися до клавіатури"
|
||
STR_KB_HINT_EXIT_URL_MODE: "Натисніть [ABC] для виходу з режиму URL"
|
||
STR_KB_HINT_CLEAR_TEXT: "Затисніть <--, щоб видалити весь текст"
|
||
STR_KB_HINT_SECONDARY_CHAR: "Затисніть ВИБРАТИ для додаткових символів"
|
||
STR_KB_HINT_UPPER_SECONDARY: "Затисніть ВИБРАТИ для ВЕЛИКИХ літер / символів"
|
||
STR_KB_HINT_LOWER_SECONDARY: "Затисніть ВИБРАТИ для малих літер / символів"
|
||
STR_KB_HINT_URL_SNIPPETS: "Натисніть URL для вибору шаблонів"
|
||
STR_SD_FIRMWARE_UPDATE: "Оновлення системи з SD-карти"
|
||
STR_SELECT_FIRMWARE_FILE: "Оберіть файл оновлення (.bin)"
|
||
STR_NO_BIN_FILES: "Не знайдено .bin файлів"
|
||
STR_VALIDATING_FIRMWARE: "Перевірка цілісності файлу..."
|
||
STR_INVALID_FIRMWARE: "Невірний файл оновлення системи"
|
||
STR_FIRMWARE_TOO_LARGE: "Файл оновлення системи не вміщується в розділ пам'яті"
|
||
STR_FIRMWARE_TOO_SMALL: "Файл оновлення системи занадто малий"
|
||
STR_FIRMWARE_UPDATE_PROMPT: "Оновити систему?"
|
||
STR_FIRMWARE_FILE_OPEN_FAILED: "Неможливо відкрити файл"
|
||
STR_FIRMWARE_WRITE_FAILED: "Помилка запису прошивки"
|
||
STR_FIRMWARE_UPDATE_DO_NOT_POWER_OFF: "Не вимикайте пристрій!"
|
||
STR_RECOVERY_MODE: "Режим відновлення"
|
||
STR_RECOVERY_MODE_HINT: "Помістіть firmware.bin у корінь SD-карти та виберіть його"
|