A modern ebook library with translation capabilities using Ollama AI.
- 📚 Library Management: Organize your EPUB books in a modern interface
- 🌍 Smart Translation: Translate books to different languages using Ollama
- 📖 Integrated Reader: Read your books in optimized HTML/CSS/JS
- 💾 Local Storage: Data saved in
~/.epubreader/ebooks
- 🎨 Modern Interface: Dark and responsive design
- Rust (version 1.70+)
- Node.js (version 16+)
- Ollama (for translation features)
# macOS/Linux
curl -fsSL https://ollama.ai/install.sh | sh
# Windows
# Download from https://ollama.ai/download
# Start Ollama
ollama serve
# Install a recommended model
ollama pull llama3.1:8b
# Run the automated setup script
./setup.sh
# Start the application
cargo tauri dev
- Clone the repository:
git clone <repository-url>
cd epub-reader-library
- Install Tauri dependencies:
cargo install tauri-cli
- Run in development mode:
cargo tauri dev
- For production build:
cargo tauri build
- Click the "Add Book" button in the top right corner
- Select an EPUB file from your system
- The book will be processed and added to your library
- Make sure Ollama is running
- Select the target language in the header selector
- Click "Translate" on the book card
- Wait for the translation process to complete
- Click "Read" on the book card
- The book will open in your default browser
- Use arrow keys to navigate between chapters
- Use reading controls to adjust font and theme
- 🚀 Quick Start Guide - Get up and running in 5 minutes
- 👤 User Guide - Complete feature documentation
- 🎨 Visual Guide - Interface mockups and workflows
- 🔧 Troubleshooting - Common issues and solutions
Visit the guides/ directory for comprehensive documentation including:
- Installation and setup instructions
- Feature tutorials and workflows
- Visual interface guides
- Troubleshooting and FAQ
- Configuration options
epub-reader-library/
├── src/ # Rust code (backend)
│ ├── main.rs # Main entry point
│ ├── commands.rs # Tauri commands
│ ├── database.rs # SQLite database management
│ ├── epub_processor.rs # EPUB file processing
│ ├── ollama_client.rs # Ollama API client
│ └── models.rs # Data structures
├── src-tauri/ # Tauri configuration
├── assets/ # Assets for generated books
├── guides/ # Documentation guides
├── index.html # Main interface
├── styles.css # Application styles
├── app.js # Main JavaScript
└── README.md # This file
- 🇺🇸 English
- 🇧🇷 Português
- 🇪🇸 Español
- 🇫🇷 Français
- 🇩🇪 Deutsch
- 🇮🇹 Italiano
- 🇯🇵 日本語
- 🇰🇷 한국어
- 🇨🇳 中文
- 🇷🇺 Русский
- 🇸🇦 العربية
- 🇮🇳 हिन्दी
Data is stored in:
- macOS:
~/Library/Application Support/.epubreader/ebooks/
- Linux:
~/.local/share/.epubreader/ebooks/
- Windows:
%APPDATA%\.epubreader\ebooks\
Each book has:
- SQLite database with translated text
- Directory of extracted images
- Generated HTML/CSS/JS files
- Database: SQLite with tables for books, chapters and images
- EPUB Processing: Text, metadata and image extraction
- Ollama Integration: HTTP client for AI translation
- Tauri Commands: Interface between frontend and backend
- Vanilla HTML/CSS/JS: Simple and fast interface
- Grid Layout: Library visualization in grid
- Modal System: Dialogs for status and progress
- Responsive Design: Works on different screen sizes
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Translation can be slow depending on the Ollama model used
- Some EPUB files with DRM are not supported
- The reading interface is basic (improvements planned)
- Support for more formats (PDF, MOBI)
- Cloud synchronization
- Annotations and bookmarks
- Integrated reader in application
- Customizable themes
- Reading statistics
- 📖 Read the guides for comprehensive documentation
- 🐛 Report issues on GitHub
- 💬 Start a discussion for questions
Enjoy your smart digital library! 📚✨