AI-powered Excel translation CLI. Translates Excel files while preserving formatting, formulas, and data integrity.
Rosetta translates all text in your Excel files using Claude AI, without breaking:
- Formulas and calculations
- Formatting (fonts, colors, borders)
- Merged cells and layouts
- Charts and images
- Dropdown menus
- Rich text (bold, italic within cells)
You need a Claude API key from Anthropic.
- Go to console.anthropic.com
- Create an account (or sign in)
- Go to API Keys and create a new key
- Copy the key (starts with
sk-ant-...)
Note: API usage is billed by Anthropic. See anthropic.com/pricing for current rates. Translating a typical Excel file costs a few cents.
Install from PyPI:
pip install rosetta-xlThen set your API key:
# Linux/macOS
export ANTHROPIC_API_KEY=sk-ant-your-key-here
# Windows (Command Prompt)
set ANTHROPIC_API_KEY=sk-ant-your-key-here
# Windows (PowerShell)
$env:ANTHROPIC_API_KEY="sk-ant-your-key-here"Or create a .env file in your working directory:
ANTHROPIC_API_KEY=sk-ant-your-key-here
# Translate to French
rosetta input.xlsx -t french
# Translate to Spanish with custom output name
rosetta input.xlsx -t spanish -o translated.xlsx
# Specify source language (auto-detected by default)
rosetta input.xlsx -s english -t german
# Translate only specific sheets
rosetta input.xlsx -t french --sheets "Sheet1" --sheets "Data"
# Add context for better translations (e.g., domain-specific terms)
rosetta input.xlsx -t french -c "Medical terminology document"| Option | Short | Description |
|---|---|---|
--target-lang |
-t |
Target language (required) |
--source-lang |
-s |
Source language (auto-detect if omitted) |
--output |
-o |
Output file path (default: input_translated.xlsx) |
--sheets |
Sheets to translate (can repeat, default: all) | |
--context |
-c |
Domain context for better accuracy |
--batch-size |
-b |
Cells per API call (default: 50) |
Translate a price list to multiple languages:
rosetta prices.xlsx -t french -o prices_fr.xlsx
rosetta prices.xlsx -t german -o prices_de.xlsx
rosetta prices.xlsx -t spanish -o prices_es.xlsxTranslate a medical form with context:
rosetta patient_form.xlsx -t french -c "Medical intake form with clinical terminology"Translate only the "Questions" sheet:
rosetta survey.xlsx -t japanese --sheets "Questions""ANTHROPIC_API_KEY not set"
- Make sure you've exported the key:
export ANTHROPIC_API_KEY=sk-ant-... - Or create a
.envfile with the key
"Invalid API key"
- Check that your key starts with
sk-ant- - Make sure you copied the full key from console.anthropic.com
"Rate limit exceeded"
- You've hit Anthropic's rate limits. Wait a minute and try again
- Or reduce batch size:
rosetta input.xlsx -t french -b 20
- Extracts all text cells from your Excel file
- Sends text to Claude AI for translation (in batches)
- Writes translations back, preserving all formatting
- Saves the translated file
Your original file is never modified.
- Python 3.11+
- Anthropic API key
MIT