docs(translation): document on-device message translation
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:
+36
-1
@@ -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 <language> · 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`
|
||||
|
||||
Reference in New Issue
Block a user