Tutorial

Set up Translator (AI Academic Paper Translator) on Chrome, connect your preferred AI provider, and translate papers without breaking formulas.

1) Install

Chrome Web Store
Install the extension and (optionally) pin it to the toolbar.
Open the popup
Click the extension icon to access quick actions like “Translate Page” and toggles.
Open Settings
In the popup, click “Settings” to configure your API.

2) Configure API

Provider / Endpoint
Pick a provider. Use “Custom” if you want a self-hosted or local OpenAI-compatible endpoint.
API key
The extension is free; you bring your own key from the model provider.
Model
Select a model from the list or input a custom model name.
Target language
Choose the output language (or keep it automatic if you prefer).
Hotkeys
You can change the hover hotkey (default: Shift) and selection hotkey (default: Ctrl).
Custom prompt (optional)
Use presets or write your own prompt to control tone/terminology.

3) Translate

Selection translation
Select text and click the Translate button, or press the selection hotkey (default: Ctrl). Inline vs popup is configurable.
Hover translation
Hover a paragraph and press the hover hotkey (default: Shift) to toggle bilingual inline translation.
Full-page translation
Use the popup “Translate Page”, the float ball menu, or the right-click menu.
Show / hide translations
After translating a page, use the float ball menu to show/hide without re-translating.
Clear
Press Esc to close popups/menus and clear inline translations.
Remove a single block
Right-click a paragraph/translation and remove it from the context menu.

Extras

Float ball
Enable it in Settings (or toggle from the popup). Drag to reposition; click to open quick actions.
Input translate
Open the float ball menu and choose “Input Translate” to translate any text you paste.
YouTube captions
Enable in Settings or from the popup. Turn on captions on YouTube; subtitles translate as they appear.
Formula-safe
MathJax/KaTeX and plain LaTeX are preserved with placeholders.
Code-safe
Code blocks are skipped to avoid corrupting snippets.
Privacy control
Requests only go to your configured endpoint; use local/intranet LLMs for maximum privacy.