mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-07-16 09:26:07 +00:00
Merge remote-tracking branch 'langbot-app/master' into feat/sandbox
Resolve conflicts in: - .github/workflows/run-tests.yml: keep master's src/langbot/** paths plus feat/** push branch - src/langbot/pkg/plugin/connector.py: keep both branches' marketplace MCP/skill install logic (HEAD) and runtime/wait helpers (master); add missing return in _inspect_plugin_package so LOCAL/GITHUB install paths get author/name back - tests/unit_tests/pipeline/test_n8nsvapi.py: keep HEAD's try/finally sys.modules save/restore pattern - web/src/app/home/components/dynamic-form/DynamicFormComponent.tsx: union imports + keep HEAD's disable_if/tooltip support and master's QrCodeLoginDialog - web/src/i18n/locales/*: union of disjoint top-level keys from both branches - web/src/app/home/market/page.tsx: accept our deletion (unified extensions page) - uv.lock: regenerate via uv sync --dev
This commit is contained in:
@@ -47,6 +47,8 @@ const enUS = {
|
||||
success: 'Success',
|
||||
save: 'Save',
|
||||
saving: 'Saving...',
|
||||
recommend: 'Recommended',
|
||||
start: 'Start',
|
||||
confirm: 'Confirm',
|
||||
confirmDelete: 'Confirm Delete',
|
||||
deleteConfirmation: 'Are you sure you want to delete this?',
|
||||
@@ -1008,6 +1010,10 @@ const enUS = {
|
||||
engineSettingsDescription:
|
||||
'Configuration for the selected knowledge engine',
|
||||
engineSettingsReadonly: 'read-only in edit mode',
|
||||
engineSettingsInvalid:
|
||||
'Engine settings validation failed, please check required fields',
|
||||
retrievalSettingsInvalid:
|
||||
'Retrieval settings validation failed, please check required fields',
|
||||
retrievalSettings: 'Retrieval Settings',
|
||||
retrievalSettingsDescription:
|
||||
'Configure how documents are retrieved from this knowledge base',
|
||||
@@ -1559,6 +1565,51 @@ const enUS = {
|
||||
retryFailed:
|
||||
'Still cannot connect to the backend. Start the service and try again.',
|
||||
},
|
||||
feishu: {
|
||||
createApp: 'One-Click Create Feishu App',
|
||||
scanQRCode:
|
||||
'Scan the QR code below with Feishu to authorize and automatically create the app',
|
||||
waitingForScan: 'Waiting for scan',
|
||||
createSuccess: 'App created successfully! Credentials have been filled in',
|
||||
createFailed: 'Creation failed',
|
||||
connecting: 'Connecting to Feishu service...',
|
||||
expired: 'QR code expired, please try again',
|
||||
denied: 'Authorization denied by user',
|
||||
connectionLost: 'Connection lost, please try again',
|
||||
reconnecting: 'Reconnecting...',
|
||||
retry: 'Retry',
|
||||
},
|
||||
weixin: {
|
||||
scanLogin: 'Scan QR Login',
|
||||
scanQRCode:
|
||||
'Scan the QR code below with WeChat to authorize and automatically fill in the token',
|
||||
loginSuccess: 'Login successful! Token has been filled in',
|
||||
loginFailed: 'Login failed',
|
||||
},
|
||||
dingtalk: {
|
||||
createApp: 'One-Click Create DingTalk App',
|
||||
scanQRCode:
|
||||
'Scan the QR code below with DingTalk to authorize and automatically create the app',
|
||||
waitingForScan: 'Waiting for scan',
|
||||
createSuccess: 'App created successfully! Credentials have been filled in',
|
||||
createFailed: 'Creation failed',
|
||||
connecting: 'Connecting to DingTalk service...',
|
||||
retry: 'Retry',
|
||||
robotCodeNote:
|
||||
'Robot Code cannot be obtained automatically. Please go to DingTalk Developer Backend > Robot Configuration to copy it manually. It is required for features like image recognition and file upload.',
|
||||
},
|
||||
wecombot: {
|
||||
createBot: 'One-Click Create WeCom Bot',
|
||||
scanQRCode:
|
||||
'Scan the QR code below with WeCom to authorize and automatically create the bot',
|
||||
waitingForScan: 'Waiting for scan',
|
||||
createSuccess: 'Bot created successfully! Credentials have been filled in',
|
||||
createFailed: 'Creation failed',
|
||||
connecting: 'Connecting to WeCom service...',
|
||||
retry: 'Retry',
|
||||
robotNameNote:
|
||||
'Robot Name cannot be obtained automatically. Please fill it in manually.',
|
||||
},
|
||||
pluginPages: {
|
||||
selectFromSidebar: 'Select a plugin page from the sidebar',
|
||||
invalidPage: 'Invalid plugin page',
|
||||
|
||||
@@ -50,6 +50,8 @@ const esES = {
|
||||
success: 'Éxito',
|
||||
save: 'Guardar',
|
||||
saving: 'Guardando...',
|
||||
recommend: 'Recomendado',
|
||||
start: 'Iniciar',
|
||||
confirm: 'Confirmar',
|
||||
confirmDelete: 'Confirmar eliminación',
|
||||
deleteConfirmation: '¿Estás seguro de que deseas eliminar esto?',
|
||||
@@ -1030,6 +1032,10 @@ const esES = {
|
||||
engineSettingsDescription:
|
||||
'Configuración del motor de conocimiento seleccionado',
|
||||
engineSettingsReadonly: 'solo lectura en modo de edición',
|
||||
engineSettingsInvalid:
|
||||
'La configuración del motor no es válida, verifique los campos obligatorios',
|
||||
retrievalSettingsInvalid:
|
||||
'La configuración de recuperación no es válida, verifique los campos obligatorios',
|
||||
retrievalSettings: 'Configuración de recuperación',
|
||||
retrievalSettingsDescription:
|
||||
'Configura cómo se recuperan los documentos de esta base de conocimiento',
|
||||
@@ -1483,6 +1489,55 @@ const esES = {
|
||||
retryFailed:
|
||||
'Aún no se puede conectar con el backend. Inicia el servicio e inténtalo de nuevo.',
|
||||
},
|
||||
feishu: {
|
||||
createApp: 'Crear aplicación de Feishu con un clic',
|
||||
scanQRCode:
|
||||
'Escanea el código QR de abajo con Feishu para autorizar y crear la aplicación automáticamente',
|
||||
waitingForScan: 'Esperando escaneo',
|
||||
createSuccess:
|
||||
'¡Aplicación creada correctamente! Las credenciales se han rellenado automáticamente',
|
||||
createFailed: 'Error al crear la aplicación',
|
||||
connecting: 'Conectando con el servicio de Feishu...',
|
||||
expired: 'El código QR ha caducado. Inténtalo de nuevo',
|
||||
denied: 'El usuario rechazó la autorización',
|
||||
connectionLost: 'Se perdió la conexión. Inténtalo de nuevo',
|
||||
reconnecting: 'Reconectando...',
|
||||
retry: 'Reintentar',
|
||||
},
|
||||
weixin: {
|
||||
scanLogin: 'Iniciar sesión en WeChat con QR',
|
||||
scanQRCode:
|
||||
'Escanea el código QR de abajo con WeChat para autorizar e introducir el token automáticamente',
|
||||
loginSuccess:
|
||||
'¡Inicio de sesión correcto! El token se ha rellenado automáticamente',
|
||||
loginFailed: 'Error al iniciar sesión',
|
||||
},
|
||||
dingtalk: {
|
||||
createApp: 'Crear aplicación de DingTalk con un clic',
|
||||
scanQRCode:
|
||||
'Escanea el código QR de abajo con DingTalk para autorizar y crear la aplicación automáticamente',
|
||||
waitingForScan: 'Esperando escaneo',
|
||||
createSuccess:
|
||||
'¡Aplicación creada correctamente! Las credenciales se han rellenado automáticamente',
|
||||
createFailed: 'Error al crear la aplicación',
|
||||
connecting: 'Conectando con el servicio de DingTalk...',
|
||||
retry: 'Reintentar',
|
||||
robotCodeNote:
|
||||
'El código del robot no puede obtenerse automáticamente. Ve al panel de desarrolladores de DingTalk > Configuración del robot para copiarlo manualmente. Es necesario para funciones como reconocimiento de imágenes y carga de archivos.',
|
||||
},
|
||||
wecombot: {
|
||||
createBot: 'Crear bot de WeCom con un clic',
|
||||
scanQRCode:
|
||||
'Escanea el código QR de abajo con WeCom para autorizar y crear el bot automáticamente',
|
||||
waitingForScan: 'Esperando escaneo',
|
||||
createSuccess:
|
||||
'¡Bot creado correctamente! Las credenciales se han rellenado automáticamente',
|
||||
createFailed: 'Error al crear el bot',
|
||||
connecting: 'Conectando con el servicio de WeCom...',
|
||||
retry: 'Reintentar',
|
||||
robotNameNote:
|
||||
'El nombre del robot no puede obtenerse automáticamente. Introdúcelo manualmente.',
|
||||
},
|
||||
pluginPages: {
|
||||
selectFromSidebar: 'Selecciona una página de plugin en la barra lateral',
|
||||
invalidPage: 'Página de plugin no válida',
|
||||
|
||||
@@ -48,6 +48,8 @@ const jaJP = {
|
||||
success: '成功',
|
||||
save: '保存',
|
||||
saving: '保存中...',
|
||||
recommend: 'おすすめ',
|
||||
start: '開始',
|
||||
confirm: '確認',
|
||||
confirmDelete: '削除の確認',
|
||||
deleteConfirmation: '本当に削除しますか?',
|
||||
@@ -1004,6 +1006,10 @@ const jaJP = {
|
||||
engineSettings: 'エンジン設定',
|
||||
engineSettingsDescription: '選択したナレッジエンジンの設定',
|
||||
engineSettingsReadonly: '編集モードでは変更できません',
|
||||
engineSettingsInvalid:
|
||||
'エンジン設定の検証に失敗しました、必須項目を確認してください',
|
||||
retrievalSettingsInvalid:
|
||||
'検索設定の検証に失敗しました、必須項目を確認してください',
|
||||
retrievalSettings: '検索設定',
|
||||
retrievalSettingsDescription: 'このナレッジベースからの文書検索方法を設定',
|
||||
dangerZone: '危険ゾーン',
|
||||
@@ -1474,6 +1480,46 @@ const jaJP = {
|
||||
retryFailed:
|
||||
'バックエンドにまだ接続できません。サービスを起動してからもう一度お試しください。',
|
||||
},
|
||||
feishu: {
|
||||
createApp: 'ワンクリックでFeishuアプリ作成',
|
||||
scanQRCode: '以下のQRコードをFeishuでスキャンし、アプリを自動作成',
|
||||
waitingForScan: 'スキャン待ち',
|
||||
createSuccess: 'アプリ作成成功!認証情報が自動入力されました',
|
||||
createFailed: '作成失敗',
|
||||
connecting: 'Feishuサービスに接続中...',
|
||||
expired: 'QRコードの有効期限が切れました。もう一度お試しください',
|
||||
denied: 'ユーザーが承認を拒否しました',
|
||||
connectionLost: '接続が切断されました。もう一度お試しください',
|
||||
reconnecting: '再接続中...',
|
||||
retry: '再試行',
|
||||
},
|
||||
weixin: {
|
||||
scanLogin: 'QRコードでWeChatログイン',
|
||||
scanQRCode: '以下のQRコードをWeChatでスキャンし、トークンを自動入力',
|
||||
loginSuccess: 'ログイン成功!トークンが自動入力されました',
|
||||
loginFailed: 'ログイン失敗',
|
||||
},
|
||||
dingtalk: {
|
||||
createApp: 'ワンクリックでDingTalkアプリ作成',
|
||||
scanQRCode: '以下のQRコードをDingTalkでスキャンし、アプリを自動作成',
|
||||
waitingForScan: 'スキャン待ち',
|
||||
createSuccess: 'アプリ作成成功!認証情報が自動入力されました',
|
||||
createFailed: '作成失敗',
|
||||
connecting: 'DingTalkサービスに接続中...',
|
||||
retry: '再試行',
|
||||
robotCodeNote:
|
||||
'ロボットコードは自動取得できません。DingTalk開発者バックエンド > ロボット設定から手動でコピーしてください。画像認識やファイルアップロードなどの機能に必要です。',
|
||||
},
|
||||
wecombot: {
|
||||
createBot: 'ワンクリックでWeComボット作成',
|
||||
scanQRCode: '以下のQRコードをWeComでスキャンし、ボットを自動作成',
|
||||
waitingForScan: 'スキャン待ち',
|
||||
createSuccess: 'ボット作成成功!認証情報が自動入力されました',
|
||||
createFailed: '作成失敗',
|
||||
connecting: 'WeComサービスに接続中...',
|
||||
retry: '再試行',
|
||||
robotNameNote: 'ロボット名は自動取得できません。手動で入力してください。',
|
||||
},
|
||||
pluginPages: {
|
||||
selectFromSidebar: 'サイドバーからプラグインページを選択してください',
|
||||
invalidPage: '無効なプラグインページ',
|
||||
|
||||
@@ -48,6 +48,8 @@ const ruRU = {
|
||||
success: 'Успешно',
|
||||
save: 'Сохранить',
|
||||
saving: 'Сохранение...',
|
||||
recommend: 'Рекомендуется',
|
||||
start: 'Начать',
|
||||
confirm: 'Подтвердить',
|
||||
confirmDelete: 'Подтвердить удаление',
|
||||
deleteConfirmation: 'Вы уверены, что хотите удалить это?',
|
||||
@@ -1015,6 +1017,10 @@ const ruRU = {
|
||||
engineSettings: 'Настройки движка',
|
||||
engineSettingsDescription: 'Конфигурация выбранного движка знаний',
|
||||
engineSettingsReadonly: 'только чтение в режиме редактирования',
|
||||
engineSettingsInvalid:
|
||||
'Настройки движка недействительны, проверьте обязательные поля',
|
||||
retrievalSettingsInvalid:
|
||||
'Настройки извлечения недействительны, проверьте обязательные поля',
|
||||
retrievalSettings: 'Настройки извлечения',
|
||||
retrievalSettingsDescription:
|
||||
'Настройте способ извлечения документов из базы знаний',
|
||||
@@ -1455,6 +1461,53 @@ const ruRU = {
|
||||
retryFailed:
|
||||
'По-прежнему не удается подключиться к бэкенду. Запустите сервис и повторите попытку.',
|
||||
},
|
||||
feishu: {
|
||||
createApp: 'Создать приложение Feishu в один клик',
|
||||
scanQRCode:
|
||||
'Отсканируйте QR-код ниже в Feishu, чтобы авторизоваться и автоматически создать приложение',
|
||||
waitingForScan: 'Ожидание сканирования',
|
||||
createSuccess:
|
||||
'Приложение успешно создано! Учётные данные заполнены автоматически',
|
||||
createFailed: 'Не удалось создать приложение',
|
||||
connecting: 'Подключение к сервису Feishu...',
|
||||
expired: 'Срок действия QR-кода истёк. Повторите попытку',
|
||||
denied: 'Пользователь отклонил авторизацию',
|
||||
connectionLost: 'Соединение потеряно. Повторите попытку',
|
||||
reconnecting: 'Переподключение...',
|
||||
retry: 'Повторить',
|
||||
},
|
||||
weixin: {
|
||||
scanLogin: 'Войти в WeChat по QR-коду',
|
||||
scanQRCode:
|
||||
'Отсканируйте QR-код ниже в WeChat, чтобы авторизоваться и автоматически заполнить токен',
|
||||
loginSuccess: 'Вход выполнен успешно! Токен заполнен автоматически',
|
||||
loginFailed: 'Не удалось выполнить вход',
|
||||
},
|
||||
dingtalk: {
|
||||
createApp: 'Создать приложение DingTalk в один клик',
|
||||
scanQRCode:
|
||||
'Отсканируйте QR-код ниже в DingTalk, чтобы авторизоваться и автоматически создать приложение',
|
||||
waitingForScan: 'Ожидание сканирования',
|
||||
createSuccess:
|
||||
'Приложение успешно создано! Учётные данные заполнены автоматически',
|
||||
createFailed: 'Не удалось создать приложение',
|
||||
connecting: 'Подключение к сервису DingTalk...',
|
||||
retry: 'Повторить',
|
||||
robotCodeNote:
|
||||
'Код робота нельзя получить автоматически. Перейдите в консоль разработчика DingTalk > Настройки робота и скопируйте его вручную. Он нужен для таких функций, как распознавание изображений и загрузка файлов.',
|
||||
},
|
||||
wecombot: {
|
||||
createBot: 'Создать бота WeCom в один клик',
|
||||
scanQRCode:
|
||||
'Отсканируйте QR-код ниже в WeCom, чтобы авторизоваться и автоматически создать бота',
|
||||
waitingForScan: 'Ожидание сканирования',
|
||||
createSuccess: 'Бот успешно создан! Учётные данные заполнены автоматически',
|
||||
createFailed: 'Не удалось создать бота',
|
||||
connecting: 'Подключение к сервису WeCom...',
|
||||
retry: 'Повторить',
|
||||
robotNameNote:
|
||||
'Имя бота нельзя получить автоматически. Пожалуйста, введите его вручную.',
|
||||
},
|
||||
pluginPages: {
|
||||
selectFromSidebar: 'Выберите страницу плагина на боковой панели',
|
||||
invalidPage: 'Недопустимая страница плагина',
|
||||
|
||||
@@ -47,6 +47,8 @@ const thTH = {
|
||||
success: 'สำเร็จ',
|
||||
save: 'บันทึก',
|
||||
saving: 'กำลังบันทึก...',
|
||||
recommend: 'แนะนำ',
|
||||
start: 'เริ่ม',
|
||||
confirm: 'ยืนยัน',
|
||||
confirmDelete: 'ยืนยันการลบ',
|
||||
deleteConfirmation: 'คุณแน่ใจหรือไม่ว่าต้องการลบสิ่งนี้?',
|
||||
@@ -994,6 +996,10 @@ const thTH = {
|
||||
engineSettings: 'การตั้งค่าเครื่องมือ',
|
||||
engineSettingsDescription: 'การกำหนดค่าสำหรับเครื่องมือความรู้ที่เลือก',
|
||||
engineSettingsReadonly: 'อ่านอย่างเดียวในโหมดแก้ไข',
|
||||
engineSettingsInvalid:
|
||||
'การตั้งค่าเครื่องมือไม่ถูกต้อง โปรดตรวจสอบฟิลด์ที่จำเป็น',
|
||||
retrievalSettingsInvalid:
|
||||
'การตั้งค่าการดึงข้อมูลไม่ถูกต้อง โปรดตรวจสอบฟิลด์ที่จำเป็น',
|
||||
retrievalSettings: 'การตั้งค่าการดึงข้อมูล',
|
||||
retrievalSettingsDescription: 'กำหนดค่าวิธีดึงเอกสารจากฐานความรู้นี้',
|
||||
dangerZone: 'โซนอันตราย',
|
||||
@@ -1423,6 +1429,50 @@ const thTH = {
|
||||
retryFailed:
|
||||
'ยังไม่สามารถเชื่อมต่อแบ็กเอนด์ได้ โปรดเริ่มบริการแล้วลองใหม่อีกครั้ง',
|
||||
},
|
||||
feishu: {
|
||||
createApp: 'สร้างแอป Feishu ด้วยคลิกเดียว',
|
||||
scanQRCode:
|
||||
'สแกนคิวอาร์โค้ดด้านล่างด้วย Feishu เพื่ออนุญาตและสร้างแอปโดยอัตโนมัติ',
|
||||
waitingForScan: 'กำลังรอสแกน',
|
||||
createSuccess: 'สร้างแอปสำเร็จแล้ว และกรอกข้อมูลรับรองให้อัตโนมัติ',
|
||||
createFailed: 'สร้างแอปไม่สำเร็จ',
|
||||
connecting: 'กำลังเชื่อมต่อบริการ Feishu...',
|
||||
expired: 'คิวอาร์โค้ดหมดอายุแล้ว กรุณาลองใหม่',
|
||||
denied: 'ผู้ใช้ปฏิเสธการอนุญาต',
|
||||
connectionLost: 'การเชื่อมต่อขาดหาย กรุณาลองใหม่',
|
||||
reconnecting: 'กำลังเชื่อมต่อใหม่...',
|
||||
retry: 'ลองใหม่',
|
||||
},
|
||||
weixin: {
|
||||
scanLogin: 'เข้าสู่ระบบ WeChat ด้วยคิวอาร์โค้ด',
|
||||
scanQRCode:
|
||||
'สแกนคิวอาร์โค้ดด้านล่างด้วย WeChat เพื่ออนุญาตและกรอกโทเคนอัตโนมัติ',
|
||||
loginSuccess: 'เข้าสู่ระบบสำเร็จ และกรอกโทเคนอัตโนมัติแล้ว',
|
||||
loginFailed: 'เข้าสู่ระบบไม่สำเร็จ',
|
||||
},
|
||||
dingtalk: {
|
||||
createApp: 'สร้างแอป DingTalk ด้วยคลิกเดียว',
|
||||
scanQRCode:
|
||||
'สแกนคิวอาร์โค้ดด้านล่างด้วย DingTalk เพื่ออนุญาตและสร้างแอปโดยอัตโนมัติ',
|
||||
waitingForScan: 'กำลังรอสแกน',
|
||||
createSuccess: 'สร้างแอปสำเร็จแล้ว และกรอกข้อมูลรับรองให้อัตโนมัติ',
|
||||
createFailed: 'สร้างแอปไม่สำเร็จ',
|
||||
connecting: 'กำลังเชื่อมต่อบริการ DingTalk...',
|
||||
retry: 'ลองใหม่',
|
||||
robotCodeNote:
|
||||
'ไม่สามารถดึงรหัส Robot ได้โดยอัตโนมัติ กรุณาไปที่หลังบ้านนักพัฒนา DingTalk > การตั้งค่า Robot เพื่อคัดลอกด้วยตนเอง ฟิลด์นี้จำเป็นสำหรับฟังก์ชันอย่างการรู้จำภาพและการอัปโหลดไฟล์',
|
||||
},
|
||||
wecombot: {
|
||||
createBot: 'สร้างบอต WeCom ด้วยคลิกเดียว',
|
||||
scanQRCode:
|
||||
'สแกนคิวอาร์โค้ดด้านล่างด้วย WeCom เพื่ออนุญาตและสร้างบอตโดยอัตโนมัติ',
|
||||
waitingForScan: 'กำลังรอสแกน',
|
||||
createSuccess: 'สร้างบอตสำเร็จแล้ว และกรอกข้อมูลรับรองให้อัตโนมัติ',
|
||||
createFailed: 'สร้างบอตไม่สำเร็จ',
|
||||
connecting: 'กำลังเชื่อมต่อบริการ WeCom...',
|
||||
retry: 'ลองใหม่',
|
||||
robotNameNote: 'ไม่สามารถดึงชื่อบอตได้โดยอัตโนมัติ กรุณากรอกด้วยตนเอง',
|
||||
},
|
||||
pluginPages: {
|
||||
selectFromSidebar: 'เลือกหน้าปลั๊กอินจากแถบด้านข้าง',
|
||||
invalidPage: 'หน้าปลั๊กอินไม่ถูกต้อง',
|
||||
|
||||
@@ -48,6 +48,8 @@ const viVN = {
|
||||
success: 'Thành công',
|
||||
save: 'Lưu',
|
||||
saving: 'Đang lưu...',
|
||||
recommend: 'Đề xuất',
|
||||
start: 'Bắt đầu',
|
||||
confirm: 'Xác nhận',
|
||||
confirmDelete: 'Xác nhận xóa',
|
||||
deleteConfirmation: 'Bạn có chắc chắn muốn xóa mục này không?',
|
||||
@@ -1008,6 +1010,10 @@ const viVN = {
|
||||
engineSettings: 'Cài đặt công cụ',
|
||||
engineSettingsDescription: 'Cấu hình cho công cụ tri thức đã chọn',
|
||||
engineSettingsReadonly: 'chỉ đọc trong chế độ chỉnh sửa',
|
||||
engineSettingsInvalid:
|
||||
'Cài đặt công cụ không hợp lệ, vui lòng kiểm tra các trường bắt buộc',
|
||||
retrievalSettingsInvalid:
|
||||
'Cài đặt truy xuất không hợp lệ, vui lòng kiểm tra các trường bắt buộc',
|
||||
retrievalSettings: 'Cài đặt truy xuất',
|
||||
retrievalSettingsDescription:
|
||||
'Cấu hình cách truy xuất tài liệu từ cơ sở tri thức này',
|
||||
@@ -1447,6 +1453,52 @@ const viVN = {
|
||||
retryFailed:
|
||||
'Vẫn không thể kết nối backend. Hãy khởi động dịch vụ rồi thử lại.',
|
||||
},
|
||||
feishu: {
|
||||
createApp: 'Tạo ứng dụng Feishu chỉ với một lần nhấp',
|
||||
scanQRCode:
|
||||
'Quét mã QR bên dưới bằng Feishu để ủy quyền và tự động tạo ứng dụng',
|
||||
waitingForScan: 'Đang chờ quét',
|
||||
createSuccess:
|
||||
'Tạo ứng dụng thành công! Thông tin xác thực đã được điền tự động',
|
||||
createFailed: 'Tạo ứng dụng thất bại',
|
||||
connecting: 'Đang kết nối tới dịch vụ Feishu...',
|
||||
expired: 'Mã QR đã hết hạn, vui lòng thử lại',
|
||||
denied: 'Người dùng đã từ chối ủy quyền',
|
||||
connectionLost: 'Kết nối đã bị mất, vui lòng thử lại',
|
||||
reconnecting: 'Đang kết nối lại...',
|
||||
retry: 'Thử lại',
|
||||
},
|
||||
weixin: {
|
||||
scanLogin: 'Đăng nhập WeChat bằng mã QR',
|
||||
scanQRCode:
|
||||
'Quét mã QR bên dưới bằng WeChat để ủy quyền và tự động điền token',
|
||||
loginSuccess: 'Đăng nhập thành công! Token đã được điền tự động',
|
||||
loginFailed: 'Đăng nhập thất bại',
|
||||
},
|
||||
dingtalk: {
|
||||
createApp: 'Tạo ứng dụng DingTalk chỉ với một lần nhấp',
|
||||
scanQRCode:
|
||||
'Quét mã QR bên dưới bằng DingTalk để ủy quyền và tự động tạo ứng dụng',
|
||||
waitingForScan: 'Đang chờ quét',
|
||||
createSuccess:
|
||||
'Tạo ứng dụng thành công! Thông tin xác thực đã được điền tự động',
|
||||
createFailed: 'Tạo ứng dụng thất bại',
|
||||
connecting: 'Đang kết nối tới dịch vụ DingTalk...',
|
||||
retry: 'Thử lại',
|
||||
robotCodeNote:
|
||||
'Không thể tự động lấy Robot Code. Vui lòng vào trang quản trị nhà phát triển DingTalk > Cấu hình robot để sao chép thủ công. Trường này là bắt buộc cho các tính năng như nhận diện hình ảnh và tải tệp lên.',
|
||||
},
|
||||
wecombot: {
|
||||
createBot: 'Tạo bot WeCom chỉ với một lần nhấp',
|
||||
scanQRCode: 'Quét mã QR bên dưới bằng WeCom để ủy quyền và tự động tạo bot',
|
||||
waitingForScan: 'Đang chờ quét',
|
||||
createSuccess:
|
||||
'Tạo bot thành công! Thông tin xác thực đã được điền tự động',
|
||||
createFailed: 'Tạo bot thất bại',
|
||||
connecting: 'Đang kết nối tới dịch vụ WeCom...',
|
||||
retry: 'Thử lại',
|
||||
robotNameNote: 'Không thể tự động lấy tên bot. Vui lòng điền thủ công.',
|
||||
},
|
||||
pluginPages: {
|
||||
selectFromSidebar: 'Chọn một trang plugin từ thanh bên',
|
||||
invalidPage: 'Trang plugin không hợp lệ',
|
||||
|
||||
@@ -46,6 +46,8 @@ const zhHans = {
|
||||
success: '成功',
|
||||
save: '保存',
|
||||
saving: '保存中...',
|
||||
recommend: '推荐',
|
||||
start: '开始',
|
||||
confirm: '确认',
|
||||
confirmDelete: '确认删除',
|
||||
deleteConfirmation: '你确定要删除这个吗?',
|
||||
@@ -966,6 +968,8 @@ const zhHans = {
|
||||
engineSettings: '引擎设置',
|
||||
engineSettingsDescription: '所选知识引擎的配置',
|
||||
engineSettingsReadonly: '编辑模式下不可修改',
|
||||
engineSettingsInvalid: '引擎设置中存在无效项,请检查必填字段',
|
||||
retrievalSettingsInvalid: '检索设置中存在无效项,请检查必填字段',
|
||||
retrievalSettings: '检索设置',
|
||||
retrievalSettingsDescription: '配置从此知识库检索文档的方式',
|
||||
dangerZone: '危险区域',
|
||||
@@ -1493,6 +1497,47 @@ const zhHans = {
|
||||
retrying: '正在重试',
|
||||
retryFailed: '仍然无法连接后端,请确认服务已启动后再重试。',
|
||||
},
|
||||
feishu: {
|
||||
createApp: '一键创建飞书应用',
|
||||
scanQRCode: '请使用飞书扫描以下二维码,授权后将自动创建应用并填写凭据',
|
||||
waitingForScan: '等待扫码中',
|
||||
createSuccess: '应用创建成功!凭据已自动填入',
|
||||
createFailed: '创建失败',
|
||||
connecting: '正在连接飞书服务...',
|
||||
expired: '二维码已过期,请重试',
|
||||
denied: '用户已拒绝授权',
|
||||
connectionLost: '连接已断开,请重试',
|
||||
reconnecting: '正在重新连接...',
|
||||
retry: '重试',
|
||||
},
|
||||
weixin: {
|
||||
scanLogin: '扫码登录微信',
|
||||
scanQRCode: '请使用微信扫描以下二维码,授权后将自动登录并填写令牌',
|
||||
loginSuccess: '登录成功!令牌已自动填入',
|
||||
loginFailed: '登录失败',
|
||||
},
|
||||
dingtalk: {
|
||||
createApp: '一键创建钉钉应用',
|
||||
scanQRCode: '请使用钉钉扫描以下二维码,授权后将自动创建应用并填写凭据',
|
||||
waitingForScan: '等待扫码中',
|
||||
createSuccess: '应用创建成功!凭据已自动填入',
|
||||
createFailed: '创建失败',
|
||||
connecting: '正在连接钉钉服务...',
|
||||
retry: '重试',
|
||||
robotCodeNote:
|
||||
'机器人代码无法自动获取,请前往钉钉开发者后台 > 机器人配置中手动复制。识图、上传文件等功能需要填写此字段。',
|
||||
},
|
||||
wecombot: {
|
||||
createBot: '一键创建企业微信机器人',
|
||||
scanQRCode:
|
||||
'请使用企业微信扫描以下二维码,授权后将自动创建机器人并填写凭据',
|
||||
waitingForScan: '等待扫码中',
|
||||
createSuccess: '机器人创建成功!凭据已自动填入',
|
||||
createFailed: '创建失败',
|
||||
connecting: '正在连接企业微信服务...',
|
||||
retry: '重试',
|
||||
robotNameNote: '机器人名称无法自动获取,请手动填写。',
|
||||
},
|
||||
pluginPages: {
|
||||
selectFromSidebar: '从侧边栏选择一个插件页面',
|
||||
invalidPage: '无效的插件页面',
|
||||
|
||||
@@ -46,6 +46,8 @@ const zhHant = {
|
||||
success: '成功',
|
||||
save: '儲存',
|
||||
saving: '儲存中...',
|
||||
recommend: '推薦',
|
||||
start: '開始',
|
||||
confirm: '確認',
|
||||
confirmDelete: '確認刪除',
|
||||
deleteConfirmation: '您確定要刪除這個嗎?',
|
||||
@@ -959,6 +961,8 @@ const zhHant = {
|
||||
engineSettings: '引擎設定',
|
||||
engineSettingsDescription: '所選知識引擎的設定',
|
||||
engineSettingsReadonly: '編輯模式下不可修改',
|
||||
engineSettingsInvalid: '引擎設定中存在無效項,請檢查必填欄位',
|
||||
retrievalSettingsInvalid: '檢索設定中存在無效項,請檢查必填欄位',
|
||||
retrievalSettings: '檢索設定',
|
||||
retrievalSettingsDescription: '設定從此知識庫檢索文件的方式',
|
||||
dangerZone: '危險區域',
|
||||
@@ -1403,6 +1407,47 @@ const zhHant = {
|
||||
retrying: '正在重試',
|
||||
retryFailed: '仍然無法連接後端,請確認服務已啟動後再重試。',
|
||||
},
|
||||
feishu: {
|
||||
createApp: '一鍵建立飛書應用',
|
||||
scanQRCode: '請使用飛書掃描以下 QR Code,授權後將自動建立應用並填寫憑證',
|
||||
waitingForScan: '等待掃描中',
|
||||
createSuccess: '應用建立成功!憑證已自動填入',
|
||||
createFailed: '建立失敗',
|
||||
connecting: '正在連線飛書服務...',
|
||||
expired: 'QR Code 已過期,請重試',
|
||||
denied: '使用者已拒絕授權',
|
||||
connectionLost: '連線已斷開,請重試',
|
||||
reconnecting: '正在重新連線...',
|
||||
retry: '重試',
|
||||
},
|
||||
weixin: {
|
||||
scanLogin: '掃碼登入微信',
|
||||
scanQRCode: '請使用微信掃描以下 QR Code,授權後將自動登入並填寫令牌',
|
||||
loginSuccess: '登入成功!令牌已自動填入',
|
||||
loginFailed: '登入失敗',
|
||||
},
|
||||
dingtalk: {
|
||||
createApp: '一鍵建立釘釘應用',
|
||||
scanQRCode: '請使用釘釘掃描以下 QR Code,授權後將自動建立應用並填寫憑證',
|
||||
waitingForScan: '等待掃碼中',
|
||||
createSuccess: '應用建立成功!憑證已自動填入',
|
||||
createFailed: '建立失敗',
|
||||
connecting: '正在連線釘釘服務...',
|
||||
retry: '重試',
|
||||
robotCodeNote:
|
||||
'機器人代碼無法自動取得,請前往釘釘開發者後台 > 機器人設定中手動複製。識圖、上傳檔案等功能需要填寫此欄位。',
|
||||
},
|
||||
wecombot: {
|
||||
createBot: '一鍵建立企業微信機器人',
|
||||
scanQRCode:
|
||||
'請使用企業微信掃描以下 QR Code,授權後將自動建立機器人並填寫憑證',
|
||||
waitingForScan: '等待掃碼中',
|
||||
createSuccess: '機器人建立成功!憑證已自動填入',
|
||||
createFailed: '建立失敗',
|
||||
connecting: '正在連線企業微信服務...',
|
||||
retry: '重試',
|
||||
robotNameNote: '機器人名稱無法自動取得,請手動填寫。',
|
||||
},
|
||||
pluginPages: {
|
||||
selectFromSidebar: '從側邊欄選擇一個插件頁面',
|
||||
invalidPage: '無效的插件頁面',
|
||||
|
||||
Reference in New Issue
Block a user