mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-09-13 02:54:26 +08:00
update: 更新前端依赖;修改前端样式
This commit is contained in:
@@ -5,10 +5,7 @@ export default {
|
||||
cancel: 'Cancel',
|
||||
confirm: 'Confirm',
|
||||
delete: 'Delete',
|
||||
upload: 'Upload',
|
||||
download: 'Download',
|
||||
refresh: 'Refresh',
|
||||
close: 'Close',
|
||||
success: 'Success',
|
||||
error: 'Error',
|
||||
warning: 'Warning',
|
||||
@@ -24,21 +21,16 @@ export default {
|
||||
connected: 'Connected',
|
||||
disconnected: 'Disconnected',
|
||||
connecting: 'Connecting...',
|
||||
disconnecting: 'Disconnecting...',
|
||||
unknown: 'Unknown',
|
||||
back: 'Back',
|
||||
next: 'Next',
|
||||
apply: 'Apply',
|
||||
menu: 'Menu',
|
||||
optional: 'Optional',
|
||||
recommended: 'Recommended',
|
||||
notSupportedYet: ' (Not Yet Supported)',
|
||||
create: 'Create',
|
||||
creating: 'Creating...',
|
||||
deleting: 'Deleting...',
|
||||
more: 'More',
|
||||
collapse: 'Collapse',
|
||||
expand: 'Expand',
|
||||
toggleTheme: 'Toggle theme',
|
||||
toggleLanguage: 'Toggle language',
|
||||
retry: 'Retry',
|
||||
@@ -55,9 +47,6 @@ export default {
|
||||
networkErrorDesc: 'Unable to connect to server. Please check your connection.',
|
||||
},
|
||||
nav: {
|
||||
console: 'Console',
|
||||
msd: 'Virtual Media',
|
||||
settings: 'Settings',
|
||||
logout: 'Logout',
|
||||
},
|
||||
auth: {
|
||||
@@ -80,8 +69,6 @@ export default {
|
||||
passwordRequired: 'Please fill in all password fields',
|
||||
passwordMismatch: 'Passwords do not match',
|
||||
passwordTooShort: 'Password must be at least 4 characters',
|
||||
passwordChanged: 'Password changed successfully',
|
||||
userNotFound: 'User not found',
|
||||
sessionExpired: 'Session expired',
|
||||
loggedInElsewhere: 'Logged in elsewhere',
|
||||
forgotPassword: 'Forgot password',
|
||||
@@ -101,10 +88,6 @@ export default {
|
||||
power: 'Power',
|
||||
keyboard: 'Virtual Keyboard',
|
||||
keyboardTip: 'Show virtual keyboard',
|
||||
mouseAbsolute: 'Absolute Mouse',
|
||||
mouseRelative: 'Relative Mouse',
|
||||
mouseAbsoluteTip: 'Absolute positioning - direct screen coordinate mapping',
|
||||
mouseRelativeTip: 'Relative positioning - sends mouse movement deltas',
|
||||
webTerminal: 'Web Terminal',
|
||||
stats: 'Stats',
|
||||
statsTip: 'View connection statistics',
|
||||
@@ -117,8 +100,7 @@ export default {
|
||||
deviceSettings: 'Device Settings',
|
||||
videoMode: 'Mode',
|
||||
selectMode: 'Select mode...',
|
||||
h264Hint: 'H.264 mode requires WebRTC support, lower latency',
|
||||
webrtcHint: 'WebRTC mode has lower latency, requires browser support',
|
||||
videoModeHint: 'HTTP uses more bandwidth but offers broad compatibility; WebRTC has stricter network requirements but uses less bandwidth',
|
||||
videoDevice: 'Device',
|
||||
videoFormat: 'Format',
|
||||
videoResolution: 'Resolution',
|
||||
@@ -129,14 +111,9 @@ export default {
|
||||
selectFps: 'Select FPS...',
|
||||
bitratePreset: 'Bitrate',
|
||||
bitrateSpeed: 'Speed',
|
||||
bitrateSpeedDesc: '1 Mbps - Lowest latency',
|
||||
bitrateBalanced: 'Balanced',
|
||||
bitrateBalancedDesc: '4 Mbps - Recommended',
|
||||
bitrateQuality: 'Quality',
|
||||
bitrateQualityDesc: '8 Mbps - Best visual',
|
||||
browserUnsupported: 'Browser unsupported',
|
||||
encoder: 'Encoder',
|
||||
changeEncoderBackend: 'Change encoder backend...',
|
||||
backendSoftware: 'Software',
|
||||
backendAuto: 'Auto',
|
||||
recommended: 'Recommended',
|
||||
@@ -158,7 +135,6 @@ export default {
|
||||
audioConfig: 'Audio',
|
||||
playbackControl: 'Playback',
|
||||
volume: 'Volume',
|
||||
mute: 'Mute',
|
||||
audioDeviceSettings: 'Device Settings',
|
||||
audioEnabled: 'Audio',
|
||||
audioDevice: 'Device',
|
||||
@@ -207,16 +183,12 @@ export default {
|
||||
macAddress: 'MAC Address',
|
||||
invalidMac: 'Invalid MAC address format',
|
||||
recentMac: 'Recent',
|
||||
send: 'Send',
|
||||
wolSent: 'WOL packet sent',
|
||||
wolFailed: 'Failed to send WOL packet',
|
||||
},
|
||||
setup: {
|
||||
title: 'Initial Setup',
|
||||
welcome: 'Welcome to One-KVM',
|
||||
description: 'Complete the initial setup to get started',
|
||||
stepAccount: 'Account Setup',
|
||||
stepVideo: 'Video Setup',
|
||||
stepAudioVideo: 'Audio/Video Setup',
|
||||
stepHid: 'HID Setup',
|
||||
setUsername: 'Set Admin Username',
|
||||
@@ -242,9 +214,7 @@ export default {
|
||||
noAudioDevices: 'No audio devices detected',
|
||||
audioDeviceHelp: 'Select the audio capture device for capturing remote host audio. Usually on the same USB device as the video capture card.',
|
||||
hidBackend: 'HID Backend',
|
||||
selectHidBackend: 'Select HID control method',
|
||||
serialHid: 'Serial HID',
|
||||
disableHid: 'Disabled',
|
||||
serialPort: 'Serial Port',
|
||||
selectSerialPort: 'Select serial port',
|
||||
noSerialDevices: 'No serial devices detected',
|
||||
@@ -252,7 +222,6 @@ export default {
|
||||
udc: 'USB Device Controller',
|
||||
selectUdc: 'Select UDC',
|
||||
noUdcDevices: 'No UDC devices detected',
|
||||
hidDisabledHint: 'Disabling HID will prevent keyboard and mouse control of the remote host',
|
||||
complete: 'Complete Setup',
|
||||
setupFailed: 'Setup failed',
|
||||
advancedEncoder: 'Advanced: Encoder Backend',
|
||||
@@ -269,10 +238,8 @@ export default {
|
||||
extensionsDescription: 'Choose which extensions to auto-start',
|
||||
ttydTitle: 'Web Terminal (ttyd)',
|
||||
ttydDescription: 'Access device command line in browser',
|
||||
ttydWindowsUnsupportedDescription: 'ttyd Web Terminal is not supported on Windows and will not be enabled.',
|
||||
extensionsHint: 'These settings can be changed later in Settings',
|
||||
notInstalled: 'Not installed',
|
||||
notSupportedOnWindows: 'Unsupported on Windows',
|
||||
passwordStrength: 'Password Strength',
|
||||
passwordWeak: 'Weak',
|
||||
passwordMedium: 'Medium',
|
||||
@@ -280,24 +247,14 @@ export default {
|
||||
passwordVeryStrong: 'Very Strong',
|
||||
},
|
||||
console: {
|
||||
title: 'Remote Console',
|
||||
videoAlt: 'KVM Video',
|
||||
videoMode: 'Video Mode',
|
||||
mjpeg: 'MJPEG',
|
||||
webrtc: 'WebRTC',
|
||||
fullscreen: 'Fullscreen',
|
||||
exitFullscreen: 'Exit Fullscreen',
|
||||
screenshot: 'Screenshot',
|
||||
reconnect: 'Refresh Page',
|
||||
noVideo: 'No video signal',
|
||||
connecting: 'Connecting...',
|
||||
streamOffline: 'Stream offline',
|
||||
connectionFailed: 'Connection Failed',
|
||||
connectionFailedDesc: 'Unable to connect to video stream, please refresh page or check device status',
|
||||
videoRestarting: 'Video stream is restarting',
|
||||
deviceSwitching: 'Switching video device...',
|
||||
configChanging: 'Applying new configuration...',
|
||||
videoRestarted: 'Video stream updated',
|
||||
streamError: 'Stream error',
|
||||
// Four canonical video states (backend StreamStateChanged: streaming /
|
||||
// no_signal / device_lost / device_busy). `reason` provides optional
|
||||
@@ -321,7 +278,7 @@ export default {
|
||||
},
|
||||
uvc_usb_error: {
|
||||
title: 'USB capture transport error',
|
||||
detail: 'The USB capture device encountered a protocol error (EPROTO). You can try resetting the device from Settings → Environment → USB Devices.',
|
||||
detail: 'The USB capture device encountered a protocol error (EPROTO). You can try resetting it from Settings → Other → USB Device Reset.',
|
||||
},
|
||||
uvc_capture_stall: {
|
||||
title: 'UVC capture stalled',
|
||||
@@ -339,14 +296,12 @@ export default {
|
||||
audio_device_lost: 'Audio capture is unavailable; recovery in progress',
|
||||
audio_reconnecting: 'Retrying audio device connection',
|
||||
uvc_usb_error:
|
||||
'Try another USB port or cable, avoid hubs, or reconnect the device. You can also reset the device from Settings → Environment → USB Devices.',
|
||||
'Try another USB port or cable, avoid hubs, or reconnect the device. You can also reset it from Settings → Other → USB Device Reset.',
|
||||
uvc_capture_stall: '',
|
||||
},
|
||||
},
|
||||
webrtcConnected: 'WebRTC Connected',
|
||||
webrtcConnectedDesc: 'Using low-latency H.264 video stream',
|
||||
webrtcFailed: 'WebRTC Connection Failed',
|
||||
fallingBackToMjpeg: 'Falling back to MJPEG mode',
|
||||
webrtcPhaseIceServers: 'Loading ICE servers...',
|
||||
webrtcPhaseCreatePeer: 'Creating peer connection...',
|
||||
webrtcPhaseCreateChannel: 'Creating data channel...',
|
||||
@@ -359,40 +314,14 @@ export default {
|
||||
mjpegPhaseStream: 'Requesting video stream...',
|
||||
mjpegPhaseFirstFrame: 'Waiting for first frame...',
|
||||
stepProgress: 'Step {current}/{total}',
|
||||
pointerLocked: 'Pointer Locked',
|
||||
pointerLockedDesc: 'Press Escape to release the pointer',
|
||||
pointerLockFailed: 'Failed to lock pointer',
|
||||
relativeModeHint: 'Relative Mouse Mode',
|
||||
relativeModeHintDesc: 'Click on the video area to lock the pointer, press Escape to release',
|
||||
metaKeyHint: 'System Key Detected',
|
||||
metaKeyHintDesc: 'Enter fullscreen mode to capture Win/Meta keys',
|
||||
streamModeChanged: 'Video Mode Changed',
|
||||
streamModeChangedDesc: 'Server switched to {mode} mode',
|
||||
deviceLost: 'Video Device Lost',
|
||||
deviceLostDesc: '{device}: {reason}',
|
||||
deviceRecovering: 'Video Device Recovering',
|
||||
deviceRecoveringDesc: 'Attempting to recover video device (attempt {attempt})',
|
||||
deviceRecovered: 'Video Device Recovered',
|
||||
deviceRecoveredDesc: 'Video device reconnected successfully',
|
||||
pleaseWait: 'Please wait...',
|
||||
retryCount: 'Retrying (attempt {count})',
|
||||
errorDetails: 'Error details',
|
||||
},
|
||||
hid: {
|
||||
title: 'HID Control',
|
||||
keyboard: 'Keyboard',
|
||||
mouse: 'Mouse',
|
||||
reset: 'Reset HID',
|
||||
sendCtrlAltDel: 'Send Ctrl+Alt+Del',
|
||||
pasteText: 'Paste Text',
|
||||
absoluteMouse: 'Absolute',
|
||||
relativeMouse: 'Relative',
|
||||
deviceLost: 'HID Device Lost',
|
||||
deviceLostDesc: '{backend}: {reason}',
|
||||
reconnecting: 'HID Reconnecting',
|
||||
reconnectingDesc: 'Attempting to reconnect (attempt {attempt})',
|
||||
recovered: 'HID Recovered',
|
||||
recoveredDesc: '{backend} HID device reconnected successfully',
|
||||
errorHints: {
|
||||
udcNotConfigured: 'OTG is ready, waiting for the target host to connect and finish USB enumeration',
|
||||
disabled: 'HID backend is disabled',
|
||||
@@ -418,10 +347,6 @@ export default {
|
||||
audio: {
|
||||
deviceLost: 'Audio Device Lost',
|
||||
deviceLostDesc: '{device}: {reason}',
|
||||
reconnecting: 'Audio Reconnecting',
|
||||
reconnectingDesc: 'Attempting to reconnect (attempt {attempt})',
|
||||
recovered: 'Audio Recovered',
|
||||
recoveredDesc: '{device} audio device reconnected successfully',
|
||||
},
|
||||
msd: {
|
||||
title: 'Virtual Media',
|
||||
@@ -438,8 +363,6 @@ export default {
|
||||
accessMode: 'Access Mode',
|
||||
readOnly: 'Read Only',
|
||||
readWrite: 'Read/Write',
|
||||
fileList: 'File List',
|
||||
uploadFile: 'Upload File',
|
||||
createFolder: 'Create Folder',
|
||||
driveNotInitialized: 'Virtual drive not initialized',
|
||||
initializeDrive: 'Initialize Drive',
|
||||
@@ -485,11 +408,8 @@ export default {
|
||||
settings: {
|
||||
title: 'Settings',
|
||||
sidebarSubtitle: 'Manage device, network and extensions',
|
||||
basic: 'Basic',
|
||||
general: 'General',
|
||||
appearance: 'Appearance',
|
||||
account: 'Account',
|
||||
access: 'Access',
|
||||
video: 'Video',
|
||||
encoder: 'Encoder',
|
||||
hid: 'HID',
|
||||
@@ -497,38 +417,31 @@ export default {
|
||||
atx: 'ATX',
|
||||
environment: 'Environment',
|
||||
network: 'Network',
|
||||
users: 'Users',
|
||||
hardware: 'Hardware',
|
||||
system: 'System',
|
||||
other: 'Other',
|
||||
extensions: 'Extensions',
|
||||
configured: 'Configured',
|
||||
security: 'Security',
|
||||
about: 'About',
|
||||
appearanceSubtitle: 'Customize interface appearance and language',
|
||||
accountSubtitle: 'Manage credentials and session policy',
|
||||
networkSubtitle: 'Configure web server ports, listen addresses and SSL certificate',
|
||||
videoSubtitle: 'Configure capture device, video encoder and WebRTC ICE servers',
|
||||
hidSubtitle: 'Configure the HID backend, device, descriptors, and USB gadget functions',
|
||||
msdSubtitle: 'Manage Mass Storage Device image directory',
|
||||
atxSubtitle: 'Configure remote power control hardware and Wake-on-LAN',
|
||||
environmentSubtitle: 'System runtime environment and USB device maintenance',
|
||||
otherSubtitle: 'Additional system hardware controls',
|
||||
aboutSubtitle: 'Online upgrade, version info and hardware overview',
|
||||
environmentSubtitle: 'View device information and system runtime diagnostics',
|
||||
otherSubtitle: 'Additional hardware controls and USB device maintenance',
|
||||
aboutSubtitle: 'Online upgrade and version information',
|
||||
extTtydSubtitle: 'Open a host Shell terminal in the browser',
|
||||
thirdPartyAccessSubtitle: 'Configure external RustDesk, VNC, RTSP, and Redfish access',
|
||||
extRemoteAccessSubtitle: 'Remote access through NAT-traversal services',
|
||||
extFrpcSubtitle: 'NAT traversal through the FRP client',
|
||||
watchdog: {
|
||||
title: 'Hardware Watchdog',
|
||||
description: 'Automatically use an available hardware watchdog while One-KVM is running.',
|
||||
description: 'The hardware watchdog can trigger a hardware reset if the system hangs or the process exits',
|
||||
status: {
|
||||
running: 'Running',
|
||||
closed: 'Off',
|
||||
unsupported: 'Unsupported',
|
||||
error: 'Error',
|
||||
},
|
||||
safety: 'If One-KVM stops feeding the watchdog, the hardware may restart the system according to its watchdog policy.',
|
||||
loadFailed: 'Failed to load hardware watchdog status',
|
||||
toggleFailed: 'Failed to update hardware watchdog',
|
||||
enableFailed: 'Failed to enable the hardware watchdog.',
|
||||
@@ -539,7 +452,6 @@ export default {
|
||||
disableFailed: 'The hardware watchdog cannot be safely disabled and keepalive will continue.',
|
||||
abnormalReason: 'The hardware watchdog is in an abnormal state.',
|
||||
},
|
||||
aboutDesc: 'Open and Lightweight IP-KVM Solution',
|
||||
deviceInfo: 'Device Info',
|
||||
deviceInfoDesc: 'Host system information',
|
||||
hostname: 'Hostname',
|
||||
@@ -557,55 +469,31 @@ export default {
|
||||
newPassword: 'New Password',
|
||||
usernameDesc: 'Change the console login username',
|
||||
passwordDesc: 'Change the console login password',
|
||||
version: 'Version',
|
||||
detectDevices: 'Detect Devices',
|
||||
detecting: 'Detecting...',
|
||||
networkSettings: 'Network Settings',
|
||||
msdSettings: 'MSD Settings',
|
||||
httpSettings: 'HTTP Settings',
|
||||
httpPort: 'HTTP Port',
|
||||
configureHttpPort: 'Configure HTTP server port',
|
||||
webServer: 'Access Address',
|
||||
webServerDesc: 'Configure HTTP/HTTPS ports and listening addresses. Restart required for changes to take effect.',
|
||||
httpsPort: 'HTTPS Port',
|
||||
bindAddress: 'Bind Address',
|
||||
bindAddressDesc: 'IP address the server listens on. 0.0.0.0 means all network interfaces.',
|
||||
bindMode: 'Listening Address',
|
||||
bindModeDesc: 'Choose which addresses the web server binds to.',
|
||||
bindModeAll: 'All addresses',
|
||||
bindModeLocal: 'Local only (127.0.0.1)',
|
||||
bindModeCustom: 'Custom address list',
|
||||
bindIpv6: 'Enable IPv6',
|
||||
bindAllDesc: 'Also listen on :: (all IPv6 interfaces).',
|
||||
bindLocalDesc: 'Also listen on ::1 (IPv6 loopback).',
|
||||
bindAddressList: 'Address List',
|
||||
bindAddressListDesc: 'One IP address per line (IPv4 or IPv6).',
|
||||
addBindAddress: 'Add address',
|
||||
bindAddressListEmpty: 'Add at least one IP address.',
|
||||
httpsEnabled: 'Enable HTTPS',
|
||||
httpsEnabledDesc: 'Serve over an encrypted connection. A self-signed certificate is generated automatically if none is provided.',
|
||||
portConfig: 'Port & Protocol',
|
||||
portConfigDesc: 'The service listens on a single port at a time, determined by the HTTPS toggle',
|
||||
redfishTitle: 'Redfish',
|
||||
redfishDesc: 'DMTF Redfish standard management interface',
|
||||
redfishEnabled: 'Enable Redfish API',
|
||||
redfishEnabledDesc: 'When enabled, the standard Redfish management interface is available at /redfish/v1/',
|
||||
redfishEndpoint: 'Redfish Endpoint',
|
||||
copyRedfishUrl: 'Copy Redfish URL',
|
||||
openRedfishEndpoint: 'Open Redfish endpoint',
|
||||
httpPortReserved: 'HTTP port (reserved)',
|
||||
httpsPortReserved: 'HTTPS port (reserved)',
|
||||
portActive: 'Active',
|
||||
portReserved: 'Reserved',
|
||||
portReservedHint: 'The reserved port is applied only after switching protocol; you can preconfigure it now.',
|
||||
previewUrl: 'Access URL preview',
|
||||
copyUrl: 'Copy access URL',
|
||||
openInBrowser: 'Open in browser',
|
||||
listenAddress: 'Listen Address',
|
||||
listenAddressDesc: 'Choose which network interfaces the web server binds to',
|
||||
bindModeAllDesc: '0.0.0.0 — Listen on all network interfaces',
|
||||
bindModeLocalDesc: '127.0.0.1 — Loopback only (local access)',
|
||||
bindModeCustomDesc: 'Bind to a specific list of IP addresses',
|
||||
listenAddressDesc: 'Configure the network interfaces used by the web server',
|
||||
effectiveAddresses: 'Effective listen addresses',
|
||||
sslCertificate: 'SSL Certificate',
|
||||
sslCertificateDesc: 'Upload a custom PEM certificate to replace the self-signed one. A service restart is required to apply.',
|
||||
@@ -618,8 +506,6 @@ export default {
|
||||
sslKeyPem: 'Private Key (.key)',
|
||||
sslCertPemPlaceholder: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----',
|
||||
sslKeyPemPlaceholder: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----',
|
||||
sslCertSaved: 'Certificate saved, restart to apply',
|
||||
sslCertCleared: 'Reverted to self-signed certificate, restart to apply',
|
||||
restartRequired: 'Restart Required',
|
||||
restartRequiredHint: 'The service will restart automatically to apply the new configuration.',
|
||||
unsavedChangesHint: 'Click Save to apply changes',
|
||||
@@ -637,7 +523,6 @@ export default {
|
||||
currentVersion: 'Current Version',
|
||||
latestVersion: 'Latest Version',
|
||||
updateStatus: 'Update Status',
|
||||
updateStatusIdle: 'Idle',
|
||||
releaseNotes: 'Release Notes',
|
||||
noUpdates: 'No new version available for current channel',
|
||||
updateOverviewLoadFailed: 'Failed to load update information',
|
||||
@@ -659,38 +544,12 @@ export default {
|
||||
authSettings: 'Session Policy',
|
||||
authSettingsDesc: 'Configure single-user login and concurrent session behavior',
|
||||
allowMultipleSessions: 'Allow concurrent web sessions',
|
||||
allowMultipleSessionsDesc: 'When disabled, a new login automatically signs out the previous session',
|
||||
userManagement: 'User Management',
|
||||
userManagementDesc: 'Manage user accounts and permissions',
|
||||
addUser: 'Add User',
|
||||
editUser: 'Edit User',
|
||||
deleteUser: 'Delete User',
|
||||
username: 'Username',
|
||||
password: 'Password',
|
||||
role: 'Role',
|
||||
roleAdmin: 'Admin',
|
||||
roleUser: 'User',
|
||||
loadingUsers: 'Loading users...',
|
||||
noUsers: 'No users found',
|
||||
create: 'Create',
|
||||
confirmDeleteUser: 'Are you sure you want to delete user "{name}"?',
|
||||
msdStatus: 'MSD Status',
|
||||
atxStatus: 'ATX Status',
|
||||
available: 'Available',
|
||||
notAvailable: 'Not available',
|
||||
msdEnable: 'Enable MSD',
|
||||
msdEnableDesc: 'Enable to mount ISO images and virtual drives to the target machine',
|
||||
msdCh9329Warning: 'HID backend is CH9329, MSD is unavailable',
|
||||
msdCh9329WarningDesc: 'CH9329 is a serial HID backend and does not support USB Gadget MSD',
|
||||
msdDir: 'MSD directory',
|
||||
msdDirDesc: 'MSD base directory containing images/ and ventoy/ subfolders',
|
||||
msdDirHint: 'Changing this rebuilds MSD and updates console capacity stats',
|
||||
willBeEnabledAfterSave: 'Will be enabled after save',
|
||||
disabled: 'Disabled',
|
||||
msdDesc: 'Mass Storage Device allows you to mount ISO images and virtual drives to the target machine. Use the MSD panel on the main page to manage images.',
|
||||
atxDesc: 'ATX power control allows you to remotely power on/off and reset the target machine. Use the ATX panel on the main page to control power.',
|
||||
atxPowerButton: 'Power Button',
|
||||
atxResetButton: 'Reset Button',
|
||||
atxPowerManagement: 'Power Management',
|
||||
atxDriver: 'Driver Type',
|
||||
atxDriverNone: 'Disabled',
|
||||
atxDriverGpio: 'GPIO',
|
||||
@@ -709,7 +568,6 @@ export default {
|
||||
atxWolSettingsDesc: 'Configure WOL magic packet sending options',
|
||||
atxWolInterface: 'Network Interface',
|
||||
atxWolInterfacePlaceholder: 'e.g. eth0, enp0s3',
|
||||
atxWolInterfaceHint: 'Specify network interface for WOL packets, leave empty for default routing',
|
||||
themeDesc: 'Choose the interface color scheme',
|
||||
languageDesc: 'Choose the interface display language',
|
||||
featureVisibility: 'Feature Visibility',
|
||||
@@ -722,7 +580,6 @@ export default {
|
||||
selectDevice: 'Select device...',
|
||||
videoFormat: 'Video Format',
|
||||
selectFormat: 'Select format...',
|
||||
driver: 'Driver',
|
||||
resolution: 'Resolution',
|
||||
frameRate: 'Frame Rate',
|
||||
encoderBackend: 'Video Encoder',
|
||||
@@ -731,14 +588,12 @@ export default {
|
||||
autoRecommended: 'Auto (Recommended)',
|
||||
software: 'Software',
|
||||
supportedFormats: 'Supported Codecs',
|
||||
encoderHint: 'Hardware encoders deliver lower latency and CPU usage; software encoders offer broader compatibility at a higher resource cost.',
|
||||
hidSettings: 'HID Settings',
|
||||
hidSettingsDesc: 'Configure backend, device, descriptors, and functions in order',
|
||||
hidBackend: 'HID Backend',
|
||||
serialDevice: 'Serial Device',
|
||||
baudRate: 'Baud Rate',
|
||||
otgUdc: 'OTG Device Controller',
|
||||
otgUdcDesc: 'Select the UDC used by the USB gadget, or leave blank for automatic selection',
|
||||
ch9329Options: 'CH9329 Options',
|
||||
ch9329OptionsDesc: 'Configure runtime compatibility for the CH9329 serial HID chip',
|
||||
ch9329HybridMouse: 'Linux Absolute Mouse Compatibility',
|
||||
@@ -752,29 +607,21 @@ export default {
|
||||
ch9329DescriptorWarning: 'Saving writes CH9329 parameters; changes may not show until the device is power-cycled or reconnected',
|
||||
ch9329StringLengthWarning: 'CH9329 strings are limited to 23 bytes',
|
||||
otgHidProfile: 'OTG Functions',
|
||||
otgHidProfileDesc: 'Select which USB functions are exposed to the host',
|
||||
otgFunctionKeyboard: 'Keyboard',
|
||||
otgFunctionKeyboard: 'Standard Keyboard',
|
||||
otgFunctionKeyboardDesc: 'Standard HID keyboard device',
|
||||
otgKeyboardLeds: 'Keyboard LED Status',
|
||||
otgKeyboardLedsDesc: 'Enable Caps/Num/Scroll LED feedback from the host',
|
||||
otgFunctionMouseRelative: 'Relative Mouse',
|
||||
otgFunctionMouseRelativeDesc: 'Traditional mouse movement (HID boot mouse)',
|
||||
otgFunctionMouseAbsolute: 'Absolute Mouse',
|
||||
otgFunctionMouseAbsoluteDesc: 'Absolute positioning (touchscreen-like)',
|
||||
otgFunctionMouseRelative: 'Relative Positioning Mouse',
|
||||
otgFunctionMouseAbsolute: 'Absolute Positioning Mouse',
|
||||
otgFunctionConsumer: 'Consumer Control Keyboard',
|
||||
otgFunctionConsumerDesc: 'Consumer Control keys such as volume/play/pause',
|
||||
otgFunctionMsd: 'Mass Storage (MSD)',
|
||||
otgFunctionMsdDesc: 'Expose USB storage to the host',
|
||||
otgProfileWarning: 'Saving reconnects the USB device; unsupported combinations show an error and restore the previous configuration',
|
||||
otgFunctionMinWarning: 'Enable at least one HID function before saving',
|
||||
otgNetwork: 'USB Virtual Ethernet',
|
||||
otgNetwork: 'USB Virtual Ethernet Bridge',
|
||||
otgRuntimeDegraded: 'OTG runtime is degraded',
|
||||
otgNetworkDesc: 'Bridge the USB link to an existing uplink',
|
||||
otgNetworkDriver: 'Host Driver Mode',
|
||||
otgNetworkInterface: 'Bridge Interface',
|
||||
otgNetworkNone: 'None',
|
||||
otgDescriptor: 'USB Device Descriptor',
|
||||
otgDescriptorDesc: 'Configure USB device identification',
|
||||
vendorId: 'Vendor ID (VID)',
|
||||
productId: 'Product ID (PID)',
|
||||
manufacturer: 'Manufacturer',
|
||||
@@ -790,7 +637,6 @@ export default {
|
||||
overall: 'Overall Status',
|
||||
ok: 'Healthy',
|
||||
hasIssues: 'Issues Found',
|
||||
summary: 'Issue Summary',
|
||||
counts: '{errors} errors, {warnings} warnings',
|
||||
groupCounts: '{ok} passed, {warnings} warnings, {errors} errors',
|
||||
notRun: 'Not run',
|
||||
@@ -872,7 +718,7 @@ export default {
|
||||
none: 'None',
|
||||
},
|
||||
usbDevices: {
|
||||
title: 'USB Devices',
|
||||
title: 'USB Device Reset',
|
||||
desc: 'View connected USB devices and reset them to recover from errors',
|
||||
refresh: 'Refresh',
|
||||
loadFailed: 'Failed to load USB device list',
|
||||
@@ -887,34 +733,21 @@ export default {
|
||||
resetAction: 'Reset Device',
|
||||
},
|
||||
webrtcSettings: 'WebRTC Signaling',
|
||||
webrtcSettingsDesc: 'Configure STUN/TURN servers to assist NAT traversal',
|
||||
publicIceServersHint: 'Leave empty to use Google\u2019s public STUN servers; TURN must be self-hosted',
|
||||
webrtcSettingsDesc: 'Configure STUN/TURN servers; changes apply to newly established WebRTC sessions after saving',
|
||||
stunServer: 'STUN Server',
|
||||
stunServerPlaceholder: 'stun:stun.l.google.com:19302',
|
||||
stunServerHint: 'Leave empty to use Google\u2019s public STUN servers',
|
||||
turnServer: 'TURN Server',
|
||||
turnServerPlaceholder: 'turn:turn.example.com:3478',
|
||||
turnServerHint: 'TURN relay server. Strongly recommended for public deployments or strict NAT environments.',
|
||||
turnUsername: 'TURN Username',
|
||||
turnPassword: 'TURN Password',
|
||||
turnCredentialsHint: 'Credentials used for TURN server authentication',
|
||||
iceConfigNote: 'Changes apply to the next WebRTC session',
|
||||
},
|
||||
virtualKeyboard: {
|
||||
title: 'Virtual Keyboard',
|
||||
attach: 'Attach',
|
||||
detach: 'Detach',
|
||||
hide: 'Hide',
|
||||
show: 'Show Virtual Keyboard',
|
||||
layoutSelect: 'Keyboard Layout',
|
||||
osWindows: 'Windows',
|
||||
osMac: 'Mac',
|
||||
osAndroid: 'Android',
|
||||
mediaKeys: 'Consumer Control Keyboard',
|
||||
},
|
||||
config: {
|
||||
applied: 'Configuration applied',
|
||||
applyFailed: 'Failed to apply configuration',
|
||||
loadDevicesFailed: 'Failed to load device list',
|
||||
updateFailed: 'Update failed',
|
||||
},
|
||||
@@ -927,9 +760,6 @@ export default {
|
||||
online: 'Online',
|
||||
offline: 'Offline',
|
||||
connecting: 'Connecting...',
|
||||
version: 'Version',
|
||||
uptime: 'Uptime',
|
||||
running: 'Running',
|
||||
format: 'Format',
|
||||
resolution: 'Resolution',
|
||||
fps: 'FPS',
|
||||
@@ -937,10 +767,7 @@ export default {
|
||||
fpsActual: 'Actual FPS',
|
||||
fpsStaticHint: 'Frame rate drops automatically while the image is static',
|
||||
paused: 'Paused',
|
||||
clients: 'Clients',
|
||||
backend: 'Backend',
|
||||
mouse: 'Mouse',
|
||||
mouseSupport: 'Mouse Support',
|
||||
currentMode: 'Current Mode',
|
||||
absolute: 'Absolute',
|
||||
relative: 'Relative',
|
||||
@@ -948,21 +775,14 @@ export default {
|
||||
networkError: 'Network Error',
|
||||
disconnected: 'Disconnected',
|
||||
hidUnavailable: 'HID Unavailable',
|
||||
sampleRate: 'Sample Rate',
|
||||
channels: 'Channels',
|
||||
quality: 'Quality',
|
||||
streaming: 'Streaming',
|
||||
off: 'Off',
|
||||
defaultDevice: 'Default',
|
||||
notConnected: 'Not Connected',
|
||||
connected: 'Connected',
|
||||
image: 'Image',
|
||||
msdStatus: 'Status',
|
||||
msdStandby: 'Idle',
|
||||
msdImageMode: 'Image Mode',
|
||||
msdDriveMode: 'Virtual USB',
|
||||
msdMultiMode: 'Virtual Media: {count} mounted',
|
||||
msdMountType: 'Mount Type',
|
||||
msdCurrentImage: 'Current Image',
|
||||
msdNoImage: 'None',
|
||||
},
|
||||
@@ -978,21 +798,18 @@ export default {
|
||||
autoStart: 'Auto Start',
|
||||
thirdPartyAccess: {
|
||||
title: 'Third-party Access',
|
||||
desc: 'Configure RustDesk, VNC, and RTSP in one place',
|
||||
},
|
||||
viewLogs: 'View Logs',
|
||||
noLogs: 'No logs available',
|
||||
binaryNotFound: '{path} not found, please install the required program',
|
||||
remoteAccess: {
|
||||
title: 'Remote Access',
|
||||
desc: 'GOSTC/FRPC NAT traversal and Easytier networking',
|
||||
},
|
||||
ttyd: {
|
||||
title: 'Ttyd Web Terminal',
|
||||
desc: 'Web terminal access via ttyd',
|
||||
open: 'Open Terminal',
|
||||
openInNewTab: 'Open in New Tab',
|
||||
port: 'Port',
|
||||
shell: 'Shell',
|
||||
},
|
||||
gostc: {
|
||||
@@ -1014,11 +831,10 @@ export default {
|
||||
peers: 'Peer Nodes',
|
||||
addPeer: 'Add Peer',
|
||||
virtualIp: 'Virtual IP',
|
||||
virtualIpHint: 'Leave empty for DHCP, or specify with CIDR (e.g., 10.0.0.1/24)',
|
||||
},
|
||||
frpc: {
|
||||
title: 'FRPC NAT Traversal',
|
||||
desc: 'Connect to an frps server through the FRP client',
|
||||
desc: 'Use the FRP client for NAT traversal',
|
||||
quickConfig: 'Quick Config',
|
||||
fullConfig: 'Full Config',
|
||||
fullConfigHint: 'Paste the provider TOML configuration file here',
|
||||
@@ -1045,8 +861,7 @@ export default {
|
||||
},
|
||||
rustdesk: {
|
||||
title: 'RustDesk Remote',
|
||||
desc: 'Remote access via RustDesk client',
|
||||
serverSettings: 'Server Settings',
|
||||
desc: 'Configure the RustDesk service; the selected codec will be locked',
|
||||
rendezvousServer: 'ID Server',
|
||||
rendezvousServerPlaceholder: 'hbbs.example.com:21116',
|
||||
rendezvousServerRequired: 'Enter the RustDesk ID server',
|
||||
@@ -1054,10 +869,8 @@ export default {
|
||||
relayServerPlaceholder: 'hbbr.example.com:21117',
|
||||
relayKey: 'Relay Key',
|
||||
codec: 'Codec',
|
||||
codecHint: 'Choose H.264 or H.265 before starting RustDesk. The codec is locked while running.',
|
||||
deviceInfo: 'Device Info',
|
||||
deviceId: 'Device ID',
|
||||
deviceIdHint: 'Use this ID in RustDesk client to connect',
|
||||
devicePassword: 'Device Password',
|
||||
showPassword: 'Show Password',
|
||||
hidePassword: 'Hide Password',
|
||||
@@ -1065,8 +878,6 @@ export default {
|
||||
regeneratePassword: 'Regenerate Password',
|
||||
confirmRegenerateId: 'Are you sure you want to regenerate the device ID? Existing clients will need to reconnect with the new ID.',
|
||||
confirmRegeneratePassword: 'Are you sure you want to regenerate the password? Existing clients will need to reconnect with the new password.',
|
||||
serviceStatus: 'Service Status',
|
||||
rendezvousStatus: 'Registration Status',
|
||||
registered: 'Registered',
|
||||
connected: 'Connected',
|
||||
disconnected: 'Disconnected',
|
||||
@@ -1075,21 +886,16 @@ export default {
|
||||
notInitialized: 'Not Initialized',
|
||||
copyId: 'Copy ID',
|
||||
copyPassword: 'Copy Password',
|
||||
copied: 'Copied',
|
||||
keypairGenerated: 'Keypair Generated',
|
||||
noKeypair: 'No Keypair',
|
||||
},
|
||||
rtsp: {
|
||||
title: 'RTSP Streaming',
|
||||
desc: 'Configure RTSP video output service (H.264/H.265)',
|
||||
desc: 'Configure the RTSP streaming service; the selected codec will be locked',
|
||||
bind: 'Bind Address',
|
||||
bindHint: 'Enter an IPv4 or IPv6 address; configure the port in the port field.',
|
||||
port: 'Port',
|
||||
path: 'Stream Path',
|
||||
pathPlaceholder: 'live',
|
||||
pathHint: 'Example: rtsp://device-ip:8554/live',
|
||||
codec: 'Codec',
|
||||
codecHint: 'RTSP locks output to the selected codec while running. If RustDesk is running, choose the same codec.',
|
||||
allowOneClient: 'Allow One Client Only',
|
||||
username: 'Username',
|
||||
usernamePlaceholder: 'Empty means no authentication',
|
||||
@@ -1099,44 +905,31 @@ export default {
|
||||
},
|
||||
vnc: {
|
||||
title: 'VNC Remote',
|
||||
desc: 'Access via TigerVNC client',
|
||||
desc: 'Configure the VNC service; the selected codec will be locked',
|
||||
bind: 'Bind Address',
|
||||
bindHint: 'Enter an IPv4 or IPv6 address; configure the port in the port field.',
|
||||
port: 'Port',
|
||||
encoding: 'Video Encoding',
|
||||
encodingTightJpeg: 'Tight JPEG',
|
||||
encodingH264: 'H.264',
|
||||
encodingHint: 'VNC locks output while running. VNC cannot start under an H.265 lock; MJPEG blocks RTSP and RustDesk.',
|
||||
allowOneClient: 'Allow One Client Only',
|
||||
password: 'Password',
|
||||
passwordPlaceholder: 'Leave empty to keep current',
|
||||
passwordRequiredPlaceholder: 'Up to 8 characters',
|
||||
passwordRequired: 'Set a VNC password',
|
||||
passwordMaxLength: 'VNC passwords are limited to 8 characters',
|
||||
passwordSaved: 'Password is saved; leaving this empty keeps it unchanged.',
|
||||
clients: '{count} clients',
|
||||
urlPreview: 'VNC Address Preview',
|
||||
},
|
||||
},
|
||||
stats: {
|
||||
title: 'Connection Stats',
|
||||
current: 'Current Status',
|
||||
video: 'Video',
|
||||
videoDesc: 'Video stream from server to client.',
|
||||
video: 'Video Information',
|
||||
stability: 'Network Stability',
|
||||
stabilityDesc: 'How smooth the incoming video packets are in the network.',
|
||||
jitter: 'Jitter',
|
||||
delay: 'Playback Delay',
|
||||
delayDesc: 'Delay added by jitter buffer to smooth unevenly arriving frames.',
|
||||
packetLoss: 'Packet Loss',
|
||||
packetLossDesc: 'Number of lost incoming video RTP packets.',
|
||||
total: 'total',
|
||||
frameRate: 'Frame Rate',
|
||||
frameRateDesc: 'Number of incoming video frames displayed per second.',
|
||||
additional: 'Additional Info',
|
||||
latency: 'ICE Latency',
|
||||
bitrate: 'Bitrate',
|
||||
fps: 'FPS',
|
||||
resolution: 'Resolution',
|
||||
packetsLost: 'Packets Lost',
|
||||
connection: 'Connection Info',
|
||||
@@ -1148,23 +941,9 @@ export default {
|
||||
relay: 'TURN Relay',
|
||||
},
|
||||
help: {
|
||||
flashMode: 'Flash mode mounts the image as a USB drive, compatible with most BIOS boot',
|
||||
cdromMode: 'CDROM mode mounts the image as a CD drive, for systems requiring optical boot',
|
||||
readOnlyMode: 'Read-only mode is safer, the target system cannot modify the image',
|
||||
readWriteMode: 'Read-write mode allows writing data, useful for saving configurations',
|
||||
driveSize: 'Virtual drive size. Larger drives can store more files but take longer to initialize',
|
||||
mjpegMode: 'MJPEG mode has best compatibility, works with all browsers, but higher latency',
|
||||
webrtcMode: 'WebRTC mode has lower latency, but requires browser codec support',
|
||||
videoBitratePreset: 'Speed: lowest latency, best for slow networks. Balanced: good quality and latency. Quality: best visual, needs good bandwidth',
|
||||
encoderBackend: 'Hardware encoder has better performance and lower power. Software encoder has better compatibility',
|
||||
absoluteMode: 'Absolute mode maps mouse coordinates directly, suitable for most scenarios',
|
||||
relativeMode: 'Relative mode sends mouse movement delta, for games or special software',
|
||||
mouseThrottle: 'Send interval controls mouse event frequency. Higher values reduce network load',
|
||||
hidBackend: 'OTG backend requires USB OTG hardware support. CH9329 is a serial HID chip solution',
|
||||
atxActiveLevel: 'Active level depends on your hardware wiring. High means high voltage when triggered',
|
||||
wolInterface: 'Network interface name for sending Wake-on-LAN magic packets, e.g., eth0 or br0',
|
||||
stunServer: 'STUN server for NAT traversal to establish P2P connections. Leave empty for public servers',
|
||||
turnServer: 'TURN server provides relay when P2P fails. Requires more bandwidth but more reliable',
|
||||
audioQuality: 'Higher quality means better audio but requires more network bandwidth',
|
||||
},
|
||||
}
|
||||
|
||||
@@ -5,10 +5,7 @@ export default {
|
||||
cancel: '取消',
|
||||
confirm: '确认',
|
||||
delete: '删除',
|
||||
upload: '上传',
|
||||
download: '下载',
|
||||
refresh: '刷新',
|
||||
close: '关闭',
|
||||
success: '成功',
|
||||
error: '错误',
|
||||
warning: '警告',
|
||||
@@ -24,21 +21,16 @@ export default {
|
||||
connected: '已连接',
|
||||
disconnected: '已断开',
|
||||
connecting: '连接中...',
|
||||
disconnecting: '断开中...',
|
||||
unknown: '未知',
|
||||
back: '上一步',
|
||||
next: '下一步',
|
||||
apply: '应用',
|
||||
menu: '菜单',
|
||||
optional: '可选',
|
||||
recommended: '推荐',
|
||||
notSupportedYet: '(尚未支持)',
|
||||
create: '创建',
|
||||
creating: '创建中...',
|
||||
deleting: '删除中...',
|
||||
more: '更多',
|
||||
collapse: '收起',
|
||||
expand: '展开',
|
||||
toggleTheme: '切换主题',
|
||||
toggleLanguage: '切换语言',
|
||||
retry: '重试',
|
||||
@@ -55,9 +47,6 @@ export default {
|
||||
networkErrorDesc: '无法连接到服务器,请检查网络连接。',
|
||||
},
|
||||
nav: {
|
||||
console: '控制台',
|
||||
msd: '虚拟媒体',
|
||||
settings: '设置',
|
||||
logout: '退出登录',
|
||||
},
|
||||
auth: {
|
||||
@@ -80,8 +69,6 @@ export default {
|
||||
passwordRequired: '请填写所有密码字段',
|
||||
passwordMismatch: '两次输入的密码不一致',
|
||||
passwordTooShort: '密码至少需要4个字符',
|
||||
passwordChanged: '密码修改成功',
|
||||
userNotFound: '用户不存在',
|
||||
sessionExpired: '会话已过期',
|
||||
loggedInElsewhere: '已在别处登录',
|
||||
forgotPassword: '忘记密码',
|
||||
@@ -101,10 +88,6 @@ export default {
|
||||
power: '电源',
|
||||
keyboard: '虚拟键盘',
|
||||
keyboardTip: '显示虚拟键盘',
|
||||
mouseAbsolute: '绝对鼠标',
|
||||
mouseRelative: '相对鼠标',
|
||||
mouseAbsoluteTip: '绝对定位模式 - 直接映射屏幕坐标',
|
||||
mouseRelativeTip: '相对定位模式 - 发送鼠标移动增量',
|
||||
webTerminal: '网页终端',
|
||||
stats: '连接统计',
|
||||
statsTip: '查看连接状态',
|
||||
@@ -117,8 +100,7 @@ export default {
|
||||
deviceSettings: '设备配置',
|
||||
videoMode: '视频模式',
|
||||
selectMode: '选择模式...',
|
||||
h264Hint: 'H.264 模式需要 WebRTC 支持,延迟更低',
|
||||
webrtcHint: 'WebRTC 模式延迟更低,需要浏览器支持',
|
||||
videoModeHint: 'HTTP 对带宽占用较大但模式兼容性好;WebRTC 对网络要求较高但带宽占用低',
|
||||
videoDevice: '视频设备',
|
||||
videoFormat: '视频格式',
|
||||
videoResolution: '分辨率',
|
||||
@@ -129,14 +111,9 @@ export default {
|
||||
selectFps: '选择帧率...',
|
||||
bitratePreset: '码率',
|
||||
bitrateSpeed: '速度优先',
|
||||
bitrateSpeedDesc: '1 Mbps - 最低延迟',
|
||||
bitrateBalanced: '均衡',
|
||||
bitrateBalancedDesc: '4 Mbps - 推荐',
|
||||
bitrateQuality: '质量优先',
|
||||
bitrateQualityDesc: '8 Mbps - 最佳画质',
|
||||
browserUnsupported: '浏览器不支持',
|
||||
encoder: '编码器',
|
||||
changeEncoderBackend: '更改编码器后端...',
|
||||
backendSoftware: '软件编码',
|
||||
backendAuto: '自动',
|
||||
recommended: '推荐',
|
||||
@@ -158,7 +135,6 @@ export default {
|
||||
audioConfig: '音频',
|
||||
playbackControl: '播放控制',
|
||||
volume: '音量',
|
||||
mute: '静音',
|
||||
audioDeviceSettings: '设备配置',
|
||||
audioEnabled: '启用音频',
|
||||
audioDevice: '音频设备',
|
||||
@@ -207,16 +183,12 @@ export default {
|
||||
macAddress: 'MAC 地址',
|
||||
invalidMac: 'MAC 地址格式无效',
|
||||
recentMac: '最近使用',
|
||||
send: '发送',
|
||||
wolSent: 'WOL 唤醒包已发送',
|
||||
wolFailed: 'WOL 发送失败',
|
||||
},
|
||||
setup: {
|
||||
title: '初始化设置',
|
||||
welcome: '欢迎使用 One-KVM',
|
||||
description: '请完成初始设置以开始使用',
|
||||
stepAccount: '账号设置',
|
||||
stepVideo: '视频设置',
|
||||
stepAudioVideo: '音视频设置',
|
||||
stepHid: '鼠键设置',
|
||||
setUsername: '设置管理员用户名',
|
||||
@@ -242,9 +214,7 @@ export default {
|
||||
noAudioDevices: '未检测到音频设备',
|
||||
audioDeviceHelp: '选择用于捕获远程主机音频的设备。通常与视频采集卡在同一 USB 设备上。',
|
||||
hidBackend: 'HID 后端',
|
||||
selectHidBackend: '选择 HID 控制方式',
|
||||
serialHid: '串口 HID',
|
||||
disableHid: '禁用',
|
||||
serialPort: '串口设备',
|
||||
selectSerialPort: '选择串口设备',
|
||||
noSerialDevices: '未检测到串口设备',
|
||||
@@ -252,7 +222,6 @@ export default {
|
||||
udc: 'USB 设备控制器',
|
||||
selectUdc: '选择 UDC',
|
||||
noUdcDevices: '未检测到 UDC 设备',
|
||||
hidDisabledHint: '禁用 HID 后将无法控制远程主机的键盘和鼠标',
|
||||
complete: '完成设置',
|
||||
setupFailed: '设置失败',
|
||||
advancedEncoder: '高级选项:编码器后端',
|
||||
@@ -269,10 +238,8 @@ export default {
|
||||
extensionsDescription: '选择要自动启动的扩展服务',
|
||||
ttydTitle: 'Web 终端 (ttyd)',
|
||||
ttydDescription: '在浏览器中访问设备的命令行终端',
|
||||
ttydWindowsUnsupportedDescription: 'Windows 平台暂不支持 ttyd Web 终端,此扩展不会启用。',
|
||||
extensionsHint: '这些设置可以在设置页面中随时更改',
|
||||
notInstalled: '未安装',
|
||||
notSupportedOnWindows: 'Windows 不支持',
|
||||
passwordStrength: '密码强度',
|
||||
passwordWeak: '弱',
|
||||
passwordMedium: '中',
|
||||
@@ -280,24 +247,14 @@ export default {
|
||||
passwordVeryStrong: '很强',
|
||||
},
|
||||
console: {
|
||||
title: '远程控制台',
|
||||
videoAlt: 'KVM 视频',
|
||||
videoMode: '视频模式',
|
||||
mjpeg: 'MJPEG',
|
||||
webrtc: 'WebRTC',
|
||||
fullscreen: '全屏',
|
||||
exitFullscreen: '退出全屏',
|
||||
screenshot: '截图',
|
||||
reconnect: '刷新网页',
|
||||
noVideo: '无视频信号',
|
||||
connecting: '正在连接...',
|
||||
streamOffline: '视频流离线',
|
||||
connectionFailed: '连接失败',
|
||||
connectionFailedDesc: '无法连接到视频流,请刷新网页或检查设备状态',
|
||||
videoRestarting: '视频流正在重启',
|
||||
deviceSwitching: '正在切换视频设备...',
|
||||
configChanging: '正在应用新配置...',
|
||||
videoRestarted: '视频流已更新',
|
||||
streamError: '视频流错误',
|
||||
// 四档视频状态(对应后端 StreamStateChanged:streaming / no_signal /
|
||||
// device_lost / device_busy). `reason` 子键可选,用于在副文案中补充细节。
|
||||
@@ -320,7 +277,7 @@ export default {
|
||||
},
|
||||
uvc_usb_error: {
|
||||
title: 'USB 采集传输异常',
|
||||
detail: 'USB 采集卡遇到协议错误(EPROTO),可在 设置 → 环境 → USB 设备 中尝试复位。',
|
||||
detail: 'USB 采集卡遇到协议错误(EPROTO),可在 设置 → 其他 → USB 设备复位 中尝试复位。',
|
||||
},
|
||||
uvc_capture_stall: {
|
||||
title: 'UVC 采集超时',
|
||||
@@ -338,14 +295,12 @@ export default {
|
||||
audio_device_lost: '音频采集不可用,正在自动恢复',
|
||||
audio_reconnecting: '正在重试连接音频设备',
|
||||
uvc_usb_error:
|
||||
'可尝试更换 USB 口或线、避免 HUB、或重新插拔设备;也可在 设置 → 环境 → USB 设备 中复位。',
|
||||
'可尝试更换 USB 口或线、避免 HUB、或重新插拔设备;也可在 设置 → 其他 → USB 设备复位 中复位。',
|
||||
uvc_capture_stall: '',
|
||||
},
|
||||
},
|
||||
webrtcConnected: 'WebRTC 已连接',
|
||||
webrtcConnectedDesc: '正在使用 H.264 低延迟视频流',
|
||||
webrtcFailed: 'WebRTC 连接失败',
|
||||
fallingBackToMjpeg: '自动切换到 MJPEG 模式',
|
||||
webrtcPhaseIceServers: '正在加载 ICE 服务器...',
|
||||
webrtcPhaseCreatePeer: '正在创建点对点连接...',
|
||||
webrtcPhaseCreateChannel: '正在创建数据通道...',
|
||||
@@ -358,40 +313,14 @@ export default {
|
||||
mjpegPhaseStream: '正在请求视频流...',
|
||||
mjpegPhaseFirstFrame: '正在等待首帧...',
|
||||
stepProgress: '第 {current}/{total} 步',
|
||||
pointerLocked: '鼠标已锁定',
|
||||
pointerLockedDesc: '按 Escape 键释放鼠标',
|
||||
pointerLockFailed: '鼠标锁定失败',
|
||||
relativeModeHint: '相对鼠标模式',
|
||||
relativeModeHintDesc: '点击视频区域以锁定鼠标,按 Escape 释放',
|
||||
metaKeyHint: '检测到系统键',
|
||||
metaKeyHintDesc: '请进入全屏模式以捕获 Win/Meta 键',
|
||||
streamModeChanged: '视频模式已切换',
|
||||
streamModeChangedDesc: '服务器已切换到 {mode} 模式',
|
||||
deviceLost: '视频设备丢失',
|
||||
deviceLostDesc: '{device}: {reason}',
|
||||
deviceRecovering: '视频设备恢复中',
|
||||
deviceRecoveringDesc: '正在尝试恢复视频设备(第 {attempt} 次)',
|
||||
deviceRecovered: '视频设备已恢复',
|
||||
deviceRecoveredDesc: '视频设备已成功重连',
|
||||
pleaseWait: '请稍候...',
|
||||
retryCount: '正在重试 (第 {count} 次)',
|
||||
errorDetails: '错误详情',
|
||||
},
|
||||
hid: {
|
||||
title: 'HID 控制',
|
||||
keyboard: '键盘',
|
||||
mouse: '鼠标',
|
||||
reset: '重置 HID',
|
||||
sendCtrlAltDel: '发送 Ctrl+Alt+Del',
|
||||
pasteText: '粘贴文本',
|
||||
absoluteMouse: '绝对定位',
|
||||
relativeMouse: '相对定位',
|
||||
deviceLost: 'HID 设备丢失',
|
||||
deviceLostDesc: '{backend}: {reason}',
|
||||
reconnecting: 'HID 重连中',
|
||||
reconnectingDesc: '正在尝试重连(第 {attempt} 次)',
|
||||
recovered: 'HID 已恢复',
|
||||
recoveredDesc: '{backend} HID 设备已成功重连',
|
||||
errorHints: {
|
||||
udcNotConfigured: 'OTG 已就绪,等待被控机连接并完成 USB 枚举',
|
||||
disabled: 'HID 后端已禁用',
|
||||
@@ -417,10 +346,6 @@ export default {
|
||||
audio: {
|
||||
deviceLost: '音频设备丢失',
|
||||
deviceLostDesc: '{device}: {reason}',
|
||||
reconnecting: '音频重连中',
|
||||
reconnectingDesc: '正在尝试重连(第 {attempt} 次)',
|
||||
recovered: '音频已恢复',
|
||||
recoveredDesc: '音频设备已成功重连',
|
||||
},
|
||||
msd: {
|
||||
title: '虚拟媒体',
|
||||
@@ -437,8 +362,6 @@ export default {
|
||||
accessMode: '访问模式',
|
||||
readOnly: '只读',
|
||||
readWrite: '读写',
|
||||
fileList: '文件列表',
|
||||
uploadFile: '上传文件',
|
||||
createFolder: '新建文件夹',
|
||||
driveNotInitialized: '虚拟驱动器未初始化',
|
||||
initializeDrive: '初始化驱动器',
|
||||
@@ -484,11 +407,8 @@ export default {
|
||||
settings: {
|
||||
title: '系统设置',
|
||||
sidebarSubtitle: '管理设备、网络与扩展',
|
||||
basic: '基础',
|
||||
general: '通用',
|
||||
appearance: '外观',
|
||||
account: '账户',
|
||||
access: '访问',
|
||||
video: '视频',
|
||||
encoder: '编码器',
|
||||
hid: 'HID',
|
||||
@@ -496,38 +416,31 @@ export default {
|
||||
atx: 'ATX',
|
||||
environment: '环境',
|
||||
network: '网络',
|
||||
users: '用户',
|
||||
hardware: '硬件',
|
||||
system: '系统',
|
||||
other: '其他',
|
||||
extensions: '扩展',
|
||||
configured: '已配置',
|
||||
security: '安全',
|
||||
about: '关于',
|
||||
appearanceSubtitle: '自定义界面外观与显示语言',
|
||||
accountSubtitle: '管理登录凭据与会话策略',
|
||||
networkSubtitle: '配置 Web 服务端口、监听地址与 SSL 证书',
|
||||
videoSubtitle: '配置采集设备、视频编码器与 WebRTC 信令服务器',
|
||||
hidSubtitle: '配置 HID 后端、设备、描述符与 USB Gadget 功能',
|
||||
msdSubtitle: '管理虚拟存储设备 (MSD) 镜像目录',
|
||||
atxSubtitle: '配置远程电源控制硬件与网络唤醒',
|
||||
environmentSubtitle: '系统级运行环境与 USB 设备维护',
|
||||
otherSubtitle: '其他系统硬件控制',
|
||||
aboutSubtitle: '在线升级、版本信息与设备硬件概览',
|
||||
environmentSubtitle: '查看设备信息与系统级运行环境',
|
||||
otherSubtitle: '其他系统硬件控制与 USB 设备维护',
|
||||
aboutSubtitle: '在线升级与版本信息',
|
||||
extTtydSubtitle: '在浏览器中打开本机 Shell 终端',
|
||||
thirdPartyAccessSubtitle: '集中配置 RustDesk、VNC、RTSP 与 Redfish 外部接入',
|
||||
extRemoteAccessSubtitle: '通过内网穿透服务实现远程访问',
|
||||
extFrpcSubtitle: '通过 FRP 客户端实现内网穿透',
|
||||
watchdog: {
|
||||
title: '硬件 Watchdog',
|
||||
description: 'One-KVM 运行期间自动使用可用的硬件 Watchdog。',
|
||||
description: '硬件 Watchdog 可在系统死机或程序退出时自动触发硬件复位信号',
|
||||
status: {
|
||||
running: '运行中',
|
||||
closed: '已关闭',
|
||||
unsupported: '不支持',
|
||||
error: '异常',
|
||||
},
|
||||
safety: '如果 One-KVM 停止喂狗,硬件可能会按照 Watchdog 策略重启系统。',
|
||||
loadFailed: '无法加载硬件 Watchdog 状态',
|
||||
toggleFailed: '无法更新硬件 Watchdog',
|
||||
enableFailed: '无法开启硬件 Watchdog。',
|
||||
@@ -538,7 +451,6 @@ export default {
|
||||
disableFailed: '硬件 Watchdog 无法安全停用,将继续喂狗。',
|
||||
abnormalReason: '硬件 Watchdog 状态异常。',
|
||||
},
|
||||
aboutDesc: '开放轻量的 IP-KVM 解决方案',
|
||||
deviceInfo: '设备信息',
|
||||
deviceInfoDesc: '主机系统信息',
|
||||
hostname: '主机名',
|
||||
@@ -556,55 +468,31 @@ export default {
|
||||
newPassword: '新密码',
|
||||
usernameDesc: '修改控制台登录用户名',
|
||||
passwordDesc: '修改控制台登录密码',
|
||||
version: '版本',
|
||||
detectDevices: '探测设备',
|
||||
detecting: '探测中...',
|
||||
networkSettings: '网络设置',
|
||||
msdSettings: 'MSD 设置',
|
||||
httpSettings: 'HTTP 设置',
|
||||
httpPort: 'HTTP 端口',
|
||||
configureHttpPort: '配置 HTTP 服务器端口',
|
||||
webServer: '访问地址',
|
||||
webServerDesc: '配置 HTTP/HTTPS 端口和监听地址,修改后需要重启生效',
|
||||
httpsPort: 'HTTPS 端口',
|
||||
bindAddress: '绑定地址',
|
||||
bindAddressDesc: '服务器监听的 IP 地址,0.0.0.0 表示监听所有网络接口',
|
||||
bindMode: '监听地址',
|
||||
bindModeDesc: '选择 Web 服务监听哪些地址。',
|
||||
bindModeAll: '所有地址',
|
||||
bindModeLocal: '仅本地 (127.0.0.1)',
|
||||
bindModeCustom: '自定义地址列表',
|
||||
bindIpv6: '启用 IPv6',
|
||||
bindAllDesc: '同时监听 ::(所有 IPv6 地址)。',
|
||||
bindLocalDesc: '同时监听 ::1(IPv6 本地回环)。',
|
||||
bindAddressList: '地址列表',
|
||||
bindAddressListDesc: '每行一个 IP(IPv4 或 IPv6)。',
|
||||
addBindAddress: '添加地址',
|
||||
bindAddressListEmpty: '请至少填写一个 IP 地址。',
|
||||
httpsEnabled: '启用 HTTPS',
|
||||
httpsEnabledDesc: '使用加密连接对外提供服务,未配置证书时自动生成自签名证书',
|
||||
portConfig: '端口与协议',
|
||||
portConfigDesc: '服务一次仅监听一个端口,由 HTTPS 开关决定生效端口',
|
||||
redfishTitle: 'Redfish',
|
||||
redfishDesc: 'DMTF Redfish 标准管理接口',
|
||||
redfishEnabled: '启用 Redfish API',
|
||||
redfishEnabledDesc: '开启后可通过 /redfish/v1/ 访问标准 Redfish 管理接口',
|
||||
redfishEndpoint: 'Redfish 入口',
|
||||
copyRedfishUrl: '复制 Redfish 地址',
|
||||
openRedfishEndpoint: '打开 Redfish 入口',
|
||||
httpPortReserved: 'HTTP 端口(备用)',
|
||||
httpsPortReserved: 'HTTPS 端口(备用)',
|
||||
portActive: '当前生效',
|
||||
portReserved: '备用',
|
||||
portReservedHint: '备用端口仅在切换协议后生效,可提前配置',
|
||||
previewUrl: '访问地址预览',
|
||||
copyUrl: '复制访问地址',
|
||||
openInBrowser: '在浏览器中打开',
|
||||
listenAddress: '监听地址',
|
||||
listenAddressDesc: '配置 Web 服务监听哪些网络接口',
|
||||
bindModeAllDesc: '0.0.0.0 — 监听所有网络接口',
|
||||
bindModeLocalDesc: '127.0.0.1 — 仅允许本机访问',
|
||||
bindModeCustomDesc: '指定一组 IP 地址',
|
||||
listenAddressDesc: '配置 Web 服务监听的网络接口',
|
||||
effectiveAddresses: '生效监听地址',
|
||||
sslCertificate: 'SSL 证书',
|
||||
sslCertificateDesc: '上传自定义 PEM 证书替换自签名证书,保存后需重启服务生效',
|
||||
@@ -617,8 +505,6 @@ export default {
|
||||
sslKeyPem: '私钥内容 (.key)',
|
||||
sslCertPemPlaceholder: '-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----',
|
||||
sslKeyPemPlaceholder: '-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----',
|
||||
sslCertSaved: '证书已保存,重启后生效',
|
||||
sslCertCleared: '已恢复自签名证书,重启后生效',
|
||||
restartRequired: '需要重启',
|
||||
restartRequiredHint: '保存后将自动重启服务以应用新配置',
|
||||
unsavedChangesHint: '点击右侧按钮保存当前配置',
|
||||
@@ -636,7 +522,6 @@ export default {
|
||||
currentVersion: '当前版本',
|
||||
latestVersion: '最新版本',
|
||||
updateStatus: '升级状态',
|
||||
updateStatusIdle: '空闲',
|
||||
releaseNotes: '更新说明',
|
||||
noUpdates: '当前通道暂无可升级新版本',
|
||||
updateOverviewLoadFailed: '获取版本更新信息失败',
|
||||
@@ -658,38 +543,12 @@ export default {
|
||||
authSettings: '会话策略',
|
||||
authSettingsDesc: '配置单用户登录与并发会话规则',
|
||||
allowMultipleSessions: '允许多个 Web 会话并存',
|
||||
allowMultipleSessionsDesc: '关闭后,新登录将自动踢出旧会话',
|
||||
userManagement: '用户管理',
|
||||
userManagementDesc: '管理用户账号和权限',
|
||||
addUser: '添加用户',
|
||||
editUser: '编辑用户',
|
||||
deleteUser: '删除用户',
|
||||
username: '用户名',
|
||||
password: '密码',
|
||||
role: '角色',
|
||||
roleAdmin: '管理员',
|
||||
roleUser: '普通用户',
|
||||
loadingUsers: '加载用户中...',
|
||||
noUsers: '暂无用户',
|
||||
create: '创建',
|
||||
confirmDeleteUser: '确定要删除用户 "{name}" 吗?',
|
||||
msdStatus: 'MSD 状态',
|
||||
atxStatus: 'ATX 状态',
|
||||
available: '可用',
|
||||
notAvailable: '不可用',
|
||||
msdEnable: '启用 MSD',
|
||||
msdEnableDesc: '启用后可以挂载 ISO 镜像和虚拟驱动器到目标机器',
|
||||
msdCh9329Warning: '当前 HID 后端为 CH9329,MSD 功能不可用',
|
||||
msdCh9329WarningDesc: 'CH9329 为串口 HID 方案,不支持 USB Gadget 的 MSD 功能',
|
||||
msdDir: 'MSD 目录',
|
||||
msdDirDesc: 'MSD 根目录,内部包含 images/ 和 ventoy/ 两个子目录',
|
||||
msdDirHint: '修改后会重建 MSD,控制台容量统计以该目录为准',
|
||||
willBeEnabledAfterSave: '保存后生效',
|
||||
disabled: '已禁用',
|
||||
msdDesc: '虚拟存储设备允许您将 ISO 镜像和虚拟驱动器挂载到目标机器。请在主页面的 MSD 面板中管理镜像。',
|
||||
atxDesc: 'ATX 电源控制允许您远程开关机和重启目标机器。请在主页面的 ATX 面板中控制电源。',
|
||||
atxPowerButton: '电源按钮',
|
||||
atxResetButton: '重启按钮',
|
||||
atxPowerManagement: '电源管理',
|
||||
atxDriver: '驱动类型',
|
||||
atxDriverNone: '禁用',
|
||||
atxDriverGpio: 'GPIO',
|
||||
@@ -708,7 +567,6 @@ export default {
|
||||
atxWolSettingsDesc: '配置 Wake-on-LAN 魔术包发送选项',
|
||||
atxWolInterface: '网络接口',
|
||||
atxWolInterfacePlaceholder: '例如: eth0, enp0s3',
|
||||
atxWolInterfaceHint: '指定发送 WOL 包的网络接口,留空则使用系统默认路由',
|
||||
themeDesc: '选择界面颜色方案',
|
||||
languageDesc: '选择界面显示语言',
|
||||
featureVisibility: '功能展示',
|
||||
@@ -721,7 +579,6 @@ export default {
|
||||
selectDevice: '选择设备...',
|
||||
videoFormat: '视频格式',
|
||||
selectFormat: '选择格式...',
|
||||
driver: '驱动',
|
||||
resolution: '分辨率',
|
||||
frameRate: '帧率',
|
||||
encoderBackend: '视频编码器',
|
||||
@@ -730,14 +587,12 @@ export default {
|
||||
autoRecommended: '自动(推荐)',
|
||||
software: '软件',
|
||||
supportedFormats: '支持的编码格式',
|
||||
encoderHint: '硬件编码器延迟和 CPU 占用比软件编码低,画质预设更好',
|
||||
hidSettings: 'HID 设置',
|
||||
hidSettingsDesc: '按后端、设备、描述符和功能顺序配置',
|
||||
hidBackend: 'HID 后端',
|
||||
serialDevice: '串口设备',
|
||||
baudRate: '波特率',
|
||||
otgUdc: 'OTG 设备控制器',
|
||||
otgUdcDesc: '选择用于 USB Gadget 的 UDC,留空时自动选择',
|
||||
ch9329Options: 'CH9329 选项',
|
||||
ch9329OptionsDesc: '配置 CH9329 串口 HID 芯片的运行兼容性',
|
||||
ch9329HybridMouse: 'Linux 绝对鼠标兼容模式',
|
||||
@@ -751,29 +606,21 @@ export default {
|
||||
ch9329DescriptorWarning: '保存会写入 CH9329 参数;需要重新上电或重新插拔后才会变化',
|
||||
ch9329StringLengthWarning: 'CH9329 字符串最长为 23 字节',
|
||||
otgHidProfile: 'OTG 功能',
|
||||
otgHidProfileDesc: '选择对目标主机暴露的 USB 功能',
|
||||
otgFunctionKeyboard: '键盘',
|
||||
otgFunctionKeyboard: '标准键盘',
|
||||
otgFunctionKeyboardDesc: '标准 HID 键盘设备',
|
||||
otgKeyboardLeds: '键盘状态灯',
|
||||
otgKeyboardLedsDesc: '启用 Caps/Num/Scroll 状态灯回读',
|
||||
otgFunctionMouseRelative: '相对鼠标',
|
||||
otgFunctionMouseRelativeDesc: '传统鼠标移动(HID 启动鼠标)',
|
||||
otgFunctionMouseAbsolute: '绝对鼠标',
|
||||
otgFunctionMouseAbsoluteDesc: '绝对定位(类似触控)',
|
||||
otgFunctionMouseRelative: '相对定位鼠标',
|
||||
otgFunctionMouseAbsolute: '绝对定位鼠标',
|
||||
otgFunctionConsumer: '多媒体键盘',
|
||||
otgFunctionConsumerDesc: '音量/播放/暂停等多媒体按键',
|
||||
otgFunctionMsd: '虚拟媒体(MSD)',
|
||||
otgFunctionMsdDesc: '向目标主机暴露 USB 存储',
|
||||
otgProfileWarning: '保存后 USB 设备会重新连接;若控制器不支持当前组合,将显示失败并恢复原配置',
|
||||
otgFunctionMinWarning: '请至少启用一个 HID 功能后再保存',
|
||||
otgNetwork: 'USB 虚拟网卡',
|
||||
otgNetwork: 'USB 虚拟网卡桥接',
|
||||
otgRuntimeDegraded: 'OTG 运行时处于降级状态',
|
||||
otgNetworkDesc: '桥接到现有上联网卡',
|
||||
otgNetworkDriver: '目标机驱动模式',
|
||||
otgNetworkInterface: '桥接网卡',
|
||||
otgNetworkNone: '无',
|
||||
otgDescriptor: 'USB 设备描述符',
|
||||
otgDescriptorDesc: '配置 USB 设备标识信息',
|
||||
vendorId: '厂商 ID (VID)',
|
||||
productId: '产品 ID (PID)',
|
||||
manufacturer: '制造商',
|
||||
@@ -789,7 +636,6 @@ export default {
|
||||
overall: '总体状态',
|
||||
ok: '正常',
|
||||
hasIssues: '存在问题',
|
||||
summary: '问题统计',
|
||||
counts: '错误 {errors},警告 {warnings}',
|
||||
groupCounts: '通过 {ok},警告 {warnings},错误 {errors}',
|
||||
notRun: '未执行',
|
||||
@@ -871,7 +717,7 @@ export default {
|
||||
none: '无',
|
||||
},
|
||||
usbDevices: {
|
||||
title: 'USB 设备',
|
||||
title: 'USB 设备复位',
|
||||
desc: '查看已连接的 USB 设备,可通过复位恢复异常设备',
|
||||
refresh: '刷新',
|
||||
loadFailed: '加载 USB 设备列表失败',
|
||||
@@ -886,34 +732,21 @@ export default {
|
||||
resetAction: '确认复位',
|
||||
},
|
||||
webrtcSettings: 'WebRTC 信令',
|
||||
webrtcSettingsDesc: '配置 STUN/TURN 服务器以辅助 NAT 穿透',
|
||||
publicIceServersHint: '留空将使用 Google 公共 STUN 服务器;TURN 服务器需自行部署',
|
||||
webrtcSettingsDesc: '配置 STUN/TURN 服务器,保存后WebRTC 会话新建立时生效',
|
||||
stunServer: 'STUN 服务器',
|
||||
stunServerPlaceholder: 'stun:stun.l.google.com:19302',
|
||||
stunServerHint: '留空将使用 Google 公共 STUN 服务器',
|
||||
turnServer: 'TURN 服务器',
|
||||
turnServerPlaceholder: 'turn:turn.example.com:3478',
|
||||
turnServerHint: 'P2P 连接失败时进行流量中继',
|
||||
turnUsername: 'TURN 用户名',
|
||||
turnPassword: 'TURN 密码',
|
||||
turnCredentialsHint: '用于 TURN 服务器身份验证的凭据',
|
||||
iceConfigNote: '更改后将在下一次 WebRTC 会话建立时生效',
|
||||
},
|
||||
virtualKeyboard: {
|
||||
title: '虚拟键盘',
|
||||
attach: '固定',
|
||||
detach: '浮动',
|
||||
hide: '隐藏',
|
||||
show: '显示虚拟键盘',
|
||||
layoutSelect: '键盘布局',
|
||||
osWindows: 'Windows',
|
||||
osMac: 'Mac',
|
||||
osAndroid: 'Android',
|
||||
mediaKeys: '多媒体键盘',
|
||||
},
|
||||
config: {
|
||||
applied: '配置已应用',
|
||||
applyFailed: '配置应用失败',
|
||||
loadDevicesFailed: '加载设备列表失败',
|
||||
updateFailed: '更新失败',
|
||||
},
|
||||
@@ -926,9 +759,6 @@ export default {
|
||||
online: '在线',
|
||||
offline: '离线',
|
||||
connecting: '连接中...',
|
||||
version: '版本',
|
||||
uptime: '运行时间',
|
||||
running: '运行中',
|
||||
format: '格式',
|
||||
resolution: '分辨率',
|
||||
fps: '帧率',
|
||||
@@ -936,10 +766,7 @@ export default {
|
||||
fpsActual: '实际帧率',
|
||||
fpsStaticHint: '画面静止时会自动降帧',
|
||||
paused: '已暂停',
|
||||
clients: '客户端',
|
||||
backend: '后端',
|
||||
mouse: '鼠标',
|
||||
mouseSupport: '鼠标支持',
|
||||
currentMode: '当前模式',
|
||||
absolute: '绝对定位',
|
||||
relative: '相对定位',
|
||||
@@ -947,21 +774,14 @@ export default {
|
||||
networkError: '网络错误',
|
||||
disconnected: '已断开',
|
||||
hidUnavailable: 'HID不可用',
|
||||
sampleRate: '采样率',
|
||||
channels: '声道',
|
||||
quality: '质量',
|
||||
streaming: '传输中',
|
||||
off: '关闭',
|
||||
defaultDevice: '默认',
|
||||
notConnected: '未连接',
|
||||
connected: '已连接',
|
||||
image: '镜像',
|
||||
msdStatus: '状态',
|
||||
msdStandby: '空闲',
|
||||
msdImageMode: '镜像模式',
|
||||
msdDriveMode: '虚拟U盘',
|
||||
msdMultiMode: '多媒体:{count} 个已挂载',
|
||||
msdMountType: '挂载类型',
|
||||
msdCurrentImage: '当前镜像',
|
||||
msdNoImage: '无',
|
||||
},
|
||||
@@ -977,21 +797,18 @@ export default {
|
||||
autoStart: '开机自启',
|
||||
thirdPartyAccess: {
|
||||
title: '第三方接入',
|
||||
desc: '集中配置 RustDesk、VNC 与 RTSP',
|
||||
},
|
||||
viewLogs: '查看日志',
|
||||
noLogs: '暂无日志',
|
||||
binaryNotFound: '未找到 {path},请先安装对应程序',
|
||||
remoteAccess: {
|
||||
title: '远程访问',
|
||||
desc: 'GOSTC/FRPC 内网穿透与 Easytier 组网',
|
||||
},
|
||||
ttyd: {
|
||||
title: 'Ttyd 网页终端',
|
||||
desc: '通过 ttyd 提供网页终端访问',
|
||||
open: '打开终端',
|
||||
openInNewTab: '在新标签页打开',
|
||||
port: '端口',
|
||||
shell: 'Shell',
|
||||
},
|
||||
gostc: {
|
||||
@@ -1013,11 +830,10 @@ export default {
|
||||
peers: '对等节点',
|
||||
addPeer: '添加节点',
|
||||
virtualIp: '虚拟 IP',
|
||||
virtualIpHint: '留空则自动分配,手动指定需包含网段(如 10.0.0.1/24)',
|
||||
},
|
||||
frpc: {
|
||||
title: 'FRPC 内网穿透',
|
||||
desc: '通过 FRP 客户端连接 frps 服务',
|
||||
desc: '通过 FRP 客户端实现内网穿透',
|
||||
quickConfig: '快速配置',
|
||||
fullConfig: '完整配置',
|
||||
fullConfigHint: '可在此粘贴供应商 TOML 配置文件',
|
||||
@@ -1044,8 +860,7 @@ export default {
|
||||
},
|
||||
rustdesk: {
|
||||
title: 'RustDesk 远程',
|
||||
desc: '使用 RustDesk 客户端进行远程访问',
|
||||
serverSettings: '服务器设置',
|
||||
desc: '配置 RustDesk 服务,将会锁定所选编码',
|
||||
rendezvousServer: 'ID 服务器',
|
||||
rendezvousServerPlaceholder: 'hbbs.example.com:21116',
|
||||
rendezvousServerRequired: '请填写 RustDesk ID 服务器',
|
||||
@@ -1053,10 +868,8 @@ export default {
|
||||
relayServerPlaceholder: 'hbbr.example.com:21117',
|
||||
relayKey: '中继密钥',
|
||||
codec: '编码格式',
|
||||
codecHint: 'RustDesk 启动前需选择 H.264 或 H.265;运行时会锁定编码,不允许客户端切换。',
|
||||
deviceInfo: '设备信息',
|
||||
deviceId: '设备 ID',
|
||||
deviceIdHint: '此 ID 用于 RustDesk 客户端连接',
|
||||
devicePassword: '设备密码',
|
||||
showPassword: '显示密码',
|
||||
hidePassword: '隐藏密码',
|
||||
@@ -1064,8 +877,6 @@ export default {
|
||||
regeneratePassword: '重新生成密码',
|
||||
confirmRegenerateId: '确定要重新生成设备 ID 吗?现有客户端需要使用新 ID 重新连接。',
|
||||
confirmRegeneratePassword: '确定要重新生成设备密码吗?现有客户端需要使用新密码重新连接。',
|
||||
serviceStatus: '服务状态',
|
||||
rendezvousStatus: '注册状态',
|
||||
registered: '已注册',
|
||||
connected: '已连接',
|
||||
disconnected: '未连接',
|
||||
@@ -1074,21 +885,16 @@ export default {
|
||||
notInitialized: '未初始化',
|
||||
copyId: '复制 ID',
|
||||
copyPassword: '复制密码',
|
||||
copied: '已复制',
|
||||
keypairGenerated: '密钥对已生成',
|
||||
noKeypair: '密钥对未生成',
|
||||
},
|
||||
rtsp: {
|
||||
title: 'RTSP 视频流',
|
||||
desc: '配置 RTSP 推流服务(H.264/H.265)',
|
||||
desc: '配置 RTSP 推流服务,将会锁定所选编码',
|
||||
bind: '监听地址',
|
||||
bindHint: '填写 IPv4 或 IPv6 地址;端口请在端口字段配置。',
|
||||
port: '端口',
|
||||
path: '流路径',
|
||||
pathPlaceholder: 'live',
|
||||
pathHint: '访问路径,例如 rtsp://设备IP:8554/live',
|
||||
codec: '编码格式',
|
||||
codecHint: 'RTSP 运行时会锁定为所选编码;若 RustDesk 已运行,只能选择相同编码。',
|
||||
allowOneClient: '仅允许单客户端',
|
||||
username: '用户名',
|
||||
usernamePlaceholder: '留空表示无需认证',
|
||||
@@ -1098,44 +904,31 @@ export default {
|
||||
},
|
||||
vnc: {
|
||||
title: 'VNC 远程',
|
||||
desc: '通过 TigerVNC 客户端访问',
|
||||
desc: '配置 VNC 服务,将会锁定所选编码',
|
||||
bind: '监听地址',
|
||||
bindHint: '填写 IPv4 或 IPv6 地址;端口请在端口字段配置。',
|
||||
port: '端口',
|
||||
encoding: '视频编码',
|
||||
encodingTightJpeg: 'Tight JPEG',
|
||||
encodingH264: 'H.264',
|
||||
encodingHint: 'VNC 运行时会锁定编码;H.265 锁定时 VNC 无法启动,MJPEG 锁定时 RTSP 与 RustDesk 无法启动。',
|
||||
allowOneClient: '仅允许单客户端',
|
||||
password: '密码',
|
||||
passwordPlaceholder: '留空表示不修改',
|
||||
passwordRequiredPlaceholder: '最多 8 个字符',
|
||||
passwordRequired: '请设置 VNC 密码',
|
||||
passwordMaxLength: 'VNC 密码最多 8 个字符',
|
||||
passwordSaved: '已保存密码;留空不会修改。',
|
||||
clients: '{count} 个客户端',
|
||||
urlPreview: 'VNC 地址预览',
|
||||
},
|
||||
},
|
||||
stats: {
|
||||
title: '连接统计',
|
||||
current: '当前状态',
|
||||
video: '视频',
|
||||
videoDesc: '从服务器到客户端的视频流。',
|
||||
video: '视频信息',
|
||||
stability: '网络稳定性',
|
||||
stabilityDesc: '入站视频数据包在网络中的平稳程度。',
|
||||
jitter: '抖动',
|
||||
delay: '播放延迟',
|
||||
delayDesc: '为平滑不均匀到达的帧而由抖动缓冲添加的延迟。',
|
||||
packetLoss: '丢包',
|
||||
packetLossDesc: '入站视频 RTP 数据包的丢失数量。',
|
||||
total: '个',
|
||||
frameRate: '帧率',
|
||||
frameRateDesc: '每秒显示的入站视频帧数。',
|
||||
additional: '其他信息',
|
||||
latency: 'ICE 延迟',
|
||||
bitrate: '码率',
|
||||
fps: '帧率',
|
||||
resolution: '分辨率',
|
||||
packetsLost: '丢包数',
|
||||
connection: '连接信息',
|
||||
@@ -1147,23 +940,9 @@ export default {
|
||||
relay: 'TURN 中继',
|
||||
},
|
||||
help: {
|
||||
flashMode: 'Flash 模式将镜像作为 U 盘挂载,支持大多数 BIOS 启动',
|
||||
cdromMode: 'CDROM 模式将镜像作为光驱挂载,适用于需要光盘启动的系统',
|
||||
readOnlyMode: '只读模式更安全,目标系统无法修改镜像内容',
|
||||
readWriteMode: '读写模式允许目标系统写入数据,适用于需要保存配置的场景',
|
||||
driveSize: '虚拟驱动器大小。较大的驱动器支持存放更多文件,但初始化时间更长',
|
||||
mjpegMode: 'MJPEG 模式兼容性最好,适用于所有浏览器,但延迟较高',
|
||||
webrtcMode: 'WebRTC 模式延迟更低,但需要浏览器支持相应编解码器',
|
||||
videoBitratePreset: '速度优先:最低延迟,适合网络较差的场景;均衡:画质和延迟平衡;质量优先:最佳画质,需要较好的网络带宽',
|
||||
encoderBackend: '硬件编码器性能更好功耗更低,软件编码器兼容性更好',
|
||||
absoluteMode: '绝对定位模式直接映射鼠标坐标,适用于大多数场景',
|
||||
relativeMode: '相对定位模式发送鼠标移动增量,适用于游戏或特殊软件',
|
||||
mouseThrottle: '发送间隔控制鼠标事件的发送频率,较大的值可减少网络负载',
|
||||
hidBackend: 'OTG 后端需要硬件支持 USB OTG,CH9329 是串口 HID 芯片方案',
|
||||
atxActiveLevel: '活跃电平取决于您的硬件接线方式。高电平表示触发时输出高电压,低电平相反',
|
||||
wolInterface: '用于发送 Wake-on-LAN 魔术包的网络接口名称,如 eth0 或 br0',
|
||||
stunServer: 'STUN 服务器用于 NAT 穿透,帮助建立 P2P 连接。留空使用公共服务器',
|
||||
turnServer: 'TURN 服务器在 P2P 连接失败时提供中继。需要更多带宽但连接更可靠',
|
||||
audioQuality: '更高的质量意味着更好的音频效果,但需要更多的网络带宽',
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user