dev / templates / app-cljs-rooms / client / src / __NAME__ / i18n / en.cljs
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
;; The EN catalog is the source of truth: the other catalogs' key sets must
;; match it (add the chat-style key-set test with your black-box tests —
;; chat/client/test/i18n.test.mjs is the shape).
;;
;; A message is a string, or a map of plural variants with string keys
;; ("zero" "one" "two" "few" "many" "other" — "other" required); plurals go
;; through Intl.PluralRules in i18n/runtime.cljs, never through
;; string concatenation.
(ns __NAME__.i18n.en)

(def catalog
  {;; header / chrome (app/ui.cljs)
   "top.rooms.title" "your rooms"
   "top.name.title" "change your name"
   "top.invite.title" "copy invite link"
   "peers.just-you" "just you"
   "peers.here" "{n} here"

   ;; join overlay
   "join.sub" "p2p · end-to-end encrypted · no servers hold your words"
   "join.name.ph" "your name"
   "join.btn" "join"

   ;; demo note wall
   "notes.ph" "write a note…"
   "notes.send" "post"

   ;; empty room
   "empty.title" "This is your room — nobody else is here yet."
   "empty.body" "Rooms live in the link itself (the part after #). Send someone this room's invite link and they'll land right here. Opening {host} without a link starts a new, separate room."
   "empty.invite" "🔗 copy invite link"
   "toast.invite-copied" "invite link copied — anyone with it can join & read"

   ;; copy fallback
   "copy.manual" "copy it manually:"
   "sheet.close" "close"

   ;; lobby (app/rooms.cljs)
   "lobby.sub1" "p2p · end-to-end encrypted · rooms are private links,"
   "lobby.sub2" "saved on your devices — never on a server"
   "lobby.empty" "no rooms yet — start one below"
   "lobby.new.ph" "new room name…"
   "lobby.new" "➕ start"
   "lobby.join.ph" "…or paste an invite link"
   "lobby.join" "join"
   "lobby.hint" "links open the room directly in a browser — in the installed app, paste the invite here"
   "lobby.version" "version {v}"
   "lobby.rename.title" "rename"
   "lobby.forget.title" "forget"
   "lobby.forget.arm" "sure?"
   "lobby.bad-link" "that's not an invite link — paste the full link"
   "room.word" "room"
   "ago.now" "now"
   "ago.m" "{n}m ago"
   "ago.h" "{n}h ago"
   "ago.d" "{n}d ago"

   ;; room boot toasts (room.cljs)
   "toast.offline-delivered" {"one" "⇣ {n} offline message delivered"
                              "other" "⇣ {n} offline messages delivered"}
   "toast.rooms-synced" {"one" "⇆ synced {n} room from your other device"
                         "other" "⇆ synced {n} rooms from your other device"}
   "toast.restored" {"one" "⇣ restored {n} message"
                     "other" "⇣ restored {n} messages"}
   "toast.mailbox-expired" "some offline messages expired before this device could fetch them"

   ;; update banner (main.cljs) — key names are load-bearing for the banner
   "update.ready-v" "⬆ version {live} is ready (you're on {v}) — tap to update"
   "update.ready" "⬆ a new version is ready — tap to update"
   "update.updating" "updating…"})

static mirror of HEAD · about · clone: git clone https://git.ardegazu.ro/dev.git