mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-29 12:23:55 +08:00
uptate:智控台增加德语、越南语
This commit is contained in:
@@ -128,12 +128,22 @@ public class WebMvcConfig implements WebMvcConfigurer {
|
|||||||
return Locale.TRADITIONAL_CHINESE;
|
return Locale.TRADITIONAL_CHINESE;
|
||||||
} else if (primaryLanguage.equals("en-US")) {
|
} else if (primaryLanguage.equals("en-US")) {
|
||||||
return Locale.US;
|
return Locale.US;
|
||||||
|
} else if (primaryLanguage.equals("de-DE")) {
|
||||||
|
return Locale.GERMANY;
|
||||||
|
} else if (primaryLanguage.equals("vi-VN")) {
|
||||||
|
return Locale.forLanguageTag("vi-VN");
|
||||||
} else if (primaryLanguage.startsWith("zh")) {
|
} else if (primaryLanguage.startsWith("zh")) {
|
||||||
// 对于其他中文变体,默认使用简体中文
|
// 对于其他中文变体,默认使用简体中文
|
||||||
return Locale.SIMPLIFIED_CHINESE;
|
return Locale.SIMPLIFIED_CHINESE;
|
||||||
} else if (primaryLanguage.startsWith("en")) {
|
} else if (primaryLanguage.startsWith("en")) {
|
||||||
// 对于其他英文变体,默认使用美式英语
|
// 对于其他英文变体,默认使用美式英语
|
||||||
return Locale.US;
|
return Locale.US;
|
||||||
|
} else if (primaryLanguage.startsWith("de")) {
|
||||||
|
// 对于其他德语变体,默认使用德语
|
||||||
|
return Locale.GERMANY;
|
||||||
|
} else if (primaryLanguage.startsWith("vi")) {
|
||||||
|
// 对于其他越南语变体,默认使用越南语
|
||||||
|
return Locale.forLanguageTag("vi-VN");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,192 @@
|
|||||||
|
#Deutsch
|
||||||
|
500=Server interne Ausnahme
|
||||||
|
401=Nicht autorisiert
|
||||||
|
403=Zugriff verweigert, keine Berechtigungen
|
||||||
|
10001={0} darf nicht leer sein
|
||||||
|
10002=Der Datensatz existiert bereits in der Datenbank
|
||||||
|
10003=Parameter abrufen fehlgeschlagen
|
||||||
|
10004=Die Kontonummer oder das Passwort ist falsch
|
||||||
|
10005=Konto wurde deaktiviert
|
||||||
|
10006=Eindeutige ID darf nicht leer sein
|
||||||
|
10007=Der Bestätigungscode ist falsch
|
||||||
|
10008=Zuerst Untermenü oder Schaltfläche löschen
|
||||||
|
10009=Das ursprüngliche Passwort ist falsch
|
||||||
|
10010=Das Konto oder Passwort ist falsch, Sie können es noch {0} Mal versuchen
|
||||||
|
|
||||||
|
10011=Die übergeordnete Abteilung hat eine falsche Wahl getroffen
|
||||||
|
10012=Oberes Menü kann nicht sich selbst sein
|
||||||
|
10013=Datenberechtigungsschnittstelle, die nur ein Map-Typ-Parameter sein kann
|
||||||
|
10014=Bitte löschen Sie zuerst die untergeordnete Abteilung
|
||||||
|
10015=Bitte löschen Sie zuerst den Benutzer unter der Abteilung
|
||||||
|
10016=Bereitstellung fehlgeschlagen, kein Prozess
|
||||||
|
10017=Das ModellDiagramm ist falsch, bitte überprüfen
|
||||||
|
10018=Export fehlgeschlagen, Modell-ID ist {0}
|
||||||
|
|
||||||
|
10019=Bitte laden Sie eine Datei hoch
|
||||||
|
10020=Token darf nicht leer sein
|
||||||
|
10021=Token ist ungültig, bitte melden Sie sich erneut an
|
||||||
|
10022=Das Konto wurde gesperrt
|
||||||
|
10023=Bitte laden Sie Dateien im Format zip, bar, bpmn, bpmn20.xml hoch
|
||||||
|
|
||||||
|
10024=Datei-Upload fehlgeschlagen {0}
|
||||||
|
10025=SMS-Sendung fehlgeschlagen {0}
|
||||||
|
10026=E-Mail-Vorlage existiert nicht
|
||||||
|
|
||||||
|
10027=Redis-Dienstausnahme
|
||||||
|
10028=Zeitgesteuerte Aufgabe fehlgeschlagen
|
||||||
|
10029=Darf keine illegalen Zeichen enthalten
|
||||||
|
|
||||||
|
10030=Das Passwort hat weniger als {0} Ziffern
|
||||||
|
10031=Das Passwort muss gleichzeitig aus Zahlen, Groß- und Kleinbuchstaben sowie Sonderzeichen bestehen
|
||||||
|
10032=Ausnahme beim Löschen dieser Daten
|
||||||
|
10033=Gerätebestätigungscode Fehler
|
||||||
|
|
||||||
|
10034=Parameterwert darf nicht leer sein
|
||||||
|
10035=Parametertyp darf nicht leer sein
|
||||||
|
10036=Nicht unterstützter Parametertyp
|
||||||
|
10037=Parameterwert muss eine gültige Zahl sein
|
||||||
|
10038=Parameterwert muss true oder false sein
|
||||||
|
10039=Parameterwert muss ein gültiges JSON-Array-Format sein
|
||||||
|
10040=Parameterwert muss ein gültiges JSON-Format sein
|
||||||
|
|
||||||
|
10041=Gerät nicht gefunden
|
||||||
|
10042={0}
|
||||||
|
10043=Löschen der Daten fehlgeschlagen
|
||||||
|
10044=Benutzer nicht angemeldet
|
||||||
|
10045=WebSocket-Verbindung fehlgeschlagen oder Zeitüberschreitung
|
||||||
|
10046=Stimmabdruck speichern fehlgeschlagen, bitte Administrator kontaktieren
|
||||||
|
10047=Tägliches SendeLimit erreicht
|
||||||
|
10048=Altes Passwort ist falsch
|
||||||
|
10049=Das eingestellte LLM ist nicht openai oder ollama
|
||||||
|
10050=Token-Generierung fehlgeschlagen
|
||||||
|
10051=Ressource nicht gefunden
|
||||||
|
10052=Standard-Agent nicht gefunden
|
||||||
|
10053=Agent nicht gefunden
|
||||||
|
10054=Stimmabdruck-Schnittstelle nicht konfiguriert, bitte konfigurieren Sie zuerst die Stimmabdruck-Schnittstellenadresse (server.voice_print) in der Parameterkonfiguration
|
||||||
|
10055=SMS-Sendung fehlgeschlagen
|
||||||
|
10056=SMS-Verbindung konnte nicht hergestellt werden
|
||||||
|
10057=Stimmabdruck für Agent konnte nicht erstellt werden
|
||||||
|
10058=Stimmabdruck für Agent konnte nicht aktualisiert werden
|
||||||
|
10059=Stimmabdruck für Agent konnte nicht gelöscht werden
|
||||||
|
10060=Sendung zu häufig, bitte versuchen Sie es nach {0} Sekunden erneut
|
||||||
|
10061=Aktivierungscode darf nicht leer sein
|
||||||
|
10062=Aktivierungscode Fehler
|
||||||
|
10063=Gerät bereits aktiviert
|
||||||
|
10064=Dieses Modell ist das Standardmodell, bitte setzen Sie zuerst ein anderes Modell als Standard
|
||||||
|
10065=Hinzufügen der Daten fehlgeschlagen
|
||||||
|
10066=Aktualisieren der Daten fehlgeschlagen
|
||||||
|
10067=Grafischer Bestätigungscode Fehler
|
||||||
|
10068=Mobilregistrierung nicht aktiviert, SMS-Bestätigungscode-Funktion kann nicht verwendet werden
|
||||||
|
10069=Benutzername ist keine Handynummer, bitte erneut eingeben
|
||||||
|
10070=Diese Handynummer wurde bereits registriert
|
||||||
|
10071=Die eingegebene Handynummer ist nicht registriert
|
||||||
|
10072=Normale Benutzerregistrierung derzeit nicht erlaubt
|
||||||
|
10073=Mobilregistrierung nicht aktiviert, Passwort-Wiederherstellungsfunktion kann nicht verwendet werden
|
||||||
|
10074=Das Format der eingegebenen Handynummer ist falsch
|
||||||
|
10075=Der eingegebene SMS-Bestätigungscode ist falsch
|
||||||
|
10076=Wörterbuchtyp existiert nicht
|
||||||
|
10077=Wörterbuchtypcode ist dupliziert
|
||||||
|
10078=Lesen der Ressource fehlgeschlagen
|
||||||
|
10079=LLM-Modell und Absichtserkennung, Parameterauswahl stimmt nicht überein
|
||||||
|
10080=Dieser Stimmabdruck gehört zu {0}, der bereits registriert ist, bitte wählen Sie eine andere Stimme
|
||||||
|
10081=Fehler beim Löschen des Stimmabdrucks aufgetreten
|
||||||
|
10082=Änderung nicht erlaubt, diese Stimme wurde bereits als Stimmabdruck registriert ({0})
|
||||||
|
10083=Fehler beim Ändern des Stimmabdrucks, bitte Administrator kontaktieren
|
||||||
|
10084=Stimmabdruck-Schnittstellenadresse Fehler, bitte gehen Sie zur Parameterverwaltung, um die Stimmabdruck-Schnittstellenadresse zu ändern
|
||||||
|
10085=Audiodaten gehören nicht zu diesem Agent
|
||||||
|
10086=Audiodaten sind leer, bitte überprüfen Sie hochgeladene Daten
|
||||||
|
10087=Stimmabdruck-Registrierung fehlgeschlagen, Anfrage nicht erfolgreich
|
||||||
|
10088=Stimmabdruck-Registrierung fehlgeschlagen, Anfrageverarbeitung fehlgeschlagen
|
||||||
|
10089=Stimmabdruck-Stornierung fehlgeschlagen, Anfrage nicht erfolgreich
|
||||||
|
10090=Stimmabdruck-Stornierung fehlgeschlagen, Anfrageverarbeitung fehlgeschlagen
|
||||||
|
10091=Modellanbieter existiert nicht
|
||||||
|
10092=Das konfigurierte LLM existiert nicht
|
||||||
|
10093=Diese Modellkonfiguration wird von Agent {0} referenziert und kann nicht gelöscht werden
|
||||||
|
10094=Dieses LLM-Modell wird von der Absichtserkennungskonfiguration referenziert und kann nicht gelöscht werden
|
||||||
|
10095=Ungültige Serveroperation
|
||||||
|
10096=Server WebSocket-Adresse nicht konfiguriert
|
||||||
|
10097=Ziel-WebSocket-Adresse existiert nicht
|
||||||
|
10098=WebSocket-Adressliste darf nicht leer sein
|
||||||
|
10099=WebSocket-Adresse darf nicht localhost oder 127.0.0.1 verwenden
|
||||||
|
10100=WebSocket-Adressformat ist falsch
|
||||||
|
10101=WebSocket-Verbindungstest fehlgeschlagen
|
||||||
|
10102=OTA-Adresse darf nicht leer sein
|
||||||
|
10103=OTA-Adresse darf nicht localhost oder 127.0.0.1 verwenden
|
||||||
|
10104=OTA-Adresse muss mit http oder https beginnen
|
||||||
|
10105=OTA-Adresse muss mit /ota/ enden
|
||||||
|
10106=OTA-Schnittstellenzugriff fehlgeschlagen
|
||||||
|
10107=OTA-Schnittstelle Rückgabeinhaltformat ist falsch
|
||||||
|
10108=OTA-Schnittstellenvalidierung fehlgeschlagen
|
||||||
|
10109=MCP-Adresse darf nicht leer sein
|
||||||
|
10110=MCP-Adresse darf nicht localhost oder 127.0.0.1 verwenden
|
||||||
|
10111=Keine gültige MCP-Adresse
|
||||||
|
10112=MCP-Schnittstellenzugriff fehlgeschlagen
|
||||||
|
10113=MCP-Schnittstelle Rückgabeinhaltformat ist falsch
|
||||||
|
10114=MCP-Schnittstellenvalidierung fehlgeschlagen
|
||||||
|
10115=Stimmabdruck-Schnittstellenadresse darf nicht leer sein
|
||||||
|
10116=Stimmabdruck-Schnittstellenadresse darf nicht localhost oder 127.0.0.1 verwenden
|
||||||
|
10117=Keine gültige Stimmabdruck-Schnittstellenadresse
|
||||||
|
10118=Stimmabdruck-Schnittstellenadresse muss mit http oder https beginnen
|
||||||
|
10119=Stimmabdruck-Schnittstellenzugriff fehlgeschlagen
|
||||||
|
10120=Stimmabdruck-Schnittstelle Rückgabeinhaltformat ist falsch
|
||||||
|
10121=Stimmabdruck-Schnittstellenvalidierung fehlgeschlagen
|
||||||
|
10122=MQTT-Geheimnis darf nicht leer sein
|
||||||
|
10123=Ihr MQTT-Geheimnis ist nicht sicher, es muss mindestens 8 Zeichen lang sein und muss sowohl Groß- als auch Kleinbuchstaben enthalten
|
||||||
|
10124=Ihr MQTT-Geheimnis ist nicht sicher, MQTT-Geheimnis muss sowohl Groß- als auch Kleinbuchstaben enthalten
|
||||||
|
10125=Ihr MQTT-Geheimnis enthält schwaches Passwort
|
||||||
|
10128=Wörterbuchlabel ist dupliziert
|
||||||
|
10129=SM2-Schlüssel nicht konfiguriert
|
||||||
|
10130=SM2-Entschlüsselung fehlgeschlagen
|
||||||
|
10131=modelType und provideCode dürfen nicht leer sein
|
||||||
|
10132=Keine Berechtigung, den Chat-Verlauf dieses Agents anzuzeigen
|
||||||
|
10133=Sitzungs-ID darf nicht leer sein
|
||||||
|
10134=Agent-ID darf nicht leer sein
|
||||||
|
10135=Chat-Verlauf-Download fehlgeschlagen
|
||||||
|
10136=Download-Link abgelaufen oder ungültig
|
||||||
|
10137=Download-Link ungültig
|
||||||
|
10138=Benutzer
|
||||||
|
10139=Agent
|
||||||
|
10140=Audio-Datei darf nicht leer sein
|
||||||
|
10141=Nur Audio-Dateien werden unterstützt
|
||||||
|
10142=Audio-Dateigröße darf 10MB nicht überschreiten
|
||||||
|
10143=Upload fehlgeschlagen
|
||||||
|
10144=Stimmenklon-Datensatz existiert nicht
|
||||||
|
10145=Stimmressourceninformationen dürfen nicht leer sein
|
||||||
|
10146=TTS-Plattformname darf nicht leer sein
|
||||||
|
10147=Stimmen-ID darf nicht leer sein
|
||||||
|
10148=Kontoinhaber darf nicht leer sein
|
||||||
|
10149=Zu löschende Stimmressourcen-ID darf nicht leer sein
|
||||||
|
10150=Sie haben keine Berechtigung, diesen Datensatz zu bearbeiten
|
||||||
|
10151=Bitte laden Sie zuerst eine Audio-Datei hoch
|
||||||
|
10152=Modellkonfiguration nicht gefunden
|
||||||
|
10153=Modelltyp nicht gefunden
|
||||||
|
10154=Training fehlgeschlagen: {0}
|
||||||
|
10155=Huoshan Engine-Konfiguration fehlt
|
||||||
|
10156=Antwortformat Fehler, BaseResp-Feld fehlt
|
||||||
|
10157=Anfrage fehlgeschlagen
|
||||||
|
10158=Stimme klonen:
|
||||||
|
10159=Stimmen-ID existiert bereits
|
||||||
|
10160=Huoshan Engine-Stimmen-ID-Formatfehler, muss mit S_ beginnen
|
||||||
|
10161=Mac-Adresse existiert bereits
|
||||||
|
10162=Modellanbieter existiert nicht
|
||||||
|
10163=Wissensbasis-Datensatz existiert nicht
|
||||||
|
10164=RAG-Konfiguration nicht gefunden
|
||||||
|
10165=RAG-Konfigurationstyp Fehler
|
||||||
|
10166=Standard-RAG-Konfiguration nicht gefunden
|
||||||
|
10167=RAG-API-Aufruf fehlgeschlagen: {0}
|
||||||
|
10168=Datei-Upload fehlgeschlagen
|
||||||
|
10169=Keine Berechtigung, diese Wissensbasis zu bearbeiten
|
||||||
|
10170=Wissensbasis-Name existiert bereits
|
||||||
|
10171=RAG-Konfiguration base_url darf nicht leer sein
|
||||||
|
10172=RAG-Konfiguration api_key darf nicht leer sein
|
||||||
|
10173=RAG-Konfiguration api_key darf keinen Platzhalter enthalten, bitte ersetzen Sie mit tatsächlichem API-Schlüssel
|
||||||
|
10174=RAG-Konfiguration base_url-Formatfehler, muss mit http oder https beginnen
|
||||||
|
10175=Mac-Adresse darf nicht leer sein
|
||||||
|
10176=RAG-Konfiguration dataset_id darf nicht leer sein
|
||||||
|
10177=RAG-Konfiguration model_id darf nicht leer sein
|
||||||
|
10178=RAG-Konfiguration dataset_id und model_id dürfen nicht leer sein
|
||||||
|
10179=Dateiname darf nicht leer sein
|
||||||
|
10180=Dateiinhalt darf nicht leer sein
|
||||||
|
10181=Stimmenklon-Name darf nicht leer sein
|
||||||
|
10182=Stimmenklon-Audio nicht gefunden
|
||||||
|
10183=Standard-Agent-Vorlage nicht gefunden
|
||||||
@@ -0,0 +1,192 @@
|
|||||||
|
#Tiếng Việt
|
||||||
|
500=Ngoại lệ nội bộ máy chủ
|
||||||
|
401=Không được ủy quyền
|
||||||
|
403=Truy cập bị từ chối, không có quyền
|
||||||
|
10001={0} không thể để trống
|
||||||
|
10002=Bản ghi đã tồn tại trong cơ sở dữ liệu
|
||||||
|
10003=Không thể lấy tham số
|
||||||
|
10004=Số tài khoản hoặc mật khẩu không chính xác
|
||||||
|
10005=Tài khoản đã bị vô hiệu hóa
|
||||||
|
10006=ID duy nhất không thể để trống
|
||||||
|
10007=Mã xác minh không chính xác
|
||||||
|
10008=Trước tiên hãy xóa menu con hoặc nút
|
||||||
|
10009=Mật khẩu gốc không chính xác
|
||||||
|
10010=Tài khoản hoặc mật khẩu không chính xác, bạn có thể thử thêm {0} lần nữa
|
||||||
|
|
||||||
|
10011=Phòng ban cấp trên đã lựa chọn sai
|
||||||
|
10012=Menu trên không thể là chính nó
|
||||||
|
10013=Giao diện quyền dữ liệu, chỉ có thể là tham số kiểu Map
|
||||||
|
10014=Vui lòng xóa phòng ban cấp dưới trước
|
||||||
|
10015=Vui lòng xóa người dùng thuộc phòng ban trước
|
||||||
|
10016=Triển khai thất bại, không có quy trình
|
||||||
|
10017=Biểu đồ mô hình không chính xác, vui lòng kiểm tra
|
||||||
|
10018=Xuất thất bại, ID mô hình là {0}
|
||||||
|
|
||||||
|
10019=Vui lòng tải lên tệp
|
||||||
|
10020=Token không thể để trống
|
||||||
|
10021=Token không hợp lệ, vui lòng đăng nhập lại
|
||||||
|
10022=Tài khoản đã bị khóa
|
||||||
|
10023=Vui lòng tải lên tệp ở định dạng zip, bar, bpmn, bpmn20.xml
|
||||||
|
|
||||||
|
10024=Tải lên tệp {0} thất bại
|
||||||
|
10025=Gửi SMS {0} thất bại
|
||||||
|
10026=Mẫu email không tồn tại
|
||||||
|
|
||||||
|
10027=Ngoại lệ dịch vụ Redis
|
||||||
|
10028=Tác vụ hẹn giờ thất bại
|
||||||
|
10029=Không thể chứa ký tự không hợp lệ
|
||||||
|
|
||||||
|
10030=Mật khẩu ít hơn {0} chữ số
|
||||||
|
10031=Mật khẩu phải bao gồm số, chữ hoa, chữ thường và ký tự đặc biệt cùng một lúc
|
||||||
|
10032=Ngoại lệ khi xóa dữ liệu này
|
||||||
|
10033=Lỗi mã xác minh thiết bị
|
||||||
|
|
||||||
|
10034=Giá trị tham số không thể để trống
|
||||||
|
10035=Loại tham số không thể để trống
|
||||||
|
10036=Loại tham số không được hỗ trợ
|
||||||
|
10037=Giá trị tham số phải là số hợp lệ
|
||||||
|
10038=Giá trị tham số phải là true hoặc false
|
||||||
|
10039=Giá trị tham số phải là định dạng mảng JSON hợp lệ
|
||||||
|
10040=Giá trị tham số phải là định dạng JSON hợp lệ
|
||||||
|
|
||||||
|
10041=Không tìm thấy thiết bị
|
||||||
|
10042={0}
|
||||||
|
10043=Xóa dữ liệu thất bại
|
||||||
|
10044=Người dùng chưa đăng nhập
|
||||||
|
10045=Kết nối WebSocket thất bại hoặc hết thời gian chờ
|
||||||
|
10046=Không thể lưu dấu giọng nói, vui lòng liên hệ quản trị viên
|
||||||
|
10047=Đạt đến giới hạn gửi hàng ngày
|
||||||
|
10048=Mật khẩu cũ không chính xác
|
||||||
|
10049=LLM được đặt không phải là openai hoặc ollama
|
||||||
|
10050=Không thể tạo token
|
||||||
|
10051=Không tìm thấy tài nguyên
|
||||||
|
10052=Không tìm thấy agent mặc định
|
||||||
|
10053=Không tìm thấy agent
|
||||||
|
10054=Giao diện dấu giọng nói chưa được cấu hình, vui lòng cấu hình địa chỉ giao diện dấu giọng nói (server.voice_print) trong cấu hình tham số trước
|
||||||
|
10055=Gửi SMS thất bại
|
||||||
|
10056=Không thể thiết lập kết nối SMS
|
||||||
|
10057=Không thể tạo dấu giọng nói cho agent
|
||||||
|
10058=Không thể cập nhật dấu giọng nói cho agent
|
||||||
|
10059=Không thể xóa dấu giọng nói cho agent
|
||||||
|
10060=Gửi quá thường xuyên, vui lòng thử lại sau {0} giây
|
||||||
|
10061=Mã kích hoạt không thể để trống
|
||||||
|
10062=Lỗi mã kích hoạt
|
||||||
|
10063=Thiết bị đã được kích hoạt
|
||||||
|
10064=Mô hình này là mô hình mặc định, vui lòng đặt mô hình khác làm mặc định trước
|
||||||
|
10065=Thêm dữ liệu thất bại
|
||||||
|
10066=Cập nhật dữ liệu thất bại
|
||||||
|
10067=Lỗi mã xác minh đồ họa
|
||||||
|
10068=Đăng ký di động không được bật, không thể sử dụng chức năng mã xác minh SMS
|
||||||
|
10069=Tên người dùng không phải là số điện thoại di động, vui lòng nhập lại
|
||||||
|
10070=Số điện thoại di động này đã được đăng ký
|
||||||
|
10071=Số điện thoại di động đã nhập không được đăng ký
|
||||||
|
10072=Hiện không cho phép đăng ký người dùng thông thường
|
||||||
|
10073=Đăng ký di động không được bật, không thể sử dụng chức năng truy xuất mật khẩu
|
||||||
|
10074=Định dạng số điện thoại di động đã nhập không chính xác
|
||||||
|
10075=Mã xác minh SMS đã nhập không chính xác
|
||||||
|
10076=Loại từ điển không tồn tại
|
||||||
|
10077=Mã loại từ điển bị trùng lặp
|
||||||
|
10078=Đọc tài nguyên thất bại
|
||||||
|
10079=Mô hình LLM và nhận dạng ý định, lựa chọn tham số không khớp
|
||||||
|
10080=Dấu giọng nói này thuộc về {0} đã đăng ký, vui lòng chọn giọng nói khác
|
||||||
|
10081=Đã xảy ra lỗi khi xóa dấu giọng nói
|
||||||
|
10082=Không cho phép sửa đổi, giọng nói này đã được đăng ký làm dấu giọng nói ({0})
|
||||||
|
10083=Lỗi sửa đổi dấu giọng nói, vui lòng liên hệ quản trị viên
|
||||||
|
10084=Lỗi địa chỉ giao diện dấu giọng nói, vui lòng vào quản lý tham số để sửa đổi địa chỉ giao diện dấu giọng nói
|
||||||
|
10085=Dữ liệu âm thanh không thuộc về agent này
|
||||||
|
10086=Dữ liệu âm thanh trống, vui lòng kiểm tra dữ liệu đã tải lên
|
||||||
|
10087=Đăng ký dấu giọng nói thất bại, yêu cầu không thành công
|
||||||
|
10088=Đăng ký dấu giọng nói thất bại, xử lý yêu cầu thất bại
|
||||||
|
10089=Hủy dấu giọng nói thất bại, yêu cầu không thành công
|
||||||
|
10090=Hủy dấu giọng nói thất bại, xử lý yêu cầu thất bại
|
||||||
|
10091=Nhà cung cấp mô hình không tồn tại
|
||||||
|
10092=LLM được cấu hình không tồn tại
|
||||||
|
10093=Cấu hình mô hình này được tham chiếu bởi agent {0} và không thể xóa
|
||||||
|
10094=Mô hình LLM này được tham chiếu bởi cấu hình nhận dạng ý định và không thể xóa
|
||||||
|
10095=Thao tác máy chủ không hợp lệ
|
||||||
|
10096=Địa chỉ WebSocket máy chủ chưa được cấu hình
|
||||||
|
10097=Địa chỉ WebSocket mục tiêu không tồn tại
|
||||||
|
10098=Danh sách địa chỉ WebSocket không thể để trống
|
||||||
|
10099=Địa chỉ WebSocket không thể sử dụng localhost hoặc 127.0.0.1
|
||||||
|
10100=Định dạng địa chỉ WebSocket không chính xác
|
||||||
|
10101=Kiểm tra kết nối WebSocket thất bại
|
||||||
|
10102=Địa chỉ OTA không thể để trống
|
||||||
|
10103=Địa chỉ OTA không thể sử dụng localhost hoặc 127.0.0.1
|
||||||
|
10104=Địa chỉ OTA phải bắt đầu bằng http hoặc https
|
||||||
|
10105=Địa chỉ OTA phải kết thúc bằng /ota/
|
||||||
|
10106=Truy cập giao diện OTA thất bại
|
||||||
|
10107=Định dạng nội dung trả về giao diện OTA không chính xác
|
||||||
|
10108=Xác thực giao diện OTA thất bại
|
||||||
|
10109=Địa chỉ MCP không thể để trống
|
||||||
|
10110=Địa chỉ MCP không thể sử dụng localhost hoặc 127.0.0.1
|
||||||
|
10111=Không phải địa chỉ MCP hợp lệ
|
||||||
|
10112=Truy cập giao diện MCP thất bại
|
||||||
|
10113=Định dạng nội dung trả về giao diện MCP không chính xác
|
||||||
|
10114=Xác thực giao diện MCP thất bại
|
||||||
|
10115=Địa chỉ giao diện dấu giọng nói không thể để trống
|
||||||
|
10116=Địa chỉ giao diện dấu giọng nói không thể sử dụng localhost hoặc 127.0.0.1
|
||||||
|
10117=Không phải địa chỉ giao diện dấu giọng nói hợp lệ
|
||||||
|
10118=Địa chỉ giao diện dấu giọng nói phải bắt đầu bằng http hoặc https
|
||||||
|
10119=Truy cập giao diện dấu giọng nói thất bại
|
||||||
|
10120=Định dạng nội dung trả về giao diện dấu giọng nói không chính xác
|
||||||
|
10121=Xác thực giao diện dấu giọng nói thất bại
|
||||||
|
10122=Bí mật MQTT không thể để trống
|
||||||
|
10123=Bí mật MQTT của bạn không an toàn, cần ít nhất 8 ký tự và phải chứa cả chữ hoa và chữ thường
|
||||||
|
10124=Bí mật MQTT của bạn không an toàn, bí mật MQTT phải chứa cả chữ hoa và chữ thường
|
||||||
|
10125=Bí mật MQTT của bạn chứa mật khẩu yếu
|
||||||
|
10128=Nhãn từ điển bị trùng lặp
|
||||||
|
10129=Khóa SM2 chưa được cấu hình
|
||||||
|
10130=Giải mã SM2 thất bại
|
||||||
|
10131=modelType và provideCode không thể để trống
|
||||||
|
10132=Không có quyền xem lịch sử trò chuyện của agent này
|
||||||
|
10133=ID phiên không thể để trống
|
||||||
|
10134=ID agent không thể để trống
|
||||||
|
10135=Tải xuống lịch sử trò chuyện thất bại
|
||||||
|
10136=Liên kết tải xuống đã hết hạn hoặc không hợp lệ
|
||||||
|
10137=Liên kết tải xuống không hợp lệ
|
||||||
|
10138=Người dùng
|
||||||
|
10139=Agent
|
||||||
|
10140=Tệp âm thanh không thể để trống
|
||||||
|
10141=Chỉ hỗ trợ tệp âm thanh
|
||||||
|
10142=Kích thước tệp âm thanh không thể vượt quá 10MB
|
||||||
|
10143=Tải lên thất bại
|
||||||
|
10144=Bản ghi nhân bản giọng nói không tồn tại
|
||||||
|
10145=Thông tin tài nguyên giọng nói không thể để trống
|
||||||
|
10146=Tên nền tảng TTS không thể để trống
|
||||||
|
10147=ID giọng nói không thể để trống
|
||||||
|
10148=Tài khoản chủ sở hữu không thể để trống
|
||||||
|
10149=ID tài nguyên giọng nói cần xóa không thể để trống
|
||||||
|
10150=Bạn không có quyền thao tác bản ghi này
|
||||||
|
10151=Vui lòng tải lên tệp âm thanh trước
|
||||||
|
10152=Không tìm thấy cấu hình mô hình
|
||||||
|
10153=Không tìm thấy loại mô hình
|
||||||
|
10154=Đào tạo thất bại: {0}
|
||||||
|
10155=Thiếu cấu hình Huoshan Engine
|
||||||
|
10156=Lỗi định dạng phản hồi, thiếu trường BaseResp
|
||||||
|
10157=Yêu cầu thất bại
|
||||||
|
10158=Nhân bản giọng nói:
|
||||||
|
10159=ID giọng nói đã tồn tại
|
||||||
|
10160=Lỗi định dạng ID giọng nói Huoshan Engine, phải bắt đầu bằng S_
|
||||||
|
10161=Địa chỉ Mac đã tồn tại
|
||||||
|
10162=Nhà cung cấp mô hình không tồn tại
|
||||||
|
10163=Bản ghi cơ sở kiến thức không tồn tại
|
||||||
|
10164=Không tìm thấy cấu hình RAG
|
||||||
|
10165=Lỗi loại cấu hình RAG
|
||||||
|
10166=Không tìm thấy cấu hình RAG mặc định
|
||||||
|
10167=Gọi API RAG thất bại: {0}
|
||||||
|
10168=Tải lên tệp thất bại
|
||||||
|
10169=Không có quyền thao tác cơ sở kiến thức này
|
||||||
|
10170=Tên cơ sở kiến thức đã tồn tại
|
||||||
|
10171=Cấu hình RAG base_url không thể để trống
|
||||||
|
10172=Cấu hình RAG api_key không thể để trống
|
||||||
|
10173=Cấu hình RAG api_key không thể chứa trình giữ chỗ, vui lòng thay thế bằng khóa API thực tế
|
||||||
|
10174=Lỗi định dạng cấu hình RAG base_url, phải bắt đầu bằng http hoặc https
|
||||||
|
10175=Địa chỉ Mac không thể để trống
|
||||||
|
10176=Cấu hình RAG dataset_id không thể để trống
|
||||||
|
10177=Cấu hình RAG model_id không thể để trống
|
||||||
|
10178=Cấu hình RAG dataset_id và model_id không thể để trống
|
||||||
|
10179=Tên tệp không thể để trống
|
||||||
|
10180=Nội dung tệp không thể để trống
|
||||||
|
10181=Tên nhân bản giọng nói không thể để trống
|
||||||
|
10182=Không tìm thấy âm thanh nhân bản giọng nói
|
||||||
|
10183=Không tìm thấy mẫu agent mặc định
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
#Deutsch
|
||||||
|
id.require=ID darf nicht leer sein
|
||||||
|
id.null=ID muss leer sein
|
||||||
|
|
||||||
|
sort.number=Der Sortierwert darf nicht kleiner als 0 sein
|
||||||
|
page.number=Der Seitenwert darf nicht kleiner als 0 sein
|
||||||
|
limit.number=Der Limit-Wert darf nicht kleiner als 0 sein
|
||||||
|
|
||||||
|
sysdict.type.require=Der Wörterbuchtyp darf nicht leer sein
|
||||||
|
sysdict.name.require=Der Wörterbuchname darf nicht leer sein
|
||||||
|
sysdict.label.require=Wörterbuch-Label darf nicht leer sein
|
||||||
|
|
||||||
|
sysparams.paramcode.require=Parameter-Code darf nicht leer sein
|
||||||
|
sysparams.paramvalue.require=Parameter-Werte dürfen nicht leer sein
|
||||||
|
sysparams.valuetype.require=Werttyp darf nicht leer sein
|
||||||
|
sysparams.valuetype.pattern=Werttyp muss string, number, boolean oder array sein
|
||||||
|
|
||||||
|
sysuser.username.require=Der Benutzername darf nicht leer sein
|
||||||
|
sysuser.password.require=Das Passwort darf nicht leer sein
|
||||||
|
sysuser.realname.require=Der echte Name darf nicht leer sein
|
||||||
|
sysuser.gender.range=Geschlecht liegt im Bereich von 0 bis 2
|
||||||
|
sysuser.email.error=Falsches E-Mail-Format
|
||||||
|
sysuser.deptId.require=Abteilungen dürfen nicht leer sein
|
||||||
|
sysuser.status.range=Status liegt im Bereich von 0 bis 1
|
||||||
|
sysuser.captcha.require=Das Captcha darf nicht leer sein
|
||||||
|
sysuser.uuid.require=Der eindeutige Identifikator darf nicht leer sein
|
||||||
|
|
||||||
|
timbre.languages.require=Die Sprache des Klangs darf nicht leer sein
|
||||||
|
timbre.name.require=Der Name des Klangs darf nicht leer sein
|
||||||
|
timbre.ttsModelId.require=Die TTS-Modell-ID des Klangs darf nicht leer sein
|
||||||
|
timbre.ttsVoice.require=Die TTS-Stimme des Klangs darf nicht leer sein
|
||||||
|
|
||||||
|
ota.device.not.found=Gerät nicht gefunden
|
||||||
|
ota.device.need.bind={0} muss gebunden werden
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# Tiếng Việt
|
||||||
|
id.require=ID không được để trống
|
||||||
|
id.null=ID phải để trống
|
||||||
|
|
||||||
|
sort.number=Giá trị sắp xếp không thể nhỏ hơn 0
|
||||||
|
page.number=Giá trị trang không thể nhỏ hơn 0
|
||||||
|
limit.number=Giá trị giới hạn không thể nhỏ hơn 0
|
||||||
|
|
||||||
|
sysdict.type.require=Loại từ điển không được để trống
|
||||||
|
sysdict.name.require=Tên từ điển không được để trống
|
||||||
|
sysdict.label.require=Thẻ từ điển không được để trống
|
||||||
|
|
||||||
|
sysparams.paramcode.require=Mã tham số không được để trống
|
||||||
|
sysparams.paramvalue.require=Giá trị tham số không được để trống
|
||||||
|
sysparams.valuetype.require=Loại giá trị không được để trống
|
||||||
|
sysparams.valuetype.pattern=Loại giá trị phải là chuỗi, số, boolean hoặc mảng
|
||||||
|
|
||||||
|
sysuser.username.require=Tên người dùng không được để trống
|
||||||
|
sysuser.password.require=Mật khẩu không được để trống
|
||||||
|
sysuser.realname.require=Tên thật không được để trống
|
||||||
|
sysuser.gender.range=Giới tính phải từ 0 đến 2
|
||||||
|
sysuser.email.error=Định dạng email không chính xác
|
||||||
|
sysuser.deptId.require=Phòng ban không được để trống
|
||||||
|
sysuser.status.range=Trạng thái phải từ 0 đến 1
|
||||||
|
sysuser.captcha.require=Mã xác thực không được để trống
|
||||||
|
sysuser.uuid.require=Định danh duy nhất không được để trống
|
||||||
|
|
||||||
|
timbre.languages.require=Ngôn ngữ của âm sắc không được để trống
|
||||||
|
timbre.name.require=Tên âm sắc không được để trống
|
||||||
|
timbre.ttsModelId.require=ID mô hình TTS của âm sắc không được để trống
|
||||||
|
timbre.ttsVoice.require=Giọng TTS của âm sắc không được để trống
|
||||||
|
|
||||||
|
ota.device.not.found=Không tìm thấy thiết bị
|
||||||
|
ota.device.need.bind={0}
|
||||||
@@ -238,6 +238,10 @@ export default {
|
|||||||
return this.$t("language.zhTW");
|
return this.$t("language.zhTW");
|
||||||
case "en":
|
case "en":
|
||||||
return this.$t("language.en");
|
return this.$t("language.en");
|
||||||
|
case "de":
|
||||||
|
return this.$t("language.de");
|
||||||
|
case "vi":
|
||||||
|
return this.$t("language.vi");
|
||||||
default:
|
default:
|
||||||
return this.$t("language.zhCN");
|
return this.$t("language.zhCN");
|
||||||
}
|
}
|
||||||
@@ -261,6 +265,14 @@ export default {
|
|||||||
label: this.$t("language.en"),
|
label: this.$t("language.en"),
|
||||||
value: "en",
|
value: "en",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: this.$t("language.de"),
|
||||||
|
value: "de",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t("language.vi"),
|
||||||
|
value: "vi",
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -639,6 +639,8 @@ export default {
|
|||||||
'language.zhCN': '中文简体',
|
'language.zhCN': '中文简体',
|
||||||
'language.zhTW': '中文繁體',
|
'language.zhTW': '中文繁體',
|
||||||
'language.en': 'English',
|
'language.en': 'English',
|
||||||
|
'language.de': 'Deutsch',
|
||||||
|
'language.vi': 'Tiếng Việt',
|
||||||
|
|
||||||
// Home page text
|
// Home page text
|
||||||
'home.addAgent': 'Add Agent',
|
'home.addAgent': 'Add Agent',
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ import VueI18n from 'vue-i18n';
|
|||||||
import zhCN from './zh_CN';
|
import zhCN from './zh_CN';
|
||||||
import zhTW from './zh_TW';
|
import zhTW from './zh_TW';
|
||||||
import en from './en';
|
import en from './en';
|
||||||
|
import de from './de';
|
||||||
|
import vi from './vi';
|
||||||
|
|
||||||
Vue.use(VueI18n);
|
Vue.use(VueI18n);
|
||||||
|
|
||||||
@@ -19,6 +21,12 @@ const getDefaultLanguage = () => {
|
|||||||
}
|
}
|
||||||
return 'zh_CN';
|
return 'zh_CN';
|
||||||
}
|
}
|
||||||
|
if (browserLang.indexOf('de') === 0) {
|
||||||
|
return 'de';
|
||||||
|
}
|
||||||
|
if (browserLang.indexOf('vi') === 0) {
|
||||||
|
return 'vi';
|
||||||
|
}
|
||||||
return 'en';
|
return 'en';
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -28,7 +36,9 @@ const i18n = new VueI18n({
|
|||||||
messages: {
|
messages: {
|
||||||
'zh_CN': zhCN,
|
'zh_CN': zhCN,
|
||||||
'zh_TW': zhTW,
|
'zh_TW': zhTW,
|
||||||
'en': en
|
'en': en,
|
||||||
|
'de': de,
|
||||||
|
'vi': vi
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -639,6 +639,8 @@ export default {
|
|||||||
'language.zhCN': '中文简体',
|
'language.zhCN': '中文简体',
|
||||||
'language.zhTW': '中文繁體',
|
'language.zhTW': '中文繁體',
|
||||||
'language.en': 'English',
|
'language.en': 'English',
|
||||||
|
'language.de': 'Deutsch',
|
||||||
|
'language.vi': 'Tiếng Việt',
|
||||||
|
|
||||||
// 首页文本
|
// 首页文本
|
||||||
'home.addAgent': '添加智能体',
|
'home.addAgent': '添加智能体',
|
||||||
|
|||||||
@@ -639,6 +639,8 @@ export default {
|
|||||||
'language.zhCN': '中文简体',
|
'language.zhCN': '中文简体',
|
||||||
'language.zhTW': '中文繁體',
|
'language.zhTW': '中文繁體',
|
||||||
'language.en': 'English',
|
'language.en': 'English',
|
||||||
|
'language.de': 'Deutsch',
|
||||||
|
'language.vi': 'Tiếng Việt',
|
||||||
|
|
||||||
// 首頁文本
|
// 首頁文本
|
||||||
'home.addAgent': '添加智能體',
|
'home.addAgent': '添加智能體',
|
||||||
|
|||||||
@@ -49,6 +49,12 @@
|
|||||||
<el-dropdown-item @click.native="changeLanguage('en')">
|
<el-dropdown-item @click.native="changeLanguage('en')">
|
||||||
{{ $t("language.en") }}
|
{{ $t("language.en") }}
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
|
<el-dropdown-item @click.native="changeLanguage('de')">
|
||||||
|
{{ $t("language.de") }}
|
||||||
|
</el-dropdown-item>
|
||||||
|
<el-dropdown-item @click.native="changeLanguage('vi')">
|
||||||
|
{{ $t("language.vi") }}
|
||||||
|
</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
@@ -177,6 +183,10 @@ export default {
|
|||||||
return this.$t("language.zhTW");
|
return this.$t("language.zhTW");
|
||||||
case "en":
|
case "en":
|
||||||
return this.$t("language.en");
|
return this.$t("language.en");
|
||||||
|
case "de":
|
||||||
|
return this.$t("language.de");
|
||||||
|
case "vi":
|
||||||
|
return this.$t("language.vi");
|
||||||
default:
|
default:
|
||||||
return this.$t("language.zhCN");
|
return this.$t("language.zhCN");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user