From cba83a62e8a7f688e5c1cf9c05cdc83ae15d2bfc Mon Sep 17 00:00:00 2001 From: fdc310 <2213070223@qq.com> Date: Mon, 11 May 2026 10:08:16 +0800 Subject: [PATCH] feat(i18n): add Feishu, WeChat, DingTalk, and WeCombot support in multiple languages --- web/src/i18n/locales/es-ES.ts | 49 +++++++++++++++++++++++++++++++++++ web/src/i18n/locales/ru-RU.ts | 48 ++++++++++++++++++++++++++++++++++ web/src/i18n/locales/th-TH.ts | 45 ++++++++++++++++++++++++++++++++ web/src/i18n/locales/vi-VN.ts | 45 ++++++++++++++++++++++++++++++++ 4 files changed, 187 insertions(+) diff --git a/web/src/i18n/locales/es-ES.ts b/web/src/i18n/locales/es-ES.ts index 18e1b82e..0dd43be9 100644 --- a/web/src/i18n/locales/es-ES.ts +++ b/web/src/i18n/locales/es-ES.ts @@ -1375,6 +1375,55 @@ const esES = { backToWorkbench: 'Volver al panel de trabajo', }, }, + 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', diff --git a/web/src/i18n/locales/ru-RU.ts b/web/src/i18n/locales/ru-RU.ts index d4f7e7ad..7472e9c5 100644 --- a/web/src/i18n/locales/ru-RU.ts +++ b/web/src/i18n/locales/ru-RU.ts @@ -1346,6 +1346,54 @@ const ruRU = { backToWorkbench: 'Вернуться к рабочей панели', }, }, + 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: 'Недопустимая страница плагина', diff --git a/web/src/i18n/locales/th-TH.ts b/web/src/i18n/locales/th-TH.ts index e5b01b13..561da772 100644 --- a/web/src/i18n/locales/th-TH.ts +++ b/web/src/i18n/locales/th-TH.ts @@ -1315,6 +1315,51 @@ const thTH = { backToWorkbench: 'กลับไปหน้าทำงาน', }, }, + 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: 'หน้าปลั๊กอินไม่ถูกต้อง', diff --git a/web/src/i18n/locales/vi-VN.ts b/web/src/i18n/locales/vi-VN.ts index 627f4e9b..116b1bd9 100644 --- a/web/src/i18n/locales/vi-VN.ts +++ b/web/src/i18n/locales/vi-VN.ts @@ -1337,6 +1337,51 @@ const viVN = { backToWorkbench: 'Quay lại bàn làm việc', }, }, + 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ệ',