Всплывающее окно расширения отвечало не на тот вопрос. В версии 1.16 оно вместо этого рисует страницу, на которой вы находитесь
Telli.sh: Every Translator 1.16 перестраивает всплывающее окно на панели инструментов в экран состояния: миниатюра страницы, на которой вы находитесь, пять подписанных чипов и точки, которые загораются зелёным только тогда, когда расширение может подтвердить, что оно действительно работает. Вся настройка переехала на отдельную страницу параметров с живыми скелетными превью, мгновенный перевод получил собственную вкладку и историю, которая сама очищается через 30 дней, а колокольчик уведомлений приносит блог Telli.sh на языке вашего браузера — в 15 языковых версиях.
До этой недели клик по значку Telli.sh на панели инструментов открывал ящик с настройками. Разметка всплывающего окна в версии 1.15 весила 16 936 байт и целиком содержала формы настройки всех восьми провайдеров, которым нужна настройка, — встроенный ИИ Chrome, Google, Apps Script, DeepL, Ollama, OpenAI-совместимый, OpenRouter и Claude, — плюс пять строк переключателей. Соседняя страница параметров весила 7621 байт. Меньше половины, и именно у неё было место в запасе.
Это перевёрнутая информационная архитектура, и никакой подбор размера шрифта её не чинит. Всплывающее окно на панели существует, чтобы ответить на один вопрос, который мы стали называть вопросом одного взгляда : включено ли оно и что именно оно сделает на этой странице? Ответ должен приходить меньше чем за секунду, без прокрутки, после чего окно закрывается.
Telli.sh: Every Translator 1.16 отправлен в Chrome Web Store 4 сентября 2026 года и на момент публикации находится на проверке. Эта версия отвечает на вопрос одного взгляда рисунком.
TL;DR
- Всплывающее окно теперь экран состояния. Ширина 372 пикселя, высота не более 560, прокрутки нет. В нём нет ни одного поля для учётных данных — мы посчитали, их буквально ноль.
- Оно рисует миниатюру страницы, на которой вы находитесь, и от каждой части макета к подписанному чипу идёт выносная линия: языки, режим отображения, предпросмотр перед отправкой, провайдер, помощь при вводе. Макет повторяет то, что расширение действительно рисует, вплоть до 8 пикселей зазора между плавающей кнопкой и полем ввода.
- Зелёный означает «подтверждено», а не «галочка стоит». Три состояния: зелёный — «работает в этой вкладке», янтарный — «включено, но не подтверждено», серый — «выключено».
- Мгновенный перевод и история стали второй и третьей вкладками. Незакреплённые записи истории истекают через 30 дней после создания, закреплённые — нет.
- Колокольчик уведомлений приносит наш блог на языке вашего браузера, читая отдельную RSS-ленту для каждого из 15 языков. Если вы хотите узнавать о новых материалах, не заходя на сайт, этот колокольчик теперь самый дешёвый способ.
- Всё, что настраивается, живёт на странице параметров, и она показывает работающую миниатюру каждого режима отображения вместо описания одной фразой.
Всплывающее окно отдало настройки — и в этом всё изменение
За версией 1.16 стоит одно решение: настройка уходит, состояние приходит. Значок шестерёнки в шапке окна ведёт прямо в соответствующий раздел страницы параметров, так что ничто не стало дальше — просто перестало стоять на пути к ответу.
Того, что осталось в окне, намеренно мало. Шапка с именем сайта и переключателем именно для этого сайта, потому что «выключить здесь, на этом сайте» — действие о состоянии, а не настройка. Колокольчик. Шестерёнка. И тело окна.
Именно о теле и стоит говорить.
Экран состояния — это анатомический рисунок вашей же страницы
Откройте окно на сайте с перепиской, и вы увидите каркас этого сайта: два пузыря сообщений, поле ввода внизу, плавающая кнопка Telli.sh над ним и ещё выше — панель предпросмотра. Серые скелетные полоски заменяют текст. От пяти точек этого макета тонкие выносные линии уходят влево, к колонке подписанных чипов.
Каждый чип называет одну вещь и показывает её текущее значение:
| Чип | На что указывает | Что показывает |
|---|---|---|
| Языки | пузырь сообщения | язык чтения → язык отправки, например English → Auto-detect |
| Отображение | перевод под пузырём | Комментарий в строке, Двуязычно, Нажать чтобы развернуть, Нажать чтобы переключить |
| Предпросмотр перед отправкой | кнопки панели | Вкл. или Выкл. |
| Провайдер | плавающая кнопка | какой из девяти провайдеров выбран |
| Помощь при вводе | поле ввода | язык назначения или «Выкл.» |
Чипы идут сверху вниз в том же порядке, что и части, на которые они указывают, поэтому выносные линии никогда не пересекаются. Их вертикальные позиции не зашиты в код, а измеряются при отрисовке: чипы, чьи идеальные позиции накладываются, объединяются в группу, и группа центрируется, так что погрешность выравнивания делится на всех, а не сваливается на последний чип. Наведение на чип подсвечивает ту часть рисунка, к которой он относится.
Вот в чём смысл. Список настроек сообщает displayMode: bilingual . Рисунок сообщает, где именно перевод появится на той странице, которую вы сейчас смотрите . И макет — не стилизованная иллюстрация: он повторяет реальную геометрию контент-скрипта. Плавающая кнопка стоит на 8 пикселей выше верхнего края поля ввода, по правому краю; панель предпросмотра шириной 350 пикселей — ещё на 8 пикселей выше кнопки, с тем же выравниванием. Окно учит настоящему интерфейсу, а не дружелюбной выдумке о нём.
Зелёная точка обязана что-то значить, поэтому мы сделали её дорогой
Старые переключатели показывали намерение. Вы видели, что переключатель включён, и всё равно не знали, переводится ли что-нибудь на самом деле, принят ли ваш API-ключ и поддерживается ли вообще этот сайт.
Поэтому 1.16 тратит зелёный цвет скупо. Состояний три, и каждое — утверждение, которое расширение готово защищать:
- Зелёный — «Работает в этой вкладке». Расширение может подтвердить это прямо сейчас.
- Янтарный — «Включено, не подтверждено». Настройка включена и учётные данные есть, но ничто не доказало, что запрос действительно проходит туда и обратно.
- Серый — «Выключено». Либо выключено, либо обязательное поле пустое, что означает то же самое: ничего переведено не будет.
Чип провайдера — самый строгий случай. Зелёный могут заслужить только два провайдера. Бесплатный режим Google Переводчика не требует учётных данных и всегда доступен, поэтому он зелёный. Встроенный ИИ Chrome, работающий на устройстве, становится зелёным лишь после того, как окно действительно спросило Translator.availability() о вашей языковой паре и получило пригодный ответ. Все остальные — DeepL, Claude, OpenRouter, Ollama, OpenAI-совместимая точка доступа, Apps Script, Google API — остаются янтарными, как только заданы URL или ключ, потому что проверка означала бы тратить вашу квоту на тестовый запрос при каждом открытии окна. Если нужное поле пусто — серый, а не янтарный. Расширение не станет говорить, что нечто включено, если знает, что работать оно не может.
Это намеренно невыгодное для нас правило. Большинство тех, кто остаётся на настройках по умолчанию, увидят одну зелёную точку у провайдера; большинство тех, кто использует платный API, будут видеть янтарный всегда. Янтарный честен, и мы предпочитаем выпускать честное, а не зелёное.
Мгновенный перевод: вкладка для текста, у которого нет страницы
Всё сказанное выше предполагает, что вы на поддерживаемой странице. Часто это не так: кто-то вставил абзац в тикет, или вы скопировали фразу из PDF.
Мгновенный перевод — вторая вкладка окна ровно для этого. Выбираете язык оригинала и язык перевода, вставляете до 2000 символов, получаете перевод, копируете. Между двумя списками есть кнопка обмена.
Это не второй переводчик рядом с первым. Запрос идёт через ту же фоновую очередь, тот же кэш и того же провайдера, что и любой перевод, который расширение делает на странице, — значит, настроенное однажды действует и здесь. И по умолчанию он выключен: instantTranslateEnabled стартует со значением false , потому что работа окна — вопрос одного взгляда, а блокнот, о котором вы не просили, стал бы ещё одной вещью между вами и ответом. Включите его в параметрах — и у окна появится полоса вкладок; оставьте выключенным — и окно останется единственным экраном состояния.
История, которая убирает за собой: 30 дней, если не закрепить
При включённом мгновенном переводе рядом появляется вкладка «История» с тем, что вы там переводили, от свежего к старому, на этом устройстве.
Правило хранения умещается в строку: незакреплённые записи истекают через 30 дней после создания; закреплённые не истекают никогда. Закрепите фразу, которая нужна вам постоянно, — она останется. Всё остальное состарится и уйдёт само.
Две детали реализации стоит назвать, потому что они меняют то, на что можно положиться. Очистка происходит при чтении списка, а не по фоновому таймеру: окно — единственное, что вообще читает этот список, так что будильник не смог бы удалить что-либо раньше, чем это и так делает само открытие окна. И снятие закрепления с записи, которой уже больше 30 дней, как раз и удаляет её: булавка была единственным, что удерживало истечение, и следующее чтение её заберёт.
В качестве страховки есть жёсткий предел в 200 записей. Если он достигнут, закреплённые сохраняются, а самые старые незакреплённые уходят первыми. Сверху вкладки — кнопка полной очистки.
Колокольчик — это наш блог, на вашем языке
Именно на эту часть нам больше всего хотелось бы обратить ваше внимание, потому что она продолжает работать после того, как вы закрыли вкладку.
В шапке окна есть колокольчик уведомлений. Он показывает материалы блога Telli.sh: до трёх карточек стопкой на экране состояния, полный список — за колокольчиком, и значок непрочитанного на самой иконке. Каждый материал открывается на telli.sh.
Лента своя для каждого языка. Расширение читает язык интерфейса браузера, сверяет его с 15 языковыми версиями, в которых выходит блог, — английский, корейский, японский, китайский, немецкий, французский, испанский, итальянский, португальский, русский, польский, вьетнамский, тайский, индонезийский и малайский, — и загружает RSS-ленту этого языка. Если браузер на тайском, объявления приходят на тайском. Если языка браузера нет среди этих 15, вы получите английский. Оба варианта китайского сводятся к одной китайской ленте.
Механика построена так, чтобы не мешать. Ленту загружает само окно, а не фоновый будильник, и сначала она отдаётся из кэша — карточки уже нарисованы прежде, чем дело дойдёт до сети. Кэш живёт 6 часов: этого хватает, чтобы новый материал всплыл в течение рабочего дня, и одновременно целый день открытий окна — а их десятки — сворачивается максимум в четыре запроса. Хранится до 12 элементов. Неудачное обновление никогда не вытесняет исправный кэш; цепочка запасных вариантов идёт от живой ленты к кэшу, затем к одной постоянной карточке Telli.sh, затем к пустоте.
Скрытый материал остаётся скрытым. Идентичность элемента берётся из URL самого материала без строки запроса — параметры отслеживания в этих ссылках наши, а не его, — поэтому скрытая статья не всплывает снова, когда лента обновилась и переставила порядок.
Если вы давно собирались следить за тем, что мы пишем о переводе встреч и распознавании речи, но всё не доходили руки: поставьте расширение, и материалы будут приходить на панель инструментов, на вашем языке, по три за раз.
Настройки, которые видно до того, как вы их примете
Страница параметров выросла в ту поверхность, которая изначально и должна была нести этот вес, и её главная мысль в том, что режим отображения не надо представлять в воображении.
Под выбором режима отображения стоит живая миниатюра — тот же язык серых скелетов, что и на рисунке в окне, — где пузырь сообщения показан с переводом ровно так, как его рисует выбранный режим. Переключитесь с «Комментарий в строке» на «Двуязычно», на «Нажать чтобы развернуть», на «Нажать чтобы переключить» — миниатюра меняется вместе с вами. Такие же демонстрации есть для предпросмотра перед отправкой, помощи при вводе и мгновенного перевода, и у каждой однострочная подпись, которая меняется вместе с настройкой, а не описывает её отвлечённо.
Раздел провайдеров перестал требовать, чтобы вы помнили идентификаторы моделей наизусть. Список моделей Ollama берётся из /api/tags вашего локального сервера; OpenAI-совместимые точки доступа читаются из {ваш базовый URL}/models ; OpenRouter и Anthropic приходят из собственных каталогов. Там, где API публикует цену за токен, список показывает её, пересчитанную на миллион токенов. OpenRouter указывает цены числами вида 0.0000001 , которые в таком масштабе никто не прочитает. Ничего в ценах не зашито, не оценено на глаз и не запомнено между обновлениями, поэтому устаревшая цена структурно невозможна: если в каталоге цены нет, список её и не покажет.
Список поддерживаемых сайтов был плоской нечитаемой колонкой из 30 позиций. Теперь он разбит на 8 категорий: «Переписка и почта» (7 сайтов), «Соцсети» (3), «Сообщества и форумы» (4), «Для разработчиков» (5), «Вики и справочники» (2), «Блоги и рассылки» (3), «Новости» (4) и «Комментарии и отзывы» (2), а внизу появилась строка «Не хватает сайта? Попросите нас его добавить». Расширение вообще впервые предлагает для этого хоть какой-то путь.
И появился первый запуск. При установке — и только при установке, привязанной к причине install в Chrome, так что обновление его никогда не вызовет — три шага рассказывают, что расширение делает, какие две настройки решают всё остальное и где находится кнопка на панели. Два шага из трёх подсвечивают настоящие элементы управления на странице, а не показывают картинку элемента, который потом придётся искать.
Итог: всплывающее окно на панели — это контрольная лампа, а не приборная панель
Ошибка старого окна была не в том, что оно некрасивое или прокручивается. Она была в том, что оно обращалось с односекундной поверхностью как с рабочим местом. Восемь провайдеров нельзя настроить в коробке шириной 372 пикселя, и не нужно прокручивать эту попытку, чтобы выяснить, работает ли вообще хоть что-нибудь.
1.16 разводит эти две задачи начисто. Страница параметров — место, где вы решаете, один раз, с картинкой того, как каждое решение выглядит. Окно — место, где вы убеждаетесь, что решение действует: меньше чем за секунду, на этой странице, прямо сейчас. Если мы всё сделали правильно, вы станете открывать окно чаще и задерживаться в нём меньше.
Версия 1.16 по состоянию на 4 сентября 2026 года находится на проверке в Chrome Web Store. После одобрения она придёт автоматическим обновлением.
Где здесь Telli.sh: расширение отвечает за быстрый текст — переписку, посты, комментарии, почту, форумные ветки — на 30 сайтах, с 52 языками чтения и 9 провайдерами перевода, а его интерфейс выпускается на 50 языках. Сам Telli.sh отвечает за вторую половину — за произнесённое. Он записывает или принимает встречу, расшифровывает её на том языке, на котором действительно говорили, переводит на 44 целевых языка и держит исходный текст, выровненный перевод и сводку от ИИ в одной редактируемой заметке. Идея в обоих случаях одна: поставить перевод рядом с оригиналом и сохранить оригинал.
Создать заметку встречи с переводом в реальном времени
Источники
- Telli.sh: Every Translator в Chrome Web Store — карточка, в которую 4 сентября 2026 года был отправлен пакет 1.16.
- Страница продукта Telli.sh: Every Translator — поддерживаемые сайты, режимы показа, провайдеры и обязательства по приватности в одном месте.
- Telli.sh: Every Translator доступен в Chrome Web Store, 23 июня 2026 года — исходная статья о запуске, чтобы понять, каким расширение было до этого редизайна.
- Исходный код расширения,
extension/docs/UX_REDESIGN_PLAN_2026-09-04.md, 4 сентября 2026 года — разбор, из которого выросли шесть фаз, выпущенных в этой версии, включая замер «16 936 байт окна против 7621 байта страницы параметров» и решение, что зелёный значит «подтверждено».