Please enable JavaScript in your web browser's settings.
Nothing was inserted yet (the textarea is between this README and the settings in the bottom)
by the clipboard extension (make sure it says ON).
When you insert, interface will change: zen mode will be activated (invisible scrollbar for windows with ≤599px width, no README, etc.).
Settings are at the bottom of the page.
The source code of this page was last updated at 2025-08-23T23:41:58Z
Author of this web frontend is Arzet Ro, so if it doesn't work, then write @arzet_ro in Telegram. UPD: This project is archived, use https://github.com/HIllya51/LunaTranslator/releases


Note: settings do not automatically save! You need to click "Save all settings" down below!!!
Queue = messages awaiting to be translated. They are translated in order, not in parallel.
Difference between cache and log is that cache contains only unique things.
E.g. if one heroine says "yes!", another says "no!", another says "yes!" again, then 3 records would be in log but only 2 records in cache.

Screenshots

(Linux) Browser's window can be made floating by pressing the hotkey in i3 WM/Sway WM (default: meta+shift+space), then be resized with meta+rightMouseButton, then be moved with meta+leftMouseButton.
(Linux) Browser's window can be made (not in Wayland) transparent (70%) with picom --opacity-rule='70:name *= "P''opup Translation Frontend"' --unredir-if-possible-exclude='name *= "mpv"' -i 1.0 -e 1.0 --no-fading-openclose --shadow-exclude='name *= ""' --backend glx --glx-no-stencil --glx-no-rebind-pixmap

How to automatically move text from CTRL+C/V to here:

If you don't have clipboard-inserter, then get it from here:
https://addons.mozilla.org/it/firefox/addon/lap-clipboard-inserter/ (works fine even locally = file://)
https://chrome.google.com/webstore/detail/clipboard-inserter/deahejllghicakhplliloeheabddjajm (doesn't work locally, i.e. file:///)
(github: https://github.com/kmltml/clipboard-inserter)
Then EVERY TIME you reload this page, MAKE SURE to click the icon (sometimes two clicks are needed), so that there was green "ON" on the icon.

How to automatically move text from a VN to CTRL+C/V

Use https://github.com/Artikash/Textractor/releases (for me it works perfectly in Wine)
Don't forget to update it sometimes to get new hooks.

Must-have Extension

When you feel that a wrong word is chosen by the neural network (it will often happen because it doesn't know the full context.), you have to use:
https://chrome.google.com/webstore/detail/10ten-japanese-reader-rik/pnmaklegiibbioifkmfkgpfnmdehdfan
https://addons.mozilla.org/firefox/addon/10ten-ja-reader/
(github: https://github.com/birchill/10ten-ja-reader)
I.e. you just hover your mouse over a character, and then a character's and/or word's meanings appear in English and also in your browser's language if such dictionary exist.
If nothing happens upon hovering, click on the extension's icon (black background=enabled, grey=disabled).
On the icon there is a number "10" in case you can't find it.
It has many settings, you can even enable romaji (i.e. latin script).
If you've installed this extension just now, then refresh this page.

It also shows tones unlike Rikaikun. In short: when there is a line above a character, then use high tone, else low tone. If you have difficulties with pronouncing tones, then use a low/high volume instead of low/high tone for now, more info: https://www.youtube.com/watch?v=O6AoilGEers.

Or you can use another similar extension Yomichan, but don't forget to add "Kanjium (Pitch dictionary)".

Notes

This frontend has built-in deduplication ("[OEU][OEU" shall become "OEU]"), but very rarely the original source also has duplication on purpose (sentence "sukisuki" mistakenly would become "suki" and only then be translated).

You can save this page for offline usage. If you are on Linux:
curl -H 'Content-Type: application/json' --data-raw '{"message":"translate sentences","content":"いかにも噂話というパターンではあったが、とにかく、多くの人が知っていた。"}' http://localhost:14366/ or curl -d '「はい、それじゃ行きましょ~!今日は特別なターくんをいっぱい見せてね?」' http://localhost:14366/translate The result should be "It was just a rumor, but in any case, a lot of people knew." The quotes "" are because the output is a JSON string.