Translate academic papers (PDF) while preserving formulas, charts, and layout using CLI commands. Use when users need to translate research papers, arXiv PDFs, or scientific documents with flexible options (page selection, output directories, language pairs). Trigger for '논문 번역', 'translate paper', 'translate PDF', or PDF translation tasks. Uses uvx to run scholar-translator CLI directly.
Translate academic PDF papers while preserving mathematical formulas, charts, tables, and layout using flexible CLI commands with full parameter control.
This skill uses uvx to run scholar-translator directly from GitHub - no manual installation required.
If uvx is not available, install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
To use AWS Bedrock translation service (recommended for quality), set these environment variables:
export AWS_ACCESS_KEY_ID="your-access-key-id"
export AWS_SECRET_ACCESS_KEY="your-secret-access-key"
export AWS_REGION="us-west-2"
Alternative: Use Google Translate service (no credentials required, but lower quality for technical content).
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator \
<file> \
[options]
# Translate entire PDF to Korean using AWS Bedrock
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator \
/path/to/paper.pdf
# Translate specific pages to Japanese
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator \
/path/to/paper.pdf \
--lang-out ja \
--pages 1-10
| Parameter | Short | Description | Default | Required |
|---|---|---|---|---|
file | - | PDF file path (absolute or relative) | - | Yes |
--lang-in | -li | Source language code | auto (detect) | No |
--lang-out | -lo | Target language code | ko (Korean) | No |
--service | -s | Translation service: bedrock or google | bedrock | No |
--model | -m | Model ID (for Bedrock) | claude-haiku-4.5 | No |
file (required)
/home/user/papers/research.pdf or "./My Papers/paper.pdf"--lang-in / -li (optional)
en, ja, zh)auto (automatic detection)--lang-out / -lo (optional)
ko, en, ja)ko (Korean)--service / -s (optional)
bedrock - AWS Bedrock Claude models (high quality, requires AWS credentials)google - Google Translate (free, lower quality for technical content)bedrock--model / -m (optional)
claude-haiku-4.5, claude-sonnet-4.5, claude-opus-4.5claude-haiku-4.5 (fast, cost-effective)| Parameter | Short | Description | Default | Use Case |
|---|---|---|---|---|
--pages | -p | Page range to translate | All pages | Large docs, specific sections |
--output | -o | Output directory path | Current dir | Organize translations |
--thread | -t | Number of parallel threads | 4 | Speed up large docs |
--font-regex | - | Font pattern for rendering | Auto | Fix font issues |
--ignore-cache | - | Disable translation cache | False | Force re-translation |
--compatible | -cp | Convert to PDF/A format | False | Compatibility |
--debug | -d | Enable debug logging | False | Troubleshooting |
--pages / -p (critical feature!)
-p 1-p 1-10-p 1-3,7,10-15-p 1 - Translate only abstract/introduction-p 1-5 - Translate first 5 pages-p 10-20 - Translate specific section-p 1,5,10 - Translate summary pages only--output / -o (important feature!)
-o /tmp/translations/ - Temporary location-o ./output/japanese/ - Organize by language-o ~/Documents/translated/ - User documents folder--thread / -t
-t 8 or -t 12-t 2--font-regex
--font-regex "NanumGothic.*" for Korean--ignore-cache
Supported language codes for translation:
| Code | Language | Direction | Notes |
|---|---|---|---|
auto | Auto-detect | Source only | Default for --lang-in |
ko | Korean | Both | Default target language |
en | English | Both | Common source language |
ja | Japanese | Both | Full support |
zh | Chinese | Both | Simplified Chinese |
fr | French | Both | Full support |
de | German | Both | Full support |
es | Spanish | Both | Full support |
pt | Portuguese | Both | Full support |
ru | Russian | Both | Cyrillic support |
it | Italian | Both | Full support |
ar | Arabic | Both | RTL layout preserved |
hi | Hindi | Both | Devanagari support |
Usage:
--lang-in): Defaults to auto-detection, specify if needed--lang-out): Required if not using default koQuality: High - Uses Claude 4.5 models specialized for translation
Requirements:
Available Models:
| Model | Speed | Quality | Cost per page | When to Use |
|---|---|---|---|---|
claude-haiku-4.5 | Fast | Good | ~$0.02-0.05 | Standard papers, previews, batch jobs (default) |
claude-sonnet-4.5 | Medium | High | ~$0.15-0.30 | Technical papers, complex terminology, critical translations |
When to use Haiku (default):
When to use Sonnet:
Quality: Good for general content, lower for technical/academic
Requirements: None (free service)
When to use Google Translate:
Every translation creates two PDF files:
{filename}-{lang}-mono.pdf){filename}-{lang}-dual.pdf)File Location:
--output: Custom directory specifiedExample:
# Input: /home/user/papers/research.pdf
# Output (default):
# /home/user/papers/research-ko-mono.pdf
# /home/user/papers/research-ko-dual.pdf
#
# Output (with -o /tmp/translations/):
# /tmp/translations/research-ko-mono.pdf
# /tmp/translations/research-ko-dual.pdf
Standard Translation Steps:
echo $AWS_ACCESS_KEY_IDls -lh /path/to/paper.pdfls -lh output-dir/AWS AccessDeniedException: Use --service google or set AWS credentials (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION)
File Not Found: Verify file exists (ls -lh file.pdf), use absolute path (realpath), quote paths with spaces
Permission Denied: Check write permissions or use --output to specify different directory
Paths: Use absolute paths, quote spaces: "/path with/spaces.pdf"
Performance: Default 4 threads; increase for large docs (-t 8), reduce for rate limits (-t 2)
Organization: Use --output for language/project-specific directories
Page Selection: Use --pages for large PDFs to save time/cost (e.g., -p 1-10 for intro/conclusion)
# Basic translation (Korean, Bedrock Haiku)
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator paper.pdf
# Specify target language
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator paper.pdf --lang-out ja
# Translate specific pages only
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator paper.pdf --pages 1-10
# Custom output directory
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator paper.pdf --output /tmp/translations/
# High-quality translation (Sonnet)
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator paper.pdf \
--service bedrock --model claude-sonnet-4.5
# Google Translate (no AWS credentials)
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator paper.pdf --service google
# Fast translation (more threads)
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator paper.pdf --thread 12
# Complete example with all options
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator \
/path/to/paper.pdf \
--lang-in en \
--lang-out ja \
--service bedrock \
--model claude-sonnet-4.5 \
--pages 1-20 \
--output ~/translations/japanese/ \
--thread 8
# Batch translation to multiple languages
for lang in ja fr de es; do
uvx --from git+https://github.com/hi-space/scholar-translator.git scholar-translator \
paper.pdf \
--lang-out $lang \
--output ./translations/$lang/
done