aboutsummaryrefslogtreecommitdiffstats
path: root/src/cache-store.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-10-09 10:36:39 -0700
committerAdam Soltys <[email protected]>2026-10-09 10:36:39 -0700
commit41d7b9d4e5d0e10cdac708d9c9cd4838e47240ec (patch)
tree767d6dffc8dc14b90c368606d8fc39c68b050fb2 /src/cache-store.js
parentad028dd1c61e41913e4628046b96bf162bc4ba4a (diff)
downloadcoinosv3-41d7b9d4e5d0e10cdac708d9c9cd4838e47240ec.tar.gz
coinosv3-41d7b9d4e5d0e10cdac708d9c9cd4838e47240ec.zip
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
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Vps2H27rhbG9ZqseGfMrc3
Diffstat (limited to 'src/cache-store.js')
-rw-r--r--src/cache-store.js2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cache-store.js b/src/cache-store.js
index 1257a04..4d2ed1e 100644
--- a/src/cache-store.js
+++ b/src/cache-store.js
@@ -36,7 +36,7 @@ const GLOBAL_KEYS = new Set([
// (btc-wallet-note-threads stays: a server-rendered note page seeds it
// before boot has waited for anything)
'coinos-mod-baseline', 'coinos-community-directory-v1',
- 'coinos-link-previews', 'coinos-video-info', 'coinos-video-dims', 'btc-wallet-search-profiles',
+ 'coinos-link-previews', 'coinos-translations', 'coinos-video-info', 'coinos-video-dims', 'btc-wallet-search-profiles',
]);
export const isCacheKey = (k) => typeof k === 'string' && (GLOBAL_KEYS.has(k) || WALLET_RE.test(k));