When macOS denies network access (PermissionDenied), show a localized dialog explaining how to grant permission in System Settings, with an 'Open System Settings' button that opens directly to the Local Network privacy pane. Also adds author info (Edison Jwa) to About dialog and moves diagnostics button from AppBar into About dialog.
166 lines
7.7 KiB
Plaintext
166 lines
7.7 KiB
Plaintext
{
|
|
"@@locale": "en",
|
|
"@@x-source-of-truth": "DEC-015 (register v0.9.5). Template ARB for English. Server-provided content is NOT translated (ADR-008 / DEC-015).",
|
|
|
|
"appTitle": "Chanora",
|
|
|
|
"homeNotProductionReadyBanner": "Beta build — voice in/out wired; not production ready.",
|
|
|
|
"fieldServerHost": "Server address",
|
|
"fieldNickname": "Nickname",
|
|
"fieldServerPassword": "Server password",
|
|
"fieldServerPasswordHelp": "Leave blank if the server does not require one.",
|
|
"fieldPassword": "Password",
|
|
"fieldDisplayName": "Display name",
|
|
|
|
"connectAction": "Connect",
|
|
"disconnectAction": "Disconnect",
|
|
"refreshAction": "Refresh",
|
|
"diagnosticsAction": "Diagnostics",
|
|
"aboutAction": "About",
|
|
"aboutVersion": "Version {version}",
|
|
"@aboutVersion": {
|
|
"placeholders": { "version": { "type": "String" } }
|
|
},
|
|
"aboutAuthor": "Author: Edison Jwa",
|
|
"aboutNonAffiliation": "Chanora is independent and is not affiliated with, endorsed by, sponsored by, or officially associated with TeamSpeak.",
|
|
"aboutLicenseHeading": "License",
|
|
"aboutLicenseBody": "Chanora is dual-licensed under the Apache License, Version 2.0 or the MIT License, at your option. The full license texts ship as LICENSE-APACHE and LICENSE-MIT at the repository root.",
|
|
"aboutThirdPartyHeading": "Third-party software",
|
|
"aboutThirdPartyBody": "Chanora is built on tsclientlib, flutter_rust_bridge, cpal, rusqlite, and the Flutter framework, among others. See the NOTICE file at the repository root for the current attribution list.",
|
|
"copyAction": "Copy",
|
|
"closeAction": "Close",
|
|
"startAudioAction": "Start audio",
|
|
"pttHoldToTalk": "Hold to talk",
|
|
"pttTransmitting": "Transmitting…",
|
|
"pttHoldToTalkSemanticsHint": "Press and hold to transmit voice; release to stop.",
|
|
"pttCapabilityBadge": "PTT: {level} ({backend})",
|
|
"@pttCapabilityBadge": {
|
|
"placeholders": {
|
|
"level": { "type": "String" },
|
|
"backend": { "type": "String" }
|
|
}
|
|
},
|
|
"pttCapabilityBoundKey": "Key: {key}",
|
|
"@pttCapabilityBoundKey": {
|
|
"placeholders": {
|
|
"key": { "type": "String" }
|
|
}
|
|
},
|
|
"pttCapabilityExplainTitle": "Push-to-Talk capability",
|
|
"pttCapabilityExplainFocusedHeading": "Focused PTT",
|
|
"pttCapabilityExplainFocusedBody": "Chanora is currently using Focused Push-to-Talk: the binding only fires while the Chanora window is focused. This is the universal fallback used on every platform when a global capture path is not available.",
|
|
"pttCapabilityExplainGoGlobalWindows": "On Windows, Global PTT is engaged automatically once you bind a key. No additional permission is required.",
|
|
"pttCapabilityExplainGoGlobalMacos": "On macOS, Global PTT requires Input Monitoring permission. Open System Settings → Privacy & Security → Input Monitoring, allow Chanora, then re-bind the key.",
|
|
"pttCapabilityExplainGoGlobalLinux": "On Linux, Global PTT requires a GNOME-Wayland desktop with the GlobalShortcuts portal. Re-bind the key and accept the desktop's shortcut dialog when it appears.",
|
|
"pttCapabilityExplainGoGlobalIos": "On iOS, Apple does not expose global hotkeys to apps. Chanora uses the on-screen Push-to-Talk button and only transmits while the app is in the foreground.",
|
|
"pttCapabilityExplainGoGlobalGeneric": "Global PTT is not available in this environment. Focused PTT will keep working while the Chanora window has focus.",
|
|
"pttConfigureAction": "Configure",
|
|
"pttConfigureTitle": "Configure Push-to-Talk binding",
|
|
"pttConfigurePrompt": "Press the key or mouse side button you want to use for Push-to-Talk.",
|
|
"pttConfigureWaiting": "(waiting for input…)",
|
|
"pttConfigureCaptured": "Captured",
|
|
"pttConfigurePrivacyNote": "Chanora never logs the actual key value. Only the input class (keyboard / mouse-side-button) and a platform-neutral label leave this dialog.",
|
|
"pttConfigureSaveAction": "Save",
|
|
"pttConfigurePortalRedirect": "Your desktop environment will open its own shortcut dialog. Pick the key you want to use for Push-to-Talk.",
|
|
"inputMuteAction": "Mute mic",
|
|
"inputUnmuteAction": "Unmute mic",
|
|
"outputMuteAction": "Mute speaker",
|
|
"outputUnmuteAction": "Unmute speaker",
|
|
"joinChannelAction": "Join channel",
|
|
"leaveChannelAction": "Leave channel",
|
|
"channelPasswordTitle": "Channel password",
|
|
"bookmarksHeading": "Bookmarks",
|
|
"bookmarksEmpty": "No bookmarks yet. Enter a server above and tap \"Save bookmark\".",
|
|
"bookmarkAddAction": "Save bookmark",
|
|
"bookmarkAddTitle": "Save bookmark",
|
|
"bookmarkDeleteAction": "Delete bookmark",
|
|
|
|
"statusIdle": "Not connected",
|
|
"statusConnecting": "Connecting…",
|
|
"statusConnected": "Connected to {server}",
|
|
"@statusConnected": {
|
|
"placeholders": { "server": { "type": "String" } }
|
|
},
|
|
"statusError": "Error: {message}",
|
|
"@statusError": {
|
|
"placeholders": { "message": { "type": "String" } }
|
|
},
|
|
|
|
"statusReconnecting": "Reconnecting… attempt {attempt}, in {delay}s",
|
|
"@statusReconnecting": {
|
|
"placeholders": {
|
|
"attempt": { "type": "int" },
|
|
"delay": { "type": "int" }
|
|
}
|
|
},
|
|
"statusConnectionLost": "Connection lost: {reason}",
|
|
"@statusConnectionLost": {
|
|
"placeholders": { "reason": { "type": "String" } }
|
|
},
|
|
|
|
"audioStatsLine": "TX {sent} frames • RX {received} frames • Mic {ptt}",
|
|
"@audioStatsLine": {
|
|
"placeholders": {
|
|
"sent": { "type": "int" },
|
|
"received": { "type": "int" },
|
|
"ptt": { "type": "String" }
|
|
}
|
|
},
|
|
|
|
"channelsHeading": "Channels",
|
|
"clientsHeading": "Online clients",
|
|
"countChannelsAndClients": "{channels} channels • {clients} online",
|
|
"@countChannelsAndClients": {
|
|
"placeholders": {
|
|
"channels": { "type": "int" },
|
|
"clients": { "type": "int" }
|
|
}
|
|
},
|
|
|
|
"voiceModePtt": "PTT",
|
|
"voiceModeContinuous": "Continuous",
|
|
"voiceModeVoiceActivity": "Voice activity",
|
|
"voiceModeComingSoon": "Coming soon",
|
|
"voiceModeLabel": "Transmit mode",
|
|
"voiceReleaseTailLabel": "Release tail",
|
|
"voiceReleaseTailHint": "ms",
|
|
"voiceLeaveAction": "Leave voice",
|
|
"voiceHardMuteLabel": "Mute microphone",
|
|
"voiceOutputMuteLabel": "Mute speakers",
|
|
"voiceSettingsTitle": "Voice settings",
|
|
"voiceBindKeyAction": "Bind PTT key",
|
|
"voiceBoundKeyLabel": "Bound key",
|
|
"voicePttHoldHint": "Hold the button",
|
|
"voiceMicOn": "on",
|
|
"voiceMicOff": "off",
|
|
"voiceSheetTitle": "Voice",
|
|
"audioOutputLabel": "Audio output",
|
|
"audioRouteSpeaker": "Speaker",
|
|
"audioRouteReceiver": "iPhone receiver",
|
|
"audioRouteBluetooth": "Bluetooth",
|
|
"audioRouteWiredHeadset": "Wired headset",
|
|
"audioRouteCarAudio": "Car audio",
|
|
"audioRouteAirplay": "AirPlay",
|
|
"audioRouteUnknown": "Unknown",
|
|
"channelJoinAlreadyIn": "Already in this channel.",
|
|
"channelJoinFailedPermission": "Insufficient permission to join this channel.",
|
|
"channelJoinFailedPassword": "Wrong channel password.",
|
|
"channelJoinFailedFull": "Channel is full.",
|
|
"channelJoinFailedFamilyFull": "Channel family limit reached.",
|
|
"channelJoinFailedPrivate": "This channel is private.",
|
|
"channelJoinFailedTimeout": "Could not join channel: the server didn't respond in time.",
|
|
"channelJoinFailedGeneric": "Could not join channel: {message}",
|
|
"@channelJoinFailedGeneric": {
|
|
"placeholders": {
|
|
"message": { "type": "String" }
|
|
}
|
|
},
|
|
"networkPermissionTitle": "Network Permission Required",
|
|
"networkPermissionBody": "Chanora needs permission to access the network. On macOS, go to System Settings → Privacy & Security → Local Network and enable Chanora, then try again.",
|
|
"networkPermissionOpenSettings": "Open System Settings",
|
|
"microphonePermissionTitle": "Microphone Permission Required",
|
|
"microphonePermissionBody": "Chanora needs permission to access the microphone. On macOS, go to System Settings → Privacy & Security → Microphone and enable Chanora.",
|
|
"permissionDenied": "Permission Denied"
|
|
}
|