product update13分で読めます

拡張機能のポップアップは間違った問いに答えていた。1.16は代わりに、いま開いているページを描く

Telli.sh: Every Translator 1.16 は、ツールバーのポップアップを状態表示画面として作り直しました。いま開いているページのミニチュア、5つのラベル付きチップ、そして拡張機能が「実際に動いている」と確認できたときだけ緑になるドット。設定はすべて、動くスケルトンのプレビューを備えた専用の設定ページへ移りました。インスタント翻訳は独立したタブと、30日で自動的に片づく履歴を得ました。通知ベルは、ブラウザーの言語に合わせて15ロケールの Telli.sh ブログを運びます。

K
Ken Jo
#every-translator#chrome-extension#browser-extension#translation#product-update#ux

今週まで、Telli.sh のツールバーアイコンをクリックすると設定の引き出しが開きました。1.15 のポップアップのマークアップは 16,936 バイトあり、設定を要する 8 つのプロバイダー(Chrome 内蔵 AI、Google、Apps Script、DeepL、Ollama、OpenAI 互換、OpenRouter、Claude)の設定フォームをすべてその中に抱えていました。トグル 5 行つきです。隣の設定ページは 7,621 バイト。半分にも満たず、しかも余白があるのはそちらのほうでした。

これは情報設計が逆立ちした状態で、フォントサイズをどういじっても直りません。ツールバーのポップアップは、ひとつの問いに答えるために存在します。私たちはそれを 一目の問い と呼ぶようになりました。オンになっているか。そしてこのページで何をするのか。 1 秒以内に、スクロールなしで答えを受け取り、閉じられるべきです。

Telli.sh: Every Translator 1.16 は 2026 年 9 月 4 日に Chrome ウェブストアへ提出し、この記事の公開時点で審査中です。このバージョンは、一目の問いに絵で答えます。

TL;DR

  • ポップアップは状態表示画面になりました。 幅 372 ピクセル、高さは最大 560 ピクセル、スクロールなし。認証情報の入力欄はひとつも含まれていません。数えました。文字どおりゼロです。
  • いま開いているページのミニチュアを描きます。 ミニチュアの各部分から、ラベル付きのチップへ引き出し線が伸びます。言語、表示方法、送信プレビュー、プロバイダー、入力アシスト。このミニチュアは拡張機能が実際に描くものを写しており、フローティングボタンと入力欄のあいだの 8 ピクセルの間隔まで同じです。
  • 緑は「チェックが入っている」ではなく「確認済み」を意味します。 状態は 3 つ。このタブで動いていれば緑、オンだが未確認なら琥珀色、オフなら灰色。
  • インスタント翻訳と履歴 が 2 つめと 3 つめのタブに入りました。ピン留めしていない履歴は作成から 30 日で消え、ピン留めしたものは消えません。
  • 通知ベルが、ブラウザーの言語で私たちのブログを運びます。 15 ロケールぶんのロケール別 RSS フィードを読みます。サイトを訪れずに新着を知りたいなら、いちばん安上がりな方法がこのベルです。
  • 設定するものはすべて設定ページにあります。 そのページは、各表示方法を文章で説明する代わりに、動くミニチュアで見せます。

ポップアップが設定を手放した。変更点はそれがすべて

1.16 の背後にある決定はひとつです。設定は外へ、状態は中へ。ポップアップのヘッダーにある歯車アイコンは設定ページの該当セクションへ直接飛ぶので、どれも遠くなってはいません。答えへの道から退いただけです。

ポップアップに残したものは意図的に少なくしてあります。サイト名とサイト別のオン/オフスイッチを備えたヘッダー——「ここ、このサイトではオフにする」は設定ではなく状態の操作だからです。ベルがひとつ。歯車がひとつ。そして本体。

語る価値があるのは、その本体です。

状態表示画面は、あなたのページの解剖図だ

チャットサイトでポップアップを開くと、そのサイトのワイヤーフレームが現れます。メッセージの吹き出しが 2 つ、下に入力欄、その上に載る Telli.sh のフローティングボタン、さらにその上にプレビューパネル。文字の代わりに灰色のスケルトンバーが並びます。このミニチュアの 5 か所から細い引き出し線が左へ伸び、ラベル付きチップの列につながります。

