summaryrefslogtreecommitdiff
path: root/doc/Specifications.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/Specifications.md')
-rw-r--r--doc/Specifications.md60
1 files changed, 58 insertions, 2 deletions
diff --git a/doc/Specifications.md b/doc/Specifications.md
index ac6600d..617ddfd 100644
--- a/doc/Specifications.md
+++ b/doc/Specifications.md
@@ -57,7 +57,7 @@ Firefox上でユーザーがWebページ内の文字列を選択した際、選æ
| SEL-03 | 選択解除時は翻訳アイコンを非表示にすること |
| SEL-04 | 選択範囲の位置を取得し、その近傍に翻訳アイコンを表示すること |
| SEL-05 | 初期版ではトップレベル文書のみ対象とし、iframe内は対象外とすること |
-| SEL-06 | Firefox内部ページ、Reader View、view-source、内蔵PDF Viewer等、Content Scriptを利用できないページは対象外とすること |
+| SEL-06 | Firefox内部ページ、Reader View、view-source等、Content Scriptを利用できないページは対象外とすること。Firefox内蔵PDF Viewerはcontent scriptでなく menus APIで対応する(PDF-01) |
### 4.2 翻訳アイコン
@@ -104,6 +104,40 @@ Firefox上でユーザーがWebページ内の文字列を選択した際、選æ
| EN-01 | 拡張機能の翻訳機能を設定画面から有効/無効に切り替えられること |
| EN-02 | 無効時は選択文字列に対して翻訳アイコンを表示しないこと |
+### 4.6 PDF Selection Translation
+
+Firefox内蔵PDF Viewer上でテキストを選択し、右クリックで context menu の「選択したテキストを翻訳」を実行すると翻訳を開始できること。
+
+| ID | 要件 |
+|---|---|
+| PDF-01 | Firefox内蔵PDF Viewerでのみ、context menu経由で翻訳を開始できること |
+| PDF-02 | context menu翻訳の結果は Action Popup に streaming 表示すること |
+| PDF-03 | PDF Viewer への content script注入・translation popover表示は対象外 |
+| PDF-04 | 独自PDF Viewer・PDF.js同梱・外部変換サービスの利用は対象外 |
+
+### 4.7 Context Menu Translation
+
+通常Webページでも同じ context menu操作を使用可能とすること。
+
+| ID | 要件 |
+|---|---|
+| CTX-01 | 選択文字列の `menus.OnClickData.selectionText` を取得し translationを実行できること |
+| CTX-02 | 通常ページとFirefox PDF Viewerで同じ操作を利用できること |
+| CTX-03 | `menus` permission は selection context translationのみに使用すること |
+
+### 4.8 Popup 2モード化
+
+Action Popupに「設定モード」と「翻訳結果モード」を実装すること。
+
+| ID | 要件 |
+|---|---|
+| POP-01 | Action Popupが設定UIと翻訳結果UIの2モードを切り替えられること |
+| POP-02 | 翻訳結果モードはコピー・再生成・エラー表示・status表示を提供すること |
+| POP-03 | popupが閉じられた場合でも翻訳requestを自動cancelしないこと |
+| POP-04 | 新しい翻訳request開始時に進行中 requestを abortしてもよい |
+| POP-05 | popup 開いた時に最新の translation stateを取得できること |
+| POP-06 | streaming中にpopupが開かれた場合でも、その時点までのtranslation textを表示し、その後のchunkを継続受信できること |
+
---
## 5. 設定要件
@@ -352,6 +386,27 @@ Firefox上でユーザーがWebページ内の文字列を選択した際、選æ
13. ページ内のHTMLらしき文字列やscript文字列を選択してもDOM実行されない。
14. LLM出力にHTML文字列が含まれてもHTMLとして解釈されない。
+### 13.4 PDF Viewer実機動作確認
+
+以下の操作を実Firefox + 実Ollamaで確認すること。
+
+| # | 確認項目 |
+|---|---|
+| 1 | 通常Webページで文字列を選択する |
+| 2 | context menuに「選択したテキストを翻訳」が表示される |
+| 3 | menuからtranslationを開始できる |
+| 4 | Firefox内蔵PDF ViewerでPDFを開く |
+| 5 | PDF内のテキストを選択する |
+| 6 | context menuに翻訳項目が表示される |
+| 7 | `selectionText` が取得される |
+| 8 | Action Popupが開く |
+| 9 | Ollama streaming結果が逐次表示される |
+| 10 | Copyが動く |
+| 11 | Regenerateが動く |
+| 12 | Ollama停止時に安全なエラー表示になる |
+| 13 | HTML/script風のPDF文字列を選択しても実行されない |
+| 14 | 新しい翻訳開始時に古いrequestが正しくcancelされる |
+
---
## 14. 受け入れ条件
@@ -379,7 +434,6 @@ Firefox上でユーザーがWebページ内の文字列を選択した際、選æ
- Chrome/Edge完全互換
- iframe内翻訳
-- Firefox内蔵PDF Viewerへの対応
- 翻訳履歴管理
- チャット機能
- 複数同時翻訳
@@ -389,3 +443,5 @@ Firefox上でユーザーがWebページ内の文字列を選択した際、選æ
- Markdown/HTMLリッチレンダリング
- 自動翻訳(選択しただけでLLM実行)
- `tfs_z` / `mirostat*`
+- Firefox内蔵PDF Viewerへのページ内translation icon / popover表示(content script注入不可のため)
+- 独自PDF Viewer・外部PDF変換サービス