Langdogu

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.

View
Korean gloss

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.

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.
夏祭り8月14日午後5時から中央公園雨天決行浴衣でお越しの方にうちわを差し上げます

Sample A poster drawn for this page. The region covers the details, so their text is recognised and the Korean is laid over each line. The title sits outside the region and stays in Japanese.Recognised text 8月14日 午後5時から 中央公園 雨天決行 浴衣でお越しの方にうちわを差し上げます

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

  1. Balloon 1いらっしゃいませ!어서 오세요!Welcome!
  2. Balloon 2メロンパン、まだありますか?멜론빵, 아직 있어요?Do you still have melon bread?
  3. 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.

Sample A manga page drawn for this page. The dotted route is the order you read it in: right to left, then top to bottom. The sound effect is ringed because it is skipped by default.

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.

  1. On your own devicesFirefoxLingua Layer collects the text or the image region you chose.
  2. 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.
  3. Codex CLISigned in with your own ChatGPT account. Translations use your Codex allowance.
  4. 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.

  1. Install Lingua Layer from Firefox Add-ons.

    Get Lingua Layer
  2. Ask 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.

KeysWhat it does
AltShiftTPage on or off
AltShiftSSelection
AltShiftIImage or region
AltShiftMManga region
AltShiftOOriginal 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.

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 policy
Where 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]