mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-10-03 20:41:10 +00:00
e09d183092
Extend localization across multiple locale files: add a new permissions section and related role/organization strings, 2FA prompts, branding/typography keys, baseline/backup status keys, and many organization/device/user management messages. Also add load_orgs_failed and verify/2fa messages, update plural/device count keys in betterdesk-mgmt en/zh-TW, and adjust several existing messages (e.g. field_required placeholder and various delete_confirm texts) to improve clarity.
2805 lines
119 KiB
JSON
2805 lines
119 KiB
JSON
{
|
||
"meta": {
|
||
"lang": "ja",
|
||
"name": "Japanese",
|
||
"native_name": "日本語",
|
||
"direction": "ltr"
|
||
},
|
||
"common": {
|
||
"loading": "読み込み中...",
|
||
"confirm": "確認",
|
||
"alert": "アラート",
|
||
"prompt": "値を入力",
|
||
"copied": "クリップボードにコピーしました",
|
||
"save": "保存",
|
||
"saved": "保存しました",
|
||
"error": "エラー",
|
||
"success": "成功",
|
||
"warning": "警告",
|
||
"info": "情報",
|
||
"all": "すべて",
|
||
"cancel": "キャンセル",
|
||
"delete": "削除",
|
||
"actions": "アクション",
|
||
"close": "閉じる",
|
||
"required": "必須",
|
||
"name_required": "名前は必須です",
|
||
"active": "アクティブ",
|
||
"inactive": "非アクティブ",
|
||
"invalid_json": "無効なJSON",
|
||
"field_required": "{field}は必須です",
|
||
"back": "戻る",
|
||
"edit": "編集"
|
||
},
|
||
"nav": {
|
||
"main": "メイン",
|
||
"tools": "ツール",
|
||
"system": "システム",
|
||
"dashboard": "ダッシュボード",
|
||
"devices": "デバイス",
|
||
"keys": "キー",
|
||
"generator": "ジェネレーター",
|
||
"settings": "設定",
|
||
"users": "ユーザー",
|
||
"inventory": "インベントリ",
|
||
"tickets": "チケット",
|
||
"help_requests": "ヘルプリクエスト",
|
||
"activity": "アクティビティ",
|
||
"automation": "自動化",
|
||
"file_transfer": "ファイル転送",
|
||
"network": "ネットワーク",
|
||
"dataguard": "DataGuard",
|
||
"reports": "レポート",
|
||
"tenants": "Tenants",
|
||
"registrations": "Registrations",
|
||
"management": "Management",
|
||
"toggle_sidebar": "Toggle sidebar",
|
||
"cdap": "CDAP Devices",
|
||
"fleet": "フリート",
|
||
"scaling": "スケーリング",
|
||
"cross_platform": "クロスプラットフォーム",
|
||
"tokens": "Device Tokens",
|
||
"organizations": "Organizations",
|
||
"policies": "ポリシー",
|
||
"attestation": "証明",
|
||
"remote": "Remote Desktop",
|
||
"toolkit": "Toolkit",
|
||
"security_audit": "セキュリティ監査",
|
||
"languages": "言語",
|
||
"resource_control": "リソース制御",
|
||
"chat": "チャット",
|
||
"help": "Help",
|
||
"expand_sidebar": "Expand sidebar",
|
||
"toggle_theme": "Toggle theme",
|
||
"sdk_studio": "SDK Studio",
|
||
"login": "Login",
|
||
"permissions": "Permissions"
|
||
},
|
||
"auth": {
|
||
"login": "Login",
|
||
"logout": "Logout",
|
||
"login_title": "Sign In",
|
||
"login_subtitle": "Sign in to BetterDesk Console",
|
||
"username": "Username",
|
||
"username_placeholder": "Enter username",
|
||
"password": "Password",
|
||
"password_placeholder": "Enter password",
|
||
"remember_me": "Remember me",
|
||
"login_failed": "Login failed. Please check your credentials.",
|
||
"invalid_credentials": "Invalid username or password.",
|
||
"fill_all_fields": "Please fill in all fields",
|
||
"logout_confirm": "Are you sure you want to logout?",
|
||
"change_password": "Change Password",
|
||
"password_required": "Password is required",
|
||
"totp_title": "Two-Factor Authentication",
|
||
"totp_subtitle": "Enter the 6-digit code from your authenticator app",
|
||
"totp_code": "Verification Code",
|
||
"totp_verify": "Verify",
|
||
"totp_use_recovery": "Use a recovery code instead",
|
||
"totp_use_code": "Use authenticator code instead",
|
||
"totp_recovery_code": "Recovery Code",
|
||
"totp_back_to_login": "ログインに戻る",
|
||
"totp_invalid_code": "無効な認証コードです。もう一度お試しください。",
|
||
"totp_enter_code": "6 桁のコードを入力してください",
|
||
"totp_enter_recovery": "リカバリーコードを入力してください",
|
||
"totp_session_expired": "セッションの有効期限が切れました。再度ログインしてください。",
|
||
"totp_already_enabled": "二要素認証はすでに有効です",
|
||
"pro_only_account": "このアカウントは RustDesk デスクトップクライアント専用です。ログインには RustDesk アプリを使用してください。",
|
||
"passwords_mismatch": "パスワードが一致しません"
|
||
},
|
||
"dashboard": {
|
||
"title": "Dashboard",
|
||
"subtitle": "Overview of your RustDesk server",
|
||
"total_devices": "Total Devices",
|
||
"online_now": "Online Now",
|
||
"banned": "Banned",
|
||
"active_connections": "Active Connections",
|
||
"offline_devices": "Offline",
|
||
"server_status": "Server Status",
|
||
"quick_actions": "クイックアクション",
|
||
"manage_devices": "接続されたデバイスを管理",
|
||
"view_keys": "サーバーキーを表示",
|
||
"generate_config": "クライアント設定を生成",
|
||
"server_settings": "設定を構成",
|
||
"greeting_morning": "おはようございます、{name}",
|
||
"greeting_afternoon": "こんにちは、{name}",
|
||
"greeting_evening": "こんばんは、{name}",
|
||
"greeting_night": "おやすみなさい、{name}",
|
||
"health_overview": "ヘルス概要",
|
||
"devices_online": "オンラインデバイス",
|
||
"active_alerts": "アクティブなアラート",
|
||
"recent_connections": "総デバイス数",
|
||
"server_uptime": "サーバー稼働時間",
|
||
"activity_feed": "最近のアクティビティ",
|
||
"no_recent_activity": "最近のアクティビティはありません",
|
||
"just_now": "たった今",
|
||
"ago": "前",
|
||
"tip_desktop_mode": "監視ウィジェット付きのマルチウィンドウ作業空間にはデスクトップモードをお試しください。",
|
||
"tip_keyboard_shortcuts": "どこからでも Ctrl+K を押してクイック検索コマンドパレットを開けます。",
|
||
"tip_address_book": "RustDesk クライアントからログインして、デバイス間でアドレス帳を同期します。",
|
||
"tip_2fa": "アカウントの安全性を高めるため、設定で二要素認証を有効にしてください。",
|
||
"tip_bulk_actions": "複数のデバイスを選択し、一括操作でまとめて管理できます。",
|
||
"tip_theme": "サイドバー設定でダークテーマとライトテーマを切り替えられます。",
|
||
"tip_cdap": "CDAP ゲートウェイ経由で IoT デバイスや産業用センサーを接続します。",
|
||
"tip_tutorials": "右下のヘルプボタンをクリックするとインタラクティブチュートリアルを表示できます。"
|
||
},
|
||
"devices": {
|
||
"title": "Devices",
|
||
"id": "ID",
|
||
"hostname": "Hostname",
|
||
"username": "Username",
|
||
"platform": "Platform",
|
||
"version": "Version",
|
||
"ip_address": "IP Address",
|
||
"note": "Note",
|
||
"last_seen": "Last Seen",
|
||
"last_online": "Last Online",
|
||
"first_seen": "First Seen",
|
||
"created": "Created",
|
||
"status": "Status",
|
||
"ban_reason": "Ban Reason",
|
||
"actions": "Actions",
|
||
"search_placeholder": "Search devices...",
|
||
"filter_all": "All",
|
||
"filter_online": "Online",
|
||
"filter_offline": "Offline",
|
||
"filter_banned": "Banned",
|
||
"selected": "selected",
|
||
"showing": "Showing",
|
||
"of": "of",
|
||
"sync_status": "Sync Status",
|
||
"sync_success": "Status synchronized successfully",
|
||
"empty_title": "No devices found",
|
||
"empty_text": "No devices match your current filters",
|
||
"edit_title": "Device Details",
|
||
"delete_title": "Delete Device",
|
||
"delete_confirm": "Are you sure you want to delete device {id}?",
|
||
"delete_warning": "You are about to permanently delete this device:",
|
||
"delete_permanent": "This action cannot be undone. All data associated with this device will be permanently removed from the database.",
|
||
"delete_success": "Device deleted successfully",
|
||
"revoke_option": "Revoke device",
|
||
"revoke_hint": "Block device ID and disconnect active connections",
|
||
"revoke_success": "Device revoked successfully",
|
||
"details": "Device Details",
|
||
"ban_title": "Ban Device",
|
||
"ban_confirm": "Are you sure you want to ban device {id}?",
|
||
"ban_success": "Device banned successfully",
|
||
"unban_title": "Unban Device",
|
||
"unban_confirm": "Are you sure you want to unban device {id}?",
|
||
"unban_success": "Device unbanned successfully",
|
||
"change_id": "Change ID",
|
||
"change_id_title": "Change Device ID",
|
||
"new_id": "New ID",
|
||
"change_id_hint": "6-16 characters, letters, numbers, dashes and underscores only",
|
||
"change_id_success": "Device ID changed successfully",
|
||
"id_length_error": "ID must be 6-16 characters long",
|
||
"id_format_error": "ID can only contain letters, numbers, dashes and underscores",
|
||
"bulk_delete_title": "Delete Multiple Devices",
|
||
"bulk_delete_confirm": "Are you sure you want to delete {count} devices?",
|
||
"bulk_delete_success": "{count} devices deleted successfully",
|
||
"columns": "Columns",
|
||
"toggle_columns": "Toggle visible columns",
|
||
"not_found": "Device not found",
|
||
"delete_failed": "Failed to delete device",
|
||
"change_id_failed": "Failed to change device ID",
|
||
"invalid_id": "Invalid device ID (6-16 characters required)",
|
||
"invalid_id_format": "Invalid ID format (letters, numbers, dashes, underscores only)",
|
||
"id_exists": "Device ID already exists",
|
||
"no_selection": "No devices selected",
|
||
"device_type": "Type",
|
||
"filter_type_all": "All Types",
|
||
"filter_type_rustdesk": "RustDesk",
|
||
"filter_type_desktop": "Desktop",
|
||
"filter_type_scada": "SCADA",
|
||
"filter_type_iot": "IoT",
|
||
"filter_type_agent": "Agent",
|
||
"cdap_connected": "CDAP Connected",
|
||
"revoke": "Revoke",
|
||
"access_policy": "Access Policy",
|
||
"unattended_access": "Unattended Access",
|
||
"enable_unattended": "Enable unattended access",
|
||
"access_password": "Access Password",
|
||
"password_configured": "Password set",
|
||
"no_password": "No password",
|
||
"new_password": "New password (leave empty to keep current)",
|
||
"clear_password": "Clear password",
|
||
"access_schedule": "Access Schedule",
|
||
"enable_schedule": "Enable time-based access",
|
||
"allowed_days": "Allowed days",
|
||
"start_time": "Start time",
|
||
"end_time": "End time",
|
||
"timezone": "Timezone",
|
||
"allowed_operators": "Allowed Operators",
|
||
"all_operators": "All operators (leave empty)",
|
||
"operators_hint": "Comma-separated usernames. Leave empty to allow all operators.",
|
||
"last_updated_by": "Last updated by",
|
||
"access_policy_saved": "Access policy saved",
|
||
"tabs": {
|
||
"overview": "Overview",
|
||
"hardware": "Hardware",
|
||
"metrics": "Metrics",
|
||
"connections": "Connections",
|
||
"audit": "Audit",
|
||
"info": "Info",
|
||
"history": "History"
|
||
},
|
||
"hardware": {
|
||
"cpu": "Processor",
|
||
"memory": "Memory",
|
||
"disk": "Disk",
|
||
"os": "Operating System",
|
||
"hostname": "Hostname",
|
||
"uptime": "Uptime",
|
||
"load_avg": "Load Average",
|
||
"network": "Network Adapters",
|
||
"no_data": "No hardware data available",
|
||
"title": "Hardware Information",
|
||
"gpu": "Graphics Card"
|
||
},
|
||
"display_name": "Display Name",
|
||
"display_name_placeholder": "Custom name (overrides hostname)",
|
||
"note_placeholder": "Notes about this device"
|
||
},
|
||
"keys": {
|
||
"title": "Server Keys",
|
||
"subtitle": "Public key and configuration for RustDesk clients",
|
||
"public_key": "Public Key",
|
||
"qr_code": "QR Code",
|
||
"server_info": "Server Information",
|
||
"download": "Download Key",
|
||
"show_qr": "Show QR",
|
||
"qr_hint": "Scan this QR code with RustDesk mobile app",
|
||
"no_key": "No public key found",
|
||
"no_key_to_copy": "No key to copy",
|
||
"no_qr": "QR code not available",
|
||
"download_success": "Key file downloaded",
|
||
"not_found": "Key not found",
|
||
"api_not_found": "API key not found"
|
||
},
|
||
"settings": {
|
||
"title": "Settings",
|
||
"subtitle": "Console configuration and account settings",
|
||
"tab_general": "General",
|
||
"tab_server": "Server",
|
||
"tab_branding": "Branding",
|
||
"tab_backup": "Backup",
|
||
"language": "Language",
|
||
"change_password": "Change Password",
|
||
"password_desc": "Update your account password",
|
||
"current_password": "現在のパスワード",
|
||
"new_password": "新しいパスワード",
|
||
"confirm_password": "パスワードの確認",
|
||
"save_password": "パスワードを更新",
|
||
"password_changed": "パスワードが正常に変更されました",
|
||
"fill_all_fields": "すべての項目を入力してください",
|
||
"passwords_not_match": "パスワードが一致しません",
|
||
"password_requirements": "パスワード要件",
|
||
"password_requirements_not_met": "パスワードが要件を満たしていません",
|
||
"req_length": "8 文字以上",
|
||
"req_uppercase": "英大文字を少なくとも 1 文字含めてください",
|
||
"req_lowercase": "英小文字を少なくとも 1 文字含めてください",
|
||
"req_number": "数字を少なくとも 1 文字含めてください",
|
||
"server_info": "サーバー情報",
|
||
"version": "Version",
|
||
"database": "Database",
|
||
"uptime": "Uptime",
|
||
"audit_log": "Audit Log",
|
||
"audit_desc": "Recent console activity",
|
||
"no_audit_logs": "No audit logs found",
|
||
"backend_title": "Server Backend",
|
||
"backend_desc": "Choose which server backend to use for device management and signal/relay services.",
|
||
"backend_original": "Original",
|
||
"backend_enhanced": "Enhanced",
|
||
"backend_rustdesk_desc": "Standard RustDesk signal and relay servers (hbbs + hbbr). Basic HTTP API with limited endpoints.",
|
||
"backend_betterdesk_desc": "Enhanced Go-based server with full REST API, JWT authentication, blocklist, tags, real-time WebSocket events, and audit logging.",
|
||
"backend_feature_signal": "Signal server (ID registration)",
|
||
"backend_feature_relay": "Relay server (connection relay)",
|
||
"backend_feature_basic_api": "Basic REST API",
|
||
"backend_feature_full_api": "Full REST API (34+ endpoints)",
|
||
"backend_feature_jwt": "JWT authentication & TOTP 2FA",
|
||
"backend_feature_blocklist": "IP/ID blocklist management",
|
||
"backend_feature_tags": "Device tags & grouping",
|
||
"backend_feature_audit": "Audit event logging",
|
||
"backend_feature_websocket": "Real-time WebSocket events",
|
||
"backend_connection": "Connection",
|
||
"backend_api_url": "API URL",
|
||
"backend_test": "Test Connection",
|
||
"backend_testing": "Testing...",
|
||
"backend_save": "Apply Backend",
|
||
"backend_saved": "Server backend changed successfully. Device data will now be managed by the new backend.",
|
||
"backend_save_failed": "Failed to switch server backend",
|
||
"backend_test_success": "Connection successful! Server is reachable.",
|
||
"backend_test_failed": "Connection failed. Server is unreachable.",
|
||
"backend_confirm_switch": "Are you sure you want to switch the server backend? This will change how devices are managed.",
|
||
"backend_unreachable": "Cannot switch: target server is unreachable. Start the server first.",
|
||
"invalid_backend": "Invalid backend selection. Choose 'rustdesk' or 'betterdesk'.",
|
||
"backend_status_running": "Connected",
|
||
"backend_status_unreachable": "Unreachable",
|
||
"backend_status_error": "Error",
|
||
"backend_status_unknown": "Unknown",
|
||
"totp_title": "Two-Factor Authentication",
|
||
"totp_desc": "Add an extra layer of security with TOTP authenticator apps (Google Authenticator, Microsoft Authenticator, Authy, etc.)",
|
||
"totp_enabled": "2FA Enabled",
|
||
"totp_enabled_desc": "Your account is protected with two-factor authentication.",
|
||
"totp_disabled": "2FA Not Enabled",
|
||
"totp_disabled_desc": "Enable two-factor authentication for additional account security.",
|
||
"totp_setup": "Enable 2FA",
|
||
"totp_disable": "Disable 2FA",
|
||
"totp_step1": "Install an authenticator app on your phone",
|
||
"totp_step2": "Scan the QR code below",
|
||
"totp_step3": "Enter the 6-digit code to verify",
|
||
"totp_manual_key": "Manual key",
|
||
"totp_enter_code": "Enter verification code",
|
||
"totp_verify_enable": "Verify & Enable",
|
||
"totp_enabled_success": "Two-factor authentication enabled!",
|
||
"totp_recovery_warning": "Save these recovery codes in a safe place. Each code can only be used once. If you lose access to your authenticator app, you can use these codes to log in.",
|
||
"totp_done": "Done",
|
||
"totp_disable_warning": "Disabling two-factor authentication will make your account less secure. Enter your password to confirm.",
|
||
"totp_disabled_success": "Two-factor authentication has been disabled."
|
||
},
|
||
"audit": {
|
||
"time": "Time",
|
||
"user": "User",
|
||
"action": "Action",
|
||
"details": "Details",
|
||
"action_login": "Login",
|
||
"action_login_failed": "Login Failed",
|
||
"action_logout": "Logout",
|
||
"action_password_change": "Password Changed",
|
||
"action_2fa_enable": "2FA Enabled",
|
||
"action_2fa_disable": "2FA Disabled",
|
||
"action_user_create": "User Created",
|
||
"action_user_update": "User Updated",
|
||
"action_user_delete": "User Deleted",
|
||
"action_settings_update": "Settings Updated",
|
||
"action_device_ban": "Device Banned",
|
||
"action_device_unban": "Device Unbanned",
|
||
"action_device_delete": "Device Deleted"
|
||
},
|
||
"generator": {
|
||
"title": "Client Configuration Generator",
|
||
"subtitle": "Generate configuration for RustDesk clients",
|
||
"config_options": "Configuration Options",
|
||
"server_address": "Server Address",
|
||
"server_address_hint": "Your server's domain or IP address",
|
||
"custom_port": "Custom Port",
|
||
"port_hint": "Leave empty for default (21116)",
|
||
"relay_server": "Relay Server",
|
||
"relay_placeholder": "Same as ID server if empty",
|
||
"relay_hint": "Optional: separate relay server address",
|
||
"include_key": "Include public key in configuration",
|
||
"generate": "Generate Configuration",
|
||
"output": "Configuration Output",
|
||
"usage_title": "Connection Details",
|
||
"generated": "Configuration generated",
|
||
"server_required": "Server address is required",
|
||
"nothing_to_copy": "Generate a configuration first"
|
||
},
|
||
"server": {
|
||
"port": "Port",
|
||
"api_port": "API Port",
|
||
"id_server": "ID Server",
|
||
"relay_server": "Relay Server",
|
||
"api_key": "API Key"
|
||
},
|
||
"status": {
|
||
"online": "Online",
|
||
"offline": "Offline",
|
||
"banned": "Banned",
|
||
"running": "Running",
|
||
"stopped": "Stopped",
|
||
"unknown": "Unknown",
|
||
"checking": "Checking...",
|
||
"label": "Status"
|
||
},
|
||
"actions": {
|
||
"refresh": "Refresh",
|
||
"copy": "Copy",
|
||
"connect": "Connect",
|
||
"connect_desktop": "Connect via Desktop Client",
|
||
"remote_viewer": "Remote Viewer",
|
||
"web_remote": "Webリモート",
|
||
"details": "Details",
|
||
"edit": "Edit",
|
||
"delete": "Delete",
|
||
"ban": "Ban",
|
||
"unban": "Unban",
|
||
"save": "Save",
|
||
"cancel": "Cancel",
|
||
"confirm": "確認",
|
||
"close": "閉じる",
|
||
"clear": "クリア",
|
||
"ok": "OK",
|
||
"saved": "保存しました",
|
||
"back": "戻る",
|
||
"create": "作成",
|
||
"dismiss": "閉じる",
|
||
"view_all": "すべて表示"
|
||
},
|
||
"time": {
|
||
"just_now": "Just now",
|
||
"seconds_ago": "{count}s ago",
|
||
"minutes_ago": "{count}m ago",
|
||
"hours_ago": "{count}h ago",
|
||
"days_ago": "{count}d ago",
|
||
"day_mon": "Mon",
|
||
"day_tue": "Tue",
|
||
"day_wed": "Wed",
|
||
"day_thu": "Thu",
|
||
"day_fri": "Fri",
|
||
"day_sat": "Sat",
|
||
"day_sun": "Sun"
|
||
},
|
||
"users": {
|
||
"title": "User Management",
|
||
"subtitle": "Manage console users and permissions",
|
||
"add_user": "Add User",
|
||
"edit_user": "Edit User",
|
||
"username": "Username",
|
||
"username_placeholder": "Enter username",
|
||
"username_hint": "3-32 characters, letters, numbers and underscores only",
|
||
"password": "Password",
|
||
"password_placeholder": "Enter password",
|
||
"password_hint": "Minimum 8 characters with mixed case, numbers and symbols",
|
||
"password_leave_empty": "Leave empty to keep current",
|
||
"role": "Role",
|
||
"role_admin": "Administrator",
|
||
"role_operator": "Operator",
|
||
"role_viewer": "Viewer",
|
||
"role_hint": "Viewers can only view data, operators can manage devices, admins have full access",
|
||
"created": "Created",
|
||
"last_login": "Last Login",
|
||
"never": "Never",
|
||
"actions": "Actions",
|
||
"create": "Create User",
|
||
"edit": "Edit",
|
||
"reset_password": "Reset Password",
|
||
"new_password": "New Password",
|
||
"delete_title": "Delete User",
|
||
"delete_confirm": "Are you sure you want to delete user {username}?",
|
||
"delete_success": "User deleted successfully",
|
||
"user_created": "User created successfully",
|
||
"user_updated": "User updated successfully",
|
||
"password_reset_success": "Password reset successfully",
|
||
"empty_title": "No users found",
|
||
"empty_text": "Add users to manage console access",
|
||
"fill_required": "Please fill in all required fields",
|
||
"invalid_username": "Username must be 3-32 characters, letters, numbers and underscores only",
|
||
"username_exists": "Username already exists",
|
||
"weak_password": "Password is too weak",
|
||
"password_too_short": "Password must be at least 8 characters",
|
||
"invalid_role": "Invalid role",
|
||
"cannot_demote_self": "You cannot demote yourself",
|
||
"cannot_delete_self": "You cannot delete your own account",
|
||
"last_admin": "Cannot delete the last administrator",
|
||
"admin_only": "This feature is only available to administrators",
|
||
"password_required": "Password is required",
|
||
"not_found": "User not found",
|
||
"strength_weak": "Weak",
|
||
"strength_medium": "Medium",
|
||
"strength_strong": "Strong",
|
||
"security_tips_title": "Security Best Practices",
|
||
"tip_strong_passwords": "Use strong, unique passwords for each user",
|
||
"tip_unique_accounts": "Create individual accounts for each person",
|
||
"tip_viewer_role": "Use viewer role for users who only need read access",
|
||
"tip_operator_role": "Use operator role for users who need to manage devices but not users",
|
||
"tip_audit_logs": "Review audit logs regularly for suspicious activity",
|
||
"role_pro": "Pro (API only)",
|
||
"role_super_admin": "Super Admin",
|
||
"role_server_admin": "Server Admin",
|
||
"role_global_admin": "Global Admin",
|
||
"organizations": "Organizations",
|
||
"user_organizations": "Organizations for {username}",
|
||
"no_organizations": "User is not assigned to any organization",
|
||
"org_removed": "Organization assignment removed"
|
||
},
|
||
"folders": {
|
||
"title": "Folders",
|
||
"create": "Create Folder",
|
||
"edit": "Edit Folder",
|
||
"delete": "Delete Folder",
|
||
"name": "Folder Name",
|
||
"name_placeholder": "Enter folder name",
|
||
"name_required": "Folder name is required",
|
||
"name_too_long": "Folder name is too long (max 50 characters)",
|
||
"color": "Color",
|
||
"icon": "Icon",
|
||
"not_found": "Folder not found",
|
||
"delete_confirm": "Are you sure you want to delete this folder? Devices will be unassigned.",
|
||
"delete_success": "Folder deleted successfully",
|
||
"created": "Folder created successfully",
|
||
"updated": "Folder updated successfully",
|
||
"no_devices_selected": "No devices selected",
|
||
"devices_moved": "Devices moved successfully",
|
||
"device_assigned": "Device assigned to folder",
|
||
"unassigned": "Unassigned",
|
||
"all_devices": "All Devices",
|
||
"drag_hint": "Drag devices to folders to organize them",
|
||
"move_to": "Move to",
|
||
"toggle_sidebar": "Toggle sidebar"
|
||
},
|
||
"errors": {
|
||
"forbidden_title": "Access Denied",
|
||
"forbidden_message": "You do not have permission to access this resource.",
|
||
"not_found_title": "Page Not Found",
|
||
"not_found_message": "The page you're looking for doesn't exist or has been moved.",
|
||
"server_error_title": "Server Error",
|
||
"server_error_message": "Something went wrong. Please try again later.",
|
||
"go_home": "Go Home",
|
||
"try_again": "Try Again",
|
||
"load_devices_failed": "Failed to load devices",
|
||
"load_key_failed": "Failed to load key",
|
||
"load_qr_failed": "Failed to load QR",
|
||
"load_audit_failed": "Failed to load audit log",
|
||
"load_users_failed": "Failed to load users",
|
||
"load_folders_failed": "Failed to load folders",
|
||
"download_failed": "Download failed",
|
||
"logout_failed": "Logout failed",
|
||
"password_change_failed": "Failed to change password",
|
||
"language_change_failed": "Failed to change language",
|
||
"ban_failed": "Failed to ban device",
|
||
"unban_failed": "Failed to unban device",
|
||
"delete_failed": "Failed to delete device",
|
||
"change_id_failed": "Failed to change device ID",
|
||
"bulk_delete_failed": "Failed to delete devices",
|
||
"sync_failed": "Failed to sync status",
|
||
"error": "エラー",
|
||
"not_found": "見つかりません",
|
||
"server_error": "サーバーエラー",
|
||
"load_device_failed": "デバイスの読み込みに失敗しました",
|
||
"load_orgs_failed": "Failed to load organizations"
|
||
},
|
||
"remote": {
|
||
"title": "Remote Desktop",
|
||
"connecting": "Connecting...",
|
||
"waiting_password": "Waiting for password",
|
||
"authenticating": "Authenticating...",
|
||
"streaming": "Connected",
|
||
"disconnected": "Disconnected",
|
||
"error": "Error",
|
||
"status_idle": "Idle",
|
||
"password_required": "Password Required",
|
||
"enter_password_for": "Enter password for device",
|
||
"password_placeholder": "Device password",
|
||
"connect": "Connect",
|
||
"reconnect": "Reconnect",
|
||
"disconnect": "Disconnect",
|
||
"back_to_devices": "Back to Devices",
|
||
"fullscreen": "Fullscreen",
|
||
"toggle_audio": "Toggle Audio",
|
||
"send_keys": "Send Keys",
|
||
"scale_mode": "Scale Mode",
|
||
"scale_fit": "Fit to Window",
|
||
"scale_fill": "Fill Window",
|
||
"scale_original": "Original Size (1:1)",
|
||
"scale_stretch": "Stretch to Fill",
|
||
"actions": "Actions",
|
||
"lock_screen": "Lock Screen",
|
||
"restart_remote": "Restart Remote Device",
|
||
"refresh_screen": "Refresh Screen",
|
||
"clipboard_paste": "Paste from Clipboard",
|
||
"block_input": "Block Input",
|
||
"display_settings": "Display Settings",
|
||
"image_quality": "Image Quality",
|
||
"quality_best": "Best Quality",
|
||
"quality_balanced": "Balanced",
|
||
"quality_low": "Performance",
|
||
"show_cursor": "Show Remote Cursor",
|
||
"lock_after_session": "Lock After Session",
|
||
"privacy_mode": "Privacy Mode",
|
||
"disable_clipboard": "Disable Clipboard",
|
||
"chat": "Chat",
|
||
"chat_placeholder": "Type a message...",
|
||
"record": "Record Screen",
|
||
"view_only": "View Only",
|
||
"pin_toolbar": "Pin Toolbar",
|
||
"monitors": "Monitors",
|
||
"select_monitor": "Select Monitor",
|
||
"quality_speed": "Speed (Low Quality, 60fps)",
|
||
"quality_quality": "Quality (Best, 30fps)",
|
||
"recording_started": "Recording started",
|
||
"recording_stopped": "Recording stopped",
|
||
"download_recording": "Download Recording",
|
||
"e2e_encrypted": "End-to-End Encrypted",
|
||
"e2e_key_exchange": "Establishing secure channel...",
|
||
"confirm_restart": "Are you sure you want to restart the remote device?",
|
||
"webcodecs_not_supported": "Your browser does not support WebCodecs API. Please use Chrome 94+ or Edge 94+.",
|
||
"webcodecs_insecure_context": "WebCodecs unavailable over HTTP. Video uses software fallback. For best performance, use HTTPS.",
|
||
"webcodecs_fallback_active": "Software video decoder active (limited performance)",
|
||
"click_to_start": "Click to Start",
|
||
"autoplay_blocked": "Browser requires user interaction to start video and audio playback.",
|
||
"start_playback": "Start Playback",
|
||
"new_connection": "新規接続",
|
||
"device_id_placeholder": "デバイスIDを入力",
|
||
"http_warning": "HTTPモード:H.264ソフトウェアデコードに制限 (~15 FPS)。最高のパフォーマンスにはHTTPSを使用してください (WebCodecs, VP9, 60 FPS)。",
|
||
"file_transfer": "ファイル転送",
|
||
"file_upload": "アップロード",
|
||
"file_download": "ダウンロード",
|
||
"file_empty": "このフォルダーは空です",
|
||
"file_transfers": "転送一覧",
|
||
"file_complete": "完了",
|
||
"file_error": "転送失敗",
|
||
"file_show_hidden": "隠しファイルを表示",
|
||
"file_new_folder": "新しいフォルダー",
|
||
"file_new_folder_prompt": "フォルダー名を入力:",
|
||
"file_parent": "親フォルダー",
|
||
"file_root": "ルート",
|
||
"file_rename": "名前変更",
|
||
"file_rename_prompt": "新しい名前を入力:",
|
||
"file_delete_confirm": "このアイテムを削除してもよろしいですか?",
|
||
"file_cancelled": "転送がキャンセルされました",
|
||
"2fa_required": "2FA Verification Required",
|
||
"2fa_hint": "Enter the 6-digit code from your authenticator app",
|
||
"2fa_invalid": "Enter a valid 6-digit code",
|
||
"verify": "Verify"
|
||
},
|
||
"branding": {
|
||
"identity_title": "Brand Identity",
|
||
"identity_desc": "Customize the application name and description shown across the console",
|
||
"app_name": "Application Name",
|
||
"app_description": "Application Description",
|
||
"logo_title": "Logo",
|
||
"logo_desc": "Choose how your logo appears in the sidebar and login page",
|
||
"logo_type_icon": "Material Icon",
|
||
"logo_type_svg": "SVG Code",
|
||
"logo_type_image": "Image URL",
|
||
"logo_icon_name": "Icon Name",
|
||
"logo_icon_hint": "Enter a Material Icons name (e.g. dns, cloud, security). See fonts.google.com/icons",
|
||
"logo_svg_code": "SVG Code",
|
||
"logo_svg_hint": "Paste your SVG markup here. Supports full <svg> elements with paths and styles.",
|
||
"logo_image_upload": "Upload Image",
|
||
"logo_image_choose": "Choose image file",
|
||
"logo_image_hint": "PNG, JPG, GIF, WebP or SVG. Max 1.5 MB. The image is stored as base64 data.",
|
||
"logo_image_url": "Image Data / URL",
|
||
"logo_image_url_hint": "Auto-filled when you upload a file, or paste a URL manually.",
|
||
"logo_image_too_large": "Image is too large. Maximum size is 1.5 MB.",
|
||
"logo_image_invalid_type": "Invalid file type. Use PNG, JPG, GIF, WebP or SVG.",
|
||
"preview": "Preview",
|
||
"colors_title": "Color Scheme",
|
||
"colors_desc": "Customize the color palette. Leave empty to use defaults.",
|
||
"colors_backgrounds": "Backgrounds",
|
||
"colors_text": "Text",
|
||
"colors_accents": "Accent Colors",
|
||
"colors_borders": "Borders",
|
||
"import_export_title": "Import / Export",
|
||
"import_export_desc": "Save your theme as a JSON file or import one from another instance",
|
||
"export_theme": "Export Theme",
|
||
"import_theme": "Import Theme",
|
||
"reset_defaults": "Reset to Defaults",
|
||
"save_branding": "Save Branding",
|
||
"saved": "Branding saved successfully. Reloading...",
|
||
"exported": "Theme exported",
|
||
"imported": "Theme imported successfully. Reloading...",
|
||
"import_error": "Failed to import theme. Invalid file format.",
|
||
"reset_confirm": "Are you sure you want to reset branding to defaults? This cannot be undone.",
|
||
"reset_success": "Branding reset to defaults. Reloading...",
|
||
"logo_type_text": "Text Logo",
|
||
"logo_text": "Logo Text",
|
||
"logo_text_hint": "Primary text displayed as your brand logo",
|
||
"logo_text_accent": "Accent Text",
|
||
"logo_text_accent_hint": "Secondary text below the logo (e.g. product name or tagline)",
|
||
"logo_upload_success": "Logo uploaded successfully.",
|
||
"typography_title": "Typography",
|
||
"typography_desc": "Choose fonts for headings and body text. Fonts are downloaded to the server for self-hosting.",
|
||
"font_heading": "Heading Font",
|
||
"font_heading_hint": "Used for headings (H1–H6) and text logo",
|
||
"font_body": "Body Font",
|
||
"font_body_hint": "Used for body text and UI elements",
|
||
"font_search_placeholder": "Search fonts...",
|
||
"font_system_default": "System default",
|
||
"font_clear": "Clear",
|
||
"font_cat_all": "All",
|
||
"font_downloaded_count": "fonts downloaded on server"
|
||
},
|
||
"device_detail": {
|
||
"tab_overview": "Overview",
|
||
"tab_tags": "Tags & Notes",
|
||
"tab_actions": "Actions",
|
||
"section_identity": "Identity",
|
||
"section_network": "Network",
|
||
"section_timestamps": "Timestamps",
|
||
"section_connect": "Connection",
|
||
"section_manage": "Management",
|
||
"folder": "Folder",
|
||
"status_tier": "Status Tier",
|
||
"device_banned": "This device is banned",
|
||
"no_reason": "No reason provided",
|
||
"tags": "Tags",
|
||
"no_tags": "No tags assigned to this device",
|
||
"tag_placeholder": "Enter a tag name...",
|
||
"add_tag": "Add",
|
||
"tag_exists": "This tag already exists",
|
||
"notes": "Notes",
|
||
"notes_placeholder": "Add notes about this device...",
|
||
"danger_zone": "Danger Zone",
|
||
"action_connect_web": "Web Remote",
|
||
"action_connect_web_desc": "Connect via browser remote desktop",
|
||
"action_native_remote": "BetterDesk Remote",
|
||
"action_native_remote_desc": "Native JPEG stream — no plugins required",
|
||
"action_connect_desktop": "Desktop Client",
|
||
"action_connect_desktop_desc": "Open in desktop client app",
|
||
"action_change_id_desc": "Change the device registration ID",
|
||
"action_ban_desc": "Block this device from connecting",
|
||
"action_unban_desc": "Allow this device to connect again",
|
||
"action_delete_desc": "Permanently remove this device",
|
||
"tab_hardware": "Hardware",
|
||
"tab_metrics": "Metrics",
|
||
"section_system": "System",
|
||
"section_cpu": "Processor",
|
||
"section_memory": "Memory",
|
||
"section_displays": "Displays",
|
||
"section_encoding": "Encoding Capabilities",
|
||
"section_live_metrics": "Live Metrics",
|
||
"section_current_usage": "Current Usage",
|
||
"section_usage_history": "Usage History",
|
||
"os": "Operating System",
|
||
"version": "Client Version",
|
||
"cpu_model": "CPU Model",
|
||
"cpu_cores": "CPU Cores",
|
||
"cpu_freq": "CPU Frequency",
|
||
"total_memory": "Total Memory",
|
||
"metric_memory": "Memory",
|
||
"metric_disk": "Disk",
|
||
"metrics_updated": "Updated",
|
||
"device_groups": "Groups",
|
||
"no_sysinfo": "No hardware information available",
|
||
"no_sysinfo_hint": "System info will appear after the device sends a sysinfo report",
|
||
"no_metrics": "No metrics data available",
|
||
"no_metrics_hint": "Metrics will appear after the device sends heartbeat reports",
|
||
"chart_oldest": "← Oldest",
|
||
"chart_newest": "Newest →"
|
||
},
|
||
"inventory": {
|
||
"title": "Inventory",
|
||
"subtitle": "Hardware and software inventory of managed devices",
|
||
"device_id": "Device ID",
|
||
"hostname": "Hostname",
|
||
"os": "Operating System",
|
||
"cpu": "CPU",
|
||
"cpu_cores": "CPU Cores",
|
||
"cpu_usage": "CPU Usage",
|
||
"memory": "Memory",
|
||
"memory_total": "Total Memory",
|
||
"memory_used": "Used Memory",
|
||
"memory_available": "Available Memory",
|
||
"memory_usage": "Memory Usage",
|
||
"swap": "Swap",
|
||
"disks": "Disks",
|
||
"disk_count": "Disk Count",
|
||
"network": "Network",
|
||
"network_interfaces": "Network Interfaces",
|
||
"software": "Software",
|
||
"software_count": "Installed Software",
|
||
"system": "System",
|
||
"kernel": "Kernel",
|
||
"architecture": "Architecture",
|
||
"uptime": "Uptime",
|
||
"frequency": "Frequency",
|
||
"physical_cores": "Physical Cores",
|
||
"logical_cores": "Logical Cores",
|
||
"model": "Model",
|
||
"usage": "Usage",
|
||
"total": "Total",
|
||
"used": "Used",
|
||
"available": "Available",
|
||
"mount_point": "Mount Point",
|
||
"removable": "removable",
|
||
"mac_address": "MAC Address",
|
||
"ip_addresses": "IP Addresses",
|
||
"traffic": "Traffic",
|
||
"collect_now": "Collect Now",
|
||
"collector_running": "Collector Running",
|
||
"collector_stopped": "Collector Stopped",
|
||
"last_upload": "Last upload",
|
||
"total_uploads": "total",
|
||
"last_seen": "Last Seen",
|
||
"collected_at": "Collected At",
|
||
"no_data": "No inventory data available yet. Click \"Collect Now\" to gather system information.",
|
||
"no_devices": "No devices with inventory data found",
|
||
"detail_title": "Device Inventory Detail",
|
||
"telemetry": "Telemetry",
|
||
"view_detail": "View Detail",
|
||
"export": "Export",
|
||
"refresh": "Refresh"
|
||
},
|
||
"tickets": {
|
||
"title": "Tickets",
|
||
"subtitle": "Support tickets and issue tracking",
|
||
"create": "New Ticket",
|
||
"edit": "Edit Ticket",
|
||
"delete": "Delete Ticket",
|
||
"detail": "Ticket Detail",
|
||
"ticket_id": "Ticket ID",
|
||
"ticket_title": "Title",
|
||
"description": "Description",
|
||
"status": "Status",
|
||
"priority": "Priority",
|
||
"category": "Category",
|
||
"assigned_to": "Assigned To",
|
||
"created_by": "Created By",
|
||
"device": "Device",
|
||
"sla_due": "SLA Due",
|
||
"created_at": "Created",
|
||
"updated_at": "Updated",
|
||
"resolved_at": "Resolved",
|
||
"closed_at": "Closed",
|
||
"status_open": "Open",
|
||
"status_in_progress": "In Progress",
|
||
"status_resolved": "Resolved",
|
||
"status_closed": "Closed",
|
||
"priority_low": "Low",
|
||
"priority_medium": "Medium",
|
||
"priority_high": "High",
|
||
"priority_critical": "Critical",
|
||
"category_general": "General",
|
||
"category_hardware": "Hardware",
|
||
"category_software": "Software",
|
||
"category_network": "Network",
|
||
"category_access": "Access",
|
||
"category_other": "Other",
|
||
"comments": "Comments",
|
||
"add_comment": "Add Comment",
|
||
"comment_placeholder": "Write a comment...",
|
||
"internal_note": "Internal note (not visible to end users)",
|
||
"attachments": "Attachments",
|
||
"upload_attachment": "Upload Attachment",
|
||
"download": "Download",
|
||
"connect_device": "Connect to Device",
|
||
"no_tickets": "No tickets found",
|
||
"no_comments": "No comments yet",
|
||
"no_attachments": "No attachments",
|
||
"title_required": "Title is required",
|
||
"delete_confirm": "Are you sure you want to delete ticket #{id}?",
|
||
"delete_success": "Ticket deleted successfully",
|
||
"created_success": "Ticket created successfully",
|
||
"updated_success": "Ticket updated successfully",
|
||
"sla_overdue": "SLA Overdue",
|
||
"filter_all": "All",
|
||
"search_placeholder": "Search tickets...",
|
||
"assign_to_me": "Assign to me",
|
||
"unassign": "Unassign",
|
||
"stats_total": "Total",
|
||
"stats_open": "Open",
|
||
"stats_in_progress": "In Progress",
|
||
"stats_resolved": "Resolved",
|
||
"stats_closed": "Closed"
|
||
},
|
||
"activity": {
|
||
"title": "Activity Monitoring",
|
||
"subtitle": "Application usage and idle tracking",
|
||
"device": "Device",
|
||
"hostname": "Hostname",
|
||
"sessions": "Sessions",
|
||
"idle_time": "Idle Time",
|
||
"active_time": "Active Time",
|
||
"last_report": "Last Report",
|
||
"top_apps": "Top Applications",
|
||
"app_name": "Application",
|
||
"window_title": "Window Title",
|
||
"category": "Category",
|
||
"duration": "Duration",
|
||
"started_at": "Started",
|
||
"ended_at": "Ended",
|
||
"session_count": "Session Count",
|
||
"total_active": "Total Active",
|
||
"total_idle": "Total Idle",
|
||
"detail_count": "Detail Records",
|
||
"no_data": "No activity data available",
|
||
"no_sessions": "No sessions",
|
||
"filter_from": "From",
|
||
"filter_to": "To",
|
||
"filter_apply": "Apply filter",
|
||
"hours": "hours",
|
||
"minutes": "minutes",
|
||
"seconds": "seconds",
|
||
"category_browser": "Browser",
|
||
"category_productivity": "Productivity",
|
||
"category_communication": "Communication",
|
||
"category_development": "Development",
|
||
"category_media": "Media",
|
||
"category_gaming": "Gaming",
|
||
"category_system": "System",
|
||
"category_other": "Other",
|
||
"summary": "Summary",
|
||
"details": "Details",
|
||
"refresh": "Refresh",
|
||
"search": "Search devices...",
|
||
"date_range": "Date Range",
|
||
"device_id": "Device ID",
|
||
"session_start": "Session Start",
|
||
"session_end": "Session End",
|
||
"user": "User",
|
||
"no_activity": "No activity recorded",
|
||
"reported_at": "Reported At",
|
||
"detail": "Detail",
|
||
"no_apps": "No applications"
|
||
},
|
||
"automation": {
|
||
"title": "Automation & Alerts",
|
||
"subtitle": "Alert rules, remote commands, and SMTP configuration",
|
||
"rules": "Alert Rules",
|
||
"rules_subtitle": "Define conditions that trigger notifications",
|
||
"alerts": "Alert History",
|
||
"alerts_subtitle": "View and acknowledge triggered alerts",
|
||
"commands": "Remote Commands",
|
||
"commands_subtitle": "Send commands to remote devices",
|
||
"smtp": "SMTP Configuration",
|
||
"smtp_subtitle": "Email notification settings",
|
||
"rule_name": "Rule Name",
|
||
"description": "Description",
|
||
"condition_type": "Condition Type",
|
||
"condition_op": "Operator",
|
||
"condition_value": "Threshold",
|
||
"severity": "Severity",
|
||
"scope_device": "Target Device",
|
||
"scope_all": "All Devices",
|
||
"cooldown": "Cooldown (seconds)",
|
||
"notify_emails": "Notification Emails",
|
||
"enabled": "Enabled",
|
||
"disabled": "Disabled",
|
||
"create_rule": "Create Rule",
|
||
"edit_rule": "Edit Rule",
|
||
"delete_rule": "Delete Rule",
|
||
"acknowledge": "Acknowledge",
|
||
"acknowledged": "Acknowledged",
|
||
"unacknowledged": "Unacknowledged",
|
||
"triggered_at": "Triggered At",
|
||
"severity_info": "Info",
|
||
"severity_warning": "Warning",
|
||
"severity_critical": "Critical",
|
||
"op_gt": "Greater than",
|
||
"op_gte": "Greater or equal",
|
||
"op_lt": "Less than",
|
||
"op_lte": "Less or equal",
|
||
"op_eq": "Equal to",
|
||
"op_neq": "Not equal to",
|
||
"type_cpu_usage": "CPU Usage (%)",
|
||
"type_memory_usage": "Memory Usage (%)",
|
||
"type_disk_usage": "Disk Usage (%)",
|
||
"type_offline_duration": "Offline Duration (s)",
|
||
"type_idle_duration": "Idle Duration (s)",
|
||
"type_custom": "Custom",
|
||
"command_type": "Command Type",
|
||
"command_payload": "Command / Script",
|
||
"command_result": "Result",
|
||
"command_status": "Status",
|
||
"send_command": "Send Command",
|
||
"status_pending": "Pending",
|
||
"status_running": "Running",
|
||
"status_completed": "Completed",
|
||
"status_failed": "Failed",
|
||
"smtp_host": "SMTP Host",
|
||
"smtp_port": "Port",
|
||
"smtp_secure": "Use TLS",
|
||
"smtp_user": "Username",
|
||
"smtp_pass": "Password",
|
||
"smtp_from": "From Address",
|
||
"smtp_test": "接続テスト",
|
||
"smtp_save": "設定を保存",
|
||
"smtp_test_success": "接続に成功しました",
|
||
"smtp_test_failed": "接続に失敗しました",
|
||
"no_rules": "アラートルールが設定されていません",
|
||
"no_alerts": "アラートは発生していません",
|
||
"no_commands": "送信されたコマンドはありません",
|
||
"id_payload_required": "Device ID and payload are required",
|
||
"no_commands_sent": "No commands have been sent yet"
|
||
},
|
||
"file_transfer": {
|
||
"title": "File Transfer",
|
||
"transfers": "Transfers",
|
||
"new_transfer": "New Transfer",
|
||
"upload": "Upload",
|
||
"download": "Download",
|
||
"direction": "Direction",
|
||
"filename": "Filename",
|
||
"file_size": "File Size",
|
||
"mime_type": "MIME Type",
|
||
"progress": "Progress",
|
||
"status": "Status",
|
||
"device": "Device",
|
||
"initiated_by": "Initiated By",
|
||
"created_at": "Created At",
|
||
"cancel": "Cancel",
|
||
"cancel_confirm": "Are you sure you want to cancel this transfer?",
|
||
"download_file": "Download File",
|
||
"browse_files": "Browse Files",
|
||
"select_file": "Select File",
|
||
"select_device": "Select Device",
|
||
"no_transfers": "No file transfers",
|
||
"status_pending": "Pending",
|
||
"status_active": "Active",
|
||
"status_completed": "Completed",
|
||
"status_failed": "Failed",
|
||
"status_cancelled": "Cancelled",
|
||
"bytes_transferred": "Bytes Transferred",
|
||
"chunks": "Chunks",
|
||
"transfer_started": "Transfer started",
|
||
"transfer_completed": "Transfer completed",
|
||
"transfer_failed": "Transfer failed",
|
||
"transfer_cancelled": "Transfer cancelled",
|
||
"max_file_size": "Maximum file size: 4 GB",
|
||
"error_too_large": "File is too large",
|
||
"error_no_device": "No device selected",
|
||
"error_no_file": "No file selected"
|
||
},
|
||
"network": {
|
||
"title": "Network Monitoring",
|
||
"targets": "Monitoring Targets",
|
||
"add_target": "Add Target",
|
||
"edit_target": "Edit Target",
|
||
"delete_target": "Delete Target",
|
||
"delete_confirm": "Are you sure you want to delete this target?",
|
||
"target_name": "Name",
|
||
"host": "Host",
|
||
"port": "Port",
|
||
"url": "URL",
|
||
"check_type": "Check Type",
|
||
"timeout": "Timeout (ms)",
|
||
"interval": "Interval (ms)",
|
||
"enabled": "Enabled",
|
||
"status": "Status",
|
||
"last_check": "Last Check",
|
||
"last_rtt": "Last RTT",
|
||
"rtt_ms": "RTT (ms)",
|
||
"status_up": "Up",
|
||
"status_down": "Down",
|
||
"status_unknown": "Unknown",
|
||
"check_now": "Check Now",
|
||
"history": "Check History",
|
||
"stats": "Statistics",
|
||
"total_targets": "Total Targets",
|
||
"targets_up": "Targets Up",
|
||
"targets_down": "Targets Down",
|
||
"type_ping": "Ping (ICMP)",
|
||
"type_tcp": "TCP Port",
|
||
"type_http": "HTTP",
|
||
"type_https": "HTTPS",
|
||
"tools": "Network Tools",
|
||
"ping_tool": "Ping Test",
|
||
"tcp_tool": "TCP Port Check",
|
||
"http_tool": "HTTP Check",
|
||
"dns_tool": "DNS Resolve",
|
||
"monitor_start": "Start Monitor",
|
||
"monitor_stop": "Stop Monitor",
|
||
"monitor_running": "Monitor is running",
|
||
"monitor_stopped": "Monitor is stopped",
|
||
"no_targets": "No monitoring targets configured",
|
||
"no_history": "No check history available",
|
||
"error_code": "Error",
|
||
"status_code": "HTTP Status Code",
|
||
"search_targets": "Search targets...",
|
||
"name": "Name",
|
||
"tab_targets": "Targets",
|
||
"tab_tools": "Tools",
|
||
"avg_latency": "Avg Latency",
|
||
"type": "Type",
|
||
"latency": "Latency",
|
||
"check_history": "Check History",
|
||
"name_host_required": "Name and host are required",
|
||
"uptime": "Uptime",
|
||
"response_time": "Response Time",
|
||
"avg_response": "Average Response",
|
||
"charts": "Charts",
|
||
"realtime": "Realtime",
|
||
"response_time_ms": "Response Time (ms)",
|
||
"uptime_percent": "Uptime %",
|
||
"last_24h": "Last 24 hours",
|
||
"last_7d": "Last 7 days",
|
||
"last_30d": "Last 30 days"
|
||
},
|
||
"dataguard": {
|
||
"title": "DataGuard — DLP",
|
||
"policies": "DLP Policies",
|
||
"add_policy": "Add Policy",
|
||
"edit_policy": "Edit Policy",
|
||
"delete_policy": "Delete Policy",
|
||
"delete_confirm": "Are you sure you want to delete this policy?",
|
||
"policy_name": "Name",
|
||
"policy_description": "Description",
|
||
"status": "Status",
|
||
"enabled": "Enabled",
|
||
"disabled": "Disabled",
|
||
"rules": "Rules",
|
||
"add_rule": "Add Rule",
|
||
"rule_type": "Rule Type",
|
||
"rule_type_usb": "USB Device",
|
||
"rule_type_file": "File Operation",
|
||
"action": "Action",
|
||
"action_allow": "Allow",
|
||
"action_block": "Block",
|
||
"action_log": "Log Only",
|
||
"filter": "Filter",
|
||
"vid": "Vendor ID (VID)",
|
||
"pid": "Product ID (PID)",
|
||
"serial": "Serial Number",
|
||
"device_class": "Device Class",
|
||
"drive_type": "Drive Type",
|
||
"file_extensions": "File Extensions",
|
||
"events": "DLP Events",
|
||
"event_source": "Source",
|
||
"event_source_usb": "USB",
|
||
"event_source_file": "File",
|
||
"event_type": "Event Type",
|
||
"event_details": "Details",
|
||
"no_policies": "No DLP policies configured",
|
||
"no_events": "No DLP events recorded",
|
||
"stats": "Statistics",
|
||
"total_events": "Total Events",
|
||
"blocked_events": "Blocked",
|
||
"logged_events": "Logged",
|
||
"usb_events": "USB Events",
|
||
"file_events": "File Events",
|
||
"device_id": "Device ID",
|
||
"policy_matched": "Policy Matched",
|
||
"timestamp": "Timestamp",
|
||
"drive_removable": "Removable",
|
||
"drive_fixed": "Fixed",
|
||
"drive_network": "Network",
|
||
"drive_cdrom": "CD-ROM",
|
||
"drive_unknown": "Unknown",
|
||
"total_policies": "Total Policies",
|
||
"active_policies": "Active Policies",
|
||
"violations": "Violations",
|
||
"blocked": "Blocked",
|
||
"tab_policies": "Policies",
|
||
"tab_events": "Events",
|
||
"search_policies": "Search policies...",
|
||
"create_policy": "Create Policy",
|
||
"policy_type": "Policy Type",
|
||
"scope": "Scope",
|
||
"events_count": "Events",
|
||
"search_events": "Search events...",
|
||
"event_time": "Event Time",
|
||
"device": "Device",
|
||
"policy": "Policy",
|
||
"detail": "Detail",
|
||
"scope_help": "Comma-separated device IDs, or leave empty for all",
|
||
"scope_all": "All Devices",
|
||
"active": "Active",
|
||
"type_file_type": "File Type",
|
||
"type_clipboard": "Clipboard",
|
||
"type_screen_share": "Screen Share",
|
||
"type_file_transfer": "File Transfer",
|
||
"policy_desc": "Policy Description",
|
||
"type_usb": "USB"
|
||
},
|
||
"reports": {
|
||
"title": "Reports",
|
||
"generate": "Generate Report",
|
||
"generate_csv": "Export CSV",
|
||
"report_type": "Report Type",
|
||
"type_devices": "Device Summary",
|
||
"type_activity": "Activity Summary",
|
||
"type_security": "Security Report",
|
||
"type_tickets": "Ticket Report",
|
||
"type_network": "Network Report",
|
||
"type_inventory": "Inventory Report",
|
||
"type_alerts": "Alert Report",
|
||
"saved": "Saved Reports",
|
||
"save_report": "Save Report",
|
||
"delete_report": "Delete Report",
|
||
"delete_confirm": "Are you sure you want to delete this saved report?",
|
||
"no_saved": "No saved reports",
|
||
"report_title": "Title",
|
||
"created_by": "Created By",
|
||
"created_at": "Created At",
|
||
"filters": "Filters",
|
||
"date_from": "From",
|
||
"date_to": "To",
|
||
"device_filter": "Device ID",
|
||
"generated_at": "Generated At",
|
||
"section": "Data Section",
|
||
"total_devices": "Total Devices",
|
||
"online": "Online",
|
||
"offline": "Offline",
|
||
"banned": "Banned",
|
||
"platform_distribution": "Platform Distribution",
|
||
"top_applications": "Top Applications",
|
||
"total_active": "Total Active Time",
|
||
"total_idle": "Total Idle Time",
|
||
"dlp_stats": "DLP Statistics",
|
||
"banned_devices": "Banned Devices",
|
||
"audit_logs": "Audit Logs",
|
||
"ticket_stats": "Ticket Statistics",
|
||
"category_distribution": "Category Distribution",
|
||
"priority_distribution": "Priority Distribution",
|
||
"targets_status": "Targets Status",
|
||
"os_distribution": "OS Distribution",
|
||
"avg_ram": "Average RAM",
|
||
"alert_rules": "Alert Rules",
|
||
"recent_alerts": "Recent Alerts",
|
||
"tab_generate": "Generate Report",
|
||
"tab_saved": "Saved Reports",
|
||
"type_devices_desc": "Overview of all devices, platforms and statuses",
|
||
"type_activity_desc": "Application usage and idle time summary",
|
||
"type_security_desc": "Ban actions, DLP events and audit logs",
|
||
"type_tickets_desc": "Ticket statistics and SLA performance",
|
||
"type_network_desc": "Network monitoring targets and uptime data",
|
||
"type_inventory_desc": "Hardware and software inventory summary",
|
||
"type_alerts_desc": "Alert rules and triggered alert history",
|
||
"report_name": "Report Name",
|
||
"format": "Format",
|
||
"save": "Save Report",
|
||
"preview": "Preview",
|
||
"download": "Download",
|
||
"delete_saved": "Delete Report",
|
||
"raw_json": "Raw JSON"
|
||
},
|
||
"tenants": {
|
||
"title": "Tenants",
|
||
"list": "Tenants",
|
||
"add_tenant": "Add Tenant",
|
||
"edit_tenant": "Edit Tenant",
|
||
"delete_tenant": "Delete Tenant",
|
||
"delete_confirm": "Are you sure you want to delete this tenant? All device and user assignments will be removed.",
|
||
"name": "Name",
|
||
"slug": "Slug",
|
||
"contact_name": "Contact Name",
|
||
"contact_email": "Contact Email",
|
||
"max_devices": "Max Devices",
|
||
"max_devices_hint": "0 = unlimited",
|
||
"notes": "Notes",
|
||
"active": "Active",
|
||
"inactive": "Inactive",
|
||
"devices": "Devices",
|
||
"users": "Users",
|
||
"assign_device": "Assign Device",
|
||
"assign_devices": "Assign Devices",
|
||
"remove_device": "Remove Device",
|
||
"assign_user": "Assign User",
|
||
"remove_user": "Remove User",
|
||
"no_tenants": "No tenants configured",
|
||
"no_devices": "No devices assigned to this tenant",
|
||
"no_users": "No users assigned to this tenant",
|
||
"stats": "Tenant Statistics",
|
||
"total_devices": "Total Devices",
|
||
"online_devices": "Online Devices",
|
||
"total_users": "Total Users",
|
||
"created_at": "Created At",
|
||
"updated_at": "Updated At",
|
||
"slug_exists": "Tenant slug already exists",
|
||
"total_tenants": "Total Tenants",
|
||
"active_tenants": "Active Tenants",
|
||
"search": "Search tenants...",
|
||
"create_tenant": "Create Tenant",
|
||
"detail": "Tenant Detail",
|
||
"contact": "Contact",
|
||
"enabled": "Enabled",
|
||
"disabled": "Disabled",
|
||
"max": "max",
|
||
"info": "Tenant Info",
|
||
"status": "Status"
|
||
},
|
||
"registrations": {
|
||
"title": "Device Registrations",
|
||
"subtitle": "Manage registration requests from devices discovered via LAN",
|
||
"search_placeholder": "Search by device ID, hostname or IP...",
|
||
"no_registrations": "No registration requests",
|
||
"col_device_id": "Device ID",
|
||
"col_hostname": "Hostname",
|
||
"col_platform": "Platform",
|
||
"col_ip": "IP Address",
|
||
"col_version": "Version",
|
||
"col_status": "Status",
|
||
"col_requested": "Requested",
|
||
"col_actions": "Actions",
|
||
"status_pending": "Pending",
|
||
"status_approved": "Approved",
|
||
"status_rejected": "Rejected",
|
||
"approve_btn": "Approve",
|
||
"approve_confirm": "Are you sure you want to approve this device? It will receive server credentials and can connect automatically.",
|
||
"approved_success": "Device registration approved successfully",
|
||
"reject_btn": "Reject",
|
||
"reject_title": "Reject Registration",
|
||
"reject_confirm": "Are you sure you want to reject this registration request?",
|
||
"reject_reason": "Reason (optional)",
|
||
"reject_reason_placeholder": "Enter reason for rejection...",
|
||
"rejected_success": "Device registration rejected",
|
||
"delete_confirm": "Are you sure you want to delete this registration record?",
|
||
"deleted_success": "Registration record deleted",
|
||
"enrollment_title": "Device Enrollment",
|
||
"enrollment_subtitle": "Pending enrollment requests from BetterDesk desktop clients",
|
||
"enrollment_empty": "No pending enrollment requests",
|
||
"enrollment_approve": "Approve",
|
||
"enrollment_reject": "Reject",
|
||
"enrollment_display_name": "Display Name",
|
||
"enrollment_display_name_placeholder": "Enter a name for this device...",
|
||
"enrollment_sync_mode": "Sync Mode",
|
||
"enrollment_sync_silent": "Silent — minimal telemetry",
|
||
"enrollment_sync_standard": "Standard — balanced sync",
|
||
"enrollment_sync_turbo": "Turbo — aggressive sync",
|
||
"enrollment_approved_success": "Device enrollment approved",
|
||
"enrollment_rejected_success": "Device enrollment rejected"
|
||
},
|
||
"backup": {
|
||
"title": "Backup",
|
||
"desc": "Download a full backup of your console configuration, users, groups, and settings. Go server peer data is included when the BetterDesk backend is active.",
|
||
"restore_title": "Restore",
|
||
"restore_desc": "Upload a previously downloaded backup file to restore console configuration. Select which sections to restore below.",
|
||
"stat_users": "Users",
|
||
"stat_settings": "Settings",
|
||
"stat_folders": "Folders",
|
||
"stat_groups": "Groups",
|
||
"stat_strategies": "Strategies",
|
||
"stat_backend": "Backend",
|
||
"download": "Download Backup",
|
||
"creating": "Creating backup...",
|
||
"download_success": "Backup downloaded successfully",
|
||
"upload": "Upload Backup",
|
||
"restore_confirm": "Are you sure you want to restore from this backup? Selected sections will be overwritten.",
|
||
"restore_success": "Backup restored successfully. Some changes may require a page reload.",
|
||
"restored": "Restored",
|
||
"skipped": "Skipped",
|
||
"backup_date": "Backup date",
|
||
"opt_settings": "Console settings",
|
||
"opt_branding": "Branding / Theme",
|
||
"opt_folders": "Device folders",
|
||
"opt_groups": "User & device groups",
|
||
"opt_addressbooks": "Address books",
|
||
"opt_users": "User accounts",
|
||
"opt_users_warning": "Destructive: replaces ALL user accounts with backup data. You may be logged out.",
|
||
"no_file": "No backup file selected",
|
||
"invalid_json": "Invalid backup file: not valid JSON",
|
||
"invalid_format": "Invalid backup file: not a BetterDesk backup"
|
||
},
|
||
"cdap": {
|
||
"device_detail": "CDAP Device",
|
||
"loading": "Loading...",
|
||
"loading_widgets": "Loading device widgets...",
|
||
"load_error": "Failed to load device data",
|
||
"connected": "Connected",
|
||
"disconnected": "Disconnected",
|
||
"device_offline_msg": "Device is currently offline. Widget values may be stale.",
|
||
"no_widgets": "No widgets available",
|
||
"no_widgets_desc": "This device has not registered a CDAP manifest with widget definitions.",
|
||
"command_log": "Command Log",
|
||
"clear_log": "Clear log",
|
||
"confirm_command": "Confirm Command",
|
||
"select_option": "Select",
|
||
"cdap_status": "CDAP Status",
|
||
"cdap_enabled": "CDAP Enabled",
|
||
"cdap_disabled": "CDAP Disabled",
|
||
"cdap_devices": "CDAP Devices",
|
||
"cdap_connections": "Active Connections",
|
||
"send_command": "Send Command",
|
||
"command_sent": "Command sent successfully",
|
||
"command_failed": "Failed to send command",
|
||
"devices_title": "CDAP Devices",
|
||
"devices_subtitle": "Connected devices via Custom Device Application Protocol",
|
||
"stat_connected": "Connected",
|
||
"stat_port": "Port",
|
||
"search_devices": "Search devices...",
|
||
"no_devices": "No devices connected",
|
||
"no_devices_desc": "No CDAP devices are currently connected. Devices will appear here once they connect to the gateway.",
|
||
"gateway_disabled": "CDAP Gateway Disabled",
|
||
"gateway_disabled_desc": "Enable the CDAP gateway by setting CDAP_ENABLED=true in the server configuration.",
|
||
"gateway_active": "Active",
|
||
"toggle_enable": "Enable CDAP",
|
||
"toggle_disable": "Disable CDAP",
|
||
"enabled_restart": "CDAP enabled. Server restart required to apply changes.",
|
||
"disabled_restart": "CDAP disabled. Server restart required to apply changes.",
|
||
"widgets": "widgets",
|
||
"type_all": "All",
|
||
"type_iot": "IoT",
|
||
"type_scada": "SCADA",
|
||
"type_os_agent": "OS Agent",
|
||
"type_network": "Network",
|
||
"type_camera": "Camera",
|
||
"type_custom": "Custom",
|
||
"active_alerts": "Active Alerts",
|
||
"alert_fired": "Alert fired",
|
||
"alert_cleared": "Alert cleared",
|
||
"no_alerts": "No active alerts",
|
||
"connect_terminal": "Connect Terminal",
|
||
"table_search": "Search...",
|
||
"just_now": "Just now",
|
||
"terminal_connecting": "Connecting to device...",
|
||
"terminal_disconnected": "Disconnected",
|
||
"terminal_error": "Terminal connection failed",
|
||
"linked_devices": "Linked Devices",
|
||
"link_device": "Link Device",
|
||
"unlink_device": "Unlink",
|
||
"no_linked_devices": "No linked devices",
|
||
"unlink_confirm": "Are you sure you want to unlink this device?",
|
||
"link_prompt": "Enter the Peer ID to link to this device:",
|
||
"connect_desktop": "Connect Desktop",
|
||
"connect_video": "Connect Stream",
|
||
"connect_files": "Browse Files",
|
||
"connect_audio": "Connect Audio",
|
||
"upload_file": "Upload",
|
||
"desktop_connecting": "Connecting...",
|
||
"video_connecting": "Connecting...",
|
||
"files_connecting": "Connecting...",
|
||
"audio_connecting": "Connecting...",
|
||
"audio_streaming": "Streaming",
|
||
"clipboard_in": "Clipboard received",
|
||
"clipboard_out": "Clipboard sent",
|
||
"monitor_select": "Select Monitor",
|
||
"keyframe_request": "Request Keyframe",
|
||
"quality_auto": "Auto Quality"
|
||
},
|
||
"desktop": {
|
||
"switch_mode": "Desktop Mode",
|
||
"console_mode": "Console Mode",
|
||
"loading": "Loading...",
|
||
"minimize": "Minimize",
|
||
"maximize": "Maximize",
|
||
"restore": "Restore",
|
||
"close": "Close",
|
||
"widgets_mode": "Widgets",
|
||
"windows_mode": "Windows",
|
||
"wallpaper": "Wallpaper",
|
||
"add_widget": "Add Widget",
|
||
"remove_widget": "Remove Widget",
|
||
"configure": "Configure",
|
||
"search_widgets": "Search widgets...",
|
||
"cat_monitoring": "Monitoring",
|
||
"cat_devices": "Devices",
|
||
"cat_tools": "Tools",
|
||
"cat_general": "General",
|
||
"notes_placeholder": "Write notes here...",
|
||
"search_placeholder": "Search devices, pages, settings...",
|
||
"search_pages": "Pages",
|
||
"search_devices": "Devices",
|
||
"search_no_results": "No results",
|
||
"exit_desktop": "Exit Desktop",
|
||
"refresh": "Refresh",
|
||
"widget_clock": "Clock",
|
||
"widget_device_status": "Device Status",
|
||
"widget_server_health": "Server Info",
|
||
"widget_system_stats": "Device Gauges",
|
||
"widget_device_list": "Device List",
|
||
"widget_quick_actions": "Quick Actions",
|
||
"widget_recent_activity": "Recent Activity",
|
||
"widget_notes": "Notes",
|
||
"widget_network_monitor": "Network Monitor",
|
||
"widget_tickets_summary": "Tickets",
|
||
"widget_iframe": "Web Embed",
|
||
"widget_cdap_devices": "CDAP Devices",
|
||
"widget_uptime": "Uptime",
|
||
"widget_port_status": "Port Status",
|
||
"widget_device_grid": "Device Grid",
|
||
"widget_multi_gauge": "Server Gauges",
|
||
"widget_weekly_chart": "Weekly Activity",
|
||
"widget_quick_controls": "Quick Controls",
|
||
"widget_bandwidth": "Bandwidth",
|
||
"widget_connection_stats": "Connection Stats",
|
||
"widget_weather": "Weather",
|
||
"widget_world_clock": "World Clock",
|
||
"widget_bookmarks": "Bookmarks",
|
||
"widget_user_sessions": "User Sessions",
|
||
"widget_alert_feed": "Alert Feed",
|
||
"label_online": "Online",
|
||
"label_offline": "Offline",
|
||
"label_total": "Total",
|
||
"label_blocked": "Blocked",
|
||
"label_banned": "Banned",
|
||
"label_active": "Active",
|
||
"label_service": "Service",
|
||
"label_port": "Port",
|
||
"label_uptime_prefix": "Uptime:",
|
||
"label_uptime": "Uptime",
|
||
"label_no_devices": "No devices",
|
||
"label_no_activity": "No activity",
|
||
"label_no_targets": "No targets",
|
||
"label_unavailable": "Unavailable",
|
||
"label_open": "Open",
|
||
"label_in_progress": "In Progress",
|
||
"label_resolved": "Resolved",
|
||
"label_set_url": "Set URL in config",
|
||
"label_server_uptime": "Server Uptime",
|
||
"label_merged_info": "Merged into Server Info widget",
|
||
"label_with_notes": "With Notes",
|
||
"label_metric": "Metric",
|
||
"label_count": "Count",
|
||
"label_total_devices": "Total Devices",
|
||
"label_throughput": "Throughput",
|
||
"label_active_relays": "Active Relays",
|
||
"label_total_relayed": "Total Relayed",
|
||
"label_total_bytes": "Total Bytes",
|
||
"label_filter_devices": "Filter devices...",
|
||
"label_all": "All",
|
||
"label_ban": "Ban",
|
||
"label_unban": "Unban",
|
||
"label_connect": "Connect",
|
||
"label_no_cdap_devices": "No CDAP devices",
|
||
"action_add_widget": "Add Widget",
|
||
"label_merged_server_info": "Merged into Server Info widget",
|
||
"wp_images": "Images",
|
||
"wp_colors": "Solid Colors",
|
||
"wp_custom_color": "Custom color",
|
||
"wp_fit_style": "Style",
|
||
"wp_fill": "Fill",
|
||
"wp_fit": "Fit",
|
||
"wp_stretch": "Stretch",
|
||
"wp_center": "Center",
|
||
"widget_calendar": "Calendar",
|
||
"widget_process_monitor": "Process Monitor",
|
||
"widget_disk_usage": "Disk Usage",
|
||
"widget_log_viewer": "Log Viewer",
|
||
"widget_speed_test": "Speed Test",
|
||
"widget_database_stats": "Database Stats",
|
||
"widget_docker_containers": "Docker Containers",
|
||
"widget_shell_command": "Shell Command",
|
||
"widget_device_map": "Device Map",
|
||
"widget_remote_connect": "Remote Connect",
|
||
"label_no_online": "No online devices",
|
||
"label_no_events": "No events today",
|
||
"label_event_title": "Event title:",
|
||
"label_no_data": "No data available",
|
||
"label_download_speed": "Download Speed",
|
||
"label_latency": "Latency",
|
||
"label_server": "Server",
|
||
"label_run_test": "Run Test",
|
||
"label_testing": "Testing...",
|
||
"label_table": "Table",
|
||
"label_rows": "Rows",
|
||
"label_last_backup": "Last Backup",
|
||
"label_no_containers": "No containers",
|
||
"label_docker_unavailable": "Docker not available",
|
||
"label_no_command": "No command configured",
|
||
"label_no_output": "No output yet",
|
||
"label_run": "Run",
|
||
"label_presets": "Presets",
|
||
"label_save_preset": "Save Preset",
|
||
"label_load_preset": "Load Preset",
|
||
"label_preset_name": "Preset name:",
|
||
"label_preset_monitoring": "Monitoring",
|
||
"label_preset_helpdesk": "Helpdesk",
|
||
"label_preset_minimal": "Minimal",
|
||
"label_preset_developer": "Developer",
|
||
"label_snap_layout": "Snap Layout",
|
||
"label_auto_arrange": "Auto Arrange",
|
||
"label_zone_layout": "Zone Layout",
|
||
"label_2col_equal": "2 Columns (Equal)",
|
||
"label_2col_wide": "2 Columns (60/40)",
|
||
"label_3col": "3 Columns",
|
||
"label_2x2_grid": "2×2 Grid",
|
||
"label_1_2": "1 + 2",
|
||
"label_1_3": "1 + 3",
|
||
"widget_group": "Widget Group",
|
||
"ungroup_widgets": "Ungroup Widgets",
|
||
"group_widgets": "Group Selected Widgets",
|
||
"snap_layouts": "Snap Layouts",
|
||
"snap_left": "Snap Left",
|
||
"snap_right": "Snap Right",
|
||
"snap_top_left": "Snap Top-Left",
|
||
"snap_top_right": "Snap Top-Right",
|
||
"snap_bottom_left": "Snap Bottom-Left",
|
||
"snap_bottom_right": "Snap Bottom-Right",
|
||
"aero_shake": "Shake to Minimize Others",
|
||
"zone_resize": "Drag border to resize zones",
|
||
"zone_borders": "Draggable Zone Borders",
|
||
"app_drawer": "Applications",
|
||
"search_apps": "Search apps...",
|
||
"edit_shortcuts": "ショートカットを編集",
|
||
"widgets": "Widgets",
|
||
"theme": "Theme",
|
||
"pop_out_widget": "Pop Out",
|
||
"pop_in_widget": "Pop In",
|
||
"wp_unavailable": "Wallpaper images are not installed on this server.",
|
||
"wp_download_hint": "Place PNG images in the public/wallpapers/ directory to enable wallpaper selection.",
|
||
"fullscreen": "Fullscreen",
|
||
"help": "Help"
|
||
},
|
||
"desktop_login": {
|
||
"click_to_sign_in": "Click anywhere or press a key to sign in",
|
||
"username_placeholder": "Username",
|
||
"password_placeholder": "Password",
|
||
"sign_in": "Sign in",
|
||
"verify": "Verify",
|
||
"totp_title": "Two-Factor Authentication",
|
||
"totp_subtitle": "Enter the 6-digit code from your authenticator app",
|
||
"back_to_login": "Back to login",
|
||
"fill_all_fields": "Please fill in all fields",
|
||
"invalid_credentials": "Invalid username or password",
|
||
"invalid_code": "Invalid verification code",
|
||
"enter_6_digits": "Enter all 6 digits",
|
||
"network_error": "Network error — check your connection",
|
||
"session_expired": "Session expired. Please sign in again."
|
||
},
|
||
"tokens": {
|
||
"title": "Device Tokens",
|
||
"subtitle": "Manage enrollment tokens for automated device provisioning",
|
||
"enrollment_mode": "Enrollment Mode",
|
||
"mode_open": "Open",
|
||
"mode_open_desc": "Any device can register without a token",
|
||
"mode_managed": "Managed",
|
||
"mode_managed_desc": "Devices need a valid token to register",
|
||
"mode_locked": "Locked",
|
||
"mode_locked_desc": "No new device registrations allowed",
|
||
"total": "Total Tokens",
|
||
"active": "Active",
|
||
"used": "Used",
|
||
"revoked": "Revoked",
|
||
"search_placeholder": "Search tokens...",
|
||
"status_pending": "Pending",
|
||
"status_active": "Active",
|
||
"status_used": "Used",
|
||
"status_revoked": "Revoked",
|
||
"status_expired": "Expired",
|
||
"bulk_generate": "Bulk Generate",
|
||
"create": "Create Token",
|
||
"edit": "Edit Token",
|
||
"token": "Token",
|
||
"name": "Name",
|
||
"status": "Status",
|
||
"uses": "Uses",
|
||
"bound_peer": "Bound Peer",
|
||
"expires": "Expires",
|
||
"created": "Created",
|
||
"actions": "Actions",
|
||
"name_placeholder": "e.g. Office PC batch",
|
||
"max_uses": "Max Uses",
|
||
"max_uses_hint": "0 = unlimited",
|
||
"expires_in": "Expires In",
|
||
"no_expiration": "No expiration",
|
||
"expires_1h": "1 hour",
|
||
"expires_24h": "24 hours",
|
||
"expires_7d": "7 days",
|
||
"expires_30d": "30 days",
|
||
"note": "Note",
|
||
"note_placeholder": "Optional note about this token...",
|
||
"count": "Count",
|
||
"count_range": "Number of tokens to generate (1-100)",
|
||
"name_prefix": "Name Prefix",
|
||
"generate": "Generate",
|
||
"token_created": "Token Created",
|
||
"tokens_generated": "Tokens Generated",
|
||
"copy_warning": "Copy the token now. It will not be shown again.",
|
||
"copy_token": "Copy Token",
|
||
"copied": "Copied!",
|
||
"revoke": "Revoke",
|
||
"revoke_confirm": "Are you sure you want to revoke this token? Devices already registered with it will not be affected.",
|
||
"revoked_success": "Token revoked successfully",
|
||
"no_tokens": "No tokens found",
|
||
"expired": "Expired",
|
||
"never": "Never",
|
||
"save": "Save",
|
||
"cancel": "Cancel",
|
||
"unlimited": "Unlimited"
|
||
},
|
||
"tutorial": {
|
||
"next": "Next",
|
||
"prev": "Previous",
|
||
"skip": "Skip",
|
||
"finish": "Finish",
|
||
"close": "Close",
|
||
"step_of": "{current} of {total}",
|
||
"console_sidebar_title": "Navigation Sidebar",
|
||
"console_sidebar_text": "Access all modules from here. Click any icon to navigate to that section. The sidebar adapts to your screen size.",
|
||
"console_expand_title": "Expand Sidebar",
|
||
"console_expand_text": "Click here to expand the sidebar and see full labels for all navigation items. Click again to collapse.",
|
||
"console_search_title": "Quick Search",
|
||
"console_search_text": "Search for devices, settings, or actions quickly. Press Ctrl+K for keyboard shortcut.",
|
||
"console_dashboard_title": "Dashboard",
|
||
"console_dashboard_text": "Your central hub showing server status, online devices, and quick actions. Keep an eye on important metrics at a glance.",
|
||
"console_devices_title": "Device Management",
|
||
"console_devices_text": "View, search, and manage all connected devices. Filter by status, assign tags, and configure individual device settings.",
|
||
"console_settings_title": "Settings",
|
||
"console_settings_text": "Configure server behavior, security options, branding, and user management. Customize BetterDesk to fit your needs.",
|
||
"console_desktop_title": "Desktop Mode",
|
||
"console_desktop_text": "Switch to desktop mode for a windowed workspace with widgets. Perfect for multi-tasking and monitoring dashboards.",
|
||
"console_complete_title": "You're Ready!",
|
||
"console_complete_text": "Explore the sidebar categories to discover all features. Click the Help icon anytime to restart this guide.",
|
||
"desktop_topbar_title": "Top Bar",
|
||
"desktop_topbar_text": "The top bar shows the clock, quick controls, and access to the app drawer. Click the grid icon to browse all apps.",
|
||
"desktop_drawer_title": "App Drawer",
|
||
"desktop_drawer_text": "Open the app drawer to search and launch any console function as a floating window. Apps are organized by category.",
|
||
"desktop_widgets_title": "Widget Dashboard",
|
||
"desktop_widgets_text": "Your customizable workspace. Widgets display live information and provide quick access to features. Drag to rearrange.",
|
||
"desktop_add_widget_title": "Add Widgets",
|
||
"desktop_add_widget_text": "Click here to browse available widgets. Choose from monitoring displays, device lists, notes, and more.",
|
||
"desktop_taskbar_title": "Taskbar",
|
||
"desktop_taskbar_text": "Open apps appear here. Click to focus or minimize windows. The clock shows current time and wallpaper button changes the background.",
|
||
"desktop_snap_title": "Snap Layouts",
|
||
"desktop_snap_text": "Drag windows to screen edges to snap them into position, or hover the maximize button for layout presets. Try Aero Shake!",
|
||
"desktop_windows_title": "App Windows",
|
||
"desktop_windows_text": "Apps open in draggable, resizable windows. Minimize, maximize, or close from the title bar. Windows layer above widgets.",
|
||
"desktop_search_title": "Quick Search",
|
||
"desktop_search_text": "Search across devices, pages, and settings. Press Ctrl+K anywhere to open search instantly.",
|
||
"desktop_complete_title": "Desktop Mode Ready!",
|
||
"desktop_complete_text": "Try opening apps from the drawer and arranging windows side-by-side. Use widget presets for quick dashboard layouts.",
|
||
"devices_folders_title": "Device Folders",
|
||
"devices_folders_text": "Organize devices into folders. Click a folder to filter the list. Right-click to rename or delete.",
|
||
"devices_search_title": "Search & Filter",
|
||
"devices_search_text": "Search by ID, hostname, or platform. Use the status pills to show only online, offline, or all devices.",
|
||
"devices_table_title": "Device List",
|
||
"devices_table_text": "Click any device row for details. Use the kebab menu on the right for quick actions like connect, edit tags, or delete.",
|
||
"devices_complete_title": "Device Management Ready!",
|
||
"devices_complete_text": "Drag devices between folders to organize them. Double-click a device to open its detail panel.",
|
||
"settings_tabs_title": "Settings Categories",
|
||
"settings_tabs_text": "Navigate between General, Security, Appearance, and other configuration sections.",
|
||
"settings_content_title": "Configuration",
|
||
"settings_content_text": "Each section contains specific server and console settings. Changes are saved when you click Save.",
|
||
"settings_complete_title": "Settings Overview",
|
||
"settings_complete_text": "Check Security settings for 2FA, API keys and user management. Visit Appearance to customize the console look.",
|
||
"help": "Help & Tutorials",
|
||
"tour_console": "Console Tour",
|
||
"tour_desktop": "Desktop Mode Tour",
|
||
"tour_devices": "Devices Tour",
|
||
"tour_settings": "Settings Tour",
|
||
"reset_all": "Reset All Tutorials",
|
||
"tour_remote": "Remote Session Tour",
|
||
"tour_organization": "Organization Setup",
|
||
"tour_cdap": "CDAP Overview",
|
||
"tour_chat": "Chat Basics",
|
||
"remote_toolbar_title": "Remote Toolbar",
|
||
"remote_toolbar_text": "Access display controls, clipboard sync, special keys, and quality settings from the toolbar. Toggle fullscreen with F11.",
|
||
"remote_canvas_title": "Remote Display",
|
||
"remote_canvas_text": "This is the remote screen. Click inside to start controlling the remote device. Mouse and keyboard input are forwarded automatically.",
|
||
"remote_clipboard_title": "Clipboard Sync",
|
||
"remote_clipboard_text": "Copy and paste text between your computer and the remote device. Use Ctrl+C / Ctrl+V as normal while focused on the remote display.",
|
||
"remote_complete_title": "Remote Session Ready!",
|
||
"remote_complete_text": "Use the toolbar buttons for special keys (Ctrl+Alt+Del, PrintScreen) and monitor switching. Press Escape or click Disconnect to end the session.",
|
||
"org_overview_title": "Organizations",
|
||
"org_overview_text": "Organizations let you group users, devices, and policies. Each organization has its own admin, operators, and settings.",
|
||
"org_create_title": "Create Organization",
|
||
"org_create_text": "Click here to create a new organization. Provide a name, slug, and optional description. You will be the owner of the new organization.",
|
||
"org_members_title": "Manage Members",
|
||
"org_members_text": "Invite users by email, assign roles (admin, operator, user), and manage access. Members can see devices assigned to their organization.",
|
||
"org_devices_title": "Assign Devices",
|
||
"org_devices_text": "Add devices to the organization. Devices assigned here will inherit the organization's policies and be visible to its members.",
|
||
"org_policies_title": "Organization Policies",
|
||
"org_policies_text": "Set security policies like password requirements, session timeouts, 2FA enforcement, and device enrollment rules for the organization.",
|
||
"org_complete_title": "Organization Setup Complete!",
|
||
"org_complete_text": "Invite your team and assign devices to start using organization-scoped management. Policies apply automatically to all members.",
|
||
"cdap_devices_title": "CDAP Devices",
|
||
"cdap_devices_text": "View all connected CDAP devices — IoT sensors, PLCs, bridges, and custom agents. Green indicators show live connections.",
|
||
"cdap_widgets_title": "Widget Dashboard",
|
||
"cdap_widgets_text": "Widgets display real-time data from devices. Gauges, toggles, LEDs, charts — each widget type visualizes a different kind of data.",
|
||
"cdap_commands_title": "Send Commands",
|
||
"cdap_commands_text": "Interact with devices by sending commands. Some commands need confirmation. The command log keeps a history of all sent commands.",
|
||
"cdap_terminal_title": "Device Terminal",
|
||
"cdap_terminal_text": "Open a terminal session to CDAP agents for advanced diagnostics or manual configuration. Type commands directly.",
|
||
"cdap_complete_title": "CDAP Overview Complete!",
|
||
"cdap_complete_text": "Explore device widgets, send commands, and use the terminal or file browser for deeper management. CDAP agents report metrics automatically.",
|
||
"chat_contacts_title": "Contacts & Groups",
|
||
"chat_contacts_text": "See your contacts and chat groups. Click any contact to open a conversation. Green dots indicate online users.",
|
||
"chat_send_title": "Send Messages",
|
||
"chat_send_text": "Type your message and press Enter to send. Messages are end-to-end encrypted when both parties support E2E.",
|
||
"chat_file_title": "Share Files",
|
||
"chat_file_text": "Click the attachment icon to share files. Files are encrypted and can be up to 50 MB.",
|
||
"chat_complete_title": "Chat Ready!",
|
||
"chat_complete_text": "Chat with operators and end users in real time. Create groups for team communication. All messages support read receipts."
|
||
},
|
||
"help_request": {
|
||
"title": "Help Requests",
|
||
"subtitle": "Manage incoming help requests from desktop clients",
|
||
"new_request": "New Help Request",
|
||
"device": "Device",
|
||
"hostname": "Hostname",
|
||
"message": "Message",
|
||
"status": "Status",
|
||
"pending": "Pending",
|
||
"accepted": "Accepted",
|
||
"resolved": "Resolved",
|
||
"accept": "Accept",
|
||
"resolve": "Resolve",
|
||
"no_requests": "No help requests",
|
||
"notification": "Help request received from",
|
||
"stats_total": "Total",
|
||
"filter_all": "All"
|
||
},
|
||
"organizations": {
|
||
"title": "Organizations",
|
||
"create": "Create Organization",
|
||
"edit": "Edit Organization",
|
||
"detail": "Organization Details",
|
||
"name": "Name",
|
||
"slug": "Slug (URL-safe)",
|
||
"logo_url": "Logo URL",
|
||
"users": "Users",
|
||
"devices": "Devices",
|
||
"invitations": "Invitations",
|
||
"settings": "Settings",
|
||
"add_user": "Add User",
|
||
"assign_device": "Assign Device",
|
||
"create_invitation": "Create Invitation",
|
||
"delete_confirm": "Delete this organization? This will remove all associated users, devices, and settings.",
|
||
"no_orgs": "No organizations yet",
|
||
"no_orgs_hint": "Create your first organization to start managing devices and users.",
|
||
"connection_policy": "Connection Policy",
|
||
"allow_file_transfer": "Allow File Transfer",
|
||
"allow_clipboard": "Allow Clipboard",
|
||
"max_session_duration": "Max Session Duration (min)",
|
||
"role_owner": "Owner",
|
||
"role_admin": "Admin",
|
||
"role_operator": "Operator",
|
||
"role_user": "User",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"display_name": "Display Name",
|
||
"email": "Email",
|
||
"role": "Role",
|
||
"last_login": "Last Login",
|
||
"actions": "Actions",
|
||
"device_id": "Device ID",
|
||
"department": "Department",
|
||
"building": "Building",
|
||
"location": "Location",
|
||
"assigned_user": "Assigned User",
|
||
"token": "Token",
|
||
"expires": "Expires",
|
||
"used": "Used",
|
||
"no_users": "No users in this organization.",
|
||
"no_devices": "No devices assigned to this organization.",
|
||
"no_invitations": "No invitations.",
|
||
"user_added": "User added",
|
||
"user_removed": "User removed",
|
||
"user_updated": "User role updated",
|
||
"device_assigned": "Device assigned",
|
||
"device_unassigned": "Device unassigned",
|
||
"invitation_created": "Invitation created",
|
||
"settings_saved": "Settings saved",
|
||
"org_deleted": "Organization deleted",
|
||
"confirm_remove_user": "Remove this user from the organization?",
|
||
"confirm_unassign_device": "Unassign this device from the organization?",
|
||
"confirm_delete_org": "Delete this organization and all associated data?",
|
||
"edit_role": "Edit Role",
|
||
"raw_settings": "Raw Settings",
|
||
"key": "Key",
|
||
"value": "Value",
|
||
"save": "Save Settings",
|
||
"policy_unattended": "Unattended (instant)",
|
||
"policy_attended": "Attended (with confirmation)",
|
||
"policy_ask": "Always ask",
|
||
"expires_hours": "Expiration (hours)",
|
||
"loading_failed": "Failed to load organization data",
|
||
"name_slug_required": "Name and slug are required",
|
||
"org_created": "Organization created",
|
||
"org_updated": "Organization updated",
|
||
"create_new_user": "Create New",
|
||
"add_existing_user": "Add Existing",
|
||
"none_available": "none",
|
||
"select_user": "Select user",
|
||
"org_role": "Organization Role",
|
||
"link_user_hint": "Selected user will be linked to this organization using their server account credentials.",
|
||
"no_available_users": "All server users are already linked to this organization.",
|
||
"user_linked": "User linked to organization"
|
||
},
|
||
"chat": {
|
||
"e2e_enabled": "エンドツーエンド暗号化",
|
||
"e2e_establishing": "セキュアチャネルを確立中...",
|
||
"e2e_established": "セキュアチャネルが確立されました",
|
||
"e2e_unsupported": "このブラウザではE2E暗号化はサポートされていません",
|
||
"typing_indicator": "入力中...",
|
||
"read_receipt": "既読",
|
||
"delivered": "配信済み",
|
||
"file_share": "ファイル",
|
||
"file_too_large": "ファイルが大きすぎます(最大 50MB)",
|
||
"file_encrypted": "暗号化ファイル転送",
|
||
"presence_online": "オンライン",
|
||
"presence_away": "離席中",
|
||
"presence_busy": "取り込み中",
|
||
"presence_offline": "オフライン",
|
||
"key_rotation": "セキュリティキーが更新されました",
|
||
"new_message": "新しいメッセージ",
|
||
"title": "チャット",
|
||
"contacts": "連絡先",
|
||
"groups": "グループ",
|
||
"no_contacts": "まだ連絡先がありません",
|
||
"no_groups": "まだグループがありません",
|
||
"no_messages": "まだメッセージがありません",
|
||
"no_results": "結果が見つかりません",
|
||
"select_conversation": "会話を選択してチャットを開始",
|
||
"type_message": "メッセージを入力...",
|
||
"send": "送信",
|
||
"attach_file": "ファイルを添付",
|
||
"emoji": "絵文字",
|
||
"search_messages": "メッセージを検索",
|
||
"create_group": "グループを作成",
|
||
"group_name": "グループ名",
|
||
"group_members": "メンバー",
|
||
"cancel": "キャンセル",
|
||
"create": "作成",
|
||
"members": "メンバー",
|
||
"today": "今日",
|
||
"yesterday": "昨日",
|
||
"react": "リアクション",
|
||
"my_presence": "マイステータス",
|
||
"search_placeholder": "連絡先とメッセージを検索",
|
||
"select_conversation_hint": "メッセージを表示するには会話を選択してください",
|
||
"info": "情報",
|
||
"group_name_placeholder": "グループ名を入力"
|
||
},
|
||
"toast": {
|
||
"device_connected": "Device connected",
|
||
"device_disconnected": "Device disconnected",
|
||
"session_started": "Remote session started",
|
||
"session_ended": "Remote session ended",
|
||
"file_upload_complete": "File upload complete",
|
||
"settings_saved": "Settings saved",
|
||
"error_generic": "An error occurred",
|
||
"connection_lost": "Connection lost",
|
||
"reconnecting": "Reconnecting..."
|
||
},
|
||
"theme": {
|
||
"dark": "Dark",
|
||
"light": "Light",
|
||
"auto": "System",
|
||
"title": "Theme"
|
||
},
|
||
"days": {
|
||
"mon": "Mon",
|
||
"tue": "Tue",
|
||
"wed": "Wed",
|
||
"thu": "Thu",
|
||
"fri": "Fri",
|
||
"sat": "Sat",
|
||
"sun": "Sun"
|
||
},
|
||
"toolkit": {
|
||
"title": "Toolkit",
|
||
"subtitle": "Admin utilities and diagnostic tools",
|
||
"cat_network": "Network",
|
||
"cat_crypto": "Crypto",
|
||
"cat_encoding": "Encoding",
|
||
"cat_system": "System",
|
||
"host": "Host",
|
||
"port": "Port",
|
||
"domain": "Domain",
|
||
"run": "Run",
|
||
"generate": "Generate",
|
||
"encode": "Encode",
|
||
"decode": "Decode",
|
||
"send": "Send",
|
||
"refresh": "Refresh",
|
||
"algorithm": "Algorithm",
|
||
"input_text": "Input Text",
|
||
"enter_text": "Enter text...",
|
||
"length": "Length",
|
||
"options": "Options",
|
||
"source": "Source",
|
||
"lines": "Lines",
|
||
"log_console": "Console",
|
||
"log_go": "Go Server",
|
||
"mac_address": "MAC Address",
|
||
"broadcast": "Broadcast",
|
||
"ping_title": "Ping",
|
||
"ping_desc": "Check host reachability and latency",
|
||
"tcp_title": "TCP Port Check",
|
||
"tcp_desc": "Test TCP port connectivity",
|
||
"ssl_title": "SSL Inspector",
|
||
"ssl_desc": "Inspect SSL/TLS certificate details",
|
||
"http_title": "HTTP Health Check",
|
||
"http_desc": "Verify HTTP endpoint status",
|
||
"dns_title": "DNS Lookup",
|
||
"dns_desc": "Resolve hostname to IP address",
|
||
"whois_title": "DNS Records",
|
||
"whois_desc": "Query A, AAAA, MX, TXT, NS records",
|
||
"speed_title": "Speed Test",
|
||
"speed_desc": "Measure download bandwidth",
|
||
"run_speed_test": "Run Speed Test",
|
||
"wol_title": "Wake-on-LAN",
|
||
"wol_desc": "Send magic packet to wake a device",
|
||
"wol_sent": "Magic packet sent",
|
||
"hash_title": "Hash Generator",
|
||
"hash_desc": "Generate cryptographic hashes",
|
||
"password_title": "Password Generator",
|
||
"password_desc": "Generate a secure random password",
|
||
"jwt_title": "JWT Decoder",
|
||
"jwt_desc": "Decode and inspect JSON Web Tokens",
|
||
"jwt_token": "JWT Token",
|
||
"base64_title": "Base64",
|
||
"base64_desc": "Encode or decode Base64 data",
|
||
"url_title": "URL Encoder",
|
||
"url_desc": "Encode or decode URL components",
|
||
"processes_title": "Process List",
|
||
"processes_desc": "View running system processes",
|
||
"disk_title": "Disk Usage",
|
||
"disk_desc": "View disk partition usage",
|
||
"db_title": "Database Stats",
|
||
"db_desc": "View database table statistics",
|
||
"docker_title": "Docker Containers",
|
||
"docker_desc": "View running Docker containers",
|
||
"logs_title": "Log Viewer",
|
||
"logs_desc": "View recent log output",
|
||
"ip_address": "IP",
|
||
"latency": "Latency",
|
||
"ttl": "TTL",
|
||
"status": "Status",
|
||
"resolved": "Resolved",
|
||
"subject": "Subject",
|
||
"issuer": "Issuer",
|
||
"valid_from": "Valid From",
|
||
"valid_to": "Valid To",
|
||
"days_left": "Days Left",
|
||
"days": "days",
|
||
"protocol": "Protocol",
|
||
"cipher": "Cipher",
|
||
"alt_names": "SANs",
|
||
"chain": "Chain",
|
||
"record_type": "Type",
|
||
"record_value": "Value",
|
||
"hash_value": "Hash",
|
||
"entropy": "Entropy",
|
||
"very_strong": "Very Strong",
|
||
"strong": "Strong",
|
||
"weak": "Weak",
|
||
"expiry": "Expiry",
|
||
"expired": "Expired",
|
||
"valid": "Valid",
|
||
"process_name": "Name",
|
||
"db_type": "Type",
|
||
"db_size": "Size",
|
||
"table_name": "Table",
|
||
"row_count": "Rows",
|
||
"no_data": "No data available",
|
||
"no_docker": "No Docker containers found or Docker not available",
|
||
"no_logs": "No log lines available"
|
||
},
|
||
"policies": {
|
||
"title": "組織ポリシー",
|
||
"subtitle": "組織のセキュリティ、接続、機能ポリシーを管理",
|
||
"select_org": "組織",
|
||
"select_org_placeholder": "組織を選択...",
|
||
"select_org_first": "ポリシー監査ログを表示するには組織を選択してください。",
|
||
"configured": "設定済み",
|
||
"connection_title": "接続ポリシー",
|
||
"connection_desc": "リモートセッションの確立方法を制御",
|
||
"connection_mode": "接続モード",
|
||
"mode_attended": "有人(ユーザー承認が必要)",
|
||
"mode_unattended": "無人(常に許可)",
|
||
"mode_ask": "常に確認",
|
||
"max_session": "最大セッション時間(分)",
|
||
"idle_lock": "アイドルロック(分)",
|
||
"wallpaper_policy": "セッション中の壁紙",
|
||
"wallpaper_show": "表示",
|
||
"wallpaper_hide_session": "セッション中非表示",
|
||
"wallpaper_hide_always": "常に非表示",
|
||
"features_title": "機能ポリシー",
|
||
"features_desc": "デバイスの特定機能を有効または無効にする",
|
||
"allow_file_transfer": "ファイル転送を許可",
|
||
"allow_clipboard": "クリップボード同期を許可",
|
||
"allow_audio": "オーディオストリーミングを許可",
|
||
"allow_recording": "セッション録画を許可",
|
||
"security_title": "セキュリティポリシー",
|
||
"security_desc": "組織デバイスのセキュリティ要件を強制",
|
||
"require_2fa": "無人アクセスに2FAを要求",
|
||
"password_min_length": "最小パスワード長",
|
||
"password_require_special": "特殊文字を要求",
|
||
"password_max_age": "パスワード最大有効期間(日、0=無期限)",
|
||
"allowed_operators": "許可されたオペレーターロール(カンマ区切り)",
|
||
"network_title": "ネットワークポリシー",
|
||
"network_desc": "リレーサーバーと直接接続を制御",
|
||
"block_direct_p2p": "直接P2Pをブロック(リレー強制)",
|
||
"allowed_relays": "許可されたリレーサーバー(行ごとに1つ)",
|
||
"ip_allowlist": "IPホワイトリスト(CIDR、行ごとに1つ)",
|
||
"update_title": "更新ポリシー",
|
||
"update_desc": "自動更新と更新チャネルを制御",
|
||
"auto_update": "自動更新を有効化",
|
||
"update_channel": "更新チャネル",
|
||
"audit_title": "ポリシー変更",
|
||
"audit_desc": "最近のポリシー変更履歴",
|
||
"no_audit": "ポリシー変更の記録なし。"
|
||
},
|
||
"attestation": {
|
||
"title": "デバイス証明",
|
||
"subtitle": "デバイスID検証とハードウェアフィンガープリントを監視",
|
||
"verified": "検証済み",
|
||
"pending": "保留中",
|
||
"failed": "失敗",
|
||
"device_list": "証明記録",
|
||
"device_list_desc": "ハードウェアフィンガープリントとID検証ステータス",
|
||
"col_device": "デバイスID",
|
||
"col_hostname": "ホスト名",
|
||
"col_fingerprint": "フィンガープリント",
|
||
"col_status": "ステータス",
|
||
"col_last_check": "最終確認",
|
||
"col_actions": "アクション",
|
||
"no_records": "証明記録が見つかりません。"
|
||
},
|
||
"fleet": {
|
||
"title": "フリート管理",
|
||
"tab_resources": "リソース",
|
||
"tab_tasks": "タスク",
|
||
"tab_builder": "ビルダー",
|
||
"tab_compliance": "コンプライアンス",
|
||
"res_title": "リソースマッピング",
|
||
"res_all_types": "すべてのタイプ",
|
||
"res_type_printer": "プリンター",
|
||
"res_type_network_drive": "ネットワークドライブ",
|
||
"res_type_dns": "DNSサーバー",
|
||
"res_type_proxy": "プロキシ",
|
||
"res_type_vpn": "VPN",
|
||
"res_add": "リソースを追加",
|
||
"res_name": "リソース名",
|
||
"res_type": "タイプ",
|
||
"res_address": "アドレス / パス",
|
||
"res_target": "ターゲット",
|
||
"res_scope": "スコープ",
|
||
"res_scope_org": "組織",
|
||
"res_scope_group": "グループ",
|
||
"res_scope_device": "デバイス",
|
||
"res_scope_value": "スコープ値",
|
||
"res_status": "ステータス",
|
||
"res_active": "アクティブ",
|
||
"res_inactive": "非アクティブ",
|
||
"res_no_data": "リソースが見つかりません。'追加'をクリックしてください。",
|
||
"res_confirm_delete": "このリソースを削除してもよろしいですか?",
|
||
"task_title": "タスクスケジューラー",
|
||
"task_all_status": "すべてのステータス",
|
||
"task_status_pending": "保留中",
|
||
"task_status_running": "実行中",
|
||
"task_status_success": "成功",
|
||
"task_status_failed": "失敗",
|
||
"task_search": "タスクを検索…",
|
||
"task_create": "タスクを作成",
|
||
"task_name": "タスク名",
|
||
"task_type": "タイプ",
|
||
"task_type_script": "スクリプト",
|
||
"task_type_install": "インストール",
|
||
"task_type_update": "更新",
|
||
"task_type_restart": "再起動",
|
||
"task_type_deploy": "デプロイ",
|
||
"task_type_scan": "スキャン",
|
||
"task_targets": "ターゲット",
|
||
"task_targets_help": "デバイスIDまたはグループ名(カンマ区切り)",
|
||
"task_schedule": "スケジュール",
|
||
"task_schedule_once": "一度だけ",
|
||
"task_schedule_cron": "Cron",
|
||
"task_schedule_interval": "インターバル",
|
||
"task_schedule_value": "スケジュール値",
|
||
"task_script": "スクリプト / コマンド",
|
||
"task_retries": "リトライ",
|
||
"task_timeout": "タイムアウト (秒)",
|
||
"task_last_run": "最終実行",
|
||
"task_no_data": "タスクが見つかりません。新しいタスクを作成してください。",
|
||
"task_confirm_delete": "このタスクを削除してもよろしいですか?",
|
||
"task_output": "タスク出力",
|
||
"task_retry": "リトライ",
|
||
"builder_title": "ビジュアルワークフロービルダー",
|
||
"builder_select_workflow": "ワークフローを選択…",
|
||
"builder_new": "新規",
|
||
"builder_save": "保存",
|
||
"builder_export": "エクスポート",
|
||
"builder_execute": "実行",
|
||
"builder_dry_run": "テスト実行",
|
||
"builder_triggers": "トリガー",
|
||
"builder_conditions": "条件",
|
||
"builder_actions": "アクション",
|
||
"builder_results": "結果",
|
||
"builder_transforms": "変換",
|
||
"builder_properties": "プロパティ",
|
||
"builder_no_selection": "ノードを選択してプロパティを編集してください。",
|
||
"workflow_name": "ワークフロー名:",
|
||
"comp_title": "ソフトウェアコンプライアンス",
|
||
"comp_compliant": "準拠",
|
||
"comp_warning": "警告",
|
||
"comp_critical": "重大",
|
||
"comp_score": "平均スコア",
|
||
"comp_device": "デバイス",
|
||
"comp_hostname": "ホスト名",
|
||
"comp_os": "OS",
|
||
"comp_score_col": "スコア",
|
||
"comp_issues": "問題",
|
||
"comp_last_scan": "最終スキャン",
|
||
"comp_scan": "スキャン",
|
||
"comp_scan_all": "全てスキャン",
|
||
"comp_remediate": "修正",
|
||
"comp_remediate_confirm": "このデバイスで自動修正を実行しますか?",
|
||
"comp_no_data": "コンプライアンスデータなし。スキャンを実行してください。",
|
||
"save": "保存",
|
||
"cancel": "キャンセル",
|
||
"close": "閉じる",
|
||
"edit": "編集",
|
||
"delete": "削除",
|
||
"actions": "アクション",
|
||
"all_orgs": "すべての組織",
|
||
"builder_node_trigger_manual": "Manual Trigger",
|
||
"builder_node_trigger_schedule": "Schedule",
|
||
"builder_node_trigger_event": "Event Trigger",
|
||
"builder_node_cond_os": "OS Check",
|
||
"builder_node_cond_threshold": "Threshold",
|
||
"builder_node_cond_time_window": "Time Window",
|
||
"builder_node_action_script": "Run Script",
|
||
"builder_node_action_install": "Install SW",
|
||
"builder_node_action_restart": "Restart Svc",
|
||
"builder_node_action_file_deploy": "Deploy File",
|
||
"builder_node_action_message": "Send Message",
|
||
"builder_node_result_log": "Log Output",
|
||
"builder_node_result_alert": "Send Alert",
|
||
"builder_node_result_chain": "Chain Workflow",
|
||
"builder_node_transform_parse": "Parse JSON",
|
||
"builder_node_transform_filter": "Filter",
|
||
"builder_node_transform_delay": "Delay",
|
||
"select_org_placeholder": "Select organization…",
|
||
"all_types": "All Types",
|
||
"type_printer": "Printer",
|
||
"type_network_drive": "Network Drive",
|
||
"type_dns": "DNS Server",
|
||
"type_vpn": "VPN",
|
||
"type_proxy": "Proxy",
|
||
"add_resource": "Add Resource",
|
||
"edit_resource": "Edit Resource",
|
||
"col_name": "Name",
|
||
"col_type": "Type",
|
||
"col_target": "Target",
|
||
"col_scope": "Scope",
|
||
"col_status": "Status",
|
||
"col_actions": "Actions",
|
||
"no_resources": "No resources found.",
|
||
"active": "Active",
|
||
"inactive": "Inactive",
|
||
"address": "Address / Path",
|
||
"scope_org": "Organization",
|
||
"scope_group": "Group",
|
||
"scope_device": "Device",
|
||
"scope_value": "Scope Value",
|
||
"scope_value_hint": "Organization, group, or device ID",
|
||
"confirm_delete": "Are you sure you want to delete this item?",
|
||
"all_statuses": "All Statuses",
|
||
"status_pending": "Pending",
|
||
"status_running": "Running",
|
||
"status_success": "Success",
|
||
"status_failed": "Failed",
|
||
"search_tasks": "Search tasks…",
|
||
"create_task": "Create Task",
|
||
"edit_task": "Edit Task",
|
||
"col_task_name": "Task Name",
|
||
"col_task_type": "Type",
|
||
"col_schedule": "Schedule",
|
||
"col_last_run": "Last Run",
|
||
"no_tasks": "No tasks found.",
|
||
"task_type_file_deploy": "File Deploy",
|
||
"task_type_registry": "Registry",
|
||
"target_devices": "Target Devices",
|
||
"target_hint": "Device IDs or group names",
|
||
"schedule_immediate": "Immediate",
|
||
"schedule_once": "Once",
|
||
"schedule_cron": "Cron",
|
||
"cron_placeholder": "*/5 * * * *",
|
||
"script_content": "Script / Command",
|
||
"retry_count": "Retries",
|
||
"timeout_sec": "Timeout (s)",
|
||
"loading": "Loading",
|
||
"no_output": "No output available",
|
||
"error_loading": "Error loading data",
|
||
"select_workflow": "Select workflow…",
|
||
"new_workflow": "New",
|
||
"export": "Export",
|
||
"execute": "Execute",
|
||
"dry_run": "Dry Run",
|
||
"node_triggers": "Triggers",
|
||
"node_manual": "Manual Trigger",
|
||
"node_schedule": "Schedule",
|
||
"node_event": "Event Trigger",
|
||
"node_conditions": "Conditions",
|
||
"node_os_check": "OS Check",
|
||
"node_threshold": "Threshold",
|
||
"node_time_window": "Time Window",
|
||
"node_actions": "Actions",
|
||
"node_run_script": "Run Script",
|
||
"node_install": "Install SW",
|
||
"node_restart": "Restart Svc",
|
||
"node_file_deploy": "Deploy File",
|
||
"node_send_message": "Send Message",
|
||
"node_results": "Results",
|
||
"node_log_output": "Log Output",
|
||
"node_send_alert": "Send Alert",
|
||
"node_chain": "Chain Workflow",
|
||
"node_transforms": "Transforms",
|
||
"node_parse_json": "Parse JSON",
|
||
"node_filter": "Filter",
|
||
"node_delay": "Delay",
|
||
"node_properties": "Properties",
|
||
"all_organizations": "All Organizations",
|
||
"scan_all": "Scan All",
|
||
"compliant": "Compliant",
|
||
"non_compliant": "Warning",
|
||
"critical_issues": "Critical",
|
||
"avg_score": "Avg. Score",
|
||
"col_device": "Device",
|
||
"col_hostname": "Hostname",
|
||
"col_os": "OS",
|
||
"col_score": "Score",
|
||
"col_issues": "Issues",
|
||
"col_last_scan": "Last Scan",
|
||
"no_compliance_data": "No compliance data available.",
|
||
"confirm_remediate": "Run auto-remediation on this device?"
|
||
},
|
||
"scaling": {
|
||
"title": "スケーリングとリレー管理",
|
||
"tab_overview": "概要",
|
||
"tab_relays": "リレーノード",
|
||
"tab_rules": "割り当てルール",
|
||
"tab_capacity": "容量計画",
|
||
"arch_title": "ネットワークアーキテクチャ",
|
||
"arch_loading": "アーキテクチャ図を読み込み中...",
|
||
"stat_relay_nodes": "リレーノード",
|
||
"stat_total_devices": "デバイス合計",
|
||
"stat_active_sessions": "アクティブセッション",
|
||
"stat_bandwidth": "合計帯域幅",
|
||
"relay_health": "リレー状態",
|
||
"no_relays": "リレーノードが設定されていません。負荷分散のために最初のノードを追加してください。",
|
||
"relay_search": "リレーを検索...",
|
||
"relay_add": "リレーノードを追加",
|
||
"relay_edit": "リレーノードを編集",
|
||
"col_name": "名前",
|
||
"col_address": "アドレス",
|
||
"col_location": "場所",
|
||
"col_devices": "デバイス",
|
||
"col_sessions": "セッション",
|
||
"col_bandwidth": "帯域幅",
|
||
"col_status": "ステータス",
|
||
"col_actions": "アクション",
|
||
"col_priority": "優先度",
|
||
"col_rule_name": "ルール名",
|
||
"col_match": "一致",
|
||
"col_target_relay": "ターゲットリレー",
|
||
"col_fallback": "フォールバック",
|
||
"status_online": "オンライン",
|
||
"status_degraded": "劣化",
|
||
"status_offline": "オフライン",
|
||
"status_enabled": "有効",
|
||
"status_disabled": "無効",
|
||
"confirm_delete_relay": "このリレーノードを削除してもよろしいですか?",
|
||
"confirm_delete_rule": "この割り当てルールを削除してもよろしいですか?",
|
||
"rules_hint": "割り当てルールは、特定のデバイスグループをどのリレーサーバーが処理するかを決定します。ルールは優先度順(最低が最初)で評価されます。",
|
||
"rule_add": "ルールを追加",
|
||
"rule_edit": "ルールを編集",
|
||
"rule_match_type": "一致タイプ",
|
||
"match_subnet": "サブネット",
|
||
"match_group": "デバイスグループ",
|
||
"match_tag": "デバイスタグ",
|
||
"match_location": "場所",
|
||
"rule_match_value": "一致値",
|
||
"fallback_master": "マスターサーバー",
|
||
"fallback_nearest": "最寄りのリレー",
|
||
"relay_max_sessions": "最大セッション数",
|
||
"relay_max_bandwidth": "最大帯域幅 (Mbps)",
|
||
"cap_tiers": "容量ティア",
|
||
"cap_loading": "容量データを読み込み中...",
|
||
"cap_recommendations": "推奨事項",
|
||
"cap_no_recs": "推奨事項はありません。",
|
||
"cap_planning": "インフラ計画",
|
||
"cap_config": "設定",
|
||
"cap_max_devices": "最大デバイス数",
|
||
"cap_max_sessions": "最大セッション数",
|
||
"cap_current": "現在",
|
||
"cap_utilization": "利用率",
|
||
"cap_tier_devices": "デバイス容量",
|
||
"cap_tier_sessions": "セッション容量",
|
||
"cap_tier_bandwidth": "帯域幅容量",
|
||
"cap_single_sqlite": "単一サーバー (SQLite)",
|
||
"cap_single_pg": "単一サーバー (PostgreSQL)",
|
||
"cap_master_3": "マスター + 3 リレー",
|
||
"cap_master_10": "マスター + 10 リレー",
|
||
"rec_no_relays": "リレーノードが設定されていません。パフォーマンスと冗長性の向上のためにリレーの追加を検討してください。",
|
||
"rec_devices_high": "デバイス利用率が高いです。リレーノードの追加を検討してください。",
|
||
"rec_sessions_high": "セッション容量が限界に近づいています。インフラのアップグレードを検討してください。",
|
||
"rec_cpu_high": "一部のリレーノードでCPU使用率が高いです。負荷分散を検討してください。",
|
||
"rec_all_good": "すべてのシステムが正常なパラメータ内で動作しています。アクションは不要です。",
|
||
"save": "保存",
|
||
"cancel": "キャンセル",
|
||
"edit": "編集",
|
||
"delete": "削除",
|
||
"close": "閉じる",
|
||
"no_rules": "割り当てルールがありません。"
|
||
},
|
||
"cross_platform": {
|
||
"title": "クロスプラットフォーム互換性",
|
||
"tab_matrix": "互換性マトリックス",
|
||
"tab_distribution": "分布",
|
||
"tab_protocols": "プロトコル",
|
||
"tab_limitations": "制限事項",
|
||
"matrix_hint": "すべてのサポートプラットフォームの機能サポートマトリックス。緑=完全サポート、黄=部分的、灰=利用不可、青=計画中。",
|
||
"col_feature": "機能",
|
||
"legend_full": "完全サポート",
|
||
"legend_partial": "部分的サポート",
|
||
"legend_none": "利用不可",
|
||
"legend_planned": "計画中",
|
||
"platform_breakdown": "プラットフォーム分布",
|
||
"arch_breakdown": "アーキテクチャ分布",
|
||
"version_breakdown": "バージョン分布",
|
||
"summary": "概要",
|
||
"total_devices": "デバイス合計",
|
||
"unique_platforms": "プラットフォーム",
|
||
"unique_archs": "アーキテクチャ",
|
||
"unique_versions": "クライアントバージョン",
|
||
"no_devices": "まだデバイスが登録されていません。",
|
||
"protocols_hint": "プロトコル機能ネゴシエーションにより、各クライアントはサポートされている機能のみを受信します。サーバーは報告された機能に基づいて動作を適応させます。",
|
||
"capability_negotiation": "機能ネゴシエーション",
|
||
"codec_support": "コーデックサポート(オンラインデバイス)",
|
||
"feature_support": "機能サポート(オンラインデバイス)",
|
||
"no_codec_data": "オンラインデバイスからのコーデックデータなし。",
|
||
"no_feature_data": "オンラインデバイスからの機能データなし。",
|
||
"protobuf_schema": "ClientCapabilities Protobufスキーマ",
|
||
"diagram_client": "クライアント",
|
||
"diagram_server": "BetterDeskサーバー",
|
||
"diagram_peer": "リモートピア",
|
||
"limitations_hint": "各プラットフォームには利用可能な機能に影響する特定の制限があります。デプロイ計画時に確認してください。",
|
||
"feat_desktop_client": "デスクトップクライアント",
|
||
"feat_background_agent": "バックグラウンドエージェント",
|
||
"feat_remote_target": "リモートターゲット",
|
||
"feat_screen_capture": "スクリーンキャプチャ",
|
||
"feat_input_injection": "入力インジェクション",
|
||
"feat_file_transfer": "ファイル転送",
|
||
"feat_clipboard_sync": "クリップボード同期",
|
||
"feat_audio_streaming": "オーディオストリーミング",
|
||
"feat_chat": "チャット",
|
||
"feat_h264": "H.264コーデック",
|
||
"feat_vp9": "VP9コーデック",
|
||
"feat_av1": "AV1コーデック",
|
||
"feat_cdap_agent": "CDAPエージェント",
|
||
"platform_windows": "Windows",
|
||
"platform_linux": "Linux",
|
||
"platform_macos": "macOS",
|
||
"platform_android": "Android",
|
||
"platform_ios": "iOS",
|
||
"platform_web": "ウェブブラウザ",
|
||
"platform_chromeos": "ChromeOS",
|
||
"status_production": "本番",
|
||
"status_testing": "テスト",
|
||
"status_planned": "計画中",
|
||
"status_limited": "制限付き",
|
||
"status_experimental": "実験的",
|
||
"limit_win_uac": "サービスインストールとセキュアデスクトップでの入力インジェクションにUAC昇格が必要です。",
|
||
"limit_win_service": "NSSMサービスとして実行されます。インストールには管理者権限が必要です。",
|
||
"limit_win_firewall": "Windowsファイアウォールルールでポート21115-21119をリレー接続用に許可する必要があります。",
|
||
"limit_linux_wayland": "Waylandコンポジタはプログラムによるスクリーンキャプチャを制限します。PipeWireポータルAPIが必要です。",
|
||
"limit_linux_pipewire": "オーディオキャプチャにPipeWireが必要です。PulseAudioフォールバックは利用可能ですが制限があります。",
|
||
"limit_linux_arm": "ARM64ビルド利用可能。一部のコーデックはソフトウェアデコードを使用する場合があります(低速)。",
|
||
"limit_mac_screen": "システム設定 > プライバシーとセキュリティで画面収録の許可が必要です。",
|
||
"limit_mac_signing": "配布にはApple Developer IDでの署名が必要です。",
|
||
"limit_mac_notarize": "macOS Gatekeeper用に公証が必要です(App Store外配布)。",
|
||
"limit_android_projection": "MediaProjection APIは各キャプチャセッションでユーザーの同意が必要です。",
|
||
"limit_android_accessibility": "入力インジェクションにAccessibilityServiceが必要です。Android 14+から制限されています。",
|
||
"limit_android_battery": "バックグラウンドサービスはDozeモードで制限されます。バッテリー最適化の除外が必要な場合があります。",
|
||
"limit_ios_capture": "Appleはバックグラウンドでのスクリーンキャプチャを禁止しています。ビューアーモードのみサポートされています。",
|
||
"limit_ios_input": "入力インジェクションは許可されていません。リモート表示とチャットのみ。",
|
||
"limit_ios_appstore": "App Store経由のみの配布。ベータテストにTestFlight。",
|
||
"limit_web_https": "WebCodecs APIとWebRTCはHTTPSが必要です。HTTPはJMuxerにフォールバックします(コーデック制限)。",
|
||
"limit_web_codec": "コーデックサポートはブラウザに依存。H.264は広くサポートされ、VP9/AV1はブラウザにより異なります。",
|
||
"limit_web_performance": "ブラウザサンドボックスによるパフォーマンス制限。直接ハードウェアアクセラレーションなし。",
|
||
"limit_chrome_crostini": "フルエージェントサポートはCrostini Linuxコンテナ内のみ。",
|
||
"limit_chrome_pwa": "PWAモードはウェブ機能のみ提供。ネイティブエージェント機能なし。",
|
||
"limit_chrome_input": "Crostiniコンテナ外での入力インジェクションはサポートされていません。"
|
||
},
|
||
"security_audit": {
|
||
"title": "Security Audit",
|
||
"tab_overview": "概要",
|
||
"tab_events": "監査イベント",
|
||
"tab_hardening": "ハーデニング",
|
||
"tab_vulnerabilities": "脆弱性",
|
||
"security_score": "セキュリティスコア",
|
||
"failed_logins": "ログイン失敗(24h)",
|
||
"active_bans": "アクティブバン",
|
||
"api_keys": "APIキー",
|
||
"old_keys": "古いキー(>90日)",
|
||
"security_checks": "セキュリティチェック",
|
||
"tls_status": "TLSステータス",
|
||
"pass": "合格",
|
||
"warning": "警告",
|
||
"fail": "失敗",
|
||
"tls_signal": "Signal TLS",
|
||
"tls_relay": "Relay TLS",
|
||
"tls_api": "API TLS",
|
||
"tls_wss": "WebSocket Secure",
|
||
"enabled": "有効",
|
||
"disabled": "無効",
|
||
"all_events": "全イベント",
|
||
"event_login_failed": "ログイン失敗",
|
||
"event_login_success": "ログイン成功",
|
||
"event_peer_banned": "デバイスバン",
|
||
"event_ip_banned": "IPバン",
|
||
"event_config_changed": "設定変更",
|
||
"event_key_created": "キー作成",
|
||
"refresh": "更新",
|
||
"col_time": "時刻",
|
||
"col_action": "アクション",
|
||
"col_actor": "アクター",
|
||
"col_target": "ターゲット",
|
||
"col_ip": "IPアドレス",
|
||
"col_details": "詳細",
|
||
"no_events": "監査イベントが見つかりません。",
|
||
"hardening_hint": "BetterDeskデプロイのセキュリティハーデニング優先事項。重大度順。",
|
||
"no_hardening": "ハーデニング項目なし。",
|
||
"vuln_hint": "依存関係脆弱性スキャン結果。定期的にnpm auditを実行してください。",
|
||
"no_vulns": "脆弱性は見つかりませんでした。依存関係は安全です。"
|
||
},
|
||
"languages": {
|
||
"title": "Language Management",
|
||
"total_languages": "Total Languages",
|
||
"fully_translated": "Fully Translated",
|
||
"needs_review": "Needs Review",
|
||
"reference_keys": "Reference Keys",
|
||
"no_languages": "No language files found.",
|
||
"badge_reference": "Reference",
|
||
"badge_review": "Needs Review",
|
||
"badge_complete": "Complete",
|
||
"coverage": "coverage",
|
||
"keys": "keys",
|
||
"missing": "missing",
|
||
"extra": "extra",
|
||
"view_missing": "View Missing",
|
||
"fix_missing": "Fix Missing",
|
||
"missing_keys_for": "Missing keys for",
|
||
"missing_keys_count": "keys missing (English fallback values shown)",
|
||
"and_more": "and {n} more...",
|
||
"all_keys_present": "All keys are present!",
|
||
"confirm_fix": "Add missing keys to {code} with English fallback values?",
|
||
"fixed_title": "Keys Fixed",
|
||
"fixed_msg": "Added {n} missing keys to {code} with English fallback.",
|
||
"no_fix_needed": "No missing keys to fix."
|
||
},
|
||
"resource_control": {
|
||
"title": "Resource Control",
|
||
"tab_overview": "Overview",
|
||
"tab_usb": "USB Control",
|
||
"tab_optical": "Optical Drives",
|
||
"tab_monitors": "Monitors",
|
||
"tab_disks": "Disk Access",
|
||
"tab_quotas": "Resource Quotas",
|
||
"compliance_by_category": "Compliance by Category",
|
||
"device_compliance": "Device Compliance",
|
||
"search_devices": "Search devices...",
|
||
"col_device": "Device",
|
||
"col_platform": "Platform",
|
||
"col_status": "Status",
|
||
"col_usb": "USB",
|
||
"col_optical": "Optical",
|
||
"col_monitors": "Monitors",
|
||
"col_disks": "Disks",
|
||
"col_quotas": "Quotas",
|
||
"col_actions": "Actions",
|
||
"stat_total_devices": "Total Devices",
|
||
"stat_compliant": "Compliant",
|
||
"stat_partial": "Partial",
|
||
"stat_noncompliant": "Non-Compliant",
|
||
"stat_compliance_rate": "Compliance Rate",
|
||
"badge_na": "N/A",
|
||
"badge_compliant": "OK",
|
||
"badge_partial": "Partial",
|
||
"badge_noncompliant": "Fail",
|
||
"btn_configure": "Configure",
|
||
"no_devices": "No devices found",
|
||
"usb_title": "USB Port Control",
|
||
"usb_hint": "Control USB storage device access for the selected device or organization-wide default policy.",
|
||
"usb_storage_policy": "USB Storage Policy",
|
||
"usb_whitelist": "Whitelisted Devices (one per line)",
|
||
"usb_whitelist_hint": "VID:PID (e.g. 0781:5583)",
|
||
"usb_audit_log": "Log USB device connections",
|
||
"optical_title": "Optical Drive Control",
|
||
"optical_hint": "Control CD/DVD/Blu-ray drive access for the selected device.",
|
||
"optical_policy": "Optical Drive Policy",
|
||
"optical_audit_log": "Log optical drive access",
|
||
"monitors_title": "Monitor Management",
|
||
"monitors_hint": "Configure monitor settings including maximum count, resolution enforcement, brightness and power schedules.",
|
||
"monitors_max_count": "Maximum Monitors (0 = unlimited)",
|
||
"monitors_max_hint": "0 means no limit",
|
||
"monitors_resolution": "Max Resolution",
|
||
"monitors_brightness": "Brightness Limit",
|
||
"monitors_power_schedule": "Power Schedule",
|
||
"monitors_power_hint": "e.g. off:22:00-06:00",
|
||
"disks_title": "Disk Access Control",
|
||
"disks_hint": "Configure disk access policies including read-only mode, encryption enforcement, and partition visibility.",
|
||
"disks_readonly": "Force read-only mode",
|
||
"disks_encryption": "Require encryption (BitLocker/LUKS)",
|
||
"disks_smart": "Enable S.M.A.R.T. monitoring",
|
||
"disks_hidden": "Hidden Partitions",
|
||
"disks_hidden_hint": "Comma-separated drive letters or mount points",
|
||
"quotas_title": "Resource Quotas",
|
||
"quotas_hint": "Set per-user CPU, RAM, bandwidth, and disk quotas for the selected device.",
|
||
"quotas_cpu": "CPU Limit",
|
||
"quotas_ram": "RAM Limit",
|
||
"quotas_bandwidth": "Bandwidth Limit (Mbps)",
|
||
"quotas_bandwidth_hint": "0 = unlimited",
|
||
"quotas_disk_quota": "Disk Quota (GB)",
|
||
"quotas_disk_hint": "0 = unlimited",
|
||
"quotas_process_whitelist": "Process Whitelist (one per line)",
|
||
"quotas_process_hint": "e.g. chrome.exe, code.exe",
|
||
"policy_allowed": "Allowed",
|
||
"policy_blocked": "Blocked",
|
||
"policy_whitelist": "Whitelist Only",
|
||
"policy_any": "Any"
|
||
},
|
||
"sdk_studio": {
|
||
"title": "SDK Studio",
|
||
"subtitle": "Visual flow editor for CDAP bridges",
|
||
"new_flow": "New Flow",
|
||
"open_flow": "Open Flow",
|
||
"save_flow": "Save Flow",
|
||
"run_flow": "Run",
|
||
"debug": "Debug",
|
||
"deploy": "Deploy",
|
||
"undo": "Undo",
|
||
"redo": "Redo",
|
||
"untitled": "Untitled Flow",
|
||
"code_mode": "Code Mode",
|
||
"toggle_grid": "Toggle Grid",
|
||
"zoom_in": "Zoom In",
|
||
"zoom_out": "Zoom Out",
|
||
"zoom_fit": "Fit to Screen",
|
||
"palette": "Node Palette",
|
||
"search_nodes": "Search nodes...",
|
||
"cat_sources": "Sources",
|
||
"cat_processing": "Processing",
|
||
"cat_outputs": "Outputs",
|
||
"empty_title": "Start Building",
|
||
"empty_desc": "Drag nodes from the palette to start building a flow",
|
||
"browse_templates": "Browse Templates",
|
||
"inspector": "Inspector",
|
||
"select_node": "Select a node to inspect its properties",
|
||
"console": "Console",
|
||
"clear_console": "Clear",
|
||
"console_ready": "Studio ready",
|
||
"label": "Label",
|
||
"configuration": "Configuration",
|
||
"connections": "Connections",
|
||
"inputs": "Inputs",
|
||
"outputs": "Outputs",
|
||
"delete_node": "Delete Node",
|
||
"nodes": "Nodes",
|
||
"wires": "Wires",
|
||
"status_ready": "Ready",
|
||
"status_deployed": "Deployed",
|
||
"flow_name": "Flow Name",
|
||
"flow_desc": "Description",
|
||
"loading": "Loading...",
|
||
"no_flows": "No saved flows yet",
|
||
"confirm_delete": "Are you sure you want to delete this flow?",
|
||
"templates": "Templates",
|
||
"node_modbus_tcp": "Modbus TCP",
|
||
"node_modbus_rtu": "Modbus RTU",
|
||
"node_snmp_poll": "SNMP Poll",
|
||
"node_rest_poll": "REST Poll",
|
||
"node_mqtt_subscribe": "MQTT Subscribe",
|
||
"node_webhook": "Webhook",
|
||
"node_device_telemetry": "Device Telemetry",
|
||
"node_database_query": "Database Query",
|
||
"node_file_watch": "File Watch",
|
||
"node_filter": "Filter",
|
||
"node_transform": "Transform",
|
||
"node_aggregate": "Aggregate",
|
||
"node_delay": "Delay",
|
||
"node_debounce": "Debounce",
|
||
"node_switch": "Switch",
|
||
"node_merge": "Merge",
|
||
"node_script": "Script",
|
||
"node_widget_update": "Widget Update",
|
||
"node_alert": "Alert",
|
||
"node_command": "Command",
|
||
"node_log": "Log",
|
||
"node_rest_call": "REST Call",
|
||
"node_mqtt_publish": "MQTT Publish",
|
||
"node_database_write": "Database Write",
|
||
"node_email": "Email",
|
||
"node_modbus_write": "Modbus Write",
|
||
"import_flow": "Import Flow"
|
||
},
|
||
"updates": {
|
||
"tab_title": "Updates",
|
||
"title": "Software Updates",
|
||
"desc": "Check for new versions and update the BetterDesk console from GitHub",
|
||
"current_version": "Installed version",
|
||
"latest_version": "Latest version",
|
||
"status": "Status",
|
||
"check_now": "Check for updates",
|
||
"checking": "Checking…",
|
||
"up_to_date": "Up to date",
|
||
"update_available": "Update available",
|
||
"changelog": "Release Notes",
|
||
"no_changelog": "No release notes available",
|
||
"files_changed": "Files changed",
|
||
"files": "files",
|
||
"changes_unavailable": "Could not load file change list. You can still install the update.",
|
||
"create_backup": "Create backup before updating",
|
||
"install": "Install Update",
|
||
"install_confirm": "Are you sure you want to install this update? The console will restart after the update.",
|
||
"installing": "Installing update…",
|
||
"creating_backup": "Creating backup…",
|
||
"downloading": "Downloading files…",
|
||
"install_success": "Update installed successfully. Console is restarting…",
|
||
"install_failed": "Update installation failed",
|
||
"restarting": "Waiting for console to restart…",
|
||
"restart_complete": "Console restarted successfully",
|
||
"restart_timeout": "Console did not restart in time. Please check manually.",
|
||
"no_version": "No update version selected. Check for updates first.",
|
||
"backups_title": "Update Backups",
|
||
"backups_desc": "Pre-update backups created automatically before each update",
|
||
"no_backups": "No update backups found",
|
||
"restore": "Restore",
|
||
"restore_confirm": "Are you sure you want to restore from this backup? Changed files will be overwritten.",
|
||
"restore_success": "Backup restored successfully. Console is restarting…",
|
||
"baseline_set": "Baseline set",
|
||
"commits_behind": "commits behind",
|
||
"total_files": "Total files",
|
||
"applied": "Applied",
|
||
"failed": "Failed",
|
||
"skipped": "Skipped",
|
||
"removed": "Removed",
|
||
"auto": "Auto",
|
||
"manual": "Manual",
|
||
"component_console": "Web Console",
|
||
"component_server": "Go Server",
|
||
"component_agent": "Agent",
|
||
"component_scripts": "Scripts & Docker",
|
||
"component_other": "Other",
|
||
"server_rebuild_warning": "Go Server source changed — binary rebuild required. Use the ALL-IN-ONE script or compile manually."
|
||
},
|
||
"permissions": {
|
||
"title": "Permissions",
|
||
"subtitle": "Manage role-based permissions and custom overrides",
|
||
"info_title": "How permissions work",
|
||
"info_desc": "Each role has default permissions. You can add or remove individual permissions per role by toggling them below. Custom overrides are highlighted and can be reverted to defaults at any time.",
|
||
"select_role": "Select role",
|
||
"select_role_placeholder": "Choose a role...",
|
||
"reset_overrides": "Reset all overrides",
|
||
"granted": "Granted",
|
||
"overrides": "Overrides",
|
||
"level": "Level",
|
||
"super_admin_tag": "Full access",
|
||
"server_level_tag": "Server-level",
|
||
"custom": "Custom",
|
||
"default": "Default",
|
||
"revert": "Revert to default",
|
||
"saved": "Permission updated",
|
||
"reverted": "Reverted to default",
|
||
"all_reverted": "All overrides reverted",
|
||
"confirm_reset": "Reset all custom overrides for this role to defaults?",
|
||
"empty_title": "Select a role",
|
||
"empty_desc": "Choose a role from the dropdown above to view and manage its permissions.",
|
||
"locked_title": "Super Admin",
|
||
"locked_desc": "Super Admin has all permissions by default and cannot be customized.",
|
||
"cat_device": "Devices",
|
||
"cat_user": "Users",
|
||
"cat_server": "Server",
|
||
"cat_org": "Organizations",
|
||
"cat_audit": "Audit & Monitoring",
|
||
"cat_cdap": "CDAP",
|
||
"cat_enrollment": "Enrollment",
|
||
"cat_chat": "Chat",
|
||
"cat_branding": "Branding",
|
||
"perm_device_view": "View devices",
|
||
"perm_device_connect": "Connect to devices",
|
||
"perm_device_edit": "Edit devices",
|
||
"perm_device_delete": "Delete devices",
|
||
"perm_device_ban": "Ban / unban devices",
|
||
"perm_device_change_id": "Change device ID",
|
||
"perm_user_view": "View users",
|
||
"perm_user_create": "Create users",
|
||
"perm_user_edit": "Edit users",
|
||
"perm_user_delete": "Delete users",
|
||
"perm_server_config": "Server configuration",
|
||
"perm_server_keys": "Manage API keys",
|
||
"perm_org_create": "Create organizations",
|
||
"perm_org_edit": "Edit organizations",
|
||
"perm_org_delete": "Delete organizations",
|
||
"perm_org_manage_users": "Manage organization users",
|
||
"perm_org_manage_devices": "Manage organization devices",
|
||
"perm_audit_view": "View audit logs",
|
||
"perm_metrics_view": "View metrics",
|
||
"perm_blocklist_edit": "Edit blocklist",
|
||
"perm_cdap_view": "View CDAP devices",
|
||
"perm_cdap_command": "Send CDAP commands",
|
||
"perm_cdap_terminal": "CDAP terminal access",
|
||
"perm_cdap_files": "CDAP file access",
|
||
"perm_enrollment_manage": "Manage enrollment",
|
||
"perm_enrollment_approve": "Approve enrollment",
|
||
"perm_chat_access": "Chat access",
|
||
"perm_branding_edit": "Edit branding"
|
||
}
|
||
}
|