Ludofax

Language Peek

Progressive immersion · macOS

Your own computer becomes the curriculum.

Switching a Mac wholesale into a language you are still learning is a decision most people reverse within a day. Language Peek takes the other route: the system stays in English, and the target language arrives a layer at a time — held under a key, shown under the pointer, or read off the screen when you ask for it.

The words you meet this way are already attached to something — an action, a place in a window, an app you open every morning. That is the whole argument for it. Japanese is the first target language.

Built, and not yet released

The app is built and runs daily on the machine it was written on, dictionary and all. What is missing is only the last step — signing, packaging and notarizing a disk image someone else can open. When there is one, it will appear on this page. There is no date to give you yet.

Platform
macOS 13+
Direction
EN → JA
Version
0.1.0

What it does

Three ways of asking the same question — what is this in Japanese — aimed at three different things: the window in front of you, the control under your pointer, and any text your Mac can see.

Peek at the whole window

Hold ⌃⌘P and the labels of the frontmost app are overlaid in Japanese — Save becomes 保存, Settings becomes 設定. Let go and your Mac is in English again. Nothing is changed; a layer is drawn over it.

Hover for one word

Toggle Hover Peek with ⌃⌘H and move the pointer. Only the control you are actually pointing at is translated, which is the quieter mode and the one that survives a working day.

Read anything on screen

Press ⌃⌘O and drag a box over Japanese text anywhere — a PDF, a video frame, an image with no text layer at all. Apple's Vision framework recognises it and a dictionary card opens against the first word worth looking up.

Word, sentence, kanji

A recognised phrase splits into tokens you can click through, with three tabs behind each one. The reading and meaning of the word, the sentence it sits in, and the kanji it is written with.

A dictionary already on disk

The whole Japanese dictionary ships inside the app — some 216,000 words with their readings, senses and pitch accents, with nothing trimmed to save space. A lookup takes about half a millisecond and works with the network off. It costs around 200 MB of disk, deliberately: cutting the list at the common few thousand drops exactly the rarer spellings a learner walks into.

It counts what you have seen

Every term you look at is tallied locally, in this app's own folder on your Mac. The point of the tally is the eventual one: knowing when you are ready to leave an app in Japanese and stop peeking at it.

What it needs from macOS

Two permissions, neither of which macOS will prompt for on its own — both have to be granted by hand in System Settings, and each buys one specific mode.
Permission Needed What it is used for
Accessibility Required Reading the labels and frames of other apps' windows, which is how both Peek and Hover Peek know what to translate and where to draw it. Without it there is no overlay at all.
Screen Recording Only for OCR Capturing the region you drag a box around, so it can be recognised. Withheld, the other two modes work exactly as before and ⌃⌘O does nothing.

Language Peek is not sandboxed, and cannot be. A sandboxed app cannot read another application's accessibility tree at all — that is the product, so the Mac App Store is ruled out by the design rather than by this version of it. The app is distributed from this page instead, signed by Ludofax AB and notarized by Apple once there is something to sign.

Both grants are tied to the app's code identity, so they are given once and stay given. Nothing else is requested: no microphone, no camera, no files, no contacts, no location.

Where your text goes

Some of it leaves your Mac, and this app is the one place on this site where that is true. It is worth saying precisely, because the honest version is narrower than either “everything is local” or “your screen is uploaded”.

  • Peek and Hover Peek never touch the network. Reading a window's labels happens through macOS, and turning them into Japanese happens against the dictionary inside the app. You can do this with Wi-Fi off.
  • Word lookups are answered on disk. The bundled dictionary holds the whole thing, so a word it recognises never becomes a request. An inflected form it cannot resolve on its own does, because the app has no morphological analyser on-device yet — 食べました still has to be traced back to 食べる somewhere.
  • OCR text is sent for sentence parsing, and this is on by default. When you drag a box over Japanese, the recognised text is posted to Ludofax's language API to be split into words. The image is not sent; the text is. Turn Mojin OCR lookup off in Settings and OCR still recognises text and still looks words up locally — you lose the sentence breakdown, not the feature.
  • Screen capture is never ambient. The only thing ever captured is the region you drew a box around, at the moment you released the mouse. There is no background capture, no screenshot history, and captured images are not kept.

There is no account, no subscription, no analytics and no crash reporting. What you have looked up is recorded only on your own machine, in this app's folder under Application Support, and nothing about your usage reaches us.

Honest limits

This is version 0.1.0 of an app that has been used by one person. The list below is what it does not do yet, written out rather than left to be discovered.

  • Japanese only. The design is language-pair agnostic and the settings offer a target language, but Japanese is the only one with a dictionary behind it. Nothing else is usable yet.
  • Native apps only. It reads what macOS exposes through Accessibility. A web page in a browser is largely opaque to it — for text there, the OCR mode is the answer, not the overlay.
  • Sentence parsing needs the network. Until a tokenizer ships inside the app, splitting a sentence into words is a request. This is the single largest gap between what the app does and what it should do.
  • No lesson, no export, no deck. Exposure is counted but nothing is built on the count yet: no daily lesson, no Anki export, no saving a card to a study deck. Those are the reason the counting exists, and they are not here.
  • No app icon, and no automatic updates. It shows a generic translation glyph in the menu bar, and new versions will be posted on this page rather than fetched by the app.
  • Coverage is uneven by nature. An app that ships its own Japanese localization is translated well; one that does not falls back to a general dictionary and will sometimes be wrong in the way a dictionary is wrong — a plausible word for the wrong sense.

Support

There is nothing to install yet, so there is nothing to support yet. If you want to know when there is, or you have an opinion about what a progressive immersion layer ought to do, that address reaches a person.

Support & general
info@ludofax.com