aboutsummaryrefslogtreecommitdiffstats
path: root/src/i18n.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-08-02 13:40:54 -0700
committerAdam Soltys <[email protected]>2026-08-02 13:40:54 -0700
commit95263c02a13a825a8d02dbe760f2a74de8f93f77 (patch)
tree1383d4ca48ec24eedb26fd7740f13e1295d55bdf /src/i18n.js
parent6416bd5dd79c3bdde5dfa7e7ec95fc811fbcdb28 (diff)
downloadcoinosv3-95263c02a13a825a8d02dbe760f2a74de8f93f77.tar.gz
coinosv3-95263c02a13a825a8d02dbe760f2a74de8f93f77.zip
Chat v2: DMs, invites, and multi-community — coinos is the default, not the only
- NIP-17 private DMs (src/dm.js): kind-14 rumors in sender-signed seals under ephemeral wraps; interops with other nostr DM clients. Login signers gained encryptTo/decryptFrom so extensions and bunkers can seal to a peer; the inbox listens for both the login npub and the wallet key and publishes a kind-10050 DM-relay list for the wallet key when none exists. - Concord invites (CORD-05): mint shareable links (33301 bundle on relays, keys only in the URL fragment), join by pasting a link or opening v3.coinos.io/invite/…, and direct invites giftwrapped to an npub with the k-tag index hint. Bundles self-certify the founder before anything joins. - Multi-community: home view lists DM threads and communities; found your own community in-app (owner-signed genesis). coinos stays baked in as default. - Welcome DM: the names registrar DMs every first-time registrant from Adam's npub on claim (config: welcome{sk,message}; deduped in registrar state). Every new wallet auto-claims a payment address, so every new user gets one. - relay.coinos.io write policy now allows 33301/13302/13303. Co-Authored-By: Claude Fable 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Wvj4aoeMZwA7VUGdJP9Swi
Diffstat (limited to 'src/i18n.js')
-rw-r--r--src/i18n.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/i18n.js b/src/i18n.js
index 0837f48..e87a49d 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -167,6 +167,35 @@ const STR = {
msgDelete: 'Delete message',
msgNoIdentity: 'No nostr identity available to sign with',
msgSendFailed: 'No relay accepted the message',
+ msgDmsTitle: 'Messages',
+ msgCommunitiesTitle: 'Communities',
+ msgNewDm: 'New message',
+ msgNoDms: 'No conversations yet.',
+ msgNoDmsYet: 'No messages yet — say hi!',
+ msgDmPlaceholder: 'Message',
+ msgDmEncrypted: 'Private message · end-to-end encrypted',
+ msgYouPrefix: 'You:',
+ msgOpen: 'Open',
+ msgNpubPlaceholder: 'npub…',
+ msgBadNpub: 'Not a valid npub',
+ msgSignerNoDm: 'This signer cannot encrypt DMs — log in again',
+ msgJoin: 'Join',
+ msgCreate: 'Create',
+ msgInvitePlaceholder: 'Paste an invite link',
+ msgNamePlaceholder: 'Community name',
+ msgBadInvite: 'Not a valid invite link',
+ msgInviteLoading: 'Fetching invite…',
+ msgInviteNotFound: 'Invite not found on its relays',
+ msgInviteRevoked: 'This invite has been revoked',
+ msgInviteExpired: 'This invite has expired',
+ msgInviteTo: 'You are invited to {name}',
+ msgInviteFounder: 'Founded by {npub}',
+ msgDirectInvite: '{from} invited you to {name}',
+ msgDismiss: 'Dismiss',
+ msgInviteTitle: 'Invite people',
+ msgCopyInvite: 'Copy invite link',
+ msgLinkCopied: 'Invite link copied',
+ msgInviteSent: 'Invite sent',
copyAddress: 'Copy address',
paymentReceived: 'Payment received!',
tapToProceed: 'Tap anywhere to proceed',