diff --git a/lib/core/translations/language/de_de.dart b/lib/core/translations/language/de_de.dart index ac2c2f637..7257915fd 100644 --- a/lib/core/translations/language/de_de.dart +++ b/lib/core/translations/language/de_de.dart @@ -131,7 +131,19 @@ const Map deDE = { "aiSingerInfo": "Singen Sie jeden Song mit der Stimme Ihres Lieblingskünstlers, auch eigene Kreationen", "popularFunction": "Beliebte Funktionen", "tryNow": "Jetzt ausprobieren", + + //商务会议助手页 "startMeeting": "Besprechung starten", + 'edit': 'Bearbeiten', + 'delete': 'Löschen', + 'noContent': 'Kein Inhalt', + 'editMeetingTitle': 'Besprechungstitel bearbeiten (Optional)', + 'meetingTitle': 'Besprechungstitel (Optional)', + 'maxCharacters': 'Maximal 50 Zeichen', + 'meeting': 'Besprechung', + 'recordingDetails': 'Aufnahmedetails', + 'aiSummary': 'KI-Zusammenfassung', + 'meetingTranscript': 'Besprechungsprotokoll', // 设置页 "premiumMember": "Premium-Mitgliedschaft", @@ -165,7 +177,11 @@ const Map deDE = { 'microsoftCloudTimbreService': 'Microsoft Cloud-Klangfarben-Dienst', 'voiceClone': 'Stimmklon', 'AIsettings': 'KI-Einstellungen', + 'selecttimbre': 'Klangfarbe Wählen', + 'pleaseRead': 'Bitte lesen', + 'completeRecording': 'Aufnahme abschließen', + // 聊天页 "clearChatHistory": "Chat-Verlauf löschen", "online": "Online", diff --git a/lib/core/translations/language/en_us.dart b/lib/core/translations/language/en_us.dart index fc6ca8535..1499747be 100644 --- a/lib/core/translations/language/en_us.dart +++ b/lib/core/translations/language/en_us.dart @@ -134,7 +134,19 @@ const Map enUS = { "Sing any song in your favorite artist's voice, even your own creations", "popularFunction": "Popular Features", "tryNow": "Try Now", + + // 商务会议助手页 "startMeeting": "Start Meeting", + 'edit': 'Edit', + 'delete': 'Delete', + 'noContent': 'No Content', + 'editMeetingTitle': 'Edit Meeting Title (Optional)', + 'meetingTitle': 'Meeting Title (Optional)', + 'maxCharacters': 'Maximum 50 characters', + 'meeting': 'Meeting', + 'recordingDetails': 'Recording Details', + 'aiSummary': 'AI Summary', + 'meetingTranscript': 'Meeting Transcript', // 设置页 "premiumMember": "Premium Membership", @@ -170,7 +182,11 @@ const Map enUS = { 'microsoftCloudTimbreService': 'Microsoft Cloud Timbre Service', 'voiceClone': 'Voice Clone', 'AIsettings': 'AI Settings', + 'selecttimbre': 'Select Timbre', + 'pleaseRead': 'Please Read', + 'completeRecording': 'Complete Recording', + // 聊天页 "clearChatHistory": "Clear Chat History", "online": "Online", diff --git a/lib/core/translations/language/es_es.dart b/lib/core/translations/language/es_es.dart index 2cccd38da..f75598743 100644 --- a/lib/core/translations/language/es_es.dart +++ b/lib/core/translations/language/es_es.dart @@ -131,7 +131,19 @@ const Map esES = { "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", + 'edit': 'Editar', + 'delete': 'Eliminar', + 'noContent': 'Sin contenido', + 'editMeetingTitle': 'Editar título de reunión (Opcional)', + 'meetingTitle': 'Título de reunión (Opcional)', + 'maxCharacters': 'Máximo 50 caracteres', + 'meeting': 'Reunión', + 'recordingDetails': 'Detalles de la grabación', + 'aiSummary': 'Resumen de IA', + 'meetingTranscript': 'Transcripción de la reunión', // 设置页 "premiumMember": "Membresía Premium", @@ -165,7 +177,11 @@ const Map esES = { 'microsoftCloudTimbreService': 'Servicio de Timbre en la Nube de Microsoft', 'voiceClone': 'Clonación de Voz', 'AIsettings': 'Configuración de IA', + 'selecttimbre': 'Seleccionar Timbre', + 'pleaseRead': 'Por favor lea', + 'completeRecording': 'Completar grabación', + // 聊天页 "clearChatHistory": "Borrar Historial de Chat", "online": "En línea", diff --git a/lib/core/translations/language/fr_fr.dart b/lib/core/translations/language/fr_fr.dart index 88d54a7a3..ec4381025 100644 --- a/lib/core/translations/language/fr_fr.dart +++ b/lib/core/translations/language/fr_fr.dart @@ -131,7 +131,19 @@ const Map frFR = { "aiSingerInfo": "Chantez n'importe quelle chanson avec la voix de votre artiste préféré, même vos propres créations", "popularFunction": "Fonctionnalités populaires", "tryNow": "Essayer maintenant", + + //商务会议助手页 "startMeeting": "Démarrer la réunion", + 'edit': 'Modifier', + 'delete': 'Supprimer', + 'noContent': 'Pas de contenu', + 'editMeetingTitle': 'Modifier le titre de la réunion (Optionnel)', + 'meetingTitle': 'Titre de la réunion (Optionnel)', + 'maxCharacters': 'Maximum 50 caractères', + 'meeting': 'Réunion', + 'recordingDetails': 'Détails de l\'enregistrement', + 'aiSummary': 'Résumé IA', + 'meetingTranscript': 'Transcription de la réunion', // 设置页 "premiumMember": "Abonnement Premium", @@ -165,7 +177,11 @@ const Map frFR = { 'microsoftCloudTimbreService': 'Service de timbre cloud Microsoft', 'voiceClone': 'Clone vocal', 'AIsettings': 'Paramètres IA', + 'selecttimbre': 'Sélectionner le Timbre', + 'pleaseRead': 'Veuillez lire', + 'completeRecording': 'Terminer l\'enregistrement', + // 聊天页 "clearChatHistory": "Effacer l'historique de chat", "online": "En ligne", diff --git a/lib/core/translations/language/it_it.dart b/lib/core/translations/language/it_it.dart index 756124ff4..c8de6735e 100644 --- a/lib/core/translations/language/it_it.dart +++ b/lib/core/translations/language/it_it.dart @@ -1,366 +1,398 @@ const Map itIT = { - // 通用 - 'continue': 'Continua', - 'confirm': 'Conferma', - 'cancel': 'Annulla', - 'retry': 'Riprova', - 'error': 'Errore', - 'success': 'Successo', - 'connected': 'Connesso', - 'connecting': 'Connessione in corso...', - 'connectionFailure': 'Connessione fallita', - 'unconnected': 'Non connesso', - 'search': 'Cerca', - "requestCancellation": "Richiesta annullata", - "connectionTimeout": "Timeout di connessione", - "requestTimeout": "Timeout della richiesta", - "responseTimeout": "Timeout della risposta", - "unknownError": "Errore sconosciuto", + // 通用 + 'continue': 'Continua', + 'confirm': 'Conferma', + 'cancel': 'Annulla', + 'retry': 'Riprova', + 'error': 'Errore', + 'success': 'Successo', + 'connected': 'Connesso', + 'connecting': 'Connessione in corso...', + 'connectionFailure': 'Connessione fallita', + 'unconnected': 'Non connesso', + 'search': 'Cerca', + "requestCancellation": "Richiesta annullata", + "connectionTimeout": "Timeout di connessione", + "requestTimeout": "Timeout della richiesta", + "responseTimeout": "Timeout della risposta", + "unknownError": "Errore sconosciuto", + + // 启动页 + "slogan": "Connetti il mondo, oltre la voce", + "sloganInfo": "Esperto vocale AI · Sempre e ovunque", + + // 底部导航 + "home": "Home", + "explore": "Esplora", + "settings": "Impostazioni", + + // 语言 + "followingSystem": "Segui sistema", + "chinese": "Cinese", + "english": "Inglese", + "spanish": "Spagnolo", + "portuguese": "Portoghese", + "traditionalChinese": "Cinese tradizionale", + "japanese": "Giapponese", + "korean": "Coreano", + "french": "Francese", + "german": "Tedesco", + "russian": "Russo", + "vietnamese": "Vietnamita", + "italian": "Italiano", + + // 登录页 + "welcome": "Benvenuto", + "loginTips": "Accedi o registrati con il tuo numero di telefono o email", + "accountNumber": "Numero di telefono o email", + "verificationCode": "Codice di verifica", + "getCode": "Ottieni codice", + "reacquireAfter": "s Riprova dopo", + "otherWays": "O accedi con", + "expressConsent": "Accedendo/registrandoti, accetti", + "and": " e ", + "userAgreement": "Termini di utilizzo", + "privacyPolicy": "Informativa sulla privacy", + 'selectCountry': 'Seleziona Paese/Regione', + "email": "email", + "phoneNumber": "numero di telefono", + + // 首页 + "deviceStatus": "Stato del dispositivo", + "reconnect": "Riconnetti", + "connectingDevice": "Connessione al dispositivo...", + "connectedTo": "Connesso a", + "signal": "Segnale", + "deviceId": "ID dispositivo", + "firmwareVersion": "Versione firmware", + "disconnectedDevice": "Nessun dispositivo connesso, clicca il pulsante sotto", + "connectDevice": "Connetti dispositivo", + "topAiExperiences": "Migliori esperienze AI", + "aiAssistant": "Assistente AI", + "aiAssistantInfo": "Consulente personale 24/7 per domande e consigli", + "simultaneousInterpretation": "Interpretazione in tempo reale", + "simultaneousInterpretationInfo": + "Traduzione in tempo reale per oltre 80 lingue", + "aiCompanion": "Legame genitore-figlio", + "aiCompanionInfo": "Ti comprende e offre compagnia calorosa", + "homeSlogan": "Connetti il mondo, oltre il suono", + "turnEarphones": "Apri la custodia degli auricolari e indossali", + "currentlyConnected": "Attualmente connesso:", + "unsystemSetup": "Vai alle impostazioni di sistema", + "talkLater": "Ricorda più tardi", + "initializing": "Inizializzazione...", + "bluetoothInitializationFailure": + "Inizializzazione del servizio Bluetooth fallita", + "checkingPermissions": "Controllo permessi...", + "lackPermissions": "Permessi Bluetooth richiesti", + "searchingDevice": "Ricerca dispositivi...", + "findConnectedDevice": "Dispositivo connesso trovato", + "notFound": "Nessun dispositivo Bluetooth connesso trovato", + "initializationFailure": "Inizializzazione fallita", + "connectedDevice": "Connesso al dispositivo:", + "failedRefreshDevice": "Impossibile aggiornare il dispositivo", + "noDeviceFound": "Nessun dispositivo connesso trovato", + "failedDeviceInformation": + "Impossibile ottenere informazioni sul dispositivo", + "unknownEquipment": "Dispositivo sconosciuto", + "zeroSignal": "Nessun segnale", + "good": "Buono", + "fine": "Ottimo", + "excellent": "Eccellente", + "unknown": "Sconosciuto", + 'bluetoothTurnedOff': 'Il Bluetooth è spento, per favore accendilo', + 'bluetoothOff': 'Bluetooth spento', + + // 发现页 + "searchAi": "Cerca funzionalità AI...", + "exploreSlogan": "Auricolari intelligenti, possibilità infinite", + "exploreSlogan1": "Compagno intelligente, possibilità infinite", + "exploreSlogan2": "Occhiali intelligenti, possibilità infinite", + "exploreAi": "Esplora le funzionalità AI offerte da DeepSound", + "aiFunction": "Funzionalità AI", + "allRoundAssistant": "Assistente completo", + "allRoundAssistantInfo": "Aiuta a risolvere vari problemi", + "simultaneousTranslation": "Traduzione in tempo reale", + "simultaneousTranslationInfo": "Traduzione istantanea per oltre 80 lingue", + "aiGirlfriend": "Legame genitore-figlio", + "aiGirlfriendInfo": "Compagnia intelligente, chatta in qualsiasi momento", + "healthConsultant": "Chat AI multifunzione", + "healthConsultantInfo": "Più funzionalità di chat AI", + "conferenceAssistant": "Assistente per riunioni di lavoro", + "conferenceAssistantInfo": + "Registrazione verbali in tempo reale e traduzione multilingue", + "studyAssistant": "Assistente per l'apprendimento delle lingue", + "studyAssistantInfo": + "Correzione della pronuncia ed esercitazione del parlato", + "travelTranslator": "Traduttore da viaggio", + "travelTranslatorInfo": "Traduzione vocale in tempo reale e guide turistiche", + "beSearching": "Ricerca di:", + "noAssistantFound": "Nessun assistente AI corrispondente trovato", + "scene": "Scenari", + "youHaveSelected": "Hai selezionato:", + "newFunction": "Nuove funzionalità", + "youChoseTry": "Hai scelto di provare", + "aiSinger": "Modalità cantante AI", + "aiSingerInfo": + "Canta qualsiasi canzone con la voce del tuo artista preferito, anche tue creazioni", + "popularFunction": "Funzionalità popolari", + "tryNow": "Prova ora", + + //商务会议助手页 + "startMeeting": "Inizia riunione", + 'edit': 'Modifica', + 'delete': 'Elimina', + 'noContent': 'Nessun contenuto', + 'editMeetingTitle': 'Modifica titolo riunione (Opzionale)', + 'meetingTitle': 'Titolo riunione (Opzionale)', + 'maxCharacters': 'Massimo 50 caratteri', + 'meeting': 'Riunione', + 'recordingDetails': 'Dettagli registrazione', + 'aiSummary': 'Riepilogo IA', + 'meetingTranscript': 'Trascrizione riunione', - // 启动页 - "slogan": "Connetti il mondo, oltre la voce", - "sloganInfo": "Esperto vocale AI · Sempre e ovunque", - - // 底部导航 - "home": "Home", - "explore": "Esplora", - "settings": "Impostazioni", - - // 语言 - "followingSystem": "Segui sistema", - "chinese": "Cinese", - "english": "Inglese", - "spanish": "Spagnolo", - "portuguese": "Portoghese", - "traditionalChinese": "Cinese tradizionale", - "japanese": "Giapponese", - "korean": "Coreano", - "french": "Francese", - "german": "Tedesco", - "russian": "Russo", - "vietnamese": "Vietnamita", - "italian": "Italiano", - - // 登录页 - "welcome": "Benvenuto", - "loginTips": "Accedi o registrati con il tuo numero di telefono o email", - "accountNumber": "Numero di telefono o email", - "verificationCode": "Codice di verifica", - "getCode": "Ottieni codice", - "reacquireAfter": "s Riprova dopo", - "otherWays": "O accedi con", - "expressConsent": "Accedendo/registrandoti, accetti", - "and": " e ", - "userAgreement": "Termini di utilizzo", - "privacyPolicy": "Informativa sulla privacy", - 'selectCountry': 'Seleziona Paese/Regione', - "email": "email", - "phoneNumber": "numero di telefono", - - // 首页 - "deviceStatus": "Stato del dispositivo", - "reconnect": "Riconnetti", - "connectingDevice": "Connessione al dispositivo...", - "connectedTo": "Connesso a", - "signal": "Segnale", - "deviceId": "ID dispositivo", - "firmwareVersion": "Versione firmware", - "disconnectedDevice": "Nessun dispositivo connesso, clicca il pulsante sotto", - "connectDevice": "Connetti dispositivo", - "topAiExperiences": "Migliori esperienze AI", - "aiAssistant": "Assistente AI", - "aiAssistantInfo": "Consulente personale 24/7 per domande e consigli", - "simultaneousInterpretation": "Interpretazione in tempo reale", - "simultaneousInterpretationInfo": "Traduzione in tempo reale per oltre 80 lingue", - "aiCompanion": "Legame genitore-figlio", - "aiCompanionInfo": "Ti comprende e offre compagnia calorosa", - "homeSlogan": "Connetti il mondo, oltre il suono", - "turnEarphones": "Apri la custodia degli auricolari e indossali", - "currentlyConnected": "Attualmente connesso:", - "unsystemSetup": "Vai alle impostazioni di sistema", - "talkLater": "Ricorda più tardi", - "initializing": "Inizializzazione...", - "bluetoothInitializationFailure": "Inizializzazione del servizio Bluetooth fallita", - "checkingPermissions": "Controllo permessi...", - "lackPermissions": "Permessi Bluetooth richiesti", - "searchingDevice": "Ricerca dispositivi...", - "findConnectedDevice": "Dispositivo connesso trovato", - "notFound": "Nessun dispositivo Bluetooth connesso trovato", - "initializationFailure": "Inizializzazione fallita", - "connectedDevice": "Connesso al dispositivo:", - "failedRefreshDevice": "Impossibile aggiornare il dispositivo", - "noDeviceFound": "Nessun dispositivo connesso trovato", - "failedDeviceInformation": "Impossibile ottenere informazioni sul dispositivo", - "unknownEquipment": "Dispositivo sconosciuto", - "zeroSignal": "Nessun segnale", - "good": "Buono", - "fine": "Ottimo", - "excellent": "Eccellente", - "unknown": "Sconosciuto", - 'bluetoothTurnedOff': 'Il Bluetooth è spento, per favore accendilo', - 'bluetoothOff': 'Bluetooth spento', - - // 发现页 - "searchAi": "Cerca funzionalità AI...", - "exploreSlogan": "Auricolari intelligenti, possibilità infinite", - "exploreSlogan1": "Compagno intelligente, possibilità infinite", - "exploreSlogan2": "Occhiali intelligenti, possibilità infinite", - "exploreAi": "Esplora le funzionalità AI offerte da DeepSound", - "aiFunction": "Funzionalità AI", - "allRoundAssistant": "Assistente completo", - "allRoundAssistantInfo": "Aiuta a risolvere vari problemi", - "simultaneousTranslation": "Traduzione in tempo reale", - "simultaneousTranslationInfo": "Traduzione istantanea per oltre 80 lingue", - "aiGirlfriend": "Legame genitore-figlio", - "aiGirlfriendInfo": "Compagnia intelligente, chatta in qualsiasi momento", - "healthConsultant": "Chat AI multifunzione", - "healthConsultantInfo": "Più funzionalità di chat AI", - "conferenceAssistant": "Assistente per riunioni di lavoro", - "conferenceAssistantInfo": "Registrazione verbali in tempo reale e traduzione multilingue", - "studyAssistant": "Assistente per l'apprendimento delle lingue", - "studyAssistantInfo": "Correzione della pronuncia ed esercitazione del parlato", - "travelTranslator": "Traduttore da viaggio", - "travelTranslatorInfo": "Traduzione vocale in tempo reale e guide turistiche", - "beSearching": "Ricerca di:", - "noAssistantFound": "Nessun assistente AI corrispondente trovato", - "scene": "Scenari", - "youHaveSelected": "Hai selezionato:", - "newFunction": "Nuove funzionalità", - "youChoseTry": "Hai scelto di provare", - "aiSinger": "Modalità cantante AI", - "aiSingerInfo": "Canta qualsiasi canzone con la voce del tuo artista preferito, anche tue creazioni", - "popularFunction": "Funzionalità popolari", - "tryNow": "Prova ora", - "startMeeting": "Inizia riunione", - - // 设置页 - "premiumMember": "Abbonamento Premium", - "joinDevice": "Dispositivo connesso:", - "accountId": "ID account:", - "systemSetting": "Impostazioni di sistema", - "languageSetting": "Impostazioni lingua", - "darkMode": "Modalità scura", - "darkModeInfo": "Passa tra temi chiaro/scuro", - "backups": "Backup e ripristino", - "backupsInfo": "Backup delle impostazioni e della cronologia AI", - "lastBackup": "Ultimo backup:", - "privacySettings": "Impostazioni privacy", - "privacySettingsInfo": "Gestisci raccolta dati e permessi", - "logout": "Esci", - "logoutTips": "Sei sicuro di voler uscire dall'account corrente?", - "aboutApplication": "Informazioni", - "versions": "Versione", - "checkUpdates": "Controlla aggiornamenti", - "selectLanguage": "Seleziona lingua", - "voiceService": "Servizio vocale", - "voiceServiceInfo": "Seleziona servizio di riconoscimento e sintesi vocale", - "selectVoiceService": "Seleziona servizio vocale", - "azureVoiceService": "Servizio vocale Azure", - "azureVoiceServiceInfo": "Servizio cloud Microsoft con supporto per sintesi e riconoscimento vocale di alta qualità", - "flutterVoiceService": "Servizio vocale locale", - "flutterVoiceServiceInfo": "Servizio vocale locale del dispositivo senza necessità di internet", - 'timbreService': 'Servizio timbro vocale', - 'timbreServiceInfo': 'Seleziona servizio di sintesi vocale', - 'defaultTimbre': 'Timbro predefinito', - 'microsoftCloudTimbreService': 'Servizio timbro vocale cloud Microsoft', - 'voiceClone': 'Clonazione vocale', - 'AIsettings': 'Impostazioni AI', - - // 聊天页 - "clearChatHistory": "Cancella cronologia chat", - "online": "Online", - "inputMessage": "Scrivi un messaggio...", - "imListening": "Sto ascoltando...", - "canStartTalking": "Puoi iniziare a parlare", - - // 翻译页 - "selectSourceLanguage": "Seleziona lingua di origine", - "selectTargetLanguage": "Seleziona lingua di destinazione", - - //编辑个人信息页 - "editProfile": "Modifica profilo", - "nickname": "Nickname", - "save": "Salva", - - //国家列表 - "邮箱": "Email", - "中国": "Cina", - "美国": "Stati Uniti", - "加拿大": "Canada", - "俄罗斯": "Russia", - "英国": "Regno Unito", - "德国": "Germania", - "意大利": "Italia", - "法国": "Francia", - "西班牙": "Spagna", - "南非": "Sudafrica", - "沙特阿拉伯": "Arabia Saudita", - "土耳其": "Turchia", - "日本": "Giappone", - "韩国": "Corea del Sud", - "新加坡": "Singapore", - "马来西亚": "Malesia", - "泰国": "Thailandia", - "越南": "Vietnam", - "印度": "India", - "巴基斯坦": "Pakistan", - "菲律宾": "Filippine", - "印度尼西亚": "Indonesia", - "阿联酋": "Emirati Arabi Uniti", - "墨西哥": "Messico", - "巴西": "Brasile", - "阿根廷": "Argentina", - "澳大利亚": "Australia", - "新西兰": "Nuova Zelanda", - "中国香港": "Hong Kong, Cina", - "中国澳门": "Macao, Cina", - "中国台湾": "Taiwan, Cina", - "埃及": "Egitto", - "希腊": "Grecia", - "荷兰": "Paesi Bassi", - "比利时": "Belgio", - "匈牙利": "Ungheria", - "罗马尼亚": "Romania", - "瑞士": "Svizzera", - "奥地利": "Austria", - "丹麦": "Danimarca", - "瑞典": "Svezia", - "挪威": "Norvegia", - "波兰": "Polonia", - "秘鲁": "Perù", - "智利": "Cile", - "哥伦比亚": "Colombia", - "委内瑞拉": "Venezuela", - "葡萄牙": "Portogallo", - "卢森堡": "Lussemburgo", - "爱尔兰": "Irlanda", - "冰岛": "Islanda", - "阿尔巴尼亚": "Albania", - "马耳他": "Malta", - "塞浦路斯": "Cipro", - "芬兰": "Finlandia", - "保加利亚": "Bulgaria", - "立陶宛": "Lituania", - "拉脱维亚": "Lettonia", - "爱沙尼亚": "Estonia", - "乌克兰": "Ucraina", - "塞尔维亚": "Serbia", - "克罗地亚": "Croazia", - "斯洛文尼亚": "Slovenia", - "捷克": "Repubblica Ceca", - "斯洛伐克": "Slovacchia", - "危地马拉": "Guatemala", - "萨尔瓦多": "El Salvador", - "洪都拉斯": "Honduras", - "尼加拉瓜": "Nicaragua", - "哥斯达黎加": "Costa Rica", - "巴拿马": "Panama", - "海地": "Haiti", - "玻利维亚": "Bolivia", - "厄瓜多尔": "Ecuador", - "巴拉圭": "Paraguay", - "乌拉圭": "Uruguay", - "摩洛哥": "Marocco", - "阿尔及利亚": "Algeria", - "突尼斯": "Tunisia", - "尼日利亚": "Nigeria", - "加纳": "Ghana", - "埃塞俄比亚": "Etiopia", - "肯尼亚": "Kenya", - "坦桑尼亚": "Tanzania", - "乌干达": "Uganda", - "孟加拉国": "Bangladesh", - "以色列": "Israele", - "黎巴嫩": "Libano", - "约旦": "Giordania", - "伊拉克": "Iraq", - "科威特": "Kuwait", - "巴林": "Bahrain", - "卡塔尔": "Qatar", - "阿曼": "Oman", - "阿富汗": "Afghanistan", - "斯里兰卡": "Sri Lanka", - "缅甸": "Myanmar", - "尼泊尔": "Nepal", - "蒙古": "Mongolia", - "柬埔寨": "Cambogia", - "老挝": "Laos", - "文莱": "Brunei", - "东帝汶": "Timor Est", - "斐济": "Fiji", - "所罗门群岛": "Isole Salomone", - - // Personal Assistant Emma - "personalAssistantName": "Emma", - "personalAssistantDescription": "Ciao, sono Emma, un'assistente AI versatile. Che si tratti di pianificazione del lavoro, consigli di studio, organizzazione della vita o qualsiasi altro problema, sono felice di aiutare. Miglioriamo l'efficienza e raggiungiamo gli obiettivi insieme!", - "assistantTag": "Assistente", - "personalAssistantWelcome": "Ciao! Sono Emma e sono felice di essere la tua assistente personale. Posso aiutarti con varie attività come gestione del tempo, pianificazione degli obiettivi, organizzazione delle informazioni, ecc. Come posso aiutarti?", - "personalAssistantVoiceWelcome": "Sono qui!", - - // 同声传译 Lucy - "interpreterName": "Interprete simultaneo", - "interpreterDescription": "Ciao! Sono Lucy, un'interprete professionale inglese-cinese specializzata in traduzione in tempo reale per riunioni, conferenze e conversazioni, rendendo la comunicazione senza barriere.", - "interpreterTag": "Traduzione", - "interpreterWelcome": "Salve a tutti! Sono Lucy, la vostra interprete simultanea. Tradurrò tra cinese e inglese per voi. Quando parlate in cinese, tradurrò in inglese; quando parlate in inglese, tradurrò in cinese. Iniziamo la nostra sessione di traduzione!", - - // 亲子陪伴 芯愿 - "companionName": "XinYuan", - "companionDescription": "Sono XinYuan, la tua compagna genitore-figlio dedicata, gentile e comprensiva. Che tu voglia chiacchierare, condividere preoccupazioni o avere compagnia, sarò sempre al tuo fianco.", - "companionTag": "Emotivo", - "companionWelcome": "Ciao! Finalmente ci incontriamo! Sono XinYuan, la tua compagna genitore-figlio dedicata. Com'è stata la tua giornata? C'è qualcosa che vorresti condividere con me? Sono sempre qui, pronta ad ascoltare i tuoi pensieri.", - "companionVoiceWelcome": "Sono qui con te!", - - // 多功能AI聊天 吴小江 - "healthAdvisorName": "Assistente chat AI Wu", - "healthAdvisorDescription": "Sono Wu, pronto a fornirti varie funzionalità di chat AI.", - "healthAdvisorTag": "Chat", - "healthAdvisorWelcome": "Ciao, sono Wu. Sono felice di assisterti con le funzionalità di chat AI. Come posso aiutarti oggi?", - "healthAdvisorVoiceWelcome": "Sono qui!", - - // Translation History - "noTranslationHistory": "Nessuna cronologia di traduzione", - "clearHistory": "Cancella cronologia", - "clearHistoryConfirm": "Sei sicuro di voler cancellare tutta la cronologia delle traduzioni? Questa azione non può essere annullata.", - "translationHistory": "Cronologia traduzioni", - - // Language names - "中文(简体)": "Cinese (semplificato)", - "中文(繁体)": "Cinese (tradizionale)", - "中文(香港繁体)": "Cinese (Hong Kong)", - "英语": "Inglese", - "日语": "Giapponese", - "韩语": "Coreano", - "法语": "Francese", - "西班牙语": "Spagnolo", - "葡萄牙语": "Portoghese", - "意大利语": "Italiano", - "德语": "Tedesco", - "俄语": "Russo", - "波兰语": "Polacco", - "荷兰语": "Olandese", - "瑞典语": "Svedese", - "捷克语": "Ceco", - "现代希腊语": "Greco moderno", - "罗马尼亚语": "Rumeno", - "匈牙利语": "Ungherese", - "乌克兰语": "Ucraino", - "丹麦语": "Danese", - "芬兰语": "Finlandese", - "挪威语": "Norvegese", - "克罗地亚语": "Croato", - "加泰隆语": "Catalano", - "阿拉伯语": "Arabo", - "泰语": "Tailandese", - "越南语": "Vietnamita", - "印尼语": "Indonesiano", - "印地语": "Hindi", - "土耳其语": "Turco", - "马来语": "Malese", - "孟加拉语": "Bengalese", - "泰米尔语": "Tamil", - "泰卢固语": "Telugu", - "马拉提语": "Marathi", - "乌尔都语": "Urdu", - "波斯语": "Persiano", - "斯瓦希里语": "Swahili", - }; \ No newline at end of file + // 设置页 + "premiumMember": "Abbonamento Premium", + "joinDevice": "Dispositivo connesso:", + "accountId": "ID account:", + "systemSetting": "Impostazioni di sistema", + "languageSetting": "Impostazioni lingua", + "darkMode": "Modalità scura", + "darkModeInfo": "Passa tra temi chiaro/scuro", + "backups": "Backup e ripristino", + "backupsInfo": "Backup delle impostazioni e della cronologia AI", + "lastBackup": "Ultimo backup:", + "privacySettings": "Impostazioni privacy", + "privacySettingsInfo": "Gestisci raccolta dati e permessi", + "logout": "Esci", + "logoutTips": "Sei sicuro di voler uscire dall'account corrente?", + "aboutApplication": "Informazioni", + "versions": "Versione", + "checkUpdates": "Controlla aggiornamenti", + "selectLanguage": "Seleziona lingua", + "voiceService": "Servizio vocale", + "voiceServiceInfo": "Seleziona servizio di riconoscimento e sintesi vocale", + "selectVoiceService": "Seleziona servizio vocale", + "azureVoiceService": "Servizio vocale Azure", + "azureVoiceServiceInfo": + "Servizio cloud Microsoft con supporto per sintesi e riconoscimento vocale di alta qualità", + "flutterVoiceService": "Servizio vocale locale", + "flutterVoiceServiceInfo": + "Servizio vocale locale del dispositivo senza necessità di internet", + 'timbreService': 'Servizio timbro vocale', + 'timbreServiceInfo': 'Seleziona servizio di sintesi vocale', + 'defaultTimbre': 'Timbro predefinito', + 'microsoftCloudTimbreService': 'Servizio timbro vocale cloud Microsoft', + 'voiceClone': 'Clonazione vocale', + 'AIsettings': 'Impostazioni AI', + 'selecttimbre': 'Seleziona timbro vocale', + 'pleaseRead': 'Per favore leggi', + 'completeRecording': 'Completa registrazione', + + // 聊天页 + "clearChatHistory": "Cancella cronologia chat", + "online": "Online", + "inputMessage": "Scrivi un messaggio...", + "imListening": "Sto ascoltando...", + "canStartTalking": "Puoi iniziare a parlare", + + // 翻译页 + "selectSourceLanguage": "Seleziona lingua di origine", + "selectTargetLanguage": "Seleziona lingua di destinazione", + + //编辑个人信息页 + "editProfile": "Modifica profilo", + "nickname": "Nickname", + "save": "Salva", + + //国家列表 + "邮箱": "Email", + "中国": "Cina", + "美国": "Stati Uniti", + "加拿大": "Canada", + "俄罗斯": "Russia", + "英国": "Regno Unito", + "德国": "Germania", + "意大利": "Italia", + "法国": "Francia", + "西班牙": "Spagna", + "南非": "Sudafrica", + "沙特阿拉伯": "Arabia Saudita", + "土耳其": "Turchia", + "日本": "Giappone", + "韩国": "Corea del Sud", + "新加坡": "Singapore", + "马来西亚": "Malesia", + "泰国": "Thailandia", + "越南": "Vietnam", + "印度": "India", + "巴基斯坦": "Pakistan", + "菲律宾": "Filippine", + "印度尼西亚": "Indonesia", + "阿联酋": "Emirati Arabi Uniti", + "墨西哥": "Messico", + "巴西": "Brasile", + "阿根廷": "Argentina", + "澳大利亚": "Australia", + "新西兰": "Nuova Zelanda", + "中国香港": "Hong Kong, Cina", + "中国澳门": "Macao, Cina", + "中国台湾": "Taiwan, Cina", + "埃及": "Egitto", + "希腊": "Grecia", + "荷兰": "Paesi Bassi", + "比利时": "Belgio", + "匈牙利": "Ungheria", + "罗马尼亚": "Romania", + "瑞士": "Svizzera", + "奥地利": "Austria", + "丹麦": "Danimarca", + "瑞典": "Svezia", + "挪威": "Norvegia", + "波兰": "Polonia", + "秘鲁": "Perù", + "智利": "Cile", + "哥伦比亚": "Colombia", + "委内瑞拉": "Venezuela", + "葡萄牙": "Portogallo", + "卢森堡": "Lussemburgo", + "爱尔兰": "Irlanda", + "冰岛": "Islanda", + "阿尔巴尼亚": "Albania", + "马耳他": "Malta", + "塞浦路斯": "Cipro", + "芬兰": "Finlandia", + "保加利亚": "Bulgaria", + "立陶宛": "Lituania", + "拉脱维亚": "Lettonia", + "爱沙尼亚": "Estonia", + "乌克兰": "Ucraina", + "塞尔维亚": "Serbia", + "克罗地亚": "Croazia", + "斯洛文尼亚": "Slovenia", + "捷克": "Repubblica Ceca", + "斯洛伐克": "Slovacchia", + "危地马拉": "Guatemala", + "萨尔瓦多": "El Salvador", + "洪都拉斯": "Honduras", + "尼加拉瓜": "Nicaragua", + "哥斯达黎加": "Costa Rica", + "巴拿马": "Panama", + "海地": "Haiti", + "玻利维亚": "Bolivia", + "厄瓜多尔": "Ecuador", + "巴拉圭": "Paraguay", + "乌拉圭": "Uruguay", + "摩洛哥": "Marocco", + "阿尔及利亚": "Algeria", + "突尼斯": "Tunisia", + "尼日利亚": "Nigeria", + "加纳": "Ghana", + "埃塞俄比亚": "Etiopia", + "肯尼亚": "Kenya", + "坦桑尼亚": "Tanzania", + "乌干达": "Uganda", + "孟加拉国": "Bangladesh", + "以色列": "Israele", + "黎巴嫩": "Libano", + "约旦": "Giordania", + "伊拉克": "Iraq", + "科威特": "Kuwait", + "巴林": "Bahrain", + "卡塔尔": "Qatar", + "阿曼": "Oman", + "阿富汗": "Afghanistan", + "斯里兰卡": "Sri Lanka", + "缅甸": "Myanmar", + "尼泊尔": "Nepal", + "蒙古": "Mongolia", + "柬埔寨": "Cambogia", + "老挝": "Laos", + "文莱": "Brunei", + "东帝汶": "Timor Est", + "斐济": "Fiji", + "所罗门群岛": "Isole Salomone", + + // Personal Assistant Emma + "personalAssistantName": "Emma", + "personalAssistantDescription": + "Ciao, sono Emma, un'assistente AI versatile. Che si tratti di pianificazione del lavoro, consigli di studio, organizzazione della vita o qualsiasi altro problema, sono felice di aiutare. Miglioriamo l'efficienza e raggiungiamo gli obiettivi insieme!", + "assistantTag": "Assistente", + "personalAssistantWelcome": + "Ciao! Sono Emma e sono felice di essere la tua assistente personale. Posso aiutarti con varie attività come gestione del tempo, pianificazione degli obiettivi, organizzazione delle informazioni, ecc. Come posso aiutarti?", + "personalAssistantVoiceWelcome": "Sono qui!", + + // 同声传译 Lucy + "interpreterName": "Interprete simultaneo", + "interpreterDescription": + "Ciao! Sono Lucy, un'interprete professionale inglese-cinese specializzata in traduzione in tempo reale per riunioni, conferenze e conversazioni, rendendo la comunicazione senza barriere.", + "interpreterTag": "Traduzione", + "interpreterWelcome": + "Salve a tutti! Sono Lucy, la vostra interprete simultanea. Tradurrò tra cinese e inglese per voi. Quando parlate in cinese, tradurrò in inglese; quando parlate in inglese, tradurrò in cinese. Iniziamo la nostra sessione di traduzione!", + + // 亲子陪伴 芯愿 + "companionName": "XinYuan", + "companionDescription": + "Sono XinYuan, la tua compagna genitore-figlio dedicata, gentile e comprensiva. Che tu voglia chiacchierare, condividere preoccupazioni o avere compagnia, sarò sempre al tuo fianco.", + "companionTag": "Emotivo", + "companionWelcome": + "Ciao! Finalmente ci incontriamo! Sono XinYuan, la tua compagna genitore-figlio dedicata. Com'è stata la tua giornata? C'è qualcosa che vorresti condividere con me? Sono sempre qui, pronta ad ascoltare i tuoi pensieri.", + "companionVoiceWelcome": "Sono qui con te!", + + // 多功能AI聊天 吴小江 + "healthAdvisorName": "Assistente chat AI Wu", + "healthAdvisorDescription": + "Sono Wu, pronto a fornirti varie funzionalità di chat AI.", + "healthAdvisorTag": "Chat", + "healthAdvisorWelcome": + "Ciao, sono Wu. Sono felice di assisterti con le funzionalità di chat AI. Come posso aiutarti oggi?", + "healthAdvisorVoiceWelcome": "Sono qui!", + + // Translation History + "noTranslationHistory": "Nessuna cronologia di traduzione", + "clearHistory": "Cancella cronologia", + "clearHistoryConfirm": + "Sei sicuro di voler cancellare tutta la cronologia delle traduzioni? Questa azione non può essere annullata.", + "translationHistory": "Cronologia traduzioni", + + // Language names + "中文(简体)": "Cinese (semplificato)", + "中文(繁体)": "Cinese (tradizionale)", + "中文(香港繁体)": "Cinese (Hong Kong)", + "英语": "Inglese", + "日语": "Giapponese", + "韩语": "Coreano", + "法语": "Francese", + "西班牙语": "Spagnolo", + "葡萄牙语": "Portoghese", + "意大利语": "Italiano", + "德语": "Tedesco", + "俄语": "Russo", + "波兰语": "Polacco", + "荷兰语": "Olandese", + "瑞典语": "Svedese", + "捷克语": "Ceco", + "现代希腊语": "Greco moderno", + "罗马尼亚语": "Rumeno", + "匈牙利语": "Ungherese", + "乌克兰语": "Ucraino", + "丹麦语": "Danese", + "芬兰语": "Finlandese", + "挪威语": "Norvegese", + "克罗地亚语": "Croato", + "加泰隆语": "Catalano", + "阿拉伯语": "Arabo", + "泰语": "Tailandese", + "越南语": "Vietnamita", + "印尼语": "Indonesiano", + "印地语": "Hindi", + "土耳其语": "Turco", + "马来语": "Malese", + "孟加拉语": "Bengalese", + "泰米尔语": "Tamil", + "泰卢固语": "Telugu", + "马拉提语": "Marathi", + "乌尔都语": "Urdu", + "波斯语": "Persiano", + "斯瓦希里语": "Swahili", +}; diff --git a/lib/core/translations/language/ja_jp.dart b/lib/core/translations/language/ja_jp.dart index 86809d30f..90c4144dd 100644 --- a/lib/core/translations/language/ja_jp.dart +++ b/lib/core/translations/language/ja_jp.dart @@ -131,7 +131,19 @@ const Map jaJP = { "aiSingerInfo": "好きな歌手の声で任意の曲を歌う、自分で作った曲でも", "popularFunction": "人気の機能シーン", "tryNow": "今すぐ試す", + + //商务会议助手页 "startMeeting": "会議を開始", + 'edit': '編集', + 'delete': '削除', + 'noContent': 'コンテンツなし', + 'editMeetingTitle': '会議タイトルを編集(任意)', + 'meetingTitle': '会議タイトル(任意)', + 'maxCharacters': '最大50文字', + 'meeting': '会議', + 'recordingDetails': '録音詳細', + 'aiSummary': 'AI要約', + 'meetingTranscript': '会議の文字起こし', // 设置页 "premiumMember": "プレミアムメンバー", @@ -165,7 +177,10 @@ const Map jaJP = { 'microsoftCloudTimbreService': 'マイクロソフトクラウド音色サービス', 'voiceClone': '音声クローン', 'AIsettings': 'AI設定', - + 'selecttimbre': '音色を選択', + 'pleaseRead': '読んでください', + 'completeRecording': '録音完了', + // 聊天页 "clearChatHistory": "チャット履歴をクリア", "online": "オンライン", diff --git a/lib/core/translations/language/ko_kr.dart b/lib/core/translations/language/ko_kr.dart index 590c3ab0e..5018a8a09 100644 --- a/lib/core/translations/language/ko_kr.dart +++ b/lib/core/translations/language/ko_kr.dart @@ -131,7 +131,19 @@ const Map koKR = { "aiSingerInfo": "좋아하는 가수의 목소리로 어떤 노래든 부를 수 있으며, 자신이 만든 노래도 가능", "popularFunction": "인기 기능 장면", "tryNow": "지금 시도", + + //商务会议助手页 "startMeeting": "회의 시작", + 'edit': '편집', + 'delete': '삭제', + 'noContent': '내용 없음', + 'editMeetingTitle': '회의 제목 수정 (선택사항)', + 'meetingTitle': '회의 제목 (선택사항)', + 'maxCharacters': '최대 50자', + 'meeting': '회의', + 'recordingDetails': '녹음 상세', + 'aiSummary': 'AI 요약', + 'meetingTranscript': '회의 기록', // 设置页 "premiumMember": "프리미엄 회원", @@ -165,7 +177,11 @@ const Map koKR = { 'microsoftCloudTimbreService': '마이크로소프트 클라우드 음색 서비스', 'voiceClone': '음성 복제', 'AIsettings': 'AI 설정', + 'selecttimbre': '음색 선택', + 'pleaseRead': '읽어주세요', + 'completeRecording': '녹음 완료', + // 聊天页 "clearChatHistory": "채팅 기록 지우기", "online": "온라인", diff --git a/lib/core/translations/language/pt_pt.dart b/lib/core/translations/language/pt_pt.dart index b26fa9837..deee3e8a7 100644 --- a/lib/core/translations/language/pt_pt.dart +++ b/lib/core/translations/language/pt_pt.dart @@ -131,7 +131,19 @@ const Map ptPT = { "aiSingerInfo": "Cante qualquer música com a voz do seu artista favorito, até mesmo suas próprias criações", "popularFunction": "Funções Populares", "tryNow": "Experimentar Agora", + + //商务会议助手页 "startMeeting": "Iniciar Reunião", + 'edit': 'Editar', + 'delete': 'Excluir', + 'noContent': 'Sem conteúdo', + 'editMeetingTitle': 'Editar título da reunião (Opcional)', + 'meetingTitle': 'Título da reunião (Opcional)', + 'maxCharacters': 'Máximo de 50 caracteres', + 'meeting': 'Reunião', + 'recordingDetails': 'Detalhes da gravação', + 'aiSummary': 'Resumo IA', + 'meetingTranscript': 'Transcrição da reunião', // 设置页 "premiumMember": "Assinatura Premium", @@ -165,7 +177,11 @@ const Map ptPT = { 'microsoftCloudTimbreService': 'Serviço de Timbre na Nuvem Microsoft', 'voiceClone': 'Clonagem de Voz', 'AIsettings': 'Configurações de IA', + 'selecttimbre': 'Selecionar timbre', + 'pleaseRead': 'Por favor leia', + 'completeRecording': 'Concluir gravação', + // 聊天页 "clearChatHistory": "Limpar Histórico de Chat", "online": "Online", diff --git a/lib/core/translations/language/ru_ru.dart b/lib/core/translations/language/ru_ru.dart index 2f4d8f9ac..cc9fc910a 100644 --- a/lib/core/translations/language/ru_ru.dart +++ b/lib/core/translations/language/ru_ru.dart @@ -131,7 +131,19 @@ const Map ruRU = { "aiSingerInfo": "Пойте любую песню голосом вашего любимого исполнителя, даже собственные творения", "popularFunction": "Популярные функции", "tryNow": "Попробовать сейчас", + + //商务会议助手页 "startMeeting": "Начать встречу", + 'edit': 'Редактировать', + 'delete': 'Удалить', + 'noContent': 'Нет содержания', + 'editMeetingTitle': 'Изменить название встречи (Необязательно)', + 'meetingTitle': 'Название встречи (Необязательно)', + 'maxCharacters': 'Максимум 50 символов', + 'meeting': 'Встреча', + 'recordingDetails': 'Детали записи', + 'aiSummary': 'AI-резюме', + 'meetingTranscript': 'Стенограмма встречи', // 设置页 "premiumMember": "Премиум-подписка", @@ -165,7 +177,11 @@ const Map ruRU = { 'microsoftCloudTimbreService': 'Облачная служба тембра Microsoft', 'voiceClone': 'Клонирование голоса', 'AIsettings': 'Настройки ИИ', + 'selecttimbre': 'Выбрать тембр', + 'pleaseRead': 'Пожалуйста, прочтите', + 'completeRecording': 'Завершить запись', + // 聊天页 "clearChatHistory": "Очистить историю чата", "online": "В сети", diff --git a/lib/core/translations/language/vi_vn.dart b/lib/core/translations/language/vi_vn.dart index 7f93a5b6b..05f4896f1 100644 --- a/lib/core/translations/language/vi_vn.dart +++ b/lib/core/translations/language/vi_vn.dart @@ -131,8 +131,20 @@ const Map viVN = { "aiSingerInfo": "Hát bất kỳ bài hát nào với giọng của nghệ sĩ yêu thích, kể cả sáng tác của bạn", "popularFunction": "Tính năng phổ biến", "tryNow": "Thử ngay", - "startMeeting": "Bắt đầu cuộc họp", + //商务会议助手页 + "startMeeting": "Bắt đầu cuộc họp", + 'edit': 'Chỉnh sửa', + 'delete': 'Xóa', + 'noContent': 'Không có nội dung', + 'editMeetingTitle': 'Sửa tiêu đề cuộc họp (Tùy chọn)', + 'meetingTitle': 'Tiêu đề cuộc họp (Tùy chọn)', + 'maxCharacters': 'Tối đa 50 ký tự', + 'meeting': 'Cuộc họp', + 'recordingDetails': 'Chi tiết bản ghi âm', + 'aiSummary': 'Tóm tắt AI', + 'meetingTranscript': 'Biên bản cuộc họp', + // 设置页 "premiumMember": "Thành viên cao cấp", "joinDevice": "Thiết bị đã kết nối:", @@ -165,6 +177,10 @@ const Map viVN = { 'microsoftCloudTimbreService': 'Dịch vụ âm sắc đám mây Microsoft', 'voiceClone': 'Nhân bản giọng nói', 'AIsettings': 'Cài đặt AI', + 'selecttimbre': 'Seleziona timbro vocale', + 'pleaseRead': 'Vui lòng đọc', + 'completeRecording': 'Hoàn thành ghi âm', + // 聊天页 "clearChatHistory": "Xóa lịch sử trò chuyện", diff --git a/lib/core/translations/language/zh_cn.dart b/lib/core/translations/language/zh_cn.dart index 843b9f4c9..4c4878ef5 100644 --- a/lib/core/translations/language/zh_cn.dart +++ b/lib/core/translations/language/zh_cn.dart @@ -131,7 +131,19 @@ const Map zhCN = { "aiSingerInfo": "用你喜欢的歌手声音演唱任何歌曲,甚至是你自己创作的歌曲", "popularFunction": "热门功能场景", "tryNow": "立即尝试", + + // 商务会议助手页 "startMeeting": "开始会议", + 'edit': '编辑', + 'delete': '删除', + 'noContent': '无内容', + 'editMeetingTitle': '修改会议标题(非必填)', + 'meetingTitle': '会议标题(非必填)', + 'maxCharacters': '最多50个字符', + 'meeting': '会议', + 'recordingDetails': '录音详情', + 'aiSummary': 'AI总结', + 'meetingTranscript': '会议原文', // 设置页 "premiumMember": "高级会员", @@ -165,7 +177,9 @@ const Map zhCN = { 'microsoftCloudTimbreService': '微软云端音色服务', 'voiceClone': '声音复刻', 'AIsettings': 'AI设置', - + 'selecttimbre': '选择音色', + 'pleaseRead': '请朗读', + 'completeRecording': '完成录制', // 聊天页 "clearChatHistory": "清空聊天记录", diff --git a/lib/core/translations/language/zh_hk.dart b/lib/core/translations/language/zh_hk.dart index c7e5aa42a..f3c85edff 100644 --- a/lib/core/translations/language/zh_hk.dart +++ b/lib/core/translations/language/zh_hk.dart @@ -131,7 +131,19 @@ const Map zhHK = { "aiSingerInfo": "用你喜歡的歌手聲音演唱任何歌曲,甚至是你自己創作的歌曲", "popularFunction": "熱門功能場景", "tryNow": "立即嘗試", + + //商务会议助手页 "startMeeting": "開始會議", + 'edit': '編輯', + 'delete': '刪除', + 'noContent': '無內容', + 'editMeetingTitle': '修改會議標題(非必填)', + 'meetingTitle': '會議標題(非必填)', + 'maxCharacters': '最多50個字符', + 'meeting': '會議', + 'recordingDetails': '錄音詳情', + 'aiSummary': 'AI總結', + 'meetingTranscript': '會議原文', // 设置页 "premiumMember": "高級會員", @@ -165,6 +177,10 @@ const Map zhHK = { 'microsoftCloudTimbreService': '微軟雲端音色服務', 'voiceClone': '聲音複刻', 'AIsettings': 'AI設置', + 'selecttimbre': '選擇音色', + 'pleaseRead': '請朗讀', + 'completeRecording': '完成錄製', + // 聊天页 "clearChatHistory": "清空聊天記錄", diff --git a/lib/modules/chat/views/chat_view.dart b/lib/modules/chat/views/chat_view.dart index f2f661bc0..4fbc6c261 100644 --- a/lib/modules/chat/views/chat_view.dart +++ b/lib/modules/chat/views/chat_view.dart @@ -715,19 +715,24 @@ class ChatView extends GetView { ); } - // 格式化时间 + // 格式化时间 String _formatTime(DateTime time) { final now = DateTime.now(); final today = DateTime(now.year, now.month, now.day); - final yesterday = today.subtract(const Duration(days: 1)); + //final yesterday = today.subtract(const Duration(days: 1)); final messageDate = DateTime(time.year, time.month, time.day); + String timeStr = '${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}'; + if (messageDate == today) { - return '今天 ${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}'; - } else if (messageDate == yesterday) { - return '昨天 ${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}'; - } else { - return '${time.month}月${time.day}日 ${time.hour.toString().padLeft(2, '0')}:${time.minute.toString().padLeft(2, '0')}'; + return timeStr; // 只显示时间,如 "14:30" + } + // else if (messageDate == yesterday) { + // return 'Yesterday $timeStr'; // 如 "Yesterday 14:30" + // } + else { + // 国际通用日期格式 "MM-dd HH:mm" + return '${time.month.toString().padLeft(2, '0')}-${time.day.toString().padLeft(2, '0')} $timeStr'; } } } diff --git a/lib/modules/meeting/views/meeting_details_view.dart b/lib/modules/meeting/views/meeting_details_view.dart index 9947c0b7c..a98c5f5bc 100644 --- a/lib/modules/meeting/views/meeting_details_view.dart +++ b/lib/modules/meeting/views/meeting_details_view.dart @@ -38,7 +38,7 @@ class MeetingDetailsView extends GetView { onPressed: () => Get.back(), ), title: Text( - '录音详情', + 'recordingDetails'.tr,//录音详情 style: TextStyle( fontSize: 17.sp, fontWeight: FontWeight.w600, @@ -253,7 +253,7 @@ class MeetingDetailsView extends GetView { indicatorColor: isDarkMode ? AppColors.primary : Colors.blue, labelColor: isDarkMode ? AppColors.primary : Colors.blue, labelStyle: TextStyle( - color: isDarkMode ? Colors.white : Colors.black87, + color: isDarkMode ? Colors.white : const Color.fromARGB(221, 197, 196, 196), fontSize: 14.sp, ), tabs: const [ diff --git a/lib/modules/meeting/views/meeting_edit_view.dart b/lib/modules/meeting/views/meeting_edit_view.dart index ce28c2fca..ae3042500 100644 --- a/lib/modules/meeting/views/meeting_edit_view.dart +++ b/lib/modules/meeting/views/meeting_edit_view.dart @@ -43,7 +43,7 @@ class MeetingEditView extends GetView { vertical: 6.w, ), child: Text( - '保存', + 'save'.tr, style: TextStyle( color: isDarkMode ? AppColors.primary : Colors.blue, fontSize: 18.sp, @@ -86,7 +86,7 @@ class MeetingEditView extends GetView { fontSize: 16.sp, ), decoration: InputDecoration( - hintText: '最多50个字符', + hintText: 'maxCharacters'.tr, hintStyle: TextStyle( color: isDarkMode ? Colors.white70 : Colors.black54, fontSize: 16.sp, diff --git a/lib/modules/meeting/views/meeting_view.dart b/lib/modules/meeting/views/meeting_view.dart index 75f472da4..858ece898 100644 --- a/lib/modules/meeting/views/meeting_view.dart +++ b/lib/modules/meeting/views/meeting_view.dart @@ -72,7 +72,7 @@ class MeetingView extends GetView { //width: 130.w, height: 48.w, margin: EdgeInsets.symmetric(vertical: 20.w), - padding: EdgeInsets.symmetric(horizontal: 20.w), + padding: EdgeInsets.symmetric(horizontal: 14.w), decoration: BoxDecoration( color: isDarkMode ? AppColors.primary : Colors.blue, borderRadius: BorderRadius.circular(12.w), @@ -129,7 +129,7 @@ class MeetingView extends GetView { Icons.edit_calendar, color: isDarkMode ? Colors.white : Colors.black87, ), - '编辑', + 'edit'.tr,// 编辑 isDarkMode ? Colors.white : Colors.black87, () { controller.titleController.text = data.title; @@ -138,7 +138,7 @@ class MeetingView extends GetView { ), _popupMenuEntry( const Icon(Icons.delete_outline, color: Colors.red), - '删除', + 'delete'.tr,// 删除 isDarkMode ? Colors.white : Colors.black87, () { controller.deleteMeeting(data.id); @@ -197,7 +197,7 @@ class MeetingView extends GetView { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - data.content.isNotEmpty ? data.content : '无内容', + data.content.isNotEmpty ? data.content : 'noContent'.tr,// 无内容 style: TextStyle( color: isDarkMode ? Colors.white70 : Colors.black54, fontSize: 12.sp, @@ -298,7 +298,7 @@ class MeetingView extends GetView { mainAxisSize: MainAxisSize.min, children: [ Text( - id != null ? '修改会议标题(非必填)' : '会议标题(非必填)', + id != null ? 'editMeetingTitle'.tr : 'meetingTitle'.tr, // 编辑会议标题 style: TextStyle( color: isDarkMode ? Colors.white : Colors.black87, fontSize: 16.sp, @@ -330,7 +330,7 @@ class MeetingView extends GetView { fontSize: 16.sp, ), decoration: InputDecoration( - hintText: '最多50个字符', + hintText: 'maxCharacters'.tr, hintStyle: TextStyle( color: isDarkMode ? Colors.white70 : Colors.black54, fontSize: 16.sp, @@ -363,7 +363,7 @@ class MeetingView extends GetView { borderRadius: BorderRadius.circular(12.w), ), child: Text( - '取消', + 'cancel'.tr,// 取消 style: TextStyle( fontSize: 14.sp, color: @@ -381,7 +381,7 @@ class MeetingView extends GetView { } else { if (title.isEmpty) { title = - '${DateUtil.formatDateMs(time, format: DateFormats.y_mo_d)} 会议'; + '${DateUtil.formatDateMs(time, format: DateFormats.y_mo_d)} ${'meeting'.tr}'; } Get.back(); Get.toNamed(Routes.meetingRecord, arguments: { @@ -398,7 +398,7 @@ class MeetingView extends GetView { borderRadius: BorderRadius.circular(12.w), ), child: Text( - '确定', + 'confirm'.tr,// 确认 style: TextStyle( color: Colors.white, fontSize: 14.sp, diff --git a/lib/modules/settings/views/settings_view.dart b/lib/modules/settings/views/settings_view.dart index 52c6d7989..25143691d 100644 --- a/lib/modules/settings/views/settings_view.dart +++ b/lib/modules/settings/views/settings_view.dart @@ -651,7 +651,7 @@ class SettingsView extends GetView { ), ], ), - InkWell( + InkWell( onTap: () { // 在这里添加检查更新的逻辑 }, @@ -674,11 +674,12 @@ class SettingsView extends GetView { 'checkUpdates'.tr, style: TextStyle( fontSize: 12.sp, - color: isDarkMode ? Colors.blue[300] : Colors.blue[600], + color: + isDarkMode ? Colors.blue[300] : Colors.blue[600], ), - overflow: TextOverflow.ellipsis, // 添加省略号 - maxLines: 1, // 限制为单行 - textAlign: TextAlign.center, // 保持居中 + overflow: TextOverflow.ellipsis, // 添加省略号 + maxLines: 1, // 限制为单行 + textAlign: TextAlign.center, // 保持居中 ), ), ), diff --git a/lib/modules/timbre/views/timbre_view.dart b/lib/modules/timbre/views/timbre_view.dart index 9073b1dcd..876d10a90 100644 --- a/lib/modules/timbre/views/timbre_view.dart +++ b/lib/modules/timbre/views/timbre_view.dart @@ -32,7 +32,7 @@ class TimbreView extends GetView { onPressed: () => Get.back(), ), title: Text( - '选择音色', + 'selecttimbre'.tr, // 选择音色 style: TextStyle( fontSize: 17.sp, fontWeight: FontWeight.w600, @@ -67,7 +67,7 @@ class TimbreView extends GetView { AlertDialog( backgroundColor: isDarkMode ? Colors.grey[900] : Colors.white, title: Text( - '请朗读', + 'pleaseRead'.tr, // 请大声朗读 style: TextStyle( color: isDarkMode ? Colors.white : Colors.black87, ), @@ -110,7 +110,7 @@ class TimbreView extends GetView { controller.completeRecorder(); }, child: Text( - '完成录制', + 'completeRecording'.tr, // 完成录音 style: TextStyle( color: isDarkMode ? Colors.red[300] @@ -124,15 +124,17 @@ class TimbreView extends GetView { ); }, child: Container( - width: 130.w, + //width: 130.w, height: 48.w, margin: EdgeInsets.symmetric(vertical: 20.w), + padding: EdgeInsets.symmetric(horizontal: 14.w), decoration: BoxDecoration( color: isDarkMode ? AppColors.primary : Colors.blue, borderRadius: BorderRadius.circular(12.w), ), child: Row( - mainAxisAlignment: MainAxisAlignment.center, + mainAxisSize: MainAxisSize.min, // 添加这行使Row宽度自适应内容 + //mainAxisAlignment: MainAxisAlignment.center, children: [ const Icon(Icons.keyboard_voice, color: Colors.white), 5.horizontalSpace, diff --git a/lib/modules/translation/views/translation_view.dart b/lib/modules/translation/views/translation_view.dart index 0117f5565..4d1e78046 100644 --- a/lib/modules/translation/views/translation_view.dart +++ b/lib/modules/translation/views/translation_view.dart @@ -21,10 +21,10 @@ class TranslationView extends GetView { ); } - PreferredSizeWidget _buildAppBar(bool isDarkMode) { + PreferredSizeWidget _buildAppBar(bool isDarkMode) { return AppBar( backgroundColor: isDarkMode ? AppColors.cardBackground : Colors.white, - elevation: 0, + elevation: 1, leading: IconButton( icon: Icon( Icons.arrow_back_ios, @@ -37,81 +37,13 @@ class TranslationView extends GetView { Get.back(); }, ), - title: Row( - mainAxisSize: MainAxisSize.min, - children: [ - // 源语言选择 - Flexible( - child: GestureDetector( - onTap: () => _showLanguageSelectionDialog(true, isDarkMode), - child: Container( - padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 4.h), - decoration: BoxDecoration( - color: isDarkMode - ? Colors.white.withOpacity(0.1) - : Colors.grey[100], - borderRadius: BorderRadius.circular(16.r), - ), - child: Obx(() => Text( - '${controller.sourceLanguage.value - .split(' ')[0]}'.tr, // Just show the Chinese part - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w600, - color: isDarkMode ? Colors.white : Colors.black, - ), - overflow: TextOverflow.ellipsis, - )), - ), - ), - ), - - // 语言互换按钮 - GestureDetector( - onTap: controller.swapLanguages, - child: Container( - margin: EdgeInsets.symmetric(horizontal: 8.w), - padding: EdgeInsets.all(4.r), - decoration: BoxDecoration( - color: isDarkMode - ? AppColors.primary.withOpacity(0.2) - : Colors.blue[50], - shape: BoxShape.circle, - ), - child: Icon( - Icons.swap_horiz, - color: isDarkMode ? AppColors.primary : Colors.blue, - size: 20.sp, - ), - ), - ), - - // 目标语言选择 - Flexible( - child: GestureDetector( - onTap: () => _showLanguageSelectionDialog(false, isDarkMode), - child: Container( - padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 4.h), - decoration: BoxDecoration( - color: isDarkMode - ? Colors.white.withOpacity(0.1) - : Colors.grey[100], - borderRadius: BorderRadius.circular(16.r), - ), - child: Obx(() => Text( - '${controller.targetLanguage.value - .split(' ')[0]}'.tr, // Just show the English part - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w600, - color: isDarkMode ? Colors.white : Colors.black, - ), - overflow: TextOverflow.ellipsis, - )), - ), - ), - ), - ], + title: Text( + 'simultaneousTranslation'.tr,// 实时翻译 + style: TextStyle( + fontSize: 18.sp, + fontWeight: FontWeight.w600, + color: isDarkMode ? Colors.white : Colors.black, + ), ), centerTitle: true, actions: [ @@ -149,6 +81,90 @@ class TranslationView extends GetView { tooltip: '查看历史记录', ), ], + bottom: PreferredSize( + preferredSize: Size.fromHeight(50.h), + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 8.h), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + // 源语言选择 + Expanded( + child: GestureDetector( + onTap: () => _showLanguageSelectionDialog(true, isDarkMode), + child: Container( + padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 4.h), + decoration: BoxDecoration( + color: isDarkMode + ? Colors.white.withOpacity(0.1) + : Colors.grey[100], + borderRadius: BorderRadius.circular(16.r), + ), + child: Obx(() => Text( + '${controller.sourceLanguage.value + .split(' ')[0]}'.tr, // Just show the Chinese part + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w600, + color: isDarkMode ? Colors.white : Colors.black, + ), + textAlign: TextAlign.center, + overflow: TextOverflow.ellipsis, + )), + ), + ), + ), + + // 语言互换按钮 + GestureDetector( + onTap: controller.swapLanguages, + child: Container( + margin: EdgeInsets.symmetric(horizontal: 8.w), + padding: EdgeInsets.all(4.r), + decoration: BoxDecoration( + color: isDarkMode + ? AppColors.primary.withOpacity(0.2) + : Colors.blue[50], + shape: BoxShape.circle, + ), + child: Icon( + Icons.swap_horiz, + color: isDarkMode ? AppColors.primary : Colors.blue, + size: 20.sp, + ), + ), + ), + + // 目标语言选择 + Expanded( + child: GestureDetector( + onTap: () => _showLanguageSelectionDialog(false, isDarkMode), + child: Container( + padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 4.h), + decoration: BoxDecoration( + color: isDarkMode + ? Colors.white.withOpacity(0.1) + : Colors.grey[100], + borderRadius: BorderRadius.circular(16.r), + ), + child: Obx(() => Text( + '${controller.targetLanguage.value + .split(' ')[0]}'.tr, // Just show the English part + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w600, + color: isDarkMode ? Colors.white : Colors.black, + ), + textAlign: TextAlign.center, + overflow: TextOverflow.ellipsis, + )), + ), + ), + ), + ], + ), + ), + ), ); }