From 41d7b9d4e5d0e10cdac708d9c9cd4838e47240ec Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 9 Oct 2026 10:36:39 -0700 Subject: Translation: posts in another language are shown in yours — "Translated from Spanish · Show original" under the words, automatic by default for posts the language guess calls foreign (Settings → Nostr → Translation switches it off and leaves a Translate link instead), and ⋯ → Translate for any post. The browser's on-device Translator does it when the language pair is already installed (desktop Chrome); otherwise the registrar's new POST /translate (names/translate.js): a cached, 4-at-a-time front for a LibreTranslate container on cs (names/compose-libretranslate.yml, v1.9.6, 32 languages; none for sw/mr/ta/te, so those readers get no offer). Links, nostr: mentions, :emoji:, #tags and long codes are never sent to the model — only the prose between them, batched in one call (src/translate-split.js, shared). Translations are remembered (coinos-translations, 300). tools/translate-test.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Vps2H27rhbG9ZqseGfMrc3 --- src/style.css | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/style.css') diff --git a/src/style.css b/src/style.css index 93a7da7..c80f8e0 100644 --- a/src/style.css +++ b/src/style.css @@ -1610,3 +1610,10 @@ body::after { padding: 0; border: 0; background: none; color: var(--ink); text-align: left; cursor: pointer; } .wallet-side-amount { font-size: 24px; font-weight: 700; letter-spacing: -.01em; } +/* "Translated from Spanish · Show original" under a post's words */ +.note-translate { margin-top: 4px; } +.note-translate-btn { + background: none; border: none; padding: 0; margin: 0; font: inherit; color: var(--muted); + cursor: pointer; text-decoration: underline; text-underline-offset: 2px; min-height: 0; +} +.note-translate-btn:hover { color: var(--ink); } -- cgit v1.2.3