This page reads no selection, screen, or clipboard, makes no network request, and writes nothing to your machine.
editable selectionwaitingBuenos días. La compilación está lista para revisión.
simulation.ready / fixed example / no machine access
karabiner / EN↔ES translation
Translate reads the context before choosing a route: replace an editable selection, copy a read-only selection into an accumulating popup, or capture a region and pass its OCR text through the same bilingual handoff.
This page reads no selection, screen, or clipboard, makes no network request, and writes nothing to your machine.
editable selectionwaitingBuenos días. La compilación está lista para revisión.
simulation.ready / fixed example / no machine access
context chooses the route
The same invocation checks what is available first. It does not open a generic translator and ask the person to reconstruct the task by hand.
Selected text in an editable field is copied, translated, and pasted back over the original selection. System Events drives the copy-and-paste handoff.
replacement in the source fieldA selection outside an editable field is translated to the clipboard and added to the popup history, leaving the source untouched.
clipboard + popup entryThe shortcut opens a screenshot region, runs local OCR, translates the extracted text, then sends the result to the clipboard and popup.
capture → OCR → clipboard + popuplocal work / explicit network edge
The macOS selection, screenshot, preprocessing, OCR, clipboard operation, popup history, settings, and exports happen locally. Translation itself uses the free Google Translate endpoint and therefore crosses the network.
Selection inspection and screenshot capture stay on the Mac. Screenshot mode uses Tesseract after an optional ImageMagick cleanup pass.
The source text is URL-encoded and sent to the free Google Translate endpoint. Direction is auto-detected between English and Spanish.
The translated text returns to the selected field, clipboard, or native popup according to the route selected before the request.
The interaction above is a deterministic visual replay. It never calls the endpoint, captures the screen, reads the clipboard, or modifies the page outside the sample.
native popup / accumulating history
The background widget is a small AppKit and WebKit app with no Dock icon and no Hammerspoon dependency. New translations enter through its custom URL scheme and accumulate instead of replacing the previous result.
Each popup entry retains the original phrase, detected direction, and translated phrase so a sequence can be reviewed as one working set.
Export the accumulated entries to TXT, Markdown, JSON, or CSV in Downloads rather than copying every translation individually.
Widget settings persist under ~/Library/Application Support/lacuna-translate-widget/. The unsigned app may require a first-run right-click Open.
CLI + shortcut + native widget
The literal CLI prints only the translated text. The Karabiner script adds context detection and delivery. The optional widget adds a durable working history.
./install.sh translateThe repository installer fetches this tool without requiring a full checkout of the private automations repository.
translate "good morning"Use the command directly when no selection, screenshot, replacement, or popup behavior is needed.