import 'package:get/get.dart'; import 'package:flutter/material.dart'; import '../../../../routes/app_routes.dart'; /// 翻译中间层控制器 /// 负责管理翻译功能入口的导航和状态 class TranslationMiddlewareController extends GetxController { /// 翻译功能选项列表 final List translationOptions = [ TranslationOption( translationId: 'simultaneous', title: 'simultaneousTranslation', // 实时翻译 description: 'realtimeTranslationDescription', // 实时语音翻译,支持多种语言 icon: Icons.record_voice_over, iconColor: 0xFF2196F3, // 蓝色 targetRoute: Routes.translation, ), TranslationOption( translationId: 'call', title: 'callTranslation', // 电话翻译 description: 'simultaneousTranslationInfo', // 双向对话翻译,面对面交流 icon: Icons.call, iconColor: 0xFF4CAF50, // 绿色 targetRoute: Routes.translation, ), TranslationOption( translationId: 'faceToFace', title: 'faceToFaceTranslation', // 面对面翻译 description: 'faceToFaceTranslationDescription', // 面对面交流,支持多种语言 icon: Icons.people, iconColor: 0xFFFF9800, // 橙色 targetRoute: Routes.translation, ), TranslationOption( translationId: 'audioVideo', title: 'audioVideoTranslation', // 音频视频翻译 description: 'audioVideoTranslationDescription', // 支持音频和视频翻译 icon: Icons.videocam, iconColor: 0xFF9C27B0, // 紫色 targetRoute: Routes.translation, ), ]; /// 导航到指定的翻译功能 void navigateToTranslationFeature(TranslationOption option) { Get.toNamed(option.targetRoute, arguments: {'translationId': option.translationId}); } /// 获取翻译选项的本地化标题 String getLocalizedTitle(TranslationOption option) { return option.title.tr; } /// 获取翻译选项的本地化描述 String getLocalizedDescription(TranslationOption option) { return option.description.tr; } } /// 翻译功能选项数据模型 class TranslationOption { final String translationId; final String title; final String description; final IconData icon; final int iconColor; final String targetRoute; TranslationOption({ required this.translationId, required this.title, required this.description, required this.icon, required this.iconColor, required this.targetRoute, }); }