epub-translate

lywa1998's avatarfrom lywa1998

A skill for creating bilingual EPUB books by adding translated text alongside the original content while preserving the original formatting and structure.

0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026

When & Why to Use This Skill

The epub-translate skill automates the creation of professional bilingual EPUB e-books by integrating translated text alongside the original content. It manages the entire technical workflow—from extracting EPUB archives and parsing HTML/XHTML files to updating metadata and reassembling the final package—ensuring that the original formatting, styles, and structural integrity are perfectly preserved for a high-quality reading experience.

Use Cases

  • Language Learning: Create side-by-side bilingual reading materials that allow students to compare original text with translations paragraph-by-paragraph to improve comprehension.
  • Global Publishing: Efficiently generate bilingual versions of digital books for international markets without the need for manual reformatting or layout adjustments.
  • Academic Research: Prepare comparative versions of foreign language technical documents or historical texts to facilitate deep analysis and cross-referencing.
  • Personal Library Enhancement: Convert foreign language e-books into a bilingual format to enjoy international literature with immediate, context-aware translation assistance.
nameepub-translate
descriptionA skill for creating bilingual EPUB books by adding translated text alongside the original content while preserving the original formatting and structure.

EPUB Bilingual Translate Skill

Overview

This skill creates bilingual EPUB files by adding translated text alongside the original content while preserving the original formatting and structure. It follows a 4-step workflow: extract, translate, update metadata, and reassemble.

Functionality

  • Extracts content from EPUB archives
  • Creates bilingual text content in HTML/XHTML files by adding translations alongside original text
  • Updates metadata to reflect the bilingual nature of the content
  • Reassembles bilingual content into a valid EPUB archive
  • Preserves original formatting, structure, and non-text content
  • Unzips and parses EPUB files to identify navigation and content files
  • Supports multiple target languages for bilingual output

Workflow

  1. Extract: Unzip the EPUB file to access its contents (HTML files, metadata, etc.)
  2. Translate: Identify text content in HTML/XHTML files and add translations alongside original text
  3. Update Metadata: Modify language settings in content.opf and other relevant files to reflect bilingual content
  4. Reassemble: Zip the bilingual files back into a valid EPUB archive

Implementation Details

  • Reads EPUB as a zip archive (mimetype, META-INF/, EPUB/ folder structure)
  • Parses HTML/XHTML files to extract translatable text while preserving tags
  • Updates DC metadata language field in content.opf to indicate bilingual content
  • Maintains the original file structure and properties during reassembly
  • Validates the final EPUB file to ensure it's a properly formatted archive
  • Uses unzip -d command to extract the EPUB file to a temporary directory
  • Opens each file in the extracted EPUB folder to examine its content
  • Adds translated text alongside the original text in each file
  • Preserves the original text while adding translations
  • Compresses the bilingual files back into an EPUB file

Usage

  1. Extract the source EPUB using unzip
  2. Add translated text alongside original content in HTML files while keeping the markup intact
  3. Update language metadata in content.opf to indicate bilingual content
  4. Reassemble using zip command with proper options to maintain EPUB format
  5. Verify the result with unzip -t to ensure integrity

Usage Examples

Create a bilingual English-Chinese book about mybook.epub, and save it to mybook_bilingual.epub.

Key Considerations

  • EPUB files are essentially ZIP archives with a specific structure
  • The mimetype file must be the first file in the archive and stored without compression
  • Language attributes in HTML files and metadata should reflect the bilingual nature
  • All original file paths and structures must be preserved during reassembly
  • Original text content must be preserved alongside the new translations
  • No automated scripts should be created for translation; instead, create a TODO list of files that need translation
  • Directly read file content and perform modifications on the files rather than using automated processes

Bilingual Formatting Standards

To ensure optimal reading experience in bilingual EPUB files:

  • Use paragraph-by-paragraph comparison format, with translated text immediately following the corresponding original paragraph
  • Maintain consistent formatting for both languages throughout the document
  • Preserve the original document structure while integrating translated content
  • Use appropriate language tags (lang attributes) for both original and translated text
  • Clearly separate original and translated content with visual indicators (e.g., different text colors, spacing, or containers)
  • Ensure proper text direction and typography for both languages
  • Maintain consistent font sizes and styles that work well for both languages
  • Follow a structured approach: original paragraph, then translated paragraph, maintaining the logical flow of content