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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120 | {
"_doc": "The SocialTextKey i18n contract (text.ts): full sorted key list, the built-in EN table (wire-relevant: legacy invite labels), fill() substitution and mkT() fallback semantics.",
"deterministic": {
"keys_sorted": [
"social.chip.invite",
"social.chip.invite.title",
"social.chip.join",
"social.chip.join.title",
"social.home.title",
"social.invite.join",
"social.paste.chip",
"social.paste.chip.title",
"social.paste.error",
"social.paste.join",
"social.paste.placeholder",
"social.sheet.drop",
"social.sheet.here-now",
"social.sheet.hub",
"social.sheet.invite",
"social.sheet.nofriends",
"social.sheet.parked",
"social.sheet.sent",
"social.sheet.share",
"social.sheet.title",
"social.toast.come-play",
"social.toast.come-to",
"social.toast.copied",
"social.toast.copy",
"social.toast.invites-you",
"social.toast.join",
"social.toast.not-now",
"social.toast.share"
],
"en": {
"social.chip.invite": "π«Ά invite a friend",
"social.chip.invite.title": "seal an invite for this room to a friend β live or into their drop",
"social.chip.join": "friends can join",
"social.chip.join.title": "while on, friends on ardegazu.ro see a join button for this room",
"social.home.title": "back to the hub β ardegazu.ro",
"social.invite.join": "come join me in {app}",
"social.paste.chip": "π got an invite?",
"social.paste.chip.title": "paste an invite link β this window joins the room (works installed)",
"social.paste.error": "that's not an invite β paste the whole link",
"social.paste.join": "join",
"social.paste.placeholder": "paste the invite linkβ¦",
"social.sheet.drop": "will find it in their drop",
"social.sheet.here-now": "here now Β· {app}",
"social.sheet.hub": "find friends on ardegazu.ro",
"social.sheet.invite": "invite",
"social.sheet.nofriends": "no friends saved yet β anyone with the link can join",
"social.sheet.parked": "parked β",
"social.sheet.sent": "sent β",
"social.sheet.share": "share the room link",
"social.sheet.title": "invite a friend here",
"social.toast.come-play": "come play",
"social.toast.come-to": "come to {app}",
"social.toast.copied": "copied β",
"social.toast.copy": "β copy link",
"social.toast.invites-you": "{name} invites you",
"social.toast.join": "join",
"social.toast.not-now": "not now",
"social.toast.share": "share"
},
"fill_cases": [
{
"key": "social.toast.invites-you",
"vars": {
"name": "Ala"
},
"out": "Ala invites you"
},
{
"key": "social.sheet.here-now",
"vars": {
"app": "sueta"
},
"out": "here now Β· sueta"
},
{
"key": "social.invite.join",
"vars": {},
"out": "come join me in {app}"
},
{
"key": "social.invite.join",
"vars": {
"app": 42
},
"out": "come join me in 42"
}
],
"mkT_cases": [
{
"desc": "translator hit",
"key": "social.toast.join",
"out": "hai"
},
{
"desc": "translator miss -> EN",
"key": "social.toast.share",
"out": "share"
},
{
"desc": "returns key -> EN",
"key": "social.toast.join",
"out": "join"
},
{
"desc": "returns empty -> EN",
"key": "social.toast.join",
"out": "join"
}
],
"notes": [
"SocialTextKey = the keys_sorted list β the i18n contract app catalogs mirror as Record<SocialTextKey,...>",
"EN values are wire-relevant: senders put enText on the wire as the legacy invite label (must stay English-stable)",
"fill: /\\{(\\w+)\\}/g; unknown vars stay as the literal {name} token; values via String()"
]
}
}
|