Гид по технологиям

Исправление словаря в iBooks 1.1 для ePub, созданных Calibre

• 5 min read • Руководство • Обновлено 19 Nov 2025
Исправление словаря в iBooks 1.1
Исправление словаря в iBooks 1.1

Введение

Если вы конвертировали свои книги в ePub при помощи Calibre, возможно, после обновления iBooks до версии 1.1 функция словаря перестала работать для таких файлов. Проявляется это сообщением «Dictionary not available for this language» при попытке просмотра определения слова. При этом книги, загруженные из iBookstore (например, Project Gutenberg), обычно работают нормально.

Коротко: проблема чаще всего связана с неверным или отсутствующим языковым идентификатором в метаданных ePub. iBooks использует этот код, чтобы выбрать подходящий словарь; код «UND» (undefined) означает «нет словаря для этого языка». В iTunes нет интерфейса для исправления этого внутри приложения, зато ePub — это ZIP-архив, и его можно отредактировать вручную.

Почему это происходит

  • Calibre иногда записывает язык как UND, то есть Undefined. Это приводит к тому, что iBooks не находит подходящий словарь.
  • Раньше iBooks мог «падать назад» на словарь по умолчанию, теперь он требует корректного dc:language.
  • iTunes не предоставляет способа изменить язык для ePub-файла при загрузке.

Краткое определение: ePub — это ZIP-архив, внутри которого лежит набор файлов (HTML, изображения, стили и метаданные). Метаданные книги находятся в файле content.opf и содержат тег dc:language.

Что нужно проверить в первую очередь

  1. Сделайте резервную копию оригинального файла .epub (скопируйте файл в отдельную папку).
  2. Убедитесь, что файл не защищён DRM — защищённые покупки нельзя редактировать.
  3. Откройте книгу (архив) и найдите файл content.opf — в нём находится тег .

Важно: всегда работайте с копией файла, а не с единственной копией книги.

Быстрое решение — что именно менять

В файле content.opf найдите строку вида:

UND

и замените её на подходящий код ISO 639-1, например:

en

или

fr

Не используйте выдуманные коды — применяйте общеизвестные двухбуквенные коды (ru, en, fr, de и т. п.).

Диалог iBooks: «Словарь недоступен для этого языка»

Подробная пошаговая инструкция (macOS, терминал)

  1. Найдите файл .epub в iTunes: в библиотеке iTunes щёлкните правой кнопкой по книге → Показать в Finder. Скопируйте файл в отдельную рабочую папку.
  2. Создайте временную папку и перейдите в неё:
mkdir ~/epub-fix && cd ~/epub-fix
  1. Скопируйте ePub в рабочую папку (или перетащите из Finder в терминал, чтобы вставить путь).
  2. Посмотрите содержимое архива, чтобы найти путь к content.opf:
unzip -l "/путь/к/книге.epub" | grep content.opf

Обычно content.opf находится в корне архива или в папке вроде OEBPS/.

  1. Извлеките файл content.opf (с сохранением пути, если он есть):
unzip "/путь/к/книге.epub" "*/content.opf"
  1. Отредактируйте файл с помощью TextEdit (или любого текстового редактора):
open -e content.opf

Измените значение между тегами … на корректный код. Сохраните файл.

  1. Поместите обновлённый content.opf обратно в ePub:
zip -u "/путь/к/книге.epub" "*/content.opf"

Если команда zip не находит нужный путь, убедитесь, что относительные пути совпадают с теми, что были в архиве — можно сначала распаковать весь архив, внести правки и запаковать заново.

  1. Перенесите исправленный ePub обратно в iTunes и синхронизируйте устройства.

Редактирование файла content.opf в текстовом редакторе

Терминал macOS с командами unzip и zip

Перетаскивание ePub из Finder в терминал для вставки пути

Проверка результата в iBooks после установки исправленного файла

Альтернативные способы (если вы не хотите пользоваться терминалом)

  • Использовать графический EPUB-редактор: Sigil (кроссплатформенный) или встроенный редактор Calibre (правка книги → Edit book). Эти программы открывают структуру ePub и корректно сохраняют изменения.
  • Заменить ePub целиком: в Calibre в карточке книги нажать правку метаданных и убедиться, что поле «Language» заполнено; затем экспортировать/снова сохранить ePub. (Уточнение: у некоторых версий Calibre это работает не всегда, поэтому проверяйте результат.)
  • Написать скрипт для массовой правки: создать простой скрипт, который распаковывает ePub, правит dc:language и запаковывает обратно. Подойдёт для больших библиотек, но требует тестирования на нескольких файлах.

Когда это не поможет (контрпримеры)

  • Книга защищена DRM — её нельзя править без снятия защиты.
  • Внутри ePub указан некорректный язык, но проблема лежит в другом месте (например, внутренняя структура архива повреждена).
  • Для редких языков в iBooks может не существовать словаря — даже при корректном коде словарь не подключится.

Критерии приёмки

  • После импорта исправленного файла iBooks при долгом тапе по слову показывает определение, а не сообщение «Dictionary not available for this language».
  • В metadata (content.opf) указан корректный ISO 639-1 код языка.
  • Книга открывается и отображается корректно на всех ваших устройствах.

Контроль качества и тест-кейсы

  1. Тест 1 — Базовый: исправить язык на en, импортировать в iBooks, проверить словарь для английских слов.
  2. Тест 2 — Несколько устройств: синхронизировать iPad и iPhone, убедиться, что позиция чтения и словарь работают на обоих.
  3. Тест 3 — Резервная копия: убедиться, что оригинальный .epub не повреждён (проверка открытия в другом ридере).
  4. Тест 4 — Не-существующий словарь: поставить код редкого языка и проверить поведение (ожидаемо — словарь может отсутствовать).

Рекомендации по безопасности и хорошей практике

  • Всегда работайте с копией файла.
  • Сохраняйте резервную копию оригинала перед массовой правкой.
  • Для пакетной обработки протестируйте процесс на 3–5 файлах, прежде чем запускать скрипт на всей библиотеке.
  • Если вы не уверены в путях внутри архива — используйте GUI-редактор, он сохранит структуру верно.

Чек-лист для пользователей (роли)

  • Для домохозяина/читателя: 1) Сделать копию файла. 2) Попробовать простой метод (Sigil/Calibre GUI). 3) Импортировать результат в iTunes.
  • Для системного администратора/скриптера: 1) Написать тестовый скрипт для распаковки и правки dc:language. 2) Запустить на тестовой выборке. 3) Проверить интеграцию с iTunes.
  • Для продвинутого пользователя macOS: использовать терминал по шагам, описанным выше.

Частые ошибки и как их избежать

  • Ошибка: изменение тега не сохраняется в архиве. Решение: убедитесь, что вы обновляете правильный путь в архиве или пересобираете ePub целиком.
  • Ошибка: используете некорректный код языка. Решение: применять стандартные ISO 639-1 коды (en, ru, fr).
  • Ошибка: правите файл в бинарном редакторе или в неправильной кодировке. Решение: используйте текстовый редактор с поддержкой UTF-8.

Короткая сводка

  • Проблема: iBooks не показывает словарь для ePub, созданных Calibre, из‑за dc:language = UND.
  • Решение: отредактировать content.opf и заменить UND на корректный код языка.
  • Альтернатива: использовать Sigil или Calibre Edit Book для правки метаданных.

Примечание: всегда сохраняйте оригиналы и проверяйте несколько файлов перед массовыми изменениями.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро