English ยท Franรงais ยท Deutsch ยท ็ฎไฝไธญๆ ยท ็น้ซไธญๆ ยท ํ๊ตญ์ด ยท Portuguรชs
Looking for someone to translate this README.
Pure, unadulterated vibe coding powers this entire beast of a project.
DocxTranslator is a tool to translate Word documents (.docx) using OpenAI's API. It preserves the original document formatting and adds translations below each paragraph.
โคท If these images don't display, you can view them on Github
- ๐ Translate Word documents (.docx) using OpenAI GPT models
- ๐จ Preserve document formatting and structure
- ๐ Add translations directly below the original text
- ๐ป Command-line interface for easy integration into scripts
- ๐ Web interface powered by Streamlit
- ๐พ Translation caching to avoid redundant API calls
- โก Parallel processing for faster translation
- ๐ง Support for custom OpenAI API endpoints
pip install docx-translatorYou can use the prebuilt Docker image to get started immediately:
# Pull the prebuilt image
docker pull johndope/docx-translator:latest
# Run with your API key
docker run -p 8501:8501 -e OPENAI_API_KEY=your-api-key johndope/docx-translatorAfter installation, you can use the dt command to translate documents:
# Basic usage
dt translate document.docx Spanish
# Specify output file
dt translate document.docx French --output translated_document.docx
# Translate specific paragraph styles
dt translate document.docx German --styles "Normal,Heading 1,List Paragraph"
# Use a different model
dt translate document.docx Japanese --model gpt-4o
# Disable caching
dt translate document.docx Chinese --no-cache
# Clear cache for a language before translation
dt translate document.docx Italian --clear-cache
# Process sequentially (instead of in parallel)
dt translate document.docx Russian --sequential
# Show verbose logging
dt translate document.docx Portuguese --verbosedt clear-cachesdt serveYou can run DocxTranslator using Docker:
# Pull the prebuilt image
docker pull johndope/docx-translator:latest
# Run with your API key
docker run -p 8501:8501 -e OPENAI_API_KEY=your-api-key johndope/docx-translator# Create a .env file with your OpenAI API key and other settings
echo "OPENAI_API_KEY=your-api-key" > .env
# Build and start the Docker container
docker-compose up -d
# Access the web interface at http://localhost:8501The Docker setup:
- ๐ Uses the installed package directly via the
dtcommand - ๐ฝ Mounts a cache directory for persistent translations
- ๐ Mounts a data directory for sharing documents with the container
You can set the following environment variables (or use a .env file):
OPENAI_API_KEY: Your OpenAI API keyOPENAI_BASE_URL: Custom base URL for OpenAI API (optional)OPENAI_MODEL: The model to use (default: gpt-4-turbo)OPENAI_MAX_CONCURRENT: Maximum concurrent requests (default: 5)TARGET_LANGUAGE: Default target language (default: Spanish)DOCX_TRANSLATOR_CACHE_DIR: Custom cache directory
You can also use DocxTranslator programmatically:
from pathlib import Path
from docx_translator.translator import setup_openai_client, process_document
# Set up OpenAI client
client = setup_openai_client(api_key="your-api-key")
# Translate document
process_document(
input_file=Path("document.docx"),
output_file=Path("translated_document.docx"),
target_language="Spanish",
target_styles=["Normal", "Heading 1"],
openai_client=client,
use_cache=True,
parallel=True,
max_concurrent=5
)DocxTranslator includes a web interface powered by Streamlit. To start it:
dt serveThis will launch a local web server where you can:
- ๐ค Upload Word documents
- ๐ฏ Select which paragraph styles to translate
- โ๏ธ Configure OpenAI API settings
- ๐ Start translations with progress tracking
- ๐ฅ Download the translated document
MIT