A browser extension for Chrome and Edge that enables seamless side-by-side translation
Split Translator is a browser extension for Chrome and Edge that enables seamless side-by-side translation of the current tab with a single click. The extension duplicates the active tab, arranges both windows without any visible gap, and automatically translates the right window using Google Translate.
- One-Click Operation: Instantly split the current tab and translate the right window with a single button.
- Multi-Monitor Support: Works correctly on secondary monitors and multi-display environments.
- 10 Languages Supported: Japanese is the default, with support for nine additional major languages.
All features are executed with a single button:
- Window Splitting: Duplicates the current tab and arranges both windows side by side with no gap.
- Automatic Translation: The right window is automatically translated using Google Translate.
- Language Selection: The selected target language is saved automatically for future use.
- Chinese (zh)
- English (en)
- French (fr)
- German (de)
- Italian (it)
- Japanese (ja) - Default
- Korean (ko)
- Portuguese (pt)
- Russian (ru)
- Spanish (es)
- Navigate to
chrome://extensions/ - Enable "Developer mode" in the top right corner
- Click "Load unpacked"
- Select this project folder
- Navigate to
edge://extensions/ - Enable "Developer mode" in the lower left corner
- Click "Load unpacked"
- Select this project folder
Quick Start: Only two steps are required:
- Select Language: Click the extension icon and choose your target language
- Execute: Click the "Split + Translate" button
β The screen will be split side by side, and the right window will automatically display the translated page.
split-translator/
βββ manifest.json # Extension configuration (Manifest V3)
βββ popup.html # UI (single-button design)
βββ popup.js # UI logic
βββ background.js # Main logic (Service Worker)
βββ package.json # Project metadata
βββ LICENSE # MIT License
βββ PRIVACY_POLICY.md # Privacy policy for Chrome Web Store
βββ README.md # Project documentation
βββ split-translator-demo.gif # Demo animation
βββ icons/ # Icon files (multiple sizes)
βββ icon-16.png # 16Γ16px (toolbar)
βββ icon-32.png # 32Γ32px (Windows)
βββ icon-48.png # 48Γ48px (extension management)
βββ icon-128.png # 128Γ128px (Chrome Web Store)
{
"permissions": [
"tabs", // Tab operations
"storage", // Save settings
"system.display" // Multi-monitor support
],
"host_permissions": [
"https://translate.google.com/*"
]
}- Window API: Precise window splitting using
chrome.windows - Google Translate: Reliable web page translation
- Storage API: Persistent language settings
- Display API: Multi-monitor detection
| Item | Details |
|---|---|
| Restricted Sites | Does not work on chrome://, edge://, or other internal pages |
| Translation Dependency | Relies on Google Translate (not available offline) |
| Popup Blockers | Please allow popups in your browser settings |
| Screen Resolution | Minimum width of 800px is recommended |
| Browser Version | Chrome 88+, Edge 88+ (Manifest V3 required) |
This extension is built with TypeScript for enhanced type safety and maintainability.
- Node.js (v22 or higher)
- npm
# Install dependencies
npm install
# Build TypeScript to JavaScript
npm run build
# Clean build directory
npm run clean
# Watch for changes during development
npm run watch
# Build and package for distribution
npm run packagesrc/
βββ background.ts # Service worker (TypeScript)
βββ popup.ts # Popup script (TypeScript)
dist/
βββ background.js # Compiled service worker
βββ popup.js # Compiled popup script
const OVERLAP_PIXELS = 8; // Adjustable in src/background.ts<!-- Add to the <select> element in popup.html -->
<option value="new_language_code">π New Language Name</option>await waitForTabReady(tabId, 3000); // 3 seconds timeoutMIT License β Free for personal and commercial use.
