| feature | thumbnail |
|---|---|
thumbnails/external/f5de8e2401879b69abcd8c96e119905d.svg |
thumbnails/external/f5de8e2401879b69abcd8c96e119905d.svg |
Translate your Obsidian notes in a split pane with original and translated text displayed side-by-side.
- Split Pane Translation - View original and translated text side-by-side for easy comparison
- Streaming Translation - See results appear in real-time as translation completes
- Code Block Preservation - Automatically protects code blocks and inline code from translation
- Scroll Synchronization - Translation view scrolls automatically with your editor
- Multi-Language Support - Auto-detect source language or select from 100+ languages
- Retry Logic - Automatic retries with exponential backoff for reliable translation
- Markdown Rendering - Translated content renders with Obsidian's native styling
- Selection Translation - Translate just the selected text or the entire note
- Download the latest release from the Releases page
- Extract the downloaded files
- Move the extracted folder to your Obsidian vault's plugins directory:
- macOS:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/YourVault/.obsidian/plugins/ - Windows:
%USERPROFILE%\OneDrive\Documents\YourVault\.obsidian\plugins\ - Linux:
~/Documents/YourVault/.obsidian/plugins/
- macOS:
- Rename the folder to
obsidian-split-translatorif needed - Enable the plugin in Obsidian: Settings → Community Plugins → Enable "Split Translator"
If you have BRAT installed:
- Open Settings → BRAT
- Click "Add Beta Plugin"
- Enter:
warezio/obsidian-split-translator - Click "Add Plugin" and enable it
- Open any markdown note in Obsidian
- Use the command palette:
- macOS:
Cmd + P - Windows/Linux:
Ctrl + P
- macOS:
- Type "Split Translator: Translate current note" and press Enter
- The translation pane will open on the right
- Select the text you want to translate
- Open command palette (
Cmd/Ctrl + P) - Type "Split Translator: Translate selection" and press Enter
Click the languages icon in the note header (between the view toggle and more options) to quickly translate the current note.
Configure Split Translator in Settings → Split Translator:
| Setting | Description | Options |
|---|---|---|
| Source Language | Language of the original text | auto, en, ko, ja, zh, es, fr, de, and 100+ more |
| Target Language | Language to translate to | en, ko, ja, zh, es, fr, de, and 100+ more |
The plugin supports all languages available in Google Translate, including:
- Auto-detect
- English (en)
- Korean (ko)
- Japanese (ja)
- Chinese (zh)
- Spanish (es)
- French (fr)
- German (de)
- And 90+ more languages
Split Translator uses Google Translate's unofficial API to provide fast, free translation without requiring API keys or authentication.
Note: This API may have rate limits and is not officially supported by Google. For heavy usage, consider official alternatives.
- Masking - Code blocks and inline code are protected with placeholders
- Chunking - Text is split into 3000-character chunks for reliable translation
- Translation - Each chunk is translated with retry logic (3 attempts)
- Unmasking - Protected code blocks are restored
- Rendering - Markdown is rendered with Obsidian's native styling
- Bun (or npm)
- Obsidian 1.5.0 or higher
# Install dependencies
bun install
# Development mode (watch + inline sourcemaps)
bun run dev
# Production build
bun run build
# Debug build (with inline sourcemaps)
bun run build:debugobsidian-split-translator/
├── src/
│ ├── main.ts # Plugin entry point, translation pipeline
│ ├── view.ts # Translation view (split pane)
│ └── settings.ts # Settings tab
├── styles.css # Plugin styles
├── manifest.json # Obsidian plugin manifest
├── esbuild.config.mjs # Build configuration
└── main.js # Built output (generated)
The project includes VSCode launch configurations for debugging:
- Debug Obsidian Plugin - Builds and launches Obsidian with debugger attached
- Attach to Obsidian - Attaches to a running Obsidian instance
See .vscode/launch.json for details.
- Uses unofficial Google Translate API (may break or have rate limits)
- Translation quality depends on Google Translate
- Very large notes may take time to translate
- Internet connection required
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE for details.