From 4d09cb707981f5de12090221932e9454224dc4a5 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Fri, 5 Dec 2025 17:27:58 +0800 Subject: [PATCH 1/7] =?UTF-8?q?refactor(explore):=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E6=8E=A2=E7=B4=A2=E9=A1=B5=E9=9D=A2=E5=B8=83=E5=B1=80=E5=92=8C?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=99=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除未使用的搜索功能和FunctionScene类 简化AI功能列表和导航逻辑 调整探索页面布局为2x2网格 添加用量统计功能到主网格 --- .../controllers/explore_controller.dart | 175 +------ lib/modules/explore/views/explore_view.dart | 481 +++--------------- 2 files changed, 84 insertions(+), 572 deletions(-) diff --git a/lib/modules/explore/controllers/explore_controller.dart b/lib/modules/explore/controllers/explore_controller.dart index 6376e3fa4..ebd64067a 100644 --- a/lib/modules/explore/controllers/explore_controller.dart +++ b/lib/modules/explore/controllers/explore_controller.dart @@ -27,30 +27,7 @@ class AIFeature { }); } -class FunctionScene { - final String title; - final String description; - final IconData icon; - final Color startColor; - final Color endColor; - final Color iconColor; - final String targetRoute; - - FunctionScene({ - required this.title, - required this.description, - required this.icon, - required this.startColor, - required this.endColor, - required this.iconColor, - required this.targetRoute, - }); -} - class ExploreController extends GetxController { - // 搜索关键词 - final searchController = TextEditingController(); - // AI功能列表 final List aiFeatures = [ AIFeature( @@ -75,42 +52,6 @@ class ExploreController extends GetxController { agentId: 'simultaneous_interpreter', targetRoute: Routes.translationMiddleware, ), - // AIFeature( - // title: 'conferenceAssistant'.tr, // 商务会议助手 - // description: 'conferenceAssistantInfo'.tr, // 实时记录会议纪要,多语言翻译 - // icon: Icons.people, - // startColor: const Color(0xFFab47bc), - // endColor: const Color(0xFFec407a), - // iconBgColor: const Color(0xFFd81b60).withOpacity(0.2), - // iconColor: const Color(0xFFd81b60), - // agentId: 'meeting_assistant', - // targetRoute: Routes.meeting, - // ), - // AIFeature( - // title: 'aiGirlfriend'.tr, // 亲子陪伴 - // description: 'aiGirlfriendInfo'.tr, // 智能陪伴,随时聊天 - // icon: Icons.favorite, - // startColor: const Color(0xFFE91E63), - // endColor: const Color(0xFFFF5252), - // iconBgColor: const Color(0xFFE91E63).withOpacity(0.2), - // iconColor: const Color(0xFFE91E63), - // agentId: 'cyber_girlfriend', - // targetRoute: Routes.chat, - // ), - // AIFeature( - // title: 'healthConsultant'.tr, // 健康顾问 - // description: 'healthConsultantInfo'.tr, // 提供科学健康建议 - // icon: Icons.healing, - // startColor: const Color(0xFFFFC107), - // endColor: const Color(0xFFFF9800), - // iconBgColor: const Color(0xFFFFC107).withOpacity(0.2), - // iconColor: const Color(0xFFFFC107), - // agentId: 'health_advisor', - // targetRoute: Routes.chat, - // ), - ]; - - final List aiFeaturesWide = [ AIFeature( title: 'conferenceAssistant'.tr, // 商务会议助手 description: 'conferenceAssistantInfo'.tr, // 实时记录会议纪要,多语言翻译 @@ -122,90 +63,42 @@ class ExploreController extends GetxController { agentId: 'meeting_assistant', targetRoute: Routes.meeting, ), + AIFeature( + title: 'usageStats'.tr, + description: 'usageStatsInfo'.tr, + icon: Icons.analytics_outlined, + startColor: const Color(0xFF2196F3), // 科技蓝 + endColor: const Color(0xFF00BCD4), // 青蓝色 + iconBgColor: const Color(0xFF2196F3).withOpacity(0.2), + iconColor: const Color(0xFF2196F3), + agentId: 'usage_stats', + targetRoute: Routes.usageStats, + ) ]; - // 热门功能场景列表 - final List functionScenes = [ - FunctionScene( + final List aiFeaturesWide = [ + AIFeature( title: 'conferenceAssistant'.tr, // 商务会议助手 description: 'conferenceAssistantInfo'.tr, // 实时记录会议纪要,多语言翻译 icon: Icons.people, startColor: const Color(0xFFab47bc), endColor: const Color(0xFFec407a), + iconBgColor: const Color(0xFFd81b60).withOpacity(0.2), iconColor: const Color(0xFFd81b60), + agentId: 'meeting_assistant', targetRoute: Routes.meeting, ), - FunctionScene( - title: 'studyAssistant'.tr, // 语言学习助手 - description: 'studyAssistantInfo'.tr, // 发音纠正,实时练习口语 - icon: Icons.school, - startColor: const Color(0xFF4CAF50), - endColor: const Color(0xFF009688), - iconColor: const Color(0xFF4CAF50), - targetRoute: Routes.realtime, - ), - FunctionScene( - title: 'travelTranslator'.tr, // 旅行翻译助手 - description: 'travelTranslatorInfo'.tr, // 实时语音翻译,旅游景点介绍 - icon: Icons.language, - startColor: const Color(0xFFFFC107), - endColor: const Color(0xFFFF9800), - iconColor: const Color(0xFFFFC107), - targetRoute: '', - ), ]; - // 搜索功能 - void search() { - if (searchController.text.isEmpty) return; - - Get.snackbar( - 'search'.tr, // 搜索 - '${'beSearching'.tr} ${searchController.text}', // 正在搜索: - snackPosition: SnackPosition.TOP, - ); - - // 实际应用中,这里应该实现真正的搜索逻辑 - searchController.clear(); - } - // 点击AI功能 void onAIFeatureTap(int index) { if (index < 0 || index >= aiFeatures.length) return; final feature = aiFeatures[index]; - final agent = AgentProvider.getAgentById(feature.agentId); - - if (agent == null) { - Get.snackbar( - 'error'.tr, // 错误 - 'noAssistantFound'.tr, // 未找到对应的AI助手 - snackPosition: SnackPosition.TOP, - ); - return; - } + if (feature.targetRoute.isEmpty) return; // 根据目标路由进行跳转 - if (feature.targetRoute == Routes.chat) { - // 跳转到聊天页面 - Get.toNamed(feature.targetRoute, arguments: { - 'agentId': agent.id, - 'agentName': agent.name, - 'agentVoice': agent.voice, - 'agentAvatar': agent.avatarUrl, - 'agentSubtitle': agent.description, - 'systemPrompt': agent.systemPrompt, - 'welcomeMessage': agent.welcomeMessage, - }); - } else if (feature.targetRoute == Routes.translationMiddleware) { - // 跳转到翻译页面 - Get.toNamed(feature.targetRoute); - } else if (feature.targetRoute == Routes.agent) { - Get.toNamed(feature.targetRoute); - } else if (feature.targetRoute == Routes.meeting) { - // 跳转到会议页面 - Get.toNamed(feature.targetRoute); - } + Get.toNamed(feature.targetRoute); } // 点击AI功能(宽版本) @@ -235,42 +128,8 @@ class ExploreController extends GetxController { } } - // 点击功能场景 - void onFunctionSceneTap(int index) { - if (index < 0 || index >= functionScenes.length) return; - - final scene = functionScenes[index]; - - if (scene.targetRoute.isNotEmpty) { - Get.toNamed(scene.targetRoute); - } else { - Get.snackbar( - 'scene'.tr, // 场景 - '${'youHaveSelected'.tr} ${functionScenes[index].title}', // 您选择了: - snackPosition: SnackPosition.TOP, - ); - } - } - - // 尝试新功能 - void tryNewFeature() { - Get.snackbar( - 'newFunction'.tr, // 新功能 - '${'youChoseTry'.tr}${'aiSinger'.tr}', // 您选择了尝试 // AI歌手模式 - snackPosition: SnackPosition.TOP, - ); - - // 实际应用中,这里应该跳转到新功能页面 - } - // 跳转到用量统计页面 void goToUsageStats() { Get.toNamed(Routes.usageStats); } - - @override - void onClose() { - searchController.dispose(); - super.onClose(); - } } diff --git a/lib/modules/explore/views/explore_view.dart b/lib/modules/explore/views/explore_view.dart index c501ab04b..f4504e26e 100644 --- a/lib/modules/explore/views/explore_view.dart +++ b/lib/modules/explore/views/explore_view.dart @@ -25,7 +25,7 @@ class ExploreView extends GetView { child: SingleChildScrollView( //physics: const BouncingScrollPhysics(), child: Padding( - padding: EdgeInsets.fromLTRB(16.w, 0, 16.w, 0.h), + padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 0.h), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -66,14 +66,6 @@ class ExploreView extends GetView { // AI功能列表 SizedBox(height: 24.h), _buildCustomAILayout(isDarkMode), - - // 热门功能场景 - SizedBox(height: 24.h), - //_buildFunctionScenesSection(isDarkMode), - - // 新功能推荐 - SizedBox(height: 24.h), - //_buildNewFeatureSection(isDarkMode), ], ), ), @@ -104,59 +96,27 @@ class ExploreView extends GetView { color: isDarkMode ? Colors.white : Colors.grey[800], ), ), - Container( - width: 32.w, - height: 32.w, - decoration: BoxDecoration( - color: isDarkMode - ? Colors.white.withOpacity(0.1) - : Colors.grey[200], - shape: BoxShape.circle, - ), - child: IconButton( - icon: Icon( - Icons.analytics_outlined, - size: 16.sp, - color: isDarkMode ? Colors.white : Colors.grey[700], - ), - padding: EdgeInsets.zero, - onPressed: controller.goToUsageStats, - ), - ), + // Container( + // width: 32.w, + // height: 32.w, + // decoration: BoxDecoration( + // color: isDarkMode + // ? Colors.white.withOpacity(0.1) + // : Colors.grey[200], + // shape: BoxShape.circle, + // ), + // child: IconButton( + // icon: Icon( + // Icons.analytics_outlined, + // size: 16.sp, + // color: isDarkMode ? Colors.white : Colors.grey[700], + // ), + // padding: EdgeInsets.zero, + // onPressed: controller.goToUsageStats, + // ), + // ), ], ), - - // // 搜索框 - // SizedBox(height: 16.h), - // Container( - // decoration: BoxDecoration( - // color: - // isDarkMode ? Colors.white.withOpacity(0.1) : Colors.grey[100], - // borderRadius: BorderRadius.circular(12.r), - // ), - // child: TextField( - // controller: controller.searchController, - // decoration: InputDecoration( - // hintText: 'searchAi'.tr, // 搜索AI功能... - // hintStyle: TextStyle( - // fontSize: 14.sp, - // color: isDarkMode ? Colors.grey[400] : Colors.grey[400], - // ), - // prefixIcon: Icon( - // Icons.search, - // size: 20.sp, - // color: isDarkMode ? Colors.grey[400] : Colors.grey[400], - // ), - // border: InputBorder.none, - // contentPadding: EdgeInsets.symmetric(vertical: 12.h), - // ), - // textInputAction: TextInputAction.search, - // onSubmitted: (_) => controller.search(), - // style: TextStyle( - // color: isDarkMode ? Colors.white : Colors.black, - // ), - // ), - // ), ], ), ); @@ -250,23 +210,8 @@ class ExploreView extends GetView { ); } - // 自定义AI功能布局:2x2网格,商务会议助手占据下方两个网格位置 + // 自定义AI功能布局:2x2网格 Widget _buildCustomAILayout(bool isDarkMode) { - // 找到AI全能助手 - final aiAssistantIndex = controller.aiFeatures.indexWhere( - (feature) => feature.agentId == 'personal_assistant', - ); - - // 找到同声传译 - final translationIndex = controller.aiFeatures.indexWhere( - (feature) => feature.agentId == 'simultaneous_interpreter', - ); - - // 找到商务会议助手(在aiFeaturesWide中) - final meetingFeature = controller.aiFeaturesWide.isNotEmpty - ? controller.aiFeaturesWide.first - : null; - return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -287,47 +232,65 @@ class ExploreView extends GetView { Row( children: [ // 左上角:AI全能助手 - if (aiAssistantIndex != -1) - Expanded( - child: AspectRatio( - aspectRatio: 1.0, // 正方形 - child: _buildAIFeatureItem( - controller.aiFeatures[aiAssistantIndex], - aiAssistantIndex, - isDarkMode, - ), + Expanded( + child: AspectRatio( + aspectRatio: 1.0, // 正方形 + child: _buildAIFeatureItem( + controller.aiFeatures[0], + 0, + isDarkMode, ), ), + ), SizedBox(width: 16.w), // 右上角:同声传译 - if (translationIndex != -1) - Expanded( - child: AspectRatio( - aspectRatio: 1.0, // 正方形 - child: _buildAIFeatureItem( - controller.aiFeatures[translationIndex], - translationIndex, - isDarkMode, - ), + Expanded( + child: AspectRatio( + aspectRatio: 1.0, // 正方形 + child: _buildAIFeatureItem( + controller.aiFeatures[1], + 1, + isDarkMode, ), ), + ), ], ), SizedBox(height: 16.h), - // 下层:商务会议助手(横跨整行) - if (meetingFeature != null) - AspectRatio( - aspectRatio: 2.0, // 宽高比2:1,横跨两个网格位置 - child: _buildAIFeatureItemWideForMeeting( - meetingFeature, - 0, // 使用固定索引,因为这是aiFeaturesWide中的项目 - isDarkMode, + // 下层:商务会议助手+用量统计 + Row( + children: [ + // 左下角:商务会议助手 + Expanded( + child: AspectRatio( + aspectRatio: 1.0, // 正方形 + child: _buildAIFeatureItem( + controller.aiFeatures[2], + 2, + isDarkMode, + ), + ), ), - ), + + SizedBox(width: 16.w), + + // 右下角:用量统计 + Expanded( + child: AspectRatio( + aspectRatio: 1.0, // 正方形 + child: _buildAIFeatureItem( + controller.aiFeatures[3], + 3, + isDarkMode, + ), + ), + ), + ], + ), ], ), ], @@ -417,121 +380,9 @@ class ExploreView extends GetView { ); } -//整行布局 - Widget _buildAIFeaturesWideSection(bool isDarkMode) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // Text( - // 'aiFunction'.tr, // AI功能 - // style: TextStyle( - // fontSize: 18.sp, - // fontWeight: FontWeight.w600, - // color: isDarkMode ? Colors.white : Colors.grey[800], - // ), - // ), - // SizedBox(height: 16.h), - // 直接使用 Column 包裹宽版卡片 - Column( - children: controller.aiFeaturesWide.map((feature) { - return Padding( - padding: EdgeInsets.only(bottom: 16.h), // 卡片间距 - child: _buildAIFeatureItemWide( - feature, - controller.aiFeatures.indexOf(feature), - isDarkMode, - ), - ); - }).toList(), - ), - ], - ); - } - - // AI功能项(宽版本,用于横跨整行的AI全能助手) + // AI功能项(宽版本) Widget _buildAIFeatureItemWide( AIFeature feature, int index, bool isDarkMode) { - return GestureDetector( - onTap: () => controller.onAIFeatureTap(index), - child: Container( - padding: EdgeInsets.all(20.w), - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - feature.startColor.withOpacity(isDarkMode ? 0.3 : 0.3), - feature.endColor.withOpacity(isDarkMode ? 0.3 : 0.3), - ], - ), - borderRadius: BorderRadius.circular(20.r), - boxShadow: [ - BoxShadow( - color: isDarkMode - ? Colors.black.withOpacity(0.2) - : Colors.grey.withOpacity(0.1), - blurRadius: 8.w, - offset: const Offset(0, 4), - ), - ], - ), - child: Row( - children: [ - // 图标圆圈 - Container( - width: 48.w, - height: 48.w, - decoration: BoxDecoration( - color: feature.iconColor.withValues(alpha: 0.2), - shape: BoxShape.circle, - ), - child: Icon( - feature.icon, - size: 24.sp, - color: feature.iconColor, - ), - ), - SizedBox(width: 16.w), - // 文本内容 - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - // 标题 - Text( - feature.title, - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w600, - color: isDarkMode ? Colors.white : Colors.grey[800], - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - SizedBox(height: 4.h), - // 描述 - Text( - feature.description, - style: TextStyle( - fontSize: 12.sp, - color: isDarkMode ? Colors.grey[400] : Colors.grey[600], - ), - maxLines: 2, - overflow: TextOverflow.ellipsis, - ), - ], - ), - ), - ], - ), - ), - ); - } - - // AI功能项(宽版本,专门用于商务会议助手) - Widget _buildAIFeatureItemWideForMeeting( - AIFeature feature, int index, bool isDarkMode) { return GestureDetector( onTap: () => controller.onAIFeatureWideTap(index), child: Container( @@ -609,202 +460,4 @@ class ExploreView extends GetView { ), ); } - - // 热门功能场景部分 - Widget _buildFunctionScenesSection(bool isDarkMode) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // Text( - // 'popularFunction'.tr, // 热门功能场景 - // style: TextStyle( - // fontSize: 18.sp, - // fontWeight: FontWeight.w600, - // color: isDarkMode ? Colors.white : Colors.grey[800], - // ), - // ), - // SizedBox(height: 16.h), - ListView.builder( - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - itemCount: controller.functionScenes.length, - itemBuilder: (context, index) { - final scene = controller.functionScenes[index]; - return Padding( - padding: EdgeInsets.only(bottom: 16.h), - child: _buildFunctionSceneItem(scene, index, isDarkMode), - ); - }, - ), - ], - ); - } - - // 功能场景项 - Widget _buildFunctionSceneItem( - FunctionScene scene, int index, bool isDarkMode) { - return GestureDetector( - onTap: () => controller.onFunctionSceneTap(index), - child: Container( - padding: EdgeInsets.all(16.w), - decoration: BoxDecoration( - color: isDarkMode - ? Colors.white.withValues(alpha: 0.05) - : Colors.grey[100], - borderRadius: BorderRadius.circular(16.r), - boxShadow: [ - BoxShadow( - color: isDarkMode - ? Colors.black.withValues(alpha: 0.2) - : Colors.grey.withValues(alpha: 0.1), - blurRadius: 4, - offset: const Offset(0, 2), - ), - ], - ), - child: Row( - children: [ - // 图标 - Container( - width: 48.w, - height: 48.w, - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - scene.startColor.withOpacity(isDarkMode ? 0.3 : 0.3), - scene.endColor.withOpacity(isDarkMode ? 0.3 : 0.3), - ], - ), - borderRadius: BorderRadius.circular(12.r), - ), - child: Icon( - scene.icon, - size: 24.sp, - color: scene.iconColor, - ), - ), - SizedBox(width: 16.w), - - // 文本内容 - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - scene.title, - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w600, - color: isDarkMode ? Colors.white : Colors.grey[800], - ), - ), - SizedBox(height: 4.h), - Text( - scene.description, - style: TextStyle( - fontSize: 12.sp, - color: isDarkMode ? Colors.grey[400] : Colors.grey[600], - ), - ), - ], - ), - ), - ], - ), - ), - ); - } - - // 新功能推荐部分 - Widget _buildNewFeatureSection(bool isDarkMode) { - return Container( - padding: EdgeInsets.all(20.w), - decoration: BoxDecoration( - gradient: LinearGradient( - begin: Alignment.topLeft, - end: Alignment.bottomRight, - colors: [ - const Color(0xFF9C27B0).withOpacity(isDarkMode ? 0.3 : 0.3), - const Color(0xFFE91E63).withOpacity(isDarkMode ? 0.3 : 0.3), - ], - ), - borderRadius: BorderRadius.circular(16.r), - boxShadow: [ - BoxShadow( - color: isDarkMode - ? Colors.black.withOpacity(0.2) - : Colors.grey.withOpacity(0.1), - blurRadius: 8, - offset: const Offset(0, 4), - ), - ], - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - // 图标 - Container( - width: 48.w, - height: 48.w, - decoration: BoxDecoration( - color: const Color(0xFF9C27B0).withOpacity(0.2), - borderRadius: BorderRadius.circular(12.r), - ), - child: Icon( - Icons.lightbulb_outline, - size: 24.sp, - color: const Color(0xFF9C27B0), - ), - ), - SizedBox(height: 16.h), - - // 标题 - Text( - 'aiSinger'.tr, // AI歌手模式 - style: TextStyle( - fontSize: 20.sp, - fontWeight: FontWeight.bold, - color: isDarkMode ? Colors.white : Colors.grey[800], - ), - ), - SizedBox(height: 8.h), - - // 描述 - Text( - 'aiSingerInfo'.tr, // 用你喜欢的歌手声音演唱任何歌曲,甚至是你自己创作的歌曲 - style: TextStyle( - fontSize: 14.sp, - color: isDarkMode ? Colors.grey[300] : Colors.grey[600], - ), - ), - SizedBox(height: 16.h), - - // 按钮 - ElevatedButton( - onPressed: controller.tryNewFeature, - style: ElevatedButton.styleFrom( - backgroundColor: isDarkMode - ? const Color(0xFF9C27B0) - : Colors.white.withOpacity(0.2), - foregroundColor: Colors.white, - padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 10.h), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12.r), - ), - ), - child: Text( - 'tryNow'.tr, // 立即尝试 - style: TextStyle( - fontSize: 14.sp, - fontWeight: FontWeight.w500, - color: isDarkMode ? Colors.white : Colors.grey[800], - ), - ), - ), - ], - ), - ); - } } From 3e40ebec9f5df5c75bc8aaa0cf64ad0eb8e53876 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Sat, 6 Dec 2025 12:44:31 +0800 Subject: [PATCH 2/7] =?UTF-8?q?feat(settings):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E5=85=85=E5=80=BC=E7=95=8C=E9=9D=A2=E5=92=8C?= =?UTF-8?q?=E5=A4=9A=E8=AF=AD=E8=A8=80=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新会员充值卡片UI样式,添加云端同步选项 新增多语言翻译字段用于会员充值相关功能 --- lib/core/translations/language/ar_sa.dart | 8 +- lib/core/translations/language/bg_bg.dart | 8 +- lib/core/translations/language/cs_cz.dart | 8 +- lib/core/translations/language/da_dk.dart | 8 +- lib/core/translations/language/de_de.dart | 8 +- lib/core/translations/language/el_gr.dart | 8 +- lib/core/translations/language/en_us.dart | 8 +- lib/core/translations/language/es_es.dart | 8 +- lib/core/translations/language/et_ee.dart | 8 +- lib/core/translations/language/fa_ir.dart | 8 +- lib/core/translations/language/fi_fi.dart | 8 +- lib/core/translations/language/fr_fr.dart | 8 +- lib/core/translations/language/hi_in.dart | 8 +- lib/core/translations/language/hr_hr.dart | 8 +- lib/core/translations/language/hu_hu.dart | 8 +- lib/core/translations/language/id_id.dart | 8 +- lib/core/translations/language/is_is.dart | 8 +- lib/core/translations/language/it_it.dart | 8 +- lib/core/translations/language/ja_jp.dart | 10 +- lib/core/translations/language/ko_kr.dart | 8 +- lib/core/translations/language/lt_lt.dart | 8 +- lib/core/translations/language/lv_lv.dart | 8 +- lib/core/translations/language/ms_my.dart | 8 +- lib/core/translations/language/nb_no.dart | 8 +- lib/core/translations/language/nl_nl.dart | 8 +- lib/core/translations/language/pl_pl.dart | 8 +- lib/core/translations/language/pt_pt.dart | 8 +- lib/core/translations/language/ro_ro.dart | 8 +- lib/core/translations/language/ru_ru.dart | 8 +- lib/core/translations/language/sk_sk.dart | 8 +- lib/core/translations/language/sl_si.dart | 8 +- lib/core/translations/language/sr_rs.dart | 8 +- lib/core/translations/language/sv_se.dart | 8 +- lib/core/translations/language/th_th.dart | 8 +- lib/core/translations/language/tl_ph.dart | 8 +- lib/core/translations/language/tr_tr.dart | 8 +- lib/core/translations/language/uk_ua.dart | 8 +- lib/core/translations/language/vi_vn.dart | 8 +- lib/core/translations/language/zh_cn.dart | 6 +- lib/core/translations/language/zh_hk.dart | 8 +- lib/modules/settings/views/settings_view.dart | 109 +++++++++++------- 41 files changed, 305 insertions(+), 124 deletions(-) diff --git a/lib/core/translations/language/ar_sa.dart b/lib/core/translations/language/ar_sa.dart index b0d8eb705..3b1578ce3 100644 --- a/lib/core/translations/language/ar_sa.dart +++ b/lib/core/translations/language/ar_sa.dart @@ -429,8 +429,12 @@ const Map arSA = { 'inputAttendees': 'أدخل الحضور', // 设置页 - "systemSettings": "إعدادات النظام", - "premiumMember": "عضو مميز", + "systemSettings": "إعدادات النظام", //系统设置 + "vipRecharge": "إعادة صيغ العضوية", //会员充值 + "premiumMember": "عضو مميز", //AI充值 + "translationRecharge": "إعادة صيغ الترجمة", //翻译充值 + "meetingAssistantRecharge": "إعادة صيغ الاجتماع", //会议助手充值 + "cloudSync": "إعادة صيغ مزامنة السحابة", //云端同步 "joinDevice": "الجهاز المتصل:", "accountId": "معرف الحساب:", "systemSetting": "إعدادات النظام", diff --git a/lib/core/translations/language/bg_bg.dart b/lib/core/translations/language/bg_bg.dart index f09c1491e..0a9e23018 100644 --- a/lib/core/translations/language/bg_bg.dart +++ b/lib/core/translations/language/bg_bg.dart @@ -214,8 +214,12 @@ const Map bgBG = { 'meetingTranscript': 'Протокол от срещата', // 设置页 - "systemSettings": "Системни настройки", - "premiumMember": "Премиум член", + "systemSettings": "Системни настройки", //系统设置 + "vipRecharge": "Преплащане за VIP член", //会员充值 + "premiumMember": "Премиум член", //AI充值 + "translationRecharge": "Преплащане за превод", //翻译充值 + "meetingAssistantRecharge": "Преплащане за Сообщението", //会议助手充值 + "cloudSync": "Преплащане за синхронизация в облака", //云端同步 "joinDevice": "Свързано устройство:", "accountId": "ID на акаунта:", "systemSetting": "Системни настройки", diff --git a/lib/core/translations/language/cs_cz.dart b/lib/core/translations/language/cs_cz.dart index f5d2aaa00..b9793a751 100644 --- a/lib/core/translations/language/cs_cz.dart +++ b/lib/core/translations/language/cs_cz.dart @@ -212,8 +212,12 @@ const Map csCZ = { 'meetingTranscript': 'Přepis schůzky', // 设置页 - "systemSettings": "Systémová nastavení", - "premiumMember": "Prémiový člen", + "systemSettings": "Systémová nastavení", //系统设置 + "vipRecharge": "Přepayka VIP členství", //会员充值 + "premiumMember": "Prémiový člen", //AI充值 + "translationRecharge": "Přepayka překladu", //翻译充值 + "meetingAssistantRecharge": "Přepayka asistenta schůzky", //会议助手充值 + "cloudSync": "Přepayka synchronizace v cloudu", //云端同步 "joinDevice": "Připojené zařízení:", "accountId": "ID účtu:", "systemSetting": "Systémová nastavení", diff --git a/lib/core/translations/language/da_dk.dart b/lib/core/translations/language/da_dk.dart index 5f51eb2bf..11e00c385 100644 --- a/lib/core/translations/language/da_dk.dart +++ b/lib/core/translations/language/da_dk.dart @@ -213,8 +213,12 @@ const Map daDK = { 'meetingTranscript': 'Mødeudskrift', // 设置页 - "systemSettings": "Systemindstillinger", - "premiumMember": "Premium medlem", + "systemSettings": "Systemindstillinger", //系统设置 + "vipRecharge": "Opladning af VIP medlem", //会员充值 + "premiumMember": "Premium medlem", //AI充值 + "translationRecharge": "Opladning af oversetning", //翻译充值 + "meetingAssistantRecharge": "Opladning af mødeassistent", //会议助手充值 + "cloudSync": "Opladning af cloud-synkronisering", //云端同步 "joinDevice": "Tilsluttet enhed:", "accountId": "Konto-ID:", "systemSetting": "Systemindstillinger", diff --git a/lib/core/translations/language/de_de.dart b/lib/core/translations/language/de_de.dart index 0960e49f6..803347359 100644 --- a/lib/core/translations/language/de_de.dart +++ b/lib/core/translations/language/de_de.dart @@ -217,8 +217,12 @@ const Map deDE = { 'meetingTranscript': 'Meeting-Transkript', // 设置页 - "systemSettings": "Systemeinstellungen", - "premiumMember": "Premium-Mitgliedschaft", + "systemSettings": "Systemeinstellungen", //系统设置 + "vipRecharge": "VIP-Mitgliedschaft-Recharge", //会员充值 + "premiumMember": "Premium-Mitgliedschaft", //AI充值 + "translationRecharge": "Übersetzungs-Recharge", //翻译充值 + "meetingAssistantRecharge": "Meeting-Assistent-Recharge", //会议助手充值 + "cloudSync": "Cloud-Synchronisierung-Recharge", //云端同步 "joinDevice": "Verbundenes Gerät:", "accountId": "Konto-ID:", "systemSetting": "Systemeinstellungen", diff --git a/lib/core/translations/language/el_gr.dart b/lib/core/translations/language/el_gr.dart index 8a9254504..175861818 100644 --- a/lib/core/translations/language/el_gr.dart +++ b/lib/core/translations/language/el_gr.dart @@ -215,8 +215,12 @@ const Map elGR = { 'meetingTranscript': 'Απομαγνητοφώνηση συνάντησης', // 设置页 - "systemSettings": "Ρυθμίσεις συστήματος", - "premiumMember": "Premium μέλος", + "systemSettings": "Ρυθμίσεις συστήματος", //系统设置 + "vipRecharge": "Περιορέωση VIP μέλους", //会员充值 + "premiumMember": "Premium μέλος", //AI充值 + "translationRecharge": "Περιορέωση μετάφρασης", //翻译充值 + "meetingAssistantRecharge": "Περιορέωση βοηθού συνάντησης", //会议助手充值 + "cloudSync": "Περιορέωση συγχρονισμού στο cloud", //云端同步 "joinDevice": "Συνδεδεμένη συσκευή:", "accountId": "ID λογαριασμού:", "systemSetting": "Ρυθμίσεις συστήματος", diff --git a/lib/core/translations/language/en_us.dart b/lib/core/translations/language/en_us.dart index 9f9ec4524..ec6c0edd8 100644 --- a/lib/core/translations/language/en_us.dart +++ b/lib/core/translations/language/en_us.dart @@ -597,8 +597,12 @@ const Map enUS = { 'inputAttendees': 'Enter Attendees', // 设置页 - "systemSettings": "System Settings", - "premiumMember": "Premium Membership", + "systemSettings": "System Settings", //系统设置 + "vipRecharge": "VIP Recharge", //会员充值 + "premiumMember": "AI Recharge", //AI充值 + "translationRecharge": "Translation Recharge", //翻译充值 + "meetingAssistantRecharge": "Meeting Recharge", //会议充值 + "cloudSync": "Cloud Sync Recharge", //云端同步 "memberService": "Member Service", "bindRewardTitle": "Rewards", "bindRewardSimpleDesc": diff --git a/lib/core/translations/language/es_es.dart b/lib/core/translations/language/es_es.dart index 626061581..1adae42bd 100644 --- a/lib/core/translations/language/es_es.dart +++ b/lib/core/translations/language/es_es.dart @@ -216,8 +216,12 @@ const Map esES = { 'meetingTranscript': 'Transcripción de reunión', // 设置页 - "systemSettings": "Configuración del sistema", - "premiumMember": "Miembro premium", + "systemSettings": "Configuración del sistema", //系统设置 + "vipRecharge": "Recarga de VIP", //会员充值 + "premiumMember": "Miembro premium", //AI充值 + "translationRecharge": "Recarga de traducción", //翻译充值 + "meetingAssistantRecharge": "Recarga de asistente de reunión", //会议助手充值 + "cloudSync": "Recarga de sincronización en la nube", //云端同步 "joinDevice": "Dispositivo conectado:", "accountId": "ID de cuenta:", "systemSetting": "Configuración del sistema", diff --git a/lib/core/translations/language/et_ee.dart b/lib/core/translations/language/et_ee.dart index 6816cba04..3e47b9d0d 100644 --- a/lib/core/translations/language/et_ee.dart +++ b/lib/core/translations/language/et_ee.dart @@ -210,8 +210,12 @@ const Map etEE = { 'meetingTranscript': 'Koosoleku transkriptsioon', // 设置页 - "systemSettings": "Süsteemi seaded", - "premiumMember": "Premium liige", + "systemSettings": "Süsteemi seaded", //系统设置 + "vipRecharge": "VIP liige varundus", //会员充值 + "premiumMember": "Premium liige", //AI充值 + "translationRecharge": "Tõlke varundus", //翻译充值 + "meetingAssistantRecharge": "Koosoleku assistendi varundus", //会议助手充值 + "cloudSync": "Pääsyvaraus cloud-synkronointiin", //云端同步 "joinDevice": "Ühendatud seade:", "accountId": "Konto ID:", "systemSetting": "Süsteemi seaded", diff --git a/lib/core/translations/language/fa_ir.dart b/lib/core/translations/language/fa_ir.dart index 92e9889cb..fc7d14415 100644 --- a/lib/core/translations/language/fa_ir.dart +++ b/lib/core/translations/language/fa_ir.dart @@ -429,8 +429,12 @@ const Map faIR = { 'inputAttendees': 'ورود شرکت‌کنندگان', // 设置页 - "systemSettings": "تنظیمات سیستم", - "premiumMember": "عضویت ویژه", + "systemSettings": "تنظیمات سیستم", //系统设置 + "vipRecharge": "شارژ عضویت ویژه", //会员充值 + "premiumMember": "عضویت ویژه", //AI充值 + "translationRecharge": "شارژ ترجمه", //翻译充值 + "meetingAssistantRecharge": "شارژ کمک‌کننده جلسه", //会议助手充值 + "cloudSync": "شارژ همگام‌سازی ابری", //云端同步 "joinDevice": "دستگاه متصل:", "accountId": "شناسه حساب:", "systemSetting": "تنظیمات سیستم", diff --git a/lib/core/translations/language/fi_fi.dart b/lib/core/translations/language/fi_fi.dart index da47b92ad..acf223fbf 100644 --- a/lib/core/translations/language/fi_fi.dart +++ b/lib/core/translations/language/fi_fi.dart @@ -213,8 +213,12 @@ const Map fiFI = { 'meetingTranscript': 'Kokouksen transkriptio', // 设置页 - "systemSettings": "Järjestelmäasetukset", - "premiumMember": "Premium-jäsen", + "systemSettings": "Järjestelmäasetukset", //系统设置 + "vipRecharge": "Premium-jäsenvaraus", //会员充值 + "premiumMember": "Premium-jäsen", //AI充值 + "translationRecharge": "Käännösvaraus", //翻译充值 + "meetingAssistantRecharge": "Kokousavustajan varaus", //会议助手充值 + "cloudSync": "Pääsyvaraus cloud-synkronointiin", //云端同步 "joinDevice": "Yhdistetty laite:", "accountId": "Tilin tunnus:", "systemSetting": "Järjestelmäasetukset", diff --git a/lib/core/translations/language/fr_fr.dart b/lib/core/translations/language/fr_fr.dart index 3ebb0fa62..2531f1951 100644 --- a/lib/core/translations/language/fr_fr.dart +++ b/lib/core/translations/language/fr_fr.dart @@ -219,8 +219,12 @@ const Map frFR = { 'meetingTranscript': 'Transcription de la réunion', // 设置页 - "systemSettings": "Paramètres système", - "premiumMember": "Membre premium", + "systemSettings": "Paramètres système", //系统设置 + "vipRecharge": "Recharge de VIP", //会员充值 + "premiumMember": "Membre premium", //AI充值 + "translationRecharge": "Recharge de traduction", //翻译充值 + "meetingAssistantRecharge": "Recharge de l'assistant de réunion", //会议助手充值 + "cloudSync": "Recharge de synchronisation cloud", //云端同步 "joinDevice": "Appareil connecté :", "accountId": "ID du compte :", "systemSetting": "Paramètres système", diff --git a/lib/core/translations/language/hi_in.dart b/lib/core/translations/language/hi_in.dart index 348a8f121..ae79c91b5 100644 --- a/lib/core/translations/language/hi_in.dart +++ b/lib/core/translations/language/hi_in.dart @@ -210,8 +210,12 @@ const Map hiIN = { 'meetingTranscript': 'बैठक का प्रतिलेख', // 设置页 - "systemSettings": "सिस्टम सेटिंग्स", - "premiumMember": "प्रीमियम सदस्य", + "systemSettings": "सिस्टम सेटिंग्स", //系统设置 + "vipRecharge": "प्रीमियम सदस्य रिचार्ज", //会员充值 + "premiumMember": "प्रीमियम सदस्य", //AI充值 + "translationRecharge": "अनुवाद रिचार्ज", //翻译充值 + "meetingAssistantRecharge": "बैठक असिस्टेंट रिचार्ज", //会议助手充值 + "cloudSync": "क्लाउड सिंक्रोनाइज़ेशन रिचार्ज", //云端同步 "joinDevice": "कनेक्टेड डिवाइस:", "accountId": "खाता आईडी:", "systemSetting": "सिस्टम सेटिंग", diff --git a/lib/core/translations/language/hr_hr.dart b/lib/core/translations/language/hr_hr.dart index b1103c34f..a6a3e0386 100644 --- a/lib/core/translations/language/hr_hr.dart +++ b/lib/core/translations/language/hr_hr.dart @@ -216,8 +216,12 @@ const Map hrHR = { 'meetingTranscript': 'Transkript sastanka', // 设置页 - "systemSettings": "Postavke sustava", - "premiumMember": "Premium član", + "systemSettings": "Postavke sustava", //系统设置 + "vipRecharge": "Ponuda premium članstva", //会员充值 + "premiumMember": "Premium član", //AI充值 + "translationRecharge": "Prijevod ponuda", //翻译充值 + "meetingAssistantRecharge": "Asistent sastanka ponuda", //会议助手充值 + "cloudSync": "Synchronizacija u oblaku ponuda", //云端同步 "joinDevice": "Povezan uređaj:", "accountId": "ID računa:", "systemSetting": "Postavke sustava", diff --git a/lib/core/translations/language/hu_hu.dart b/lib/core/translations/language/hu_hu.dart index 7a47009ff..e20a91487 100644 --- a/lib/core/translations/language/hu_hu.dart +++ b/lib/core/translations/language/hu_hu.dart @@ -216,8 +216,12 @@ const Map huHU = { 'meetingTranscript': 'Megbeszélés átirata', // 设置页 - "systemSettings": "Rendszerbeállítások", - "premiumMember": "Prémium tag", + "systemSettings": "Rendszerbeállítások", //系统设置 + "vipRecharge": "Prémium tag ponuda", //会员充值 + "premiumMember": "Prémium tag", //AI充值 + "translationRecharge": "Fordítás ponuda", //翻译充值 + "meetingAssistantRecharge": "Megbeszélés asszisztens ponuda", //会议助手充值 + "cloudSync": "Synchronizációs ponuda", //云端同步 "joinDevice": "Csatlakoztatott eszköz:", "accountId": "Fiók azonosító:", "systemSetting": "Rendszerbeállítás", diff --git a/lib/core/translations/language/id_id.dart b/lib/core/translations/language/id_id.dart index 7520cd66c..99ba6c8a4 100644 --- a/lib/core/translations/language/id_id.dart +++ b/lib/core/translations/language/id_id.dart @@ -211,8 +211,12 @@ const Map idID = { 'meetingTranscript': 'Transkrip Rapat', // 设置页 - "systemSettings": "Pengaturan Sistem", - "premiumMember": "Anggota Premium", + "systemSettings": "Pengaturan Sistem", //系统设置 + "vipRecharge": "Pembayaran Premium", //会员充值 + "premiumMember": "Anggota Premium", //AI充值 + "translationRecharge": "Pembayaran Terjemahan", //翻译充值 + "meetingAssistantRecharge": "Pembayaran Asisten Rapat", //会议助手充值 + "cloudSync": "Pembayaran Sinkronisasi awan", //云端同步 "joinDevice": "Perangkat terhubung:", "accountId": "ID Akun:", "systemSetting": "Pengaturan Sistem", diff --git a/lib/core/translations/language/is_is.dart b/lib/core/translations/language/is_is.dart index 7976276d5..8990e7301 100644 --- a/lib/core/translations/language/is_is.dart +++ b/lib/core/translations/language/is_is.dart @@ -211,8 +211,12 @@ const Map isIS = { 'meetingTranscript': 'Fundarritun', // 设置页 - "systemSettings": "Kerfisstillingar", - "premiumMember": "Premium meðlimur", + "systemSettings": "Kerfisstillingar", //系统设置 + "vipRecharge": "Premium meðlimurinnsla", //会员充值 + "premiumMember": "Premium meðlimur", //AI充值 + "translationRecharge": "Þýðingsponsoring", //翻译充值 + "meetingAssistantRecharge": "Fundarasistentsponsoring", //会议助手充值 + "cloudSync": "Synchronisering með skýjaraddþjónustu", //云端同步 "joinDevice": "Tengt tæki:", "accountId": "Auðkenni reiknings:", "systemSetting": "Kerfisstillingar", diff --git a/lib/core/translations/language/it_it.dart b/lib/core/translations/language/it_it.dart index ea56b3896..d086c7178 100644 --- a/lib/core/translations/language/it_it.dart +++ b/lib/core/translations/language/it_it.dart @@ -218,8 +218,12 @@ const Map itIT = { 'meetingTranscript': 'Trascrizione riunione', // 设置页 - "systemSettings": "Impostazioni di sistema", - "premiumMember": "Membro Premium", + "systemSettings": "Impostazioni di sistema", //系统设置 + "vipRecharge": "Ricarica membro Premium", //会员充值 + "premiumMember": "Membro Premium", //AI充值 + "translationRecharge": "Recharge traduzione", //翻译充值 + "meetingAssistantRecharge": "Recharge assistente riunione", //会议助手充值 + "cloudSync": "Recharge sincronizzazione cloud", //云端同步 "joinDevice": "Dispositivo connesso:", "accountId": "ID account:", "systemSetting": "Impostazioni di sistema", diff --git a/lib/core/translations/language/ja_jp.dart b/lib/core/translations/language/ja_jp.dart index 877bdc8bb..b8fd8eec6 100644 --- a/lib/core/translations/language/ja_jp.dart +++ b/lib/core/translations/language/ja_jp.dart @@ -202,11 +202,15 @@ const Map jaJP = { 'meeting': '会議', 'recordingDetails': '録音詳細', 'aiSummary': 'AI要約', - 'meetingTranscript': '会議記録', + 'meetingTranscript': '会議記録', //会议记录 // 设置页 - "systemSettings": "システム設定", - "premiumMember": "プレミアムメンバー", + "systemSettings": "システム設定", //系统设置 + "vipRecharge": "プレミアムメンバー料金", //会员充值 + "premiumMember": "プレミアムメンバー", //AI充值 + "translationRecharge": "翻訳料金", //翻译充值 + "meetingAssistantRecharge": "会議アシスタント料金", //会议助手充值 + "cloudSync": "クラウド同期料金", //云端同步 "joinDevice": "接続デバイス:", "accountId": "アカウントID:", "systemSetting": "システム設定", diff --git a/lib/core/translations/language/ko_kr.dart b/lib/core/translations/language/ko_kr.dart index 5e16c8981..84b28783f 100644 --- a/lib/core/translations/language/ko_kr.dart +++ b/lib/core/translations/language/ko_kr.dart @@ -203,8 +203,12 @@ const Map koKR = { 'meetingTranscript': '회의 원문', // 设置页 - "systemSettings": "시스템 설정", - "premiumMember": "프리미엄 회원", + "systemSettings": "시스템 설정", //系统设置 + "vipRecharge": "프리미엄 회원료", //会员充值 + "premiumMember": "프리미엄 회원", //AI充值 + "translationRecharge": "번역료", //翻译充值 + "meetingAssistantRecharge": "회의 어시스턴트료", //会议助手充值 + "cloudSync": "클라우드 동기화료", //云端同步 "joinDevice": "연결된 기기:", "accountId": "계정 ID:", "systemSetting": "시스템 설정", diff --git a/lib/core/translations/language/lt_lt.dart b/lib/core/translations/language/lt_lt.dart index 5588dcb62..0d6fa4d59 100644 --- a/lib/core/translations/language/lt_lt.dart +++ b/lib/core/translations/language/lt_lt.dart @@ -215,8 +215,12 @@ const Map ltLT = { 'meetingTranscript': 'Susitikimo stenograma', // 设置页 - "systemSettings": "Sistemos nustatymai", - "premiumMember": "Premium narys", + "systemSettings": "Sistemos nustatymai", //系统设置 + "vipRecharge": "Premium naryso užsipirkimas", //会员充值 + "premiumMember": "Premium narys", //AI充值 + "translationRecharge": "Vertimo užsipirkimas", //翻译充值 + "meetingAssistantRecharge": "Susitikimų asistento užsipirkimas", //会议助手充值 + "cloudSync": "Synchronizacijos užsipirkimas", //云端同步 "joinDevice": "Prijungtas įrenginys:", "accountId": "Paskyros ID:", "systemSetting": "Sistemos nustatymas", diff --git a/lib/core/translations/language/lv_lv.dart b/lib/core/translations/language/lv_lv.dart index 27aac8005..163d2903e 100644 --- a/lib/core/translations/language/lv_lv.dart +++ b/lib/core/translations/language/lv_lv.dart @@ -214,8 +214,12 @@ const Map lvLV = { 'meetingTranscript': 'Sapulces atšifrējums', // 设置页 - "systemSettings": "Sistēmas iestatījumi", - "premiumMember": "Premium biedrs", + "systemSettings": "Sistēmas iestatījumi", //系统设置 + "vipRecharge": "Premium biedra pārrakstīšana", //会员充值 + "premiumMember": "Premium biedrs", //AI充值 + "translationRecharge": "Tulkošanas pārrakstīšana", //翻译充值 + "meetingAssistantRecharge": "Sapulces palīgs pārrakstīšana", //会议助手充值 + "cloudSync": "Tīkla sincronizācijas pārrakstīšana", //云端同步 "joinDevice": "Savienotā ierīce:", "accountId": "Konta ID:", "systemSetting": "Sistēmas iestatījumi", diff --git a/lib/core/translations/language/ms_my.dart b/lib/core/translations/language/ms_my.dart index 35e225415..099081ffc 100644 --- a/lib/core/translations/language/ms_my.dart +++ b/lib/core/translations/language/ms_my.dart @@ -213,8 +213,12 @@ const Map msMY = { 'meetingTranscript': 'Transkrip Mesyuarat', // 设置页 - "systemSettings": "Tetapan Sistem", - "premiumMember": "Ahli Premium", + "systemSettings": "Tetapan Sistem", //系统设置 + "vipRecharge": "Pembayaran Ahli Premium", //会员充值 + "premiumMember": "Ahli Premium", //AI充值 + "translationRecharge": "Pembayaran Penterjemahan", //翻译充值 + "meetingAssistantRecharge": "Pembayaran Pembantu Mesyuarat", //会议助手充值 + "cloudSync": "Pembayaran Sinkronisasi awan", //云端同步 "joinDevice": "Peranti disambungkan:", "accountId": "ID Akaun:", "systemSetting": "Tetapan Sistem", diff --git a/lib/core/translations/language/nb_no.dart b/lib/core/translations/language/nb_no.dart index 02225c5b6..54a5168a0 100644 --- a/lib/core/translations/language/nb_no.dart +++ b/lib/core/translations/language/nb_no.dart @@ -213,8 +213,12 @@ const Map nbNO = { 'meetingTranscript': 'Møtetranskripsjon', // 设置页 - "systemSettings": "Systeminnstillinger", - "premiumMember": "Premium-medlem", + "systemSettings": "Systeminnstillinger", //系统设置 + "vipRecharge": "Premium-medlemsinnskudd", //会员充值 + "premiumMember": "Premium-medlem", //AI充值 + "translationRecharge": "Oversettelsespenger", //翻译充值 + "meetingAssistantRecharge": "Møteassistentpenger", //会议助手充值 + "cloudSync": "Cloud-synchroniseringspenger", //云端同步 "joinDevice": "Tilkoblet enhet:", "accountId": "Konto-ID:", "systemSetting": "Systeminnstillinger", diff --git a/lib/core/translations/language/nl_nl.dart b/lib/core/translations/language/nl_nl.dart index 043908c23..a6a9ed97d 100644 --- a/lib/core/translations/language/nl_nl.dart +++ b/lib/core/translations/language/nl_nl.dart @@ -214,8 +214,12 @@ const Map nlNL = { 'meetingTranscript': 'Vergadertranscript', // 设置页 - "systemSettings": "Systeeminstellingen", - "premiumMember": "Premium lid", + "systemSettings": "Systeeminstellingen", //系统设置 + "vipRecharge": "Premium lidspayering", //会员充值 + "premiumMember": "Premium lid", //AI充值 + "translationRecharge": "Vertalingspayering", //翻译充值 + "meetingAssistantRecharge": "Vergaderassistentpayering", //会议助手充值 + "cloudSync": "Cloud-synchronisatiepayering", //云端同步 "joinDevice": "Verbonden apparaat:", "accountId": "Account-ID:", "systemSetting": "Systeeminstellingen", diff --git a/lib/core/translations/language/pl_pl.dart b/lib/core/translations/language/pl_pl.dart index c6b2c7add..604087c23 100644 --- a/lib/core/translations/language/pl_pl.dart +++ b/lib/core/translations/language/pl_pl.dart @@ -215,8 +215,12 @@ const Map plPL = { 'meetingTranscript': 'Transkrypcja spotkania', // 设置页 - "systemSettings": "Ustawienia systemowe", - "premiumMember": "Członek Premium", + "systemSettings": "Ustawienia systemowe", //系统设置 + "vipRecharge": "Płatność Premium", //会员充值 + "premiumMember": "Członek Premium", //AI充值 + "translationRecharge": "Płatność tłumaczenia", //翻译充值 + "meetingAssistantRecharge": "Płatność asystenta spotkań", //会议助手充值 + "cloudSync": "Płatność synchronizacji w chmurze", //云端同步 "joinDevice": "Podłączone urządzenie:", "accountId": "ID konta:", "systemSetting": "Ustawienia systemowe", diff --git a/lib/core/translations/language/pt_pt.dart b/lib/core/translations/language/pt_pt.dart index 54d7e7724..3c88d9636 100644 --- a/lib/core/translations/language/pt_pt.dart +++ b/lib/core/translations/language/pt_pt.dart @@ -218,8 +218,12 @@ const Map ptPT = { 'meetingTranscript': 'Transcrição da Reunião', // 设置页 - "systemSettings": "Definições do Sistema", - "premiumMember": "Membro Premium", + "systemSettings": "Definições do Sistema", //系统设置 + "vipRecharge": "Recarga Premium", //会员充值 + "premiumMember": "Membro Premium", //AI充值 + "translationRecharge": "Recarga de Tradução", //翻译充值 + "meetingAssistantRecharge": "Recarga do Assistente de Reunião", //会议助手充值 + "cloudSync": "Recarga de Sincronização em Nuvem", //云端同步 "joinDevice": "Dispositivo conectado:", "accountId": "ID da Conta:", "systemSetting": "Definição do Sistema", diff --git a/lib/core/translations/language/ro_ro.dart b/lib/core/translations/language/ro_ro.dart index 8075a5f50..e795b025a 100644 --- a/lib/core/translations/language/ro_ro.dart +++ b/lib/core/translations/language/ro_ro.dart @@ -217,8 +217,12 @@ const Map roRO = { 'meetingTranscript': 'Transcriere ședință', // 设置页 - "systemSettings": "Setări de sistem", - "premiumMember": "Membru Premium", + "systemSettings": "Setări de sistem", //系统设置 + "vipRecharge": "Recarga Premium", //会员充值 + "premiumMember": "Membru Premium", //AI充值 + "translationRecharge": "Recarga de traducere", //翻译充值 + "meetingAssistantRecharge": "Recarga de asistent ședință", //会议助手充值 + "cloudSync": "Recarga de sincronizare în cloud", //云端同步 "joinDevice": "Dispozitiv conectat:", "accountId": "ID cont:", "systemSetting": "Setări de sistem", diff --git a/lib/core/translations/language/ru_ru.dart b/lib/core/translations/language/ru_ru.dart index 2e8bad9f0..d39d79a7e 100644 --- a/lib/core/translations/language/ru_ru.dart +++ b/lib/core/translations/language/ru_ru.dart @@ -216,8 +216,12 @@ const Map ruRU = { 'meetingTranscript': 'Транскрипт встречи', // 设置页 - "systemSettings": "Системные настройки", - "premiumMember": "Премиум-участник", + "systemSettings": "Системные настройки", //系统设置 + "vipRecharge": "Пополнение премиум-члена", //会员充值 + "premiumMember": "Премиум-участник", //AI充值 + "translationRecharge": "Пополнение перевода", //翻译充值 + "meetingAssistantRecharge": "Пополнение помощника встречи", //会议助手充值 + "cloudSync": "Пополнение синхронизации в облаке", //云端同步 "joinDevice": "Подключенное устройство:", "accountId": "ID аккаунта:", "systemSetting": "Системные настройки", diff --git a/lib/core/translations/language/sk_sk.dart b/lib/core/translations/language/sk_sk.dart index 32d14d1fe..0316a20da 100644 --- a/lib/core/translations/language/sk_sk.dart +++ b/lib/core/translations/language/sk_sk.dart @@ -214,8 +214,12 @@ const Map skSK = { 'meetingTranscript': 'Prepis stretnutia', // 设置页 - "systemSettings": "Systémové nastavenia", - "premiumMember": "Prémium člen", + "systemSettings": "Systémové nastavenia", //系统设置 + "vipRecharge": "Nákup prémium členstva", //会员充值 + "premiumMember": "Prémium člen", //AI充值 + "translationRecharge": "Nákup prekladov", //翻译充值 + "meetingAssistantRecharge": "Nákup asistentu stretnutia", //会议助手充值 + "cloudSync": "Nákup synchronizácie v cloude", //云端同步 "joinDevice": "Pripojené zariadenie:", "accountId": "ID účtu:", "systemSetting": "Systémové nastavenie", diff --git a/lib/core/translations/language/sl_si.dart b/lib/core/translations/language/sl_si.dart index 2c9eec354..de9d0276c 100644 --- a/lib/core/translations/language/sl_si.dart +++ b/lib/core/translations/language/sl_si.dart @@ -214,8 +214,12 @@ const Map slSI = { 'meetingTranscript': 'Prepis sestanka', // 设置页 - "systemSettings": "Sistemske nastavitve", - "premiumMember": "Premium član", + "systemSettings": "Sistemske nastavitve", //系统设置 + "vipRecharge": "Nákup premium člana", //会员充值 + "premiumMember": "Premium član", //AI充值 + "translationRecharge": "Nákup prevajanja", //翻译充值 + "meetingAssistantRecharge": "Nákup asistenta sestanka", //会议助手充值 + "cloudSync": "Nákup sinkronizacije v oblaku", //云端同步 "joinDevice": "Povezana naprava:", "accountId": "ID računa:", "systemSetting": "Sistemska nastavitev", diff --git a/lib/core/translations/language/sr_rs.dart b/lib/core/translations/language/sr_rs.dart index 1ab654c58..c8b61f61c 100644 --- a/lib/core/translations/language/sr_rs.dart +++ b/lib/core/translations/language/sr_rs.dart @@ -213,8 +213,12 @@ const Map srRS = { 'meetingTranscript': 'Transkript sastanka', // 设置页 - "systemSettings": "Sistemska podešavanja", - "premiumMember": "Premium član", + "systemSettings": "Sistemska podešavanja", //系统设置 + "vipRecharge": "Nákup premium člana", //会员充值 + "premiumMember": "Premium član", //AI充值 + "translationRecharge": "Nákup prevajanja", //翻译充值 + "meetingAssistantRecharge": "Nákup asistenta sastanka", //会议助手充值 + "cloudSync": "Nákup sinkronizacije u oblaku", //云端同步 "joinDevice": "Povezan uređaj:", "accountId": "ID naloga:", "systemSetting": "Sistemsko podešavanje", diff --git a/lib/core/translations/language/sv_se.dart b/lib/core/translations/language/sv_se.dart index 0ee05fc05..01db4c3ac 100644 --- a/lib/core/translations/language/sv_se.dart +++ b/lib/core/translations/language/sv_se.dart @@ -214,8 +214,12 @@ const Map svSE = { 'meetingTranscript': 'Mötesutskrift', // 设置页 - "systemSettings": "Systeminställningar", - "premiumMember": "Premium-medlem", + "systemSettings": "Systeminställningar", //系统设置 + "vipRecharge": "Premium-låntagning", //会员充值 + "premiumMember": "Premium-medlem", //AI充值 + "translationRecharge": "Översättningslåntagning", //翻译充值 + "meetingAssistantRecharge": "Mötesassistentlåntagning", //会议助手充值 + "cloudSync": "Molnsynkronisering", //云端同步 "joinDevice": "Ansluten enhet:", "accountId": "Konto-ID:", "systemSetting": "Systeminställning", diff --git a/lib/core/translations/language/th_th.dart b/lib/core/translations/language/th_th.dart index 0f5b3d2bb..60c85fcd1 100644 --- a/lib/core/translations/language/th_th.dart +++ b/lib/core/translations/language/th_th.dart @@ -206,8 +206,12 @@ const Map thTH = { 'meetingTranscript': 'ข้อความถอดเสียงการประชุม', // 设置页 - "systemSettings": "การตั้งค่าระบบ", - "premiumMember": "สมาชิกระดับพรีเมียม", + "systemSettings": "การตั้งค่าระบบ", //系统设置 + "vipRecharge": "การเติมเงินสมาชิกระดับพรีเมียม", //会员充值 + "premiumMember": "สมาชิกระดับพรีเมียม", //AI充值 + "translationRecharge": "การเติมเงินการแปล", //翻译充值 + "meetingAssistantRecharge": "การเติมเงินผู้ช่วยการประชุม", //会议助手充值 + "cloudSync": "การเติมเงินการ đồng bộ hóaคลาวด์", //云端同步 "joinDevice": "อุปกรณ์ที่เชื่อมต่อ:", "accountId": "ID บัญชี:", "systemSetting": "การตั้งค่าระบบ", diff --git a/lib/core/translations/language/tl_ph.dart b/lib/core/translations/language/tl_ph.dart index 507867777..9b537f6b5 100644 --- a/lib/core/translations/language/tl_ph.dart +++ b/lib/core/translations/language/tl_ph.dart @@ -217,8 +217,12 @@ const Map tlPH = { 'meetingTranscript': 'Transkripsyon ng Pulong', // 设置页 - "systemSettings": "Mga Setting ng System", - "premiumMember": "Premium na Miyembro", + "systemSettings": "Mga Setting ng System", //系统设置 + "vipRecharge": "Pagsasalin ng Recharge ng Premium na Miyembro", //会员充值 + "premiumMember": "Premium na Miyembro", //AI充值 + "translationRecharge": "Pagsasalin ng Recharge", //翻译充值 + "meetingAssistantRecharge": "Pagsasalin ng Recharge ng Pulong", //会议助手充值 + "cloudSync": "Pagsasalin ng Recharge ng Cloud", //云端同步 "joinDevice": "Konektadong device:", "accountId": "Account ID:", "systemSetting": "Setting ng System", diff --git a/lib/core/translations/language/tr_tr.dart b/lib/core/translations/language/tr_tr.dart index 1edb17ea9..8d4453991 100644 --- a/lib/core/translations/language/tr_tr.dart +++ b/lib/core/translations/language/tr_tr.dart @@ -211,8 +211,12 @@ const Map trTR = { 'meetingTranscript': 'Toplantı Metni', // 设置页 - "systemSettings": "Sistem Ayarları", - "premiumMember": "Premium Üye", + "systemSettings": "Sistem Ayarları", //系统设置 + "vipRecharge": "Premium Üye Recharge", //会员充值 + "premiumMember": "Premium Üye", //AI充值 + "translationRecharge": "Çeviri Toplantı Recharge", //翻译充值 + "meetingAssistantRecharge": "Toplantı Asistanı Recharge", //会议助手充值 + "cloudSync": "Bulut Sincronizasyonu", //云端同步 "joinDevice": "Bağlı cihaz:", "accountId": "Hesap Kimliği:", "systemSetting": "Sistem Ayarları", diff --git a/lib/core/translations/language/uk_ua.dart b/lib/core/translations/language/uk_ua.dart index 0c010296f..28f538d65 100644 --- a/lib/core/translations/language/uk_ua.dart +++ b/lib/core/translations/language/uk_ua.dart @@ -215,8 +215,12 @@ const Map ukUA = { 'meetingTranscript': 'Транскрипт зустрічі', // 设置页 - "systemSettings": "Системні налаштування", - "premiumMember": "Преміум-учасник", + "systemSettings": "Системні налаштування", //系统设置 + "vipRecharge": "Підписатися на премиум-членство", //会员充值 + "premiumMember": "Преміум-учасник", //AI充值 + "translationRecharge": "Підписатися на переклад", //翻译充值 + "meetingAssistantRecharge": "Підписатися на допомогу з зустрічю", //会议助手充值 + "cloudSync": "Увімкнути синхронізацію в хмарі", //云端同步 "joinDevice": "Підключений пристрій:", "accountId": "ID облікового запису:", "systemSetting": "Системні налаштування", diff --git a/lib/core/translations/language/vi_vn.dart b/lib/core/translations/language/vi_vn.dart index 3c5336eef..7055badee 100644 --- a/lib/core/translations/language/vi_vn.dart +++ b/lib/core/translations/language/vi_vn.dart @@ -210,8 +210,12 @@ const Map viVN = { 'meetingTranscript': 'Bản ghi cuộc họp', // 设置页 - "systemSettings": "Cài đặt hệ thống", - "premiumMember": "Thành viên Premium", + "systemSettings": "Cài đặt hệ thống", //系统设置 + "vipRecharge": "Nạp lại dịch vụ Premium", //会员充值 + "premiumMember": "Thành viên Premium", //AI充值 + "translationRecharge": "Nạp lại dịch vụ dịch", //翻译充值 + "meetingAssistantRecharge": "Nạp lại dịch vụ hỗ trợ họp", //会议助手充值 + "cloudSync": "Chuyển đổi đồng bộ hóa đám mây", //云端同步 "joinDevice": "Thiết bị đã kết nối:", "accountId": "ID tài khoản:", "systemSetting": "Cài đặt hệ thống", diff --git a/lib/core/translations/language/zh_cn.dart b/lib/core/translations/language/zh_cn.dart index 763f1adfc..d96d17eb7 100644 --- a/lib/core/translations/language/zh_cn.dart +++ b/lib/core/translations/language/zh_cn.dart @@ -559,7 +559,11 @@ const Map zhCN = { // 设置页 "systemSettings": "系统设置", - "premiumMember": "高级会员", + "vipRecharge": "会员充值", + "premiumMember": "AI充值", + "translationRecharge": "翻译充值", + "meetingAssistantRecharge": "会议充值", + "cloudSync": "云端同步", "memberService": "会员服务", "bindRewardTitle": "奖励", "bindRewardSimpleDesc": "首次绑定设备奖励已下发,点击确定关闭即可", diff --git a/lib/core/translations/language/zh_hk.dart b/lib/core/translations/language/zh_hk.dart index c75856db6..2d31ea168 100644 --- a/lib/core/translations/language/zh_hk.dart +++ b/lib/core/translations/language/zh_hk.dart @@ -225,8 +225,12 @@ const Map zhHK = { 'meetingTranscript': '會議原文', // 設定頁 - "systemSettings": "系統設定", - "premiumMember": "高級會員", + "systemSettings": "系統設定", //系统设置 + "vipRecharge": "高級會員充值", //会员充值 + "premiumMember": "高級會員", //AI充值 + "translationRecharge": "翻譯充值", //翻译充值 + "meetingAssistantRecharge": "會議充值", //会议充值 + "cloudSync": "雲端同步", //云端同步 "joinDevice": "已連接設備:", "accountId": "帳號ID:", "systemSetting": "系統設定", diff --git a/lib/modules/settings/views/settings_view.dart b/lib/modules/settings/views/settings_view.dart index 7691cba0a..9bd94a050 100644 --- a/lib/modules/settings/views/settings_view.dart +++ b/lib/modules/settings/views/settings_view.dart @@ -40,11 +40,11 @@ class SettingsView extends GetView { padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 16.h), children: [ _buildUserInfoCard(isDarkMode), - SizedBox(height: 20.h), + SizedBox(height: 12.h), _buildVipPurchaseCard(isDarkMode), // SizedBox(height: 20.h), // _buildAISettingsSection(isDarkMode), - SizedBox(height: 20.h), + SizedBox(height: 16.h), _buildSystemSettingsSection(isDarkMode), SizedBox(height: 20.h), _buildAboutSection(isDarkMode), @@ -220,15 +220,15 @@ class SettingsView extends GetView { // 构建Vip购买卡片 Widget _buildVipPurchaseCard(bool isDarkMode) { return Container( - padding: EdgeInsets.all(16.w), + padding: EdgeInsets.fromLTRB(16.w, 16.h, 16.w, 12.h), decoration: BoxDecoration( gradient: LinearGradient( colors: isDarkMode ? [ - const Color(0xFF4A148C).withOpacity(0.7), - const Color(0xFFAD1457).withOpacity(0.7) + const Color(0xFF0D47A1).withOpacity(0.5), + const Color(0xFF1976D2).withOpacity(0.5) ] - : [const Color(0xFFF8BBD0), const Color(0xFFE1BEE7)], + : [const Color(0xFFE3F2FD), const Color(0xFFBBDEFB)], begin: Alignment.topLeft, end: Alignment.bottomRight, ), @@ -243,45 +243,64 @@ class SettingsView extends GetView { ), ], ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - _buildCategoryItem( - icon: Icons.workspace_premium, - label: 'premiumMember'.tr, - iconBg: isDarkMode - ? Colors.amber[900]!.withOpacity(0.3) - : Colors.amber[100]!, - iconColor: isDarkMode ? Colors.amber[300]! : Colors.amber[600]!, - onTap: () => Get.toNamed(Routes.goodsvip), - ), - _buildCategoryItem( - icon: Icons.translate, - label: 'interpretation'.tr, - iconBg: isDarkMode - ? Colors.indigo[900]!.withOpacity(0.3) - : Colors.indigo[100]!, - iconColor: isDarkMode ? Colors.indigo[300]! : Colors.indigo[600]!, - onTap: () => Get.toNamed(Routes.goodstrade), + Text( + 'vipRecharge'.tr, // 会员充值 + style: TextStyle( + fontSize: 14.sp, + fontWeight: FontWeight.w600, + color: isDarkMode ? Colors.white : Colors.black87, + ), ), - _buildCategoryItem( - icon: Icons.people, - label: 'conferenceAssistant'.tr, - iconBg: isDarkMode - ? Colors.pink[900]!.withOpacity(0.3) - : Colors.pink[100]!, - iconColor: isDarkMode ? Colors.pink[300]! : Colors.pink[600]!, - onTap: () => Get.toNamed(Routes.goodsmeet), + SizedBox(height: 12.h), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + _buildCategoryItem( + icon: Icons.workspace_premium, + label: 'premiumMember'.tr, //AI充值 + iconBg: isDarkMode + ? Colors.amber[900]!.withOpacity(0.3) + : Colors.amber[100]!, + iconColor: isDarkMode ? Colors.amber[300]! : Colors.amber[600]!, + textColor: isDarkMode ? Colors.white : Colors.black87, + onTap: () => Get.toNamed(Routes.goodsvip), + ), + _buildCategoryItem( + icon: Icons.translate, + label: 'translationRecharge'.tr, //翻译充值 + iconBg: isDarkMode + ? Colors.indigo[900]!.withOpacity(0.3) + : Colors.indigo[100]!, + iconColor: + isDarkMode ? Colors.indigo[300]! : Colors.indigo[600]!, + textColor: isDarkMode ? Colors.white : Colors.black87, + onTap: () => Get.toNamed(Routes.goodstrade), + ), + _buildCategoryItem( + icon: Icons.people, + label: 'meetingAssistantRecharge'.tr, //会议充值 + iconBg: isDarkMode + ? Colors.pink[900]!.withOpacity(0.3) + : Colors.pink[100]!, + iconColor: isDarkMode ? Colors.pink[300]! : Colors.pink[600]!, + textColor: isDarkMode ? Colors.white : Colors.black87, + onTap: () => Get.toNamed(Routes.goodsmeet), + ), + _buildCategoryItem( + icon: Icons.cloud, + label: 'cloudSync'.tr, //云端同步 + iconBg: isDarkMode + ? Colors.teal[900]!.withOpacity(0.3) + : Colors.teal[100]!, + iconColor: isDarkMode ? Colors.teal[300]! : Colors.teal[600]!, + textColor: isDarkMode ? Colors.white : Colors.black87, + onTap: () => {}, + ), + ], ), - // _buildCategoryItem( - // icon: Icons.smart_toy, - // label: 'aiFunction'.tr, - // iconBg: isDarkMode - // ? Colors.teal[900]!.withOpacity(0.3) - // : Colors.teal[100]!, - // iconColor: isDarkMode ? Colors.teal[300]! : Colors.teal[600]!, - // onTap: () => Get.toNamed(Routes.goodsai), - // ), ], ), ); @@ -293,6 +312,7 @@ class SettingsView extends GetView { required Color iconBg, required Color iconColor, required VoidCallback onTap, + Color? textColor, }) { return InkWell( onTap: onTap, @@ -312,7 +332,7 @@ class SettingsView extends GetView { color: iconColor, ), ), - SizedBox(height: 8.h), + SizedBox(height: 5.h), SizedBox( width: 72.w, height: 32.h, @@ -323,7 +343,8 @@ class SettingsView extends GetView { style: TextStyle( fontSize: 12.sp, fontWeight: FontWeight.w500, - color: Colors.white, + color: textColor ?? + (Get.isDarkMode ? Colors.white : Colors.black87), height: 1.2, ), maxLines: 2, From 8cd94f9c87ff6fc949cf5e4ca08c1504f966c493 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Sat, 6 Dec 2025 15:27:57 +0800 Subject: [PATCH 3/7] =?UTF-8?q?fix(account):=20=E5=9C=A8=E7=99=BB=E5=87=BA?= =?UTF-8?q?=E6=97=B6=E6=B8=85=E7=90=86=E7=94=A8=E6=88=B7=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加User.clearUserSession()调用以确保用户登出时完全清理会话数据 同时在蓝牙管理器中增加登录状态检查,防止未登录时跳转配对页面 --- lib/data/services/account_service.dart | 3 +++ lib/data/services/bluetooth_manager.dart | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/data/services/account_service.dart b/lib/data/services/account_service.dart index c2c9748bd..1293ecec5 100644 --- a/lib/data/services/account_service.dart +++ b/lib/data/services/account_service.dart @@ -7,6 +7,7 @@ import '../../modules/login/controllers/facebookLogin.dart'; import '../services/network/api.dart'; import 'db/database_helper.dart'; import 'meeting/meeting_task_service.dart'; +import '../../data/models/user_Info.dart'; /// 账号管理服务 /// @@ -33,6 +34,7 @@ class AccountService extends GetxService { await _storage.write("logintoken", null); await _storage.write("user_info", null); await _storage.write("local_avatar", null); + User.clearUserSession(); logger.d('用户数据清理成功'); return true; } catch (e) { @@ -45,6 +47,7 @@ class AccountService extends GetxService { // 清理所有用户数据 try { await _storage.erase(); + User.clearUserSession(); logger.d('所有用户数据清理成功'); return true; } catch (e) { diff --git a/lib/data/services/bluetooth_manager.dart b/lib/data/services/bluetooth_manager.dart index ee28c94fa..7075fa3d4 100644 --- a/lib/data/services/bluetooth_manager.dart +++ b/lib/data/services/bluetooth_manager.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:get/get.dart'; import 'package:classic_bluetooth/classic_bluetooth.dart'; +import 'package:get_storage/get_storage.dart'; import '../../core/utils/logger.dart'; import '../../routes/app_routes.dart'; import 'ble_manager.dart'; @@ -21,6 +22,7 @@ class BluetoothManager extends GetxService { final Rx currentDeviceRx = Rx(null); BluetoothDevice? get currentDevice => currentDeviceRx.value; final BleManager _bleManager = Get.find(); + final GetStorage _storage = GetStorage(); // 订阅 StreamSubscription? _bluetoothSubscription; @@ -76,7 +78,8 @@ class BluetoothManager extends GetxService { currentDeviceRx.value = newDevice; // 检查当前是否在OTA升级界面,如果是则不跳转 - if (!_isInOtaUpgradePage() && + if (_isLoggedIn() && + !_isInOtaUpgradePage() && !_bleManager.isConnected && Get.currentRoute != Routes.pairing) { Get.toNamed(Routes.pairing, arguments: newDevice); @@ -161,4 +164,14 @@ class BluetoothManager extends GetxService { return false; } } + + /// 是否已登录 + bool _isLoggedIn() { + try { + final token = _storage.read('logintoken'); + return token != null && token is String && token.isNotEmpty; + } catch (e) { + return false; + } + } } From 7866066efb6f5706e109a9f48b02c2550ad44f88 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Sat, 6 Dec 2025 16:57:30 +0800 Subject: [PATCH 4/7] =?UTF-8?q?feat(=E7=94=A8=E6=88=B7=E7=A7=AF=E5=88=86):?= =?UTF-8?q?=20=E5=9C=A8=E7=BF=BB=E8=AF=91=E5=92=8C=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=B7=BB=E5=8A=A0=E7=A7=AF=E5=88=86=E5=89=A9?= =?UTF-8?q?=E4=BD=99=E6=97=B6=E9=97=B4=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为翻译中间层视图和会议主页面的AppBar底部添加积分剩余时间显示组件,包含时间格式化和进度条展示功能。当用户登录时显示剩余积分时间,未登录时显示0。使用Obx实现数据响应式更新,并根据当前主题模式适配样式。 --- .../meeting/views/meeting_home_view.dart | 67 ++++++++++++++++++- .../views/translation_middleware_view.dart | 66 ++++++++++++++++++ 2 files changed, 131 insertions(+), 2 deletions(-) diff --git a/lib/modules/meeting/views/meeting_home_view.dart b/lib/modules/meeting/views/meeting_home_view.dart index f9a9dd988..bf9cf58e4 100644 --- a/lib/modules/meeting/views/meeting_home_view.dart +++ b/lib/modules/meeting/views/meeting_home_view.dart @@ -10,6 +10,7 @@ import '../controllers/meeting_home_controller.dart'; import '../model/meeting_model.dart'; import '../utils/meeting_ui_utils.dart'; import 'bottomSheet/edit_title_bottom_sheet.dart'; +import '../../../../data/models/user_Info.dart'; ///会议主页面,提供会议列表、会议详情、会议设置 class MeetingHomeView extends StatefulWidget { @@ -173,6 +174,60 @@ class _MeetingHomeViewState extends State ), ), centerTitle: true, + bottom: PreferredSize( + preferredSize: Size.fromHeight(28.w), + child: Obx(() { + final _ = User.refreshTick.value; + final remain = User.isLoggedIn() ? User.instance.meetintegral : 0; + final total = User.isLoggedIn() ? User.instance.meettotalintegral : 0; + final double fraction = + total > 0 ? (remain / total).clamp(0.0, 1.0).toDouble() : 0.0; + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Container( + padding: EdgeInsets.only(right: 12.w, bottom: 4.w), + alignment: Alignment.centerRight, + child: Text( + _formatHms(remain), + style: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.white70 : Colors.black54, + ), + ), + ), + LayoutBuilder( + builder: (context, constraints) { + final barWidth = constraints.maxWidth * fraction; + return Stack( + children: [ + Container( + height: 2.w, + decoration: BoxDecoration( + color: isDarkMode ? Colors.white10 : Colors.black12, + borderRadius: BorderRadius.circular(2.w), + ), + ), + Align( + alignment: Alignment.centerRight, + child: Container( + width: barWidth, + height: 2.w, + decoration: BoxDecoration( + color: MeetingUIUtils.getButtonColor(isDarkMode), + borderRadius: BorderRadius.circular(2.w), + ), + ), + ), + ], + ); + }, + ), + ], + ); + }), + ), ); } @@ -320,8 +375,8 @@ class _MeetingHomeViewState extends State : const SizedBox(); }), Obx(() { - Map taskData = _controller.taskAggregator.taskFinishList - .firstWhere( + Map taskData = + _controller.taskAggregator.taskFinishList.firstWhere( (element) => element['id'] == data.id, orElse: () => {}, ); @@ -456,4 +511,12 @@ class _MeetingHomeViewState extends State return '${hours}h ${remainingMinutes}m ${remainingSeconds}s'; } } + + String _formatHms(int seconds) { + int h = seconds ~/ 3600; + int m = (seconds % 3600) ~/ 60; + int s = seconds % 60; + String twoDigits(int n) => n.toString().padLeft(2, '0'); + return '${twoDigits(h)}:${twoDigits(m)}:${twoDigits(s)}'; + } } diff --git a/lib/modules/translation/middleware/views/translation_middleware_view.dart b/lib/modules/translation/middleware/views/translation_middleware_view.dart index adc9d95cb..678efb2d5 100644 --- a/lib/modules/translation/middleware/views/translation_middleware_view.dart +++ b/lib/modules/translation/middleware/views/translation_middleware_view.dart @@ -3,6 +3,7 @@ import 'package:get/get.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import '../controllers/translation_middleware_controller.dart'; import '../../../../core/theme/app_colors.dart'; +import '../../../../data/models/user_Info.dart'; /// 翻译中间层视图 /// 展示四种翻译功能的入口选项 @@ -44,6 +45,63 @@ class TranslationMiddlewareView color: isDarkMode ? Colors.white : Colors.black, ), ), + bottom: PreferredSize( + preferredSize: Size.fromHeight(28.w), + child: Obx(() { + final _ = User.refreshTick.value; + final remain = User.isLoggedIn() ? User.instance.tradeintegral : 0; + final total = + User.isLoggedIn() ? User.instance.tradetotalintegral : 0; + final double fraction = + total > 0 ? (remain / total).clamp(0.0, 1.0).toDouble() : 0.0; + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Container( + padding: EdgeInsets.only(right: 12.w, bottom: 4.w), + alignment: Alignment.centerRight, + child: Text( + _formatHms(remain), + style: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.white70 : Colors.black54, + ), + ), + ), + LayoutBuilder( + builder: (context, constraints) { + final barWidth = constraints.maxWidth * fraction; + return Stack( + children: [ + Container( + height: 2.w, + decoration: BoxDecoration( + color: isDarkMode ? Colors.white10 : Colors.black12, + borderRadius: BorderRadius.circular(2.w), + ), + ), + Align( + alignment: Alignment.centerRight, + child: Container( + width: barWidth, + height: 2.w, + decoration: BoxDecoration( + color: isDarkMode + ? const Color(0xFF0066CC) + : Colors.blue, + borderRadius: BorderRadius.circular(2.w), + ), + ), + ), + ], + ); + }, + ), + ], + ); + }), + ), ); } @@ -152,4 +210,12 @@ class TranslationMiddlewareView ), ); } + + String _formatHms(int seconds) { + int h = seconds ~/ 3600; + int m = (seconds % 3600) ~/ 60; + int s = seconds % 60; + String twoDigits(int n) => n.toString().padLeft(2, '0'); + return '${twoDigits(h)}:${twoDigits(m)}:${twoDigits(s)}'; + } } From 23c3db8b585cf2ae11538a27b0809d699a7812b8 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Sat, 6 Dec 2025 18:20:28 +0800 Subject: [PATCH 5/7] =?UTF-8?q?feat(i18n):=20=E6=B7=BB=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E9=87=8F=E7=BB=9F=E8=AE=A1=E7=9A=84=E5=A4=9A=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=B9=B6=E7=A7=BB=E9=99=A4=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E7=AD=89=E7=BA=A7=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在探索控制器中添加用量统计的翻译注释,并在设置视图中注释掉会员等级显示代码 --- lib/core/translations/language/ar_sa.dart | 16 +----- lib/core/translations/language/bg_bg.dart | 17 +----- lib/core/translations/language/cs_cz.dart | 16 +----- lib/core/translations/language/da_dk.dart | 17 +----- lib/core/translations/language/de_de.dart | 18 ++----- lib/core/translations/language/el_gr.dart | 17 +----- lib/core/translations/language/en_us.dart | 16 +----- lib/core/translations/language/es_es.dart | 17 +----- lib/core/translations/language/et_ee.dart | 16 +----- lib/core/translations/language/fa_ir.dart | 16 +----- lib/core/translations/language/fi_fi.dart | 17 +----- lib/core/translations/language/fr_fr.dart | 18 +------ lib/core/translations/language/hi_in.dart | 16 +----- lib/core/translations/language/hr_hr.dart | 18 +------ lib/core/translations/language/hu_hu.dart | 17 +----- lib/core/translations/language/id_id.dart | 17 +----- lib/core/translations/language/is_is.dart | 16 +----- lib/core/translations/language/it_it.dart | 18 +------ lib/core/translations/language/ja_jp.dart | 15 +----- lib/core/translations/language/ko_kr.dart | 15 +----- lib/core/translations/language/lt_lt.dart | 17 +----- lib/core/translations/language/lv_lv.dart | 17 +----- lib/core/translations/language/ms_my.dart | 17 +----- lib/core/translations/language/nb_no.dart | 17 +----- lib/core/translations/language/nl_nl.dart | 17 +----- lib/core/translations/language/pl_pl.dart | 17 +----- lib/core/translations/language/pt_pt.dart | 18 +------ lib/core/translations/language/ro_ro.dart | 18 +------ lib/core/translations/language/ru_ru.dart | 18 +------ lib/core/translations/language/sk_sk.dart | 17 +----- lib/core/translations/language/sl_si.dart | 17 +----- lib/core/translations/language/sr_rs.dart | 17 +----- lib/core/translations/language/sv_se.dart | 18 +------ lib/core/translations/language/th_th.dart | 16 +----- lib/core/translations/language/tl_ph.dart | 18 +------ lib/core/translations/language/tr_tr.dart | 17 +----- lib/core/translations/language/uk_ua.dart | 18 +------ lib/core/translations/language/vi_vn.dart | 17 +----- lib/core/translations/language/zh_cn.dart | 15 +----- lib/core/translations/language/zh_hk.dart | 15 +----- .../controllers/explore_controller.dart | 4 +- lib/modules/settings/views/settings_view.dart | 54 +++++++++---------- 42 files changed, 110 insertions(+), 622 deletions(-) diff --git a/lib/core/translations/language/ar_sa.dart b/lib/core/translations/language/ar_sa.dart index 3b1578ce3..305c3d04e 100644 --- a/lib/core/translations/language/ar_sa.dart +++ b/lib/core/translations/language/ar_sa.dart @@ -180,21 +180,9 @@ const Map arSA = { "conferenceAssistant": "مساعد اجتماعات الأعمال", "conferenceAssistantInfo": "تسجيل محاضر الاجتماعات في الوقت الفعلي، ترجمة متعددة اللغات", - "studyAssistant": "مساعد تعلم اللغة", - "studyAssistantInfo": "تصحيح النطق، ممارسة المحادثة في الوقت الفعلي", - "travelTranslator": "مساعد ترجمة السفر", - "travelTranslatorInfo": "ترجمة صوتية فورية، مقدمة عن مناطق الجذب السياحي", - "beSearching": "جاري البحث:", - "noAssistantFound": "لم يتم العثور على مساعد الذكاء الاصطناعي المقابل", + "usageStats": "إحصائيات الاستخدام", // 用量统计 + "usageStatsInfo": "عرض إحصائيات استخدامك", // 查看您的使用统计数据 "scene": "مشهد", - "youHaveSelected": "لقد اخترت:", - "newFunction": "وظيفة جديدة", - "youChoseTry": "لقد اخترت التجربة", - "aiSinger": "وضع مغني الذكاء الاصطناعي", - "aiSingerInfo": - "غنِ أي أغنية بصوت فنانك المفضل، حتى الأغاني التي كتبتها بنفسك", - "popularFunction": "مشاهد الوظائف الشائعة", - "tryNow": "جرب الآن", // 商务会议助手页 "startMeeting": "بدء الاجتماع", diff --git a/lib/core/translations/language/bg_bg.dart b/lib/core/translations/language/bg_bg.dart index 0a9e23018..2dbbb3034 100644 --- a/lib/core/translations/language/bg_bg.dart +++ b/lib/core/translations/language/bg_bg.dart @@ -183,22 +183,9 @@ const Map bgBG = { "conferenceAssistant": "Асистент за бизнес срещи", "conferenceAssistantInfo": "Записване на протоколи в реално време и многоезичен превод", - "studyAssistant": "Асистент за изучаване на езици", - "studyAssistantInfo": "Корекция на произношението и практика на говоренето", - "travelTranslator": "Пътуващ преводач", - "travelTranslatorInfo": - "Гласов превод в реално време и гид за забележителности", - "beSearching": "Търсене:", - "noAssistantFound": "Не е намерен съответстващ AI асистент", + "usageStats": "Статистика за използване", + "usageStatsInfo": "Прегледвайте статистика за използване на приложението", "scene": "Сценарии", - "youHaveSelected": "Избрахте:", - "newFunction": "Нови функции", - "youChoseTry": "Избрахте да опитате", - "aiSinger": "AI певец режим", - "aiSingerInfo": - "Пейте всяка песен с гласа на любимия си изпълнител, дори собствените си творения", - "popularFunction": "Популярни функции", - "tryNow": "Опитай сега", // 商务会议助手页 "startMeeting": "Започни среща", diff --git a/lib/core/translations/language/cs_cz.dart b/lib/core/translations/language/cs_cz.dart index b9793a751..67c41a489 100644 --- a/lib/core/translations/language/cs_cz.dart +++ b/lib/core/translations/language/cs_cz.dart @@ -182,21 +182,9 @@ const Map csCZ = { "conferenceAssistant": "Asistent obchodních schůzek", "conferenceAssistantInfo": "Záznam zápisů v reálném čase a vícejazyčný překlad", - "studyAssistant": "Asistent pro výuku jazyků", - "studyAssistantInfo": "Korekce výslovnosti a procvičování mluvení", - "travelTranslator": "Cestovní překladač", - "travelTranslatorInfo": "Hlasový překlad v reálném čase a průvodce památkami", - "beSearching": "Hledání:", - "noAssistantFound": "Nebyl nalezen odpovídající AI asistent", + "usageStats": "Statistika použití", + "usageStatsInfo": "Zobrazit statistiku použití aplikace", "scene": "Scénáře", - "youHaveSelected": "Vybrali jste:", - "newFunction": "Nové funkce", - "youChoseTry": "Rozhodli jste se vyzkoušet", - "aiSinger": "AI zpěvák režim", - "aiSingerInfo": - "Zpívejte jakoukoliv píseň hlasem vašeho oblíbeného umělce, dokonce i vaše vlastní tvorbu", - "popularFunction": "Populární funkce", - "tryNow": "Vyzkoušet nyní", // 商务会议助手页 "startMeeting": "Začít schůzku", diff --git a/lib/core/translations/language/da_dk.dart b/lib/core/translations/language/da_dk.dart index 11e00c385..17caef9c9 100644 --- a/lib/core/translations/language/da_dk.dart +++ b/lib/core/translations/language/da_dk.dart @@ -182,22 +182,9 @@ const Map daDK = { "conferenceAssistant": "Forretningsmøde assistent", "conferenceAssistantInfo": "Realtidsoptagelse af mødereferater og flersproget oversættelse", - "studyAssistant": "Sprogindlærings assistent", - "studyAssistantInfo": "Udtalerettelse og taleøvelse", - "travelTranslator": "Rejseoversætter", - "travelTranslatorInfo": - "Realtids stemmeoversættelse og turistattraktionsguide", - "beSearching": "Søger:", - "noAssistantFound": "Ingen tilsvarende AI assistent fundet", + "usageStats": "Brugsstatistik", + "usageStatsInfo": "Se statistik for brug af appen", "scene": "Scenarier", - "youHaveSelected": "Du har valgt:", - "newFunction": "Nye funktioner", - "youChoseTry": "Du valgte at prøve", - "aiSinger": "AI sanger tilstand", - "aiSingerInfo": - "Syng enhver sang med din yndlingskunstners stemme, endda dine egne kreationer", - "popularFunction": "Populære funktioner", - "tryNow": "Prøv nu", // 商务会议助手页 "startMeeting": "Start møde", diff --git a/lib/core/translations/language/de_de.dart b/lib/core/translations/language/de_de.dart index 803347359..dc0f1d699 100644 --- a/lib/core/translations/language/de_de.dart +++ b/lib/core/translations/language/de_de.dart @@ -186,22 +186,10 @@ const Map deDE = { "conferenceAssistant": "Geschäftstreffen-Assistent", "conferenceAssistantInfo": "Echtzeit-Protokollaufzeichnung und mehrsprachige Übersetzung", - "studyAssistant": "Sprachlern-Assistent", - "studyAssistantInfo": "Aussprachekorrektur und Sprechpraxis", - "travelTranslator": "Reise-Übersetzer", - "travelTranslatorInfo": - "Echtzeit-Sprachübersetzung und Sehenswürdigkeiten-Führung", - "beSearching": "Suche nach:", - "noAssistantFound": "Kein entsprechender KI-Assistent gefunden", + "usageStats": "Benutzungsstatistik", + "usageStatsInfo": + "Sehen Sie sich die Statistiken für die Benutzung der App an", "scene": "Szenarien", - "youHaveSelected": "Sie haben ausgewählt:", - "newFunction": "Neue Funktionen", - "youChoseTry": "Sie haben sich entschieden zu versuchen", - "aiSinger": "KI-Sänger-Modus", - "aiSingerInfo": - "Singen Sie jedes Lied in der Stimme Ihres Lieblingskünstlers, sogar Ihre eigenen Kreationen", - "popularFunction": "Beliebte Funktionen", - "tryNow": "Jetzt versuchen", // 商务会议助手页 "startMeeting": "Meeting starten", diff --git a/lib/core/translations/language/el_gr.dart b/lib/core/translations/language/el_gr.dart index 175861818..d039d57f9 100644 --- a/lib/core/translations/language/el_gr.dart +++ b/lib/core/translations/language/el_gr.dart @@ -184,22 +184,9 @@ const Map elGR = { "conferenceAssistant": "Βοηθός επιχειρηματικών συναντήσεων", "conferenceAssistantInfo": "Καταγραφή πρακτικών σε πραγματικό χρόνο και πολυγλωσσική μετάφραση", - "studyAssistant": "Βοηθός εκμάθησης γλωσσών", - "studyAssistantInfo": "Διόρθωση προφοράς και εξάσκηση ομιλίας", - "travelTranslator": "Μεταφραστής ταξιδιού", - "travelTranslatorInfo": - "Φωνητική μετάφραση σε πραγματικό χρόνο και οδηγός αξιοθέατων", - "beSearching": "Αναζήτηση:", - "noAssistantFound": "Δεν βρέθηκε αντίστοιχος βοηθός AI", + "usageStats": "Στατιστικά χρήσης", + "usageStatsInfo": "Δείτε τα στατιστικά χρήσης της εφαρμογής", "scene": "Σενάρια", - "youHaveSelected": "Έχετε επιλέξει:", - "newFunction": "Νέες λειτουργίες", - "youChoseTry": "Επιλέξατε να δοκιμάσετε", - "aiSinger": "Λειτουργία τραγουδιστή AI", - "aiSingerInfo": - "Τραγουδήστε οποιοδήποτε τραγούδι με τη φωνή του αγαπημένου σας καλλιτέχνη, ακόμα και τις δικές σας δημιουργίες", - "popularFunction": "Δημοφιλείς λειτουργίες", - "tryNow": "Δοκιμάστε τώρα", // 商务会议助手页 "startMeeting": "Έναρξη συνάντησης", diff --git a/lib/core/translations/language/en_us.dart b/lib/core/translations/language/en_us.dart index ec6c0edd8..b241b7ee6 100644 --- a/lib/core/translations/language/en_us.dart +++ b/lib/core/translations/language/en_us.dart @@ -182,21 +182,9 @@ const Map enUS = { "conferenceAssistant": "Business Meeting Assistant", "conferenceAssistantInfo": "Real-time minutes recording and multilingual translation", - "studyAssistant": "Language Learning Assistant", - "studyAssistantInfo": "Pronunciation correction and speaking practice", - "travelTranslator": "Travel Translator", - "travelTranslatorInfo": "Real-time voice translation and attraction guides", - "beSearching": "Searching for:", - "noAssistantFound": "No corresponding AI assistant found", + "usageStats": "Usage Statistics", + "usageStatsInfo": "View Your Usage Statistics", "scene": "Scenarios", - "youHaveSelected": "You've selected:", - "newFunction": "New Features", - "youChoseTry": "You've chosen to try", - "aiSinger": "AI Singer Mode", - "aiSingerInfo": - "Sing any song in your favorite artist's voice, even your own creations", - "popularFunction": "Popular Features", - "tryNow": "Try Now", // 商品页面(AI/翻译/会议) 'availablePackages': 'Available Packages', diff --git a/lib/core/translations/language/es_es.dart b/lib/core/translations/language/es_es.dart index 1adae42bd..0c05d6429 100644 --- a/lib/core/translations/language/es_es.dart +++ b/lib/core/translations/language/es_es.dart @@ -185,22 +185,9 @@ const Map esES = { "conferenceAssistant": "Asistente de reuniones de negocios", "conferenceAssistantInfo": "Grabación de actas en tiempo real y traducción multiidioma", - "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ía de atracciones turísticas", - "beSearching": "Buscando:", - "noAssistantFound": "No se encontró asistente de IA correspondiente", + "usageStats": "Estadísticas de uso", + "usageStatsInfo": "Consulte las estadísticas de uso de la aplicación", "scene": "Escenarios", - "youHaveSelected": "Has seleccionado:", - "newFunction": "Nuevas funciones", - "youChoseTry": "Elegiste probar", - "aiSinger": "Modo cantante de 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", diff --git a/lib/core/translations/language/et_ee.dart b/lib/core/translations/language/et_ee.dart index 3e47b9d0d..a3189593c 100644 --- a/lib/core/translations/language/et_ee.dart +++ b/lib/core/translations/language/et_ee.dart @@ -180,21 +180,9 @@ const Map etEE = { "conferenceAssistant": "Ärikoosoleku assistent", "conferenceAssistantInfo": "Reaalajas protokolli salvestamine ja mitmekeelne tõlge", - "studyAssistant": "Keeleõppe assistent", - "studyAssistantInfo": "Häälduse parandamine ja kõne harjutamine", - "travelTranslator": "Reisi tõlkija", - "travelTranslatorInfo": "Reaalajas häältõlge ja vaatamisväärsuste giid", - "beSearching": "Otsimine:", - "noAssistantFound": "Vastavat AI assistenti ei leitud", + "usageStats": "Kasutamise statistika", + "usageStatsInfo": "Näita sovelluksen kasutamise statistikat", "scene": "Stsenaariumid", - "youHaveSelected": "Oled valinud:", - "newFunction": "Uued funktsioonid", - "youChoseTry": "Valisid proovida", - "aiSinger": "AI laulja režiim", - "aiSingerInfo": - "Laula mis tahes laulu oma lemmikartisti häälega, isegi oma loominguga", - "popularFunction": "Populaarsed funktsioonid", - "tryNow": "Proovi kohe", // 商务会议助手页 "startMeeting": "Alusta koosolekut", diff --git a/lib/core/translations/language/fa_ir.dart b/lib/core/translations/language/fa_ir.dart index fc7d14415..aeab553e0 100644 --- a/lib/core/translations/language/fa_ir.dart +++ b/lib/core/translations/language/fa_ir.dart @@ -178,21 +178,9 @@ const Map faIR = { "healthConsultantInfo": "ویژگی‌های بیشتر چت هوش مصنوعی", "conferenceAssistant": "دستیار جلسات کاری", "conferenceAssistantInfo": "ضبط صورت‌جلسه همزمان و ترجمه چندزبانه", - "studyAssistant": "دستیار یادگیری زبان", - "studyAssistantInfo": "تصحیح تلفظ و تمرین مکالمه", - "travelTranslator": "مترجم سفر", - "travelTranslatorInfo": "ترجمه صوتی همزمان و راهنمای جاذبه‌ها", - "beSearching": "در حال جستجو برای:", - "noAssistantFound": "دستیار هوش مصنوعی مورد نظر یافت نشد", + "usageStats": "استفاده از خدمات", + "usageStatsInfo": "دیدن آمار مصرف سرویس‌ها", "scene": "سناریوها", - "youHaveSelected": "شما انتخاب کردید:", - "newFunction": "ویژگی‌های جدید", - "youChoseTry": "شما انتخاب کردید که امتحان کنید", - "aiSinger": "حالت خواننده هوش مصنوعی", - "aiSingerInfo": - "هر آهنگی را با صدای هنرمند مورد علاقه خود بخوانید، حتی ساخته‌های خودتان", - "popularFunction": "ویژگی‌های محبوب", - "tryNow": "اکنون امتحان کنید", // 商务会议助手页 "startMeeting": "شروع جلسه", diff --git a/lib/core/translations/language/fi_fi.dart b/lib/core/translations/language/fi_fi.dart index acf223fbf..84f02f47b 100644 --- a/lib/core/translations/language/fi_fi.dart +++ b/lib/core/translations/language/fi_fi.dart @@ -182,22 +182,9 @@ const Map fiFI = { "conferenceAssistant": "Yrityskokousavustaja", "conferenceAssistantInfo": "Reaaliaikainen pöytäkirjan pito, monikielinen käännös", - "studyAssistant": "Kielenoppimisavustaja", - "studyAssistantInfo": "Ääntämisen korjaus, reaaliaikainen puheharjoittelu", - "travelTranslator": "Matkakäännösavustaja", - "travelTranslatorInfo": - "Reaaliaikainen puhekäännös, matkailukohteiden esittely", - "beSearching": "Etsitään:", - "noAssistantFound": "Vastaavaa AI-avustajaa ei löytynyt", + "usageStats": "Käyttöstatistiikka", + "usageStatsInfo": "Näytä sovelluksen käytön statistiikka", "scene": "Skenaario", - "youHaveSelected": "Olet valinnut:", - "newFunction": "Uusi toiminto", - "youChoseTry": "Valitsit kokeilla", - "aiSinger": "AI-laulaja-tila", - "aiSingerInfo": - "Laula mikä tahansa kappale suosikkilaulajasi äänellä, jopa omat sävellyksesi", - "popularFunction": "Suositut toimintoskenaariot", - "tryNow": "Kokeile nyt", // 商务会议助手页 "startMeeting": "Aloita kokous", diff --git a/lib/core/translations/language/fr_fr.dart b/lib/core/translations/language/fr_fr.dart index 2531f1951..f2f0bd78a 100644 --- a/lib/core/translations/language/fr_fr.dart +++ b/lib/core/translations/language/fr_fr.dart @@ -187,23 +187,9 @@ const Map frFR = { "conferenceAssistant": "Assistant de réunion d'affaires", "conferenceAssistantInfo": "Enregistrement de procès-verbaux en temps réel et traduction multilingue", - "studyAssistant": "Assistant d'apprentissage des langues", - "studyAssistantInfo": - "Correction de prononciation et pratique de l'expression orale", - "travelTranslator": "Traducteur de voyage", - "travelTranslatorInfo": - "Traduction vocale en temps réel et guides d'attractions", - "beSearching": "Recherche de :", - "noAssistantFound": "Aucun assistant IA correspondant trouvé", + "usageStats": "Statistiques d'utilisation", + "usageStatsInfo": "Consultez les statistiques d'utilisation de l'application", "scene": "Scénarios", - "youHaveSelected": "Vous avez sélectionné :", - "newFunction": "Nouvelles fonctions", - "youChoseTry": "Vous avez choisi d'essayer", - "aiSinger": "Mode chanteur IA", - "aiSingerInfo": - "Chantez n'importe quelle chanson avec la voix de votre artiste préféré, même vos propres créations", - "popularFunction": "Fonctions populaires", - "tryNow": "Essayer maintenant", // 商务会议助手页 "startMeeting": "Démarrer la réunion", diff --git a/lib/core/translations/language/hi_in.dart b/lib/core/translations/language/hi_in.dart index ae79c91b5..7bd8c16df 100644 --- a/lib/core/translations/language/hi_in.dart +++ b/lib/core/translations/language/hi_in.dart @@ -180,21 +180,9 @@ const Map hiIN = { "conferenceAssistant": "बिजनेस मीटिंग असिस्टेंट", "conferenceAssistantInfo": "रीयल-टाइम मीटिंग मिनट रिकॉर्डिंग, बहु-भाषा अनुवाद", - "studyAssistant": "भाषा सीखने का सहायक", - "studyAssistantInfo": "उच्चारण सुधार, रीयल-टाइम बोलने का अभ्यास", - "travelTranslator": "यात्रा अनुवाद सहायक", - "travelTranslatorInfo": "रीयल-टाइम वॉयस अनुवाद, पर्यटन स्थलों का परिचय", - "beSearching": "खोज रहा है:", - "noAssistantFound": "कोई संबंधित एआई सहायक नहीं मिला", + "usageStats": "उपयोग सtatistik", + "usageStatsInfo": "अप्लिकेशन का उपयोग सtatistik देखें", "scene": "दृश्य", - "youHaveSelected": "आपने चुना है:", - "newFunction": "नया फ़ंक्शन", - "youChoseTry": "आपने कोशिश करने के लिए चुना", - "aiSinger": "एआई सिंगर मोड", - "aiSingerInfo": - "अपने पसंदीदा गायक की आवाज में कोई भी गाना गाएं, यहां तक कि अपनी खुद की रचनाएं भी", - "popularFunction": "लोकप्रिय फ़ंक्शन दृश्य", - "tryNow": "अभी চেষ্টা করুন", // 商务会议助手页 "startMeeting": "बैठक शुरू करें", diff --git a/lib/core/translations/language/hr_hr.dart b/lib/core/translations/language/hr_hr.dart index a6a3e0386..1fd2dde95 100644 --- a/lib/core/translations/language/hr_hr.dart +++ b/lib/core/translations/language/hr_hr.dart @@ -184,23 +184,9 @@ const Map hrHR = { "conferenceAssistant": "Asistent za poslovne sastanke", "conferenceAssistantInfo": "Bilježenje zapisnika u stvarnom vremenu, višejezični prijevod", - "studyAssistant": "Asistent za učenje jezika", - "studyAssistantInfo": - "Ispravak izgovora, vježbanje govora u stvarnom vremenu", - "travelTranslator": "Asistent za prevođenje na putovanjima", - "travelTranslatorInfo": - "Glasovni prijevod u stvarnom vremenu, predstavljanje turističkih atrakcija", - "beSearching": "Traženje:", - "noAssistantFound": "Nije pronađen odgovarajući AI asistent", + "usageStats": "Statistika upotrebe", + "usageStatsInfo": "Pregledajte statistiku upotrebe aplikacije", "scene": "Scenarij", - "youHaveSelected": "Odabrali ste:", - "newFunction": "Nova funkcija", - "youChoseTry": "Odabrali ste isprobati", - "aiSinger": "AI pjevač način rada", - "aiSingerInfo": - "Pjevajte bilo koju pjesmu glasom svog omiljenog pjevača, čak i vlastite skladbe", - "popularFunction": "Popularni scenariji funkcija", - "tryNow": "Isprobaj sada", // 商务会议助手页 "startMeeting": "Započni sastanak", diff --git a/lib/core/translations/language/hu_hu.dart b/lib/core/translations/language/hu_hu.dart index e20a91487..3e0de253f 100644 --- a/lib/core/translations/language/hu_hu.dart +++ b/lib/core/translations/language/hu_hu.dart @@ -185,22 +185,9 @@ const Map huHU = { "healthConsultantInfo": "További AI csevegési funkciókat kínál", "conferenceAssistant": "Üzleti megbeszélés asszisztens", "conferenceAssistantInfo": "Valós idejű jegyzőkönyvezés, többnyelvű fordítás", - "studyAssistant": "Nyelvtanulási asszisztens", - "studyAssistantInfo": "Kiejtésjavítás, valós idejű beszédgyakorlás", - "travelTranslator": "Utazási fordító asszisztens", - "travelTranslatorInfo": - "Valós idejű hangfordítás, turisztikai látványosságok bemutatása", - "beSearching": "Keresés:", - "noAssistantFound": "Nem található megfelelő AI asszisztens", + "usageStats": "Használati statisztika", + "usageStatsInfo": "Lásd a használati statisztikát", "scene": "Helyzet", - "youHaveSelected": "Ön választotta:", - "newFunction": "Új funkció", - "youChoseTry": "Ön a próbát választotta", - "aiSinger": "AI énekes mód", - "aiSingerInfo": - "Énekeljen el bármilyen dalt kedvenc énekese hangján, akár saját szerzeményeit is", - "popularFunction": "Népszerű funkciók", - "tryNow": "Próbálja ki most", // 商务会议助手页 "startMeeting": "Megbeszélés indítása", diff --git a/lib/core/translations/language/id_id.dart b/lib/core/translations/language/id_id.dart index 99ba6c8a4..4d4cd7c1c 100644 --- a/lib/core/translations/language/id_id.dart +++ b/lib/core/translations/language/id_id.dart @@ -180,22 +180,9 @@ const Map idID = { "conferenceAssistant": "Asisten Rapat Bisnis", "conferenceAssistantInfo": "Catatan rapat waktu nyata, terjemahan multibahasa", - "studyAssistant": "Asisten Belajar Bahasa", - "studyAssistantInfo": "Koreksi pengucapan, latihan berbicara waktu nyata", - "travelTranslator": "Asisten Terjemahan Perjalanan", - "travelTranslatorInfo": - "Terjemahan suara waktu nyata, pengenalan tempat wisata", - "beSearching": "Mencari:", - "noAssistantFound": "Tidak ada asisten AI yang cocok ditemukan", + "usageStats": "Statistik Penggunaan", + "usageStatsInfo": "Lihat statistik penggunaan aplikasi", "scene": "Skenario", - "youHaveSelected": "Anda telah memilih:", - "newFunction": "Fitur Baru", - "youChoseTry": "Anda memilih untuk mencoba", - "aiSinger": "Mode Penyanyi AI", - "aiSingerInfo": - "Nyanyikan lagu apa pun dengan suara penyanyi favorit Anda, bahkan lagu ciptaan Anda sendiri", - "popularFunction": "Skenario Fitur Populer", - "tryNow": "Coba Sekarang", // 商务会议助手页 "startMeeting": "Mulai Rapat", diff --git a/lib/core/translations/language/is_is.dart b/lib/core/translations/language/is_is.dart index 8990e7301..3e4df74ed 100644 --- a/lib/core/translations/language/is_is.dart +++ b/lib/core/translations/language/is_is.dart @@ -181,21 +181,9 @@ const Map isIS = { "healthConsultantInfo": "Býður upp á fleiri gervigreindarspjallaðgerðir", "conferenceAssistant": "Aðstoðarmaður fyrir viðskiptafundi", "conferenceAssistantInfo": "Skráning fundargerða í rauntíma, fjöltyng þýðing", - "studyAssistant": "Aðstoðarmaður við tungumálanám", - "studyAssistantInfo": "Framburðarleiðrétting, rauntímaæfing í tali", - "travelTranslator": "Aðstoðarmaður við ferðaþýðingu", - "travelTranslatorInfo": "Rauntíma raddþýðing, kynning á ferðamannastöðum", - "beSearching": "Leita:", - "noAssistantFound": "Enginn samsvarandi gervigreindar-aðstoðarmaður fannst", + "usageStats": "Notendastatistika", + "usageStatsInfo": " skoða notendastatistika", "scene": "Atburðarás", - "youHaveSelected": "Þú valdir:", - "newFunction": "Nýr eiginleiki", - "youChoseTry": "Þú valdir að prófa", - "aiSinger": "Gervigreindarsöngvarahamur", - "aiSingerInfo": - "Syngdu hvaða lag sem er með rödd uppáhalds söngvarans þíns, jafnvel þínar eigin tónsmíðar", - "popularFunction": "Vinsælir eiginleikaatburðir", - "tryNow": "Prófa núna", // 商务会议助手页 "startMeeting": "Hefja fund", diff --git a/lib/core/translations/language/it_it.dart b/lib/core/translations/language/it_it.dart index d086c7178..6ad878537 100644 --- a/lib/core/translations/language/it_it.dart +++ b/lib/core/translations/language/it_it.dart @@ -186,23 +186,9 @@ const Map itIT = { "conferenceAssistant": "Assistente per riunioni di lavoro", "conferenceAssistantInfo": "Registrazione di verbali in tempo reale, traduzione multilingue", - "studyAssistant": "Assistente per l'apprendimento delle lingue", - "studyAssistantInfo": - "Correzione della pronuncia, pratica della conversazione in tempo reale", - "travelTranslator": "Assistente di traduzione per viaggi", - "travelTranslatorInfo": - "Traduzione vocale in tempo reale, introduzione alle attrazioni turistiche", - "beSearching": "Ricerca in corso:", - "noAssistantFound": "Nessun assistente AI corrispondente trovato", + "usageStats": "Statistiche di utilizzo", + "usageStatsInfo": "Visualizza le statistiche di utilizzo dell'applicazione", "scene": "Scenario", - "youHaveSelected": "Hai selezionato:", - "newFunction": "Nuova funzione", - "youChoseTry": "Hai scelto di provare", - "aiSinger": "Modalità cantante AI", - "aiSingerInfo": - "Canta qualsiasi canzone con la voce del tuo cantante preferito, anche le tue composizioni", - "popularFunction": "Scenari di funzioni popolari", - "tryNow": "Prova ora", // 商务会议助手页 "startMeeting": "Inizia riunione", diff --git a/lib/core/translations/language/ja_jp.dart b/lib/core/translations/language/ja_jp.dart index b8fd8eec6..184235148 100644 --- a/lib/core/translations/language/ja_jp.dart +++ b/lib/core/translations/language/ja_jp.dart @@ -176,20 +176,9 @@ const Map jaJP = { "healthConsultantInfo": "より多くのAIチャット機能", "conferenceAssistant": "ビジネス会議アシスタント", "conferenceAssistantInfo": "リアルタイム議事録記録と多言語翻訳", - "studyAssistant": "語学学習アシスタント", - "studyAssistantInfo": "発音矯正とスピーキング練習", - "travelTranslator": "旅行翻訳者", - "travelTranslatorInfo": "リアルタイム音声翻訳と観光地ガイド", - "beSearching": "検索中:", - "noAssistantFound": "対応するAIアシスタントが見つかりません", + "usageStats": "使用統計", + "usageStatsInfo": "使用統計を確認", "scene": "シナリオ", - "youHaveSelected": "選択しました:", - "newFunction": "新機能", - "youChoseTry": "試すことを選択しました", - "aiSinger": "AIシンガーモード", - "aiSingerInfo": "お気に入りのアーティストの声で任意の曲を歌う、自分の創作も可能", - "popularFunction": "人気機能", - "tryNow": "今すぐ試す", // 商务会议助手页 "startMeeting": "会議を開始", diff --git a/lib/core/translations/language/ko_kr.dart b/lib/core/translations/language/ko_kr.dart index 84b28783f..27f5922c8 100644 --- a/lib/core/translations/language/ko_kr.dart +++ b/lib/core/translations/language/ko_kr.dart @@ -174,20 +174,9 @@ const Map koKR = { "healthConsultantInfo": "더 많은 AI 채팅 기능 제공", "conferenceAssistant": "비즈니스 회의 어시스턴트", "conferenceAssistantInfo": "실시간 회의록 작성, 다국어 번역", - "studyAssistant": "언어 학습 어시스턴트", - "studyAssistantInfo": "발음 교정, 실시간 회화 연습", - "travelTranslator": "여행 번역 어시스턴트", - "travelTranslatorInfo": "실시간 음성 번역, 관광지 소개", - "beSearching": "검색 중:", - "noAssistantFound": "해당하는 AI 어시스턴트를 찾을 수 없습니다", + "usageStats": "사용 통계", + "usageStatsInfo": "사용 통계를 확인하세요", "scene": "상황", - "youHaveSelected": "선택하셨습니다:", - "newFunction": "새로운 기능", - "youChoseTry": "시도하기로 선택하셨습니다", - "aiSinger": "AI 가수 모드", - "aiSingerInfo": "좋아하는 가수의 목소리로 어떤 노래든 부르세요, 심지어 직접 만든 노래까지", - "popularFunction": "인기 기능 상황", - "tryNow": "지금 시도하기", // 商务会议助手页 "startMeeting": "회의 시작", diff --git a/lib/core/translations/language/lt_lt.dart b/lib/core/translations/language/lt_lt.dart index 0d6fa4d59..517781efc 100644 --- a/lib/core/translations/language/lt_lt.dart +++ b/lib/core/translations/language/lt_lt.dart @@ -184,22 +184,9 @@ const Map ltLT = { "conferenceAssistant": "Verslo susitikimų asistentas", "conferenceAssistantInfo": "Susitikimų protokolo įrašymas realiuoju laiku, daugiakalbis vertimas", - "studyAssistant": "Kalbos mokymosi asistentas", - "studyAssistantInfo": "Tarimo korekcija, kalbėjimo praktika realiuoju laiku", - "travelTranslator": "Kelionių vertimo asistentas", - "travelTranslatorInfo": - "Balso vertimas realiuoju laiku, turistinių objektų pristatymas", - "beSearching": "Ieškoma:", - "noAssistantFound": "Nerasta atitinkamo AI asistento", + "usageStats": "Naudojimo statistika", + "usageStatsInfo": "Peržiūrėkite jūsų naudojimo statistiką", "scene": "Scenarijus", - "youHaveSelected": "Pasirinkote:", - "newFunction": "Nauja funkcija", - "youChoseTry": "Pasirinkote išbandyti", - "aiSinger": "AI dainininko režimas", - "aiSingerInfo": - "Dainuokite bet kurią dainą mėgstamo dainininko balsu, net savo kompozicijas", - "popularFunction": "Populiarūs funkcijų scenarijai", - "tryNow": "Išbandyti dabar", // 商务会议助手页 "startMeeting": "Pradėti susitikimą", diff --git a/lib/core/translations/language/lv_lv.dart b/lib/core/translations/language/lv_lv.dart index 163d2903e..534fabb8e 100644 --- a/lib/core/translations/language/lv_lv.dart +++ b/lib/core/translations/language/lv_lv.dart @@ -183,22 +183,9 @@ const Map lvLV = { "conferenceAssistant": "Biznesa sanāksmju palīgs", "conferenceAssistantInfo": "Reāllaika protokolu ierakstīšana, daudzvalodu tulkošana", - "studyAssistant": "Valodu apguves palīgs", - "studyAssistantInfo": "Izrunas korekcija, reāllaika runas prakse", - "travelTranslator": "Ceļojumu tulkošanas palīgs", - "travelTranslatorInfo": - "Reāllaika balss tulkošana, tūrisma objektu iepazīstināšana", - "beSearching": "Meklē:", - "noAssistantFound": "Neviens atbilstošs AI palīgs nav atrasts", + "usageStats": "Pārskatījumu statistika", + "usageStatsInfo": "Pārskatiet jūsu lietotāja pārskatījumu statistiku", "scene": "Scenārijs", - "youHaveSelected": "Jūs izvēlējāties:", - "newFunction": "Jauna funkcija", - "youChoseTry": "Jūs izvēlējāties mēģināt", - "aiSinger": "AI dziedātāja režīms", - "aiSingerInfo": - "Dziediet jebkuru dziesmu ar sava iecienītākā dziedātāja balsi, pat savas kompozīcijas", - "popularFunction": "Populāri funkciju scenāriji", - "tryNow": "Izmēģināt tagad", // 商务会议助手页 "startMeeting": "Sākt sapulci", diff --git a/lib/core/translations/language/ms_my.dart b/lib/core/translations/language/ms_my.dart index 099081ffc..dd4b08331 100644 --- a/lib/core/translations/language/ms_my.dart +++ b/lib/core/translations/language/ms_my.dart @@ -182,22 +182,9 @@ const Map msMY = { "conferenceAssistant": "Pembantu Mesyuarat Perniagaan", "conferenceAssistantInfo": "Minit mesyuarat masa nyata, terjemahan pelbagai bahasa", - "studyAssistant": "Pembantu Pembelajaran Bahasa", - "studyAssistantInfo": "Pembetulan sebutan, latihan pertuturan masa nyata", - "travelTranslator": "Pembantu Terjemahan Perjalanan", - "travelTranslatorInfo": - "Terjemahan suara masa nyata, pengenalan tempat pelancongan", - "beSearching": "Mencari:", - "noAssistantFound": "Tiada pembantu AI yang sepadan ditemui", + "usageStats": "Statistik Penggunaan", + "usageStatsInfo": "Lihat statistik penggunaan aplikasi", "scene": "Senario", - "youHaveSelected": "Anda telah memilih:", - "newFunction": "Fungsi Baharu", - "youChoseTry": "Anda memilih untuk mencuba", - "aiSinger": "Mod Penyanyi AI", - "aiSingerInfo": - "Nyanyikan sebarang lagu dengan suara penyanyi kegemaran anda, malah lagu ciptaan anda sendiri", - "popularFunction": "Senario Fungsi Popular", - "tryNow": "Cuba Sekarang", // 商务会议助手页 "startMeeting": "Mula Mesyuarat", diff --git a/lib/core/translations/language/nb_no.dart b/lib/core/translations/language/nb_no.dart index 54a5168a0..0c4f7a8cd 100644 --- a/lib/core/translations/language/nb_no.dart +++ b/lib/core/translations/language/nb_no.dart @@ -182,22 +182,9 @@ const Map nbNO = { "conferenceAssistant": "Assistent for forretningsmøter", "conferenceAssistantInfo": "Sanntids protokollføring, flerspråklig oversettelse", - "studyAssistant": "Assistent for språklæring", - "studyAssistantInfo": "Uttalekorreksjon, sanntids taleøvelse", - "travelTranslator": "Assistent for reiseoversettelse", - "travelTranslatorInfo": - "Sanntids stemmeoversettelse, introduksjon til turistattraksjoner", - "beSearching": "Søker:", - "noAssistantFound": "Ingen tilsvarende AI-assistent funnet", + "usageStats": "Brukstatistikk", + "usageStatsInfo": "Vis brukstatistikk for din app", "scene": "Scenario", - "youHaveSelected": "Du har valgt:", - "newFunction": "Ny funksjon", - "youChoseTry": "Du valgte å prøve", - "aiSinger": "AI-sangermodus", - "aiSingerInfo": - "Syng hvilken som helst sang med stemmen til din favorittartist, til og med dine egne komposisjoner", - "popularFunction": "Populære funksjonsscenarier", - "tryNow": "Prøv nå", // 商务会议助手页 "startMeeting": "Start møte", diff --git a/lib/core/translations/language/nl_nl.dart b/lib/core/translations/language/nl_nl.dart index a6a9ed97d..cb66130fb 100644 --- a/lib/core/translations/language/nl_nl.dart +++ b/lib/core/translations/language/nl_nl.dart @@ -183,22 +183,9 @@ const Map nlNL = { "conferenceAssistant": "Assistent voor zakelijke bijeenkomsten", "conferenceAssistantInfo": "Realtime notuleren van vergaderingen, meertalige vertaling", - "studyAssistant": "Assistent voor taalstudie", - "studyAssistantInfo": "Uitspraakcorrectie, realtime spraakoefening", - "travelTranslator": "Assistent voor reisvertaling", - "travelTranslatorInfo": - "Realtime spraakvertaling, introductie van toeristische attracties", - "beSearching": "Zoeken:", - "noAssistantFound": "Geen overeenkomende AI-assistent gevonden", + "usageStats": "Gebruikstatistieken", + "usageStatsInfo": " Bekijk de gebruikstatistieken van uw applicatie", "scene": "Scenario", - "youHaveSelected": "U heeft geselecteerd:", - "newFunction": "Nieuwe functie", - "youChoseTry": "U koos ervoor om te proberen", - "aiSinger": "AI-zangermodus", - "aiSingerInfo": - "Zing elk nummer met de stem van uw favoriete zanger, zelfs uw eigen composities", - "popularFunction": "Populaire functiescenario's", - "tryNow": "Probeer nu", // 商务会议助手页 "startMeeting": "Start vergadering", diff --git a/lib/core/translations/language/pl_pl.dart b/lib/core/translations/language/pl_pl.dart index 604087c23..0adc00c42 100644 --- a/lib/core/translations/language/pl_pl.dart +++ b/lib/core/translations/language/pl_pl.dart @@ -184,22 +184,9 @@ const Map plPL = { "conferenceAssistant": "Asystent spotkań biznesowych", "conferenceAssistantInfo": "Zapisywanie protokołów w czasie rzeczywistym, tłumaczenie wielojęzyczne", - "studyAssistant": "Asystent nauki języków", - "studyAssistantInfo": "Korekta wymowy, ćwiczenie mowy w czasie rzeczywistym", - "travelTranslator": "Asystent tłumaczenia w podróży", - "travelTranslatorInfo": - "Tłumaczenie głosowe w czasie rzeczywistym, prezentacja atrakcji turystycznych", - "beSearching": "Wyszukiwanie:", - "noAssistantFound": "Nie znaleziono odpowiedniego asystenta AI", + "usageStats": "Statystyki użycia", + "usageStatsInfo": "Przeglądaj statystyki użycia aplikacji", "scene": "Scenariusz", - "youHaveSelected": "Wybrałeś:", - "newFunction": "Nowa funkcja", - "youChoseTry": "Wybrałeś, aby spróbować", - "aiSinger": "Tryb piosenkarza AI", - "aiSingerInfo": - "Śpiewaj dowolną piosenkę głosem ulubionego piosenkarza, nawet własne kompozycje", - "popularFunction": "Popularne scenariusze funkcji", - "tryNow": "Wypróbuj teraz", // 商务会议助手页 "startMeeting": "Rozpocznij spotkanie", diff --git a/lib/core/translations/language/pt_pt.dart b/lib/core/translations/language/pt_pt.dart index 3c88d9636..2c9792ce0 100644 --- a/lib/core/translations/language/pt_pt.dart +++ b/lib/core/translations/language/pt_pt.dart @@ -186,23 +186,9 @@ const Map ptPT = { "conferenceAssistant": "Assistente de Reunião de Negócios", "conferenceAssistantInfo": "Gravação de atas em tempo real, tradução multilingue", - "studyAssistant": "Assistente de Aprendizagem de Línguas", - "studyAssistantInfo": - "Correção de pronúncia, prática de conversação em tempo real", - "travelTranslator": "Assistente de Tradução de Viagem", - "travelTranslatorInfo": - "Tradução de voz em tempo real, apresentação de pontos turísticos", - "beSearching": "A pesquisar:", - "noAssistantFound": "Nenhum assistente de IA correspondente encontrado", + "usageStats": "Estatísticas de Uso", + "usageStatsInfo": "Visualize as estatísticas de uso da sua aplicação", "scene": "Cenário", - "youHaveSelected": "Selecionou:", - "newFunction": "Nova Função", - "youChoseTry": "Escolheu experimentar", - "aiSinger": "Modo Cantor IA", - "aiSingerInfo": - "Cante qualquer música com a voz do seu cantor favorito, até mesmo as suas próprias composições", - "popularFunction": "Cenários de Funções Populares", - "tryNow": "Experimente Agora", // 商务会议助手页 "startMeeting": "Iniciar Reunião", diff --git a/lib/core/translations/language/ro_ro.dart b/lib/core/translations/language/ro_ro.dart index e795b025a..0b18b9f60 100644 --- a/lib/core/translations/language/ro_ro.dart +++ b/lib/core/translations/language/ro_ro.dart @@ -185,23 +185,9 @@ const Map roRO = { "conferenceAssistant": "Asistent pentru ședințe de afaceri", "conferenceAssistantInfo": "Înregistrare în timp real a proceselor-verbale, traducere multilingvă", - "studyAssistant": "Asistent pentru învățarea limbilor străine", - "studyAssistantInfo": - "Corectarea pronunției, practicarea vorbirii în timp real", - "travelTranslator": "Asistent de traducere pentru călătorii", - "travelTranslatorInfo": - "Traducere vocală în timp real, prezentarea atracțiilor turistice", - "beSearching": "Se caută:", - "noAssistantFound": "Niciun asistent AI corespunzător nu a fost găsit", + "usageStats": "Statistici de utilizare", + "usageStatsInfo": "Vizualizați istoricul utilizării aplicației", "scene": "Scenariu", - "youHaveSelected": "Ați selectat:", - "newFunction": "Funcție nouă", - "youChoseTry": "Ați ales să încercați", - "aiSinger": "Modul cântăreț AI", - "aiSingerInfo": - "Cântați orice melodie cu vocea cântărețului preferat, chiar și propriile compoziții", - "popularFunction": "Scenarii de funcții populare", - "tryNow": "Încearcă acum", // 商务会议助手页 "startMeeting": "Începe ședința", diff --git a/lib/core/translations/language/ru_ru.dart b/lib/core/translations/language/ru_ru.dart index d39d79a7e..86b6ff85f 100644 --- a/lib/core/translations/language/ru_ru.dart +++ b/lib/core/translations/language/ru_ru.dart @@ -184,23 +184,9 @@ const Map ruRU = { "conferenceAssistant": "Помощник для деловых встреч", "conferenceAssistantInfo": "Запись протоколов в реальном времени, многоязычный перевод", - "studyAssistant": "Помощник в изучении языков", - "studyAssistantInfo": - "Коррекция произношения, практика разговорной речи в реальном времени", - "travelTranslator": "Помощник-переводчик для путешествий", - "travelTranslatorInfo": - "Голосовой перевод в реальном времени, описание туристических достопримечательностей", - "beSearching": "Поиск:", - "noAssistantFound": "Соответствующий AI-помощник не найден", + "usageStats": "Статистика использования", + "usageStatsInfo": "Просмотрите статистику использования вашего приложения", "scene": "Сценарий", - "youHaveSelected": "Вы выбрали:", - "newFunction": "Новая функция", - "youChoseTry": "Вы решили попробовать", - "aiSinger": "Режим AI-певца", - "aiSingerInfo": - "Пойте любую песню голосом вашего любимого исполнителя, даже ваши собственные композиции", - "popularFunction": "Популярные функциональные сценарии", - "tryNow": "Попробовать сейчас", // 商务会议助手页 "startMeeting": "Начать встречу", diff --git a/lib/core/translations/language/sk_sk.dart b/lib/core/translations/language/sk_sk.dart index 0316a20da..97bfcc2b2 100644 --- a/lib/core/translations/language/sk_sk.dart +++ b/lib/core/translations/language/sk_sk.dart @@ -183,22 +183,9 @@ const Map skSK = { "conferenceAssistant": "Asistent pre obchodné stretnutia", "conferenceAssistantInfo": "Záznam zápisnice v reálnom čase, viacjazyčný preklad", - "studyAssistant": "Asistent pre štúdium jazykov", - "studyAssistantInfo": "Oprava výslovnosti, prax reči v reálnom čase", - "travelTranslator": "Asistent pre preklad na cestách", - "travelTranslatorInfo": - "Hlasový preklad v reálnom čase, predstavenie turistických atrakcií", - "beSearching": "Hľadám:", - "noAssistantFound": "Nenájdený žiadny zodpovedajúci AI asistent", + "usageStats": "Statistiky využitia", + "usageStatsInfo": "Zobrazte vaše využitie aplikácie", "scene": "Scenár", - "youHaveSelected": "Vybrali ste:", - "newFunction": "Nová funkcia", - "youChoseTry": "Rozhodli ste sa vyskúšať", - "aiSinger": "Režim AI speváka", - "aiSingerInfo": - "Spievajte akúkoľvek pieseň hlasom vášho obľúbeného speváka, dokonca aj vlastné skladby", - "popularFunction": "Populárne funkčné scenáre", - "tryNow": "Vyskúšať teraz", // 商务会议助手页 "startMeeting": "Začať stretnutie", diff --git a/lib/core/translations/language/sl_si.dart b/lib/core/translations/language/sl_si.dart index de9d0276c..8060c79d8 100644 --- a/lib/core/translations/language/sl_si.dart +++ b/lib/core/translations/language/sl_si.dart @@ -183,22 +183,9 @@ const Map slSI = { "conferenceAssistant": "Pomočnik za poslovne sestanke", "conferenceAssistantInfo": "Zapisovanje zapisnikov v realnem času, večjezično prevajanje", - "studyAssistant": "Pomočnik za učenje jezikov", - "studyAssistantInfo": "Popravek izgovorjave, vadba govorjenja v realnem času", - "travelTranslator": "Pomočnik za prevajanje na potovanjih", - "travelTranslatorInfo": - "Glasovno prevajanje v realnem času, predstavitev turističnih znamenitosti", - "beSearching": "Iskanje:", - "noAssistantFound": "Ni bil najden noben ustrezen pomočnik AI", + "usageStats": "Statistika uporabe", + "usageStatsInfo": "Pregledajte vaše uporabo aplikacije", "scene": "Scenarij", - "youHaveSelected": "Izbrali ste:", - "newFunction": "Nova funkcija", - "youChoseTry": "Izbrali ste poskusiti", - "aiSinger": "Način AI pevca", - "aiSingerInfo": - "Zapojte katero koli pesem z glasom vašega najljubšega pevca, celo lastne skladbe", - "popularFunction": "Priljubljeni funkcijski scenariji", - "tryNow": "Poskusi zdaj", // 商务会议助手页 "startMeeting": "Začni sestanek", diff --git a/lib/core/translations/language/sr_rs.dart b/lib/core/translations/language/sr_rs.dart index c8b61f61c..684574993 100644 --- a/lib/core/translations/language/sr_rs.dart +++ b/lib/core/translations/language/sr_rs.dart @@ -182,22 +182,9 @@ const Map srRS = { "conferenceAssistant": "Asistent za poslovne sastanke", "conferenceAssistantInfo": "Beleženje zapisnika u realnom vremenu, višejezično prevođenje", - "studyAssistant": "Asistent za učenje jezika", - "studyAssistantInfo": "Korekcija izgovora, vežbanje govora u realnom vremenu", - "travelTranslator": "Asistent za prevođenje na putovanjima", - "travelTranslatorInfo": - "Glasovno prevođenje u realnom vremenu, predstavljanje turističkih atrakcija", - "beSearching": "Pretraga:", - "noAssistantFound": "Nije pronađen odgovarajući AI asistent", + "usageStats": "Statistika korišćenja", + "usageStatsInfo": "Pregledajte vaše korišćenje aplikacije", "scene": "Scena", - "youHaveSelected": "Izabrali ste:", - "newFunction": "Nova funkcija", - "youChoseTry": "Izabrali ste da probate", - "aiSinger": "AI pevač mod", - "aiSingerInfo": - "Pevajte bilo koju pesmu glasom svog omiljenog pevača, čak i sopstvene kompozicije", - "popularFunction": "Popularne scene funkcija", - "tryNow": "Probaj sada", // 商务会议助手页 "startMeeting": "Započni sastanak", diff --git a/lib/core/translations/language/sv_se.dart b/lib/core/translations/language/sv_se.dart index 01db4c3ac..45f242a2a 100644 --- a/lib/core/translations/language/sv_se.dart +++ b/lib/core/translations/language/sv_se.dart @@ -182,23 +182,9 @@ const Map svSE = { "conferenceAssistant": "Affärsmötesassistent", "conferenceAssistantInfo": "Realtidsinspelning av mötesprotokoll, flerspråkig översättning", - "studyAssistant": "Språkinlärningsassistent", - "studyAssistantInfo": - "Uttalskorrigering, realtidsövning av muntlig färdighet", - "travelTranslator": "Reseöversättningsassistent", - "travelTranslatorInfo": - "Realtids röstöversättning, introduktion till turistattraktioner", - "beSearching": "Söker:", - "noAssistantFound": "Ingen motsvarande AI-assistent hittades", + "usageStats": "Användningsstatistik", + "usageStatsInfo": "Visa din användningsstatistik", "scene": "Scenario", - "youHaveSelected": "Du har valt:", - "newFunction": "Ny funktion", - "youChoseTry": "Du valde att prova", - "aiSinger": "AI-sångarläge", - "aiSingerInfo": - "Sjung vilken låt som helst med din favoritsångares röst, även dina egna kompositioner", - "popularFunction": "Populära funktionsscenarier", - "tryNow": "Prova nu", // 商务会议助手页 "startMeeting": "Starta möte", diff --git a/lib/core/translations/language/th_th.dart b/lib/core/translations/language/th_th.dart index 60c85fcd1..a0cbc2e82 100644 --- a/lib/core/translations/language/th_th.dart +++ b/lib/core/translations/language/th_th.dart @@ -176,21 +176,9 @@ const Map thTH = { "healthConsultantInfo": "มีฟังก์ชันแชท AI เพิ่มเติม", "conferenceAssistant": "ผู้ช่วยประชุมธุรกิจ", "conferenceAssistantInfo": "บันทึกการประชุมแบบเรียลไทม์ แปลหลายภาษา", - "studyAssistant": "ผู้ช่วยเรียนภาษา", - "studyAssistantInfo": "แก้ไขการออกเสียง ฝึกพูดแบบเรียลไทม์", - "travelTranslator": "ผู้ช่วยแปลภาษาสำหรับการเดินทาง", - "travelTranslatorInfo": "แปลเสียงแบบเรียลไทม์ แนะนำสถานที่ท่องเที่ยว", - "beSearching": "กำลังค้นหา:", - "noAssistantFound": "ไม่พบผู้ช่วย AI ที่ตรงกัน", + "usageStats": "สถิติการใช้งาน", + "usageStatsInfo": "ดูสถิติการใช้งานของคุณ", "scene": "สถานการณ์", - "youHaveSelected": "คุณได้เลือก:", - "newFunction": "ฟังก์ชันใหม่", - "youChoseTry": "คุณเลือกที่จะลอง", - "aiSinger": "โหมดนักร้อง AI", - "aiSingerInfo": - "ร้องเพลงใดก็ได้ด้วยเสียงของนักร้องที่คุณชื่นชอบ แม้แต่เพลงที่คุณแต่งเอง", - "popularFunction": "สถานการณ์ฟังก์ชันยอดนิยม", - "tryNow": "ลองเลย", // 商务会议助手页 "startMeeting": "เริ่มการประชุม", diff --git a/lib/core/translations/language/tl_ph.dart b/lib/core/translations/language/tl_ph.dart index 9b537f6b5..e697b10d5 100644 --- a/lib/core/translations/language/tl_ph.dart +++ b/lib/core/translations/language/tl_ph.dart @@ -185,23 +185,9 @@ const Map tlPH = { "conferenceAssistant": "Business Meeting Assistant", "conferenceAssistantInfo": "Real-time na pagtatala ng mga minuto ng pulong, pagsasalin sa maraming wika", - "studyAssistant": "Language Learning Assistant", - "studyAssistantInfo": - "Pagwawasto ng bigkas, real-time na pagsasanay sa pagsasalita", - "travelTranslator": "Travel Translation Assistant", - "travelTranslatorInfo": - "Real-time na pagsasalin ng boses, pagpapakilala sa mga pasyalan", - "beSearching": "Naghahanap:", - "noAssistantFound": "Walang natagpuang katugmang AI assistant", + "usageStats": "Usage Statistics", + "usageStatsInfo": "View your usage statistics", "scene": "Eksena", - "youHaveSelected": "Pinili mo ang:", - "newFunction": "Bagong Function", - "youChoseTry": "Pinili mong subukan", - "aiSinger": "AI Singer Mode", - "aiSingerInfo": - "Kantahin ang anumang kanta sa boses ng paborito mong mang-aawit, kahit na ang sarili mong mga likha", - "popularFunction": "Mga Sikat na Eksena ng Function", - "tryNow": "Subukan Ngayon", // 商务会议助手页 "startMeeting": "Simulan ang Pulong", diff --git a/lib/core/translations/language/tr_tr.dart b/lib/core/translations/language/tr_tr.dart index 8d4453991..7ffdaa604 100644 --- a/lib/core/translations/language/tr_tr.dart +++ b/lib/core/translations/language/tr_tr.dart @@ -180,22 +180,9 @@ const Map trTR = { "conferenceAssistant": "İş Toplantısı Asistanı", "conferenceAssistantInfo": "Gerçek zamanlı toplantı tutanakları, çok dilli çeviri", - "studyAssistant": "Dil Öğrenme Asistanı", - "studyAssistantInfo": "Telaffuz düzeltme, gerçek zamanlı konuşma pratiği", - "travelTranslator": "Seyahat Çeviri Asistanı", - "travelTranslatorInfo": - "Gerçek zamanlı sesli çeviri, turistik yer tanıtımları", - "beSearching": "Aranıyor:", - "noAssistantFound": "İlgili yapay zeka asistanı bulunamadı", + "usageStats": "Kullanım İstatistikleri", + "usageStatsInfo": "Kullanım istatistiklerinizi görüntüleyin", "scene": "Senaryo", - "youHaveSelected": "Seçtiniz:", - "newFunction": "Yeni Özellik", - "youChoseTry": "Denemeyi seçtiniz", - "aiSinger": "Yapay Zeka Şarkıcı Modu", - "aiSingerInfo": - "En sevdiğiniz sanatçının sesiyle herhangi bir şarkıyı, hatta kendi bestelerinizi söyleyin", - "popularFunction": "Popüler Özellik Senaryoları", - "tryNow": "Şimdi Dene", // 商务会议助手页 "startMeeting": "Toplantıyı Başlat", diff --git a/lib/core/translations/language/uk_ua.dart b/lib/core/translations/language/uk_ua.dart index 28f538d65..71a933928 100644 --- a/lib/core/translations/language/uk_ua.dart +++ b/lib/core/translations/language/uk_ua.dart @@ -183,23 +183,9 @@ const Map ukUA = { "conferenceAssistant": "Помічник для ділових зустрічей", "conferenceAssistantInfo": "Запис протоколів у реальному часі, багатомовний переклад", - "studyAssistant": "Помічник у вивченні мов", - "studyAssistantInfo": - "Виправлення вимови, практика розмовної мови в реальному часі", - "travelTranslator": "Помічник-перекладач для подорожей", - "travelTranslatorInfo": - "Голосовий переклад у реальному часі, опис туристичних місць", - "beSearching": "Пошук:", - "noAssistantFound": "Не знайдено відповідного помічника AI", + "usageStats": "Статистика використання", + "usageStatsInfo": "Перегляньте статистику використання вашого пристрою", "scene": "Сценарій", - "youHaveSelected": "Ви обрали:", - "newFunction": "Нова функція", - "youChoseTry": "Ви вирішили спробувати", - "aiSinger": "Режим AI співака", - "aiSingerInfo": - "Співайте будь-яку пісню голосом улюбленого співака, навіть пісні власного авторства", - "popularFunction": "Популярні функціональні сценарії", - "tryNow": "Спробувати зараз", // 商务会议助手页 "startMeeting": "Почати зустріч", diff --git a/lib/core/translations/language/vi_vn.dart b/lib/core/translations/language/vi_vn.dart index 7055badee..2313247d2 100644 --- a/lib/core/translations/language/vi_vn.dart +++ b/lib/core/translations/language/vi_vn.dart @@ -179,22 +179,9 @@ const Map viVN = { "conferenceAssistant": "Trợ lý hội nghị kinh doanh", "conferenceAssistantInfo": "Ghi lại biên bản họp thời gian thực, dịch đa ngôn ngữ", - "studyAssistant": "Trợ lý học ngôn ngữ", - "studyAssistantInfo": "Sửa lỗi phát âm, luyện nói thời gian thực", - "travelTranslator": "Trợ lý dịch thuật du lịch", - "travelTranslatorInfo": - "Dịch giọng nói thời gian thực, giới thiệu các điểm du lịch", - "beSearching": "Đang tìm kiếm:", - "noAssistantFound": "Không tìm thấy trợ lý AI tương ứng", + "usageStats": "Thống kê sử dụng", + "usageStatsInfo": "Xem thống kê sử dụng của bạn", "scene": "Tình huống", - "youHaveSelected": "Bạn đã chọn:", - "newFunction": "Chức năng mới", - "youChoseTry": "Bạn đã chọn thử", - "aiSinger": "Chế độ ca sĩ AI", - "aiSingerInfo": - "Hát bất kỳ bài hát nào bằng giọng của ca sĩ bạn yêu thích, thậm chí cả bài hát do chính bạn sáng tác", - "popularFunction": "Các tình huống chức năng phổ biến", - "tryNow": "Thử ngay", // 商务会议助手页 "startMeeting": "Bắt đầu cuộc họp", diff --git a/lib/core/translations/language/zh_cn.dart b/lib/core/translations/language/zh_cn.dart index d96d17eb7..a0204ca8f 100644 --- a/lib/core/translations/language/zh_cn.dart +++ b/lib/core/translations/language/zh_cn.dart @@ -176,20 +176,9 @@ const Map zhCN = { "healthConsultantInfo": "提供更多AI聊天功能", "conferenceAssistant": "商务会议助手", "conferenceAssistantInfo": "实时记录会议纪要,多语言翻译", - "studyAssistant": "语言学习助手", - "studyAssistantInfo": "发音纠正,实时练习口语", - "travelTranslator": "旅行翻译助手", - "travelTranslatorInfo": "实时语音翻译,旅游景点介绍", - "beSearching": "正在搜索:", - "noAssistantFound": "未找到对应的AI助手", + "usageStats": "用量统计", + "usageStatsInfo": "查看您的使用统计数据", "scene": "场景", - "youHaveSelected": "您选择了:", - "newFunction": "新功能", - "youChoseTry": "您选择了尝试", - "aiSinger": "AI歌手模式", - "aiSingerInfo": "用你喜欢的歌手声音演唱任何歌曲,甚至是你自己创作的歌曲", - "popularFunction": "热门功能场景", - "tryNow": "立即尝试", // 商品页面(AI/翻译/会议) 'availablePackages': '可购买套餐', diff --git a/lib/core/translations/language/zh_hk.dart b/lib/core/translations/language/zh_hk.dart index 2d31ea168..c1664eba1 100644 --- a/lib/core/translations/language/zh_hk.dart +++ b/lib/core/translations/language/zh_hk.dart @@ -175,20 +175,9 @@ const Map zhHK = { "healthConsultantInfo": "提供更多AI聊天功能", "conferenceAssistant": "商務會議助手", "conferenceAssistantInfo": "實時記錄會議紀要,多語言翻譯", - "studyAssistant": "語言學習助手", - "studyAssistantInfo": "發音糾正,實時練習口語", - "travelTranslator": "旅行翻譯助手", - "travelTranslatorInfo": "實時語音翻譯,旅遊景點介紹", - "beSearching": "正在搜尋:", - "noAssistantFound": "未找到對應的AI助手", + "usageStats": "用量統計", + "usageStatsInfo": "查看您的使用統計數據", "scene": "場景", - "youHaveSelected": "您選擇了:", - "newFunction": "新功能", - "youChoseTry": "您選擇了嘗試", - "aiSinger": "AI歌手模式", - "aiSingerInfo": "用你喜歡的歌手聲音演唱任何歌曲,甚至是你自己創作的歌曲", - "popularFunction": "熱門功能場景", - "tryNow": "立即嘗試", // 商品名稱(按ID) 'ai_001_name': 'AI基礎 100 次', 'ai_002_name': 'AI基礎 500 次', diff --git a/lib/modules/explore/controllers/explore_controller.dart b/lib/modules/explore/controllers/explore_controller.dart index ebd64067a..bdf0ad293 100644 --- a/lib/modules/explore/controllers/explore_controller.dart +++ b/lib/modules/explore/controllers/explore_controller.dart @@ -64,8 +64,8 @@ class ExploreController extends GetxController { targetRoute: Routes.meeting, ), AIFeature( - title: 'usageStats'.tr, - description: 'usageStatsInfo'.tr, + title: 'usageStats'.tr, // 用量统计 + description: 'usageStatsInfo'.tr, // 查看您的使用统计数据 icon: Icons.analytics_outlined, startColor: const Color(0xFF2196F3), // 科技蓝 endColor: const Color(0xFF00BCD4), // 青蓝色 diff --git a/lib/modules/settings/views/settings_view.dart b/lib/modules/settings/views/settings_view.dart index 9bd94a050..36db557fd 100644 --- a/lib/modules/settings/views/settings_view.dart +++ b/lib/modules/settings/views/settings_view.dart @@ -129,34 +129,34 @@ class SettingsView extends GetView { ), overflow: TextOverflow.ellipsis, ), - SizedBox(height: 4.h), - Row( + // SizedBox(height: 4.h), + const Row( children: [ - Container( - padding: EdgeInsets.symmetric( - horizontal: 8.w, vertical: 2.h), - decoration: BoxDecoration( - color: Colors.blue[600], - borderRadius: BorderRadius.circular(10.r), - ), - child: Obx(() { - final membershipMap = { - 0: 'freeUser', //'免费用户' - 1: 'standardUser', //'标准用户' - 2: 'proUser', //'专业用户' - }; - final membershipString = membershipMap[ - profileCtrl.userInfo.value.viplv] ?? - 'Unknown'; - return Text( - membershipString.tr, // 会员等级 - style: TextStyle( - fontSize: 10.sp, - color: Colors.white, - ), - ); - }), - ), + // Container( + // padding: EdgeInsets.symmetric( + // horizontal: 8.w, vertical: 2.h), + // decoration: BoxDecoration( + // color: Colors.blue[600], + // borderRadius: BorderRadius.circular(10.r), + // ), + // child: Obx(() { + // final membershipMap = { + // 0: 'freeUser', //'免费用户' + // 1: 'standardUser', //'标准用户' + // 2: 'proUser', //'专业用户' + // }; + // final membershipString = membershipMap[ + // profileCtrl.userInfo.value.viplv] ?? + // 'Unknown'; + // return Text( + // membershipString.tr, // 会员等级 + // style: TextStyle( + // fontSize: 10.sp, + // color: Colors.white, + // ), + // ); + // }), + // ), // SizedBox(width: 8.w), // Flexible( // child: Text( From cb62b7fd7199891ac7eb6de3be0aefc8a41fcbdc Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Mon, 8 Dec 2025 15:21:53 +0800 Subject: [PATCH 6/7] =?UTF-8?q?refactor(azure=5Fspeech):=20=E7=AE=80?= =?UTF-8?q?=E5=8C=96=E9=9F=B3=E9=A2=91=E5=B8=A7=E5=8F=91=E9=80=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=88=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=AF=91=E6=8A=A5?= =?UTF-8?q?=E9=94=99=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用扩展函数toByteString替代ByteString.of,使代码更简洁 --- .../com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt index 51e15ad21..647e005f2 100644 --- a/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt +++ b/local_plugins/azure_speech/android/src/main/kotlin/com/yunqiinnovation/azure_speech/XunFeiAsrHelper.kt @@ -5,6 +5,7 @@ import android.util.Base64 import android.util.Log import okhttp3.* import okio.ByteString +import okio.ByteString.Companion.toByteString import org.json.JSONObject import java.net.URLEncoder import java.nio.charset.StandardCharsets @@ -66,9 +67,7 @@ class XunFeiAsrHelper(private val context: Context) { } fun sendAudio(frameBuffer: ByteArray) { - webSocket?.let { ws -> - ws.send(ByteString.of(frameBuffer, 0, frameBuffer.size)) - } + webSocket?.send(frameBuffer.toByteString()) } fun close() { From 13971c3b2ec3da48b362984806c6dc2834270c23 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Mon, 8 Dec 2025 17:16:28 +0800 Subject: [PATCH 7/7] =?UTF-8?q?feat(=E7=BD=91=E7=BB=9C=E6=8B=A6=E6=88=AA?= =?UTF-8?q?=E5=99=A8):=20=E6=B7=BB=E5=8A=A0=E8=AF=B7=E6=B1=82=E7=AD=BE?= =?UTF-8?q?=E5=90=8D=E5=92=8C=E6=97=B6=E9=97=B4=E6=88=B3=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在请求头中添加时间戳和基于MD5的签名,与Go端保持一致的验证机制 --- lib/data/services/network/auth_interceptor.dart | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/data/services/network/auth_interceptor.dart b/lib/data/services/network/auth_interceptor.dart index 2933d5d62..c25accc3b 100644 --- a/lib/data/services/network/auth_interceptor.dart +++ b/lib/data/services/network/auth_interceptor.dart @@ -1,20 +1,33 @@ import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart' hide Response; +import 'dart:convert'; +import 'package:crypto/crypto.dart'; import 'package:get_storage/get_storage.dart'; import 'entity/base_entity.dart'; class AuthInterceptor extends Interceptor { final GetStorage _storage = GetStorage(); + final String _signKey = '@214%67g15q4*67m17#4l67!'; // 替换为实际的密钥 @override void onRequest(RequestOptions options, RequestInterceptorHandler handler) { var jsonString = _storage.read("logintoken"); options.headers['Authorization'] = jsonString; + final timestamp = DateTime.now().millisecondsSinceEpoch.toString(); + options.headers['Ts'] = timestamp; + options.headers['Sign'] = _generateSign(timestamp); handler.next(options); } + String _generateSign(String timestamp) { + // 按照“MD5(私钥 + 时间戳)”生成签名,与 Go 端保持一致 + final signStr = 'ts=${timestamp}key=${_signKey}'; + print("signStr: $signStr"); + return md5.convert(utf8.encode(signStr)).toString(); + } + @override void onResponse(Response response, ResponseInterceptorHandler handler) async { BaseEntity entity = BaseEntity.fromJson(response.data);