DUNGEONS-34: implement Webka local streaming app
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
177
frontend/i18n/locales/en.json
Normal file
177
frontend/i18n/locales/en.json
Normal file
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"nav": {
|
||||
"main": "Main navigation",
|
||||
"host": "Host studio",
|
||||
"watch": "Watch",
|
||||
"accounts": "Accounts",
|
||||
"settings": "Settings"
|
||||
},
|
||||
"common": {
|
||||
"close": "Close",
|
||||
"logout": "Sign out",
|
||||
"skip": "Skip to content",
|
||||
"working": "Working…",
|
||||
"loading": "Loading…",
|
||||
"cancel": "Cancel",
|
||||
"save": "Save changes",
|
||||
"refresh": "Refresh"
|
||||
},
|
||||
"login": {
|
||||
"local": "Your network. Your space.",
|
||||
"headline": "A little closer.",
|
||||
"headlineAccent": "Wherever you are.",
|
||||
"description": "Turn a device into a live window. Share your camera or screen, privately on your local network.",
|
||||
"privacy": "No cloud. Just a connection.",
|
||||
"title": "Welcome back",
|
||||
"subtitle": "Sign in to this host to join the stream.",
|
||||
"setupTitle": "Make yourself at home",
|
||||
"setupDescription": "Create the administrator account for this host.",
|
||||
"usernamePlaceholder": "Your username",
|
||||
"passwordPlaceholder": "Your password",
|
||||
"setupToken": "Setup token",
|
||||
"tokenHint": "Use the token in the setup-token file created by the local server.",
|
||||
"create": "Create host account",
|
||||
"signin": "Sign in",
|
||||
"hostAccounts": "Accounts belong to this host only",
|
||||
"localUtility": "A local streaming utility"
|
||||
},
|
||||
"host": {
|
||||
"eyebrow": "Your local workspace",
|
||||
"title": "Host studio",
|
||||
"subtitle": "A live window into your world. You’re in control.",
|
||||
"start": "Go live",
|
||||
"stop": "Stop hosting",
|
||||
"previewTitle": "Your view starts here",
|
||||
"previewHint": "Choose a source below, then go live when you’re ready.",
|
||||
"enableCamera": "Enable preview",
|
||||
"private": "Private stream",
|
||||
"broadcasting": "Broadcasting to your network",
|
||||
"previewOnly": "Only you can see this preview",
|
||||
"audioOff": "Video only · No audio",
|
||||
"videoSource": "Video source",
|
||||
"switchAnytime": "Switch anytime",
|
||||
"rearHint": "Enable the camera first to discover available lenses.",
|
||||
"uptime": "Time live",
|
||||
"viewers": "Viewers",
|
||||
"quality": "Send quality",
|
||||
"connectDevice": "Connect a device",
|
||||
"scanHint": "Scan to open the stream on another device.",
|
||||
"qrAlt": "QR code for the local watch address",
|
||||
"localAddress": "Local address",
|
||||
"copy": "Copy address",
|
||||
"copied": "Address copied",
|
||||
"sameNetwork": "Connect to the same Wi-Fi",
|
||||
"connected": "Connected viewers",
|
||||
"noViewers": "A quiet room, for now",
|
||||
"inviteHint": "Share the link to invite your first viewer.",
|
||||
"kick": "Disconnect",
|
||||
"manageAccess": "Manage access",
|
||||
"footer": "Local by design. Your stream stays on your network."
|
||||
},
|
||||
"sources": {
|
||||
"front": "Front camera",
|
||||
"back": "Back camera",
|
||||
"screen": "Screen"
|
||||
},
|
||||
"stream": {
|
||||
"offline": "Offline",
|
||||
"connecting": "Connecting",
|
||||
"reconnecting": "Reconnecting",
|
||||
"waiting": "Waiting for host",
|
||||
"live": "Live"
|
||||
},
|
||||
"quality": {
|
||||
"auto": "Adaptive",
|
||||
"high": "High · 4 Mbps",
|
||||
"low": "Low · 600 Kbps"
|
||||
},
|
||||
"watch": {
|
||||
"fullscreen": "Toggle fullscreen",
|
||||
"disconnect": "Disconnect",
|
||||
"reconnect": "Reconnect",
|
||||
"waitingTitle": "Ready when they are",
|
||||
"waitingHint": "The host isn’t live yet. The stream will appear here automatically.",
|
||||
"connectingTitle": "Bringing you closer",
|
||||
"connectingHint": "Connecting to the host on your local network."
|
||||
},
|
||||
"accounts": {
|
||||
"eyebrow": "Who’s welcome",
|
||||
"title": "Accounts & security",
|
||||
"subtitle": "A private space, with access on your terms.",
|
||||
"add": "Add viewer",
|
||||
"protected": "Every connection starts with permission",
|
||||
"protectedHint": "Sign-in is required. Passwords are hashed. Access can be revoked anytime.",
|
||||
"localAccounts": "Local accounts",
|
||||
"account": "Account",
|
||||
"role": "Role",
|
||||
"lastLogin": "Last sign-in",
|
||||
"sessions": "Sessions",
|
||||
"actions": "Actions",
|
||||
"you": "You",
|
||||
"admin": "Host / Admin",
|
||||
"viewer": "Viewer",
|
||||
"username": "Username",
|
||||
"password": "Password",
|
||||
"usernameHint": "3–40 characters: Latin letters, numbers, dots, underscores or hyphens.",
|
||||
"passwordHint": "At least 12 characters, including a letter and a number.",
|
||||
"never": "Not yet",
|
||||
"reset": "Reset password",
|
||||
"delete": "Delete account",
|
||||
"saved": "Access settings updated.",
|
||||
"activeSessions": "Active sessions",
|
||||
"sessionHint": "Sessions expire after 30 minutes of inactivity or 12 hours.",
|
||||
"current": "This session",
|
||||
"lastActive": "Last active",
|
||||
"revoke": "Revoke",
|
||||
"resetHint": "All sessions for {name} will be signed out immediately.",
|
||||
"deleteHint": "Delete {name}? This removes the account and immediately disconnects all its sessions."
|
||||
},
|
||||
"general": {
|
||||
"eyebrow": "Make it yours",
|
||||
"title": "Settings",
|
||||
"subtitle": "Small details. Your kind of space.",
|
||||
"appearance": "Appearance",
|
||||
"dark": "Dark glass",
|
||||
"light": "Light glass",
|
||||
"accent": "Accent color",
|
||||
"accentHint": "A little personality for your controls.",
|
||||
"language": "Language",
|
||||
"displayLanguage": "Display language",
|
||||
"languageHint": "Used throughout Webka on this browser.",
|
||||
"privacy": "Privacy & connection",
|
||||
"loginRequired": "Require sign-in",
|
||||
"loginHint": "Only accounts created on this host can watch.",
|
||||
"alwaysOn": "Always on",
|
||||
"localOnly": "Local network only",
|
||||
"localHint": "No cloud relay, analytics, or external media services.",
|
||||
"savedLocally": "Your preferences are saved in this browser."
|
||||
},
|
||||
"colors": {
|
||||
"lime": "Lime",
|
||||
"blue": "Blue",
|
||||
"violet": "Violet",
|
||||
"peach": "Peach"
|
||||
},
|
||||
"errors": {
|
||||
"server": "Couldn’t complete the request. Check that the local server is running and try again.",
|
||||
"unauthorized": "Your credentials are incorrect or your session has expired. Please sign in again.",
|
||||
"forbidden": "This action requires a host account.",
|
||||
"origin": "This address does not match the server’s configured address. Open the configured local URL.",
|
||||
"setupToken": "The setup token is incorrect.",
|
||||
"alreadySetup": "This host already has an administrator. Sign in instead.",
|
||||
"username": "Use 3–40 Latin letters, numbers, dots, underscores or hyphens.",
|
||||
"password": "Use at least 12 characters, with a letter and a number.",
|
||||
"rateLimited": "Too many attempts. Wait a minute and try again.",
|
||||
"duplicate": "That username is already taken.",
|
||||
"protectedAccount": "The host account cannot be deleted.",
|
||||
"notFound": "This account no longer exists.",
|
||||
"hostBusy": "This session is already connected or another host is live. Close the other tab and try again.",
|
||||
"secureContext": "Camera and screen access need HTTPS, or localhost on the server device. Open the secure host address.",
|
||||
"NotAllowedError": "Access was cancelled or denied. Allow camera or screen access in your browser and try again.",
|
||||
"NotFoundError": "No matching camera was found on this device.",
|
||||
"NotReadableError": "The camera is busy. Close other apps using it and try again.",
|
||||
"OverconstrainedError": "This camera source is unavailable. Try the front camera.",
|
||||
"clipboard": "Couldn’t copy automatically. Select and copy the address above.",
|
||||
"fullscreen": "Fullscreen isn’t available in this browser."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user