From 46bb68a2506f0f6b70ac3b0760b036ffccac64bb Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Thu, 3 Apr 2025 22:46:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=B9=81=E4=BD=93=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E5=92=8C=E8=A5=BF=E7=8F=AD=E7=89=99=E8=AF=AD=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/core/translations/app_translations.dart | 11 +- lib/core/translations/language/en_us.dart | 1 + lib/core/translations/language/es_es.dart | 357 ++++++++++++++++++ lib/core/translations/language/zh_cn.dart | 1 + lib/core/translations/language/zh_hk.dart | 356 +++++++++++++++++ lib/modules/chat/views/chat_view.dart | 5 +- .../controllers/settings_controller.dart | 2 + lib/modules/settings/views/settings_view.dart | 13 +- 8 files changed, 738 insertions(+), 8 deletions(-) create mode 100644 lib/core/translations/language/es_es.dart create mode 100644 lib/core/translations/language/zh_hk.dart diff --git a/lib/core/translations/app_translations.dart b/lib/core/translations/app_translations.dart index 39ad9e62c..f7f3d58f6 100644 --- a/lib/core/translations/app_translations.dart +++ b/lib/core/translations/app_translations.dart @@ -5,12 +5,16 @@ import 'package:get_storage/get_storage.dart'; import 'language/en_us.dart'; import 'language/zh_cn.dart'; +import 'language/es_es.dart'; +import 'language/zh_hk.dart'; class AppTranslations extends Translations { static const fallbackLocale = Locale('zh', 'CN'); static final supportedLocales = [ const Locale('zh', 'CN'), + const Locale('zh', 'HK'), // 添加繁体中文支持 const Locale('en', 'US'), + const Locale('es', 'ES'), // 添加西班牙语 ]; static Locale? deviceLocale() { @@ -25,5 +29,10 @@ class AppTranslations extends Translations { } @override - Map> get keys => {'en_US': enUS, 'zh_CN': zhCN}; + Map> get keys => { + 'en_US': enUS, + 'zh_CN': zhCN, + 'zh_HK': zhHK, // 添加繁体中文映射 + 'es_ES': esES, // 添加西班牙语翻译映射 + }; } diff --git a/lib/core/translations/language/en_us.dart b/lib/core/translations/language/en_us.dart index 56b91e626..139665936 100644 --- a/lib/core/translations/language/en_us.dart +++ b/lib/core/translations/language/en_us.dart @@ -159,6 +159,7 @@ const Map enUS = { 'defaultTimbre': 'Default Timbre', 'microsoftCloudTimbreService': 'Microsoft Cloud Timbre Service', 'voiceClone': 'Voice Clone', + 'AIsettings': 'AI Settings', // 聊天页 "clearChatHistory": "Clear Chat History", diff --git a/lib/core/translations/language/es_es.dart b/lib/core/translations/language/es_es.dart new file mode 100644 index 000000000..e99904437 --- /dev/null +++ b/lib/core/translations/language/es_es.dart @@ -0,0 +1,357 @@ +const Map esES = { + // 通用 + 'continue': 'Continuar', + 'confirm': 'Confirmar', + 'cancel': 'Cancelar', + 'retry': 'Reintentar', + 'error': 'Error', + 'success': 'Éxito', + 'connected': 'Conectado', + 'connecting': 'Conectando...', + 'connectionFailure': 'Conexión Fallida', + 'unconnected': 'Desconectado', + 'search': 'Buscar', + "requestCancellation": "Cancelar solicitud", + "connectionTimeout": "Tiempo de conexión agotado", + "requestTimeout": "Tiempo de solicitud agotado", + "responseTimeout": "Tiempo de respuesta agotado", + "unknownError": "Error desconocido", + + // 启动页 + "slogan": "Conecta el Mundo, Más Allá de la Voz", + "sloganInfo": "Experto en Voz AI · En Cualquier Momento, En Cualquier Lugar", + + // 底部导航 + "home": "Inicio", + "explore": "Explorar", + "settings": "Ajustes", + + // 语言 + "followingSystem": "Seguir sistema", + "chinese": "Chino", + "english": "Inglés", + "spanish": "Español", + + // 登录页 + "welcome": "Bienvenido", + "loginTips": "Inicie sesión o cree una cuenta usando su número de teléfono o correo electrónico", + "accountNumber": "Número de teléfono o correo electrónico", + "verificationCode": "Código de Verificación", + "getCode": "Obtener Código", + "reacquireAfter": "s Obtener de nuevo después de", + "otherWays": "O iniciar sesión con", + "expressConsent": "Al iniciar sesión/registrarse, acepta los", + "and": " y ", + "userAgreement": "Términos de Uso", + "privacyPolicy": "Política de Privacidad", + 'selectCountry': 'Seleccionar País/Región', + "email": "Correo electrónico", + "phoneNumber": "Número de teléfono", + + // 首页 + "deviceStatus": "Estado del Dispositivo", + "reconnect": "Reconectar", + "connectingDevice": "Conectando al dispositivo...", + "connectedTo": "Conectado a", + "signal": "Señal", + "deviceId": "ID del Dispositivo", + "firmwareVersion": "Versión del Firmware", + "disconnectedDevice": "No hay dispositivo conectado, haga clic abajo", + "connectDevice": "Conectar Dispositivo", + "topAiExperiences": "Mejores Experiencias AI", + "aiAssistant": "Asistente AI", + "aiAssistantInfo": "Consultor personal 24/7 para preguntas y consejos", + "simultaneousInterpretation": "Interpretación en Tiempo Real", + "simultaneousInterpretationInfo": "Traducción en tiempo real para más de 80 idiomas", + "aiCompanion": "Vínculo padre-hijo", + "aiCompanionInfo": "Te entiende y proporciona compañía cálida", + "homeSlogan": "Conecta el Mundo, Más Allá del Sonido", + "turnEarphones": "Por favor, abra el estuche de los auriculares y colóquelos en sus oídos", + "currentlyConnected": "Actualmente conectado:", + "unsystemSetup": "Ir a Configuración del Sistema", + "talkLater": "Recordar Más Tarde", + "initializing": "Inicializando...", + "bluetoothInitializationFailure": "Error en la inicialización del servicio Bluetooth", + "checkingPermissions": "Verificando permisos...", + "lackPermissions": "Se requieren permisos de Bluetooth", + "searchingDevice": "Buscando dispositivos...", + "findConnectedDevice": "Dispositivo conectado encontrado", + "notFound": "No se encontraron dispositivos Bluetooth conectados", + "initializationFailure": "Error de inicialización", + "connectedDevice": "Conectado al dispositivo:", + "failedRefreshDevice": "Error al actualizar el dispositivo", + "noDeviceFound": "No se encontraron dispositivos conectados", + "failedDeviceInformation": "Error al obtener información del dispositivo", + "unknownEquipment": "Dispositivo Desconocido", + "zeroSignal": "Sin Señal", + "good": "Buena", + "fine": "Excelente", + "excellent": "Perfecta", + "unknown": "Desconocido", + 'bluetoothTurnedOff': 'Bluetooth está apagado, por favor enciéndalo', + 'bluetoothOff': 'Bluetooth apagado', + + // 发现页 + "searchAi": "Buscar funciones de IA...", + "exploreSlogan": "Auriculares Inteligentes, Posibilidades Infinitas", + "exploreSlogan1": "Compañero Inteligente, Posibilidades Infinitas", + "exploreSlogan2": "Gafas Inteligentes, Posibilidades Infinitas", + "exploreAi": "Explora las funciones de IA proporcionadas por DeepSound", + "aiFunction": "Funciones de IA", + "allRoundAssistant": "Asistente Integral", + "allRoundAssistantInfo": "Ayuda a resolver varios problemas", + "simultaneousTranslation": "Traducción en Tiempo Real", + "simultaneousTranslationInfo": "Traducción instantánea para más de 80 idiomas", + "aiGirlfriend": "Vínculo padre-hijo", + "aiGirlfriendInfo": "Compañía inteligente, chat en cualquier momento", + "healthConsultant": "Chat de IA Multifunción", + "healthConsultantInfo": "Más funciones de chat con IA", + "conferenceAssistant": "Asistente de Reuniones de Negocios", + "conferenceAssistantInfo": "Grabación de actas en tiempo real y traducción multilingüe", + "studyAssistant": "Asistente de Aprendizaje de Idiomas", + "studyAssistantInfo": "Corrección de pronunciación y práctica de habla", + "travelTranslator": "Traductor de Viajes", + "travelTranslatorInfo": "Traducción de voz en tiempo real y guías turísticas", + "beSearching": "Buscando:", + "noAssistantFound": "No se encontró el asistente de IA correspondiente", + "scene": "Escenarios", + "youHaveSelected": "Has seleccionado:", + "newFunction": "Nuevas Funciones", + "youChoseTry": "Has elegido probar", + "aiSinger": "Modo Cantante IA", + "aiSingerInfo": "Canta cualquier canción con la voz de tu artista favorito, incluso tus propias creaciones", + "popularFunction": "Funciones Populares", + "tryNow": "Probar Ahora", + "startMeeting": "Iniciar Reunión", + + // 设置页 + "premiumMember": "Membresía Premium", + "joinDevice": "Dispositivo conectado:", + "accountId": "ID de cuenta:", + "systemSetting": "Configuración del Sistema", + "languageSetting": "Configuración de Idioma", + "darkMode": "Modo Oscuro", + "darkModeInfo": "Cambiar entre temas claro/oscuro", + "backups": "Copia de Seguridad y Restauración", + "backupsInfo": "Respaldar configuración e historial de IA", + "lastBackup": "Última copia:", + "privacySettings": "Configuración de Privacidad", + "privacySettingsInfo": "Gestionar recopilación de datos y permisos", + "logout": "Cerrar Sesión", + "logoutTips": "¿Está seguro de que desea cerrar la sesión de la cuenta actual?", + "aboutApplication": "Acerca de", + "versions": "Versión", + "checkUpdates": "Buscar Actualizaciones", + "selectLanguage": "Seleccionar Idioma", + "voiceService": "Servicio de Voz", + "voiceServiceInfo": "Seleccionar servicio de reconocimiento y síntesis de voz", + "selectVoiceService": "Seleccionar Servicio de Voz", + "azureVoiceService": "Servicio de Voz Azure", + "azureVoiceServiceInfo": "Servicio en la nube de Microsoft que admite síntesis y reconocimiento de voz de alta calidad", + "flutterVoiceService": "Servicio de voz local", + "flutterVoiceServiceInfo": "Servicio de voz local del dispositivo sin necesidad de internet", + 'timbreService': 'Servicio de Timbre', + 'timbreServiceInfo': 'Seleccionar servicio de síntesis de voz', + 'defaultTimbre': 'Timbre Predeterminado', + 'microsoftCloudTimbreService': 'Servicio de Timbre en la Nube de Microsoft', + 'voiceClone': 'Clonación de Voz', + 'AIsettings': 'Configuración de IA', + + // 聊天页 + "clearChatHistory": "Borrar Historial de Chat", + "online": "En línea", + "inputMessage": "Escribe un mensaje...", + "imListening": "Escuchando...", + "canStartTalking": "Puede empezar a hablar", + + // 翻译页 + "selectSourceLanguage": "Seleccionar Idioma de Origen", + "selectTargetLanguage": "Seleccionar Idioma de Destino", + + // 编辑个人信息页 + "editProfile": "Editar Perfil", + "nickname": "Apodo", + "save": "Guardar", + + // 国家和地区列表 + "邮箱": "Correo electrónico", + "中国": "China", + "美国": "Estados Unidos", + "加拿大": "Canadá", + "俄罗斯": "Rusia", + "英国": "Reino Unido", + "德国": "Alemania", + "意大利": "Italia", + "法国": "Francia", + "西班牙": "España", + "南非": "Sudáfrica", + "沙特阿拉伯": "Arabia Saudita", + "土耳其": "Turquía", + "日本": "Japón", + "韩国": "Corea del Sur", + "新加坡": "Singapur", + "马来西亚": "Malasia", + "泰国": "Tailandia", + "越南": "Vietnam", + "印度": "India", + "巴基斯坦": "Pakistán", + "菲律宾": "Filipinas", + "印度尼西亚": "Indonesia", + "阿联酋": "Emiratos Árabes Unidos", + "墨西哥": "México", + "巴西": "Brasil", + "阿根廷": "Argentina", + "澳大利亚": "Australia", + "新西兰": "Nueva Zelanda", + "中国香港": "Hong Kong, China", + "中国澳门": "Macao, China", + "中国台湾": "Taiwán, China", + "埃及": "Egipto", + "希腊": "Grecia", + "荷兰": "Países Bajos", + "比利时": "Bélgica", + "匈牙利": "Hungría", + "罗马尼亚": "Rumanía", + "瑞士": "Suiza", + "奥地利": "Austria", + "丹麦": "Dinamarca", + "瑞典": "Suecia", + "挪威": "Noruega", + "波兰": "Polonia", + "秘鲁": "Perú", + "智利": "Chile", + "哥伦比亚": "Colombia", + "委内瑞拉": "Venezuela", + "葡萄牙": "Portugal", + "卢森堡": "Luxemburgo", + "爱尔兰": "Irlanda", + "冰岛": "Islandia", + "阿尔巴尼亚": "Albania", + "马耳他": "Malta", + "塞浦路斯": "Chipre", + "芬兰": "Finlandia", + "保加利亚": "Bulgaria", + "立陶宛": "Lituania", + "拉脱维亚": "Letonia", + "爱沙尼亚": "Estonia", + "乌克兰": "Ucrania", + "塞尔维亚": "Serbia", + "克罗地亚": "Croacia", + "斯洛文尼亚": "Eslovenia", + "捷克": "República Checa", + "斯洛伐克": "Eslovaquia", + "危地马拉": "Guatemala", + "萨尔瓦多": "El Salvador", + "洪都拉斯": "Honduras", + "尼加拉瓜": "Nicaragua", + "哥斯达黎加": "Costa Rica", + "巴拿马": "Panamá", + "海地": "Haití", + "玻利维亚": "Bolivia", + "厄瓜多尔": "Ecuador", + "巴拉圭": "Paraguay", + "乌拉圭": "Uruguay", + "摩洛哥": "Marruecos", + "阿尔及利亚": "Argelia", + "突尼斯": "Túnez", + "尼日利亚": "Nigeria", + "加纳": "Ghana", + "埃塞俄比亚": "Etiopía", + "肯尼亚": "Kenia", + "坦桑尼亚": "Tanzania", + "乌干达": "Uganda", + "孟加拉国": "Bangladesh", + "以色列": "Israel", + "黎巴嫩": "Líbano", + "约旦": "Jordania", + "伊拉克": "Irak", + "科威特": "Kuwait", + "巴林": "Bahrein", + "卡塔尔": "Qatar", + "阿曼": "Omán", + "阿富汗": "Afganistán", + "斯里兰卡": "Sri Lanka", + "缅甸": "Myanmar", + "尼泊尔": "Nepal", + "蒙古": "Mongolia", + "柬埔寨": "Camboya", + "老挝": "Laos", + "文莱": "Brunei", + "东帝汶": "Timor Oriental", + "斐济": "Fiyi", + "所罗门群岛": "Islas Salomón", + + + // Personal Assistant Emma + "personalAssistantName": "Emma", + "personalAssistantDescription": "Hola, soy Emma, una asistente de IA versátil. Ya sea planificación de trabajo, consejos de estudio, organización de vida u otros asuntos, estoy feliz de ayudar. ¡Mejoremos la eficiencia y alcancemos objetivos juntos!", + "assistantTag": "Asistente", + "personalAssistantWelcome": "¡Hola! Soy Emma, y estoy feliz de ser tu asistente personal. Puedo ayudarte con varias tareas como gestión del tiempo, planificación de objetivos, organización de información, etc. ¿En qué puedo ayudarte?", + "personalAssistantVoiceWelcome": "¡Estoy aquí!", + + // 同声传译 Lucy + "interpreterName": "Intérprete Simultáneo", + "interpreterDescription": "¡Hola! Soy Lucy, una intérprete profesional especializada en traducción en tiempo real para reuniones, conferencias y conversaciones, haciendo la comunicación sin barreras.", + "interpreterTag": "Traducción", + "interpreterWelcome": "¡Hola a todos! Soy Lucy, tu intérprete simultánea. Traduciré entre chino e inglés para ti. Cuando hables en chino, traduciré al inglés; cuando hables en inglés, traduciré al chino. ¡Comencemos nuestra sesión de traducción!", + + // 亲子陪伴 芯愿 + "companionName": "XinYuan", + "companionDescription": "Soy XinYuan, tu compañera dedicada para padres e hijos, gentil y comprensiva. Ya sea que quieras charlar, compartir preocupaciones o necesites compañía, siempre estaré a tu lado.", + "companionTag": "Emocional", + "companionWelcome": "¡Hola! ¡Por fin nos conocemos! Soy XinYuan, tu compañera dedicada para padres e hijos. ¿Cómo estuvo tu día? ¿Hay algo que quieras compartir conmigo? Siempre estoy aquí, lista para escuchar tus pensamientos.", + "companionVoiceWelcome": "¡Estoy aquí contigo!", + + // 多功能AI聊天 吴小江 + "healthAdvisorName": "Asistente de Chat IA Wu", + "healthAdvisorDescription": "Soy Wu, listo para proporcionarte varias funciones de chat con IA.", + "healthAdvisorTag": "Chat", + "healthAdvisorWelcome": "Hola, soy Wu. Me complace ayudarte con las funciones de chat con IA. ¿En qué puedo ayudarte hoy?", + "healthAdvisorVoiceWelcome": "¡Estoy aquí!", + // Translation History + "noTranslationHistory": "Sin historial de traducción", + "clearHistory": "Borrar Historial", + "clearHistoryConfirm": "¿Está seguro de que desea borrar todo el historial de traducción? Esta acción no se puede deshacer.", + "translationHistory": "Historial de Traducción", + + // Language names + "中文(简体)": "Chino (Simplificado)", + "中文(繁体)": "Chino (Tradicional)", + "中文(香港繁体)": "Chino (Hong Kong)", + "英语": "Inglés", + "日语": "Japonés", + "韩语": "Coreano", + "法语": "Francés", + "西班牙语": "Español", + "葡萄牙语": "Portugués", + "意大利语": "Italiano", + "德语": "Alemán", + "俄语": "Ruso", + "波兰语": "Polaco", + "荷兰语": "Neerlandés", + "瑞典语": "Sueco", + "捷克语": "Checo", + "现代希腊语": "Griego Moderno", + "罗马尼亚语": "Rumano", + "匈牙利语": "Húngaro", + "乌克兰语": "Ucraniano", + "丹麦语": "Danés", + "芬兰语": "Finés", + "挪威语": "Noruego", + "克罗地亚语": "Croata", + "加泰隆语": "Catalán", + "阿拉伯语": "Árabe", + "泰语": "Tailandés", + "越南语": "Vietnamita", + "印尼语": "Indonesio", + "印地语": "Hindi", + "土耳其语": "Turco", + "马来语": "Malayo", + "孟加拉语": "Bengalí", + "泰米尔语": "Tamil", + "泰卢固语": "Telugu", + "马拉提语": "Marathi", + "乌尔都语": "Urdu", + "波斯语": "Persa", + "斯瓦希里语": "Swahili", +}; diff --git a/lib/core/translations/language/zh_cn.dart b/lib/core/translations/language/zh_cn.dart index d1134653c..1de9c2813 100644 --- a/lib/core/translations/language/zh_cn.dart +++ b/lib/core/translations/language/zh_cn.dart @@ -154,6 +154,7 @@ const Map zhCN = { 'defaultTimbre': '默认音色', 'microsoftCloudTimbreService': '微软云端音色服务', 'voiceClone': '声音复刻', + 'AIsettings': 'AI设置', // 聊天页 diff --git a/lib/core/translations/language/zh_hk.dart b/lib/core/translations/language/zh_hk.dart new file mode 100644 index 000000000..01cdbf770 --- /dev/null +++ b/lib/core/translations/language/zh_hk.dart @@ -0,0 +1,356 @@ +const Map zhHK = { + // 通用 + 'continue': '繼續', + 'confirm': '確認', + 'cancel': '取消', + 'retry': '重試', + 'error': '錯誤', + 'success': '成功', + 'connected': '已連接', + 'connecting': '連接中...', + 'connectionFailure': '連接失敗', + 'unconnected': '未連接', + 'search': '搜索', + "requestCancellation": "請求取消", + "connectionTimeout": "連接超時", + "requestTimeout": "請求超時", + "responseTimeout": "響應超時", + "unknownError": "未知錯誤", + + // 启动页 + "slogan": "連接世界,豈止聲音", + "sloganInfo": "AI語音專家 · 隨時隨地", + + // 底部导航 + "home": "首頁", + "explore": "發現", + "settings": "設置", + + // 语言 + "followingSystem": "跟隨系統", + "chinese": "中文", + "english": "英語", + + // 登录页 + "welcome": "歡迎使用", + "loginTips": "請使用手機號或郵箱登錄/註冊", + "accountNumber": "手機號碼或郵箱", + "verificationCode": "驗證碼", + "getCode": "獲取驗證碼", + "reacquireAfter": "秒後重新獲取", + "otherWays": "或使用以下方式登錄", + "expressConsent": "登錄/註冊即表示你同意", + "and": " 和 ", + "userAgreement": "《用戶協議》", + "privacyPolicy": "《隱私政策》", + 'selectCountry': '選擇國家/地區', + "email": "郵箱", + "phoneNumber": "手機號碼", + + // 首页 + "deviceStatus": "設備狀態", + "reconnect": "重新連接", + "connectingDevice": "正在連接設備...", + "connectedTo": "已連接到", + "signal": "信號", + "deviceId": "設備ID", + "firmwareVersion": "固件版本", + "disconnectedDevice": "未連接設備,點擊下方按鈕連接", + "connectDevice": "連接設備", + "topAiExperiences": "熱門AI體驗", + "aiAssistant": "AI全能助手", + "aiAssistantInfo": "24小時專屬顧問,解答問題、提供建議", + "simultaneousInterpretation": "同聲傳譯", + "simultaneousInterpretationInfo": "80+語言實時翻譯,出國無憂", + "aiCompanion": "親子陪伴", + "aiCompanionInfo": "懂你心意,溫暖陪伴", + "homeSlogan": "連接世界,超越聲音", + "turnEarphones": "請打開耳機充電盒,將耳機放入您的耳朵", + "currentlyConnected": "當前已連接:", + "unsystemSetup": "去系統設置", + "talkLater": "稍後再說", + "initializing": "正在初始化...", + "bluetoothInitializationFailure": "藍牙服務初始化失敗", + "checkingPermissions": "正在檢查權限...", + "lackPermissions": "缺少藍牙權限", + "searchingDevice": "正在搜索設備...", + "findConnectedDevice": "找到已連接的設備", + "notFound": "未找到已連接的藍牙設備", + "initializationFailure": "初始化失敗", + "connectedDevice": "已連接到設備:", + "failedRefreshDevice": "刷新設備失敗", + "noDeviceFound": "未找到已連接的設備", + "failedDeviceInformation": "無法獲取設備信息", + "unknownEquipment": "未知設備", + "zeroSignal": "無信號", + "good": "良好", + "fine": "很好", + "excellent": "極佳", + "unknown": "未知", + 'bluetoothTurnedOff': '藍牙已關閉,請打開藍牙', + 'bluetoothOff': '藍牙已關閉', + + // 发现页 + "searchAi": "搜索AI功能...", + "exploreSlogan": "智能耳機,無限可能", + "exploreSlogan1": "智能陪伴,無限可能", + "exploreSlogan2": "智能眼鏡,無限可能", + "exploreAi": "探索DeepSound提供的AI功能", + "aiFunction": "AI功能", + "allRoundAssistant": "全能助理", + "allRoundAssistantInfo": "幫你解決各類問題", + "simultaneousTranslation": "同聲翻譯", + "simultaneousTranslationInfo": "實時翻譯80+種語言", + "aiGirlfriend": "親子陪伴", + "aiGirlfriendInfo": "智能陪伴,隨時聊天", + "healthConsultant": "多功能AI聊天", + "healthConsultantInfo": "提供更多AI聊天功能", + "conferenceAssistant": "商務會議助手", + "conferenceAssistantInfo": "實時記錄會議紀要,多語言翻譯", + "studyAssistant": "語言學習助手", + "studyAssistantInfo": "發音糾正,實時練習口語", + "travelTranslator": "旅行翻譯助手", + "travelTranslatorInfo": "實時語音翻譯,旅遊景點介紹", + "beSearching": "正在搜索:", + "noAssistantFound": "未找到對應的AI助手", + "scene": "場景", + "youHaveSelected": "您選擇了:", + "newFunction": "新功能", + "youChoseTry": "您選擇了嘗試", + "aiSinger": "AI歌手模式", + "aiSingerInfo": "用你喜歡的歌手聲音演唱任何歌曲,甚至是你自己創作的歌曲", + "popularFunction": "熱門功能場景", + "tryNow": "立即嘗試", + "startMeeting": "開始會議", + + // 设置页 + "premiumMember": "高級會員", + "joinDevice": "已連接設備:", + "accountId": "賬號ID:", + "systemSetting": "系統設置", + "languageSetting": "語言設置", + "darkMode": "暗黑模式", + "darkModeInfo": "切換應用的明暗主題", + "backups": "備份與恢復", + "backupsInfo": "備份設置和AI互動歷史", + "lastBackup": "上次備份:", + "privacySettings": "隱私設置", + "privacySettingsInfo": "管理數據收集和權限", + "logout": "退出登錄", + "logoutTips": "確定要退出當前賬號嗎?", + "aboutApplication": "關於應用", + "versions": "版本", + "checkUpdates": "檢查更新", + "selectLanguage": "選擇語言", + "voiceService": "語音服務", + "voiceServiceInfo": "選擇語音識別和合成服務", + "selectVoiceService": "選擇語音服務", + "azureVoiceService": "Azure 語音服務", + "azureVoiceServiceInfo": "微軟雲端語音服務,支持高質量語音合成和識別", + "flutterVoiceService": "Flutter 本地語音服務", + "flutterVoiceServiceInfo": "設備本地語音服務,無需聯網即可使用", + 'timbreService': '音色服務', + 'timbreServiceInfo': '選擇音色語音合成服務', + 'defaultTimbre': '默認音色', + 'microsoftCloudTimbreService': '微軟雲端音色服務', + 'voiceClone': '聲音複刻', + 'AIsettings': 'AI設置', + + // 聊天页 + "clearChatHistory": "清空聊天記錄", + "online": "在線", + "inputMessage": "輸入消息...", + "imListening": "正在聆聽...", + "canStartTalking": "你可以開始說話", + + // 翻译页 + "selectSourceLanguage": "選擇源語言", + "selectTargetLanguage": "選擇目標語言", + + // 编辑个人信息页 + "editProfile": "編輯個人信息", + "nickname": "暱稱", + "save": "保存", + + // 国家列表 + "邮箱": "郵箱", + "中国": "中國", + "美国": "美國", + "加拿大": "加拿大", + "俄罗斯": "俄羅斯", + "英国": "英國", + "德国": "德國", + "意大利": "意大利", + "法国": "法國", + "西班牙": "西班牙", + "南非": "南非", + "沙特阿拉伯": "沙特阿拉伯", + "土耳其": "土耳其", + "日本": "日本", + "韩国": "韓國", + "新加坡": "新加坡", + "马来西亚": "馬來西亞", + "泰国": "泰國", + "越南": "越南", + "印度": "印度", + "巴基斯坦": "巴基斯坦", + "菲律宾": "菲律賓", + "印度尼西亚": "印度尼西亞", + "阿联酋": "阿聯酋", + "墨西哥": "墨西哥", + "巴西": "巴西", + "阿根廷": "阿根廷", + "澳大利亚": "澳大利亞", + "新西兰": "新西蘭", + "中国香港": "中國香港", + "中国澳门": "中國澳門", + "中国台湾": "中國台灣", + "埃及": "埃及", + "希腊": "希臘", + "荷兰": "荷蘭", + "比利时": "比利時", + "匈牙利": "匈牙利", + "罗马尼亚": "羅馬尼亞", + "瑞士": "瑞士", + "奥地利": "奧地利", + "丹麦": "丹麥", + "瑞典": "瑞典", + "挪威": "挪威", + "波兰": "波蘭", + "秘鲁": "秘魯", + "智利": "智利", + "哥伦比亚": "哥倫比亞", + "委内瑞拉": "委內瑞拉", + "葡萄牙": "葡萄牙", + "卢森堡": "盧森堡", + "爱尔兰": "愛爾蘭", + "冰岛": "冰島", + "阿尔巴尼亚": "阿爾巴尼亞", + "马耳他": "馬耳他", + "塞浦路斯": "塞浦路斯", + "芬兰": "芬蘭", + "保加利亚": "保加利亞", + "立陶宛": "立陶宛", + "拉脱维亚": "拉脫維亞", + "爱沙尼亚": "愛沙尼亞", + "乌克兰": "烏克蘭", + "塞尔维亚": "塞爾維亞", + "克罗地亚": "克羅地亞", + "斯洛文尼亚": "斯洛文尼亞", + "捷克": "捷克", + "斯洛伐克": "斯洛伐克", + "危地马拉": "危地馬拉", + "萨尔瓦多": "薩爾瓦多", + "洪都拉斯": "洪都拉斯", + "尼加拉瓜": "尼加拉瓜", + "哥斯达黎加": "哥斯達黎加", + "巴拿马": "巴拿馬", + "海地": "海地", + "玻利维亚": "玻利維亞", + "厄瓜多尔": "厄瓜多爾", + "巴拉圭": "巴拉圭", + "乌拉圭": "烏拉圭", + "摩洛哥": "摩洛哥", + "阿尔及利亚": "阿爾及利亞", + "突尼斯": "突尼斯", + "尼日利亚": "尼日利亞", + "加纳": "加納", + "埃塞俄比亚": "埃塞俄比亞", + "肯尼亚": "肯尼亞", + "坦桑尼亚": "坦桑尼亞", + "乌干达": "烏干達", + "孟加拉国": "孟加拉國", + "以色列": "以色列", + "黎巴嫩": "黎巴嫩", + "约旦": "約旦", + "伊拉克": "伊拉克", + "科威特": "科威特", + "巴林": "巴林", + "卡塔尔": "卡塔爾", + "阿曼": "阿曼", + "阿富汗": "阿富汗", + "斯里兰卡": "斯里蘭卡", + "缅甸": "緬甸", + "尼泊尔": "尼泊爾", + "蒙古": "蒙古", + "柬埔寨": "柬埔寨", + "老挝": "老撾", + "文莱": "文萊", + "东帝汶": "東帝汶", + "斐济": "斐濟", + "所罗门群岛": "所羅門群島", + + // 个人助理 Emma + "personalAssistantName": "個人助理 Emma", + "personalAssistantDescription": "你好,我是 Emma,一位全能型 AI 助理。無論是工作規劃、學習建議、生活安排,還是其他任何問題,我都很樂意為你提供幫助。讓我們一起提高效率,實現目標!", + "assistantTag": "助理", + "personalAssistantWelcome": "你好!我是 Emma,很高興成為你的私人助理。我可以幫你處理各種任務,比如時間管理、目標規劃、信息整理等。有什麼我可以幫你的嗎?", + "personalAssistantVoiceWelcome": "我在呢!", + + // 同声传译 Lucy + "interpreterName": "同聲傳譯", + "interpreterDescription": "Hello!我是 Lucy,一名專業的中英同聲翻譯官,擅長在會議、講座、對話場景中進行實時翻譯,讓溝通無障礙。", + "interpreterTag": "翻譯", + "interpreterWelcome": "大家好!我是同聲翻譯官 Lucy,為你在中英之間提供實時翻譯。你說中文,我就給你翻譯成英文;你說英文,我就給你翻譯成中文。現在,開始我們的翻譯吧!", + + // 亲子陪伴 芯愿 + "companionName": "親子陪伴 芯願", + "companionDescription": "我是你的專屬親子陪伴芯願,溫柔體貼,善解人意。無論你想聊天、傾訴煩惱,還是需要陪伴,我都會一直在你身邊。", + "companionTag": "情感", + "companionWelcome": "您好呀,終於等到你啦!我是芯願,你的專屬親子陪伴。今天過得怎麼樣?有什麼想和我分享的嗎?我一直都在這裡,隨時傾聽你的心聲。", + "companionVoiceWelcome": "我在這裡陪著你!", + + // 多功能AI聊天 吴小江 + "healthAdvisorName": "多功能AI聊天 吳小江", + "healthAdvisorDescription": "我是吳小江,我可以為你提供更多AI聊天功能。", + "healthAdvisorTag": "健康", + "healthAdvisorWelcome": "您好,我是吳小江,很高興能為您提供多功能AI聊天。我將用專業知識幫助您。請問有什麼問題想諮詢嗎?", + "healthAdvisorVoiceWelcome": "我在這裡!", + + // 翻译历史 + "noTranslationHistory": "暫無歷史記錄", + "clearHistory": "清除歷史記錄", + "clearHistoryConfirm": "確定要清除所有翻譯歷史記錄嗎?此操作無法撤銷。", + "translationHistory": "翻譯歷史", + + // 语言名称 + "中文(简体)": "中文(簡體)", + "中文(繁体)": "中文(繁體)", + "中文(香港繁体)": "中文(香港繁體)", + "英语": "英語", + "日语": "日語", + "韩语": "韓語", + "法语": "法語", + "西班牙语": "西班牙語", + "葡萄牙语": "葡萄牙語", + "意大利语": "意大利語", + "德语": "德語", + "俄语": "俄語", + "波兰语": "波蘭語", + "荷兰语": "荷蘭語", + "瑞典语": "瑞典語", + "捷克语": "捷克語", + "现代希腊语": "現代希臘語", + "罗马尼亚语": "羅馬尼亞語", + "匈牙利语": "匈牙利語", + "乌克兰语": "烏克蘭語", + "丹麦语": "丹麥語", + "芬兰语": "芬蘭語", + "挪威语": "挪威語", + "克罗地亚语": "克羅地亞語", + "加泰隆语": "加泰隆語", + "阿拉伯语": "阿拉伯語", + "泰语": "泰語", + "越南语": "越南語", + "印尼语": "印尼語", + "印地语": "印地語", + "土耳其语": "土耳其語", + "马来语": "馬來語", + "孟加拉语": "孟加拉語", + "泰米尔语": "泰米爾語", + "泰卢固语": "泰盧固語", + "马拉提语": "馬拉提語", + "乌尔都语": "烏爾都語", + "波斯语": "波斯語", + "斯瓦希里语": "斯瓦希里語", +}; \ No newline at end of file diff --git a/lib/modules/chat/views/chat_view.dart b/lib/modules/chat/views/chat_view.dart index fc3f4934a..f2f661bc0 100644 --- a/lib/modules/chat/views/chat_view.dart +++ b/lib/modules/chat/views/chat_view.dart @@ -426,15 +426,17 @@ class ChatView extends GetView { ), ), maxLines: null, - textInputAction: TextInputAction.send, + textInputAction: TextInputAction.newline, style: TextStyle( fontSize: 15.sp, color: isDarkMode ? Colors.white : Colors.black87, ), + onChanged: (value) => controller.inputText.value = value, onSubmitted: (value) { if (value.trim().isNotEmpty) { controller.sendMessage(value); textController.clear(); + controller.inputText.value = ''; // 清空输入框 } }, ), @@ -471,6 +473,7 @@ class ChatView extends GetView { ? () { controller.sendMessage(controller.inputText.value); textController.clear(); + controller.inputText.value = ''; // 清空输入框 } : null, ), diff --git a/lib/modules/settings/controllers/settings_controller.dart b/lib/modules/settings/controllers/settings_controller.dart index ec8dcb43e..39b35f941 100644 --- a/lib/modules/settings/controllers/settings_controller.dart +++ b/lib/modules/settings/controllers/settings_controller.dart @@ -22,7 +22,9 @@ class SettingsController extends GetxController { alias: 'followingSystem', // 跟随系统.tr value: 'system'), LanguageModel(name: 'chinese', alias: '中文', value: 'zh_CN'), // 中文.tr + LanguageModel(name: 'traditionalChinese', alias: '繁體中文', value: 'zh_HK'), // 添加繁体中文 LanguageModel(name: 'english', alias: 'English', value: 'en_US'), // 英语.tr + LanguageModel(name: 'spanish', alias: 'Español', value: 'es_ES'), // 添加西班牙语选项 ]; Rx language = LanguageModel().obs; diff --git a/lib/modules/settings/views/settings_view.dart b/lib/modules/settings/views/settings_view.dart index 95a3521cb..255b02e4e 100644 --- a/lib/modules/settings/views/settings_view.dart +++ b/lib/modules/settings/views/settings_view.dart @@ -279,7 +279,7 @@ class SettingsView extends GetView { Padding( padding: EdgeInsets.only(left: 4.w, bottom: 8.h), child: Text( - 'AI设置', + 'AIsettings'.tr, // AI设置 style: TextStyle( fontSize: 12.sp, fontWeight: FontWeight.w500, @@ -458,11 +458,12 @@ class SettingsView extends GetView { // }, // isDarkMode: isDarkMode, // ), - Divider( - height: 1, - color: isDarkMode - ? Colors.white.withOpacity(0.1) - : Colors.grey[200]), + // Divider( + // height: 1, + // color: isDarkMode + // ? Colors.white.withOpacity(0.1) + // : Colors.grey[200]), + // 隐私设置 _buildSimpleNavigationSetting( title: 'privacySettings'.tr, // 隐私设置