各チップは、ひとつのことに名前を与え、現在の値を示します。

チップ指している場所表示する値
言語メッセージの吹き出し読む言語 → 送る言語(例: English → Auto-detect
表示吹き出しの下の訳文インラインコメント/対訳/クリックで展開/クリックで切り替え
送信プレビューパネルのボタンオンまたはオフ
プロバイダーフローティングボタン9 つのプロバイダーのうち選ばれているもの
入力アシスト入力欄対象言語、またはオフ

チップは指し示す部分と同じ順序で上から下へ並び、引き出し線が交差しません。縦位置はハードコードではなく描画時に実測します。理想的な位置が重なるチップはひとつのまとまりに統合され、そのまとまりを中央寄せすることで、位置のずれを最後のチップに押しつけずグループ全体で分け合います。チップにマウスを乗せると、対応する図の部分が強調されます。

こうする理由はこうです。設定一覧は displayMode: bilingual と告げます。図は いま見ているそのページのどこに訳文が現れるか を告げます。しかもこのミニチュアは、感じよく描き直したイラストではありません。コンテンツスクリプトが使う実際の座標をそのままなぞっています。フローティングボタンは入力欄の上端から 8 ピクセル上、右寄せ。350 ピクセルのプレビューパネルはそのボタンからさらに 8 ピクセル上、同じ寄せ方。ポップアップは、都合のよい作り話ではなく本物の UI を教えます。

緑のドットは何かを意味しなければならない。だから値段を高くした

以前のトグルが示していたのは意図でした。スイッチがオンなのは見えても、実際に翻訳が動いているのか、API キーが受理されたのか、そもそもこのサイトが対応しているのかは分かりませんでした。

そこで 1.16 は緑という色を慎重に使います。状態は 3 つあり、それぞれが拡張機能として弁明できる主張です。

  • 緑——「このタブで実行中」。 拡張機能がいまこの瞬間に確認できる状態です。
  • 琥珀——「オンだが未確認」。 設定はオンで認証情報もそろっていますが、往復が実際に成立することは何も証明されていません。
  • 灰色——「オフ」。 切ってあるか、必要な項目が空のままか。結果は同じで、何も翻訳されません。

いちばん厳しいのはプロバイダーのチップです。緑を得られるプロバイダーは 2 つだけ。無料の Google 翻訳モードはユーザーの認証情報を必要とせず、常に到達可能なので緑です。Chrome の端末内蔵 AI は、ポップアップが実際に Translator.availability() へあなたの言語ペアを問い合わせ、使えるという答えを得たときにだけ緑になります。それ以外——DeepL、Claude、OpenRouter、Ollama、OpenAI 互換のエンドポイント、Apps Script、Google API——は、URL か鍵が入った時点で琥珀色にとどまります。確認するには、ポップアップを開くたびにあなたの利用枠をテスト呼び出しで消費することになるからです。必要な項目が空なら琥珀ではなく灰色です。動かないと分かっているものを「オン」とは言いません。

これは意図的に見栄えの悪い規則です。既定の設定を使う多くの人はプロバイダーの緑をひとつ見ることになり、有料 API を使う多くの人はずっと琥珀色を見ることになります。琥珀色のほうが正直です。私たちは緑よりも正直さを選びました。

インスタント翻訳: ページを持たないテキストのためのタブ

ここまでの話は、拡張機能が対応しているページにいることを前提にしています。そうでない場面はよくあります。誰かがチケットに段落を貼りつけたとき、PDF から一文をコピーしたとき。

インスタント翻訳は、まさにそのための 2 つめのポップアップタブです。翻訳元と翻訳先の言語を選び、最大 2,000 文字を貼りつけ、訳文を受け取り、コピーする。2 つのセレクトのあいだには入れ替えボタンがあります。

これは 1 つめの翻訳機の隣に座る 2 つめの翻訳機ではありません。リクエストは、拡張機能がページ上で行うあらゆる翻訳とまったく同じバックグラウンドキュー、同じキャッシュ、同じプロバイダーを通ります。一度設定したものがここにもそのまま効くということです。そして既定はオフ——instantTranslateEnabledfalse で始まります。ポップアップの仕事は一目の問いであり、頼んでもいないメモ帳は、あなたと答えのあいだに置かれる余計な一枚だからです。設定でオンにすればポップアップにタブ列が生え、オフのままならポップアップは状態表示画面ひとつのままです。

自分で片づく履歴: 30日、ピン留めしていなければ

インスタント翻訳をオンにすると、その隣に履歴タブが現れます。そこで翻訳したものが新しい順に、この端末の中だけに残ります。

保持のルールは一行です。ピン留めしていない項目は作成から 30 日で消え、ピン留めした項目は消えません。 何度も必要になるフレーズはピン留めしておけば残ります。それ以外は勝手に古びて消えます。

何を当てにできるかが変わるので、実装上の細部を 2 つ書いておきます。整理はバックグラウンドのタイマーではなく、リストを読むときに走ります。このリストを読むのはポップアップだけなので、アラームを仕掛けたところで、ポップアップを開く以上に早く消せるものは何もないからです。もうひとつ、すでに 30 日を過ぎた項目のピンを外す行為が、そのまま削除になります。期限切れを押しとどめていた唯一の仕掛けがそのピンであり、次の読み取りで回収されます。

歯止めとして 200 件の上限があります。到達した場合はピン留め済みを守り、ピン留めのないものの古い順から外れます。タブの上部には全消去ボタンがあります。

ベルは私たちのブログだ。あなたの言語で

いちばん気づいてほしいのはこの部分です。タブを閉じたあとも働き続ける唯一の部分だからです。

ポップアップのヘッダーには通知ベルがあります。Telli.sh のブログ記事を表示します。状態表示画面には最大 3 枚がカードとして重なり、全一覧はベルの奥にあり、アイコンには未読バッジが付きます。記事はいずれも telli.sh で開きます。

フィードはロケール別です。 拡張機能はブラウザーの UI 言語を読み、ブログが発行している 15 ロケール——英語、韓国語、日本語、中国語、ドイツ語、フランス語、スペイン語、イタリア語、ポルトガル語、ロシア語、ポーランド語、ベトナム語、タイ語、インドネシア語、マレー語——と照合し、その言語の RSS フィードを取得します。ブラウザーがタイ語ならお知らせもタイ語で届きます。ブラウザーの言語が 15 のどれでもなければ英語になります。中国語の 2 つの変種は同じ中国語フィードに寄ります。

仕組みは、あなたの邪魔をしないように組んであります。フィードはバックグラウンドのアラームではなくポップアップ自身が取得し、まずキャッシュから描きます。だからネットワークに触れる前にカードはもう描かれています。キャッシュは 6 時間もちます。新着記事を営業日 1 日以内に浮かび上がらせつつ、1 日ぶんのポップアップ起動——何十回もあります——を最大 4 回のリクエストに畳み込む値です。項目は最大 12 件まで保持します。更新に失敗しても、生きているキャッシュを追い出すことはありません。フォールバックは、実フィード → キャッシュ → Telli.sh の常設カード 1 枚 → 何も出さない、の順に降りていきます。

閉じた記事は閉じたままです。項目の同一性は、クエリ文字列を落とした記事自身の URL から導かれます。あのリンクに付いた計測パラメーターは記事のものではなく私たちのものだからです。おかげで、フィードが更新されて並び順が変わっても、閉じた記事が戻ってくることはありません。

会議の翻訳や音声認識について私たちが書くものを追おうと思いつつ後回しにしていたなら、拡張機能を入れておいてください。記事があなたの言語で、3 件ずつツールバーへ届きます。

決める前に目で見られる設定

設定ページは、本来この重さを担うはずだった面へと育ちました。その中心にある考えは、表示方法を頭の中で想像させないということです。

表示方法のセレクターの下には、動くミニチュアがあります。ポップアップの図とまったく同じ灰色スケルトンの語彙で、そのモードが描くとおりに訳文が載ったメッセージの吹き出しを見せます。インラインコメントから対訳へ、クリックで展開へ、クリックで切り替えへと変えれば、ミニチュアも一緒に変わります。送信プレビュー、入力アシスト、インスタント翻訳にも同じデモが付いており、それぞれの一行の説明は、抽象的に述べるのではなく設定に合わせて変わります。

プロバイダーのセクションは、モデル ID を暗記していることを前提にするのをやめました。Ollama のモデル一覧はローカルサーバーの /api/tags から取得し、OpenAI 互換のエンドポイントは {あなたのベース URL}/models から読み、OpenRouter と Anthropic はそれぞれのカタログのエンドポイントから来ます。API がトークン単価を公開している場合、選択欄はその価格を 100 万トークンあたりに換算して表示します。 OpenRouter は価格を 0.0000001 のような数値で出しますが、その桁では誰にも読めないからです。価格についてハードコードするもの、推定するもの、更新のあいだ覚えておくものは何もありません。だから価格が古くなる余地が構造的にありません。カタログに価格がなければ、選択欄も価格を出しません。

対応サイトの一覧は、走査しづらい平坦な 1 列に 30 件が並んでいました。いまは 8 つのカテゴリーにまとまっています。チャットとメール(7 件)、ソーシャル(3 件)、コミュニティとフォーラム(4 件)、開発者向け(5 件)、ウィキとリファレンス(2 件)、ブログとニュースレター(3 件)、ニュース(4 件)、コメントとレビュー(2 件)。そして最下部に「サイトが見当たりませんか? 追加をご依頼ください」の一行が付きました。拡張機能がその経路を用意したのは、これが初めてです。

初回起動の案内もできました。インストール時だけ——Chrome の install 理由に結び付けてあり、更新では決して出ません——3 つのステップが、この拡張機能が何をするか、どの 2 つの設定が残りを決めるか、ツールバーのボタンはどこにあるかを案内します。3 つのうち 2 つは、コントロールの絵を見せてから自分で探させる代わりに、ページ上の本物のコントロールを照らします。

結論: ツールバーのポップアップはダッシュボードではなく、その警告灯だ

以前のポップアップの誤りは、見た目が悪いことでもスクロールすることでもありませんでした。1 秒の面を作業場のように扱ったことです。幅 372 ピクセルの箱で 8 つのプロバイダーを設定することはできませんし、何かが動いているかを知るために、その試みをスクロールで通り過ぎる必要もありません。

1.16 はその 2 つの仕事をきれいに分けました。設定ページは決める場所です。一度だけ、各決定がどう見えるかの絵とともに。ポップアップは、その決定が効いていることを確かめる場所です。1 秒以内に、このページで、いま。うまくやれていれば、あなたはポップアップをより頻繁に開き、より短くいることになります。

バージョン 1.16 は 2026 年 9 月 4 日時点で Chrome ウェブストアの審査中です。承認されれば自動更新で届きます。


Telli.sh の位置: 拡張機能は速いテキストを受け持ちます。チャット、投稿、コメント、メール、フォーラムのスレッドを、30 サイト、52 の読む言語、9 つの翻訳プロバイダーで扱い、UI 自体は 50 言語で提供されます。Telli.sh 本体はもう半分、話されたものを受け持ちます。会議を録音するかファイルで受け取り、実際に話された言語のまま文字起こしし、44 の対象言語へ翻訳し、原文と対応づけられた訳文と AI 要約をひとつの編集可能なノートに収めます。どちらも考え方は同じです。訳文を原文の隣に置き、原文を捨てないこと。

リアルタイム翻訳つきの会議ノートを始める

出典

  • Chrome ウェブストアの Telli.sh: Every Translator — 1.16 のパッケージを 2026 年 9 月 4 日に提出した掲載ページ。
  • Telli.sh: Every Translator 製品ページ — 対応サイト、表示方法、プロバイダ、プライバシー上の約束を一か所にまとめたページ。
  • Telli.sh: Every Translator、Chrome ウェブストアで公開、2026 年 6 月 23 日 — 今回の再設計より前の拡張機能を知るための公開時の記事。
  • 拡張機能ソース、extension/docs/UX_REDESIGN_PLAN_2026-09-04.md、2026 年 9 月 4 日 — 本リリースで出荷した 6 フェーズを生んだレビュー。16,936 バイトのポップアップ対 7,621 バイトの設定ページという計測と、「緑は確認済みを意味する」という決定が記されています。

ブログに戻る