Files
BetterDesk/web-nodejs/lang/vi.json
T
UNITRONIX 9d8354188a fix(auth): improve LDAP UX and SQLite password backfill (Refs #260)
Copy panel password hashes into missing Go users on SQLite dual-DB so RustDesk client login matches the console; clarify LDAP sub-tab discoverability and provider-bound hints.
2026-07-20 23:44:58 +02:00

4336 lines
245 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"_meta": {
"name": "Vietnamese",
"native_name": "Tiếng Việt",
"flag": "🇻🇳",
"needs_review": true
},
"meta": {
"lang": "en",
"name": "English",
"native_name": "English",
"direction": "ltr"
},
"common": {
"loading": "Đang tải...",
"confirm": "Xác nhận",
"alert": "Alert",
"prompt": "Nhập giá trị",
"copied": "Đã sao chép vào bảng nhớ tạm",
"save": "Lưu",
"saved": "Đã lưu",
"error": "Error",
"success": "Success",
"warning": "Warning",
"info": "Information",
"all": "All",
"cancel": "Hủy bỏ",
"delete": "Xóa",
"actions": "Actions",
"close": "Đóng",
"required": "bắt buộc",
"name_required": "Tên là bắt buộc",
"active": "Active",
"inactive": "Inactive",
"invalid_json": "JSON không hợp lệ",
"field_required": "{field} là bắt buộc",
"back": "Quay lại",
"edit": "Chỉnh sửa",
"yes": "Có",
"no": "Không"
},
"nav": {
"main": "Main",
"tools": "Tools",
"system": "System",
"dashboard": "Trang tổng quan",
"devices": "Thiết bị",
"keys": "Keys",
"generator": "Generator",
"settings": "Cài đặt",
"users": "Users",
"inventory": "Inventory",
"tickets": "Tickets",
"help_requests": "Yêu cầu trợ giúp",
"activity": "Activity",
"automation": "Tự động hóa",
"file_transfer": "Truyền tệp",
"network": "Network",
"dataguard": "DataGuard",
"reports": "Reports",
"tenants": "Tenants",
"registrations": "Registrations",
"management": "Quản lý",
"toggle_sidebar": "Chuyển đổi thanh bên",
"cdap": "Thiết bị CDAP",
"fleet": "Fleet",
"scaling": "Scaling",
"cross_platform": "Cross-Platform",
"tokens": "Mã thông báo thiết bị",
"organizations": "Tổ chức",
"policies": "Chính sách",
"attestation": "Attestation",
"remote": "Máy tính để bàn từ xa",
"toolkit": "Toolkit",
"security_audit": "Kiểm tra an ninh",
"languages": "Languages",
"resource_control": "Kiểm soát tài nguyên",
"chat": "Chat",
"help": "Help",
"expand_sidebar": "Mở rộng thanh bên",
"toggle_theme": "Chuyển đổi chủ đề",
"sdk_studio": "SDK Studio",
"login": "Login",
"permissions": "Quyền",
"server_management": "Quản lý máy chủ",
"server_attestation": "Chứng nhận máy chủ",
"commercialization": "Thương mại hóa",
"remote_open_tab": "Mở client máy tính để bàn từ xa trong tab mới"
},
"auth": {
"login": "Login",
"logout": "Logout",
"login_title": "Sign In",
"login_subtitle": "Đăng nhập vào Bảng điều khiển BetterDesk",
"username": "Tên người dùng",
"username_placeholder": "Nhập tên người dùng",
"password": "Mật khẩu",
"password_placeholder": "Nhập mật khẩu",
"remember_me": "Remember me",
"login_failed": "Đăng nhập không thành công. Vui lòng kiểm tra thông tin đăng nhập của bạn.",
"invalid_credentials": "Tên người dùng hoặc mật khẩu không hợp lệ.",
"username_collision": "Đã tồn tại tài khoản cục bộ với tên người dùng này. Đăng nhập bằng mật khẩu cục bộ hoặc yêu cầu quản trị viên đổi tên hoặc xóa tài khoản xung đột.",
"fill_all_fields": "Vui lòng điền vào tất cả các trường",
"logout_confirm": "Bạn có chắc chắn muốn đăng xuất không?",
"change_password": "Thay đổi mật khẩu",
"password_required": "Cần có mật khẩu",
"totp_title": "Xác thực hai yếu tố",
"totp_subtitle": "Nhập mã gồm 6 chữ số từ ứng dụng xác thực của bạn",
"totp_code": "Verification Code",
"totp_verify": "Verify",
"totp_use_recovery": "Thay vào đó hãy sử dụng mã khôi phục",
"totp_use_code": "Thay vào đó hãy sử dụng mã xác thực",
"totp_recovery_code": "Mã khôi phục",
"totp_back_to_login": "Quay lại để đăng nhập",
"totp_invalid_code": "Mã xác minh không hợp lệ. Vui lòng thử lại.",
"totp_enter_code": "Vui lòng nhập mã gồm 6 chữ số",
"totp_enter_recovery": "Vui lòng nhập mã khôi phục",
"totp_session_expired": "Phiên đã hết hạn. Vui lòng đăng nhập lại.",
"totp_already_enabled": "Xác thực hai yếu tố đã được bật",
"pro_only_account": "Tài khoản này chỉ dành cho máy khách để bàn RustDesk. Vui lòng sử dụng ứng dụng RustDesk để đăng nhập.",
"passwords_mismatch": "Mật khẩu không khớp",
"or": "hoặc",
"login_sso": "Đăng nhập bằng SSO",
"login_sso_with": "Đăng nhập bằng {{provider}}",
"oidc_denied": "Quyền truy cập đã bị nhà cung cấp danh tính từ chối.",
"oidc_invalid": "Lệnh gọi lại OIDC không hợp lệ. Vui lòng thử lại.",
"oidc_failed": "Xác thực OIDC không thành công. Vui lòng thử lại.",
"oidc_error": "Đã xảy ra lỗi trong quá trình đăng nhập SSO.",
"oidc_no_account": "Không tìm thấy tài khoản của bạn và tính năng đăng ký tự động bị tắt.",
"totp_rate_limited": "Quá nhiều nỗ lực. Vui lòng thử li sau.",
"emergency_mode_banner": "Go server không thể truy cập được - đang chạy ở chế độ khẩn cấp (chỉ dành cho quản trị viên, chức năng hạn chế)"
},
"dashboard": {
"title": "Trang tổng quan",
"subtitle": "Overview of your RustDesk server",
"total_devices": "Tổng số thiết bị",
"online_now": "Online Now",
"banned": "Banned",
"active_connections": "Kết nối đang hoạt động",
"offline_devices": "Offline",
"server_status": "Trạng thái máy chủ",
"quick_actions": "Thao tác nhanh",
"manage_devices": "Quản lý các thiết bị được kết nối",
"view_keys": "Xem khóa máy chủ",
"generate_config": "Tạo cấu hình máy khách",
"server_settings": "Định cấu hình cài đặt",
"greeting_morning": "Chào buổi sáng, {name}",
"greeting_afternoon": "Chào buổi chiều, {name}",
"greeting_evening": "Chào buổi tối, {name}",
"greeting_night": "Chúc ngủ ngon, {name}",
"health_overview": "Tổng quan về sức khỏe",
"devices_online": "Thiết bị trực tuyến",
"active_alerts": "Cảnh báo hoạt động",
"recent_connections": "Tổng số thiết bị",
"server_uptime": "Thời gian hoạt động của máy chủ",
"activity_feed": "Hoạt động gần đây",
"no_recent_activity": "Không có hoạt động gần đây",
"just_now": "just now",
"ago": "ago",
"tip_desktop_mode": "Hãy thử Chế độ máy tính để bàn để có không gian làm việc nhiều cửa sổ với các tiện ích giám sát.",
"tip_keyboard_shortcuts": "Nhấn Ctrl+K ở bất cứ đâu để mở bảng lệnh tìm kiếm nhanh.",
"tip_address_book": "Đồng bộ hóa sổ địa chỉ của bạn trên các thiết bị bằng cách đăng nhập từ ứng dụng khách RustDesk.",
"tip_2fa": "Bật Xác thực hai yếu tố trong Cài đặt để bảo mật tài khoản hơn.",
"tip_bulk_actions": "Chọn nhiều thiết bị và sử dụng các hành động hàng loạt để quản lý chúng cùng một lúc.",
"tip_theme": "Chuyển đổi giữa các chủ đề Tối và Sáng trong cài đặt thanh bên.",
"tip_cdap": "Kết nối các thiết bị IoT và cảm biến công nghiệp thông qua cổng CDAP.",
"tip_tutorials": "Nhấp vào nút trợ giúp ở góc dưới bên phải để xem hướng dẫn tương tác.",
"client_config_eyebrow": "Thiết lập máy khách",
"client_config_title": "Cấu hình máy khách RustDesk",
"client_config_subtitle": "Dùng các giá trị này trong RustDesk để kết nối máy khách với máy chủ BetterDesk này.",
"copy_all_config": "Sao chép tất cả",
"show_config_qr": "Hiển thị QR",
"config_server_id": "Máy chủ ID",
"config_relay_server": "Máy chủ relay",
"config_api_server": "Máy chủ API",
"config_key": "Khóa",
"client_config_hint": "Nhập các giá trị này trong cài đặt mạng RustDesk, tại phần máy chủ ID/relay.",
"open_generator": "Trình tạo máy khách",
"open_keys": "Mở khóa",
"open_remote": "Mở bảng điều khiển máy tính từ xa",
"attention_panel": "Cần chú ý",
"system_ready": "Hệ thống sẵn sàng",
"system_attention": "Cần chú ý",
"config_not_ready": "Cấu hình máy khách chưa sẵn sàng.",
"client_config_qr_title": "QR cấu hình RustDesk",
"client_config_qr_hint": "Quét mã này bằng máy khách RustDesk hỗ trợ mã QR cấu hình.",
"client_server_host_label": "Địa chỉ máy chủ cho client",
"client_server_host_placeholder": "vd. 203.0.113.10 hoặc desk.example.com",
"client_server_host_hint": "Địa chỉ client RustDesk dùng để kết nối máy chủ. Đổi khi URL bảng điều khiển khác IP/DNS client. Tên miền tách: Cài đặt → Điểm cuối client công khai.",
"apply_client_host": "Áp dụng",
"copy_deploy_string": "Sao chép chuỗi triển khai",
"show_intune_script": "Script Intune / PSADT",
"intune_script_title": "Đoạn triển khai Windows",
"intune_script_hint": "Chạy với quyền quản trị sau khi MSI RustDesk hoàn tất. Dùng cùng chuỗi config như Sao chép chuỗi triển khai.",
"deploy_string_not_ready": "Chuỗi triển khai chưa sẵn sàng cho đến khi tải khóa công khai của máy chủ.",
"client_server_host_env_hint": "ID, relay và API công khai được cấu hình tại Cài đặt → Điểm cuối client công khai. Xóa ở đó để dùng lại trường này."
},
"devices": {
"title": "Thiết bị",
"id": "ID",
"hostname": "Hostname",
"username": "Tên người dùng",
"platform": "Platform",
"version": "Version",
"ip_address": "IP Address",
"note": "Note",
"last_seen": "Last Seen",
"last_online": "Last Online",
"first_seen": "First Seen",
"created": "Đã tạo",
"status": "Status",
"ban_reason": "Ban Reason",
"actions": "Actions",
"search_placeholder": "Tìm kiếm thiết bị...",
"filter_all": "All",
"filter_online": "Online",
"filter_offline": "Offline",
"filter_banned": "Banned",
"selected": "selected",
"showing": "Showing",
"of": "of",
"sync_status": "Trạng thái đồng bộ hóa",
"sync_success": "Đã đồng bộ hóa trạng thái thành công",
"empty_title": "Không tìm thấy thiết bị nào",
"empty_text": "Không có thiết bị nào phù hợp với bộ lọc hiện tại của bạn",
"edit_title": "Chi tiết thiết bị",
"delete_title": "Xóa thiết bị",
"delete_confirm": "Bạn có chắc chắn muốn xóa thiết bị {id} không?",
"delete_reserved_hint": "Thiết bị sẽ bị ẩn và ID của nó vẫn được giữ lại. Chọn xóa vĩnh viễn để giải phóng ID cho việc sử dụng lại.",
"delete_warning": "Bạn sắp xóa vĩnh viễn thiết bị này:",
"delete_permanent": "Không thể hoàn tác hành động này. Tất cả dữ liệu liên quan đến thiết bị này sẽ bị xóa vĩnh viễn khỏi cơ sở dữ liệu.",
"delete_success": "Đã xóa thiết bị thành công",
"revoke_option": "Thu hồi thiết bị",
"revoke_hint": "Chặn ID thiết bị và ngắt kết nối đang hoạt động",
"revoke_success": "Đã thu hồi thiết bị thành công",
"details": "Chi tiết thiết bị",
"ban_title": "Cấm thiết bị",
"ban_confirm": "Bạn có chắc chắn muốn cấm thiết bị {id} không?",
"ban_success": "Thiết bị đã bị cấm thành công",
"unban_title": "Bỏ cấm thiết bị",
"unban_confirm": "Bạn có chắc chắn muốn bỏ cấm thiết bị {id} không?",
"unban_success": "Đã mở khóa thiết bị thành công",
"change_id": "Change ID",
"change_id_title": "Thay đổi ID thiết bị",
"new_id": "New ID",
"change_id_hint": "Chỉ 6-16 ký tự, chữ cái, số, dấu gạch ngang và dấu gạch dưới",
"change_id_online_warn": "Thiết bị đang trực tuyến. Nên đổi ID trong client RustDesk. Thay đổi trên panel giữ nguyên danh tính, nhưng client phải áp dụng ID mới.",
"change_id_success": "ID thiết bị đã được thay đổi thành công",
"id_length_error": "ID phải dài 6-16 ký tự",
"id_format_error": "ID chỉ có thể chứa chữ cái, số, dấu gạch ngang và dấu gạch dưới",
"bulk_delete_title": "Xóa nhiều thiết bị",
"bulk_delete_confirm": "Bạn có chắc chắn muốn xóa thiết bị {count} không?",
"bulk_delete_success": "Thiết bị {count} đã được xóa thành công",
"columns": "Columns",
"toggle_columns": "Chuyển đổi các cột hiển thị",
"not_found": "Không tìm thấy thiết bị",
"delete_failed": "Không xóa được thiết bị",
"change_id_failed": "Không thể thay đổi ID thiết bị",
"invalid_id": "ID thiết bị không hợp lệ (yêu cầu 6-16 ký tự)",
"invalid_id_format": "Định dạng ID không hợp lệ (chỉ chữ cái, số, dấu gạch ngang, dấu gạch dưới)",
"id_exists": "ID thiết bị đã tồn tại",
"id_reserved_deleted": "ID này thuộc về thiết bị đã xóa. Khôi phục hoặc xóa vĩnh viễn để giải phóng ID cho việc sử dụng lại.",
"show_deleted": "Hiển thị thiết bị đã xóa",
"deleted_badge": "Đã xóa",
"restore_title": "Khôi phục thiết bị",
"restore_confirm": "Khôi phục thiết bị {id}? Thiết bị sẽ hiển thị lại và có thể kết nối với cùng danh tính.",
"restore_success": "Khôi phục thiết bị thành công",
"restore_action": "Khôi phục",
"permanent_delete_title": "Xóa vĩnh viễn thiết bị",
"permanent_delete_confirm": "Xóa vĩnh viễn thiết bị {id}? ID sẽ được giải phóng và không thể hoàn tác.",
"permanent_delete_success": "Đã xóa vĩnh viễn thiết bị",
"filter_deleted": "Đã xóa",
"no_selection": "Không có thiết bị nào được chọn",
"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": "Chính sách truy cập",
"unattended_access": "Truy cập không cần giám sát",
"enable_unattended": "Cho phép truy cập không giám sát",
"access_password": "Mật khẩu truy cập",
"password_configured": "Đã đặt mật khẩu",
"no_password": "Không có mật khẩu",
"new_password": "Mật khẩu mới (để trống để giữ mật khẩu hiện tại)",
"clear_password": "Xóa mật khẩu",
"access_schedule": "Lịch truy cập",
"enable_schedule": "Cho phép truy cập dựa trên thời gian",
"allowed_days": "Ngày được phép",
"start_time": "Start time",
"end_time": "End time",
"timezone": "Timezone",
"allowed_operators": "Người vận hành được phép",
"all_operators": "Tất cả các toán tử (để trống)",
"operators_hint": "Tên người dùng được phân tách bằng dấu phẩy. Để trống để cho phép tất cả các toán tử.",
"last_updated_by": "Cập nhật lần cuối bởi",
"access_policy_saved": "Đã lưu chính sách truy cập",
"tabs": {
"overview": "Tổng quan",
"hardware": "Hardware",
"metrics": "Số liệu",
"connections": "Kết nối",
"audit": "Audit",
"info": "Info",
"history": "Lịch sử"
},
"hardware": {
"cpu": "Processor",
"memory": "Memory",
"disk": "Disk",
"os": "Operating System",
"hostname": "Hostname",
"uptime": "Uptime",
"load_avg": "Tải trung bình",
"network": "Bộ điều hợp mạng",
"no_data": "Không có dữ liệu phần cứng",
"title": "Thông tin phần cứng",
"gpu": "Graphics Card"
},
"display_name": "Tên hiển thị",
"display_name_placeholder": "Tên tùy chỉnh (ghi đè tên máy chủ)",
"note_placeholder": "Lưu ý về thiết bị này",
"tags": "Tags",
"filter_by_tags": "Lọc theo thẻ",
"no_tags": "No tags",
"all_groups": "Tất cả các nhóm",
"create_group": "Tạo nhóm",
"manage_groups": "Quản lý nhóm",
"group_name": "Tên nhóm",
"group_name_placeholder": "ví dụ: PC đa phương tiện",
"dynamic_group": "Nhóm động từ thẻ",
"dynamic_group_hint": "Các thiết bị có thẻ này sẽ tự động tham gia.",
"tag_filter": "Tag filter",
"group_allowed_users": "Người dùng được phép",
"group_allowed_users_hint": "Để trống để mọi người có quyền truy cập vào nhóm đều có thể nhìn thấy nhóm.",
"group_tag_required": "Bộ lọc thẻ là bắt buộc cho các nhóm động",
"group_invalid": "Mã định danh nhóm không hợp lệ",
"group_not_found": "Không tìm thấy nhóm",
"group_saved": "Đã lưu nhóm thiết bị",
"strategies_title": "Access control strategies",
"strategies_hint": "Link user groups to device groups and push RustDesk Pro security settings to matching clients.",
"create_strategy": "Add strategy",
"edit_strategy": "Edit strategy",
"delete_strategy": "Delete strategy",
"delete_strategy_confirm": "Delete strategy {name}?",
"strategy_name": "Strategy name",
"strategy_name_required": "Strategy name is required",
"strategy_user_group": "User group",
"strategy_device_group": "Device group",
"strategy_any_user_group": "Any user group",
"strategy_any_device_group": "Any device group",
"strategy_enabled": "Enabled",
"strategy_disabled": "Disabled",
"strategy_enabled_label": "Strategy enabled",
"strategy_permissions": "Client security settings",
"strategy_permissions_hint": "Uses RustDesk advanced-setting keys (Y/N). Leave Default to keep client or strategy inheritance.",
"strategy_permissions_count": "{count} settings",
"strategy_perm_default": "Default",
"strategy_perm_allow": "Allow (Y)",
"strategy_perm_deny": "Deny (N)",
"strategy_perm_file_transfer": "File transfer",
"strategy_perm_disable_clipboard": "Disable clipboard",
"strategy_perm_enable_clipboard": "Enable clipboard",
"strategy_perm_audio": "Audio",
"strategy_perm_tunnel": "TCP tunnel",
"strategy_perm_camera": "Camera",
"strategy_perm_restart": "Remote restart",
"strategy_perm_block_input": "Block user input",
"strategy_created": "Strategy created",
"strategy_updated": "Strategy updated",
"strategy_deleted": "Strategy deleted",
"strategy_not_found": "Strategy not found",
"no_strategies": "No access control strategies yet",
"loading_strategies": "Loading strategies...",
"groups_saved": "Đã lưu nhóm thiết bị",
"group_membership_added": "Đã thêm vào nhóm",
"group_membership_removed": "Đã xóa khỏi nhóm",
"no_groups": "Chưa có nhóm nào",
"manual_groups": "Nhóm thủ công",
"dynamic_memberships": "Tư cách thành viên năng động",
"group_allowed_user_groups": "Nhóm người dùng được phép",
"group_allowed_user_groups_hint": "Người dùng trong nhóm người dùng đã chọn có thể truy cập vào nhóm thiết bị này.",
"no_user_groups": "Không có nhóm người dùng",
"edit_group": "Chỉnh sửa nhóm",
"delete_group": "Xóa nhóm",
"delete_group_confirm": "Xóa nhóm thiết bị {name}?",
"group_deleted": "Đã xóa nhóm thiết bị",
"folder_group_readonly": "Các nhóm được hỗ trợ bởi thư mục được quản lý từ các thư mục.",
"manage_user_groups": "Quản lý nhóm người dùng",
"restore_failed": "Không thể khôi phục thiết bị",
"no_signal_tooltip": "Máy khách vừa liên hệ API nhưng chưa đăng ký trên máy chủ tín hiệu (UDP :21116). Khởi động lại máy khách sau khi di chuyển máy chủ.",
"per_page": "Mỗi trang",
"strategy_assign": "Assign targets",
"strategy_assign_title": "Assign strategy: {name}",
"strategy_assign_devices": "Devices",
"strategy_assign_users": "Users",
"strategy_assign_groups": "Device groups",
"strategy_assign_hint": "Select devices, users, or device groups that should use this strategy directly (RustDesk Pro priority: device > user > group).",
"strategy_assign_saved": "Strategy assignments saved",
"strategy_assign_counts": "{peers} devices, {users} users, {groups} groups",
"strategy_assign_none": "No direct assignments"
},
"keys": {
"title": "Khóa máy chủ",
"subtitle": "Khóa công khai và cấu hình cho máy khách RustDesk",
"public_key": "Public Key",
"qr_code": "QR Code",
"server_info": "Thông tin máy chủ",
"download": "Tải xuống khóa",
"show_qr": "Show QR",
"qr_hint": "Quét mã QR này bằng ứng dụng di động RustDesk",
"no_key": "Không tìm thấy khóa công khai",
"no_key_to_copy": "Không có chìa khóa để sao chép",
"no_qr": "Mã QR không có sẵn",
"download_success": "Đã tải xuống tệp khóa",
"not_found": "Không tìm thấy chìa khóa",
"api_not_found": "Không tìm thấy khóa API"
},
"settings": {
"title": "Cài đặt",
"subtitle": "Cấu hình bảng điều khiển và cài đặt tài khoản",
"tab_general": "General",
"tab_server": "Máy chủ",
"tab_branding": "Branding",
"tab_backup": "Backup",
"language": "Ngôn ngữ",
"change_password": "Thay đổi mật khẩu",
"password_desc": "Cập nhật mật khẩu tài khoản của bạn",
"current_password": "Mật khẩu hiện tại",
"new_password": "Mật khẩu mới",
"confirm_password": "Xác nhận mật khẩu",
"save_password": "Cập nhật mật khẩu",
"password_changed": "Đã thay đổi mật khẩu thành công",
"fill_all_fields": "Vui lòng điền vào tất cả các trường",
"passwords_not_match": "Mật khẩu không khớp",
"password_requirements": "Yêu cầu về mật khẩu",
"password_requirements_not_met": "Mật khẩu không đáp ứng yêu cầu",
"req_length": "Ít nhất 8 ký tự",
"req_uppercase": "Ít nhất một chữ cái viết hoa",
"req_lowercase": "Ít nhất một chữ cái viết thường",
"req_number": "Ít nhất một số",
"server_info": "Thông tin máy chủ",
"version": "Version",
"database": "Database",
"uptime": "Uptime",
"audit_log": "Audit Log",
"audit_desc": "Hoạt động gần đây của bảng điều khiển",
"no_audit_logs": "Không tìm thấy nhật ký kiểm tra",
"backend_title": "Phần cuối của máy chủ",
"backend_desc": "Chọn chương trình phụ trợ máy chủ nào sẽ sử dụng cho dịch vụ quản lý thiết bị và tín hiệu/chuyển tiếp.",
"backend_original": "Original",
"backend_enhanced": "Enhanced",
"backend_rustdesk_desc": "Máy chủ chuyển tiếp và tín hiệu RustDesk tiêu chuẩn (hbbs + hbbr). HTTP cơ bản API với các điểm cuối hạn chế.",
"backend_betterdesk_desc": "Máy chủ dựa trên Go nâng cao với đầy đủ REST API, xác thực JWT, danh sách chặn, thẻ, sự kiện WebSocket thời gian thực và ghi nhật ký kiểm tra.",
"backend_feature_signal": "Máy chủ tín hiệu (đăng ký ID)",
"backend_feature_relay": "Máy chủ chuyển tiếp (rơle kết nối)",
"backend_feature_basic_api": "REST cơ bản API",
"backend_feature_full_api": "Full REST API (hơn 34 điểm cuối)",
"backend_feature_jwt": "Xác thực JWT & TOTP 2FA",
"backend_feature_blocklist": "Quản lý danh sách chặn IP/ID",
"backend_feature_tags": "Thẻ và nhóm thiết bị",
"backend_feature_audit": "Ghi nhật ký sự kiện kiểm tra",
"backend_feature_websocket": "Sự kiện WebSocket thời gian thực",
"backend_connection": "Kết nối",
"backend_api_url": "API URL",
"backend_test": "Kiểm tra kết nối",
"backend_testing": "Đang thử nghiệm...",
"backend_save": "Áp dụng phụ trợ",
"backend_saved": "Phần phụ trợ máy chủ đã thay đổi thành công. Dữ liệu thiết bị bây giờ sẽ được quản lý bởi chương trình phụ trợ mới.",
"backend_save_failed": "Không thể chuyển đổi chương trình phụ trợ máy chủ",
"backend_test_success": "Kết nối thành công! Máy chủ có thể truy cập được.",
"backend_test_failed": "Kết nối không thành công. Máy chủ không thể truy cập được.",
"backend_confirm_switch": "Bạn có chắc chắn muốn chuyển đổi phần phụ trợ của máy chủ không? Điều này sẽ thay đổi cách quản lý thiết bị.",
"backend_unreachable": "Không thể chuyển đổi: máy chủ mục tiêu không thể truy cập được. Khởi động máy chủ trước.",
"invalid_backend": "Lựa chọn phụ trợ không hợp lệ. Chọn 'rustdesk' hoặc 'betterdesk'.",
"backend_status_running": "Connected",
"backend_status_unreachable": "Unreachable",
"backend_status_error": "Error",
"backend_status_unknown": "Unknown",
"totp_title": "Xác thực hai yếu tố",
"totp_desc": "Thêm một lớp bảo mật bổ sung với các ứng dụng xác thực TOTP (Google Authenticator, Microsoft Authenticator, Authy, v.v.)",
"totp_enabled": "Đã bật 2FA",
"totp_enabled_desc": "Tài khoản của bạn được bảo vệ bằng xác thực hai yếu tố.",
"totp_disabled": "2FA không được kích hoạt",
"totp_disabled_desc": "Kích hoạt xác thực hai yếu tố để bảo mật tài khoản bổ sung.",
"totp_setup": "Enable 2FA",
"totp_disable": "Disable 2FA",
"totp_step1": "Cài đặt ứng dụng xác thực trên điện thoại của bạn",
"totp_step2": "Quét mã QR bên dưới",
"totp_step3": "Nhập mã gồm 6 chữ số để xác minh",
"totp_manual_key": "Manual key",
"totp_enter_code": "Nhập mã xác minh",
"totp_verify_enable": "Xác minh & Kích hoạt",
"totp_enabled_success": "Đã bật xác thực hai yếu tố!",
"totp_recovery_warning": "Lưu các mã khôi phục này ở nơi an toàn. Mỗi mã chỉ có thể được sử dụng một lần. Nếu mất quyền truy cập vào ứng dụng xác thực, bạn có thể sử dụng các mã này để đăng nhập.",
"totp_done": "Done",
"totp_disable_warning": "Vô hiệu hóa xác thực hai yếu tố sẽ khiến tài khoản của bạn kém an toàn hơn. Nhập mật khẩu của bạn để xác nhận.",
"totp_disabled_success": "Xác thực hai yếu tố đã bị vô hiệu hóa.",
"tutorials_title": "Hướng dẫn & Hướng dẫn",
"tutorials_desc": "Kiểm soát các chuyến tham quan có hướng dẫn và lớp phủ trợ giúp được hiển thị trên toàn bộ bảng điều khiển",
"tutorials_enabled": "Bật hướng dẫn",
"tutorials_enabled_hint": "Khi bị tắt, hướng dẫn sẽ không tự động bắt đầu và nút trợ giúp sẽ bị ẩn",
"tutorials_reset_hint": "Đánh dấu tất cả các hướng dẫn là chưa xem để có thể hiển thị lại",
"tutorials_enabled_toast": "Đã bật hướng dẫn",
"tutorials_disabled_toast": "Đã tắt hướng dẫn",
"tutorials_reset_toast": "Tất cả các hướng dẫn đã được thiết lập lại",
"tab_auth": "Xác thực",
"ldap_title": "LDAP / Active Directory",
"ldap_desc": "Định cấu hình xác thc bên ngoài thông qua LDAP hoặc Active Directory. Người dùng sẽ có thể đăng nhập bằng thông tin xác thực tên miền của họ.",
"ldap_enabled": "Kích hoạt xác thực LDAP",
"ldap_enabled_hint": "Khi bật, người dùng thư mục có thể đăng nhập bằng thông tin LDAP/AD. Mỗi tài khoản gắn với một nhà cung cấp (local, LDAP hoặc OIDC) — mật khẩu cục bộ không được chấp nhận cho tài khoản LDAP.",
"ldap_connection": "Kết nối máy chủ",
"ldap_host": "Máy chủ",
"ldap_port": "Cảng",
"ldap_use_tls": "LDAPS (TLS)",
"ldap_start_tls": "StartTLS",
"ldap_skip_verify": "Bỏ qua xác minh TLS",
"ldap_timeout": "Hết thời gian kết nối",
"ldap_timeout_hint": "Giây chờ phản hồi của máy chủ LDAP",
"ldap_bind_mode": "Chế độ liên kết",
"ldap_direct_bind": "Ràng buộc trực tiếp",
"ldap_direct_bind_hint": "Liên kết trực tiếp với mẫu DN thay vì sử dụng tài khoản dịch vụ để tìm kiếm.",
"ldap_bind_dn": "Bind DN (tài khoản dịch vụ)",
"ldap_bind_dn_hint": "Tên phân biệt của tài khoản dịch vụ chỉ đọc được sử dụng để tìm kiếm người dùng.",
"ldap_bind_password": "Ràng buộc mật khẩu",
"ldap_base_dn": "DN cơ sở",
"ldap_base_dn_hint": "Cơ sở tìm kiếm để tìm người dùng, ví dụ: dc=ví dụ,dc=com",
"ldap_user_filter": "Bộ lọc người dùng",
"ldap_user_filter_hint": "Bộ lọc LDAP để tìm người dùng. Sử dụng {{username}} làm trình giữ chỗ. Mặc định: (sAMAccountName={{username}})",
"ldap_direct_bind_dn": "Mẫu DN liên kết trực tiếp",
"ldap_direct_bind_dn_hint": "Mẫu DN để liên kết trực tiếp. Sử dụng {{username}} làm trình giữ chỗ, ví dụ: uid={{username}},ou=users,dc=example,dc=com",
"ldap_user_attrs": "Thuộc tính người dùng",
"ldap_attr_id": "Thuộc tính tên người dùng",
"ldap_attr_email": "Thuộc tính email",
"ldap_attr_name": "Thuộc tính tên hiển thị",
"ldap_group_mapping": "Nhóm → Sơ đồ vai trò",
"ldap_group_base_dn": "Nhóm cơ sở DN",
"ldap_group_base_dn_hint": "Để trống để sử dụng Base DN chính",
"ldap_group_filter": "Bộ lọc nhóm",
"ldap_group_attr_name": "Thuộc tính tên nhóm",
"ldap_default_role": "Vai trò mặc định",
"ldap_default_role_hint": "Vai trò được chỉ định cho người dùng có nhóm LDAP không khớp với bất kỳ ánh xạ nào",
"ldap_role_viewer": "Người xem",
"ldap_role_operator": "Toán tử",
"ldap_role_admin": "Quản trị viên",
"ldap_group_role_map": "Nhóm → Bản đồ vai trò",
"ldap_group_role_map_hint": "Ánh xạ các nhóm LDAP tới các vai trò BetterDesk. Định dạng: GroupDN=vai trò được phân tách bằng | (đường ống). Ví dụ: CN=Admins,DC=example,DC=com=admin|CN=Ops,DC=example,DC=com=operator",
"ldap_test_connection": "Kiểm tra kết nối",
"ldap_testing": "Đang thử nghiệm...",
"ldap_test_success": "Kết nối thành công! Máy chủ LDAP có thể truy cập được và thông tin xác thực liên kết là hợp lệ.",
"ldap_test_failed": "Kết nối không thành công",
"ldap_save": "Lưu cấu hình LDAP",
"ldap_saved": "Đã lưu thành công cấu hình LDAP",
"oidc_title": "OIDC / OAuth2 (SSO)",
"oidc_desc": "Định cấu hình Đăng nhập một lần thông qua nhà cung cấp OpenID Connect (Azure AD, Okta, Google, Keycloak, v.v.).",
"oidc_enabled": "Kích hoạt xác thực OIDC",
"oidc_enabled_hint": "Cho phép người dùng đăng nhập bằng nhà cung cấp danh tính bên ngoài",
"oidc_provider": "Nhà cung cấp danh tính",
"oidc_display_name": "Tên hiển thị nút",
"oidc_display_name_hint": "Văn bản hiển thị trên nút đăng nhập (ví dụ: Azure AD, Okta)",
"oidc_issuer_url": "Nhà phát hành URL",
"oidc_issuer_url_hint": "Nhà phát hành OpenID Connect URL (việc khám phá sẽ tự động)",
"oidc_client_id": "ID khách hàng",
"oidc_client_secret": "Bí mật khách hàng",
"oidc_redirect_url": "Chuyển hướng URL (Gọi lại)",
"oidc_redirect_url_hint": "Phải khớp chính xác với những gì được định cấu hình trong IdP của bạn. Thông thường: http(s)://your-server:21114/api/auth/oidc/callback",
"oidc_panel_url": "URL bảng điều khiển",
"oidc_panel_url_hint": "URL mà người vận hành dùng để mở bảng điều khiển web (cổng 5000 hoặc tên máy chủ reverse proxy). Bắt buộc cho đăng nhập SSO khi callback OIDC chạy trên cổng Go API.",
"oidc_scopes": "Phạm vi",
"oidc_use_pkce": "Sử dụng PKCE (được khuyến nghị)",
"oidc_auto_discovery": "Tự động phát hiện",
"oidc_allow_signup": "Tự động tạo người dùng",
"oidc_manual_endpoints": "URL điểm cuối thủ công",
"oidc_authorization_url": "Điểm cuối ủy quyền",
"oidc_token_url": "Điểm cuối mã thông báo",
"oidc_userinfo_url": "Điểm cuối thông tin người dùng",
"oidc_claim_mapping": "Ánh xạ xác nhận quyền sở hữu",
"oidc_claim_username": "Yêu cầu tên người dùng",
"oidc_claim_email": "Yêu cầu qua email",
"oidc_claim_name": "Xác nhận quyền sở hữu tên hiển thị",
"oidc_claim_groups": "Yêu cầu nhóm",
"oidc_role_mapping": "Ánh xạ vai trò",
"oidc_default_role": "Vai trò mặc định",
"oidc_group_role_map": "Nhóm → Sơ đồ vai trò",
"oidc_group_role_map_hint": "Một ánh xạ trên mỗi dòng: group_name=role (ví dụ: admins=admin, operator=operator)",
"oidc_test_discovery": "Khám phá thử nghiệm",
"oidc_testing": "Đang thử nghiệm...",
"oidc_test_success": "Khám phá thành công! Điểm cuối đã được giải quyết.",
"oidc_test_failed": "Khám phá không thành công",
"oidc_issuer_required": "Nhà phát hành URL được yêu cầu để kiểm tra khả năng khám phá",
"oidc_save": "Lưu cấu hình OIDC",
"oidc_saved": "Đã lưu thành công cấu hình OIDC",
"tab_advanced": "Nâng cao",
"connection_mode_title": "Chiến lược kết nối",
"connection_mode_desc": "Kiểm soát cách RustDesk client kết nối: P2P trực tiếp (hole punch) khi có thể, hoặc luôn qua relay.",
"connection_mode_label": "Chế độ kết nối mặc định",
"connection_mode_p2p_first": "P2P trước (khuyến nghị) — thử kết nối trực tiếp, dùng relay nếu thất bại",
"connection_mode_relay_only": "Chỉ relay — tất cả phiên đều dùng máy chủ relay",
"connection_mode_advanced": "Tùy chọn nâng cao",
"connection_mode_fallback_ms": "Thời gian chờ P2P fallback (ms)",
"connection_mode_same_nat_relay": "Bắt buộc relay khi cả hai bên dùng cùng IP công cộng (NAT hairpin)",
"connection_mode_network_hint": "P2P yêu cầu cổng UDP 21116 có thể truy cập giữa các client. Máy chủ cần mở Signal TCP 21116, Relay TCP 21117, NAT test TCP 21115. Trình duyệt web luôn dùng relay.",
"connection_mode_save": "Lưu",
"connection_mode_save_restart": "Lưu & khởi động lại máy chủ",
"connection_mode_saved": "Đã lưu chế độ kết nối",
"connection_mode_restart_started": "Đã bắt đầu khởi động lại máy chủ",
"connection_mode_restart_failed": "Khởi động lại máy chủ thất bại",
"connection_mode_not_configurable": "Không thể thay đổi chế độ kết nối trên triển khai này (không tìm thấy systemd unit hoặc docker-compose)",
"connection_mode_compose_error": "Không tìm thấy phần server environment trong docker-compose.yml",
"connection_mode_source_saved": "Đã lưu trong",
"connection_mode_source_defaults": "Đang dùng giá trị mặc định máy chủ (không thể ghi từ bảng điều khiển)",
"connection_mode_runtime": "Máy chủ đang hoạt động",
"advanced_title": "Tệp cấu hình",
"advanced_desc": "Chỉnh sửa trực tiếp các tệp cấu hình máy chủ. Các thay đổi có thể cần khởi động lại dịch vụ. Bản sao lưu được tạo trước mỗi lần lưu.",
"advanced_warning": "Các tệp này chứa thông tin bí mật (API key, mật khẩu cơ sở dữ liệu, session secret). Chỉ chỉnh sửa khi bạn hiểu rõ tác động. Cú pháp sai có thể khiến máy chủ không khởi động được.",
"advanced_files_label": "Tệp",
"advanced_select_file": "Chọn tệp từ danh sách để xem hoặc chỉnh sửa nội dung.",
"advanced_reload": "Tải lại",
"advanced_save": "Lưu tệp",
"advanced_apply_restart": "Áp dụng (khởi động lại dịch vụ)",
"advanced_saved": "Đã lưu tệp cấu hình",
"advanced_restart_after_save": "Đã lưu cấu hình. Khởi động lại dịch vụ bị ảnh hưởng ngay bây giờ để áp dụng thay đổi?",
"advanced_restart_confirm": "Khởi động lại dịch vụ BetterDesk liên quan? Các kết nối đang hoạt động có thể bị gián đoạn ngắn.",
"advanced_restart_console_confirm": "Khởi động lại dịch vụ web console? Phiên trình duyệt sẽ ngắt kết nối ngắn và trang sẽ tải lại khi console trở lại.",
"advanced_restart_started": "Đã bắt đầu khởi động lại dịch vụ",
"advanced_restart_done": "Console đã khởi động lại — đang tải lại trang…",
"advanced_restart_polling": "Đang chờ console trở lại trực tuyến…",
"advanced_restart_timeout": "Đã gửi lệnh khởi động lại nhưng console không phản hồi kịp thời. Kiểm tra nhật ký systemd/NSSM và tải lại thủ công.",
"advanced_restart_failed": "Khởi động lại dịch vụ thất bại (không đủ quyền hoặc dịch vụ chưa được cài đặt)",
"advanced_save_confirm": "Lưu các thay đổi vào tệp này? Bản sao lưu của phiên bản trước sẽ được tạo.",
"advanced_unsaved_confirm": "Bạn có thay đổi chưa lưu. Hủy bỏ?",
"advanced_no_files": "Không có tệp cấu hình nào trên hệ thống này.",
"advanced_readonly": "chỉ đọc",
"advanced_missing": "thiếu",
"advanced_new_file": "Tệp mới (chưa tạo cho đến khi bạn lưu)",
"advanced_new_file_hint": "Tệp mới — thêm nội dung và lưu",
"advanced_backup_created": "đã tạo bản sao lưu",
"advanced_restart_console": "Khởi động lại dịch vụ web console (vd: systemctl restart betterdesk-console) để các thay đổi .env có hiệu lực.",
"advanced_restart_goserver": "Khởi động lại BetterDesk Go server để tải các thay đổi blocklist.",
"advanced_restart_systemd": "Sau khi chỉnh sửa systemd units, chạy: systemctl daemon-reload && systemctl restart <service>",
"advanced_restart_generic": "Khởi động lại dịch vụ bị ảnh hưởng để các thay đổi có hiệu lực.",
"advanced_error_unknown": "Tệp cấu hình không xác định",
"advanced_error_not_found": "Tệp không tồn tại",
"advanced_error_not_file": "Đường dẫn không phải là tệp thông thường",
"advanced_error_too_large": "Tệp vượt quá kích thước chỉnh sửa tối đa (512 KB)",
"advanced_error_binary": "Không thể chỉnh sửa tệp nhị phân trong bảng điều khiển",
"advanced_error_invalid": "Nội dung tệp không hợp lệ",
"advanced_error_not_writable": "Tiến trình console không thể ghi vào tệp này",
"advanced_file_console-env": "Môi trường console (.env)",
"advanced_file_console-env-local": "Ghi đè console (.env.local)",
"advanced_file_go-blocklist": "Danh sách chặn máy chủ Go (blocklist.txt)",
"advanced_file_systemd-console": "systemd: betterdesk-console (đơn vị dịch vụ)",
"advanced_file_systemd-server": "systemd: betterdesk-server (đơn vị dịch vụ)",
"advanced_file_console-session-secret": "Bí mật phiên bảng điều khiển (.session_secret)",
"advanced_file_go-audit-log": "Nhật ký kiểm tra máy chủ Go (audit.jsonl)",
"advanced_file_build-env": "Môi trường build của tác nhân (/etc/betterdesk/build.env)",
"advanced_file_docker-supervisord": "Docker: supervisord.conf (cấu hình supervisord)",
"advanced_file_docker-compose": "Docker: docker-compose.yml (điều phối)",
"advanced_restart_none": "Tệp này không cần khởi động lại dịch vụ.",
"enrollment_title": "Đăng ký thiết bị (RustDesk)",
"enrollment_desc": "Kiểm soát cách các RustDesk client mới đăng ký và cách người vận hành phê duyệt chúng trên trang yêu cầu đăng ký.",
"enrollment_require_approval": "Yêu cầu phê duyệt người vận hành (Chế độ quản lý)",
"enrollment_require_approval_hint": "Khi bật, các client chưa biết sẽ được xếp hàng chờ đến khi người vận hành phê duyệt trong \"Yêu cầu đăng ký\".",
"enrollment_rich_approve": "Biểu mẫu phê duyệt đầy đủ (tên, thư mục, nhóm, thẻ)",
"enrollment_rich_approve_hint": "Hiển thị hộp thoại chi tiết khi phê duyệt yêu cầu đăng ký hoặc đăng ký LAN.",
"enrollment_tag_picker": "Chọn thẻ từ thẻ thiết bị hiện có",
"enrollment_tag_picker_hint": "Cho phép người vận hành chọn thẻ từ danh sách trên trang Thiết bị thay vì chỉ gõ tay.",
"enrollment_open_requests": "Mở yêu cầu đăng ký",
"enrollment_pending_count": "{count} yêu cầu đăng ký đang chờ",
"go_server_version": "Máy chủ Go",
"go_server_version_dev_hint": "Nhị phân Go báo bản dựng phát triển — build lại hoặc cập nhật máy chủ để khớp phiên bản sản phẩm",
"tab_email": "Email",
"email": {
"title": "Email notifications",
"desc": "Configure SMTP delivery for operational notifications and system alert emails.",
"smtp_host": "SMTP host",
"smtp_port": "Port",
"smtp_secure": "Use TLS/SSL",
"smtp_user": "Username",
"smtp_pass": "Password",
"smtp_from": "From address",
"alert_email": "Alert email",
"alert_email_hint": "Fallback address when no operator email is available, and for system warnings.",
"smtp_test": "Test connection",
"smtp_save": "Save configuration",
"smtp_saved": "Email settings saved",
"smtp_test_success": "Connection successful",
"smtp_test_failed": "Connection failed"
},
"ui": {
"search_placeholder": "Search settings…",
"search_results": "{count} matching sections",
"auth_sub_enrollment": "Enrollment",
"auth_sub_ldap": "LDAP / AD",
"auth_sub_oidc": "OIDC / SSO",
"branding_rdclient": "RdClient",
"connection_p2p_hint": "Try direct peer connection first; fall back to relay when P2P fails.",
"connection_relay_hint": "Route all client traffic through the relay server.",
"auth_sub_client_sessions": "Client RustDesk"
},
"confirm": {
"connection_mode_title": "Save connection strategy?",
"connection_mode": "Apply the new connection strategy for RustDesk clients?",
"connection_restart_title": "Save and restart server?",
"connection_restart": "Save connection settings and restart the BetterDesk server? Active sessions may disconnect briefly.",
"enrollment_mode_title": "Change enrollment mode?",
"enrollment_mode": "Switch enrollment to “{mode}”? This affects how new RustDesk clients can register.",
"ldap_enable_title": "Enable LDAP?",
"ldap_enable": "Enable LDAP / Active Directory sign-in? Console users may authenticate against your directory.",
"ldap_save_title": "Save LDAP settings?",
"ldap_save": "Save LDAP configuration? Incorrect settings can block directory sign-in.",
"oidc_enable_title": "Enable SSO?",
"oidc_enable": "Enable OIDC / SSO sign-in? Users may authenticate through your identity provider.",
"oidc_save_title": "Save SSO settings?",
"oidc_save": "Save OIDC / SSO configuration? Incorrect settings can block SSO sign-in.",
"smtp_save_title": "Save SMTP settings?",
"smtp_save": "Save SMTP configuration? Alert emails and notifications will use this mail server.",
"backup_restore_title": "Restore backup?",
"backup_restore": "Restore from this backup file? Selected data will be overwritten.",
"tutorials_reset_title": "Reset tutorials?",
"tutorials_reset": "Reset all tutorial progress? Guided tips will show again on each page.",
"advanced_save_title": "Save configuration file?",
"advanced_restart_after_title": "Restart service?",
"advanced_restart_title": "Restart service?",
"advanced_discard_title": "Discard changes?"
},
"public_endpoints_title": "Điểm cuối client công khai",
"public_endpoints_desc": "Hostname và URL API mà client RustDesk dùng. Cấu hình dashboard, QR và chuỗi deploy.",
"public_endpoints_hint": "Đặt khi hostname console khác ID/relay/API (reverse proxy / DNS tách). Trống = tự động.",
"public_endpoints_server_id": "Máy chủ ID công khai",
"public_endpoints_server_id_placeholder": "vd. remote.example.com",
"public_endpoints_relay": "Máy chủ relay công khai",
"public_endpoints_relay_placeholder": "vd. remote.example.com (mặc định: ID)",
"public_endpoints_api_url": "URL API công khai",
"public_endpoints_api_url_placeholder": "vd. https://api.example.com",
"public_endpoints_api_url_hint": "URL đầy đủ cho đăng nhập và API RustDesk (cổng mặc định 21114).",
"public_endpoints_save": "Lưu điểm cuối",
"public_endpoints_saved": "Đã lưu điểm cuối client công khai",
"public_endpoints_invalid_host": "Hostname ID hoặc relay không hợp lệ",
"public_endpoints_invalid_api_url": "URL API không hợp lệ — dùng http:// hoặc https://",
"public_endpoints_save_title": "Lưu điểm cuối client công khai?",
"public_endpoints_save_confirm": "Cập nhật cấu hình client RustDesk trên dashboard?",
"device_scope_title": "Device visibility default",
"device_scope_desc": "Controls what non-admin users see when no folder, group, or direct device grants exist.",
"device_scope_open": "Open (legacy) — show all devices until ACL is configured",
"device_scope_restricted": "Restricted — show only explicitly granted devices",
"device_scope_save": "Save visibility default",
"device_scope_saved": "Device visibility default saved",
"device_scope_invalid": "Invalid visibility mode",
"device_scope_restricted_warning": "Restricted mode is active. Ensure users have folder, group, or direct device grants or they will see an empty device list.",
"client_sessions_title": "Phiên client RustDesk",
"client_sessions_desc": "Kiểm soát thời gian ứng dụng RustDesk desktop/mobile duy trì đăng nhập vào tài khoản BetterDesk.",
"client_sessions_expiry_days": "Thời lượng phiên (ngày)",
"client_sessions_expiry_hint": "Mặc định 7 ngày. Khi tắt gia hạn trượt, client phải đăng nhập lại.",
"client_sessions_sliding": "Gia hạn phiên khi có hoạt động",
"client_sessions_sliding_hint": "Khi client đang dùng, phiên được gia hạn đến thời hạn tối đa bên dưới.",
"client_sessions_max_days": "Thời gian phiên tối đa (ngày)",
"client_sessions_max_days_hint": "Giới hạn gia hạn trượt từ lần đăng nhập đầu (mặc định 30 ngày).",
"client_sessions_save": "Lưu cài đặt phiên",
"enrollment_ldap_hint": "Cài đặt LDAP/AD và OIDC nằm trong các tab LDAP / AD và OIDC / SSO phía trên."
},
"audit": {
"time": "Time",
"user": "User",
"action": "Action",
"details": "Details",
"action_login": "Login",
"action_login_failed": "Đăng nhập không thành công",
"action_logout": "Logout",
"action_password_change": "Đã thay đổi mật khẩu",
"action_2fa_enable": "Đã bật 2FA",
"action_2fa_disable": "2FA bị vô hiệu hóa",
"action_user_create": "Người dùng đã tạo",
"action_user_update": "Đã cập nhật người dùng",
"action_user_delete": "Người dùng đã bị xóa",
"action_settings_update": "Đã cập nhật cài đặt",
"action_device_ban": "Thiết bị bị cấm",
"action_device_unban": "Đã bỏ cấm thiết bị",
"action_device_delete": "Đã xóa thiết bị"
},
"generator": {
"title": "Client Configuration Generator",
"subtitle": "Generate configuration for RustDesk clients",
"alpha_badge": "ALPHA",
"alpha_tooltip": "Tính năng sớm — trình tạo gói agent đang được phát triển tích cực.",
"config_options": "Tùy chọn cấu hình",
"server_address": "Địa chỉ máy chủ",
"server_address_hint": "Tên miền hoặc địa chỉ IP của máy chủ của bạn",
"custom_port": "Custom Port",
"port_hint": "Để trống theo mặc định (21116)",
"relay_server": "Máy chủ chuyển tiếp",
"relay_placeholder": "Tương tự như máy chủ ID nếu trống",
"relay_hint": "Tùy chọn: địa chỉ máy chủ chuyển tiếp riêng",
"include_key": "Bao gồm khóa chung trong cấu hình",
"generate": "Tạo cấu hình",
"output": "Đầu ra cấu hình",
"usage_title": "Chi tiết kết nối",
"generated": "Đã tạo cấu hình",
"server_required": "Địa chỉ máy chủ là bắt buộc",
"nothing_to_copy": "Tạo cấu hình trước",
"bundles_title": "Gói đại lý",
"new_bundle": "Gói mới",
"editor_title": "Trình chỉnh sửa gói",
"empty_state": "Chọn một gói ở bên trái hoặc tạo một gói mới để bắt đầu.",
"loading": "Đang tải…",
"no_bundles": "Chưa có gói nào. Tạo cái đầu tiên của bạn.",
"bundle_name": "Tên gói",
"bundle_name_hint": "Chỉ nhãn nội bộ - không hiển thị cho người dùng cuối.",
"short_link": "Liên kết tải xuống ngắn",
"short_link_hint": "Dùng trong URL công khai (/d/…). Chỉ chữ thường, số và dấu gạch ngang (232 ký tự). Tự điền từ tên gói — rút ngắn để chia sẻ dễ hơn (vd. acme).",
"branding_section": "Xây dựng thương hiệu",
"company_name": "Tên công ty/thương hiệu",
"short_text": "Mô tả ngắn",
"contact_email": "Email liên hệ",
"contact_phone": "Điện thoại liên lạc",
"contact_url": "Liên hệ trang web",
"logo": "biểu tượng",
"logo_hint": "PNG, JPEG, SVG hoặc WebP. Tối đa 256 KB.",
"logo_clear": "Xóa biểu tượng",
"primary_color": "Màu cơ bản",
"accent_color": "Màu tiêu đề",
"default_lang": "Ngôn ngữ mặc định",
"allow_unattended": "Cho phép truy cập không giám sát",
"allow_unattended_hint": "Khi được bật, tác nhân sẽ hiển thị mật khẩu cố định để người vận hành truy cập.",
"save": "Lưu gói",
"revoke": "Thu hồi",
"unrevoke": "Kích hoạt lại",
"revoked": "Đã thu hồi",
"preview_title": "Xem trước trực tiếp",
"preview_hint": "Giao diện gần đúng của cửa sổ tác nhân người dùng cuối.",
"preview_default_name": "Hỗ trợ BetterDesk",
"preview_status_ready": "Sẵn sàng",
"preview_id": "ID của bạn",
"preview_password": "Mật khẩu",
"preview_chat": "Trò chuyện với sự hỗ trợ",
"preview_settings": "Cài đặt (chỉ dành cho quản trị viên)",
"preview_quit": "Thoát (chỉ dành cho quản trị viên)",
"download_link_title": "Liên kt tải xuống",
"download_link_hint": "Chia sẻ liên kết này với người dùng cuối. Họ sẽ thấy một trang tải xuống có thương hiệu. Liên kết hex cũ vẫn hoạt động sau khi bạn đổi liên kết ngắn.",
"open_portal": "Mở",
"created": "Đã tạo gói",
"saved": "Đã lưu gói",
"deleted": "Đã xóa gói",
"revoked_ok": "Đã thu hồi gói",
"unrevoked_ok": "Đã kích hoạt lại gói",
"link_copied": "Đã sao chép liên kết vào bảng nhớ tạm",
"copy_failed": "Không thể sao chép tự động - vui lòng sao chép thủ công",
"unsaved_confirm": "Hủy các thay đổi chưa được lưu?",
"confirm_revoke": "Thu hồi gói này? Liên kết tải xuống sẽ ngừng hoạt động.",
"confirm_unrevoke": "Kích hoạt lại gói này?",
"confirm_delete": "Xóa gói này vĩnh viễn? Điều này không thể hoàn tác được.",
"errors": {
"validation_failed": "Xác thực không thành công",
"name_required": "Tên gói là bắt buộc",
"company_name_required": "Tên công ty là bắt buộc",
"logo_invalid": "Logo phải là tệp hình ảnh hợp lệ",
"logo_too_large": "Logo phải có kích thước 256 KB hoặc nhỏ hơn",
"logo_read_failed": "Không đọc được tập tin logo",
"primary_color_invalid": "Màu chính phải là giá trị hex (ví dụ: #2563eb)",
"accent_color_invalid": "Màu tiêu đề phải là giá trị hex (ví dụ: #1e293b)",
"contact_url_invalid": "Trang web liên hệ phải là URL hợp lệ",
"server_host_required": "Địa chỉ máy chủ công khai là bắt buộc",
"server_host_invalid": "Nhập tên miền hợp lệ hoặc địa chỉ IPv4",
"token_failed": "Không thể tạo enrollment token — kiểm tra kết nối máy chủ",
"rebuild_revoked": "Không thể rebuild bundle đã bị thu hồi — hãy kích hoạt lại trước",
"slug_invalid": "Liên kết ngắn chỉ được chứa chữ thường, số và dấu gạch ngang",
"slug_too_short": "Liên kết ngắn phải có ít nhất 2 ký tự",
"slug_too_long": "Liên kết ngắn tối đa 32 ký tự",
"slug_taken": "Liên kết ngắn này đã được gói khác sử dụng"
},
"legacy_title": "Trình tạo cấu hình máy khách",
"connection_section": "Kết nối máy chủ",
"server_host": "Địa chỉ máy chủ công khai",
"server_host_placeholder": "support.example.com hoặc 203.0.113.10",
"server_host_hint": "Tên miền hoặc IP công khai mà người dùng cuối truy cập máy chủ BetterDesk của bạn. Cổng lấy từ cấu hình console.",
"use_https": "Dùng HTTPS / WSS (khuyến nghị)",
"enrollment_token": "Đăng ký thiết bị",
"enrollment_token_pending": "Từng thiết bị sau phê duyệt",
"enrollment_token_set": "Từng thiết bị — phê duyệt trong Registrations",
"enrollment_token_hint": "Mỗi lần cài đặt đăng ký riêng. Phê duyệt thiết bị mới trong bảng Registrations; máy chủ sẽ cấp khóa truy cập duy nhất cho mỗi máy tính.",
"enrollment_per_device": "Từng thiết bị — phê duyệt trong Registrations",
"background_color": "Màu nền cửa sổ",
"surface_color": "Màu nền thẻ",
"text_color": "Màu văn bản",
"text_muted_color": "Màu văn bản phụ",
"status_ready_color": "Màu chỉ báo sẵn sàng",
"header_text_color": "Màu văn bản tiêu đề",
"builds_title": "Bản build client",
"builds_hint": "Các trình cài đặt được biên dịch trên máy chủ này cho từng nền tảng. Rebuild sau khi sửa lỗi toolchain hoặc cập nhật mã nguồn agent.",
"builds_loading": "Đang tải trạng thái build…",
"builds_empty": "Chưa có build nào trong hàng chờ — lưu bundle hoặc nhấp Rebuild tất cả.",
"rebuild_all": "Rebuild tất cả",
"rebuilding_all": "Đang xếp hàng rebuild…",
"rebuild_queued": "Tất cả build theo nền tảng đã được xếp hàng",
"rebuild_confirm": "Rebuild tất cả trình cài đặt theo nền tảng cho bundle này? Các artifact đã sẵn sàng sẽ bị thay thế.",
"build_status_ready": "Sẵn sàng",
"build_status_pending": "Đang chờ",
"build_status_building": "Đang build",
"build_status_failed": "Thất bại",
"builds_summary": "{{ready}} sẵn sàng · {{pending}} đang chờ · {{building}} đang build · {{failed}} thất bại",
"build_error_hint": "Lỗi build",
"preview_help": "Yêu cầu trợ giúp",
"rdclient_tab": "RdClient desktop",
"rdclient_new_bundle": "Gói RdClient mới",
"rdclient_subtitle": "Tạo trình cài RdClient với URL bảng điều khiển nhúng",
"rdclient_server_url_hint": "URL công khai của bảng điều khiển BetterDesk (/remote).",
"agent_client_tab": "Agent Client",
"agent_client_new_bundle": "New Agent Client bundle",
"support_agent_tab": "Support Agent",
"support_agent_new_bundle": "New Support Agent bundle",
"product_agent_client": "Agent Client",
"product_support_agent": "Support",
"product_rdclient": "RdClient"
},
"server": {
"port": "Port",
"api_port": "API Port",
"id_server": "Máy chủ ID",
"relay_server": "Máy chủ chuyển tiếp",
"api_key": "API Key"
},
"status": {
"online": "Online",
"offline": "Offline",
"banned": "Banned",
"running": "Running",
"stopped": "Stopped",
"unknown": "Unknown",
"checking": "Đang kiểm tra...",
"label": "Status",
"no_signal": "Không có tín hiệu"
},
"actions": {
"refresh": "Refresh",
"copy": "Copy",
"connect": "Connect",
"connect_desktop": "Kết nối qua Máy khách để bàn",
"remote_viewer": "Trình xem từ xa",
"web_remote": "Web từ xa",
"details": "Details",
"edit": "Chỉnh sửa",
"delete": "Xóa",
"ban": "Ban",
"unban": "Unban",
"save": "Lưu",
"cancel": "Hủy bỏ",
"confirm": "Xác nhận",
"close": "Đóng",
"clear": "Clear",
"ok": "OK",
"saved": "Đã lưu thành công",
"back": "Quay lại",
"create": "Tạo",
"dismiss": "Dismiss",
"view_all": "Xem tất cả",
"cdap_viewer": "CDAP Snapshot Viewer",
"add": "Add",
"remove": "Remove",
"retry": "Thử lại"
},
"time": {
"just_now": "Just now",
"seconds_ago": "{count} trước đây",
"minutes_ago": "{count}m trước đây",
"hours_ago": "{count}h trước",
"days_ago": "{count}d trước",
"day_mon": "Mon",
"day_tue": "Tue",
"day_wed": "Wed",
"day_thu": "Thu",
"day_fri": "Fri",
"day_sat": "Sat",
"day_sun": "Sun"
},
"users": {
"title": "Quản lý người dùng",
"subtitle": "Quản lý người dùng và quyền của bảng điều khiển",
"add_user": "Add User",
"edit_user": "Chỉnh sửa người dùng",
"username": "Tên người dùng",
"username_placeholder": "Nhập tên người dùng",
"username_hint": "Chỉ 3-32 ký tự, chữ cái, số và dấu gạch dưới",
"password": "Mật khẩu",
"password_placeholder": "Nhập mật khẩu",
"password_hint": "Tối thiểu 8 ký tự bao gồm cả chữ, số và ký hiệu",
"password_leave_empty": "Để trống để giữ hiện tại",
"role": "Role",
"role_admin": "Administrator",
"role_operator": "Remote Operator",
"role_viewer": "Viewer",
"role_hint": "Server-wide role. Remote Operators connect remotely and can change their own password. Viewers are read-only (no Web Client). Pro License accounts activate RustDesk Pro via the desktop client API only — no web panel access. Organization roles are configured separately.",
"created": "Đã tạo",
"last_login": "Last Login",
"never": "Never",
"actions": "Actions",
"create": "Tạo người dùng",
"edit": "Chỉnh sửa",
"reset_password": "Đặt lại mật khẩu",
"new_password": "Mật khẩu mới",
"delete_title": "Xóa người dùng",
"delete_confirm": "Bạn có chắc chắn muốn xóa người dùng {username} không?",
"delete_success": "Người dùng đã xóa thành công",
"user_created": "Người dùng được tạo thành công",
"user_updated": "Người dùng đã cập nhật thành công",
"password_reset_success": "Đặt lại mật khẩu thành công",
"empty_title": "Không tìm thấy người dùng nào",
"empty_text": "Thêm người dùng để quản lý quyền truy cập bảng điều khiển",
"fill_required": "Vui lòng điền vào tất cả các trường bắt buộc",
"invalid_username": "Tên người dùng chỉ được từ 3-32 ký tự, chữ cái, số và dấu gạch dưới",
"username_exists": "Tên người dùng đã tồn tại",
"weak_password": "Mật khẩu quá yếu",
"password_too_short": "Mật khẩu phải có ít nhất 8 ký tự",
"invalid_role": "Vai trò không hợp lệ",
"cannot_demote_self": "Bạn không thể hạ bệ chính mình",
"cannot_delete_self": "Bạn không thể xóa tài khoản của chính mình",
"last_admin": "Không thể xóa quản trị viên cuối cùng",
"admin_only": "Tính năng này chỉ có sẵn cho quản trị viên",
"password_required": "Cần có mật khẩu",
"not_found": "Không tìm thấy người dùng",
"strength_weak": "Weak",
"strength_medium": "Medium",
"strength_strong": "Strong",
"security_tips_title": "Thực tiễn tốt nhất về bảo mật",
"tip_strong_passwords": "Sử dụng mật khẩu mạnh, duy nhất cho mỗi người dùng",
"tip_unique_accounts": "Tạo tài khoản cá nhân cho mỗi người",
"tip_viewer_role": "Use Viewer for read-only monitoring; Remote Operator for users who need to connect",
"tip_operator_role": "Use operator role for users who need to manage devices but not users",
"tip_audit_logs": "Xem lại nhật ký kiểm tra thường xuyên để phát hiện hoạt động đáng ngờ",
"role_pro": "Pro License (client API only)",
"role_super_admin": "Super Admin",
"role_server_admin": "Quản trị viên máy chủ",
"role_global_admin": "Quản trị viên toàn cầu",
"organizations": "Tổ chức",
"user_organizations": "Các tổ chức cho {username}",
"no_organizations": "Người dùng không được chỉ định cho bất kỳ tổ chức nào",
"org_removed": "Đã xóa nhiệm vụ của tổ chức",
"server_role_label": "Vai trò máy chủ",
"server_role_hint": "Xác định những gì người dùng có thể làm trên toàn bộ bảng điều khiển (truy cập bảng điều khiển, cấu hình máy chủ, kiểm tra, v.v.).",
"org_membership_section": "Tư cách thành viên tổ chức",
"org_membership_hint": "Một người dùng có thể thuộc về nhiều tổ chức. Vai trò tổ chức chỉ kiểm soát các quyn bên trong tổ chức đó và độc lập với vai trò máy chủ ở trên.",
"column_organizations": "Tổ chức",
"no_orgs_short": "—",
"org_count_one": "Tổ chức {count}",
"org_count_many": "Tổ chức {count}",
"all_orgs_assigned": "Người dùng đã là thành viên của mọi tổ chức.",
"user_groups": "Nhóm người dùng",
"user_groups_hint": "Nhóm người dùng có thể được sử dụng để cấp quyền truy cập cho các nhóm thiết bị đã chọn.",
"loading_user_groups": "Đang tải nhóm người dùng...",
"no_user_groups": "Không có nhóm người dùng nào",
"create_user_group": "Tạo nhóm",
"edit_user_group": "Chỉnh sửa nhóm người dùng",
"delete_user_group": "Xóa nhóm người dùng",
"delete_user_group_confirm": "Xóa nhóm người dùng {name}? Các thành viên sẽ mất quyền truy cập được cấp thông qua nhóm này.",
"user_group_created": "Đã tạo nhóm người dùng",
"user_group_updated": "Đã cập nhật nhóm người dùng",
"user_group_deleted": "Nhóm người dùng đã bị xóa",
"user_group_not_found": "Không tìm thấy nhóm người dùng",
"group_name": "Tên nhóm",
"group_name_placeholder": "Toán tử",
"group_note": "Note",
"group_note_placeholder": "Ghi chú tùy chọn",
"group_name_required": "Tên nhóm là bắt buộc",
"group_members_count": "Thành viên {count}",
"provider": "Nhà cung cấp",
"provider_local": "Cục bộ",
"provider_ldap": "LDAP/AD",
"provider_oidc": "SSO",
"password_managed_by_provider": "Do nhà cung cấp danh tính quản lý",
"provider_managed_hint": "Tài khoản này được quản lý bởi nhà cung cấp danh tính bên ngoài (LDAP/AD hoặc SSO). Mật khẩu và vai trò được kiểm soát bởi nhà cung cấp và không thể thay đổi ở đây.",
"email": "Email",
"email_placeholder": "operator@example.com",
"email_hint": "Used for help request notifications when the user is assigned to device folders or groups.",
"scope_hint": "Limit which devices this user sees: assign user groups, folders, and/or direct devices. Without restrictions, operators and viewers see all devices (unless the server uses restricted default mode in Settings).",
"role_desc_viewer": "Read-only panel access: device list, audit, metrics. Cannot use Web Remote Desktop.",
"role_desc_operator": "Can connect via Web Client and RustDesk desktop, edit devices, and change own password in Settings.",
"role_desc_pro": "RustDesk desktop client API only — activates Pro license. Blocked from web panel login.",
"role_desc_admin": "Full access (legacy alias for Super Admin).",
"role_desc_super_admin": "Full server and panel access, including user and server configuration.",
"role_desc_server_admin": "Server infrastructure, keys, and read-only user visibility. No device connect.",
"role_desc_global_admin": "Manage all users, organizations, and devices. Cannot change server config.",
"user_folders": "Folder access",
"user_folders_hint": "Devices in selected folders are visible to this user when folder ACL is configured.",
"user_direct_devices": "Direct devices",
"user_direct_devices_hint": "Grant access to specific devices regardless of folder or group membership.",
"user_direct_devices_placeholder": "Enter device IDs separated by commas",
"effective_scope_count": "{count} devices visible",
"loading_folders": "Loading folders...",
"no_folders": "No folders available",
"pro_strategy_label": "RustDesk Pro strategy",
"pro_strategy_hint": "Optional access-control strategy for RustDesk Pro client features (separate from panel role).",
"pro_strategy_none": "None",
"column_scope": "Scope"
},
"folders": {
"title": "Folders",
"create": "Tạo thư mục",
"edit": "Chỉnh sửa thư mục",
"delete": "Xóa thư mục",
"name": "Folder Name",
"name_placeholder": "Nhập tên thư mục",
"name_required": "Tên thư mục là bắt buộc",
"name_too_long": "Tên thư mục quá dài (tối đa 50 ký tự)",
"color": "Color",
"icon": "Icon",
"not_found": "Không tìm thấy thư mục",
"delete_confirm": "Bạn có chắc chắn muốn xóa thư mục này? Các thiết bị sẽ được bỏ chỉ định.",
"delete_success": "Đã xóa thư mục thành công",
"created": "Thư mục được tạo thành công",
"updated": "Đã cập nhật thư mục thành công",
"no_devices_selected": "Không có thiết bị nào được chọn",
"devices_moved": "Đã di chuyển thiết bị thành công",
"device_assigned": "Thiết bị được gán vào thư mục",
"unassigned": "Unassigned",
"all_devices": "Tất cả thiết bị",
"drag_hint": "Kéo thiết bị vào thư mục để sắp xếp chúng",
"move_to": "Di chuyển đến",
"toggle_sidebar": "Chuyển đổi thanh bên"
},
"errors": {
"forbidden_title": "Truy cập bị từ chối",
"forbidden_message": "Bạn không có quyền truy cập tài nguyên này.",
"not_found_title": "Không tìm thấy trang",
"not_found_message": "Trang bạn đang tìm kiếm không tồn tại hoặc đã bị di chuyển.",
"server_error_title": "Lỗi máy chủ",
"server_error_message": "Đã xảy ra lỗi. Vui lòng thử lại sau.",
"go_home": "Go Home",
"try_again": "Try Again",
"load_devices_failed": "Không tải được thiết bị",
"load_key_failed": "Không thể tải khóa",
"load_qr_failed": "Không tải được QR",
"load_audit_failed": "Không tải được nhật ký kiểm tra",
"load_users_failed": "Không tải được người dùng",
"load_folders_failed": "Không tải được thư mục",
"download_failed": "Tải xuống không thành công",
"logout_failed": "Đăng xuất không thành công",
"password_change_failed": "Không thể thay đổi mật khẩu",
"language_change_failed": "Không thể thay đổi ngn ngữ",
"ban_failed": "Không cấm được thiết bị",
"unban_failed": "Không thể bỏ cấm thiết bị",
"delete_failed": "Không xóa được thiết bị",
"change_id_failed": "Không thể thay đổi ID thiết bị",
"bulk_delete_failed": "Không thể xóa thiết bị",
"sync_failed": "Không thể đồng bộ hóa trạng thái",
"error": "Error",
"not_found": "Not found",
"server_error": "Lỗi máy chủ",
"load_device_failed": "Không tải được thiết bị",
"load_orgs_failed": "Không tải được tổ chức"
},
"remote": {
"title": "Máy tính để bàn từ xa",
"connecting": "Đang kết nối...",
"waiting_password": "Đang chờ mật khẩu",
"authenticating": "Đang xác thực...",
"streaming": "Connected",
"disconnected": "Disconnected",
"error": "Error",
"status_idle": "Idle",
"password_required": "Yêu cầu mật khẩu",
"enter_password_for": "Nhập mật khẩu cho thiết bị",
"password_placeholder": "Mật khẩu thiết bị",
"connect": "Connect",
"reconnect": "Reconnect",
"disconnect": "Disconnect",
"back_to_devices": "Quay lại Thiết bị",
"fullscreen": "Fullscreen",
"toggle_audio": "Chuyển đổi âm thanh",
"send_keys": "Gửi chìa khóa",
"scale_mode": "Scale Mode",
"scale_fit": "Phù hợp với cửa sổ",
"scale_fill": "Fill Window",
"scale_original": "Kích thước gốc (1:1)",
"scale_stretch": "Kéo dài để lấp đầy",
"actions": "Actions",
"lock_screen": "Màn hình khóa",
"restart_remote": "Khởi động lại thiết bị từ xa",
"refresh_screen": "Làm mới màn hình",
"clipboard_paste": "Dán từ Clipboard",
"block_input": "Block Input",
"reset_keyboard": "Đặt lại trạng thái bàn phím",
"reset_keyboard_done": "Đã đặt lại bàn phím trên máy remote",
"keyboard_mode": "Chế độ bàn phím",
"keyboard_mode_auto": "Tự động (Map, giống RustDesk)",
"keyboard_mode_legacy": "Legacy (ký tự)",
"keyboard_mode_map": "Map (scancode vật lý)",
"display_settings": "Cài đặt hiển thị",
"image_quality": "Chất lượng hình ảnh",
"quality_best": "Tốt nhất (Chất lượng đầy đủ, 60 khung hình / giây)",
"quality_balanced": "Balanced",
"quality_low": "Performance",
"show_cursor": "Hiển thị con trỏ từ xa",
"lock_after_session": "Khóa sau phiên",
"privacy_mode": "Chế độ riêng tư",
"disable_clipboard": "Tắt bảng nhớ tạm",
"chat": "Chat",
"chat_placeholder": "Nhập tin nhắn...",
"record": "Ghi lại màn hình",
"view_only": "Chỉ xem",
"pin_toolbar": "Ghim thanh công cụ",
"monitors": "Monitors",
"select_monitor": "Chọn màn hình",
"quality_speed": "Tốc độ (Chất lượng thấp, 60 khung hình/giây)",
"quality_quality": "Chất lượng (Tốt nhất, 30 khung hình/giây)",
"recording_started": "Đã bắt đầu ghi",
"recording_stopped": "Đã dừng ghi",
"download_recording": "Tải xuống bản ghi",
"e2e_encrypted": "Mã hóa đầu cuối",
"e2e_key_exchange": "Thiết lập kênh an toàn...",
"confirm_restart": "Bạn có chắc chắn muốn khởi động lại thiết bị từ xa không?",
"webcodecs_not_supported": "Trình duyệt của bạn không hỗ trợ WebCodecs API. Vui lòng sử dụng Chrome 94+ hoặc Edge 94+.",
"webcodecs_insecure_context": "WebCodecs không khả dụng trên HTTP. Video sử dụng dự phòng phần mềm. Để có hiệu suất tốt nhất, hãy sử dụng HTTPS.",
"webcodecs_fallback_active": "Phần mềm giải mã video đang hoạt động (hiệu suất hạn chế)",
"click_to_start": "Bấm để bắt đầu",
"autoplay_blocked": "Trình duyệt yêu cầu sự tương tác của người dùng để bắt đầu phát lại video và âm thanh.",
"start_playback": "Bắt đầu phát lại",
"new_connection": "Kết nối mới",
"device_id_placeholder": "Nhập ID thiết bị",
"session_picker": {
"title": "Chọn thiết bị",
"already_connected": "Đã kết nối"
},
"http_warning": "Chế độ HTTP: giới hạn ở giải mã phần mềm H.264 (~15 FPS). Sử dụng HTTPS để có hiệu suất tối đa (WebCodecs, VP9, 60 FPS).",
"file_transfer": "Truyền tệp",
"file_upload": "Upload",
"file_download": "Download",
"file_empty": "Thư mục này trống",
"file_transfers": "Transfers",
"file_complete": "Complete",
"file_error": "Chuyển không thành công",
"file_show_hidden": "Hiển thị các tập tin ẩn",
"file_new_folder": "New Folder",
"file_new_folder_prompt": "Nhập tên thư mục:",
"file_parent": "Thư mục mẹ",
"file_root": "Root",
"file_rename": "Rename",
"file_rename_prompt": "Nhập tên mới:",
"file_delete_confirm": "Bạn có chắc chắn muốn xóa mục này?",
"file_cancelled": "Đã hủy chuyển khoản",
"2fa_required": "Yêu cầu xác minh 2FA",
"2fa_hint": "Nhập mã gồm 6 chữ số từ ứng dụng xác thực của bạn",
"2fa_invalid": "Nhập mã gồm 6 chữ số hợp lệ",
"verify": "Verify",
"use_cdap_fallback": "Sử dụng trình xem CDAP",
"cdap_fallback_hint": "Open the lightweight JPEG-polling viewer that uses bd-signal/CDAP instead of the RustDesk relay. Useful when the peer is offline on the relay but reachable via the agent management channel.",
"clipboard_empty": "Bảng tạm trống",
"clipboard_denied": "Truy cập vào bảng nhớ tạm bị từ chối. HTTPS được yêu cầu hoặc quyền không được cấp.",
"file_loading": "Đang tải...",
"file_timeout": "Thiết bị từ xa không phản hồi. Truyền tệp có thể không được hỗ trợ hoặc bị tắt trên máy từ xa.",
"codec": "Bộ giải mã video",
"codec_auto": "Tự động (được khuyến nghị)",
"remember_peer_password": "Ghi nhớ mật khẩu thiết bị trên máy này",
"save_peer_password": "Lưu mật khẩu",
"input_mode_touch": "Chạm",
"input_mode_touchpad": "Touchpad",
"show_keyboard": "Bàn phím",
"special_keys": "Phím đặc biệt",
"special_print_screen": "Print Screen",
"mobile_toolbar": "Điều khiển từ xa",
"phone_unsupported_title": "Máy tính từ xa cần màn hình lớn hơn",
"phone_unsupported_body": "Dùng máy tính bảng, foldable mở hoặc desktop. Quản lý thiết bị vẫn ở console.",
"phone_unsupported_back_devices": "Quay lại thiết bị",
"phone_unsupported_get_desktop": "Tải RdClient desktop",
"file_local": "Máy tính cục bộ",
"file_remote": "Máy tính từ xa",
"file_send": "Gửi",
"file_pick_folder": "Chọn thư mục",
"file_queue_empty": "Không có truyền tải đang diễn ra",
"file_connecting": "Đang kết nối phiên truyền tệp…",
"file_connect_failed": "Không thể mở phiên truyền tệp",
"file_local_limited": "Duyệt thư mục cục bộ đầy đủ cần Chrome hoặc Edge qua HTTPS. Tải lên và tải xuống vẫn hoạt động.",
"file_transfer_unavailable_cdap": "Truyền tệp không khả dụng cho phiên ảnh chụp CDAP.",
"file_status_waiting": "Đang chờ…",
"file_status_transferring": "Đang truyền…",
"file_status_saving": "Đang lưu…",
"file_status_downloaded": "Đã tải xuống",
"file_status_uploaded": "Đã tải lên",
"file_drop_upload_hint": "Thả để tải lên: {path}",
"file_local_upload_hint": "Thả tệp vào hộp bên trái hoặc nhấp để tải lên. Đích là thư mục đang mở ở phía remote.",
"file_transfer_stalled": "Thiết bị từ xa không bắt đầu truyền",
"file_no_local_tree": "Chọn thư mục để duyệt tệp cục bộ (tùy chọn)",
"file_dropzone_title": "Thả tệp vào đây",
"file_dropzone_subtitle": "hoặc nhấp để chọn tệp",
"file_dropzone_multiple": "Hỗ trợ nhiều tệp",
"file_dropzone_waiting": "Đang chờ kết nối remote…",
"file_overwrite_title": "Tệp đã tồn tại",
"file_overwrite_message": "Tệp «{name}» đã có trên máy remote. Ghi đè?",
"file_overwrite_skip": "Bỏ qua",
"file_overwrite_skip_all": "Bỏ qua tất cả",
"file_overwrite_confirm": "Ghi đè",
"file_overwrite_all": "Ghi đè tất cả",
"file_resume": "Tiếp tục",
"file_open": "Mở",
"file_up": "Lên",
"file_home": "Trang chủ",
"file_hide_hidden": "Ẩn tệp ẩn",
"windows_sessions": "Phien Windows"
},
"branding": {
"identity_title": "Nhận diện thương hiệu",
"identity_desc": "Tùy chỉnh tên ứng dụng và mô tả hiển thị trên bảng điều khiển",
"app_name": "Tên ứng dụng",
"app_description": "Mô tả ứng dụng",
"logo_title": "Logo",
"logo_desc": "Chọn cách logo của bạn xuất hiện trong thanh bên và trang đăng nhập",
"logo_type_icon": "Biểu tượng vật liệu",
"logo_type_svg": "SVG Code",
"logo_type_image": "Image URL",
"logo_icon_name": "Icon Name",
"logo_icon_hint": "Nhập tên Biểu tượng Vật liệu (ví dụ: dns, đám mây, bảo mật). Xem phông chữ.google.com/icons",
"logo_svg_code": "SVG Code",
"logo_svg_hint": "Dán đánh dấu SVG của bạn vào đây. Hỗ trợ các phần tử <svg> đầy đủ với đường dẫn và kiểu.",
"logo_image_upload": "Tải hình ảnh lên",
"logo_image_choose": "Chọn tập tin hình ảnh",
"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": "Loi tệp không hợp lệ. Sử dụng PNG, JPG, GIF, WebP hoặc SVG.",
"preview": "Preview",
"colors_title": "Phối màu",
"colors_desc": "Tùy chỉnh bảng màu. Để trống để sử dụng mặc định.",
"colors_backgrounds": "Backgrounds",
"colors_text": "Text",
"colors_accents": "Màu nhấn",
"colors_borders": "Borders",
"import_export_title": "Nhập / Xuất",
"import_export_desc": "Lưu chủ đề của bạn dưới dạng tệp JSON hoặc nhập chủ đề từ một phiên bản khác",
"export_theme": "Xuất chủ đề",
"import_theme": "Nhập chủ đề",
"reset_defaults": "Đặt lại về mặc định",
"save_branding": "Lưu thương hiệu",
"saved": "Branding saved successfully.",
"exported": "Đã xuất chủ đề",
"imported": "Theme imported successfully.",
"import_error": "Không thể nhập chủ đề. Định dạng tập tin không hợp lệ.",
"reset_confirm": "Bạn có chắc chắn muốn đặt lại nhãn hiệu về mặc định không? Điều này không thể hoàn tác được.",
"reset_success": "Branding reset to defaults.",
"logo_type_text": "Text Logo",
"logo_text": "Logo Text",
"logo_text_hint": "Văn bản chính được hiển thị dưới dạng logo thương hiệu của bạn",
"logo_text_accent": "Accent Text",
"logo_text_accent_hint": "Văn bản phụ bên dưới logo (ví dụ: tên sản phẩm hoặc dòng giới thiệu)",
"logo_upload_success": "Logo đã được tải lên thành công.",
"typography_title": "Typography",
"typography_desc": "Chọn phông chữ cho tiêu đề và nội dung văn bản. Phông chữ được tải xuống máy chủ để tự lưu trữ.",
"font_heading": "Phông chữ tiêu đề",
"font_heading_hint": "Được sử dụng cho tiêu đề (H1H6) và logo văn bản",
"font_body": "Body Font",
"font_body_hint": "Được sử dụng cho văn bản nội dung và các thành phần giao diện người dùng",
"font_search_placeholder": "Tìm kiếm phông chữ...",
"font_system_default": "Mặc định hệ thống",
"font_clear": "Clear",
"font_cat_all": "All",
"font_downloaded_count": "phông chữ được tải xuống trên máy chủ",
"powered_by": "Được hỗ trợ bởi",
"background_title": "Nền & Giao diện",
"background_desc": "Đặt hình nền console, gradient hoặc nền màu đơn. Các thẻ sẽ nổi lên trên.",
"bg_type_none": "Không có",
"bg_type_color": "Màu đơn",
"bg_type_gradient": "Gradient",
"bg_type_image": "Hình ảnh",
"bg_color": "Màu nền",
"bg_gradient": "Gradient CSS",
"bg_gradient_hint": "Bất kỳ CSS gradient hợp lệ nào, vd: linear-gradient(135deg, #1e293b, #0f172a)",
"bg_image_upload": "Tải lên ảnh nền",
"bg_image_choose": "Chọn tệp ảnh",
"bg_image_hint": "PNG, JPG, WebP hoặc GIF. Tối đa 8 MB. Lưu trên máy chủ.",
"bg_image_url": "Đường dẫn / URL ảnh",
"bg_size": "Kích thước ảnh",
"bg_size_cover": "Phủ kín (lấp đầy màn hình)",
"bg_size_contain": "Vừa khít",
"bg_size_auto": "Tự động (gốc)",
"bg_blur": "Làm mờ nền",
"bg_overlay": "Lớp phủ tối",
"bg_overlay_hint": "Làm tối nền để văn bản dễ đọc hơn.",
"bg_image_too_large": "Ảnh quá lớn. Kích thước tối đa là 8 MB.",
"bg_image_invalid_type": "Loại tệp không hợp lệ. Sử dụng PNG, JPG, WebP hoặc GIF.",
"bg_upload_success": "Đã tải lên ảnh nền thành công.",
"login_title": "Trang đăng nhập",
"login_desc": "Tùy chỉnh tiêu đề, phụ đề và nền trang đăng nhập.",
"login_heading": "Tiêu đề đăng nhập",
"login_heading_placeholder": "Chào mừng trở lại",
"login_subheading": "Phụ đề đăng nhập",
"login_subheading_placeholder": "Đăng nhập vào tài khoản của bạn",
"login_bg_inherit": "Giống như console",
"agent_title": "Trang tải xuống Agent",
"agent_desc": "Tùy chỉnh cổng tải xuống agent công khai hiển thị cho người dùng cuối.",
"agent_show_powered": "Hiển thị \"Powered by BetterDesk\"",
"agent_show_powered_hint": "Hiển thị ghi nhận BetterDesk trong footer của cổng tải xuống.",
"footer_title": "Footer & Bản quyền",
"footer_desc": "Thêm dòng footer tùy chỉnh hiển thị trên trang đăng nhập và thanh bên console.",
"footer_text": "Văn bản footer",
"footer_text_hint": "vd: thông báo bản quyền hoặc tên công ty.",
"show_powered": "Hiển thị ghi nhận \"BetterDesk\"",
"show_powered_hint": "Hiển thị tên và phiên bản BetterDesk trong footer đăng nhập và thanh bên.",
"custom_css_title": "CSS tùy chỉnh",
"custom_css_desc": "Nâng cao: chèn CSS tùy chỉnh áp dụng trên toàn console và trang đăng nhập.",
"custom_css_hint": "Sử dụng cẩn thận. Các quy tắc không hợp lệ hoặc không an toàn sẽ bị làm sạch. Tối đa 20.000 ký tự.",
"save_now": "Save now",
"autosaved": "Changes saved automatically.",
"status_saved": "All changes saved",
"status_dirty": "Unsaved changes",
"status_saving": "Saving…",
"status_error": "Save failed",
"revert_changes": "Revert changes",
"profiles_label": "Appearance profile",
"profile_apply": "Apply profile",
"profile_new": "New profile",
"profile_save": "Save to profile",
"profile_duplicate": "Duplicate",
"profile_delete": "Delete",
"profile_none": "— Select profile —",
"profile_active": "active",
"profile_applied": "Profile applied.",
"profile_created": "Profile created.",
"profile_updated": "Profile updated.",
"profile_duplicated": "Profile duplicated.",
"profile_deleted": "Profile deleted.",
"profile_delete_confirm": "Delete this appearance profile?",
"profile_name_prompt": "Profile name:",
"profile_select_first": "Select a profile first.",
"builtin_themes": "Built-in themes",
"theme_apply_confirm": "Apply this built-in theme? Current settings will be replaced.",
"theme_applied": "Theme applied.",
"module_identity": "Identity & logo",
"module_colors": "Colors",
"module_typography": "Typography",
"module_backgrounds": "Console background",
"module_pages": "Login & agent pages",
"module_advanced": "Advanced",
"modules_nav": "Appearance modules",
"live_preview": "Live preview",
"preview_apply_page": "Preview on this page",
"preview_card_title": "Dashboard card",
"preview_card_body": "Sample body text showing your typography and colors.",
"preview_btn_primary": "Primary",
"preview_btn_secondary": "Secondary",
"font_google": "Google Fonts",
"font_local": "Downloaded",
"font_upload": "Upload custom",
"font_upload_choose": "Choose font file",
"font_upload_name": "Font family name",
"font_upload_success": "Font uploaded successfully.",
"font_local_empty": "No fonts downloaded yet.",
"font_delete": "Remove font",
"glass_title": "Bề mặt kính",
"glass_desc": "Nền kính mờ cho thẻ, hộp thoại, biểu mẫu và các thành phần bảng điều khiển khác.",
"glass_enabled": "Bật bề mặt kính",
"glass_color": "Màu tông kính",
"glass_color_hint": "Màu cơ bản cho các bảng mờ. Dùng màu nền phụ khi để trống.",
"glass_blur": "Làm mờ bề mặt",
"glass_opacity": "Độ mờ kính"
},
"device_detail": {
"tab_overview": "Tổng quan",
"tab_tags": "Thẻ & Ghi chú",
"tab_actions": "Actions",
"section_identity": "Identity",
"section_network": "Network",
"section_timestamps": "Timestamps",
"section_connect": "Kết nối",
"section_manage": "Quản lý",
"folder": "Folder",
"status_tier": "Status Tier",
"device_banned": "Thiết bị này bị cấm",
"no_reason": "Không có lý do nào được cung cấp",
"tags": "Tags",
"no_tags": "Không có thẻ nào được gán cho thiết bị này",
"tag_placeholder": "Nhập tên thẻ...",
"add_tag": "Add",
"tag_exists": "Thẻ này đã tồn tại",
"notes": "Notes",
"notes_placeholder": "Thêm ghi chú về thiết bị này...",
"danger_zone": "Danger Zone",
"action_connect_web": "Web từ xa",
"action_connect_web_desc": "Kết nối qua trình duyệt máy tính từ xa",
"action_native_remote": "Điều khiển từ xa BetterDesk",
"action_native_remote_desc": "Native JPEG stream — no plugins required",
"action_connect_desktop": "Máy khách để bàn",
"action_connect_desktop_desc": "Mở trong ứng dụng khách trên máy tính để bàn",
"action_change_id_desc": "Thay đổi ID đăng ký thiết bị",
"action_ban_desc": "Chặn kết nối thiết bị này",
"action_unban_desc": "Cho phép thiết bị này kết nối lại",
"action_delete_desc": "Xóa vĩnh viễn thiết bị này",
"tab_hardware": "Hardware",
"tab_metrics": "Số liệu",
"section_system": "System",
"section_cpu": "Processor",
"section_memory": "Memory",
"section_displays": "Displays",
"section_encoding": "Khả năng mã hóa",
"section_live_metrics": "Số liệu trực tiếp",
"section_current_usage": "Cách sử dụng hiện tại",
"section_usage_history": "Lịch sử sử dụng",
"os": "Operating System",
"version": "Client Version",
"cpu_model": "CPU Model",
"cpu_cores": "CPU Cores",
"cpu_freq": "Tần số CPU",
"total_memory": "Tổng bộ nhớ",
"metric_memory": "Memory",
"metric_disk": "Disk",
"metrics_updated": "Đã cập nhật",
"device_groups": "Nhóm",
"no_sysinfo": "Không có thông tin phần cứng",
"no_sysinfo_hint": "Thông tin hệ thống sẽ xuất hiện sau khi thiết bị gửi báo cáo sysinfo",
"no_metrics": "Không có sẵn dữ liệu số liệu",
"no_metrics_hint": "Số liệu sẽ xuất hiện sau khi thiết bị gửi báo cáo nhịp tim",
"chart_oldest": "← Oldest",
"chart_newest": "Newest →",
"tab_services": "Services",
"tab_processes": "Processes",
"tab_events": "Events",
"tab_activity": "Activity",
"tab_files": "Tập tin",
"agent_lazy_hint": "Nhấp vào tab này để tải dữ liệu trực tiếp từ đại lý",
"agent_offline": "Đại lý đang ngoại tuyến",
"agent_timeout": "Đại lý không phản hồi kịp thời",
"agent_error": "Không thể tải dữ liệu từ đại lý",
"service_name": "Name",
"service_display": "Tên hiển thị",
"service_status": "Status",
"service_start": "Start mode",
"process_name": "Name",
"process_user": "User",
"process_memory": "Memory"
},
"inventory": {
"title": "Inventory",
"subtitle": "Kiểm kê phần cứng và phần mềm của các thiết bị được quản lý",
"device_id": "ID thiết bị",
"hostname": "Hostname",
"os": "Operating System",
"cpu": "CPU",
"cpu_cores": "CPU Cores",
"cpu_usage": "CPU Usage",
"memory": "Memory",
"memory_total": "Tổng bộ nhớ",
"memory_used": "Used Memory",
"memory_available": "Bộ nhớ khả dụng",
"memory_usage": "Sử dụng bộ nhớ",
"swap": "Swap",
"disks": "Disks",
"disk_count": "Disk Count",
"network": "Network",
"network_interfaces": "Giao diện mạng",
"software": "Software",
"software_count": "Phần mềm đã cài đặt",
"system": "System",
"kernel": "Kernel",
"architecture": "Architecture",
"uptime": "Uptime",
"frequency": "Frequency",
"physical_cores": "Lõi vật lý",
"logical_cores": "Lõi logic",
"model": "Model",
"usage": "Usage",
"total": "Total",
"used": "Used",
"available": "Có sẵn",
"mount_point": "Mount Point",
"removable": "removable",
"mac_address": "MAC Address",
"ip_addresses": "Địa chỉ IP",
"traffic": "Traffic",
"collect_now": "Collect Now",
"collector_running": "Bộ sưu tập đang chạy",
"collector_stopped": "Người sưu tầm đã dừng",
"last_upload": "Last upload",
"total_uploads": "total",
"last_seen": "Last Seen",
"collected_at": "Thu thập tại",
"no_data": "Chưa có dữ liệu hàng tồn kho. Nhấp vào \"Thu thập ngay\" để thu thập thông tin hệ thống.",
"no_devices": "Không tìm thấy thiết bị nào có dữ liệu hàng tồn kho",
"detail_title": "Chi tiết kiểm kê thiết bị",
"telemetry": "Telemetry",
"view_detail": "Xem chi tiết",
"export": "Export",
"refresh": "Refresh"
},
"tickets": {
"title": "Tickets",
"subtitle": "Phiếu hỗ trợ và theo dõi vấn đề",
"create": "New Ticket",
"edit": "Chỉnh sửa vé",
"delete": "Xóa vé",
"detail": "Chi tiết vé",
"ticket_id": "Ticket ID",
"ticket_title": "Title",
"description": "Description",
"status": "Status",
"priority": "Priority",
"category": "Category",
"assigned_to": "Được giao cho",
"created_by": "Được tạo bởi",
"device": "Thiết bị",
"sla_due": "SLA Due",
"created_at": "Đã tạo",
"updated_at": "Đã cập nhật",
"resolved_at": "Resolved",
"closed_at": "Closed",
"status_open": "Mở",
"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": "Viết bình luận...",
"internal_note": "Ghi chú nội bộ (không hiển thị cho người dùng cuối)",
"attachments": "Attachments",
"upload_attachment": "Tải lên tệp đính kèm",
"download": "Download",
"connect_device": "Kết nối với thiết bị",
"no_tickets": "Không tìm thấy vé",
"no_comments": "Chưa có bình luận nào",
"no_attachments": "Không có tệp đính kèm",
"title_required": "Tiêu đề là bắt buộc",
"delete_confirm": "Bạn có chắc chắn muốn xóa vé #{id} không?",
"delete_success": "Đã xóa vé thành công",
"created_success": "Đã tạo vé thành công",
"updated_success": "Đã cập nhật vé thành công",
"sla_overdue": "SLA Overdue",
"filter_all": "All",
"search_placeholder": "Tìm kiếm vé...",
"assign_to_me": "Giao cho tôi",
"unassign": "Unassign",
"stats_total": "Total",
"stats_open": "Mở",
"stats_in_progress": "In Progress",
"stats_resolved": "Resolved",
"stats_closed": "Closed"
},
"activity": {
"title": "Giám sát hoạt động",
"subtitle": "Việc sử dụng ứng dụng và theo dõi khi không hoạt động",
"device": "Thiết bị",
"hostname": "Hostname",
"sessions": "Phiên",
"idle_time": "Idle Time",
"active_time": "Active Time",
"last_report": "Last Report",
"top_apps": "Ứng dụng hàng đầu",
"app_name": "Application",
"window_title": "Tiêu đề cửa sổ",
"category": "Category",
"duration": "Duration",
"started_at": "Started",
"ended_at": "Ended",
"session_count": "Số phiên",
"total_active": "Tổng số hoạt động",
"total_idle": "Total Idle",
"detail_count": "Bản ghi chi tiết",
"no_data": "Không có dữ liệu hoạt động",
"no_sessions": "Không có phiên nào",
"filter_from": "Từ",
"filter_to": "Đến",
"filter_apply": "Áp dụng bộ lọc",
"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": "Tìm kiếm thiết bị...",
"date_range": "Date Range",
"device_id": "ID thiết bị",
"session_start": "Bắt đầu phiên",
"session_end": "Kết thúc phiên",
"user": "User",
"no_activity": "Không có hoạt động nào được ghi lại",
"reported_at": "Reported At",
"detail": "Detail",
"no_apps": "Không có ứng dụng"
},
"automation": {
"title": "Tự động hóa & Cảnh báo",
"subtitle": "Quy tắc cảnh báo và lệnh từ xa",
"rules": "Alert Rules",
"rules_subtitle": "Xác định các điều kiện kích hoạt thông báo",
"alerts": "Lịch sử cảnh báo",
"alerts_subtitle": "Xem và xác nhận cảnh báo được kích hoạt",
"commands": "Lệnh từ xa",
"commands_subtitle": "Gửi lệnh đến các thiết bị từ xa",
"smtp": "Cấu hình SMTP",
"smtp_subtitle": "Cài đặt thông báo qua email",
"rule_name": "Rule Name",
"description": "Description",
"condition_type": "Loại tình trạng",
"condition_op": "Operator",
"condition_value": "Threshold",
"severity": "Severity",
"scope_device": "Thiết bị mục tiêu",
"scope_all": "Tất cả thiết bị",
"cooldown": "Thời gian hồi chiêu (giây)",
"notify_emails": "Email thông báo",
"enabled": "Đã bật",
"disabled": "Đã tắt",
"create_rule": "Tạo quy tắc",
"edit_rule": "Chỉnh sửa quy tắc",
"delete_rule": "Xóa quy tắc",
"acknowledge": "Acknowledge",
"acknowledged": "Acknowledged",
"unacknowledged": "Unacknowledged",
"triggered_at": "Kích hoạt vào lúc",
"severity_info": "Info",
"severity_warning": "Warning",
"severity_critical": "Critical",
"op_gt": "Lớn hơn",
"op_gte": "Lớn hơn hoặc bằng",
"op_lt": "Less than",
"op_lte": "Ít hơn hoặc bằng",
"op_eq": "bằng với",
"op_neq": "Không bằng",
"type_cpu_usage": "Mức sử dụng CPU (%)",
"type_memory_usage": "Mức sử dụng bộ nhớ (%)",
"type_disk_usage": "Sử dụng đĩa (%)",
"type_offline_duration": "(Các) thời lượng ngoại tuyến",
"type_idle_duration": "Thời lượng nhàn rỗi (s)",
"type_custom": "Custom",
"command_type": "Loại lệnh",
"command_payload": "Lệnh / Tập lệnh",
"command_result": "Result",
"command_status": "Status",
"send_command": "Gửi lệnh",
"status_pending": "Pending",
"status_running": "Running",
"status_completed": "Completed",
"status_failed": "thất bại",
"smtp_host": "SMTP Host",
"smtp_port": "Port",
"smtp_secure": "Use TLS",
"smtp_user": "Tên người dùng",
"smtp_pass": "Mật khẩu",
"smtp_from": "Từ địa chỉ",
"smtp_test": "Kiểm tra kết nối",
"smtp_save": "Lưu cấu hình",
"smtp_test_success": "Kết nối thành công",
"smtp_test_failed": "Kết nối không thành công",
"no_rules": "Không có quy tắc cảnh báo nào được định cấu hình",
"no_alerts": "Không có cảnh báo nào được kích hoạt",
"no_commands": "Không có lệnh nào được gửi",
"id_payload_required": "Cần có ID thiết bị và tải trọng",
"no_commands_sent": "Chưa có lệnh nào được gửi"
},
"file_transfer": {
"title": "Truyền tệp",
"transfers": "Transfers",
"new_transfer": "Chuyển nhượng mới",
"upload": "Upload",
"download": "Download",
"direction": "Direction",
"filename": "Filename",
"file_size": "Kích thước tệp",
"mime_type": "MIME Type",
"progress": "Progress",
"status": "Status",
"device": "Thiết bị",
"initiated_by": "Khởi xướng bởi",
"created_at": "Được tạo tại",
"cancel": "Hủy bỏ",
"cancel_confirm": "Bạn có chắc chắn muốn hủy quá trình chuyển này không?",
"download_file": "Tải tập tin xuống",
"browse_files": "Duyệt tập tin",
"select_file": "Chọn tệp",
"select_device": "Chọn thiết bị",
"no_transfers": "Không chuyển tập tin",
"status_pending": "Pending",
"status_active": "Active",
"status_completed": "Completed",
"status_failed": "thất bại",
"status_cancelled": "Cancelled",
"bytes_transferred": "Byte được chuyển",
"chunks": "Chunks",
"transfer_started": "Đã bắt đầu chuyển",
"transfer_completed": "Chuyển hoàn tất",
"transfer_failed": "Chuyển không thành công",
"transfer_cancelled": "Đã hủy chuyển khoản",
"max_file_size": "Kích thước tệp tối đa: 4 GB",
"error_too_large": "Tệp quá lớn",
"error_no_device": "Không có thiết bị nào được chọn",
"error_no_file": "Không có tập tin nào được chọn"
},
"network": {
"title": "Giám sát mạng",
"targets": "Mục tiêu giám sát",
"add_target": "Add Target",
"edit_target": "Chỉnh sửa mục tiêu",
"delete_target": "Xóa mục tiêu",
"delete_confirm": "Bạn có chắc chắn muốn xóa mục tiêu này?",
"target_name": "Name",
"host": "Host",
"port": "Port",
"url": "URL",
"check_type": "Check Type",
"timeout": "Thời gian chờ (ms)",
"interval": "Khoảng thời gian (ms)",
"enabled": "Đã bật",
"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": "Kiểm tra lịch sử",
"stats": "Statistics",
"total_targets": "Tổng số mục tiêu",
"targets_up": "Targets Up",
"targets_down": "Mục tiêu xuống",
"type_ping": "Ping (ICMP)",
"type_tcp": "TCP Port",
"type_http": "HTTP",
"type_https": "HTTPS",
"tools": "Công cụ mạng",
"ping_tool": "Ping Test",
"tcp_tool": "Kiểm tra cổng TCP",
"http_tool": "HTTP Check",
"dns_tool": "DNS Resolve",
"monitor_start": "Bắt đầu màn hình",
"monitor_stop": "Dừng màn hình",
"monitor_running": "Màn hình đang chạy",
"monitor_stopped": "Màn hình bị dừng",
"no_targets": "Không có mục tiêu giám sát nào đưc cấu hình",
"no_history": "Không có lịch sử kiểm tra",
"error_code": "Error",
"status_code": "Mã trạng thái HTTP",
"search_targets": "Tìm kiếm mục tiêu...",
"name": "Name",
"tab_targets": "Targets",
"tab_tools": "Tools",
"avg_latency": "Avg Latency",
"type": "Type",
"latency": "Latency",
"check_history": "Kiểm tra lịch sử",
"name_host_required": "Tên và máy chủ là bắt buộc",
"uptime": "Uptime",
"response_time": "Thời gian đáp ứng",
"avg_response": "Phản hồi trung bình",
"charts": "Charts",
"realtime": "Realtime",
"response_time_ms": "Thời gian đáp ứng (ms)",
"uptime_percent": "Uptime %",
"last_24h": "24 giờ qua",
"last_7d": "Last 7 days",
"last_30d": "30 ngày qua"
},
"dataguard": {
"title": "DataGuard — DLP",
"policies": "Chính sách DLP",
"add_policy": "Thêm chính sách",
"edit_policy": "Chỉnh sửa chính sách",
"delete_policy": "Xóa chính sách",
"delete_confirm": "Bạn có chắc chắn muốn xóa chính sách này?",
"policy_name": "Name",
"policy_description": "Description",
"status": "Status",
"enabled": "Đã bật",
"disabled": "Đã tắt",
"rules": "Rules",
"add_rule": "Add Rule",
"rule_type": "Rule Type",
"rule_type_usb": "Thiết bị USB",
"rule_type_file": "Thao tác với tệp",
"action": "Action",
"action_allow": "Allow",
"action_block": "Block",
"action_log": "Log Only",
"filter": "Filter",
"vid": "ID nhà cung cấp (VID)",
"pid": "ID sản phẩm (PID)",
"serial": "Số sê-ri",
"device_class": "Lớp thiết bị",
"drive_type": "Drive Type",
"file_extensions": "Phần mở rộng tệp",
"events": "DLP Events",
"event_source": "Source",
"event_source_usb": "USB",
"event_source_file": "tập tin",
"event_type": "Event Type",
"event_details": "Details",
"no_policies": "Không có chính sách DLP nào được định cấu hình",
"no_events": "Không có sự kiện DLP nào được ghi lại",
"stats": "Statistics",
"total_events": "Tổng số sự kiện",
"blocked_events": "Blocked",
"logged_events": "Logged",
"usb_events": "USB Events",
"file_events": "Sự kiện tệp",
"device_id": "ID thiết bị",
"policy_matched": "Chính sách phù hợp",
"timestamp": "Timestamp",
"drive_removable": "Removable",
"drive_fixed": "Fixed",
"drive_network": "Network",
"drive_cdrom": "CD-ROM",
"drive_unknown": "Unknown",
"total_policies": "Chính sách tổng thể",
"active_policies": "Chính sách hoạt động",
"violations": "Violations",
"blocked": "Blocked",
"tab_policies": "Chính sách",
"tab_events": "Events",
"search_policies": "Chính sách tìm kiếm...",
"create_policy": "Tạo chính sách",
"policy_type": "Loại chính sách",
"scope": "Scope",
"events_count": "Events",
"search_events": "Tìm kiếm sự kiện...",
"event_time": "Event Time",
"device": "Thiết bị",
"policy": "Chính sách",
"detail": "Detail",
"scope_help": "ID thiết bị được phân tách bằng dấu phẩy hoặc để trống tất cả",
"scope_all": "Tất cả thiết bị",
"active": "Active",
"type_file_type": "Loại tệp",
"type_clipboard": "Bảng nhớ tạm",
"type_screen_share": "Chia sẻ màn hình",
"type_file_transfer": "Truyền tệp",
"policy_desc": "Mô tả chính sách",
"type_usb": "USB"
},
"reports": {
"title": "Reports",
"generate": "Tạo báo cáo",
"generate_csv": "Export CSV",
"report_type": "Report Type",
"type_devices": "Tóm tắt thiết bị",
"type_activity": "Tóm tắt hoạt động",
"type_security": "Báo cáo bảo mật",
"type_tickets": "Báo cáo vé",
"type_network": "Báo cáo mạng",
"type_inventory": "Báo cáo tồn kho",
"type_alerts": "Báo cáo cảnh báo",
"saved": "Báo cáo đã lưu",
"save_report": "Lưu báo cáo",
"delete_report": "Xóa báo cáo",
"delete_confirm": "Bạn có chắc chắn muốn xóa báo cáo đã lưu này không?",
"no_saved": "Không có báo cáo nào được lưu",
"report_title": "Title",
"created_by": "Được tạo bởi",
"created_at": "Được tạo tại",
"filters": "Filters",
"date_from": "Từ",
"date_to": "Đến",
"device_filter": "ID thiết bị",
"generated_at": "Được tạo vào lúc",
"section": "Phần dữ liệu",
"total_devices": "Tổng số thiết bị",
"online": "Online",
"offline": "Offline",
"banned": "Banned",
"platform_distribution": "Phân phối nền tảng",
"top_applications": "Ứng dụng hàng đầu",
"total_active": "Tổng thời gian hoạt động",
"total_idle": "Tổng thời gian nhàn rỗi",
"dlp_stats": "Thống kê DLP",
"banned_devices": "Thiết bị bị cấm",
"audit_logs": "Audit Logs",
"ticket_stats": "Thống kê vé",
"category_distribution": "Phân phối danh mục",
"priority_distribution": "Phân phối ưu tiên",
"targets_status": "Trạng thái mục tiêu",
"os_distribution": "Phân phối hệ điều hành",
"avg_ram": "Average RAM",
"alert_rules": "Alert Rules",
"recent_alerts": "Cảnh báo gần đây",
"tab_generate": "Tạo báo cáo",
"tab_saved": "Báo cáo đã lưu",
"type_devices_desc": "Tổng quan về tất cả các thiết bị, nền tảng và trạng thái",
"type_activity_desc": "Tóm tắt mức sử dụng ứng dụng và thời gian nhàn rỗi",
"type_security_desc": "Cấm hành động, sự kiện DLP và nhật ký kiểm tra",
"type_tickets_desc": "Thống kê vé và hiệu suất SLA",
"type_network_desc": "Mục tiêu giám sát mạng và dữ liệu thời gian hoạt động",
"type_inventory_desc": "Tóm tắt kiểm kê phần cứng và phần mềm",
"type_alerts_desc": "Quy tắc cảnh báo và lịch sử cảnh báo được kích hoạt",
"report_name": "Report Name",
"format": "Format",
"save": "Lưu báo cáo",
"preview": "Preview",
"download": "Download",
"delete_saved": "Xóa báo cáo",
"raw_json": "Raw JSON"
},
"tenants": {
"title": "Tenants",
"list": "Tenants",
"add_tenant": "Add Tenant",
"edit_tenant": "Chỉnh sửa người thuê nhà",
"delete_tenant": "Xóa người thuê",
"delete_confirm": "Bạn có chắc chắn muốn xóa người thuê nhà này không? Tất cả các nhiệm vụ của thiết bị và người dùng sẽ bị xóa.",
"name": "Name",
"slug": "Slug",
"contact_name": "Tên liên hệ",
"contact_email": "Email liên hệ",
"max_devices": "Thiết bị tối đa",
"max_devices_hint": "0 = không giới hạn",
"notes": "Notes",
"active": "Active",
"inactive": "Inactive",
"devices": "Thiết bị",
"users": "Users",
"assign_device": "Chỉ định thiết bị",
"assign_devices": "Chỉ định thiết bị",
"remove_device": "Xóa thiết bị",
"assign_user": "Assign User",
"remove_user": "Remove User",
"no_tenants": "Không có đối tượng thuê nào được định cấu hình",
"no_devices": "Không có thiết bị nào được chỉ định cho đối tượng thuê này",
"no_users": "Không có người dùng nào được chỉ định cho đối tượng thuê này",
"stats": "Thống kê người thuê nhà",
"total_devices": "Tổng số thiết bị",
"online_devices": "Thiết bị trực tuyến",
"total_users": "Total Users",
"created_at": "Được tạo tại",
"updated_at": "Cập nhật lúc",
"slug_exists": "Slug của người thuê đã tồn tại",
"total_tenants": "Tổng số người thuê nhà",
"active_tenants": "Người thuê đang hoạt động",
"search": "Tìm kiếm người thuê nhà...",
"create_tenant": "Tạo người thuê",
"detail": "Chi tiết người thuê nhà",
"contact": "Contact",
"enabled": "Đã bật",
"disabled": "Đã tắt",
"max": "max",
"info": "Tenant Info",
"status": "Status"
},
"registrations": {
"title": "Device Registrations",
"subtitle": "Manage registration requests from devices discovered via LAN",
"search_placeholder": "Tìm kiếm theo ID thiết bị, tên máy chủ hoặc IP...",
"no_registrations": "No registration requests",
"col_device_id": "ID thiết bị",
"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": "Bạn có chắc chắn muốn phê duyệt thiết bị này không? Nó sẽ nhận được thông tin xác thực của máy chủ và có thể kết nối tự động.",
"approved_success": "Đăng ký thiết bị đã được phê duyệt thành công",
"reject_btn": "Reject",
"reject_title": "Từ chối đăng ký",
"reject_confirm": "Bạn có chắc chắn muốn từ chối yêu cầu đăng ký này không?",
"reject_reason": "Lý do (tùy chọn)",
"reject_reason_placeholder": "Nhập lý do từ chối...",
"rejected_success": "Đăng ký thiết bị bị từ chối",
"delete_confirm": "Bạn có chắc chắn muốn xóa hồ sơ đăng ký này?",
"deleted_success": "Hồ sơ đăng ký đã bị xóa",
"enrollment_title": "Đăng ký thiết bị",
"enrollment_subtitle": "Yêu cầu đăng ký đang chờ xử lý từ máy khách để bàn BetterDesk",
"enrollment_empty": "Không có yêu cầu đăng ký đang chờ xử lý",
"enrollment_approve": "Approve",
"enrollment_reject": "Reject",
"enrollment_display_name": "Tên hiển thị",
"enrollment_display_name_placeholder": "Nhập tên cho thiết bị này...",
"enrollment_sync_mode": "Chế độ đồng bộ",
"enrollment_sync_silent": "Silent — minimal telemetry",
"enrollment_sync_standard": "Standard — balanced sync",
"enrollment_sync_turbo": "Turbo — aggressive sync",
"enrollment_approved_success": "Đã phê duyệt đăng ký thiết bị",
"enrollment_rejected_success": "Đăng ký thiết bị bị từ chối",
"approve_title": "Phê duyệt thiết bị",
"field_name": "Tên thiết bị",
"field_name_placeholder": "Nhập tên cho thiết bị này...",
"field_sync_mode": "Chế độ đồng bộ",
"sync_standard": "Tiêu chuẩn — đồng bộ cân bằng",
"sync_silent": "Im lặng — telemetry tối thiểu",
"sync_turbo": "Turbo — đồng bộ tích cực",
"field_tags": "Thẻ",
"field_tags_placeholder": "Thẻ phân cách bằng dấu phẩy (vd: văn phòng, laptop)...",
"field_tags_existing": "Thẻ hiện có",
"field_tag_add_placeholder": "Thêm thẻ mới...",
"field_tag_add_btn": "Thêm",
"field_groups": "Nhóm thiết bị",
"field_folder": "Thư mục",
"field_folder_none": "Không có thư mục",
"reject_ban_option": "Cấm thiết bị này",
"reject_ban_hint": "Thiết bị sẽ bị chặn và không thể gửi yêu cầu đăng ký mới.",
"banner_open_mode": "Đăng ký đang mở — các RustDesk client mới đăng ký mà không cần phê duyệt của người vận hành. Đặt chế độ Managed trong Cài đặt để dùng hàng chờ này.",
"banner_locked_mode": "Đăng ký bị khóa — chỉ thiết bị liên kết token mới có thể đăng ký. Cần chế độ Managed để người vận hành phê duyệt client chưa biết.",
"enrollment_settings_link": "Cài đặt đăng ký"
},
"backup": {
"title": "Backup",
"desc": "Tải xuống bản sao lưu đầy đủ cấu hình bảng điều khiển, người dùng, nhóm và cài đặt của bạn. Dữ liệu ngang hàng Go server được bao gồm khi chương trình phụ trợ BetterDesk hoạt động.",
"restore_title": "Restore",
"restore_desc": "Tải lên tệp sao lưu đã tải xuống trước đó để khôi phục cấu hình bảng điều khiển. Chọn phần cần khôi phục bên dưới.",
"stat_users": "Users",
"stat_settings": "Cài đặt",
"stat_folders": "Folders",
"stat_groups": "Nhóm",
"stat_strategies": "Strategies",
"stat_backend": "Backend",
"download": "Tải xuống bản sao lưu",
"creating": "Đang tạo bản sao lưu...",
"download_success": "Đã tải xuống bản sao lưu thành công",
"upload": "Tải lên bản sao lưu",
"restore_confirm": "Bạn có chắc chắn muốn khôi phục từ bản sao lưu này không? Các phần được chọn sẽ bị ghi đè.",
"restore_success": "Sao lưu được khôi phục thành công. Một số thay đổi có thể yêu cầu tải lại trang.",
"restored": "Restored",
"skipped": "Skipped",
"backup_date": "Backup date",
"opt_settings": "Cài đặt bảng điều khiển",
"opt_branding": "Xây dựng thương hiệu/Chủ đề",
"opt_folders": "Thư mục thiết bị",
"opt_groups": "Nhóm người dùng và thiết bị",
"opt_addressbooks": "Sổ địa chỉ",
"opt_users": "Tài khoản người dùng",
"opt_users_warning": "Phá hủy: thay thế TẤT CẢ tài khoản người dùng bằng dữ liệu sao lưu. Bạn có thể đã đăng xuất.",
"no_file": "Không có tập tin sao lưu nào được chọn",
"invalid_json": "Tệp sao lưu không hợp lệ: JSON không hợp lệ",
"invalid_format": "Tệp sao lưu không hợp lệ: không phải là bản sao lưu BetterDesk",
"stat_database": "Engine cơ sở dữ liệu",
"stat_keys": "Đã bao gồm server keys",
"stat_env": "Tệp environment",
"stat_uploads": "Tệp branding",
"restart_required": "Một số thành phần được khôi phục (keys / .env / Go database) cần khởi động lại dịch vụ để có hiệu lực.",
"security_warning": "Bản sao lưu này chứa thông tin bí mật (server keys, environment file, password hashes và 2FA secrets). Lưu trữ an toàn và không chia sẻ.",
"restore_warning": "Khôi phục secrets, environment file hoặc Go server database sẽ ghi đè server identity và cần khởi động lại dịch vụ sau đó.",
"opt_database": "Cơ sở dữ liệu (tất cả bảng)",
"opt_database_hint": "Nhập lại tất cả dữ liệu console. Áp dụng trực tiếp, không cần khởi động lại.",
"opt_uploads": "Tệp branding",
"opt_uploads_hint": "Logo và ảnh đã tải lên.",
"opt_secrets": "Khóa & bí mật máy chủ",
"opt_secrets_warning": "Ghi đè Ed25519 server identity, API key và session secret. Cần khởi động lại dịch vụ.",
"opt_env": "Tệp môi trường (.env)",
"opt_env_warning": "Ghi đè SESSION_SECRET, API key, database DSN, ports và TLS settings. Cần khởi động lại dịch vụ.",
"opt_godb": "Cơ sở dữ liệu máy chủ Go",
"opt_godb_warning": "Ghi đè Go server SQLite database (chỉ SQLite backend). Cần khởi động lại dịch vụ."
},
"cdap": {
"device_detail": "Thiết bị CDAP",
"loading": "Đang tải...",
"loading_widgets": "Đang tải tiện ích thiết bị...",
"load_error": "Không tải được dữ liệu thiết bị",
"connected": "Connected",
"disconnected": "Disconnected",
"device_offline_msg": "Thiết bị hiện đang ngoại tuyến. Giá trị widget có thể cũ.",
"no_widgets": "Không có tiện ích nào",
"no_widgets_desc": "Thiết bị này chưa đăng ký bảng kê khai CDAP với các định nghĩa tiện ích.",
"command_log": "Command Log",
"clear_log": "Clear log",
"confirm_command": "Xác nhận lệnh",
"select_option": "chọn",
"cdap_status": "CDAP Status",
"cdap_enabled": "CDAP Enabled",
"cdap_disabled": "CDAP Disabled",
"cdap_devices": "CDAP Devices",
"cdap_connections": "Active Connections",
"send_command": "Gửi lệnh",
"command_sent": "Lệnh đã được gửi thành công",
"command_failed": "Không gửi được lệnh",
"devices_title": "Thiết bị CDAP",
"devices_subtitle": "Các thiết bị được kết nối thông qua Giao thức ứng dụng thiết bị tùy chỉnh",
"stat_connected": "Connected",
"stat_port": "Port",
"search_devices": "Tìm kiếm thiết bị...",
"no_devices": "Không có thiết bị nào được kết nối",
"no_devices_desc": "Hiện không có thiết bị CDAP nào được kết nối. Các thiết bị sẽ xuất hiện ở đây sau khi chúng kết nối với cổng.",
"gateway_disabled": "Cổng CDAP bị vô hiệu hóa",
"gateway_disabled_desc": "Kích hoạt cổng CDAP bằng cách đặt CDAP_ENABLED=true trong cấu hình máy chủ.",
"gateway_active": "Active",
"toggle_enable": "Enable CDAP",
"toggle_disable": "Vô hiệu hóa CDAP",
"enabled_restart": "Đã bật CDAP. Cần phải khởi động lại máy chủ để áp dụng các thay đổi.",
"disabled_restart": "CDAP bị vô hiệu hóa. Cần phải khởi động lại máy chủ để áp dụng các thay đổi.",
"widgets": "vật dụng",
"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": "Cảnh báo hoạt động",
"alert_fired": "Alert fired",
"alert_cleared": "Đã xóa thông báo",
"no_alerts": "Không có cảnh báo hoạt động",
"connect_terminal": "Kết nối thiết bị đầu cuối",
"table_search": "Tìm kiếm...",
"just_now": "Just now",
"terminal_connecting": "Đang kết nối với thiết bị...",
"terminal_disconnected": "Disconnected",
"terminal_error": "Kết nối thiết bị đầu cuối không thành công",
"linked_devices": "Thiết bị được liên kết",
"link_device": "Liên kết thiết bị",
"unlink_device": "Unlink",
"no_linked_devices": "Không có thiết bị được liên kết",
"unlink_confirm": "Bạn có chắc chắn muốn hủy liên kết thiết bị này không?",
"link_prompt": "Nhập ID ngang hàng để liên kết với thiết bị này:",
"connect_desktop": "Kết nối máy tính để bàn",
"connect_video": "Kết nối luồng",
"connect_files": "Duyệt tập tin",
"connect_audio": "Kết nối âm thanh",
"upload_file": "Upload",
"desktop_connecting": "Đang kết nối...",
"video_connecting": "Đang kết nối...",
"files_connecting": "Đang kết nối...",
"audio_connecting": "Đang kết nối...",
"audio_streaming": "Streaming",
"clipboard_in": "Đã nhận được bảng nhớ tạm",
"clipboard_out": "Đã gửi bảng nhớ tạm",
"monitor_select": "Chọn màn hình",
"keyframe_request": "Yêu cầu khung hình chính",
"quality_auto": "Chất lượng ô tô"
},
"desktop": {
"switch_mode": "Chế độ máy tính để bàn",
"console_mode": "Chế độ bảng điều khiển",
"loading": "Đang tải...",
"minimize": "Minimize",
"maximize": "Maximize",
"restore": "Restore",
"close": "Đóng",
"widgets_mode": "Widget",
"windows_mode": "Windows",
"wallpaper": "Wallpaper",
"add_widget": "Thêm tiện ích",
"remove_widget": "Xóa tiện ích",
"pop_out_widget": "Pop Out",
"pop_in_widget": "Pop In",
"configure": "Cấu hình",
"search_widgets": "Tìm kiếm các tiện ích...",
"cat_monitoring": "Monitoring",
"cat_devices": "Thiết bị",
"cat_tools": "Tools",
"cat_general": "General",
"notes_placeholder": "Viết ghi chú ở đây...",
"search_placeholder": "Tìm kiếm thit bị, trang, cài đặt...",
"search_pages": "Pages",
"search_devices": "Thiết bị",
"search_no_results": "No results",
"exit_desktop": "Thoát khỏi chế độ máy tính để bàn",
"refresh": "Refresh",
"widget_clock": "Clock",
"widget_device_status": "Trạng thái thiết bị",
"widget_server_health": "Thông tin máy chủ",
"widget_system_stats": "Đồng hồ đo thiết bị",
"widget_device_list": "Danh sách thiết bị",
"widget_quick_actions": "Thao tác nhanh",
"widget_recent_activity": "Hoạt động gần đây",
"widget_notes": "Notes",
"widget_network_monitor": "Giám sát mạng",
"widget_tickets_summary": "Tickets",
"widget_iframe": "Web Embed",
"widget_cdap_devices": "Thiết bị CDAP",
"widget_uptime": "Uptime",
"widget_port_status": "Port Status",
"widget_device_grid": "Lưới thiết bị",
"widget_multi_gauge": "Đồng hồ đo máy chủ",
"widget_weekly_chart": "Hoạt động hàng tuần",
"widget_quick_controls": "Điều khiển nhanh",
"widget_bandwidth": "Bandwidth",
"widget_connection_stats": "Thống kê kết nối",
"widget_weather": "Weather",
"widget_world_clock": "World Clock",
"widget_bookmarks": "Bookmarks",
"widget_user_sessions": "Phiên người dùng",
"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": "Không có thiết bị",
"label_no_activity": "No activity",
"label_no_targets": "No targets",
"label_unavailable": "Unavailable",
"label_open": "Mở",
"label_in_progress": "In Progress",
"label_resolved": "Resolved",
"label_set_url": "Đặt URL trong cấu hình",
"label_server_uptime": "Thời gian hoạt động của máy chủ",
"label_merged_info": "Đã hợp nhất vào tiện ích Thông tin máy chủ",
"label_with_notes": "Có ghi chú",
"label_metric": "Metric",
"label_count": "Count",
"label_total_devices": "Tổng số thiết bị",
"label_throughput": "Throughput",
"label_active_relays": "Rơle hoạt động",
"label_total_relayed": "Tổng chuyển tiếp",
"label_total_bytes": "Total Bytes",
"label_filter_devices": "Thiết bị lọc...",
"label_all": "All",
"label_ban": "Ban",
"label_unban": "Unban",
"label_connect": "Connect",
"label_no_cdap_devices": "Không có thiết bị CDAP",
"action_add_widget": "Thêm tiện ích",
"label_merged_server_info": "Đã hợp nhất vào tiện ích Thông tin máy chủ",
"wp_images": "Images",
"wp_colors": "Màu sắc đồng nhất",
"wp_custom_color": "Màu tùy chỉnh",
"wp_fit_style": "Style",
"wp_fill": "Fill",
"wp_fit": "Fit",
"wp_stretch": "Stretch",
"wp_center": "Center",
"wp_unavailable": "Hình nền không được cài đặt trên máy chủ này.",
"wp_download_hint": "Đặt hình ảnh PNG vào thư mục public/wallpapers/ để cho phép chọn hình nền.",
"widget_calendar": "Calendar",
"widget_process_monitor": "Giám sát quá trình",
"widget_disk_usage": "Disk Usage",
"widget_log_viewer": "Log Viewer",
"widget_speed_test": "Speed Test",
"widget_database_stats": "Thống kê cơ sở dữ liệu",
"widget_docker_containers": "Thùng chứa Docker",
"widget_shell_command": "Lệnh Shell",
"widget_device_map": "Bản đồ thiết bị",
"widget_remote_connect": "Kết nối từ xa",
"label_no_online": "Không có thiết bị trực tuyến",
"label_no_events": "Không có sự kiện nào hôm nay",
"label_event_title": "Tiêu đề sự kiện:",
"label_no_data": "Không có sẵn dữ liệu",
"label_download_speed": "Tốc độ tải xuống",
"label_latency": "Latency",
"label_server": "Máy chủ",
"label_run_test": "Run Test",
"label_testing": "Đang thử nghiệm...",
"label_table": "Table",
"label_rows": "Rows",
"label_last_backup": "Last Backup",
"label_no_containers": "Không có thùng chứa",
"label_docker_unavailable": "Docker không có sẵn",
"label_no_command": "Không có lệnh nào được cấu hình",
"label_no_output": "Chưa có đầu ra",
"label_run": "Run",
"label_presets": "Presets",
"label_save_preset": "Lưu cài đặt trước",
"label_load_preset": "Load Preset",
"label_preset_name": "Tên đặt trước:",
"label_preset_monitoring": "Monitoring",
"label_preset_helpdesk": "Helpdesk",
"label_preset_minimal": "Minimal",
"label_preset_developer": "Developer",
"label_snap_layout": "Snap Layout",
"label_auto_arrange": "Tự động sắp xếp",
"label_zone_layout": "Zone Layout",
"label_2col_equal": "2 Cột (Bằng)",
"label_2col_wide": "2 Cột (60/40)",
"label_3col": "3 Columns",
"label_2x2_grid": "2Ă—2 Grid",
"label_1_2": "1 + 2",
"label_1_3": "1 + 3",
"widget_group": "Nhóm tiện ích",
"ungroup_widgets": "Tách nhóm các widget",
"group_widgets": "Nhóm các Widget đã chọn",
"snap_layouts": "Bố cục chụp nhanh",
"snap_left": "Snap Left",
"snap_right": "Snap Right",
"snap_top_left": "Chụp trên cùng bên trái",
"snap_top_right": "Chụp trên cùng bên phải",
"snap_bottom_left": "Chụp dưới cùng bên trái",
"snap_bottom_right": "Chụp dưới cùng bên phải",
"aero_shake": "Lắc để giảm thiểu người khác",
"zone_resize": "Kéo đường viền để thay đổi kích thước vùng",
"zone_borders": "Đường viền vùng có thể kéo được",
"app_drawer": "Applications",
"search_apps": "Tìm kiếm ứng dụng...",
"edit_shortcuts": "Chỉnh sửa phím tắt",
"widgets": "Widget",
"theme": "Theme",
"fullscreen": "Fullscreen",
"help": "Help"
},
"desktop_login": {
"click_to_sign_in": "Nhấp vào bất kỳ đâu hoặc nhấn một phím để đăng nhập",
"username_placeholder": "Tên người dùng",
"password_placeholder": "Mật khẩu",
"sign_in": "Sign in",
"verify": "Verify",
"totp_title": "Xác thực hai yếu tố",
"totp_subtitle": "Nhập mã gồm 6 chữ số từ ứng dụng xác thực của bạn",
"back_to_login": "Quay lại để đăng nhập",
"fill_all_fields": "Vui lòng điền vào tất cả các trường",
"invalid_credentials": "Tên người dùng hoặc mật khẩu không hợp lệ",
"invalid_code": "Mã xác minh không hp lệ",
"enter_6_digits": "Nhập đầy đủ 6 chữ số",
"network_error": "Network error — check your connection",
"session_expired": "Phiên đã hết hạn. Vui lòng đăng nhập lại."
},
"tokens": {
"title": "Mã thông báo thiết bị",
"subtitle": "Quản lý mã thông báo đăng ký để cung cấp thiết bị tự động",
"enrollment_mode": "Chế độ đăng ký",
"mode_open": "Mở",
"mode_open_desc": "Bất kỳ thiết bị nào cũng có thể đăng ký mà không cần mã thông báo",
"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": "Tổng số token",
"active": "Active",
"used": "Used",
"revoked": "Revoked",
"search_placeholder": "Tìm kiếm mã thông báo...",
"status_pending": "Pending",
"status_active": "Active",
"status_used": "Used",
"status_revoked": "Revoked",
"status_expired": "Expired",
"bulk_generate": "Tạo hàng loạt",
"create": "Tạo mã thông báo",
"edit": "Chỉnh sửa mã thông báo",
"token": "Token",
"name": "Name",
"status": "Status",
"uses": "Uses",
"bound_peer": "Bound Peer",
"expires": "Expires",
"created": "Đã tạo",
"actions": "Actions",
"name_placeholder": "ví dụ: Lô PC văn phòng",
"max_uses": "Max Uses",
"max_uses_hint": "0 = không giới hạn",
"expires_in": "Expires In",
"no_expiration": "Không hết hạn",
"expires_1h": "1 hour",
"expires_24h": "24 hours",
"expires_7d": "7 days",
"expires_30d": "30 days",
"note": "Note",
"note_placeholder": "Ghi chú tùy chọn về mã thông báo này...",
"count": "Count",
"count_range": "Số lượng mã thông báo cần tạo (1-100)",
"name_prefix": "Name Prefix",
"generate": "Generate",
"token_created": "Đã tạo mã thông báo",
"tokens_generated": "Mã thông báo được tạo",
"copy_warning": "Sao chép mã thông báo ngay bây giờ. Nó sẽ không được hiển thị lại.",
"copy_token": "Copy Token",
"copied": "Copied!",
"revoke": "Revoke",
"revoke_confirm": "Bạn có chắc chắn muốn thu hồi mã thông báo này không? Các thiết bị đã đăng ký với nó sẽ không bị ảnh hưởng.",
"revoked_success": "Đã thu hồi mã thông báo thành công",
"no_tokens": "Không tìm thấy mã thông báo nào",
"expired": "Expired",
"never": "Never",
"save": "Lưu",
"cancel": "Hủy bỏ",
"unlimited": "Unlimited"
},
"tutorial": {
"next": "Tiếp theo",
"prev": "Previous",
"skip": "Skip",
"finish": "Kết thúc",
"close": "Đóng",
"step_of": "{current} của {total}",
"console_sidebar_title": "Thanh bên điều hướng",
"console_sidebar_text": "Truy cập tất cả các mô-đun từ đây. Nhấp vào bất kỳ biểu tượng nào để điều hướng đến phần đó. Thanh bên thích ứng với kích thước màn hình của bạn.",
"console_expand_title": "Mở rộng thanh bên",
"console_expand_text": "Nhấp vào đây để mở rộng thanh bên và xem nhãn đầy đủ cho tất cả các mục điều hướng. Nhấn lần nữa để thu gọn.",
"console_search_title": "Tìm kiếm nhanh",
"console_search_text": "Tìm kiếm thiết bị, cài đặt hoặc hành động một cách nhanh chóng. Nhấn Ctrl+K để làm phím tắt.",
"console_dashboard_title": "Trang tổng quan",
"console_dashboard_text": "Trung tâm trung tâm của bạn hiển thị trạng thái máy chủ, thiết bị trực tuyến và hành động nhanh. Theo dõi nhanh các số liệu quan trọng.",
"console_devices_title": "Quản lý thiết bị",
"console_devices_text": "Xem, tìm kiếm và quản lý tất cả các thiết bị được kết nối. Lọc theo trạng thái, gán thẻ và định cấu hình cài đặt thiết bị riêng lẻ.",
"console_settings_title": "Cài đặt",
"console_settings_text": "Định cấu hình hành vi của máy chủ, tùy chọn bảo mật, nhãn hiệu và quản lý người dùng. Tùy chỉnh BetterDesk để phù hợp với nhu cầu của bạn.",
"console_desktop_title": "Chế độ máy tính để bàn",
"console_desktop_text": "Chuyển sang chế độ máy tính để bàn để có không gian làm việc có cửa sổ với các tiện ích. Hoàn hảo cho bảng điều khiển đa tác vụ và giám sát.",
"console_complete_title": "Bạn đã sẵn sàng!",
"console_complete_text": "Khám phá các danh mục thanh bên để khám phá tất cả các tính năng. Nhấp vào biểu tượng Trợ giúp bất cứ lúc nào để khởi động lại hướng dẫn này.",
"desktop_topbar_title": "Top Bar",
"desktop_topbar_text": "Thanh trên cùng hiển thị đồng hồ, điều khiển nhanh và quyền truy cập vào ngăn kéo ứng dụng. Nhấp vào biểu tượng lưới để duyệt tất cả các ứng dụng.",
"desktop_drawer_title": "App Drawer",
"desktop_drawer_text": "Mở ngăn kéo ứng dụng để tìm kiếm và khởi chạy bất kỳ chức năng nào của bảng điều khiển dưới dạng cửa sổ nổi. Ứng dụng được sắp xếp theo danh mục.",
"desktop_widgets_title": "Trang tổng quan tiện ích",
"desktop_widgets_text": "Không gian làm việc có thể tùy chỉnh của bạn. Các widget hiển thị thông tin trực tiếp và cung cấp khả năng truy cập nhanh vào các tính năng. Kéo để sắp xếp lại.",
"desktop_add_widget_title": "Thêm tiện ích",
"desktop_add_widget_text": "Bấm vào đây để duyệt các vật dụng có sẵn. Chọn từ màn hình giám sát, danh sách thiết bị, ghi chú, v.v.",
"desktop_taskbar_title": "Taskbar",
"desktop_taskbar_text": "Các ứng dụng đang mở sẽ xuất hiện ở đây. Bấm để tập trung hoặc thu nhỏ cửa sổ. Di chuột vào biểu tượng để xem nhãn ứng dụng.",
"desktop_snap_title": "Bố cục chụp nhanh",
"desktop_snap_text": "Kéo các cửa sổ đến các cạnh của màn hình để đưa chúng vào vị trí hoặc di chuột vào nút phóng to để đặt trước bố cục. Hãy thử Aero Shake!",
"desktop_windows_title": "App Windows",
"desktop_windows_text": "Ứng dụng mở trong cửa sổ có thể kéo và thay đổi kích thước. Thu nhỏ, phóng to hoặc đóng từ thanh tiêu đề. Lớp Windows bên trên các vật dụng.",
"desktop_search_title": "Tìm kiếm nhanh",
"desktop_search_text": "Tìm kiếm trên các thiết bị, trang và cài đặt. Nhấn Ctrl+K ở bất cứ đâu để mở tìm kiếm ngay lập tức.",
"desktop_complete_title": "Chế độ máy tính để bàn đã sẵn sàng!",
"desktop_complete_text": "Hãy thử mở các ứng dụng từ ngăn kéo và sắp xếp các cửa sổ cạnh nhau. Sử dụng các cài đặt trước của tiện ích để bố trí bảng điều khiển nhanh chóng.",
"devices_folders_title": "Thư mục thiết bị",
"devices_folders_text": "Sắp xếp các thiết bị vào các thư mục. Bấm vào một thư mục để lọc danh sách. Nhấp chuột phải để đổi tên hoặc xóa.",
"devices_search_title": "Tìm kiếm & Lọc",
"devices_search_text": "Tìm kiếm theo ID, tên máy chủ hoặc nền tảng. Sử dụng các thanh trạng thái để chỉ hiển thị trực tuyến, ngoại tuyến hoặc tất cả các thiết bị.",
"devices_table_title": "Danh sách thiết bị",
"devices_table_text": "Nhấp vào bất kỳ hàng thiết bị nào để biết chi tiết. Sử dụng menu kebab ở bên phải để thực hiện các thao tác nhanh như kết nối, chỉnh sửa thẻ hoặc xóa.",
"devices_complete_title": "Quản lý thiết bị đã sẵn sàng!",
"devices_complete_text": "Kéo thiết bị giữa các thư mục để sắp xếp chúng. Bấm đúp vào một thiết bị để mở bảng chi tiết của nó.",
"settings_tabs_title": "Danh mục cài đặt",
"settings_tabs_text": "Điều hướng giữa các phần Chung, Bảo mật, Giao diện và các phần cấu hình khác.",
"settings_content_title": "Cấu hình",
"settings_content_text": "Mỗi phần chứa các cài đặt máy chủ và bảng điều khiển cụ thể. Những thay đổi được lưu khi bạn nhấp vào Lưu.",
"settings_complete_title": "Tổng quan về cài đặt",
"settings_complete_text": "Kiểm tra cài đặt Bảo mật cho khóa 2FA, API và quản lý người dùng. Truy cập Giao diện để tùy chỉnh giao diện bảng điều khiển.",
"help": "Trợ giúp & Hướng dẫn",
"tour_console": "Tham quan bảng điều khiển",
"tour_desktop": "Tham quan chế độ máy tính để bàn",
"tour_devices": "Tham quan thiết bị",
"tour_settings": "Tham quan cài đặt",
"reset_all": "Đặt lại tất cả hướng dẫn",
"tour_remote": "Tham quan phiên từ xa",
"tour_organization": "Thiết lập tổ chức",
"tour_cdap": "Tổng quan về CDAP",
"tour_chat": "Thông tin cơ bản về trò chuyện",
"remote_toolbar_title": "Thanh công cụ từ xa",
"remote_toolbar_text": "Truy cập các điều khiển hiển thị, đồng bộ hóa clipboard, các phím đặc biệt và cài đặt chất lượng từ thanh công cụ. Chuyển đổi toàn màn hình bằng F11.",
"remote_canvas_title": "Hiển thị từ xa",
"remote_canvas_text": "Đây là màn hình từ xa. Nhấp vào bên trong để bắt đầu điều khiển thiết bị từ xa. Đầu vào chuột và bàn phím được chuyển tiếp tự động.",
"remote_clipboard_title": "Đồng bộ hóa bảng nhớ tạm",
"remote_clipboard_text": "Sao chép và dán văn bản giữa máy tính của bạn và thiết bị từ xa. Sử dụng Ctrl+C / Ctrl+V như bình thường khi lấy nét trên màn hình từ xa.",
"remote_complete_title": "Phiên từ xa đã sẵn sàng!",
"remote_complete_text": "Sử dụng các nút trên thanh công cụ cho các phím đặc biệt (Ctrl+Alt+Del, PrintScreen) và chuyển đổi màn hình. Nhấn Escape hoặc nhấp vào Ngắt kết nối để kết thúc phiên.",
"org_overview_title": "Tổ chức",
"org_overview_text": "Các tổ chức cho phép bạn nhóm người dùng, thiết bị và chính sách. Mỗi tổ chức có quản trị viên, người điều hành và cài đặt riêng.",
"org_create_title": "Tạo tổ chức",
"org_create_text": "Nhấn vào đây để tạo một tổ chức mới. Cung cấp tên, sên và mô tả tùy chọn. Bạn sẽ là chủ sở hữu của tổ chức mới.",
"org_members_title": "Quản lý thành viên",
"org_members_text": "Mời người dùng qua email, chỉ định vai trò (quản trị viên, nhà điều hành, người dùng) và quản lý quyền truy cập. Thành viên có thể thấy các thiết bị được chỉ định cho tổ chức của họ.",
"org_devices_title": "Chỉ định thiết bị",
"org_devices_text": "Thêm thiết bị vào tổ chức. Các thiết bị được chỉ định ở đây sẽ kế thừa các chính sách của tổ chức và hiển thị với các thành viên của tổ chức.",
"org_policies_title": "Chính sách tổ chức",
"org_policies_text": "Đặt các chính sách bảo mật như yêu cầu mật khẩu, thời gian chờ phiên, thực thi 2FA và quy tắc đăng ký thiết bị cho tổ chức.",
"org_complete_title": "Thiết lập tổ chức đã hoàn tất!",
"org_complete_text": "Mời nhóm của bạn và chỉ định thiết bị để bắt đầu sử dụng tính năng quản lý ở phạm vi tổ chức. Chính sách được áp dụng tự động cho tất cả thành viên.",
"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": "Danh bạ & Nhóm",
"chat_contacts_text": "Xem danh bạ và nhóm trò chuyện của bạn. Nhấp vào bất kỳ liên hệ nào để mở cuộc trò chuyện. Các chấm màu xanh biểu thị người dùng trực tuyến.",
"chat_send_title": "Gửi tin nhắn",
"chat_send_text": "Nhập tin nhắn của bạn và nhấn Enter để gửi. Tin nhắn được mã hóa nối đầu khi cả hai bên đều hỗ trợ E2E.",
"chat_file_title": "Chia sẻ tập tin",
"chat_file_text": "Bấm vào biểu tượng đính kèm để chia sẻ tập tin. Các tập tin được mã hóa và có thể lên tới 50 MB.",
"chat_complete_title": "Trò chuyện đã sẵn sàng!",
"chat_complete_text": "Trò chuyện với các nhà khai thác và người dùng cuối trong thời gian thực. Tạo nhóm để liên lạc nhóm. Tất cả các tin nhắn đều hỗ trợ biên nhận đã đọc.",
"disable_tutorials": "Tắt hướng dẫn",
"enable_tutorials": "Bật hướng dẫn"
},
"help_request": {
"title": "Yêu cầu trợ giúp",
"subtitle": "Quản lý các yêu cầu trợ giúp đến từ máy khách để bàn",
"new_request": "Yêu cầu trợ giúp mới",
"device": "Thiết bị",
"hostname": "Hostname",
"message": "Message",
"status": "Status",
"pending": "Pending",
"accepted": "Accepted",
"resolved": "Resolved",
"accept": "Accept",
"resolve": "Resolve",
"no_requests": "Không có yêu cầu trợ giúp",
"notification": "Đã nhận được yêu cầu trợ giúp từ",
"stats_total": "Total",
"filter_all": "All"
},
"organizations": {
"title": "Tổ chức",
"create": "Tạo tổ chức",
"edit": "Chỉnh sửa tổ chức",
"detail": "Chi tiết tổ chức",
"name": "Name",
"slug": "Sên (URL-an toàn)",
"logo_url": "Logo URL",
"users": "Users",
"devices": "Thiết bị",
"invitations": "Invitations",
"settings": "Cài đặt",
"add_user": "Add User",
"assign_device": "Chỉ định thiết bị",
"create_invitation": "Tạo lời mời",
"delete_confirm": "Xóa tổ chức này? Thao tác này sẽ xóa tất cả người dùng, thiết bị và cài đặt được liên kết.",
"no_orgs": "Chưa có tổ chức nào",
"no_orgs_hint": "Tạo tổ chức đầu tiên của bạn để bắt đầu quản lý thiết bị và người dùng.",
"connection_policy": "Chính sách kết nối",
"allow_file_transfer": "Cho phép truyền tệp",
"allow_clipboard": "Cho phép bảng nhớ tạm",
"max_session_duration": "Thời lượng phiên tối đa (phút)",
"role_owner": "Chủ sở hữu (quản trị org)",
"role_admin": "Quản trị viên",
"role_operator": "Operator",
"role_user": "Thành viên",
"username": "Tên người dùng",
"password": "Mật khẩu",
"display_name": "Tên hiển thị",
"email": "Email",
"role": "Role",
"last_login": "Last Login",
"actions": "Actions",
"device_id": "ID thiết bị",
"department": "Department",
"building": "Building",
"location": "Location",
"assigned_user": "Người dùng được chỉ định",
"token": "Token",
"expires": "Expires",
"used": "Used",
"no_users": "Không có người dùng trong tổ chức này.",
"no_devices": "Không có thiết bị nào được chỉ định cho tổ chức này.",
"no_invitations": "Không có lời mời.",
"user_added": "User added",
"user_removed": "Người dùng đã bị xóa",
"user_updated": "Đã cập nhật vai trò của người dùng",
"device_assigned": "Thiết bị được chỉ định",
"device_unassigned": "Đã hủy cấp phát thiết bị",
"invitation_created": "Đã tạo lời mời",
"settings_saved": "Đã lưu cài đặt",
"org_deleted": "Đã xóa tổ chức",
"confirm_remove_user": "Xóa người dùng này khỏi tổ chức?",
"confirm_unassign_device": "Hủy cấp phát thiết bị này khỏi tổ chức?",
"confirm_delete_org": "Xóa tổ chức này và tất cả dữ liệu liên quan?",
"edit_role": "Chỉnh sửa vai trò",
"raw_settings": "Cài đặt thô",
"key": "Key",
"value": "Value",
"save": "Lưu cài đặt",
"policy_unattended": "Không cần giám sát (tức thì)",
"policy_attended": tham dự (có xác nhận)",
"policy_ask": "Always ask",
"expires_hours": "Hết hạn (giờ)",
"loading_failed": "Không tải được dữ liệu tổ chức",
"name_slug_required": "Tên và sên là bắt buộc",
"org_created": "Đã tạo tổ chức",
"org_updated": "Đã cập nhật tổ chức",
"create_new_user": "Tạo mới",
"add_existing_user": "Thêm hiện có",
"none_available": "none",
"select_user": "Chọn người dùng",
"org_role": "Vai trò của tổ chức",
"link_user_hint": "Người dùng được chọn sẽ được liên kết với tổ chức này bằng thông tin xác thực tài khoản máy chủ của họ.",
"no_available_users": "Tất cả người dùng máy chủ đã được liên kết với tổ chức này.",
"user_linked": "Người dùng được liên kết với tổ chức",
"device_groups_tab": "Nhóm thiết bị",
"device_groups_intro": "Các nhóm thiết bị liên kết với tổ chức này xác định máy nào thành viên có thể truy cập trong client RustDesk. Cấu hình thành viên và quyền truy cập tại trang Thiết bị.",
"manage_in_devices": "Mở Thiết bị → Nhóm",
"no_org_device_groups": "Chưa có nhóm thiết bị nào liên kết với tổ chức này.",
"create_org_device_group": "Tạo nhóm thiết bị",
"org_device_group_created": "Đã tạo nhóm thiết bị",
"org_user_groups_title": "Nhóm người dùng",
"org_user_groups_intro": "Các nhóm người dùng liên kết với tổ chức có thể được cấp quyền truy cập các nhóm thiết bị ở trên (Thiết bị → Nhóm → Nhóm người dùng được phép).",
"no_org_user_groups": "Không có nhóm người dùng nào liên kết với tổ chức này.",
"group_name": "Name",
"group_type": "Type",
"group_members": "Thiết bị",
"group_type_manual": "Manual",
"group_type_tag": "Tag",
"group_allowed_user_groups": "Nhóm người dùng được phép",
"group_devices_suffix": "thiết bị",
"group_name_required": "Tên nhóm là bắt buộc",
"org_team_id": "ID nhóm tổ chức",
"link_team_id_hint": "Nhóm sẽ tự động liên kết với tổ chức này (team ID = ID tổ chức).",
"address_book": "Sổ địa chỉ",
"address_book_import_devices": "Nhập thiết bị của tổ chức",
"address_book_save": "Lưu sổ địa chỉ",
"address_book_intro": "Quản lý liên hệ được chia sẻ với thành viên của tổ chức này. Mục sổ địa chỉ cá nhân vẫn riêng tư và được ưu tiên khi có xung đột.",
"address_book_enabled": "Chia sẻ sổ địa chỉ này với thành viên tổ chức",
"address_book_json": "JSON sổ địa chỉ",
"address_book_json_hint": "Định dạng RustDesk cũ, ví dụ: {\"peers\":[{\"id\":\"123456789\",\"alias\":\"PC văn phòng\"}],\"tags\":[\"Văn phòng\"]}",
"address_book_invalid_json": "Sổ địa chỉ phải là JSON hợp lệ",
"address_book_peers_array_required": "Peers trong sổ địa chỉ phải là một mảng",
"address_book_tags_array_required": "Tags trong sổ địa chỉ phải là một mảng",
"address_book_saved": "Đã lưu sổ địa chỉ",
"address_book_save_failed": "Không thể lưu sổ địa chỉ",
"address_book_imported": "Đã nhập thiết bị của tổ chức",
"address_book_import_none": "Không có thiết bị tổ chức mới để nhập",
"address_book_contacts": "Shared contacts",
"address_book_add_peer": "Add contact",
"address_book_peer_id": "Device ID",
"address_book_alias": "Alias",
"address_book_peer_tags": "Contact tags",
"address_book_peer_tags_placeholder": "office, support",
"address_book_tags_label": "Global tags",
"address_book_tags_placeholder": "Office, Support",
"address_book_tags_hint": "Comma-separated tags available in the RustDesk client address book.",
"address_book_no_peers": "No contacts yet — add a device ID or import organization devices.",
"address_book_show_json": "Advanced JSON",
"address_book_hide_json": "Structured editor"
},
"chat": {
"e2e_enabled": "Mã hóa đầu cuối",
"e2e_establishing": "Thiết lập kênh an toàn...",
"e2e_established": "Kênh an toàn được thiết lập",
"e2e_unsupported": "Mã hóa E2E không được hỗ trợ trong trình duyệt này",
"typing_indicator": "đang gõ...",
"read_receipt": "Read",
"delivered": "Delivered",
"file_share": "tập tin",
"file_too_large": "Tệp quá lớn (tối đa 50MB)",
"file_encrypted": "Truyền tập tin được mã hóa",
"presence_online": "Online",
"presence_away": "Away",
"presence_busy": "Busy",
"presence_offline": "Offline",
"key_rotation": "Đã xoay khóa bảo mật",
"new_message": "New message",
"title": "Chat",
"contacts": "Contacts",
"groups": "Nhóm",
"no_contacts": "Chưa có địa chỉ liên hệ nào",
"no_groups": "Chưa có nhóm nào",
"no_messages": "Chưa có tin nhắn nào",
"no_results": "Không tìm thấy kết quả nào",
"select_conversation": "Chọn một cuộc trò chuyện để bắt đầu trò chuyện",
"type_message": "Nhập tin nhắn...",
"send": "Gửi",
"attach_file": "Đính kèm tập tin",
"emoji": "Emoji",
"search_messages": "Tìm kiếm tin nhắn",
"create_group": "Tạo nhóm",
"group_name": "Tên nhóm",
"group_members": "Thành viên",
"cancel": "Hủy bỏ",
"create": "Tạo",
"members": "thành viên",
"today": "Today",
"yesterday": "Yesterday",
"react": "React",
"my_presence": "My status",
"search_placeholder": "Tìm kiếm danh bạ và tin nhắn",
"select_conversation_hint": "Chọn cuộc trò chuyện để xem tin nhắn",
"info": "Info",
"group_name_placeholder": "Nhập tên nhóm"
},
"toast": {
"device_connected": "Đã kết nối thiết bị",
"device_disconnected": "Đã ngắt kết nối thiết bị",
"session_started": "Phiên từ xa đã bắt đầu",
"session_ended": "Phiên từ xa đã kết thúc",
"file_upload_complete": "Tải lên tệp hoàn tất",
"settings_saved": "Đã lưu cài đặt",
"error_generic": "Đã xảy ra lỗi",
"connection_lost": "Mất kết nối",
"reconnecting": "Đang kết nối lại..."
},
"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": "Tiện ích quản trị và công cụ chẩn đoán",
"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": "Gửi",
"refresh": "Refresh",
"algorithm": "Algorithm",
"input_text": "Input Text",
"enter_text": "Nhập văn bản...",
"length": "Length",
"options": "Options",
"source": "Source",
"lines": "Lines",
"log_console": "Console",
"log_go": "Đi máy chủ",
"mac_address": "MAC Address",
"broadcast": "Broadcast",
"ping_title": "Ping",
"ping_desc": "Kiểm tra khả năng tiếp cận và độ trễ của máy chủ",
"tcp_title": "Kiểm tra cổng TCP",
"tcp_desc": "Kiểm tra kết nối cổng TCP",
"ssl_title": "Thanh tra SSL",
"ssl_desc": "Kiểm tra chi tiết chứng chỉ SSL/TLS",
"http_title": "HTTP Kiểm tra sức khỏe",
"http_desc": "Xác minh trạng thái điểm cuối HTTP",
"dns_title": "DNS Lookup",
"dns_desc": "Phân giải tên máy chủ thành địa chỉ IP",
"whois_title": "DNS Records",
"whois_desc": "Truy vấn bản ghi A, AAAA, MX, TXT, NS",
"speed_title": "Speed Test",
"speed_desc": "Đo băng thông tải xuống",
"run_speed_test": "Chạy kiểm tra tốc độ",
"wol_title": "Wake-on-LAN",
"wol_desc": "Gửi gói ma thuật để đánh thức thiết bị",
"wol_sent": "Gói ma thuật đã được gửi",
"hash_title": "Trình tạo hàm băm",
"hash_desc": "Tạo băm mật mã",
"password_title": "Trình tạo mật khẩu",
"password_desc": "Tạo mật khẩu ngẫu nhiên an toàn",
"jwt_title": "JWT Decoder",
"jwt_desc": "Giải mã và kiểm tra Mã thông báo web JSON",
"jwt_token": "JWT Token",
"base64_title": "Base64",
"base64_desc": "Mã hóa hoặc giải mã dữ liệu Base64",
"url_title": "URL Encoder",
"url_desc": "Mã hóa hoặc giải mã các thành phần URL",
"processes_title": "Danh sách quy trình",
"processes_desc": "Xem các tiến trình hệ thống đang chạy",
"disk_title": "Disk Usage",
"disk_desc": "Xem mức sử dụng phân vùng đĩa",
"db_title": "Thống kê cơ sở dữ liệu",
"db_desc": "Xem thống kê bảng cơ sở dữ liệu",
"docker_title": "Thùng chứa Docker",
"docker_desc": "Xem các container Docker đang chạy",
"logs_title": "Log Viewer",
"logs_desc": "Xem đầu ra nhật ký gần đây",
"ip_address": "IP",
"latency": "Latency",
"ttl": "TTL",
"status": "Status",
"resolved": "Resolved",
"subject": "Subject",
"issuer": "Issuer",
"valid_from": "Hợp lệ từ",
"valid_to": "Hợp lệ với",
"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": "Không có sẵn dữ liệu",
"no_docker": "Không tìm thấy vùng chứa Docker hoặc không có Docker",
"no_logs": "Không có dòng nhật ký nào"
},
"policies": {
"title": "Chính sách tổ chức",
"subtitle": "Quản lý các chính sách bảo mật, kết nối và tính năng cho tổ chức của bạn",
"select_org": "Tổ chức",
"select_org_placeholder": "Chọn tổ chức...",
"select_org_first": "Chọn một tổ chức để xem nhật ký kiểm tra chính sách.",
"configured": "Configured",
"connection_title": "Chính sách kết nối",
"connection_desc": "Kiểm soát cách thiết lập phiên từ xa",
"connection_mode": "Chế độ kết nối",
"mode_attended": "Đã tham dự (yêu cầu sự chấp thuận của người dùng)",
"mode_unattended": "Không cần giám sát (luôn cho phép)",
"mode_ask": "Always Ask",
"max_session": "Thời lượng phiên tối đa (phút)",
"idle_lock": "Thời gian chờ khóa nhàn rỗi (phút)",
"wallpaper_policy": "Hình nền trong phiên",
"wallpaper_show": "Show",
"wallpaper_hide_session": "Ẩn trong phiên",
"wallpaper_hide_always": "Always hide",
"features_title": "Chính sách tính năng",
"features_desc": "Bật hoặc tắt các tính năng cụ thể cho thiết bị",
"allow_file_transfer": "Cho phép truyền tệp",
"allow_clipboard": "Cho phép đồng bộ hóa bảng nhớ tạm",
"allow_audio": "Cho phép truyền phát âm thanh",
"allow_recording": "Cho phép ghi phiên",
"security_title": "Chính sách bảo mật",
"security_desc": "Thực thi các yêu cầu bảo mật cho các thiết bị của tổ chức",
"require_2fa": "Yêu cầu 2FA cho quyền truy cập không giám sát",
"password_min_length": "Độ dài mật khẩu tối thiểu",
"password_require_special": "Yêu cầu ký tự đặc biệt",
"password_max_age": "Tuổi tối đa của mật khẩu (ngày, 0=không bao giờ)",
"allowed_operators": "Vai trò của người vận hành được phép (được phân tách bằng dấu phẩy)",
"network_title": "Chính sách mạng",
"network_desc": "Kiểm soát máy chủ chuyển tiếp và kết nối trực tiếp",
"block_direct_p2p": "Chặn P2P trực tiếp (rơle lực)",
"allowed_relays": "Máy chủ chuyển tiếp được phép (một trên mỗi dòng)",
"ip_allowlist": "Danh sách IP cho phép (CIDR, một danh sách trên mỗi dòng)",
"update_title": "Chính sách cập nhật",
"update_desc": "Kiểm soát cập nhật tự động và các kênh cập nhật",
"auto_update": "Bật tự động cập nhật",
"update_channel": "Cập nhật kênh",
"audit_title": "Thay đổi chính sách",
"audit_desc": "Lịch sử thay đổi chính sách gần đây",
"no_audit": "Không có thay đổi chính sách nào được ghi lại.",
"save_success": "Chính sách đã được lưu thành công",
"save_failed": "Không lưu được chính sách",
"load_failed": "Không tải được chính sách",
"block_direct_p2p_hint": "Áp dụng cho các thiết bị trong tổ chức này. Mặc định toàn cục nằm trong Cài đặt → Chiến lược kết nối."
},
"attestation": {
"title": "Chứng thực thiết bị",
"subtitle": "Giám sát xác minh danh tính thiết bị và dấu vân tay phần cứng",
"verified": "Verified",
"pending": "Pending",
"failed": "thất bại",
"device_list": "Hồ sơ chứng thực thiết bị",
"device_list_desc": "Dấu vân tay phần cứng và trạng thái xác minh danh tính",
"col_device": "ID thiết bị",
"col_hostname": "Hostname",
"col_fingerprint": "Fingerprint",
"col_status": "Status",
"col_last_check": "Last Check",
"col_actions": "Actions",
"no_records": "Không tìm thấy hồ sơ chứng thực.",
"verify_success": "Thiết bị được đánh dấu là đã xác minh",
"verify_failed": "Không thể xác minh thiết bị",
"revoke_success": "Chứng thực thiết bị đã bị thu hồi",
"revoke_failed": "Không thể thu hồi chứng thực"
},
"fleet": {
"title": "Quản lý đội tàu",
"tab_resources": "Resources",
"tab_tasks": "Tasks",
"tab_builder": "Trình tạo quy trình làm việc",
"tab_compliance": "Compliance",
"res_title": "Bản đồ tài nguyên",
"res_all_types": "All Types",
"res_type_printer": "Printer",
"res_type_network_drive": "Ổ đĩa mạng",
"res_type_dns": "Máy chủ DNS",
"res_type_proxy": "Proxy",
"res_type_vpn": "VPN",
"res_add": "Thêm tài nguyên",
"res_name": "Tên tài nguyên",
"res_type": "Type",
"res_address": "Địa chỉ/Đường dẫn",
"res_target": "Target",
"res_scope": "Scope",
"res_scope_org": "Tổ chức",
"res_scope_group": "Nhóm",
"res_scope_device": "Thiết bị",
"res_scope_value": "Scope Value",
"res_status": "Status",
"res_active": "Active",
"res_inactive": "Inactive",
"res_no_data": "Không tìm thấy tài nguyên nào. Nhấp vào 'Thêm tài nguyên' để tạo một tài nguyên.",
"res_confirm_delete": "Bạn có chắc chắn muốn xóa tài nguyên này?",
"task_title": "Lập lịch tác vụ",
"task_all_status": "All Status",
"task_status_pending": "Pending",
"task_status_running": "Running",
"task_status_success": "Success",
"task_status_failed": "thất bại",
"task_search": "Search tasks…",
"task_create": "Tạo nhiệm vụ",
"task_name": "Task Name",
"task_type": "Type",
"task_type_script": "Script",
"task_type_install": "Install",
"task_type_update": "cập nhật",
"task_type_restart": "Khởi động lại",
"task_type_deploy": "Deploy",
"task_type_scan": "Scan",
"task_targets": "Targets",
"task_targets_help": "ID thiết bị hoặc tên nhóm, được phân tách bằng dấu phẩy",
"task_schedule": "Schedule",
"task_schedule_once": "Once",
"task_schedule_cron": "Cron",
"task_schedule_interval": "Interval",
"task_schedule_value": "Giá trị lịch trình",
"task_script": "Tập lệnh/Lệnh",
"task_retries": "Retries",
"task_timeout": "Timeout (s)",
"task_last_run": "Last Run",
"task_no_data": "Không tìm thấy nhiệm vụ nào. Nhấp vào 'Tạo tác vụ' để bắt đầu.",
"task_confirm_delete": "Bạn có chắc chắn muốn xóa tác vụ này không?",
"task_output": "Task Output",
"task_retry": "Retry",
"builder_title": "Trình tạo quy trình làm việc trực quan",
"builder_select_workflow": "Select workflow…",
"builder_new": "New",
"builder_save": "Lưu",
"builder_export": "Export",
"builder_execute": "Execute",
"builder_dry_run": "Dry Run",
"builder_triggers": "Triggers",
"builder_conditions": "Conditions",
"builder_actions": "Actions",
"builder_results": "Results",
"builder_transforms": "Transforms",
"builder_properties": "Properties",
"builder_no_selection": "Chọn một nút để chỉnh sửa thuộc tính của nó.",
"builder_node_trigger_manual": "Kích hoạt thủ công",
"builder_node_trigger_schedule": "Schedule",
"builder_node_trigger_event": "Trình kích hoạt sự kiện",
"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": "Khởi động lại Svc",
"builder_node_action_file_deploy": "Triển khai tệp",
"builder_node_action_message": "Gửi tin nhắn",
"builder_node_result_log": "Log Output",
"builder_node_result_alert": "Gửi thông báo",
"builder_node_result_chain": "Quy trình làm việc của chuỗi",
"builder_node_transform_parse": "Parse JSON",
"builder_node_transform_filter": "Filter",
"builder_node_transform_delay": "Delay",
"workflow_name": "Tên quy trình làm việc:",
"comp_title": "Tuân thủ phần mềm",
"comp_compliant": "Compliant",
"comp_warning": "Warning",
"comp_critical": "Critical",
"comp_score": "Avg. Score",
"comp_device": "Thiết bị",
"comp_hostname": "Hostname",
"comp_os": "OS",
"comp_score_col": "Score",
"comp_issues": "Issues",
"comp_last_scan": "Last Scan",
"comp_scan": "Scan",
"comp_scan_all": "Scan All",
"comp_remediate": "Remediate",
"comp_remediate_confirm": "Chạy tính năng tự động khắc phục trên thiết bị này?",
"comp_no_data": "Không có sẵn dữ liệu tuân thủ. Chạy quét để bắt đầu.",
"save": "Lưu",
"cancel": "Hủy bỏ",
"close": "Đóng",
"edit": "Chỉnh sửa",
"delete": "Xóa",
"actions": "Actions",
"all_orgs": "Tất cả các tổ chức",
"select_org_placeholder": "Select organization",
"all_types": "All Types",
"type_printer": "Printer",
"type_network_drive": "Ổ đĩa mạng",
"type_dns": "Máy chủ DNS",
"type_vpn": "VPN",
"type_proxy": "Proxy",
"add_resource": "Thêm tài nguyên",
"edit_resource": "Chỉnh sửa tài nguyên",
"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": "Địa chỉ/Đường dẫn",
"scope_org": "Tổ chức",
"scope_group": "Nhóm",
"scope_device": "Thiết bị",
"scope_value": "Scope Value",
"scope_value_hint": "Organization, group, or device ID",
"confirm_delete": "Bạn có chắc chắn muốn xóa mục này?",
"all_statuses": "Tất cả trạng thái",
"status_pending": "Pending",
"status_running": "Running",
"status_success": "Success",
"status_failed": "thất bại",
"search_tasks": "Search tasks",
"create_task": "Tạo nhiệm vụ",
"edit_task": "Chỉnh sửa tác vụ",
"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": "Triển khai tệp",
"task_type_registry": "Registry",
"target_devices": "Thiết bị mục tiêu",
"target_hint": "Device IDs or group names",
"schedule_immediate": "Immediate",
"schedule_once": "Once",
"schedule_cron": "Cron",
"cron_placeholder": "*/5 * * * *",
"script_content": "Tập lệnh/Lệnh",
"retry_count": "Retries",
"timeout_sec": "Timeout (s)",
"loading": "Đang tải",
"no_output": "Không có đầu ra",
"error_loading": "Lỗi tải dữ liệu",
"select_workflow": "Select workflow",
"new_workflow": "New",
"export": "Export",
"execute": "Execute",
"dry_run": "Dry Run",
"node_triggers": "Triggers",
"node_manual": "Kích hoạt thủ công",
"node_schedule": "Schedule",
"node_event": "Trình kích hoạt sự kiện",
"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": "Khởi động lại Svc",
"node_file_deploy": "Triển khai tệp",
"node_send_message": "Gửi tin nhắn",
"node_results": "Results",
"node_log_output": "Log Output",
"node_send_alert": "Gửi thông báo",
"node_chain": "Quy trình làm việc của chuỗi",
"node_transforms": "Transforms",
"node_parse_json": "Parse JSON",
"node_filter": "Filter",
"node_delay": "Delay",
"node_properties": "Properties",
"all_organizations": "Tất cả các tổ chức",
"scan_all": "Scan All",
"compliant": "Compliant",
"non_compliant": "Warning",
"critical_issues": "Critical",
"avg_score": "Avg. Score",
"col_device": "Thiết bị",
"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": "Chạy tính năng tự động khắc phục trên thiết bị này?"
},
"scaling": {
"title": "Quản lý mở rộng quy mô và chuyển tiếp",
"tab_overview": "Tổng quan",
"tab_relays": "Relay Nodes",
"tab_rules": "Quy tắc bài tập",
"tab_capacity": "Lập kế hoạch năng lực",
"arch_title": "Kiến trúc mạng",
"arch_loading": "Đang tải sơ đồ kiến trúc...",
"stat_relay_nodes": "Relay Nodes",
"stat_total_devices": "Tổng số thiết bị",
"stat_active_sessions": "Phiên hoạt động",
"stat_bandwidth": "Tổng băng thông",
"relay_health": "Sức khỏe chuyển tiếp",
"no_relays": "Không có nút chuyển tiếp nào được cấu hình. Thêm nút chuyển tiếp đầu tiên của bạn để phân phối tải.",
"relay_search": "Rơle tìm kiếm...",
"relay_add": "Thêm nút chuyển tiếp",
"relay_edit": "Chỉnh sửa nút chuyển tiếp",
"col_name": "Name",
"col_address": "Address",
"col_location": "Location",
"col_devices": "Thiết bị",
"col_sessions": "Phiên",
"col_bandwidth": "Bandwidth",
"col_status": "Status",
"col_actions": "Actions",
"col_priority": "Priority",
"col_rule_name": "Rule Name",
"col_match": "Match",
"col_target_relay": "Rơle mục tiêu",
"col_fallback": "Fallback",
"status_online": "Online",
"status_degraded": "Degraded",
"status_offline": "Offline",
"status_enabled": "Đã bật",
"status_disabled": "Đã tắt",
"confirm_delete_relay": "Bạn có chắc chắn muốn xóa nút chuyển tiếp này không?",
"confirm_delete_rule": "Bạn có chắc chắn muốn xóa quy tắc chuyển nhượng này không?",
"rules_hint": "Quy tắc phân công xác định máy chủ chuyển tiếp nào xử lý các nhóm thiết bị cụ thể. Các quy tắc được đánh giá theo mức độ ưu tiên (thấp nhất trước).",
"rule_add": "Add Rule",
"rule_edit": "Chỉnh sửa quy tắc",
"rule_match_type": "Match Type",
"match_subnet": "Subnet",
"match_group": "Nhóm thiết bị",
"match_tag": "Thẻ thiết bị",
"match_location": "Location",
"rule_match_value": "Match Value",
"fallback_master": "Máy chủ chính",
"fallback_nearest": "Rơle gần nhất",
"relay_max_sessions": "Số phiên tối đa",
"relay_max_bandwidth": "Băng thông tối đa (Mbps)",
"cap_tiers": "Cấp công suất",
"cap_loading": "Đang tải dữ liệu dung lượng...",
"cap_recommendations": "Recommendations",
"cap_no_recs": "Không có khuyến nghị có sẵn.",
"cap_planning": "Quy hoạch cơ sở hạ tầng",
"cap_config": "Cấu hình",
"cap_max_devices": "Thiết bị tối đa",
"cap_max_sessions": "Số phiên tối đa",
"cap_current": "Current",
"cap_utilization": "Utilization",
"cap_tier_devices": "Dung lượng thiết bị",
"cap_tier_sessions": "Dung lượng phiên",
"cap_tier_bandwidth": "Dung lượng băng thông",
"cap_single_sqlite": "Máy chủ đơn (SQLite)",
"cap_single_pg": "Máy chủ đơn (PostgreSQL)",
"cap_master_3": "Thạc sĩ + 3 Rơle",
"cap_master_10": "Thạc sĩ + 10 Rơle",
"rec_no_relays": "Không có nút chuyển tiếp nào được cấu hình. Hãy cân nhắc việc thêm các nút chuyển tiếp để có hiệu suất và khả năng dự phòng tốt hơn.",
"rec_devices_high": "Mức độ sử dụng thiết bị cao. Xem xét thêm nhiều nút chuyển tiếp để phân phối tải.",
"rec_sessions_high": "Dung lượng phiên sắp đạt đến giới hạn. Xem xét nâng cấp cơ sở hạ tầng chuyển tiếp.",
"rec_cpu_high": "Một số nút chuyển tiếp báo cáo mức sử dụng CPU cao. Xem xét cân bằng tải hoặc nâng cấp công suất.",
"rec_all_good": "Tất cả các hệ thống hoạt động trong các thông số bình thường. Không cần hành động.",
"save": "Lưu",
"cancel": "Hủy bỏ",
"edit": "Chỉnh sửa",
"delete": "Xóa",
"close": "Đóng",
"no_rules": "Không có quy tắc phân công.",
"relays_info_banner": "Danh sách này là thông tin. Các máy chủ chuyển tiếp thực sự được khách hàng sử dụng được định cấu hình thông qua biến môi trường RELAY_SERVERS trên máy chủ BetterDesk.",
"relay_name_address_required": "Tên và địa chỉ là bắt buộc.",
"relay_save_failed": "Không lưu được nút chuyển tiếp.",
"relay_delete_failed": "Không thể xóa nút chuyển tiếp.",
"relay_saved": "Đã lưu nút chuyển tiếp.",
"relay_deleted": "Nút chuyển tiếp đã bị xóa.",
"rule_name_value_required": "Tên quy tắc và giá trị khớp là bắt buộc.",
"rule_save_failed": "Không lưu được quy tắc.",
"rule_delete_failed": "Không xóa được quy tắc.",
"rule_saved": "Đã lưu quy tắc.",
"rule_deleted": "Đã xóa quy tắc."
},
"cross_platform": {
"title": "Khả năng tương thích đa nền tảng",
"tab_matrix": "Ma trận tương thích",
"tab_distribution": "Distribution",
"tab_protocols": "Protocols",
"tab_limitations": "Limitations",
"matrix_hint": "Ma trận hỗ trợ tính năng trên tất cả các nền tảng được hỗ trợ. Xanh = hỗ trợ đầy đủ, vàng = một phần, xám = không có, xanh = đã lên kế hoạch.",
"col_feature": "Feature",
"legend_full": "Hỗ trợ đầy đủ",
"legend_partial": "Hỗ trợ một phần",
"legend_none": "Không có sẵn",
"legend_planned": "Planned",
"platform_breakdown": "Phân tích nền tảng",
"arch_breakdown": "Phân tích kiến trúc",
"version_breakdown": "Phân tích phiên bản",
"summary": "Summary",
"total_devices": "Tổng số thiết bị",
"unique_platforms": "Platforms",
"unique_archs": "Architectures",
"unique_versions": "Phiên bản máy khách",
"no_devices": "Chưa có thiết bị nào được đăng ký.",
"protocols_hint": "Đàm phán khả năng giao thức đảm bảo mỗi khách hàng chỉ nhận được các tính năng mà nó hỗ trợ. Máy chủ điều chỉnh hành vi dựa trên khả năng được báo cáo.",
"capability_negotiation": "Năng lực đàm phán",
"codec_support": "Hỗ trợ Codec (Thiết bị trực tuyến)",
"feature_support": "Hỗ trợ tính năng (Thiết bị trực tuyến)",
"no_codec_data": "Không có dữ liệu codec có sẵn từ các thiết bị trực tuyến.",
"no_feature_data": "Không có dữ liệu tính năng có sẵn từ các thiết bị trực tuyến.",
"protobuf_schema": "Lược đồ Protobuf của ClientCapabilities",
"diagram_client": "Client",
"diagram_server": "Máy chủ BetterDesk",
"diagram_peer": "Ngang hàng từ xa",
"limitations_hint": "Mỗi nền tảng đều có những hạn chế cụ thể ảnh hưởng đến các tính năng có sẵn. Xem lại những hạn chế này khi lập kế hoạch triển khai.",
"feat_desktop_client": "Máy khách để bàn",
"feat_background_agent": "Tác nhân nền",
"feat_remote_target": "Mục tiêu từ xa",
"feat_screen_capture": "Chụp màn hình",
"feat_input_injection": "Tiêm đầu vào",
"feat_file_transfer": "Truyền tệp",
"feat_clipboard_sync": "Đồng bộ hóa bảng nhớ tạm",
"feat_audio_streaming": "Truyền phát âm thanh",
"feat_chat": "Chat",
"feat_h264": "H.264 Codec",
"feat_vp9": "VP9 Codec",
"feat_av1": "AV1 Codec",
"feat_cdap_agent": "CDAP Agent",
"platform_windows": "Windows",
"platform_linux": "Linux",
"platform_macos": "macOS",
"platform_android": "Android",
"platform_ios": "iOS",
"platform_web": "Web Browser",
"platform_chromeos": "ChromeOS",
"status_production": "Production",
"status_testing": "Testing",
"status_planned": "Planned",
"status_limited": "Limited",
"status_experimental": "Experimental",
"limit_win_uac": "Cần có độ cao UAC để cài đặt dịch vụ và đưa dữ liệu đầu vào vào máy tính để bàn an toàn.",
"limit_win_service": "Chạy dưới dạng dịch vụ NSSM; yêu cầu đặc quyền của Quản trị viên để cài đặt.",
"limit_win_firewall": "Windows Quy tắc tường lửa phải cho phép các cổng 21115-21119 cho các kết nối chuyển tiếp.",
"limit_linux_wayland": "Bộ tổng hợp Wayland hạn chế chụp màn hình theo chương trình; Cần có cổng PipeWire API.",
"limit_linux_pipewire": "Việc thu âm cần có PipeWire; Dự phòng PulseAudio có sẵn nhưng bị hạn chế.",
"limit_linux_arm": "Bản dựng ARM64 có sẵn; một số codec có thể sử dụng giải mã phần mềm (chậm hơn).",
"limit_mac_screen": "Cần có quyền Ghi màn hình trong Tùy chọn hệ thống > Quyền riêng tư & bảo mật.",
"limit_mac_signing": "Đại lý phải được ký bằng ID nhà phát triển của Apple để phân phối.",
"limit_mac_notarize": "Yêu cầu công chứng đối với macOS Gatekeeper (phân phối không phải trên App Store).",
"limit_android_projection": "MediaProjection API cần có sự đồng ý của người dùng cho mỗi phiên chụp màn hình.",
"limit_android_accessibility": "Việc chèn đầu vào yêu cầu AccessibilityService; bị hạn chế trong Android 14+.",
"limit_android_battery": "Dịch vụ nền bị giới hạn bởi chế độ Doze; có thể yêu cầu miễn trừ tối ưu hóa pin.",
"limit_ios_capture": "Apple cấm chụp màn hình nền; chế độ chỉ dành cho người xem được hỗ trợ.",
"limit_ios_input": "Không được phép tiêm đầu vào; chỉ xem và trò chuyện từ xa.",
"limit_ios_appstore": "Chỉ phân phối qua App Store; TestFlight để thử nghiệm beta.",
"limit_web_https": "WebCodecs API và WebRTC yêu cầu HTTPS; HTTP quay trở lại JMuxer (codec giới hạn).",
"limit_web_codec": "Hỗ trợ Codec tùy thuộc vào trình duyệt; H.264 được hỗ trợ rộng rãi, VP9/AV1 có nhiều loại khác nhau.",
"limit_web_performance": "Hiệu suất bị giới hạn bởi hộp cát trình duyệt; không có khả năng tăng tốc phần cứng trực tiếp.",
"limit_chrome_crostini": "Chỉ hỗ trợ đại lý đầy đủ trong vùng chứa Crostini Linux.",
"limit_chrome_pwa": "Chế độ PWA cung cấp các tính năng chỉ dành cho web; không có khả năng đại lý bản địa.",
"limit_chrome_input": "Việc tiêm đầu vào không được hỗ trợ bên ngoài vùng chứa Crostini.",
"feat_session_recording": "Ghi phiên",
"feat_multi_monitor": "Đa màn hình",
"feat_unattended_access": "Truy cập không có người giám sát",
"limit_win_virtual_account": "Dịch vụ chạy dưới tài khoản ảo cách ly thay vì LocalSystem; đường dẫn log tùy chỉnh có thể cần điều chỉnh ACL.",
"limit_linux_unprivileged": "Dịch vụ chạy dưới tài khoản 'betterdesk' không có đặc quyền chuyên dụng với systemd hardening (NoNewPrivileges, ProtectSystem=strict)."
},
"security_audit": {
"title": "Kiểm tra an ninh",
"tab_overview": "Tổng quan",
"tab_events": "Sự kiện kiểm toán",
"tab_hardening": "Hardening",
"tab_vulnerabilities": "Vulnerabilities",
"security_score": "Điểm bảo mật",
"failed_logins": "Đăng nhập thất bại (24h)",
"active_bans": "Active Bans",
"api_keys": "API Keys",
"old_keys": "Chìa khóa cũ (>90d)",
"security_checks": "Kiểm tra bảo mật",
"tls_status": "TLS Status",
"pass": "Pass",
"warning": "Warning",
"fail": "Fail",
"tls_signal": "Signal TLS",
"tls_relay": "Relay TLS",
"tls_api": "API TLS",
"tls_wss": "WebSocket An toàn",
"enabled": "Đã bật",
"disabled": "Đã tắt",
"all_events": "All Events",
"event_login_failed": "Đăng nhập không thành công",
"event_login_success": "Đăng nhập thành công",
"event_peer_banned": "Peer Banned",
"event_ip_banned": "IP Banned",
"event_config_changed": "Cấu hình đã thay đổi",
"event_key_created": "Đã tạo khóa",
"refresh": "Refresh",
"col_time": "Time",
"col_action": "Action",
"col_actor": "Actor",
"col_target": "Target",
"col_ip": "IP Address",
"col_details": "Details",
"no_events": "Không tìm thấy sự kiện kiểm tra nào.",
"hardening_hint": "Ưu tiên tăng cường bảo mật cho việc triển khai BetterDesk của bạn. Các mục được sắp xếp theo mức độ nghiêm trọng.",
"no_hardening": "Không có vật phẩm làm cứng có sẵn.",
"vuln_hint": "Kết quả quét lỗ hổng phụ thuộc. Chạy kiểm tra npm thường xuyên để giữ an toàn cho các phần phụ thuộc.",
"no_vulns": "Không tìm thấy lỗ hổng nào. Sự phụ thuộc của bạn được an toàn."
},
"languages": {
"title": "Quản lý ngôn ngữ",
"total_languages": "Tổng số ngôn ngữ",
"fully_translated": "Đã dịch hoàn toàn",
"needs_review": "Cần xem xét",
"reference_keys": "Khóa tham khảo",
"no_languages": "Không tìm thấy tập tin ngôn ngữ.",
"badge_reference": "Reference",
"badge_review": "Cần xem xét",
"badge_complete": "Complete",
"coverage": "coverage",
"keys": "keys",
"missing": "missing",
"extra": "extra",
"view_missing": "Xem thiếu",
"fix_missing": "Fix Missing",
"missing_keys_for": "Thiếu chìa khóa cho",
"missing_keys_count": "keys missing (English fallback values shown)",
"and_more": "và {n} thêm...",
"all_keys_present": "Tất cả các phím đều có mặt!",
"confirm_fix": "Add missing keys to {code} with English fallback values?",
"fixed_title": "Keys Fixed",
"fixed_msg": "Các khóa còn thiếu trong {code} phải được dịch thủ công.",
"no_fix_needed": "Không thiếu phím nào để sửa."
},
"resource_control": {
"title": "Kiểm soát tài nguyên",
"tab_overview": "Tổng quan",
"tab_usb": "USB Control",
"tab_optical": "Ổ đĩa quang",
"tab_monitors": "Monitors",
"tab_disks": "Disk Access",
"tab_quotas": "Hạn ngạch tài nguyên",
"compliance_by_category": "Tuân thủ theo danh mục",
"device_compliance": "Tuân thủ thiết bị",
"search_devices": "Tìm kiếm thiết bị...",
"col_device": "Thiết bị",
"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": "Tổng số thiết bị",
"stat_compliant": "Compliant",
"stat_partial": "Partial",
"stat_noncompliant": "Non-Compliant",
"stat_compliance_rate": "Tỷ lệ tuân thủ",
"badge_na": "N/A",
"badge_compliant": "OK",
"badge_partial": "Partial",
"badge_noncompliant": "Fail",
"btn_configure": "Cấu hình",
"no_devices": "Không tìm thấy thiết bị nào",
"usb_title": "Kiểm soát cổng USB",
"usb_hint": "Kiểm soát quyền truy cập thiết bị lưu trữ USB cho thiết bị đã chọn hoặc chính sách mặc định trên toàn tổ chức.",
"usb_storage_policy": "Chính sách lưu trữ USB",
"usb_whitelist": "Thiết bị được đưa vào danh sách trắng (một thiết bị trên mỗi dòng)",
"usb_whitelist_hint": "VID:PID (ví dụ: 0781:5583)",
"usb_audit_log": "Ghi nhật ký kết nối thiết bị USB",
"optical_title": "Điều khiển ổ đĩa quang",
"optical_hint": "Kiểm soát quyền truy cập ổ đĩa CD/DVD/Blu-ray cho thiết bị đã chọn.",
"optical_policy": "Chính sách ổ đĩa quang",
"optical_audit_log": "Đăng nhập truy cập ổ đĩa quang",
"monitors_title": "Quản lý giám sát",
"monitors_hint": "Định cấu hình cài đặt màn hình bao gồm số lượng tối đa, thực thi độ phân giải, độ sáng và lịch trình nguồn.",
"monitors_max_count": "Màn hình tối đa (0 = không giới hạn)",
"monitors_max_hint": "0 có nghĩa là không có giới hạn",
"monitors_resolution": "Độ phân giải tối đa",
"monitors_brightness": "Giới hạn độ sáng",
"monitors_power_schedule": "Lịch trình điện",
"monitors_power_hint": "ví dụ: tắt:22:00-06:00",
"disks_title": "Kiểm soát truy cập đĩa",
"disks_hint": "Định cấu hình các chính sách truy cập đĩa bao gồm chế độ chỉ đọc, thực thi mã hóa và khả năng hiển thị phân vùng.",
"disks_readonly": "Buộc chế độ chỉ đọc",
"disks_encryption": "Yêu cầu mã hóa (BitLocker/LUKS)",
"disks_smart": "Kích hoạt S.M.A.R.T. giám sát",
"disks_hidden": "Phân vùng ẩn",
"disks_hidden_hint": "Các ký tự ổ đĩa hoặc điểm gắn kết được phân tách bằng dấu phẩy",
"quotas_title": "Hạn ngạch tài nguyên",
"quotas_hint": "Đặt hạn ngạch CPU, RAM, băng thông và ổ đĩa cho mỗi người dùng cho thiết bị đã chọn.",
"quotas_cpu": "CPU Limit",
"quotas_ram": "RAM Limit",
"quotas_bandwidth": "Giới hạn băng thông (Mbps)",
"quotas_bandwidth_hint": "0 = không giới hạn",
"quotas_disk_quota": "Hạn ngạch đĩa (GB)",
"quotas_disk_hint": "0 = không giới hạn",
"quotas_process_whitelist": "Xử lý danh sách trắng (mỗi dòng một dòng)",
"quotas_process_hint": "ví dụ: chrome.exe, code.exe",
"policy_allowed": "Allowed",
"policy_blocked": "Blocked",
"policy_whitelist": "Chỉ danh sách trắng",
"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": "Cập nhật phần mềm",
"desc": "Check for new versions and update the BetterDesk console from GitHub",
"current_version": "Phiên bản đã cài đặt",
"latest_version": "Latest version",
"status": "Status",
"check_now": "Kiểm tra các bản cập nhật",
"checking": "Checking…",
"up_to_date": "Cập nhật",
"update_available": "Đã có bản cập nhật",
"changelog": "Release Notes",
"no_changelog": "Không có ghi chú phát hành nào",
"files_changed": "Tập tin đã thay đổi",
"files": "tập tin",
"changes_unavailable": "Không thể tải danh sách thay đổi tập tin. Bạn vẫn có thể cài đặt bản cập nhật.",
"create_backup": "Tạo bản sao lưu trước khi cập nhật",
"install": "Install Update",
"install_confirm": "Are you sure you want to install this update? The console will restart after the update.",
"installing": "Đang cài đặt bản cập nhật…",
"creating_backup": "Đang tạo bản sao lưu…",
"downloading": "Đang tải xuống tệp…",
"install_success": "Cập nhật được cài đặt thành công. Bảng điều khiển đang khởi động lại…",
"install_failed": "Cài đặt cập nhật không thành công",
"restarting": "Đang chờ bảng điều khiển khởi động lại…",
"restart_complete": "Bảng điều khiển đã khởi động lại thành công",
"restart_timeout": "Console did not restart in time. Please check manually.",
"no_version": "Không có phiên bản cập nhật nào được chọn. Kiểm tra cập nhật đầu tiên.",
"backups_title": "Cập nhật bản sao lưu",
"backups_desc": "Bản sao lưu trước khi cập nhật được tạo tự động trước mỗi lần cập nhật",
"no_backups": "Không tìm thấy bản sao lưu cập nhật",
"restore": "Restore",
"restore_confirm": "Bạn có chắc chắn muốn khôi phục từ bản sao lưu này không? Các tập tin đã thay đổi sẽ bị ghi đè.",
"restore_success": "Sao lưu được khôi phục thành công. Bảng điều khiển đang khởi động lại…",
"baseline_set": "Bộ đường cơ sở",
"commits_behind": "cam kết đằng sau",
"total_files": "Tổng số tập tin",
"applied": "Applied",
"failed": "thất bại",
"skipped": "Skipped",
"removed": "Removed",
"auto": "Auto",
"manual": "Manual",
"component_console": "Web Console",
"component_server": "Đi máy chủ",
"component_agent": "Agent",
"component_scripts": "Tập lệnh & Docker",
"component_other": "Other",
"server_rebuild_warning": "Go Server source changed — binary rebuild required. Use the ALL-IN-ONE script or compile manually.",
"include_server": "Include Go Server (compile & deploy binary)",
"checking_go": "Đang kiểm tra Đi…",
"go_not_found": "Chưa cài đặt",
"go_check_failed": "Không thể kiểm tra tính khả dụng của Go",
"server_building": "Đang biên dịch Go server… Quá trình này có thể mất vài phút.",
"server_built": "Máy chủ nhị phân được biên dịch",
"server_build_failed": "Biên dịch máy chủ không thành công",
"server_stale_title": "Máy chủ nhị phân lỗi thời",
"server_stale_desc": "Nguồn Go server đã được cập nhật nhưng tệp nhị phân đang chạy không được xây dựng lại. Xây dựng lại nó ngay bây giờ để áp dụng các bản cập nhật bảo mật và thư viện.",
"rebuild_server": "Xây dựng lại máy chủ nhị phân",
"rebuilding_server": "Rebuilding…",
"rebuild_server_success": "Máy chủ nhị phân được xây dựng lại và khởi động lại",
"rebuild_server_failed": "Xây dựng lại máy ch nhị phân không thành công",
"server_deployed": "Máy chủ nhị phân được triển khai",
"server_deploy_failed": "Triển khai máy chủ không thành công",
"server_build_note": "Server compilation may take 1-5 minutes. The page will remain unresponsive during compilation.",
"server_source_downloading": "Đang tải xuống nguồn máy chủ…",
"delete": "Xóa",
"delete_confirm": "Xóa vĩnh viễn bản sao lưu {name}? Điều này không thể hoàn tác được.",
"delete_success": "Đã xóa bản sao lưu",
"delete_failed": "Không xóa được bản sao lưu",
"retention_label": "Giữ N bản sao lưu gần đây nhất",
"retention_hint": "Các bản sao lưu cũ hơn sẽ tự động bị xóa sau mỗi lần cập nhật. Sử dụng 0 để giữ tất cả các bản sao lưu.",
"retention_saved": "Đã lưu cài đặt lưu giữ",
"retention_invalid": "Giá trị lưu giữ phải là số nguyên trong khoảng từ 0 đến 1000",
"retention_required_for_prune": "Đặt giá trị lưu giữ lớn hơn 0 trước",
"prune_now": "Apply now",
"prune_confirm": "Chỉ giữ lại các bản sao lưu gần đây nhất của {n} và xóa phần còn lại?",
"prune_done": "Đã cắt bớt (các) bản sao lưu {n}",
"total_size": "Total size",
"backups_count": "backup(s)",
"strategy_label": "Phương pháp cập nhật",
"strategy_download": "Tải xuống tệp nhị phân dựng sẵn",
"strategy_compile": "Biên dịch từ nguồn",
"both_available": "Tải xuống và biên dịch",
"download_available": "Tải xuống có sẵn",
"no_method": "Không có phương pháp cập nhật",
"no_release": "No release",
"available": "Có sẵn",
"server_downloading": "Đang tải xuống tệp nhị phân của máy chủ…",
"server_downloaded": "Máy chủ đã tải xuống nhị phân",
"server_download_failed": "Tải xuống nhị phân máy chủ không thành công",
"server_download_note": "Tệp nh phân dựng sẵn sẽ được tải xuống từ Bản phát hành GitHub. Việc này thường mất ít hơn một phút.",
"install_go_hint": "Cài đặt Go từ https://go.dev/dl/ để cho phép biên dịch hoặc xuất bản bản phát hành với các tệp nhị phân dựng sẵn",
"strategy_install_go": "Tự động cài đặt Đi và biên dịch",
"strategy_install_go_hint": "Downloads the official Go toolchain (~120 MB) into the console data directory, then compiles the server. Use this when Go is not installed on the host.",
"auto_strategy": "Auto",
"auto_strategy_hint": "The console will pick the best available method (download → compile → auto-install Go).",
"auto_available": "Tự động xây dựng li đã sẵn sàng",
"toolchain_ready": "Đã cài đặt chuỗi công cụ",
"toolchain_will_install": "Go toolchain will be installed automatically",
"toolchain_downloading": "Đang tải xuống chuỗi công cụ Go…",
"toolchain_failed": "Cài đặt chuỗi công cụ không thành công",
"modal_title": "Đang cài đặt bản cập nhật",
"modal_done_title": "Cập nhật hoàn tất",
"modal_close": "Đóng",
"modal_reload_now": "Tải lại bảng điều khiển",
"log_title": "Nhật ký cập nhật",
"log_expand": "Mở rộng nhật ký",
"log_collapse": "Thu gọn nhật ký",
"log_copy": "Sao chép nhật ký",
"progress_step": "Bước {current}/{total}",
"reload_countdown": "Tự động tải lại sau {seconds} giây",
"retry_update": "Thử cập nhật lại",
"retry_confirm": "Thử cài đặt bản cập nhật này lại?",
"phase_confirm": "Confirmation",
"phase_backup": "Backup",
"phase_console": "Tệp bảng điều khiển",
"phase_server": "Giai đoạn máy chủ",
"phase_restart": "Khởi động lại",
"phase_done": "Done",
"preparing": "Preparing…",
"backup_skipped": "Sao lưu bị bỏ qua (theo lựa chọn của người dùng)",
"server_skipped": "Go server bị bỏ qua",
"server_not_selected": "Go server not selected",
"server_processing": "Đang xử lý bản cập nhật Go server…",
"no_restart_needed": "Không cần khởi động lại",
"complete": "Đã áp dụng cập nhật",
"complete_summary": "Bản cập nhật đã được áp dụng thành công.",
"complete_with_errors": "Quá trình cập nhật đã hoàn tất nhưng một số bước không thành công. Xem chi tiết bên dưới.",
"modal_done_with_errors_title": "Cập nhật xong có lỗi",
"console_will_restart": "Quá trình điều khiển sẽ khởi động lại ngay bây giờ…",
"restart_complete_msg": "Bàn điều khiển đã khởi động lại xong. Nhấn vào tải lại để tải phiên bản mới. Trang sẽ tự động tải lại sau 8 giây.",
"refresh_recommended": "Nội dung tĩnh đã thay đổi — hãy tải lại trang để xem giao diện người dùng mới.",
"confirm_title": "Áp dụng cập nhật",
"confirm_with_backup": "Một bản sao lưu cập nhật trước sẽ được tạo tự động.",
"confirm_no_backup": "Sẽ không có bản sao lưu nào được tạo (bạn tự chịu rủi ro khi tiếp tục).",
"channel_title": "Kênh cập nhật",
"channel_desc": "Chọn nguồn panel kiểm tra cập nhật. Môi trường production nên dùng Stable.",
"channel_stable": "Ổn định (main)",
"channel_development": "Phát triển (dev)",
"channel_branch_label": "Nhánh GitHub",
"channel_save": "Đổi kênh",
"channel_saved": "Đã đổi kênh. Bấm Kiểm tra cập nhật.",
"channel_save_failed": "Không thể lưu kênh cập nhật",
"channel_switch_warning": "Đổi kênh sẽ đổi nhánh GitHub. SHA commit theo dõi được giữ — lần kiểm tra sau có thể hiện chênh lệch lớn. Tiếp tục?",
"channel_pick_label": "Chuyển sang",
"channel_apply_hint": "Lưu ngay sau khi xác nhận. Sau đó bấm Kiểm tra cập nhật.",
"channel_confirm_switch": "Chuyển nguồn từ {from} sang {to}? Commit đã cài giữ nguyên cho đến khi kiểm tra cập nhật.",
"docker_title": "Triển khai image Docker",
"docker_desc": "Bảng điều khiển chạy từ image container dựng sẵn (all-in-one chính thức hoặc split legacy). Cập nhật trên máy chủ bằng cách kéo image container mới từ GHCR, không qua cài đặt trong ứng dụng hay build lại Go.",
"docker_install_note": "Cài đặt trong ứng dụng bị tắt trên Docker. Chạy các lệnh trên trên máy chủ, rồi làm mới trang này.",
"docker_update_available": "Có image container mới",
"docker_sha_unknown": "Đã cập nhật (commit image không rõ)",
"docker_images": "Image",
"more_options": "Tùy chọn khác",
"option_advanced": "Tùy chọn nâng cao",
"option_advanced_desc": "Giữ bản sao lưu, triển khai Docker, build lại máy chủ và chiến lược cập nhật"
},
"permissions": {
"title": "Quyền",
"subtitle": "Quản lý quyền dựa trên vai trò và ghi đè tùy chỉnh",
"info_title": "Cách thức hoạt động của quyền",
"info_desc": "Mỗi vai trò có quyền mặc định. Bạn có thể thêm hoặc xóa các quyền riêng lẻ cho mỗi vai trò bằng cách chuyển đổi chúng bên dưới. Phần ghi đè tùy chỉnh được đánh dấu và có thể được hoàn nguyên về mặc định bất kỳ lúc nào.",
"select_role": "Chọn vai trò",
"select_role_placeholder": "Chọn một vai trò...",
"reset_overrides": "Đặt lại tất cả các phần ghi đè",
"granted": "Granted",
"overrides": "Overrides",
"level": "Level",
"super_admin_tag": "Full access",
"server_level_tag": "Cấp máy chủ",
"custom": "Custom",
"default": "Default",
"revert": "Hoàn nguyên về mặc định",
"saved": "Đã cập nhật quyền",
"reverted": "Đã hoàn nguyên về mặc định",
"all_reverted": "Tất cả các ghi đè được hoàn nguyên",
"confirm_reset": "Đặt lại tất cả các thông tin ghi đè tùy chỉnh cho vai trò này về mặc định?",
"empty_title": "Chọn một vai trò",
"empty_desc": "Chọn một vai trò từ danh sách thả xuống ở trên để xem và quản lý các quyền của vai trò đó.",
"locked_title": "Super Admin",
"locked_desc": "Quản trị viên cấp cao có tất cả các quyền theo mặc định và không thể tùy chỉnh.",
"cat_device": "Thiết bị",
"cat_user": "Users",
"cat_server": "Máy chủ",
"cat_org": "Tổ chức",
"cat_audit": "Kiểm toán & Giám sát",
"cat_cdap": "CDAP",
"cat_enrollment": "Enrollment",
"cat_chat": "Chat",
"cat_branding": "Branding",
"perm_device_view": "Xem thiết bị",
"perm_device_connect": "Kết nối với các thiết bị",
"perm_device_edit": "Chỉnh sửa thiết bị",
"perm_device_delete": "Xóa thiết bị",
"perm_device_ban": "Cấm/bỏ cấm thiết bị",
"perm_device_change_id": "Thay đổi ID thiết bị",
"perm_user_view": "Xem người dùng",
"perm_user_create": "Tạo người dùng",
"perm_user_edit": "Chỉnh sửa người dùng",
"perm_user_delete": "Xóa người dùng",
"perm_server_config": "Cấu hình máy chủ",
"perm_server_keys": "Quản lý khóa API",
"perm_org_create": "Tạo tổ chức",
"perm_org_edit": "Chỉnh sửa tổ chức",
"perm_org_delete": "Xóa tổ chức",
"perm_org_manage_users": "Quản lý người dùng tổ chức",
"perm_org_manage_devices": "Quản lý thiết bị của tổ chức",
"perm_audit_view": "Xem nhật ký kiểm tra",
"perm_metrics_view": "Xem số liệu",
"perm_blocklist_edit": "Chỉnh sửa danh sách chặn",
"perm_cdap_view": "Xem thiết bị CDAP",
"perm_cdap_command": "Gửi lệnh CDAP",
"perm_cdap_terminal": "Truy cập thiết bị đầu cuối CDAP",
"perm_cdap_files": "Truy cập tệp CDAP",
"perm_enrollment_manage": "Quản lý tuyển sinh",
"perm_enrollment_approve": "Phê duyệt đăng ký",
"perm_chat_access": "Chat access",
"perm_branding_edit": "Chỉnh sửa thương hiệu",
"perm_server_attestation": "Chứng nhận hiệu suất máy chủ"
},
"notifications": {
"title": "Thông báo",
"empty": "Không có thông báo mới",
"mark_all_read": "Đánh dấu tất cả đã đọc",
"see_all": "Xem tất cả yêu cầu trợ giúp",
"help_request": "Yêu cầu trợ giúp",
"just_now": "just now"
},
"accessibility": {
"title": "Accessibility",
"subtitle": "Điều chỉnh bảng điều khiển theo nhu cầu thị giác, chuyển động và đọc của bạn.",
"close": "Đóng menu trợ năng",
"profiles": "Hồ sơ nhanh",
"profile_low_vision": "Low vision",
"profile_low_vision_hint": "Văn bản lớn hơn, độ tương phản và tiêu điểm mạnh mẽ.",
"profile_dyslexia": "Đọc sách thoải mái",
"profile_dyslexia_hint": "Phông chữ dễ đọc và khoảng cách rộng hơn.",
"profile_motion_safe": "Motion safe",
"profile_motion_safe_hint": "Giảm chuyển tiếp và tạm dừng hoạt ảnh.",
"profile_color_assist": "Hỗ trợ màu sắc",
"profile_color_assist_hint": "Bộ lọc màu, nhãn và liên kết được đánh dấu.",
"reading": "Reading",
"font_size": "Font size",
"line_height": "Line height",
"letter_spacing": "Khoảng cách chữ",
"word_spacing": "Khoảng cách từ",
"readable_font": "Phông chữ có thể đọc được",
"readable_font_hint": "Sử dụng các hình dạng chữ rộng và quen thuộc.",
"dyslexia_spacing": "Khoảng cách chứng khó đọc",
"dyslexia_spacing_hint": "Thêm khoảng cách bổ sung cho văn bản dài.",
"visual": "Visual",
"contrast": "Contrast",
"contrast_normal": "Normal",
"contrast_high_dark": "Độ tương phản cao tối",
"contrast_high_light": "Ánh sáng có độ tương phản cao",
"contrast_yellow_black": "Màu vàng trên nền đen",
"color_filter": "Bộ lọc tầm nhìn màu",
"filter_none": "None",
"filter_protanopia": "Protanopia",
"filter_deuteranopia": "Deuteranopia",
"filter_tritanopia": "Tritanopia",
"filter_achromatopsia": "Achromatopsia",
"saturation": "Độ bão hòa màu",
"underline_links": "Gạch chân các liên kết",
"underline_links_hint": "Làm cho các liên kết hiển thị mà không cần dựa vào màu sắc.",
"highlight_links": "Đánh dấu hành động",
"highlight_links_hint": "Phác thảo các liên kết và các nút.",
"highlight_headings": nh dấu các tiêu đề",
"highlight_headings_hint": "Đánh dấu tiêu đề phần bằng thanh màu.",
"hide_media": "Dim media",
"hide_media_hint": "Làm mờ hình ảnh, video và canvas.",
"interaction": "Interaction",
"strong_focus": "Tập trung mạnh mẽ",
"strong_focus_hint": "Hiển thị vòng lấy nét bàn phím lớn.",
"large_cursor": "Con trỏ lớn",
"large_cursor_hint": "Sử dụng con trỏ có độ tương phản cao lớn hơn.",
"reduce_motion": "Giảm chuyển động",
"reduce_motion_hint": "Rút ngắn chuyển tiếp và cuộn mượt mà.",
"pause_animations": "Tạm dừng hoạt ảnh",
"pause_animations_hint": "Dừng lặp lại chuyển động thị giác.",
"reading_guide": "Hướng dẫn đọc",
"reading_guide_hint": "Theo sau con trỏ bằng một đường sáng.",
"reading_mask": "Mặt nạ đọc sách",
"reading_mask_hint": "Làm mờ nội dung bên trên và bên dưới con trỏ.",
"preview": "Preview",
"preview_title": "Xem trước không gian làm việc của người vận hành",
"preview_text": "Kiểm tra xem văn bản, liên kết, điều khiển và nhãn trạng thái có dễ đọc hay không trước khi đóng menu này.",
"preview_link": "Liên kết chi tiết thiết bị",
"preview_status": "Online",
"preview_button": "Hành động chính",
"preview_secondary": "Secondary",
"reset": "Reset",
"done": "Done"
},
"server_mgmt": {
"title": "Quản lý máy chủ",
"subtitle": "Mặt phẳng điều khiển giống buồng lái dành cho máy chủ bảng điều khiển BetterDesk (BETA).",
"beta_tooltip": "Tính năng Beta - đang được phát triển tích cực.",
"notice_title": "Tính năng thử nghiệm",
"notice_body": "Các công cụ này chạy trên máy chủ nơi xử lý bảng điều khiển BetterDesk hoạt động. Tất cả các hoạt động đều được kiểm toán. Phạm vi tính năng sẽ mở rộng trong các phiên bản tương lai.",
"tab_overview": "Tổng quan",
"tab_terminal": "Cửa sổ dòng lệnh",
"tab_files": "Tệp",
"tab_services": "Dịch vụ",
"cpu": "CPU",
"memory": "Bộ nhớ",
"load": "Tải trung bình",
"disks": "Ổ đĩa",
"history": "Lịch sử (60 mẫu cuối cùng)",
"host_info": "Host info",
"cores": "cores",
"uptime": "Thời gian hoạt động",
"no_disks": "Không có sẵn dữ liệu đĩa",
"info_hostname": "Hostname",
"info_platform": "Platform",
"info_kernel": "Kernel",
"info_node": "Node.js",
"info_process_id": "Process ID",
"info_pty_available": "PTY có sẵn",
"term_connect": "Kết nối",
"term_disconnect": "Ngắt kết nối",
"term_clear": "Clear",
"term_status": "Status",
"term_connecting": "Connecting…",
"term_connected": "Connected",
"term_disconnected": "Disconnected",
"term_error": "Lỗi kết nối",
"term_warning": "Các lệnh chạy với tư cách là người dùng sở hữu tiến trình giao diện điều khiển. Thêm quy tắc sudoers để bật độ cao.",
"term_hint": "Mẹo: gõ `sudo -i` để chuyển cấp (yêu cầu cấu hình sudoers).",
"term_lib_failed": "Không thể tải thư viện thiết bị đầu cuối",
"files_up": "Lên một cấp",
"files_go": "Go",
"files_mkdir": "New folder",
"files_name": "Name",
"files_size": "Size",
"files_perms": "Mode",
"files_mtime": "Modified",
"files_rename": "Rename",
"files_rename_prompt": "New name:",
"files_empty": "Thư mục trống",
"files_error": "Không liệt kê được thư mục",
"read_failed": "Không đọc được tập tin",
"save_failed": "Không lưu được tập tin",
"rename_failed": "Đổi tên không thành công",
"delete_failed": "Xóa không thành công",
"delete_confirm": "Xóa mục này?",
"mkdir_prompt": "Tên thư mục mới:",
"mkdir_failed": "Không tạo được thư mục",
"file_saved": "Đã lưu tệp",
"binary_warn": "Tệp nhị phân - chỉ xem trước",
"encoding_utf8": "UTF-8 text",
"truncated": "truncated",
"full": "full",
"svc_search_placeholder": "Dịch vụ tìm kiếm…",
"svc_name": "Service",
"svc_state": "State",
"svc_description": "Description",
"svc_empty": "Không tìm thấy dịch vụ nào",
"svc_load_failed": "Không thể tải dịch vụ",
"svc_action_failed": "Hành động không thành công",
"svc_confirm": "Run",
"svc_start": "Start",
"svc_stop": "Stop",
"svc_restart": "Khởi động lại",
"svc_reload": "Reload",
"svc_enable": "Enable",
"svc_disable": "Disable",
"svc_status": "Status"
},
"download": {
"title": "Tải xuống Đại lý BetterDesk",
"choose_platform": "Chọn nền tảng của bạn",
"choose_platform_hint": "Chọn trình cài đặt phù hợp với hệ điều hành của bạn.",
"download": "Tải xuống",
"building": "Tòa nhà…",
"failed": "Xây dựng không thành công",
"need_help": "Cần giúp đỡ?",
"powered_by": "Được cung cấp bởi",
"product_agent_client": "BetterDesk Agent Client — full managed endpoint agent",
"product_support_agent": "BetterDesk Support Agent — lightweight end-user client",
"product_rdclient": "BetterDesk RdClient — operator remote desktop client"
},
"server_attestation": {
"title": "Chứng nhận hiệu suất máy chủ",
"subtitle": "Benchmark hiệu suất xác định công suất kết nối từ xa đồng thời ở ngưỡng CPU, RAM và đĩa 80%.",
"warning_title": "Kiểm tra tải",
"warning_body": "Benchmark mô phỏng các kết nối WebSocket song song đến máy chủ signal và relay. Chạy trong giờ thấp điểm — bài kiểm tra này tạo tải cho môi trường production.",
"run_benchmark": "Chạy Benchmark",
"abort": "Hủy bỏ",
"download_report": "Tải báo cáo JSON",
"last_test": "Lần kiểm tra cuối",
"no_test_yet": "Chưa có benchmark nào được chạy",
"max_connections": "Kết nối tối đa",
"threshold_80": "Ngưỡng 80% — số liệu cuối cùng",
"disk": "Đĩa",
"ramp_chart": "Biểu đồ tăng tải",
"connections": "Kết nối",
"connections_short": "kết nối",
"tier_guide_title": "Mỗi cấp có nghĩa là gì?",
"tier_bronze": "BRONZE",
"tier_iron": "IRON",
"tier_titanium": "TITANIUM",
"tier_platinum": "PLATINUM",
"tier_obsidian": "OBSIDIAN",
"tier_none": "UNRATED",
"tier_bronze_desc": "125 kết nối đồng thời — VPS nhỏ (12 vCPU, 24 GB RAM).",
"tier_iron_desc": "2675 kết nối — máy chủ tầm trung (24 vCPU, 48 GB RAM).",
"tier_platinum_desc": "76200 kết nối — máy chủ hiệu suất cao (48 vCPU, 816 GB RAM).",
"tier_titanium_desc": "201400 kết nối — cơ sở hạ tầng doanh nghiệp (8+ vCPU, 1632 GB RAM).",
"tier_obsidian_desc": "401+ kết nối — hạng Turbo: phần cứng chuyên dụng, 16+ vCPU, 32+ GB RAM, NVMe.",
"docker_note": "Lưu ý: trong Docker, số liệu CPU/RAM có thể phản ánh giới hạn container thay vì máy chủ vật lý.",
"badge_tooltip": "BetterDesk Server Attestation — chứng nhận hiệu suất máy chủ",
"confirm_run": "Benchmark này sẽ kiểm tra tải máy chủ với các kết nối mô phỏng. Tiếp tục?",
"starting": "Đang bắt đầu…",
"complete": "Benchmark hoàn tất",
"signal_peers": "Peer tín hiệu",
"relay_sessions": "Phiên chuyển tiếp",
"page_error": "Không thể tải trang Server Attestation",
"mode_estimated": "Ước tính (WebSocket không thể truy cập)",
"incomplete": "Benchmark kết thúc mà không có cấp hợp lệ"
},
"commercialization": {
"title": "Thương mại hóa",
"subtitle": "Gói hỗ trợ, phiên tính phí và báo cáo công việc",
"alpha_badge": "ALPHA",
"alpha_tooltip": "Tính năng sớm — hóa đơn và gói đang được phát triển tích cực.",
"tabs": {
"overview": "Tổng quan",
"packages": "Gói & hợp đồng",
"sessions": "Phiên",
"reports": "Báo cáo",
"settings": "Cài đặt nâng cao"
},
"clock": {
"title": "Giờ máy chủ (NTP)",
"check_now": "Kiểm tra ngay",
"unsynced": "Đồng hồ máy chủ chưa đồng bộ — phiên tính phí có thể bị chặn",
"synced_detail": "Đồng hồ đã đồng bộ cho tính phí",
"ntp_servers": "Máy chủ NTP",
"ntp_servers_hint": "Tên máy chủ hoặc IP cách nhau bằng dấu phẩy. Áp dụng cho máy chủ Go (betterdesk-server).",
"max_skew_ms": "Độ lệch đồng hồ tối đa (ms)",
"require_sync": "Yêu cầu đồng hồ đồng bộ cho phiên tính phí",
"trust_os": "Tin cậy NTP OS khi truy vấn trực tiếp thất bại",
"trust_os_hint": "Dùng trạng thái systemd-timesyncd/chrony khi UDP NTP bị chặn.",
"save": "Lưu cài đặt NTP",
"saved": "Đã lưu cài đặt đồng hồ. Đang khởi động lại máy chủ Go.",
"save_restart": "Lưu NTP và khởi động lại máy chủ Go? Phiên đang hoạt động có thể ngắt tạm thời.",
"status_offset": "Độ lệch",
"status_server": "Nguồn NTP",
"status_os": "Đồng hồ OS đã đồng bộ",
"status_error": "Lỗi cuối",
"os_yes": "Có",
"os_no": "Không",
"checked": "Clock check completed"
},
"stats": {
"active_sessions": "Phiên tính phí đang hoạt động",
"expiring_contracts": "Contracts expiring (30 days)",
"expiring_hint": "Active assignments with end date within 30 days"
},
"packages": {
"new": "Gói mới",
"name": "Tên",
"included_minutes": "Phút bao gồm",
"overage_rate": "Giá vượt / giờ",
"currency": "Tiền tệ",
"heading": "Gói hỗ trợ",
"prompt_name": "Tên gói",
"create_title": "Gói mới cho tổ chức",
"create_submit": "Tạo gói",
"select_org": "Tổ chức",
"select_org_placeholder": "Chọn tổ chức…",
"description": "Description",
"edit_title": "Edit package",
"created": "Package created",
"updated": "Package updated",
"deleted": "Package deleted",
"delete_confirm": "Delete this package? Assignments using it must be removed first."
},
"sessions": {
"device": "Thiết bị",
"operator": "Người vận hành",
"duration": "Thời lượng",
"phase": "Giai đoạn",
"amount": "Số tiền",
"org": "Organization"
},
"reports": {
"session": "Phiên",
"summary": "Tóm tắt",
"date": "Ngày"
},
"contracts": {
"title": "Hợp đồng tổ chức",
"new": "Gán gói",
"org": "Tổ chức",
"package": "Gói",
"remaining": "Phút còn lại",
"status": "Trạng thái",
"actions": "Thao tác",
"suspend": "Tạm ngưng",
"activate": "Kích hoạt",
"select_org": "Chọn tổ chức",
"select_package": "Chọn gói",
"no_orgs": "Không tìm thấy tổ chức",
"no_packages": "Hãy tạo gói trước",
"assignments_title": "Package assignments",
"target": "Target",
"hourly_rate": "Hourly rate",
"custom_overage": "Custom overage rate / h",
"validity": "Validity",
"valid_from": "Valid from",
"valid_until": "Valid until",
"edit_title": "Edit assignment",
"updated": "Assignment updated",
"deleted": "Assignment removed",
"delete_confirm": "Remove this package assignment?"
},
"export": {
"csv": "Xuất CSV",
"pdf": "Xuất PDF",
"sessions_csv": "Xuất phiên CSV"
},
"report": {
"title": "Báo cáo công việc",
"subtitle": "Mô tả công việc đã thực hiện trong phiên điều khiển từ xa này.",
"category": "Danh mục",
"ticket_ref": "Tham chiếu ticket",
"summary": "Công việc đã thực hiện",
"skip": "Bỏ qua bây giờ",
"submit": "Gửi báo cáo",
"summary_required": "Tóm tắt là bắt buộc",
"saved": "Đã lưu báo cáo công việc"
},
"empty": {
"packages": "Chưa có gói nào. Tạo gói bằng nút phía trên.",
"contracts": "Chưa có hợp đồng tổ chức. Gán gói cho tổ chức.",
"sessions": "Chưa có phiên tính phí nào.",
"reports": "Chưa có báo cáo công việc."
},
"assign": {
"title": "Gán gói hiện có",
"submit": "Gán",
"target_type": "Target type",
"target": "Target",
"select_target": "Select target…",
"missing_fields": "Select target and package",
"optional": "Optional",
"success": "Package assigned"
},
"form": {
"cancel": "Hủy"
},
"notifications": {
"title": "Email notifications",
"desc": "Notify operators by email when devices in their folders or groups submit help requests.",
"smtp_status": "SMTP status",
"smtp_configured": "SMTP is configured",
"smtp_missing": "SMTP is not configured — set it up in Settings → Email",
"smtp_link": "Open SMTP settings",
"help_requests_enabled": "Send email for new help requests",
"notify_assigned_operators": "Notify operators assigned to the device folder or group",
"fallback_alert_email": "Use alert email when no operator address is available",
"include_folder_in_subject": "Include folder name in the email subject",
"save": "Save notification settings",
"saved": "Notification settings saved"
},
"targets": {
"org": "Organization",
"device_group": "Device group",
"folder": "Folder",
"device": "Device"
},
"actions": {
"edit": "Edit",
"delete": "Delete",
"save": "Save",
"refresh": "Refresh"
},
"filters": {
"target_type": "Target type",
"all_types": "All types",
"all_statuses": "All statuses",
"all_orgs": "All organizations",
"organization": "Organization",
"search": "Search",
"search_placeholder": "Name or package…",
"device_id_placeholder": "Device ID"
},
"status": {
"active": "Active",
"suspended": "Suspended",
"pending_report": "Pending report",
"closed": "Closed"
}
},
"remote_dashboard": {
"title": "Client máy tính để bàn từ xa",
"subtitle": "Kết nối với thiết bị từ trình duyệt",
"search_placeholder": "Tìm theo ID, tên máy chủ hoặc ghi chú…",
"filter_all": "Tất cả",
"filter_online": "Trực tuyến",
"filter_offline": "Ngoại tuyến",
"col_id": "ID thiết bị",
"col_hostname": "Tên máy chủ",
"col_platform": "Nền tảng",
"col_status": "Trạng thái",
"col_last_seen": "Lần cuối",
"connect": "Kết nối",
"empty": "Không có thiết bị khớp bộ lọc",
"loading": "Đang tải thiết bị…",
"error_load": "Không thể tải thiết bị",
"open_panel": "Mở bảng điều khiển",
"devices_count": "{count} thiết bị",
"retry": "Thử lại",
"nav_address_book": "Sổ địa chỉ",
"nav_folders": "Thư mục",
"nav_groups": "Nhóm",
"nav_tags": "Thẻ",
"quick_connect": "Điều khiển desktop từ xa",
"quick_connect_placeholder": "Nhập ID từ xa…",
"view_grid": "Xem lưới",
"view_list": "Xem danh sách",
"sync_now": "Làm mới",
"last_sync": "Đã cập nhật",
"status_ready": "Sẵn sàng",
"sync_error": "Lỗi đồng bộ",
"unassigned": "Chưa gán",
"no_groups": "Không có nhóm",
"no_tags": "Không có thẻ",
"collapse_devices": "Thu gọn danh sách thiết bị",
"expand_devices": "Mở rộng danh sách thiết bị",
"open_settings": "Cài đặt"
},
"rdclient_login": {
"title": "Máy khách Desktop từ xa",
"subtitle": "Đăng nhập để kết nối với thiết bị của bạn",
"username_placeholder": "Tên người dùng",
"password_placeholder": "Mật khẩu",
"remember_me": "Ghi nhớ tôi trên thiết bị này",
"sign_in": "Đăng nhập",
"totp_title": "Xác thực hai yếu tố",
"totp_subtitle": "Nhập mã 6 chữ số từ ứng dụng xác thực của bạn",
"verify": "Xác minh",
"back_to_login": "Quay lại đăng nhập",
"open_console_login": "Mở đăng nhập bảng điều khiển",
"session_expired": "Phiên đã hết hạn. Vui lòng đăng nhập lại.",
"fill_all_fields": "Vui lòng điền đầy đủ các trường",
"invalid_credentials": "Thông tin đăng nhập không hợp lệ",
"network_error": "Lỗi mạng",
"enter_6_digits": "Nhập đủ 6 chữ số",
"invalid_code": "Mã không hợp lệ"
},
"rdclient_settings": {
"title": "Cài đặt RdClient",
"open": "Cài đặt",
"server_url": "URL bảng điều khiển",
"tls_strict": "TLS nghiêm ngặt",
"sign_out": "Đăng xuất",
"reset_client": "Đặt lại client",
"discovery_refresh": "Làm mới",
"discovery_empty": "Không tìm thấy máy chủ trên mạng cục bộ"
},
"mobile_nav": {
"label": "Điều hướng chính",
"home": "Trang chủ",
"devices": "Thiết bị",
"remote": "Từ xa",
"chat": "Trò chuyện",
"more": "Thêm"
},
"mesh": {
"settings_title": "MeshCentral Compatibility",
"enabled": "MeshCentral layer enabled",
"disabled": "MeshCentral layer disabled",
"server_id": "Server ID (for .msh)",
"download_msh": "Download MeshAgent .msh",
"agents_online": "Mesh agents online",
"device_type": "Mesh Agent",
"transport_mesh": "MeshCentral KVM",
"linked_peer": "Linked device",
"link_peer": "Link to RustDesk/CDAP peer on same host",
"onboarding_title": "MeshAgent onboarding",
"onboarding_body": "Download the .msh file, install MeshAgent on endpoints, and devices appear as mesh_agent in the device list.",
"run_command": "Chạy lệnh",
"terminal": "Terminal",
"files": "Trình duyệt tệp",
"run_command_title": "Chạy lệnh trên thiết bị",
"command_placeholder": "Lệnh cần thực thi",
"command_sent": "Đã gửi lệnh tới agent",
"command_failed": "Gửi thất bại",
"run_as_shell": "Chạy trong shell",
"terminal_title": "Terminal từ xa",
"terminal_unavailable": "Chưa tải module terminal",
"link_peer_title": "Liên kết agent Mesh",
"link_peer_hint": "ID peer RustDesk hoặc CDAP trên cùng host. Để trống để hủy liên kết.",
"link_saved": "Đã cập nhật liên kết",
"transport_terminal": "Terminal Mesh",
"transport_files": "Tệp Mesh",
"settings_desc": "Onboarding MeshAgent và Server ID cho file .msh.",
"mesh_name": "Tên nhóm Mesh (.msh)",
"copy_server_id": "Sao chép Server ID",
"copy_server_id_ok": "Đã sao chép Server ID",
"enabled_label": "Bật",
"disabled_label": "Tắt",
"share_link": "Liên kết desktop khách",
"share_link_title": "Tạo liên kết desktop khách",
"share_link_hint": "Liên kết chỉ xem có thời hạn. Người nhận có thể mở desktop từ xa không cần tài khoản panel.",
"share_ttl": "Hiệu lực (phút)",
"share_url": "URL chia sẻ",
"share_create": "Tạo liên kết",
"share_created": "Đã tạo liên kết khách",
"port_tcp": "Relay cổng TCP",
"port_forward_title": "Relay TCP qua MeshAgent",
"port_connect": "Kết nối",
"port_connected": "Relay sẵn sàng",
"port_connecting": "Đang kết nối…",
"port_closed": "Đã ngắt kết nối",
"port_error": "Lỗi WebSocket",
"port_invalid": "Cổng không hợp lệ",
"port_send": "Gửi",
"port_send_placeholder": "Gửi văn bản tới cổng từ xa…",
"port_unavailable": "Module relay cổng chưa tải",
"power_sleep": "Ngủ",
"power_reset": "Khởi động lại",
"power_confirm": "Gửi lệnh nguồn",
"power_sent": "Đã gửi lệnh nguồn",
"power_wake": "Wake",
"power_off": "Power off",
"filter_mesh": "Mesh agents",
"port_udp": "UDP port relay",
"groups_title": "Mesh groups",
"group_id_placeholder": "Group ID",
"group_name_placeholder": "Display name",
"group_add": "Add group",
"groups_save": "Save groups",
"groups_empty": "No mesh groups yet.",
"groups_load_error": "Could not load mesh groups.",
"groups_saved": "Mesh groups saved",
"groups_save_error": "Failed to save mesh groups",
"recordings_title": "Session recordings (server)",
"recordings_desc": "Mesh desktop sessions captured on the server (.mcrec). CDAP/RustDesk browser recordings stay local unless exported.",
"recordings_empty": "No server recordings yet.",
"recordings_load_error": "Could not load recordings.",
"recording_download": "Download",
"recording_server_on": "Server recording enabled — reconnecting…",
"recording_server_off": "Server recording disabled — reconnecting…",
"cert_missing": "Agent-server certificate not found. Back up mesh_agent_server.pem after agents connect.",
"cert_ok": "Agent-server certificate present",
"onboarding_step_msh": "Download the .msh file and set the mesh group name.",
"onboarding_step_install": "Install unmodified MeshAgent on endpoints using the .msh file.",
"onboarding_step_verify": "Confirm devices appear as mesh_agent and show online."
},
"guest_access": {
"title": "Remote khách",
"subtitle": "Truy cập tạm thời — chỉ thiết bị được chia sẻ",
"menu": "Liên kết truy cập khách",
"create_title": "Tạo liên kết truy cập khách",
"create_hint": "Liên kết RdClient có thời hạn. Người nhận chỉ kết nối được các thiết bị đã chọn — không đăng nhập Console, không danh sách đầy đủ.",
"devices": "Thiết bị",
"ttl": "Có hiệu lực (phút)",
"label": "Nhãn (tuỳ chọn)",
"view_only": "Chỉ xem",
"url": "URL chia sẻ",
"create": "Tạo liên kết",
"created": "Đã tạo liên kết khách",
"invalid_title": "Liên kết khách không hợp lệ",
"missing_token": "Liên kết khách thiếu token.",
"expired": "Liên kết khách không hợp lệ hoặc đã hết hạn.",
"device_denied": "Liên kết không hợp lệ, hết hạn hoặc không cho phép thiết bị này.",
"empty": "Không có thiết bị trên liên kết này.",
"expires": "Hết hạn",
"back_to_list": "Quay lại danh sách khách"
}
}