TransKit is a Chrome extension that brings instant, AI-powered translation directly to your input fields. No more switching tabs or copy-pasting—just type, command, and translate.
- Instant Translation: Type
!!<lang>or!!tafter your text to translate instantly - Multiple AI Providers: Choose from Chrome Built-in AI, Google Gemini, OpenAI, Groq, Ollama (local), or custom endpoints
- Custom Prompts: Tailor translation behavior for technical, casual, or medical terminology
- Instant Domain Mode: Auto-translate on specific domains (chat apps, AI assistants) with inline suggestions
- Quick Toggle: Press
Ctrl+Shift+Ito enable/disable instant mode (auto-adds domain if not in list) - Instant Label Indicator: Visual badge above input fields when instant mode is active
- Select-to-Translate: Highlight text to translate with a draggable, feature-rich popup
- Smart Language Detection: Automatically detects source language
- Customizable Aliases: Create shortcuts for your most-used languages
- Non-blocking UI: Continue working while translations process
- Privacy-First: Default to Chrome's built-in AI for offline, private translation
One-click installation with automatic updates.
For developers and early adopters who want to run from source:
- Clone the repository:
git clone http://github.com/transkit-app/transkit-extension.git
- Open Chrome Extensions:
- Navigate to
chrome://extensions/in your browser.
- Navigate to
- Enable Developer Mode:
- Toggle the "Developer mode" switch in the top right corner.
- Load Unpacked:
- Click "Load unpacked" and select the
extensiondirectory from the cloned repository.
- Click "Load unpacked" and select the
Important
This extension works best with Chrome's built-in AI APIs (window.ai). For the default provider, ensure you are using Chrome 131+ and have enabled the necessary flags for "Prompt API for Gemini Nano" and "Language Detection API". Alternatively, configure a different AI provider (Gemini, OpenAI, Groq, Ollama, etc.) in the extension settings.
Type your text in any input field, then add the translation command:
Hello, how are you? !!vi
→ Xin chào, bạn khỏe không?
Tôi đang học tiếng Anh !!en
→ I am learning English
Quick translate to default target: !!t
Enable in settings for automatic translation on specific domains (Telegram, Discord, ChatGPT, etc.):
- Open extension popup
- Enable "Instant Translate for specific domains"
- Configure delay (default: 3 seconds)
- Manage domains and their popup position (top/bottom)
- Visit an enabled domain and start typing
How it works:
- Type your message normally
- Wait for configured delay (no need to add
!!) - Inline suggestion appears below/above input
- Press Tab to apply translation
- Press Esc to dismiss
- Press Delete/Backspace to dismiss and edit
- Tab: Apply suggested translation (Manual & Instant mode)
- Esc: Dismiss suggestion or popup
- Delete/Backspace: Dismiss suggestion and continue editing
- Ctrl+Shift+I (or Cmd+Shift+I on Mac): Toggle Instant Translate for the current domain
Open the extension popup to customize:
- Enable/Disable Extension: Toggle the extension on/off
- Native Language: Your primary language
- Default Target Language: Language to translate to when using
!!t - Revert Timeout: How long to show the confirmation dialog
- Prefer Native as Source: Use native language as default source
- Show Confirm Modal: Display confirmation before applying translation
- Custom Aliases: Create shortcuts (e.g.,
e→en,v→vi)
- Enable Instant Translate: Turn on auto-translation for specific domains
- Delay: Time to wait before translating (1-10 seconds)
- Active Domains: Manage domains with enable/disable toggles
- Position: Choose popup position (top/bottom) per domain
- Add Custom Domain: Add your own domains to the list
Default Domains:
- telegram.org (top)
- discord.com (top)
- zalo.me (top)
- openai.com (top)
- claude.ai (top)
- gemini.google.com (top)
- New: Line-by-Line Translation - Default granularity changed from "block" to "line" for more precise hover translations.
- New: Smart Boundary Detection - Intelligent detection of message boundaries on chat platforms (Discord, Slack, Telegram). No more accidentally selecting entire conversations.
- New: Modern CSS Spinner - Replaced GIF loading indicator with a lightweight, modern CSS spinner animation.
- Improved: HTML Bracket Escaping - Fixed issue where text containing
<or>(like<0.5%,<=,>=) was incorrectly parsed as HTML tags and causing data loss. - Improved: Responsive Selection Popup - Selection popup now dynamically adjusts width (320px-520px) and has a maximum height with smooth scrolling for long content.
- Improved: Custom Scrollbars - Added sleek, minimal scrollbars to translation content areas.
- Fix: Resolved issue where hovering on Discord messages would select the entire chat instead of individual messages.
- New: Hover to Translate - Simply hover over any text and press a modifier key (default:
Ctrl) to see an instant translation.- Smart Selection: Intelligently detects paragraphs, sentences, or specific text blocks.
- Unique Mode: Option to show only one translation at a time to keep your screen clean.
- Customizable: Choose your preferred modifier key (Ctrl, Alt, Shift), text color, and font size.
- Inject or Replace: Choose to display translation below the original text or replace it entirely.
- Improved: Modernized UI - Replaced checkboxes with sleek toggle switches for a cleaner look.
- Improved: Settings Organization - Better layout for settings with instant auto-save for all preferences.
- Improved: Localization - Added full Vietnamese language support for all new features.
- Fix: Resolved various minor UI bugs and improved performance.
- New: Custom AI Provider Support - Configure your own translation providers
- Ollama (Local): Run AI models locally on your machine for 100% privacy and offline capability
- Groq (Fast): Lightning-fast inference with generous free tier (llama-3.3-70b-versatile, mixtral-8x7b, etc.)
- Custom Endpoint: Connect to any OpenAI-compatible API
- New: Custom Prompt Configuration - Tailor translation behavior to your specific needs
- Add custom context for technical, casual, or medical terminology
- Maximum 500 characters for optimal performance
- New: AI Provider Management UI - Easily switch between and configure multiple providers
- Google Gemini, OpenAI, OpenRouter, DeepL, Ollama, and custom endpoints
- Improvement: Enhanced error handling and debugging for API connections
- Fix: Added localhost permissions for local AI provider support
-
Install Ollama: Download from ollama.com
-
Pull a model (we recommend
qwen2.5:1.5bfor fast responses):ollama pull qwen2.5:1.5b
-
Enable CORS (required for extension access):
# macOS/Linux OLLAMA_ORIGINS="*" ollama serve # Windows PowerShell $env:OLLAMA_ORIGINS="*" ollama serve
-
Configure in TransKit:
- Open extension popup → AI Provider tab
- Click "+ Add Provider"
- Select "Ollama (Local)"
- Name:
Local Ollama - Model:
qwen2.5:1.5b - Click "Save" and "Use"
-
Test it: Type
Hello !!viin any input field!
Why Ollama?
- 100% Privacy - Everything runs locally
- Free - No API costs
- Offline - Works without internet
- Fast - Models like
qwen2.5:1.5brespond in milliseconds
- New: Added
Ctrl+Shift+I(Cmd on Mac) shortcut to quickly toggle Instant Translate for the current domain. - New: Added "Instant" label indicator above input fields when instant mode is active.
- Improvement: Select-to-Translate popup is now draggable.
- Improvement: Added "Copy to Clipboard" button in Select-to-Translate popup.
- Improvement: Added Model selection and Source/Target language selectors directly in the Select-to-Translate popup.
- Improvement: Enhanced UI aesthetics with smooth transitions and better positioning.
This project is licensed under the MIT License.



