Переводчик RU⇄EN для Chrome. Бесплатно на Gemini или платно на Claude. Выделяешь текст на любом сайте — получаешь перевод, который читается как написанный человеком, а не выданный машиной.
Толмач — старое русское слово для живого переводчика, который переводит смысл, а не подставляет слова из словаря. Отсюда и название.
- Выделил — перевёл. Рядом с выделением всплывает кнопка. Или
Alt+T. Перевод печатается на глазах, а не появляется через три секунды молчания. - Второй вариант. К каждому переводу — альтернативная формулировка, если она вообще осмысленно отличается.
- Четыре тона. Естественно, дословно, для твита, официально. Переключаются прямо в карточке — текст перегоняется заново.
- Вся страница.
Alt+Pпереводит страницу сверху вниз, кусками, на глазах. Второе нажатие возвращает оригинал. - Своё окно. Клик по иконке — поле для своего текста. Если на странице что-то выделено, оно подставится само.
- Личный словарь. Слова, которые надо переводить именно так и не иначе.
- Ответ под постом в X. У каждого поста своя кнопка: ответ пишется по промпту REPLY PROMPT V3 без добавок, карточка показывает его вывод целиком. Модель видит пост, цитату, картинки, карточку ссылки, профиль автора и ответы под постом. «Перевести и вставить» переводит вариант на английский и кладёт в поле ответа X. Отправляешь сам: Толмач ничего не публикует.
Не трогает тикеры ($ETH), хэндлы (@vitalik), ссылки, адреса кошельков,
код и названия протоколов. Они остаются как есть — в обе стороны.
- Открой
chrome://extensions - Включи Режим разработчика (переключатель справа сверху)
- Загрузить распакованное расширение → выбери эту папку
- Откроется страница настроек — вставь ключ Gemini и нажми Проверить
Бесплатный ключ Gemini берётся на aistudio.google.com. Подписка Gemini/AI Pro для этого не нужна и не помогает: API живёт отдельно. «Проверить» сам выберет самые свежие Flash-модели, которые видит ключ.
Хочешь Claude — переключи «Чем переводить» и вставь ключ с console.anthropic.com. Там счёт надо пополнить.
Gemini — ноль, в пределах дневного лимита бесплатного ключа. Упёрся в лимит — поставь Flash-Lite и для ответов, у неё лимит больше.
Claude — платишь Anthropic по факту, за токены. По ценам Opus 5 ($5 за млн входных, $25 за млн выходных) перевод абзаца — доли цента; активный день чтения англоязычных лент упирается в единицы центов. Целая страница дороже одного выделения — там текста в разы больше.
В настройках можно переключить модель на Sonnet 5 или Haiku 4.5, если хочется быстрее и дешевле.
В chrome.storage.local этого браузера. Читает его только service worker —
он и ходит в Google или Anthropic. На страницы, которые ты открываешь, ключ не попадает
никогда: скрипт страницы умеет только попросить перевод и получить текст.
Проверяется автоматически, см. check.mjs.
node test-engine.mjs # чистые функции: определение языка, разбор ответа, пакеты
node check.mjs # манифест, файлы, синтаксис, права, утечка ключа
python make-icons.py # перерисовать иконкиКак устроено:
| Файл | За что отвечает |
|---|---|
engine.js |
Промпты, запросы к Gemini и Claude, разбор потока. Единственное место с ключом. |
background.js |
Service worker: меню, горячие клавиши, раздача переводов по портам. |
content.js |
Всё, что видно на странице. Живёт в shadow root, стилями не пересекается. |
popup.js |
Окно расширения для своего текста. |
options.js |
Настройки и живая проверка ключа. |
Перевод идёт потоком: service worker читает SSE от модели и шлёт куски в карточку через порт. Закрыл карточку — порт рвётся, запрос отменяется, недогенерированное не оплачивается.