docs(translation): document on-device message translation
CI / Build & Quality Checks (push) Successful in 10m45s
CI / Trigger Desktop Build (push) Successful in 7s

Add the feature to README (Messaging) and LOTUS_FEATURES (new
On-Device Message Translation section under Messaging Enhancements),
matching the existing style.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-18 16:18:34 -04:00
co-authored by Claude Opus 4.8
parent c77ab346d3
commit 7c28ba58b2
2 changed files with 37 additions and 1 deletions
+36 -1
View File
@@ -1,7 +1,7 @@
# Lotus Chat — Feature Reference
Everything added to Lotus Chat beyond upstream Cinny v4.12.1.
Last updated: June 2026.
Last updated: July 2026.
---
@@ -698,6 +698,41 @@ Context menu → **Forward** allows forwarding a message to any room the user is
Context menu → **Copy Text** copies a message's plain-text body to the clipboard (reply fallback stripped via `trimReplyFromBody`), complementing the existing **Copy Link** (permalink) action. It renders only when the event has a usable text body, so media without a caption doesn't show an empty action.
### On-Device Message Translation
Translate chat messages written in other languages into a language you choose,
inline in the timeline — running **entirely on your device** so message text
never leaves it.
- **Per-message translate** — a foreign-language message shows a **Translate**
action in its message menu; once translated, the message displays an inline
**"Translated from &lt;language&gt; · Show original"** toggle that swaps between
the translation and the original text.
- **Fully on-device / E2EE-preserving** — translation and language detection run
through the browser's built-in **Translator** and **Language Detector** APIs
(the Chromium on-device AI translation models). Message text is **never** sent
to any cloud translation service — no Google / DeepL / Microsoft, not even a
self-hosted server — and there is **no network fallback**, so end-to-end
encryption is preserved. That privacy guarantee is the whole point of the
feature.
- **Automatic detection** — the language of each message is detected
automatically; messages already in your target language are skipped (no
Translate action is shown).
- **Settings (Settings → General → Messages):**
- **Translate Messages Into** — your target language (default **English**;
~26 common languages).
- **Auto-translate Incoming Messages** (default **off**) — automatically
translates foreign-language messages whose on-device language model is
already downloaded.
- **One-time model download** — the first time you translate from a given
language, a small on-device model (a few MB) downloads once. Because the
browser requires a user gesture for that first download, the initial
translation needs a click.
- **Availability** — Chromium desktop browsers (**Chrome / Edge 138+**) and the
**Lotus desktop app** (WebView2 / Chromium). Not available in Firefox, Safari,
or mobile browsers; where the APIs are unavailable the feature hides itself and
the settings tile shows a note.
### Draft Persistence
- Composer drafts are stored in `localStorage` keyed by `roomId`
+1
View File
@@ -36,6 +36,7 @@ The Lotus Chat logo (`public/res/Lotus.png`) is a derivative work based on the o
- Control voice message playback speed: 0.75× / 1× / 1.5× / 2×
- Search messages with a date range filter
- Optional persistent search index for encrypted rooms (off by default — stores decrypted text on your device; clearable, wiped on logout)
- On-device message translation — foreign-language messages show a "Translate" action, then an inline "Translated from <language> · Show original" toggle. Runs entirely on your device via the browser's built-in translation models, so message text never leaves your device or touches a cloud service (no Google/DeepL/Microsoft) — preserving end-to-end encryption. Pick your target language and optionally auto-translate incoming messages at Settings → General → Messages. Chromium desktop (Chrome/Edge 138+) and the Lotus desktop app only; hidden where unavailable (Firefox, Safari, mobile)
- Write math with LaTeX: `$inline$` and `$$block$$` render via KaTeX (spec `data-mx-maths` supported)
- Room topics support rich formatting (bold, links, italics)
- Deleted messages show a placeholder instead of disappearing