21376daf39
Audited all four i18next namespaces (common, auth, errors, app) against
static t() call-site grep across the entire desktop source tree.
Pruned 40 dead keys per locale, 80 total lines removed across 6 files.
Dead keys removed:
- app: call.{e2ee_active_hint,still_live,voice_connected},
chats.{show_archived,show_active}, admin.nav,
friends.confirm_unfriend, settings.{danger_zone,this_device,
presence,section_ringtone}
- auth: signed_in.{title,session_active,user_id,admin,yes,no,sign_out,
device_active,device_platform,device_registered_at},
entire device.* section (old device-registration UI)
- common: loading, cancel, retry, online, offline, idle, dnd, invisible
Dynamic-key patterns were found and respected: t('errors:'+code)
keeps all errors keys; t('app:presence.'+val) keeps all presence keys;
t('app:annotator.tool.'+id) uses defaultValue so its locale entries
were not required.
58 lines
2.1 KiB
JSON
58 lines
2.1 KiB
JSON
{
|
||
"brand": {
|
||
"badge": "End-to-end encrypted · invite-only",
|
||
"title_line_1": "Private messaging",
|
||
"title_line_2": "for your circle.",
|
||
"subtitle": "Self-hosted, zero-knowledge server, libsodium crypto. You and your friends — nothing between.",
|
||
"feature_zk_title": "Zero-knowledge",
|
||
"feature_zk_desc": "Ciphertext never gets decrypted on the server.",
|
||
"feature_selfhost_title": "Self-hosted",
|
||
"feature_selfhost_desc": "Your Supabase. Your VPS. Your keys.",
|
||
"feature_invite_title": "Invite-only",
|
||
"feature_invite_desc": "No discovery, no strangers. Trusted circle."
|
||
},
|
||
"signup": {
|
||
"title": "Create your account",
|
||
"subtitle": "No passwords. Magic link via email.",
|
||
"cta": "Send magic link",
|
||
"cta_sending": "Sending link…"
|
||
},
|
||
"login": {
|
||
"title": "Welcome back",
|
||
"subtitle": "Enter your email — magic link follows.",
|
||
"cta": "Send magic link",
|
||
"cta_sending": "Sending link…"
|
||
},
|
||
"tab_signup": "Sign up",
|
||
"tab_login": "Log in",
|
||
"fields": {
|
||
"email": "Email",
|
||
"email_placeholder": "you@example.com",
|
||
"username": "Username",
|
||
"username_placeholder": "dennis",
|
||
"username_hint": "You log in with this. Case is preserved but not unique (dennis = Dennis).",
|
||
"username_invalid": "Letters, digits, or underscore · 3–32 chars.",
|
||
"invite_code": "Invite code",
|
||
"invite_hint": "Required · invite-only access."
|
||
},
|
||
"sent_banner": "Magic link sent to {{email}}.",
|
||
"sent_banner_hint": "Dev stack: open Inbucket and copy the 6-digit code from the email.",
|
||
"otp_label": "6-digit code",
|
||
"otp_placeholder": "123456",
|
||
"otp_hint": "Paste the code from the email.",
|
||
"otp_cta": "Verify code",
|
||
"otp_cta_loading": "Verifying…",
|
||
"otp_back": "Use a different email",
|
||
"footer_signup_prompt": "Already registered?",
|
||
"footer_login_prompt": "New here?",
|
||
"footer_switch_to_login": "Log in",
|
||
"footer_switch_to_signup": "Create account",
|
||
"footer_studio": "Supabase Studio",
|
||
"legal_note": "By signing up you accept that the server sees only ciphertext.",
|
||
"signed_in": {
|
||
"email": "Email",
|
||
"username": "Username",
|
||
"display_name": "Display name"
|
||
}
|
||
}
|