Live on Firefox Add-ons
Lingua Layer
Read Chinese and Japanese web pages, images and manga in Korean. Lingua Layer is a Firefox extension that lays the Korean where the original text sits, and leaves the page itself alone.
Try the Korean layer
Three samples written for this page, shown the way Lingua Layer shows them. Switch the view, open a word in the margin, or press the extension’s own shortcut.
Train announcement, in Japanese with the Korean layer
、にが。
곧 2번 승강장에 쾌속 전철이 들어옵니다.
、のまで。
위험하오니 노란 선 안쪽으로 물러나 주십시오.
ので、に。
다음 역에서 각 역 정차 열차로 갈아타실 수 있습니다.
Café menu, in Chinese with the Korean layer
오늘의 추천
:的,。
오트 라테: 당일 볶은 원두를 써서 설탕을 줄여도 향이 좋습니다.
,。
오후 3시 이후에는 두 번째 잔이 반값입니다.
,。
컵을 가져와 포장하면 바로 2위안을 빼 드립니다.
Manga balloon, in Japanese with the Korean layer
、の?
엇, 벌써 끝났어?
の、!
다음 권, 내일 나온대!
ドキッ
Large sound effects are skipped by default.
Sample text written for this page.
Alt+Shift+O switches the view here, as it does in the extension.
Word glosses preview the Langdogu app (In development). Lingua Layer 0.2.1 translates by line.
Read the samples with their meanings in English
- Train announcement
- Original まもなく、2番線に快速電車がまいります。 危ないですから、黄色い線の内側までお下がりください。 次の駅で、各駅停車にお乗り換えいただけます。
- Korean 곧 2번 승강장에 쾌속 전철이 들어옵니다. 위험하오니 노란 선 안쪽으로 물러나 주십시오. 다음 역에서 각 역 정차 열차로 갈아타실 수 있습니다.
- Meaning Shortly, a rapid train will arrive at platform 2. It is dangerous, so please stand back behind the yellow line. At the next station you can change to the local train.
- Café menu
- Original 今日推荐 燕麦拿铁:用当天烘焙的豆子,少糖也很香。 下午三点以后,第二杯半价。 自带杯子外带,立减两元。
- Korean 오늘의 추천 오트 라테: 당일 볶은 원두를 써서 설탕을 줄여도 향이 좋습니다. 오후 3시 이후에는 두 번째 잔이 반값입니다. 컵을 가져와 포장하면 바로 2위안을 빼 드립니다.
- Meaning Today’s pick. Oat latte: made with beans roasted that same day, still fragrant with less sugar. After 3 pm the second cup is half price. Bring your own cup for takeaway and get two yuan off.
- Manga balloon
- Original えっ、もう終わったの? 次の巻、明日発売だって!
- Korean 엇, 벌써 끝났어? 다음 권, 내일 나온대!
- Meaning Huh, it’s over already? They say the next volume goes on sale tomorrow!
Everything it does
Nothing is translated until you ask. When you do, Lingua Layer works on the text of a page, on text inside images, and on manga.
On a web page
For articles, product pages, forums and anything else written as text.
- The whole page, or only a selection
- Translate everything on the page, or select the sentences you need and translate only those.
- Text the page adds later
- When the page loads more text after it opens, the new text is picked up and translated too.
- What you can see, first
- Text on screen is translated before the rest of the page, so you can start reading sooner.
- Manual by default
- Nothing happens until you ask. For sites you read often, choose to always translate, and those sites are translated without asking.
Text inside images
Screenshots, posters, a photographed menu: text that is part of the picture.
- An image, or a region you drag
- Select one image, or drag a region over any part of the screen. The text in it is recognised and the Korean is laid over the spot where each line sits.
- Recognition you can correct
- If a character was misread, correct the recognised text and translate that region again.
- The image stays as it was
- The Korean is an overlay. The original image is never modified.
Manga
Vertical Japanese, several balloons on a page, and sound effects drawn into the art.
- Right-hand column first
- Vertical Japanese is read the way it is written, starting from the right-hand column.
- Several balloons at once
- Drag over a panel with several balloons, and each one gets its own Korean.
- Sound effects left as drawn
- Big decorative sound effects are skipped by default. Turn them on if you want those translated too.
A manga page, read in order
- Balloon 1いらっしゃいませ!어서 오세요!Welcome!
- Balloon 2メロンパン、まだありますか?멜론빵, 아직 있어요?Do you still have melon bread?
- Balloon 3ちょうど焼きたてですよ!마침 방금 구운 거예요!It has just come out of the oven!
ホカホカ The sound effect for the warmth of fresh bread. Skipped by default; you can turn sound effects on.
How you read it
A few settings decide what you see and how the text is translated.
- View
- Original
- Both
- Translation
Switch between them whenever you like. Switching never translates again.
- Context
- General
- Shopping
- Manga
Picked automatically by default. You can choose the one that matches what you are reading.
- Quality
- Fast
- Balanced
- Best
For page and selection text. Images and manga regions always use Best.
- Per site
- When you ask
- Always translate
- Don’t translate
Translating when you ask is the default. Mark the sites you want translated every time.
How it works
Lingua Layer doesn’t translate on its own. What you choose goes to a companion service that you run, and the companion translates it with your own Codex CLI.
- On your own devicesFirefoxLingua Layer collects the text or the image region you chose.
- Your companionOn your PC, listening only on 127.0.0.1 with a per-install token, or on your own NAS over private HTTPS. It recognises text in images and caches results.
- Codex CLISigned in with your own ChatGPT account. Translations use your Codex allowance.
- At OpenAIOpenAIWhere the translation is done. OpenAI’s policies and your account settings apply.
Not on the path
- a Langdogu server
- an API key
- ads
- analytics
- tracking
Your companion
The companion is a small service that runs on your own PC or your own NAS. On a PC it listens only on 127.0.0.1, and every request needs the connection token made for your install. A NAS is reached over private HTTPS, for example inside your Tailscale network, so your phone and other devices can use the same companion.
Text recognition for images runs on the companion. Translations are cached on its disk and reused, and devices that share one NAS share one cache.
The Codex CLI, signed in with your ChatGPT account
The companion translates with the Codex CLI, signed in with your own ChatGPT account. Your ChatGPT credentials are never entered into the extension; the Codex CLI on your PC or NAS manages them.
Each new translation uses your Codex usage allowance. There is no API key, and no Langdogu server anywhere on the path. OpenAI’s policies and your account settings apply.
Before you install
Installing the extension alone translates nothing. The current setup is for early users who are comfortable running a local service.
What you need
- Firefox
Firefox 140 or later on desktop. Firefox for Android 142 or later.
- A companion
Runs on a Windows PC with Node.js 22 or later, or on a NAS that runs a container.
To use Lingua Layer on your phone, the companion has to be on a NAS your phone can reach over private HTTPS.
- The Codex CLI
Signed in with your ChatGPT account through
codex login. Translations use that account’s Codex usage.- A connection
Translation is not offline. The text and image regions you choose go to OpenAI through your Codex CLI.
Getting the companion
The companion is not publicly available. There is no public installer or setup guide yet, so setup for early users is arranged by email.
Install Lingua Layer from Firefox Add-ons.
Get Lingua LayerAsk for companion setup by email, and say whether you’ll run it on a Windows PC or a NAS.
[email protected]
Shortcuts, menus and touch
On a computer
These are the default shortcuts. You can change them in Firefox. The right-click menu starts the same translations.
| Keys | What it does |
|---|---|
| AltShiftT | Page on or off |
| AltShiftS | Selection |
| AltShiftI | Image or region |
| AltShiftM | Manga region |
| AltShiftO | Original or translation |
The last one also works in the demo at the top of this page.
On Android
Lingua Layer works in Firefox for Android 142 or later. There are no shortcuts there: use the buttons in the extension’s popup, and drag with your finger to select a region of an image or a manga page.
Your phone connects to a companion on your NAS over private HTTPS.
What comes next
Lingua Layer is the first piece of Langdogu. These pieces build on it, and none of them is part of Lingua Layer 0.2.1.
- Planned
The learning loop
Save an unknown word with its sentence while you read, review it in Langdogu, and see the words you know marked the next time you read.
- In development
The Langdogu app
Keeps the record and the review: the expressions you saved, each with the sentence where you met it, reviewed with spaced repetition (FSRS).
About the app - In development
Your vocabulary, open to Claude and ChatGPT
An MCP server, so Claude, ChatGPT and other assistants can open your Langdogu vocabulary and talk with you about what you learned today. Nothing connects unless you add it and approve it.
Open by design
Questions
Does Langdogu see the pages I read?
No. There is no Langdogu server. The text or image region you choose goes from Firefox to your own companion, then through your Codex CLI to OpenAI, where OpenAI’s policies and your account settings apply. Input fields, editable areas and hidden text are skipped, and region captures that overlap sensitive inputs are blocked.
Read the privacy policyWhere do I get the companion?
It isn’t publicly available yet: there is no public installer or setup guide. Install the extension from Firefox Add-ons, then write to [email protected] and setup is arranged by email.
Does it work offline?
No. Text recognition runs on your companion, but translation is done by OpenAI through your Codex CLI, so it needs a connection.
What does it cost?
Lingua Layer doesn’t use an API key. Translations use the Codex usage that comes with your own ChatGPT plan, so what is included, the limits and any extra cost follow OpenAI’s terms for your plan.
Which languages does it translate?
Chinese and Japanese, into Korean.
Do I need a Langdogu account?
No. This version has no Langdogu accounts, and it doesn’t keep vocabulary, learning history or review data.
Is it open source?
Not today. Lingua Layer’s code is All Rights Reserved.
Does it run in private windows?
No. Lingua Layer does not run in private windows.
How do I clear the cache?
From the extension’s settings. On a NAS that several devices share, this clears the shared cache for all of them. Cached translations don’t expire with time; the least recently used are removed when the cache reaches its size limit. Removing the extension does not delete the cache on your PC or NAS.
Why Firefox?
Lingua Layer is built for Firefox: Firefox 140 or later on desktop and Firefox for Android 142 or later, so the same extension works on your computer and your phone. Other browsers aren’t supported today.
Lingua Layer 0.2.1
The facts of the release that is live today.
- Version
- 0.2.1, public on Firefox Add-ons since 9 October 2026. Firefox Add-ons marks it Experimental and as requiring non-free services or additional hardware.
- Works with
- Firefox 140 or later on desktop. Firefox for Android 142 or later.
- You also need
- Your own companion service, on your PC or your own NAS, and the Codex CLI signed in with your ChatGPT account. The extension alone translates nothing.
- Where text goes
- Only what you choose to translate: the text you selected or extracted, the context around it and, where needed, the page title; for images and manga, the region you chose and the text recognised in it. It goes to your companion, which sends it to OpenAI through your Codex CLI and uses your Codex allowance. Translation is not offline.
- What is not there
- No Langdogu server, no API key, no ads, no analytics, no tracking.
- License
- All Rights Reserved. Lingua Layer is not open source today.
- Privacy
- Lingua Layer privacy policy
- Contact
- [email protected]