Files
Crosspoint/lib/I18n/translations/ukrainian.yaml
T
Uri TauberandJulia Nguyen 1db1442319 fix: several bookmarks UX improvments (#2372)
## 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>
2026-06-23 14:55:01 -04:00

382 lines
21 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
_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-карти та виберіть його"