Lexi

An English reader for Chinese eyes.

Lexi is a quiet macOS reader for English literature. Chinese translation lives on the edge of vision — ready when you need it, easy to ignore when you don't.

读英文 · 让中文留在视野边缘

Download v2.0.1 → brew install --cask lexi · macOS 26.4
Pride and Prejudice
Chapter I

A Single Man of Good Fortune

It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife. However little known the feelings or views of such a man may be on his first entering a neighbourhood, this truth is so well fixed in the minds of the surrounding families, that he is considered the rightful property of some one or other of their daughters.
凡是有钱的单身汉,总想娶位太太,这已经成了一条举世公认的真理。这样的单身汉,每逢初到一个地方,四邻八舍虽然完全不了解他的性情如何,见解如何,可是,既然这样的一条真理早已在人们心目中根深蒂固,因此人们总是把他看作自己某一个女儿的合法财产。
“My dear Mr. Bennet,” said his lady to him one day, “have you heard that Netherfield Park is let at last?”
有一天班纳特太太对她的丈夫说:“我的好老爷,尼日斐花园终于租出去了,你听说过没有?”
Chapter I · 1 / 14 2% · Cached
A live render — every glyph, every rule, every shadow is HTML and CSS. 没有截图,只有标签。

§ 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.

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.

Though I am not a computer scientist, I am an academic studying innovation who has long been involved in work on the applications of AI, especially for learning. Over the years, AI has promised much more than it has delivered. For decades, AI research has always seemed to be on the edge of a massive breakthrough, but most practical uses, from self-driving cars to personalized tutoring, always advanced grindingly slowly.
虽然我不是计算机科学家,但我是研究创新的学者,长期从事人工智能应用方面的工作,尤其是学习领域的应用。多年来,人工智能的承诺远多于兑现。几十年来,人工智能研究似乎总处在重大突破的边缘,但从自动驾驶汽车到个性化辅导,大多数实际应用始终进展极其缓慢。
From Ethan Mollick, Co-Intelligence

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 里面是什么

i. The Reader

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.

ii. The MenuBar Popup

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.

iii. The Vocabulary

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. Speech via the system AVSpeechSynthesizer.

Engines you bring yourself — OpenAI, Anthropic, DeepSeek. Keys live in the macOS Keychain (service com.lexi.engine.<id>), 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.