Browse Source

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

weicu
tanlongsheng 10 months ago
parent
commit
bb2de9de47
  1. 24
      lib/core/translations/language/ar_sa.dart
  2. 25
      lib/core/translations/language/bg_bg.dart
  3. 24
      lib/core/translations/language/cs_cz.dart
  4. 25
      lib/core/translations/language/da_dk.dart
  5. 26
      lib/core/translations/language/de_de.dart
  6. 25
      lib/core/translations/language/el_gr.dart
  7. 24
      lib/core/translations/language/en_us.dart
  8. 25
      lib/core/translations/language/es_es.dart
  9. 24
      lib/core/translations/language/et_ee.dart
  10. 24
      lib/core/translations/language/fa_ir.dart
  11. 25
      lib/core/translations/language/fi_fi.dart
  12. 26
      lib/core/translations/language/fr_fr.dart
  13. 24
      lib/core/translations/language/hi_in.dart
  14. 26
      lib/core/translations/language/hr_hr.dart
  15. 25
      lib/core/translations/language/hu_hu.dart
  16. 25
      lib/core/translations/language/id_id.dart
  17. 24
      lib/core/translations/language/is_is.dart
  18. 26
      lib/core/translations/language/it_it.dart
  19. 25
      lib/core/translations/language/ja_jp.dart
  20. 23
      lib/core/translations/language/ko_kr.dart
  21. 25
      lib/core/translations/language/lt_lt.dart
  22. 25
      lib/core/translations/language/lv_lv.dart
  23. 25
      lib/core/translations/language/ms_my.dart
  24. 25
      lib/core/translations/language/nb_no.dart
  25. 25
      lib/core/translations/language/nl_nl.dart
  26. 25
      lib/core/translations/language/pl_pl.dart
  27. 26
      lib/core/translations/language/pt_pt.dart
  28. 26
      lib/core/translations/language/ro_ro.dart
  29. 26
      lib/core/translations/language/ru_ru.dart
  30. 25
      lib/core/translations/language/sk_sk.dart
  31. 25
      lib/core/translations/language/sl_si.dart
  32. 25
      lib/core/translations/language/sr_rs.dart
  33. 26
      lib/core/translations/language/sv_se.dart
  34. 24
      lib/core/translations/language/th_th.dart
  35. 26
      lib/core/translations/language/tl_ph.dart
  36. 25
      lib/core/translations/language/tr_tr.dart
  37. 26
      lib/core/translations/language/uk_ua.dart
  38. 25
      lib/core/translations/language/vi_vn.dart
  39. 21
      lib/core/translations/language/zh_cn.dart
  40. 23
      lib/core/translations/language/zh_hk.dart
  41. 3
      lib/data/services/account_service.dart
  42. 15
      lib/data/services/bluetooth_manager.dart
  43. 13
      lib/data/services/network/auth_interceptor.dart
  44. 175
      lib/modules/explore/controllers/explore_controller.dart
  45. 481
      lib/modules/explore/views/explore_view.dart
  46. 67
      lib/modules/meeting/views/meeting_home_view.dart
  47. 163
      lib/modules/settings/views/settings_view.dart
  48. 66
      lib/modules/translation/middleware/views/translation_middleware_view.dart

24
lib/core/translations/language/ar_sa.dart

