mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 07:03:53 +08:00
1331 lines
78 KiB
JavaScript
1331 lines
78 KiB
JavaScript
export default {
|
|
// Login page related prompt text
|
|
'login.requiredUsername': 'Tên đăng nhập không được để trống',
|
|
'login.requiredPassword': 'Mật khẩu không được để trống',
|
|
'login.requiredCaptcha': 'Mã xác minh không được để trống',
|
|
'login.requiredMobile': 'Vui lòng nhập số điện thoại di động hợp lệ',
|
|
'login.loginSuccess': 'Đăng nhập thành công!',
|
|
|
|
// HeaderBar component text
|
|
'header.smartManagement': 'Tác nhân AI',
|
|
'header.modelConfig': 'Mô hình',
|
|
'header.knowledgeBase': 'Kiến thức',
|
|
'header.voiceCloneManagement': 'NBAS',
|
|
'header.voiceResourceManagement': 'Tài nguyên giọng nói',
|
|
'header.userManagement': 'Người dùng',
|
|
'header.otaManagement': 'Quản lý OTA',
|
|
'header.paramDictionary': 'Khác',
|
|
'header.paramManagement': 'Quản lý tham số',
|
|
'header.dictManagement': 'Quản lý từ điển',
|
|
'header.agentTemplate': 'Mẫu vai trò mặc định',
|
|
'header.searchHistory': 'Lịch sử tìm kiếm',
|
|
'header.clearHistory': 'Xóa lịch sử',
|
|
'header.providerManagement': 'Quản lý nhà cung cấp',
|
|
'header.serverSideManagement': 'Quản lý máy chủ',
|
|
'header.featureManagement': 'Cấu hình chức năng hệ thống',
|
|
'header.changePassword': 'Đổi mật khẩu',
|
|
'header.logout': 'Đăng xuất',
|
|
'header.searchPlaceholder': 'Tìm tên hoặc MAC',
|
|
|
|
// McpToolCallDialog component text
|
|
'mcpToolCall.title': 'Gọi công cụ',
|
|
'mcpToolCall.execute': 'Thực thi',
|
|
'mcpToolCall.chooseFunction': '1、Chọn chức năng',
|
|
'mcpToolCall.searchFunction': 'Tìm kiếm chức năng',
|
|
'mcpToolCall.noResults': 'Không tìm thấy chức năng phù hợp',
|
|
'mcpToolCall.settings': '2、Cài đặt tham số',
|
|
'mcpToolCall.inputPlaceholder': 'Vui lòng nhập {label}',
|
|
'mcpToolCall.valueRange': 'Phạm vi giá trị: {min} - {max}',
|
|
'mcpToolCall.selectPlaceholder': 'Vui lòng chọn {label}',
|
|
'mcpToolCall.lightTheme': 'Chủ đề sáng',
|
|
'mcpToolCall.darkTheme': 'Chủ đề tối',
|
|
'mcpToolCall.pleaseSelect': 'Vui lòng chọn một chức năng',
|
|
'mcpToolCall.cancel': 'Hủy bỏ',
|
|
'mcpToolCall.requiredField': 'Vui lòng nhập {field}',
|
|
'mcpToolCall.minValue': 'Giá trị tối thiểu là {value}',
|
|
'mcpToolCall.maxValue': 'Giá trị tối đa là {value}',
|
|
'mcpToolCall.selectTool': 'Vui lòng chọn một công cụ để thực thi',
|
|
'mcpToolCall.executionResult': '3、Kết quả thực thi',
|
|
'mcpToolCall.copyResult': 'Sao chép kết quả',
|
|
'mcpToolCall.noResultYet': 'Chưa có kết quả',
|
|
'mcpToolCall.loadingToolList': 'Đang tải danh sách công cụ...',
|
|
|
|
// Tool names
|
|
'mcpToolCall.toolName.getDeviceStatus': 'Xem trạng thái thiết bị',
|
|
'mcpToolCall.toolName.setVolume': 'Đặt âm lượng',
|
|
'mcpToolCall.toolName.setBrightness': 'Đặt độ sáng',
|
|
'mcpToolCall.toolName.setTheme': 'Đặt chủ đề',
|
|
'mcpToolCall.toolName.takePhoto': 'Chụp ảnh & Nhận dạng',
|
|
'mcpToolCall.toolName.getSystemInfo': 'Thông tin hệ thống',
|
|
'mcpToolCall.toolName.reboot': 'Khởi động lại thiết bị',
|
|
'mcpToolCall.toolName.upgradeFirmware': 'Nâng cấp firmware',
|
|
'mcpToolCall.toolName.getScreenInfo': 'Thông tin màn hình',
|
|
'mcpToolCall.toolName.snapshot': 'Ảnh chụp màn hình',
|
|
'mcpToolCall.toolName.previewImage': 'Xem trước hình ảnh',
|
|
'mcpToolCall.toolName.setDownloadUrl': 'Đặt URL tải xuống',
|
|
|
|
// Tool categories
|
|
'mcpToolCall.category.audio': 'Âm thanh',
|
|
'mcpToolCall.category.display': 'Hiển thị',
|
|
'mcpToolCall.category.camera': 'Máy ảnh',
|
|
'mcpToolCall.category.system': 'Hệ thống',
|
|
'mcpToolCall.category.assets': 'Tài sản',
|
|
'mcpToolCall.category.deviceInfo': 'Thông tin thiết bị',
|
|
|
|
// Table categories and properties
|
|
'mcpToolCall.table.audioSpeaker': 'Loa âm thanh',
|
|
'mcpToolCall.table.screen': 'Màn hình',
|
|
'mcpToolCall.table.network': 'Mạng',
|
|
'mcpToolCall.table.audioControl': 'Điều khiển âm thanh',
|
|
'mcpToolCall.table.screenControl': 'Điều khiển màn hình',
|
|
'mcpToolCall.table.systemControl': 'Điều khiển hệ thống',
|
|
'mcpToolCall.table.screenInfo': 'Thông tin màn hình',
|
|
'mcpToolCall.table.hardwareInfo': 'Thông tin phần cứng',
|
|
'mcpToolCall.table.memoryInfo': 'Thông tin bộ nhớ',
|
|
'mcpToolCall.table.applicationInfo': 'Thông tin ứng dụng',
|
|
'mcpToolCall.table.networkInfo': 'Thông tin mạng',
|
|
'mcpToolCall.table.displayInfo': 'Thông tin hiển thị',
|
|
'mcpToolCall.table.deviceInfo': 'Thông tin thiết bị',
|
|
'mcpToolCall.table.systemInfo': 'Thông tin hệ thống',
|
|
// Table column headers
|
|
'mcpToolCall.table.component': 'Thành phần',
|
|
'mcpToolCall.table.property': 'Thuộc tính',
|
|
'mcpToolCall.table.value': 'Giá trị',
|
|
|
|
'mcpToolCall.prop.volume': 'Âm lượng',
|
|
'mcpToolCall.prop.brightness': 'Độ sáng',
|
|
'mcpToolCall.prop.theme': 'Chủ đề',
|
|
'mcpToolCall.prop.type': 'Loại',
|
|
'mcpToolCall.prop.ssid': 'SSID',
|
|
'mcpToolCall.prop.signalStrength': 'Cường độ tín hiệu',
|
|
'mcpToolCall.prop.operationResult': 'Kết quả thao tác',
|
|
'mcpToolCall.prop.width': 'Chiều rộng',
|
|
'mcpToolCall.prop.height': 'Chiều cao',
|
|
'mcpToolCall.prop.screenType': 'Loại',
|
|
'mcpToolCall.prop.chipModel': 'Model chip',
|
|
'mcpToolCall.prop.cpuCores': 'Số lõi CPU',
|
|
'mcpToolCall.prop.chipVersion': 'Phiên bản chip',
|
|
'mcpToolCall.prop.flashSize': 'Kích thước Flash',
|
|
'mcpToolCall.prop.minFreeHeap': 'Heap trống tối thiểu',
|
|
'mcpToolCall.prop.applicationName': 'Tên ứng dụng',
|
|
'mcpToolCall.prop.applicationVersion': 'Phiên bản ứng dụng',
|
|
'mcpToolCall.prop.compileTime': 'Thời gian biên dịch',
|
|
'mcpToolCall.prop.idfVersion': 'Phiên bản IDF',
|
|
'mcpToolCall.prop.macAddress': 'Địa chỉ MAC',
|
|
'mcpToolCall.prop.ipAddress': 'Địa chỉ IP',
|
|
'mcpToolCall.prop.wifiName': 'Tên WiFi',
|
|
'mcpToolCall.prop.wifiChannel': 'Kênh WiFi',
|
|
'mcpToolCall.prop.screenSize': 'Kích thước màn hình',
|
|
'mcpToolCall.prop.deviceUuid': 'UUID thiết bị',
|
|
'mcpToolCall.prop.systemLanguage': 'Ngôn ngữ hệ thống',
|
|
'mcpToolCall.prop.currentOtaPartition': 'Phân vùng OTA hiện tại',
|
|
'mcpToolCall.prop.getResult': 'Lấy kết quả',
|
|
'mcpToolCall.prop.url': 'URL',
|
|
'mcpToolCall.prop.quality': 'Chất lượng',
|
|
'mcpToolCall.prop.question': 'Câu hỏi',
|
|
|
|
// Tool help texts
|
|
'mcpToolCall.help.getDeviceStatus': 'Xem trạng thái hoạt động hiện tại của thiết bị, bao gồm âm lượng, màn hình, pin và các thông tin khác.',
|
|
'mcpToolCall.help.setVolume': 'Điều chỉnh âm lượng của thiết bị, vui lòng nhập giá trị từ 0-100.',
|
|
'mcpToolCall.help.setBrightness': 'Điều chỉnh độ sáng màn hình thiết bị, vui lòng nhập giá trị từ 0-100.',
|
|
'mcpToolCall.help.setTheme': 'Chuyển đổi chủ đề hiển thị của màn hình thiết bị, bạn có thể chọn chế độ sáng hoặc tối.',
|
|
'mcpToolCall.help.takePhoto': 'Chụp ảnh bằng camera thiết bị và thực hiện phân tích nhận dạng, vui lòng nhập câu hỏi bạn muốn hỏi.',
|
|
'mcpToolCall.help.getSystemInfo': 'Lấy thông tin hệ thống của thiết bị, bao gồm thông số kỹ thuật phần cứng, phiên bản phần mềm, v.v.',
|
|
'mcpToolCall.help.reboot': 'Khởi động lại thiết bị, thiết bị sẽ khởi động lại sau khi thực thi.',
|
|
'mcpToolCall.help.upgradeFirmware': 'Tải xuống và nâng cấp firmware thiết bị từ URL được chỉ định, thiết bị sẽ tự động khởi động lại sau khi nâng cấp.',
|
|
'mcpToolCall.help.getScreenInfo': 'Lấy thông tin chi tiết về màn hình, như độ phân giải, kích thước và các thông số khác.',
|
|
'mcpToolCall.help.snapshot': 'Chụp ảnh màn hình hiện tại và tải lên URL được chỉ định.',
|
|
'mcpToolCall.help.previewImage': 'Xem trước hình ảnh từ URL được chỉ định trên màn hình thiết bị.',
|
|
'mcpToolCall.help.setDownloadUrl': 'Đặt địa chỉ tải xuống cho các tệp tài nguyên thiết bị.',
|
|
|
|
// Other text
|
|
'mcpToolCall.text.strong': 'Mạnh',
|
|
'mcpToolCall.text.medium': 'Trung bình',
|
|
'mcpToolCall.text.weak': 'Yếu',
|
|
'mcpToolCall.text.dark': 'Tối',
|
|
'mcpToolCall.text.light': 'Sáng',
|
|
'mcpToolCall.text.setSuccess': 'Cài đặt thành công',
|
|
'mcpToolCall.text.setFailed': 'Cài đặt thất bại',
|
|
'mcpToolCall.text.brightnessSetSuccess': 'Cài đặt độ sáng thành công',
|
|
'mcpToolCall.text.brightnessSetFailed': 'Cài đặt độ sáng thất bại',
|
|
'mcpToolCall.text.themeSetSuccess': 'Cài đặt chủ đề thành công',
|
|
'mcpToolCall.text.themeSetFailed': 'Cài đặt chủ đề thất bại',
|
|
'mcpToolCall.text.rebootCommandSent': 'Đã gửi lệnh khởi động lại',
|
|
'mcpToolCall.text.rebootFailed': 'Khởi động lại thất bại',
|
|
'mcpToolCall.text.monochrome': 'Màn hình đơn sắc',
|
|
'mcpToolCall.text.color': 'Màn hình màu',
|
|
'mcpToolCall.text.getSuccessParseFailed': 'Lấy thành công, nhưng phân tích thất bại',
|
|
'mcpToolCall.text.getFailed': 'Lấy thất bại',
|
|
'mcpToolCall.text.getSuccessFormatError': 'Lấy thành công, nhưng định dạng dữ liệu bất thường',
|
|
|
|
// Dictionary data dialog related
|
|
'dictDataDialog.addDictData': 'Thêm dữ liệu từ điển',
|
|
'dictDataDialog.dictLabel': 'Nhãn từ điển',
|
|
'dictDataDialog.dictLabelPlaceholder': 'Vui lòng nhập nhãn từ điển',
|
|
'dictDataDialog.dictValue': 'Giá trị từ điển',
|
|
'dictDataDialog.dictValuePlaceholder': 'Vui lòng nhập giá trị từ điển',
|
|
'dictDataDialog.sort': 'Sắp xếp',
|
|
'dictDataDialog.requiredDictLabel': 'Vui lòng nhập nhãn từ điển',
|
|
'dictDataDialog.requiredDictValue': 'Vui lòng nhập giá trị từ điển',
|
|
|
|
// Dictionary type dialog related
|
|
'dictTypeDialog.addDictType': 'Thêm loại từ điển',
|
|
'dictTypeDialog.dictName': 'Tên loại từ điển',
|
|
'dictTypeDialog.dictNamePlaceholder': 'Vui lòng nhập tên loại từ điển',
|
|
'dictTypeDialog.dictType': 'Mã loại từ điển',
|
|
'dictTypeDialog.dictTypePlaceholder': 'Vui lòng nhập mã loại từ điển',
|
|
'dictTypeDialog.requiredDictName': 'Vui lòng nhập tên loại từ điển',
|
|
'dictTypeDialog.requiredDictType': 'Vui lòng nhập mã loại từ điển',
|
|
|
|
// Audio edit dialog related
|
|
'editVoiceDialog.voiceCode': 'Mã giọng nói',
|
|
'editVoiceDialog.voiceCodePlaceholder': 'Vui lòng nhập mã giọng nói',
|
|
'editVoiceDialog.voiceName': 'Tên giọng nói',
|
|
'editVoiceDialog.voiceNamePlaceholder': 'Vui lòng nhập tên giọng nói',
|
|
'editVoiceDialog.languageType': 'Loại ngôn ngữ',
|
|
'editVoiceDialog.languageTypePlaceholder': 'Vui lòng nhập loại ngôn ngữ',
|
|
'editVoiceDialog.sortNumber': 'Số thứ tự',
|
|
'editVoiceDialog.remark': 'Ghi chú',
|
|
'editVoiceDialog.remarkPlaceholder': 'Vui lòng nhập nội dung ghi chú',
|
|
'editVoiceDialog.generatePreview': 'Tạo xem trước',
|
|
'editVoiceDialog.defaultVoiceName': 'Wawa Xiaohe',
|
|
'editVoiceDialog.defaultLanguageType': 'Tiếng Trung',
|
|
'editVoiceDialog.requiredVoiceCode': 'Vui lòng nhập mã giọng nói',
|
|
'editVoiceDialog.requiredVoiceName': 'Vui lòng nhập tên giọng nói',
|
|
|
|
// Firmware dialog related
|
|
'firmwareDialog.firmwareName': 'Tên firmware',
|
|
'firmwareDialog.firmwareNamePlaceholder': 'Vui lòng nhập tên firmware (board + phiên bản)',
|
|
'firmwareDialog.firmwareType': 'Loại firmware',
|
|
'firmwareDialog.firmwareTypePlaceholder': 'Vui lòng chọn loại firmware',
|
|
'firmwareDialog.version': 'Phiên bản',
|
|
'firmwareDialog.versionPlaceholder': 'Vui lòng nhập phiên bản (định dạng x.x.x)',
|
|
'firmwareDialog.firmwareFile': 'Tệp firmware',
|
|
'firmwareDialog.clickUpload': 'Nhấp để tải lên',
|
|
'firmwareDialog.uploadTip': 'Chỉ hỗ trợ tệp firmware (.bin/.apk), kích thước không vượt quá 100MB',
|
|
'firmwareDialog.uploadHint': 'Nhắc nhở: Vui lòng tải lên tệp xiaozhi.bin đã hợp nhất trước, không phải tệp merged-binary.bin đã hợp nhất',
|
|
'firmwareDialog.remark': 'Ghi chú',
|
|
'firmwareDialog.remarkPlaceholder': 'Vui lòng nhập thông tin ghi chú',
|
|
'firmwareDialog.requiredFirmwareName': 'Vui lòng nhập tên firmware (board + phiên bản)',
|
|
'firmwareDialog.requiredFirmwareType': 'Vui lòng chọn loại firmware',
|
|
'firmwareDialog.requiredVersion': 'Vui lòng nhập phiên bản',
|
|
'firmwareDialog.versionFormatError': 'Định dạng phiên bản không chính xác, vui lòng nhập định dạng x.x.x',
|
|
'firmwareDialog.requiredFirmwareFile': 'Vui lòng tải lên tệp firmware',
|
|
'firmwareDialog.invalidFileType': 'Chỉ hỗ trợ tệp firmware định dạng .bin/.apk!',
|
|
'firmwareDialog.invalidFileSize': 'Kích thước tệp firmware không được vượt quá 100MB!',
|
|
'firmwareDialog.uploadSuccess': 'Tải lên tệp firmware thành công',
|
|
'firmwareDialog.uploadFailed': 'Tải lên tệp thất bại',
|
|
|
|
// Voice print dialog related
|
|
'voicePrintDialog.addSpeaker': 'Thêm người nói',
|
|
'voicePrintDialog.voicePrintVector': 'Vector dấu giọng nói',
|
|
'voicePrintDialog.selectVoiceMessage': 'Vui lòng chọn một tin nhắn thoại',
|
|
'voicePrintDialog.name': 'Tên',
|
|
'voicePrintDialog.enterName': 'Vui lòng nhập tên',
|
|
'voicePrintDialog.description': 'Mô tả',
|
|
'voicePrintDialog.enterDescription': 'Vui lòng nhập mô tả',
|
|
'voicePrintDialog.save': 'Lưu',
|
|
'voicePrintDialog.cancel': 'Hủy bỏ',
|
|
'voicePrintDialog.requiredDescription': 'Vui lòng nhập mô tả',
|
|
'voicePrintDialog.requiredName': 'Vui lòng nhập tên',
|
|
'voicePrintDialog.requiredAudioVector': 'Vui lòng chọn vector âm thanh',
|
|
|
|
// Context provider dialog related
|
|
'contextProviderDialog.title': 'Chỉnh sửa nguồn',
|
|
'contextProviderDialog.noContextApi': 'Không có API ngữ cảnh',
|
|
'contextProviderDialog.add': 'Thêm',
|
|
'contextProviderDialog.apiUrl': 'Địa chỉ API',
|
|
'contextProviderDialog.apiUrlPlaceholder': 'http://api.example.com/data',
|
|
'contextProviderDialog.requestHeaders': 'Header yêu cầu',
|
|
'contextProviderDialog.headerKeyPlaceholder': 'Khóa',
|
|
'contextProviderDialog.headerValuePlaceholder': 'Giá trị',
|
|
'contextProviderDialog.noHeaders': 'Không có Headers',
|
|
'contextProviderDialog.addHeader': 'Thêm Header',
|
|
'contextProviderDialog.cancel': 'Hủy bỏ',
|
|
'contextProviderDialog.confirm': 'Xác nhận',
|
|
|
|
// Role config page - context provider related
|
|
'roleConfig.contextProvider': 'Bối cảnh',
|
|
'roleConfig.contextProviderSuccess': 'Đã thêm thành công {count} nguồn.',
|
|
'roleConfig.contextProviderDocLink': 'Cách triển khai nguồn ngữ cảnh',
|
|
'roleConfig.editContextProvider': 'Chỉnh sửa nguồn',
|
|
|
|
// Voice print page related
|
|
'voicePrint.pageTitle': 'Nhận dạng dấu giọng nói',
|
|
'voicePrint.name': 'Tên',
|
|
'voicePrint.description': 'Mô tả',
|
|
'voicePrint.createTime': 'Thời gian tạo',
|
|
'voicePrint.action': 'Hành động',
|
|
'voicePrint.edit': 'Chỉnh sửa',
|
|
'voicePrint.delete': 'Xóa',
|
|
'voicePrint.add': 'Thêm',
|
|
'voicePrint.addSpeaker': 'Thêm người nói',
|
|
'voicePrint.editSpeaker': 'Chỉnh sửa người nói',
|
|
'voicePrint.fetchFailed': 'Không thể tải danh sách dấu giọng nói',
|
|
'voicePrint.updateSuccess': 'Cập nhật thành công',
|
|
'voicePrint.addSuccess': 'Thêm thành công',
|
|
'voicePrint.confirmDelete': 'Bạn có chắc chắn muốn xóa dấu giọng nói này không?',
|
|
'voicePrint.warning': 'Cảnh báo',
|
|
'voicePrint.confirm': 'Xác nhận',
|
|
'voicePrint.cancel': 'Hủy bỏ',
|
|
'voicePrint.deleteSuccess': 'Đã xóa dấu giọng nói thành công',
|
|
'voicePrint.deleteFailed': 'Xóa thất bại, vui lòng thử lại',
|
|
'voicePrint.cancelDelete': 'Đã hủy thao tác xóa',
|
|
'voicePrint.closeOperation': 'Đã đóng thao tác',
|
|
'voicePrint.loading': 'Đang tải...',
|
|
|
|
// Manual add device dialog related
|
|
'manualAddDeviceDialog.title': 'Thêm thiết bị thủ công',
|
|
'manualAddDeviceDialog.deviceType': 'Loại thiết bị',
|
|
'manualAddDeviceDialog.deviceTypePlaceholder': 'Vui lòng chọn loại thiết bị',
|
|
'manualAddDeviceDialog.firmwareVersion': 'Phiên bản firmware',
|
|
'manualAddDeviceDialog.firmwareVersionPlaceholder': 'Vui lòng nhập phiên bản firmware',
|
|
'manualAddDeviceDialog.macAddress': 'Địa chỉ Mac',
|
|
'manualAddDeviceDialog.macAddressPlaceholder': 'Vui lòng nhập địa chỉ Mac',
|
|
'manualAddDeviceDialog.confirm': 'Xác nhận',
|
|
'manualAddDeviceDialog.cancel': 'Hủy bỏ',
|
|
'manualAddDeviceDialog.requiredMacAddress': 'Vui lòng nhập địa chỉ Mac',
|
|
'manualAddDeviceDialog.invalidMacAddress': 'Vui lòng nhập đúng định dạng địa chỉ Mac, ví dụ: 00:1A:2B:3C:4D:5E',
|
|
'manualAddDeviceDialog.requiredDeviceType': 'Vui lòng chọn loại thiết bị',
|
|
'manualAddDeviceDialog.requiredFirmwareVersion': 'Vui lòng nhập phiên bản firmware',
|
|
'manualAddDeviceDialog.getFirmwareTypeFailed': 'Không thể lấy loại firmware',
|
|
'manualAddDeviceDialog.addSuccess': 'Đã thêm thiết bị thành công',
|
|
'manualAddDeviceDialog.addFailed': 'Thêm thất bại',
|
|
|
|
// AddModelDialog component related
|
|
'addModelDialog.requiredSupplier': 'Vui lòng chọn nhà cung cấp',
|
|
|
|
// Register page related
|
|
'register.title': 'Tạo tài khoản',
|
|
'register.welcome': 'Chào mừng đến với XiaoZhi AI',
|
|
'register.usernamePlaceholder': 'Vui lòng nhập tên đăng nhập',
|
|
'register.mobilePlaceholder': 'Vui lòng nhập số điện thoại di động',
|
|
'register.captchaPlaceholder': 'Vui lòng nhập mã xác minh',
|
|
'register.mobileCaptchaPlaceholder': 'Vui lòng nhập mã xác minh SMS',
|
|
'register.passwordPlaceholder': 'Vui lòng đặt mật khẩu',
|
|
'register.confirmPasswordPlaceholder': 'Vui lòng xác nhận mật khẩu',
|
|
'register.goToLogin': 'Đã có tài khoản? Đăng nhập',
|
|
'register.registerButton': 'Đăng ký',
|
|
'register.agreeTo': 'Bằng cách đăng ký, bạn đồng ý với',
|
|
'register.userAgreement': 'Thỏa thuận người dùng',
|
|
'register.privacyPolicy': 'Chính sách bảo mật',
|
|
'register.notAllowRegister': 'Không cho phép đăng ký người dùng',
|
|
'register.captchaLoadFailed': 'Không thể tải mã xác minh',
|
|
'register.inputCaptcha': 'Vui lòng nhập mã xác minh',
|
|
'register.inputCorrectMobile': 'Vui lòng nhập số điện thoại di động chính xác',
|
|
'register.captchaSendSuccess': 'Đã gửi mã xác minh thành công',
|
|
'register.captchaSendFailed': 'Gửi mã xác minh thất bại',
|
|
'register.passwordsNotMatch': 'Mật khẩu không khớp',
|
|
'register.registerSuccess': 'Đăng ký thành công!',
|
|
'register.registerFailed': 'Đăng ký thất bại',
|
|
'register.requiredUsername': 'Tên đăng nhập không được để trống',
|
|
'register.requiredPassword': 'Mật khẩu không được để trống',
|
|
'register.requiredCaptcha': 'Mã xác minh không được để trống',
|
|
'register.requiredMobileCaptcha': 'Vui lòng nhập mã xác minh SMS',
|
|
'register.invalidCaptcha': 'Mã xác minh không hợp lệ',
|
|
'register.passwordLength': 'Độ dài mật khẩu phải từ 6-20 ký tự',
|
|
'register.usernameFormat': 'Định dạng tên đăng nhập không hợp lệ',
|
|
'register.confirmPasswordRequired': 'Xác nhận mật khẩu không được để trống',
|
|
'register.sendCaptcha': 'Lấy mã xác minh',
|
|
'register.secondsLater': 'giây sau',
|
|
|
|
// Parameter dialog related
|
|
'paramDialog.paramCode': 'Mã tham số',
|
|
'paramDialog.paramCodePlaceholder': 'Vui lòng nhập mã tham số',
|
|
'paramDialog.paramValue': 'Giá trị tham số',
|
|
'paramDialog.paramValuePlaceholder': 'Vui lòng nhập giá trị tham số',
|
|
'paramDialog.valueType': 'Loại giá trị',
|
|
'paramDialog.valueTypePlaceholder': 'Vui lòng chọn loại giá trị',
|
|
'paramDialog.remark': 'Ghi chú',
|
|
'paramDialog.remarkPlaceholder': 'Vui lòng nhập ghi chú',
|
|
'paramDialog.save': 'Lưu',
|
|
'paramDialog.cancel': 'Hủy bỏ',
|
|
'paramDialog.requiredParamCode': 'Vui lòng nhập mã tham số',
|
|
'paramDialog.requiredParamValue': 'Vui lòng nhập giá trị tham số',
|
|
'paramDialog.requiredValueType': 'Vui lòng chọn loại giá trị',
|
|
'paramDialog.stringType': 'Chuỗi',
|
|
'paramDialog.numberType': 'Số',
|
|
'paramDialog.booleanType': 'Boolean',
|
|
'paramDialog.arrayType': 'Mảng',
|
|
'paramDialog.jsonType': 'Đối tượng JSON',
|
|
|
|
// Login page text
|
|
'login.title': 'DN',
|
|
'login.welcome': 'CHÀO MỪNG ĐẾN VỚI ĐĂNG NHẬP',
|
|
'login.username': 'Tên đăng nhập',
|
|
'login.usernamePlaceholder': 'Vui lòng nhập tên đăng nhập',
|
|
'login.mobilePlaceholder': 'Vui lòng nhập số điện thoại di động',
|
|
'login.password': 'Mật khẩu',
|
|
'login.passwordPlaceholder': 'Vui lòng nhập mật khẩu',
|
|
'login.captchaPlaceholder': 'Vui lòng nhập mã xác minh',
|
|
'login.loginButton': 'Đăng nhập',
|
|
'login.login': 'Đăng nhập',
|
|
'login.register': 'Đăng ký',
|
|
'login.forgotPassword': 'Quên mật khẩu',
|
|
'login.forgetPassword': 'Quên mật khẩu?',
|
|
'login.mobileLogin': 'Đăng nhập bằng điện thoại',
|
|
'login.usernameLogin': 'Đăng nhập bằng tên đăng nhập',
|
|
'login.agreeTo': 'Đăng nhập có nghĩa là chấp nhận',
|
|
'login.userAgreement': 'Thỏa thuận người dùng',
|
|
'login.and': 'và',
|
|
'login.privacyPolicy': 'Chính sách bảo mật',
|
|
'login.registerAccount': 'Đăng ký tài khoản',
|
|
|
|
// Retrieve password page text
|
|
'retrievePassword.title': 'Đặt lại mật khẩu',
|
|
'retrievePassword.welcome': 'KHÔI PHỤC MẬT KHẨU',
|
|
'retrievePassword.subtitle': 'Khôi phục mật khẩu',
|
|
'retrievePassword.mobile': 'Điện thoại',
|
|
'retrievePassword.mobilePlaceholder': 'Vui lòng nhập số điện thoại di động',
|
|
'retrievePassword.captcha': 'Mã xác minh',
|
|
'retrievePassword.captchaPlaceholder': 'Vui lòng nhập mã xác minh',
|
|
'retrievePassword.mobileCaptcha': 'Mã xác minh điện thoại',
|
|
'retrievePassword.mobileCaptchaPlaceholder': 'Vui lòng nhập mã xác minh điện thoại',
|
|
'retrievePassword.newPassword': 'Mật khẩu mới',
|
|
'retrievePassword.newPasswordPlaceholder': 'Vui lòng nhập mật khẩu mới',
|
|
'retrievePassword.confirmNewPassword': 'Xác nhận mật khẩu mới',
|
|
'retrievePassword.confirmNewPasswordPlaceholder': 'Vui lòng xác nhận mật khẩu mới',
|
|
'retrievePassword.getMobileCaptcha': 'Lấy mã xác minh',
|
|
'retrievePassword.resetButton': 'Đặt lại mật khẩu',
|
|
'retrievePassword.updateButton': 'Cập nhật ngay',
|
|
'retrievePassword.goToLogin': 'Quay lại đăng nhập',
|
|
'retrievePassword.inputCorrectMobile': 'Vui lòng nhập số điện thoại di động chính xác',
|
|
'retrievePassword.captchaSendSuccess': 'Đã gửi mã xác minh thành công',
|
|
'retrievePassword.passwordsNotMatch': 'Hai mật khẩu nhập vào không khớp',
|
|
'retrievePassword.passwordLength': 'Độ dài mật khẩu phải từ 6-20 ký tự',
|
|
'retrievePassword.mobileRequired': 'Số điện thoại di động không được để trống',
|
|
'retrievePassword.captchaRequired': 'Mã xác minh không được để trống',
|
|
'retrievePassword.mobileCaptchaRequired': 'Mã xác minh điện thoại không được để trống',
|
|
'retrievePassword.newPasswordRequired': 'Mật khẩu mới không được để trống',
|
|
'retrievePassword.confirmNewPasswordRequired': 'Xác nhận mật khẩu mới không được để trống',
|
|
'retrievePassword.passwordUpdateSuccess': 'Đã cập nhật mật khẩu thành công',
|
|
'retrievePassword.agreeTo': 'Đặt lại có nghĩa là đồng ý',
|
|
|
|
// Change password page text
|
|
'changePassword.title': 'Đổi mật khẩu',
|
|
'changePassword.oldPasswordLabel': 'Mật khẩu cũ:',
|
|
'changePassword.oldPasswordPlaceholder': 'Vui lòng nhập mật khẩu cũ',
|
|
'changePassword.newPasswordLabel': 'Mật khẩu mới:',
|
|
'changePassword.newPasswordPlaceholder': 'Vui lòng nhập mật khẩu mới',
|
|
'changePassword.confirmPasswordLabel': 'Xác nhận mật khẩu mới:',
|
|
'changePassword.confirmPasswordPlaceholder': 'Vui lòng nhập lại mật khẩu mới',
|
|
'changePassword.confirmButton': 'Xác nhận',
|
|
'changePassword.cancelButton': 'Hủy bỏ',
|
|
'changePassword.allFieldsRequired': 'Vui lòng điền vào tất cả các trường',
|
|
'changePassword.passwordsNotMatch': 'Hai mật khẩu mới nhập vào không khớp',
|
|
'changePassword.newPasswordSameAsOld': 'Mật khẩu mới không được giống mật khẩu cũ',
|
|
'changePassword.passwordChangedSuccessfully': 'Đã đổi mật khẩu thành công, vui lòng đăng nhập lại',
|
|
'changePassword.changeFailed': 'Đổi mật khẩu thất bại',
|
|
|
|
// Device management page text
|
|
'device.management': 'Quản lý thiết bị',
|
|
'device.add': 'Thêm thiết bị',
|
|
'device.edit': 'Chỉnh sửa thiết bị',
|
|
'device.delete': 'Xóa thiết bị',
|
|
'device.name': 'Tên thiết bị',
|
|
'device.type': 'Loại thiết bị',
|
|
'device.status': 'Trạng thái thiết bị',
|
|
'device.dialogTitle': 'Thêm thiết bị',
|
|
'device.verificationCode': 'Mã xác minh:',
|
|
'device.verificationCodePlaceholder': 'Vui lòng nhập mã xác minh 6 chữ số được phát từ thiết bị..',
|
|
'device.confirmButton': 'Xác nhận',
|
|
'device.cancelButton': 'Hủy bỏ',
|
|
'device.input6DigitCode': 'Vui lòng nhập mã xác minh 6 chữ số',
|
|
'device.bindSuccess': 'Liên kết thiết bị thành công',
|
|
'device.bindFailed': 'Liên kết thất bại',
|
|
'device.searchPlaceholder': 'Vui lòng nhập model thiết bị hoặc địa chỉ Mac để tìm kiếm',
|
|
'device.model': 'Model thiết bị',
|
|
'device.macAddress': 'Địa chỉ Mac',
|
|
'device.firmwareVersion': 'Phiên bản firmware',
|
|
'device.bindTime': 'Thời gian liên kết',
|
|
'device.lastConversation': 'Cuộc trò chuyện cuối',
|
|
'device.remark': 'Ghi chú',
|
|
'device.autoUpdate': 'Tự động cập nhật',
|
|
'device.operation': 'Thao tác',
|
|
'device.search': 'Tìm kiếm',
|
|
'device.selectAll': 'Chọn tất cả/Bỏ chọn tất cả',
|
|
'deviceManagement.loading': 'Đang tải...',
|
|
'device.bindWithCode': 'Liên kết bằng mã xác minh 6 chữ số',
|
|
'device.manualAdd': 'Thêm thủ công',
|
|
'device.unbind': 'Hủy liên kết',
|
|
'device.toolCall': 'Gọi công cụ',
|
|
'device.selectAtLeastOne': 'Vui lòng chọn ít nhất một bản ghi',
|
|
'device.confirmBatchUnbind': 'Bạn có chắc chắn muốn hủy liên kết {count} thiết bị đã chọn?',
|
|
'device.batchUnbindSuccess': 'Đã hủy liên kết thành công {count} thiết bị',
|
|
'device.batchUnbindError': 'Đã xảy ra lỗi khi hủy liên kết hàng loạt',
|
|
'device.remarkTooLong': 'Ghi chú không được vượt quá 64 ký tự',
|
|
'device.remarkSaved': 'Đã lưu ghi chú thành công',
|
|
'device.remarkSaveFailed': 'Lưu ghi chú thất bại',
|
|
'device.confirmUnbind': 'Bạn có chắc chắn muốn hủy liên kết thiết bị này?',
|
|
'device.unbindSuccess': 'Đã hủy liên kết thiết bị thành công',
|
|
'device.unbindFailed': 'Hủy liên kết thiết bị thất bại',
|
|
'device.getListFailed': 'Không thể tải danh sách thiết bị',
|
|
'device.autoUpdateEnabled': 'Đã bật tự động cập nhật',
|
|
'device.autoUpdateDisabled': 'Đã tắt tự động cập nhật',
|
|
'device.batchUnbindSuccess': 'Đã hủy liên kết thành công {count} thiết bị',
|
|
'device.getFirmwareTypeFailed': 'Không thể lấy loại firmware',
|
|
'device.deviceStatus': 'Trạng thái',
|
|
'device.online': 'Trực tuyến',
|
|
'device.offline': 'Ngoại tuyến',
|
|
|
|
// Message tips
|
|
'message.success': 'Thao tác thành công',
|
|
'message.error': 'Thao tác thất bại',
|
|
'message.warning': 'Cảnh báo',
|
|
'message.info': 'Thông tin',
|
|
|
|
// Cache related
|
|
'cache.viewer': 'Trình xem cache',
|
|
|
|
// Chat history dialog related
|
|
'chatHistory.with': 'Với',
|
|
'chatHistory.dialogTitle': "'s Lịch sử trò chuyện",
|
|
'chatHistory.loading': 'Đang tải...',
|
|
'chatHistory.noMoreRecords': 'Không còn bản ghi nào',
|
|
'chatHistory.selectSession': 'Vui lòng chọn một phiên để xem lịch sử trò chuyện',
|
|
'chatHistory.today': 'Hôm nay',
|
|
'chatHistory.yesterday': 'Hôm qua',
|
|
'chatHistory.downloadCurrentSession': 'Tải xuống lịch sử trò chuyện phiên hiện tại',
|
|
'chatHistory.downloadCurrentWithPreviousSessions': 'Tải xuống lịch sử trò chuyện phiên hiện tại và 20 phiên trước',
|
|
'chatHistory.downloadLinkFailed': 'Không thể lấy liên kết tải xuống',
|
|
|
|
'cache.status': 'Trạng thái cache',
|
|
'cache.cdnEnabled': 'Đã bật chế độ CDN',
|
|
'cache.cdnDisabled': 'Đã tắt chế độ CDN',
|
|
'cache.serviceWorkerRegistered': 'Đã đăng ký Service Worker',
|
|
'cache.serviceWorkerNotRegistered': 'Chưa đăng ký Service Worker',
|
|
'cache.noCacheDetected': 'Chưa phát hiện cache, vui lòng làm mới trang hoặc chờ cache được thiết lập',
|
|
'cache.swDevEnvWarning': 'Trong môi trường phát triển, Service Worker có thể không khởi tạo cache đúng cách',
|
|
'cache.swCheckMethods': 'Vui lòng thử các phương pháp sau để kiểm tra xem Service Worker có hoạt động không:',
|
|
'cache.swCheckMethod1': 'Kiểm tra trạng thái Service Worker trong tab Application/Application của công cụ nhà phát triển',
|
|
'cache.swCheckMethod2': 'Xem nội dung cache trong Application/Cache/Cache Storage của công cụ nhà phát triển',
|
|
'cache.swCheckMethod3': 'Sử dụng bản dựng production (npm run build) và truy cập qua máy chủ HTTP để kiểm tra chức năng đầy đủ',
|
|
'cache.swDevEnvNormal': 'Trong môi trường phát triển, điều này là bình thường',
|
|
'cache.swProdOnly': 'Service Worker thường chỉ hoạt động trong môi trường production',
|
|
'cache.swTestingTitle': 'Để kiểm tra chức năng Service Worker:',
|
|
'cache.swTestingStep1': 'Chạy npm run build để tạo bản production',
|
|
'cache.swTestingStep2': 'Truy cập trang đã build qua máy chủ HTTP',
|
|
'cache.swNotSupported': 'Trình duyệt hiện tại không hỗ trợ Service Worker, chức năng cache tài nguyên CDN không khả dụng',
|
|
'cache.dialogTitle': 'Trạng thái cache tài nguyên CDN',
|
|
'cache.loading': 'Đang tải thông tin cache...',
|
|
'cache.notSupported': 'Trình duyệt của bạn không hỗ trợ Cache API hoặc Service Worker chưa được cài đặt',
|
|
'cache.refreshPage': 'Làm mới trang',
|
|
'cache.noCachedResources': 'Không tìm thấy tài nguyên CDN được cache',
|
|
'cache.noCachedResourcesDesc': 'Service Worker có thể chưa hoàn tất khởi tạo hoặc cache chưa được thiết lập. Vui lòng làm mới trang hoặc thử lại sau.',
|
|
'cache.cdnCacheStatus': 'Trạng thái cache tài nguyên CDN',
|
|
'cache.totalCachedResources': 'Đã tìm thấy tổng cộng {count} tài nguyên được cache',
|
|
'cache.jsResources': 'Tài nguyên JavaScript ({count})',
|
|
'cache.cssResources': 'Tài nguyên CSS ({count})',
|
|
'cache.cached': 'Đã cache',
|
|
'cache.notCached': 'Chưa cache',
|
|
'cache.refreshStatus': 'Làm mới trạng thái cache',
|
|
'cache.clearCache': 'Xóa cache',
|
|
'cache.refreshingStatus': 'Đang làm mới trạng thái cache',
|
|
'cache.confirmClear': 'Bạn có chắc chắn muốn xóa toàn bộ cache?',
|
|
'cache.clearedSuccess': 'Đã xóa cache thành công',
|
|
'cache.clearFailed': 'Xóa cache thất bại',
|
|
'cache.clearCanceled': 'Đã hủy thao tác xóa',
|
|
|
|
// Common buttons
|
|
'button.ok': 'OK',
|
|
'button.cancel': 'Hủy bỏ',
|
|
'button.save': 'Lưu',
|
|
'button.close': 'Đóng',
|
|
|
|
// System information
|
|
'system.name': 'Dịch vụ XiaoZhi',
|
|
|
|
// Voiceprint related
|
|
'voiceprint.management': 'Quản lý dấu giọng nói',
|
|
'voiceprint.add': 'Thêm dấu giọng nói',
|
|
'voiceprint.delete': 'Xóa dấu giọng nói',
|
|
|
|
// Dictionary management page text
|
|
'dictManagement.pageTitle': 'Quản lý từ điển',
|
|
'dictManagement.searchPlaceholder': 'Vui lòng nhập nhãn giá trị từ điển để tìm kiếm',
|
|
'dictManagement.search': 'Tìm kiếm',
|
|
'dictManagement.dictTypeName': 'Tên loại từ điển',
|
|
'dictManagement.operation': 'Thao tác',
|
|
'dictManagement.edit': 'Chỉnh sửa',
|
|
'dictManagement.dictLabel': 'Nhãn từ điển',
|
|
'dictManagement.dictValue': 'Giá trị từ điển',
|
|
'dictManagement.sort': 'Sắp xếp',
|
|
'dictManagement.delete': 'Xóa',
|
|
'dictManagement.selectAll': 'Chọn tất cả',
|
|
'dictManagement.deselectAll': 'Bỏ chọn tất cả',
|
|
'dictManagement.addDictType': 'Thêm loại từ điển',
|
|
'dictManagement.batchDeleteDictType': 'Xóa hàng loạt loại từ điển',
|
|
'dictManagement.addDictData': 'Thêm dữ liệu từ điển',
|
|
'dictManagement.batchDeleteDictData': 'Xóa hàng loạt dữ liệu từ điển',
|
|
'dictManagement.itemsPerPage': '{items} mục/trang',
|
|
'dictManagement.firstPage': 'Trang đầu',
|
|
'dictManagement.prevPage': 'Trang trước',
|
|
'dictManagement.nextPage': 'Trang sau',
|
|
'dictManagement.totalRecords': 'Tổng cộng {total} bản ghi',
|
|
'dictManagement.editDictType': 'Chỉnh sửa loại từ điển',
|
|
'dictManagement.editDictData': 'Chỉnh sửa dữ liệu từ điển',
|
|
'dictManagement.saveSuccess': 'Lưu thành công',
|
|
'dictManagement.deleteSuccess': 'Xóa thành công',
|
|
'dictManagement.selectDictTypeToDelete': 'Vui lòng chọn loại từ điển để xóa',
|
|
'dictManagement.confirmDeleteDictType': 'Bạn có chắc chắn muốn xóa các loại từ điển đã chọn?',
|
|
'dictManagement.confirm': 'Xác nhận',
|
|
'dictManagement.cancel': 'Hủy bỏ',
|
|
'dictManagement.selectDictTypeFirst': 'Vui lòng chọn loại từ điển trước',
|
|
'dictManagement.confirmDeleteDictData': 'Bạn có chắc chắn muốn xóa dữ liệu từ điển này?',
|
|
'dictManagement.selectDictDataToDelete': 'Vui lòng chọn dữ liệu từ điển để xóa',
|
|
'dictManagement.confirmBatchDeleteDictData': 'Bạn có chắc chắn muốn xóa {count} dữ liệu từ điển đã chọn?',
|
|
'dictManagement.getDictDataFailed': 'Không thể lấy dữ liệu từ điển',
|
|
|
|
// User information
|
|
'user.info': 'Thông tin người dùng',
|
|
'user.username': 'Tên đăng nhập',
|
|
'user.mobile': 'Điện thoại di động',
|
|
'user.userid': 'ID người dùng',
|
|
'user.deviceCount': 'Số lượng thiết bị',
|
|
'user.createDate': 'Thời gian đăng ký',
|
|
'user.status': 'Trạng thái',
|
|
'user.normal': 'Bình thường',
|
|
'user.disabled': 'Đã vô hiệu hóa',
|
|
'user.resetPassword': 'Đặt lại mật khẩu',
|
|
'user.disableAccount': 'Vô hiệu hóa tài khoản',
|
|
'user.enableAccount': 'Kích hoạt tài khoản',
|
|
'user.deleteUser': 'Xóa người dùng',
|
|
'user.deselectAll': 'Bỏ chọn tất cả',
|
|
'user.selectAll': 'Chọn tất cả',
|
|
'user.enable': 'Kích hoạt',
|
|
'user.disable': 'Vô hiệu hóa',
|
|
'user.delete': 'Xóa',
|
|
'user.selectUsersFirst': 'Vui lòng chọn người dùng để xóa trước',
|
|
'user.confirmDeleteSelected': 'Bạn có chắc chắn muốn xóa {count} người dùng đã chọn?',
|
|
'user.deleting': 'Đang xóa...',
|
|
'user.deleteSuccess': 'Đã xóa thành công {count} người dùng',
|
|
'user.deleteFailed': 'Xóa thất bại, vui lòng thử lại',
|
|
'user.partialDelete': 'Đã xóa thành công {successCount} người dùng, {failCount} thất bại',
|
|
'user.deleteError': 'Đã xảy ra lỗi khi xóa',
|
|
'user.deleteCancelled': 'Đã hủy xóa',
|
|
'user.confirmResetPassword': 'Một mật khẩu mới sẽ được tạo sau khi đặt lại. Tiếp tục?',
|
|
'user.resetPasswordSuccess': 'Mật khẩu đã được đặt lại, vui lòng thông báo cho người dùng đăng nhập bằng mật khẩu mới',
|
|
'user.generatedPassword': 'Mật khẩu mặc định được tạo',
|
|
'user.confirmDeleteUser': 'Bạn có chắc chắn muốn xóa người dùng này?',
|
|
'user.deleteUserSuccess': 'Xóa thành công',
|
|
'user.operationFailed': 'Thao tác thất bại, vui lòng thử lại',
|
|
'user.confirmStatusChange': 'Bạn có chắc chắn muốn {action} {count} người dùng đã chọn?',
|
|
'user.statusChangeSuccess': 'Đã {action} thành công {count} người dùng',
|
|
'user.invalidUserId': 'Có ID người dùng không hợp lệ',
|
|
'user.searchPhone': 'Vui lòng nhập số điện thoại di động để tìm kiếm',
|
|
'user.search': 'Tìm kiếm',
|
|
|
|
// Provider Management Page Text
|
|
'providerManagement.categoryFilter': 'Bộ lọc danh mục',
|
|
'providerManagement.searchPlaceholder': 'Vui lòng nhập tên nhà cung cấp để tìm kiếm',
|
|
'providerManagement.category': 'Danh mục',
|
|
'providerManagement.providerCode': 'Mã nhà cung cấp',
|
|
'providerManagement.fieldConfig': 'Cấu hình trường',
|
|
'providerManagement.selectToDelete': 'Vui lòng chọn nhà cung cấp để xóa trước',
|
|
'providerManagement.confirmDelete': 'Bạn có chắc chắn muốn xóa {count} nhà cung cấp đã chọn?',
|
|
'providerManagement.viewFields': 'Xem các trường',
|
|
|
|
// Common Text
|
|
'common.all': 'Tất cả',
|
|
'common.search': 'Tìm kiếm',
|
|
'common.name': 'Tên',
|
|
'common.sort': 'Sắp xếp',
|
|
'common.action': 'Hành động',
|
|
'common.edit': 'Chỉnh sửa',
|
|
'common.delete': 'Xóa',
|
|
'common.selectAll': 'Chọn tất cả',
|
|
'common.deselectAll': 'Bỏ chọn tất cả',
|
|
'common.add': 'Thêm',
|
|
'common.perPage': '{number}/trang',
|
|
'common.firstPage': 'Trang đầu',
|
|
'common.prevPage': 'Trang trước',
|
|
'common.nextPage': 'Trang sau',
|
|
'common.totalRecords': 'Tổng cộng {number} bản ghi',
|
|
'common.addProvider': 'Thêm nhà cung cấp',
|
|
'common.success': 'Thành công',
|
|
'common.editProvider': 'Chỉnh sửa nhà cung cấp',
|
|
'common.updateSuccess': 'Cập nhật thành công',
|
|
'common.addSuccess': 'Thêm thành công',
|
|
'common.deleteSuccess': 'Xóa thành công',
|
|
'common.deleteFailure': 'Xóa thất bại, vui lòng thử lại',
|
|
'common.deleteCancelled': 'Đã hủy xóa',
|
|
'common.warning': 'Cảnh báo',
|
|
'common.tip': 'Mẹo',
|
|
'common.confirm': 'Xác nhận',
|
|
'common.cancel': 'Hủy bỏ',
|
|
'common.sensitive': 'Nhạy cảm',
|
|
'common.loading': 'Đang tải',
|
|
|
|
// Language switch
|
|
'language.zhCN': '中文简体',
|
|
'language.zhTW': '中文繁體',
|
|
'language.en': 'English',
|
|
'language.de': 'Deutsch',
|
|
'language.vi': 'Tiếng Việt',
|
|
|
|
// Home page text
|
|
'home.addAgent': 'Thêm tác nhân',
|
|
'home.greeting': 'Xin chào XiaoZhi',
|
|
'home.wish': 'Chúc bạn một ngày tuyệt vời!',
|
|
'home.languageModel': 'LLM',
|
|
'home.voiceModel': 'TTS',
|
|
'home.configureRole': 'Vai trò',
|
|
'home.voiceprintRecognition': 'Giọng nói',
|
|
'home.deviceManagement': 'Thiết bị',
|
|
'home.chatHistory': 'Lịch sử',
|
|
'home.lastConversation': 'Cuộc trò chuyện cuối',
|
|
'home.noConversation': 'Không có cuộc trò chuyện',
|
|
'home.justNow': 'Vừa xong',
|
|
'home.minutesAgo': '{minutes} phút trước',
|
|
'home.hoursAgo': '{hours} giờ {minutes} phút trước',
|
|
'home.confirmDeleteAgent': 'Bạn có chắc chắn muốn xóa tác nhân này?',
|
|
'home.deleteSuccess': 'Xóa thành công',
|
|
'home.deleteFailed': 'Xóa thất bại',
|
|
'home.enableMemory': 'Vui lòng bật bộ nhớ trong trang \"Cấu hình vai trò\" trước',
|
|
|
|
// Parameter management page text
|
|
'paramManagement.pageTitle': 'Quản lý tham số',
|
|
'paramManagement.searchPlaceholder': 'Vui lòng nhập mã tham số hoặc ghi chú để tìm kiếm',
|
|
'paramManagement.search': 'Tìm kiếm',
|
|
'paramManagement.paramCode': 'Mã tham số',
|
|
'paramManagement.paramValue': 'Giá trị tham số',
|
|
'paramManagement.remark': 'Ghi chú',
|
|
'paramManagement.operation': 'Thao tác',
|
|
'paramManagement.hide': 'Ẩn',
|
|
'paramManagement.view': 'Xem',
|
|
'paramManagement.deselectAll': 'Bỏ chọn tất cả',
|
|
'paramManagement.selectAll': 'Chọn tất cả',
|
|
'paramManagement.add': 'Thêm',
|
|
'paramManagement.delete': 'Xóa',
|
|
'paramManagement.edit': 'Chỉnh sửa',
|
|
'paramManagement.itemsPerPage': 'mục/trang',
|
|
'paramManagement.firstPage': 'Trang đầu',
|
|
'paramManagement.prevPage': 'Trang trước',
|
|
'paramManagement.nextPage': 'Trang sau',
|
|
'paramManagement.totalRecords': 'Tổng cộng {total} bản ghi',
|
|
'paramManagement.addParam': 'Thêm tham số',
|
|
'paramManagement.editParam': 'Chỉnh sửa tham số',
|
|
'paramManagement.getParamsListFailed': 'Không thể lấy danh sách tham số',
|
|
'paramManagement.selectParamsFirst': 'Vui lòng chọn tham số để xóa trước',
|
|
'paramManagement.confirmBatchDelete': 'Bạn có chắc chắn muốn xóa {paramCount} tham số đã chọn?',
|
|
'paramManagement.invalidParamId': 'Có ID tham số không hợp lệ',
|
|
'paramManagement.batchDeleteSuccess': 'Đã xóa thành công {paramCount} tham số',
|
|
'paramManagement.deleteFailed': 'Xóa thất bại, vui lòng thử lại',
|
|
'paramManagement.operationCancelled': 'Đã hủy xóa',
|
|
'paramManagement.operationClosed': 'Đã đóng thao tác',
|
|
'paramManagement.updateSuccess': 'Cập nhật thành công. Một số cấu hình chỉ có hiệu lực sau khi khởi động lại mô-đun xiaozhi-server.',
|
|
'paramManagement.addSuccess': 'Thêm thành công',
|
|
'paramManagement.updateFailed': 'Cập nhật thất bại',
|
|
'paramManagement.addFailed': 'Thêm thất bại',
|
|
|
|
// Server side management page text
|
|
'serverSideManager.pageTitle': 'Quản lý máy chủ',
|
|
'serverSideManager.wsAddress': 'Địa chỉ WS',
|
|
'serverSideManager.operation': 'Thao tác',
|
|
'serverSideManager.restart': 'Khởi động lại',
|
|
'serverSideManager.updateConfig': 'Cập nhật cấu hình',
|
|
'serverSideManager.restartServer': 'Khởi động lại máy chủ',
|
|
'serverSideManager.updateConfigTitle': 'Cập nhật cấu hình',
|
|
'serverSideManager.confirmRestart': 'Bạn có chắc chắn muốn khởi động lại máy chủ?',
|
|
'serverSideManager.confirmUpdateConfig': 'Bạn có chắc chắn muốn cập nhật cấu hình?',
|
|
'serverSideManager.loading': 'Đang tải...',
|
|
'serverSideManager.getServerListFailed': 'Không thể lấy danh sách máy chủ',
|
|
'serverSideManager.operationFailed': 'Thao tác thất bại',
|
|
'serverSideManager.restartSuccess': 'Khởi động lại thành công',
|
|
'serverSideManager.updateConfigSuccess': 'Cập nhật cấu hình thành công',
|
|
|
|
// Add agent dialog text
|
|
'addAgentDialog.title': 'Thêm tác nhân',
|
|
'addAgentDialog.agentName': 'Tên tác nhân',
|
|
'addAgentDialog.placeholder': 'Vui lòng nhập tên tác nhân..',
|
|
'addAgentDialog.confirm': 'Xác nhận',
|
|
'addAgentDialog.cancel': 'Hủy bỏ',
|
|
'addAgentDialog.nameRequired': 'Vui lòng nhập tên tác nhân',
|
|
'addAgentDialog.addSuccess': 'Thêm thành công',
|
|
|
|
// Role configuration page text
|
|
'roleConfig.title': 'Vai trò',
|
|
'roleConfig.restartNotice': 'Sau khi lưu cấu hình, bạn cần khởi động lại thiết bị để cấu hình mới có hiệu lực.',
|
|
'roleConfig.saveConfig': 'Lưu cấu hình',
|
|
'roleConfig.reset': 'Đặt lại',
|
|
'roleConfig.agentName': 'Biệt danh',
|
|
'roleConfig.roleTemplate': 'Mẫu',
|
|
'roleConfig.roleIntroduction': 'Giới thiệu',
|
|
'roleConfig.languageCode': 'Mã ngôn ngữ',
|
|
'roleConfig.interactionLanguage': 'Ngôn ngữ tương tác',
|
|
'roleConfig.vad': 'Phát hiện giọng nói',
|
|
'roleConfig.asr': 'Nhận dạng giọng nói',
|
|
'roleConfig.llm': 'Mô hình ngôn ngữ',
|
|
'roleConfig.vllm': 'Mô hình thị giác',
|
|
'roleConfig.tts': 'Văn bản thành giọng nói',
|
|
'roleConfig.memoryHis': 'Bộ nhớ',
|
|
'roleConfig.memory': 'Mô hình bộ nhớ',
|
|
'roleConfig.intent': 'Nhận dạng ý định',
|
|
'roleConfig.voiceType': 'Loại giọng nói',
|
|
'roleConfig.pleaseEnterContent': 'Vui lòng nhập nội dung',
|
|
'roleConfig.pleaseEnterLangCode': 'Vui lòng nhập mã ngôn ngữ, ví dụ: en_US',
|
|
'roleConfig.pleaseEnterLangName': 'Vui lòng nhập ngôn ngữ tương tác, ví dụ: Tiếng Anh',
|
|
'roleConfig.pleaseSelect': 'Vui lòng chọn',
|
|
'roleConfig.editFunctions': 'Chỉnh sửa chức năng',
|
|
'roleConfig.reportText': 'Chỉ văn bản',
|
|
'roleConfig.reportTextVoice': 'VB&Giọng nói',
|
|
'roleConfig.saveSuccess': 'Đã lưu cấu hình thành công',
|
|
'roleConfig.saveFailed': 'Lưu cấu hình thất bại',
|
|
'roleConfig.confirmReset': 'Bạn có chắc chắn muốn đặt lại cấu hình?',
|
|
'roleConfig.resetSuccess': 'Cấu hình đã được đặt lại',
|
|
'roleConfig.fetchTemplatesFailed': 'Không thể tải danh sách mẫu',
|
|
'roleConfig.templateApplied': 'mẫu đã được áp dụng',
|
|
'roleConfig.applyTemplateFailed': 'Áp dụng mẫu thất bại',
|
|
'roleConfig.fetchConfigFailed': 'Không thể lấy cấu hình',
|
|
'roleConfig.fetchModelsFailed': 'Không thể tải danh sách mô hình',
|
|
'roleConfig.fetchPluginsFailed': 'Không thể tải danh sách plugin',
|
|
'roleConfig.cannotResumeAudio': 'Không thể tiếp tục phát âm thanh',
|
|
'roleConfig.selectVoiceFirst': 'Vui lòng chọn giọng nói trước',
|
|
'roleConfig.audioLoadTimeout': 'Tải âm thanh mất quá nhiều thời gian, vui lòng thử lại sau',
|
|
'roleConfig.cloneAudioPlayFailed': 'Phát âm thanh sao chép thất bại',
|
|
'roleConfig.cannotPlayCloneAudio': 'Không thể phát âm thanh sao chép',
|
|
'roleConfig.getCloneAudioFailed': 'Không thể lấy âm thanh sao chép',
|
|
'roleConfig.noPreviewAudio': 'Giọng nói này không có âm thanh xem trước',
|
|
'roleConfig.audioPlayFailed': 'Phát âm thanh thất bại',
|
|
'roleConfig.cannotPlayAudio': 'Không thể phát âm thanh',
|
|
'roleConfig.audioPlayError': 'Lỗi trong quá trình phát âm thanh',
|
|
|
|
// Function management dialog text
|
|
'functionDialog.title': 'Quản lý chức năng',
|
|
'functionDialog.unselectedFunctions': 'Chức năng chưa chọn',
|
|
'functionDialog.selectedFunctions': 'Chức năng đã chọn',
|
|
'functionDialog.selectAll': 'Chọn tất cả',
|
|
'functionDialog.noMorePlugins': 'Không còn plugin nào khác',
|
|
'functionDialog.pleaseSelectPlugin': 'Vui lòng chọn chức năng plugin',
|
|
'functionDialog.paramConfig': 'Cấu hình tham số',
|
|
'functionDialog.noNeedToConfig': ' không yêu cầu cấu hình tham số',
|
|
'functionDialog.pleaseSelectFunctionForParam': 'Vui lòng chọn một chức năng đã cấu hình để thiết lập tham số',
|
|
'functionDialog.mcpAccessPoint': 'Điểm truy cập MCP',
|
|
'functionDialog.mcpAddressDesc': 'Dưới đây là các địa chỉ điểm truy cập MCP cho tác nhân.',
|
|
'functionDialog.howToDeployMcp': 'Cách triển khai điểm truy cập MCP',
|
|
'functionDialog.howToIntegrateMcp': 'Cách tích hợp chức năng MCP',
|
|
'functionDialog.copy': 'Sao chép',
|
|
'functionDialog.accessPointStatus': 'Trạng thái điểm truy cập',
|
|
'functionDialog.connected': 'Đã kết nối',
|
|
'functionDialog.loading': 'Đang tải...',
|
|
'functionDialog.disconnected': 'Đã ngắt kết nối',
|
|
'functionDialog.refresh': 'Làm mới',
|
|
'functionDialog.noAvailableTools': 'Không có công cụ khả dụng',
|
|
'functionDialog.cancel': 'Hủy bỏ',
|
|
'functionDialog.saveConfig': 'Lưu cấu hình',
|
|
'functionDialog.copiedToClipboard': 'Đã sao chép vào clipboard',
|
|
'functionDialog.copyFailed': 'Sao chép thất bại, vui lòng sao chép thủ công',
|
|
'functionDialog.jsonFormatError': ' lỗi định dạng trường: định dạng JSON không hợp lệ',
|
|
'functionDialog.defaultValue': 'Giá trị mặc định',
|
|
|
|
// Model Configuration Page Text
|
|
'modelConfig.searchPlaceholder': 'Vui lòng nhập tên mô hình để tìm kiếm',
|
|
'modelConfig.search': 'Tìm kiếm',
|
|
'modelConfig.vad': 'Phát hiện hoạt động giọng nói',
|
|
'modelConfig.asr': 'Nhận dạng giọng nói',
|
|
'modelConfig.llm': 'Mô hình ngôn ngữ lớn',
|
|
'modelConfig.vllm': 'Mô hình ngôn ngữ thị giác',
|
|
'modelConfig.intent': 'Nhận dạng ý định',
|
|
'modelConfig.tts': 'Văn bản thành giọng nói',
|
|
'modelConfig.memory': 'Bộ nhớ',
|
|
'modelConfig.rag': 'RAG',
|
|
'modelConfig.modelId': 'ID mô hình',
|
|
'modelConfig.modelName': 'Tên mô hình',
|
|
'modelConfig.provider': 'Loại giao diện',
|
|
'modelConfig.unknown': 'Không xác định',
|
|
'modelConfig.isEnabled': 'Đã bật',
|
|
'modelConfig.isDefault': 'Mặc định',
|
|
'modelConfig.action': 'Hành động',
|
|
'modelConfig.voiceManagement': 'Quản lý giọng nói',
|
|
'modelConfig.edit': 'Chỉnh sửa',
|
|
'modelConfig.duplicate': 'Nhân bản',
|
|
'modelConfig.delete': 'Xóa',
|
|
'modelConfig.deselectAll': 'Bỏ chọn tất cả',
|
|
'modelConfig.select': 'Chọn',
|
|
'modelConfig.selectAll': 'Chọn tất cả',
|
|
'modelConfig.add': 'Thêm mới',
|
|
'modelConfig.selectModelsFirst': 'Vui lòng chọn mô hình để xóa trước',
|
|
'modelConfig.confirmBatchDelete': 'Bạn có chắc chắn muốn xóa các mô hình đã chọn?',
|
|
'modelConfig.confirmDelete': 'Bạn có chắc chắn muốn xóa mô hình này?',
|
|
'modelConfig.batchDeleteSuccess': 'Xóa hàng loạt thành công',
|
|
'modelConfig.partialDeleteFailed': 'Xóa một phần thất bại',
|
|
'modelConfig.deleteSuccess': 'Xóa thành công',
|
|
'modelConfig.deleteFailed': 'Xóa thất bại',
|
|
'modelConfig.deleteCancelled': 'Đã hủy xóa',
|
|
'modelConfig.duplicateSuccess': 'Nhân bản thành công',
|
|
'modelConfig.duplicateFailed': 'Nhân bản thất bại',
|
|
'modelConfig.saveSuccess': 'Lưu thành công',
|
|
'modelConfig.saveFailed': 'Lưu thất bại',
|
|
'modelConfig.addSuccess': 'Thêm thành công',
|
|
'modelConfig.addFailed': 'Thêm thất bại',
|
|
'modelConfig.fetchModelsFailed': 'Không thể tải danh sách mô hình',
|
|
'modelConfig.enableSuccess': 'Bật thành công',
|
|
'modelConfig.disableSuccess': 'Tắt thành công',
|
|
'modelConfig.operationFailed': 'Thao tác thất bại',
|
|
'modelConfig.setDefaultSuccess': 'Đặt mô hình mặc định thành công, vui lòng khởi động lại module xiaozhi-server thủ công kịp thời',
|
|
'modelConfig.itemsPerPage': '{items} mục/trang',
|
|
'modelConfig.firstPage': 'Trang đầu',
|
|
'modelConfig.prevPage': 'Trang trước',
|
|
'modelConfig.nextPage': 'Trang sau',
|
|
'modelConfig.totalRecords': 'Tổng cộng {total} bản ghi',
|
|
'modelConfig.loading': 'Đang tải...',
|
|
|
|
// Model Configuration Dialog Text
|
|
'modelConfigDialog.addModel': 'Thêm mô hình',
|
|
'modelConfigDialog.editModel': 'Chỉnh sửa mô hình',
|
|
'modelConfigDialog.duplicateModel': 'Nhân bản mô hình',
|
|
'modelConfigDialog.copySuffix': '_bản_sao',
|
|
'modelConfigDialog.modelInfo': 'Thông tin mô hình',
|
|
'modelConfigDialog.enable': 'Bật',
|
|
'modelConfigDialog.setDefault': 'Đặt làm mặc định',
|
|
'modelConfigDialog.modelId': 'ID mô hình',
|
|
'modelConfigDialog.enterModelId': 'Nếu không điền, sẽ được tạo tự động',
|
|
'modelConfigDialog.invalidModelId': 'ID mô hình không thể chỉ là văn bản thuần túy hoặc khoảng trắng, vui lòng sử dụng chữ cái, số, dấu gạch dưới hoặc dấu gạch ngang',
|
|
'modelConfigDialog.modelName': 'Tên mô hình',
|
|
'modelConfigDialog.enterModelName': 'Vui lòng nhập tên mô hình',
|
|
'modelConfigDialog.modelCode': 'Mã mô hình',
|
|
'modelConfigDialog.enterModelCode': 'Vui lòng nhập mã mô hình',
|
|
'modelConfigDialog.supplier': 'Nhà cung cấp',
|
|
'modelConfigDialog.selectSupplier': 'Vui lòng chọn',
|
|
'modelConfigDialog.sortOrder': 'Thứ tự sắp xếp',
|
|
'modelConfigDialog.enterSortOrder': 'Vui lòng nhập thứ tự sắp xếp',
|
|
'modelConfigDialog.docLink': 'Liên kết tài liệu',
|
|
'modelConfigDialog.enterDocLink': 'Vui lòng nhập liên kết tài liệu',
|
|
'modelConfigDialog.remark': 'Ghi chú',
|
|
'modelConfigDialog.enterRemark': 'Vui lòng nhập ghi chú mô hình',
|
|
'modelConfigDialog.callInfo': 'Thông tin gọi',
|
|
'modelConfigDialog.enterJsonExample': 'Vui lòng nhập biến định dạng JSON (ví dụ:{\"key\":\"value\"})',
|
|
'modelConfigDialog.save': 'Lưu',
|
|
|
|
// TTS Model Configuration Text
|
|
'ttsModel.select': 'Chọn',
|
|
'ttsModel.voiceCode': 'Mã giọng nói',
|
|
'ttsModel.voiceName': 'Tên giọng nói',
|
|
'ttsModel.languageType': 'Loại ngôn ngữ',
|
|
'ttsModel.preview': 'Xem trước',
|
|
'ttsModel.enterMp3Url': 'Vui lòng nhập URL MP3',
|
|
'ttsModel.remark': 'Ghi chú',
|
|
'ttsModel.enterRemark': 'Đây là ghi chú',
|
|
'ttsModel.referenceAudioPath': 'Đường dẫn âm thanh tham chiếu',
|
|
'ttsModel.enterReferenceAudio': 'Đây là đường dẫn âm thanh tham chiếu',
|
|
'ttsModel.referenceText': 'Văn bản âm thanh tham chiếu',
|
|
'ttsModel.enterReferenceText': 'Đây là Chỉ Văn bản cho âm thanh tham chiếu',
|
|
'ttsModel.action': 'Hành động',
|
|
'ttsModel.operation': 'Thao tác',
|
|
'ttsModel.operationFailed': 'Thao tác thất bại',
|
|
'ttsModel.operationClosed': 'Đã đóng thao tác',
|
|
'ttsModel.edit': 'Chỉnh sửa',
|
|
'ttsModel.delete': 'Xóa',
|
|
'ttsModel.deleteVoiceSuccess': 'Đã xóa thành công {count} giọng nói',
|
|
'ttsModel.deleteFailed': 'Xóa giọng nói thất bại',
|
|
'ttsModel.save': 'Lưu',
|
|
'ttsModel.deselectAll': 'Bỏ chọn tất cả',
|
|
'ttsModel.selectAll': 'Chọn tất cả',
|
|
'ttsModel.add': 'Thêm',
|
|
'ttsModel.fetchVoicesFailed': 'Không thể tải danh sách giọng nói',
|
|
'ttsModel.loadVoicesFailed': 'Không thể tải dữ liệu giọng nói',
|
|
'ttsModel.unnamedVoice': 'Giọng nói không tên',
|
|
'ttsModel.finishEditingFirst': 'Vui lòng hoàn tất chỉnh sửa hiện tại trước',
|
|
'ttsModel.selectVoiceToDelete': 'Vui lòng chọn giọng nói để xóa',
|
|
'ttsModel.warning': 'Cảnh báo',
|
|
'ttsModel.confirmDeleteVoice': 'Bạn có chắc chắn muốn xóa {count} giọng nói?',
|
|
'ttsModel.voiceCodeNameLanguageRequired': 'Mã giọng nói, tên giọng nói và loại ngôn ngữ không được để trống',
|
|
'ttsModel.deleteCancelled': 'Xóa đã bị hủy',
|
|
'ttsModel.updateSuccess': 'Cập nhật thành công',
|
|
'ttsModel.saveSuccess': 'Lưu thành công',
|
|
|
|
// OTA Management Page Text
|
|
'otaManagement.firmwareManagement': 'Quản lý firmware',
|
|
'otaManagement.searchPlaceholder': 'Vui lòng nhập tên firmware để tìm kiếm',
|
|
'otaManagement.search': 'Tìm kiếm',
|
|
'otaManagement.firmwareName': 'Tên firmware',
|
|
'otaManagement.firmwareType': 'Loại firmware',
|
|
'otaManagement.version': 'Phiên bản',
|
|
'otaManagement.fileSize': 'Kích thước tệp',
|
|
'otaManagement.remark': 'Ghi chú',
|
|
'otaManagement.createTime': 'Thời gian tạo',
|
|
'otaManagement.updateTime': 'Thời gian cập nhật',
|
|
'otaManagement.action': 'Hành động',
|
|
'otaManagement.download': 'Tải xuống',
|
|
'otaManagement.edit': 'Chỉnh sửa',
|
|
'otaManagement.delete': 'Xóa',
|
|
'otaManagement.selectAll': 'Chọn tất cả',
|
|
'otaManagement.deselectAll': 'Bỏ chọn tất cả',
|
|
'otaManagement.addNew': 'Thêm mới',
|
|
'otaManagement.addFirmware': 'Thêm firmware',
|
|
'otaManagement.editFirmware': 'Chỉnh sửa firmware',
|
|
'otaManagement.itemsPerPage': '{items} mục/trang',
|
|
'otaManagement.firstPage': 'Trang đầu',
|
|
'otaManagement.prevPage': 'Trang trước',
|
|
'otaManagement.nextPage': 'Trang sau',
|
|
'otaManagement.totalRecords': 'Tổng cộng {total} bản ghi',
|
|
'otaManagement.selectFirmwareFirst': 'Vui lòng chọn firmware để xóa trước',
|
|
'otaManagement.confirmBatchDelete': 'Bạn có chắc chắn muốn xóa {paramCount} firmware đã chọn?',
|
|
'otaManagement.operationCancelled': 'Đã hủy thao tác xóa',
|
|
'otaManagement.operationClosed': 'Đã đóng thao tác',
|
|
'otaManagement.batchDeleteSuccess': 'Đã xóa thành công {paramCount} firmware',
|
|
'otaManagement.deleteFailed': 'Xóa thất bại, vui lòng thử lại',
|
|
'otaManagement.incompleteFirmwareInfo': 'Thông tin firmware không đầy đủ',
|
|
'otaManagement.getDownloadUrlFailed': 'Không thể lấy liên kết tải xuống',
|
|
'otaManagement.getFirmwareTypesFailed': 'Không thể lấy loại firmware',
|
|
'otaManagement.updateSuccess': 'Cập nhật thành công',
|
|
'otaManagement.updateFailed': 'Cập nhật thất bại',
|
|
'otaManagement.addSuccess': 'Thêm thành công',
|
|
'otaManagement.addFailed': 'Thêm thất bại',
|
|
'otaManagement.fetchFirmwareListFailed': 'Không thể tải danh sách firmware',
|
|
|
|
// Provider Management page model type translations
|
|
'providerManagement.all': 'Tất cả',
|
|
'providerManagement.modelType.ASR': 'Nhận dạng giọng nói',
|
|
'providerManagement.modelType.TTS': 'Văn bản thành giọng nói',
|
|
'providerManagement.modelType.LLM': 'Mô hình ngôn ngữ lớn',
|
|
'providerManagement.modelType.VLLM': 'Mô hình ngôn ngữ thị giác lớn',
|
|
'providerManagement.modelType.Intent': 'Nhận dạng ý định',
|
|
'providerManagement.modelType.Memory': 'Mô-đun bộ nhớ',
|
|
'providerManagement.modelType.VAD': 'Phát hiện hoạt động giọng nói',
|
|
'providerManagement.modelType.Plugin': 'Công cụ plugin',
|
|
'providerManagement.modelType.RAG': 'RAG',
|
|
|
|
// Provider Dialog translations
|
|
'providerDialog.category': 'Danh mục',
|
|
'providerDialog.selectCategory': 'Vui lòng chọn danh mục',
|
|
'providerDialog.code': 'Mã',
|
|
'providerDialog.inputCode': 'Vui lòng nhập mã nhà cung cấp',
|
|
'providerDialog.name': 'Tên',
|
|
'providerDialog.inputName': 'Vui lòng nhập tên nhà cung cấp',
|
|
'providerDialog.sort': 'Sắp xếp',
|
|
'providerDialog.fieldConfig': 'Cấu hình trường',
|
|
'providerDialog.add': 'Thêm',
|
|
'providerDialog.deselectAll': 'Bỏ chọn tất cả',
|
|
'providerDialog.selectAll': 'Chọn tất cả',
|
|
'providerDialog.batchDelete': 'Xóa hàng loạt',
|
|
'providerDialog.fieldKey': 'Khóa trường',
|
|
'providerDialog.fieldLabel': 'Nhãn trường',
|
|
'providerDialog.fieldType': 'Loại trường',
|
|
'providerDialog.type': 'Loại',
|
|
'providerDialog.stringType': 'Chuỗi',
|
|
'providerDialog.numberType': 'Số',
|
|
'providerDialog.booleanType': 'Boolean',
|
|
'providerDialog.dictType': 'Từ điển',
|
|
'providerDialog.arrayType': 'Danh sách phân cách bằng dấu chấm phẩy',
|
|
'providerDialog.ragType': 'RAG',
|
|
'providerDialog.defaultValue': 'Giá trị mặc định',
|
|
'providerDialog.inputDefaultValue': 'Vui lòng nhập giá trị mặc định',
|
|
'providerDialog.operation': 'Thao tác',
|
|
'providerDialog.edit': 'Chỉnh sửa',
|
|
'providerDialog.complete': 'Hoàn tất',
|
|
'providerDialog.delete': 'Xóa',
|
|
'providerDialog.save': 'Lưu',
|
|
'providerDialog.requiredCategory': 'Vui lòng chọn danh mục',
|
|
'providerDialog.requiredCode': 'Vui lòng nhập mã nhà cung cấp',
|
|
'providerDialog.requiredName': 'Vui lòng nhập tên nhà cung cấp',
|
|
'providerDialog.completeFieldEdit': 'Vui lòng hoàn tất chỉnh sửa trường hiện tại trước',
|
|
'providerDialog.confirmDeleteField': 'Bạn có chắc chắn muốn xóa trường này?',
|
|
'providerDialog.selectFieldsToDelete': 'Vui lòng chọn trường để xóa trước',
|
|
'providerDialog.confirmBatchDeleteFields': 'Bạn có chắc chắn muốn xóa {count} trường đã chọn?',
|
|
'providerDialog.batchDeleteFieldsSuccess': 'Đã xóa thành công {count} trường',
|
|
|
|
// agentTemplateManagement
|
|
'agentTemplateManagement.title': 'Quản lý vai trò mặc định',
|
|
'agentTemplateManagement.templateName': 'Tên mẫu',
|
|
'agentTemplateManagement.action': 'Hành động',
|
|
'agentTemplateManagement.createTemplate': 'Tạo mẫu',
|
|
'templateQuickConfig.newTemplate': 'Mẫu mới',
|
|
'agentTemplateManagement.editTemplate': 'Chỉnh sửa mẫu',
|
|
'agentTemplateManagement.deleteTemplate': 'Xóa mẫu',
|
|
'agentTemplateManagement.deleteSuccess': 'Đã xóa mẫu thành công',
|
|
'agentTemplateManagement.batchDelete': 'Xóa hàng loạt',
|
|
'agentTemplateManagement.batchDeleteSuccess': 'Xóa hàng loạt thành công',
|
|
'agentTemplateManagement.selectTemplate': 'Vui lòng chọn một mẫu',
|
|
'agentTemplateManagement.select': 'Chọn',
|
|
'agentTemplateManagement.searchPlaceholder': 'Vui lòng nhập tên mẫu để tìm kiếm',
|
|
'agentTemplateManagement.search': 'Tìm kiếm',
|
|
'agentTemplateManagement.serialNumber': 'Số sê-ri',
|
|
'agentTemplateManagement.selectAll': 'Chọn tất cả',
|
|
'agentTemplateManagement.deselectAll': 'Bỏ chọn tất cả',
|
|
'agentTemplateManagement.loading': 'Đang tải...',
|
|
'agentTemplateManagement.confirmSingleDelete': 'Bạn có chắc chắn muốn xóa mẫu này?',
|
|
'agentTemplateManagement.confirmBatchDelete': 'Bạn có chắc chắn muốn xóa {count} mẫu đã chọn?',
|
|
'agentTemplateManagement.deleteFailed': 'Xóa mẫu thất bại',
|
|
'agentTemplateManagement.batchDeleteFailed': 'Xóa hàng loạt mẫu thất bại',
|
|
'agentTemplateManagement.deleteBackendError': 'Xóa thất bại, vui lòng kiểm tra xem dịch vụ backend có bình thường không',
|
|
|
|
// templateQuickConfig
|
|
'templateQuickConfig.title': 'Cấu hình nhanh mô-đun',
|
|
'templateQuickConfig.agentSettings.agentName': 'Biệt danh',
|
|
'templateQuickConfig.agentSettings.agentNamePlaceholder': 'Vui lòng nhập biệt danh',
|
|
'templateQuickConfig.agentSettings.systemPrompt': 'Giới thiệu',
|
|
'templateQuickConfig.agentSettings.systemPromptPlaceholder': 'Vui lòng nhập giới thiệu',
|
|
'templateQuickConfig.saveConfig': 'Lưu cấu hình',
|
|
'templateQuickConfig.resetConfig': 'Đặt lại cấu hình',
|
|
'templateQuickConfig.saveSuccess': 'Lưu thành công',
|
|
'templateQuickConfig.resetSuccess': 'Đặt lại thành công',
|
|
'templateQuickConfig.confirmReset': 'Bạn có chắc chắn muốn đặt lại cấu hình?',
|
|
'templateQuickConfig.saveFailed': 'Lưu cấu hình thất bại',
|
|
'templateQuickConfig.confirm': 'Xác nhận',
|
|
'templateQuickConfig.cancel': 'Hủy bỏ',
|
|
'templateQuickConfig.templateNotFound': 'Không tìm thấy mẫu',
|
|
'warning': 'Cảnh báo',
|
|
'info': 'Thông tin',
|
|
'common.networkError': 'Yêu cầu mạng thất bại',
|
|
|
|
// SM2 Encryption
|
|
'sm2.publicKeyNotConfigured': 'Khóa công khai SM2 chưa được cấu hình, vui lòng liên hệ quản trị viên',
|
|
'sm2.encryptionFailed': 'Mã hóa mật khẩu thất bại',
|
|
'sm2.keyGenerationFailed': 'Tạo cặp khóa thất bại',
|
|
'sm2.invalidPublicKey': 'Định dạng khóa công khai không hợp lệ',
|
|
'sm2.encryptionError': 'Đã xảy ra lỗi khi mã hóa',
|
|
'sm2.publicKeyRetry': 'Đang thử lấy lại khóa công khai...',
|
|
'sm2.publicKeyRetryFailed': 'Thử lấy lại khóa công khai thất bại',
|
|
|
|
// Voice Clone and Resource Management
|
|
'voiceClone.title': 'Nhân bản âm sắc',
|
|
'voiceResource.title': 'Tài nguyên giọng nói',
|
|
'voiceClone.platformName': 'Tên nền tảng',
|
|
'voiceClone.voiceId': 'ID giọng nói',
|
|
'voiceClone.userId': 'Chủ sở hữu tài khoản',
|
|
'voiceClone.name': 'Tên giọng nói',
|
|
'voiceClone.clone': 'Nhân bản',
|
|
'voiceClone.action': 'Hành động',
|
|
'voiceClone.modelId': 'ID mô hình',
|
|
'voiceClone.trainStatus': 'Trạng thái đào tạo',
|
|
'voiceClone.trainError': 'Lỗi đào tạo',
|
|
'voiceClone.createdAt': 'Thời gian tạo',
|
|
'voiceClone.search': 'Tìm kiếm',
|
|
'voiceClone.searchPlaceholder': 'Vui lòng nhập tên giọng nói hoặc ID giọng nói',
|
|
'voiceClone.addNew': 'Thêm',
|
|
'voiceClone.delete': 'Xóa',
|
|
'voiceClone.selectAll': 'Chọn tất cả',
|
|
'voiceClone.deselectAll': 'Bỏ chọn tất cả',
|
|
'voiceClone.addVoiceClone': 'Thêm tài nguyên giọng nói',
|
|
'voiceClone.confirmDelete': 'Bạn có chắc chắn muốn xóa {count} tài nguyên giọng nói đã chọn?',
|
|
'voiceClone.deleteSuccess': 'Đã xóa thành công {count} tài nguyên giọng nói',
|
|
'voiceClone.deleteFailed': 'Xóa thất bại',
|
|
'voiceClone.addSuccess': 'Thêm thành công',
|
|
'voiceClone.addFailed': 'Thêm thất bại',
|
|
'voiceClone.updateSuccess': 'Cập nhật thành công',
|
|
'voiceClone.updateFailed': 'Cập nhật thất bại',
|
|
'voiceClone.selectFirst': 'Vui lòng chọn tài nguyên giọng nói để xóa trước',
|
|
'voiceClone.operationCancelled': 'Hủy bỏ',
|
|
'voiceClone.operationClosed': 'Đã đóng popup',
|
|
'voiceClone.cloneSuccess': 'Nhân bản thành công',
|
|
'voiceClone.cloneFailed': 'Nhân bản thất bại',
|
|
'voiceClone.confirmClone': 'Bạn có chắc chắn muốn nhân bản giọng này?',
|
|
'voiceClone.onlySuccessCanClone': 'Chỉ có thể nhân bản giọng đã huấn luyện thành công',
|
|
'common.insufficient': 'Không đủ',
|
|
'voiceClone.platformNameRequired': 'Vui lòng chọn tên nền tảng',
|
|
'voiceClone.voiceIdRequired': 'Vui lòng chọn ID giọng nói',
|
|
'voiceClone.userIdRequired': 'Vui lòng chọn chủ sở hữu tài khoản',
|
|
'voiceClone.platformNamePlaceholder': 'Vui lòng chọn tên nền tảng',
|
|
'voiceClone.voiceIdPlaceholder': 'Vui lòng nhập ID giọng nói và nhấn Enter',
|
|
'voiceClone.userIdPlaceholder': 'Vui lòng nhập từ khóa để chọn chủ sở hữu tài khoản',
|
|
'voiceClone.waitingUpload': 'Đang chờ tải lên',
|
|
'voiceClone.waitingTraining': 'Đang chờ nhân bản',
|
|
'voiceClone.training': 'Đang huấn luyện',
|
|
'voiceClone.trainSuccess': 'Huấn luyện thành công',
|
|
'voiceClone.trainFailed': 'Huấn luyện thất bại',
|
|
'voiceClone.itemsPerPage': '{items} mục mỗi trang',
|
|
'voiceClone.firstPage': 'Trang đầu',
|
|
'voiceClone.prevPage': 'Trang trước',
|
|
'voiceClone.nextPage': 'Trang sau',
|
|
'voiceClone.totalRecords': 'Tổng cộng {total} bản ghi',
|
|
'voiceClone.noVoiceCloneAssigned': 'Tài khoản của bạn không được chỉ định tài nguyên giọng nói',
|
|
'voiceClone.contactAdmin': 'Vui lòng liên hệ quản trị viên để được chỉ định tài nguyên giọng nói',
|
|
'voiceClone.dialogTitle': 'Nhân bản âm sắc',
|
|
'voiceClone.stepUpload': 'Chuẩn bị âm thanh',
|
|
'voiceClone.stepEdit': 'Chỉnh sửa âm thanh',
|
|
'voiceClone.dragOrClick': 'Kéo tệp âm thanh vào đây hoặc nhấp để tải lên',
|
|
'voiceClone.uploadTip': 'Hỗ trợ tất cả các định dạng âm thanh chính, thời lượng được chọn phải từ 8-60 giây',
|
|
'voiceClone.editTip1': 'Vui lòng xác nhận xem âm thanh đã tải lên có đạt yêu cầu không',
|
|
'voiceClone.editTip2': 'Bạn có thể nghe và cắt âm thanh, nếu không hài lòng có thể quay lại để ghi âm lại hoặc tải lên lại',
|
|
'voiceClone.selectedDuration': 'Đoạn hợp lệ đã chọn: {duration} giây',
|
|
'voiceClone.trim': 'Cắt đoạn đã chọn',
|
|
'voiceClone.reset': 'Đặt lại',
|
|
'voiceClone.play': 'Phát',
|
|
'voiceClone.pause': 'Tạm dừng',
|
|
'voiceClone.stop': 'Dừng',
|
|
'voiceClone.cancel': 'Hủy bỏ',
|
|
'voiceClone.warning': 'Cảnh báo',
|
|
'voiceClone.ok': 'OK',
|
|
'voiceClone.nextStep': 'Tiếp theo',
|
|
'voiceClone.prevStep': 'Trước',
|
|
'voiceClone.upload': 'Tải lên âm thanh',
|
|
'voiceClone.pleaseSelectAudio': 'Vui lòng chọn tệp âm thanh trước',
|
|
'voiceClone.durationError': 'Thời lượng âm thanh phải từ 8-60 giây',
|
|
'voiceClone.loadAudioFailed': 'Không thể tải âm thanh',
|
|
'voiceClone.trimSuccess': 'Cắt thành công',
|
|
'voiceClone.resetSuccess': 'Đặt lại thành công',
|
|
'voiceClone.uploadSuccess': 'Tải lên thành công',
|
|
'voiceClone.uploadFailed': 'Tải lên thất bại',
|
|
'voiceClone.updateNameSuccess': 'Đã cập nhật tên thành công',
|
|
'voiceClone.updateNameFailed': 'Không thể cập nhật tên',
|
|
'voiceClone.playFailed': 'Phát thất bại',
|
|
'voiceClone.Details': 'Chi tiết lỗi',
|
|
|
|
// Knowledge Base Management page text
|
|
'knowledgeBaseManagement.title': 'Cơ sở kiến thức',
|
|
'knowledgeBaseManagement.searchPlaceholder': 'Vui lòng nhập tên cơ sở kiến thức để tìm kiếm',
|
|
'knowledgeBaseManagement.search': 'Tìm kiếm',
|
|
'knowledgeBaseManagement.name': 'Tên cơ sở kiến thức',
|
|
'knowledgeBaseManagement.description': 'Mô tả cơ sở kiến thức',
|
|
'knowledgeBaseManagement.documentCount': 'Số lượng tài liệu',
|
|
'knowledgeBaseManagement.status': 'Đã bật',
|
|
'knowledgeBaseManagement.createdAt': 'Được tạo lúc',
|
|
'knowledgeBaseManagement.operation': 'Thao tác',
|
|
'knowledgeBaseManagement.add': 'Thêm',
|
|
'knowledgeBaseManagement.delete': 'Xóa',
|
|
'knowledgeBaseManagement.edit': 'Chỉnh sửa',
|
|
'knowledgeBaseManagement.itemsPerPage': 'mục/trang',
|
|
'knowledgeBaseManagement.firstPage': 'Trang đầu',
|
|
'knowledgeBaseManagement.prevPage': 'Trang trước',
|
|
'knowledgeBaseManagement.nextPage': 'Trang sau',
|
|
'knowledgeBaseManagement.totalRecords': 'Tổng cộng {total} bản ghi',
|
|
'knowledgeBaseManagement.addKnowledgeBase': 'Thêm cơ sở kiến thức',
|
|
'knowledgeBaseManagement.editKnowledgeBase': 'Chỉnh sửa cơ sở kiến thức',
|
|
'knowledgeBaseManagement.getKnowledgeBaseListFailed': 'Không thể lấy danh sách cơ sở kiến thức',
|
|
'knowledgeBaseManagement.selectKnowledgeBaseFirst': 'Vui lòng chọn cơ sở kiến thức để xóa trước',
|
|
'knowledgeBaseManagement.confirmBatchDelete': 'Bạn có chắc chắn muốn xóa {count} cơ sở kiến thức đã chọn?',
|
|
'knowledgeBaseManagement.batchDeleteSuccess': 'Đã xóa thành công {count} cơ sở kiến thức',
|
|
'knowledgeBaseManagement.deleteFailed': 'Xóa thất bại, vui lòng thử lại',
|
|
'knowledgeBaseManagement.operationCancelled': 'Đã hủy thao tác xóa',
|
|
'knowledgeBaseManagement.updateSuccess': 'Cập nhật thành công',
|
|
'knowledgeBaseManagement.addSuccess': 'Thêm thành công',
|
|
'knowledgeBaseManagement.updateFailed': 'Cập nhật thất bại',
|
|
'knowledgeBaseManagement.addFailed': 'Thêm thất bại',
|
|
'knowledgeBaseManagement.selectAll': 'Chọn tất cả',
|
|
'knowledgeBaseManagement.cancelSelectAll': 'Bỏ chọn tất cả',
|
|
|
|
// Knowledge Base Dialog text
|
|
'knowledgeBaseDialog.title': 'Cơ sở kiến thức',
|
|
'knowledgeBaseDialog.name': 'Tên cơ sở kiến thức',
|
|
'knowledgeBaseDialog.namePlaceholder': 'Vui lòng nhập chính xác tên cơ sở kiến thức để cải thiện độ chính xác của việc gọi cơ sở kiến thức',
|
|
'knowledgeBaseDialog.description': 'Mô tả cơ sở kiến thức',
|
|
'knowledgeBaseDialog.descriptionPlaceholder': 'Vui lòng nhập chính xác mô tả cơ sở kiến thức để giúp mô hình hiểu rõ hơn nội dung cơ sở kiến thức',
|
|
'knowledgeBaseDialog.ragModel': 'Mô hình RAG',
|
|
'knowledgeBaseDialog.ragModelPlaceholder': 'Vui lòng chọn mô hình RAG',
|
|
'knowledgeBaseDialog.ragModelRequired': 'Vui lòng chọn mô hình RAG',
|
|
'knowledgeBaseDialog.loadRAGModelsFailed': 'Không thể tải danh sách mô hình RAG',
|
|
'knowledgeBaseDialog.status': 'Trạng thái',
|
|
'knowledgeBaseDialog.statusEnabled': 'Đã bật',
|
|
'knowledgeBaseDialog.statusDisabled': 'Đã tắt',
|
|
'knowledgeBaseDialog.save': 'Lưu',
|
|
'knowledgeBaseDialog.cancel': 'Hủy bỏ',
|
|
'knowledgeBaseDialog.confirm': 'Xác nhận',
|
|
'knowledgeBaseDialog.requiredName': 'Vui lòng nhập tên cơ sở kiến thức',
|
|
'knowledgeBaseDialog.nameRequired': 'Vui lòng nhập tên cơ sở kiến thức',
|
|
'knowledgeBaseDialog.nameLength': 'Độ dài tên cơ sở kiến thức nên từ 1 đến 50 ký tự',
|
|
'knowledgeBaseDialog.namePattern': 'Tên cơ sở kiến thức chỉ có thể chứa chữ Trung, Anh, số, khoảng trắng, gạch dưới và gạch ngang',
|
|
'knowledgeBaseDialog.descriptionLength': 'Mô tả cơ sở kiến thức không được vượt quá 200 ký tự',
|
|
'knowledgeBaseDialog.nameLengthLimit': 'Tên cơ sở kiến thức không được vượt quá 50 ký tự',
|
|
'knowledgeBaseDialog.descriptionLengthLimit': 'Mô tả cơ sở kiến thức không được vượt quá 200 ký tự',
|
|
|
|
// Knowledge Base Management page new view button text
|
|
'knowledgeBaseManagement.view': 'Quản lý tệp',
|
|
|
|
// Knowledge File Upload page text
|
|
'knowledgeFileUpload.back': 'Quay lại',
|
|
'knowledgeFileUpload.searchPlaceholder': 'Vui lòng nhập tên tài liệu để tìm kiếm',
|
|
'knowledgeFileUpload.search': 'Tìm kiếm',
|
|
'knowledgeFileUpload.addDocument': 'Thêm tài liệu',
|
|
'knowledgeFileUpload.documentName': 'Tên tài liệu',
|
|
'knowledgeFileUpload.uploadTime': 'Thời gian tải lên',
|
|
'knowledgeFileUpload.status': 'Trạng thái',
|
|
'knowledgeFileUpload.operation': 'Thao tác',
|
|
'knowledgeFileUpload.parse': 'Phân tích cú pháp',
|
|
'knowledgeFileUpload.viewSlices': 'Xem các phần',
|
|
'knowledgeFileUpload.delete': 'Xóa',
|
|
'knowledgeFileUpload.itemsPerPage': 'mục/trang',
|
|
'knowledgeFileUpload.firstPage': 'Trang đầu',
|
|
'knowledgeFileUpload.prevPage': 'Trang trước',
|
|
'knowledgeFileUpload.nextPage': 'Trang sau',
|
|
'knowledgeFileUpload.totalRecords': 'Tổng cộng {total} bản ghi',
|
|
'knowledgeFileUpload.uploadDocument': 'Tải lên tài liệu',
|
|
'knowledgeFileUpload.documentNamePlaceholder': 'Vui lòng nhập tên tài liệu',
|
|
'knowledgeFileUpload.file': 'Tệp',
|
|
'knowledgeFileUpload.clickToUpload': 'Nhấp để tải lên',
|
|
'knowledgeFileUpload.uploadTip': 'Các loại tệp được hỗ trợ: PDF, DOC, DOCX, TXT, MD, CSV, XLS, XLSX, PPT, PPTX. Tối đa 32 tệp mỗi lần tải lên, kích thước mỗi tệp lên đến 10MB',
|
|
'knowledgeFileUpload.dragOrClick': 'Kéo tệp vào đây hoặc nhấp để tải lên',
|
|
'knowledgeFileUpload.cancel': 'Hủy bỏ',
|
|
'knowledgeFileUpload.confirm': 'Xác nhận',
|
|
'knowledgeFileUpload.knowledgeBaseName': 'Tên cơ sở kiến thức',
|
|
'knowledgeFileUpload.statusNotStarted': 'Chưa bắt đầu',
|
|
'knowledgeFileUpload.statusProcessing': 'Đang xử lý',
|
|
'knowledgeFileUpload.statusCancelled': 'Đã hủy',
|
|
'knowledgeFileUpload.statusCompleted': 'Đã hoàn thành',
|
|
'knowledgeFileUpload.statusFailed': 'Thất bại',
|
|
'knowledgeFileUpload.uploadSuccess': 'Tải lên tài liệu thành công',
|
|
'knowledgeFileUpload.uploadFailed': 'Tải lên tài liệu thất bại',
|
|
'knowledgeFileUpload.parseSuccess': 'Phân tích cú pháp tài liệu thành công',
|
|
'knowledgeFileUpload.parseFailed': 'Phân tích cú pháp tài liệu thất bại',
|
|
'knowledgeFileUpload.deleteSuccess': 'Xóa tài liệu thành công',
|
|
'knowledgeFileUpload.deleteFailed': 'Xóa tài liệu thất bại',
|
|
'knowledgeFileUpload.confirmDelete': 'Bạn có chắc chắn muốn xóa tài liệu này?',
|
|
'knowledgeFileUpload.confirmParse': 'Bạn có chắc chắn muốn phân tích cú pháp tài liệu này?',
|
|
'knowledgeFileUpload.nameRequired': 'Vui lòng nhập tên tài liệu',
|
|
'knowledgeFileUpload.fileRequired': 'Vui lòng chọn tệp để tải lên',
|
|
'knowledgeFileUpload.getListFailed': 'Không thể lấy danh sách tài liệu',
|
|
'knowledgeFileUpload.parseCancelled': 'Đã hủy phân tích cú pháp',
|
|
'knowledgeFileUpload.deleteCancelled': 'Đã hủy xóa',
|
|
'knowledgeFileUpload.selectFilesFirst': 'Vui lòng chọn tệp để xóa trước',
|
|
'knowledgeFileUpload.selectAll': 'Chọn tất cả',
|
|
'knowledgeFileUpload.deselectAll': 'Bỏ chọn tất cả',
|
|
'knowledgeFileUpload.batchDelete': 'Xóa',
|
|
'knowledgeFileUpload.confirmBatchDelete': 'Bạn có chắc chắn muốn xóa {count} tệp đã chọn?',
|
|
'knowledgeFileUpload.batchDeleteSuccess': 'Đã xóa thành công {count} tệp',
|
|
'knowledgeFileUpload.batchDeleteFailed': 'Xóa hàng loạt thất bại',
|
|
'knowledgeFileUpload.sliceCount': 'Số lượng phần',
|
|
'knowledgeFileUpload.add': 'Thêm',
|
|
'knowledgeFileUpload.retrievalTest': 'Kiểm tra truy xuất',
|
|
'knowledgeFileUpload.testQuestion': 'Câu hỏi kiểm tra',
|
|
'knowledgeFileUpload.testQuestionPlaceholder': 'Vui lòng nhập câu hỏi để kiểm tra',
|
|
'knowledgeFileUpload.executeTest': 'Thực thi kiểm tra',
|
|
'knowledgeFileUpload.testResult': 'Kết quả kiểm tra:',
|
|
'knowledgeFileUpload.selectedFiles': 'Tệp đã chọn',
|
|
'knowledgeFileUpload.totalSlices': 'Tổng cộng {total} bản ghi',
|
|
'knowledgeFileUpload.slice': 'Phần',
|
|
'knowledgeFileUpload.noSliceData': 'Không có dữ liệu phần nào',
|
|
'knowledgeFileUpload.firstPage': 'Đầu tiên',
|
|
'knowledgeFileUpload.prevPage': 'Trước',
|
|
'knowledgeFileUpload.nextPage': 'Tiếp theo',
|
|
'knowledgeFileUpload.totalRecords': 'Tổng cộng {total} bản ghi',
|
|
'knowledgeFileUpload.testQuestion': 'Câu hỏi kiểm tra',
|
|
'knowledgeFileUpload.testQuestionPlaceholder': 'Vui lòng nhập câu hỏi để kiểm tra',
|
|
'knowledgeFileUpload.runTest': 'Chạy kiểm tra',
|
|
'knowledgeFileUpload.testResult': 'Kết quả kiểm tra:',
|
|
'knowledgeFileUpload.noRelatedSlices': 'Không tìm thấy phần liên quan',
|
|
'knowledgeFileUpload.comprehensiveSimilarity': 'Độ tương đồng toàn diện',
|
|
'knowledgeFileUpload.content': 'Nội dung:',
|
|
'knowledgeFileUpload.testQuestionRequired': 'Vui lòng nhập câu hỏi kiểm tra',
|
|
'knowledgeBaseDialog.descriptionRequired': 'Vui lòng nhập mô tả cơ sở kiến thức',
|
|
|
|
// Feature Management page text
|
|
'featureManagement.selectAll': 'Chọn tất cả',
|
|
'featureManagement.deselectAll': 'Bỏ chọn tất cả',
|
|
'featureManagement.save': 'Lưu cấu hình',
|
|
'featureManagement.reset': 'Đặt lại',
|
|
'featureManagement.group.featureManagement': 'Có bật tính năng/khối này lên hay không',
|
|
'featureManagement.group.voiceManagement': 'Khi cấu hình agent, có hiển thị với người dùng hay không',
|
|
'featureManagement.noFeatures': 'Chưa có tính năng nào',
|
|
'featureManagement.contactAdmin': 'Vui lòng liên hệ quản trị viên để cấu hình tính năng',
|
|
'featureManagement.saveSuccess': 'Cấu hình tính năng đã được lưu thành công',
|
|
'featureManagement.resetConfirm': 'Bạn có chắc chắn muốn đặt lại tất cả cấu hình tính năng?',
|
|
'featureManagement.confirm': 'Xác nhận',
|
|
'featureManagement.cancel': 'Hủy bỏ',
|
|
'featureManagement.resetSuccess': 'Cấu hình tính năng đã được đặt lại thành công',
|
|
'featureManagement.noChanges': 'Không có thay đổi nào để lưu',
|
|
|
|
// Feature names and descriptions
|
|
'feature.voiceprintRecognition.name': 'Nhận dạng giọng nói',
|
|
'feature.voiceprintRecognition.description': 'Xác minh danh tính người dùng thông qua công nghệ nhận dạng giọng nói, cung cấp trải nghiệm tương tác giọng nói an toàn',
|
|
'feature.voiceClone.name': 'Nhân bản âm sắc',
|
|
'feature.voiceClone.description': 'Sử dụng công nghệ AI để nhân bản âm sắc cụ thể, đạt được tổng hợp giọng nói cá nhân hóa',
|
|
'feature.knowledgeBase.name': 'Cơ sở kiến thức',
|
|
'feature.knowledgeBase.description': 'Xây dựng và quản lý hệ thống cơ sở kiến thức, cung cấp hỗ trợ kiến thức chuyên môn cho trợ lý AI',
|
|
'feature.mcpAccessPoint.name': 'Điểm truy cập MCP',
|
|
'feature.mcpAccessPoint.description': 'Cung cấp điểm truy cập giao thức MCP, hỗ trợ tích hợp các công cụ và dịch vụ bên ngoài',
|
|
'feature.vad.name': 'Phát hiện hoạt động giọng nói',
|
|
'feature.vad.description': 'Tự động phát hiện hoạt động giọng nói, tối ưu hóa hiệu suất phản hồi tương tác giọng nói',
|
|
'feature.asr.name': 'Nhận dạng giọng nói',
|
|
'feature.asr.description': 'Chuyển đổi giọng nói thành văn bản, thực hiện chức năng tương tác ngôn ngữ tự nhiên',
|
|
|
|
} |