From bf966bb29e54a73f39f3e7d8e55c5805577e9803 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Tue, 8 Jul 2025 00:27:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=A0=BC=E5=BC=8F=E9=97=AE=E9=A2=98=E5=B9=B6?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=BC=BA=E5=A4=B1=E7=9A=84=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复翻译文件中格式不一致的问题,补充缺失的翻译项,包括登录页验证码相关文本和多种语言名称 --- lib/core/themes/app_theme.dart | 2 +- lib/core/translations/language/en_us.dart | 150 ++++++++++++++++-- lib/core/translations/language/zh_cn.dart | 71 ++++----- lib/modules/login/views/login_view.dart | 20 +-- .../controllers/settings_controller.dart | 7 +- 5 files changed, 178 insertions(+), 72 deletions(-) diff --git a/lib/core/themes/app_theme.dart b/lib/core/themes/app_theme.dart index 9d64fb143..b358f1f80 100644 --- a/lib/core/themes/app_theme.dart +++ b/lib/core/themes/app_theme.dart @@ -69,4 +69,4 @@ class AppTheme { ), ), ); -} \ No newline at end of file +} diff --git a/lib/core/translations/language/en_us.dart b/lib/core/translations/language/en_us.dart index dba6b61ba..88efa50c7 100644 --- a/lib/core/translations/language/en_us.dart +++ b/lib/core/translations/language/en_us.dart @@ -46,6 +46,26 @@ const Map enUS = { "malay": "Malay", "turkish": "Turkish", "polish": "Polish", + "filipino": "Filipino", + "dutch": "Dutch", + "swedish": "Swedish", + "danish": "Danish", + "finnish": "Finnish", + "czech": "Czech", + "hungarian": "Hungarian", + "norwegian": "Norwegian", + "romanian": "Romanian", + "ukrainian": "Ukrainian", + "greek": "Greek", + "bulgarian": "Bulgarian", + "croatian": "Croatian", + "slovak": "Slovak", + "slovenian": "Slovenian", + "lithuanian": "Lithuanian", + "latvian": "Latvian", + "estonian": "Estonian", + "serbian": "Serbian", + "icelandic": "Icelandic", // 登录页 "welcome": "Welcome", @@ -68,10 +88,14 @@ const Map enUS = { "invalidPhoneFormat": "Invalid phone number format", "tip": "Tip", "pleaseEnterCompleteCode": "Please enter the complete verification code", - // 登录错误提示 "loginFailed": "Login failed, please try again", 'pleaseAcceptPrivacyPolicy': 'Please read and accept the Privacy Policy and User Agreement first', + "enterVerificationCode": "Enter verification code", + "verificationCodeSentTo": "Verification code sent to", + "resendVerificationCode": "Resend verification code", + "login": "Login", + "usePasswordLogin": "Use password login", // 首页 "deviceStatus": "Device Status", @@ -127,6 +151,9 @@ const Map enUS = { "allRoundAssistant": "All-round Assistant", "allRoundAssistantInfo": "Helps solve various problems", "simultaneousTranslation": "Real-time Translation", + "faceToFaceTranslation": "Face-to-face Translation", + 'audioVideoTranslation': 'Audio/Video Translation', + 'callTranslation': 'Call Translation', "simultaneousTranslationInfo": "Instant translation for 80+ languages", "aiGirlfriend": "Parent-child bondingn", "aiGirlfriendInfo": "Intelligent company, chat at any time", @@ -212,16 +239,32 @@ const Map enUS = { "imListening": "Listening...", "canStartTalking": "You may start speaking", - // 翻译页 + // 翻译模块 + // 翻译主页 + "translationHistory": "Translation History", + "enableRecording": "Enable Recording", + "viewAudioFiles": "View Audio Files", + "headsetUser": "Headset User", + "phoneUser": "Phone User", "selectSourceLanguage": "Select Source Language", "selectTargetLanguage": "Select Target Language", - //编辑个人信息页 + // 翻译历史页 + "noTranslationHistory": "No translation history", + "clearHistory": "Clear History", + "clearHistoryConfirm": + "Are you sure you want to clear all translation history? This action cannot be undone.", + "unknownLanguage": "Unknown Language", + "deleteSessionRecord": "Delete Session Record", + "deleteSessionConfirm": + "Are you sure you want to delete all translation records for this session? This action cannot be undone.", + + // 编辑个人信息页 "editProfile": "Edit Profile", "nickname": "Nickname", "save": "Save", - //国家列表 + // 国家列表 "邮箱": "Email", "中国": "China", "美国": "United States", @@ -329,7 +372,7 @@ const Map enUS = { "斐济": "Fiji", "所罗门群岛": "Solomon Islands", - // Personal Assistant Emma + // 个人助理Emma "personalAssistantName": "Emma", "personalAssistantDescription": "Hi, I'm Emma, a versatile AI assistant. Whether it's work planning, study advice, life arrangements, or any other issues, I'm happy to help. Let's improve efficiency and achieve goals together!", @@ -338,7 +381,13 @@ const Map enUS = { "Hello! I'm Emma, and I'm happy to be your personal assistant. I can help you with various tasks such as time management, goal planning, information organization, etc. What can I help you with?", "personalAssistantVoiceWelcome": "I'm here!", - // 同声传译 Lucy + // 导航 + "driving": "Driving", + "walking": "Walking", + "bicycling": "Cycling", + "tsransit": "Transit", + + // 同声传译Lucy "interpreterName": "Simultaneous Interpreter", "interpreterDescription": "Hi! I'm Lucy, a professional English-Chinese interpreter specializing in real-time translation for meetings, lectures, and conversations, making communication barrier-free.", @@ -348,7 +397,7 @@ const Map enUS = { // ... existing code ... - // 亲子陪伴 芯愿 + // 亲子陪伴芯愿 "companionName": "XinYuan", "companionDescription": "I am XinYuan, your dedicated parent-child companion, gentle and understanding. Whether you want to chat, share concerns, or need companionship, I'll always be by your side.", @@ -357,7 +406,7 @@ const Map enUS = { "Hello! Finally meeting you! I'm XinYuan, your dedicated parent-child companion. How was your day? Is there anything you'd like to share with me? I'm always here, ready to listen to your thoughts.", "companionVoiceWelcome": "I'm here with you!", - // 多功能AI聊天 吴小江 + // 多功能AI聊天吴小江 "healthAdvisorName": "AI Chat Assistant Wu", "healthAdvisorDescription": "I'm Wu, ready to provide you with various AI chat features.", @@ -366,14 +415,83 @@ const Map enUS = { "Hello, I'm Wu. I'm happy to assist you with AI chat features. How may I help you today?", "healthAdvisorVoiceWelcome": "I'm here!", - // Translation History - "noTranslationHistory": "No translation history", - "clearHistory": "Clear History", - "clearHistoryConfirm": - "Are you sure you want to clear all translation history? This action cannot be undone.", - "translationHistory": "Translation History", + // 翻译音频文件列表页 + "translateAudioFiles": "Translate Audio Files", + "noAudioFiles": "No audio files", + "calculating": "Calculating...", + "playing": "Playing...", + "paused": "Paused", + "clickToPlay": "Click to play", + "rename": "Rename", + "smartTranscription": "Smart Transcription", + "renameAudioFile": "Rename Audio File", + "enterNewFileName": "Please enter new file name", + + // 翻译详情页 + "originalRecord": "Original Record", + "recordSummary": "Record Summary", + "clickToGenerateSummary": + "Click the button below to generate session summary", + "summaryContent": "Summary Content", + "copied": "Copied", + "summaryCopiledToClipboard": "Summary copied to clipboard", + "extractSummary": "Extract Summary", + "summaryGenerated": "Summary generated", + "generating": "Generating...", + "regenerate": "Regenerate", + "summaryTimeoutMessage": + "Summary generation request timed out, possibly due to network issues or server busy.", + "deleteTranslationRecord": "Delete Translation Record", + "deleteTranslationConfirm": + "Are you sure you want to delete this translation record? This action cannot be undone.", + "originalText": "Original Text", + "translatedText": "Translated Text", + "sessionSummary": "Session Summary", + "cannotShare": "Cannot Share", + "generateSummaryFirst": "Please generate summary first", + "translationSessionRecord": "Translation Session Record", + + // 配对模块 + // 配对页面 + "devicePairing": "Device Pairing", + "connectYourDeepSoundHeadset": "Connect Your DeepSound Headset", + "bind": "Bind", + "authorizeBind": "Authorize Binding", + "enterCode": "Please enter code", + "autoInputCode": "Auto Input Code", + "skipBinding": "Skip Binding", + "rescan": "Rescan", + "skip": "Skip", + "verifyingDevice": "Verifying device...", + "confirmBinding": "Confirm Binding", + "associatingDevice": "Associating device...", + "goToBluetoothSettings": "Go to Bluetooth Settings", + + // 配对状态文本 + "readyToPair": "Ready to pair", + "preparingPairingEnvironment": "Preparing pairing environment...", + "connectDeepSoundViaSystemBluetooth": + "Please connect DeepSound device via system Bluetooth first", + "deviceBindingConfirm": "Device binding confirmation...", + "establishingDeviceAssociation": "Establishing device association...", + "waitingCompletePairing": "Please wait, completing pairing...", + "pairingSuccessRedirecting": + "Pairing successful! Redirecting to home page...", + + // 配对错误状态文本 + "ensureConnectedDeepSoundDevice": + "Please ensure connected device is DeepSound", + "deviceAlreadyBoundToOtherAccount": + "This device is already bound to another account", + "deviceAssociationFailed": "Device association failed, please retry", + "scanTimeoutEnsureDeviceNearby": + "Scan timeout, please ensure device is nearby", + "networkError": "Network error", + "authorizationFailedCheckCode": + "Authorization failed, please check authorization code", + "pairingFailedRetry": "Pairing failed, please retry", - // User Feedback Page + // 用户反馈页 "feedback": "Feedback", 'feedbackInfo': 'Provide feedback or suggestions', 'feedbackDescription': 'Please describe your issue or suggestion', @@ -385,7 +503,7 @@ const Map enUS = { 'feedbackSubmitSuccess': 'Feedback submitted successfully, thank you!', 'feedbackSubmitFailed': 'Failed to submit feedback, please try again later', - // Language names + // 语言名称 "中文(简体)": "Chinese (Simplified)", "中文(繁体)": "Chinese (Traditional)", "中文(香港繁体)": "Chinese (Hong Kong)", diff --git a/lib/core/translations/language/zh_cn.dart b/lib/core/translations/language/zh_cn.dart index 5b6f8624e..17db3d61f 100644 --- a/lib/core/translations/language/zh_cn.dart +++ b/lib/core/translations/language/zh_cn.dart @@ -46,6 +46,26 @@ const Map zhCN = { "malay": "马来语", "turkish": "土耳其语", "polish": "波兰语", + "filipino": "菲律宾语", + "dutch": "荷兰语", + "swedish": "瑞典语", + "danish": "丹麦语", + "finnish": "芬兰语", + "czech": "捷克语", + "hungarian": "匈牙利语", + "norwegian": "挪威语", + "romanian": "罗马尼亚语", + "ukrainian": "乌克兰语", + "greek": "希腊语", + "bulgarian": "保加利亚语", + "croatian": "克罗地亚语", + "slovak": "斯洛伐克语", + "slovenian": "斯洛文尼亚语", + "lithuanian": "立陶宛语", + "latvian": "拉脱维亚语", + "estonian": "爱沙尼亚语", + "serbian": "塞尔维亚语", + "icelandic": "冰岛语", // 登录页 "welcome": "欢迎使用", @@ -69,6 +89,11 @@ const Map zhCN = { "pleaseEnterCompleteCode": "请输入完整的验证码", "loginFailed": "登录失败,请重试", 'pleaseAcceptPrivacyPolicy': '请先阅读并同意隐私政策和用户协议', + "enterVerificationCode": "输入验证码", + "verificationCodeSentTo": "验证码已发送至", + "resendVerificationCode": "重新发送验证码", + "login": "登录", + "usePasswordLogin": "使用密码登录", // 首页 "deviceStatus": "设备状态", @@ -206,10 +231,6 @@ const Map zhCN = { "imListening": "正在聆听...", "canStartTalking": "你可以开始说话", - // 翻译页 - "selectSourceLanguage": "选择源语言", - "selectTargetLanguage": "选择目标语言", - //编辑个人信息页 "editProfile": "编辑个人信息", "nickname": "昵称", @@ -323,47 +344,12 @@ const Map zhCN = { "斐济": "斐济", "所罗门群岛": "所罗门群岛", - // 个人助理 Emma - "personalAssistantName": "个人助理 Emma", - "personalAssistantDescription": - "你好,我是 Emma,一位全能型 AI 助理。无论是工作规划、学习建议、生活安排,还是其他任何问题,我都很乐意为你提供帮助。让我们一起提高效率,实现目标!", - "assistantTag": "助理", - "personalAssistantWelcome": - "你好!我是 Emma,很高兴成为你的私人助理。我可以帮你处理各种任务,比如时间管理、目标规划、信息整理等。有什么我可以帮你的吗?", - "personalAssistantVoiceWelcome": "我在呢!", - // 导航 "driving": "驾车", "walking": "步行", "bicycling": "骑行", "tsransit": "公交", - // 同声传译 Lucy - "interpreterName": "同声传译", - "interpreterDescription": - "Hello!我是 Lucy,一名专业的中英同声翻译官,擅长在会议、讲座、对话场景中进行实时翻译,让沟通无障碍。", - "interpreterTag": "翻译", - "interpreterWelcome": - "大家好!我是同声翻译官 Lucy,为你在中英之间提供实时翻译。你说中文,我就给你翻译成英文;你说英文,我就给你翻译成中文。现在,开始我们的翻译吧!", - - // ... existing code ... - - // 亲子陪伴 芯愿 - "companionName": "亲子陪伴 芯愿", - "companionDescription": - "我是你的专属亲子陪伴芯愿,温柔体贴,善解人意。无论你想聊天、倾诉烦恼,还是需要陪伴,我都会一直在你身边。", - "companionTag": "情感", - "companionWelcome": - "您好呀,终于等到你啦!我是芯愿,你的专属亲子陪伴。今天过得怎么样?有什么想和我分享的吗?我一直都在这里,随时倾听你的心声。", - "companionVoiceWelcome": "我在这里陪着你!", - - // 多功能AI聊天 吴小江 - "healthAdvisorName": "多功能AI聊天 吴小江", - "healthAdvisorDescription": "我是吴小江,我可以为你提供更多AI聊天功能。", - "healthAdvisorTag": "健康", - "healthAdvisorWelcome": "您好,我是吴小江,很高兴能为您提供多功能AI聊天。我将用专业知识帮助您。请问有什么问题想咨询吗?", - "healthAdvisorVoiceWelcome": "我在这里!", - // 翻译模块 // 翻译主页 (translation_view.dart) "translationHistory": "翻译历史", @@ -371,6 +357,8 @@ const Map zhCN = { "viewAudioFiles": "查看录音文件", "headsetUser": "耳机用户", "phoneUser": "手机用户", + "selectSourceLanguage": "选择源语言", + "selectTargetLanguage": "选择目标语言", // 翻译历史页 (translation_history_view.dart) "noTranslationHistory": "暂无历史记录", @@ -424,12 +412,15 @@ const Map zhCN = { "skipBinding": "跳过绑定", "rescan": "重新扫描", "skip": "跳过", + "verifyingDevice": "正在验证设备...", + "confirmBinding": "确认绑定", + "associatingDevice": "正在关联设备...", + "goToBluetoothSettings": "前往蓝牙设置", // 配对状态文本 "readyToPair": "准备开始配对", "preparingPairingEnvironment": "正在准备配对环境...", "connectDeepSoundViaSystemBluetooth": "请先通过系统蓝牙连接DeapSound设备", - "verifyingDevice": "正在验证设备...", "deviceBindingConfirm": "设备绑定确认...", "establishingDeviceAssociation": "正在建立设备关联...", "waitingCompletePairing": "请稍候,正在完成配对...", diff --git a/lib/modules/login/views/login_view.dart b/lib/modules/login/views/login_view.dart index deb838681..32f0bd7a0 100644 --- a/lib/modules/login/views/login_view.dart +++ b/lib/modules/login/views/login_view.dart @@ -236,8 +236,8 @@ class LoginView extends GetView { controller: controller.contactController, decoration: InputDecoration( hintText: controller.selectedCountryFlag == '✉️' - ? 'email'.tr // 需要在翻译文件中添加 - : 'phoneNumber'.tr, // 需要在翻译文件中添加 + ? 'email'.tr // 邮箱 + : 'phoneNumber'.tr, // 手机号码 hintStyle: TextStyle( fontSize: 14.sp, color: isDarkMode @@ -303,7 +303,7 @@ class LoginView extends GetView { style: TextStyle(fontSize: 24.sp), ), title: Text( - '${country['name']}'.tr, + '${country['name']}'.tr, // 国家名称 style: TextStyle( color: isDarkMode ? Colors.white : Colors.black, ), @@ -584,7 +584,7 @@ class LoginView extends GetView { ), SizedBox(width: 4.w), Text( - 'expressConsent'.tr, + 'expressConsent'.tr, // 登录/注册即表示你同意 style: TextStyle( fontSize: 13.sp, color: isDarkMode ? Colors.grey[400] : Colors.grey[700], @@ -680,7 +680,7 @@ class LoginView extends GetView { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - '输入验证码', + 'enterVerificationCode'.tr, // 输入验证码 style: TextStyle( fontSize: 20.sp, fontWeight: FontWeight.w600, @@ -689,7 +689,7 @@ class LoginView extends GetView { ), SizedBox(height: 8.h), Obx(() => Text( - '验证码已发送至 ${controller.displayContact}', + '${'verificationCodeSentTo'.tr} ${controller.displayContact}', // 验证码已发送至 style: TextStyle( fontSize: 14.sp, color: isDarkMode ? Colors.grey[400] : Colors.grey[600], @@ -767,8 +767,8 @@ class LoginView extends GetView { ), label: Text( controller.countdownSeconds > 0 - ? '重新发送验证码 (${controller.countdownSeconds}s)' - : '重新发送验证码', + ? '${'resendVerificationCode'.tr} (${controller.countdownSeconds}s)' // 重新发送验证码 (倒计时) + : 'resendVerificationCode'.tr, // 重新发送验证码 style: TextStyle( fontSize: 14.sp, color: controller.countdownSeconds > 0 @@ -808,7 +808,7 @@ class LoginView extends GetView { ), ) : Text( - '登录', + 'login'.tr, // 登录 style: TextStyle( fontSize: 16.sp, fontWeight: FontWeight.w600, @@ -824,7 +824,7 @@ class LoginView extends GetView { child: TextButton( onPressed: controller.usePasswordLogin, child: Text( - '使用密码登录', + 'usePasswordLogin'.tr, // 使用密码登录 style: TextStyle( fontSize: 14.sp, color: diff --git a/lib/modules/settings/controllers/settings_controller.dart b/lib/modules/settings/controllers/settings_controller.dart index 285f687a0..8b1cbb077 100644 --- a/lib/modules/settings/controllers/settings_controller.dart +++ b/lib/modules/settings/controllers/settings_controller.dart @@ -23,9 +23,7 @@ class SettingsController extends GetxController { // 语言设置 final List languageList = [ LanguageModel( - name: 'followingSystem', // 跟随系统.tr - alias: '', - value: 'system'), + name: 'followingSystem', alias: '', value: 'system'), // 跟随系统.tr LanguageModel(name: 'english', alias: 'English', value: 'en_US'), // 英语.tr LanguageModel(name: 'chinese', alias: '中文', value: 'zh_CN'), // 中文.tr LanguageModel( @@ -78,8 +76,7 @@ class SettingsController extends GetxController { LanguageModel(name: 'estonian', alias: 'Eesti', value: 'et_EE'), // 爱沙尼亚语 LanguageModel( name: 'serbian', alias: 'Srpski', value: 'sr_RS'), // 塞尔维亚语(拉丁) - LanguageModel( - name: 'icelandic', alias: 'Íslenska', value: 'is_IS'), // 新增冰岛语 + LanguageModel(name: 'icelandic', alias: 'Íslenska', value: 'is_IS'), // 冰岛语 ]; Rx language = LanguageModel().obs;