mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2026-01-28 16:41:52 +08:00
705 lines
25 KiB
TypeScript
705 lines
25 KiB
TypeScript
export default {
|
|
common: {
|
|
loading: 'Loading...',
|
|
save: 'Save',
|
|
cancel: 'Cancel',
|
|
confirm: 'Confirm',
|
|
delete: 'Delete',
|
|
upload: 'Upload',
|
|
download: 'Download',
|
|
refresh: 'Refresh',
|
|
close: 'Close',
|
|
success: 'Success',
|
|
error: 'Error',
|
|
warning: 'Warning',
|
|
info: 'Info',
|
|
yes: 'Yes',
|
|
no: 'No',
|
|
on: 'On',
|
|
off: 'Off',
|
|
enabled: 'Enabled',
|
|
disabled: 'Disabled',
|
|
connected: 'Connected',
|
|
disconnected: 'Disconnected',
|
|
connecting: 'Connecting...',
|
|
disconnecting: 'Disconnecting...',
|
|
unknown: 'Unknown',
|
|
back: 'Back',
|
|
next: 'Next',
|
|
apply: 'Apply',
|
|
menu: 'Menu',
|
|
optional: 'Optional',
|
|
recommended: 'Recommended',
|
|
create: 'Create',
|
|
creating: 'Creating...',
|
|
deleting: 'Deleting...',
|
|
more: 'More',
|
|
collapse: 'Collapse',
|
|
expand: 'Expand',
|
|
toggleTheme: 'Toggle theme',
|
|
toggleLanguage: 'Toggle language',
|
|
},
|
|
nav: {
|
|
console: 'Console',
|
|
msd: 'Virtual Media',
|
|
settings: 'Settings',
|
|
logout: 'Logout',
|
|
},
|
|
auth: {
|
|
login: 'Login',
|
|
logout: 'Logout',
|
|
username: 'Username',
|
|
password: 'Password',
|
|
enterUsername: 'Enter username',
|
|
enterPassword: 'Enter password',
|
|
loginPrompt: 'Enter your credentials to login',
|
|
loginFailed: 'Login failed',
|
|
invalidPassword: 'Invalid username or password',
|
|
changePassword: 'Change Password',
|
|
currentPassword: 'Current Password',
|
|
currentPasswordPlaceholder: 'Enter current password',
|
|
newPassword: 'New Password',
|
|
newPasswordPlaceholder: 'Enter new password',
|
|
confirmPassword: 'Confirm Password',
|
|
confirmPasswordPlaceholder: 'Re-enter new password',
|
|
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',
|
|
},
|
|
status: {
|
|
connected: 'Connected',
|
|
connecting: 'Connecting',
|
|
disconnected: 'Disconnected',
|
|
error: 'Error',
|
|
},
|
|
actionbar: {
|
|
paste: 'Paste Text',
|
|
virtualMedia: 'Virtual Media',
|
|
virtualMediaTip: 'Manage virtual media devices',
|
|
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',
|
|
extension: 'Extension',
|
|
extensionTip: 'Extension features',
|
|
stats: 'Stats',
|
|
statsTip: 'View connection statistics',
|
|
settings: 'Settings',
|
|
settingsTip: 'System settings',
|
|
fullscreen: 'Fullscreen',
|
|
fullscreenTip: 'Toggle fullscreen mode',
|
|
// Video Config
|
|
videoConfig: 'Video Config',
|
|
streamSettings: 'Stream Settings',
|
|
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',
|
|
videoDevice: 'Device',
|
|
videoFormat: 'Format',
|
|
videoResolution: 'Resolution',
|
|
videoFps: 'Frame Rate',
|
|
selectDevice: 'Select device...',
|
|
selectFormat: 'Select format...',
|
|
selectResolution: 'Select resolution...',
|
|
selectFps: 'Select FPS...',
|
|
bitrate: 'Bitrate',
|
|
browserUnsupported: 'Browser unsupported',
|
|
encoder: 'Encoder',
|
|
changeEncoderBackend: 'Change encoder backend...',
|
|
backendSoftware: 'Software',
|
|
backendAuto: 'Auto',
|
|
recommended: 'Recommended',
|
|
// HID Config
|
|
hidConfig: 'Mouse & HID',
|
|
mouseSettings: 'Mouse Settings',
|
|
hidDeviceSettings: 'HID Device Settings',
|
|
positioningMode: 'Positioning Mode',
|
|
sendInterval: 'Send Interval',
|
|
showCursor: 'Show Cursor',
|
|
backend: 'Backend',
|
|
devicePath: 'Device Path',
|
|
baudrate: 'Baudrate',
|
|
absolute: 'Absolute',
|
|
relative: 'Relative',
|
|
applying: 'Applying...',
|
|
// Audio Config
|
|
audioConfig: 'Audio',
|
|
playbackControl: 'Playback',
|
|
volume: 'Volume',
|
|
mute: 'Mute',
|
|
audioDeviceSettings: 'Device Settings',
|
|
audioEnabled: 'Audio',
|
|
audioDevice: 'Device',
|
|
audioQuality: 'Quality',
|
|
qualityVoice: 'Voice',
|
|
qualityBalanced: 'Balanced',
|
|
qualityHigh: 'High',
|
|
selectAudioDevice: 'Select device...',
|
|
},
|
|
infobar: {
|
|
keys: 'Keys',
|
|
pointer: 'Pointer',
|
|
caps: 'Caps',
|
|
num: 'Num',
|
|
scroll: 'Scroll',
|
|
},
|
|
paste: {
|
|
title: 'Paste Text',
|
|
description: 'Enter text to send to remote host as keyboard input',
|
|
label: 'Text Content',
|
|
placeholder: 'Enter text to paste here...',
|
|
hint: 'Press Ctrl+Enter to send quickly',
|
|
confirm: 'Send',
|
|
typing: 'Typing...',
|
|
escToCancel: 'Press Esc to cancel',
|
|
stop: 'Stop',
|
|
untypableWarning: 'Some characters cannot be typed',
|
|
untypableChars: 'Untypable characters: {chars}',
|
|
},
|
|
atx: {
|
|
title: 'Power Control',
|
|
description: 'Control remote host power state',
|
|
powerState: 'Power State',
|
|
stateOn: 'On',
|
|
stateOff: 'Off',
|
|
stateUnknown: 'Unknown',
|
|
shortPress: 'Power (Short)',
|
|
longPress: 'Power (Long/Force Off)',
|
|
reset: 'Reset',
|
|
confirmShortTitle: 'Confirm Power Press',
|
|
confirmShortDesc: 'This will simulate pressing the power button, same as a physical short press.',
|
|
confirmLongTitle: 'Confirm Force Power Off',
|
|
confirmLongDesc: 'This will force power off the host, which may cause data loss. Are you sure?',
|
|
confirmResetTitle: 'Confirm Reset',
|
|
confirmResetDesc: 'This will reset the host, which may cause unsaved data loss. Are you sure?',
|
|
wol: 'Wake-on-LAN',
|
|
wolDescription: 'Send Wake-on-LAN magic packet to power on a remote machine.',
|
|
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',
|
|
// Step titles
|
|
stepAccount: 'Account Setup',
|
|
stepVideo: 'Video Setup',
|
|
stepHid: 'HID Setup',
|
|
// Account
|
|
setUsername: 'Set Admin Username',
|
|
usernameHint: 'Username must be at least 2 characters',
|
|
setPassword: 'Set Admin Password',
|
|
passwordHint: 'Password must be at least 4 characters',
|
|
confirmPassword: 'Confirm Password',
|
|
passwordMismatch: 'Passwords do not match',
|
|
// Video
|
|
videoDevice: 'Video Device',
|
|
selectVideoDevice: 'Select video capture device',
|
|
videoFormat: 'Video Format',
|
|
selectFormat: 'Select format',
|
|
resolution: 'Resolution',
|
|
selectResolution: 'Select resolution',
|
|
fps: 'Frame Rate',
|
|
selectFps: 'Select FPS',
|
|
noVideoDevices: 'No video devices detected',
|
|
// HID
|
|
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',
|
|
baudRate: 'Baud Rate',
|
|
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: 'Complete Setup',
|
|
setupFailed: 'Setup failed',
|
|
// Advanced encoder
|
|
advancedEncoder: 'Advanced: Encoder Backend',
|
|
encoderHint: 'The default "Auto" option works for most cases. Only change if you need a specific encoder backend.',
|
|
autoRecommended: 'Auto (Recommended)',
|
|
hardware: 'Hardware',
|
|
software: 'Software',
|
|
// Progress
|
|
progress: 'Step {current} of {total}',
|
|
// Help tooltips
|
|
ch9329Help: 'CH9329 is a serial-to-HID chip connected via serial port. Works with most hardware configurations.',
|
|
otgHelp: 'USB OTG mode emulates HID devices directly through USB Device Controller. Requires hardware OTG support.',
|
|
videoDeviceHelp: 'Select the video capture device for capturing the remote host display. Usually an HDMI capture card.',
|
|
videoFormatHelp: 'MJPEG has best compatibility. H.264/H.265 uses less bandwidth but requires encoding support.',
|
|
// Password strength
|
|
passwordStrength: 'Password Strength',
|
|
passwordWeak: 'Weak',
|
|
passwordMedium: 'Medium',
|
|
passwordStrong: 'Strong',
|
|
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: 'Reconnect',
|
|
noVideo: 'No video signal',
|
|
connecting: 'Connecting...',
|
|
streamOffline: 'Stream offline',
|
|
connectionFailed: 'Connection Failed',
|
|
connectionFailedDesc: 'Unable to connect to video stream, please check device status',
|
|
videoRestarting: 'Video stream is restarting',
|
|
deviceSwitching: 'Switching video device...',
|
|
configChanging: 'Applying new configuration...',
|
|
videoRestarted: 'Video stream updated',
|
|
streamError: 'Stream error',
|
|
// WebRTC
|
|
webrtcConnected: 'WebRTC Connected',
|
|
webrtcConnectedDesc: 'Using low-latency H.264 video stream',
|
|
webrtcFailed: 'WebRTC Connection Failed',
|
|
fallingBackToMjpeg: 'Falling back to MJPEG mode',
|
|
// Pointer Lock
|
|
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',
|
|
// Meta Key Hint
|
|
metaKeyHint: 'System Key Detected',
|
|
metaKeyHintDesc: 'Enter fullscreen mode to capture Win/Meta keys',
|
|
// Stream mode change
|
|
streamModeChanged: 'Video Mode Changed',
|
|
streamModeChangedDesc: 'Server switched to {mode} mode',
|
|
// Device monitoring
|
|
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',
|
|
// Loading state
|
|
pleaseWait: 'Please wait...',
|
|
retryCount: 'Retrying (attempt {count})',
|
|
// Error details
|
|
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',
|
|
// Device monitoring
|
|
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',
|
|
},
|
|
audio: {
|
|
// Device monitoring
|
|
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',
|
|
images: 'ISO/IMG Mount',
|
|
imagesDesc: 'Mount ISO/IMG images to target device',
|
|
drive: 'Virtual USB',
|
|
driveDesc: 'Transfer files to target device like a USB drive, supports Ventoy boot',
|
|
imageList: 'Image List',
|
|
uploadImage: 'Upload Image',
|
|
noImages: 'No images',
|
|
connect: 'Connect',
|
|
disconnect: 'Disconnect',
|
|
connectedTo: 'Connected to',
|
|
cdrom: 'CD-ROM',
|
|
flash: 'Flash',
|
|
storageMode: 'Storage Mode',
|
|
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',
|
|
driveSize: 'Drive Size',
|
|
usedSpace: 'Used',
|
|
freeSpace: 'Free',
|
|
deleteDrive: 'Delete Drive',
|
|
confirmDeleteDrive: 'Are you sure you want to delete the virtual drive? All files will be erased.',
|
|
driveDeleted: 'Drive deleted',
|
|
systemAvailable: 'System Available',
|
|
emptyFolder: 'Empty folder',
|
|
confirmDelete: 'Are you sure you want to delete "{name}"?',
|
|
folderName: 'Folder name',
|
|
uploadImageHint: 'Click to upload ISO/IMG',
|
|
imageMounted: 'Image {name} mounted',
|
|
imageUnmounted: 'Image unmounted',
|
|
// URL download
|
|
downloadFromUrl: 'Download from URL',
|
|
downloadFromUrlDesc: 'Enter the URL of an image file (ISO/IMG supported)',
|
|
url: 'URL',
|
|
filename: 'Filename',
|
|
filenameAutoDetect: 'Auto-detect from URL',
|
|
download: 'Download',
|
|
downloadComplete: 'Download complete',
|
|
downloadFailed: 'Download failed',
|
|
largeFileWarning: '>2.2GB',
|
|
largeFileTooltip: 'File is larger than 2.2GB, please use Flash mode to mount',
|
|
// Device monitoring
|
|
error: 'MSD Error',
|
|
errorDesc: '{reason}',
|
|
recovered: 'MSD Recovered',
|
|
recoveredDesc: 'MSD operation completed successfully',
|
|
// Operation status
|
|
operationInProgress: 'Operation in progress, please wait',
|
|
driveConnected: 'Virtual USB drive connected',
|
|
imageConnected: 'Image {name} connected',
|
|
// Drive initialization
|
|
selectDriveSize: 'Select virtual drive size',
|
|
selectedSize: 'Selected size',
|
|
customSize: 'Custom size',
|
|
driveSizeHint: 'Custom size overrides selection above (64MB - 32GB)',
|
|
driveCreated: 'Virtual drive created ({size} MB)',
|
|
fileDeleted: 'File deleted',
|
|
imageDeleted: 'Image deleted',
|
|
},
|
|
settings: {
|
|
title: 'Settings',
|
|
basic: 'Basic',
|
|
general: 'General',
|
|
appearance: 'Appearance',
|
|
video: 'Video',
|
|
encoder: 'Encoder',
|
|
hid: 'HID',
|
|
msd: 'MSD',
|
|
atx: 'ATX',
|
|
network: 'Network',
|
|
users: 'Users',
|
|
hardware: 'Hardware',
|
|
system: 'System',
|
|
extensions: 'Extensions',
|
|
configured: 'Configured',
|
|
security: 'Security',
|
|
about: 'About',
|
|
aboutDesc: 'Open and Lightweight IP-KVM Solution',
|
|
// Device info
|
|
deviceInfo: 'Device Info',
|
|
deviceInfoDesc: 'Host system information',
|
|
hostname: 'Hostname',
|
|
cpuModel: 'CPU Model',
|
|
cpuUsage: 'CPU Usage',
|
|
memoryUsage: 'Memory Usage',
|
|
networkAddresses: 'Network Addresses',
|
|
language: 'Language',
|
|
theme: 'Theme',
|
|
lightMode: 'Light',
|
|
darkMode: 'Dark',
|
|
systemMode: 'System',
|
|
changePassword: 'Change Password',
|
|
currentPassword: 'Current Password',
|
|
newPassword: 'New Password',
|
|
version: 'Version',
|
|
buildInfo: 'Build Info',
|
|
detectDevices: 'Detect Devices',
|
|
detecting: 'Detecting...',
|
|
builtWith: 'Built with Rust + Vue 3 + shadcn-vue',
|
|
networkSettings: 'Network Settings',
|
|
msdSettings: 'MSD Settings',
|
|
atxSettings: 'ATX Settings',
|
|
// Network tab
|
|
httpSettings: 'HTTP Settings',
|
|
httpPort: 'HTTP Port',
|
|
configureHttpPort: 'Configure HTTP server port',
|
|
// User management
|
|
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}"?',
|
|
// MSD/ATX status
|
|
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',
|
|
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.',
|
|
// ATX configuration
|
|
atxSettingsDesc: 'Configure ATX power control hardware bindings',
|
|
atxEnable: 'Enable ATX Control',
|
|
atxEnableDesc: 'Enable remote control of power and reset buttons',
|
|
atxPowerButton: 'Power Button',
|
|
atxPowerButtonDesc: 'For power on (short press) and force off (long press)',
|
|
atxResetButton: 'Reset Button',
|
|
atxResetButtonDesc: 'For resetting the target machine',
|
|
atxDriver: 'Driver Type',
|
|
atxDriverNone: 'Disabled',
|
|
atxDriverGpio: 'GPIO',
|
|
atxDriverUsbRelay: 'USB Relay',
|
|
atxDevice: 'Device',
|
|
atxPin: 'GPIO Pin',
|
|
atxChannel: 'Relay Channel',
|
|
atxActiveLevel: 'Active Level',
|
|
atxLevelHigh: 'Active High',
|
|
atxLevelLow: 'Active Low',
|
|
atxLedSensing: 'LED Status Sensing',
|
|
atxLedSensingDesc: 'Detect host power LED to determine power state (optional)',
|
|
atxLedEnable: 'Enable LED Sensing',
|
|
atxLedEnableDesc: 'Read power LED status via GPIO',
|
|
atxLedChip: 'GPIO Chip',
|
|
atxLedPin: 'GPIO Pin',
|
|
atxLedInverted: 'Invert Logic',
|
|
atxLedInvertedDesc: 'GPIO is low when LED is on',
|
|
// WOL configuration
|
|
atxWolSettings: 'Wake-on-LAN Settings',
|
|
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',
|
|
// Basic tab descriptions
|
|
themeDesc: 'Choose your preferred color scheme',
|
|
languageDesc: 'Select your preferred language',
|
|
// Video tab
|
|
videoSettings: 'Video Settings',
|
|
videoSettingsDesc: 'Configure video capture device',
|
|
videoDevice: 'Video Device',
|
|
selectDevice: 'Select device...',
|
|
videoFormat: 'Video Format',
|
|
selectFormat: 'Select format...',
|
|
driver: 'Driver',
|
|
resolution: 'Resolution',
|
|
frameRate: 'Frame Rate',
|
|
encoderBackend: 'Encoder Backend',
|
|
encoderBackendDesc: 'Select encoder backend for WebRTC streaming',
|
|
backend: 'Backend',
|
|
autoRecommended: 'Auto (Recommended)',
|
|
software: 'Software',
|
|
supportedFormats: 'Supported Formats',
|
|
encoderHint: 'Hardware encoders provide better performance with lower CPU usage. Software encoders are more compatible but require more CPU resources.',
|
|
// HID tab
|
|
hidSettings: 'HID Settings',
|
|
hidSettingsDesc: 'Configure keyboard and mouse control',
|
|
hidBackend: 'HID Backend',
|
|
serialDevice: 'Serial Device',
|
|
baudRate: 'Baud Rate',
|
|
// WebRTC / ICE
|
|
webrtcSettings: 'WebRTC Settings',
|
|
webrtcSettingsDesc: 'Configure STUN/TURN servers for NAT traversal',
|
|
stunServer: 'STUN Server',
|
|
stunServerPlaceholder: 'stun:stun.l.google.com:19302',
|
|
stunServerHint: 'STUN server for NAT traversal (e.g., stun:stun.l.google.com:19302)',
|
|
turnServer: 'TURN Server',
|
|
turnServerPlaceholder: 'turn:turn.example.com:3478',
|
|
turnServerHint: 'TURN relay server for restrictive networks (optional)',
|
|
turnUsername: 'TURN Username',
|
|
turnPassword: 'TURN Password',
|
|
turnPasswordConfigured: 'Password already configured. Leave empty to keep current password.',
|
|
turnCredentialsHint: 'Credentials for TURN server authentication',
|
|
iceConfigNote: 'Note: Changes require reconnecting the WebRTC session to take effect.',
|
|
},
|
|
virtualKeyboard: {
|
|
title: 'Virtual Keyboard',
|
|
attach: 'Attach',
|
|
detach: 'Detach',
|
|
hide: 'Hide',
|
|
show: 'Show Virtual Keyboard',
|
|
layoutSelect: 'Keyboard Layout',
|
|
},
|
|
config: {
|
|
applied: 'Configuration applied',
|
|
applyFailed: 'Failed to apply configuration',
|
|
loadDevicesFailed: 'Failed to load device list',
|
|
updateFailed: 'Update failed',
|
|
},
|
|
statusCard: {
|
|
device: 'Device',
|
|
video: 'Video',
|
|
hid: 'HID',
|
|
audio: 'Audio',
|
|
msd: 'MSD',
|
|
online: 'Online',
|
|
offline: 'Offline',
|
|
connecting: 'Connecting...',
|
|
version: 'Version',
|
|
uptime: 'Uptime',
|
|
running: 'Running',
|
|
mode: 'Mode',
|
|
format: 'Format',
|
|
resolution: 'Resolution',
|
|
targetFps: 'Target FPS',
|
|
fps: 'Actual FPS',
|
|
clients: 'Clients',
|
|
backend: 'Backend',
|
|
initialized: 'Initialized',
|
|
yes: 'Yes',
|
|
no: 'No',
|
|
mouse: 'Mouse',
|
|
mouseSupport: 'Mouse Support',
|
|
currentMode: 'Current Mode',
|
|
absolute: 'Absolute',
|
|
relative: 'Relative',
|
|
connection: 'Connection',
|
|
networkError: 'Network Error',
|
|
disconnected: 'Disconnected',
|
|
availability: 'Availability',
|
|
hidUnavailable: 'HID Unavailable',
|
|
sampleRate: 'Sample Rate',
|
|
channels: 'Channels',
|
|
quality: 'Quality',
|
|
streaming: 'Streaming',
|
|
off: 'Off',
|
|
notConnected: 'Not Connected',
|
|
connected: 'Connected',
|
|
image: 'Image',
|
|
// MSD status details
|
|
msdStatus: 'Status',
|
|
msdStandby: 'Idle',
|
|
msdImageMode: 'Image Mode',
|
|
msdDriveMode: 'Virtual USB',
|
|
msdMountType: 'Mount Type',
|
|
msdCurrentImage: 'Current Image',
|
|
msdNoImage: 'None',
|
|
},
|
|
extensions: {
|
|
// Common
|
|
available: 'Available',
|
|
unavailable: 'Unavailable',
|
|
running: 'Running',
|
|
stopped: 'Stopped',
|
|
failed: 'Failed',
|
|
start: 'Start',
|
|
stop: 'Stop',
|
|
autoStart: 'Auto Start',
|
|
viewLogs: 'View Logs',
|
|
noLogs: 'No logs available',
|
|
binaryNotFound: '{path} not found, please install the required program',
|
|
// ttyd
|
|
ttyd: {
|
|
title: 'Web Terminal',
|
|
desc: 'Web terminal access via ttyd',
|
|
open: 'Open Terminal',
|
|
openInNewTab: 'Open in New Tab',
|
|
port: 'Port',
|
|
shell: 'Shell',
|
|
credential: 'Credential',
|
|
},
|
|
// gostc
|
|
gostc: {
|
|
title: 'NAT Traversal',
|
|
desc: 'NAT traversal via GOSTC',
|
|
addr: 'Server Address',
|
|
key: 'Client Key',
|
|
tls: 'Enable TLS',
|
|
},
|
|
// easytier
|
|
easytier: {
|
|
title: 'P2P Network',
|
|
desc: 'P2P VPN networking via EasyTier',
|
|
networkName: 'Network Name',
|
|
networkSecret: 'Network Secret',
|
|
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)',
|
|
},
|
|
},
|
|
stats: {
|
|
title: 'Connection Stats',
|
|
webrtcMode: 'WebRTC Real-time Stats',
|
|
mjpegMode: 'MJPEG Real-time Stats',
|
|
current: 'Current Status',
|
|
video: 'Video',
|
|
videoDesc: 'Video stream from server to client.',
|
|
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',
|
|
wsLatency: 'WS Latency',
|
|
connection: 'Connection Info',
|
|
connectionType: 'Connection Type',
|
|
transport: 'Transport',
|
|
localCandidate: 'Local Candidate',
|
|
remoteCandidate: 'Remote Candidate',
|
|
p2p: 'P2P Direct',
|
|
relay: 'TURN Relay',
|
|
},
|
|
// Help tooltip texts
|
|
help: {
|
|
// MSD related
|
|
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',
|
|
// Video related
|
|
mjpegMode: 'MJPEG mode has best compatibility, works with all browsers, but higher latency',
|
|
webrtcMode: 'WebRTC mode has lower latency, but requires browser codec support',
|
|
videoBitrate: 'Higher bitrate means better quality but requires more bandwidth. Adjust based on network',
|
|
encoderBackend: 'Hardware encoder has better performance and lower power. Software encoder has better compatibility',
|
|
// HID related
|
|
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',
|
|
// ATX related
|
|
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',
|
|
// Network related
|
|
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',
|
|
// Audio related
|
|
audioQuality: 'Higher quality means better audio but requires more network bandwidth',
|
|
},
|
|
}
|