Skip to main content

Rosetta

PyPI version Python 3.11+ License: MIT

AI-powered Excel translation CLI. Translates Excel files while preserving formatting, formulas, and data integrity.

What it does

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)

Prerequisites

You need a Claude API key from Anthropic.

  1. Go to console.anthropic.com
  2. Create an account (or sign in)
  3. Go to API Keys and create a new key
  4. 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.

Installation

pip install rosetta-xl

Then 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

Usage

# 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"

Options

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)

Examples

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.xlsx

Translate 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"

Troubleshooting

"ANTHROPIC_API_KEY not set"

  • Make sure you've exported the key: export ANTHROPIC_API_KEY=sk-ant-...
  • Or create a .env file with the key

"Invalid API key"

"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

How it works

  1. Extracts all text cells from your Excel file
  2. Sends text to Claude AI for translation (in batches)
  3. Writes translations back, preserving all formatting
  4. Saves the translated file

Your original file is never modified.

Requirements

  • Python 3.11+
  • Anthropic API key

License

MIT

Metadata

Release files for rosetta-xl 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rosetta-xl 0.1.0
File Size Uploaded
rosetta_xl-0.1.0.tar.gz 69.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rosetta-xl 0.1.0
File Interpreter ABI Platform
rosetta_xl-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 87.9 kB

Release files / rosetta_xl-0.1.0.tar.gz

Download URL rosetta_xl-0.1.0.tar.gz
Size 69.7 kB
Tags Source
SHA-256 checksum
How to use checksums
fff2ef425835881bc6871ad28ae1e8bd9b9a1321ad437af2e68f53c9b37bdae2
BLAKE2b-256 checksum
How to use checksums
31d95009c54ad62ca33ccb79749827f42eacc34a8d25526c96f9fbf6f001125e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / rosetta_xl-0.1.0-py3-none-any.whl

Download URL rosetta_xl-0.1.0-py3-none-any.whl
Size 18.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
689e11b3c147607446129885debec94fa589cf5d3f6a0ab3f9ae191e654d3974
BLAKE2b-256 checksum
How to use checksums
f40c05fdf36ab35555c19da6dac783290f0b032383ce1c7964be17bbce0e3382
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page