Learn English inside your reading flow with fast hover translation, contextual LLM help, and in-page sentence analysis.
翻譯準備中
外掛TypeScript · JavaScriptGitHub @ArseneWg自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
安裝型專案無需部署網域也可驗證。個人儲存庫可透過 GitHub 登入驗證,組織儲存庫可使用上方的儲存庫驗證檔案。
正在載入完整 README。 以下為已儲存的摘錄。
LexiGlow | Learn English inside your reading flow
Fast Google lookup by default. Contextual LLM help, review, English explanations, pronunciation, and sentence analysis stay on the page when you need them.
LexiGlow is a Chrome extension for learning English while reading. It keeps lookup, review, pronunciation, contextual translation, English explanations, and complex-sentence analysis inside the page instead of forcing a separate study workflow.檢視完整 README ↗LexiGlow is a Chrome extension for learning English while reading. It keeps lookup, review, pronunciation, contextual translation, English explanations, and complex-sentence analysis inside the page instead of forcing a separate study workflow.
Typical reading flows include:
The internal A1-C1 labels are vocabulary-size heuristics used to tune explanation difficulty. They are not a formal CEFR assessment.
zh-CN, zh-TW, ja, ko, fr, de, es, pt-BR, ru, it, tr, vi, id, th, ar.In addition to unit tests, the project uses Playwright to launch a real persistent Chromium profile with the MV3 extension loaded. The browser suite exercises the service worker, content script, Shadow DOM tooltip, CSS Highlight API, selections, Popup / Options, dynamic DOM updates, and persisted learning state.
The browser suite covers reading, learning, settings and data portability. In addition to the original reading-flow coverage, it now verifies Options backup/download/import, API-key redaction and same-profile secret preservation, LLM 429 and malformed-response fallback, explicit 401 failure UI without fallback, stale hover-response suppression, and prevention of late responses resurrecting a closed tooltip.
Run npm test and npm run test:e2e for the current test inventory and results. Translation, dictionary, and LLM traffic is deterministically mocked at BrowserContext level so CI does not depend on real API keys or model randomness. Failed E2E runs retain Playwright traces, screenshots, HTML reports, and test-result diagnostics for investigation. A separate non-blocking public-site smoke workflow continues to exercise GitHub, Hacker News, MDN, web.dev, React docs, and Reddit when its CI egress is accepted.
npm run release:package emits release/lexiglow-<version>.zip plus SHA256SUMS. The package contains only manifest.json and production dist/** files, and fails if package.json and the manifest disagree on version or if a manifest-referenced runtime file is missing.vX.Y.Z to match package.json, then run the full unit/build/browser gate before uploading the ZIP artifact.If the page contains sensitive information, review the data-processing terms of the translation or LLM provider before sending that content.
npm ci
npm run fetch:lexicon
npm run build
Then load the extension in Chrome:
chrome://extensions.dist folder (it contains its own runtime manifest). Loading the project root also works, but includes unnecessary development files in the extension directory.Use Node.js 22 or a supported newer version. To build a minimal offline install bundle, run npm run release:package after the build, then unzip release/lexiglow-<version>.zip and load the extracted folder containing the root manifest.json. Chrome cannot load a ZIP directly. SHA256SUMS records its checksum; building and packaging identical sources twice should produce the same checksum. This command creates local files only; it does not publish a release.
Start with Google lookup: no AI key is required. For contextual translation, English explanation or sentence analysis, configure your provider and save the translation settings first. Provider billing is separate. If fallback is enabled, the card explains why Google was used instead. A local OpenAI-compatible server may omit the API key. Language UI coverage varies: newer controls fall back to English when a translation is missing.
After a code update, rebuild, click Reload on the extension card and refresh your reading tab. If no highlights appear, try an English HTML page rather than a browser internal page, PDF, editor or code block. Automatic highlighting respects declared non-English language regions; it does not infer the language of untagged ASCII text.
Suggested smoke test:
Known state applies to safe common inflections such as work / works / worked / working, while derived forms such as worker or workable remain independent.
LexiGlow uses a source-available license rather than MIT or another conventional permissive open-source license.
See:
The bundled word-frequency data has separate upstream rights considerations. A commercial LexiGlow license does not automatically grant commercial rights to that third-party data; review THIRD_PARTY_NOTICES.md before commercial distribution.
LexiGlow treats pronunciation as a lexical-reading problem rather than a spelling-only TTS action. Exact single-word selections receive UK/US pronunciation when available. Structured Kaikki/Wiktextract pronunciation variants are kept atomic (IPA, audio/audio-IPA, accent/POS tags), pinned offline CMUdict/Britfone subsets for the top 5,000 frequency words plus explicit edge cases provide bounded reproducible fallback data, common heteronyms are resolved from context/POS when confidence is high, and regular -s/-ed/-ing forms can be derived from the base phonemes without reusing base-word audio. Human lexical audio is played before Chrome TTS; TTS always receives the exact selected surface and is disabled for unresolved ambiguous heteronyms. Source IPA is displayed without destructive DJ-style conversion.