Skip to main content

translate

Local multilingual translation via Ollama — 119 languages, no API key, no network, no data leaves the machine. Use when translating to/from Japanese, Chinese, Korean, French, Spanish, German, Portuguese, Russian, Arabic, or any other language. Also for localization, i18n text, and roundtrip validation. Qwen3:32b on Apple Silicon — faster and cheaper than cloud APIs.

Jump to install

Source facts

Repository
ryanmaclean/skills
Last source activity
April 15, 2026 at 08:48
Detected SKILL.md language
English
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
translate
description
Local multilingual translation via Ollama — 119 languages, no API key, no network, no data leaves the machine. Use when translating to/from Japanese, Chinese, Korean, French, Spanish, German, Portuguese, Russian, Arabic, or any other language. Also for localization, i18n text, and roundtrip validation. Qwen3:32b on Apple Silicon — faster and cheaper than cloud APIs.
# translate — Local Translation via Ollama Offline-first. Qwen3 via Ollama. No data leaves the machine. ## Models (64GB unified memory) | Model | Size | Use | |-------|------|-----| | `qwen3:32b` | 20GB | Default — best quality | | `qwen3:30b` | 19GB MoE | Fast — near-same quality | | `qwen3:14b` | 9.3GB | Acceptable quality, fastest | ```bash ollama pull qwen3:32b # one-time ``` ## Run the script ```bash # Translate text to a target language nu script/translate.nu "Japanese" "technical-formal" "Your text here" # From a file nu script/translate.nu "Japanese" "technical-formal" \ --file /path/to/input.txt # Round-trip validation (EN -> JP -> EN) nu script/translate.nu "Japanese" "technical-formal" \ "Your text" --roundtrip ``` ## Workflow checklist ``` Translation Progress: - [ ] 1. Choose target language and register (see registers table below) - [ ] 2. Run: nu script/translate.nu "Language" "register" "text" - [ ] 3. Verify: does output read naturally? Check for register flattening. - [ ] 4. For critical text: run --roundtrip and compare back-translation - [ ] 5. For legal/published copy: use Qwen-MT API instead (see cjk.md) ``` ## Registers (Japanese) | Context | Register | |---------|----------| | Engineering spec, PR | `technical-formal` | | Stakeholder report | `formal` | | Slack / team chat | `casual` | | Customer-facing docs | `polite` | | Legal / contract | `keigo` | ## Thinking mode - `/no_think` — default, faster, use for technical docs and UI strings - `/think` — use for literary passages, ambiguous register, irony ## CJK detail For CJK-specific system prompts, register rules, honorific mapping, chengyu handling, and Korean verb ending nuances: see [cjk.md](cjk.md) ## Shell escaping rule **Never** interpolate text into jq strings. Always `--arg` + pipe via `@-`. The script handles this correctly. See [cjk.md](cjk.md) for the pattern. ## Limitations - Qwen3:32b local vs Qwen-MT API: local strong, Qwen-MT better for legal/published - Proper nouns: verify katakana readings for obscure new names - No pitch accent reconstruction for TTS output
View on GitHub