Browse Source

Merge branch 'new_dev' of https://github.com/deepcloud2048/deep_voice into new_dev

weicu
tanlongsheng 10 months ago
parent
commit
7057d3e87d
  1. 72
      lib/core/translations/language/en_us.dart
  2. 135
      lib/core/translations/language/zh_cn.dart
  3. 4
      lib/modules/agent/views/agent_view.dart
  4. 3
      lib/modules/meeting/views/bottomSheet/share_bottom_sheet.dart
  5. 20
      lib/modules/translation/middleware/controllers/translation_middleware_controller.dart

72
lib/core/translations/language/en_us.dart

@ -198,29 +198,29 @@ const Map<String, String> enUS = {
"popularFunction": "Popular Features", "popularFunction": "Popular Features",
"tryNow": "Try Now", "tryNow": "Try Now",
// Goods screens (AI/Translation/Meeting) // 商品页面(AI/翻译/会议)
'availablePackages': 'Available Packages', 'availablePackages': 'Available Packages',
'remainingQuota': 'Remaining Quota', 'remainingQuota': 'Remaining Quota',
'totalCount': 'Total Count', 'totalCount': 'Total Count',
'remaining': 'Remaining', 'remaining': 'Remaining',
'featureDescription': 'Feature Description', 'featureDescription': 'Feature Description',
// AI feature cards // AI 功能卡片
'musicAndRecommendation': 'Music & Recommendation', 'musicAndRecommendation': 'Music & Recommendation',
'navigationAndRoutes': 'Navigation & Routes', 'navigationAndRoutes': 'Navigation & Routes',
'nearbySearch': 'Nearby Search', 'nearbySearch': 'Nearby Search',
'newsInformation': 'News', 'newsInformation': 'News',
'communicationAssistant': 'Communication Assistant', 'communicationAssistant': 'Communication Assistant',
// Translation feature cards // 翻译功能卡片
'realtimeTranscription': 'Real-time Transcription', 'realtimeTranscription': 'Real-time Transcription',
// 'textTranslation' exists // 'textTranslation' exists
'sceneLexicon': 'Scenario Glossary', 'sceneLexicon': 'Scenario Glossary',
'subtitleDisplay': 'Subtitles', 'subtitleDisplay': 'Subtitles',
// Meeting feature cards // 会议功能卡片
'meetingRecording': 'Meeting Recording', 'meetingRecording': 'Meeting Recording',
'transcriptionAndSummary': 'Transcription & Summary', 'transcriptionAndSummary': 'Transcription & Summary',
'keywordSearch': 'Keyword Search', 'keywordSearch': 'Keyword Search',
'collaborationSharing': 'Collaboration & Sharing', 'collaborationSharing': 'Collaboration & Sharing',
// Goods names by id // 商品名称(按ID)
'ai_001_name': 'AI Basic 100', 'ai_001_name': 'AI Basic 100',
'ai_002_name': 'AI Basic 500', 'ai_002_name': 'AI Basic 500',
'ai_003_name': 'AI Basic 1000', 'ai_003_name': 'AI Basic 1000',
@ -231,7 +231,7 @@ const Map<String, String> enUS = {
'trade_002_name': 'Translation Basic 500', 'trade_002_name': 'Translation Basic 500',
'trade_003_name': 'Translation Basic 1000', 'trade_003_name': 'Translation Basic 1000',
// Goods descriptions by id // 商品描述(按ID)
'ai_001_desc': 'Includes 100 uses. Access core AI features.', 'ai_001_desc': 'Includes 100 uses. Access core AI features.',
'ai_002_desc': 'Includes 500 uses. Access core AI features.', 'ai_002_desc': 'Includes 500 uses. Access core AI features.',
'ai_003_desc': 'Includes 1000 uses. Access core AI features.', 'ai_003_desc': 'Includes 1000 uses. Access core AI features.',
@ -242,12 +242,12 @@ const Map<String, String> enUS = {
'trade_002_desc': 'Includes 500 translations (voice/text).', 'trade_002_desc': 'Includes 500 translations (voice/text).',
'trade_003_desc': 'Includes 1000 translations (voice/text).', 'trade_003_desc': 'Includes 1000 translations (voice/text).',
// Goods pages common footer // 商品页通用页脚
'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans', 'appNameProvider': 'App: VoiTrans · Provided by: VoiTrans',
'moreInfoViewInSettingsAbout': 'For more info, go to Settings > About', 'moreInfoViewInSettingsAbout': 'For more info, go to Settings > About',
'copyrightVoiTrans': '© 2025 VoiTrans', 'copyrightVoiTrans': '© 2025 VoiTrans',
// Meeting goods page descriptions // 会议商品页描述
'meetingHeaderDesc1': 'meetingHeaderDesc1':
'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'meetingHeaderDesc2': 'meetingHeaderDesc2':
@ -263,7 +263,7 @@ const Map<String, String> enUS = {
'meetingDisclaimer': 'meetingDisclaimer':
'Use in quiet environments; performance depends on microphone and network.', 'Use in quiet environments; performance depends on microphone and network.',
// Translation goods page descriptions // 同传/翻译商品页描述
'tradeHeaderDesc1': 'tradeHeaderDesc1':
'Real-time simultaneous interpretation and text translation with low-latency voice.', 'Real-time simultaneous interpretation and text translation with low-latency voice.',
'tradeHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.', 'tradeHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
@ -279,7 +279,7 @@ const Map<String, String> enUS = {
'tradeDisclaimer': 'tradeDisclaimer':
'Translation performance depends on microphone, network latency, and ambient noise.', 'Translation performance depends on microphone, network latency, and ambient noise.',
// AI goods page descriptions // AI 商品页描述
'aiHeaderDesc1': 'aiHeaderDesc1':
'Longer conversation quota, more tool calls, extended context length.', 'Longer conversation quota, more tool calls, extended context length.',
'aiHeaderDesc2': 'aiHeaderDesc2':
@ -302,7 +302,7 @@ const Map<String, String> enUS = {
'aiDisclaimer': 'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.', 'Features depend on device permissions, service availability, and network conditions.',
// VIP goods page // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
'higherQuota': 'Higher usage quota', 'higherQuota': 'Higher usage quota',
'lowerUnitPrice': 'Lower unit price', 'lowerUnitPrice': 'Lower unit price',
@ -318,7 +318,7 @@ const Map<String, String> enUS = {
'vipDisclaimer': 'vipDisclaimer':
'Actual benefits depend on the package details and may change with versions.', 'Actual benefits depend on the package details and may change with versions.',
// Onboarding / Guide // 新手引导 / Onboarding
'skip': 'Skip', 'skip': 'Skip',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
@ -329,7 +329,7 @@ const Map<String, String> enUS = {
'guideAwakenSuccess': 'Great! Lily is awake—ask it to help.', 'guideAwakenSuccess': 'Great! Lily is awake—ask it to help.',
'confirmInput': 'Confirm Input', 'confirmInput': 'Confirm Input',
'guideClickSendPrefix': 'Tap send, ', 'guideClickSendPrefix': 'Tap send, ',
// AI steps // AI 引导步骤
'guideWeatherStart': 'Tell Lily: “What’s the weather today?”', 'guideWeatherStart': 'Tell Lily: “What’s the weather today?”',
'guideWeatherInput': 'What’s the weather today?', 'guideWeatherInput': 'What’s the weather today?',
'guideWeatherSend': 'Lily will report the weather in real time', 'guideWeatherSend': 'Lily will report the weather in real time',
@ -709,19 +709,9 @@ const Map<String, String> enUS = {
"voice_interrupt": "Interrupt", // 语音打断 "voice_interrupt": "Interrupt", // 语音打断
// 预设提示词 // 预设提示词
"presetMusic": "Play some music", // Play some music "presetMusic": "Play some music",
"presetNavigation": "Navigation to", // Navigation "presetNavigation": "Navigation to",
// First bind rewards dialog "presetWeather": "Today's weather",
"firstBindRewardTitle": "Welcome Reward",
"firstBindRewardDesc": "You've received binding rewards.",
"vipLevelLabel": "VIP Level:",
"expiryLabel": "Expiration:",
"notActivated": "Not activated",
"aiChatCreditsLabel": "AI Chat Credits:",
"translationCreditsLabel": "Translation Credits:",
"meetingCreditsLabel": "Meeting Credits:",
"ok": "OK",
"presetWeather": "Today's weather", // Weather
"presetNews": "Today's news", // News "presetNews": "Today's news", // News
"presetFood": "Nearby food", // Food "presetFood": "Nearby food", // Food
"playSomeMusic": "Play some popular music", // 播放一些流行音乐 "playSomeMusic": "Play some popular music", // 播放一些流行音乐
@ -776,7 +766,7 @@ const Map<String, String> enUS = {
//Message_bubble //Message_bubble
'generatedByAi': 'Generated by AI', 'generatedByAi': 'Generated by AI',
//music_card //音乐卡片 music_card
'recommendedMusic': 'Here are some recommended music:', 'recommendedMusic': 'Here are some recommended music:',
'playList': 'Playlist', 'playList': 'Playlist',
'moreMusic': 'More music', 'moreMusic': 'More music',
@ -791,10 +781,10 @@ const Map<String, String> enUS = {
'currentLocation': 'Current Location', // 当前位置 'currentLocation': 'Current Location', // 当前位置
'approximate': 'About ', // 大约 'approximate': 'About ', // 大约
'enterRoad': ' enter ', // 进入道路 'enterRoad': ' enter ', // 进入道路
"driving": "Driving", "driving": "Driving", // 驾驶
"walking": "Walking", "walking": "Walking", // 步行
"bicycling": "Cycling", "bicycling": "Cycling", // 骑行
"tsransit": "Transit", "tsransit": "Transit", // 公交
//天气卡片 weather_card //天气卡片 weather_card
'weatherQuery': 'Weather Query:', 'weatherQuery': 'Weather Query:',
@ -826,6 +816,17 @@ const Map<String, String> enUS = {
"friday": "Fri", "friday": "Fri",
"saturday": "Sat", "saturday": "Sat",
"sunday": "Sun", "sunday": "Sun",
// First bind rewards dialog
"firstBindRewardTitle": "Welcome Reward",
"firstBindRewardDesc": "You've received binding rewards.",
"vipLevelLabel": "VIP Level:",
"expiryLabel": "Expiration:",
"notActivated": "Not activated",
"aiChatCreditsLabel": "AI Chat Credits:",
"translationCreditsLabel": "Translation Credits:",
"meetingCreditsLabel": "Meeting Credits:",
"ok": "OK",
// 天气描述 // 天气描述
"sunny": "Sunny", "sunny": "Sunny",
"partlyCloudy": "Partly Cloudy", "partlyCloudy": "Partly Cloudy",
@ -1155,7 +1156,7 @@ const Map<String, String> enUS = {
"pictureTranslation": "Picture Translation", "pictureTranslation": "Picture Translation",
"textTranslation": "Text Translation", "textTranslation": "Text Translation",
// 翻译主页 // 翻译主页 (translation_view.dart)
"translationHistory": "Translation History", "translationHistory": "Translation History",
"enableRecording": "Enable Recording", "enableRecording": "Enable Recording",
"viewAudioFiles": "View Audio Files", "viewAudioFiles": "View Audio Files",
@ -1180,7 +1181,7 @@ const Map<String, String> enUS = {
"deleteSessionConfirm": "deleteSessionConfirm":
"Are you sure you want to delete all translation records for this session? This action cannot be undone.", "Are you sure you want to delete all translation records for this session? This action cannot be undone.",
// 翻译音频文件列表页 // 翻译录音文件列表页
"translateAudioFiles": "Translate Audio Files", "translateAudioFiles": "Translate Audio Files",
"noAudioFiles": "No audio files", "noAudioFiles": "No audio files",
"calculating": "Calculating...", "calculating": "Calculating...",
@ -1389,11 +1390,12 @@ const Map<String, String> enUS = {
"justNow": "Just now", "justNow": "Just now",
"minutesAgo": "@minutes minutes ago", "minutesAgo": "@minutes minutes ago",
"yesterday": "Yesterday", "yesterday": "Yesterday",
//补充 //补充
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
'recharge': 'Go to Recharge', "insufficientBalanceDesc":
'insufficientBalanceDesc':
'Insufficient balance, please go to the corresponding recharge page to recharge.', 'Insufficient balance, please go to the corresponding recharge page to recharge.',
"recharge": 'Go to Recharge',
}; };

135
lib/core/translations/language/zh_cn.dart

@ -235,6 +235,69 @@ const Map<String, String> zhCN = {
'trade_002_desc': '含 500 次翻译(语音/文本)', 'trade_002_desc': '含 500 次翻译(语音/文本)',
'trade_003_desc': '含 1000 次翻译(语音/文本)', 'trade_003_desc': '含 1000 次翻译(语音/文本)',
// 商品页通用页脚
'appNameProvider': '应用名称:VoiTrans · 服务提供:VoiTrans',
'moreInfoViewInSettingsAbout': '更多信息请前往 设置 > 关于 查看',
'copyrightVoiTrans': '© 2025 VoiTrans',
// 会议商品页描述
'meetingHeaderDesc1': '录音转写、关键词检索与自动总结,提升会议效率。',
'meetingHeaderDesc2': '适用于商务会议、课堂笔记、访谈纪要等场景。',
'meetingAutoRecording': '自动录音与分段',
'meetingSpeakerTagging': '讲话人标注',
'meetingLongAudioTranscription': '长音频转写',
'meetingKeyPointSummary': '关键要点提炼',
'meetingTopicNameSearch': '按主题/人名检索',
'meetingTimelineJump': '时间线跳转',
'meetingExportSummary': '导出纪要',
'meetingMultiPlatformShare': '多平台分享',
'meetingDisclaimer': '建议在安静环境使用,效果受麦克风与网络影响,具体以实际表现为准。',
// 同传/翻译商品页描述
'tradeHeaderDesc1': '多语种实时同传与文本翻译,低延时语音播报。',
'tradeHeaderDesc2': '适用于出行、商务、演讲与教学等场景。',
'translateZhEn': '中英互译',
'lowLatencyVoiceBroadcast': '低延时语音播报',
'multiLangTextTranslation': '多语种文本翻译',
'termOptimizationContextPreserve': '术语优化与语境保持',
'lexiconTourBusinessLife': '旅游/商务/生活词库',
'personalVocabularyMemory': '专属词汇记忆',
'conversationSubtitleLargeText': '对话字幕/大字模式',
'colorHighContrast': '颜色高对比度',
'tradeDisclaimer': '翻译效果受麦克风、网络时延与环境噪声影响,具体以实际表现为准。',
// AI 商品页描述
'aiHeaderDesc1': '更长对话额度、更多工具调用、更强上下文长度支持。',
'aiHeaderDesc2': '适用于智能体问答、总结分析、任务执行等场景。',
'musicSearchPlaybackControl': '检索曲库、播放控制',
'smartPlaylistAndSimilarRecommendations': '智能推荐歌单与相似歌曲',
'routePlanningAndCongestionAvoidance': '路线规划与拥堵规避',
'voiceBroadcastAndWaypoints': '语音播报与途径点设置',
'realTimeWeatherForecast': '实时天气与预报',
'clothingAdviceAndTravelReminders': '穿衣建议与出行提醒',
'poiSearchFoodGasParking': '餐饮/加油/停车等地点检索',
'ratingsHoursAndDirectRoutes': '评分、营业时间与路线直达',
'hotNewsAndTopicOverview': '热点快讯与专题速览',
'longArticleSummariesAndKeyPoints': '长文总结与要点提炼',
'helpCallAndSMS': '帮忙拨打电话与发短信',
'templatedMessagesAndScheduleReminders': '模板消息与日程提醒',
'aiDisclaimer': '以上功能受设备权限、服务可用性与网络状况影响,具体以实际表现为准。',
// 会员商品页
'benefitsOverview': '权益总览',
'higherQuota': '更高使用额度',
'lowerUnitPrice': '更低单价',
'priorityService': '优先服务',
'exclusiveSupportChannel': '专属客服通道',
'fastResponse': '问题快速响应',
'eventsAndDiscounts': '活动与折扣',
'memberExclusiveEvents': '会员专属活动',
'longTermDiscountPlan': '长期优惠计划',
'generalPrivileges': '通用特权',
'earlyAccessNewFeatures': '新功能优先体验',
'crossDeviceSync': '跨设备同步',
'vipDisclaimer': '具体权益以实际套餐说明为准,可能随版本迭代调整。',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': '跳过', 'skip': '跳过',
'next': '下一步', 'next': '下一步',
@ -704,6 +767,7 @@ const Map<String, String> zhCN = {
"translationCreditsLabel": "Translation Credits:", "translationCreditsLabel": "Translation Credits:",
"meetingCreditsLabel": "Meeting Credits:", "meetingCreditsLabel": "Meeting Credits:",
"ok": "OK", "ok": "OK",
// 天气描述 // 天气描述
"sunny": "晴", "sunny": "晴",
"partlyCloudy": "少云", "partlyCloudy": "少云",
@ -1004,14 +1068,14 @@ const Map<String, String> zhCN = {
"phoneUser": "手机用户", "phoneUser": "手机用户",
"selectSourceLanguage": "选择源语言", "selectSourceLanguage": "选择源语言",
"selectTargetLanguage": "选择目标语言", "selectTargetLanguage": "选择目标语言",
"me": "我", //我 "me": "我",
"counterPart": "对方", //对方 "counterPart": "对方",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
"autoDetect": "自动检测", // 自动检测 "autoDetect": "自动检测", // 自动检测
// 翻译历史页 (translation_history_view.dart) // 翻译历史页
"noTranslationHistory": "暂无历史记录", "noTranslationHistory": "暂无历史记录",
"clearHistory": "清除历史记录", "clearHistory": "清除历史记录",
"clearHistoryConfirm": "确定要清除所有翻译历史记录吗?此操作无法撤销。", "clearHistoryConfirm": "确定要清除所有翻译历史记录吗?此操作无法撤销。",
@ -1019,7 +1083,7 @@ const Map<String, String> zhCN = {
"deleteSessionRecord": "删除会话记录", "deleteSessionRecord": "删除会话记录",
"deleteSessionConfirm": "确定要删除该会话的所有翻译记录吗?此操作无法撤销。", "deleteSessionConfirm": "确定要删除该会话的所有翻译记录吗?此操作无法撤销。",
// 翻译录音文件列表页 (translation_list_view.dart) // 翻译录音文件列表页
"translateAudioFiles": "翻译录音文件", "translateAudioFiles": "翻译录音文件",
"noAudioFiles": "暂无音频文件", "noAudioFiles": "暂无音频文件",
"calculating": "计算中...", "calculating": "计算中...",
@ -1213,69 +1277,6 @@ const Map<String, String> zhCN = {
//补充 //补充
"insufficientIntegral": "积分不足", "insufficientIntegral": "积分不足",
// 商品页通用页脚
'appNameProvider': '应用名称:VoiTrans · 服务提供:VoiTrans',
'moreInfoViewInSettingsAbout': '更多信息请前往 设置 > 关于 查看',
'copyrightVoiTrans': '© 2025 VoiTrans',
// 会议商品页描述
'meetingHeaderDesc1': '录音转写、关键词检索与自动总结,提升会议效率。',
'meetingHeaderDesc2': '适用于商务会议、课堂笔记、访谈纪要等场景。',
'meetingAutoRecording': '自动录音与分段',
'meetingSpeakerTagging': '讲话人标注',
'meetingLongAudioTranscription': '长音频转写',
'meetingKeyPointSummary': '关键要点提炼',
'meetingTopicNameSearch': '按主题/人名检索',
'meetingTimelineJump': '时间线跳转',
'meetingExportSummary': '导出纪要',
'meetingMultiPlatformShare': '多平台分享',
'meetingDisclaimer': '建议在安静环境使用,效果受麦克风与网络影响,具体以实际表现为准。',
// 同传/翻译商品页描述
'tradeHeaderDesc1': '多语种实时同传与文本翻译,低延时语音播报。',
'tradeHeaderDesc2': '适用于出行、商务、演讲与教学等场景。',
'translateZhEn': '中英互译',
'lowLatencyVoiceBroadcast': '低延时语音播报',
'multiLangTextTranslation': '多语种文本翻译',
'termOptimizationContextPreserve': '术语优化与语境保持',
'lexiconTourBusinessLife': '旅游/商务/生活词库',
'personalVocabularyMemory': '专属词汇记忆',
'conversationSubtitleLargeText': '对话字幕/大字模式',
'colorHighContrast': '颜色高对比度',
'tradeDisclaimer': '翻译效果受麦克风、网络时延与环境噪声影响,具体以实际表现为准。',
// AI 商品页描述
'aiHeaderDesc1': '更长对话额度、更多工具调用、更强上下文长度支持。',
'aiHeaderDesc2': '适用于智能体问答、总结分析、任务执行等场景。',
'musicSearchPlaybackControl': '检索曲库、播放控制',
'smartPlaylistAndSimilarRecommendations': '智能推荐歌单与相似歌曲',
'routePlanningAndCongestionAvoidance': '路线规划与拥堵规避',
'voiceBroadcastAndWaypoints': '语音播报与途径点设置',
'realTimeWeatherForecast': '实时天气与预报',
'clothingAdviceAndTravelReminders': '穿衣建议与出行提醒',
'poiSearchFoodGasParking': '餐饮/加油/停车等地点检索',
'ratingsHoursAndDirectRoutes': '评分、营业时间与路线直达',
'hotNewsAndTopicOverview': '热点快讯与专题速览',
'longArticleSummariesAndKeyPoints': '长文总结与要点提炼',
'helpCallAndSMS': '帮忙拨打电话与发短信',
'templatedMessagesAndScheduleReminders': '模板消息与日程提醒',
'aiDisclaimer': '以上功能受设备权限、服务可用性与网络状况影响,具体以实际表现为准。',
// 会员商品页
'benefitsOverview': '权益总览',
'higherQuota': '更高使用额度',
'lowerUnitPrice': '更低单价',
'priorityService': '优先服务',
'exclusiveSupportChannel': '专属客服通道',
'fastResponse': '问题快速响应',
'eventsAndDiscounts': '活动与折扣',
'memberExclusiveEvents': '会员专属活动',
'longTermDiscountPlan': '长期优惠计划',
'generalPrivileges': '通用特权',
'earlyAccessNewFeatures': '新功能优先体验',
'crossDeviceSync': '跨设备同步',
'vipDisclaimer': '具体权益以实际套餐说明为准,可能随版本迭代调整。',
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "餘額不足,請前往對應充值界面進行充值", "insufficientBalanceDesc": "餘額不足,請前往對應充值界面進行充值",
"recharge": "前往充值", "recharge": "前往充值",

4
lib/modules/agent/views/agent_view.dart

@ -130,8 +130,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
vipexptime * 1000); vipexptime * 1000);
} }
final text = expiry != null final text = expiry != null
? '到期时间: ${DateFormat('yyyy-MM-dd').format(expiry)}' ? '${'expiryLabel'.tr}${DateFormat('yyyy-MM-dd').format(expiry)}'
: '未开启'; : 'notActivated'.tr;
return Text( return Text(
text, text,
style: TextStyle( style: TextStyle(

3
lib/modules/meeting/views/bottomSheet/share_bottom_sheet.dart

@ -10,11 +10,12 @@ import 'package:get_storage/get_storage.dart';
import 'package:htmltopdfwidgets/htmltopdfwidgets.dart' as pdf; import 'package:htmltopdfwidgets/htmltopdfwidgets.dart' as pdf;
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:share_plus/share_plus.dart'; import 'package:share_plus/share_plus.dart';
import 'package:voitrans/data/services/network/dio_manager.dart';
import 'package:webview_flutter/webview_flutter.dart'; import 'package:webview_flutter/webview_flutter.dart';
import '../../../../core/utils/synchrodata.dart'; import '../../../../core/utils/synchrodata.dart';
import '../../../../data/services/version_update_service.dart'; import '../../../../data/services/version_update_service.dart';
import '../../../../data/services/network/dio_manager.dart';
import '../../controllers/meeting_details_controller.dart'; import '../../controllers/meeting_details_controller.dart';
import '../../controllers/mind_map_controller.dart'; import '../../controllers/mind_map_controller.dart';
import 'second_level_bottom_sheet.dart'; import 'second_level_bottom_sheet.dart';

20
lib/modules/translation/middleware/controllers/translation_middleware_controller.dart

@ -75,16 +75,16 @@ class TranslationMiddlewareController extends GetxController {
iconColor: Colors.indigo[500]!, // 主靛 iconColor: Colors.indigo[500]!, // 主靛
targetRoute: Routes.textTranslation, targetRoute: Routes.textTranslation,
), ),
TranslationOption( // TranslationOption(
translationId: 'voice_replication', // translationId: 'voice_replication',
title: '声音复刻', // title: '声音复刻',
icon: Icons.volume_up, // icon: Icons.volume_up,
startColor: Colors.pink[400]!, // 粉色 // startColor: Colors.pink[400]!, // 粉色
endColor: Colors.pink[600]!, // 深粉 // endColor: Colors.pink[600]!, // 深粉
iconBgColor: Colors.white, // 白色 // iconBgColor: Colors.white, // 白色
iconColor: Colors.pink[500]!, // 主粉 // iconColor: Colors.pink[500]!, // 主粉
targetRoute: Routes.voiceReplication, // targetRoute: Routes.voiceReplication,
), // ),
]; ];
/// 导航到指定的翻译功能 /// 导航到指定的翻译功能

Loading…
Cancel
Save