An English reader for Chinese eyes.
Lexi is a quiet macOS reader for English literature. Chinese translation lives on the edge of vision, and AI read-aloud can take over when your eyes need to rest.
读英文 · 听原文或译文 · 让中文留在视野边缘
A Single Man of Good Fortune
§ Why another reader 为什么再造一个
Most “AI translation” tools treat the translation as the final artifact. Lexi treats it as scaffolding — the English original is what you’re reading, and the Chinese is meant to live at the edge of your vision. That single decision shapes everything else: the typography, the layout, the way translation streams in, the way you can ignore it.
Read with the translation visible if you want a safety net. Read in English-only when you’re warmed up. Switch to Chinese-only when the page is hard. The mode toggles in one keystroke.
When your eyes are tired, open the read-aloud drawer. Lexi can narrate the original or the cached translation, keep the current chunk highlighted, and continue into the next chapter like a small music player for the book.
None of this requires an account. There is no backend. Your API keys live in the macOS Keychain — not in source, not in SQLite, not on a server. You bring your own keys; Lexi never knows what you read.
Translation is scaffolding, not the building. 译文是脚手架,不是建筑本身。
§ Side by side 原文与译文并排
This is what reading looks like in Lexi’s dual-column layout. English on the left, Chinese on the right, top-aligned, equal weight. The shorter side leaves whitespace below — by design.
Prefer the classical stacked layout? Toggle from the toolbar — English paragraph above, demoted Chinese paragraph below. The choice persists per reader, switchable at any keystroke.
§ What’s inside 里面是什么
A focused window for the book at hand.
Import any EPUB. Translation streams paragraph by paragraph as you read, with the previous EN/ZH pair used as few-shot context for literary continuity. Switch between dual-column and stacked layouts from the toolbar. Adjust font, line height, theme, accent. Cache once, read forever.
A player for the page you were reading.
Open the right-side drawer, choose original or translation, and listen from the paragraph currently in view. Lexi builds a compact narration profile from the book, streams Doubao TTS audio into a local cache, highlights the active chunk, and advances chapter by chapter.
Translation that follows you everywhere.
Select English text in Safari, Mail, Notes, or any macOS app, hit ⌘⇧L, and a non-activating panel appears near your selection — a single-word dictionary card with multiple senses, a phrase-aware idiom lookup, or a clean sentence translation. Star a word to add it to your shared vocabulary list.
What you saved, in the context you saved it.
Each entry snapshots the LLM’s lookup at the moment you saved it — senses, IPA, example, source sentence. Filter by book or browse the global pool. No spaced-repetition system, no review reminders. Just a record of what stopped you.
§ Colophon 版权与构造
Set in Fraunces for the Latin script and Noto Serif SC for Simplified Chinese. The reader is built in Swift and SwiftUI, persisted with GRDB, EPUBs parsed with SwiftSoup and ZIPFoundation, global shortcuts powered by sindresorhus/KeyboardShortcuts. AI read-aloud streams through Doubao TTS, with local playback and caching through AVFoundation.
Engines you bring yourself — OpenAI, Anthropic, DeepSeek for translation, and Doubao for AI narration. Keys live in the macOS Keychain, never written to SQLite or logs. No account, no telemetry, no backend.
macOS 26.4 or later · Swift 5 · No iOS target. Download or install from lynxlangya/tap.