@ -180,21 +180,9 @@ const Map<String, String> arSA = {
"conferenceAssistant": "مساعد اجتماعات الأعمال",
"conferenceAssistantInfo":
"تسجيل محاضر الاجتماعات في الوقت الفعلي، ترجمة متعددة اللغات",
"studyAssistant": "مساعد تعلم اللغة",
"studyAssistantInfo": "تصحيح النطق، ممارسة المحادثة في الوقت الفعلي",
"travelTranslator": "مساعد ترجمة السفر",
"travelTranslatorInfo": "ترجمة صوتية فورية، مقدمة عن مناطق الجذب السياحي",
"beSearching": "جاري البحث:",
"noAssistantFound": "لم يتم العثور على مساعد الذكاء الاصطناعي المقابل",
"usageStats": "إحصائيات الاستخدام", // 用量统计
"usageStatsInfo": "عرض إحصائيات استخدامك", // 查看您的使用统计数据
"scene": "مشهد",
"youHaveSelected": "لقد اخترت:",
"newFunction": "وظيفة جديدة",
"youChoseTry": "لقد اخترت التجربة",
"aiSinger": "وضع مغني الذكاء الاصطناعي",
"aiSingerInfo":
"غنِ أي أغنية بصوت فنانك المفضل، حتى الأغاني التي كتبتها بنفسك",
"popularFunction": "مشاهد الوظائف الشائعة",
"tryNow": "جرب الآن",
// 商务会议助手页
"startMeeting": "بدء الاجتماع",
@ -429,8 +417,12 @@ const Map<String, String> arSA = {
'inputAttendees': 'أدخل الحضور',
// 设置页
"systemSettings": "إعدادات النظام",
"premiumMember": "عضو مميز",
"systemSettings": "إعدادات النظام", //系统设置
"vipRecharge": "إعادة صيغ العضوية", //会员充值
"premiumMember": "عضو مميز", //AI充值
"translationRecharge": "إعادة صيغ الترجمة", //翻译充值
"meetingAssistantRecharge": "إعادة صيغ الاجتماع", //会议助手充值
"cloudSync": "إعادة صيغ مزامنة السحابة", //云端同步
"joinDevice": "الجهاز المتصل:",
"accountId": "معرف الحساب:",
"systemSetting": "إعدادات النظام",

25
lib/core/translations/language/bg_bg.dart

@ -183,22 +183,9 @@ const Map<String, String> bgBG = {
"conferenceAssistant": "Асистент за бизнес срещи",
"conferenceAssistantInfo":
"Записване на протоколи в реално време и многоезичен превод",
"studyAssistant": "Асистент за изучаване на езици",
"studyAssistantInfo": "Корекция на произношението и практика на говоренето",
"travelTranslator": "Пътуващ преводач",
"travelTranslatorInfo":
"Гласов превод в реално време и гид за забележителности",
"beSearching": "Търсене:",
"noAssistantFound": "Не е намерен съответстващ AI асистент",
"usageStats": "Статистика за използване",
"usageStatsInfo": "Прегледвайте статистика за използване на приложението",
"scene": "Сценарии",
"youHaveSelected": "Избрахте:",
"newFunction": "Нови функции",
"youChoseTry": "Избрахте да опитате",
"aiSinger": "AI певец режим",
"aiSingerInfo":
"Пейте всяка песен с гласа на любимия си изпълнител, дори собствените си творения",
"popularFunction": "Популярни функции",
"tryNow": "Опитай сега",
// 商务会议助手页
"startMeeting": "Започни среща",
@ -214,8 +201,12 @@ const Map<String, String> bgBG = {
'meetingTranscript': 'Протокол от срещата',
// 设置页
"systemSettings": "Системни настройки",
"premiumMember": "Премиум член",
"systemSettings": "Системни настройки", //系统设置
"vipRecharge": "Преплащане за VIP член", //会员充值
"premiumMember": "Премиум член", //AI充值
"translationRecharge": "Преплащане за превод", //翻译充值
"meetingAssistantRecharge": "Преплащане за Сообщението", //会议助手充值
"cloudSync": "Преплащане за синхронизация в облака", //云端同步
"joinDevice": "Свързано устройство:",
"accountId": "ID на акаунта:",
"systemSetting": "Системни настройки",

24
lib/core/translations/language/cs_cz.dart

@ -182,21 +182,9 @@ const Map<String, String> 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",
@ -212,8 +200,12 @@ const Map<String, String> 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í",

25
lib/core/translations/language/da_dk.dart

@ -182,22 +182,9 @@ const Map<String, String> 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",
@ -213,8 +200,12 @@ const Map<String, String> 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",

26
lib/core/translations/language/de_de.dart

@ -186,22 +186,10 @@ const Map<String, String> 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",
@ -217,8 +205,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/el_gr.dart

@ -184,22 +184,9 @@ const Map<String, String> elGR = {
"conferenceAssistant": "Βοηθός επιχειρηματικών συναντήσεων",
"conferenceAssistantInfo":
"Καταγραφή πρακτικών σε πραγματικό χρόνο και πολυγλωσσική μετάφραση",
"studyAssistant": "Βοηθός εκμάθησης γλωσσών",
"studyAssistantInfo": "Διόρθωση προφοράς και εξάσκηση ομιλίας",
"travelTranslator": "Μεταφραστής ταξιδιού",
"travelTranslatorInfo":
"Φωνητική μετάφραση σε πραγματικό χρόνο και οδηγός αξιοθέατων",
"beSearching": "Αναζήτηση:",
"noAssistantFound": "Δεν βρέθηκε αντίστοιχος βοηθός AI",
"usageStats": "Στατιστικά χρήσης",
"usageStatsInfo": "Δείτε τα στατιστικά χρήσης της εφαρμογής",
"scene": "Σενάρια",
"youHaveSelected": "Έχετε επιλέξει:",
"newFunction": "Νέες λειτουργίες",
"youChoseTry": "Επιλέξατε να δοκιμάσετε",
"aiSinger": "Λειτουργία τραγουδιστή AI",
"aiSingerInfo":
"Τραγουδήστε οποιοδήποτε τραγούδι με τη φωνή του αγαπημένου σας καλλιτέχνη, ακόμα και τις δικές σας δημιουργίες",
"popularFunction": "Δημοφιλείς λειτουργίες",
"tryNow": "Δοκιμάστε τώρα",
// 商务会议助手页
"startMeeting": "Έναρξη συνάντησης",
@ -215,8 +202,12 @@ const Map<String, String> elGR = {
'meetingTranscript': 'Απομαγνητοφώνηση συνάντησης',
// 设置页
"systemSettings": "Ρυθμίσεις συστήματος",
"premiumMember": "Premium μέλος",
"systemSettings": "Ρυθμίσεις συστήματος", //系统设置
"vipRecharge": "Περιορέωση VIP μέλους", //会员充值
"premiumMember": "Premium μέλος", //AI充值
"translationRecharge": "Περιορέωση μετάφρασης", //翻译充值
"meetingAssistantRecharge": "Περιορέωση βοηθού συνάντησης", //会议助手充值
"cloudSync": "Περιορέωση συγχρονισμού στο cloud", //云端同步
"joinDevice": "Συνδεδεμένη συσκευή:",
"accountId": "ID λογαριασμού:",
"systemSetting": "Ρυθμίσεις συστήματος",

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

@ -182,21 +182,9 @@ const Map<String, String> 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',
@ -597,8 +585,12 @@ const Map<String, String> 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":

25
lib/core/translations/language/es_es.dart

@ -185,22 +185,9 @@ const Map<String, String> 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",
@ -216,8 +203,12 @@ const Map<String, String> 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",

24
lib/core/translations/language/et_ee.dart

@ -180,21 +180,9 @@ const Map<String, String> 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",
@ -210,8 +198,12 @@ const Map<String, String> 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",

24
lib/core/translations/language/fa_ir.dart

@ -178,21 +178,9 @@ const Map<String, String> faIR = {
"healthConsultantInfo": "ویژگی‌های بیشتر چت هوش مصنوعی",
"conferenceAssistant": "دستیار جلسات کاری",
"conferenceAssistantInfo": "ضبط صورت‌جلسه همزمان و ترجمه چندزبانه",
"studyAssistant": "دستیار یادگیری زبان",
"studyAssistantInfo": "تصحیح تلفظ و تمرین مکالمه",
"travelTranslator": "مترجم سفر",
"travelTranslatorInfo": "ترجمه صوتی همزمان و راهنمای جاذبه‌ها",
"beSearching": "در حال جستجو برای:",
"noAssistantFound": "دستیار هوش مصنوعی مورد نظر یافت نشد",
"usageStats": "استفاده از خدمات",
"usageStatsInfo": "دیدن آمار مصرف سرویس‌ها",
"scene": "سناریوها",
"youHaveSelected": "شما انتخاب کردید:",
"newFunction": "ویژگی‌های جدید",
"youChoseTry": "شما انتخاب کردید که امتحان کنید",
"aiSinger": "حالت خواننده هوش مصنوعی",
"aiSingerInfo":
"هر آهنگی را با صدای هنرمند مورد علاقه خود بخوانید، حتی ساخته‌های خودتان",
"popularFunction": "ویژگی‌های محبوب",
"tryNow": "اکنون امتحان کنید",
// 商务会议助手页
"startMeeting": "شروع جلسه",
@ -429,8 +417,12 @@ const Map<String, String> faIR = {
'inputAttendees': 'ورود شرکت‌کنندگان',
// 设置页
"systemSettings": "تنظیمات سیستم",
"premiumMember": "عضویت ویژه",
"systemSettings": "تنظیمات سیستم", //系统设置
"vipRecharge": "شارژ عضویت ویژه", //会员充值
"premiumMember": "عضویت ویژه", //AI充值
"translationRecharge": "شارژ ترجمه", //翻译充值
"meetingAssistantRecharge": "شارژ کمک‌کننده جلسه", //会议助手充值
"cloudSync": "شارژ همگام‌سازی ابری", //云端同步
"joinDevice": "دستگاه متصل:",
"accountId": "شناسه حساب:",
"systemSetting": "تنظیمات سیستم",

25
lib/core/translations/language/fi_fi.dart

@ -182,22 +182,9 @@ const Map<String, String> 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",
@ -213,8 +200,12 @@ const Map<String, String> 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",

26
lib/core/translations/language/fr_fr.dart

@ -187,23 +187,9 @@ const Map<String, String> 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",
@ -219,8 +205,12 @@ const Map<String, String> 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",

24
lib/core/translations/language/hi_in.dart

@ -180,21 +180,9 @@ const Map<String, String> hiIN = {
"conferenceAssistant": "बिजनेस मीटिंग असिस्टेंट",
"conferenceAssistantInfo":
"रीयल-टाइम मीटिंग मिनट रिकॉर्डिंग, बहु-भाषा अनुवाद",
"studyAssistant": "भाषा सीखने का सहायक",
"studyAssistantInfo": "उच्चारण सुधार, रीयल-टाइम बोलने का अभ्यास",
"travelTranslator": "यात्रा अनुवाद सहायक",
"travelTranslatorInfo": "रीयल-टाइम वॉयस अनुवाद, पर्यटन स्थलों का परिचय",
"beSearching": "खोज रहा है:",
"noAssistantFound": "कोई संबंधित एआई सहायक नहीं मिला",
"usageStats": "उपयोग सtatistik",
"usageStatsInfo": "अप्लिकेशन का उपयोग सtatistik देखें",
"scene": "दृश्य",
"youHaveSelected": "आपने चुना है:",
"newFunction": "नया फ़ंक्शन",
"youChoseTry": "आपने कोशिश करने के लिए चुना",
"aiSinger": "एआई सिंगर मोड",
"aiSingerInfo":
"अपने पसंदीदा गायक की आवाज में कोई भी गाना गाएं, यहां तक कि अपनी खुद की रचनाएं भी",
"popularFunction": "लोकप्रिय फ़ंक्शन दृश्य",
"tryNow": "अभी চেষ্টা করুন",
// 商务会议助手页
"startMeeting": "बैठक शुरू करें",
@ -210,8 +198,12 @@ const Map<String, String> hiIN = {
'meetingTranscript': 'बैठक का प्रतिलेख',
// 设置页
"systemSettings": "सिस्टम सेटिंग्स",
"premiumMember": "प्रीमियम सदस्य",
"systemSettings": "सिस्टम सेटिंग्स", //系统设置
"vipRecharge": "प्रीमियम सदस्य रिचार्ज", //会员充值
"premiumMember": "प्रीमियम सदस्य", //AI充值
"translationRecharge": "अनुवाद रिचार्ज", //翻译充值
"meetingAssistantRecharge": "बैठक असिस्टेंट रिचार्ज", //会议助手充值
"cloudSync": "क्लाउड सिंक्रोनाइज़ेशन रिचार्ज", //云端同步
"joinDevice": "कनेक्टेड डिवाइस:",
"accountId": "खाता आईडी:",
"systemSetting": "सिस्टम सेटिंग",

26
lib/core/translations/language/hr_hr.dart

@ -184,23 +184,9 @@ const Map<String, String> 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",
@ -216,8 +202,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/hu_hu.dart

@ -185,22 +185,9 @@ const Map<String, String> 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",
@ -216,8 +203,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/id_id.dart

@ -180,22 +180,9 @@ const Map<String, String> 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",
@ -211,8 +198,12 @@ const Map<String, String> 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",

24
lib/core/translations/language/is_is.dart

@ -181,21 +181,9 @@ const Map<String, String> 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",
@ -211,8 +199,12 @@ const Map<String, String> 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",

26
lib/core/translations/language/it_it.dart

@ -186,23 +186,9 @@ const Map<String, String> 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",
@ -218,8 +204,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/ja_jp.dart

@ -176,20 +176,9 @@ const Map<String, String> jaJP = {
"healthConsultantInfo": "より多くのAIチャット機能",
"conferenceAssistant": "ビジネス会議アシスタント",
"conferenceAssistantInfo": "リアルタイム議事録記録と多言語翻訳",
"studyAssistant": "語学学習アシスタント",
"studyAssistantInfo": "発音矯正とスピーキング練習",
"travelTranslator": "旅行翻訳者",
"travelTranslatorInfo": "リアルタイム音声翻訳と観光地ガイド",
"beSearching": "検索中:",
"noAssistantFound": "対応するAIアシスタントが見つかりません",
"usageStats": "使用統計",
"usageStatsInfo": "使用統計を確認",
"scene": "シナリオ",
"youHaveSelected": "選択しました:",
"newFunction": "新機能",
"youChoseTry": "試すことを選択しました",
"aiSinger": "AIシンガーモード",
"aiSingerInfo": "お気に入りのアーティストの声で任意の曲を歌う、自分の創作も可能",
"popularFunction": "人気機能",
"tryNow": "今すぐ試す",
// 商务会议助手页
"startMeeting": "会議を開始",
@ -202,11 +191,15 @@ const Map<String, String> jaJP = {
'meeting': '会議',
'recordingDetails': '録音詳細',
'aiSummary': 'AI要約',
'meetingTranscript': '会議記録',
'meetingTranscript': '会議記録', //会议记录
// 设置页
"systemSettings": "システム設定",
"premiumMember": "プレミアムメンバー",
"systemSettings": "システム設定", //系统设置
"vipRecharge": "プレミアムメンバー料金", //会员充值
"premiumMember": "プレミアムメンバー", //AI充值
"translationRecharge": "翻訳料金", //翻译充值
"meetingAssistantRecharge": "会議アシスタント料金", //会议助手充值
"cloudSync": "クラウド同期料金", //云端同步
"joinDevice": "接続デバイス:",
"accountId": "アカウントID:",
"systemSetting": "システム設定",

23
lib/core/translations/language/ko_kr.dart

@ -174,20 +174,9 @@ const Map<String, String> koKR = {
"healthConsultantInfo": "더 많은 AI 채팅 기능 제공",
"conferenceAssistant": "비즈니스 회의 어시스턴트",
"conferenceAssistantInfo": "실시간 회의록 작성, 다국어 번역",
"studyAssistant": "언어 학습 어시스턴트",
"studyAssistantInfo": "발음 교정, 실시간 회화 연습",
"travelTranslator": "여행 번역 어시스턴트",
"travelTranslatorInfo": "실시간 음성 번역, 관광지 소개",
"beSearching": "검색 중:",
"noAssistantFound": "해당하는 AI 어시스턴트를 찾을 수 없습니다",
"usageStats": "사용 통계",
"usageStatsInfo": "사용 통계를 확인하세요",
"scene": "상황",
"youHaveSelected": "선택하셨습니다:",
"newFunction": "새로운 기능",
"youChoseTry": "시도하기로 선택하셨습니다",
"aiSinger": "AI 가수 모드",
"aiSingerInfo": "좋아하는 가수의 목소리로 어떤 노래든 부르세요, 심지어 직접 만든 노래까지",
"popularFunction": "인기 기능 상황",
"tryNow": "지금 시도하기",
// 商务会议助手页
"startMeeting": "회의 시작",
@ -203,8 +192,12 @@ const Map<String, String> koKR = {
'meetingTranscript': '회의 원문',
// 设置页
"systemSettings": "시스템 설정",
"premiumMember": "프리미엄 회원",
"systemSettings": "시스템 설정", //系统设置
"vipRecharge": "프리미엄 회원료", //会员充值
"premiumMember": "프리미엄 회원", //AI充值
"translationRecharge": "번역료", //翻译充值
"meetingAssistantRecharge": "회의 어시스턴트료", //会议助手充值
"cloudSync": "클라우드 동기화료", //云端同步
"joinDevice": "연결된 기기:",
"accountId": "계정 ID:",
"systemSetting": "시스템 설정",

25
lib/core/translations/language/lt_lt.dart

@ -184,22 +184,9 @@ const Map<String, String> 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ą",
@ -215,8 +202,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/lv_lv.dart

@ -183,22 +183,9 @@ const Map<String, String> 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",
@ -214,8 +201,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/ms_my.dart

@ -182,22 +182,9 @@ const Map<String, String> 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",
@ -213,8 +200,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/nb_no.dart

@ -182,22 +182,9 @@ const Map<String, String> 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",
@ -213,8 +200,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/nl_nl.dart

@ -183,22 +183,9 @@ const Map<String, String> 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",
@ -214,8 +201,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/pl_pl.dart

@ -184,22 +184,9 @@ const Map<String, String> 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",
@ -215,8 +202,12 @@ const Map<String, String> 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",

26
lib/core/translations/language/pt_pt.dart

@ -186,23 +186,9 @@ const Map<String, String> 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",
@ -218,8 +204,12 @@ const Map<String, String> 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",

26
lib/core/translations/language/ro_ro.dart

@ -185,23 +185,9 @@ const Map<String, String> 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",
@ -217,8 +203,12 @@ const Map<String, String> 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",

26
lib/core/translations/language/ru_ru.dart

@ -184,23 +184,9 @@ const Map<String, String> ruRU = {
"conferenceAssistant": "Помощник для деловых встреч",
"conferenceAssistantInfo":
"Запись протоколов в реальном времени, многоязычный перевод",
"studyAssistant": "Помощник в изучении языков",
"studyAssistantInfo":
"Коррекция произношения, практика разговорной речи в реальном времени",
"travelTranslator": "Помощник-переводчик для путешествий",
"travelTranslatorInfo":
"Голосовой перевод в реальном времени, описание туристических достопримечательностей",
"beSearching": "Поиск:",
"noAssistantFound": "Соответствующий AI-помощник не найден",
"usageStats": "Статистика использования",
"usageStatsInfo": "Просмотрите статистику использования вашего приложения",
"scene": "Сценарий",
"youHaveSelected": "Вы выбрали:",
"newFunction": "Новая функция",
"youChoseTry": "Вы решили попробовать",
"aiSinger": "Режим AI-певца",
"aiSingerInfo":
"Пойте любую песню голосом вашего любимого исполнителя, даже ваши собственные композиции",
"popularFunction": "Популярные функциональные сценарии",
"tryNow": "Попробовать сейчас",
// 商务会议助手页
"startMeeting": "Начать встречу",
@ -216,8 +202,12 @@ const Map<String, String> ruRU = {
'meetingTranscript': 'Транскрипт встречи',
// 设置页
"systemSettings": "Системные настройки",
"premiumMember": "Премиум-участник",
"systemSettings": "Системные настройки", //系统设置
"vipRecharge": "Пополнение премиум-члена", //会员充值
"premiumMember": "Премиум-участник", //AI充值
"translationRecharge": "Пополнение перевода", //翻译充值
"meetingAssistantRecharge": "Пополнение помощника встречи", //会议助手充值
"cloudSync": "Пополнение синхронизации в облаке", //云端同步
"joinDevice": "Подключенное устройство:",
"accountId": "ID аккаунта:",
"systemSetting": "Системные настройки",

25
lib/core/translations/language/sk_sk.dart

@ -183,22 +183,9 @@ const Map<String, String> 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",
@ -214,8 +201,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/sl_si.dart

@ -183,22 +183,9 @@ const Map<String, String> 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",
@ -214,8 +201,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/sr_rs.dart

@ -182,22 +182,9 @@ const Map<String, String> 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",
@ -213,8 +200,12 @@ const Map<String, String> 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",

26
lib/core/translations/language/sv_se.dart

@ -182,23 +182,9 @@ const Map<String, String> 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",
@ -214,8 +200,12 @@ const Map<String, String> 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",

24
lib/core/translations/language/th_th.dart

@ -176,21 +176,9 @@ const Map<String, String> thTH = {
"healthConsultantInfo": "มีฟังก์ชันแชท AI เพิ่มเติม",
"conferenceAssistant": "ผู้ช่วยประชุมธุรกิจ",
"conferenceAssistantInfo": "บันทึกการประชุมแบบเรียลไทม์ แปลหลายภาษา",
"studyAssistant": "ผู้ช่วยเรียนภาษา",
"studyAssistantInfo": "แก้ไขการออกเสียง ฝึกพูดแบบเรียลไทม์",
"travelTranslator": "ผู้ช่วยแปลภาษาสำหรับการเดินทาง",
"travelTranslatorInfo": "แปลเสียงแบบเรียลไทม์ แนะนำสถานที่ท่องเที่ยว",
"beSearching": "กำลังค้นหา:",
"noAssistantFound": "ไม่พบผู้ช่วย AI ที่ตรงกัน",
"usageStats": "สถิติการใช้งาน",
"usageStatsInfo": "ดูสถิติการใช้งานของคุณ",
"scene": "สถานการณ์",
"youHaveSelected": "คุณได้เลือก:",
"newFunction": "ฟังก์ชันใหม่",
"youChoseTry": "คุณเลือกที่จะลอง",
"aiSinger": "โหมดนักร้อง AI",
"aiSingerInfo":
"ร้องเพลงใดก็ได้ด้วยเสียงของนักร้องที่คุณชื่นชอบ แม้แต่เพลงที่คุณแต่งเอง",
"popularFunction": "สถานการณ์ฟังก์ชันยอดนิยม",
"tryNow": "ลองเลย",
// 商务会议助手页
"startMeeting": "เริ่มการประชุม",
@ -206,8 +194,12 @@ const Map<String, String> thTH = {
'meetingTranscript': 'ข้อความถอดเสียงการประชุม',
// 设置页
"systemSettings": "การตั้งค่าระบบ",
"premiumMember": "สมาชิกระดับพรีเมียม",
"systemSettings": "การตั้งค่าระบบ", //系统设置
"vipRecharge": "การเติมเงินสมาชิกระดับพรีเมียม", //会员充值
"premiumMember": "สมาชิกระดับพรีเมียม", //AI充值
"translationRecharge": "การเติมเงินการแปล", //翻译充值
"meetingAssistantRecharge": "การเติมเงินผู้ช่วยการประชุม", //会议助手充值
"cloudSync": "การเติมเงินการ đồng bộ hóaคลาวด์", //云端同步
"joinDevice": "อุปกรณ์ที่เชื่อมต่อ:",
"accountId": "ID บัญชี:",
"systemSetting": "การตั้งค่าระบบ",

26
lib/core/translations/language/tl_ph.dart

@ -185,23 +185,9 @@ const Map<String, String> 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",
@ -217,8 +203,12 @@ const Map<String, String> 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",

25
lib/core/translations/language/tr_tr.dart

@ -180,22 +180,9 @@ const Map<String, String> 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",
@ -211,8 +198,12 @@ const Map<String, String> 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ı",

26
lib/core/translations/language/uk_ua.dart

@ -183,23 +183,9 @@ const Map<String, String> ukUA = {
"conferenceAssistant": "Помічник для ділових зустрічей",
"conferenceAssistantInfo":
"Запис протоколів у реальному часі, багатомовний переклад",
"studyAssistant": "Помічник у вивченні мов",
"studyAssistantInfo":
"Виправлення вимови, практика розмовної мови в реальному часі",
"travelTranslator": "Помічник-перекладач для подорожей",
"travelTranslatorInfo":
"Голосовий переклад у реальному часі, опис туристичних місць",
"beSearching": "Пошук:",
"noAssistantFound": "Не знайдено відповідного помічника AI",
"usageStats": "Статистика використання",
"usageStatsInfo": "Перегляньте статистику використання вашого пристрою",
"scene": "Сценарій",
"youHaveSelected": "Ви обрали:",
"newFunction": "Нова функція",
"youChoseTry": "Ви вирішили спробувати",
"aiSinger": "Режим AI співака",
"aiSingerInfo":
"Співайте будь-яку пісню голосом улюбленого співака, навіть пісні власного авторства",
"popularFunction": "Популярні функціональні сценарії",
"tryNow": "Спробувати зараз",
// 商务会议助手页
"startMeeting": "Почати зустріч",
@ -215,8 +201,12 @@ const Map<String, String> ukUA = {
'meetingTranscript': 'Транскрипт зустрічі',
// 设置页
"systemSettings": "Системні налаштування",
"premiumMember": "Преміум-учасник",
"systemSettings": "Системні налаштування", //系统设置
"vipRecharge": "Підписатися на премиум-членство", //会员充值
"premiumMember": "Преміум-учасник", //AI充值
"translationRecharge": "Підписатися на переклад", //翻译充值
"meetingAssistantRecharge": "Підписатися на допомогу з зустрічю", //会议助手充值
"cloudSync": "Увімкнути синхронізацію в хмарі", //云端同步
"joinDevice": "Підключений пристрій:",
"accountId": "ID облікового запису:",
"systemSetting": "Системні налаштування",

25
lib/core/translations/language/vi_vn.dart

@ -179,22 +179,9 @@ const Map<String, String> 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",
@ -210,8 +197,12 @@ const Map<String, String> 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",

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

@ -176,20 +176,9 @@ const Map<String, String> 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': '可购买套餐',
@ -559,7 +548,11 @@ const Map<String, String> zhCN = {
// 设置页
"systemSettings": "系统设置",
"premiumMember": "高级会员",
"vipRecharge": "会员充值",
"premiumMember": "AI充值",
"translationRecharge": "翻译充值",
"meetingAssistantRecharge": "会议充值",
"cloudSync": "云端同步",
"memberService": "会员服务",
"bindRewardTitle": "奖励",
"bindRewardSimpleDesc": "首次绑定设备奖励已下发,点击确定关闭即可",

23
lib/core/translations/language/zh_hk.dart

@ -175,20 +175,9 @@ const Map<String, String> 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 次',
@ -225,8 +214,12 @@ const Map<String, String> zhHK = {
'meetingTranscript': '會議原文',
// 設定頁
"systemSettings": "系統設定",
"premiumMember": "高級會員",
"systemSettings": "系統設定", //系统设置
"vipRecharge": "高級會員充值", //会员充值
"premiumMember": "高級會員", //AI充值
"translationRecharge": "翻譯充值", //翻译充值
"meetingAssistantRecharge": "會議充值", //会议充值
"cloudSync": "雲端同步", //云端同步
"joinDevice": "已連接設備:",
"accountId": "帳號ID:",
"systemSetting": "系統設定",

3
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) {

15
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<BluetoothDevice?> currentDeviceRx = Rx<BluetoothDevice?>(null);
BluetoothDevice? get currentDevice => currentDeviceRx.value;
final BleManager _bleManager = Get.find<BleManager>();
final GetStorage _storage = GetStorage();
// 订阅
StreamSubscription<BluetoothEvent>? _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;
}
}
}

13
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<String>("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);

175
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<AIFeature> 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<AIFeature> 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<FunctionScene> functionScenes = [
FunctionScene(
final List<AIFeature> 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();
}
}

481
lib/modules/explore/views/explore_view.dart

@ -25,7 +25,7 @@ class ExploreView extends GetView<ExploreController> {
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<ExploreController> {
// 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<ExploreController> {
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<ExploreController> {
);
}
// 自定义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<ExploreController> {
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<ExploreController> {
);
}
//整行布局
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<ExploreController> {
),
);
}
// 热门功能场景部分
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],
),
),
),
],
),
);
}
}

67
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<MeetingHomeView>
),
),
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<MeetingHomeView>
: 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<MeetingHomeView>
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)}';
}
}

163
lib/modules/settings/views/settings_view.dart

@ -40,11 +40,11 @@ class SettingsView extends GetView<SettingsController> {
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),
@ -129,34 +129,34 @@ class SettingsView extends GetView<SettingsController> {
),
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(
@ -220,15 +220,15 @@ class SettingsView extends GetView<SettingsController> {
// 构建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<SettingsController> {
),
],
),
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<SettingsController> {
required Color iconBg,
required Color iconColor,
required VoidCallback onTap,
Color? textColor,
}) {
return InkWell(
onTap: onTap,
@ -312,7 +332,7 @@ class SettingsView extends GetView<SettingsController> {
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<SettingsController> {
style: TextStyle(
fontSize: 12.sp,
fontWeight: FontWeight.w500,
color: Colors.white,
color: textColor ??
(Get.isDarkMode ? Colors.white : Colors.black87),
height: 1.2,
),
maxLines: 2,

66
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)}';
}
}

Loading…
Cancel
Save