Browse Source

feat(i18n): 添加多语言会议录音和悬浮窗权限相关翻译

添加了会议录音退出选项、后台录音通知和悬浮窗权限描述的多语言翻译,支持包括中文、英文、日语、韩语等在内的多种语言
weicu
lxm 9 months ago
parent
commit
affa80c689
  1. 14
      lib/core/translations/language/ar_sa.dart
  2. 14
      lib/core/translations/language/bg_bg.dart
  3. 14
      lib/core/translations/language/cs_cz.dart
  4. 14
      lib/core/translations/language/da_dk.dart
  5. 14
      lib/core/translations/language/de_de.dart
  6. 14
      lib/core/translations/language/el_gr.dart
  7. 14
      lib/core/translations/language/es_es.dart
  8. 14
      lib/core/translations/language/et_ee.dart
  9. 14
      lib/core/translations/language/fa_ir.dart
  10. 14
      lib/core/translations/language/fi_fi.dart
  11. 14
      lib/core/translations/language/fr_fr.dart
  12. 14
      lib/core/translations/language/hi_in.dart
  13. 14
      lib/core/translations/language/hr_hr.dart
  14. 14
      lib/core/translations/language/hu_hu.dart
  15. 14
      lib/core/translations/language/id_id.dart
  16. 14
      lib/core/translations/language/is_is.dart
  17. 14
      lib/core/translations/language/it_it.dart
  18. 14
      lib/core/translations/language/ja_jp.dart
  19. 14
      lib/core/translations/language/ko_kr.dart
  20. 14
      lib/core/translations/language/lt_lt.dart
  21. 14
      lib/core/translations/language/lv_lv.dart
  22. 14
      lib/core/translations/language/ms_my.dart
  23. 14
      lib/core/translations/language/nb_no.dart
  24. 14
      lib/core/translations/language/nl_nl.dart
  25. 14
      lib/core/translations/language/pl_pl.dart
  26. 14
      lib/core/translations/language/pt_pt.dart
  27. 14
      lib/core/translations/language/ro_ro.dart
  28. 134
      lib/core/translations/language/ru_ru.dart
  29. 63
      lib/core/translations/language/sk_sk.dart
  30. 70
      lib/core/translations/language/sl_si.dart
  31. 477
      lib/core/translations/language/sr_rs.dart
  32. 465
      lib/core/translations/language/sv_se.dart
  33. 414
      lib/core/translations/language/th_th.dart
  34. 519
      lib/core/translations/language/tl_ph.dart
  35. 469
      lib/core/translations/language/tr_tr.dart
  36. 498
      lib/core/translations/language/uk_ua.dart
  37. 438
      lib/core/translations/language/vi_vn.dart
  38. 17
      lib/core/translations/language/zh_hk.dart
  39. 17
      lib/core/translations/language/zh_tw.dart

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

@ -435,6 +435,20 @@ const Map<String, String> arSA = {
'audioVideoRecording': 'تسجيل صوت/فيديو', 'audioVideoRecording': 'تسجيل صوت/فيديو',
'callRecording': 'تسجيل المكالمات', 'callRecording': 'تسجيل المكالمات',
'importAudio': 'استيراد صوت', 'importAudio': 'استيراد صوت',
'meetingRecordExitTitle': 'الخروج من التسجيل', // 退出录音
'meetingRecordExitMessage': 'اختر ما تريد فعله قبل المغادرة', // 请选择离开后的操作
'meetingRecordEndAndSave': 'إنهاء التسجيل وحفظه', // 结束录音并保存
'meetingRecordEndWithoutSave': 'إنهاء التسجيل دون حفظ', // 结束录音不保存
'meetingRecordContinueInBackground': 'متابعة التسجيل في الخلفية', // 后台继续录音
'meetingRecordStopTimeout': 'انتهت مهلة إيقاف التسجيل. يرجى المحاولة مرة أخرى.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'تعذر إيقاف التسجيل. يرجى المحاولة مرة أخرى.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'تعذر حفظ التسجيل. يرجى المحاولة مرة أخرى.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'التسجيل جارٍ', // 录音进行中
'meetingRecordRecordingNotificationBody': 'يتم التسجيل في الخلفية. اضغط للعودة إلى التطبيق.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'الظهور فوق التطبيقات الأخرى', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'لعرض نتائج الترجمة أثناء المكالمات أو ترجمة الصوت/الفيديو، نحتاج إلى إذن الظهور فوق التطبيقات الأخرى. يتيح لك ذلك رؤية الترجمات الفورية أثناء استخدام تطبيقات أخرى.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'لعرض شريط التسجيل العائم (المؤقت/إيقاف مؤقت/استئناف) أثناء التسجيل، نحتاج إلى إذن الظهور فوق التطبيقات الأخرى.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'تعذر فتح إعدادات النظام تلقائيًا. يرجى فتح الإعدادات وتمكين إذن الظهور فوق التطبيقات الأخرى يدويًا.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'جاري النسخ...', 'transcribing': 'جاري النسخ...',
'summarizing': 'جاري التلخيص...', 'summarizing': 'جاري التلخيص...',
'analyzing': 'جاري التحليل...', 'analyzing': 'جاري التحليل...',

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

@ -444,6 +444,20 @@ const Map<String, String> bgBG = {
'audioVideoRecording': 'Аудио/Видео запис', 'audioVideoRecording': 'Аудио/Видео запис',
'callRecording': 'Запис на разговор', 'callRecording': 'Запис на разговор',
'importAudio': 'Импорт на аудио', 'importAudio': 'Импорт на аудио',
'meetingRecordExitTitle': 'Изход от записа', // 退出录音
'meetingRecordExitMessage': 'Изберете какво да направите преди да излезете', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Прекратяване и запазване', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Прекратяване без запазване', // 结束录音不保存
'meetingRecordContinueInBackground': 'Продължи записването във фонов режим', // 后台继续录音
'meetingRecordStopTimeout': 'Времето за спиране на записа изтече. Опитайте отново.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Неуспешно спиране на записа. Опитайте отново.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Неуспешно запазване на записа. Опитайте отново.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Записът е в ход', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Запис във фонов режим. Докоснете, за да се върнете в приложението.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Показване върху други приложения', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'За да показваме резултатите от превода по време на обаждания или превод на аудио/видео, е нужно разрешение за показване върху други приложения. Така ще виждате превод в реално време, докато използвате други приложения.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'За да показваме плаващата лента за запис (таймер/пауза/продължи) по време на запис, е нужно разрешение за показване върху други приложения.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Не можем да отворим системните настройки автоматично. Моля, отворете Настройки и включете разрешението за показване върху други приложения ръчно.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Транскрибиране...', 'transcribing': 'Транскрибиране...',
'summarizing': 'Обобщаване...', 'summarizing': 'Обобщаване...',
'analyzing': 'Анализиране...', 'analyzing': 'Анализиране...',

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

@ -437,6 +437,20 @@ const Map<String, String> csCZ = {
'audioVideoRecording': 'Audio/Video nahrávání', 'audioVideoRecording': 'Audio/Video nahrávání',
'callRecording': 'Nahrávání hovoru', 'callRecording': 'Nahrávání hovoru',
'importAudio': 'Importovat audio', 'importAudio': 'Importovat audio',
'meetingRecordExitTitle': 'Ukončit nahrávání', // 退出录音
'meetingRecordExitMessage': 'Vyberte, co udělat před odchodem', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Ukončit a uložit', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Ukončit bez uložení', // 结束录音不保存
'meetingRecordContinueInBackground': 'Pokračovat v nahrávání na pozadí', // 后台继续录音
'meetingRecordStopTimeout': 'Časový limit pro zastavení nahrávání vypršel. Zkuste to znovu.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Nepodařilo se zastavit nahrávání. Zkuste to znovu.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Nepodařilo se uložit nahrávku. Zkuste to znovu.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Probíhá nahrávání', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Nahrávání na pozadí. Klepnutím se vraťte do aplikace.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Zobrazovat nad ostatními aplikacemi', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Abychom mohli zobrazovat výsledky překladu během hovorů nebo překladu zvuku/videa, potřebujeme oprávnění zobrazovat nad ostatními aplikacemi. Díky tomu uvidíte překlady v reálném čase i při používání jiných aplikací.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Abychom mohli během nahrávání zobrazit plovoucí lištu (časovač/pauza/pokračovat), potřebujeme oprávnění zobrazovat nad ostatními aplikacjami.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Nepodařilo se automaticky otevřít systémová nastavení. Otevřete prosím Nastavení a povolte oprávnění zobrazovat nad ostatními aplikacemi ručně.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Přepisování...', 'transcribing': 'Přepisování...',
'summarizing': 'Shrnování...', 'summarizing': 'Shrnování...',
'analyzing': 'Analyzování...', 'analyzing': 'Analyzování...',

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

@ -439,6 +439,20 @@ const Map<String, String> daDK = {
'audioVideoRecording': 'Lyd/Video optagelse', 'audioVideoRecording': 'Lyd/Video optagelse',
'callRecording': 'Opkaldsoptagelse', 'callRecording': 'Opkaldsoptagelse',
'importAudio': 'Importer lyd', 'importAudio': 'Importer lyd',
'meetingRecordExitTitle': 'Afslut optagelse', // 退出录音
'meetingRecordExitMessage': 'Vælg, hvad du vil gøre, før du forlader', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Afslut og gem', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Afslut uden at gemme', // 结束录音不保存
'meetingRecordContinueInBackground': 'Fortsæt optagelsen i baggrunden', // 后台继续录音
'meetingRecordStopTimeout': 'Tidsgrænsen for at stoppe optagelsen udløb. Prøv igen.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Kunne ikke stoppe optagelsen. Prøv igen.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Kunne ikke gemme optagelsen. Prøv igen.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Optagelse i gang', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Optager i baggrunden. Tryk for at vende tilbage til appen.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Tegn over andre apps', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'For at vise oversættelsesresultater under opkald eller lyd-/videooversættelse har vi brug for tilladelsen til at tegne over andre apps. Det lader dig se oversættelser i realtid, mens du bruger andre apps.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'For at vise den flydende optagelseslinje (timer/pause/genoptag) under optagelse har vi brug for tilladelsen til at tegne over andre apps.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Kan ikke åbne systemindstillinger automatisk. Åbn venligst Indstillinger, og aktivér tilladelsen til at tegne over andre apps manuelt.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transskriberer...', 'transcribing': 'Transskriberer...',
'summarizing': 'Sammenfatter...', 'summarizing': 'Sammenfatter...',
'analyzing': 'Analyserer...', 'analyzing': 'Analyserer...',

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

@ -446,6 +446,20 @@ const Map<String, String> deDE = {
'audioVideoRecording': 'Audio-/Video-Aufnahme', 'audioVideoRecording': 'Audio-/Video-Aufnahme',
'callRecording': 'Anruf-Aufnahme', 'callRecording': 'Anruf-Aufnahme',
'importAudio': 'Audio importieren', 'importAudio': 'Audio importieren',
'meetingRecordExitTitle': 'Aufnahme beenden', // 退出录音
'meetingRecordExitMessage': 'Wählen Sie, was Sie vor dem Verlassen tun möchten', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Beenden und speichern', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Beenden ohne zu speichern', // 结束录音不保存
'meetingRecordContinueInBackground': 'Aufnahme im Hintergrund fortsetzen', // 后台继续录音
'meetingRecordStopTimeout': 'Zeitüberschreitung beim Beenden der Aufnahme. Bitte erneut versuchen.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Aufnahme konnte nicht beendet werden. Bitte erneut versuchen.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Aufnahme konnte nicht gespeichert werden. Bitte erneut versuchen.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Aufnahme läuft', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Aufnahme im Hintergrund. Tippen, um zur App zurückzukehren.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Über anderen Apps einblenden', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Um Übersetzungsergebnisse während Anrufen oder Audio-/Videoübersetzungen anzuzeigen, benötigen wir die Berechtigung, über anderen Apps einzublenden. So sehen Sie Echtzeitübersetzungen, während Sie andere Apps verwenden.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Um während der Aufnahme die schwebende Leiste (Timer/Pause/Fortsetzen) anzuzeigen, benötigen wir die Berechtigung, über anderen Apps einzublenden.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Systemeinstellungen konnten nicht automatisch geöffnet werden. Bitte öffnen Sie die Einstellungen und aktivieren Sie die Berechtigung zum Einblenden über anderen Apps manuell.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transkribieren...', 'transcribing': 'Transkribieren...',
'summarizing': 'Zusammenfassen...', 'summarizing': 'Zusammenfassen...',
'analyzing': 'Analysieren...', 'analyzing': 'Analysieren...',

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

@ -452,6 +452,20 @@ const Map<String, String> elGR = {
'audioVideoRecording': 'Εγγραφή ήχου/βίντεο', 'audioVideoRecording': 'Εγγραφή ήχου/βίντεο',
'callRecording': 'Εγγραφή κλήσης', 'callRecording': 'Εγγραφή κλήσης',
'importAudio': 'Εισαγωγή ήχου', 'importAudio': 'Εισαγωγή ήχου',
'meetingRecordExitTitle': 'Έξοδος από την εγγραφή', // 退出录音
'meetingRecordExitMessage': 'Επιλέξτε τι θα κάνετε πριν φύγετε', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Τερματισμός και αποθήκευση', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Τερματισμός χωρίς αποθήκευση', // 结束录音不保存
'meetingRecordContinueInBackground': 'Συνέχιση εγγραφής στο παρασκήνιο', // 后台继续录音
'meetingRecordStopTimeout': 'Έληξε το χρονικό όριο διακοπής της εγγραφής. Δοκιμάστε ξανά.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Αποτυχία διακοπής της εγγραφής. Δοκιμάστε ξανά.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Αποτυχία αποθήκευσης της εγγραφής. Δοκιμάστε ξανά.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Η εγγραφή είναι σε εξέλιξη', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Γίνεται εγγραφή στο παρασκήνιο. Πατήστε για επιστροφή στην εφαρμογή.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Εμφάνιση πάνω από άλλες εφαρμογές', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Για να εμφανίζουμε τα αποτελέσματα μετάφρασης κατά τη διάρκεια κλήσεων ή μετάφρασης ήχου/βίντεο, χρειαζόμαστε άδεια εμφάνισης πάνω από άλλες εφαρμογές. Έτσι θα βλέπετε μεταφράσεις σε πραγματικό χρόνο ενώ χρησιμοποιείτε άλλες εφαρμογές.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Για να εμφανίζουμε την αιωρούμενη μπάρα εγγραφής (χρονομετρητής/παύση/συνέχιση) κατά την εγγραφή, χρειαζόμαστε άδεια εμφάνισης πάνω από άλλες εφαρμογές.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Δεν ήταν δυνατή η αυτόματη μετάβαση στις ρυθμίσεις συστήματος. Ανοίξτε τις Ρυθμίσεις και ενεργοποιήστε χειροκίνητα την άδεια εμφάνισης πάνω από άλλες εφαρμογές.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Απομαγνητοφώνηση...', 'transcribing': 'Απομαγνητοφώνηση...',
'summarizing': 'Δημιουργία περίληψης...', 'summarizing': 'Δημιουργία περίληψης...',
'analyzing': 'Ανάλυση...', 'analyzing': 'Ανάλυση...',

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

@ -439,6 +439,20 @@ const Map<String, String> esES = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Salir de la grabación', // 退出录音
'meetingRecordExitMessage': 'Elige qué hacer antes de salir', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Finalizar y guardar', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Finalizar sin guardar', // 结束录音不保存
'meetingRecordContinueInBackground': 'Continuar grabando en segundo plano', // 后台继续录音
'meetingRecordStopTimeout': 'Se agotó el tiempo para detener la grabación. Inténtalo de nuevo.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'No se pudo detener la grabación. Inténtalo de nuevo.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'No se pudo guardar la grabación. Inténtalo de nuevo.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Grabación en curso', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Grabando en segundo plano. Toca para volver a la aplicación.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Mostrar sobre otras apps', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Para mostrar los resultados de la traducción durante llamadas o traducción de audio/vídeo, necesitamos el permiso de superposición. Esto te permite ver traducciones en tiempo real mientras usas otras apps.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Para mostrar la barra flotante de grabación (temporizador/pausa/reanudar) durante la grabación, necesitamos el permiso de superposición.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'No se pueden abrir los ajustes del sistema automáticamente. Abre Ajustes y habilita manualmente el permiso de superposición.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -434,6 +434,20 @@ const Map<String, String> etEE = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Välju salvestusest', // 退出录音
'meetingRecordExitMessage': 'Vali, mida teha enne lahkumist', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Lõpeta ja salvesta', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Lõpeta salvestamata', // 结束录音不保存
'meetingRecordContinueInBackground': 'Jätka salvestamist taustal', // 后台继续录音
'meetingRecordStopTimeout': 'Salvestuse peatamise ajalimiit sai täis. Proovi uuesti.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Salvestust ei õnnestunud peatada. Proovi uuesti.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Salvestust ei õnnestunud salvestada. Proovi uuesti.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Salvestamine käib', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Salvestamine taustal. Puuduta, et naasta rakendusse.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Kuva teiste rakenduste peal', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Tõlketulemuste kuvamiseks kõnede või heli/video tõlke ajal vajame ülekatte luba. See võimaldab sul näha reaalajas tõlkeid ka teiste rakenduste kasutamisel.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Salvestamise ajal salvestuse ujuvriba (taimer/paus/jätka) kuvamiseks vajame ülekatte luba.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Süsteemiseadeid ei saa automaatselt avada. Palun ava Seaded ja luba ülekatte luba käsitsi.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -436,6 +436,20 @@ const Map<String, String> faIR = {
'audioVideoRecording': 'ضبط صوتی/تصویری', 'audioVideoRecording': 'ضبط صوتی/تصویری',
'callRecording': 'ضبط تماس', 'callRecording': 'ضبط تماس',
'importAudio': 'وارد کردن صدا', 'importAudio': 'وارد کردن صدا',
'meetingRecordExitTitle': 'خروج از ضبط', // 退出录音
'meetingRecordExitMessage': 'قبل از خروج انتخاب کنید چه کاری انجام شود', // 请选择离开后的操作
'meetingRecordEndAndSave': 'پایان و ذخیره', // 结束录音并保存
'meetingRecordEndWithoutSave': 'پایان بدون ذخیره', // 结束录音不保存
'meetingRecordContinueInBackground': 'ادامهٔ ضبط در پس‌زمینه', // 后台继续录音
'meetingRecordStopTimeout': 'مهلت توقف ضبط به پایان رسید. لطفاً دوباره تلاش کنید.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'توقف ضبط ناموفق بود. لطفاً دوباره تلاش کنید.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'ذخیرهٔ ضبط ناموفق بود. لطفاً دوباره تلاش کنید.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'ضبط در حال انجام است', // 录音进行中
'meetingRecordRecordingNotificationBody': 'در پس‌زمینه در حال ضبط است. برای بازگشت به برنامه لمس کنید.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'نمایش روی سایر برنامه‌ها', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'برای نمایش نتایج ترجمه هنگام تماس‌ها یا ترجمهٔ صوت/ویدئو، به مجوز نمایش روی سایر برنامه‌ها نیاز داریم. این کار به شما اجازه می‌دهد هنگام استفاده از برنامه‌های دیگر، ترجمهٔ هم‌زمان را ببینید.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'برای نمایش نوار شناور ضبط (زمان‌سنج/توقف موقت/ادامه) هنگام ضبط، به مجوز نمایش روی سایر برنامه‌ها نیاز داریم.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'امکان باز کردن خودکار تنظیمات سیستم نیست. لطفاً تنظیمات را باز کرده و مجوز نمایش روی سایر برنامه‌ها را به‌صورت دستی فعال کنید.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'در حال تبدیل به متن...', 'transcribing': 'در حال تبدیل به متن...',
'summarizing': 'در حال خلاصه‌سازی...', 'summarizing': 'در حال خلاصه‌سازی...',
'analyzing': 'در حال تجزیه و تحلیل...', 'analyzing': 'در حال تجزیه و تحلیل...',

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

@ -439,6 +439,20 @@ const Map<String, String> fiFI = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Poistu tallennuksesta', // 退出录音
'meetingRecordExitMessage': 'Valitse, mitä tehdä ennen poistumista', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Lopeta ja tallenna', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Lopeta tallentamatta', // 结束录音不保存
'meetingRecordContinueInBackground': 'Jatka tallennusta taustalla', // 后台继续录音
'meetingRecordStopTimeout': 'Tallennuksen lopettaminen aikakatkaistiin. Yritä uudelleen.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Tallennusta ei voitu lopettaa. Yritä uudelleen.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Tallennusta ei voitu tallentaa. Yritä uudelleen.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Tallennus käynnissä', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Tallennetaan taustalla. Napauta palataksesi sovellukseen.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Näytä muiden sovellusten päällä', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Jotta voimme näyttää käännöstulokset puheluiden tai ääni-/videokäännöksen aikana, tarvitsemme päällekkäisyysoikeuden. Näin näet reaaliaikaiset käännökset käyttäessäsi muita sovelluksia.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Jotta voimme näyttää tallennuksen kelluvan palkin (ajastin/tauko/jatka) tallennuksen aikana, tarvitsemme päällekkäisyysoikeuden.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Järjestelmäasetuksia ei voi avata automaattisesti. Avaa Asetukset ja ota päällekkäisyysoikeus käyttöön manuaalisesti.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -441,6 +441,20 @@ const Map<String, String> frFR = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Quitter l\'enregistrement', // 退出录音
'meetingRecordExitMessage': 'Choisissez quoi faire avant de quitter', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Terminer et enregistrer', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Terminer sans enregistrer', // 结束录音不保存
'meetingRecordContinueInBackground': 'Continuer l\'enregistrement en arrière-plan', // 后台继续录音
'meetingRecordStopTimeout': 'Le délai d\'arrêt de l\'enregistrement a expiré. Veuillez réessayer.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Impossible d\'arrêter l\'enregistrement. Veuillez réessayer.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Impossible de sauvegarder l\'enregistrement. Veuillez réessayer.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Enregistrement en cours', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Enregistrement en arrière-plan. Touchez pour revenir à l\'application.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Afficher par-dessus les autres applis', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Pour afficher les résultats de traduction pendant les appels ou la traduction audio/vidéo, nous avons besoin de l\'autorisation d\'affichage par-dessus les autres applis. Cela vous permet de voir les traductions en temps réel tout en utilisant d\'autres applis.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Pour afficher la barre flottante d\'enregistrement (minuteur/pause/reprendre) pendant l\'enregistrement, nous avons besoin de l\'autorisation d\'affichage par-dessus les autres applis.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Impossible d\'ouvrir automatiquement les réglages système. Ouvrez Réglages et activez manuellement l\'autorisation d\'affichage par-dessus les autres applis.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -437,6 +437,20 @@ const Map<String, String> hiIN = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'रिकॉर्डिंग से बाहर निकलें', // 退出录音
'meetingRecordExitMessage': 'बाहर निकलने से पहले क्या करना है चुनें', // 请选择离开后的操作
'meetingRecordEndAndSave': 'रिकॉर्डिंग समाप्त करें और सहेजें', // 结束录音并保存
'meetingRecordEndWithoutSave': 'बिना सहेजे रिकॉर्डिंग समाप्त करें', // 结束录音不保存
'meetingRecordContinueInBackground': 'बैकग्राउंड में रिकॉर्डिंग जारी रखें', // 后台继续录音
'meetingRecordStopTimeout': 'रिकॉर्डिंग रोकने का समय समाप्त हो गया। कृपया फिर से प्रयास करें।', // 结束录音超时,请重试
'meetingRecordStopFailed': 'रिकॉर्डिंग रोकने में विफल। कृपया फिर से प्रयास करें।', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'रिकॉर्डिंग सहेजने में विफल। कृपया फिर से प्रयास करें।', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'रिकॉर्डिंग चल रही है', // 录音进行中
'meetingRecordRecordingNotificationBody': 'बैकग्राउंड में रिकॉर्डिंग हो रही है। ऐप पर लौटने के लिए टैप करें।', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'अन्य ऐप्स के ऊपर दिखाएँ', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'कॉल या ऑडियो/वीडियो अनुवाद के दौरान अनुवाद परिणाम दिखाने के लिए हमें ओवरले अनुमति चाहिए। इससे आप अन्य ऐप्स का उपयोग करते समय भी रीयल-टाइम अनुवाद देख सकते हैं।', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'रिकॉर्डिंग के दौरान रिकॉर्डिंग फ्लोटिंग बार (टाइमर/पॉज़/जारी) दिखाने के लिए हमें ओवरले अनुमति चाहिए।', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'सिस्टम सेटिंग्स अपने आप नहीं खुल सकीं। कृपया सेटिंग्स खोलें और ओवरले अनुमति मैन्युअल रूप से सक्षम करें।', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -441,6 +441,20 @@ const Map<String, String> hrHR = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Izađi iz snimanja', // 退出录音
'meetingRecordExitMessage': 'Odaberite što učiniti prije izlaska', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Završi i spremi', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Završi bez spremanja', // 结束录音不保存
'meetingRecordContinueInBackground': 'Nastavi snimanje u pozadini', // 后台继续录音
'meetingRecordStopTimeout': 'Isteklo je vrijeme za zaustavljanje snimanja. Pokušajte ponovno.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Neuspjelo zaustavljanje snimanja. Pokušajte ponovno.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Neuspjelo spremanje snimke. Pokušajte ponovno.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Snimanje je u tijeku', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Snimanje u pozadini. Dodirnite za povratak u aplikaciju.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Prikaz preko drugih aplikacija', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Za prikaz rezultata prijevoda tijekom poziva ili prijevoda zvuka/videa potrebna je dozvola za prikaz preko drugih aplikacija. Tako možete vidjeti prijevod u stvarnom vremenu dok koristite druge aplikacije.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Za prikaz plutajuće trake snimanja (mjerač vremena/pauza/nastavi) tijekom snimanja potrebna je dozvola za prikaz preko drugih aplikacija.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Nije moguće automatski otvoriti postavke sustava. Otvorite Postavke i ručno omogućite dozvolu za prikaz preko drugih aplikacija.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -441,6 +441,20 @@ const Map<String, String> huHU = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Kilépés a felvételből', // 退出录音
'meetingRecordExitMessage': 'Válassza ki, mit tegyen kilépés előtt', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Befejezés és mentés', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Befejezés mentés nélkül', // 结束录音不保存
'meetingRecordContinueInBackground': 'Felvétel folytatása a háttérben', // 后台继续录音
'meetingRecordStopTimeout': 'A felvétel leállításának időkorlátja lejárt. Próbálja újra.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Nem sikerült leállítani a felvételt. Próbálja újra.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Nem sikerült menteni a felvételt. Próbálja újra.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Felvétel folyamatban', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Felvétel a háttérben. Érintse meg az alkalmazáshoz való visszatéréshez.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Megjelenítés más alkalmazások felett', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'A hívások vagy hang-/videófordítás közbeni fordítási eredmények megjelenítéséhez szükségünk van a más alkalmazások feletti megjelenítés engedélyére. Így más alkalmazások használata közben is láthatja a valós idejű fordításokat.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'A felvétel közbeni lebegő sáv (időzítő/szünet/folytatás) megjelenítéséhez szükségünk van a más alkalmazások feletti megjelenítés engedélyére.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Nem sikerült automatikusan megnyitni a rendszerbeállításokat. Nyissa meg a Beállításokat, és engedélyezze kézzel a más alkalmazások feletti megjelenítést.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -437,6 +437,20 @@ const Map<String, String> idID = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Keluar dari perekaman', // 退出录音
'meetingRecordExitMessage': 'Pilih apa yang akan dilakukan sebelum keluar', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Akhiri dan simpan', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Akhiri tanpa menyimpan', // 结束录音不保存
'meetingRecordContinueInBackground': 'Lanjutkan merekam di latar belakang', // 后台继续录音
'meetingRecordStopTimeout': 'Waktu untuk menghentikan perekaman habis. Silakan coba lagi.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Gagal menghentikan perekaman. Silakan coba lagi.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Gagal menyimpan rekaman. Silakan coba lagi.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Perekaman sedang berlangsung', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Merekam di latar belakang. Ketuk untuk kembali ke aplikasi.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Tampilkan di atas aplikasi lain', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Untuk menampilkan hasil terjemahan saat panggilan atau terjemahan audio/video, kami memerlukan izin overlay. Ini memungkinkan Anda melihat terjemahan real-time saat menggunakan aplikasi lain.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Untuk menampilkan bilah mengambang perekaman (timer/jeda/lanjut) saat merekam, kami memerlukan izin overlay.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Tidak dapat membuka pengaturan sistem secara otomatis. Silakan buka Pengaturan dan aktifkan izin overlay secara manual.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -438,6 +438,20 @@ const Map<String, String> isIS = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Hætta í upptöku', // 退出录音
'meetingRecordExitMessage': 'Veldu hvað á að gera áður en þú ferð', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Ljúka og vista', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Ljúka án vistunar', // 结束录音不保存
'meetingRecordContinueInBackground': 'Halda upptöku áfram í bakgrunni', // 后台继续录音
'meetingRecordStopTimeout': 'Tímamörk fyrir stöðvun upptöku runnu út. Reyndu aftur.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Tókst ekki að stöðva upptökuna. Reyndu aftur.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Tókst ekki að vista upptökuna. Reyndu aftur.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Upptaka í gangi', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Upptaka í bakgrunni. Pikkaðu til að fara aftur í appið.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Birta yfir öðrum öppum', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Til að sýna þýðingarniðurstöður í símtölum eða við hljóð-/myndbandsþýðingu þurfum við yfirlagaleyfi. Það gerir þér kleift að sjá rauntímaþýðingar á meðan þú notar önnur öpp.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Til að sýna fljótandi upptökustiku (tími/pása/halda áfram) meðan á upptöku stendur þurfum við yfirlagaleyfi.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Ekki tókst að opna kerfisstillingar sjálfkrafa. Opnaðu Stillingar og virkjaðu yfirlagaleyfi handvirkt.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -444,6 +444,20 @@ const Map<String, String> itIT = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Esci dalla registrazione', // 退出录音
'meetingRecordExitMessage': 'Scegli cosa fare prima di uscire', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Termina e salva', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Termina senza salvare', // 结束录音不保存
'meetingRecordContinueInBackground': 'Continua a registrare in background', // 后台继续录音
'meetingRecordStopTimeout': 'Tempo scaduto durante l\'arresto della registrazione. Riprova.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Impossibile arrestare la registrazione. Riprova.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Impossibile salvare la registrazione. Riprova.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Registrazione in corso', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Registrazione in background. Tocca per tornare all\'app.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Mostra sopra altre app', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Per mostrare i risultati della traduzione durante le chiamate o la traduzione audio/video, ci serve l\'autorizzazione di overlay. In questo modo puoi vedere le traduzioni in tempo reale mentre usi altre app.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Per mostrare la barra fluttuante di registrazione (timer/pausa/riprendi) durante la registrazione, ci serve l\'autorizzazione di overlay.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Impossibile aprire automaticamente le impostazioni di sistema. Apri Impostazioni e abilita manualmente l\'autorizzazione di overlay.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -430,6 +430,20 @@ const Map<String, String> jaJP = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': '録音を終了', // 退出录音
'meetingRecordExitMessage': '終了前に操作を選択してください', // 请选择离开后的操作
'meetingRecordEndAndSave': '終了して保存', // 结束录音并保存
'meetingRecordEndWithoutSave': '保存せずに終了', // 结束录音不保存
'meetingRecordContinueInBackground': 'バックグラウンドで録音を続行', // 后台继续录音
'meetingRecordStopTimeout': '録音の停止がタイムアウトしました。もう一度お試しください。', // 结束录音超时,请重试
'meetingRecordStopFailed': '録音を停止できませんでした。もう一度お試しください。', // 结束录音失败,请重试
'meetingRecordSaveFailed': '録音を保存できませんでした。もう一度お試しください。', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': '録音中', // 录音进行中
'meetingRecordRecordingNotificationBody': 'バックグラウンドで録音しています。タップしてアプリに戻ります。', // 正在后台录音,点击返回应用
'overlayPermissionTitle': '他のアプリの上に表示', // 悬浮窗权限
'overlayPermissionTranslationDesc': '通話中または音声/動画翻訳中に翻訳結果を表示するため、他のアプリの上に表示する権限が必要です。これにより、他のアプリを使用中でもリアルタイム翻訳を確認できます。', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': '録音中に録音フローティングバー(タイマー/一時停止/再開)を表示するため、他のアプリの上に表示する権限が必要です。', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'システム設定を自動で開けませんでした。設定を開き、手動で「他のアプリの上に表示」を有効にしてください。', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -426,6 +426,20 @@ const Map<String, String> koKR = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': '녹음 종료', // 退出录音
'meetingRecordExitMessage': '나가기 전에 수행할 작업을 선택하세요', // 请选择离开后的操作
'meetingRecordEndAndSave': '종료하고 저장', // 结束录音并保存
'meetingRecordEndWithoutSave': '저장하지 않고 종료', // 结束录音不保存
'meetingRecordContinueInBackground': '백그라운드에서 녹음 계속', // 后台继续录音
'meetingRecordStopTimeout': '녹음 중지 시간이 초과되었습니다. 다시 시도해주세요.', // 结束录音超时,请重试
'meetingRecordStopFailed': '녹음을 중지하지 못했습니다. 다시 시도해주세요.', // 结束录音失败,请重试
'meetingRecordSaveFailed': '녹음을 저장하지 못했습니다. 다시 시도해주세요.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': '녹음 중', // 录音进行中
'meetingRecordRecordingNotificationBody': '백그라운드에서 녹음 중입니다. 탭하여 앱으로 돌아가세요.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': '다른 앱 위에 표시', // 悬浮窗权限
'overlayPermissionTranslationDesc': '통화 중 또는 오디오/비디오 번역 중 번역 결과를 표시하려면 오버레이 권한이 필요합니다. 이를 통해 다른 앱을 사용하는 동안에도 실시간 번역을 볼 수 있습니다.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': '녹음 중 녹음 플로팅 바(타이머/일시정지/계속)를 표시하려면 오버레이 권한이 필요합니다.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': '시스템 설정을 자동으로 열 수 없습니다. 설정을 열고 오버레이 권한을 수동으로 허용해주세요.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -441,6 +441,20 @@ const Map<String, String> ltLT = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Išeiti iš įrašymo', // 退出录音
'meetingRecordExitMessage': 'Pasirinkite, ką daryti prieš išeinant', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Baigti ir išsaugoti', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Baigti neišsaugojus', // 结束录音不保存
'meetingRecordContinueInBackground': 'Tęsti įrašymą fone', // 后台继续录音
'meetingRecordStopTimeout': 'Baigiant įrašymą baigėsi laikas. Bandykite dar kartą.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Nepavyko sustabdyti įrašymo. Bandykite dar kartą.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Nepavyko išsaugoti įrašo. Bandykite dar kartą.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Vyksta įrašymas', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Įrašoma fone. Palieskite, kad grįžtumėte į programą.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Rodyti virš kitų programų', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Kad galėtume rodyti vertimo rezultatus skambučių arba garso/vaizdo vertimo metu, mums reikia leidimo rodyti virš kitų programų. Tai leis matyti vertimus realiuoju laiku naudojant kitas programas.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Kad įrašymo metu galėtume rodyti plaukiojančią įrašymo juostą (laikmatis/pristabdyti/tęsti), mums reikia leidimo rodyti virš kitų programų.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Nepavyko automatiškai atidaryti sistemos nustatymų. Atidarykite Nustatymus ir rankiniu būdu įjunkite leidimą rodyti virš kitų programų.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -440,6 +440,20 @@ const Map<String, String> lvLV = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Iziet no ieraksta', // 退出录音
'meetingRecordExitMessage': 'Izvēlieties, ko darīt pirms iziešanas', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Beigt un saglabāt', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Beigt nesaglabājot', // 结束录音不保存
'meetingRecordContinueInBackground': 'Turpināt ierakstīšanu fonā', // 后台继续录音
'meetingRecordStopTimeout': 'Ieraksta apturēšanai beidzās laiks. Mēģiniet vēlreiz.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Neizdevās apturēt ierakstu. Mēģiniet vēlreiz.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Neizdevās saglabāt ierakstu. Mēģiniet vēlreiz.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Notiek ierakstīšana', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Ierakstīšana fonā. Pieskarieties, lai atgrieztos lietotnē.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Rādīt virs citām lietotnēm', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Lai rādītu tulkojuma rezultātus zvanu vai audio/video tulkošanas laikā, mums nepieciešama pārklājuma atļauja. Tas ļauj redzēt tulkojumus reāllaikā, izmantojot citas lietotnes.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Lai ierakstīšanas laikā rādītu peldošo ierakstīšanas joslu (taimeris/pauze/turpināt), mums nepieciešama pārklājuma atļauja.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Nevar automātiski atvērt sistēmas iestatījumus. Lūdzu, atveriet Iestatījumus un manuāli iespējojiet pārklājuma atļauju.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -439,6 +439,20 @@ const Map<String, String> msMY = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Keluar dari rakaman', // 退出录音
'meetingRecordExitMessage': 'Pilih apa yang perlu dibuat sebelum keluar', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Tamatkan dan simpan', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Tamatkan tanpa menyimpan', // 结束录音不保存
'meetingRecordContinueInBackground': 'Teruskan rakaman di latar belakang', // 后台继续录音
'meetingRecordStopTimeout': 'Masa untuk menghentikan rakaman telah tamat. Sila cuba lagi.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Gagal menghentikan rakaman. Sila cuba lagi.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Gagal menyimpan rakaman. Sila cuba lagi.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Rakaman sedang berjalan', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Merakam di latar belakang. Ketik untuk kembali ke aplikasi.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Papar di atas aplikasi lain', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Untuk memaparkan hasil terjemahan semasa panggilan atau terjemahan audio/video, kami memerlukan kebenaran overlay. Ini membolehkan anda melihat terjemahan masa nyata semasa menggunakan aplikasi lain.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Untuk memaparkan bar rakaman terapung (pemasa/jeda/sambung) semasa merakam, kami memerlukan kebenaran overlay.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Tidak dapat membuka tetapan sistem secara automatik. Sila buka Tetapan dan dayakan kebenaran overlay secara manual.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -439,6 +439,20 @@ const Map<String, String> nbNO = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Avslutt opptak', // 退出录音
'meetingRecordExitMessage': 'Velg hva du vil gjøre før du avslutter', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Avslutt og lagre', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Avslutt uten å lagre', // 结束录音不保存
'meetingRecordContinueInBackground': 'Fortsett opptak i bakgrunnen', // 后台继续录音
'meetingRecordStopTimeout': 'Tidsavbrudd ved stopp av opptaket. Prøv igjen.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Kunne ikke stoppe opptaket. Prøv igjen.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Kunne ikke lagre opptaket. Prøv igjen.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Opptak pågår', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Opptak i bakgrunnen. Trykk for å gå tilbake til appen.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Vis over andre apper', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'For å vise oversettelsesresultater under samtaler eller lyd-/videooversettelse, trenger vi tillatelse til å vises over andre apper. Da kan du se sanntidsoversettelser mens du bruker andre apper.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'For å vise den flytende opptakslinjen (timer/pause/fortsett) under opptak, trenger vi tillatelse til å vises over andre apper.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Kan ikke åpne systeminnstillinger automatisk. Åpne Innstillinger og aktiver tillatelsen for å vises over andre apper manuelt.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -440,6 +440,20 @@ const Map<String, String> nlNL = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Opname verlaten', // 退出录音
'meetingRecordExitMessage': 'Kies wat je wilt doen voordat je vertrekt', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Beëindigen en opslaan', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Beëindigen zonder op te slaan', // 结束录音不保存
'meetingRecordContinueInBackground': 'Opname op de achtergrond voortzetten', // 后台继续录音
'meetingRecordStopTimeout': 'Time-out bij het stoppen van de opname. Probeer het opnieuw.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Kan de opname niet stoppen. Probeer het opnieuw.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Kan de opname niet opslaan. Probeer het opnieuw.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Opname bezig', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Opname op de achtergrond. Tik om terug te keren naar de app.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Weergeven over andere apps', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Om vertaalresultaten tijdens gesprekken of audio-/videotranslatie te tonen, hebben we overlay-machtiging nodig. Zo kun je realtime vertalingen zien terwijl je andere apps gebruikt.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Om tijdens het opnemen de zwevende opnamebalk (timer/pauze/hervatten) te tonen, hebben we overlay-machtiging nodig.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Kan de systeeminstellingen niet automatisch openen. Open Instellingen en schakel de overlay-machtiging handmatig in.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -441,6 +441,20 @@ const Map<String, String> plPL = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Wyjdź z nagrywania', // 退出录音
'meetingRecordExitMessage': 'Wybierz, co zrobić przed wyjściem', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Zakończ i zapisz', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Zakończ bez zapisywania', // 结束录音不保存
'meetingRecordContinueInBackground': 'Kontynuuj nagrywanie w tle', // 后台继续录音
'meetingRecordStopTimeout': 'Przekroczono limit czasu zatrzymania nagrywania. Spróbuj ponownie.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Nie udało się zatrzymać nagrywania. Spróbuj ponownie.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Nie udało się zapisać nagrania. Spróbuj ponownie.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Nagrywanie w toku', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Nagrywanie w tle. Dotknij, aby wrócić do aplikacji.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Wyświetlanie nad innymi aplikacjami', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Aby wyświetlać wyniki tłumaczenia podczas rozmów lub tłumaczenia audio/wideo, potrzebujemy uprawnienia do wyświetlania nad innymi aplikacjami. Dzięki temu zobaczysz tłumaczenia w czasie rzeczywistym podczas korzystania z innych aplikacji.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Aby wyświetlać pływający pasek nagrywania (timer/pauza/wznów) podczas nagrywania, potrzebujemy uprawnienia do wyświetlania nad innymi aplikacjami.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Nie można automatycznie otworzyć ustawień systemowych. Otwórz Ustawienia i włącz ręcznie uprawnienie do wyświetlania nad innymi aplikacjami.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -444,6 +444,20 @@ const Map<String, String> ptPT = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Sair da gravação', // 退出录音
'meetingRecordExitMessage': 'Escolha o que fazer antes de sair', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Terminar e guardar', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Terminar sem guardar', // 结束录音不保存
'meetingRecordContinueInBackground': 'Continuar a gravar em segundo plano', // 后台继续录音
'meetingRecordStopTimeout': 'O tempo para parar a gravação expirou. Tente novamente.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Não foi possível parar a gravação. Tente novamente.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Não foi possível guardar a gravação. Tente novamente.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Gravação em curso', // 录音进行中
'meetingRecordRecordingNotificationBody': 'A gravar em segundo plano. Toque para voltar à aplicação.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Mostrar sobre outras apps', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Para mostrar os resultados da tradução durante chamadas ou tradução de áudio/vídeo, precisamos da permissão de sobreposição. Isto permite-lhe ver traduções em tempo real enquanto utiliza outras apps.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Para mostrar a barra flutuante de gravação (temporizador/pausa/retomar) durante a gravação, precisamos da permissão de sobreposição.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Não foi possível abrir automaticamente as definições do sistema. Abra as Definições e ative manualmente a permissão de sobreposição.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -442,6 +442,20 @@ const Map<String, String> roRO = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Ieși din înregistrare', // 退出录音
'meetingRecordExitMessage': 'Alege ce să faci înainte de a ieși', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Încheie și salvează', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Încheie fără a salva', // 结束录音不保存
'meetingRecordContinueInBackground': 'Continuă înregistrarea în fundal', // 后台继续录音
'meetingRecordStopTimeout': 'A expirat timpul pentru oprirea înregistrării. Încearcă din nou.', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Nu s-a putut opri înregistrarea. Încearcă din nou.', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Nu s-a putut salva înregistrarea. Încearcă din nou.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Înregistrare în curs', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Se înregistrează în fundal. Atinge pentru a reveni la aplicație.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Afișare peste alte aplicații', // 悬浮窗权限
'overlayPermissionTranslationDesc': 'Pentru a afișa rezultatele traducerii în timpul apelurilor sau al traducerii audio/video, avem nevoie de permisiunea de suprapunere. Astfel poți vedea traduceri în timp real în timp ce folosești alte aplicații.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc': 'Pentru a afișa bara flotantă de înregistrare (cronometru/pauză/continuă) în timpul înregistrării, avem nevoie de permisiunea de suprapunere.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed': 'Nu se pot deschide automat setările de sistem. Deschide Setări și activează manual permisiunea de suprapunere.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',

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

@ -107,7 +107,7 @@ const Map<String, String> ruRU = {
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", нажатие «Согласен и войти» означает, что вы полностью прочли и согласны с вышеуказанными соглашениями. Нажатие «Не согласен» приведет к выходу из приложения.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Не согласен", // 不同意 "disagree": "Не согласен", // 不同意
"agreeAndEnter": "Согласен и войти", // 同意并进入 "agreeAndEnter": "Согласен и войти", // 同意并进入
@ -359,42 +359,42 @@ const Map<String, String> ruRU = {
'Фактические преимущества зависят от деталей пакета и могут меняться с версиями.', 'Фактические преимущества зависят от деталей пакета и могут меняться с версиями.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Пропустить", 'skip': 'Пропустить',
'next': 'Next', 'next': 'Next',
'sayLilyHint': "Say \"Lily Lily\" to the mic", 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': "I’m here~", 'imHere': 'I’m here~',
'guideWelcomeWakeAI': "Welcome to Voitrans! First, wake your AI “Lily”.", 'guideWelcomeWakeAI': 'Welcome to Voitrans! First, wake your AI “Lily”.',
'aiReplyCompleted': "Lily has finished the reply!", 'aiReplyCompleted': 'Lily has finished the reply!',
'aiThinking': "Lily is thinking…", 'aiThinking': 'Lily is thinking…',
'guideAwakenSuccess': "Great! Lily is awake—ask it to help.", 'guideAwakenSuccess': 'Great! Lily is awake—ask it to help.',
'confirmInput': "Confirm Input", 'confirmInput': 'Confirm Input',
'guideClickSendPrefix': "Tap send, ", 'guideClickSendPrefix': 'Tap send, ',
// AI 引导步骤 // AI 引导步骤
'guideWeatherStart': "Tell Lily: “What’s the weather today?”", 'guideWeatherStart': 'Tell Lily: “What’s the weather today?”',
'guideWeatherInput': "What’s the weather today?", 'guideWeatherInput': 'What’s the weather today?',
'guideWeatherSend': "Lily will report the weather in real time", 'guideWeatherSend': 'Lily will report the weather in real time',
'guideWeatherEnd': "Lily can report weather live—try other commands", 'guideWeatherEnd': 'Lily can report weather live—try other commands',
'guideMusicStart': "Tell Lily: “Play some rock music”", 'guideMusicStart': 'Tell Lily: “Play some rock music”',
'guideMusicInput': "Play some rock music", 'guideMusicInput': 'Play some rock music',
'guideMusicSend': "Lily will find music for you", 'guideMusicSend': 'Lily will find music for you',
'guideMusicEnd': "Lily found music—try other commands", 'guideMusicEnd': 'Lily found music—try other commands',
'guideNavStart': "Tell Lily: “Navigate to Shenzhen Airport”", 'guideNavStart': 'Tell Lily: “Navigate to Shenzhen Airport”',
'guideNavInput': "Navigate to Shenzhen Airport", 'guideNavInput': 'Navigate to Shenzhen Airport',
'guideNavSend': "Lily will plan the route", 'guideNavSend': 'Lily will plan the route',
'guideNavEnd': "Navigation set—try other commands", 'guideNavEnd': 'Navigation set—try other commands',
'guideMeetingStart': 'guideMeetingStart':
"Tell Lily: “Create a meeting reminder for 3pm tomorrow”", 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'guideMeetingInput': "Create a meeting reminder for 3pm tomorrow", 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
'guideMeetingSend': "Lily will create a meeting reminder", 'guideMeetingSend': 'Lily will create a meeting reminder',
'guideMeetingEnd': "Reminder created—try other commands", 'guideMeetingEnd': 'Reminder created—try other commands',
'guidePhoneStart': "Tell Lily: “Call Mom”", 'guidePhoneStart': 'Tell Lily: “Call Mom”',
'guidePhoneInput': "Call Mom", 'guidePhoneInput': 'Call Mom',
'guidePhoneSend': "Lily will make the call", 'guidePhoneSend': 'Lily will make the call',
'guidePhoneEnd': "Call placed—try other commands", 'guidePhoneEnd': 'Call placed—try other commands',
'guideSmsStart': "Tell Lily: “Send Dad a text: I’ll be home for dinner”", 'guideSmsStart': 'Tell Lily: “Send Dad a text: I’ll be home for dinner”',
'guideSmsInput': "Text Dad: I’ll be home for dinner", 'guideSmsInput': 'Text Dad: I’ll be home for dinner',
'guideSmsSend': "Lily will send the message", 'guideSmsSend': 'Lily will send the message',
'guideSmsEnd': "Message sent—voice control is convenient", 'guideSmsEnd': 'Message sent—voice control is convenient',
// 商务会议助手页 // 商务会议助手页
"startMeeting": "Начать встречу", "startMeeting": "Начать встречу",
@ -442,6 +442,29 @@ const Map<String, String> ruRU = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Выйти из записи', // 退出录音
'meetingRecordExitMessage':
'Пожалуйста, выберите действие после выхода', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Завершить и сохранить', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Завершить без сохранения', // 结束录音不保存
'meetingRecordContinueInBackground':
'Продолжить запись в фоновом режиме', // 后台继续录音
'meetingRecordStopTimeout':
'Время остановки записи истекло, попробуйте еще раз', // 结束录音超时,请重试
'meetingRecordStopFailed':
'Не удалось остановить запись, попробуйте еще раз', // 结束录音失败,请重试
'meetingRecordSaveFailed':
'Не удалось сохранить запись, попробуйте еще раз', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Идет запись', // 录音进行中
'meetingRecordRecordingNotificationBody':
'Запись в фоновом режиме, нажмите, чтобы вернуться', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Разрешение на плавающее окно', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'Чтобы показывать результаты перевода во время звонков или перевода аудио/видео, нам нужно разрешение на наложение. Это позволит видеть переводы в реальном времени при использовании других приложений.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'Чтобы показывать плавающую панель записи (таймер/пауза/продолжить) во время записи, нам нужно разрешение на наложение.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Не удалось автоматически открыть системные настройки. Пожалуйста, откройте Настройки и вручную включите разрешение на наложение.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -572,7 +595,7 @@ const Map<String, String> ruRU = {
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation':
'We need access to storage permissions so you can select and upload audio files.', 'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -628,7 +651,7 @@ const Map<String, String> ruRU = {
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -721,8 +744,7 @@ const Map<String, String> ruRU = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -770,13 +792,13 @@ const Map<String, String> ruRU = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'Привет! Я **СяоЯнь**, я могу вам помочь:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• Отвечать на вопросы и предоставлять информацию\n\n' '• 回答问题和提供信息\n\n'
'• Голосовой перевод в реальном времени\n\n' '• 实时语音翻译\n\n'
'• Рекомендовать музыку и подкасты\n\n' '• 推荐音乐和播客\n\n'
'• Голосовые заметки и напоминания\n\n' '• 语音备忘录和提醒\n\n'
'• Управлять функциями наушников\n\n' '• 控制耳机功能\n\n'
'Чем я могу вам помочь?', '有什么我可以帮你的吗?',
'microphonePermission': 'Микрофон', 'microphonePermission': 'Микрофон',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText':
'Для распознавания речи требуется доступ к микрофону.', 'Для распознавания речи требуется доступ к микрофону.',
@ -805,8 +827,8 @@ const Map<String, String> ruRU = {
'pornographicVulgar': 'Порнографический/Вульгарный', 'pornographicVulgar': 'Порнографический/Вульгарный',
'misleadingAttack': 'Вводящий в заблуждение/Атака', 'misleadingAttack': 'Вводящий в заблуждение/Атака',
'illegalCriminal': 'Незаконный/Преступный', 'illegalCriminal': 'Незаконный/Преступный',
'privacyRelated': "Связано с конфиденциальностью", 'privacyRelated': 'Связано с конфиденциальностью',
'copyrightViolation': "Нарушение моих авторских прав, репутации и т.д.", 'copyrightViolation': 'Нарушение моих авторских прав, репутации и т.д.',
'other': 'Другое', 'other': 'Другое',
'reportDescriptionHint': 'reportDescriptionHint':
'Мы хотим знать причину вашей жалобы, вы можете описать проблему, с которой столкнулись.', 'Мы хотим знать причину вашей жалобы, вы можете описать проблему, с которой столкнулись.',
@ -939,7 +961,7 @@ const Map<String, String> ruRU = {
//'success': '成功', //'success': '成功',
'imageCompressionFailed': 'Не удалось сжать изображение', 'imageCompressionFailed': 'Не удалось сжать изображение',
'avatarUpdateFailed': 'Не удалось обновить аватар', 'avatarUpdateFailed': 'Не удалось обновить аватар',
'usernameCannotBeEmpty': "Имя пользователя не может быть пустым", 'usernameCannotBeEmpty': 'Имя пользователя не может быть пустым',
'saveSuccess': 'Успешно сохранено', 'saveSuccess': 'Успешно сохранено',
'personalInfoUpdated': 'Личная информация обновлена', 'personalInfoUpdated': 'Личная информация обновлена',
'saveFailed': 'Не удалось сохранить', 'saveFailed': 'Не удалось сохранить',
@ -1067,9 +1089,9 @@ const Map<String, String> ruRU = {
'storagePermissionExplanation': 'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.', 'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
@ -1476,9 +1498,9 @@ const Map<String, String> ruRU = {
"playAll": "Воспроизвести все", // 播放全部 "playAll": "Воспроизвести все", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Китайский (упрощенный)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Китайский (традиционный)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Китайский (гонконгский традиционный)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "Английский", "英语": "Английский",
"日语": "Японский", "日语": "Японский",
"韩语": "Корейский", "韩语": "Корейский",
@ -1529,9 +1551,9 @@ const Map<String, String> ruRU = {
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc":
'Insufficient balance, please go to the corresponding recharge page to recharge.', "Insufficient balance, please go to the corresponding recharge page to recharge.",
"recharge": 'Go to Recharge', "recharge": "Go to Recharge",
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc":
'AI membership expired, please go to the membership recharge page to renew.', "AI membership expired, please go to the membership recharge page to renew.",
}; };

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

@ -107,7 +107,7 @@ const Map<String, String> skSK = {
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", kliknutím na 'Súhlasím a vstúpiť' potvrdzujete, že ste si prečítali a súhlasíte s vyššie uvedenými zmluvami. Kliknutím на 'Nesúhlasím' opustíte aplikáciu.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Nesúhlasím", // 不同意 "disagree": "Nesúhlasím", // 不同意
"agreeAndEnter": "Súhlasím a vstúpiť", // 同意并进入 "agreeAndEnter": "Súhlasím a vstúpiť", // 同意并进入
@ -357,7 +357,7 @@ const Map<String, String> skSK = {
'Actual benefits depend on the package details and may change with versions.', 'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Preskočiť", 'skip': 'Preskočiť',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -440,6 +440,28 @@ const Map<String, String> skSK = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Ukončiť nahrávanie', // 退出录音
'meetingRecordExitMessage': 'Vyberte akciu po odchode', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Ukončiť a uložiť', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Ukončiť bez uloženia', // 结束录音不保存
'meetingRecordContinueInBackground':
'Pokračovať v nahrávaní na pozadí', // 后台继续录音
'meetingRecordStopTimeout':
'Časový limit zastavenia nahrávania vypršal, skúste to znova', // 结束录音超时,请重试
'meetingRecordStopFailed':
'Zastavenie nahrávania zlyhalo, skúste to znova', // 结束录音失败,请重试
'meetingRecordSaveFailed':
'Uloženie nahrávky zlyhalo, skúste to znova', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Prebieha nahrávanie', // 录音进行中
'meetingRecordRecordingNotificationBody':
'Nahrávanie na pozadí, klepnutím sa vrátite', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Povolenie plávajúceho okna', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'Aby sme mohli zobrazovať výsledky prekladu počas hovorov alebo prekladu zvuku/videa, potrebujeme povolenie prekrytia. Vďaka tomu uvidíte preklady v reálnom čase aj pri používaní iných aplikácií.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'Aby sme počas nahrávania zobrazili plávajúcu lištu nahrávania (časovač/pauza/pokračovať), potrebujeme povolenie prekrytia.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Nepodarilo sa automaticky otvoriť systémové nastavenia. Otvorte Nastavenia a povoľte prekrytie manuálne.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -570,7 +592,7 @@ const Map<String, String> skSK = {
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation':
'We need access to storage permissions so you can select and upload audio files.', 'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -626,7 +648,7 @@ const Map<String, String> skSK = {
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -718,8 +740,7 @@ const Map<String, String> skSK = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -767,13 +788,13 @@ const Map<String, String> skSK = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'Ahoj! Som **Lily**, môžem vám pomôcť:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• Odpovedať na otázky a poskytovať informácie\n\n' '• 回答问题和提供信息\n\n'
'• Hlasový preklad v reálnom čase\n\n' '• 实时语音翻译\n\n'
'• Odporúčať hudbu a podcasty\n\n' '• 推荐音乐和播客\n\n'
'• Hlasové poznámky a pripomienky\n\n' '• 语音备忘录和提醒\n\n'
'• Ovládať funkcie slúchadiel\n\n' '• 控制耳机功能\n\n'
'Ako vám môžem pomôcť?', '有什么我可以帮你的吗?',
'microphonePermission': 'Mikrofón', 'microphonePermission': 'Mikrofón',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText':
'Funkcia rozpoznávania reči vyžaduje prístup k mikrofónu.', 'Funkcia rozpoznávania reči vyžaduje prístup k mikrofónu.',
@ -1060,9 +1081,9 @@ const Map<String, String> skSK = {
'storagePermissionExplanation': 'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.', 'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
@ -1468,9 +1489,9 @@ const Map<String, String> skSK = {
"playAll": "Prehrať všetko", // 播放全部 "playAll": "Prehrať všetko", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Čínština (zjednodušená)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Čínština (tradičná)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Čínština (hongkonská tradičná)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "Angličtina", "英语": "Angličtina",
"日语": "Japončina", "日语": "Japončina",
"韩语": "Kórejčina", "韩语": "Kórejčina",
@ -1521,9 +1542,9 @@ const Map<String, String> skSK = {
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc":
'Insufficient balance, please go to the corresponding recharge page to recharge.', "Insufficient balance, please go to the corresponding recharge page to recharge.",
"recharge": 'Go to Recharge', "recharge": "Go to Recharge",
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc":
'AI membership expired, please go to the membership recharge page to renew.', "AI membership expired, please go to the membership recharge page to renew.",
}; };

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

@ -107,7 +107,7 @@ const Map<String, String> slSI = {
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", s klikom na 'Strinjam se in vstopi' potrjujete, da ste v celoti prebrali in se strinjate z zgoraj navedenimi sporazumi. S klikom na 'Ne strinjam se' boste zapustili aplikacijo.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Ne strinjam se", // 不同意 "disagree": "Ne strinjam se", // 不同意
"agreeAndEnter": "Strinjam se in vstopi", // 同意并进入 "agreeAndEnter": "Strinjam se in vstopi", // 同意并进入
@ -357,7 +357,7 @@ const Map<String, String> slSI = {
'Actual benefits depend on the package details and may change with versions.', 'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Preskoči", 'skip': 'Preskoči',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -440,6 +440,27 @@ const Map<String, String> slSI = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Izhod iz snemanja', // 退出录音
'meetingRecordExitMessage': 'Izberite dejanje po izhodu', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Končaj in shrani', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Končaj brez shranjevanja', // 结束录音不保存
'meetingRecordContinueInBackground': 'Nadaljuj snemanje v ozadju', // 后台继续录音
'meetingRecordStopTimeout':
'Časovna omejitev ustavitve snemanja, poskusite znova', // 结束录音超时,请重试
'meetingRecordStopFailed':
'Snemanja ni bilo mogoče ustaviti, poskusite znova', // 结束录音失败,请重试
'meetingRecordSaveFailed':
'Posnetka ni bilo mogoče shraniti, poskusite znova', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Snemanje poteka', // 录音进行中
'meetingRecordRecordingNotificationBody':
'Snemanje v ozadju, tapnite za vrnitev', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Dovoljenje za plavajoče okno', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'Za prikaz rezultatov prevajanja med klici ali prevajanjem zvoka/videa potrebujemo dovoljenje za prekrivanje. Tako lahko med uporabo drugih aplikacij vidite prevode v realnem času.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'Za prikaz plavajoče vrstice snemanja (časovnik/premor/nadaljuj) med snemanjem potrebujemo dovoljenje za prekrivanje.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Sistemskih nastavitev ni bilo mogoče samodejno odpreti. Odprite Nastavitve in ročno omogočite dovoljenje za prekrivanje.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -570,7 +591,7 @@ const Map<String, String> slSI = {
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation':
'We need access to storage permissions so you can select and upload audio files.', 'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -626,7 +647,7 @@ const Map<String, String> slSI = {
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -720,8 +741,7 @@ const Map<String, String> slSI = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -769,13 +789,13 @@ const Map<String, String> slSI = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'Živjo! Sem **Lily**, lahko vam pomagam:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• Odgovarjam na vprašanja in nudim informacije\n\n' '• 回答问题和提供信息\n\n'
'• Glasovno prevajanje v realnem času\n\n' '• 实时语音翻译\n\n'
'• Priporočam glasbo in podcaste\n\n' '• 推荐音乐和播客\n\n'
'• Glasovne beležke in opomnike\n\n' '• 语音备忘录和提醒\n\n'
'• Upravljam funkcije slušalk\n\n' '• 控制耳机功能\n\n'
'Kako vam lahko pomagam?', '有什么我可以帮你的吗?',
'microphonePermission': 'Mikrofon', 'microphonePermission': 'Mikrofon',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText':
'Funkcija prepoznavanja govora zahteva dostop do mikrofona.', 'Funkcija prepoznavanja govora zahteva dostop do mikrofona.',
@ -830,10 +850,10 @@ const Map<String, String> slSI = {
'currentLocation': 'Trenutna lokacija', // 当前位置 'currentLocation': 'Trenutna lokacija', // 当前位置
'approximate': 'Pribl.', // 大约 'approximate': 'Pribl.', // 大约
'enterRoad': 'Vstopi na cesto', // 进入道路 'enterRoad': 'Vstopi na cesto', // 进入道路
"driving": 'Vožnja', "driving": "Vožnja",
"walking": 'Hoja', "walking": "Hoja",
"bicycling": 'Kolesarjenje', "bicycling": "Kolesarjenje",
"tsransit": 'Javni prevoz', "tsransit": "Javni prevoz",
//天气卡片 weather_card //天气卡片 weather_card
'weatherQuery': 'Poizvedba o vremenskih razmerah:', 'weatherQuery': 'Poizvedba o vremenskih razmerah:',
@ -1065,9 +1085,9 @@ const Map<String, String> slSI = {
'storagePermissionExplanation': 'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.', 'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
@ -1473,9 +1493,9 @@ const Map<String, String> slSI = {
"playAll": "Predvajaj vse", // 播放全部 "playAll": "Predvajaj vse", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Kitajščina (poenostavljena)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Kitajščina (tradicionalna)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Kitajščina (hongkonška tradicionalna)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "Angleščina", "英语": "Angleščina",
"日语": "Japonščina", "日语": "Japonščina",
"韩语": "Korejščina", "韩语": "Korejščina",
@ -1526,9 +1546,9 @@ const Map<String, String> slSI = {
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc":
'Insufficient balance, please go to the corresponding recharge page to recharge.', "Insufficient balance, please go to the corresponding recharge page to recharge.",
"recharge": 'Go to Recharge', "recharge": "Go to Recharge",
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc":
'AI membership expired, please go to the membership recharge page to renew.', "AI membership expired, please go to the membership recharge page to renew.",
}; };

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

@ -91,8 +91,7 @@ const Map<String, String> srRS = {
"tip": "Savet", "tip": "Savet",
"pleaseEnterCompleteCode": "Unesite kompletan verifikacioni kod", "pleaseEnterCompleteCode": "Unesite kompletan verifikacioni kod",
"loginFailed": "Neuspešno prijavljivanje, pokušajte ponovo", "loginFailed": "Neuspešno prijavljivanje, pokušajte ponovo",
'pleaseAcceptPrivacyPolicy': 'pleaseAcceptPrivacyPolicy': 'Prvo pročitajte i prihvatite Politiku privatnosti i Korisnički ugovor',
'Prvo pročitajte i prihvatite Politiku privatnosti i Korisnički ugovor',
"enterVerificationCode": "Unesite verifikacioni kod", "enterVerificationCode": "Unesite verifikacioni kod",
"verificationCodeSentTo": "Verifikacioni kod je poslat na", "verificationCodeSentTo": "Verifikacioni kod je poslat na",
"resendVerificationCode": "Ponovo pošalji verifikacioni kod", "resendVerificationCode": "Ponovo pošalji verifikacioni kod",
@ -101,12 +100,11 @@ const Map<String, String> srRS = {
// 隐私政策弹窗 // 隐私政策弹窗
"loginDeclaration": "Voitrans izjava", // Voitrans 声明 "loginDeclaration": "Voitrans izjava", // Voitrans 声明
"welcomeToThisApp": "welcomeToThisApp": "Dobrodošli u Voitrans, molimo vas da pažljivo pročitate", // 欢迎使用Voitrans,请充分阅读
"Dobrodošli u Voitrans, molimo vas da pažljivo pročitate", // 欢迎使用Voitrans,请充分阅读
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", klikom na 'Slažem se i ulazim' potvrđujete da ste u potpunosti pročitali i da se slažete sa gore navedenim ugovorima. Klikom na 'Ne slažem se' izaći ćete iz aplikacije.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Ne slažem se", // 不同意 "disagree": "Ne slažem se", // 不同意
"agreeAndEnter": "Slažem se i ulazim", // 同意并进入 "agreeAndEnter": "Slažem se i ulazim", // 同意并进入
@ -118,30 +116,24 @@ const Map<String, String> srRS = {
"signal": "Signal", "signal": "Signal",
"deviceId": "ID uređaja", "deviceId": "ID uređaja",
"firmwareVersion": "Verzija firmvera", "firmwareVersion": "Verzija firmvera",
"disconnectedDevice": "disconnectedDevice": "Nijedan uređaj nije povezan, kliknite na dugme ispod da biste se povezali",
"Nijedan uređaj nije povezan, kliknite na dugme ispod da biste se povezali",
"connectDevice": "Poveži uređaj", "connectDevice": "Poveži uređaj",
"topAiExperiences": "Vrhunska AI iskustva", "topAiExperiences": "Vrhunska AI iskustva",
"aiAssistant": "AI sveobuhvatni asistent", "aiAssistant": "AI sveobuhvatni asistent",
"aiAssistantInfo": "aiAssistantInfo": "Ekskluzivni konsultant 24/7, odgovara na pitanja, daje predloge",
"Ekskluzivni konsultant 24/7, odgovara na pitanja, daje predloge",
"interpretation": "Simultano prevođenje", "interpretation": "Simultano prevođenje",
"simultaneousInterpretationInfo": "simultaneousInterpretationInfo": "Prevođenje u realnom vremenu na 80+ jezika, bezbrižna putovanja u inostranstvo",
"Prevođenje u realnom vremenu na 80+ jezika, bezbrižna putovanja u inostranstvo",
"aiCompanion": "Porodični pratilac", "aiCompanion": "Porodični pratilac",
"aiCompanionInfo": "Razume vas, toplo društvo", "aiCompanionInfo": "Razume vas, toplo društvo",
"homeSlogan": "Povezivanje sveta, izvan zvuka", "homeSlogan": "Povezivanje sveta, izvan zvuka",
"turnEarphones": "turnEarphones": "Otvorite futrolu za punjenje slušalica i stavite slušalice u uši",
"Otvorite futrolu za punjenje slušalica i stavite slušalice u uši",
"currentlyConnected": "Trenutno povezano:", "currentlyConnected": "Trenutno povezano:",
"unsystemSetup": "Idite na sistemska podešavanja", "unsystemSetup": "Idite na sistemska podešavanja",
"talkLater": "Kasnije", "talkLater": "Kasnije",
"initializing": "Inicijalizacija...", "initializing": "Inicijalizacija...",
"bluetoothInitializationFailure": "bluetoothInitializationFailure": "Neuspešna inicijalizacija Bluetooth servisa",
"Neuspešna inicijalizacija Bluetooth servisa",
"checkingPermissions": "Provera dozvola...", "checkingPermissions": "Provera dozvola...",
"lackPermissions": "lackPermissions": "Nedostaju Bluetooth dozvole i je potrebno omogućiti pristup lokaciji",
"Nedostaju Bluetooth dozvole i je potrebno omogućiti pristup lokaciji",
"searchingDevice": "Pretraga uređaja...", "searchingDevice": "Pretraga uređaja...",
"findConnectedDevice": "Pronađen povezan uređaj", "findConnectedDevice": "Pronađen povezan uređaj",
"notFound": "Nije pronađen povezan Bluetooth uređaj", "notFound": "Nije pronađen povezan Bluetooth uređaj",
@ -184,8 +176,7 @@ const Map<String, String> srRS = {
"healthConsultant": "Višenamenski AI ćaskanje", "healthConsultant": "Višenamenski AI ćaskanje",
"healthConsultantInfo": "Nudi više funkcija AI ćaskanja", "healthConsultantInfo": "Nudi više funkcija AI ćaskanja",
"conferenceAssistant": "Asistent za poslovne sastanke", "conferenceAssistant": "Asistent za poslovne sastanke",
"conferenceAssistantInfo": "conferenceAssistantInfo": "Beleženje zapisnika u realnom vremenu, višejezično prevođenje",
"Beleženje zapisnika u realnom vremenu, višejezično prevođenje",
"usageStats": "Statistika korišćenja", "usageStats": "Statistika korišćenja",
"usageStatsInfo": "Pregledajte vaše korišćenje aplikacije", "usageStatsInfo": "Pregledajte vaše korišćenje aplikacije",
"scene": "Scena", "scene": "Scena",
@ -228,8 +219,7 @@ const Map<String, String> srRS = {
"transcriptBytes": "Transcript Bytes", "transcriptBytes": "Transcript Bytes",
// 通知文案 // 通知文案
"loadFailed": "Load Failed", "loadFailed": "Load Failed",
"statsLoadFailedTryLater": "statsLoadFailedTryLater": "Statistics failed to load. Please try again later.",
"Statistics failed to load. Please try again later.",
"cleanupComplete": "Cleanup Complete", "cleanupComplete": "Cleanup Complete",
"cleanedOldData": "Cleaned data older than 90 days", "cleanedOldData": "Cleaned data older than 90 days",
"exportFeature": "Export Feature", "exportFeature": "Export Feature",
@ -285,10 +275,8 @@ const Map<String, String> srRS = {
'copyrightVoitrans': '© 2025 Voitrans Technologies', 'copyrightVoitrans': '© 2025 Voitrans Technologies',
// 会议商品页描述 // 会议商品页描述
'meetingHeaderDesc1': 'meetingHeaderDesc1': 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'meetingHeaderDesc2': 'Suitable for business meetings, class notes, and interview minutes.',
'meetingHeaderDesc2':
'Suitable for business meetings, class notes, and interview minutes.',
'meetingAutoRecording': 'Auto recording and segmentation', 'meetingAutoRecording': 'Auto recording and segmentation',
'meetingSpeakerTagging': 'Speaker labeling', 'meetingSpeakerTagging': 'Speaker labeling',
'meetingLongAudioTranscription': 'Long audio transcription', 'meetingLongAudioTranscription': 'Long audio transcription',
@ -297,35 +285,27 @@ const Map<String, String> srRS = {
'meetingTimelineJump': 'Timeline jump', 'meetingTimelineJump': 'Timeline jump',
'meetingExportSummary': 'Export minutes', 'meetingExportSummary': 'Export minutes',
'meetingMultiPlatformShare': 'Share across platforms', 'meetingMultiPlatformShare': 'Share across platforms',
'meetingDisclaimer': 'meetingDisclaimer': 'Use in quiet environments; performance depends on microphone and network.',
'Use in quiet environments; performance depends on microphone and network.',
// 同传/翻译商品页描述 // 同传/翻译商品页描述
'transHeaderDesc1': 'transHeaderDesc1': 'Real-time simultaneous interpretation and text translation with low-latency voice.',
'Real-time simultaneous interpretation and text translation with low-latency voice.',
'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.', 'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
'translateZhEn': 'Chinese-English translation', 'translateZhEn': 'Chinese-English translation',
'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast', 'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast',
'multiLangTextTranslation': 'Multilingual text translation', 'multiLangTextTranslation': 'Multilingual text translation',
'termOptimizationContextPreserve': 'termOptimizationContextPreserve': 'Terminology optimization and context preservation',
'Terminology optimization and context preservation',
'lexiconTourBusinessLife': 'Travel/Business/Life lexicons', 'lexiconTourBusinessLife': 'Travel/Business/Life lexicons',
'personalVocabularyMemory': 'Personal vocabulary memory', 'personalVocabularyMemory': 'Personal vocabulary memory',
'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode', 'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode',
'colorHighContrast': 'High color contrast', 'colorHighContrast': 'High color contrast',
'transDisclaimer': 'transDisclaimer': 'Translation performance depends on microphone, network latency, and ambient noise.',
'Translation performance depends on microphone, network latency, and ambient noise.',
// AI 商品页描述 // AI 商品页描述
'aiHeaderDesc1': 'aiHeaderDesc1': 'Longer conversation quota, more tool calls, extended context length.',
'Longer conversation quota, more tool calls, extended context length.', 'aiHeaderDesc2': 'Suitable for agent Q&A, summarization, analysis, and task execution.',
'aiHeaderDesc2':
'Suitable for agent Q&A, summarization, analysis, and task execution.',
'musicSearchPlaybackControl': 'Music library search and playback control', 'musicSearchPlaybackControl': 'Music library search and playback control',
'smartPlaylistAndSimilarRecommendations': 'smartPlaylistAndSimilarRecommendations': 'Smart playlist and similar song recommendations',
'Smart playlist and similar song recommendations', 'routePlanningAndCongestionAvoidance': 'Route planning and congestion avoidance',
'routePlanningAndCongestionAvoidance':
'Route planning and congestion avoidance',
'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings', 'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings',
'realTimeWeatherForecast': 'Real-time weather and forecast', 'realTimeWeatherForecast': 'Real-time weather and forecast',
'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders', 'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders',
@ -334,10 +314,8 @@ const Map<String, String> srRS = {
'hotNewsAndTopicOverview': 'Hot news and topic overview', 'hotNewsAndTopicOverview': 'Hot news and topic overview',
'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points', 'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points',
'helpCallAndSMS': 'Help with calls and SMS', 'helpCallAndSMS': 'Help with calls and SMS',
'templatedMessagesAndScheduleReminders': 'templatedMessagesAndScheduleReminders': 'Template messages and schedule reminders',
'Template messages and schedule reminders', 'aiDisclaimer': 'Features depend on device permissions, service availability, and network conditions.',
'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.',
// 会员商品页 // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
@ -352,11 +330,10 @@ const Map<String, String> srRS = {
'generalPrivileges': 'General privileges', 'generalPrivileges': 'General privileges',
'earlyAccessNewFeatures': 'Early access to new features', 'earlyAccessNewFeatures': 'Early access to new features',
'crossDeviceSync': 'Cross-device sync', 'crossDeviceSync': 'Cross-device sync',
'vipDisclaimer': 'vipDisclaimer': 'Actual benefits depend on the package details and may change with versions.',
'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Preskoči", 'skip': 'Preskoči',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -379,8 +356,7 @@ const Map<String, String> srRS = {
'guideNavInput': 'Navigate to Shenzhen Airport', 'guideNavInput': 'Navigate to Shenzhen Airport',
'guideNavSend': 'Lily will plan the route', 'guideNavSend': 'Lily will plan the route',
'guideNavEnd': 'Navigation set—try other commands', 'guideNavEnd': 'Navigation set—try other commands',
'guideMeetingStart': 'guideMeetingStart': 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow', 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
'guideMeetingSend': 'Lily will create a meeting reminder', 'guideMeetingSend': 'Lily will create a meeting reminder',
'guideMeetingEnd': 'Reminder created—try other commands', 'guideMeetingEnd': 'Reminder created—try other commands',
@ -430,8 +406,7 @@ const Map<String, String> srRS = {
'downloadingFiles': 'Downloading files...', 'downloadingFiles': 'Downloading files...',
'downloadingFileProgress': 'Total {total} files, downloading file {current}', 'downloadingFileProgress': 'Total {total} files, downloading file {current}',
'downloadComplete': 'Download complete', 'downloadComplete': 'Download complete',
'downloadCompleteInfo': 'downloadCompleteInfo': 'Download complete, {count} files in total, returning automatically in 2 seconds',
'Download complete, {count} files in total, returning automatically in 2 seconds',
// Meeting模块 - 录音功能 // Meeting模块 - 录音功能
'startRecording': 'Start Recording', 'startRecording': 'Start Recording',
@ -439,6 +414,23 @@ const Map<String, String> srRS = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Izađi iz snimanja', // 退出录音
'meetingRecordExitMessage': 'Izaberite radnju nakon izlaska', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Završi i sačuvaj', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Završi bez čuvanja', // 结束录音不保存
'meetingRecordContinueInBackground': 'Nastavi snimanje u pozadini', // 后台继续录音
'meetingRecordStopTimeout': 'Vreme za zaustavljanje snimanja je isteklo, pokušajte ponovo', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Zaustavljanje snimanja nije uspelo, pokušajte ponovo', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Čuvanje snimka nije uspelo, pokušajte ponovo', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Snimanje u toku', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Snimanje u pozadini, dodirnite za povratak', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Dozvola za plutajući prozor', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'Da bismo prikazali rezultate prevoda tokom poziva ili audio/video prevoda, potrebna nam je dozvola za prekrivanje. To vam omogućava da vidite prevode u realnom vremenu dok koristite druge aplikacije.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'Da bismo tokom snimanja prikazali plutajuću traku snimanja (tajmer/pauza/nastavi), potrebna nam je dozvola za prekrivanje.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Nije moguće automatski otvoriti sistemska podešavanja. Otvorite Podešavanja i ručno omogućite dozvolu za prekrivanje.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -486,54 +478,40 @@ const Map<String, String> srRS = {
'audioImport': 'Audio Import', 'audioImport': 'Audio Import',
'multipleExportFormats': 'Multiple Export Formats', 'multipleExportFormats': 'Multiple Export Formats',
'professionalSummaryTemplates': 'Professional Summary Templates', 'professionalSummaryTemplates': 'Professional Summary Templates',
'professionalTemplateDesc': 'professionalTemplateDesc': 'Professional template design to improve your work efficiency. Customized according to industry needs.',
'Professional template design to improve your work efficiency. Customized according to industry needs.', 'customTemplateDesc': 'You can customize summary prompts according to your needs and use them to generate the required summaries.',
'customTemplateDesc': 'askAiDesc': 'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.',
'You can customize summary prompts according to your needs and use them to generate the required summaries.', 'visualMindMapDesc': 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.',
'askAiDesc': 'templateCommunityDesc': 'Discover, share, and get inspiration from the template library created by users.',
'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.', 'speakerIdentificationDesc': 'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'visualMindMapDesc': 'privateCloudSyncDesc': 'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.', 'aiVoiceEnhancementDesc': 'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'templateCommunityDesc': 'audioImportDesc': 'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'Discover, share, and get inspiration from the template library created by users.', 'multipleExportFormatsDesc': 'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
'speakerIdentificationDesc':
'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'privateCloudSyncDesc':
'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'aiVoiceEnhancementDesc':
'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'audioImportDesc':
'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'multipleExportFormatsDesc':
'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
// Meeting模块 - 升级会员 // Meeting模块 - 升级会员
'upgradeMembership': 'Upgrade Your Membership', 'upgradeMembership': 'Upgrade Your Membership',
'yearlySubscription': 'Yearly Subscription', 'yearlySubscription': 'Yearly Subscription',
'monthlySubscription': 'Monthly Subscription', 'monthlySubscription': 'Monthly Subscription',
'proMonthly': 'Pro ¥60/month', 'proMonthly': 'Pro ¥60/month',
'proMonthlyDesc': 'proMonthlyDesc': '7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'sevenDayTrial': '7-day Free Trial', 'sevenDayTrial': '7-day Free Trial',
'unlimitedMonthly': 'Unlimited ¥120/month', 'unlimitedMonthly': 'Unlimited ¥120/month',
'unlimitedMonthlyDesc': 'unlimitedMonthlyDesc': '7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.', 'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.',
'proPrice': 'Pro ¥120', 'proPrice': 'Pro ¥120',
'proMonthlyPrice': '¥120/month', 'proMonthlyPrice': '¥120/month',
'subscribe': 'Subscribe', 'subscribe': 'Subscribe',
'unlimitedPrice': 'Unlimited ¥198', 'unlimitedPrice': 'Unlimited ¥198',
'unlimitedMonthlyPrice': '¥198/month', 'unlimitedMonthlyPrice': '¥198/month',
'upgradeNote': 'upgradeNote': '*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'buyMoreTranscriptionTime': 'Buy More Transcription Time', 'buyMoreTranscriptionTime': 'Buy More Transcription Time',
'sixThousandMinutes': '6,000 minutes', 'sixThousandMinutes': '6,000 minutes',
'threeThousandMinutes': '3,000 minutes', 'threeThousandMinutes': '3,000 minutes',
'sixHundredMinutes': '600 minutes', 'sixHundredMinutes': '600 minutes',
'oneHundredTwentyMinutes': '120 minutes', 'oneHundredTwentyMinutes': '120 minutes',
'validityPeriod': '*Validity Period: ', 'validityPeriod': '*Validity Period: ',
'validityNote': 'validityNote': 'Activated immediately after purchase, valid for 2 years after activation.',
'Activated immediately after purchase, valid for 2 years after activation.',
'purchase': 'Purchase', 'purchase': 'Purchase',
// Meeting模块 - 模版和生成 // Meeting模块 - 模版和生成
@ -545,8 +523,7 @@ const Map<String, String> srRS = {
'chineseSimplified': 'Chinese Mandarin (Simplified)', 'chineseSimplified': 'Chinese Mandarin (Simplified)',
'meetingGenerateNow': 'Generate Now', 'meetingGenerateNow': 'Generate Now',
'keyEventsAnalyzed': 'Analyzed {count} key events.', 'keyEventsAnalyzed': 'Analyzed {count} key events.',
'aiAnalysisDesc': 'aiAnalysisDesc': 'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
// Meeting模块 - 文件操作和状态 // Meeting模块 - 文件操作和状态
'importing': 'Importing...', 'importing': 'Importing...',
@ -566,10 +543,9 @@ const Map<String, String> srRS = {
// 权限相关 - Meeting相关 // 权限相关 - Meeting相关
'meetingStoragePermission': 'Storage', 'meetingStoragePermission': 'Storage',
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation': 'We need access to storage permissions so you can select and upload audio files.',
'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -613,19 +589,17 @@ const Map<String, String> srRS = {
// Meeting模块 - 发言者相关 // Meeting模块 - 发言者相关
'applyToAllParagraphs': 'Primeni na sve pasuse ovog govornika', 'applyToAllParagraphs': 'Primeni na sve pasuse ovog govornika',
'summaryWillBeUpdatedAutomatically': 'summaryWillBeUpdatedAutomatically': 'Sažetak će se automatski ažurirati prema šablonu',
'Sažetak će se automatski ažurirati prema šablonu',
'nameCurrentSpeaker': 'Name Current Speaker', 'nameCurrentSpeaker': 'Name Current Speaker',
'recentlyUsedNames': 'Recently Used Names', 'recentlyUsedNames': 'Recently Used Names',
'applyToCurrentParagraph': 'Apply to Current Paragraph', 'applyToCurrentParagraph': 'Apply to Current Paragraph',
'totalTime': 'Total Time', 'totalTime': 'Total Time',
'summarySpeakerWillBeUpdatedAutomatically': 'summarySpeakerWillBeUpdatedAutomatically': 'Summary speakers will be updated automatically',
'Summary speakers will be updated automatically',
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -645,8 +619,7 @@ const Map<String, String> srRS = {
"cloudSync": "Nákup sinkronizacije u oblaku", "cloudSync": "Nákup sinkronizacije u oblaku",
"memberService": "Member Service", "memberService": "Member Service",
"bindRewardTitle": "Rewards", "bindRewardTitle": "Rewards",
"bindRewardSimpleDesc": "bindRewardSimpleDesc": "First bind device reward has been issued. Tap OK to close.",
"First bind device reward has been issued. Tap OK to close.",
"joinDevice": "Povezan uređaj:", "joinDevice": "Povezan uređaj:",
"accountId": "ID naloga:", "accountId": "ID naloga:",
"systemSetting": "Sistemsko podešavanje", "systemSetting": "Sistemsko podešavanje",
@ -659,8 +632,7 @@ const Map<String, String> srRS = {
"privacySettings": "Podešavanja privatnosti", "privacySettings": "Podešavanja privatnosti",
"privacySettingsInfo": "Upravljanje prikupljanjem podataka i dozvolama", "privacySettingsInfo": "Upravljanje prikupljanjem podataka i dozvolama",
"permissionManagement": "Upravljanje dozvolama", // 权限管理 "permissionManagement": "Upravljanje dozvolama", // 权限管理
"permissionManagementInfo": "permissionManagementInfo": "Upravljanje podešavanjima dozvola aplikacije", // 管理应用权限设置
"Upravljanje podešavanjima dozvola aplikacije", // 管理应用权限设置
"aboutApplication": "O aplikaciji", "aboutApplication": "O aplikaciji",
"versions": "Verzija", "versions": "Verzija",
"checkUpdates": "Proveri ažuriranja", "checkUpdates": "Proveri ažuriranja",
@ -669,11 +641,9 @@ const Map<String, String> srRS = {
"voiceServiceInfo": "Izbor servisa za prepoznavanje i sintezu govora", "voiceServiceInfo": "Izbor servisa za prepoznavanje i sintezu govora",
"selectVoiceService": "Izaberi govorni servis", "selectVoiceService": "Izaberi govorni servis",
"azureVoiceService": "Azure govorni servis", "azureVoiceService": "Azure govorni servis",
"azureVoiceServiceInfo": "azureVoiceServiceInfo": "Microsoftov govorni servis u oblaku, podržava visokokvalitetnu sintezu i prepoznavanje govora",
"Microsoftov govorni servis u oblaku, podržava visokokvalitetnu sintezu i prepoznavanje govora",
"flutterVoiceService": "Flutter lokalni govorni servis", "flutterVoiceService": "Flutter lokalni govorni servis",
"flutterVoiceServiceInfo": "flutterVoiceServiceInfo": "Lokalni govorni servis uređaja, može se koristiti bez internet konekcije",
"Lokalni govorni servis uređaja, može se koristiti bez internet konekcije",
'timbreService': 'Servis za boju glasa', 'timbreService': 'Servis za boju glasa',
'timbreServiceInfo': 'Izaberite servis za sintezu govora sa bojom glasa', 'timbreServiceInfo': 'Izaberite servis za sintezu govora sa bojom glasa',
'defaultTimbre': 'Podrazumevana boja glasa', 'defaultTimbre': 'Podrazumevana boja glasa',
@ -702,8 +672,7 @@ const Map<String, String> srRS = {
// 设置页面 - 实时语音对话 // 设置页面 - 实时语音对话
"realtimeVoiceChat": "Glasovno ćaskanje u realnom vremenu", "realtimeVoiceChat": "Glasovno ćaskanje u realnom vremenu",
"realtimeVoiceChatInfo": "realtimeVoiceChatInfo": "Iskusite funkciju inteligentne glasovne interakcije (pregled funkcije)",
"Iskusite funkciju inteligentne glasovne interakcije (pregled funkcije)",
"loading": "Učitavanje...", "loading": "Učitavanje...",
//设备管理页面 //设备管理页面
@ -718,8 +687,7 @@ const Map<String, String> srRS = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -767,22 +735,18 @@ const Map<String, String> srRS = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'Zdravo! Ja sam **Lily**, mogu vam pomoći:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• Da odgovaram na pitanja i pružam informacije\n\n' '• 回答问题和提供信息\n\n'
'• Glasovno prevođenje u realnom vremenu\n\n' '• 实时语音翻译\n\n'
'• Da preporučujem muziku i podkaste\n\n' '• 推荐音乐和播客\n\n'
'• Glasovne beleške i podsetnike\n\n' '• 语音备忘录和提醒\n\n'
'• Da kontrolišem funkcije slušalica\n\n' '• 控制耳机功能\n\n'
'Kako vam mogu pomoći?', '有什么我可以帮你的吗?',
'microphonePermission': 'Mikrofon', 'microphonePermission': 'Mikrofon',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText': 'Funkcija prepoznavanja govora zahteva pristup mikrofonu.',
'Funkcija prepoznavanja govora zahteva pristup mikrofonu.', 'voiceTranslationPermissionText': 'Funkcija prepoznavanja i prevođenja govora zahteva pristup mikrofonu.',
'voiceTranslationPermissionText': 'phoneCallPermissionText': 'Funkcija pozivanja zahteva pristup mikrofonu za glasovne pozive.',
'Funkcija prepoznavanja i prevođenja govora zahteva pristup mikrofonu.', 'permissionDeniedText': 'Trajno ste odbili dozvolu za mikrofon, idite u sistemska podešavanja da biste je omogućili.',
'phoneCallPermissionText':
'Funkcija pozivanja zahteva pristup mikrofonu za glasovne pozive.',
'permissionDeniedText':
'Trajno ste odbili dozvolu za mikrofon, idite u sistemska podešavanja da biste je omogućili.',
'startVoiceInput': 'Započni unos glasom', 'startVoiceInput': 'Započni unos glasom',
'startPhoneCallMode': 'Započni režim poziva, započni unos glasom', 'startPhoneCallMode': 'Započni režim poziva, započni unos glasom',
@ -805,8 +769,7 @@ const Map<String, String> srRS = {
'privacyRelated': 'Vezano za privatnost', 'privacyRelated': 'Vezano za privatnost',
'copyrightViolation': 'Kršenje mog autorskog prava, ugleda, itd.', 'copyrightViolation': 'Kršenje mog autorskog prava, ugleda, itd.',
'other': 'Ostalo', 'other': 'Ostalo',
'reportDescriptionHint': 'reportDescriptionHint': 'Želimo da znamo razlog vaše prijave, možete opisati problem sa kojim ste se suočili.',
'Želimo da znamo razlog vaše prijave, možete opisati problem sa kojim ste se suočili.',
//'submit': '提交', //'submit': '提交',
//Message_bubble //Message_bubble
@ -838,22 +801,14 @@ const Map<String, String> srRS = {
'lowest': 'Najniža', 'lowest': 'Najniža',
'futureForecast': 'Buduća prognoza', 'futureForecast': 'Buduća prognoza',
'hotWeatherTip': 'Danas je vruće, pazite na toplotni udar i pijte puno vode', 'hotWeatherTip': 'Danas je vruće, pazite na toplotni udar i pijte puno vode',
'coldWeatherTip': 'coldWeatherTip': 'Danas je temperatura niska, obucite se toplo kada izlazite da se ne prehladite',
'Danas je temperatura niska, obucite se toplo kada izlazite da se ne prehladite', 'rainyWeatherTip': 'Danas pada kiša, ponesite kišobran kada izlazite i pazite na putu',
'rainyWeatherTip': 'snowyWeatherTip': 'Danas pada sneg, put je klizav, pazite i obucite se toplo',
'Danas pada kiša, ponesite kišobran kada izlazite i pazite na putu', 'foggyWeatherTip': 'Danas je magla, vidljivost je smanjena, nosite masku kada izlazite',
'snowyWeatherTip': 'windyWeatherTip': 'Danas duva jak vetar, pazite kada izlazite i osigurajte svoje stvari',
'Danas pada sneg, put je klizav, pazite i obucite se toplo', 'sunnyWeatherTip': 'Danas je sunčano i jako UV zračenje, koristite kremu za sunčanje kada izlazite',
'foggyWeatherTip': 'temperatureDifferenceTip': 'Danas je velika razlika u temperaturi između dana i noći, prilagodite odeću',
'Danas je magla, vidljivost je smanjena, nosite masku kada izlazite', 'comfortableWeatherTip': 'Danas je vreme prijatno, odlično vreme za aktivnosti na otvorenom',
'windyWeatherTip':
'Danas duva jak vetar, pazite kada izlazite i osigurajte svoje stvari',
'sunnyWeatherTip':
'Danas je sunčano i jako UV zračenje, koristite kremu za sunčanje kada izlazite',
'temperatureDifferenceTip':
'Danas je velika razlika u temperaturi između dana i noći, prilagodite odeću',
'comfortableWeatherTip':
'Danas je vreme prijatno, odlično vreme za aktivnosti na otvorenom',
"monday": "Pon", "monday": "Pon",
"tuesday": "Uto", "tuesday": "Uto",
"wednesday": "Sre", "wednesday": "Sre",
@ -903,31 +858,24 @@ const Map<String, String> srRS = {
"notSet": "Nije podešeno", "notSet": "Nije podešeno",
"accountSetting": "Podešavanja naloga", "accountSetting": "Podešavanja naloga",
"logout": "Odjavi se", "logout": "Odjavi se",
"logoutTips": "logoutTips": "Da li ste sigurni da želite da se odjavite sa trenutnog naloga?",
"Da li ste sigurni da želite da se odjavite sa trenutnog naloga?",
'deleteAccount': 'Obriši nalog', 'deleteAccount': 'Obriši nalog',
'deleteAccountTips': 'deleteAccountTips': 'Da li ste sigurni da želite trajno da obrišete svoj nalog? Ova radnja se ne može opozvati',
'Da li ste sigurni da želite trajno da obrišete svoj nalog? Ova radnja se ne može opozvati',
'clean': 'Clear Cache', 'clean': 'Clear Cache',
'cleanTips': 'Are you sure you want to clear personal cache?', 'cleanTips': 'Are you sure you want to clear personal cache?',
// Profile 错误信息 // Profile 错误信息
'networkConnectionFailed': 'networkConnectionFailed': 'Neuspešna mrežna veza, proverite podešavanja mreže i pokušajte ponovo',
'Neuspešna mrežna veza, proverite podešavanja mreže i pokušajte ponovo', 'serverTemporarilyUnavailable': 'Server je trenutno nedostupan, pokušajte ponovo kasnije',
'serverTemporarilyUnavailable':
'Server je trenutno nedostupan, pokušajte ponovo kasnije',
'loginExpiredPleaseRelogin': 'Vaša sesija je istekla, prijavite se ponovo', 'loginExpiredPleaseRelogin': 'Vaša sesija je istekla, prijavite se ponovo',
'noPermissionForThisOperation': 'Nemate dozvolu za ovu operaciju', 'noPermissionForThisOperation': 'Nemate dozvolu za ovu operaciju',
'requestedResourceNotFound': 'Traženi resurs nije pronađen', 'requestedResourceNotFound': 'Traženi resurs nije pronađen',
'imageProcessingFailedPleaseReselect': 'imageProcessingFailedPleaseReselect': 'Neuspešna obrada slike, izaberite drugu sliku',
'Neuspešna obrada slike, izaberite drugu sliku',
'operationFailedPleaseRetry': 'Operacija nije uspela, pokušajte ponovo', 'operationFailedPleaseRetry': 'Operacija nije uspela, pokušajte ponovo',
'serverReturnedError': 'Server je vratio grešku', 'serverReturnedError': 'Server je vratio grešku',
'serverError': 'Greška na serveru', 'serverError': 'Greška na serveru',
'networkConnectionFailedCheckSettings': 'networkConnectionFailedCheckSettings': 'Neuspešna mrežna veza, proverite podešavanja mreže',
'Neuspešna mrežna veza, proverite podešavanja mreže', 'serverInternalErrorRetryLater': 'Interna greška na serveru, pokušajte ponovo kasnije',
'serverInternalErrorRetryLater':
'Interna greška na serveru, pokušajte ponovo kasnije',
// Profile 用户交互 // Profile 用户交互
//'error': '错误', //'error': '错误',
@ -946,19 +894,13 @@ const Map<String, String> srRS = {
// 账号服务相关 // 账号服务相关
'clearUserDataFailed': 'Neuspešno brisanje korisničkih podataka', // 清理用户数据失败 'clearUserDataFailed': 'Neuspešno brisanje korisničkih podataka', // 清理用户数据失败
'deleteUserDataFailed': 'Neuspešno brisanje korisničkih podataka', // 删除用户数据失败 'deleteUserDataFailed': 'Neuspešno brisanje korisničkih podataka', // 删除用户数据失败
'thirdPartyLogoutSuccess': 'thirdPartyLogoutSuccess': 'Uspešno odjavljivanje sa treće strane', // 第三方登录退出成功
'Uspešno odjavljivanje sa treće strane', // 第三方登录退出成功 'thirdPartyLogoutFailed': 'Neuspešno odjavljivanje sa treće strane', // 第三方登录退出失败
'thirdPartyLogoutFailed': 'signOutProcessError': 'Došlo je do greške tokom procesa odjavljivanja', // 登出过程发生错误
'Neuspešno odjavljivanje sa treće strane', // 第三方登录退出失败 'deleteAccountProcessError': 'Došlo je do greške tokom procesa brisanja naloga', // 删除账号过程发生错误
'signOutProcessError':
'Došlo je do greške tokom procesa odjavljivanja', // 登出过程发生错误
'deleteAccountProcessError':
'Došlo je do greške tokom procesa brisanja naloga', // 删除账号过程发生错误
'userDataClearSuccess': 'Korisnički podaci uspešno obrisani', // 用户数据清理成功 'userDataClearSuccess': 'Korisnički podaci uspešno obrisani', // 用户数据清理成功
'allUserDataClearSuccess': 'allUserDataClearSuccess': 'Svi korisnički podaci uspešno obrisani', // 所有用户数据清理成功
'Svi korisnički podaci uspešno obrisani', // 所有用户数据清理成功 'accountServiceInitialized': 'AccountService je inicijalizovan', // AccountService 已初始化
'accountServiceInitialized':
'AccountService je inicijalizovan', // AccountService 已初始化
// 权限管理页面 // 权限管理页面
'getPermissionStatusFailed': 'Neuspešno dobijanje statusa dozvole', 'getPermissionStatusFailed': 'Neuspešno dobijanje statusa dozvole',
@ -981,97 +923,67 @@ const Map<String, String> srRS = {
'locationInfo': 'Informacije o lokaciji', 'locationInfo': 'Informacije o lokaciji',
'phonePermissionDesc': 'Koristi se za funkciju pozivanja', 'phonePermissionDesc': 'Koristi se za funkciju pozivanja',
'smsPermissionDesc': 'Koristi se za funkciju slanja SMS-a', 'smsPermissionDesc': 'Koristi se za funkciju slanja SMS-a',
'alarmPermissionDesc': 'alarmPermissionDesc': 'Used to set exact alarms to ensure reminders trigger on time',
'Used to set exact alarms to ensure reminders trigger on time', 'calendarWritePermissionDesc': 'Koristi se za kreiranje događaja i podsetnika u kalendaru',
'calendarWritePermissionDesc': 'calendarFullAccessPermissionDesc': 'Koristi se za čitanje i upravljanje događajima i podsetnicima u kalendaru',
'Koristi se za kreiranje događaja i podsetnika u kalendaru', 'locationPermissionDesc': 'Koristi se za dobijanje informacija o trenutnoj lokaciji',
'calendarFullAccessPermissionDesc':
'Koristi se za čitanje i upravljanje događajima i podsetnicima u kalendaru',
'locationPermissionDesc':
'Koristi se za dobijanje informacija o trenutnoj lokaciji',
'appFunctionNeeds': 'Funkcija aplikacije zahteva', 'appFunctionNeeds': 'Funkcija aplikacije zahteva',
'authorized': 'Autorizovano', 'authorized': 'Autorizovano',
'unauthorized': 'Neautorizovano', 'unauthorized': 'Neautorizovano',
'needOpenInSystemSettings': 'needOpenInSystemSettings': 'Potrebno je omogućiti u sistemskim podešavanjima',
'Potrebno je omogućiti u sistemskim podešavanjima',
'partialAuthorization': 'Delimična autorizacija', 'partialAuthorization': 'Delimična autorizacija',
'unknownStatus': 'Nepoznat status', 'unknownStatus': 'Nepoznat status',
'permissionGranted': 'Dozvola je odobrena', 'permissionGranted': 'Dozvola je odobrena',
'permissionRequestError': 'Greška prilikom traženja dozvole', 'permissionRequestError': 'Greška prilikom traženja dozvole',
'phonePermissionDetailDesc': 'Funkcija pozivanja zahteva dozvolu za telefon', 'phonePermissionDetailDesc': 'Funkcija pozivanja zahteva dozvolu za telefon',
'smsPermissionDetailDesc': 'Funkcija slanja SMS-a zahteva dozvolu za SMS', 'smsPermissionDetailDesc': 'Funkcija slanja SMS-a zahteva dozvolu za SMS',
'alarmPermissionDetailDesc': 'alarmPermissionDetailDesc': 'This permission is required to set exact alarms and ensure reminders trigger on time',
'This permission is required to set exact alarms and ensure reminders trigger on time', 'calendarWritePermissionDetailDesc': 'Kreiranje događaja u kalendaru zahteva dozvolu za pisanje u kalendar',
'calendarWritePermissionDetailDesc': 'calendarFullAccessPermissionDetailDesc': 'Upravljanje događajima u kalendaru zahteva potpunu dozvolu za kalendar',
'Kreiranje događaja u kalendaru zahteva dozvolu za pisanje u kalendar', 'locationPermissionDetailDesc': 'Dobijanje informacija o lokaciji zahteva dozvolu za lokaciju',
'calendarFullAccessPermissionDetailDesc':
'Upravljanje događajima u kalendaru zahteva potpunu dozvolu za kalendar',
'locationPermissionDetailDesc':
'Dobijanje informacija o lokaciji zahteva dozvolu za lokaciju',
'contactsPermissionDesc': 'Used for accessing contact information', 'contactsPermissionDesc': 'Used for accessing contact information',
'contactsPermissionDetailDesc': 'contactsPermissionDetailDesc': 'Phone call and SMS functionality requires contacts permission to select contacts',
'Phone call and SMS functionality requires contacts permission to select contacts', 'bluetoothPermissionDesc': 'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDesc': 'bluetoothPermissionDetailDesc': 'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDetailDesc':
'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices', 'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices',
'bluetoothScanPermissionDetailDesc': 'bluetoothScanPermissionDetailDesc': 'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices', 'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices',
'bluetoothConnectPermissionDetailDesc': 'bluetoothConnectPermissionDetailDesc': 'Connecting to Bluetooth devices requires Bluetooth connect permission',
'Connecting to Bluetooth devices requires Bluetooth connect permission',
'notificationPermissionDesc': 'Used for sending notification messages', 'notificationPermissionDesc': 'Used for sending notification messages',
'notificationPermissionDetailDesc': 'notificationPermissionDetailDesc': 'App needs notification permission to send you important alerts and messages',
'App needs notification permission to send you important alerts and messages', 'appNeedsPermissionForFullFunction': 'Aplikacija zahteva ovu dozvolu za punu funkcionalnost',
'appNeedsPermissionForFullFunction': 'permanentDenialText': 'Trajno ste odbili dozvolu za {permission}, idite u podešavanja aplikacije da biste je omogućili',
'Aplikacija zahteva ovu dozvolu za punu funkcionalnost',
'permanentDenialText':
'Trajno ste odbili dozvolu za {permission}, idite u podešavanja aplikacije da biste je omogućili',
'goToSettings': 'Idi na podešavanja', 'goToSettings': 'Idi na podešavanja',
// 权限申请 // 权限申请
'bluetoothScan': 'Bluetooth Scan', 'bluetoothScan': 'Bluetooth Scan',
'bluetoothConnect': 'Bluetooth Connect', 'bluetoothConnect': 'Bluetooth Connect',
'bluetoothScanExplanation': 'bluetoothScanExplanation': 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.',
'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.', 'bluetoothConnectExplanation': 'The app needs Bluetooth connect permission to connect to Bluetooth devices.',
'bluetoothConnectExplanation': 'locationForBluetoothExplanation': 'The app needs location permission to scan Bluetooth devices.',
'The app needs Bluetooth connect permission to connect to Bluetooth devices.', 'bluetoothScanPermanentDenial': 'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'locationForBluetoothExplanation': 'bluetoothConnectPermanentDenial': 'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'The app needs location permission to scan Bluetooth devices.', 'locationPermanentDenial': 'Location permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothScanPermanentDenial':
'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothConnectPermanentDenial':
'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'locationPermanentDenial':
'Location permission has been permanently denied, please go to settings to enable it manually.',
'notificationPermission': 'Notification', 'notificationPermission': 'Notification',
'locationPermission': 'Location', 'locationPermission': 'Location',
'notificationPermissionExplanation': 'notificationPermissionExplanation': 'Notification permission is required to display music playback status.',
'Notification permission is required to display music playback status.', 'locationPermissionExplanation': 'Location permission is required to get current location.',
'locationPermissionExplanation': 'notificationPermissionPermanentDenial': 'You have permanently denied notification permission, please go to settings to enable it.',
'Location permission is required to get current location.', 'locationPermissionPermanentDenial': 'You have permanently denied location permission, please go to settings to enable it.',
'notificationPermissionPermanentDenial':
'You have permanently denied notification permission, please go to settings to enable it.',
'locationPermissionPermanentDenial':
'You have permanently denied location permission, please go to settings to enable it.',
//'microphonePermission': '录音', //'microphonePermission': '录音',
'storagePermission': 'Storage', 'storagePermission': 'Storage',
'microphonePermissionExplanation': 'microphonePermissionExplanation': 'We need microphone permission to record audio content.',
'We need microphone permission to record audio content.', 'storagePermissionExplanation': 'We need storage permission so you can select and upload audio files.',
'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
'permissionUtilPermission': ' Permission', 'permissionUtilPermission': ' Permission',
'permissionUtilRestricted': ' Permission Restricted', 'permissionUtilRestricted': ' Permission Restricted',
'permissionUtilRestrictedMessage': 'permissionUtilRestrictedMessage': 'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'permissionUtilConfirm': 'OK', 'permissionUtilConfirm': 'OK',
// 版本更新对话框 // 版本更新对话框
@ -1080,10 +992,8 @@ const Map<String, String> srRS = {
'updateNow': 'Ažuriraj sada', // 立即更新按钮 'updateNow': 'Ažuriraj sada', // 立即更新按钮
'checkUpdate': 'Proveri ažuriranja', // 检查更新按钮 'checkUpdate': 'Proveri ažuriranja', // 检查更新按钮
'updateFailed': 'Neuspešno ažuriranje', // 更新失败提示 'updateFailed': 'Neuspešno ažuriranje', // 更新失败提示
'cannotOpenAppStore': 'cannotOpenAppStore': 'Nije moguće otvoriti prodavnicu aplikacija, idite ručno u prodavnicu da biste ažurirali', // 无法打开应用商店提示
'Nije moguće otvoriti prodavnicu aplikacija, idite ručno u prodavnicu da biste ažurirali', // 无法打开应用商店提示 'updateErrorRetry': 'Došlo je do greške tokom ažuriranja, pokušajte ponovo kasnije', // 更新错误重试提示
'updateErrorRetry':
'Došlo je do greške tokom ažuriranja, pokušajte ponovo kasnije', // 更新错误重试提示
//国家列表 //国家列表
"邮箱": "E-pošta", "邮箱": "E-pošta",
@ -1219,8 +1129,7 @@ const Map<String, String> srRS = {
"selectTargetLanguage": "Izaberi ciljni jezik", "selectTargetLanguage": "Izaberi ciljni jezik",
"me": "Me", "me": "Me",
"counterPart": "Counterpart", "counterPart": "Counterpart",
"bluetoothCallStateError": "bluetoothCallStateError": "Please make sure the Bluetooth headset is connected to the phone and in a call state",
"Please make sure the Bluetooth headset is connected to the phone and in a call state",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
@ -1236,12 +1145,10 @@ const Map<String, String> srRS = {
"historyRecords": "History Records", "historyRecords": "History Records",
"clearResults": "Clear Results", "clearResults": "Clear Results",
"clearHistory": "Obriši istoriju", "clearHistory": "Obriši istoriju",
"clearHistoryConfirm": "clearHistoryConfirm": "Da li ste sigurni da želite da obrišete celu istoriju prevođenja? Ova radnja se ne može opozvati.",
"Da li ste sigurni da želite da obrišete celu istoriju prevođenja? Ova radnja se ne može opozvati.",
"unknownLanguage": "Nepoznat jezik", "unknownLanguage": "Nepoznat jezik",
"deleteSessionRecord": "Obriši zapis sesije", "deleteSessionRecord": "Obriši zapis sesije",
"deleteSessionConfirm": "deleteSessionConfirm": "Da li ste sigurni da želite da obrišete sve zapise prevođenja za ovu sesiju? Ova radnja se ne može opozvati.",
"Da li ste sigurni da želite da obrišete sve zapise prevođenja za ovu sesiju? Ova radnja se ne može opozvati.",
// 图片翻译模块(Picture Translation) // 图片翻译模块(Picture Translation)
"selectImageSource": "Select Image Source", "selectImageSource": "Select Image Source",
@ -1273,20 +1180,15 @@ const Map<String, String> srRS = {
"translationCompleted": "Translation Completed", "translationCompleted": "Translation Completed",
"allStepsCompleted": "All steps completed", "allStepsCompleted": "All steps completed",
"processingFailed": "Processing Failed", "processingFailed": "Processing Failed",
"imageProcessingOrTranslationFailed": "imageProcessingOrTranslationFailed": "Image processing or translation failed. Please retry.\nError: {error}",
"Image processing or translation failed. Please retry.\nError: {error}",
"imageTooLarge": "Image size exceeds 4MB limit", "imageTooLarge": "Image size exceeds 4MB limit",
"imageTooLargeHint": "imageTooLargeHint": "Image size exceeds 4MB. Reduce quality or dimensions and retry",
"Image size exceeds 4MB. Reduce quality or dimensions and retry",
"emptyTranslationResult": "Image translation API returned empty result", "emptyTranslationResult": "Image translation API returned empty result",
"imageTranslationFailedTryLater": "imageTranslationFailedTryLater": "Image translation failed. Network issue or rate limit. Please try later",
"Image translation failed. Network issue or rate limit. Please try later", "imageTranslationApiException": "Image translation API exception. Check network and retry",
"imageTranslationApiException":
"Image translation API exception. Check network and retry",
"permissionRequired": "Permission Required", "permissionRequired": "Permission Required",
"cameraPermissionRequired": "Camera permission required to take photos", "cameraPermissionRequired": "Camera permission required to take photos",
"photoAlbumPermissionRequired": "photoAlbumPermissionRequired": "Photo album permission required to pick images",
"Photo album permission required to pick images",
"translationDetails": "Translation Details", "translationDetails": "Translation Details",
"originalImage": "Original Image", "originalImage": "Original Image",
"sourceLanguage": "Source Language", "sourceLanguage": "Source Language",
@ -1309,8 +1211,7 @@ const Map<String, String> srRS = {
// 翻译详情页 (translation_detail_view.dart) // 翻译详情页 (translation_detail_view.dart)
"originalRecord": "Originalni zapis", "originalRecord": "Originalni zapis",
"recordSummary": "Sažetak zapisa", "recordSummary": "Sažetak zapisa",
"clickToGenerateSummary": "clickToGenerateSummary": "Kliknite na dugme ispod da biste generisali sažetak sesije",
"Kliknite na dugme ispod da biste generisali sažetak sesije",
"summaryContent": "Sadržaj sažetka", "summaryContent": "Sadržaj sažetka",
"copied": "Kopirano", "copied": "Kopirano",
"summaryCopiledToClipboard": "Sažetak je kopiran u međuspremnik", "summaryCopiledToClipboard": "Sažetak je kopiran u međuspremnik",
@ -1318,11 +1219,9 @@ const Map<String, String> srRS = {
"summaryGenerated": "Sažetak je generisan", "summaryGenerated": "Sažetak je generisan",
"generating": "Generisanje...", "generating": "Generisanje...",
"regenerate": "Ponovo generiši", "regenerate": "Ponovo generiši",
"summaryTimeoutMessage": "summaryTimeoutMessage": "Isteklo je vreme za generisanje sažetka, možda zbog problema sa mrežom ili zauzetosti servera.",
"Isteklo je vreme za generisanje sažetka, možda zbog problema sa mrežom ili zauzetosti servera.",
"deleteTranslationRecord": "Obriši zapis prevođenja", "deleteTranslationRecord": "Obriši zapis prevođenja",
"deleteTranslationConfirm": "deleteTranslationConfirm": "Da li ste sigurni da želite da obrišete ovaj zapis prevođenja? Ova radnja se ne može opozvati.",
"Da li ste sigurni da želite da obrišete ovaj zapis prevođenja? Ova radnja se ne može opozvati.",
"originalText": "Originalni tekst", "originalText": "Originalni tekst",
"translatedText": "Prevedeni tekst", "translatedText": "Prevedeni tekst",
"sessionSummary": "Sažetak sesije", "sessionSummary": "Sažetak sesije",
@ -1350,25 +1249,19 @@ const Map<String, String> srRS = {
// 配对状态文本 // 配对状态文本
"readyToPair": "Spremno za uparivanje", "readyToPair": "Spremno za uparivanje",
"preparingPairingEnvironment": "Priprema okruženja za uparivanje...", "preparingPairingEnvironment": "Priprema okruženja za uparivanje...",
"connectDeepSoundViaSystemBluetooth": "connectDeepSoundViaSystemBluetooth": "Prvo se povežite sa Voitrans uređajem preko sistemskog Bluetooth-a",
"Prvo se povežite sa Voitrans uređajem preko sistemskog Bluetooth-a",
"deviceBindingConfirm": "Potvrda povezivanja uređaja...", "deviceBindingConfirm": "Potvrda povezivanja uređaja...",
"establishingDeviceAssociation": "Uspostavljanje veze sa uređajem...", "establishingDeviceAssociation": "Uspostavljanje veze sa uređajem...",
"waitingCompletePairing": "Molimo sačekajte, uparivanje se završava...", "waitingCompletePairing": "Molimo sačekajte, uparivanje se završava...",
"pairingSuccessRedirecting": "pairingSuccessRedirecting": "Uparivanje uspešno! Preusmeravanje na početnu stranicu...",
"Uparivanje uspešno! Preusmeravanje na početnu stranicu...",
// 配对错误状态文本 // 配对错误状态文本
"ensureConnectedDeepSoundDevice": "ensureConnectedDeepSoundDevice": "Uverite se da ste povezani sa Voitrans uređajem",
"Uverite se da ste povezani sa Voitrans uređajem", "deviceAlreadyBoundToOtherAccount": "Ovaj uređaj je već povezan sa drugim nalogom",
"deviceAlreadyBoundToOtherAccount":
"Ovaj uređaj je već povezan sa drugim nalogom",
"deviceAssociationFailed": "Neuspešno povezivanje uređaja, pokušajte ponovo", "deviceAssociationFailed": "Neuspešno povezivanje uređaja, pokušajte ponovo",
"scanTimeoutEnsureDeviceNearby": "scanTimeoutEnsureDeviceNearby": "Isteklo vreme skeniranja, uverite se da je uređaj u blizini",
"Isteklo vreme skeniranja, uverite se da je uređaj u blizini",
"networkError": "Mrežna greška", "networkError": "Mrežna greška",
"authorizationFailedCheckCode": "authorizationFailedCheckCode": "Neuspešna autorizacija, proverite da li je autorizacioni kod tačan",
"Neuspešna autorizacija, proverite da li je autorizacioni kod tačan",
"pairingFailedRetry": "Neuspešno uparivanje, pokušajte ponovo", "pairingFailedRetry": "Neuspešno uparivanje, pokušajte ponovo",
// 配对控制器相关 // 配对控制器相关
@ -1377,15 +1270,13 @@ const Map<String, String> srRS = {
'deviceDisconnected': 'Uređaj je isključen', 'deviceDisconnected': 'Uređaj je isključen',
'readyToStartPairing': 'Spremno za početak uparivanja', 'readyToStartPairing': 'Spremno za početak uparivanja',
'checkingEnvironment': 'Provera okruženja...', 'checkingEnvironment': 'Provera okruženja...',
'ensureHeadsetOnAndPairingMode': 'ensureHeadsetOnAndPairingMode': 'Uverite se da su slušalice uključene i u režimu uparivanja',
'Uverite se da su slušalice uključene i u režimu uparivanja',
//'goToBluetoothSettings': '前往蓝牙设置', //'goToBluetoothSettings': '前往蓝牙设置',
//'verifyingDevice': '正在验证设备...', //'verifyingDevice': '正在验证设备...',
//'confirmBinding': '确认绑定', //'confirmBinding': '确认绑定',
//'associatingDevice': '正在关联设备...', //'associatingDevice': '正在关联设备...',
'establishingSecureConnection': 'Uspostavljanje bezbedne veze...', 'establishingSecureConnection': 'Uspostavljanje bezbedne veze...',
'needManualBindingAuthCode': 'needManualBindingAuthCode': 'Potreban je kod za autorizaciju ručnog povezivanja...',
'Potreban je kod za autorizaciju ručnog povezivanja...',
'pairingSuccessful': 'Uparivanje uspešno!', 'pairingSuccessful': 'Uparivanje uspešno!',
'enableBluetooth': 'Omogući Bluetooth', 'enableBluetooth': 'Omogući Bluetooth',
'grantPermissions': 'Daj dozvole', 'grantPermissions': 'Daj dozvole',
@ -1397,45 +1288,35 @@ const Map<String, String> srRS = {
'verificationFailedRetry': 'Neuspešna verifikacija, pokušajte ponovo', 'verificationFailedRetry': 'Neuspešna verifikacija, pokušajte ponovo',
'invalidDeviceAddress': 'Nevažeća adresa uređaja', 'invalidDeviceAddress': 'Nevažeća adresa uređaja',
'bleDeviceAssociationFailed': 'Neuspešno povezivanje BLE uređaja', 'bleDeviceAssociationFailed': 'Neuspešno povezivanje BLE uređaja',
'deviceAssociationFailedRetry': 'deviceAssociationFailedRetry': 'Neuspešno povezivanje uređaja, pokušajte ponovo',
'Neuspešno povezivanje uređaja, pokušajte ponovo',
'bleConnectionTimeoutRetry': 'Isteklo vreme za BLE vezu, pokušajte ponovo', 'bleConnectionTimeoutRetry': 'Isteklo vreme za BLE vezu, pokušajte ponovo',
'blePairingStartupFailed': 'Neuspešno pokretanje BLE uparivanja', 'blePairingStartupFailed': 'Neuspešno pokretanje BLE uparivanja',
'bleConnectionFailed': 'Neuspešna BLE veza', 'bleConnectionFailed': 'Neuspešna BLE veza',
'deviceAuthorizationFailedCheckCode': 'deviceAuthorizationFailedCheckCode': 'Neuspešna autorizacija uređaja, proverite autorizacioni kod',
'Neuspešna autorizacija uređaja, proverite autorizacioni kod',
///iOS蓝牙引导窗 ///iOS蓝牙引导窗
'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙 'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙
'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作: 'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作:
'bluetoothGuideStep1': 'bluetoothGuideStep1': 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启
'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启 'bluetoothGuideStep2': 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接
'bluetoothGuideStep2': 'bluetoothGuideStep3': 'Return to app to continue pairing process', // 返回应用继续配对流程
'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接 'bluetoothGuideTip': 'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'bluetoothGuideStep3':
'Return to app to continue pairing process', // 返回应用继续配对流程
'bluetoothGuideTip':
'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'iKnow': 'I Know', // 我知道了 'iKnow': 'I Know', // 我知道了
//用户反馈页 //用户反馈页
"feedback": "Povratne informacije korisnika", "feedback": "Povratne informacije korisnika",
'feedbackInfo': 'Dajte povratne informacije ili predloge', 'feedbackInfo': 'Dajte povratne informacije ili predloge',
'feedbackDescription': 'feedbackDescription': 'Opišite problem sa kojim ste se suočili ili svoj predlog',
'Opišite problem sa kojim ste se suočili ili svoj predlog',
'feedbackHint': 'Unesite svoje povratne informacije...', 'feedbackHint': 'Unesite svoje povratne informacije...',
'feedbackRequired': 'Unesite sadržaj povratnih informacija', 'feedbackRequired': 'Unesite sadržaj povratnih informacija',
'contactInfo': 'Kontakt informacije', 'contactInfo': 'Kontakt informacije',
'contactHint': 'E-pošta/Telefon, da bismo vas mogli kontaktirati', 'contactHint': 'E-pošta/Telefon, da bismo vas mogli kontaktirati',
'submit': 'Pošalji', 'submit': 'Pošalji',
'feedbackSubmitSuccess': 'feedbackSubmitSuccess': 'Povratne informacije su uspešno poslate, hvala vam!',
'Povratne informacije su uspešno poslate, hvala vam!', 'feedbackSubmitFailed': 'Neuspešno slanje povratnih informacija, pokušajte ponovo kasnije',
'feedbackSubmitFailed':
'Neuspešno slanje povratnih informacija, pokušajte ponovo kasnije',
// OTA升级模块 // OTA升级模块
"upgradeExitConfirm": "upgradeExitConfirm": "Nadogradnja je u toku, izlazak će prekinuti proces, da li ste sigurni da želite da izađete?",
"Nadogradnja je u toku, izlazak će prekinuti proces, da li ste sigurni da želite da izađete?",
"deviceModel": "Model uređaja", "deviceModel": "Model uređaja",
"unknownDevice": "Nepoznat uređaj", "unknownDevice": "Nepoznat uređaj",
"currentFirmwareVersion": "Trenutna verzija firmvera", "currentFirmwareVersion": "Trenutna verzija firmvera",
@ -1448,18 +1329,14 @@ const Map<String, String> srRS = {
"retryConnection": "Pokušaj ponovo povezivanje", "retryConnection": "Pokušaj ponovo povezivanje",
"ota_updateNow": "Ažuriraj sada", "ota_updateNow": "Ažuriraj sada",
"otaVersionInfoFailed": "Failed to get version info. Please try again later.", "otaVersionInfoFailed": "Failed to get version info. Please try again later.",
"otaDeviceInfoUnavailable": "otaDeviceInfoUnavailable": "Unable to get device info. Please check the connection and retry.",
"Unable to get device info. Please check the connection and retry.", "otaProductInfoUnavailable": "Unable to identify the device. Please reconnect and retry.",
"otaProductInfoUnavailable": "otaFirmwareVersionInvalid": "Firmware version is abnormal. Please reconnect and retry.",
"Unable to identify the device. Please reconnect and retry.",
"otaFirmwareVersionInvalid":
"Firmware version is abnormal. Please reconnect and retry.",
"keepConnectedDontClose": "Držite uređaj povezanim, ne zatvarajte aplikaciju", "keepConnectedDontClose": "Držite uređaj povezanim, ne zatvarajte aplikaciju",
"doNotDisconnect": "Ne prekidajte vezu", "doNotDisconnect": "Ne prekidajte vezu",
"charging": "Punjenje", "charging": "Punjenje",
"updateContent": "Sadržaj ažuriranja", "updateContent": "Sadržaj ažuriranja",
"removeEarbudsEnsureBattery": "removeEarbudsEnsureBattery": "Izvadite obe slušalice i uverite se da je baterija obe iznad 20%",
"Izvadite obe slušalice i uverite se da je baterija obe iznad 20%",
// 音乐列表页面 // 音乐列表页面
"noMusic": "Nema muzike", // 暂无音乐 "noMusic": "Nema muzike", // 暂无音乐
@ -1469,9 +1346,9 @@ const Map<String, String> srRS = {
"playAll": "Reprodukuj sve", // 播放全部 "playAll": "Reprodukuj sve", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Kineski (pojednostavljeni)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Kineski (tradicionalni)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Kineski (hongkonški tradicionalni)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "Engleski", "英语": "Engleski",
"日语": "Japanski", "日语": "Japanski",
"韩语": "Korejski", "韩语": "Korejski",
@ -1521,10 +1398,8 @@ const Map<String, String> srRS = {
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc": "Insufficient balance, please go to the corresponding recharge page to recharge.",
'Insufficient balance, please go to the corresponding recharge page to recharge.', "recharge": "Go to Recharge",
"recharge": 'Go to Recharge',
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc": "AI membership expired, please go to the membership recharge page to renew.",
'AI membership expired, please go to the membership recharge page to renew.',
}; };

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

@ -72,8 +72,7 @@ const Map<String, String> svSE = {
// 登录页 // 登录页
"welcome": "Välkommen", "welcome": "Välkommen",
"loginTips": "loginTips": "Logga in eller registrera dig med ditt telefonnummer eller din e-postadress",
"Logga in eller registrera dig med ditt telefonnummer eller din e-postadress",
"accountNumber": "Telefonnummer eller e-post", "accountNumber": "Telefonnummer eller e-post",
"verificationCode": "Verifieringskod", "verificationCode": "Verifieringskod",
"getCode": "Hämta kod", "getCode": "Hämta kod",
@ -92,8 +91,7 @@ const Map<String, String> svSE = {
"tip": "Tips", "tip": "Tips",
"pleaseEnterCompleteCode": "Ange hela verifieringskoden", "pleaseEnterCompleteCode": "Ange hela verifieringskoden",
"loginFailed": "Inloggning misslyckades, försök igen", "loginFailed": "Inloggning misslyckades, försök igen",
'pleaseAcceptPrivacyPolicy': 'pleaseAcceptPrivacyPolicy': 'Läs och godkänn integritetspolicyn och användaravtalet först',
'Läs och godkänn integritetspolicyn och användaravtalet först',
"enterVerificationCode": "Ange verifieringskod", "enterVerificationCode": "Ange verifieringskod",
"verificationCodeSentTo": "Verifieringskod har skickats till", "verificationCodeSentTo": "Verifieringskod har skickats till",
"resendVerificationCode": "Skicka verifieringskod igen", "resendVerificationCode": "Skicka verifieringskod igen",
@ -102,12 +100,11 @@ const Map<String, String> svSE = {
// 隐私政策弹窗 // 隐私政策弹窗
"loginDeclaration": "Voitrans-deklaration", // Voitrans 声明 "loginDeclaration": "Voitrans-deklaration", // Voitrans 声明
"welcomeToThisApp": "welcomeToThisApp": "Välkommen till Voitrans, vänligen läs noggrant", // 欢迎使用Voitrans,请充分阅读
"Välkommen till Voitrans, vänligen läs noggrant", // 欢迎使用Voitrans,请充分阅读
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", genom att klicka på 'Godkänn och gå in' bekräftar du att du har läst och godkänt ovanstående avtal. Att klicka på 'Godkänner inte' kommer att avsluta applikationen.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Godkänner inte", // 不同意 "disagree": "Godkänner inte", // 不同意
"agreeAndEnter": "Godkänn och gå in", // 同意并进入 "agreeAndEnter": "Godkänn och gå in", // 同意并进入
@ -119,29 +116,24 @@ const Map<String, String> svSE = {
"signal": "Signal", "signal": "Signal",
"deviceId": "Enhets-ID", "deviceId": "Enhets-ID",
"firmwareVersion": "Firmware-version", "firmwareVersion": "Firmware-version",
"disconnectedDevice": "disconnectedDevice": "Ingen enhet ansluten, klicka på knappen nedan för att ansluta",
"Ingen enhet ansluten, klicka på knappen nedan för att ansluta",
"connectDevice": "Anslut enhet", "connectDevice": "Anslut enhet",
"topAiExperiences": "Topp AI-upplevelser", "topAiExperiences": "Topp AI-upplevelser",
"aiAssistant": "AI Allround-assistent", "aiAssistant": "AI Allround-assistent",
"aiAssistantInfo": "Exklusiv konsult dygnet runt, svarar på frågor, ger råd", "aiAssistantInfo": "Exklusiv konsult dygnet runt, svarar på frågor, ger råd",
"interpretation": "Simultantolkning", "interpretation": "Simultantolkning",
"simultaneousInterpretationInfo": "simultaneousInterpretationInfo": "Realtidsöversättning för över 80 språk, bekymmersfria utlandsresor",
"Realtidsöversättning för över 80 språk, bekymmersfria utlandsresor",
"aiCompanion": "Familjekamrat", "aiCompanion": "Familjekamrat",
"aiCompanionInfo": "Förstår dig, varmt sällskap", "aiCompanionInfo": "Förstår dig, varmt sällskap",
"homeSlogan": "Anslut världen, bortom ljudet", "homeSlogan": "Anslut världen, bortom ljudet",
"turnEarphones": "turnEarphones": "Öppna laddningsfodralet för hörlurarna och placera hörlurarna i dina öron",
"Öppna laddningsfodralet för hörlurarna och placera hörlurarna i dina öron",
"currentlyConnected": "För närvarande ansluten:", "currentlyConnected": "För närvarande ansluten:",
"unsystemSetup": "Gå till systeminställningar", "unsystemSetup": "Gå till systeminställningar",
"talkLater": "Senare", "talkLater": "Senare",
"initializing": "Initierar...", "initializing": "Initierar...",
"bluetoothInitializationFailure": "bluetoothInitializationFailure": "Initiering av Bluetooth-tjänst misslyckades",
"Initiering av Bluetooth-tjänst misslyckades",
"checkingPermissions": "Kontrollerar behörigheter...", "checkingPermissions": "Kontrollerar behörigheter...",
"lackPermissions": "lackPermissions": "Saknar Bluetooth-behörigheter och kräver att du tillåter åtkomst till plats",
"Saknar Bluetooth-behörigheter och kräver att du tillåter åtkomst till plats",
"searchingDevice": "Söker efter enheter...", "searchingDevice": "Söker efter enheter...",
"findConnectedDevice": "Hittade ansluten enhet", "findConnectedDevice": "Hittade ansluten enhet",
"notFound": "Ingen ansluten Bluetooth-enhet hittades", "notFound": "Ingen ansluten Bluetooth-enhet hittades",
@ -184,8 +176,7 @@ const Map<String, String> svSE = {
"healthConsultant": "Mångfunktionell AI-chatt", "healthConsultant": "Mångfunktionell AI-chatt",
"healthConsultantInfo": "Erbjuder fler AI-chattfunktioner", "healthConsultantInfo": "Erbjuder fler AI-chattfunktioner",
"conferenceAssistant": "Affärsmötesassistent", "conferenceAssistant": "Affärsmötesassistent",
"conferenceAssistantInfo": "conferenceAssistantInfo": "Realtidsinspelning av mötesprotokoll, flerspråkig översättning",
"Realtidsinspelning av mötesprotokoll, flerspråkig översättning",
"usageStats": "Användningsstatistik", "usageStats": "Användningsstatistik",
"usageStatsInfo": "Visa din användningsstatistik", "usageStatsInfo": "Visa din användningsstatistik",
"scene": "Scenario", "scene": "Scenario",
@ -228,8 +219,7 @@ const Map<String, String> svSE = {
"transcriptBytes": "Transcript Bytes", "transcriptBytes": "Transcript Bytes",
// 通知文案 // 通知文案
"loadFailed": "Load Failed", "loadFailed": "Load Failed",
"statsLoadFailedTryLater": "statsLoadFailedTryLater": "Statistics failed to load. Please try again later.",
"Statistics failed to load. Please try again later.",
"cleanupComplete": "Cleanup Complete", "cleanupComplete": "Cleanup Complete",
"cleanedOldData": "Cleaned data older than 90 days", "cleanedOldData": "Cleaned data older than 90 days",
"exportFeature": "Export Feature", "exportFeature": "Export Feature",
@ -285,10 +275,8 @@ const Map<String, String> svSE = {
'copyrightVoitrans': '© 2025 Voitrans Technologies', 'copyrightVoitrans': '© 2025 Voitrans Technologies',
// 会议商品页描述 // 会议商品页描述
'meetingHeaderDesc1': 'meetingHeaderDesc1': 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'meetingHeaderDesc2': 'Suitable for business meetings, class notes, and interview minutes.',
'meetingHeaderDesc2':
'Suitable for business meetings, class notes, and interview minutes.',
'meetingAutoRecording': 'Auto recording and segmentation', 'meetingAutoRecording': 'Auto recording and segmentation',
'meetingSpeakerTagging': 'Speaker labeling', 'meetingSpeakerTagging': 'Speaker labeling',
'meetingLongAudioTranscription': 'Long audio transcription', 'meetingLongAudioTranscription': 'Long audio transcription',
@ -297,35 +285,27 @@ const Map<String, String> svSE = {
'meetingTimelineJump': 'Timeline jump', 'meetingTimelineJump': 'Timeline jump',
'meetingExportSummary': 'Export minutes', 'meetingExportSummary': 'Export minutes',
'meetingMultiPlatformShare': 'Share across platforms', 'meetingMultiPlatformShare': 'Share across platforms',
'meetingDisclaimer': 'meetingDisclaimer': 'Use in quiet environments; performance depends on microphone and network.',
'Use in quiet environments; performance depends on microphone and network.',
// 同传/翻译商品页描述 // 同传/翻译商品页描述
'transHeaderDesc1': 'transHeaderDesc1': 'Real-time simultaneous interpretation and text translation with low-latency voice.',
'Real-time simultaneous interpretation and text translation with low-latency voice.',
'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.', 'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
'translateZhEn': 'Chinese-English translation', 'translateZhEn': 'Chinese-English translation',
'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast', 'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast',
'multiLangTextTranslation': 'Multilingual text translation', 'multiLangTextTranslation': 'Multilingual text translation',
'termOptimizationContextPreserve': 'termOptimizationContextPreserve': 'Terminology optimization and context preservation',
'Terminology optimization and context preservation',
'lexiconTourBusinessLife': 'Travel/Business/Life lexicons', 'lexiconTourBusinessLife': 'Travel/Business/Life lexicons',
'personalVocabularyMemory': 'Personal vocabulary memory', 'personalVocabularyMemory': 'Personal vocabulary memory',
'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode', 'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode',
'colorHighContrast': 'High color contrast', 'colorHighContrast': 'High color contrast',
'transDisclaimer': 'transDisclaimer': 'Translation performance depends on microphone, network latency, and ambient noise.',
'Translation performance depends on microphone, network latency, and ambient noise.',
// AI 商品页描述 // AI 商品页描述
'aiHeaderDesc1': 'aiHeaderDesc1': 'Longer conversation quota, more tool calls, extended context length.',
'Longer conversation quota, more tool calls, extended context length.', 'aiHeaderDesc2': 'Suitable for agent Q&A, summarization, analysis, and task execution.',
'aiHeaderDesc2':
'Suitable for agent Q&A, summarization, analysis, and task execution.',
'musicSearchPlaybackControl': 'Music library search and playback control', 'musicSearchPlaybackControl': 'Music library search and playback control',
'smartPlaylistAndSimilarRecommendations': 'smartPlaylistAndSimilarRecommendations': 'Smart playlist and similar song recommendations',
'Smart playlist and similar song recommendations', 'routePlanningAndCongestionAvoidance': 'Route planning and congestion avoidance',
'routePlanningAndCongestionAvoidance':
'Route planning and congestion avoidance',
'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings', 'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings',
'realTimeWeatherForecast': 'Real-time weather and forecast', 'realTimeWeatherForecast': 'Real-time weather and forecast',
'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders', 'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders',
@ -334,10 +314,8 @@ const Map<String, String> svSE = {
'hotNewsAndTopicOverview': 'Hot news and topic overview', 'hotNewsAndTopicOverview': 'Hot news and topic overview',
'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points', 'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points',
'helpCallAndSMS': 'Help with calls and SMS', 'helpCallAndSMS': 'Help with calls and SMS',
'templatedMessagesAndScheduleReminders': 'templatedMessagesAndScheduleReminders': 'Template messages and schedule reminders',
'Template messages and schedule reminders', 'aiDisclaimer': 'Features depend on device permissions, service availability, and network conditions.',
'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.',
// 会员商品页 // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
@ -352,11 +330,10 @@ const Map<String, String> svSE = {
'generalPrivileges': 'General privileges', 'generalPrivileges': 'General privileges',
'earlyAccessNewFeatures': 'Early access to new features', 'earlyAccessNewFeatures': 'Early access to new features',
'crossDeviceSync': 'Cross-device sync', 'crossDeviceSync': 'Cross-device sync',
'vipDisclaimer': 'vipDisclaimer': 'Actual benefits depend on the package details and may change with versions.',
'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Hoppa över", 'skip': 'Hoppa över',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -379,8 +356,7 @@ const Map<String, String> svSE = {
'guideNavInput': 'Navigate to Shenzhen Airport', 'guideNavInput': 'Navigate to Shenzhen Airport',
'guideNavSend': 'Lily will plan the route', 'guideNavSend': 'Lily will plan the route',
'guideNavEnd': 'Navigation set—try other commands', 'guideNavEnd': 'Navigation set—try other commands',
'guideMeetingStart': 'guideMeetingStart': 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow', 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
'guideMeetingSend': 'Lily will create a meeting reminder', 'guideMeetingSend': 'Lily will create a meeting reminder',
'guideMeetingEnd': 'Reminder created—try other commands', 'guideMeetingEnd': 'Reminder created—try other commands',
@ -430,8 +406,7 @@ const Map<String, String> svSE = {
'downloadingFiles': 'Downloading files...', 'downloadingFiles': 'Downloading files...',
'downloadingFileProgress': 'Total {total} files, downloading file {current}', 'downloadingFileProgress': 'Total {total} files, downloading file {current}',
'downloadComplete': 'Download complete', 'downloadComplete': 'Download complete',
'downloadCompleteInfo': 'downloadCompleteInfo': 'Download complete, {count} files in total, returning automatically in 2 seconds',
'Download complete, {count} files in total, returning automatically in 2 seconds',
// Meeting模块 - 录音功能 // Meeting模块 - 录音功能
'startRecording': 'Start Recording', 'startRecording': 'Start Recording',
@ -439,6 +414,23 @@ const Map<String, String> svSE = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Avsluta inspelning', // 退出录音
'meetingRecordExitMessage': 'Välj en åtgärd efter att ha lämnat', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Avsluta och spara', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Avsluta utan att spara', // 结束录音不保存
'meetingRecordContinueInBackground': 'Fortsätt spela in i bakgrunden', // 后台继续录音
'meetingRecordStopTimeout': 'Tidsgräns för att stoppa inspelning, försök igen', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Misslyckades med att stoppa inspelningen, försök igen', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Misslyckades med att spara inspelningen, försök igen', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Inspelning pågår', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Spelar in i bakgrunden, tryck för att återgå', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Behörighet för flytande fönster', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'För att visa översättningsresultat under samtal eller vid ljud-/videöversättning behöver vi behörigheten för flytande fönster. Det gör att du kan se översättningar i realtid när du använder andra appar.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'För att visa den flytande inspelningsraden (timer/paus/fortsätt) under inspelning behöver vi behörigheten för flytande fönster.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Det gick inte att öppna systeminställningarna automatiskt. Öppna Inställningar och aktivera behörigheten för flytande fönster manuellt.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -486,54 +478,40 @@ const Map<String, String> svSE = {
'audioImport': 'Audio Import', 'audioImport': 'Audio Import',
'multipleExportFormats': 'Multiple Export Formats', 'multipleExportFormats': 'Multiple Export Formats',
'professionalSummaryTemplates': 'Professional Summary Templates', 'professionalSummaryTemplates': 'Professional Summary Templates',
'professionalTemplateDesc': 'professionalTemplateDesc': 'Professional template design to improve your work efficiency. Customized according to industry needs.',
'Professional template design to improve your work efficiency. Customized according to industry needs.', 'customTemplateDesc': 'You can customize summary prompts according to your needs and use them to generate the required summaries.',
'customTemplateDesc': 'askAiDesc': 'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.',
'You can customize summary prompts according to your needs and use them to generate the required summaries.', 'visualMindMapDesc': 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.',
'askAiDesc': 'templateCommunityDesc': 'Discover, share, and get inspiration from the template library created by users.',
'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.', 'speakerIdentificationDesc': 'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'visualMindMapDesc': 'privateCloudSyncDesc': 'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.', 'aiVoiceEnhancementDesc': 'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'templateCommunityDesc': 'audioImportDesc': 'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'Discover, share, and get inspiration from the template library created by users.', 'multipleExportFormatsDesc': 'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
'speakerIdentificationDesc':
'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'privateCloudSyncDesc':
'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'aiVoiceEnhancementDesc':
'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'audioImportDesc':
'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'multipleExportFormatsDesc':
'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
// Meeting模块 - 升级会员 // Meeting模块 - 升级会员
'upgradeMembership': 'Upgrade Your Membership', 'upgradeMembership': 'Upgrade Your Membership',
'yearlySubscription': 'Yearly Subscription', 'yearlySubscription': 'Yearly Subscription',
'monthlySubscription': 'Monthly Subscription', 'monthlySubscription': 'Monthly Subscription',
'proMonthly': 'Pro ¥60/month', 'proMonthly': 'Pro ¥60/month',
'proMonthlyDesc': 'proMonthlyDesc': '7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'sevenDayTrial': '7-day Free Trial', 'sevenDayTrial': '7-day Free Trial',
'unlimitedMonthly': 'Unlimited ¥120/month', 'unlimitedMonthly': 'Unlimited ¥120/month',
'unlimitedMonthlyDesc': 'unlimitedMonthlyDesc': '7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.', 'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.',
'proPrice': 'Pro ¥120', 'proPrice': 'Pro ¥120',
'proMonthlyPrice': '¥120/month', 'proMonthlyPrice': '¥120/month',
'subscribe': 'Subscribe', 'subscribe': 'Subscribe',
'unlimitedPrice': 'Unlimited ¥198', 'unlimitedPrice': 'Unlimited ¥198',
'unlimitedMonthlyPrice': '¥198/month', 'unlimitedMonthlyPrice': '¥198/month',
'upgradeNote': 'upgradeNote': '*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'buyMoreTranscriptionTime': 'Buy More Transcription Time', 'buyMoreTranscriptionTime': 'Buy More Transcription Time',
'sixThousandMinutes': '6,000 minutes', 'sixThousandMinutes': '6,000 minutes',
'threeThousandMinutes': '3,000 minutes', 'threeThousandMinutes': '3,000 minutes',
'sixHundredMinutes': '600 minutes', 'sixHundredMinutes': '600 minutes',
'oneHundredTwentyMinutes': '120 minutes', 'oneHundredTwentyMinutes': '120 minutes',
'validityPeriod': '*Validity Period: ', 'validityPeriod': '*Validity Period: ',
'validityNote': 'validityNote': 'Activated immediately after purchase, valid for 2 years after activation.',
'Activated immediately after purchase, valid for 2 years after activation.',
'purchase': 'Purchase', 'purchase': 'Purchase',
// Meeting模块 - 模版和生成 // Meeting模块 - 模版和生成
@ -545,8 +523,7 @@ const Map<String, String> svSE = {
'chineseSimplified': 'Chinese Mandarin (Simplified)', 'chineseSimplified': 'Chinese Mandarin (Simplified)',
'meetingGenerateNow': 'Generate Now', 'meetingGenerateNow': 'Generate Now',
'keyEventsAnalyzed': 'Analyzed {count} key events.', 'keyEventsAnalyzed': 'Analyzed {count} key events.',
'aiAnalysisDesc': 'aiAnalysisDesc': 'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
// Meeting模块 - 文件操作和状态 // Meeting模块 - 文件操作和状态
'importing': 'Importing...', 'importing': 'Importing...',
@ -566,10 +543,9 @@ const Map<String, String> svSE = {
// 权限相关 - Meeting相关 // 权限相关 - Meeting相关
'meetingStoragePermission': 'Storage', 'meetingStoragePermission': 'Storage',
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation': 'We need access to storage permissions so you can select and upload audio files.',
'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -613,19 +589,17 @@ const Map<String, String> svSE = {
// Meeting模块 - 发言者相关 // Meeting模块 - 发言者相关
'applyToAllParagraphs': 'Använd på alla stycken för denna talare', 'applyToAllParagraphs': 'Använd på alla stycken för denna talare',
'summaryWillBeUpdatedAutomatically': 'summaryWillBeUpdatedAutomatically': 'Sammanfattningen uppdateras automatiskt baserat på mallen',
'Sammanfattningen uppdateras automatiskt baserat på mallen',
'nameCurrentSpeaker': 'Name Current Speaker', 'nameCurrentSpeaker': 'Name Current Speaker',
'recentlyUsedNames': 'Recently Used Names', 'recentlyUsedNames': 'Recently Used Names',
'applyToCurrentParagraph': 'Apply to Current Paragraph', 'applyToCurrentParagraph': 'Apply to Current Paragraph',
'totalTime': 'Total Time', 'totalTime': 'Total Time',
'summarySpeakerWillBeUpdatedAutomatically': 'summarySpeakerWillBeUpdatedAutomatically': 'Summary speakers will be updated automatically',
'Summary speakers will be updated automatically',
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -645,8 +619,7 @@ const Map<String, String> svSE = {
"cloudSync": "Molnsynkronisering", "cloudSync": "Molnsynkronisering",
"memberService": "Member Service", "memberService": "Member Service",
"bindRewardTitle": "Rewards", "bindRewardTitle": "Rewards",
"bindRewardSimpleDesc": "bindRewardSimpleDesc": "First bind device reward has been issued. Tap OK to close.",
"First bind device reward has been issued. Tap OK to close.",
"joinDevice": "Ansluten enhet:", "joinDevice": "Ansluten enhet:",
"accountId": "Konto-ID:", "accountId": "Konto-ID:",
"systemSetting": "Systeminställning", "systemSetting": "Systeminställning",
@ -659,8 +632,7 @@ const Map<String, String> svSE = {
"privacySettings": "Integritetsinställningar", "privacySettings": "Integritetsinställningar",
"privacySettingsInfo": "Hantera datainsamling och behörigheter", "privacySettingsInfo": "Hantera datainsamling och behörigheter",
"permissionManagement": "Behörighetshantering", // 权限管理 "permissionManagement": "Behörighetshantering", // 权限管理
"permissionManagementInfo": "permissionManagementInfo": "Hantera inställningar för appbehörigheter", // 管理应用权限设置
"Hantera inställningar för appbehörigheter", // 管理应用权限设置
"aboutApplication": "Om appen", "aboutApplication": "Om appen",
"versions": "Version", "versions": "Version",
"checkUpdates": "Sök efter uppdateringar", "checkUpdates": "Sök efter uppdateringar",
@ -669,11 +641,9 @@ const Map<String, String> svSE = {
"voiceServiceInfo": "Välj röstigenkännings- och syntestjänst", "voiceServiceInfo": "Välj röstigenkännings- och syntestjänst",
"selectVoiceService": "Välj rösttjänst", "selectVoiceService": "Välj rösttjänst",
"azureVoiceService": "Azure Rösttjänst", "azureVoiceService": "Azure Rösttjänst",
"azureVoiceServiceInfo": "azureVoiceServiceInfo": "Microsofts molnbaserade rösttjänst, stöder högkvalitativ röstsyntes och igenkänning",
"Microsofts molnbaserade rösttjänst, stöder högkvalitativ röstsyntes och igenkänning",
"flutterVoiceService": "Flutter Lokal Rösttjänst", "flutterVoiceService": "Flutter Lokal Rösttjänst",
"flutterVoiceServiceInfo": "flutterVoiceServiceInfo": "Enhetens lokala rösttjänst, kan användas utan internetanslutning",
"Enhetens lokala rösttjänst, kan användas utan internetanslutning",
'timbreService': 'Klangtjänst', 'timbreService': 'Klangtjänst',
'timbreServiceInfo': 'Välj klangtjänst för röstsyntes', 'timbreServiceInfo': 'Välj klangtjänst för röstsyntes',
'defaultTimbre': 'Standardklang', 'defaultTimbre': 'Standardklang',
@ -702,8 +672,7 @@ const Map<String, String> svSE = {
// 设置页面 - 实时语音对话 // 设置页面 - 实时语音对话
"realtimeVoiceChat": "Realtids röstchatt", "realtimeVoiceChat": "Realtids röstchatt",
"realtimeVoiceChatInfo": "realtimeVoiceChatInfo": "Upplev intelligent röstinteraktionsfunktion (funktionsförhandsvisning)",
"Upplev intelligent röstinteraktionsfunktion (funktionsförhandsvisning)",
"loading": "Laddar...", "loading": "Laddar...",
//设备管理页面 //设备管理页面
@ -718,8 +687,7 @@ const Map<String, String> svSE = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -767,22 +735,18 @@ const Map<String, String> svSE = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'Hej! Jag är **Lily**, jag kan hjälpa dig med:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• Svara på frågor och ge information\n\n' '• 回答问题和提供信息\n\n'
'• Realtids röstöversättning\n\n' '• 实时语音翻译\n\n'
'• Rekommendera musik och poddar\n\n' '• 推荐音乐和播客\n\n'
'• Röstmemon och påminnelser\n\n' '• 语音备忘录和提醒\n\n'
'• Kontrollera hörlursfunktioner\n\n' '• 控制耳机功能\n\n'
'Hur kan jag hjälpa dig?', '有什么我可以帮你的吗?',
'microphonePermission': 'Mikrofon', 'microphonePermission': 'Mikrofon',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText': 'Röstigenkänning kräver åtkomst till mikrofonen.',
'Röstigenkänning kräver åtkomst till mikrofonen.', 'voiceTranslationPermissionText': 'Röstigenkänning och översättning kräver åtkomst till mikrofonen.',
'voiceTranslationPermissionText': 'phoneCallPermissionText': 'Att ringa samtal kräver åtkomst till mikrofonen för röstsamtal.',
'Röstigenkänning och översättning kräver åtkomst till mikrofonen.', 'permissionDeniedText': 'Du har permanent nekat åtkomst till mikrofonen, vänligen gå till systeminställningarna för att aktivera behörigheten.',
'phoneCallPermissionText':
'Att ringa samtal kräver åtkomst till mikrofonen för röstsamtal.',
'permissionDeniedText':
'Du har permanent nekat åtkomst till mikrofonen, vänligen gå till systeminställningarna för att aktivera behörigheten.',
'startVoiceInput': 'Starta röstinmatning', 'startVoiceInput': 'Starta röstinmatning',
'startPhoneCallMode': 'Starta samtalsläge, starta röstinmatning', 'startPhoneCallMode': 'Starta samtalsläge, starta röstinmatning',
@ -805,8 +769,7 @@ const Map<String, String> svSE = {
'privacyRelated': 'Integritetsrelaterat', 'privacyRelated': 'Integritetsrelaterat',
'copyrightViolation': 'Inkräktar på min upphovsrätt, anseende, etc.', 'copyrightViolation': 'Inkräktar på min upphovsrätt, anseende, etc.',
'other': 'Annat', 'other': 'Annat',
'reportDescriptionHint': 'reportDescriptionHint': 'Vi vill veta varför du anmäler, du kan beskriva problemet du stött på.',
'Vi vill veta varför du anmäler, du kan beskriva problemet du stött på.',
//'submit': '提交', //'submit': '提交',
//Message_bubble //Message_bubble
@ -837,24 +800,15 @@ const Map<String, String> svSE = {
'highest': 'Högsta', 'highest': 'Högsta',
'lowest': 'Lägsta', 'lowest': 'Lägsta',
'futureForecast': 'Framtida prognos', 'futureForecast': 'Framtida prognos',
'hotWeatherTip': 'hotWeatherTip': 'Idag är det varmt, var försiktig med värmeslag och drick mycket vatten',
'Idag är det varmt, var försiktig med värmeslag och drick mycket vatten', 'coldWeatherTip': 'Idag är temperaturen låg, klä dig varmt när du går ut för att undvika förkylning',
'coldWeatherTip': 'rainyWeatherTip': 'Idag regnar det, ta med ett paraply när du går ut och var försiktig',
'Idag är temperaturen låg, klä dig varmt när du går ut för att undvika förkylning', 'snowyWeatherTip': 'Idag snöar det, vägen är hal, var försiktig och klä dig varmt',
'rainyWeatherTip': 'foggyWeatherTip': 'Idag är det dimmigt, sikten är låg, använd en mask när du går ut',
'Idag regnar det, ta med ett paraply när du går ut och var försiktig', 'windyWeatherTip': 'Idag blåser det mycket, var försiktig när du går ut och säkra dina tillhörigheter',
'snowyWeatherTip': 'sunnyWeatherTip': 'Idag är det soligt och stark UV-strålning, använd solskydd när du går ut',
'Idag snöar det, vägen är hal, var försiktig och klä dig varmt', 'temperatureDifferenceTip': 'Idag är det stor temperaturskillnad mellan dag och natt, anpassa kläderna därefter',
'foggyWeatherTip': 'comfortableWeatherTip': 'Idag är vädret behagligt, en bra tid för utomhusaktiviteter',
'Idag är det dimmigt, sikten är låg, använd en mask när du går ut',
'windyWeatherTip':
'Idag blåser det mycket, var försiktig när du går ut och säkra dina tillhörigheter',
'sunnyWeatherTip':
'Idag är det soligt och stark UV-strålning, använd solskydd när du går ut',
'temperatureDifferenceTip':
'Idag är det stor temperaturskillnad mellan dag och natt, anpassa kläderna därefter',
'comfortableWeatherTip':
'Idag är vädret behagligt, en bra tid för utomhusaktiviteter',
"monday": "Mån", "monday": "Mån",
"tuesday": "Tis", "tuesday": "Tis",
"wednesday": "Ons", "wednesday": "Ons",
@ -904,31 +858,23 @@ const Map<String, String> svSE = {
"notSet": "Inte inställt", "notSet": "Inte inställt",
"accountSetting": "Kontoinställningar", "accountSetting": "Kontoinställningar",
"logout": "Logga ut", "logout": "Logga ut",
"logoutTips": "logoutTips": "Är du säker på att du vill logga ut från det nuvarande kontot?",
"Är du säker på att du vill logga ut från det nuvarande kontot?",
'deleteAccount': 'Ta bort konto', 'deleteAccount': 'Ta bort konto',
'deleteAccountTips': 'deleteAccountTips': 'Är du säker på att du vill ta bort ditt konto permanent? Denna åtgärd kan inte ångras',
'Är du säker på att du vill ta bort ditt konto permanent? Denna åtgärd kan inte ångras',
'clean': 'Clear Cache', 'clean': 'Clear Cache',
'cleanTips': 'Are you sure you want to clear personal cache?', 'cleanTips': 'Are you sure you want to clear personal cache?',
// Profile 错误信息 // Profile 错误信息
'networkConnectionFailed': 'networkConnectionFailed': 'Nätverksanslutning misslyckades, kontrollera dina nätverksinställningar och försök igen',
'Nätverksanslutning misslyckades, kontrollera dina nätverksinställningar och försök igen', 'serverTemporarilyUnavailable': 'Servern är tillfälligt otillgänglig, försök igen senare',
'serverTemporarilyUnavailable': 'loginExpiredPleaseRelogin': 'Din session har gått ut, vänligen logga in igen',
'Servern är tillfälligt otillgänglig, försök igen senare', 'noPermissionForThisOperation': 'Du har inte behörighet att utföra denna åtgärd',
'loginExpiredPleaseRelogin':
'Din session har gått ut, vänligen logga in igen',
'noPermissionForThisOperation':
'Du har inte behörighet att utföra denna åtgärd',
'requestedResourceNotFound': 'Den begärda resursen hittades inte', 'requestedResourceNotFound': 'Den begärda resursen hittades inte',
'imageProcessingFailedPleaseReselect': 'imageProcessingFailedPleaseReselect': 'Bildbehandling misslyckades, välj en annan bild',
'Bildbehandling misslyckades, välj en annan bild',
'operationFailedPleaseRetry': 'Åtgärden misslyckades, försök igen', 'operationFailedPleaseRetry': 'Åtgärden misslyckades, försök igen',
'serverReturnedError': 'Servern returnerade ett fel', 'serverReturnedError': 'Servern returnerade ett fel',
'serverError': 'Serverfel', 'serverError': 'Serverfel',
'networkConnectionFailedCheckSettings': 'networkConnectionFailedCheckSettings': 'Nätverksanslutning misslyckades, kontrollera dina nätverksinställningar',
'Nätverksanslutning misslyckades, kontrollera dina nätverksinställningar',
'serverInternalErrorRetryLater': 'Internt serverfel, försök igen senare', 'serverInternalErrorRetryLater': 'Internt serverfel, försök igen senare',
// Profile 用户交互 // Profile 用户交互
@ -947,20 +893,14 @@ const Map<String, String> svSE = {
// 账号服务相关 // 账号服务相关
'clearUserDataFailed': 'Rensning av användardata misslyckades', // 清理用户数据失败 'clearUserDataFailed': 'Rensning av användardata misslyckades', // 清理用户数据失败
'deleteUserDataFailed': 'deleteUserDataFailed': 'Borttagning av användardata misslyckades', // 删除用户数据失败
'Borttagning av användardata misslyckades', // 删除用户数据失败 'thirdPartyLogoutSuccess': 'Utloggning från tredje part lyckades', // 第三方登录退出成功
'thirdPartyLogoutSuccess': 'thirdPartyLogoutFailed': 'Utloggning från tredje part misslyckades', // 第三方登录退出失败
'Utloggning från tredje part lyckades', // 第三方登录退出成功 'signOutProcessError': 'Ett fel uppstod under utloggningsprocessen', // 登出过程发生错误
'thirdPartyLogoutFailed': 'deleteAccountProcessError': 'Ett fel uppstod under borttagningsprocessen av kontot', // 删除账号过程发生错误
'Utloggning från tredje part misslyckades', // 第三方登录退出失败
'signOutProcessError':
'Ett fel uppstod under utloggningsprocessen', // 登出过程发生错误
'deleteAccountProcessError':
'Ett fel uppstod under borttagningsprocessen av kontot', // 删除账号过程发生错误
'userDataClearSuccess': 'Rensning av användardata lyckades', // 用户数据清理成功 'userDataClearSuccess': 'Rensning av användardata lyckades', // 用户数据清理成功
'allUserDataClearSuccess': 'All användardata har rensats', // 所有用户数据清理成功 'allUserDataClearSuccess': 'All användardata har rensats', // 所有用户数据清理成功
'accountServiceInitialized': 'accountServiceInitialized': 'Kontotjänsten har initierats', // AccountService 已初始化
'Kontotjänsten har initierats', // AccountService 已初始化
// 权限管理页面 // 权限管理页面
'getPermissionStatusFailed': 'Hämtning av behörighetsstatus misslyckades', 'getPermissionStatusFailed': 'Hämtning av behörighetsstatus misslyckades',
@ -983,12 +923,9 @@ const Map<String, String> svSE = {
'locationInfo': 'Platsinformation', 'locationInfo': 'Platsinformation',
'phonePermissionDesc': 'Används för att ringa samtal', 'phonePermissionDesc': 'Används för att ringa samtal',
'smsPermissionDesc': 'Används för att skicka SMS', 'smsPermissionDesc': 'Används för att skicka SMS',
'alarmPermissionDesc': 'alarmPermissionDesc': 'Used to set exact alarms to ensure reminders trigger on time',
'Used to set exact alarms to ensure reminders trigger on time', 'calendarWritePermissionDesc': 'Används för att skapa kalenderhändelser och påminnelser',
'calendarWritePermissionDesc': 'calendarFullAccessPermissionDesc': 'Används för att läsa och hantera kalenderhändelser och påminnelser',
'Används för att skapa kalenderhändelser och påminnelser',
'calendarFullAccessPermissionDesc':
'Används för att läsa och hantera kalenderhändelser och påminnelser',
'locationPermissionDesc': 'Används för att hämta aktuell platsinformation', 'locationPermissionDesc': 'Används för att hämta aktuell platsinformation',
'appFunctionNeeds': 'Appfunktionen behöver', 'appFunctionNeeds': 'Appfunktionen behöver',
'authorized': 'Beviljad', 'authorized': 'Beviljad',
@ -1000,78 +937,53 @@ const Map<String, String> svSE = {
'permissionRequestError': 'Fel vid begäran om behörighet', 'permissionRequestError': 'Fel vid begäran om behörighet',
'phonePermissionDetailDesc': 'Samtalsfunktionen kräver telefonbehörighet', 'phonePermissionDetailDesc': 'Samtalsfunktionen kräver telefonbehörighet',
'smsPermissionDetailDesc': 'SMS-funktionen kräver SMS-behörighet', 'smsPermissionDetailDesc': 'SMS-funktionen kräver SMS-behörighet',
'alarmPermissionDetailDesc': 'alarmPermissionDetailDesc': 'This permission is required to set exact alarms and ensure reminders trigger on time',
'This permission is required to set exact alarms and ensure reminders trigger on time', 'calendarWritePermissionDetailDesc': 'Att skapa kalenderhändelser kräver skrivbehörighet till kalendern',
'calendarWritePermissionDetailDesc': 'calendarFullAccessPermissionDetailDesc': 'Att hantera kalenderhändelser kräver fullständig kalenderåtkomst',
'Att skapa kalenderhändelser kräver skrivbehörighet till kalendern', 'locationPermissionDetailDesc': 'Att hämta platsinformation kräver platsbehörighet',
'calendarFullAccessPermissionDetailDesc':
'Att hantera kalenderhändelser kräver fullständig kalenderåtkomst',
'locationPermissionDetailDesc':
'Att hämta platsinformation kräver platsbehörighet',
'contactsPermissionDesc': 'Used for accessing contact information', 'contactsPermissionDesc': 'Used for accessing contact information',
'contactsPermissionDetailDesc': 'contactsPermissionDetailDesc': 'Phone call and SMS functionality requires contacts permission to select contacts',
'Phone call and SMS functionality requires contacts permission to select contacts', 'bluetoothPermissionDesc': 'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDesc': 'bluetoothPermissionDetailDesc': 'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDetailDesc':
'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices', 'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices',
'bluetoothScanPermissionDetailDesc': 'bluetoothScanPermissionDetailDesc': 'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices', 'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices',
'bluetoothConnectPermissionDetailDesc': 'bluetoothConnectPermissionDetailDesc': 'Connecting to Bluetooth devices requires Bluetooth connect permission',
'Connecting to Bluetooth devices requires Bluetooth connect permission',
'notificationPermissionDesc': 'Used for sending notification messages', 'notificationPermissionDesc': 'Used for sending notification messages',
'notificationPermissionDetailDesc': 'notificationPermissionDetailDesc': 'App needs notification permission to send you important alerts and messages',
'App needs notification permission to send you important alerts and messages', 'appNeedsPermissionForFullFunction': 'Appen behöver denna behörighet för full funktionalitet',
'appNeedsPermissionForFullFunction': 'permanentDenialText': 'Du har permanent nekat {permission}-behörighet, vänligen gå till appinställningarna för att aktivera den',
'Appen behöver denna behörighet för full funktionalitet',
'permanentDenialText':
'Du har permanent nekat {permission}-behörighet, vänligen gå till appinställningarna för att aktivera den',
'goToSettings': 'Gå till inställningar', 'goToSettings': 'Gå till inställningar',
// 权限申请 // 权限申请
'bluetoothScan': 'Bluetooth Scan', 'bluetoothScan': 'Bluetooth Scan',
'bluetoothConnect': 'Bluetooth Connect', 'bluetoothConnect': 'Bluetooth Connect',
'bluetoothScanExplanation': 'bluetoothScanExplanation': 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.',
'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.', 'bluetoothConnectExplanation': 'The app needs Bluetooth connect permission to connect to Bluetooth devices.',
'bluetoothConnectExplanation': 'locationForBluetoothExplanation': 'The app needs location permission to scan Bluetooth devices.',
'The app needs Bluetooth connect permission to connect to Bluetooth devices.', 'bluetoothScanPermanentDenial': 'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'locationForBluetoothExplanation': 'bluetoothConnectPermanentDenial': 'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'The app needs location permission to scan Bluetooth devices.', 'locationPermanentDenial': 'Location permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothScanPermanentDenial':
'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothConnectPermanentDenial':
'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'locationPermanentDenial':
'Location permission has been permanently denied, please go to settings to enable it manually.',
'notificationPermission': 'Notification', 'notificationPermission': 'Notification',
'locationPermission': 'Location', 'locationPermission': 'Location',
'notificationPermissionExplanation': 'notificationPermissionExplanation': 'Notification permission is required to display music playback status.',
'Notification permission is required to display music playback status.', 'locationPermissionExplanation': 'Location permission is required to get current location.',
'locationPermissionExplanation': 'notificationPermissionPermanentDenial': 'You have permanently denied notification permission, please go to settings to enable it.',
'Location permission is required to get current location.', 'locationPermissionPermanentDenial': 'You have permanently denied location permission, please go to settings to enable it.',
'notificationPermissionPermanentDenial':
'You have permanently denied notification permission, please go to settings to enable it.',
'locationPermissionPermanentDenial':
'You have permanently denied location permission, please go to settings to enable it.',
//'microphonePermission': '录音', //'microphonePermission': '录音',
'storagePermission': 'Storage', 'storagePermission': 'Storage',
'microphonePermissionExplanation': 'microphonePermissionExplanation': 'We need microphone permission to record audio content.',
'We need microphone permission to record audio content.', 'storagePermissionExplanation': 'We need storage permission so you can select and upload audio files.',
'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
'permissionUtilPermission': ' Permission', 'permissionUtilPermission': ' Permission',
'permissionUtilRestricted': ' Permission Restricted', 'permissionUtilRestricted': ' Permission Restricted',
'permissionUtilRestrictedMessage': 'permissionUtilRestrictedMessage': 'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'permissionUtilConfirm': 'OK', 'permissionUtilConfirm': 'OK',
// 版本更新对话框 // 版本更新对话框
@ -1080,10 +992,8 @@ const Map<String, String> svSE = {
'updateNow': 'Uppdatera nu', // 立即更新按钮 'updateNow': 'Uppdatera nu', // 立即更新按钮
'checkUpdate': 'Sök efter uppdatering', // 检查更新按钮 'checkUpdate': 'Sök efter uppdatering', // 检查更新按钮
'updateFailed': 'Uppdatering misslyckades', // 更新失败提示 'updateFailed': 'Uppdatering misslyckades', // 更新失败提示
'cannotOpenAppStore': 'cannotOpenAppStore': 'Kan inte öppna appbutiken, vänligen gå till appbutiken manuellt för att uppdatera', // 无法打开应用商店提示
'Kan inte öppna appbutiken, vänligen gå till appbutiken manuellt för att uppdatera', // 无法打开应用商店提示 'updateErrorRetry': 'Ett fel uppstod under uppdateringen, försök igen senare', // 更新错误重试提示
'updateErrorRetry':
'Ett fel uppstod under uppdateringen, försök igen senare', // 更新错误重试提示
//国家列表 //国家列表
"邮箱": "E-post", "邮箱": "E-post",
@ -1219,8 +1129,7 @@ const Map<String, String> svSE = {
"selectTargetLanguage": "Välj målspråk", "selectTargetLanguage": "Välj målspråk",
"me": "Me", "me": "Me",
"counterPart": "Counterpart", "counterPart": "Counterpart",
"bluetoothCallStateError": "bluetoothCallStateError": "Please make sure the Bluetooth headset is connected to the phone and in a call state",
"Please make sure the Bluetooth headset is connected to the phone and in a call state",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
@ -1236,12 +1145,10 @@ const Map<String, String> svSE = {
"historyRecords": "History Records", "historyRecords": "History Records",
"clearResults": "Clear Results", "clearResults": "Clear Results",
"clearHistory": "Rensa historik", "clearHistory": "Rensa historik",
"clearHistoryConfirm": "clearHistoryConfirm": "Är du säker på att du vill rensa all översättningshistorik? Denna åtgärd kan inte ångras.",
"Är du säker på att du vill rensa all översättningshistorik? Denna åtgärd kan inte ångras.",
"unknownLanguage": "Okänt språk", "unknownLanguage": "Okänt språk",
"deleteSessionRecord": "Ta bort sessionsinspelning", "deleteSessionRecord": "Ta bort sessionsinspelning",
"deleteSessionConfirm": "deleteSessionConfirm": "Är du säker på att du vill ta bort alla översättningsinspelningar för denna session? Denna åtgärd kan inte ångras.",
"Är du säker på att du vill ta bort alla översättningsinspelningar för denna session? Denna åtgärd kan inte ångras.",
// 图片翻译模块(Picture Translation) // 图片翻译模块(Picture Translation)
"selectImageSource": "Select Image Source", "selectImageSource": "Select Image Source",
@ -1273,20 +1180,15 @@ const Map<String, String> svSE = {
"translationCompleted": "Translation Completed", "translationCompleted": "Translation Completed",
"allStepsCompleted": "All steps completed", "allStepsCompleted": "All steps completed",
"processingFailed": "Processing Failed", "processingFailed": "Processing Failed",
"imageProcessingOrTranslationFailed": "imageProcessingOrTranslationFailed": "Image processing or translation failed. Please retry.\nError: {error}",
"Image processing or translation failed. Please retry.\nError: {error}",
"imageTooLarge": "Image size exceeds 4MB limit", "imageTooLarge": "Image size exceeds 4MB limit",
"imageTooLargeHint": "imageTooLargeHint": "Image size exceeds 4MB. Reduce quality or dimensions and retry",
"Image size exceeds 4MB. Reduce quality or dimensions and retry",
"emptyTranslationResult": "Image translation API returned empty result", "emptyTranslationResult": "Image translation API returned empty result",
"imageTranslationFailedTryLater": "imageTranslationFailedTryLater": "Image translation failed. Network issue or rate limit. Please try later",
"Image translation failed. Network issue or rate limit. Please try later", "imageTranslationApiException": "Image translation API exception. Check network and retry",
"imageTranslationApiException":
"Image translation API exception. Check network and retry",
"permissionRequired": "Permission Required", "permissionRequired": "Permission Required",
"cameraPermissionRequired": "Camera permission required to take photos", "cameraPermissionRequired": "Camera permission required to take photos",
"photoAlbumPermissionRequired": "photoAlbumPermissionRequired": "Photo album permission required to pick images",
"Photo album permission required to pick images",
"translationDetails": "Translation Details", "translationDetails": "Translation Details",
"originalImage": "Original Image", "originalImage": "Original Image",
"sourceLanguage": "Source Language", "sourceLanguage": "Source Language",
@ -1309,8 +1211,7 @@ const Map<String, String> svSE = {
// 翻译详情页 (translation_detail_view.dart) // 翻译详情页 (translation_detail_view.dart)
"originalRecord": "Originalinspelning", "originalRecord": "Originalinspelning",
"recordSummary": "Inspelningssammanfattning", "recordSummary": "Inspelningssammanfattning",
"clickToGenerateSummary": "clickToGenerateSummary": "Klicka på knappen nedan för att generera en sessionssammanfattning",
"Klicka på knappen nedan för att generera en sessionssammanfattning",
"summaryContent": "Sammanfattningsinnehåll", "summaryContent": "Sammanfattningsinnehåll",
"copied": "Kopierad", "copied": "Kopierad",
"summaryCopiledToClipboard": "Sammanfattning kopierad till urklipp", "summaryCopiledToClipboard": "Sammanfattning kopierad till urklipp",
@ -1318,11 +1219,9 @@ const Map<String, String> svSE = {
"summaryGenerated": "Sammanfattning genererad", "summaryGenerated": "Sammanfattning genererad",
"generating": "Genererar...", "generating": "Genererar...",
"regenerate": "Generera igen", "regenerate": "Generera igen",
"summaryTimeoutMessage": "summaryTimeoutMessage": "Begäran om att generera sammanfattning nådde tidsgräns, det kan bero på nätverksproblem eller upptagen server.",
"Begäran om att generera sammanfattning nådde tidsgräns, det kan bero på nätverksproblem eller upptagen server.",
"deleteTranslationRecord": "Ta bort översättningsinspelning", "deleteTranslationRecord": "Ta bort översättningsinspelning",
"deleteTranslationConfirm": "deleteTranslationConfirm": "Är du säker på att du vill ta bort denna översättningsinspelning? Denna åtgärd kan inte ångras.",
"Är du säker på att du vill ta bort denna översättningsinspelning? Denna åtgärd kan inte ångras.",
"originalText": "Originaltext", "originalText": "Originaltext",
"translatedText": "Översatt text", "translatedText": "Översatt text",
"sessionSummary": "Sessionssammanfattning", "sessionSummary": "Sessionssammanfattning",
@ -1350,25 +1249,19 @@ const Map<String, String> svSE = {
// 配对状态文本 // 配对状态文本
"readyToPair": "Redo att parkoppla", "readyToPair": "Redo att parkoppla",
"preparingPairingEnvironment": "Förbereder parkopplingsmiljö...", "preparingPairingEnvironment": "Förbereder parkopplingsmiljö...",
"connectDeepSoundViaSystemBluetooth": "connectDeepSoundViaSystemBluetooth": "Anslut först till Voitrans-enheten via systemets Bluetooth",
"Anslut först till Voitrans-enheten via systemets Bluetooth",
"deviceBindingConfirm": "Bekräftelse av enhetsbindning...", "deviceBindingConfirm": "Bekräftelse av enhetsbindning...",
"establishingDeviceAssociation": "Upprättar enhetsassociation...", "establishingDeviceAssociation": "Upprättar enhetsassociation...",
"waitingCompletePairing": "Vänta, slutför parkoppling...", "waitingCompletePairing": "Vänta, slutför parkoppling...",
"pairingSuccessRedirecting": "pairingSuccessRedirecting": "Parkoppling lyckades! Omdirigerar till startsidan...",
"Parkoppling lyckades! Omdirigerar till startsidan...",
// 配对错误状态文本 // 配对错误状态文本
"ensureConnectedDeepSoundDevice": "ensureConnectedDeepSoundDevice": "Se till att du är ansluten till en Voitrans-enhet",
"Se till att du är ansluten till en Voitrans-enhet", "deviceAlreadyBoundToOtherAccount": "Denna enhet är redan bunden till ett annat konto",
"deviceAlreadyBoundToOtherAccount":
"Denna enhet är redan bunden till ett annat konto",
"deviceAssociationFailed": "Enhetsassociation misslyckades, försök igen", "deviceAssociationFailed": "Enhetsassociation misslyckades, försök igen",
"scanTimeoutEnsureDeviceNearby": "scanTimeoutEnsureDeviceNearby": "Skanningen nådde tidsgräns, se till att enheten är i närheten",
"Skanningen nådde tidsgräns, se till att enheten är i närheten",
"networkError": "Nätverksfel", "networkError": "Nätverksfel",
"authorizationFailedCheckCode": "authorizationFailedCheckCode": "Auktorisering misslyckades, kontrollera att auktoriseringskoden är korrekt",
"Auktorisering misslyckades, kontrollera att auktoriseringskoden är korrekt",
"pairingFailedRetry": "Parkoppling misslyckades, försök igen", "pairingFailedRetry": "Parkoppling misslyckades, försök igen",
// 配对控制器相关 // 配对控制器相关
@ -1377,8 +1270,7 @@ const Map<String, String> svSE = {
'deviceDisconnected': 'Enheten frånkopplad', 'deviceDisconnected': 'Enheten frånkopplad',
'readyToStartPairing': 'Redo att starta parkoppling', 'readyToStartPairing': 'Redo att starta parkoppling',
'checkingEnvironment': 'Kontrollerar miljö...', 'checkingEnvironment': 'Kontrollerar miljö...',
'ensureHeadsetOnAndPairingMode': 'ensureHeadsetOnAndPairingMode': 'Se till att hörlurarna är på och i parkopplingsläge',
'Se till att hörlurarna är på och i parkopplingsläge',
//'goToBluetoothSettings': '前往蓝牙设置', //'goToBluetoothSettings': '前往蓝牙设置',
//'verifyingDevice': '正在验证设备...', //'verifyingDevice': '正在验证设备...',
//'confirmBinding': '确认绑定', //'confirmBinding': '确认绑定',
@ -1400,20 +1292,15 @@ const Map<String, String> svSE = {
'bleConnectionTimeoutRetry': 'BLE-anslutningen nådde tidsgräns, försök igen', 'bleConnectionTimeoutRetry': 'BLE-anslutningen nådde tidsgräns, försök igen',
'blePairingStartupFailed': 'Start av BLE-parkoppling misslyckades', 'blePairingStartupFailed': 'Start av BLE-parkoppling misslyckades',
'bleConnectionFailed': 'BLE-anslutning misslyckades', 'bleConnectionFailed': 'BLE-anslutning misslyckades',
'deviceAuthorizationFailedCheckCode': 'deviceAuthorizationFailedCheckCode': 'Enhetsauktorisering misslyckades, kontrollera auktoriseringskoden',
'Enhetsauktorisering misslyckades, kontrollera auktoriseringskoden',
///iOS蓝牙引导窗 ///iOS蓝牙引导窗
'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙 'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙
'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作: 'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作:
'bluetoothGuideStep1': 'bluetoothGuideStep1': 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启
'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启 'bluetoothGuideStep2': 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接
'bluetoothGuideStep2': 'bluetoothGuideStep3': 'Return to app to continue pairing process', // 返回应用继续配对流程
'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接 'bluetoothGuideTip': 'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'bluetoothGuideStep3':
'Return to app to continue pairing process', // 返回应用继续配对流程
'bluetoothGuideTip':
'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'iKnow': 'I Know', // 我知道了 'iKnow': 'I Know', // 我知道了
//用户反馈页 //用户反馈页
@ -1426,12 +1313,10 @@ const Map<String, String> svSE = {
'contactHint': 'E-post/Telefon, så att vi kan kontakta dig', 'contactHint': 'E-post/Telefon, så att vi kan kontakta dig',
'submit': 'Skicka', 'submit': 'Skicka',
'feedbackSubmitSuccess': 'Feedback inskickad, tack för din feedback!', 'feedbackSubmitSuccess': 'Feedback inskickad, tack för din feedback!',
'feedbackSubmitFailed': 'feedbackSubmitFailed': 'Inskickning av feedback misslyckades, försök igen senare',
'Inskickning av feedback misslyckades, försök igen senare',
// OTA升级模块 // OTA升级模块
"upgradeExitConfirm": "upgradeExitConfirm": "Uppgradering pågår, att avsluta kommer att avbryta uppgraderingsprocessen, är du säker på att du vill avsluta?",
"Uppgradering pågår, att avsluta kommer att avbryta uppgraderingsprocessen, är du säker på att du vill avsluta?",
"deviceModel": "Enhetsmodell", "deviceModel": "Enhetsmodell",
"unknownDevice": "Okänd enhet", "unknownDevice": "Okänd enhet",
"currentFirmwareVersion": "Nuvarande firmware-version", "currentFirmwareVersion": "Nuvarande firmware-version",
@ -1444,18 +1329,14 @@ const Map<String, String> svSE = {
"retryConnection": "Försök ansluta igen", "retryConnection": "Försök ansluta igen",
"ota_updateNow": "Uppdatera nu", "ota_updateNow": "Uppdatera nu",
"otaVersionInfoFailed": "Failed to get version info. Please try again later.", "otaVersionInfoFailed": "Failed to get version info. Please try again later.",
"otaDeviceInfoUnavailable": "otaDeviceInfoUnavailable": "Unable to get device info. Please check the connection and retry.",
"Unable to get device info. Please check the connection and retry.", "otaProductInfoUnavailable": "Unable to identify the device. Please reconnect and retry.",
"otaProductInfoUnavailable": "otaFirmwareVersionInvalid": "Firmware version is abnormal. Please reconnect and retry.",
"Unable to identify the device. Please reconnect and retry.",
"otaFirmwareVersionInvalid":
"Firmware version is abnormal. Please reconnect and retry.",
"keepConnectedDontClose": "Håll enheten ansluten, stäng inte appen", "keepConnectedDontClose": "Håll enheten ansluten, stäng inte appen",
"doNotDisconnect": "Koppla inte från", "doNotDisconnect": "Koppla inte från",
"charging": "Laddar", "charging": "Laddar",
"updateContent": "Uppdateringsinnehåll", "updateContent": "Uppdateringsinnehåll",
"removeEarbudsEnsureBattery": "removeEarbudsEnsureBattery": "Ta ut båda hörlurarna och se till att batterinivån är över 20 % på båda",
"Ta ut båda hörlurarna och se till att batterinivån är över 20 % på båda",
// 音乐列表页面 // 音乐列表页面
"noMusic": "Ingen musik", // 暂无音乐 "noMusic": "Ingen musik", // 暂无音乐
@ -1465,9 +1346,9 @@ const Map<String, String> svSE = {
"playAll": "Spela alla", // 播放全部 "playAll": "Spela alla", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Kinesiska (förenklad)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Kinesiska (traditionell)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Kinesiska (Hongkong, traditionell)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "Engelska", "英语": "Engelska",
"日语": "Japanska", "日语": "Japanska",
"韩语": "Koreanska", "韩语": "Koreanska",
@ -1517,10 +1398,8 @@ const Map<String, String> svSE = {
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc": "Insufficient balance, please go to the corresponding recharge page to recharge.",
'Insufficient balance, please go to the corresponding recharge page to recharge.', "recharge": "Go to Recharge",
"recharge": 'Go to Recharge',
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc": "AI membership expired, please go to the membership recharge page to renew.",
'AI membership expired, please go to the membership recharge page to renew.',
}; };

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

@ -91,8 +91,7 @@ const Map<String, String> thTH = {
"tip": "เคล็ดลับ", "tip": "เคล็ดลับ",
"pleaseEnterCompleteCode": "กรุณากรอกรหัสยืนยันให้ครบถ้วน", "pleaseEnterCompleteCode": "กรุณากรอกรหัสยืนยันให้ครบถ้วน",
"loginFailed": "เข้าสู่ระบบล้มเหลว กรุณาลองใหม่", "loginFailed": "เข้าสู่ระบบล้มเหลว กรุณาลองใหม่",
'pleaseAcceptPrivacyPolicy': 'pleaseAcceptPrivacyPolicy': 'กรุณาอ่านและยอมรับนโยบายความเป็นส่วนตัวและข้อตกลงผู้ใช้ก่อน',
'กรุณาอ่านและยอมรับนโยบายความเป็นส่วนตัวและข้อตกลงผู้ใช้ก่อน',
"enterVerificationCode": "กรอกรหัสยืนยัน", "enterVerificationCode": "กรอกรหัสยืนยัน",
"verificationCodeSentTo": "รหัสยืนยันถูกส่งไปยัง", "verificationCodeSentTo": "รหัสยืนยันถูกส่งไปยัง",
"resendVerificationCode": "ส่งรหัสยืนยันอีกครั้ง", "resendVerificationCode": "ส่งรหัสยืนยันอีกครั้ง",
@ -101,12 +100,11 @@ const Map<String, String> thTH = {
// 隐私政策弹窗 // 隐私政策弹窗
"loginDeclaration": "คำประกาศของ Voitrans", // Voitrans 声明 "loginDeclaration": "คำประกาศของ Voitrans", // Voitrans 声明
"welcomeToThisApp": "welcomeToThisApp": "ยินดีต้อนรับสู่ Voitrans กรุณาอ่านอย่างละเอียด", // 欢迎使用Voitrans,请充分阅读
"ยินดีต้อนรับสู่ Voitrans กรุณาอ่านอย่างละเอียด", // 欢迎使用Voitrans,请充分阅读
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
" การคลิก 'ยอมรับและเข้าสู่' หมายความว่าคุณได้อ่านและยอมรับข้อตกลงข้างต้นแล้ว การคลิก 'ไม่ยอมรับ' จะเป็นการออกจากแอปพลิเคชัน", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "ไม่ยอมรับ", // 不同意 "disagree": "ไม่ยอมรับ", // 不同意
"agreeAndEnter": "ยอมรับและเข้าสู่", // 同意并进入 "agreeAndEnter": "ยอมรับและเข้าสู่", // 同意并进入
@ -124,8 +122,7 @@ const Map<String, String> thTH = {
"aiAssistant": "ผู้ช่วย AI รอบด้าน", "aiAssistant": "ผู้ช่วย AI รอบด้าน",
"aiAssistantInfo": "ที่ปรึกษาส่วนตัว 24 ชั่วโมง ตอบคำถาม ให้คำแนะนำ", "aiAssistantInfo": "ที่ปรึกษาส่วนตัว 24 ชั่วโมง ตอบคำถาม ให้คำแนะนำ",
"interpretation": "การแปลภาษาพร้อมกัน", "interpretation": "การแปลภาษาพร้อมกัน",
"simultaneousInterpretationInfo": "simultaneousInterpretationInfo": "แปลภาษากว่า 80 ภาษาแบบเรียลไทม์ เดินทางต่างประเทศไร้กังวล",
"แปลภาษากว่า 80 ภาษาแบบเรียลไทม์ เดินทางต่างประเทศไร้กังวล",
"aiCompanion": "เพื่อนคู่คิดสำหรับครอบครัว", "aiCompanion": "เพื่อนคู่คิดสำหรับครอบครัว",
"aiCompanionInfo": "เข้าใจคุณ อยู่เคียงข้างอย่างอบอุ่น", "aiCompanionInfo": "เข้าใจคุณ อยู่เคียงข้างอย่างอบอุ่น",
"homeSlogan": "เชื่อมต่อโลก เหนือกว่าเสียง", "homeSlogan": "เชื่อมต่อโลก เหนือกว่าเสียง",
@ -222,8 +219,7 @@ const Map<String, String> thTH = {
"transcriptBytes": "Transcript Bytes", "transcriptBytes": "Transcript Bytes",
// 通知文案 // 通知文案
"loadFailed": "Load Failed", "loadFailed": "Load Failed",
"statsLoadFailedTryLater": "statsLoadFailedTryLater": "Statistics failed to load. Please try again later.",
"Statistics failed to load. Please try again later.",
"cleanupComplete": "Cleanup Complete", "cleanupComplete": "Cleanup Complete",
"cleanedOldData": "Cleaned data older than 90 days", "cleanedOldData": "Cleaned data older than 90 days",
"exportFeature": "Export Feature", "exportFeature": "Export Feature",
@ -279,10 +275,8 @@ const Map<String, String> thTH = {
'copyrightVoitrans': '© 2025 Voitrans Technologies', 'copyrightVoitrans': '© 2025 Voitrans Technologies',
// 会议商品页描述 // 会议商品页描述
'meetingHeaderDesc1': 'meetingHeaderDesc1': 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'meetingHeaderDesc2': 'Suitable for business meetings, class notes, and interview minutes.',
'meetingHeaderDesc2':
'Suitable for business meetings, class notes, and interview minutes.',
'meetingAutoRecording': 'Auto recording and segmentation', 'meetingAutoRecording': 'Auto recording and segmentation',
'meetingSpeakerTagging': 'Speaker labeling', 'meetingSpeakerTagging': 'Speaker labeling',
'meetingLongAudioTranscription': 'Long audio transcription', 'meetingLongAudioTranscription': 'Long audio transcription',
@ -291,35 +285,27 @@ const Map<String, String> thTH = {
'meetingTimelineJump': 'Timeline jump', 'meetingTimelineJump': 'Timeline jump',
'meetingExportSummary': 'Export minutes', 'meetingExportSummary': 'Export minutes',
'meetingMultiPlatformShare': 'Share across platforms', 'meetingMultiPlatformShare': 'Share across platforms',
'meetingDisclaimer': 'meetingDisclaimer': 'Use in quiet environments; performance depends on microphone and network.',
'Use in quiet environments; performance depends on microphone and network.',
// 同传/翻译商品页描述 // 同传/翻译商品页描述
'transHeaderDesc1': 'transHeaderDesc1': 'Real-time simultaneous interpretation and text translation with low-latency voice.',
'Real-time simultaneous interpretation and text translation with low-latency voice.',
'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.', 'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
'translateZhEn': 'Chinese-English translation', 'translateZhEn': 'Chinese-English translation',
'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast', 'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast',
'multiLangTextTranslation': 'Multilingual text translation', 'multiLangTextTranslation': 'Multilingual text translation',
'termOptimizationContextPreserve': 'termOptimizationContextPreserve': 'Terminology optimization and context preservation',
'Terminology optimization and context preservation',
'lexiconTourBusinessLife': 'Travel/Business/Life lexicons', 'lexiconTourBusinessLife': 'Travel/Business/Life lexicons',
'personalVocabularyMemory': 'Personal vocabulary memory', 'personalVocabularyMemory': 'Personal vocabulary memory',
'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode', 'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode',
'colorHighContrast': 'High color contrast', 'colorHighContrast': 'High color contrast',
'transDisclaimer': 'transDisclaimer': 'Translation performance depends on microphone, network latency, and ambient noise.',
'Translation performance depends on microphone, network latency, and ambient noise.',
// AI 商品页描述 // AI 商品页描述
'aiHeaderDesc1': 'aiHeaderDesc1': 'Longer conversation quota, more tool calls, extended context length.',
'Longer conversation quota, more tool calls, extended context length.', 'aiHeaderDesc2': 'Suitable for agent Q&A, summarization, analysis, and task execution.',
'aiHeaderDesc2':
'Suitable for agent Q&A, summarization, analysis, and task execution.',
'musicSearchPlaybackControl': 'Music library search and playback control', 'musicSearchPlaybackControl': 'Music library search and playback control',
'smartPlaylistAndSimilarRecommendations': 'smartPlaylistAndSimilarRecommendations': 'Smart playlist and similar song recommendations',
'Smart playlist and similar song recommendations', 'routePlanningAndCongestionAvoidance': 'Route planning and congestion avoidance',
'routePlanningAndCongestionAvoidance':
'Route planning and congestion avoidance',
'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings', 'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings',
'realTimeWeatherForecast': 'Real-time weather and forecast', 'realTimeWeatherForecast': 'Real-time weather and forecast',
'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders', 'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders',
@ -328,10 +314,8 @@ const Map<String, String> thTH = {
'hotNewsAndTopicOverview': 'Hot news and topic overview', 'hotNewsAndTopicOverview': 'Hot news and topic overview',
'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points', 'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points',
'helpCallAndSMS': 'Help with calls and SMS', 'helpCallAndSMS': 'Help with calls and SMS',
'templatedMessagesAndScheduleReminders': 'templatedMessagesAndScheduleReminders': 'Template messages and schedule reminders',
'Template messages and schedule reminders', 'aiDisclaimer': 'Features depend on device permissions, service availability, and network conditions.',
'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.',
// 会员商品页 // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
@ -346,11 +330,10 @@ const Map<String, String> thTH = {
'generalPrivileges': 'General privileges', 'generalPrivileges': 'General privileges',
'earlyAccessNewFeatures': 'Early access to new features', 'earlyAccessNewFeatures': 'Early access to new features',
'crossDeviceSync': 'Cross-device sync', 'crossDeviceSync': 'Cross-device sync',
'vipDisclaimer': 'vipDisclaimer': 'Actual benefits depend on the package details and may change with versions.',
'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "ข้าม", 'skip': 'ข้าม',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -373,8 +356,7 @@ const Map<String, String> thTH = {
'guideNavInput': 'Navigate to Shenzhen Airport', 'guideNavInput': 'Navigate to Shenzhen Airport',
'guideNavSend': 'Lily will plan the route', 'guideNavSend': 'Lily will plan the route',
'guideNavEnd': 'Navigation set—try other commands', 'guideNavEnd': 'Navigation set—try other commands',
'guideMeetingStart': 'guideMeetingStart': 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow', 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
'guideMeetingSend': 'Lily will create a meeting reminder', 'guideMeetingSend': 'Lily will create a meeting reminder',
'guideMeetingEnd': 'Reminder created—try other commands', 'guideMeetingEnd': 'Reminder created—try other commands',
@ -424,8 +406,7 @@ const Map<String, String> thTH = {
'downloadingFiles': 'Downloading files...', 'downloadingFiles': 'Downloading files...',
'downloadingFileProgress': 'Total {total} files, downloading file {current}', 'downloadingFileProgress': 'Total {total} files, downloading file {current}',
'downloadComplete': 'Download complete', 'downloadComplete': 'Download complete',
'downloadCompleteInfo': 'downloadCompleteInfo': 'Download complete, {count} files in total, returning automatically in 2 seconds',
'Download complete, {count} files in total, returning automatically in 2 seconds',
// Meeting模块 - 录音功能 // Meeting模块 - 录音功能
'startRecording': 'Start Recording', 'startRecording': 'Start Recording',
@ -433,6 +414,23 @@ const Map<String, String> thTH = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'ออกจากการบันทึก', // 退出录音
'meetingRecordExitMessage': 'โปรดเลือกการดำเนินการหลังจากออก', // 请选择离开后的操作
'meetingRecordEndAndSave': 'จบและบันทึก', // 结束录音并保存
'meetingRecordEndWithoutSave': 'จบโดยไม่บันทึก', // 结束录音不保存
'meetingRecordContinueInBackground': 'บันทึกต่อในพื้นหลัง', // 后台继续录音
'meetingRecordStopTimeout': 'หมดเวลาหยุดการบันทึก โปรดลองอีกครั้ง', // 结束录音超时,请重试
'meetingRecordStopFailed': 'หยุดการบันทึกไม่สำเร็จ โปรดลองอีกครั้ง', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'บันทึกการบันทึกไม่สำเร็จ โปรดลองอีกครั้ง', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'กำลังบันทึก', // 录音进行中
'meetingRecordRecordingNotificationBody': 'กำลังบันทึกในพื้นหลัง แตะเพื่อกลับไปที่แอป', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'สิทธิ์หน้าต่างลอย', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'เพื่อแสดงผลการแปลระหว่างการโทรหรือการแปลเสียง/วิดีโอ เราต้องใช้สิทธิ์แสดงทับแอปอื่น ซึ่งจะทำให้คุณเห็นคำแปลแบบเรียลไทม์ขณะใช้แอปอื่นได้', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'เพื่อแสดงแถบลอยการบันทึก (ตัวจับเวลา/หยุดชั่วคราว/ทำต่อ) ระหว่างการบันทึก เราต้องใช้สิทธิ์แสดงทับแอปอื่น', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'ไม่สามารถเปิดการตั้งค่าระบบอัตโนมัติได้ โปรดเปิดการตั้งค่าและเปิดสิทธิ์แสดงทับแอปอื่นด้วยตนเอง', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -480,54 +478,40 @@ const Map<String, String> thTH = {
'audioImport': 'Audio Import', 'audioImport': 'Audio Import',
'multipleExportFormats': 'Multiple Export Formats', 'multipleExportFormats': 'Multiple Export Formats',
'professionalSummaryTemplates': 'Professional Summary Templates', 'professionalSummaryTemplates': 'Professional Summary Templates',
'professionalTemplateDesc': 'professionalTemplateDesc': 'Professional template design to improve your work efficiency. Customized according to industry needs.',
'Professional template design to improve your work efficiency. Customized according to industry needs.', 'customTemplateDesc': 'You can customize summary prompts according to your needs and use them to generate the required summaries.',
'customTemplateDesc': 'askAiDesc': 'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.',
'You can customize summary prompts according to your needs and use them to generate the required summaries.', 'visualMindMapDesc': 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.',
'askAiDesc': 'templateCommunityDesc': 'Discover, share, and get inspiration from the template library created by users.',
'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.', 'speakerIdentificationDesc': 'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'visualMindMapDesc': 'privateCloudSyncDesc': 'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.', 'aiVoiceEnhancementDesc': 'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'templateCommunityDesc': 'audioImportDesc': 'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'Discover, share, and get inspiration from the template library created by users.', 'multipleExportFormatsDesc': 'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
'speakerIdentificationDesc':
'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'privateCloudSyncDesc':
'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'aiVoiceEnhancementDesc':
'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'audioImportDesc':
'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'multipleExportFormatsDesc':
'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
// Meeting模块 - 升级会员 // Meeting模块 - 升级会员
'upgradeMembership': 'Upgrade Your Membership', 'upgradeMembership': 'Upgrade Your Membership',
'yearlySubscription': 'Yearly Subscription', 'yearlySubscription': 'Yearly Subscription',
'monthlySubscription': 'Monthly Subscription', 'monthlySubscription': 'Monthly Subscription',
'proMonthly': 'Pro ¥60/month', 'proMonthly': 'Pro ¥60/month',
'proMonthlyDesc': 'proMonthlyDesc': '7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'sevenDayTrial': '7-day Free Trial', 'sevenDayTrial': '7-day Free Trial',
'unlimitedMonthly': 'Unlimited ¥120/month', 'unlimitedMonthly': 'Unlimited ¥120/month',
'unlimitedMonthlyDesc': 'unlimitedMonthlyDesc': '7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.', 'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.',
'proPrice': 'Pro ¥120', 'proPrice': 'Pro ¥120',
'proMonthlyPrice': '¥120/month', 'proMonthlyPrice': '¥120/month',
'subscribe': 'Subscribe', 'subscribe': 'Subscribe',
'unlimitedPrice': 'Unlimited ¥198', 'unlimitedPrice': 'Unlimited ¥198',
'unlimitedMonthlyPrice': '¥198/month', 'unlimitedMonthlyPrice': '¥198/month',
'upgradeNote': 'upgradeNote': '*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'buyMoreTranscriptionTime': 'Buy More Transcription Time', 'buyMoreTranscriptionTime': 'Buy More Transcription Time',
'sixThousandMinutes': '6,000 minutes', 'sixThousandMinutes': '6,000 minutes',
'threeThousandMinutes': '3,000 minutes', 'threeThousandMinutes': '3,000 minutes',
'sixHundredMinutes': '600 minutes', 'sixHundredMinutes': '600 minutes',
'oneHundredTwentyMinutes': '120 minutes', 'oneHundredTwentyMinutes': '120 minutes',
'validityPeriod': '*Validity Period: ', 'validityPeriod': '*Validity Period: ',
'validityNote': 'validityNote': 'Activated immediately after purchase, valid for 2 years after activation.',
'Activated immediately after purchase, valid for 2 years after activation.',
'purchase': 'Purchase', 'purchase': 'Purchase',
// Meeting模块 - 模版和生成 // Meeting模块 - 模版和生成
@ -539,8 +523,7 @@ const Map<String, String> thTH = {
'chineseSimplified': 'Chinese Mandarin (Simplified)', 'chineseSimplified': 'Chinese Mandarin (Simplified)',
'meetingGenerateNow': 'Generate Now', 'meetingGenerateNow': 'Generate Now',
'keyEventsAnalyzed': 'Analyzed {count} key events.', 'keyEventsAnalyzed': 'Analyzed {count} key events.',
'aiAnalysisDesc': 'aiAnalysisDesc': 'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
// Meeting模块 - 文件操作和状态 // Meeting模块 - 文件操作和状态
'importing': 'Importing...', 'importing': 'Importing...',
@ -560,10 +543,9 @@ const Map<String, String> thTH = {
// 权限相关 - Meeting相关 // 权限相关 - Meeting相关
'meetingStoragePermission': 'Storage', 'meetingStoragePermission': 'Storage',
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation': 'We need access to storage permissions so you can select and upload audio files.',
'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -612,13 +594,12 @@ const Map<String, String> thTH = {
'recentlyUsedNames': 'Recently Used Names', 'recentlyUsedNames': 'Recently Used Names',
'applyToCurrentParagraph': 'Apply to Current Paragraph', 'applyToCurrentParagraph': 'Apply to Current Paragraph',
'totalTime': 'Total Time', 'totalTime': 'Total Time',
'summarySpeakerWillBeUpdatedAutomatically': 'summarySpeakerWillBeUpdatedAutomatically': 'Summary speakers will be updated automatically',
'Summary speakers will be updated automatically',
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -638,8 +619,7 @@ const Map<String, String> thTH = {
"cloudSync": "การเติมเงินการ đồng bộ hóaคลาวด์", "cloudSync": "การเติมเงินการ đồng bộ hóaคลาวด์",
"memberService": "Member Service", "memberService": "Member Service",
"bindRewardTitle": "Rewards", "bindRewardTitle": "Rewards",
"bindRewardSimpleDesc": "bindRewardSimpleDesc": "First bind device reward has been issued. Tap OK to close.",
"First bind device reward has been issued. Tap OK to close.",
"joinDevice": "อุปกรณ์ที่เชื่อมต่อ:", "joinDevice": "อุปกรณ์ที่เชื่อมต่อ:",
"accountId": "ID บัญชี:", "accountId": "ID บัญชี:",
"systemSetting": "การตั้งค่าระบบ", "systemSetting": "การตั้งค่าระบบ",
@ -652,8 +632,7 @@ const Map<String, String> thTH = {
"privacySettings": "การตั้งค่าความเป็นส่วนตัว", "privacySettings": "การตั้งค่าความเป็นส่วนตัว",
"privacySettingsInfo": "จัดการการรวบรวมข้อมูลและสิทธิ์", "privacySettingsInfo": "จัดการการรวบรวมข้อมูลและสิทธิ์",
"permissionManagement": "การจัดการสิทธิ์", // 权限管理 "permissionManagement": "การจัดการสิทธิ์", // 权限管理
"permissionManagementInfo": "permissionManagementInfo": "จัดการการตั้งค่าสิทธิ์ของแอปพลิเคชัน", // 管理应用权限设置
"จัดการการตั้งค่าสิทธิ์ของแอปพลิเคชัน", // 管理应用权限设置
"aboutApplication": "เกี่ยวกับแอปพลิเคชัน", "aboutApplication": "เกี่ยวกับแอปพลิเคชัน",
"versions": "เวอร์ชัน", "versions": "เวอร์ชัน",
"checkUpdates": "ตรวจสอบการอัปเดต", "checkUpdates": "ตรวจสอบการอัปเดต",
@ -662,11 +641,9 @@ const Map<String, String> thTH = {
"voiceServiceInfo": "เลือกบริการรู้จำและสังเคราะห์เสียง", "voiceServiceInfo": "เลือกบริการรู้จำและสังเคราะห์เสียง",
"selectVoiceService": "เลือกบริการเสียง", "selectVoiceService": "เลือกบริการเสียง",
"azureVoiceService": "บริการเสียง Azure", "azureVoiceService": "บริการเสียง Azure",
"azureVoiceServiceInfo": "azureVoiceServiceInfo": "บริการเสียงบนคลาวด์ของ Microsoft รองรับการสังเคราะห์และรู้จำเสียงคุณภาพสูง",
"บริการเสียงบนคลาวด์ของ Microsoft รองรับการสังเคราะห์และรู้จำเสียงคุณภาพสูง",
"flutterVoiceService": "บริการเสียงในเครื่อง Flutter", "flutterVoiceService": "บริการเสียงในเครื่อง Flutter",
"flutterVoiceServiceInfo": "flutterVoiceServiceInfo": "บริการเสียงในเครื่องของอุปกรณ์ สามารถใช้งานได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต",
"บริการเสียงในเครื่องของอุปกรณ์ สามารถใช้งานได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต",
'timbreService': 'บริการโทนเสียง', 'timbreService': 'บริการโทนเสียง',
'timbreServiceInfo': 'เลือกบริการสังเคราะห์เสียงด้วยโทนเสียง', 'timbreServiceInfo': 'เลือกบริการสังเคราะห์เสียงด้วยโทนเสียง',
'defaultTimbre': 'โทนเสียงเริ่มต้น', 'defaultTimbre': 'โทนเสียงเริ่มต้น',
@ -695,8 +672,7 @@ const Map<String, String> thTH = {
// 设置页面 - 实时语音对话 // 设置页面 - 实时语音对话
"realtimeVoiceChat": "แชทเสียงแบบเรียลไทม์", "realtimeVoiceChat": "แชทเสียงแบบเรียลไทม์",
"realtimeVoiceChatInfo": "realtimeVoiceChatInfo": "สัมผัสประสบการณ์การโต้ตอบด้วยเสียงอัจฉริยะ (ตัวอย่างฟังก์ชัน)",
"สัมผัสประสบการณ์การโต้ตอบด้วยเสียงอัจฉริยะ (ตัวอย่างฟังก์ชัน)",
"loading": "กำลังโหลด...", "loading": "กำลังโหลด...",
//设备管理页面 //设备管理页面
@ -711,8 +687,7 @@ const Map<String, String> thTH = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -760,22 +735,18 @@ const Map<String, String> thTH = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'สวัสดี! ฉันคือ **เสี่ยวเหยียน** ฉันสามารถช่วยคุณได้:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• ตอบคำถามและให้ข้อมูล\n\n' '• 回答问题和提供信息\n\n'
'• แปลเสียงแบบเรียลไทม์\n\n' '• 实时语音翻译\n\n'
'• แนะนำเพลงและพอดคาสต์\n\n' '• 推荐音乐和播客\n\n'
'• บันทึกเสียงและเตือนความจำ\n\n' '• 语音备忘录和提醒\n\n'
'• ควบคุมฟังก์ชันของหูฟัง\n\n' '• 控制耳机功能\n\n'
'มีอะไรให้ฉันช่วยไหม', '有什么我可以帮你的吗?',
'microphonePermission': 'ไมโครโฟน', 'microphonePermission': 'ไมโครโฟน',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText': 'ฟังก์ชันรู้จำเสียงต้องการการเข้าถึงไมโครโฟน',
'ฟังก์ชันรู้จำเสียงต้องการการเข้าถึงไมโครโฟน', 'voiceTranslationPermissionText': 'ฟังก์ชันรู้จำและแปลเสียงต้องการการเข้าถึงไมโครโฟน',
'voiceTranslationPermissionText': 'phoneCallPermissionText': 'ฟังก์ชันโทรออกต้องการการเข้าถึงไมโครโฟนสำหรับการโทรด้วยเสียง',
'ฟังก์ชันรู้จำและแปลเสียงต้องการการเข้าถึงไมโครโฟน', 'permissionDeniedText': 'คุณได้ปฏิเสธการอนุญาตใช้ไมโครโฟนอย่างถาวร โปรดไปที่การตั้งค่าระบบเพื่อเปิดใช้งาน',
'phoneCallPermissionText':
'ฟังก์ชันโทรออกต้องการการเข้าถึงไมโครโฟนสำหรับการโทรด้วยเสียง',
'permissionDeniedText':
'คุณได้ปฏิเสธการอนุญาตใช้ไมโครโฟนอย่างถาวร โปรดไปที่การตั้งค่าระบบเพื่อเปิดใช้งาน',
'startVoiceInput': 'เริ่มการป้อนข้อมูลด้วยเสียง', 'startVoiceInput': 'เริ่มการป้อนข้อมูลด้วยเสียง',
'startPhoneCallMode': 'เริ่มโหมดโทรศัพท์ เริ่มการป้อนข้อมูลด้วยเสียง', 'startPhoneCallMode': 'เริ่มโหมดโทรศัพท์ เริ่มการป้อนข้อมูลด้วยเสียง',
@ -798,8 +769,7 @@ const Map<String, String> thTH = {
'privacyRelated': 'เกี่ยวกับความเป็นส่วนตัว', 'privacyRelated': 'เกี่ยวกับความเป็นส่วนตัว',
'copyrightViolation': 'ละเมิดลิขสิทธิ์ ชื่อเสียง ฯลฯ ของฉัน', 'copyrightViolation': 'ละเมิดลิขสิทธิ์ ชื่อเสียง ฯลฯ ของฉัน',
'other': 'อื่นๆ', 'other': 'อื่นๆ',
'reportDescriptionHint': 'reportDescriptionHint': 'เราต้องการทราบเหตุผลที่คุณรายงาน คุณสามารถอธิบายปัญหาที่คุณพบได้',
'เราต้องการทราบเหตุผลที่คุณรายงาน คุณสามารถอธิบายปัญหาที่คุณพบได้',
//'submit': '提交', //'submit': '提交',
//Message_bubble //Message_bubble
@ -831,20 +801,13 @@ const Map<String, String> thTH = {
'lowest': 'ต่ำสุด', 'lowest': 'ต่ำสุด',
'futureForecast': 'พยากรณ์อากาศล่วงหน้า', 'futureForecast': 'พยากรณ์อากาศล่วงหน้า',
'hotWeatherTip': 'วันนี้อากาศร้อน โปรดระวังโรคลมแดด ดื่มน้ำมากๆ', 'hotWeatherTip': 'วันนี้อากาศร้อน โปรดระวังโรคลมแดด ดื่มน้ำมากๆ',
'coldWeatherTip': 'coldWeatherTip': 'วันนี้อากาศเย็น โปรดใส่ใจเรื่องความอบอุ่นเมื่อออกไปข้างนอก ระวังเป็นหวัด',
'วันนี้อากาศเย็น โปรดใส่ใจเรื่องความอบอุ่นเมื่อออกไปข้างนอก ระวังเป็นหวัด', 'rainyWeatherTip': 'วันนี้มีฝน โปรดพกร่มเมื่อออกไปข้างนอก ระมัดระวังในการเดินทาง',
'rainyWeatherTip': 'snowyWeatherTip': 'วันนี้มีหิมะ ถนนลื่นโปรดระวังความปลอดภัย เตรียมมาตรการป้องกันความหนาว',
'วันนี้มีฝน โปรดพกร่มเมื่อออกไปข้างนอก ระมัดระวังในการเดินทาง', 'foggyWeatherTip': 'วันนี้มีหมอก ทัศนวิสัยต่ำ โปรดสวมหน้ากากเมื่อออกไปข้างนอก',
'snowyWeatherTip': 'windyWeatherTip': 'วันนี้ลมแรง โปรดระวังความปลอดภัยเมื่อออกไปข้างนอก ยึดของให้แน่น',
'วันนี้มีหิมะ ถนนลื่นโปรดระวังความปลอดภัย เตรียมมาตรการป้องกันความหนาว', 'sunnyWeatherTip': 'วันนี้แดดจัด รังสียูวีแรง โปรดป้องกันแสงแดดเมื่อออกไปข้างนอก',
'foggyWeatherTip': 'temperatureDifferenceTip': 'วันนี้อุณหภูมิต่างกันมากระหว่างกลางวันและกลางคืน โปรดเพิ่มหรือลดเสื้อผ้าให้เหมาะสม',
'วันนี้มีหมอก ทัศนวิสัยต่ำ โปรดสวมหน้ากากเมื่อออกไปข้างนอก',
'windyWeatherTip':
'วันนี้ลมแรง โปรดระวังความปลอดภัยเมื่อออกไปข้างนอก ยึดของให้แน่น',
'sunnyWeatherTip':
'วันนี้แดดจัด รังสียูวีแรง โปรดป้องกันแสงแดดเมื่อออกไปข้างนอก',
'temperatureDifferenceTip':
'วันนี้อุณหภูมิต่างกันมากระหว่างกลางวันและกลางคืน โปรดเพิ่มหรือลดเสื้อผ้าให้เหมาะสม',
'comfortableWeatherTip': 'วันนี้อากาศดี เป็นเวลาที่ดีสำหรับกิจกรรมกลางแจ้ง', 'comfortableWeatherTip': 'วันนี้อากาศดี เป็นเวลาที่ดีสำหรับกิจกรรมกลางแจ้ง',
"monday": "จ.", "monday": "จ.",
"tuesday": "อ.", "tuesday": "อ.",
@ -897,29 +860,22 @@ const Map<String, String> thTH = {
"logout": "ออกจากระบบ", "logout": "ออกจากระบบ",
"logoutTips": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบบัญชีปัจจุบัน", "logoutTips": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบบัญชีปัจจุบัน",
'deleteAccount': 'ลบบัญชี', 'deleteAccount': 'ลบบัญชี',
'deleteAccountTips': 'deleteAccountTips': 'คุณแน่ใจหรือไม่ว่าต้องการลบบัญชีของคุณอย่างถาวร การกระทำนี้ไม่สามารถย้อนกลับได้',
'คุณแน่ใจหรือไม่ว่าต้องการลบบัญชีของคุณอย่างถาวร การกระทำนี้ไม่สามารถย้อนกลับได้',
'clean': 'Clear Cache', 'clean': 'Clear Cache',
'cleanTips': 'Are you sure you want to clear personal cache?', 'cleanTips': 'Are you sure you want to clear personal cache?',
// Profile 错误信息 // Profile 错误信息
'networkConnectionFailed': 'networkConnectionFailed': 'การเชื่อมต่อเครือข่ายล้มเหลว โปรดตรวจสอบการตั้งค่าเครือข่ายแล้วลองใหม่',
'การเชื่อมต่อเครือข่ายล้มเหลว โปรดตรวจสอบการตั้งค่าเครือข่ายแล้วลองใหม่', 'serverTemporarilyUnavailable': 'เซิร์ฟเวอร์ไม่สามารถตอบสนองได้ชั่วคราว โปรดลองใหม่ในภายหลัง',
'serverTemporarilyUnavailable': 'loginExpiredPleaseRelogin': 'การเข้าสู่ระบบหมดอายุแล้ว โปรดเข้าสู่ระบบอีกครั้ง',
'เซิร์ฟเวอร์ไม่สามารถตอบสนองได้ชั่วคราว โปรดลองใหม่ในภายหลัง',
'loginExpiredPleaseRelogin':
'การเข้าสู่ระบบหมดอายุแล้ว โปรดเข้าสู่ระบบอีกครั้ง',
'noPermissionForThisOperation': 'ไม่มีสิทธิ์ดำเนินการนี้', 'noPermissionForThisOperation': 'ไม่มีสิทธิ์ดำเนินการนี้',
'requestedResourceNotFound': 'ไม่พบทรัพยากรที่ร้องขอ', 'requestedResourceNotFound': 'ไม่พบทรัพยากรที่ร้องขอ',
'imageProcessingFailedPleaseReselect': 'imageProcessingFailedPleaseReselect': 'การประมวลผลรูปภาพล้มเหลว โปรดเลือกรูปภาพอีกครั้ง',
'การประมวลผลรูปภาพล้มเหลว โปรดเลือกรูปภาพอีกครั้ง',
'operationFailedPleaseRetry': 'การดำเนินการล้มเหลว โปรดลองใหม่', 'operationFailedPleaseRetry': 'การดำเนินการล้มเหลว โปรดลองใหม่',
'serverReturnedError': 'เซิร์ฟเวอร์ส่งคืนข้อผิดพลาด', 'serverReturnedError': 'เซิร์ฟเวอร์ส่งคืนข้อผิดพลาด',
'serverError': 'ข้อผิดพลาดของเซิร์ฟเวอร์', 'serverError': 'ข้อผิดพลาดของเซิร์ฟเวอร์',
'networkConnectionFailedCheckSettings': 'networkConnectionFailedCheckSettings': 'การเชื่อมต่อเครือข่ายล้มเหลว โปรดตรวจสอบการตั้งค่าเครือข่าย',
'การเชื่อมต่อเครือข่ายล้มเหลว โปรดตรวจสอบการตั้งค่าเครือข่าย', 'serverInternalErrorRetryLater': 'ข้อผิดพลาดภายในเซิร์ฟเวอร์ โปรดลองใหม่ในภายหลัง',
'serverInternalErrorRetryLater':
'ข้อผิดพลาดภายในเซิร์ฟเวอร์ โปรดลองใหม่ในภายหลัง',
// Profile 用户交互 // Profile 用户交互
//'error': '错误', //'error': '错误',
@ -941,12 +897,10 @@ const Map<String, String> thTH = {
'thirdPartyLogoutSuccess': 'ออกจากระบบบุคคลที่สามสำเร็จ', // 第三方登录退出成功 'thirdPartyLogoutSuccess': 'ออกจากระบบบุคคลที่สามสำเร็จ', // 第三方登录退出成功
'thirdPartyLogoutFailed': 'ออกจากระบบบุคคลที่สามล้มเหลว', // 第三方登录退出失败 'thirdPartyLogoutFailed': 'ออกจากระบบบุคคลที่สามล้มเหลว', // 第三方登录退出失败
'signOutProcessError': 'เกิดข้อผิดพลาดระหว่างกระบวนการออกจากระบบ', // 登出过程发生错误 'signOutProcessError': 'เกิดข้อผิดพลาดระหว่างกระบวนการออกจากระบบ', // 登出过程发生错误
'deleteAccountProcessError': 'deleteAccountProcessError': 'เกิดข้อผิดพลาดระหว่างกระบวนการลบบัญชี', // 删除账号过程发生错误
'เกิดข้อผิดพลาดระหว่างกระบวนการลบบัญชี', // 删除账号过程发生错误
'userDataClearSuccess': 'ล้างข้อมูลผู้ใช้สำเร็จ', // 用户数据清理成功 'userDataClearSuccess': 'ล้างข้อมูลผู้ใช้สำเร็จ', // 用户数据清理成功
'allUserDataClearSuccess': 'ล้างข้อมูลผู้ใช้ทั้งหมดสำเร็จ', // 所有用户数据清理成功 'allUserDataClearSuccess': 'ล้างข้อมูลผู้ใช้ทั้งหมดสำเร็จ', // 所有用户数据清理成功
'accountServiceInitialized': 'accountServiceInitialized': 'AccountService ได้รับการเริ่มต้นแล้ว', // AccountService 已初始化
'AccountService ได้รับการเริ่มต้นแล้ว', // AccountService 已初始化
// 权限管理页面 // 权限管理页面
'getPermissionStatusFailed': 'รับสถานะสิทธิ์ล้มเหลว', 'getPermissionStatusFailed': 'รับสถานะสิทธิ์ล้มเหลว',
@ -969,11 +923,9 @@ const Map<String, String> thTH = {
'locationInfo': 'ข้อมูลตำแหน่ง', 'locationInfo': 'ข้อมูลตำแหน่ง',
'phonePermissionDesc': 'ใช้สำหรับฟังก์ชันการโทรออก', 'phonePermissionDesc': 'ใช้สำหรับฟังก์ชันการโทรออก',
'smsPermissionDesc': 'ใช้สำหรับฟังก์ชันการส่ง SMS', 'smsPermissionDesc': 'ใช้สำหรับฟังก์ชันการส่ง SMS',
'alarmPermissionDesc': 'alarmPermissionDesc': 'Used to set exact alarms to ensure reminders trigger on time',
'Used to set exact alarms to ensure reminders trigger on time',
'calendarWritePermissionDesc': 'ใช้สำหรับสร้างกิจกรรมและการแจ้งเตือนในปฏิทิน', 'calendarWritePermissionDesc': 'ใช้สำหรับสร้างกิจกรรมและการแจ้งเตือนในปฏิทิน',
'calendarFullAccessPermissionDesc': 'calendarFullAccessPermissionDesc': 'ใช้สำหรับอ่านและจัดการกิจกรรมและการแจ้งเตือนในปฏิทิน',
'ใช้สำหรับอ่านและจัดการกิจกรรมและการแจ้งเตือนในปฏิทิน',
'locationPermissionDesc': 'ใช้สำหรับรับข้อมูลตำแหน่งปัจจุบัน', 'locationPermissionDesc': 'ใช้สำหรับรับข้อมูลตำแหน่งปัจจุบัน',
'appFunctionNeeds': 'ฟังก์ชันแอปพลิเคชันต้องการ', 'appFunctionNeeds': 'ฟังก์ชันแอปพลิเคชันต้องการ',
'authorized': 'ได้รับอนุญาต', 'authorized': 'ได้รับอนุญาต',
@ -985,77 +937,53 @@ const Map<String, String> thTH = {
'permissionRequestError': 'เกิดข้อผิดพลาดขณะขอสิทธิ์', 'permissionRequestError': 'เกิดข้อผิดพลาดขณะขอสิทธิ์',
'phonePermissionDetailDesc': 'ฟังก์ชันโทรออกต้องการสิทธิ์โทรศัพท์', 'phonePermissionDetailDesc': 'ฟังก์ชันโทรออกต้องการสิทธิ์โทรศัพท์',
'smsPermissionDetailDesc': 'ฟังก์ชันส่ง SMS ต้องการสิทธิ์ SMS', 'smsPermissionDetailDesc': 'ฟังก์ชันส่ง SMS ต้องการสิทธิ์ SMS',
'alarmPermissionDetailDesc': 'alarmPermissionDetailDesc': 'This permission is required to set exact alarms and ensure reminders trigger on time',
'This permission is required to set exact alarms and ensure reminders trigger on time', 'calendarWritePermissionDetailDesc': 'การสร้างกิจกรรมในปฏิทินต้องการสิทธิ์เขียนปฏิทิน',
'calendarWritePermissionDetailDesc': 'calendarFullAccessPermissionDetailDesc': 'การจัดการกิจกรรมในปฏิทินต้องการสิทธิ์เข้าถึงปฏิทินเต็มรูปแบบ',
'การสร้างกิจกรรมในปฏิทินต้องการสิทธิ์เขียนปฏิทิน',
'calendarFullAccessPermissionDetailDesc':
'การจัดการกิจกรรมในปฏิทินต้องการสิทธิ์เข้าถึงปฏิทินเต็มรูปแบบ',
'locationPermissionDetailDesc': 'การรับข้อมูลตำแหน่งต้องการสิทธิ์ตำแหน่ง', 'locationPermissionDetailDesc': 'การรับข้อมูลตำแหน่งต้องการสิทธิ์ตำแหน่ง',
'contactsPermissionDesc': 'Used for accessing contact information', 'contactsPermissionDesc': 'Used for accessing contact information',
'contactsPermissionDetailDesc': 'contactsPermissionDetailDesc': 'Phone call and SMS functionality requires contacts permission to select contacts',
'Phone call and SMS functionality requires contacts permission to select contacts', 'bluetoothPermissionDesc': 'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDesc': 'bluetoothPermissionDetailDesc': 'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDetailDesc':
'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices', 'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices',
'bluetoothScanPermissionDetailDesc': 'bluetoothScanPermissionDetailDesc': 'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices', 'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices',
'bluetoothConnectPermissionDetailDesc': 'bluetoothConnectPermissionDetailDesc': 'Connecting to Bluetooth devices requires Bluetooth connect permission',
'Connecting to Bluetooth devices requires Bluetooth connect permission',
'notificationPermissionDesc': 'Used for sending notification messages', 'notificationPermissionDesc': 'Used for sending notification messages',
'notificationPermissionDetailDesc': 'notificationPermissionDetailDesc': 'App needs notification permission to send you important alerts and messages',
'App needs notification permission to send you important alerts and messages', 'appNeedsPermissionForFullFunction': 'แอปพลิเคชันต้องการสิทธิ์นี้เพื่อให้บริการเต็มรูปแบบ',
'appNeedsPermissionForFullFunction': 'permanentDenialText': 'คุณได้ปฏิเสธสิทธิ์ {permission} อย่างถาวร โปรดไปที่การตั้งค่าแอปเพื่อเปิดใช้งาน',
'แอปพลิเคชันต้องการสิทธิ์นี้เพื่อให้บริการเต็มรูปแบบ',
'permanentDenialText':
'คุณได้ปฏิเสธสิทธิ์ {permission} อย่างถาวร โปรดไปที่การตั้งค่าแอปเพื่อเปิดใช้งาน',
'goToSettings': 'ไปที่การตั้งค่า', 'goToSettings': 'ไปที่การตั้งค่า',
// 权限申请 // 权限申请
'bluetoothScan': 'Bluetooth Scan', 'bluetoothScan': 'Bluetooth Scan',
'bluetoothConnect': 'Bluetooth Connect', 'bluetoothConnect': 'Bluetooth Connect',
'bluetoothScanExplanation': 'bluetoothScanExplanation': 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.',
'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.', 'bluetoothConnectExplanation': 'The app needs Bluetooth connect permission to connect to Bluetooth devices.',
'bluetoothConnectExplanation': 'locationForBluetoothExplanation': 'The app needs location permission to scan Bluetooth devices.',
'The app needs Bluetooth connect permission to connect to Bluetooth devices.', 'bluetoothScanPermanentDenial': 'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'locationForBluetoothExplanation': 'bluetoothConnectPermanentDenial': 'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'The app needs location permission to scan Bluetooth devices.', 'locationPermanentDenial': 'Location permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothScanPermanentDenial':
'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothConnectPermanentDenial':
'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'locationPermanentDenial':
'Location permission has been permanently denied, please go to settings to enable it manually.',
'notificationPermission': 'Notification', 'notificationPermission': 'Notification',
'locationPermission': 'Location', 'locationPermission': 'Location',
'notificationPermissionExplanation': 'notificationPermissionExplanation': 'Notification permission is required to display music playback status.',
'Notification permission is required to display music playback status.', 'locationPermissionExplanation': 'Location permission is required to get current location.',
'locationPermissionExplanation': 'notificationPermissionPermanentDenial': 'You have permanently denied notification permission, please go to settings to enable it.',
'Location permission is required to get current location.', 'locationPermissionPermanentDenial': 'You have permanently denied location permission, please go to settings to enable it.',
'notificationPermissionPermanentDenial':
'You have permanently denied notification permission, please go to settings to enable it.',
'locationPermissionPermanentDenial':
'You have permanently denied location permission, please go to settings to enable it.',
//'microphonePermission': '录音', //'microphonePermission': '录音',
'storagePermission': 'Storage', 'storagePermission': 'Storage',
'microphonePermissionExplanation': 'microphonePermissionExplanation': 'We need microphone permission to record audio content.',
'We need microphone permission to record audio content.', 'storagePermissionExplanation': 'We need storage permission so you can select and upload audio files.',
'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
'permissionUtilPermission': ' Permission', 'permissionUtilPermission': ' Permission',
'permissionUtilRestricted': ' Permission Restricted', 'permissionUtilRestricted': ' Permission Restricted',
'permissionUtilRestrictedMessage': 'permissionUtilRestrictedMessage': 'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'permissionUtilConfirm': 'OK', 'permissionUtilConfirm': 'OK',
// 版本更新对话框 // 版本更新对话框
@ -1064,10 +992,8 @@ const Map<String, String> thTH = {
'updateNow': 'อัปเดตทันที', // 立即更新按钮 'updateNow': 'อัปเดตทันที', // 立即更新按钮
'checkUpdate': 'ตรวจสอบการอัปเดต', // 检查更新按钮 'checkUpdate': 'ตรวจสอบการอัปเดต', // 检查更新按钮
'updateFailed': 'อัปเดตล้มเหลว', // 更新失败提示 'updateFailed': 'อัปเดตล้มเหลว', // 更新失败提示
'cannotOpenAppStore': 'cannotOpenAppStore': 'ไม่สามารถเปิด App Store ได้ โปรดไปที่ App Store เพื่ออัปเดตด้วยตนเอง', // 无法打开应用商店提示
'ไม่สามารถเปิด App Store ได้ โปรดไปที่ App Store เพื่ออัปเดตด้วยตนเอง', // 无法打开应用商店提示 'updateErrorRetry': 'เกิดข้อผิดพลาดระหว่างการอัปเดต โปรดลองใหม่ในภายหลัง', // 更新错误重试提示
'updateErrorRetry':
'เกิดข้อผิดพลาดระหว่างการอัปเดต โปรดลองใหม่ในภายหลัง', // 更新错误重试提示
//国家列表 //国家列表
"邮箱": "อีเมล", "邮箱": "อีเมล",
@ -1203,8 +1129,7 @@ const Map<String, String> thTH = {
"selectTargetLanguage": "เลือกภาษาเป้าหมาย", "selectTargetLanguage": "เลือกภาษาเป้าหมาย",
"me": "Me", "me": "Me",
"counterPart": "Counterpart", "counterPart": "Counterpart",
"bluetoothCallStateError": "bluetoothCallStateError": "Please make sure the Bluetooth headset is connected to the phone and in a call state",
"Please make sure the Bluetooth headset is connected to the phone and in a call state",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
@ -1220,12 +1145,10 @@ const Map<String, String> thTH = {
"historyRecords": "History Records", "historyRecords": "History Records",
"clearResults": "Clear Results", "clearResults": "Clear Results",
"clearHistory": "ล้างประวัติ", "clearHistory": "ล้างประวัติ",
"clearHistoryConfirm": "clearHistoryConfirm": "คุณแน่ใจหรือไม่ว่าต้องการล้างประวัติการแปลทั้งหมด การกระทำนี้ไม่สามารถย้อนกลับได้",
"คุณแน่ใจหรือไม่ว่าต้องการล้างประวัติการแปลทั้งหมด การกระทำนี้ไม่สามารถย้อนกลับได้",
"unknownLanguage": "ภาษาที่ไม่รู้จัก", "unknownLanguage": "ภาษาที่ไม่รู้จัก",
"deleteSessionRecord": "ลบบันทึกเซสชัน", "deleteSessionRecord": "ลบบันทึกเซสชัน",
"deleteSessionConfirm": "deleteSessionConfirm": "คุณแน่ใจหรือไม่ว่าต้องการลบบันทึกการแปลทั้งหมดของเซสชันนี้ การกระทำนี้ไม่สามารถย้อนกลับได้",
"คุณแน่ใจหรือไม่ว่าต้องการลบบันทึกการแปลทั้งหมดของเซสชันนี้ การกระทำนี้ไม่สามารถย้อนกลับได้",
// 图片翻译模块(Picture Translation) // 图片翻译模块(Picture Translation)
"selectImageSource": "Select Image Source", "selectImageSource": "Select Image Source",
@ -1257,20 +1180,15 @@ const Map<String, String> thTH = {
"translationCompleted": "Translation Completed", "translationCompleted": "Translation Completed",
"allStepsCompleted": "All steps completed", "allStepsCompleted": "All steps completed",
"processingFailed": "Processing Failed", "processingFailed": "Processing Failed",
"imageProcessingOrTranslationFailed": "imageProcessingOrTranslationFailed": "Image processing or translation failed. Please retry.\nError: {error}",
"Image processing or translation failed. Please retry.\nError: {error}",
"imageTooLarge": "Image size exceeds 4MB limit", "imageTooLarge": "Image size exceeds 4MB limit",
"imageTooLargeHint": "imageTooLargeHint": "Image size exceeds 4MB. Reduce quality or dimensions and retry",
"Image size exceeds 4MB. Reduce quality or dimensions and retry",
"emptyTranslationResult": "Image translation API returned empty result", "emptyTranslationResult": "Image translation API returned empty result",
"imageTranslationFailedTryLater": "imageTranslationFailedTryLater": "Image translation failed. Network issue or rate limit. Please try later",
"Image translation failed. Network issue or rate limit. Please try later", "imageTranslationApiException": "Image translation API exception. Check network and retry",
"imageTranslationApiException":
"Image translation API exception. Check network and retry",
"permissionRequired": "Permission Required", "permissionRequired": "Permission Required",
"cameraPermissionRequired": "Camera permission required to take photos", "cameraPermissionRequired": "Camera permission required to take photos",
"photoAlbumPermissionRequired": "photoAlbumPermissionRequired": "Photo album permission required to pick images",
"Photo album permission required to pick images",
"translationDetails": "Translation Details", "translationDetails": "Translation Details",
"originalImage": "Original Image", "originalImage": "Original Image",
"sourceLanguage": "Source Language", "sourceLanguage": "Source Language",
@ -1301,11 +1219,9 @@ const Map<String, String> thTH = {
"summaryGenerated": "สร้างสรุปแล้ว", "summaryGenerated": "สร้างสรุปแล้ว",
"generating": "กำลังสร้าง...", "generating": "กำลังสร้าง...",
"regenerate": "สร้างใหม่", "regenerate": "สร้างใหม่",
"summaryTimeoutMessage": "summaryTimeoutMessage": "คำขอสร้างสรุปหมดเวลา อาจเป็นเพราะปัญหาเครือข่ายหรือเซิร์ฟเวอร์ไม่ว่าง",
"คำขอสร้างสรุปหมดเวลา อาจเป็นเพราะปัญหาเครือข่ายหรือเซิร์ฟเวอร์ไม่ว่าง",
"deleteTranslationRecord": "ลบบันทึกการแปล", "deleteTranslationRecord": "ลบบันทึกการแปล",
"deleteTranslationConfirm": "deleteTranslationConfirm": "คุณแน่ใจหรือไม่ว่าต้องการลบบันทึกการแปลนี้ การกระทำนี้ไม่สามารถย้อนกลับได้",
"คุณแน่ใจหรือไม่ว่าต้องการลบบันทึกการแปลนี้ การกระทำนี้ไม่สามารถย้อนกลับได้",
"originalText": "ข้อความต้นฉบับ", "originalText": "ข้อความต้นฉบับ",
"translatedText": "ข้อความที่แปลแล้ว", "translatedText": "ข้อความที่แปลแล้ว",
"sessionSummary": "สรุปเซสชัน", "sessionSummary": "สรุปเซสชัน",
@ -1333,24 +1249,19 @@ const Map<String, String> thTH = {
// 配对状态文本 // 配对状态文本
"readyToPair": "พร้อมที่จะจับคู่", "readyToPair": "พร้อมที่จะจับคู่",
"preparingPairingEnvironment": "กำลังเตรียมสภาพแวดล้อมการจับคู่...", "preparingPairingEnvironment": "กำลังเตรียมสภาพแวดล้อมการจับคู่...",
"connectDeepSoundViaSystemBluetooth": "connectDeepSoundViaSystemBluetooth": "กรุณาเชื่อมต่อกับอุปกรณ์ Voitrans ผ่านบลูทูธของระบบก่อน",
"กรุณาเชื่อมต่อกับอุปกรณ์ Voitrans ผ่านบลูทูธของระบบก่อน",
"deviceBindingConfirm": "ยืนยันการผูกอุปกรณ์...", "deviceBindingConfirm": "ยืนยันการผูกอุปกรณ์...",
"establishingDeviceAssociation": "กำลังสร้างการเชื่อมโยงอุปกรณ์...", "establishingDeviceAssociation": "กำลังสร้างการเชื่อมโยงอุปกรณ์...",
"waitingCompletePairing": "กรุณารอสักครู่ กำลังทำการจับคู่ให้เสร็จสิ้น...", "waitingCompletePairing": "กรุณารอสักครู่ กำลังทำการจับคู่ให้เสร็จสิ้น...",
"pairingSuccessRedirecting": "pairingSuccessRedirecting": "การจับคู่สำเร็จ! กำลังเปลี่ยนเส้นทางไปยังหน้าหลัก...",
"การจับคู่สำเร็จ! กำลังเปลี่ยนเส้นทางไปยังหน้าหลัก...",
// 配对错误状态文本 // 配对错误状态文本
"ensureConnectedDeepSoundDevice": "ensureConnectedDeepSoundDevice": "โปรดตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับอุปกรณ์ Voitrans",
"โปรดตรวจสอบให้แน่ใจว่าคุณเชื่อมต่อกับอุปกรณ์ Voitrans",
"deviceAlreadyBoundToOtherAccount": "อุปกรณ์นี้ถูกผูกไว้กับบัญชีอื่นแล้ว", "deviceAlreadyBoundToOtherAccount": "อุปกรณ์นี้ถูกผูกไว้กับบัญชีอื่นแล้ว",
"deviceAssociationFailed": "การเชื่อมโยงอุปกรณ์ล้มเหลว โปรดลองอีกครั้ง", "deviceAssociationFailed": "การเชื่อมโยงอุปกรณ์ล้มเหลว โปรดลองอีกครั้ง",
"scanTimeoutEnsureDeviceNearby": "scanTimeoutEnsureDeviceNearby": "การสแกนหมดเวลา โปรดตรวจสอบให้แน่ใจว่าอุปกรณ์อยู่ใกล้ๆ",
"การสแกนหมดเวลา โปรดตรวจสอบให้แน่ใจว่าอุปกรณ์อยู่ใกล้ๆ",
"networkError": "ข้อผิดพลาดเครือข่าย", "networkError": "ข้อผิดพลาดเครือข่าย",
"authorizationFailedCheckCode": "authorizationFailedCheckCode": "การอนุญาตล้มเหลว โปรดตรวจสอบว่ารหัสอนุญาตถูกต้องหรือไม่",
"การอนุญาตล้มเหลว โปรดตรวจสอบว่ารหัสอนุญาตถูกต้องหรือไม่",
"pairingFailedRetry": "การจับคู่ล้มเหลว โปรดลองอีกครั้ง", "pairingFailedRetry": "การจับคู่ล้มเหลว โปรดลองอีกครั้ง",
// 配对控制器相关 // 配对控制器相关
@ -1359,8 +1270,7 @@ const Map<String, String> thTH = {
'deviceDisconnected': 'อุปกรณ์ตัดการเชื่อมต่อแล้ว', 'deviceDisconnected': 'อุปกรณ์ตัดการเชื่อมต่อแล้ว',
'readyToStartPairing': 'พร้อมที่จะเริ่มการจับคู่', 'readyToStartPairing': 'พร้อมที่จะเริ่มการจับคู่',
'checkingEnvironment': 'กำลังตรวจสอบสภาพแวดล้อม...', 'checkingEnvironment': 'กำลังตรวจสอบสภาพแวดล้อม...',
'ensureHeadsetOnAndPairingMode': 'ensureHeadsetOnAndPairingMode': 'โปรดตรวจสอบให้แน่ใจว่าหูฟังเปิดอยู่และอยู่ในโหมดจับคู่',
'โปรดตรวจสอบให้แน่ใจว่าหูฟังเปิดอยู่และอยู่ในโหมดจับคู่',
//'goToBluetoothSettings': '前往蓝牙设置', //'goToBluetoothSettings': '前往蓝牙设置',
//'verifyingDevice': '正在验证设备...', //'verifyingDevice': '正在验证设备...',
//'confirmBinding': '确认绑定', //'confirmBinding': '确认绑定',
@ -1382,20 +1292,15 @@ const Map<String, String> thTH = {
'bleConnectionTimeoutRetry': 'การเชื่อมต่อ BLE หมดเวลา โปรดลองอีกครั้ง', 'bleConnectionTimeoutRetry': 'การเชื่อมต่อ BLE หมดเวลา โปรดลองอีกครั้ง',
'blePairingStartupFailed': 'การเริ่มต้นการจับคู่ BLE ล้มเหลว', 'blePairingStartupFailed': 'การเริ่มต้นการจับคู่ BLE ล้มเหลว',
'bleConnectionFailed': 'การเชื่อมต่อ BLE ล้มเหลว', 'bleConnectionFailed': 'การเชื่อมต่อ BLE ล้มเหลว',
'deviceAuthorizationFailedCheckCode': 'deviceAuthorizationFailedCheckCode': 'การอนุญาตอุปกรณ์ล้มเหลว โปรดตรวจสอบรหัสอนุญาต',
'การอนุญาตอุปกรณ์ล้มเหลว โปรดตรวจสอบรหัสอนุญาต',
///iOS蓝牙引导窗 ///iOS蓝牙引导窗
'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙 'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙
'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作: 'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作:
'bluetoothGuideStep1': 'bluetoothGuideStep1': 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启
'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启 'bluetoothGuideStep2': 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接
'bluetoothGuideStep2': 'bluetoothGuideStep3': 'Return to app to continue pairing process', // 返回应用继续配对流程
'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接 'bluetoothGuideTip': 'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'bluetoothGuideStep3':
'Return to app to continue pairing process', // 返回应用继续配对流程
'bluetoothGuideTip':
'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'iKnow': 'I Know', // 我知道了 'iKnow': 'I Know', // 我知道了
//用户反馈页 //用户反馈页
@ -1407,13 +1312,11 @@ const Map<String, String> thTH = {
'contactInfo': 'ข้อมูลติดต่อ', 'contactInfo': 'ข้อมูลติดต่อ',
'contactHint': 'อีเมล/หมายเลขโทรศัพท์ เพื่อให้เราสามารถติดต่อคุณได้', 'contactHint': 'อีเมล/หมายเลขโทรศัพท์ เพื่อให้เราสามารถติดต่อคุณได้',
'submit': 'ส่ง', 'submit': 'ส่ง',
'feedbackSubmitSuccess': 'feedbackSubmitSuccess': 'ส่งความคิดเห็นสำเร็จ ขอบคุณสำหรับความคิดเห็นของคุณ!',
'ส่งความคิดเห็นสำเร็จ ขอบคุณสำหรับความคิดเห็นของคุณ!',
'feedbackSubmitFailed': 'ส่งความคิดเห็นล้มเหลว โปรดลองใหม่ในภายหลัง', 'feedbackSubmitFailed': 'ส่งความคิดเห็นล้มเหลว โปรดลองใหม่ในภายหลัง',
// OTA升级模块 // OTA升级模块
"upgradeExitConfirm": "upgradeExitConfirm": "กำลังอัปเกรด การออกจะขัดจังหวะกระบวนการอัปเกรด คุณแน่ใจหรือไม่ว่าต้องการออก",
"กำลังอัปเกรด การออกจะขัดจังหวะกระบวนการอัปเกรด คุณแน่ใจหรือไม่ว่าต้องการออก",
"deviceModel": "รุ่นอุปกรณ์", "deviceModel": "รุ่นอุปกรณ์",
"unknownDevice": "อุปกรณ์ที่ไม่รู้จัก", "unknownDevice": "อุปกรณ์ที่ไม่รู้จัก",
"currentFirmwareVersion": "เวอร์ชันเฟิร์มแวร์ปัจจุบัน", "currentFirmwareVersion": "เวอร์ชันเฟิร์มแวร์ปัจจุบัน",
@ -1426,19 +1329,14 @@ const Map<String, String> thTH = {
"retryConnection": "ลองเชื่อมต่อใหม่", "retryConnection": "ลองเชื่อมต่อใหม่",
"ota_updateNow": "อัปเดตทันที", "ota_updateNow": "อัปเดตทันที",
"otaVersionInfoFailed": "Failed to get version info. Please try again later.", "otaVersionInfoFailed": "Failed to get version info. Please try again later.",
"otaDeviceInfoUnavailable": "otaDeviceInfoUnavailable": "Unable to get device info. Please check the connection and retry.",
"Unable to get device info. Please check the connection and retry.", "otaProductInfoUnavailable": "Unable to identify the device. Please reconnect and retry.",
"otaProductInfoUnavailable": "otaFirmwareVersionInvalid": "Firmware version is abnormal. Please reconnect and retry.",
"Unable to identify the device. Please reconnect and retry.", "keepConnectedDontClose": "โปรดให้อุปกรณ์เชื่อมต่ออยู่เสมอ อย่าปิดแอปพลิเคชัน",
"otaFirmwareVersionInvalid":
"Firmware version is abnormal. Please reconnect and retry.",
"keepConnectedDontClose":
"โปรดให้อุปกรณ์เชื่อมต่ออยู่เสมอ อย่าปิดแอปพลิเคชัน",
"doNotDisconnect": "โปรดอย่าตัดการเชื่อมต่อ", "doNotDisconnect": "โปรดอย่าตัดการเชื่อมต่อ",
"charging": "กำลังชาร์จ", "charging": "กำลังชาร์จ",
"updateContent": "เนื้อหาการอัปเดต", "updateContent": "เนื้อหาการอัปเดต",
"removeEarbudsEnsureBattery": "removeEarbudsEnsureBattery": "ถอดหูฟังทั้งสองข้างออก และตรวจสอบให้แน่ใจว่าแบตเตอรี่ทั้งสองข้างมีพลังงานมากกว่า 20%",
"ถอดหูฟังทั้งสองข้างออก และตรวจสอบให้แน่ใจว่าแบตเตอรี่ทั้งสองข้างมีพลังงานมากกว่า 20%",
// 音乐列表页面 // 音乐列表页面
"noMusic": "ไม่มีเพลง", // 暂无音乐 "noMusic": "ไม่มีเพลง", // 暂无音乐
@ -1448,9 +1346,9 @@ const Map<String, String> thTH = {
"playAll": "เล่นทั้งหมด", // 播放全部 "playAll": "เล่นทั้งหมด", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "ภาษาจีน (ตัวย่อ)", "中文(简体)": "中文(简体)",
"中文(繁体)": "ภาษาจีน (ตัวเต็ม)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "ภาษาจีน (ฮ่องกงตัวเต็ม)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "ภาษาอังกฤษ", "英语": "ภาษาอังกฤษ",
"日语": "ภาษาญี่ปุ่น", "日语": "ภาษาญี่ปุ่น",
"韩语": "ภาษาเกาหลี", "韩语": "ภาษาเกาหลี",
@ -1500,10 +1398,8 @@ const Map<String, String> thTH = {
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc": "Insufficient balance, please go to the corresponding recharge page to recharge.",
'Insufficient balance, please go to the corresponding recharge page to recharge.', "recharge": "Go to Recharge",
"recharge": 'Go to Recharge',
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc": "AI membership expired, please go to the membership recharge page to renew.",
'AI membership expired, please go to the membership recharge page to renew.',
}; };

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

@ -72,8 +72,7 @@ const Map<String, String> tlPH = {
// 登录页 // 登录页
"welcome": "Maligayang pagdating", "welcome": "Maligayang pagdating",
"loginTips": "loginTips": "Mangyaring mag-login o mag-signup gamit ang iyong numero ng telepono o email",
"Mangyaring mag-login o mag-signup gamit ang iyong numero ng telepono o email",
"accountNumber": "Numero ng Telepono o Email", "accountNumber": "Numero ng Telepono o Email",
"verificationCode": "Verification Code", "verificationCode": "Verification Code",
"getCode": "Kunin ang Code", "getCode": "Kunin ang Code",
@ -92,8 +91,7 @@ const Map<String, String> tlPH = {
"tip": "Paalala", "tip": "Paalala",
"pleaseEnterCompleteCode": "Pakilagay ang kumpletong verification code", "pleaseEnterCompleteCode": "Pakilagay ang kumpletong verification code",
"loginFailed": "Nabigo ang pag-login, pakisubukang muli", "loginFailed": "Nabigo ang pag-login, pakisubukang muli",
'pleaseAcceptPrivacyPolicy': 'pleaseAcceptPrivacyPolicy': 'Pakibasa at sumang-ayon muna sa Patakaran sa Privacy at Kasunduan ng User',
'Pakibasa at sumang-ayon muna sa Patakaran sa Privacy at Kasunduan ng User',
"enterVerificationCode": "Ilagay ang Verification Code", "enterVerificationCode": "Ilagay ang Verification Code",
"verificationCodeSentTo": "Ang verification code ay ipinadala sa", "verificationCodeSentTo": "Ang verification code ay ipinadala sa",
"resendVerificationCode": "Ipadala muli ang verification code", "resendVerificationCode": "Ipadala muli ang verification code",
@ -102,12 +100,11 @@ const Map<String, String> tlPH = {
// 隐私政策弹窗 // 隐私政策弹窗
"loginDeclaration": "Pahayag ng Voitrans", // Voitrans 声明 "loginDeclaration": "Pahayag ng Voitrans", // Voitrans 声明
"welcomeToThisApp": "welcomeToThisApp": "Maligayang pagdating sa Voitrans, mangyaring basahin nang mabuti", // 欢迎使用Voitrans,请充分阅读
"Maligayang pagdating sa Voitrans, mangyaring basahin nang mabuti", // 欢迎使用Voitrans,请充分阅读
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", ang pag-click sa 'Sumang-ayon at Pumasok' ay nangangahulugang nabasa mo nang buo at sumasang-ayon ka sa mga nabanggit na kasunduan. Ang pag-click sa 'Hindi Sumasang-ayon' ay magsasara ng app.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Hindi Sumasang-ayon", // 不同意 "disagree": "Hindi Sumasang-ayon", // 不同意
"agreeAndEnter": "Sumang-ayon at Pumasok", // 同意并进入 "agreeAndEnter": "Sumang-ayon at Pumasok", // 同意并进入
@ -119,30 +116,24 @@ const Map<String, String> tlPH = {
"signal": "Signal", "signal": "Signal",
"deviceId": "Device ID", "deviceId": "Device ID",
"firmwareVersion": "Bersyon ng Firmware", "firmwareVersion": "Bersyon ng Firmware",
"disconnectedDevice": "disconnectedDevice": "Walang device na konektado, i-click ang button sa ibaba para kumonekta",
"Walang device na konektado, i-click ang button sa ibaba para kumonekta",
"connectDevice": "Ikonekta ang Device", "connectDevice": "Ikonekta ang Device",
"topAiExperiences": "Mga Nangungunang Karanasan sa AI", "topAiExperiences": "Mga Nangungunang Karanasan sa AI",
"aiAssistant": "AI All-in-One Assistant", "aiAssistant": "AI All-in-One Assistant",
"aiAssistantInfo": "aiAssistantInfo": "24/7 na eksklusibong consultant, sumasagot sa mga tanong, nagbibigay ng payo",
"24/7 na eksklusibong consultant, sumasagot sa mga tanong, nagbibigay ng payo",
"interpretation": "Sabayang Pagsasalin", "interpretation": "Sabayang Pagsasalin",
"simultaneousInterpretationInfo": "simultaneousInterpretationInfo": "Real-time na pagsasalin sa 80+ na wika, walang alalahanin sa paglalakbay sa ibang bansa",
"Real-time na pagsasalin sa 80+ na wika, walang alalahanin sa paglalakbay sa ibang bansa",
"aiCompanion": "Kasama ng Pamilya", "aiCompanion": "Kasama ng Pamilya",
"aiCompanionInfo": "Nakakaintindi sa iyo, mainit na samahan", "aiCompanionInfo": "Nakakaintindi sa iyo, mainit na samahan",
"homeSlogan": "Ikonekta ang mundo, lampas sa tunog", "homeSlogan": "Ikonekta ang mundo, lampas sa tunog",
"turnEarphones": "turnEarphones": "Pakibuksan ang charging case ng earphones, at ilagay ang earphones sa iyong mga tainga",
"Pakibuksan ang charging case ng earphones, at ilagay ang earphones sa iyong mga tainga",
"currentlyConnected": "Kasalukuyang konektado:", "currentlyConnected": "Kasalukuyang konektado:",
"unsystemSetup": "Pumunta sa Mga Setting ng System", "unsystemSetup": "Pumunta sa Mga Setting ng System",
"talkLater": "Mamaya na", "talkLater": "Mamaya na",
"initializing": "Nag-i-initialize...", "initializing": "Nag-i-initialize...",
"bluetoothInitializationFailure": "bluetoothInitializationFailure": "Nabigo ang pag-initialize ng serbisyo ng Bluetooth",
"Nabigo ang pag-initialize ng serbisyo ng Bluetooth",
"checkingPermissions": "Sinusuri ang mga pahintulot...", "checkingPermissions": "Sinusuri ang mga pahintulot...",
"lackPermissions": "lackPermissions": "Kulang sa mga pahintulot ng Bluetooth at sumasang-ayon ka sa lokasyon",
"Kulang sa mga pahintulot ng Bluetooth at sumasang-ayon ka sa lokasyon",
"searchingDevice": "Naghahanap ng mga device...", "searchingDevice": "Naghahanap ng mga device...",
"findConnectedDevice": "Natagpuan ang konektadong device", "findConnectedDevice": "Natagpuan ang konektadong device",
"notFound": "Walang natagpuang konektadong Bluetooth device", "notFound": "Walang natagpuang konektadong Bluetooth device",
@ -174,8 +165,7 @@ const Map<String, String> tlPH = {
"exploreAi": "Galugarin ang mga function ng AI na inaalok ng Voitrans", "exploreAi": "Galugarin ang mga function ng AI na inaalok ng Voitrans",
"aiFunction": "Mga Function ng AI", "aiFunction": "Mga Function ng AI",
"allRoundAssistant": "All-in-One Assistant", "allRoundAssistant": "All-in-One Assistant",
"allRoundAssistantInfo": "allRoundAssistantInfo": "Tumutulong sa iyong malutas ang iba't ibang problema",
"Tumutulong sa iyong malutas ang iba't ibang problema",
"simultaneousTranslation": "Sabayang Pagsasalin", "simultaneousTranslation": "Sabayang Pagsasalin",
"faceToFaceTranslation": "Pagsasalin ng Harapan", "faceToFaceTranslation": "Pagsasalin ng Harapan",
'audioVideoTranslation': 'Pagsasalin ng Audio at Video', 'audioVideoTranslation': 'Pagsasalin ng Audio at Video',
@ -186,8 +176,7 @@ const Map<String, String> tlPH = {
"healthConsultant": "Multi-functional na AI Chat", "healthConsultant": "Multi-functional na AI Chat",
"healthConsultantInfo": "Nagbibigay ng mas maraming function ng AI chat", "healthConsultantInfo": "Nagbibigay ng mas maraming function ng AI chat",
"conferenceAssistant": "Business Meeting Assistant", "conferenceAssistant": "Business Meeting Assistant",
"conferenceAssistantInfo": "conferenceAssistantInfo": "Real-time na pagtatala ng mga minuto ng pulong, pagsasalin sa maraming wika",
"Real-time na pagtatala ng mga minuto ng pulong, pagsasalin sa maraming wika",
"usageStats": "Usage Statistics", "usageStats": "Usage Statistics",
"usageStatsInfo": "View your usage statistics", "usageStatsInfo": "View your usage statistics",
"scene": "Eksena", "scene": "Eksena",
@ -230,8 +219,7 @@ const Map<String, String> tlPH = {
"transcriptBytes": "Transcript Bytes", "transcriptBytes": "Transcript Bytes",
// 通知文案 // 通知文案
"loadFailed": "Load Failed", "loadFailed": "Load Failed",
"statsLoadFailedTryLater": "statsLoadFailedTryLater": "Statistics failed to load. Please try again later.",
"Statistics failed to load. Please try again later.",
"cleanupComplete": "Cleanup Complete", "cleanupComplete": "Cleanup Complete",
"cleanedOldData": "Cleaned data older than 90 days", "cleanedOldData": "Cleaned data older than 90 days",
"exportFeature": "Export Feature", "exportFeature": "Export Feature",
@ -287,10 +275,8 @@ const Map<String, String> tlPH = {
'copyrightVoitrans': '© 2025 Voitrans Technologies', 'copyrightVoitrans': '© 2025 Voitrans Technologies',
// 会议商品页描述 // 会议商品页描述
'meetingHeaderDesc1': 'meetingHeaderDesc1': 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'meetingHeaderDesc2': 'Suitable for business meetings, class notes, and interview minutes.',
'meetingHeaderDesc2':
'Suitable for business meetings, class notes, and interview minutes.',
'meetingAutoRecording': 'Auto recording and segmentation', 'meetingAutoRecording': 'Auto recording and segmentation',
'meetingSpeakerTagging': 'Speaker labeling', 'meetingSpeakerTagging': 'Speaker labeling',
'meetingLongAudioTranscription': 'Long audio transcription', 'meetingLongAudioTranscription': 'Long audio transcription',
@ -299,35 +285,27 @@ const Map<String, String> tlPH = {
'meetingTimelineJump': 'Timeline jump', 'meetingTimelineJump': 'Timeline jump',
'meetingExportSummary': 'Export minutes', 'meetingExportSummary': 'Export minutes',
'meetingMultiPlatformShare': 'Share across platforms', 'meetingMultiPlatformShare': 'Share across platforms',
'meetingDisclaimer': 'meetingDisclaimer': 'Use in quiet environments; performance depends on microphone and network.',
'Use in quiet environments; performance depends on microphone and network.',
// 同传/翻译商品页描述 // 同传/翻译商品页描述
'transHeaderDesc1': 'transHeaderDesc1': 'Real-time simultaneous interpretation and text translation with low-latency voice.',
'Real-time simultaneous interpretation and text translation with low-latency voice.',
'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.', 'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
'translateZhEn': 'Chinese-English translation', 'translateZhEn': 'Chinese-English translation',
'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast', 'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast',
'multiLangTextTranslation': 'Multilingual text translation', 'multiLangTextTranslation': 'Multilingual text translation',
'termOptimizationContextPreserve': 'termOptimizationContextPreserve': 'Terminology optimization and context preservation',
'Terminology optimization and context preservation',
'lexiconTourBusinessLife': 'Travel/Business/Life lexicons', 'lexiconTourBusinessLife': 'Travel/Business/Life lexicons',
'personalVocabularyMemory': 'Personal vocabulary memory', 'personalVocabularyMemory': 'Personal vocabulary memory',
'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode', 'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode',
'colorHighContrast': 'High color contrast', 'colorHighContrast': 'High color contrast',
'transDisclaimer': 'transDisclaimer': 'Translation performance depends on microphone, network latency, and ambient noise.',
'Translation performance depends on microphone, network latency, and ambient noise.',
// AI 商品页描述 // AI 商品页描述
'aiHeaderDesc1': 'aiHeaderDesc1': 'Longer conversation quota, more tool calls, extended context length.',
'Longer conversation quota, more tool calls, extended context length.', 'aiHeaderDesc2': 'Suitable for agent Q&A, summarization, analysis, and task execution.',
'aiHeaderDesc2':
'Suitable for agent Q&A, summarization, analysis, and task execution.',
'musicSearchPlaybackControl': 'Music library search and playback control', 'musicSearchPlaybackControl': 'Music library search and playback control',
'smartPlaylistAndSimilarRecommendations': 'smartPlaylistAndSimilarRecommendations': 'Smart playlist and similar song recommendations',
'Smart playlist and similar song recommendations', 'routePlanningAndCongestionAvoidance': 'Route planning and congestion avoidance',
'routePlanningAndCongestionAvoidance':
'Route planning and congestion avoidance',
'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings', 'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings',
'realTimeWeatherForecast': 'Real-time weather and forecast', 'realTimeWeatherForecast': 'Real-time weather and forecast',
'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders', 'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders',
@ -336,10 +314,8 @@ const Map<String, String> tlPH = {
'hotNewsAndTopicOverview': 'Hot news and topic overview', 'hotNewsAndTopicOverview': 'Hot news and topic overview',
'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points', 'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points',
'helpCallAndSMS': 'Help with calls and SMS', 'helpCallAndSMS': 'Help with calls and SMS',
'templatedMessagesAndScheduleReminders': 'templatedMessagesAndScheduleReminders': 'Template messages and schedule reminders',
'Template messages and schedule reminders', 'aiDisclaimer': 'Features depend on device permissions, service availability, and network conditions.',
'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.',
// 会员商品页 // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
@ -354,11 +330,10 @@ const Map<String, String> tlPH = {
'generalPrivileges': 'General privileges', 'generalPrivileges': 'General privileges',
'earlyAccessNewFeatures': 'Early access to new features', 'earlyAccessNewFeatures': 'Early access to new features',
'crossDeviceSync': 'Cross-device sync', 'crossDeviceSync': 'Cross-device sync',
'vipDisclaimer': 'vipDisclaimer': 'Actual benefits depend on the package details and may change with versions.',
'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Laktawan", 'skip': 'Laktawan',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -381,8 +356,7 @@ const Map<String, String> tlPH = {
'guideNavInput': 'Navigate to Shenzhen Airport', 'guideNavInput': 'Navigate to Shenzhen Airport',
'guideNavSend': 'Lily will plan the route', 'guideNavSend': 'Lily will plan the route',
'guideNavEnd': 'Navigation set—try other commands', 'guideNavEnd': 'Navigation set—try other commands',
'guideMeetingStart': 'guideMeetingStart': 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow', 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
'guideMeetingSend': 'Lily will create a meeting reminder', 'guideMeetingSend': 'Lily will create a meeting reminder',
'guideMeetingEnd': 'Reminder created—try other commands', 'guideMeetingEnd': 'Reminder created—try other commands',
@ -432,8 +406,7 @@ const Map<String, String> tlPH = {
'downloadingFiles': 'Downloading files...', 'downloadingFiles': 'Downloading files...',
'downloadingFileProgress': 'Total {total} files, downloading file {current}', 'downloadingFileProgress': 'Total {total} files, downloading file {current}',
'downloadComplete': 'Download complete', 'downloadComplete': 'Download complete',
'downloadCompleteInfo': 'downloadCompleteInfo': 'Download complete, {count} files in total, returning automatically in 2 seconds',
'Download complete, {count} files in total, returning automatically in 2 seconds',
// Meeting模块 - 录音功能 // Meeting模块 - 录音功能
'startRecording': 'Start Recording', 'startRecording': 'Start Recording',
@ -441,6 +414,23 @@ const Map<String, String> tlPH = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Lumabas sa Pag-record', // 退出录音
'meetingRecordExitMessage': 'Pumili ng aksyon pagkatapos umalis', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Tapusin at I-save', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Tapusin nang Hindi Ise-save', // 结束录音不保存
'meetingRecordContinueInBackground': 'Ituloy ang pag-record sa background', // 后台继续录音
'meetingRecordStopTimeout': 'Nag-timeout ang paghinto ng record, pakisubukang muli', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Nabigong ihinto ang pag-record, pakisubukang muli', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Nabigong i-save ang pag-record, pakisubukang muli', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Nagre-record', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Nagre-record sa background, i-tap para bumalik', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Pahintulot sa Floating Window', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'Para maipakita ang mga resulta ng pagsasalin habang tumatawag o nagsasalin ng audio/video, kailangan namin ang overlay permission. Pinapayagan ka nitong makita ang real-time na pagsasalin habang gumagamit ng ibang mga app.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'Para maipakita ang lumulutang na bar ng pagre-record (timer/pause/ituloy) habang nagre-record, kailangan namin ang overlay permission.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Hindi awtomatikong mabuksan ang system settings. Pakibuksan ang Settings at i-enable nang manu-mano ang overlay permission.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -488,54 +478,40 @@ const Map<String, String> tlPH = {
'audioImport': 'Audio Import', 'audioImport': 'Audio Import',
'multipleExportFormats': 'Multiple Export Formats', 'multipleExportFormats': 'Multiple Export Formats',
'professionalSummaryTemplates': 'Professional Summary Templates', 'professionalSummaryTemplates': 'Professional Summary Templates',
'professionalTemplateDesc': 'professionalTemplateDesc': 'Professional template design to improve your work efficiency. Customized according to industry needs.',
'Professional template design to improve your work efficiency. Customized according to industry needs.', 'customTemplateDesc': 'You can customize summary prompts according to your needs and use them to generate the required summaries.',
'customTemplateDesc': 'askAiDesc': 'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.',
'You can customize summary prompts according to your needs and use them to generate the required summaries.', 'visualMindMapDesc': 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.',
'askAiDesc': 'templateCommunityDesc': 'Discover, share, and get inspiration from the template library created by users.',
'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.', 'speakerIdentificationDesc': 'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'visualMindMapDesc': 'privateCloudSyncDesc': 'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.', 'aiVoiceEnhancementDesc': 'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'templateCommunityDesc': 'audioImportDesc': 'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'Discover, share, and get inspiration from the template library created by users.', 'multipleExportFormatsDesc': 'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
'speakerIdentificationDesc':
'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'privateCloudSyncDesc':
'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'aiVoiceEnhancementDesc':
'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'audioImportDesc':
'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'multipleExportFormatsDesc':
'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
// Meeting模块 - 升级会员 // Meeting模块 - 升级会员
'upgradeMembership': 'Upgrade Your Membership', 'upgradeMembership': 'Upgrade Your Membership',
'yearlySubscription': 'Yearly Subscription', 'yearlySubscription': 'Yearly Subscription',
'monthlySubscription': 'Monthly Subscription', 'monthlySubscription': 'Monthly Subscription',
'proMonthly': 'Pro ¥60/month', 'proMonthly': 'Pro ¥60/month',
'proMonthlyDesc': 'proMonthlyDesc': '7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'sevenDayTrial': '7-day Free Trial', 'sevenDayTrial': '7-day Free Trial',
'unlimitedMonthly': 'Unlimited ¥120/month', 'unlimitedMonthly': 'Unlimited ¥120/month',
'unlimitedMonthlyDesc': 'unlimitedMonthlyDesc': '7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.', 'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.',
'proPrice': 'Pro ¥120', 'proPrice': 'Pro ¥120',
'proMonthlyPrice': '¥120/month', 'proMonthlyPrice': '¥120/month',
'subscribe': 'Subscribe', 'subscribe': 'Subscribe',
'unlimitedPrice': 'Unlimited ¥198', 'unlimitedPrice': 'Unlimited ¥198',
'unlimitedMonthlyPrice': '¥198/month', 'unlimitedMonthlyPrice': '¥198/month',
'upgradeNote': 'upgradeNote': '*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'buyMoreTranscriptionTime': 'Buy More Transcription Time', 'buyMoreTranscriptionTime': 'Buy More Transcription Time',
'sixThousandMinutes': '6,000 minutes', 'sixThousandMinutes': '6,000 minutes',
'threeThousandMinutes': '3,000 minutes', 'threeThousandMinutes': '3,000 minutes',
'sixHundredMinutes': '600 minutes', 'sixHundredMinutes': '600 minutes',
'oneHundredTwentyMinutes': '120 minutes', 'oneHundredTwentyMinutes': '120 minutes',
'validityPeriod': '*Validity Period: ', 'validityPeriod': '*Validity Period: ',
'validityNote': 'validityNote': 'Activated immediately after purchase, valid for 2 years after activation.',
'Activated immediately after purchase, valid for 2 years after activation.',
'purchase': 'Purchase', 'purchase': 'Purchase',
// Meeting模块 - 模版和生成 // Meeting模块 - 模版和生成
@ -547,8 +523,7 @@ const Map<String, String> tlPH = {
'chineseSimplified': 'Chinese Mandarin (Simplified)', 'chineseSimplified': 'Chinese Mandarin (Simplified)',
'meetingGenerateNow': 'Generate Now', 'meetingGenerateNow': 'Generate Now',
'keyEventsAnalyzed': 'Analyzed {count} key events.', 'keyEventsAnalyzed': 'Analyzed {count} key events.',
'aiAnalysisDesc': 'aiAnalysisDesc': 'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
// Meeting模块 - 文件操作和状态 // Meeting模块 - 文件操作和状态
'importing': 'Importing...', 'importing': 'Importing...',
@ -568,10 +543,9 @@ const Map<String, String> tlPH = {
// 权限相关 - Meeting相关 // 权限相关 - Meeting相关
'meetingStoragePermission': 'Storage', 'meetingStoragePermission': 'Storage',
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation': 'We need access to storage permissions so you can select and upload audio files.',
'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -615,19 +589,17 @@ const Map<String, String> tlPH = {
// Meeting模块 - 发言者相关 // Meeting模块 - 发言者相关
'applyToAllParagraphs': 'Ilapat sa lahat ng talata ng tagapagsalitang ito', 'applyToAllParagraphs': 'Ilapat sa lahat ng talata ng tagapagsalitang ito',
'summaryWillBeUpdatedAutomatically': 'summaryWillBeUpdatedAutomatically': 'Awtomatikong maa-update ang buod batay sa template',
'Awtomatikong maa-update ang buod batay sa template',
'nameCurrentSpeaker': 'Name Current Speaker', 'nameCurrentSpeaker': 'Name Current Speaker',
'recentlyUsedNames': 'Recently Used Names', 'recentlyUsedNames': 'Recently Used Names',
'applyToCurrentParagraph': 'Apply to Current Paragraph', 'applyToCurrentParagraph': 'Apply to Current Paragraph',
'totalTime': 'Total Time', 'totalTime': 'Total Time',
'summarySpeakerWillBeUpdatedAutomatically': 'summarySpeakerWillBeUpdatedAutomatically': 'Summary speakers will be updated automatically',
'Summary speakers will be updated automatically',
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -647,8 +619,7 @@ const Map<String, String> tlPH = {
"cloudSync": "Pagsasalin ng Recharge ng Cloud", "cloudSync": "Pagsasalin ng Recharge ng Cloud",
"memberService": "Member Service", "memberService": "Member Service",
"bindRewardTitle": "Rewards", "bindRewardTitle": "Rewards",
"bindRewardSimpleDesc": "bindRewardSimpleDesc": "First bind device reward has been issued. Tap OK to close.",
"First bind device reward has been issued. Tap OK to close.",
"joinDevice": "Konektadong device:", "joinDevice": "Konektadong device:",
"accountId": "Account ID:", "accountId": "Account ID:",
"systemSetting": "Setting ng System", "systemSetting": "Setting ng System",
@ -661,22 +632,18 @@ const Map<String, String> tlPH = {
"privacySettings": "Mga Setting ng Privacy", "privacySettings": "Mga Setting ng Privacy",
"privacySettingsInfo": "Pamahalaan ang koleksyon ng data at mga pahintulot", "privacySettingsInfo": "Pamahalaan ang koleksyon ng data at mga pahintulot",
"permissionManagement": "Pamamahala ng Pahintulot", // 权限管理 "permissionManagement": "Pamamahala ng Pahintulot", // 权限管理
"permissionManagementInfo": "permissionManagementInfo": "Pamahalaan ang mga setting ng pahintulot ng app", // 管理应用权限设置
"Pamahalaan ang mga setting ng pahintulot ng app", // 管理应用权限设置
"aboutApplication": "Tungkol sa App", "aboutApplication": "Tungkol sa App",
"versions": "Bersyon", "versions": "Bersyon",
"checkUpdates": "Suriin kung may mga Update", "checkUpdates": "Suriin kung may mga Update",
"selectLanguage": "Pumili ng Wika", "selectLanguage": "Pumili ng Wika",
"voiceService": "Serbisyo ng Boses", "voiceService": "Serbisyo ng Boses",
"voiceServiceInfo": "voiceServiceInfo": "Pumili ng serbisyo para sa pagkilala at pag-synthesize ng boses",
"Pumili ng serbisyo para sa pagkilala at pag-synthesize ng boses",
"selectVoiceService": "Pumili ng Serbisyo ng Boses", "selectVoiceService": "Pumili ng Serbisyo ng Boses",
"azureVoiceService": "Azure Voice Service", "azureVoiceService": "Azure Voice Service",
"azureVoiceServiceInfo": "azureVoiceServiceInfo": "Serbisyo ng boses sa cloud ng Microsoft, sumusuporta sa mataas na kalidad na voice synthesis at recognition",
"Serbisyo ng boses sa cloud ng Microsoft, sumusuporta sa mataas na kalidad na voice synthesis at recognition",
"flutterVoiceService": "Flutter Local Voice Service", "flutterVoiceService": "Flutter Local Voice Service",
"flutterVoiceServiceInfo": "flutterVoiceServiceInfo": "Lokal na serbisyo ng boses sa device, maaaring gamitin nang walang koneksyon sa internet",
"Lokal na serbisyo ng boses sa device, maaaring gamitin nang walang koneksyon sa internet",
'timbreService': 'Serbisyo ng Timbre', 'timbreService': 'Serbisyo ng Timbre',
'timbreServiceInfo': 'Pumili ng serbisyo ng voice synthesis na may timbre', 'timbreServiceInfo': 'Pumili ng serbisyo ng voice synthesis na may timbre',
'defaultTimbre': 'Default na Timbre', 'defaultTimbre': 'Default na Timbre',
@ -687,8 +654,7 @@ const Map<String, String> tlPH = {
'pleaseRead': 'Pakibasa nang malakas', 'pleaseRead': 'Pakibasa nang malakas',
'completeRecording': 'Kumpletuhin ang Pag-record', 'completeRecording': 'Kumpletuhin ang Pag-record',
"firmwareUpgrade": "Pag-upgrade ng Firmware", "firmwareUpgrade": "Pag-upgrade ng Firmware",
"bleHeadsetFirmwareUpgrade": "bleHeadsetFirmwareUpgrade": "Pag-upgrade ng Bersyon ng Firmware ng BLE Headset",
"Pag-upgrade ng Bersyon ng Firmware ng BLE Headset",
"deviceManagement": "Pamamahala ng Device", "deviceManagement": "Pamamahala ng Device",
"manageConnectedDevices": "Pamahalaan ang mga naka-pair na Bluetooth device", "manageConnectedDevices": "Pamahalaan ang mga naka-pair na Bluetooth device",
@ -706,8 +672,7 @@ const Map<String, String> tlPH = {
// 设置页面 - 实时语音对话 // 设置页面 - 实时语音对话
"realtimeVoiceChat": "Real-time na Voice Chat", "realtimeVoiceChat": "Real-time na Voice Chat",
"realtimeVoiceChatInfo": "realtimeVoiceChatInfo": "Damhin ang matalinong voice interaction function (feature preview)",
"Damhin ang matalinong voice interaction function (feature preview)",
"loading": "Naglo-load...", "loading": "Naglo-load...",
//设备管理页面 //设备管理页面
@ -722,8 +687,7 @@ const Map<String, String> tlPH = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -736,8 +700,7 @@ const Map<String, String> tlPH = {
"inputMessage": "Mag-type ng mensahe...", "inputMessage": "Mag-type ng mensahe...",
"imListening": "Nakikinig...", "imListening": "Nakikinig...",
"canStartTalking": "Maaari ka nang magsalita", "canStartTalking": "Maaari ka nang magsalita",
"addQuestionAboutImage": "addQuestionAboutImage": "Magdagdag ng tanong o paglalarawan tungkol sa larawan...",
"Magdagdag ng tanong o paglalarawan tungkol sa larawan...",
"summarizeImageContent": "Ibuod ang nilalaman ng larawan", "summarizeImageContent": "Ibuod ang nilalaman ng larawan",
"extractImageText": "I-extract ang teksto sa imahe", "extractImageText": "I-extract ang teksto sa imahe",
"translateImageText": "Isalin ang teksto sa imahe", "translateImageText": "Isalin ang teksto sa imahe",
@ -772,22 +735,18 @@ const Map<String, String> tlPH = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'Kumusta! Ako si **Lily**, matutulungan kita sa:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• Pagsagot sa mga tanong at pagbibigay ng impormasyon\n\n' '• 回答问题和提供信息\n\n'
'• Real-time na pagsasalin ng boses\n\n' '• 实时语音翻译\n\n'
'• Pagrekomenda ng musika at mga podcast\n\n' '• 推荐音乐和播客\n\n'
'• Mga voice memo at paalala\n\n' '• 语音备忘录和提醒\n\n'
'• Pagkontrol sa mga function ng earphone\n\n' '• 控制耳机功能\n\n'
'Paano kita matutulungan?', '有什么我可以帮你的吗?',
'microphonePermission': 'Mikropono', 'microphonePermission': 'Mikropono',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText': 'Ang pagkilala sa boses ay nangangailangan ng access sa mikropono.',
'Ang pagkilala sa boses ay nangangailangan ng access sa mikropono.', 'voiceTranslationPermissionText': 'Ang pagkilala at pagsasalin ng boses ay nangangailangan ng access sa mikropono.',
'voiceTranslationPermissionText': 'phoneCallPermissionText': 'Ang pagtawag ay nangangailangan ng access sa mikropono para sa mga voice call.',
'Ang pagkilala at pagsasalin ng boses ay nangangailangan ng access sa mikropono.', 'permissionDeniedText': 'Permanenteng tinanggihan mo ang pahintulot sa mikropono, mangyaring pumunta sa mga setting ng system para paganahin ito.',
'phoneCallPermissionText':
'Ang pagtawag ay nangangailangan ng access sa mikropono para sa mga voice call.',
'permissionDeniedText':
'Permanenteng tinanggihan mo ang pahintulot sa mikropono, mangyaring pumunta sa mga setting ng system para paganahin ito.',
'startVoiceInput': 'Simulan ang voice input', 'startVoiceInput': 'Simulan ang voice input',
'startPhoneCallMode': 'Simulan ang mode ng pagtawag, simulan ang voice input', 'startPhoneCallMode': 'Simulan ang mode ng pagtawag, simulan ang voice input',
@ -801,8 +760,7 @@ const Map<String, String> tlPH = {
'report': 'I-report', 'report': 'I-report',
'submitSuccess': 'Matagumpay na naisumite', 'submitSuccess': 'Matagumpay na naisumite',
'submitFailed': 'Nabigo ang pagsusumite', 'submitFailed': 'Nabigo ang pagsusumite',
'reportSubmitted': 'reportSubmitted': 'Naisumite na ang report, ipoproseso namin ito sa lalong madaling panahon',
'Naisumite na ang report, ipoproseso namin ito sa lalong madaling panahon',
//'networkError': '网络错误,请稍后重试', //'networkError': '网络错误,请稍后重试',
'harmfulUnsafe': 'Nakapipinsala/Hindi Ligtas', 'harmfulUnsafe': 'Nakapipinsala/Hindi Ligtas',
'pornographicVulgar': 'Pornograpiko/Bastos', 'pornographicVulgar': 'Pornograpiko/Bastos',
@ -811,8 +769,7 @@ const Map<String, String> tlPH = {
'privacyRelated': 'May kaugnayan sa Privacy', 'privacyRelated': 'May kaugnayan sa Privacy',
'copyrightViolation': 'Lumabag sa aking copyright, reputasyon, atbp.', 'copyrightViolation': 'Lumabag sa aking copyright, reputasyon, atbp.',
'other': 'Iba pa', 'other': 'Iba pa',
'reportDescriptionHint': 'reportDescriptionHint': 'Gusto naming malaman kung bakit ka nagre-report, maaari mong ilarawan ang problemang iyong naranasan.',
'Gusto naming malaman kung bakit ka nagre-report, maaari mong ilarawan ang problemang iyong naranasan.',
//'submit': '提交', //'submit': '提交',
//Message_bubble //Message_bubble
@ -843,24 +800,15 @@ const Map<String, String> tlPH = {
'highest': 'Pinakamataas', 'highest': 'Pinakamataas',
'lowest': 'Pinakamababa', 'lowest': 'Pinakamababa',
'futureForecast': 'Pagtataya sa Hinaharap', 'futureForecast': 'Pagtataya sa Hinaharap',
'hotWeatherTip': 'hotWeatherTip': 'Mainit ngayon, mag-ingat sa heatstroke, uminom ng maraming tubig',
'Mainit ngayon, mag-ingat sa heatstroke, uminom ng maraming tubig', 'coldWeatherTip': 'Malamig ang temperatura ngayon, magsuot ng mainit na damit kapag lalabas para maiwasan ang sipon',
'coldWeatherTip': 'rainyWeatherTip': 'May ulan ngayon, magdala ng payong kapag lalabas, mag-ingat sa paglalakbay',
'Malamig ang temperatura ngayon, magsuot ng mainit na damit kapag lalabas para maiwasan ang sipon', 'snowyWeatherTip': 'May snow ngayon, madulas ang daan, mag-ingat at magsuot ng panlamig',
'rainyWeatherTip': 'foggyWeatherTip': 'May hamog ngayon, mababa ang visibility, magsuot ng mask kapag lalabas',
'May ulan ngayon, magdala ng payong kapag lalabas, mag-ingat sa paglalakbay', 'windyWeatherTip': 'Mahangin ngayon, mag-ingat kapag lalabas, i-secure ang mga gamit',
'snowyWeatherTip': 'sunnyWeatherTip': 'Maaraw at malakas ang UV rays ngayon, maglagay ng sunscreen kapag lalabas',
'May snow ngayon, madulas ang daan, mag-ingat at magsuot ng panlamig', 'temperatureDifferenceTip': 'Malaki ang pagkakaiba ng temperatura sa araw at gabi, magsuot ng damit na angkop',
'foggyWeatherTip': 'comfortableWeatherTip': 'Maganda ang panahon ngayon, magandang oras para sa mga aktibidad sa labas',
'May hamog ngayon, mababa ang visibility, magsuot ng mask kapag lalabas',
'windyWeatherTip':
'Mahangin ngayon, mag-ingat kapag lalabas, i-secure ang mga gamit',
'sunnyWeatherTip':
'Maaraw at malakas ang UV rays ngayon, maglagay ng sunscreen kapag lalabas',
'temperatureDifferenceTip':
'Malaki ang pagkakaiba ng temperatura sa araw at gabi, magsuot ng damit na angkop',
'comfortableWeatherTip':
'Maganda ang panahon ngayon, magandang oras para sa mga aktibidad sa labas',
"monday": "Lunes", "monday": "Lunes",
"tuesday": "Martes", "tuesday": "Martes",
"wednesday": "Miyerkules", "wednesday": "Miyerkules",
@ -910,33 +858,24 @@ const Map<String, String> tlPH = {
"notSet": "Hindi Naitakda", "notSet": "Hindi Naitakda",
"accountSetting": "Setting ng Account", "accountSetting": "Setting ng Account",
"logout": "Mag-logout", "logout": "Mag-logout",
"logoutTips": "logoutTips": "Sigurado ka bang gusto mong mag-logout sa kasalukuyang account?",
"Sigurado ka bang gusto mong mag-logout sa kasalukuyang account?",
'deleteAccount': 'Burahin ang Account', 'deleteAccount': 'Burahin ang Account',
'deleteAccountTips': 'deleteAccountTips': 'Sigurado ka bang gusto mong permanenteng burahin ang iyong account? Hindi na ito maibabalik.',
'Sigurado ka bang gusto mong permanenteng burahin ang iyong account? Hindi na ito maibabalik.',
'clean': 'Clear Cache', 'clean': 'Clear Cache',
'cleanTips': 'Are you sure you want to clear personal cache?', 'cleanTips': 'Are you sure you want to clear personal cache?',
// Profile 错误信息 // Profile 错误信息
'networkConnectionFailed': 'networkConnectionFailed': 'Nabigo ang koneksyon sa network, pakisuri ang iyong mga setting ng network at subukang muli',
'Nabigo ang koneksyon sa network, pakisuri ang iyong mga setting ng network at subukang muli', 'serverTemporarilyUnavailable': 'Pansamantalang hindi available ang server, pakisubukang muli mamaya',
'serverTemporarilyUnavailable': 'loginExpiredPleaseRelogin': 'Nag-expire na ang iyong pag-login, mangyaring mag-login muli',
'Pansamantalang hindi available ang server, pakisubukang muli mamaya', 'noPermissionForThisOperation': 'Walang pahintulot na gawin ang operasyong ito',
'loginExpiredPleaseRelogin':
'Nag-expire na ang iyong pag-login, mangyaring mag-login muli',
'noPermissionForThisOperation':
'Walang pahintulot na gawin ang operasyong ito',
'requestedResourceNotFound': 'Hindi natagpuan ang hiniling na mapagkukunan', 'requestedResourceNotFound': 'Hindi natagpuan ang hiniling na mapagkukunan',
'imageProcessingFailedPleaseReselect': 'imageProcessingFailedPleaseReselect': 'Nabigo ang pagproseso ng imahe, mangyaring pumili muli ng imahe',
'Nabigo ang pagproseso ng imahe, mangyaring pumili muli ng imahe',
'operationFailedPleaseRetry': 'Nabigo ang operasyon, pakisubukang muli', 'operationFailedPleaseRetry': 'Nabigo ang operasyon, pakisubukang muli',
'serverReturnedError': 'Nagbalik ng error ang server', 'serverReturnedError': 'Nagbalik ng error ang server',
'serverError': 'Error sa Server', 'serverError': 'Error sa Server',
'networkConnectionFailedCheckSettings': 'networkConnectionFailedCheckSettings': 'Nabigo ang koneksyon sa network, pakisuri ang iyong mga setting ng network',
'Nabigo ang koneksyon sa network, pakisuri ang iyong mga setting ng network', 'serverInternalErrorRetryLater': 'Internal na error sa server, pakisubukang muli mamaya',
'serverInternalErrorRetryLater':
'Internal na error sa server, pakisubukang muli mamaya',
// Profile 用户交互 // Profile 用户交互
//'error': '错误', //'error': '错误',
@ -955,18 +894,13 @@ const Map<String, String> tlPH = {
// 账号服务相关 // 账号服务相关
'clearUserDataFailed': 'Nabigong i-clear ang data ng user', // 清理用户数据失败 'clearUserDataFailed': 'Nabigong i-clear ang data ng user', // 清理用户数据失败
'deleteUserDataFailed': 'Nabigong burahin ang data ng user', // 删除用户数据失败 'deleteUserDataFailed': 'Nabigong burahin ang data ng user', // 删除用户数据失败
'thirdPartyLogoutSuccess': 'thirdPartyLogoutSuccess': 'Matagumpay na naka-logout sa third-party', // 第三方登录退出成功
'Matagumpay na naka-logout sa third-party', // 第三方登录退出成功
'thirdPartyLogoutFailed': 'Nabigo ang pag-logout sa third-party', // 第三方登录退出失败 'thirdPartyLogoutFailed': 'Nabigo ang pag-logout sa third-party', // 第三方登录退出失败
'signOutProcessError': 'signOutProcessError': 'Nagkaroon ng error sa proseso ng pag-sign out', // 登出过程发生错误
'Nagkaroon ng error sa proseso ng pag-sign out', // 登出过程发生错误 'deleteAccountProcessError': 'Nagkaroon ng error sa proseso ng pagbura ng account', // 删除账号过程发生错误
'deleteAccountProcessError':
'Nagkaroon ng error sa proseso ng pagbura ng account', // 删除账号过程发生错误
'userDataClearSuccess': 'Matagumpay na na-clear ang data ng user', // 用户数据清理成功 'userDataClearSuccess': 'Matagumpay na na-clear ang data ng user', // 用户数据清理成功
'allUserDataClearSuccess': 'allUserDataClearSuccess': 'Matagumpay na na-clear ang lahat ng data ng user', // 所有用户数据清理成功
'Matagumpay na na-clear ang lahat ng data ng user', // 所有用户数据清理成功 'accountServiceInitialized': 'Naisimulan na ang AccountService', // AccountService 已初始化
'accountServiceInitialized':
'Naisimulan na ang AccountService', // AccountService 已初始化
// 权限管理页面 // 权限管理页面
'getPermissionStatusFailed': 'Nabigong makuha ang katayuan ng pahintulot', 'getPermissionStatusFailed': 'Nabigong makuha ang katayuan ng pahintulot',
@ -989,14 +923,10 @@ const Map<String, String> tlPH = {
'locationInfo': 'Impormasyon sa Lokasyon', 'locationInfo': 'Impormasyon sa Lokasyon',
'phonePermissionDesc': 'Ginagamit para sa function ng pagtawag', 'phonePermissionDesc': 'Ginagamit para sa function ng pagtawag',
'smsPermissionDesc': 'Ginagamit para sa function ng pagpapadala ng SMS', 'smsPermissionDesc': 'Ginagamit para sa function ng pagpapadala ng SMS',
'alarmPermissionDesc': 'alarmPermissionDesc': 'Used to set exact alarms to ensure reminders trigger on time',
'Used to set exact alarms to ensure reminders trigger on time', 'calendarWritePermissionDesc': 'Ginagamit para sa paglikha ng mga kaganapan at paalala sa kalendaryo',
'calendarWritePermissionDesc': 'calendarFullAccessPermissionDesc': 'Ginagamit para sa pagbabasa at pamamahala ng mga kaganapan at paalala sa kalendaryo',
'Ginagamit para sa paglikha ng mga kaganapan at paalala sa kalendaryo', 'locationPermissionDesc': 'Ginagamit para sa pagkuha ng kasalukuyang impormasyon sa lokasyon',
'calendarFullAccessPermissionDesc':
'Ginagamit para sa pagbabasa at pamamahala ng mga kaganapan at paalala sa kalendaryo',
'locationPermissionDesc':
'Ginagamit para sa pagkuha ng kasalukuyang impormasyon sa lokasyon',
'appFunctionNeeds': 'Kailangan ng function ng app', 'appFunctionNeeds': 'Kailangan ng function ng app',
'authorized': 'Pinahintulutan', 'authorized': 'Pinahintulutan',
'unauthorized': 'Hindi Pinahintulutan', 'unauthorized': 'Hindi Pinahintulutan',
@ -1005,82 +935,55 @@ const Map<String, String> tlPH = {
'unknownStatus': 'Hindi Malamang Katayuan', 'unknownStatus': 'Hindi Malamang Katayuan',
'permissionGranted': 'Naibigay na ang pahintulot', 'permissionGranted': 'Naibigay na ang pahintulot',
'permissionRequestError': 'Error sa paghiling ng pahintulot', 'permissionRequestError': 'Error sa paghiling ng pahintulot',
'phonePermissionDetailDesc': 'phonePermissionDetailDesc': 'Ang function ng pagtawag ay nangangailangan ng pahintulot sa telepono',
'Ang function ng pagtawag ay nangangailangan ng pahintulot sa telepono', 'smsPermissionDetailDesc': 'Ang function ng pagpapadala ng SMS ay nangangailangan ng pahintulot sa SMS',
'smsPermissionDetailDesc': 'alarmPermissionDetailDesc': 'This permission is required to set exact alarms and ensure reminders trigger on time',
'Ang function ng pagpapadala ng SMS ay nangangailangan ng pahintulot sa SMS', 'calendarWritePermissionDetailDesc': 'Ang paglikha ng mga kaganapan sa kalendaryo ay nangangailangan ng pahintulot sa pagsulat sa kalendaryo',
'alarmPermissionDetailDesc': 'calendarFullAccessPermissionDetailDesc': 'Ang pamamahala ng mga kaganapan sa kalendaryo ay nangangailangan ng buong pahintulot sa kalendaryo',
'This permission is required to set exact alarms and ensure reminders trigger on time', 'locationPermissionDetailDesc': 'Ang pagkuha ng impormasyon sa lokasyon ay nangangailangan ng pahintulot sa lokasyon',
'calendarWritePermissionDetailDesc':
'Ang paglikha ng mga kaganapan sa kalendaryo ay nangangailangan ng pahintulot sa pagsulat sa kalendaryo',
'calendarFullAccessPermissionDetailDesc':
'Ang pamamahala ng mga kaganapan sa kalendaryo ay nangangailangan ng buong pahintulot sa kalendaryo',
'locationPermissionDetailDesc':
'Ang pagkuha ng impormasyon sa lokasyon ay nangangailangan ng pahintulot sa lokasyon',
'contactsPermissionDesc': 'Used for accessing contact information', 'contactsPermissionDesc': 'Used for accessing contact information',
'contactsPermissionDetailDesc': 'contactsPermissionDetailDesc': 'Phone call and SMS functionality requires contacts permission to select contacts',
'Phone call and SMS functionality requires contacts permission to select contacts', 'bluetoothPermissionDesc': 'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDesc': 'bluetoothPermissionDetailDesc': 'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDetailDesc':
'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices', 'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices',
'bluetoothScanPermissionDetailDesc': 'bluetoothScanPermissionDetailDesc': 'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices', 'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices',
'bluetoothConnectPermissionDetailDesc': 'bluetoothConnectPermissionDetailDesc': 'Connecting to Bluetooth devices requires Bluetooth connect permission',
'Connecting to Bluetooth devices requires Bluetooth connect permission',
'notificationPermissionDesc': 'Used for sending notification messages', 'notificationPermissionDesc': 'Used for sending notification messages',
'notificationPermissionDetailDesc': 'notificationPermissionDetailDesc': 'App needs notification permission to send you important alerts and messages',
'App needs notification permission to send you important alerts and messages', 'appNeedsPermissionForFullFunction': 'Kailangan ng app ang pahintulot na ito para sa buong paggana',
'appNeedsPermissionForFullFunction': 'permanentDenialText': 'Permanenteng tinanggihan mo ang pahintulot sa {permission}, mangyaring pumunta sa mga setting ng app para paganahin ito',
'Kailangan ng app ang pahintulot na ito para sa buong paggana',
'permanentDenialText':
'Permanenteng tinanggihan mo ang pahintulot sa {permission}, mangyaring pumunta sa mga setting ng app para paganahin ito',
'goToSettings': 'Pumunta sa Mga Setting', 'goToSettings': 'Pumunta sa Mga Setting',
// 权限申请 // 权限申请
'bluetoothScan': 'Bluetooth Scan', 'bluetoothScan': 'Bluetooth Scan',
'bluetoothConnect': 'Bluetooth Connect', 'bluetoothConnect': 'Bluetooth Connect',
'bluetoothScanExplanation': 'bluetoothScanExplanation': 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.',
'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.', 'bluetoothConnectExplanation': 'The app needs Bluetooth connect permission to connect to Bluetooth devices.',
'bluetoothConnectExplanation': 'locationForBluetoothExplanation': 'The app needs location permission to scan Bluetooth devices.',
'The app needs Bluetooth connect permission to connect to Bluetooth devices.', 'bluetoothScanPermanentDenial': 'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'locationForBluetoothExplanation': 'bluetoothConnectPermanentDenial': 'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'The app needs location permission to scan Bluetooth devices.', 'locationPermanentDenial': 'Location permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothScanPermanentDenial':
'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothConnectPermanentDenial':
'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'locationPermanentDenial':
'Location permission has been permanently denied, please go to settings to enable it manually.',
'notificationPermission': 'Notification', 'notificationPermission': 'Notification',
'locationPermission': 'Location', 'locationPermission': 'Location',
'notificationPermissionExplanation': 'notificationPermissionExplanation': 'Notification permission is required to display music playback status.',
'Notification permission is required to display music playback status.', 'locationPermissionExplanation': 'Location permission is required to get current location.',
'locationPermissionExplanation': 'notificationPermissionPermanentDenial': 'You have permanently denied notification permission, please go to settings to enable it.',
'Location permission is required to get current location.', 'locationPermissionPermanentDenial': 'You have permanently denied location permission, please go to settings to enable it.',
'notificationPermissionPermanentDenial':
'You have permanently denied notification permission, please go to settings to enable it.',
'locationPermissionPermanentDenial':
'You have permanently denied location permission, please go to settings to enable it.',
//'microphonePermission': '录音', //'microphonePermission': '录音',
'storagePermission': 'Storage', 'storagePermission': 'Storage',
'microphonePermissionExplanation': 'microphonePermissionExplanation': 'We need microphone permission to record audio content.',
'We need microphone permission to record audio content.', 'storagePermissionExplanation': 'We need storage permission so you can select and upload audio files.',
'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
'permissionUtilPermission': ' Permission', 'permissionUtilPermission': ' Permission',
'permissionUtilRestricted': ' Permission Restricted', 'permissionUtilRestricted': ' Permission Restricted',
'permissionUtilRestrictedMessage': 'permissionUtilRestrictedMessage': 'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'permissionUtilConfirm': 'OK', 'permissionUtilConfirm': 'OK',
// 版本更新对话框 // 版本更新对话框
@ -1089,10 +992,8 @@ const Map<String, String> tlPH = {
'updateNow': 'I-update Ngayon', // 立即更新按钮 'updateNow': 'I-update Ngayon', // 立即更新按钮
'checkUpdate': 'Suriin kung may Update', // 检查更新按钮 'checkUpdate': 'Suriin kung may Update', // 检查更新按钮
'updateFailed': 'Nabigo ang Pag-update', // 更新失败提示 'updateFailed': 'Nabigo ang Pag-update', // 更新失败提示
'cannotOpenAppStore': 'cannotOpenAppStore': 'Hindi mabuksan ang app store, mangyaring pumunta nang manu-mano sa app store para mag-update', // 无法打开应用商店提示
'Hindi mabuksan ang app store, mangyaring pumunta nang manu-mano sa app store para mag-update', // 无法打开应用商店提示 'updateErrorRetry': 'Nagkaroon ng error habang nag-a-update, pakisubukang muli mamaya', // 更新错误重试提示
'updateErrorRetry':
'Nagkaroon ng error habang nag-a-update, pakisubukang muli mamaya', // 更新错误重试提示
//国家列表 //国家列表
"邮箱": "Email", "邮箱": "Email",
@ -1228,8 +1129,7 @@ const Map<String, String> tlPH = {
"selectTargetLanguage": "Pumili ng target na wika", "selectTargetLanguage": "Pumili ng target na wika",
"me": "Me", "me": "Me",
"counterPart": "Counterpart", "counterPart": "Counterpart",
"bluetoothCallStateError": "bluetoothCallStateError": "Please make sure the Bluetooth headset is connected to the phone and in a call state",
"Please make sure the Bluetooth headset is connected to the phone and in a call state",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
@ -1245,12 +1145,10 @@ const Map<String, String> tlPH = {
"historyRecords": "History Records", "historyRecords": "History Records",
"clearResults": "Clear Results", "clearResults": "Clear Results",
"clearHistory": "Burahin ang Kasaysayan", "clearHistory": "Burahin ang Kasaysayan",
"clearHistoryConfirm": "clearHistoryConfirm": "Sigurado ka bang gusto mong burahin ang lahat ng kasaysayan ng pagsasalin? Hindi na ito maibabalik.",
"Sigurado ka bang gusto mong burahin ang lahat ng kasaysayan ng pagsasalin? Hindi na ito maibabalik.",
"unknownLanguage": "Hindi Kilalang Wika", "unknownLanguage": "Hindi Kilalang Wika",
"deleteSessionRecord": "Burahin ang Record ng Session", "deleteSessionRecord": "Burahin ang Record ng Session",
"deleteSessionConfirm": "deleteSessionConfirm": "Sigurado ka bang gusto mong burahin ang lahat ng record ng pagsasalin para sa session na ito? Hindi na ito maibabalik.",
"Sigurado ka bang gusto mong burahin ang lahat ng record ng pagsasalin para sa session na ito? Hindi na ito maibabalik.",
// 图片翻译模块(Picture Translation) // 图片翻译模块(Picture Translation)
"selectImageSource": "Select Image Source", "selectImageSource": "Select Image Source",
@ -1282,20 +1180,15 @@ const Map<String, String> tlPH = {
"translationCompleted": "Translation Completed", "translationCompleted": "Translation Completed",
"allStepsCompleted": "All steps completed", "allStepsCompleted": "All steps completed",
"processingFailed": "Processing Failed", "processingFailed": "Processing Failed",
"imageProcessingOrTranslationFailed": "imageProcessingOrTranslationFailed": "Image processing or translation failed. Please retry.\nError: {error}",
"Image processing or translation failed. Please retry.\nError: {error}",
"imageTooLarge": "Image size exceeds 4MB limit", "imageTooLarge": "Image size exceeds 4MB limit",
"imageTooLargeHint": "imageTooLargeHint": "Image size exceeds 4MB. Reduce quality or dimensions and retry",
"Image size exceeds 4MB. Reduce quality or dimensions and retry",
"emptyTranslationResult": "Image translation API returned empty result", "emptyTranslationResult": "Image translation API returned empty result",
"imageTranslationFailedTryLater": "imageTranslationFailedTryLater": "Image translation failed. Network issue or rate limit. Please try later",
"Image translation failed. Network issue or rate limit. Please try later", "imageTranslationApiException": "Image translation API exception. Check network and retry",
"imageTranslationApiException":
"Image translation API exception. Check network and retry",
"permissionRequired": "Permission Required", "permissionRequired": "Permission Required",
"cameraPermissionRequired": "Camera permission required to take photos", "cameraPermissionRequired": "Camera permission required to take photos",
"photoAlbumPermissionRequired": "photoAlbumPermissionRequired": "Photo album permission required to pick images",
"Photo album permission required to pick images",
"translationDetails": "Translation Details", "translationDetails": "Translation Details",
"originalImage": "Original Image", "originalImage": "Original Image",
"sourceLanguage": "Source Language", "sourceLanguage": "Source Language",
@ -1318,8 +1211,7 @@ const Map<String, String> tlPH = {
// 翻译详情页 (translation_detail_view.dart) // 翻译详情页 (translation_detail_view.dart)
"originalRecord": "Orihinal na Record", "originalRecord": "Orihinal na Record",
"recordSummary": "Buod ng Record", "recordSummary": "Buod ng Record",
"clickToGenerateSummary": "clickToGenerateSummary": "I-click ang button sa ibaba para bumuo ng buod ng session",
"I-click ang button sa ibaba para bumuo ng buod ng session",
"summaryContent": "Nilalaman ng Buod", "summaryContent": "Nilalaman ng Buod",
"copied": "Nakopya", "copied": "Nakopya",
"summaryCopiledToClipboard": "Nakopya ang buod sa clipboard", "summaryCopiledToClipboard": "Nakopya ang buod sa clipboard",
@ -1327,11 +1219,9 @@ const Map<String, String> tlPH = {
"summaryGenerated": "Nabuong buod", "summaryGenerated": "Nabuong buod",
"generating": "Gumagawa...", "generating": "Gumagawa...",
"regenerate": "Muling buuin", "regenerate": "Muling buuin",
"summaryTimeoutMessage": "summaryTimeoutMessage": "Nag-time out ang kahilingan sa pagbuo ng buod, maaaring dahil sa problema sa network o abala ang server.",
"Nag-time out ang kahilingan sa pagbuo ng buod, maaaring dahil sa problema sa network o abala ang server.",
"deleteTranslationRecord": "Burahin ang Record ng Pagsasalin", "deleteTranslationRecord": "Burahin ang Record ng Pagsasalin",
"deleteTranslationConfirm": "deleteTranslationConfirm": "Sigurado ka bang gusto mong burahin ang record ng pagsasalin na ito? Hindi na ito maibabalik.",
"Sigurado ka bang gusto mong burahin ang record ng pagsasalin na ito? Hindi na ito maibabalik.",
"originalText": "Orihinal na Teksto", "originalText": "Orihinal na Teksto",
"translatedText": "Isinaling Teksto", "translatedText": "Isinaling Teksto",
"sessionSummary": "Buod ng Session", "sessionSummary": "Buod ng Session",
@ -1358,28 +1248,20 @@ const Map<String, String> tlPH = {
// 配对状态文本 // 配对状态文本
"readyToPair": "Handa nang i-pair", "readyToPair": "Handa nang i-pair",
"preparingPairingEnvironment": "preparingPairingEnvironment": "Inihahanda ang kapaligiran para sa pag-pair...",
"Inihahanda ang kapaligiran para sa pag-pair...", "connectDeepSoundViaSystemBluetooth": "Mangyaring kumonekta muna sa Voitrans device sa pamamagitan ng system Bluetooth",
"connectDeepSoundViaSystemBluetooth":
"Mangyaring kumonekta muna sa Voitrans device sa pamamagitan ng system Bluetooth",
"deviceBindingConfirm": "Kumpirmasyon sa pag-bind ng device...", "deviceBindingConfirm": "Kumpirmasyon sa pag-bind ng device...",
"establishingDeviceAssociation": "Itinatatag ang ugnayan ng device...", "establishingDeviceAssociation": "Itinatatag ang ugnayan ng device...",
"waitingCompletePairing": "Pakihintay, kinukumpleto ang pag-pair...", "waitingCompletePairing": "Pakihintay, kinukumpleto ang pag-pair...",
"pairingSuccessRedirecting": "pairingSuccessRedirecting": "Matagumpay ang pag-pair! Papunta na sa home page...",
"Matagumpay ang pag-pair! Papunta na sa home page...",
// 配对错误状态文本 // 配对错误状态文本
"ensureConnectedDeepSoundDevice": "ensureConnectedDeepSoundDevice": "Pakitiyak na konektado ka sa isang Voitrans device",
"Pakitiyak na konektado ka sa isang Voitrans device", "deviceAlreadyBoundToOtherAccount": "Ang device na ito ay naka-bind na sa ibang account",
"deviceAlreadyBoundToOtherAccount": "deviceAssociationFailed": "Nabigo ang pag-uugnay ng device, pakisubukang muli",
"Ang device na ito ay naka-bind na sa ibang account", "scanTimeoutEnsureDeviceNearby": "Nag-time out ang pag-scan, pakitiyak na malapit ang device",
"deviceAssociationFailed":
"Nabigo ang pag-uugnay ng device, pakisubukang muli",
"scanTimeoutEnsureDeviceNearby":
"Nag-time out ang pag-scan, pakitiyak na malapit ang device",
"networkError": "Error sa Network", "networkError": "Error sa Network",
"authorizationFailedCheckCode": "authorizationFailedCheckCode": "Nabigo ang awtorisasyon, pakisuri kung tama ang authorization code",
"Nabigo ang awtorisasyon, pakisuri kung tama ang authorization code",
"pairingFailedRetry": "Nabigo ang pag-pair, pakisubukang muli", "pairingFailedRetry": "Nabigo ang pag-pair, pakisubukang muli",
// 配对控制器相关 // 配对控制器相关
@ -1388,67 +1270,53 @@ const Map<String, String> tlPH = {
'deviceDisconnected': 'Nadiskonekta ang device', 'deviceDisconnected': 'Nadiskonekta ang device',
'readyToStartPairing': 'Handa nang simulan ang pag-pair', 'readyToStartPairing': 'Handa nang simulan ang pag-pair',
'checkingEnvironment': 'Sinusuri ang kapaligiran...', 'checkingEnvironment': 'Sinusuri ang kapaligiran...',
'ensureHeadsetOnAndPairingMode': 'ensureHeadsetOnAndPairingMode': 'Pakitiyak na naka-on ang headset at nasa pairing mode',
'Pakitiyak na naka-on ang headset at nasa pairing mode',
//'goToBluetoothSettings': '前往蓝牙设置', //'goToBluetoothSettings': '前往蓝牙设置',
//'verifyingDevice': '正在验证设备...', //'verifyingDevice': '正在验证设备...',
//'confirmBinding': '确认绑定', //'confirmBinding': '确认绑定',
//'associatingDevice': '正在关联设备...', //'associatingDevice': '正在关联设备...',
'establishingSecureConnection': 'Itinatatag ang secure na koneksyon...', 'establishingSecureConnection': 'Itinatatag ang secure na koneksyon...',
'needManualBindingAuthCode': 'needManualBindingAuthCode': 'Kailangan ng manual binding authorization code...',
'Kailangan ng manual binding authorization code...',
'pairingSuccessful': 'Matagumpay ang pag-pair!', 'pairingSuccessful': 'Matagumpay ang pag-pair!',
'enableBluetooth': 'Paganahin ang Bluetooth', 'enableBluetooth': 'Paganahin ang Bluetooth',
'grantPermissions': 'Magbigay ng mga Pahintulot', 'grantPermissions': 'Magbigay ng mga Pahintulot',
'retryAssociation': 'Muling iugnay', 'retryAssociation': 'Muling iugnay',
'retryAuthorization': 'Muling pahintulutan', 'retryAuthorization': 'Muling pahintulutan',
'pleaseGrantNecessaryPermissions': 'pleaseGrantNecessaryPermissions': 'Pakibigay ang mga kinakailangang pahintulot',
'Pakibigay ang mga kinakailangang pahintulot',
'checkFailedRetry': 'Nabigo ang pagsuri, pakisubukang muli', 'checkFailedRetry': 'Nabigo ang pagsuri, pakisubukang muli',
'pleaseConnectDeepSoundDevice': 'Pakikonekta ang isang Voitrans device', 'pleaseConnectDeepSoundDevice': 'Pakikonekta ang isang Voitrans device',
'verificationFailedRetry': 'Nabigo ang pag-verify, pakisubukang muli', 'verificationFailedRetry': 'Nabigo ang pag-verify, pakisubukang muli',
'invalidDeviceAddress': 'Hindi wastong address ng device', 'invalidDeviceAddress': 'Hindi wastong address ng device',
'bleDeviceAssociationFailed': 'Nabigo ang pag-uugnay ng BLE device', 'bleDeviceAssociationFailed': 'Nabigo ang pag-uugnay ng BLE device',
'deviceAssociationFailedRetry': 'deviceAssociationFailedRetry': 'Nabigo ang pag-uugnay ng device, pakisubukang muli',
'Nabigo ang pag-uugnay ng device, pakisubukang muli', 'bleConnectionTimeoutRetry': 'Nag-time out ang koneksyon ng BLE, pakisubukang muli',
'bleConnectionTimeoutRetry':
'Nag-time out ang koneksyon ng BLE, pakisubukang muli',
'blePairingStartupFailed': 'Nabigo ang pagsisimula ng BLE pairing', 'blePairingStartupFailed': 'Nabigo ang pagsisimula ng BLE pairing',
'bleConnectionFailed': 'Nabigo ang koneksyon ng BLE', 'bleConnectionFailed': 'Nabigo ang koneksyon ng BLE',
'deviceAuthorizationFailedCheckCode': 'deviceAuthorizationFailedCheckCode': 'Nabigo ang awtorisasyon ng device, pakisuri ang authorization code',
'Nabigo ang awtorisasyon ng device, pakisuri ang authorization code',
///iOS蓝牙引导窗 ///iOS蓝牙引导窗
'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙 'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙
'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作: 'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作:
'bluetoothGuideStep1': 'bluetoothGuideStep1': 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启
'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启 'bluetoothGuideStep2': 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接
'bluetoothGuideStep2': 'bluetoothGuideStep3': 'Return to app to continue pairing process', // 返回应用继续配对流程
'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接 'bluetoothGuideTip': 'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'bluetoothGuideStep3':
'Return to app to continue pairing process', // 返回应用继续配对流程
'bluetoothGuideTip':
'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'iKnow': 'I Know', // 我知道了 'iKnow': 'I Know', // 我知道了
//用户反馈页 //用户反馈页
"feedback": "Feedback ng User", "feedback": "Feedback ng User",
'feedbackInfo': 'Magbigay ng feedback o suhestiyon', 'feedbackInfo': 'Magbigay ng feedback o suhestiyon',
'feedbackDescription': 'feedbackDescription': 'Pakilarawan ang problemang naranasan o ang iyong suhestiyon',
'Pakilarawan ang problemang naranasan o ang iyong suhestiyon',
'feedbackHint': 'Pakilagay ang iyong feedback...', 'feedbackHint': 'Pakilagay ang iyong feedback...',
'feedbackRequired': 'Pakilagay ang nilalaman ng feedback', 'feedbackRequired': 'Pakilagay ang nilalaman ng feedback',
'contactInfo': 'Impormasyon sa Pakikipag-ugnayan', 'contactInfo': 'Impormasyon sa Pakikipag-ugnayan',
'contactHint': 'Email/Numero ng telepono, para makontak ka namin', 'contactHint': 'Email/Numero ng telepono, para makontak ka namin',
'submit': 'Isumite', 'submit': 'Isumite',
'feedbackSubmitSuccess': 'feedbackSubmitSuccess': 'Matagumpay na naisumite ang feedback, salamat sa iyong feedback!',
'Matagumpay na naisumite ang feedback, salamat sa iyong feedback!', 'feedbackSubmitFailed': 'Nabigong isumite ang feedback, pakisubukang muli mamaya',
'feedbackSubmitFailed':
'Nabigong isumite ang feedback, pakisubukang muli mamaya',
// OTA升级模块 // OTA升级模块
"upgradeExitConfirm": "upgradeExitConfirm": "Kasalukuyang nag-a-upgrade, ang pag-exit ay makakaantala sa proseso, sigurado ka bang gusto mong mag-exit?",
"Kasalukuyang nag-a-upgrade, ang pag-exit ay makakaantala sa proseso, sigurado ka bang gusto mong mag-exit?",
"deviceModel": "Modelo ng Device", "deviceModel": "Modelo ng Device",
"unknownDevice": "Hindi Kilalang Device", "unknownDevice": "Hindi Kilalang Device",
"currentFirmwareVersion": "Kasalukuyang Bersyon ng Firmware", "currentFirmwareVersion": "Kasalukuyang Bersyon ng Firmware",
@ -1461,19 +1329,14 @@ const Map<String, String> tlPH = {
"retryConnection": "Muling kumonekta", "retryConnection": "Muling kumonekta",
"ota_updateNow": "I-update Ngayon", "ota_updateNow": "I-update Ngayon",
"otaVersionInfoFailed": "Failed to get version info. Please try again later.", "otaVersionInfoFailed": "Failed to get version info. Please try again later.",
"otaDeviceInfoUnavailable": "otaDeviceInfoUnavailable": "Unable to get device info. Please check the connection and retry.",
"Unable to get device info. Please check the connection and retry.", "otaProductInfoUnavailable": "Unable to identify the device. Please reconnect and retry.",
"otaProductInfoUnavailable": "otaFirmwareVersionInvalid": "Firmware version is abnormal. Please reconnect and retry.",
"Unable to identify the device. Please reconnect and retry.", "keepConnectedDontClose": "Panatilihing konektado ang device, huwag isara ang app",
"otaFirmwareVersionInvalid":
"Firmware version is abnormal. Please reconnect and retry.",
"keepConnectedDontClose":
"Panatilihing konektado ang device, huwag isara ang app",
"doNotDisconnect": "Huwag idiskonekta", "doNotDisconnect": "Huwag idiskonekta",
"charging": "Nagcha-charge", "charging": "Nagcha-charge",
"updateContent": "Nilalaman ng Update", "updateContent": "Nilalaman ng Update",
"removeEarbudsEnsureBattery": "removeEarbudsEnsureBattery": "Alisin ang parehong earbuds, at tiyaking parehong may 20% o higit pang baterya",
"Alisin ang parehong earbuds, at tiyaking parehong may 20% o higit pang baterya",
// 音乐列表页面 // 音乐列表页面
"noMusic": "Walang Musika", // 暂无音乐 "noMusic": "Walang Musika", // 暂无音乐
@ -1483,9 +1346,9 @@ const Map<String, String> tlPH = {
"playAll": "I-play Lahat", // 播放全部 "playAll": "I-play Lahat", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Chinese (Pinasimple)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Chinese (Tradisyonal)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Chinese (Hong Kong Tradisyonal)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "Ingles", "英语": "Ingles",
"日语": "Hapon", "日语": "Hapon",
"韩语": "Koreano", "韩语": "Koreano",
@ -1535,10 +1398,8 @@ const Map<String, String> tlPH = {
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc": "Insufficient balance, please go to the corresponding recharge page to recharge.",
'Insufficient balance, please go to the corresponding recharge page to recharge.', "recharge": "Go to Recharge",
"recharge": 'Go to Recharge',
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc": "AI membership expired, please go to the membership recharge page to renew.",
'AI membership expired, please go to the membership recharge page to renew.',
}; };

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

@ -72,8 +72,7 @@ const Map<String, String> trTR = {
// 登录页 // 登录页
"welcome": "Hoş Geldiniz", "welcome": "Hoş Geldiniz",
"loginTips": "loginTips": "Lütfen telefon numaranızı veya e-postanızı kullanarak giriş yapın veya hesap oluşturun",
"Lütfen telefon numaranızı veya e-postanızı kullanarak giriş yapın veya hesap oluşturun",
"accountNumber": "Telefon Numarası veya E-posta", "accountNumber": "Telefon Numarası veya E-posta",
"verificationCode": "Doğrulama Kodu", "verificationCode": "Doğrulama Kodu",
"getCode": "Kodu Al", "getCode": "Kodu Al",
@ -92,8 +91,7 @@ const Map<String, String> trTR = {
"tip": "İpucu", "tip": "İpucu",
"pleaseEnterCompleteCode": "Lütfen tam doğrulama kodunu girin", "pleaseEnterCompleteCode": "Lütfen tam doğrulama kodunu girin",
"loginFailed": "Giriş başarısız, lütfen tekrar deneyin", "loginFailed": "Giriş başarısız, lütfen tekrar deneyin",
'pleaseAcceptPrivacyPolicy': 'pleaseAcceptPrivacyPolicy': 'Lütfen önce Gizlilik Politikasını ve Kullanıcı Sözleşmesini okuyup kabul edin',
'Lütfen önce Gizlilik Politikasını ve Kullanıcı Sözleşmesini okuyup kabul edin',
"enterVerificationCode": "Doğrulama kodunu girin", "enterVerificationCode": "Doğrulama kodunu girin",
"verificationCodeSentTo": "Doğrulama kodu şuraya gönderildi:", "verificationCodeSentTo": "Doğrulama kodu şuraya gönderildi:",
"resendVerificationCode": "Doğrulama kodunu tekrar gönder", "resendVerificationCode": "Doğrulama kodunu tekrar gönder",
@ -102,12 +100,11 @@ const Map<String, String> trTR = {
// 隐私政策弹窗 // 隐私政策弹窗
"loginDeclaration": "Voitrans Beyanı", // Voitrans 声明 "loginDeclaration": "Voitrans Beyanı", // Voitrans 声明
"welcomeToThisApp": "welcomeToThisApp": "Voitrans'a hoş geldiniz, lütfen dikkatlice okuyun", // 欢迎使用Voitrans,请充分阅读
"Voitrans'a hoş geldiniz, lütfen dikkatlice okuyun", // 欢迎使用Voitrans,请充分阅读
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", 'Kabul Et ve Gir' düğmesine tıklamak, yukarıdaki sözleşmeleri tamamen okuduğunuzu ve kabul ettiğinizi gösterir. 'Reddet' düğmesine tıklamak uygulamadan çıkacaktır.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Reddet", // 不同意 "disagree": "Reddet", // 不同意
"agreeAndEnter": "Kabul Et ve Gir", // 同意并进入 "agreeAndEnter": "Kabul Et ve Gir", // 同意并进入
@ -119,20 +116,17 @@ const Map<String, String> trTR = {
"signal": "Sinyal", "signal": "Sinyal",
"deviceId": "Cihaz Kimliği", "deviceId": "Cihaz Kimliği",
"firmwareVersion": "Donanım Yazılımı Sürümü", "firmwareVersion": "Donanım Yazılımı Sürümü",
"disconnectedDevice": "disconnectedDevice": "Bağlı cihaz yok, bağlanmak için aşağıdaki düğmeye tıklayın",
"Bağlı cihaz yok, bağlanmak için aşağıdaki düğmeye tıklayın",
"connectDevice": "Cihaz Bağla", "connectDevice": "Cihaz Bağla",
"topAiExperiences": "En İyi Yapay Zeka Deneyimleri", "topAiExperiences": "En İyi Yapay Zeka Deneyimleri",
"aiAssistant": "Her Şey Dahil Yapay Zeka Asistanı", "aiAssistant": "Her Şey Dahil Yapay Zeka Asistanı",
"aiAssistantInfo": "Sorular ve tavsiyeler için 7/24 özel danışman", "aiAssistantInfo": "Sorular ve tavsiyeler için 7/24 özel danışman",
"interpretation": "Simultane Çeviri", "interpretation": "Simultane Çeviri",
"simultaneousInterpretationInfo": "simultaneousInterpretationInfo": "80'den fazla dil için gerçek zamanlı çeviri, sorunsuz yurt dışı seyahati",
"80'den fazla dil için gerçek zamanlı çeviri, sorunsuz yurt dışı seyahati",
"aiCompanion": "Aile Arkadaşı", "aiCompanion": "Aile Arkadaşı",
"aiCompanionInfo": "Sizi anlar ve sıcak bir arkadaşlık sunar", "aiCompanionInfo": "Sizi anlar ve sıcak bir arkadaşlık sunar",
"homeSlogan": "Dünyayla bağlan, sesin ötesine geç", "homeSlogan": "Dünyayla bağlan, sesin ötesine geç",
"turnEarphones": "turnEarphones": "Lütfen kulaklık şarj kutusunu açın ve kulaklıkları kulaklarınıza takın",
"Lütfen kulaklık şarj kutusunu açın ve kulaklıkları kulaklarınıza takın",
"currentlyConnected": "Şu anda bağlı:", "currentlyConnected": "Şu anda bağlı:",
"unsystemSetup": "Sistem ayarlarına git", "unsystemSetup": "Sistem ayarlarına git",
"talkLater": "Daha Sonra", "talkLater": "Daha Sonra",
@ -154,7 +148,7 @@ const Map<String, String> trTR = {
"fine": "Çok İyi", "fine": "Çok İyi",
"excellent": "Mükemmel", "excellent": "Mükemmel",
"unknown": "Bilinmiyor", "unknown": "Bilinmiyor",
'bluetoothTurnedOff': 'Bluetooth kapalı, lütfen Bluetooth\'u açın', 'bluetoothTurnedOff': 'Bluetooth kapalı, lütfen Bluetooth\\',
'bluetoothOff': 'Bluetooth Kapalı', 'bluetoothOff': 'Bluetooth Kapalı',
'leftEar': 'Sol Kulak', 'leftEar': 'Sol Kulak',
'rightEar': 'Sağ Kulak', 'rightEar': 'Sağ Kulak',
@ -182,8 +176,7 @@ const Map<String, String> trTR = {
"healthConsultant": "Çok Fonksiyonlu Yapay Zeka Sohbeti", "healthConsultant": "Çok Fonksiyonlu Yapay Zeka Sohbeti",
"healthConsultantInfo": "Daha fazla yapay zeka sohbet özelliği sunar", "healthConsultantInfo": "Daha fazla yapay zeka sohbet özelliği sunar",
"conferenceAssistant": "İş Toplantısı Asistanı", "conferenceAssistant": "İş Toplantısı Asistanı",
"conferenceAssistantInfo": "conferenceAssistantInfo": "Gerçek zamanlı toplantı tutanakları, çok dilli çeviri",
"Gerçek zamanlı toplantı tutanakları, çok dilli çeviri",
"usageStats": "Kullanım İstatistikleri", "usageStats": "Kullanım İstatistikleri",
"usageStatsInfo": "Kullanım istatistiklerinizi görüntüleyin", "usageStatsInfo": "Kullanım istatistiklerinizi görüntüleyin",
"scene": "Senaryo", "scene": "Senaryo",
@ -226,8 +219,7 @@ const Map<String, String> trTR = {
"transcriptBytes": "Transcript Bytes", "transcriptBytes": "Transcript Bytes",
// 通知文案 // 通知文案
"loadFailed": "Load Failed", "loadFailed": "Load Failed",
"statsLoadFailedTryLater": "statsLoadFailedTryLater": "Statistics failed to load. Please try again later.",
"Statistics failed to load. Please try again later.",
"cleanupComplete": "Cleanup Complete", "cleanupComplete": "Cleanup Complete",
"cleanedOldData": "Cleaned data older than 90 days", "cleanedOldData": "Cleaned data older than 90 days",
"exportFeature": "Export Feature", "exportFeature": "Export Feature",
@ -283,10 +275,8 @@ const Map<String, String> trTR = {
'copyrightVoitrans': '© 2025 Voitrans Technologies', 'copyrightVoitrans': '© 2025 Voitrans Technologies',
// 会议商品页描述 // 会议商品页描述
'meetingHeaderDesc1': 'meetingHeaderDesc1': 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'meetingHeaderDesc2': 'Suitable for business meetings, class notes, and interview minutes.',
'meetingHeaderDesc2':
'Suitable for business meetings, class notes, and interview minutes.',
'meetingAutoRecording': 'Auto recording and segmentation', 'meetingAutoRecording': 'Auto recording and segmentation',
'meetingSpeakerTagging': 'Speaker labeling', 'meetingSpeakerTagging': 'Speaker labeling',
'meetingLongAudioTranscription': 'Long audio transcription', 'meetingLongAudioTranscription': 'Long audio transcription',
@ -295,35 +285,27 @@ const Map<String, String> trTR = {
'meetingTimelineJump': 'Timeline jump', 'meetingTimelineJump': 'Timeline jump',
'meetingExportSummary': 'Export minutes', 'meetingExportSummary': 'Export minutes',
'meetingMultiPlatformShare': 'Share across platforms', 'meetingMultiPlatformShare': 'Share across platforms',
'meetingDisclaimer': 'meetingDisclaimer': 'Use in quiet environments; performance depends on microphone and network.',
'Use in quiet environments; performance depends on microphone and network.',
// 同传/翻译商品页描述 // 同传/翻译商品页描述
'transHeaderDesc1': 'transHeaderDesc1': 'Real-time simultaneous interpretation and text translation with low-latency voice.',
'Real-time simultaneous interpretation and text translation with low-latency voice.',
'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.', 'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
'translateZhEn': 'Chinese-English translation', 'translateZhEn': 'Chinese-English translation',
'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast', 'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast',
'multiLangTextTranslation': 'Multilingual text translation', 'multiLangTextTranslation': 'Multilingual text translation',
'termOptimizationContextPreserve': 'termOptimizationContextPreserve': 'Terminology optimization and context preservation',
'Terminology optimization and context preservation',
'lexiconTourBusinessLife': 'Travel/Business/Life lexicons', 'lexiconTourBusinessLife': 'Travel/Business/Life lexicons',
'personalVocabularyMemory': 'Personal vocabulary memory', 'personalVocabularyMemory': 'Personal vocabulary memory',
'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode', 'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode',
'colorHighContrast': 'High color contrast', 'colorHighContrast': 'High color contrast',
'transDisclaimer': 'transDisclaimer': 'Translation performance depends on microphone, network latency, and ambient noise.',
'Translation performance depends on microphone, network latency, and ambient noise.',
// AI 商品页描述 // AI 商品页描述
'aiHeaderDesc1': 'aiHeaderDesc1': 'Longer conversation quota, more tool calls, extended context length.',
'Longer conversation quota, more tool calls, extended context length.', 'aiHeaderDesc2': 'Suitable for agent Q&A, summarization, analysis, and task execution.',
'aiHeaderDesc2':
'Suitable for agent Q&A, summarization, analysis, and task execution.',
'musicSearchPlaybackControl': 'Music library search and playback control', 'musicSearchPlaybackControl': 'Music library search and playback control',
'smartPlaylistAndSimilarRecommendations': 'smartPlaylistAndSimilarRecommendations': 'Smart playlist and similar song recommendations',
'Smart playlist and similar song recommendations', 'routePlanningAndCongestionAvoidance': 'Route planning and congestion avoidance',
'routePlanningAndCongestionAvoidance':
'Route planning and congestion avoidance',
'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings', 'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings',
'realTimeWeatherForecast': 'Real-time weather and forecast', 'realTimeWeatherForecast': 'Real-time weather and forecast',
'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders', 'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders',
@ -332,10 +314,8 @@ const Map<String, String> trTR = {
'hotNewsAndTopicOverview': 'Hot news and topic overview', 'hotNewsAndTopicOverview': 'Hot news and topic overview',
'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points', 'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points',
'helpCallAndSMS': 'Help with calls and SMS', 'helpCallAndSMS': 'Help with calls and SMS',
'templatedMessagesAndScheduleReminders': 'templatedMessagesAndScheduleReminders': 'Template messages and schedule reminders',
'Template messages and schedule reminders', 'aiDisclaimer': 'Features depend on device permissions, service availability, and network conditions.',
'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.',
// 会员商品页 // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
@ -350,11 +330,10 @@ const Map<String, String> trTR = {
'generalPrivileges': 'General privileges', 'generalPrivileges': 'General privileges',
'earlyAccessNewFeatures': 'Early access to new features', 'earlyAccessNewFeatures': 'Early access to new features',
'crossDeviceSync': 'Cross-device sync', 'crossDeviceSync': 'Cross-device sync',
'vipDisclaimer': 'vipDisclaimer': 'Actual benefits depend on the package details and may change with versions.',
'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Atla", 'skip': 'Atla',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -377,8 +356,7 @@ const Map<String, String> trTR = {
'guideNavInput': 'Navigate to Shenzhen Airport', 'guideNavInput': 'Navigate to Shenzhen Airport',
'guideNavSend': 'Lily will plan the route', 'guideNavSend': 'Lily will plan the route',
'guideNavEnd': 'Navigation set—try other commands', 'guideNavEnd': 'Navigation set—try other commands',
'guideMeetingStart': 'guideMeetingStart': 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow', 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
'guideMeetingSend': 'Lily will create a meeting reminder', 'guideMeetingSend': 'Lily will create a meeting reminder',
'guideMeetingEnd': 'Reminder created—try other commands', 'guideMeetingEnd': 'Reminder created—try other commands',
@ -428,8 +406,7 @@ const Map<String, String> trTR = {
'downloadingFiles': 'Downloading files...', 'downloadingFiles': 'Downloading files...',
'downloadingFileProgress': 'Total {total} files, downloading file {current}', 'downloadingFileProgress': 'Total {total} files, downloading file {current}',
'downloadComplete': 'Download complete', 'downloadComplete': 'Download complete',
'downloadCompleteInfo': 'downloadCompleteInfo': 'Download complete, {count} files in total, returning automatically in 2 seconds',
'Download complete, {count} files in total, returning automatically in 2 seconds',
// Meeting模块 - 录音功能 // Meeting模块 - 录音功能
'startRecording': 'Start Recording', 'startRecording': 'Start Recording',
@ -437,6 +414,23 @@ const Map<String, String> trTR = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Kayıttan Çık', // 退出录音
'meetingRecordExitMessage': 'Lütfen ayrıldıktan sonra bir işlem seçin', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Bitir ve Kaydet', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Kaydetmeden Bitir', // 结束录音不保存
'meetingRecordContinueInBackground': 'Arka planda kayda devam et', // 后台继续录音
'meetingRecordStopTimeout': 'Kayıt durdurma zaman aşımı, lütfen tekrar deneyin', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Kayıt durdurulamadı, lütfen tekrar deneyin', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Kayıt kaydedilemedi, lütfen tekrar deneyin', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Kayıt yapılıyor', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Arka planda kaydediliyor, uygulamaya dönmek için dokunun', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Yüzen Pencere İzni', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'Aramalar sırasında veya ses/video çevirisi yaparken çeviri sonuçlarını göstermek için diğer uygulamaların üzerine çizme iznine ihtiyacımız var. Bu sayede diğer uygulamaları kullanırken gerçek zamanlı çevirileri görebilirsiniz.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'Kayıt sırasında kayıt kayan çubuğunu (zamanlayıcı/duraklat/devam et) göstermek için diğer uygulamaların üzerine çizme iznine ihtiyacımız var.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Sistem ayarları otomatik olarak açılamadı. Lütfen Ayarlar uygulamasını açın ve diğer uygulamaların üzerine çizme iznini manuel olarak etkinleştirin.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -484,54 +478,40 @@ const Map<String, String> trTR = {
'audioImport': 'Audio Import', 'audioImport': 'Audio Import',
'multipleExportFormats': 'Multiple Export Formats', 'multipleExportFormats': 'Multiple Export Formats',
'professionalSummaryTemplates': 'Professional Summary Templates', 'professionalSummaryTemplates': 'Professional Summary Templates',
'professionalTemplateDesc': 'professionalTemplateDesc': 'Professional template design to improve your work efficiency. Customized according to industry needs.',
'Professional template design to improve your work efficiency. Customized according to industry needs.', 'customTemplateDesc': 'You can customize summary prompts according to your needs and use them to generate the required summaries.',
'customTemplateDesc': 'askAiDesc': 'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.',
'You can customize summary prompts according to your needs and use them to generate the required summaries.', 'visualMindMapDesc': 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.',
'askAiDesc': 'templateCommunityDesc': 'Discover, share, and get inspiration from the template library created by users.',
'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.', 'speakerIdentificationDesc': 'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'visualMindMapDesc': 'privateCloudSyncDesc': 'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.', 'aiVoiceEnhancementDesc': 'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'templateCommunityDesc': 'audioImportDesc': 'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'Discover, share, and get inspiration from the template library created by users.', 'multipleExportFormatsDesc': 'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
'speakerIdentificationDesc':
'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'privateCloudSyncDesc':
'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'aiVoiceEnhancementDesc':
'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'audioImportDesc':
'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'multipleExportFormatsDesc':
'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
// Meeting模块 - 升级会员 // Meeting模块 - 升级会员
'upgradeMembership': 'Upgrade Your Membership', 'upgradeMembership': 'Upgrade Your Membership',
'yearlySubscription': 'Yearly Subscription', 'yearlySubscription': 'Yearly Subscription',
'monthlySubscription': 'Monthly Subscription', 'monthlySubscription': 'Monthly Subscription',
'proMonthly': 'Pro ¥60/month', 'proMonthly': 'Pro ¥60/month',
'proMonthlyDesc': 'proMonthlyDesc': '7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'sevenDayTrial': '7-day Free Trial', 'sevenDayTrial': '7-day Free Trial',
'unlimitedMonthly': 'Unlimited ¥120/month', 'unlimitedMonthly': 'Unlimited ¥120/month',
'unlimitedMonthlyDesc': 'unlimitedMonthlyDesc': '7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.', 'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.',
'proPrice': 'Pro ¥120', 'proPrice': 'Pro ¥120',
'proMonthlyPrice': '¥120/month', 'proMonthlyPrice': '¥120/month',
'subscribe': 'Subscribe', 'subscribe': 'Subscribe',
'unlimitedPrice': 'Unlimited ¥198', 'unlimitedPrice': 'Unlimited ¥198',
'unlimitedMonthlyPrice': '¥198/month', 'unlimitedMonthlyPrice': '¥198/month',
'upgradeNote': 'upgradeNote': '*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'buyMoreTranscriptionTime': 'Buy More Transcription Time', 'buyMoreTranscriptionTime': 'Buy More Transcription Time',
'sixThousandMinutes': '6,000 minutes', 'sixThousandMinutes': '6,000 minutes',
'threeThousandMinutes': '3,000 minutes', 'threeThousandMinutes': '3,000 minutes',
'sixHundredMinutes': '600 minutes', 'sixHundredMinutes': '600 minutes',
'oneHundredTwentyMinutes': '120 minutes', 'oneHundredTwentyMinutes': '120 minutes',
'validityPeriod': '*Validity Period: ', 'validityPeriod': '*Validity Period: ',
'validityNote': 'validityNote': 'Activated immediately after purchase, valid for 2 years after activation.',
'Activated immediately after purchase, valid for 2 years after activation.',
'purchase': 'Purchase', 'purchase': 'Purchase',
// Meeting模块 - 模版和生成 // Meeting模块 - 模版和生成
@ -543,8 +523,7 @@ const Map<String, String> trTR = {
'chineseSimplified': 'Chinese Mandarin (Simplified)', 'chineseSimplified': 'Chinese Mandarin (Simplified)',
'meetingGenerateNow': 'Generate Now', 'meetingGenerateNow': 'Generate Now',
'keyEventsAnalyzed': 'Analyzed {count} key events.', 'keyEventsAnalyzed': 'Analyzed {count} key events.',
'aiAnalysisDesc': 'aiAnalysisDesc': 'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
// Meeting模块 - 文件操作和状态 // Meeting模块 - 文件操作和状态
'importing': 'Importing...', 'importing': 'Importing...',
@ -564,10 +543,9 @@ const Map<String, String> trTR = {
// 权限相关 - Meeting相关 // 权限相关 - Meeting相关
'meetingStoragePermission': 'Storage', 'meetingStoragePermission': 'Storage',
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation': 'We need access to storage permissions so you can select and upload audio files.',
'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -611,19 +589,17 @@ const Map<String, String> trTR = {
// Meeting模块 - 发言者相关 // Meeting模块 - 发言者相关
'applyToAllParagraphs': 'Bu konuşmacının tüm paragraflarına uygula', 'applyToAllParagraphs': 'Bu konuşmacının tüm paragraflarına uygula',
'summaryWillBeUpdatedAutomatically': 'summaryWillBeUpdatedAutomatically': 'Özet, şablona göre otomatik olarak güncellenecektir',
'Özet, şablona göre otomatik olarak güncellenecektir',
'nameCurrentSpeaker': 'Name Current Speaker', 'nameCurrentSpeaker': 'Name Current Speaker',
'recentlyUsedNames': 'Recently Used Names', 'recentlyUsedNames': 'Recently Used Names',
'applyToCurrentParagraph': 'Apply to Current Paragraph', 'applyToCurrentParagraph': 'Apply to Current Paragraph',
'totalTime': 'Total Time', 'totalTime': 'Total Time',
'summarySpeakerWillBeUpdatedAutomatically': 'summarySpeakerWillBeUpdatedAutomatically': 'Summary speakers will be updated automatically',
'Summary speakers will be updated automatically',
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -643,15 +619,13 @@ const Map<String, String> trTR = {
"cloudSync": "Bulut Sincronizasyonu", "cloudSync": "Bulut Sincronizasyonu",
"memberService": "Member Service", "memberService": "Member Service",
"bindRewardTitle": "Rewards", "bindRewardTitle": "Rewards",
"bindRewardSimpleDesc": "bindRewardSimpleDesc": "First bind device reward has been issued. Tap OK to close.",
"First bind device reward has been issued. Tap OK to close.",
"joinDevice": "Bağlı cihaz:", "joinDevice": "Bağlı cihaz:",
"accountId": "Hesap Kimliği:", "accountId": "Hesap Kimliği:",
"systemSetting": "Sistem Ayarları", "systemSetting": "Sistem Ayarları",
"languageSetting": "Dil Ayarları", "languageSetting": "Dil Ayarları",
"darkMode": "Karanlık Mod", "darkMode": "Karanlık Mod",
"darkModeInfo": "darkModeInfo": "Uygulamanın aydınlık ve karanlık temaları arasında geçiş yapın",
"Uygulamanın aydınlık ve karanlık temaları arasında geçiş yapın",
"backups": "Yedekle ve Geri Yükle", "backups": "Yedekle ve Geri Yükle",
"backupsInfo": "Ayarları ve yapay zeka etkileşim geçmişini yedekleyin", "backupsInfo": "Ayarları ve yapay zeka etkileşim geçmişini yedekleyin",
"lastBackup": "Son yedekleme:", "lastBackup": "Son yedekleme:",
@ -667,11 +641,9 @@ const Map<String, String> trTR = {
"voiceServiceInfo": "Ses tanıma ve sentezleme hizmetini seçin", "voiceServiceInfo": "Ses tanıma ve sentezleme hizmetini seçin",
"selectVoiceService": "Ses Hizmeti Seç", "selectVoiceService": "Ses Hizmeti Seç",
"azureVoiceService": "Azure Ses Hizmeti", "azureVoiceService": "Azure Ses Hizmeti",
"azureVoiceServiceInfo": "azureVoiceServiceInfo": "Yüksek kaliteli ses sentezi ve tanımayı destekleyen Microsoft bulut ses hizmeti",
"Yüksek kaliteli ses sentezi ve tanımayı destekleyen Microsoft bulut ses hizmeti",
"flutterVoiceService": "Flutter Yerel Ses Hizmeti", "flutterVoiceService": "Flutter Yerel Ses Hizmeti",
"flutterVoiceServiceInfo": "flutterVoiceServiceInfo": "Cihazın yerel ses hizmeti, internet bağlantısı olmadan kullanılabilir",
"Cihazın yerel ses hizmeti, internet bağlantısı olmadan kullanılabilir",
'timbreService': 'Ses Tonu Hizmeti', 'timbreService': 'Ses Tonu Hizmeti',
'timbreServiceInfo': 'Ses sentezi için ses tonu hizmeti seçin', 'timbreServiceInfo': 'Ses sentezi için ses tonu hizmeti seçin',
'defaultTimbre': 'Varsayılan Ses Tonu', 'defaultTimbre': 'Varsayılan Ses Tonu',
@ -682,8 +654,7 @@ const Map<String, String> trTR = {
'pleaseRead': 'Lütfen Yüksek Sesle Okuyun', 'pleaseRead': 'Lütfen Yüksek Sesle Okuyun',
'completeRecording': 'Kaydı Tamamla', 'completeRecording': 'Kaydı Tamamla',
"firmwareUpgrade": "Donanım Yazılımı Güncellemesi", "firmwareUpgrade": "Donanım Yazılımı Güncellemesi",
"bleHeadsetFirmwareUpgrade": "bleHeadsetFirmwareUpgrade": "BLE Kulaklık Donanım Yazılımı Sürüm Güncellemesi",
"BLE Kulaklık Donanım Yazılımı Sürüm Güncellemesi",
"deviceManagement": "Cihaz Yönetimi", "deviceManagement": "Cihaz Yönetimi",
"manageConnectedDevices": "Bağlı Bluetooth cihazlarını yönetin", "manageConnectedDevices": "Bağlı Bluetooth cihazlarını yönetin",
@ -701,8 +672,7 @@ const Map<String, String> trTR = {
// 设置页面 - 实时语音对话 // 设置页面 - 实时语音对话
"realtimeVoiceChat": "Gerçek Zamanlı Sesli Sohbet", "realtimeVoiceChat": "Gerçek Zamanlı Sesli Sohbet",
"realtimeVoiceChatInfo": "realtimeVoiceChatInfo": "Akıllı sesli etkileşim özelliğini deneyimleyin (Özellik Önizlemesi)",
"Akıllı sesli etkileşim özelliğini deneyimleyin (Özellik Önizlemesi)",
"loading": "Yükleniyor...", "loading": "Yükleniyor...",
//设备管理页面 //设备管理页面
@ -717,8 +687,7 @@ const Map<String, String> trTR = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -766,23 +735,18 @@ const Map<String, String> trTR = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'Merhaba! Ben **Lily**, size şu konularda yardımcı olabilirim:\n\n' '• 回答问题和提供信息\n\n'
'• Soruları yanıtlamak ve bilgi sağlamak\n\n' '• 实时语音翻译\n\n'
'• Gerçek zamanlı sesli çeviri\n\n' '• 推荐音乐和播客\n\n'
'• Müzik ve podcast önermek\n\n' '• 语音备忘录和提醒\n\n'
'• Sesli notlar ve hatırlatıcılar\n\n' '• 控制耳机功能\n\n'
'• Kulaklık fonksiyonlarını kontrol etmek\n\n' '有什么我可以帮你的吗?',
'Size nasıl yardımcı olabilirim?',
'microphonePermission': 'Mikrofon', 'microphonePermission': 'Mikrofon',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText': 'Ses tanıma özelliği mikrofon erişimi gerektirir.',
'Ses tanıma özelliği mikrofon erişimi gerektirir.', 'voiceTranslationPermissionText': 'Ses tanıma ve çeviri özelliği mikrofon erişimi gerektirir.',
'voiceTranslationPermissionText': 'phoneCallPermissionText': 'Arama yapma özelliği sesli aramalar için mikrofon erişimi gerektirir.',
'Ses tanıma ve çeviri özelliği mikrofon erişimi gerektirir.', 'permissionDeniedText': 'Mikrofon iznini kalıcı olarak reddettiniz, lütfen sistem ayarlarından izni etkinleştirin.',
'phoneCallPermissionText':
'Arama yapma özelliği sesli aramalar için mikrofon erişimi gerektirir.',
'permissionDeniedText':
'Mikrofon iznini kalıcı olarak reddettiniz, lütfen sistem ayarlarından izni etkinleştirin.',
'startVoiceInput': 'Sesli girişi başlat', 'startVoiceInput': 'Sesli girişi başlat',
'startPhoneCallMode': 'Arama modunu başlat, sesli girişi başlat', 'startPhoneCallMode': 'Arama modunu başlat, sesli girişi başlat',
@ -805,8 +769,7 @@ const Map<String, String> trTR = {
'privacyRelated': 'Gizlilikle İlgili', 'privacyRelated': 'Gizlilikle İlgili',
'copyrightViolation': 'Telif hakkımı, itibarımı vb. ihlal ediyor', 'copyrightViolation': 'Telif hakkımı, itibarımı vb. ihlal ediyor',
'other': 'Diğer', 'other': 'Diğer',
'reportDescriptionHint': 'reportDescriptionHint': 'Şikayet nedeninizi öğrenmek istiyoruz, karşılaştığınız sorunu açıklayabilirsiniz.',
'Şikayet nedeninizi öğrenmek istiyoruz, karşılaştığınız sorunu açıklayabilirsiniz.',
//'submit': '提交', //'submit': '提交',
//Message_bubble //Message_bubble
@ -837,24 +800,15 @@ const Map<String, String> trTR = {
'highest': 'En Yüksek', 'highest': 'En Yüksek',
'lowest': 'En Düşük', 'lowest': 'En Düşük',
'futureForecast': 'Gelecek Tahmini', 'futureForecast': 'Gelecek Tahmini',
'hotWeatherTip': 'hotWeatherTip': 'Bugün hava sıcak, lütfen serin kalmaya ve güneş çarpmasını önlemek için bol su içmeye dikkat edin',
'Bugün hava sıcak, lütfen serin kalmaya ve güneş çarpmasını önlemek için bol su içmeye dikkat edin', 'coldWeatherTip': 'Bugün hava soğuk, dışarı çıkarken üşütmemek için sıkı giyinin',
'coldWeatherTip': 'rainyWeatherTip': 'Bugün yağmurlu, dışarı çıkarken şemsiye alın ve dikkatli olun',
'Bugün hava soğuk, dışarı çıkarken üşütmemek için sıkı giyinin', 'snowyWeatherTip': 'Bugün karlı, yollar kaygan, lütfen dikkatli olun ve sıcak kalmak için önlem alın',
'rainyWeatherTip': 'foggyWeatherTip': 'Bugün sisli, görüş mesafesi düşük, dışarı çıkarken maske takın',
'Bugün yağmurlu, dışarı çıkarken şemsiye alın ve dikkatli olun', 'windyWeatherTip': 'Bugün rüzgarlı, dışarı çıkarken dikkatli olun ve eşyalarınızı sabitleyin',
'snowyWeatherTip': 'sunnyWeatherTip': 'Bugün güneşli ve UV ışınları güçlü, dışarı çıkarken güneş kremi kullanın',
'Bugün karlı, yollar kaygan, lütfen dikkatli olun ve sıcak kalmak için önlem alın', 'temperatureDifferenceTip': 'Bugün gece ile gündüz arasında büyük sıcaklık farkı var, giysilerinizi buna göre ayarlayın',
'foggyWeatherTip': 'comfortableWeatherTip': 'Bugün hava güzel, dışarıda vakit geçirmek için harika bir zaman',
'Bugün sisli, görüş mesafesi düşük, dışarı çıkarken maske takın',
'windyWeatherTip':
'Bugün rüzgarlı, dışarı çıkarken dikkatli olun ve eşyalarınızı sabitleyin',
'sunnyWeatherTip':
'Bugün güneşli ve UV ışınları güçlü, dışarı çıkarken güneş kremi kullanın',
'temperatureDifferenceTip':
'Bugün gece ile gündüz arasında büyük sıcaklık farkı var, giysilerinizi buna göre ayarlayın',
'comfortableWeatherTip':
'Bugün hava güzel, dışarıda vakit geçirmek için harika bir zaman',
"monday": "Pzt", "monday": "Pzt",
"tuesday": "Sal", "tuesday": "Sal",
"wednesday": "Çar", "wednesday": "Çar",
@ -906,28 +860,22 @@ const Map<String, String> trTR = {
"logout": "Çıkış Yap", "logout": "Çıkış Yap",
"logoutTips": "Mevcut hesaptan çıkmak istediğinizden emin misiniz?", "logoutTips": "Mevcut hesaptan çıkmak istediğinizden emin misiniz?",
'deleteAccount': 'Hesabı Sil', 'deleteAccount': 'Hesabı Sil',
'deleteAccountTips': 'deleteAccountTips': 'Hesabınızı kalıcı olarak silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.',
'Hesabınızı kalıcı olarak silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.',
'clean': 'Clear Cache', 'clean': 'Clear Cache',
'cleanTips': 'Are you sure you want to clear personal cache?', 'cleanTips': 'Are you sure you want to clear personal cache?',
// Profile 错误信息 // Profile 错误信息
'networkConnectionFailed': 'networkConnectionFailed': 'Ağ bağlantısı başarısız, lütfen ağ ayarlarını kontrol edip tekrar deneyin',
'Ağ bağlantısı başarısız, lütfen ağ ayarlarını kontrol edip tekrar deneyin', 'serverTemporarilyUnavailable': 'Sunucu geçici olarak yanıt vermiyor, lütfen daha sonra tekrar deneyin',
'serverTemporarilyUnavailable':
'Sunucu geçici olarak yanıt vermiyor, lütfen daha sonra tekrar deneyin',
'loginExpiredPleaseRelogin': 'Oturum süresi doldu, lütfen tekrar giriş yapın', 'loginExpiredPleaseRelogin': 'Oturum süresi doldu, lütfen tekrar giriş yapın',
'noPermissionForThisOperation': 'Bu işlemi gerçekleştirmek için izniniz yok', 'noPermissionForThisOperation': 'Bu işlemi gerçekleştirmek için izniniz yok',
'requestedResourceNotFound': 'İstenen kaynak bulunamadı', 'requestedResourceNotFound': 'İstenen kaynak bulunamadı',
'imageProcessingFailedPleaseReselect': 'imageProcessingFailedPleaseReselect': 'Resim işlenemedi, lütfen resmi yeniden seçin',
'Resim işlenemedi, lütfen resmi yeniden seçin',
'operationFailedPleaseRetry': 'İşlem başarısız, lütfen tekrar deneyin', 'operationFailedPleaseRetry': 'İşlem başarısız, lütfen tekrar deneyin',
'serverReturnedError': 'Sunucu bir hata döndürdü', 'serverReturnedError': 'Sunucu bir hata döndürdü',
'serverError': 'Sunucu Hatası', 'serverError': 'Sunucu Hatası',
'networkConnectionFailedCheckSettings': 'networkConnectionFailedCheckSettings': 'Ağ bağlantısı başarısız, lütfen ağ ayarlarını kontrol edin',
'Ağ bağlantısı başarısız, lütfen ağ ayarlarını kontrol edin', 'serverInternalErrorRetryLater': 'Sunucu iç hatası, lütfen daha sonra tekrar deneyin',
'serverInternalErrorRetryLater':
'Sunucu iç hatası, lütfen daha sonra tekrar deneyin',
// Profile 用户交互 // Profile 用户交互
//'error': '错误', //'error': '错误',
@ -946,18 +894,13 @@ const Map<String, String> trTR = {
// 账号服务相关 // 账号服务相关
'clearUserDataFailed': 'Kullanıcı verileri temizlenemedi', // 清理用户数据失败 'clearUserDataFailed': 'Kullanıcı verileri temizlenemedi', // 清理用户数据失败
'deleteUserDataFailed': 'Kullanıcı verileri silinemedi', // 删除用户数据失败 'deleteUserDataFailed': 'Kullanıcı verileri silinemedi', // 删除用户数据失败
'thirdPartyLogoutSuccess': 'thirdPartyLogoutSuccess': 'Üçüncü taraf oturumu başarıyla kapatıldı', // 第三方登录退出成功
'Üçüncü taraf oturumu başarıyla kapatıldı', // 第三方登录退出成功
'thirdPartyLogoutFailed': 'Üçüncü taraf oturumu kapatılamadı', // 第三方登录退出失败 'thirdPartyLogoutFailed': 'Üçüncü taraf oturumu kapatılamadı', // 第三方登录退出失败
'signOutProcessError': 'signOutProcessError': 'Oturum kapatma işlemi sırasında bir hata oluştu', // 登出过程发生错误
'Oturum kapatma işlemi sırasında bir hata oluştu', // 登出过程发生错误 'deleteAccountProcessError': 'Hesap silme işlemi sırasında bir hata oluştu', // 删除账号过程发生错误
'deleteAccountProcessError':
'Hesap silme işlemi sırasında bir hata oluştu', // 删除账号过程发生错误
'userDataClearSuccess': 'Kullanıcı verileri başarıyla temizlendi', // 用户数据清理成功 'userDataClearSuccess': 'Kullanıcı verileri başarıyla temizlendi', // 用户数据清理成功
'allUserDataClearSuccess': 'allUserDataClearSuccess': 'Tüm kullanıcı verileri başarıyla temizlendi', // 所有用户数据清理成功
'Tüm kullanıcı verileri başarıyla temizlendi', // 所有用户数据清理成功 'accountServiceInitialized': 'Hesap Hizmeti başlatıldı', // AccountService 已初始化
'accountServiceInitialized':
'Hesap Hizmeti başlatıldı', // AccountService 已初始化
// 权限管理页面 // 权限管理页面
'getPermissionStatusFailed': 'İzin durumu alınamadı', 'getPermissionStatusFailed': 'İzin durumu alınamadı',
@ -980,12 +923,9 @@ const Map<String, String> trTR = {
'locationInfo': 'Konum Bilgisi', 'locationInfo': 'Konum Bilgisi',
'phonePermissionDesc': 'Telefon arama özelliği için kullanılır', 'phonePermissionDesc': 'Telefon arama özelliği için kullanılır',
'smsPermissionDesc': 'SMS gönderme özelliği için kullanılır', 'smsPermissionDesc': 'SMS gönderme özelliği için kullanılır',
'alarmPermissionDesc': 'alarmPermissionDesc': 'Used to set exact alarms to ensure reminders trigger on time',
'Used to set exact alarms to ensure reminders trigger on time', 'calendarWritePermissionDesc': 'Takvim etkinlikleri ve hatırlatıcılar oluşturmak için kullanılır',
'calendarWritePermissionDesc': 'calendarFullAccessPermissionDesc': 'Takvim etkinliklerini ve hatırlatıcıları okumak ve yönetmek için kullanılır',
'Takvim etkinlikleri ve hatırlatıcılar oluşturmak için kullanılır',
'calendarFullAccessPermissionDesc':
'Takvim etkinliklerini ve hatırlatıcıları okumak ve yönetmek için kullanılır',
'locationPermissionDesc': 'Mevcut konum bilgisini almak için kullanılır', 'locationPermissionDesc': 'Mevcut konum bilgisini almak için kullanılır',
'appFunctionNeeds': 'Uygulama özelliğinin ihtiyacı var', 'appFunctionNeeds': 'Uygulama özelliğinin ihtiyacı var',
'authorized': 'Yetkilendirildi', 'authorized': 'Yetkilendirildi',
@ -997,77 +937,53 @@ const Map<String, String> trTR = {
'permissionRequestError': 'İzin istenirken hata oluştu', 'permissionRequestError': 'İzin istenirken hata oluştu',
'phonePermissionDetailDesc': 'Arama özelliği telefon izni gerektirir', 'phonePermissionDetailDesc': 'Arama özelliği telefon izni gerektirir',
'smsPermissionDetailDesc': 'SMS gönderme özelliği SMS izni gerektirir', 'smsPermissionDetailDesc': 'SMS gönderme özelliği SMS izni gerektirir',
'alarmPermissionDetailDesc': 'alarmPermissionDetailDesc': 'This permission is required to set exact alarms and ensure reminders trigger on time',
'This permission is required to set exact alarms and ensure reminders trigger on time', 'calendarWritePermissionDetailDesc': 'Takvim etkinliği oluşturma takvime yazma izni gerektirir',
'calendarWritePermissionDetailDesc': 'calendarFullAccessPermissionDetailDesc': 'Takvim etkinliklerini yönetme tam takvim erişimi gerektirir',
'Takvim etkinliği oluşturma takvime yazma izni gerektirir',
'calendarFullAccessPermissionDetailDesc':
'Takvim etkinliklerini yönetme tam takvim erişimi gerektirir',
'locationPermissionDetailDesc': 'Konum bilgisi alma konum izni gerektirir', 'locationPermissionDetailDesc': 'Konum bilgisi alma konum izni gerektirir',
'contactsPermissionDesc': 'Used for accessing contact information', 'contactsPermissionDesc': 'Used for accessing contact information',
'contactsPermissionDetailDesc': 'contactsPermissionDetailDesc': 'Phone call and SMS functionality requires contacts permission to select contacts',
'Phone call and SMS functionality requires contacts permission to select contacts', 'bluetoothPermissionDesc': 'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDesc': 'bluetoothPermissionDetailDesc': 'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDetailDesc':
'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices', 'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices',
'bluetoothScanPermissionDetailDesc': 'bluetoothScanPermissionDetailDesc': 'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices', 'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices',
'bluetoothConnectPermissionDetailDesc': 'bluetoothConnectPermissionDetailDesc': 'Connecting to Bluetooth devices requires Bluetooth connect permission',
'Connecting to Bluetooth devices requires Bluetooth connect permission',
'notificationPermissionDesc': 'Used for sending notification messages', 'notificationPermissionDesc': 'Used for sending notification messages',
'notificationPermissionDetailDesc': 'notificationPermissionDetailDesc': 'App needs notification permission to send you important alerts and messages',
'App needs notification permission to send you important alerts and messages', 'appNeedsPermissionForFullFunction': 'Uygulamanın tam işlevsellik için bu izne ihtiyacı var',
'appNeedsPermissionForFullFunction': 'permanentDenialText': '{permission} iznini kalıcı olarak reddettiniz, lütfen etkinleştirmek için uygulama ayarlarına gidin',
'Uygulamanın tam işlevsellik için bu izne ihtiyacı var',
'permanentDenialText':
'{permission} iznini kalıcı olarak reddettiniz, lütfen etkinleştirmek için uygulama ayarlarına gidin',
'goToSettings': 'Ayarlara Git', 'goToSettings': 'Ayarlara Git',
// 权限申请 // 权限申请
'bluetoothScan': 'Bluetooth Scan', 'bluetoothScan': 'Bluetooth Scan',
'bluetoothConnect': 'Bluetooth Connect', 'bluetoothConnect': 'Bluetooth Connect',
'bluetoothScanExplanation': 'bluetoothScanExplanation': 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.',
'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.', 'bluetoothConnectExplanation': 'The app needs Bluetooth connect permission to connect to Bluetooth devices.',
'bluetoothConnectExplanation': 'locationForBluetoothExplanation': 'The app needs location permission to scan Bluetooth devices.',
'The app needs Bluetooth connect permission to connect to Bluetooth devices.', 'bluetoothScanPermanentDenial': 'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'locationForBluetoothExplanation': 'bluetoothConnectPermanentDenial': 'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'The app needs location permission to scan Bluetooth devices.', 'locationPermanentDenial': 'Location permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothScanPermanentDenial':
'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothConnectPermanentDenial':
'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'locationPermanentDenial':
'Location permission has been permanently denied, please go to settings to enable it manually.',
'notificationPermission': 'Notification', 'notificationPermission': 'Notification',
'locationPermission': 'Location', 'locationPermission': 'Location',
'notificationPermissionExplanation': 'notificationPermissionExplanation': 'Notification permission is required to display music playback status.',
'Notification permission is required to display music playback status.', 'locationPermissionExplanation': 'Location permission is required to get current location.',
'locationPermissionExplanation': 'notificationPermissionPermanentDenial': 'You have permanently denied notification permission, please go to settings to enable it.',
'Location permission is required to get current location.', 'locationPermissionPermanentDenial': 'You have permanently denied location permission, please go to settings to enable it.',
'notificationPermissionPermanentDenial':
'You have permanently denied notification permission, please go to settings to enable it.',
'locationPermissionPermanentDenial':
'You have permanently denied location permission, please go to settings to enable it.',
//'microphonePermission': '录音', //'microphonePermission': '录音',
'storagePermission': 'Storage', 'storagePermission': 'Storage',
'microphonePermissionExplanation': 'microphonePermissionExplanation': 'We need microphone permission to record audio content.',
'We need microphone permission to record audio content.', 'storagePermissionExplanation': 'We need storage permission so you can select and upload audio files.',
'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
'permissionUtilPermission': ' Permission', 'permissionUtilPermission': ' Permission',
'permissionUtilRestricted': ' Permission Restricted', 'permissionUtilRestricted': ' Permission Restricted',
'permissionUtilRestrictedMessage': 'permissionUtilRestrictedMessage': 'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'permissionUtilConfirm': 'OK', 'permissionUtilConfirm': 'OK',
// 版本更新对话框 // 版本更新对话框
@ -1076,10 +992,8 @@ const Map<String, String> trTR = {
'updateNow': 'Şimdi Güncelle', // 立即更新按钮 'updateNow': 'Şimdi Güncelle', // 立即更新按钮
'checkUpdate': 'Güncellemeleri Kontrol Et', // 检查更新按钮 'checkUpdate': 'Güncellemeleri Kontrol Et', // 检查更新按钮
'updateFailed': 'Güncelleme Başarısız', // 更新失败提示 'updateFailed': 'Güncelleme Başarısız', // 更新失败提示
'cannotOpenAppStore': 'cannotOpenAppStore': 'Uygulama mağazası açılamıyor, lütfen güncellemek için manuel olarak gidin', // 无法打开应用商店提示
'Uygulama mağazası açılamıyor, lütfen güncellemek için manuel olarak gidin', // 无法打开应用商店提示 'updateErrorRetry': 'Güncelleme sırasında bir hata oluştu, lütfen daha sonra tekrar deneyin', // 更新错误重试提示
'updateErrorRetry':
'Güncelleme sırasında bir hata oluştu, lütfen daha sonra tekrar deneyin', // 更新错误重试提示
//国家列表 //国家列表
"邮箱": "E-posta", "邮箱": "E-posta",
@ -1215,8 +1129,7 @@ const Map<String, String> trTR = {
"selectTargetLanguage": "Hedef Dil Seç", "selectTargetLanguage": "Hedef Dil Seç",
"me": "Me", "me": "Me",
"counterPart": "Counterpart", "counterPart": "Counterpart",
"bluetoothCallStateError": "bluetoothCallStateError": "Please make sure the Bluetooth headset is connected to the phone and in a call state",
"Please make sure the Bluetooth headset is connected to the phone and in a call state",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
@ -1232,12 +1145,10 @@ const Map<String, String> trTR = {
"historyRecords": "History Records", "historyRecords": "History Records",
"clearResults": "Clear Results", "clearResults": "Clear Results",
"clearHistory": "Geçmişi Temizle", "clearHistory": "Geçmişi Temizle",
"clearHistoryConfirm": "clearHistoryConfirm": "Tüm çeviri geçmişini temizlemek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"Tüm çeviri geçmişini temizlemek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"unknownLanguage": "Bilinmeyen Dil", "unknownLanguage": "Bilinmeyen Dil",
"deleteSessionRecord": "Oturum Kaydını Sil", "deleteSessionRecord": "Oturum Kaydını Sil",
"deleteSessionConfirm": "deleteSessionConfirm": "Bu oturumun tüm çeviri kayıtlarını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"Bu oturumun tüm çeviri kayıtlarını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
// 图片翻译模块(Picture Translation) // 图片翻译模块(Picture Translation)
"selectImageSource": "Select Image Source", "selectImageSource": "Select Image Source",
@ -1269,20 +1180,15 @@ const Map<String, String> trTR = {
"translationCompleted": "Translation Completed", "translationCompleted": "Translation Completed",
"allStepsCompleted": "All steps completed", "allStepsCompleted": "All steps completed",
"processingFailed": "Processing Failed", "processingFailed": "Processing Failed",
"imageProcessingOrTranslationFailed": "imageProcessingOrTranslationFailed": "Image processing or translation failed. Please retry.\nError: {error}",
"Image processing or translation failed. Please retry.\nError: {error}",
"imageTooLarge": "Image size exceeds 4MB limit", "imageTooLarge": "Image size exceeds 4MB limit",
"imageTooLargeHint": "imageTooLargeHint": "Image size exceeds 4MB. Reduce quality or dimensions and retry",
"Image size exceeds 4MB. Reduce quality or dimensions and retry",
"emptyTranslationResult": "Image translation API returned empty result", "emptyTranslationResult": "Image translation API returned empty result",
"imageTranslationFailedTryLater": "imageTranslationFailedTryLater": "Image translation failed. Network issue or rate limit. Please try later",
"Image translation failed. Network issue or rate limit. Please try later", "imageTranslationApiException": "Image translation API exception. Check network and retry",
"imageTranslationApiException":
"Image translation API exception. Check network and retry",
"permissionRequired": "Permission Required", "permissionRequired": "Permission Required",
"cameraPermissionRequired": "Camera permission required to take photos", "cameraPermissionRequired": "Camera permission required to take photos",
"photoAlbumPermissionRequired": "photoAlbumPermissionRequired": "Photo album permission required to pick images",
"Photo album permission required to pick images",
"translationDetails": "Translation Details", "translationDetails": "Translation Details",
"originalImage": "Original Image", "originalImage": "Original Image",
"sourceLanguage": "Source Language", "sourceLanguage": "Source Language",
@ -1305,8 +1211,7 @@ const Map<String, String> trTR = {
// 翻译详情页 (translation_detail_view.dart) // 翻译详情页 (translation_detail_view.dart)
"originalRecord": "Orijinal Kayıt", "originalRecord": "Orijinal Kayıt",
"recordSummary": "Kayıt Özeti", "recordSummary": "Kayıt Özeti",
"clickToGenerateSummary": "clickToGenerateSummary": "Oturum özeti oluşturmak için aşağıdaki düğmeye tıklayın",
"Oturum özeti oluşturmak için aşağıdaki düğmeye tıklayın",
"summaryContent": "Özet İçeriği", "summaryContent": "Özet İçeriği",
"copied": "Kopyalandı", "copied": "Kopyalandı",
"summaryCopiledToClipboard": "Özet panoya kopyalandı", "summaryCopiledToClipboard": "Özet panoya kopyalandı",
@ -1314,11 +1219,9 @@ const Map<String, String> trTR = {
"summaryGenerated": "Özet oluşturuldu", "summaryGenerated": "Özet oluşturuldu",
"generating": "Oluşturuluyor...", "generating": "Oluşturuluyor...",
"regenerate": "Yeniden Oluştur", "regenerate": "Yeniden Oluştur",
"summaryTimeoutMessage": "summaryTimeoutMessage": "Özet oluşturma isteği zaman aşımına uğradı. Ağ sorunları veya sunucu yoğunluğu olabilir.",
"Özet oluşturma isteği zaman aşımına uğradı. Ağ sorunları veya sunucu yoğunluğu olabilir.",
"deleteTranslationRecord": "Çeviri Kaydını Sil", "deleteTranslationRecord": "Çeviri Kaydını Sil",
"deleteTranslationConfirm": "deleteTranslationConfirm": "Bu çeviri kaydını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"Bu çeviri kaydını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"originalText": "Orijinal Metin", "originalText": "Orijinal Metin",
"translatedText": "Çevrilmiş Metin", "translatedText": "Çevrilmiş Metin",
"sessionSummary": "Oturum Özeti", "sessionSummary": "Oturum Özeti",
@ -1346,34 +1249,28 @@ const Map<String, String> trTR = {
// 配对状态文本 // 配对状态文本
"readyToPair": "Eşleştirmeye hazır", "readyToPair": "Eşleştirmeye hazır",
"preparingPairingEnvironment": "Eşleştirme ortamı hazırlanıyor...", "preparingPairingEnvironment": "Eşleştirme ortamı hazırlanıyor...",
"connectDeepSoundViaSystemBluetooth": "connectDeepSoundViaSystemBluetooth": "Lütfen önce sistem Bluetooth'u üzerinden Voitrans cihazına bağlanın",
"Lütfen önce sistem Bluetooth'u üzerinden Voitrans cihazına bağlanın",
"deviceBindingConfirm": "Cihaz bağlama onayı...", "deviceBindingConfirm": "Cihaz bağlama onayı...",
"establishingDeviceAssociation": "Cihaz ilişkisi kuruluyor...", "establishingDeviceAssociation": "Cihaz ilişkisi kuruluyor...",
"waitingCompletePairing": "Lütfen bekleyin, eşleştirme tamamlanıyor...", "waitingCompletePairing": "Lütfen bekleyin, eşleştirme tamamlanıyor...",
"pairingSuccessRedirecting": "pairingSuccessRedirecting": "Eşleştirme başarılı! Ana sayfaya yönlendiriliyor...",
"Eşleştirme başarılı! Ana sayfaya yönlendiriliyor...",
// 配对错误状态文本 // 配对错误状态文本
"ensureConnectedDeepSoundDevice": "ensureConnectedDeepSoundDevice": "Lütfen bir Voitrans cihazına bağlı olduğunuzdan emin olun",
"Lütfen bir Voitrans cihazına bağlı olduğunuzdan emin olun",
"deviceAlreadyBoundToOtherAccount": "Bu cihaz başka bir hesaba zaten bağlı", "deviceAlreadyBoundToOtherAccount": "Bu cihaz başka bir hesaba zaten bağlı",
"deviceAssociationFailed": "Cihaz ilişkisi kurulamadı, lütfen tekrar deneyin", "deviceAssociationFailed": "Cihaz ilişkisi kurulamadı, lütfen tekrar deneyin",
"scanTimeoutEnsureDeviceNearby": "scanTimeoutEnsureDeviceNearby": "Tarama zaman aşımına uğradı, lütfen cihazın yakında olduğundan emin olun",
"Tarama zaman aşımına uğradı, lütfen cihazın yakında olduğundan emin olun",
"networkError": "Ağ Hatası", "networkError": "Ağ Hatası",
"authorizationFailedCheckCode": "authorizationFailedCheckCode": "Yetkilendirme başarısız, lütfen yetkilendirme kodunun doğru olup olmadığını kontrol edin",
"Yetkilendirme başarısız, lütfen yetkilendirme kodunun doğru olup olmadığını kontrol edin",
"pairingFailedRetry": "Eşleştirme başarısız, lütfen tekrar deneyin", "pairingFailedRetry": "Eşleştirme başarısız, lütfen tekrar deneyin",
// 配对控制器相关 // 配对控制器相关
//'connectDevice': '连接设备', //'connectDevice': '连接设备',
'pleaseEnableBluetooth': 'Lütfen Bluetooth\'u etkinleştirin', 'pleaseEnableBluetooth': 'Lütfen Bluetooth\\',
'deviceDisconnected': 'Cihaz bağlantısı kesildi', 'deviceDisconnected': 'Cihaz bağlantısı kesildi',
'readyToStartPairing': 'Eşleştirmeye başlamaya hazır', 'readyToStartPairing': 'Eşleştirmeye başlamaya hazır',
'checkingEnvironment': 'Ortam kontrol ediliyor...', 'checkingEnvironment': 'Ortam kontrol ediliyor...',
'ensureHeadsetOnAndPairingMode': 'ensureHeadsetOnAndPairingMode': 'Lütfen kulaklığın açık ve eşleştirme modunda olduğundan emin olun',
'Lütfen kulaklığın açık ve eşleştirme modunda olduğundan emin olun',
//'goToBluetoothSettings': '前往蓝牙设置', //'goToBluetoothSettings': '前往蓝牙设置',
//'verifyingDevice': '正在验证设备...', //'verifyingDevice': '正在验证设备...',
//'confirmBinding': '确认绑定', //'confirmBinding': '确认绑定',
@ -1381,7 +1278,7 @@ const Map<String, String> trTR = {
'establishingSecureConnection': 'Güvenli bağlantı kuruluyor...', 'establishingSecureConnection': 'Güvenli bağlantı kuruluyor...',
'needManualBindingAuthCode': 'Manuel bağlama yetkilendirme kodu gerekli...', 'needManualBindingAuthCode': 'Manuel bağlama yetkilendirme kodu gerekli...',
'pairingSuccessful': 'Eşleştirme başarılı!', 'pairingSuccessful': 'Eşleştirme başarılı!',
'enableBluetooth': 'Bluetooth\'u Etkinleştir', 'enableBluetooth': 'Bluetooth\\',
'grantPermissions': 'İzinleri Ver', 'grantPermissions': 'İzinleri Ver',
'retryAssociation': 'İlişkiyi Yeniden Dene', 'retryAssociation': 'İlişkiyi Yeniden Dene',
'retryAuthorization': 'Yetkilendirmeyi Yeniden Dene', 'retryAuthorization': 'Yetkilendirmeyi Yeniden Dene',
@ -1391,46 +1288,35 @@ const Map<String, String> trTR = {
'verificationFailedRetry': 'Doğrulama başarısız, lütfen tekrar deneyin', 'verificationFailedRetry': 'Doğrulama başarısız, lütfen tekrar deneyin',
'invalidDeviceAddress': 'Geçersiz cihaz adresi', 'invalidDeviceAddress': 'Geçersiz cihaz adresi',
'bleDeviceAssociationFailed': 'BLE cihaz ilişkisi kurulamadı', 'bleDeviceAssociationFailed': 'BLE cihaz ilişkisi kurulamadı',
'deviceAssociationFailedRetry': 'deviceAssociationFailedRetry': 'Cihaz ilişkisi kurulamadı, lütfen tekrar deneyin',
'Cihaz ilişkisi kurulamadı, lütfen tekrar deneyin', 'bleConnectionTimeoutRetry': 'BLE bağlantısı zaman aşımına uğradı, lütfen tekrar deneyin',
'bleConnectionTimeoutRetry':
'BLE bağlantısı zaman aşımına uğradı, lütfen tekrar deneyin',
'blePairingStartupFailed': 'BLE eşleştirmesi başlatılamadı', 'blePairingStartupFailed': 'BLE eşleştirmesi başlatılamadı',
'bleConnectionFailed': 'BLE bağlantısı başarısız', 'bleConnectionFailed': 'BLE bağlantısı başarısız',
'deviceAuthorizationFailedCheckCode': 'deviceAuthorizationFailedCheckCode': 'Cihaz yetkilendirmesi başarısız, lütfen yetkilendirme kodunu kontrol edin',
'Cihaz yetkilendirmesi başarısız, lütfen yetkilendirme kodunu kontrol edin',
///iOS蓝牙引导窗 ///iOS蓝牙引导窗
'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙 'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙
'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作: 'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作:
'bluetoothGuideStep1': 'bluetoothGuideStep1': 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启
'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启 'bluetoothGuideStep2': 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接
'bluetoothGuideStep2': 'bluetoothGuideStep3': 'Return to app to continue pairing process', // 返回应用继续配对流程
'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接 'bluetoothGuideTip': 'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'bluetoothGuideStep3':
'Return to app to continue pairing process', // 返回应用继续配对流程
'bluetoothGuideTip':
'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'iKnow': 'I Know', // 我知道了 'iKnow': 'I Know', // 我知道了
//用户反馈页 //用户反馈页
"feedback": "Kullanıcı Geri Bildirimi", "feedback": "Kullanıcı Geri Bildirimi",
'feedbackInfo': 'Geri bildirim veya öneri sağlayın', 'feedbackInfo': 'Geri bildirim veya öneri sağlayın',
'feedbackDescription': 'feedbackDescription': 'Lütfen karşılaştığınız sorunu veya önerinizi açıklayın',
'Lütfen karşılaştığınız sorunu veya önerinizi açıklayın',
'feedbackHint': 'Lütfen geri bildiriminizi girin...', 'feedbackHint': 'Lütfen geri bildiriminizi girin...',
'feedbackRequired': 'Lütfen geri bildirim içeriğini girin', 'feedbackRequired': 'Lütfen geri bildirim içeriğini girin',
'contactInfo': 'İletişim Bilgileri', 'contactInfo': 'İletişim Bilgileri',
'contactHint': 'E-posta/Telefon, sizinle iletişime geçebilmemiz için', 'contactHint': 'E-posta/Telefon, sizinle iletişime geçebilmemiz için',
'submit': 'Gönder', 'submit': 'Gönder',
'feedbackSubmitSuccess': 'feedbackSubmitSuccess': 'Geri bildirim başarıyla gönderildi, geri bildiriminiz için teşekkür ederiz!',
'Geri bildirim başarıyla gönderildi, geri bildiriminiz için teşekkür ederiz!', 'feedbackSubmitFailed': 'Geri bildirim gönderilemedi, lütfen daha sonra tekrar deneyin',
'feedbackSubmitFailed':
'Geri bildirim gönderilemedi, lütfen daha sonra tekrar deneyin',
// OTA升级模块 // OTA升级模块
"upgradeExitConfirm": "upgradeExitConfirm": "Yükseltme devam ediyor. Çıkmak işlemi kesecektir, çıkmak istediğinizden emin misiniz?",
"Yükseltme devam ediyor. Çıkmak işlemi kesecektir, çıkmak istediğinizden emin misiniz?",
"deviceModel": "Cihaz Modeli", "deviceModel": "Cihaz Modeli",
"unknownDevice": "Bilinmeyen Cihaz", "unknownDevice": "Bilinmeyen Cihaz",
"currentFirmwareVersion": "Mevcut Donanım Yazılımı Sürümü", "currentFirmwareVersion": "Mevcut Donanım Yazılımı Sürümü",
@ -1443,19 +1329,14 @@ const Map<String, String> trTR = {
"retryConnection": "Yeniden Dene", "retryConnection": "Yeniden Dene",
"ota_updateNow": "Şimdi Güncelle", "ota_updateNow": "Şimdi Güncelle",
"otaVersionInfoFailed": "Failed to get version info. Please try again later.", "otaVersionInfoFailed": "Failed to get version info. Please try again later.",
"otaDeviceInfoUnavailable": "otaDeviceInfoUnavailable": "Unable to get device info. Please check the connection and retry.",
"Unable to get device info. Please check the connection and retry.", "otaProductInfoUnavailable": "Unable to identify the device. Please reconnect and retry.",
"otaProductInfoUnavailable": "otaFirmwareVersionInvalid": "Firmware version is abnormal. Please reconnect and retry.",
"Unable to identify the device. Please reconnect and retry.", "keepConnectedDontClose": "Lütfen cihazı bağlı tutun ve uygulamayı kapatmayın",
"otaFirmwareVersionInvalid":
"Firmware version is abnormal. Please reconnect and retry.",
"keepConnectedDontClose":
"Lütfen cihazı bağlı tutun ve uygulamayı kapatmayın",
"doNotDisconnect": "Bağlantıyı kesmeyin", "doNotDisconnect": "Bağlantıyı kesmeyin",
"charging": "Şarj oluyor", "charging": "Şarj oluyor",
"updateContent": "Güncelleme İçeriği", "updateContent": "Güncelleme İçeriği",
"removeEarbudsEnsureBattery": "removeEarbudsEnsureBattery": "Her iki kulaklığı da çıkarın ve pil seviyelerinin %20'un üzerinde olduğundan emin olun",
"Her iki kulaklığı da çıkarın ve pil seviyelerinin %20'un üzerinde olduğundan emin olun",
// 音乐列表页面 // 音乐列表页面
"noMusic": "Müzik Yok", // 暂无音乐 "noMusic": "Müzik Yok", // 暂无音乐
@ -1465,9 +1346,9 @@ const Map<String, String> trTR = {
"playAll": "Tümünü Oynat", // 播放全部 "playAll": "Tümünü Oynat", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Çince (Basitleştirilmiş)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Çince (Geleneksel)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Çince (Hong Kong Geleneksel)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "İngilizce", "英语": "İngilizce",
"日语": "Japonca", "日语": "Japonca",
"韩语": "Korece", "韩语": "Korece",
@ -1517,10 +1398,8 @@ const Map<String, String> trTR = {
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc": "Insufficient balance, please go to the corresponding recharge page to recharge.",
'Insufficient balance, please go to the corresponding recharge page to recharge.', "recharge": "Go to Recharge",
"recharge": 'Go to Recharge',
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc": "AI membership expired, please go to the membership recharge page to renew.",
'AI membership expired, please go to the membership recharge page to renew.',
}; };

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

@ -72,8 +72,7 @@ const Map<String, String> ukUA = {
// 登录页 // 登录页
"welcome": "Ласкаво просимо", "welcome": "Ласкаво просимо",
"loginTips": "loginTips": "Увійдіть або зареєструйтеся за допомогою номера телефону або електронної пошти",
"Увійдіть або зареєструйтеся за допомогою номера телефону або електронної пошти",
"accountNumber": "Номер телефону або Email", "accountNumber": "Номер телефону або Email",
"verificationCode": "Код підтвердження", "verificationCode": "Код підтвердження",
"getCode": "Отримати код", "getCode": "Отримати код",
@ -92,8 +91,7 @@ const Map<String, String> ukUA = {
"tip": "Підказка", "tip": "Підказка",
"pleaseEnterCompleteCode": "Будь ласка, введіть повний код підтвердження", "pleaseEnterCompleteCode": "Будь ласка, введіть повний код підтвердження",
"loginFailed": "Помилка входу, спробуйте ще раз", "loginFailed": "Помилка входу, спробуйте ще раз",
'pleaseAcceptPrivacyPolicy': 'pleaseAcceptPrivacyPolicy': 'Будь ласка, спочатку прочитайте та погодьтеся з Політикою конфіденційності та Угодою користувача',
'Будь ласка, спочатку прочитайте та погодьтеся з Політикою конфіденційності та Угодою користувача',
"enterVerificationCode": "Введіть код підтвердження", "enterVerificationCode": "Введіть код підтвердження",
"verificationCodeSentTo": "Код підтвердження надіслано на", "verificationCodeSentTo": "Код підтвердження надіслано на",
"resendVerificationCode": "Надіслати код ще раз", "resendVerificationCode": "Надіслати код ще раз",
@ -102,12 +100,11 @@ const Map<String, String> ukUA = {
// 隐私政策弹窗 // 隐私政策弹窗
"loginDeclaration": "Декларація Voitrans", // Voitrans 声明 "loginDeclaration": "Декларація Voitrans", // Voitrans 声明
"welcomeToThisApp": "welcomeToThisApp": "Ласкаво просимо до Voitrans, будь ласка, уважно прочитайте", // 欢迎使用Voitrans,请充分阅读
"Ласкаво просимо до Voitrans, будь ласка, уважно прочитайте", // 欢迎使用Voitrans,请充分阅读
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", натискання 'Погодитися та увійти' означає, що ви повністю прочитали та погодилися з вищезазначеними угодами. Натискання 'Не погоджуватися' призведе до виходу з програми.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Не погоджуватися", // 不同意 "disagree": "Не погоджуватися", // 不同意
"agreeAndEnter": "Погодитися та увійти", // 同意并进入 "agreeAndEnter": "Погодитися та увійти", // 同意并进入
@ -119,29 +116,24 @@ const Map<String, String> ukUA = {
"signal": "Сигнал", "signal": "Сигнал",
"deviceId": "ID пристрою", "deviceId": "ID пристрою",
"firmwareVersion": "Версія прошивки", "firmwareVersion": "Версія прошивки",
"disconnectedDevice": "disconnectedDevice": "Пристрій не підключено, натисніть кнопку нижче, щоб підключити",
"Пристрій не підключено, натисніть кнопку нижче, щоб підключити",
"connectDevice": "Підключити пристрій", "connectDevice": "Підключити пристрій",
"topAiExperiences": "Найкращі враження від AI", "topAiExperiences": "Найкращі враження від AI",
"aiAssistant": "Всемогутній помічник AI", "aiAssistant": "Всемогутній помічник AI",
"aiAssistantInfo": "aiAssistantInfo": "Ексклюзивний консультант 24/7, відповідає на запитання, надає поради",
"Ексклюзивний консультант 24/7, відповідає на запитання, надає поради",
"interpretation": "Синхронний переклад", "interpretation": "Синхронний переклад",
"simultaneousInterpretationInfo": "simultaneousInterpretationInfo": "Переклад у реальному часі на 80+ мов, безтурботні подорожі за кордон",
"Переклад у реальному часі на 80+ мов, безтурботні подорожі за кордон",
"aiCompanion": "Сімейний компаньйон", "aiCompanion": "Сімейний компаньйон",
"aiCompanionInfo": "Розуміє вас, тепла компанія", "aiCompanionInfo": "Розуміє вас, тепла компанія",
"homeSlogan": "З'єднуючи світ, перевершуючи звук", "homeSlogan": "З'єднуючи світ, перевершуючи звук",
"turnEarphones": "turnEarphones": "Будь ласка, відкрийте зарядний кейс для навушників і вставте навушники у вуха",
"Будь ласка, відкрийте зарядний кейс для навушників і вставте навушники у вуха",
"currentlyConnected": "Наразі підключено:", "currentlyConnected": "Наразі підключено:",
"unsystemSetup": "Перейти до налаштувань системи", "unsystemSetup": "Перейти до налаштувань системи",
"talkLater": "Пізніше", "talkLater": "Пізніше",
"initializing": "Ініціалізація...", "initializing": "Ініціалізація...",
"bluetoothInitializationFailure": "Помилка ініціалізації служби Bluetooth", "bluetoothInitializationFailure": "Помилка ініціалізації служби Bluetooth",
"checkingPermissions": "Перевірка дозволів...", "checkingPermissions": "Перевірка дозволів...",
"lackPermissions": "lackPermissions": "Відсутні дозволи Bluetooth і необхідно дозволити доступ до місцезнаходження",
"Відсутні дозволи Bluetooth і необхідно дозволити доступ до місцезнаходження",
"searchingDevice": "Пошук пристроїв...", "searchingDevice": "Пошук пристроїв...",
"findConnectedDevice": "Знайдено підключений пристрій", "findConnectedDevice": "Знайдено підключений пристрій",
"notFound": "Не знайдено підключеного пристрою Bluetooth", "notFound": "Не знайдено підключеного пристрою Bluetooth",
@ -184,8 +176,7 @@ const Map<String, String> ukUA = {
"healthConsultant": "Багатофункціональний чат AI", "healthConsultant": "Багатофункціональний чат AI",
"healthConsultantInfo": "Надає більше функцій чату AI", "healthConsultantInfo": "Надає більше функцій чату AI",
"conferenceAssistant": "Помічник для ділових зустрічей", "conferenceAssistant": "Помічник для ділових зустрічей",
"conferenceAssistantInfo": "conferenceAssistantInfo": "Запис протоколів у реальному часі, багатомовний переклад",
"Запис протоколів у реальному часі, багатомовний переклад",
"usageStats": "Статистика використання", "usageStats": "Статистика використання",
"usageStatsInfo": "Перегляньте статистику використання вашого пристрою", "usageStatsInfo": "Перегляньте статистику використання вашого пристрою",
"scene": "Сценарій", "scene": "Сценарій",
@ -228,8 +219,7 @@ const Map<String, String> ukUA = {
"transcriptBytes": "Transcript Bytes", "transcriptBytes": "Transcript Bytes",
// 通知文案 // 通知文案
"loadFailed": "Load Failed", "loadFailed": "Load Failed",
"statsLoadFailedTryLater": "statsLoadFailedTryLater": "Statistics failed to load. Please try again later.",
"Statistics failed to load. Please try again later.",
"cleanupComplete": "Cleanup Complete", "cleanupComplete": "Cleanup Complete",
"cleanedOldData": "Cleaned data older than 90 days", "cleanedOldData": "Cleaned data older than 90 days",
"exportFeature": "Export Feature", "exportFeature": "Export Feature",
@ -285,10 +275,8 @@ const Map<String, String> ukUA = {
'copyrightVoitrans': '© 2025 Voitrans Technologies', 'copyrightVoitrans': '© 2025 Voitrans Technologies',
// 会议商品页描述 // 会议商品页描述
'meetingHeaderDesc1': 'meetingHeaderDesc1': 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'meetingHeaderDesc2': 'Suitable for business meetings, class notes, and interview minutes.',
'meetingHeaderDesc2':
'Suitable for business meetings, class notes, and interview minutes.',
'meetingAutoRecording': 'Auto recording and segmentation', 'meetingAutoRecording': 'Auto recording and segmentation',
'meetingSpeakerTagging': 'Speaker labeling', 'meetingSpeakerTagging': 'Speaker labeling',
'meetingLongAudioTranscription': 'Long audio transcription', 'meetingLongAudioTranscription': 'Long audio transcription',
@ -297,35 +285,27 @@ const Map<String, String> ukUA = {
'meetingTimelineJump': 'Timeline jump', 'meetingTimelineJump': 'Timeline jump',
'meetingExportSummary': 'Export minutes', 'meetingExportSummary': 'Export minutes',
'meetingMultiPlatformShare': 'Share across platforms', 'meetingMultiPlatformShare': 'Share across platforms',
'meetingDisclaimer': 'meetingDisclaimer': 'Use in quiet environments; performance depends on microphone and network.',
'Use in quiet environments; performance depends on microphone and network.',
// 同传/翻译商品页描述 // 同传/翻译商品页描述
'transHeaderDesc1': 'transHeaderDesc1': 'Real-time simultaneous interpretation and text translation with low-latency voice.',
'Real-time simultaneous interpretation and text translation with low-latency voice.',
'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.', 'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
'translateZhEn': 'Chinese-English translation', 'translateZhEn': 'Chinese-English translation',
'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast', 'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast',
'multiLangTextTranslation': 'Multilingual text translation', 'multiLangTextTranslation': 'Multilingual text translation',
'termOptimizationContextPreserve': 'termOptimizationContextPreserve': 'Terminology optimization and context preservation',
'Terminology optimization and context preservation',
'lexiconTourBusinessLife': 'Travel/Business/Life lexicons', 'lexiconTourBusinessLife': 'Travel/Business/Life lexicons',
'personalVocabularyMemory': 'Personal vocabulary memory', 'personalVocabularyMemory': 'Personal vocabulary memory',
'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode', 'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode',
'colorHighContrast': 'High color contrast', 'colorHighContrast': 'High color contrast',
'transDisclaimer': 'transDisclaimer': 'Translation performance depends on microphone, network latency, and ambient noise.',
'Translation performance depends on microphone, network latency, and ambient noise.',
// AI 商品页描述 // AI 商品页描述
'aiHeaderDesc1': 'aiHeaderDesc1': 'Longer conversation quota, more tool calls, extended context length.',
'Longer conversation quota, more tool calls, extended context length.', 'aiHeaderDesc2': 'Suitable for agent Q&A, summarization, analysis, and task execution.',
'aiHeaderDesc2':
'Suitable for agent Q&A, summarization, analysis, and task execution.',
'musicSearchPlaybackControl': 'Music library search and playback control', 'musicSearchPlaybackControl': 'Music library search and playback control',
'smartPlaylistAndSimilarRecommendations': 'smartPlaylistAndSimilarRecommendations': 'Smart playlist and similar song recommendations',
'Smart playlist and similar song recommendations', 'routePlanningAndCongestionAvoidance': 'Route planning and congestion avoidance',
'routePlanningAndCongestionAvoidance':
'Route planning and congestion avoidance',
'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings', 'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings',
'realTimeWeatherForecast': 'Real-time weather and forecast', 'realTimeWeatherForecast': 'Real-time weather and forecast',
'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders', 'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders',
@ -334,10 +314,8 @@ const Map<String, String> ukUA = {
'hotNewsAndTopicOverview': 'Hot news and topic overview', 'hotNewsAndTopicOverview': 'Hot news and topic overview',
'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points', 'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points',
'helpCallAndSMS': 'Help with calls and SMS', 'helpCallAndSMS': 'Help with calls and SMS',
'templatedMessagesAndScheduleReminders': 'templatedMessagesAndScheduleReminders': 'Template messages and schedule reminders',
'Template messages and schedule reminders', 'aiDisclaimer': 'Features depend on device permissions, service availability, and network conditions.',
'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.',
// 会员商品页 // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
@ -352,11 +330,10 @@ const Map<String, String> ukUA = {
'generalPrivileges': 'General privileges', 'generalPrivileges': 'General privileges',
'earlyAccessNewFeatures': 'Early access to new features', 'earlyAccessNewFeatures': 'Early access to new features',
'crossDeviceSync': 'Cross-device sync', 'crossDeviceSync': 'Cross-device sync',
'vipDisclaimer': 'vipDisclaimer': 'Actual benefits depend on the package details and may change with versions.',
'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Пропустити", 'skip': 'Пропустити',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -379,8 +356,7 @@ const Map<String, String> ukUA = {
'guideNavInput': 'Navigate to Shenzhen Airport', 'guideNavInput': 'Navigate to Shenzhen Airport',
'guideNavSend': 'Lily will plan the route', 'guideNavSend': 'Lily will plan the route',
'guideNavEnd': 'Navigation set—try other commands', 'guideNavEnd': 'Navigation set—try other commands',
'guideMeetingStart': 'guideMeetingStart': 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow', 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
'guideMeetingSend': 'Lily will create a meeting reminder', 'guideMeetingSend': 'Lily will create a meeting reminder',
'guideMeetingEnd': 'Reminder created—try other commands', 'guideMeetingEnd': 'Reminder created—try other commands',
@ -430,8 +406,7 @@ const Map<String, String> ukUA = {
'downloadingFiles': 'Downloading files...', 'downloadingFiles': 'Downloading files...',
'downloadingFileProgress': 'Total {total} files, downloading file {current}', 'downloadingFileProgress': 'Total {total} files, downloading file {current}',
'downloadComplete': 'Download complete', 'downloadComplete': 'Download complete',
'downloadCompleteInfo': 'downloadCompleteInfo': 'Download complete, {count} files in total, returning automatically in 2 seconds',
'Download complete, {count} files in total, returning automatically in 2 seconds',
// Meeting模块 - 录音功能 // Meeting模块 - 录音功能
'startRecording': 'Start Recording', 'startRecording': 'Start Recording',
@ -439,6 +414,23 @@ const Map<String, String> ukUA = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Вийти із запису', // 退出录音
'meetingRecordExitMessage': 'Будь ласка, виберіть дію після виходу', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Завершити та зберегти', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Завершити без збереження', // 结束录音不保存
'meetingRecordContinueInBackground': 'Продовжити запис у фоновому режимі', // 后台继续录音
'meetingRecordStopTimeout': 'Час зупинки запису минув, спробуйте ще раз', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Не вдалося зупинити запис, спробуйте ще раз', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Не вдалося зберегти запис, спробуйте ще раз', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Запис триває', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Запис у фоновому режимі, натисніть, щоб повернутися', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Дозвіл на плаваюче вікно', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'Щоб показувати результати перекладу під час дзвінків або перекладу аудіо/відео, нам потрібен дозвіл на відображення поверх інших програм. Це дозволить бачити переклад у реальному часі під час використання інших додатків.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'Щоб під час запису показувати плаваючу панель запису (таймер/пауза/продовжити), нам потрібен дозвіл на відображення поверх інших програм.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Не вдалося автоматично відкрити системні налаштування. Відкрийте Налаштування та вручну увімкніть дозвіл на відображення поверх інших програм.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -486,54 +478,40 @@ const Map<String, String> ukUA = {
'audioImport': 'Audio Import', 'audioImport': 'Audio Import',
'multipleExportFormats': 'Multiple Export Formats', 'multipleExportFormats': 'Multiple Export Formats',
'professionalSummaryTemplates': 'Professional Summary Templates', 'professionalSummaryTemplates': 'Professional Summary Templates',
'professionalTemplateDesc': 'professionalTemplateDesc': 'Professional template design to improve your work efficiency. Customized according to industry needs.',
'Professional template design to improve your work efficiency. Customized according to industry needs.', 'customTemplateDesc': 'You can customize summary prompts according to your needs and use them to generate the required summaries.',
'customTemplateDesc': 'askAiDesc': 'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.',
'You can customize summary prompts according to your needs and use them to generate the required summaries.', 'visualMindMapDesc': 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.',
'askAiDesc': 'templateCommunityDesc': 'Discover, share, and get inspiration from the template library created by users.',
'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.', 'speakerIdentificationDesc': 'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'visualMindMapDesc': 'privateCloudSyncDesc': 'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.', 'aiVoiceEnhancementDesc': 'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'templateCommunityDesc': 'audioImportDesc': 'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'Discover, share, and get inspiration from the template library created by users.', 'multipleExportFormatsDesc': 'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
'speakerIdentificationDesc':
'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'privateCloudSyncDesc':
'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'aiVoiceEnhancementDesc':
'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'audioImportDesc':
'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'multipleExportFormatsDesc':
'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
// Meeting模块 - 升级会员 // Meeting模块 - 升级会员
'upgradeMembership': 'Upgrade Your Membership', 'upgradeMembership': 'Upgrade Your Membership',
'yearlySubscription': 'Yearly Subscription', 'yearlySubscription': 'Yearly Subscription',
'monthlySubscription': 'Monthly Subscription', 'monthlySubscription': 'Monthly Subscription',
'proMonthly': 'Pro ¥60/month', 'proMonthly': 'Pro ¥60/month',
'proMonthlyDesc': 'proMonthlyDesc': '7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'sevenDayTrial': '7-day Free Trial', 'sevenDayTrial': '7-day Free Trial',
'unlimitedMonthly': 'Unlimited ¥120/month', 'unlimitedMonthly': 'Unlimited ¥120/month',
'unlimitedMonthlyDesc': 'unlimitedMonthlyDesc': '7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.', 'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.',
'proPrice': 'Pro ¥120', 'proPrice': 'Pro ¥120',
'proMonthlyPrice': '¥120/month', 'proMonthlyPrice': '¥120/month',
'subscribe': 'Subscribe', 'subscribe': 'Subscribe',
'unlimitedPrice': 'Unlimited ¥198', 'unlimitedPrice': 'Unlimited ¥198',
'unlimitedMonthlyPrice': '¥198/month', 'unlimitedMonthlyPrice': '¥198/month',
'upgradeNote': 'upgradeNote': '*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'buyMoreTranscriptionTime': 'Buy More Transcription Time', 'buyMoreTranscriptionTime': 'Buy More Transcription Time',
'sixThousandMinutes': '6,000 minutes', 'sixThousandMinutes': '6,000 minutes',
'threeThousandMinutes': '3,000 minutes', 'threeThousandMinutes': '3,000 minutes',
'sixHundredMinutes': '600 minutes', 'sixHundredMinutes': '600 minutes',
'oneHundredTwentyMinutes': '120 minutes', 'oneHundredTwentyMinutes': '120 minutes',
'validityPeriod': '*Validity Period: ', 'validityPeriod': '*Validity Period: ',
'validityNote': 'validityNote': 'Activated immediately after purchase, valid for 2 years after activation.',
'Activated immediately after purchase, valid for 2 years after activation.',
'purchase': 'Purchase', 'purchase': 'Purchase',
// Meeting模块 - 模版和生成 // Meeting模块 - 模版和生成
@ -545,8 +523,7 @@ const Map<String, String> ukUA = {
'chineseSimplified': 'Chinese Mandarin (Simplified)', 'chineseSimplified': 'Chinese Mandarin (Simplified)',
'meetingGenerateNow': 'Generate Now', 'meetingGenerateNow': 'Generate Now',
'keyEventsAnalyzed': 'Analyzed {count} key events.', 'keyEventsAnalyzed': 'Analyzed {count} key events.',
'aiAnalysisDesc': 'aiAnalysisDesc': 'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
// Meeting模块 - 文件操作和状态 // Meeting模块 - 文件操作和状态
'importing': 'Importing...', 'importing': 'Importing...',
@ -566,10 +543,9 @@ const Map<String, String> ukUA = {
// 权限相关 - Meeting相关 // 权限相关 - Meeting相关
'meetingStoragePermission': 'Storage', 'meetingStoragePermission': 'Storage',
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation': 'We need access to storage permissions so you can select and upload audio files.',
'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -613,19 +589,17 @@ const Map<String, String> ukUA = {
// Meeting模块 - 发言者相关 // Meeting模块 - 发言者相关
'applyToAllParagraphs': 'Застосувати до всіх абзаців цього мовця', 'applyToAllParagraphs': 'Застосувати до всіх абзаців цього мовця',
'summaryWillBeUpdatedAutomatically': 'summaryWillBeUpdatedAutomatically': 'Підсумок буде автоматично оновлюватися на основі шаблону',
'Підсумок буде автоматично оновлюватися на основі шаблону',
'nameCurrentSpeaker': 'Name Current Speaker', 'nameCurrentSpeaker': 'Name Current Speaker',
'recentlyUsedNames': 'Recently Used Names', 'recentlyUsedNames': 'Recently Used Names',
'applyToCurrentParagraph': 'Apply to Current Paragraph', 'applyToCurrentParagraph': 'Apply to Current Paragraph',
'totalTime': 'Total Time', 'totalTime': 'Total Time',
'summarySpeakerWillBeUpdatedAutomatically': 'summarySpeakerWillBeUpdatedAutomatically': 'Summary speakers will be updated automatically',
'Summary speakers will be updated automatically',
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -645,8 +619,7 @@ const Map<String, String> ukUA = {
"cloudSync": "Увімкнути синхронізацію в хмарі", "cloudSync": "Увімкнути синхронізацію в хмарі",
"memberService": "Member Service", "memberService": "Member Service",
"bindRewardTitle": "Rewards", "bindRewardTitle": "Rewards",
"bindRewardSimpleDesc": "bindRewardSimpleDesc": "First bind device reward has been issued. Tap OK to close.",
"First bind device reward has been issued. Tap OK to close.",
"joinDevice": "Підключений пристрій:", "joinDevice": "Підключений пристрій:",
"accountId": "ID облікового запису:", "accountId": "ID облікового запису:",
"systemSetting": "Системні налаштування", "systemSetting": "Системні налаштування",
@ -659,8 +632,7 @@ const Map<String, String> ukUA = {
"privacySettings": "Налаштування конфіденційності", "privacySettings": "Налаштування конфіденційності",
"privacySettingsInfo": "Керування збором даних та дозволами", "privacySettingsInfo": "Керування збором даних та дозволами",
"permissionManagement": "Керування дозволами", // 权限管理 "permissionManagement": "Керування дозволами", // 权限管理
"permissionManagementInfo": "permissionManagementInfo": "Керування налаштуваннями дозволів програми", // 管理应用权限设置
"Керування налаштуваннями дозволів програми", // 管理应用权限设置
"aboutApplication": "Про програму", "aboutApplication": "Про програму",
"versions": "Версія", "versions": "Версія",
"checkUpdates": "Перевірити оновлення", "checkUpdates": "Перевірити оновлення",
@ -669,11 +641,9 @@ const Map<String, String> ukUA = {
"voiceServiceInfo": "Вибір служби розпізнавання та синтезу мовлення", "voiceServiceInfo": "Вибір служби розпізнавання та синтезу мовлення",
"selectVoiceService": "Вибрати голосову службу", "selectVoiceService": "Вибрати голосову службу",
"azureVoiceService": "Голосова служба Azure", "azureVoiceService": "Голосова служба Azure",
"azureVoiceServiceInfo": "azureVoiceServiceInfo": "Хмарна голосова служба Microsoft, що підтримує високоякісний синтез та розпізнавання мовлення",
"Хмарна голосова служба Microsoft, що підтримує високоякісний синтез та розпізнавання мовлення",
"flutterVoiceService": "Локальна голосова служба Flutter", "flutterVoiceService": "Локальна голосова служба Flutter",
"flutterVoiceServiceInfo": "flutterVoiceServiceInfo": "Локальна голосова служба пристрою, яку можна використовувати без підключення до Інтернету",
"Локальна голосова служба пристрою, яку можна використовувати без підключення до Інтернету",
'timbreService': 'Служба тембрів', 'timbreService': 'Служба тембрів',
'timbreServiceInfo': 'Вибір служби синтезу мовлення з різними тембрами', 'timbreServiceInfo': 'Вибір служби синтезу мовлення з різними тембрами',
'defaultTimbre': 'Стандартний тембр', 'defaultTimbre': 'Стандартний тембр',
@ -702,8 +672,7 @@ const Map<String, String> ukUA = {
// 设置页面 - 实时语音对话 // 设置页面 - 实时语音对话
"realtimeVoiceChat": "Голосовий чат у реальному часі", "realtimeVoiceChat": "Голосовий чат у реальному часі",
"realtimeVoiceChatInfo": "realtimeVoiceChatInfo": "Спробуйте функцію інтелектуальної голосової взаємодії (попередній перегляд)",
"Спробуйте функцію інтелектуальної голосової взаємодії (попередній перегляд)",
"loading": "Завантаження...", "loading": "Завантаження...",
//设备管理页面 //设备管理页面
@ -718,8 +687,7 @@ const Map<String, String> ukUA = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -767,22 +735,18 @@ const Map<String, String> ukUA = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'Привіт! Я **СяоЯнь**, я можу допомогти вам:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• Відповідати на запитання та надавати інформацію\n\n' '• 回答问题和提供信息\n\n'
'• Голосовий переклад у реальному часі\n\n' '• 实时语音翻译\n\n'
'• Рекомендувати музику та подкасти\n\n' '• 推荐音乐和播客\n\n'
'• Голосові нотатки та нагадування\n\n' '• 语音备忘录和提醒\n\n'
'• Керувати функціями навушників\n\n' '• 控制耳机功能\n\n'
'Чим я можу вам допомогти?', '有什么我可以帮你的吗?',
'microphonePermission': 'Мікрофон', 'microphonePermission': 'Мікрофон',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText': 'Для розпізнавання мовлення потрібен доступ до мікрофона.',
'Для розпізнавання мовлення потрібен доступ до мікрофона.', 'voiceTranslationPermissionText': 'Для розпізнавання та перекладу мовлення потрібен доступ до мікрофона.',
'voiceTranslationPermissionText': 'phoneCallPermissionText': 'Для здійснення дзвінків потрібен доступ до мікрофона для голосових викликів.',
'Для розпізнавання та перекладу мовлення потрібен доступ до мікрофона.', 'permissionDeniedText': 'Ви назавжди відмовили в доступі до мікрофона, будь ласка, увімкніть дозвіл у налаштуваннях системи.',
'phoneCallPermissionText':
'Для здійснення дзвінків потрібен доступ до мікрофона для голосових викликів.',
'permissionDeniedText':
'Ви назавжди відмовили в доступі до мікрофона, будь ласка, увімкніть дозвіл у налаштуваннях системи.',
'startVoiceInput': 'Почати голосове введення', 'startVoiceInput': 'Почати голосове введення',
'startPhoneCallMode': 'Почати режим дзвінка, почати голосове введення', 'startPhoneCallMode': 'Почати режим дзвінка, почати голосове введення',
@ -802,11 +766,10 @@ const Map<String, String> ukUA = {
'pornographicVulgar': 'Порнографічний/Вульгарний', 'pornographicVulgar': 'Порнографічний/Вульгарний',
'misleadingAttack': 'Вводить в оману/Атака', 'misleadingAttack': 'Вводить в оману/Атака',
'illegalCriminal': 'Незаконний/Злочинний', 'illegalCriminal': 'Незаконний/Злочинний',
'privacyRelated': "Пов'язано з конфіденційністю", 'privacyRelated': 'Пов\'язано з конфіденційністю',
'copyrightViolation': "Порушення моїх авторських прав, репутації тощо", 'copyrightViolation': 'Порушення моїх авторських прав, репутації тощо',
'other': 'Інше', 'other': 'Інше',
'reportDescriptionHint': 'reportDescriptionHint': 'Ми хочемо знати причину вашої скарги, ви можете описати проблему, з якою зіткнулися.',
'Ми хочемо знати причину вашої скарги, ви можете описати проблему, з якою зіткнулися.',
//'submit': '提交', //'submit': '提交',
//Message_bubble //Message_bubble
@ -837,24 +800,15 @@ const Map<String, String> ukUA = {
'highest': 'Макс.', 'highest': 'Макс.',
'lowest': 'Мін.', 'lowest': 'Мін.',
'futureForecast': 'Прогноз на майбутнє', 'futureForecast': 'Прогноз на майбутнє',
'hotWeatherTip': 'hotWeatherTip': 'Сьогодні спекотно, будь ласка, уникайте перегріву та пийте більше води, щоб уникнути сонячного удару',
'Сьогодні спекотно, будь ласка, уникайте перегріву та пийте більше води, щоб уникнути сонячного удару', 'coldWeatherTip': 'Сьогодні температура низька, будь ласка, тепло одягайтеся, виходячи на вулицю, щоб не застудитися',
'coldWeatherTip': 'rainyWeatherTip': 'Сьогодні дощ, будь ласка, візьміть з собою парасольку та будьте обережні під час поїздок',
'Сьогодні температура низька, будь ласка, тепло одягайтеся, виходячи на вулицю, щоб не застудитися', 'snowyWeatherTip': 'Сьогодні сніг, дороги слизькі, будьте обережні та тепло одягайтеся',
'rainyWeatherTip': 'foggyWeatherTip': 'Сьогодні туман, видимість обмежена, будь ласка, надягайте маску, виходячи на вулицю',
'Сьогодні дощ, будь ласка, візьміть з собою парасольку та будьте обережні під час поїздок', 'windyWeatherTip': 'Сьогодні сильний вітер, будь ласка, будьте обережні та закріпіть свої речі, виходячи на вулицю',
'snowyWeatherTip': 'sunnyWeatherTip': 'Сьогодні сонячно та сильне ультрафіолетове випромінювання, будь ласка, використовуйте сонцезахисний крем, виходячи на вулицю',
'Сьогодні сніг, дороги слизькі, будьте обережні та тепло одягайтеся', 'temperatureDifferenceTip': 'Сьогодні велика різниця температур між днем і ніччю, будь ласка, одягайтеся відповідно',
'foggyWeatherTip': 'comfortableWeatherTip': 'Сьогодні приємна погода, чудовий час для активного відпочинку на свіжому повітрі',
'Сьогодні туман, видимість обмежена, будь ласка, надягайте маску, виходячи на вулицю',
'windyWeatherTip':
'Сьогодні сильний вітер, будь ласка, будьте обережні та закріпіть свої речі, виходячи на вулицю',
'sunnyWeatherTip':
'Сьогодні сонячно та сильне ультрафіолетове випромінювання, будь ласка, використовуйте сонцезахисний крем, виходячи на вулицю',
'temperatureDifferenceTip':
'Сьогодні велика різниця температур між днем і ніччю, будь ласка, одягайтеся відповідно',
'comfortableWeatherTip':
'Сьогодні приємна погода, чудовий час для активного відпочинку на свіжому повітрі',
"monday": "Пн", "monday": "Пн",
"tuesday": "Вт", "tuesday": "Вт",
"wednesday": "Ср", "wednesday": "Ср",
@ -906,64 +860,51 @@ const Map<String, String> ukUA = {
"logout": "Вийти", "logout": "Вийти",
"logoutTips": "Ви впевнені, що хочете вийти з поточного облікового запису?", "logoutTips": "Ви впевнені, що хочете вийти з поточного облікового запису?",
'deleteAccount': 'Видалити обліковий запис', 'deleteAccount': 'Видалити обліковий запис',
'deleteAccountTips': 'deleteAccountTips': 'Ви впевнені, що хочете назавжди видалити свій обліковий запис? Цю дію неможливо скасувати',
'Ви впевнені, що хочете назавжди видалити свій обліковий запис? Цю дію неможливо скасувати',
'clean': 'Clear Cache', 'clean': 'Clear Cache',
'cleanTips': 'Are you sure you want to clear personal cache?', 'cleanTips': 'Are you sure you want to clear personal cache?',
// Profile 错误信息 // Profile 错误信息
'networkConnectionFailed': 'networkConnectionFailed': 'Помилка мережевого підключення, перевірте налаштування мережі та спробуйте ще раз',
'Помилка мережевого підключення, перевірте налаштування мережі та спробуйте ще раз', 'serverTemporarilyUnavailable': 'Сервер тимчасово недоступний, спробуйте ще раз пізніше',
'serverTemporarilyUnavailable': 'loginExpiredPleaseRelogin': 'Термін дії сесії закінчився, будь ласка, увійдіть знову',
'Сервер тимчасово недоступний, спробуйте ще раз пізніше',
'loginExpiredPleaseRelogin':
'Термін дії сесії закінчився, будь ласка, увійдіть знову',
'noPermissionForThisOperation': 'Немає дозволу на виконання цієї операції', 'noPermissionForThisOperation': 'Немає дозволу на виконання цієї операції',
'requestedResourceNotFound': 'Запитаний ресурс не знайдено', 'requestedResourceNotFound': 'Запитаний ресурс не знайдено',
'imageProcessingFailedPleaseReselect': 'imageProcessingFailedPleaseReselect': 'Не вдалося обробити зображення, будь ласка, виберіть інше зображення',
'Не вдалося обробити зображення, будь ласка, виберіть інше зображення',
'operationFailedPleaseRetry': 'Операція не вдалася, спробуйте ще раз', 'operationFailedPleaseRetry': 'Операція не вдалася, спробуйте ще раз',
'serverReturnedError': 'Сервер повернув помилку', 'serverReturnedError': 'Сервер повернув помилку',
'serverError': 'Помилка сервера', 'serverError': 'Помилка сервера',
'networkConnectionFailedCheckSettings': 'networkConnectionFailedCheckSettings': 'Помилка мережевого підключення, перевірте налаштування мережі',
'Помилка мережевого підключення, перевірте налаштування мережі', 'serverInternalErrorRetryLater': 'Внутрішня помилка сервера, спробуйте ще раз пізніше',
'serverInternalErrorRetryLater':
'Внутрішня помилка сервера, спробуйте ще раз пізніше',
// Profile 用户交互 // Profile 用户交互
//'error': '错误', //'error': '错误',
//'success': '成功', //'success': '成功',
'imageCompressionFailed': 'Не вдалося стиснути зображення', 'imageCompressionFailed': 'Не вдалося стиснути зображення',
'avatarUpdateFailed': 'Не вдалося оновити аватар', 'avatarUpdateFailed': 'Не вдалося оновити аватар',
'usernameCannotBeEmpty': "Ім'я користувача не може бути порожнім", 'usernameCannotBeEmpty': 'Ім\'я користувача не може бути порожнім',
'saveSuccess': 'Збережено успішно', 'saveSuccess': 'Збережено успішно',
'personalInfoUpdated': 'Особисту інформацію оновлено', 'personalInfoUpdated': 'Особисту інформацію оновлено',
'saveFailed': 'Не вдалося зберегти', 'saveFailed': 'Не вдалося зберегти',
'loggedOut': 'Ви вийшли з системи', 'loggedOut': 'Ви вийшли з системи',
'logoutFailedRetry': 'Не вдалося вийти, спробуйте ще раз', 'logoutFailedRetry': 'Не вдалося вийти, спробуйте ще раз',
'accountPermanentlyDeleted': 'Обліковий запис було назавжди видалено', 'accountPermanentlyDeleted': 'Обліковий запис було назавжди видалено',
'deleteAccountFailedRetry': 'deleteAccountFailedRetry': 'Не вдалося видалити обліковий запис, спробуйте ще раз',
'Не вдалося видалити обліковий запис, спробуйте ще раз',
// 账号服务相关 // 账号服务相关
'clearUserDataFailed': 'Не вдалося очистити дані користувача', // 清理用户数据失败 'clearUserDataFailed': 'Не вдалося очистити дані користувача', // 清理用户数据失败
'deleteUserDataFailed': 'Не вдалося видалити дані користувача', // 删除用户数据失败 'deleteUserDataFailed': 'Не вдалося видалити дані користувача', // 删除用户数据失败
'thirdPartyLogoutSuccess': 'thirdPartyLogoutSuccess': 'Вихід зі стороннього сервісу успішний', // 第三方登录退出成功
'Вихід зі стороннього сервісу успішний', // 第三方登录退出成功 'thirdPartyLogoutFailed': 'Не вдалося вийти зі стороннього сервісу', // 第三方登录退出失败
'thirdPartyLogoutFailed':
'Не вдалося вийти зі стороннього сервісу', // 第三方登录退出失败
'signOutProcessError': 'Сталася помилка під час виходу з системи', // 登出过程发生错误 'signOutProcessError': 'Сталася помилка під час виходу з системи', // 登出过程发生错误
'deleteAccountProcessError': 'deleteAccountProcessError': 'Сталася помилка під час видалення облікового запису', // 删除账号过程发生错误
'Сталася помилка під час видалення облікового запису', // 删除账号过程发生错误
'userDataClearSuccess': 'Дані користувача успішно очищено', // 用户数据清理成功 'userDataClearSuccess': 'Дані користувача успішно очищено', // 用户数据清理成功
'allUserDataClearSuccess': 'allUserDataClearSuccess': 'Усі дані користувача успішно очищено', // 所有用户数据清理成功
'Усі дані користувача успішно очищено', // 所有用户数据清理成功 'accountServiceInitialized': 'Службу облікових записів ініціалізовано', // AccountService 已初始化
'accountServiceInitialized':
'Службу облікових записів ініціалізовано', // AccountService 已初始化
// 权限管理页面 // 权限管理页面
'getPermissionStatusFailed': 'Не вдалося отримати статус дозволів', 'getPermissionStatusFailed': 'Не вдалося отримати статус дозволів',
'communicationPermissions': 'Дозволи на зв\'язок', 'communicationPermissions': 'Дозволи на зв\\',
'bluetoothPermissions': 'Bluetooth Permissions', 'bluetoothPermissions': 'Bluetooth Permissions',
'notificationPermissions': 'Notification Permissions', 'notificationPermissions': 'Notification Permissions',
'storagePermissions': 'Storage Permissions', 'storagePermissions': 'Storage Permissions',
@ -982,14 +923,10 @@ const Map<String, String> ukUA = {
'locationInfo': 'Інформація про місцезнаходження', 'locationInfo': 'Інформація про місцезнаходження',
'phonePermissionDesc': 'Використовується для здійснення дзвінків', 'phonePermissionDesc': 'Використовується для здійснення дзвінків',
'smsPermissionDesc': 'Використовується для надсилання SMS', 'smsPermissionDesc': 'Використовується для надсилання SMS',
'alarmPermissionDesc': 'alarmPermissionDesc': 'Used to set exact alarms to ensure reminders trigger on time',
'Used to set exact alarms to ensure reminders trigger on time', 'calendarWritePermissionDesc': 'Використовується для створення подій та нагадувань у календарі',
'calendarWritePermissionDesc': 'calendarFullAccessPermissionDesc': 'Використовується для читання та керування подіями та нагадуваннями у календарі',
'Використовується для створення подій та нагадувань у календарі', 'locationPermissionDesc': 'Використовується для отримання інформації про поточне місцезнаходження',
'calendarFullAccessPermissionDesc':
'Використовується для читання та керування подіями та нагадуваннями у календарі',
'locationPermissionDesc':
'Використовується для отримання інформації про поточне місцезнаходження',
'appFunctionNeeds': 'Функції програми потребують', 'appFunctionNeeds': 'Функції програми потребують',
'authorized': 'Дозволено', 'authorized': 'Дозволено',
'unauthorized': 'Не дозволено', 'unauthorized': 'Не дозволено',
@ -998,82 +935,55 @@ const Map<String, String> ukUA = {
'unknownStatus': 'Невідомий статус', 'unknownStatus': 'Невідомий статус',
'permissionGranted': 'Дозвіл надано', 'permissionGranted': 'Дозвіл надано',
'permissionRequestError': 'Помилка під час запиту дозволу', 'permissionRequestError': 'Помилка під час запиту дозволу',
'phonePermissionDetailDesc': 'phonePermissionDetailDesc': 'Для функції дзвінків потрібен дозвіл на доступ до телефону',
'Для функції дзвінків потрібен дозвіл на доступ до телефону', 'smsPermissionDetailDesc': 'Для функції надсилання SMS потрібен дозвіл на доступ до SMS',
'smsPermissionDetailDesc': 'alarmPermissionDetailDesc': 'This permission is required to set exact alarms and ensure reminders trigger on time',
'Для функції надсилання SMS потрібен дозвіл на доступ до SMS', 'calendarWritePermissionDetailDesc': 'Для створення подій у календарі потрібен дозвіл на запис до календаря',
'alarmPermissionDetailDesc': 'calendarFullAccessPermissionDetailDesc': 'Для керування подіями у календарі потрібен повний доступ до календаря',
'This permission is required to set exact alarms and ensure reminders trigger on time', 'locationPermissionDetailDesc': 'Для отримання інформації про місцезнаходження потрібен дозвіл на доступ до місцезнаходження',
'calendarWritePermissionDetailDesc':
'Для створення подій у календарі потрібен дозвіл на запис до календаря',
'calendarFullAccessPermissionDetailDesc':
'Для керування подіями у календарі потрібен повний доступ до календаря',
'locationPermissionDetailDesc':
'Для отримання інформації про місцезнаходження потрібен дозвіл на доступ до місцезнаходження',
'contactsPermissionDesc': 'Used for accessing contact information', 'contactsPermissionDesc': 'Used for accessing contact information',
'contactsPermissionDetailDesc': 'contactsPermissionDetailDesc': 'Phone call and SMS functionality requires contacts permission to select contacts',
'Phone call and SMS functionality requires contacts permission to select contacts', 'bluetoothPermissionDesc': 'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDesc': 'bluetoothPermissionDetailDesc': 'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDetailDesc':
'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices', 'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices',
'bluetoothScanPermissionDetailDesc': 'bluetoothScanPermissionDetailDesc': 'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices', 'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices',
'bluetoothConnectPermissionDetailDesc': 'bluetoothConnectPermissionDetailDesc': 'Connecting to Bluetooth devices requires Bluetooth connect permission',
'Connecting to Bluetooth devices requires Bluetooth connect permission',
'notificationPermissionDesc': 'Used for sending notification messages', 'notificationPermissionDesc': 'Used for sending notification messages',
'notificationPermissionDetailDesc': 'notificationPermissionDetailDesc': 'App needs notification permission to send you important alerts and messages',
'App needs notification permission to send you important alerts and messages', 'appNeedsPermissionForFullFunction': 'Програмі потрібен цей дозвіл для надання повної функціональності',
'appNeedsPermissionForFullFunction': 'permanentDenialText': 'Ви назавжди відмовили в доступі до {permission}, будь ласка, перейдіть до налаштувань програми, щоб увімкнути його',
'Програмі потрібен цей дозвіл для надання повної функціональності',
'permanentDenialText':
'Ви назавжди відмовили в доступі до {permission}, будь ласка, перейдіть до налаштувань програми, щоб увімкнути його',
'goToSettings': 'Перейти до налаштувань', 'goToSettings': 'Перейти до налаштувань',
// 权限申请 // 权限申请
'bluetoothScan': 'Bluetooth Scan', 'bluetoothScan': 'Bluetooth Scan',
'bluetoothConnect': 'Bluetooth Connect', 'bluetoothConnect': 'Bluetooth Connect',
'bluetoothScanExplanation': 'bluetoothScanExplanation': 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.',
'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.', 'bluetoothConnectExplanation': 'The app needs Bluetooth connect permission to connect to Bluetooth devices.',
'bluetoothConnectExplanation': 'locationForBluetoothExplanation': 'The app needs location permission to scan Bluetooth devices.',
'The app needs Bluetooth connect permission to connect to Bluetooth devices.', 'bluetoothScanPermanentDenial': 'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'locationForBluetoothExplanation': 'bluetoothConnectPermanentDenial': 'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'The app needs location permission to scan Bluetooth devices.', 'locationPermanentDenial': 'Location permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothScanPermanentDenial':
'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothConnectPermanentDenial':
'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'locationPermanentDenial':
'Location permission has been permanently denied, please go to settings to enable it manually.',
'notificationPermission': 'Notification', 'notificationPermission': 'Notification',
'locationPermission': 'Location', 'locationPermission': 'Location',
'notificationPermissionExplanation': 'notificationPermissionExplanation': 'Notification permission is required to display music playback status.',
'Notification permission is required to display music playback status.', 'locationPermissionExplanation': 'Location permission is required to get current location.',
'locationPermissionExplanation': 'notificationPermissionPermanentDenial': 'You have permanently denied notification permission, please go to settings to enable it.',
'Location permission is required to get current location.', 'locationPermissionPermanentDenial': 'You have permanently denied location permission, please go to settings to enable it.',
'notificationPermissionPermanentDenial':
'You have permanently denied notification permission, please go to settings to enable it.',
'locationPermissionPermanentDenial':
'You have permanently denied location permission, please go to settings to enable it.',
//'microphonePermission': '录音', //'microphonePermission': '录音',
'storagePermission': 'Storage', 'storagePermission': 'Storage',
'microphonePermissionExplanation': 'microphonePermissionExplanation': 'We need microphone permission to record audio content.',
'We need microphone permission to record audio content.', 'storagePermissionExplanation': 'We need storage permission so you can select and upload audio files.',
'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
'permissionUtilPermission': ' Permission', 'permissionUtilPermission': ' Permission',
'permissionUtilRestricted': ' Permission Restricted', 'permissionUtilRestricted': ' Permission Restricted',
'permissionUtilRestrictedMessage': 'permissionUtilRestrictedMessage': 'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'permissionUtilConfirm': 'OK', 'permissionUtilConfirm': 'OK',
// 版本更新对话框 // 版本更新对话框
@ -1082,10 +992,8 @@ const Map<String, String> ukUA = {
'updateNow': 'Оновити зараз', // 立即更新按钮 'updateNow': 'Оновити зараз', // 立即更新按钮
'checkUpdate': 'Перевірити оновлення', // 检查更新按钮 'checkUpdate': 'Перевірити оновлення', // 检查更新按钮
'updateFailed': 'Не вдалося оновити', // 更新失败提示 'updateFailed': 'Не вдалося оновити', // 更新失败提示
'cannotOpenAppStore': 'cannotOpenAppStore': 'Не вдається відкрити App Store, будь ласка, перейдіть до App Store вручну, щоб оновити', // 无法打开应用商店提示
'Не вдається відкрити App Store, будь ласка, перейдіть до App Store вручну, щоб оновити', // 无法打开应用商店提示 'updateErrorRetry': 'Сталася помилка під час оновлення, спробуйте ще раз пізніше', // 更新错误重试提示
'updateErrorRetry':
'Сталася помилка під час оновлення, спробуйте ще раз пізніше', // 更新错误重试提示
//国家列表 //国家列表
"邮箱": "Email", "邮箱": "Email",
@ -1221,8 +1129,7 @@ const Map<String, String> ukUA = {
"selectTargetLanguage": "Вибрати цільову мову", "selectTargetLanguage": "Вибрати цільову мову",
"me": "Me", "me": "Me",
"counterPart": "Counterpart", "counterPart": "Counterpart",
"bluetoothCallStateError": "bluetoothCallStateError": "Please make sure the Bluetooth headset is connected to the phone and in a call state",
"Please make sure the Bluetooth headset is connected to the phone and in a call state",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
@ -1238,12 +1145,10 @@ const Map<String, String> ukUA = {
"historyRecords": "History Records", "historyRecords": "History Records",
"clearResults": "Clear Results", "clearResults": "Clear Results",
"clearHistory": "Очистити історію", "clearHistory": "Очистити історію",
"clearHistoryConfirm": "clearHistoryConfirm": "Ви впевнені, що хочете очистити всю історію перекладів? Цю дію неможливо скасувати.",
"Ви впевнені, що хочете очистити всю історію перекладів? Цю дію неможливо скасувати.",
"unknownLanguage": "Невідома мова", "unknownLanguage": "Невідома мова",
"deleteSessionRecord": "Видалити запис сесії", "deleteSessionRecord": "Видалити запис сесії",
"deleteSessionConfirm": "deleteSessionConfirm": "Ви впевнені, що хочете видалити всі записи перекладів цієї сесії? Цю дію неможливо скасувати.",
"Ви впевнені, що хочете видалити всі записи перекладів цієї сесії? Цю дію неможливо скасувати.",
// 图片翻译模块(Picture Translation) // 图片翻译模块(Picture Translation)
"selectImageSource": "Select Image Source", "selectImageSource": "Select Image Source",
@ -1275,20 +1180,15 @@ const Map<String, String> ukUA = {
"translationCompleted": "Translation Completed", "translationCompleted": "Translation Completed",
"allStepsCompleted": "All steps completed", "allStepsCompleted": "All steps completed",
"processingFailed": "Processing Failed", "processingFailed": "Processing Failed",
"imageProcessingOrTranslationFailed": "imageProcessingOrTranslationFailed": "Image processing or translation failed. Please retry.\nError: {error}",
"Image processing or translation failed. Please retry.\nError: {error}",
"imageTooLarge": "Image size exceeds 4MB limit", "imageTooLarge": "Image size exceeds 4MB limit",
"imageTooLargeHint": "imageTooLargeHint": "Image size exceeds 4MB. Reduce quality or dimensions and retry",
"Image size exceeds 4MB. Reduce quality or dimensions and retry",
"emptyTranslationResult": "Image translation API returned empty result", "emptyTranslationResult": "Image translation API returned empty result",
"imageTranslationFailedTryLater": "imageTranslationFailedTryLater": "Image translation failed. Network issue or rate limit. Please try later",
"Image translation failed. Network issue or rate limit. Please try later", "imageTranslationApiException": "Image translation API exception. Check network and retry",
"imageTranslationApiException":
"Image translation API exception. Check network and retry",
"permissionRequired": "Permission Required", "permissionRequired": "Permission Required",
"cameraPermissionRequired": "Camera permission required to take photos", "cameraPermissionRequired": "Camera permission required to take photos",
"photoAlbumPermissionRequired": "photoAlbumPermissionRequired": "Photo album permission required to pick images",
"Photo album permission required to pick images",
"translationDetails": "Translation Details", "translationDetails": "Translation Details",
"originalImage": "Original Image", "originalImage": "Original Image",
"sourceLanguage": "Source Language", "sourceLanguage": "Source Language",
@ -1311,8 +1211,7 @@ const Map<String, String> ukUA = {
// 翻译详情页 (translation_detail_view.dart) // 翻译详情页 (translation_detail_view.dart)
"originalRecord": "Оригінальний запис", "originalRecord": "Оригінальний запис",
"recordSummary": "Підсумок запису", "recordSummary": "Підсумок запису",
"clickToGenerateSummary": "clickToGenerateSummary": "Натисніть кнопку нижче, щоб згенерувати підсумок сесії",
"Натисніть кнопку нижче, щоб згенерувати підсумок сесії",
"summaryContent": "Зміст підсумку", "summaryContent": "Зміст підсумку",
"copied": "Скопійовано", "copied": "Скопійовано",
"summaryCopiledToClipboard": "Підсумок скопійовано до буфера обміну", "summaryCopiledToClipboard": "Підсумок скопійовано до буфера обміну",
@ -1320,11 +1219,9 @@ const Map<String, String> ukUA = {
"summaryGenerated": "Підсумок згенеровано", "summaryGenerated": "Підсумок згенеровано",
"generating": "Генерація...", "generating": "Генерація...",
"regenerate": "Згенерувати знову", "regenerate": "Згенерувати знову",
"summaryTimeoutMessage": "summaryTimeoutMessage": "Час очікування запиту на генерацію підсумку минув, можливо, через проблеми з мережею або завантаженість сервера.",
"Час очікування запиту на генерацію підсумку минув, можливо, через проблеми з мережею або завантаженість сервера.",
"deleteTranslationRecord": "Видалити запис перекладу", "deleteTranslationRecord": "Видалити запис перекладу",
"deleteTranslationConfirm": "deleteTranslationConfirm": "Ви впевнені, що хочете видалити цей запис перекладу? Цю дію неможливо скасувати.",
"Ви впевнені, що хочете видалити цей запис перекладу? Цю дію неможливо скасувати.",
"originalText": "Оригінальний текст", "originalText": "Оригінальний текст",
"translatedText": "Перекладений текст", "translatedText": "Перекладений текст",
"sessionSummary": "Підсумок сесії", "sessionSummary": "Підсумок сесії",
@ -1352,25 +1249,19 @@ const Map<String, String> ukUA = {
// 配对状态文本 // 配对状态文本
"readyToPair": "Готово до спарювання", "readyToPair": "Готово до спарювання",
"preparingPairingEnvironment": "Підготовка середовища для спарювання...", "preparingPairingEnvironment": "Підготовка середовища для спарювання...",
"connectDeepSoundViaSystemBluetooth": "connectDeepSoundViaSystemBluetooth": "Будь ласка, спочатку підключіться до пристрою Voitrans через системний Bluetooth",
"Будь ласка, спочатку підключіться до пристрою Voitrans через системний Bluetooth",
"deviceBindingConfirm": "Підтвердження прив'язки пристрою...", "deviceBindingConfirm": "Підтвердження прив'язки пристрою...",
"establishingDeviceAssociation": "Встановлення асоціації пристрою...", "establishingDeviceAssociation": "Встановлення асоціації пристрою...",
"waitingCompletePairing": "Будь ласка, зачекайте, завершується спарювання...", "waitingCompletePairing": "Будь ласка, зачекайте, завершується спарювання...",
"pairingSuccessRedirecting": "pairingSuccessRedirecting": "Спарювання успішне! Перенаправлення на головну сторінку...",
"Спарювання успішне! Перенаправлення на головну сторінку...",
// 配对错误状态文本 // 配对错误状态文本
"ensureConnectedDeepSoundDevice": "ensureConnectedDeepSoundDevice": "Переконайтеся, що ви підключені до пристрою Voitrans",
"Переконайтеся, що ви підключені до пристрою Voitrans", "deviceAlreadyBoundToOtherAccount": "Цей пристрій вже прив'язаний до іншого облікового запису",
"deviceAlreadyBoundToOtherAccount":
"Цей пристрій вже прив'язаний до іншого облікового запису",
"deviceAssociationFailed": "Не вдалося асоціювати пристрій, спробуйте ще раз", "deviceAssociationFailed": "Не вдалося асоціювати пристрій, спробуйте ще раз",
"scanTimeoutEnsureDeviceNearby": "scanTimeoutEnsureDeviceNearby": "Час сканування минув, переконайтеся, що пристрій знаходиться поруч",
"Час сканування минув, переконайтеся, що пристрій знаходиться поруч",
"networkError": "Помилка мережі", "networkError": "Помилка мережі",
"authorizationFailedCheckCode": "authorizationFailedCheckCode": "Помилка авторизації, перевірте правильність коду авторизації",
"Помилка авторизації, перевірте правильність коду авторизації",
"pairingFailedRetry": "Не вдалося спарити, спробуйте ще раз", "pairingFailedRetry": "Не вдалося спарити, спробуйте ще раз",
// 配对控制器相关 // 配对控制器相关
@ -1379,15 +1270,13 @@ const Map<String, String> ukUA = {
'deviceDisconnected': 'Пристрій відключено', 'deviceDisconnected': 'Пристрій відключено',
'readyToStartPairing': 'Готово до початку спарювання', 'readyToStartPairing': 'Готово до початку спарювання',
'checkingEnvironment': 'Перевірка середовища...', 'checkingEnvironment': 'Перевірка середовища...',
'ensureHeadsetOnAndPairingMode': 'ensureHeadsetOnAndPairingMode': 'Переконайтеся, що навушники увімкнені та знаходяться в режимі спарювання',
'Переконайтеся, що навушники увімкнені та знаходяться в режимі спарювання',
//'goToBluetoothSettings': '前往蓝牙设置', //'goToBluetoothSettings': '前往蓝牙设置',
//'verifyingDevice': '正在验证设备...', //'verifyingDevice': '正在验证设备...',
//'confirmBinding': '确认绑定', //'confirmBinding': '确认绑定',
//'associatingDevice': '正在关联设备...', //'associatingDevice': '正在关联设备...',
'establishingSecureConnection': 'Встановлення безпечного з\'єднання...', 'establishingSecureConnection': 'Встановлення безпечного з\\',
'needManualBindingAuthCode': 'needManualBindingAuthCode': 'Потрібен код авторизації для ручної прив\\',
'Потрібен код авторизації для ручної прив\'язки...',
'pairingSuccessful': 'Спарювання успішне!', 'pairingSuccessful': 'Спарювання успішне!',
'enableBluetooth': 'Увімкнути Bluetooth', 'enableBluetooth': 'Увімкнути Bluetooth',
'grantPermissions': 'Надати дозволи', 'grantPermissions': 'Надати дозволи',
@ -1399,45 +1288,35 @@ const Map<String, String> ukUA = {
'verificationFailedRetry': 'Перевірка не вдалася, спробуйте ще раз', 'verificationFailedRetry': 'Перевірка не вдалася, спробуйте ще раз',
'invalidDeviceAddress': 'Недійсна адреса пристрою', 'invalidDeviceAddress': 'Недійсна адреса пристрою',
'bleDeviceAssociationFailed': 'Не вдалося асоціювати пристрій BLE', 'bleDeviceAssociationFailed': 'Не вдалося асоціювати пристрій BLE',
'deviceAssociationFailedRetry': 'deviceAssociationFailedRetry': 'Не вдалося асоціювати пристрій, спробуйте ще раз',
'Не вдалося асоціювати пристрій, спробуйте ще раз', 'bleConnectionTimeoutRetry': 'Час очікування підключення BLE минув, спробуйте ще раз',
'bleConnectionTimeoutRetry':
'Час очікування підключення BLE минув, спробуйте ще раз',
'blePairingStartupFailed': 'Не вдалося розпочати спарювання BLE', 'blePairingStartupFailed': 'Не вдалося розпочати спарювання BLE',
'bleConnectionFailed': 'Не вдалося підключитися через BLE', 'bleConnectionFailed': 'Не вдалося підключитися через BLE',
'deviceAuthorizationFailedCheckCode': 'deviceAuthorizationFailedCheckCode': 'Помилка авторизації пристрою, перевірте код авторизації',
'Помилка авторизації пристрою, перевірте код авторизації',
///iOS蓝牙引导窗 ///iOS蓝牙引导窗
'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙 'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙
'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作: 'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作:
'bluetoothGuideStep1': 'bluetoothGuideStep1': 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启
'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启 'bluetoothGuideStep2': 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接
'bluetoothGuideStep2': 'bluetoothGuideStep3': 'Return to app to continue pairing process', // 返回应用继续配对流程
'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接 'bluetoothGuideTip': 'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'bluetoothGuideStep3':
'Return to app to continue pairing process', // 返回应用继续配对流程
'bluetoothGuideTip':
'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'iKnow': 'I Know', // 我知道了 'iKnow': 'I Know', // 我知道了
//用户反馈页 //用户反馈页
"feedback": "Відгук користувача", "feedback": "Відгук користувача",
'feedbackInfo': 'Надати відгук або пропозицію', 'feedbackInfo': 'Надати відгук або пропозицію',
'feedbackDescription': 'feedbackDescription': 'Будь ласка, опишіть проблему, з якою ви зіткнулися, або вашу пропозицію',
'Будь ласка, опишіть проблему, з якою ви зіткнулися, або вашу пропозицію',
'feedbackHint': 'Будь ласка, введіть ваш відгук...', 'feedbackHint': 'Будь ласка, введіть ваш відгук...',
'feedbackRequired': 'Будь ласка, введіть зміст відгуку', 'feedbackRequired': 'Будь ласка, введіть зміст відгуку',
'contactInfo': 'Контактна інформація', 'contactInfo': 'Контактна інформація',
'contactHint': 'Email/Телефон, щоб ми могли з вами зв\'язатися', 'contactHint': 'Email/Телефон, щоб ми могли з вами зв\\',
'submit': 'Надіслати', 'submit': 'Надіслати',
'feedbackSubmitSuccess': 'Відгук успішно надіслано, дякуємо за ваш відгук!', 'feedbackSubmitSuccess': 'Відгук успішно надіслано, дякуємо за ваш відгук!',
'feedbackSubmitFailed': 'feedbackSubmitFailed': 'Не вдалося надіслати відгук, спробуйте ще раз пізніше',
'Не вдалося надіслати відгук, спробуйте ще раз пізніше',
// OTA升级模块 // OTA升级模块
"upgradeExitConfirm": "upgradeExitConfirm": "Наразі триває оновлення, вихід перерве процес оновлення, ви впевнені, що хочете вийти?",
"Наразі триває оновлення, вихід перерве процес оновлення, ви впевнені, що хочете вийти?",
"deviceModel": "Модель пристрою", "deviceModel": "Модель пристрою",
"unknownDevice": "Невідомий пристрій", "unknownDevice": "Невідомий пристрій",
"currentFirmwareVersion": "Поточна версія прошивки", "currentFirmwareVersion": "Поточна версія прошивки",
@ -1450,19 +1329,14 @@ const Map<String, String> ukUA = {
"retryConnection": "Повторити підключення", "retryConnection": "Повторити підключення",
"ota_updateNow": "Оновити зараз", "ota_updateNow": "Оновити зараз",
"otaVersionInfoFailed": "Failed to get version info. Please try again later.", "otaVersionInfoFailed": "Failed to get version info. Please try again later.",
"otaDeviceInfoUnavailable": "otaDeviceInfoUnavailable": "Unable to get device info. Please check the connection and retry.",
"Unable to get device info. Please check the connection and retry.", "otaProductInfoUnavailable": "Unable to identify the device. Please reconnect and retry.",
"otaProductInfoUnavailable": "otaFirmwareVersionInvalid": "Firmware version is abnormal. Please reconnect and retry.",
"Unable to identify the device. Please reconnect and retry.", "keepConnectedDontClose": "Будь ласка, тримайте пристрій підключеним, не закривайте програму",
"otaFirmwareVersionInvalid":
"Firmware version is abnormal. Please reconnect and retry.",
"keepConnectedDontClose":
"Будь ласка, тримайте пристрій підключеним, не закривайте програму",
"doNotDisconnect": "Будь ласка, не відключайте", "doNotDisconnect": "Будь ласка, не відключайте",
"charging": "Зарядка", "charging": "Зарядка",
"updateContent": "Зміст оновлення", "updateContent": "Зміст оновлення",
"removeEarbudsEnsureBattery": "removeEarbudsEnsureBattery": "Вийміть обидва навушники та переконайтеся, що заряд батареї в обох перевищує 20%",
"Вийміть обидва навушники та переконайтеся, що заряд батареї в обох перевищує 20%",
// 音乐列表页面 // 音乐列表页面
"noMusic": "Немає музики", // 暂无音乐 "noMusic": "Немає музики", // 暂无音乐
@ -1472,9 +1346,9 @@ const Map<String, String> ukUA = {
"playAll": "Відтворити все", // 播放全部 "playAll": "Відтворити все", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Китайська (спрощена)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Китайська (традиційна)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Китайська (гонконгська традиційна)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "Англійська", "英语": "Англійська",
"日语": "Японська", "日语": "Японська",
"韩语": "Корейська", "韩语": "Корейська",
@ -1524,10 +1398,8 @@ const Map<String, String> ukUA = {
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc": "Insufficient balance, please go to the corresponding recharge page to recharge.",
'Insufficient balance, please go to the corresponding recharge page to recharge.', "recharge": "Go to Recharge",
"recharge": 'Go to Recharge',
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc": "AI membership expired, please go to the membership recharge page to renew.",
'AI membership expired, please go to the membership recharge page to renew.',
}; };

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

@ -91,8 +91,7 @@ const Map<String, String> viVN = {
"tip": "Gợi ý", "tip": "Gợi ý",
"pleaseEnterCompleteCode": "Vui lòng nhập đầy đủ mã xác minh", "pleaseEnterCompleteCode": "Vui lòng nhập đầy đủ mã xác minh",
"loginFailed": "Đăng nhập thất bại, vui lòng thử lại", "loginFailed": "Đăng nhập thất bại, vui lòng thử lại",
'pleaseAcceptPrivacyPolicy': 'pleaseAcceptPrivacyPolicy': 'Vui lòng đọc và đồng ý với Chính sách bảo mật và Thỏa thuận người dùng trước',
'Vui lòng đọc và đồng ý với Chính sách bảo mật và Thỏa thuận người dùng trước',
"enterVerificationCode": "Nhập mã xác minh", "enterVerificationCode": "Nhập mã xác minh",
"verificationCodeSentTo": "Mã xác minh đã được gửi đến", "verificationCodeSentTo": "Mã xác minh đã được gửi đến",
"resendVerificationCode": "Gửi lại mã xác minh", "resendVerificationCode": "Gửi lại mã xác minh",
@ -101,12 +100,11 @@ const Map<String, String> viVN = {
// 隐私政策弹窗 // 隐私政策弹窗
"loginDeclaration": "Tuyên bố của Voitrans", // Voitrans 声明 "loginDeclaration": "Tuyên bố của Voitrans", // Voitrans 声明
"welcomeToThisApp": "welcomeToThisApp": "Chào mừng bạn đến với Voitrans, vui lòng đọc kỹ", // 欢迎使用Voitrans,请充分阅读
"Chào mừng bạn đến với Voitrans, vui lòng đọc kỹ", // 欢迎使用Voitrans,请充分阅读
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
", nhấn 'Đồng ý và vào' có nghĩa là bạn đã đọc kỹ và đồng ý với các thỏa thuận trên. Nhấn 'Không đồng ý' sẽ thoát khỏi ứng dụng.", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。 ",点击'同意并进入'表示您已充分阅读并同意上述协议。点击'不同意'将退出应用。", // ,点击"同意并进入"表示您已充分阅读并同意上述协议。点击"不同意"将退出应用。
"disagree": "Không đồng ý", // 不同意 "disagree": "Không đồng ý", // 不同意
"agreeAndEnter": "Đồng ý và vào", // 同意并进入 "agreeAndEnter": "Đồng ý và vào", // 同意并进入
@ -122,11 +120,9 @@ const Map<String, String> viVN = {
"connectDevice": "Kết nối thiết bị", "connectDevice": "Kết nối thiết bị",
"topAiExperiences": "Trải nghiệm AI hàng đầu", "topAiExperiences": "Trải nghiệm AI hàng đầu",
"aiAssistant": "Trợ lý toàn năng AI", "aiAssistant": "Trợ lý toàn năng AI",
"aiAssistantInfo": "aiAssistantInfo": "Tư vấn viên độc quyền 24/7, trả lời câu hỏi, cung cấp đề xuất",
"Tư vấn viên độc quyền 24/7, trả lời câu hỏi, cung cấp đề xuất",
"interpretation": "Phiên dịch đồng thời", "interpretation": "Phiên dịch đồng thời",
"simultaneousInterpretationInfo": "simultaneousInterpretationInfo": "Dịch thời gian thực hơn 80 ngôn ngữ, du lịch nước ngoài không lo",
"Dịch thời gian thực hơn 80 ngôn ngữ, du lịch nước ngoài không lo",
"aiCompanion": "Bạn đồng hành gia đình", "aiCompanion": "Bạn đồng hành gia đình",
"aiCompanionInfo": "Thấu hiểu bạn, đồng hành ấm áp", "aiCompanionInfo": "Thấu hiểu bạn, đồng hành ấm áp",
"homeSlogan": "Kết nối thế giới, vượt trên cả âm thanh", "homeSlogan": "Kết nối thế giới, vượt trên cả âm thanh",
@ -137,8 +133,7 @@ const Map<String, String> viVN = {
"initializing": "Đang khởi tạo...", "initializing": "Đang khởi tạo...",
"bluetoothInitializationFailure": "Khởi tạo dịch vụ Bluetooth thất bại", "bluetoothInitializationFailure": "Khởi tạo dịch vụ Bluetooth thất bại",
"checkingPermissions": "Đang kiểm tra quyền...", "checkingPermissions": "Đang kiểm tra quyền...",
"lackPermissions": "lackPermissions": "Thiếu quyền Bluetooth và cần phải cấp quyền truy cập vị trí",
"Thiếu quyền Bluetooth và cần phải cấp quyền truy cập vị trí",
"searchingDevice": "Đang tìm kiếm thiết bị...", "searchingDevice": "Đang tìm kiếm thiết bị...",
"findConnectedDevice": "Đã tìm thấy thiết bị đã kết nối", "findConnectedDevice": "Đã tìm thấy thiết bị đã kết nối",
"notFound": "Không tìm thấy thiết bị Bluetooth đã kết nối", "notFound": "Không tìm thấy thiết bị Bluetooth đã kết nối",
@ -181,8 +176,7 @@ const Map<String, String> viVN = {
"healthConsultant": "Trò chuyện AI đa chức năng", "healthConsultant": "Trò chuyện AI đa chức năng",
"healthConsultantInfo": "Cung cấp thêm chức năng trò chuyện AI", "healthConsultantInfo": "Cung cấp thêm chức năng trò chuyện AI",
"conferenceAssistant": "Trợ lý hội nghị kinh doanh", "conferenceAssistant": "Trợ lý hội nghị kinh doanh",
"conferenceAssistantInfo": "conferenceAssistantInfo": "Ghi lại biên bản họp thời gian thực, dịch đa ngôn ngữ",
"Ghi lại biên bản họp thời gian thực, dịch đa ngôn ngữ",
"usageStats": "Thống kê sử dụng", "usageStats": "Thống kê sử dụng",
"usageStatsInfo": "Xem thống kê sử dụng của bạn", "usageStatsInfo": "Xem thống kê sử dụng của bạn",
"scene": "Tình huống", "scene": "Tình huống",
@ -225,8 +219,7 @@ const Map<String, String> viVN = {
"transcriptBytes": "Transcript Bytes", "transcriptBytes": "Transcript Bytes",
// 通知文案 // 通知文案
"loadFailed": "Load Failed", "loadFailed": "Load Failed",
"statsLoadFailedTryLater": "statsLoadFailedTryLater": "Statistics failed to load. Please try again later.",
"Statistics failed to load. Please try again later.",
"cleanupComplete": "Cleanup Complete", "cleanupComplete": "Cleanup Complete",
"cleanedOldData": "Cleaned data older than 90 days", "cleanedOldData": "Cleaned data older than 90 days",
"exportFeature": "Export Feature", "exportFeature": "Export Feature",
@ -282,10 +275,8 @@ const Map<String, String> viVN = {
'copyrightVoitrans': '© 2025 Voitrans Technologies', 'copyrightVoitrans': '© 2025 Voitrans Technologies',
// 会议商品页描述 // 会议商品页描述
'meetingHeaderDesc1': 'meetingHeaderDesc1': 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'meetingHeaderDesc2': 'Suitable for business meetings, class notes, and interview minutes.',
'meetingHeaderDesc2':
'Suitable for business meetings, class notes, and interview minutes.',
'meetingAutoRecording': 'Auto recording and segmentation', 'meetingAutoRecording': 'Auto recording and segmentation',
'meetingSpeakerTagging': 'Speaker labeling', 'meetingSpeakerTagging': 'Speaker labeling',
'meetingLongAudioTranscription': 'Long audio transcription', 'meetingLongAudioTranscription': 'Long audio transcription',
@ -294,35 +285,27 @@ const Map<String, String> viVN = {
'meetingTimelineJump': 'Timeline jump', 'meetingTimelineJump': 'Timeline jump',
'meetingExportSummary': 'Export minutes', 'meetingExportSummary': 'Export minutes',
'meetingMultiPlatformShare': 'Share across platforms', 'meetingMultiPlatformShare': 'Share across platforms',
'meetingDisclaimer': 'meetingDisclaimer': 'Use in quiet environments; performance depends on microphone and network.',
'Use in quiet environments; performance depends on microphone and network.',
// 同传/翻译商品页描述 // 同传/翻译商品页描述
'transHeaderDesc1': 'transHeaderDesc1': 'Real-time simultaneous interpretation and text translation with low-latency voice.',
'Real-time simultaneous interpretation and text translation with low-latency voice.',
'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.', 'transHeaderDesc2': 'Suitable for travel, business, speeches, and teaching.',
'translateZhEn': 'Chinese-English translation', 'translateZhEn': 'Chinese-English translation',
'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast', 'lowLatencyVoiceBroadcast': 'Low-latency voice broadcast',
'multiLangTextTranslation': 'Multilingual text translation', 'multiLangTextTranslation': 'Multilingual text translation',
'termOptimizationContextPreserve': 'termOptimizationContextPreserve': 'Terminology optimization and context preservation',
'Terminology optimization and context preservation',
'lexiconTourBusinessLife': 'Travel/Business/Life lexicons', 'lexiconTourBusinessLife': 'Travel/Business/Life lexicons',
'personalVocabularyMemory': 'Personal vocabulary memory', 'personalVocabularyMemory': 'Personal vocabulary memory',
'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode', 'conversationSubtitleLargeText': 'Conversation subtitles / Large-text mode',
'colorHighContrast': 'High color contrast', 'colorHighContrast': 'High color contrast',
'transDisclaimer': 'transDisclaimer': 'Translation performance depends on microphone, network latency, and ambient noise.',
'Translation performance depends on microphone, network latency, and ambient noise.',
// AI 商品页描述 // AI 商品页描述
'aiHeaderDesc1': 'aiHeaderDesc1': 'Longer conversation quota, more tool calls, extended context length.',
'Longer conversation quota, more tool calls, extended context length.', 'aiHeaderDesc2': 'Suitable for agent Q&A, summarization, analysis, and task execution.',
'aiHeaderDesc2':
'Suitable for agent Q&A, summarization, analysis, and task execution.',
'musicSearchPlaybackControl': 'Music library search and playback control', 'musicSearchPlaybackControl': 'Music library search and playback control',
'smartPlaylistAndSimilarRecommendations': 'smartPlaylistAndSimilarRecommendations': 'Smart playlist and similar song recommendations',
'Smart playlist and similar song recommendations', 'routePlanningAndCongestionAvoidance': 'Route planning and congestion avoidance',
'routePlanningAndCongestionAvoidance':
'Route planning and congestion avoidance',
'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings', 'voiceBroadcastAndWaypoints': 'Voice broadcast and waypoint settings',
'realTimeWeatherForecast': 'Real-time weather and forecast', 'realTimeWeatherForecast': 'Real-time weather and forecast',
'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders', 'clothingAdviceAndTravelReminders': 'Clothing advice and travel reminders',
@ -331,10 +314,8 @@ const Map<String, String> viVN = {
'hotNewsAndTopicOverview': 'Hot news and topic overview', 'hotNewsAndTopicOverview': 'Hot news and topic overview',
'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points', 'longArticleSummariesAndKeyPoints': 'Long-article summaries and key points',
'helpCallAndSMS': 'Help with calls and SMS', 'helpCallAndSMS': 'Help with calls and SMS',
'templatedMessagesAndScheduleReminders': 'templatedMessagesAndScheduleReminders': 'Template messages and schedule reminders',
'Template messages and schedule reminders', 'aiDisclaimer': 'Features depend on device permissions, service availability, and network conditions.',
'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.',
// 会员商品页 // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
@ -349,11 +330,10 @@ const Map<String, String> viVN = {
'generalPrivileges': 'General privileges', 'generalPrivileges': 'General privileges',
'earlyAccessNewFeatures': 'Early access to new features', 'earlyAccessNewFeatures': 'Early access to new features',
'crossDeviceSync': 'Cross-device sync', 'crossDeviceSync': 'Cross-device sync',
'vipDisclaimer': 'vipDisclaimer': 'Actual benefits depend on the package details and may change with versions.',
'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': "Bỏ qua", 'skip': 'Bỏ qua',
'next': 'Next', 'next': 'Next',
'sayLilyHint': 'Say "Lily Lily" to the mic', 'sayLilyHint': 'Say "Lily Lily" to the mic',
'imHere': 'I’m here~', 'imHere': 'I’m here~',
@ -376,8 +356,7 @@ const Map<String, String> viVN = {
'guideNavInput': 'Navigate to Shenzhen Airport', 'guideNavInput': 'Navigate to Shenzhen Airport',
'guideNavSend': 'Lily will plan the route', 'guideNavSend': 'Lily will plan the route',
'guideNavEnd': 'Navigation set—try other commands', 'guideNavEnd': 'Navigation set—try other commands',
'guideMeetingStart': 'guideMeetingStart': 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'Tell Lily: “Create a meeting reminder for 3pm tomorrow”',
'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow', 'guideMeetingInput': 'Create a meeting reminder for 3pm tomorrow',
'guideMeetingSend': 'Lily will create a meeting reminder', 'guideMeetingSend': 'Lily will create a meeting reminder',
'guideMeetingEnd': 'Reminder created—try other commands', 'guideMeetingEnd': 'Reminder created—try other commands',
@ -427,8 +406,7 @@ const Map<String, String> viVN = {
'downloadingFiles': 'Downloading files...', 'downloadingFiles': 'Downloading files...',
'downloadingFileProgress': 'Total {total} files, downloading file {current}', 'downloadingFileProgress': 'Total {total} files, downloading file {current}',
'downloadComplete': 'Download complete', 'downloadComplete': 'Download complete',
'downloadCompleteInfo': 'downloadCompleteInfo': 'Download complete, {count} files in total, returning automatically in 2 seconds',
'Download complete, {count} files in total, returning automatically in 2 seconds',
// Meeting模块 - 录音功能 // Meeting模块 - 录音功能
'startRecording': 'Start Recording', 'startRecording': 'Start Recording',
@ -436,6 +414,23 @@ const Map<String, String> viVN = {
'audioVideoRecording': 'Audio/Video Recording', 'audioVideoRecording': 'Audio/Video Recording',
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Thoát ghi âm', // 退出录音
'meetingRecordExitMessage': 'Vui lòng chọn thao tác sau khi thoát', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Kết thúc và lưu', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Kết thúc không lưu', // 结束录音不保存
'meetingRecordContinueInBackground': 'Tiếp tục ghi âm trong nền', // 后台继续录音
'meetingRecordStopTimeout': 'Hết thời gian dừng ghi âm, vui lòng thử lại', // 结束录音超时,请重试
'meetingRecordStopFailed': 'Dừng ghi âm thất bại, vui lòng thử lại', // 结束录音失败,请重试
'meetingRecordSaveFailed': 'Lưu ghi âm thất bại, vui lòng thử lại', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Đang ghi âm', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Đang ghi âm trong nền, nhấn để quay lại ứng dụng', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Quyền cửa sổ nổi', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'Để hiển thị kết quả dịch trong cuộc gọi hoặc khi dịch âm thanh/video, chúng tôi cần quyền hiển thị trên ứng dụng khác. Quyền này giúp bạn xem bản dịch theo thời gian thực khi đang dùng các ứng dụng khác.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'Để hiển thị thanh nổi ghi âm (hẹn giờ/tạm dừng/tiếp tục) trong khi ghi âm, chúng tôi cần quyền hiển thị trên ứng dụng khác.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'Không thể tự động mở cài đặt hệ thống. Vui lòng mở Cài đặt và bật quyền hiển thị trên ứng dụng khác theo cách thủ công.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': 'Transcribing...', 'transcribing': 'Transcribing...',
'summarizing': 'Summarizing...', 'summarizing': 'Summarizing...',
'analyzing': 'Analyzing...', 'analyzing': 'Analyzing...',
@ -483,54 +478,40 @@ const Map<String, String> viVN = {
'audioImport': 'Audio Import', 'audioImport': 'Audio Import',
'multipleExportFormats': 'Multiple Export Formats', 'multipleExportFormats': 'Multiple Export Formats',
'professionalSummaryTemplates': 'Professional Summary Templates', 'professionalSummaryTemplates': 'Professional Summary Templates',
'professionalTemplateDesc': 'professionalTemplateDesc': 'Professional template design to improve your work efficiency. Customized according to industry needs.',
'Professional template design to improve your work efficiency. Customized according to industry needs.', 'customTemplateDesc': 'You can customize summary prompts according to your needs and use them to generate the required summaries.',
'customTemplateDesc': 'askAiDesc': 'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.',
'You can customize summary prompts according to your needs and use them to generate the required summaries.', 'visualMindMapDesc': 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.',
'askAiDesc': 'templateCommunityDesc': 'Discover, share, and get inspiration from the template library created by users.',
'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.', 'speakerIdentificationDesc': 'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'visualMindMapDesc': 'privateCloudSyncDesc': 'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.', 'aiVoiceEnhancementDesc': 'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'templateCommunityDesc': 'audioImportDesc': 'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'Discover, share, and get inspiration from the template library created by users.', 'multipleExportFormatsDesc': 'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
'speakerIdentificationDesc':
'Audio transcription will support speaker identification, more intuitively restore meeting or phone call content. At the same time, the summary will be more accurate.',
'privateCloudSyncDesc':
'Your recordings and transcriptions will be securely stored on dedicated cloud servers, with full encryption during upload and download to ensure privacy and security.',
'aiVoiceEnhancementDesc':
'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.',
'audioImportDesc':
'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.',
'multipleExportFormatsDesc':
'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.',
// Meeting模块 - 升级会员 // Meeting模块 - 升级会员
'upgradeMembership': 'Upgrade Your Membership', 'upgradeMembership': 'Upgrade Your Membership',
'yearlySubscription': 'Yearly Subscription', 'yearlySubscription': 'Yearly Subscription',
'monthlySubscription': 'Monthly Subscription', 'monthlySubscription': 'Monthly Subscription',
'proMonthly': 'Pro ¥60/month', 'proMonthly': 'Pro ¥60/month',
'proMonthlyDesc': 'proMonthlyDesc': '7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥800/year. Cancel anytime before trial ends.',
'sevenDayTrial': '7-day Free Trial', 'sevenDayTrial': '7-day Free Trial',
'unlimitedMonthly': 'Unlimited ¥120/month', 'unlimitedMonthly': 'Unlimited ¥120/month',
'unlimitedMonthlyDesc': 'unlimitedMonthlyDesc': '7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'7-day free trial, then ¥1600/year. Cancel anytime before trial ends.',
'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.', 'trialNote': '*Free trial for 7 days, then charged annually, cancel anytime.',
'proPrice': 'Pro ¥120', 'proPrice': 'Pro ¥120',
'proMonthlyPrice': '¥120/month', 'proMonthlyPrice': '¥120/month',
'subscribe': 'Subscribe', 'subscribe': 'Subscribe',
'unlimitedPrice': 'Unlimited ¥198', 'unlimitedPrice': 'Unlimited ¥198',
'unlimitedMonthlyPrice': '¥198/month', 'unlimitedMonthlyPrice': '¥198/month',
'upgradeNote': 'upgradeNote': '*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account',
'buyMoreTranscriptionTime': 'Buy More Transcription Time', 'buyMoreTranscriptionTime': 'Buy More Transcription Time',
'sixThousandMinutes': '6,000 minutes', 'sixThousandMinutes': '6,000 minutes',
'threeThousandMinutes': '3,000 minutes', 'threeThousandMinutes': '3,000 minutes',
'sixHundredMinutes': '600 minutes', 'sixHundredMinutes': '600 minutes',
'oneHundredTwentyMinutes': '120 minutes', 'oneHundredTwentyMinutes': '120 minutes',
'validityPeriod': '*Validity Period: ', 'validityPeriod': '*Validity Period: ',
'validityNote': 'validityNote': 'Activated immediately after purchase, valid for 2 years after activation.',
'Activated immediately after purchase, valid for 2 years after activation.',
'purchase': 'Purchase', 'purchase': 'Purchase',
// Meeting模块 - 模版和生成 // Meeting模块 - 模版和生成
@ -542,8 +523,7 @@ const Map<String, String> viVN = {
'chineseSimplified': 'Chinese Mandarin (Simplified)', 'chineseSimplified': 'Chinese Mandarin (Simplified)',
'meetingGenerateNow': 'Generate Now', 'meetingGenerateNow': 'Generate Now',
'keyEventsAnalyzed': 'Analyzed {count} key events.', 'keyEventsAnalyzed': 'Analyzed {count} key events.',
'aiAnalysisDesc': 'aiAnalysisDesc': 'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
// Meeting模块 - 文件操作和状态 // Meeting模块 - 文件操作和状态
'importing': 'Importing...', 'importing': 'Importing...',
@ -563,10 +543,9 @@ const Map<String, String> viVN = {
// 权限相关 - Meeting相关 // 权限相关 - Meeting相关
'meetingStoragePermission': 'Storage', 'meetingStoragePermission': 'Storage',
'meetingStoragePermissionExplanation': 'meetingStoragePermissionExplanation': 'We need access to storage permissions so you can select and upload audio files.',
'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关 // Meeting模块 - 思维导图相关
'shareMindMap': 'Share Mind Map', 'shareMindMap': 'Share Mind Map',
@ -610,19 +589,17 @@ const Map<String, String> viVN = {
// Meeting模块 - 发言者相关 // Meeting模块 - 发言者相关
'applyToAllParagraphs': 'Áp dụng cho tất cả đoạn của người nói này', 'applyToAllParagraphs': 'Áp dụng cho tất cả đoạn của người nói này',
'summaryWillBeUpdatedAutomatically': 'summaryWillBeUpdatedAutomatically': 'Tóm tắt sẽ được cập nhật tự động dựa trên mẫu',
'Tóm tắt sẽ được cập nhật tự động dựa trên mẫu',
'nameCurrentSpeaker': 'Name Current Speaker', 'nameCurrentSpeaker': 'Name Current Speaker',
'recentlyUsedNames': 'Recently Used Names', 'recentlyUsedNames': 'Recently Used Names',
'applyToCurrentParagraph': 'Apply to Current Paragraph', 'applyToCurrentParagraph': 'Apply to Current Paragraph',
'totalTime': 'Total Time', 'totalTime': 'Total Time',
'summarySpeakerWillBeUpdatedAutomatically': 'summarySpeakerWillBeUpdatedAutomatically': 'Summary speakers will be updated automatically',
'Summary speakers will be updated automatically',
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
'syncToCloudTip': 'syncToCloudTip':
'Automatically sync your recordings to the cloud, you can play, manage and share recordings through any VOITRANS APP or VOITRANS Web (web.voitrans.com).', '自动将你的录音同步到云端,你可以通过任意VOITRANS APP或VOITRANS Web(web.voitrans.com)播放、管理和分享录音。',
'syncToVoitransApp': 'Sync VOITRANS APP', 'syncToVoitransApp': 'Sync VOITRANS APP',
'transcriptionRecord': 'Transcription Record', 'transcriptionRecord': 'Transcription Record',
@ -642,8 +619,7 @@ const Map<String, String> viVN = {
"cloudSync": "Chuyển đổi đồng bộ hóa đám mây", "cloudSync": "Chuyển đổi đồng bộ hóa đám mây",
"memberService": "Member Service", "memberService": "Member Service",
"bindRewardTitle": "Rewards", "bindRewardTitle": "Rewards",
"bindRewardSimpleDesc": "bindRewardSimpleDesc": "First bind device reward has been issued. Tap OK to close.",
"First bind device reward has been issued. Tap OK to close.",
"joinDevice": "Thiết bị đã kết nối:", "joinDevice": "Thiết bị đã kết nối:",
"accountId": "ID tài khoản:", "accountId": "ID tài khoản:",
"systemSetting": "Cài đặt hệ thống", "systemSetting": "Cài đặt hệ thống",
@ -665,11 +641,9 @@ const Map<String, String> viVN = {
"voiceServiceInfo": "Chọn dịch vụ nhận dạng và tổng hợp giọng nói", "voiceServiceInfo": "Chọn dịch vụ nhận dạng và tổng hợp giọng nói",
"selectVoiceService": "Chọn dịch vụ giọng nói", "selectVoiceService": "Chọn dịch vụ giọng nói",
"azureVoiceService": "Dịch vụ giọng nói Azure", "azureVoiceService": "Dịch vụ giọng nói Azure",
"azureVoiceServiceInfo": "azureVoiceServiceInfo": "Dịch vụ giọng nói đám mây của Microsoft, hỗ trợ tổng hợp và nhận dạng giọng nói chất lượng cao",
"Dịch vụ giọng nói đám mây của Microsoft, hỗ trợ tổng hợp và nhận dạng giọng nói chất lượng cao",
"flutterVoiceService": "Dịch vụ giọng nói cục bộ Flutter", "flutterVoiceService": "Dịch vụ giọng nói cục bộ Flutter",
"flutterVoiceServiceInfo": "flutterVoiceServiceInfo": "Dịch vụ giọng nói cục bộ trên thiết bị, có thể sử dụng mà không cần kết nối mạng",
"Dịch vụ giọng nói cục bộ trên thiết bị, có thể sử dụng mà không cần kết nối mạng",
'timbreService': 'Dịch vụ âm sắc', 'timbreService': 'Dịch vụ âm sắc',
'timbreServiceInfo': 'Chọn dịch vụ tổng hợp giọng nói âm sắc', 'timbreServiceInfo': 'Chọn dịch vụ tổng hợp giọng nói âm sắc',
'defaultTimbre': 'Âm sắc mặc định', 'defaultTimbre': 'Âm sắc mặc định',
@ -698,8 +672,7 @@ const Map<String, String> viVN = {
// 设置页面 - 实时语音对话 // 设置页面 - 实时语音对话
"realtimeVoiceChat": "Trò chuyện giọng nói thời gian thực", "realtimeVoiceChat": "Trò chuyện giọng nói thời gian thực",
"realtimeVoiceChatInfo": "realtimeVoiceChatInfo": "Trải nghiệm chức năng tương tác giọng nói thông minh (xem trước chức năng)",
"Trải nghiệm chức năng tương tác giọng nói thông minh (xem trước chức năng)",
"loading": "Đang tải...", "loading": "Đang tải...",
//设备管理页面 //设备管理页面
@ -714,8 +687,7 @@ const Map<String, String> viVN = {
"noMacAddress": "No MAC Address", "noMacAddress": "No MAC Address",
"licenseCode": "License Code", "licenseCode": "License Code",
"confirmUnbind": "Confirm Unbind", "confirmUnbind": "Confirm Unbind",
"confirmUnbindMessage": "confirmUnbindMessage": "Are you sure you want to unbind device \\",
"Are you sure you want to unbind device \"{deviceName}\"?",
"confirmUnbindAction": "Confirm Unbind", "confirmUnbindAction": "Confirm Unbind",
//Agent 模块 //Agent 模块
@ -763,25 +735,20 @@ const Map<String, String> viVN = {
"nearbyFood": "What delicious food is nearby?", // 美食 "nearbyFood": "What delicious food is nearby?", // 美食
// Agent controller // Agent controller
'welcomeMessage': 'Chào bạn! Tôi là **Lily**, tôi có thể giúp bạn:\n\n' 'welcomeMessage': '你好!我是**Lily**,我能帮你:\n\n'
'• Trả lời câu hỏi và cung cấp thông tin\n\n' '• 回答问题和提供信息\n\n'
'• Dịch giọng nói thời gian thực\n\n' '• 实时语音翻译\n\n'
'• Đề xuất nhạc và podcast\n\n' '• 推荐音乐和播客\n\n'
'• Ghi nhớ giọng nói và nhắc nhở\n\n' '• 语音备忘录和提醒\n\n'
'• Điều khiển chức năng tai nghe\n\n' '• 控制耳机功能\n\n'
'Tôi có thể giúp gì cho bạn?', '有什么我可以帮你的吗?',
'microphonePermission': 'Microphone', 'microphonePermission': 'Microphone',
'voiceRecognitionPermissionText': 'voiceRecognitionPermissionText': 'Chức năng nhận dạng giọng nói cần truy cập microphone.',
'Chức năng nhận dạng giọng nói cần truy cập microphone.', 'voiceTranslationPermissionText': 'Chức năng nhận dạng và dịch giọng nói cần truy cập microphone.',
'voiceTranslationPermissionText': 'phoneCallPermissionText': 'Chức năng gọi điện cần truy cập microphone để thực hiện cuộc gọi thoại.',
'Chức năng nhận dạng và dịch giọng nói cần truy cập microphone.', 'permissionDeniedText': 'Bạn đã từ chối vĩnh viễn quyền truy cập microphone, vui lòng vào cài đặt hệ thống để cấp quyền.',
'phoneCallPermissionText':
'Chức năng gọi điện cần truy cập microphone để thực hiện cuộc gọi thoại.',
'permissionDeniedText':
'Bạn đã từ chối vĩnh viễn quyền truy cập microphone, vui lòng vào cài đặt hệ thống để cấp quyền.',
'startVoiceInput': 'Bắt đầu nhập liệu bằng giọng nói', 'startVoiceInput': 'Bắt đầu nhập liệu bằng giọng nói',
'startPhoneCallMode': 'startPhoneCallMode': 'Bắt đầu chế độ gọi điện, bắt đầu nhập liệu bằng giọng nói',
'Bắt đầu chế độ gọi điện, bắt đầu nhập liệu bằng giọng nói',
// Agent 全屏编辑器 // Agent 全屏编辑器
'fullScreenEditorHint': 'Nhập tin nhắn của bạn ở đây...', // 全屏编辑器输入提示 'fullScreenEditorHint': 'Nhập tin nhắn của bạn ở đây...', // 全屏编辑器输入提示
@ -802,8 +769,7 @@ const Map<String, String> viVN = {
'privacyRelated': 'Liên quan đến quyền riêng tư', 'privacyRelated': 'Liên quan đến quyền riêng tư',
'copyrightViolation': 'Vi phạm bản quyền, danh dự của tôi, v.v.', 'copyrightViolation': 'Vi phạm bản quyền, danh dự của tôi, v.v.',
'other': 'Khác', 'other': 'Khác',
'reportDescriptionHint': 'reportDescriptionHint': 'Chúng tôi muốn biết lý do bạn báo cáo, bạn có thể mô tả vấn đề bạn gặp phải.',
'Chúng tôi muốn biết lý do bạn báo cáo, bạn có thể mô tả vấn đề bạn gặp phải.',
//'submit': '提交', //'submit': '提交',
//Message_bubble //Message_bubble
@ -834,23 +800,15 @@ const Map<String, String> viVN = {
'highest': 'Cao nhất', 'highest': 'Cao nhất',
'lowest': 'Thấp nhất', 'lowest': 'Thấp nhất',
'futureForecast': 'Dự báo tương lai', 'futureForecast': 'Dự báo tương lai',
'hotWeatherTip': 'hotWeatherTip': 'Hôm nay trời nóng, chú ý chống nóng, uống nhiều nước để tránh say nắng',
'Hôm nay trời nóng, chú ý chống nóng, uống nhiều nước để tránh say nắng', 'coldWeatherTip': 'Hôm nay nhiệt độ thấp, ra ngoài chú ý giữ ấm, cẩn thận cảm lạnh',
'coldWeatherTip': 'rainyWeatherTip': 'Hôm nay có mưa, ra ngoài nhớ mang theo ô, chú ý an toàn khi đi lại',
'Hôm nay nhiệt độ thấp, ra ngoài chú ý giữ ấm, cẩn thận cảm lạnh', 'snowyWeatherTip': 'Hôm nay có tuyết, đường trơn trượt chú ý an toàn, giữ ấm cơ thể',
'rainyWeatherTip': 'foggyWeatherTip': 'Hôm nay có sương mù, tầm nhìn thấp, ra ngoài nhớ đeo khẩu trang',
'Hôm nay có mưa, ra ngoài nhớ mang theo ô, chú ý an toàn khi đi lại', 'windyWeatherTip': 'Hôm nay gió lớn, ra ngoài chú ý an toàn, buộc chặt đồ đạc',
'snowyWeatherTip':
'Hôm nay có tuyết, đường trơn trượt chú ý an toàn, giữ ấm cơ thể',
'foggyWeatherTip':
'Hôm nay có sương mù, tầm nhìn thấp, ra ngoài nhớ đeo khẩu trang',
'windyWeatherTip':
'Hôm nay gió lớn, ra ngoài chú ý an toàn, buộc chặt đồ đạc',
'sunnyWeatherTip': 'Hôm nay nắng đẹp, tia UV mạnh, ra ngoài nhớ chống nắng', 'sunnyWeatherTip': 'Hôm nay nắng đẹp, tia UV mạnh, ra ngoài nhớ chống nắng',
'temperatureDifferenceTip': 'temperatureDifferenceTip': 'Hôm nay chênh lệch nhiệt độ ngày đêm lớn, chú ý thêm bớt quần áo cho phù hợp',
'Hôm nay chênh lệch nhiệt độ ngày đêm lớn, chú ý thêm bớt quần áo cho phù hợp', 'comfortableWeatherTip': 'Hôm nay thời tiết dễ chịu, là thời điểm tốt để hoạt động ngoài trời',
'comfortableWeatherTip':
'Hôm nay thời tiết dễ chịu, là thời điểm tốt để hoạt động ngoài trời',
"monday": "Thứ 2", "monday": "Thứ 2",
"tuesday": "Thứ 3", "tuesday": "Thứ 3",
"wednesday": "Thứ 4", "wednesday": "Thứ 4",
@ -900,29 +858,23 @@ const Map<String, String> viVN = {
"notSet": "Chưa đặt", "notSet": "Chưa đặt",
"accountSetting": "Cài đặt tài khoản", "accountSetting": "Cài đặt tài khoản",
"logout": "Đăng xuất", "logout": "Đăng xuất",
"logoutTips": "logoutTips": "Bạn có chắc chắn muốn đăng xuất khỏi tài khoản hiện tại không?",
"Bạn có chắc chắn muốn đăng xuất khỏi tài khoản hiện tại không?",
'deleteAccount': 'Xóa tài khoản', 'deleteAccount': 'Xóa tài khoản',
'deleteAccountTips': 'deleteAccountTips': 'Bạn có chắc chắn muốn xóa vĩnh viễn tài khoản của mình không? Thao tác này không thể hoàn tác',
'Bạn có chắc chắn muốn xóa vĩnh viễn tài khoản của mình không? Thao tác này không thể hoàn tác',
'clean': 'Clear Cache', 'clean': 'Clear Cache',
'cleanTips': 'Are you sure you want to clear personal cache?', 'cleanTips': 'Are you sure you want to clear personal cache?',
// Profile 错误信息 // Profile 错误信息
'networkConnectionFailed': 'networkConnectionFailed': 'Kết nối mạng thất bại, vui lòng kiểm tra cài đặt mạng và thử lại',
'Kết nối mạng thất bại, vui lòng kiểm tra cài đặt mạng và thử lại', 'serverTemporarilyUnavailable': 'Máy chủ tạm thời không khả dụng, vui lòng thử lại sau',
'serverTemporarilyUnavailable':
'Máy chủ tạm thời không khả dụng, vui lòng thử lại sau',
'loginExpiredPleaseRelogin': 'Đăng nhập đã hết hạn, vui lòng đăng nhập lại', 'loginExpiredPleaseRelogin': 'Đăng nhập đã hết hạn, vui lòng đăng nhập lại',
'noPermissionForThisOperation': 'Không có quyền thực hiện thao tác này', 'noPermissionForThisOperation': 'Không có quyền thực hiện thao tác này',
'requestedResourceNotFound': 'Không tìm thấy tài nguyên được yêu cầu', 'requestedResourceNotFound': 'Không tìm thấy tài nguyên được yêu cầu',
'imageProcessingFailedPleaseReselect': 'imageProcessingFailedPleaseReselect': 'Xử lý hình ảnh thất bại, vui lòng chọn lại hình ảnh',
'Xử lý hình ảnh thất bại, vui lòng chọn lại hình ảnh',
'operationFailedPleaseRetry': 'Thao tác thất bại, vui lòng thử lại', 'operationFailedPleaseRetry': 'Thao tác thất bại, vui lòng thử lại',
'serverReturnedError': 'Máy chủ trả về lỗi', 'serverReturnedError': 'Máy chủ trả về lỗi',
'serverError': 'Lỗi máy chủ', 'serverError': 'Lỗi máy chủ',
'networkConnectionFailedCheckSettings': 'networkConnectionFailedCheckSettings': 'Kết nối mạng thất bại, vui lòng kiểm tra cài đặt mạng',
'Kết nối mạng thất bại, vui lòng kiểm tra cài đặt mạng',
'serverInternalErrorRetryLater': 'Lỗi nội bộ máy chủ, vui lòng thử lại sau', 'serverInternalErrorRetryLater': 'Lỗi nội bộ máy chủ, vui lòng thử lại sau',
// Profile 用户交互 // Profile 用户交互
@ -945,13 +897,10 @@ const Map<String, String> viVN = {
'thirdPartyLogoutSuccess': 'Đăng xuất bên thứ ba thành công', // 第三方登录退出成功 'thirdPartyLogoutSuccess': 'Đăng xuất bên thứ ba thành công', // 第三方登录退出成功
'thirdPartyLogoutFailed': 'Đăng xuất bên thứ ba thất bại', // 第三方登录退出失败 'thirdPartyLogoutFailed': 'Đăng xuất bên thứ ba thất bại', // 第三方登录退出失败
'signOutProcessError': 'Đã xảy ra lỗi trong quá trình đăng xuất', // 登出过程发生错误 'signOutProcessError': 'Đã xảy ra lỗi trong quá trình đăng xuất', // 登出过程发生错误
'deleteAccountProcessError': 'deleteAccountProcessError': 'Đã xảy ra lỗi trong quá trình xóa tài khoản', // 删除账号过程发生错误
'Đã xảy ra lỗi trong quá trình xóa tài khoản', // 删除账号过程发生错误
'userDataClearSuccess': 'Xóa dữ liệu người dùng thành công', // 用户数据清理成功 'userDataClearSuccess': 'Xóa dữ liệu người dùng thành công', // 用户数据清理成功
'allUserDataClearSuccess': 'allUserDataClearSuccess': 'Tất cả dữ liệu người dùng đã được xóa thành công', // 所有用户数据清理成功
'Tất cả dữ liệu người dùng đã được xóa thành công', // 所有用户数据清理成功 'accountServiceInitialized': 'AccountService đã được khởi tạo', // AccountService 已初始化
'accountServiceInitialized':
'AccountService đã được khởi tạo', // AccountService 已初始化
// 权限管理页面 // 权限管理页面
'getPermissionStatusFailed': 'Lấy trạng thái quyền thất bại', 'getPermissionStatusFailed': 'Lấy trạng thái quyền thất bại',
@ -974,11 +923,9 @@ const Map<String, String> viVN = {
'locationInfo': 'Thông tin vị trí', 'locationInfo': 'Thông tin vị trí',
'phonePermissionDesc': 'Dùng cho chức năng gọi điện thoại', 'phonePermissionDesc': 'Dùng cho chức năng gọi điện thoại',
'smsPermissionDesc': 'Dùng cho chức năng gửi SMS', 'smsPermissionDesc': 'Dùng cho chức năng gửi SMS',
'alarmPermissionDesc': 'alarmPermissionDesc': 'Used to set exact alarms to ensure reminders trigger on time',
'Used to set exact alarms to ensure reminders trigger on time',
'calendarWritePermissionDesc': 'Dùng để tạo sự kiện và lời nhắc trên lịch', 'calendarWritePermissionDesc': 'Dùng để tạo sự kiện và lời nhắc trên lịch',
'calendarFullAccessPermissionDesc': 'calendarFullAccessPermissionDesc': 'Dùng để đọc và quản lý các sự kiện và lời nhắc trên lịch',
'Dùng để đọc và quản lý các sự kiện và lời nhắc trên lịch',
'locationPermissionDesc': 'Dùng để lấy thông tin vị trí hiện tại', 'locationPermissionDesc': 'Dùng để lấy thông tin vị trí hiện tại',
'appFunctionNeeds': 'Chức năng ứng dụng cần', 'appFunctionNeeds': 'Chức năng ứng dụng cần',
'authorized': 'Đã cấp quyền', 'authorized': 'Đã cấp quyền',
@ -988,81 +935,55 @@ const Map<String, String> viVN = {
'unknownStatus': 'Trạng thái không xác định', 'unknownStatus': 'Trạng thái không xác định',
'permissionGranted': 'Quyền đã được cấp', 'permissionGranted': 'Quyền đã được cấp',
'permissionRequestError': 'Lỗi khi yêu cầu quyền', 'permissionRequestError': 'Lỗi khi yêu cầu quyền',
'phonePermissionDetailDesc': 'phonePermissionDetailDesc': 'Chức năng gọi điện cần quyền truy cập điện thoại',
'Chức năng gọi điện cần quyền truy cập điện thoại',
'smsPermissionDetailDesc': 'Chức năng gửi SMS cần quyền truy cập SMS', 'smsPermissionDetailDesc': 'Chức năng gửi SMS cần quyền truy cập SMS',
'alarmPermissionDetailDesc': 'alarmPermissionDetailDesc': 'This permission is required to set exact alarms and ensure reminders trigger on time',
'This permission is required to set exact alarms and ensure reminders trigger on time', 'calendarWritePermissionDetailDesc': 'Tạo sự kiện lịch cần quyền ghi vào lịch',
'calendarWritePermissionDetailDesc': 'calendarFullAccessPermissionDetailDesc': 'Quản lý sự kiện lịch cần quyền truy cập lịch đầy đủ',
'Tạo sự kiện lịch cần quyền ghi vào lịch', 'locationPermissionDetailDesc': 'Lấy thông tin vị trí cần quyền truy cập vị trí',
'calendarFullAccessPermissionDetailDesc':
'Quản lý sự kiện lịch cần quyền truy cập lịch đầy đủ',
'locationPermissionDetailDesc':
'Lấy thông tin vị trí cần quyền truy cập vị trí',
'contactsPermissionDesc': 'Used for accessing contact information', 'contactsPermissionDesc': 'Used for accessing contact information',
'contactsPermissionDetailDesc': 'contactsPermissionDetailDesc': 'Phone call and SMS functionality requires contacts permission to select contacts',
'Phone call and SMS functionality requires contacts permission to select contacts', 'bluetoothPermissionDesc': 'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDesc': 'bluetoothPermissionDetailDesc': 'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'Used for connecting and managing Bluetooth devices',
'bluetoothPermissionDetailDesc':
'Connecting to Bluetooth headphones and other devices requires Bluetooth permission',
'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices', 'bluetoothScanPermissionDesc': 'Used for scanning nearby Bluetooth devices',
'bluetoothScanPermissionDetailDesc': 'bluetoothScanPermissionDetailDesc': 'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices', 'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices',
'bluetoothConnectPermissionDetailDesc': 'bluetoothConnectPermissionDetailDesc': 'Connecting to Bluetooth devices requires Bluetooth connect permission',
'Connecting to Bluetooth devices requires Bluetooth connect permission',
'notificationPermissionDesc': 'Used for sending notification messages', 'notificationPermissionDesc': 'Used for sending notification messages',
'notificationPermissionDetailDesc': 'notificationPermissionDetailDesc': 'App needs notification permission to send you important alerts and messages',
'App needs notification permission to send you important alerts and messages', 'appNeedsPermissionForFullFunction': 'Ứng dụng cần quyền này để cung cấp đầy đủ chức năng',
'appNeedsPermissionForFullFunction': 'permanentDenialText': 'Bạn đã từ chối vĩnh viễn quyền {permission}, vui lòng vào cài đặt ứng dụng để bật',
'Ứng dụng cần quyền này để cung cấp đầy đủ chức năng',
'permanentDenialText':
'Bạn đã từ chối vĩnh viễn quyền {permission}, vui lòng vào cài đặt ứng dụng để bật',
'goToSettings': 'Đi đến cài đặt', 'goToSettings': 'Đi đến cài đặt',
// 权限申请 // 权限申请
'bluetoothScan': 'Bluetooth Scan', 'bluetoothScan': 'Bluetooth Scan',
'bluetoothConnect': 'Bluetooth Connect', 'bluetoothConnect': 'Bluetooth Connect',
'bluetoothScanExplanation': 'bluetoothScanExplanation': 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.',
'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.', 'bluetoothConnectExplanation': 'The app needs Bluetooth connect permission to connect to Bluetooth devices.',
'bluetoothConnectExplanation': 'locationForBluetoothExplanation': 'The app needs location permission to scan Bluetooth devices.',
'The app needs Bluetooth connect permission to connect to Bluetooth devices.', 'bluetoothScanPermanentDenial': 'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'locationForBluetoothExplanation': 'bluetoothConnectPermanentDenial': 'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'The app needs location permission to scan Bluetooth devices.', 'locationPermanentDenial': 'Location permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothScanPermanentDenial':
'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.',
'bluetoothConnectPermanentDenial':
'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.',
'locationPermanentDenial':
'Location permission has been permanently denied, please go to settings to enable it manually.',
'notificationPermission': 'Notification', 'notificationPermission': 'Notification',
'locationPermission': 'Location', 'locationPermission': 'Location',
'notificationPermissionExplanation': 'notificationPermissionExplanation': 'Notification permission is required to display music playback status.',
'Notification permission is required to display music playback status.', 'locationPermissionExplanation': 'Location permission is required to get current location.',
'locationPermissionExplanation': 'notificationPermissionPermanentDenial': 'You have permanently denied notification permission, please go to settings to enable it.',
'Location permission is required to get current location.', 'locationPermissionPermanentDenial': 'You have permanently denied location permission, please go to settings to enable it.',
'notificationPermissionPermanentDenial':
'You have permanently denied notification permission, please go to settings to enable it.',
'locationPermissionPermanentDenial':
'You have permanently denied location permission, please go to settings to enable it.',
//'microphonePermission': '录音', //'microphonePermission': '录音',
'storagePermission': 'Storage', 'storagePermission': 'Storage',
'microphonePermissionExplanation': 'microphonePermissionExplanation': 'We need microphone permission to record audio content.',
'We need microphone permission to record audio content.', 'storagePermissionExplanation': 'We need storage permission so you can select and upload audio files.',
'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'Microphone permission has been permanently denied. To continue using this feature, please go to app settings to manually enable microphone permission.', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
'Storage permission has been permanently denied. To continue using this feature, please go to app settings to manually enable storage permission.', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
'permissionUtilPermission': ' Permission', 'permissionUtilPermission': ' Permission',
'permissionUtilRestricted': ' Permission Restricted', 'permissionUtilRestricted': ' Permission Restricted',
'permissionUtilRestrictedMessage': 'permissionUtilRestrictedMessage': 'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'permissionUtilConfirm': 'OK', 'permissionUtilConfirm': 'OK',
// 版本更新对话框 // 版本更新对话框
@ -1071,10 +992,8 @@ const Map<String, String> viVN = {
'updateNow': 'Cập nhật ngay', // 立即更新按钮 'updateNow': 'Cập nhật ngay', // 立即更新按钮
'checkUpdate': 'Kiểm tra cập nhật', // 检查更新按钮 'checkUpdate': 'Kiểm tra cập nhật', // 检查更新按钮
'updateFailed': 'Cập nhật thất bại', // 更新失败提示 'updateFailed': 'Cập nhật thất bại', // 更新失败提示
'cannotOpenAppStore': 'cannotOpenAppStore': 'Không thể mở App Store, vui lòng vào App Store để cập nhật thủ công', // 无法打开应用商店提示
'Không thể mở App Store, vui lòng vào App Store để cập nhật thủ công', // 无法打开应用商店提示 'updateErrorRetry': 'Đã xảy ra lỗi trong quá trình cập nhật, vui lòng thử lại sau', // 更新错误重试提示
'updateErrorRetry':
'Đã xảy ra lỗi trong quá trình cập nhật, vui lòng thử lại sau', // 更新错误重试提示
//国家列表 //国家列表
"邮箱": "Email", "邮箱": "Email",
@ -1210,8 +1129,7 @@ const Map<String, String> viVN = {
"selectTargetLanguage": "Chọn ngôn ngữ đích", "selectTargetLanguage": "Chọn ngôn ngữ đích",
"me": "Me", "me": "Me",
"counterPart": "Counterpart", "counterPart": "Counterpart",
"bluetoothCallStateError": "bluetoothCallStateError": "Please make sure the Bluetooth headset is connected to the phone and in a call state",
"Please make sure the Bluetooth headset is connected to the phone and in a call state",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
@ -1227,12 +1145,10 @@ const Map<String, String> viVN = {
"historyRecords": "History Records", "historyRecords": "History Records",
"clearResults": "Clear Results", "clearResults": "Clear Results",
"clearHistory": "Xóa lịch sử", "clearHistory": "Xóa lịch sử",
"clearHistoryConfirm": "clearHistoryConfirm": "Bạn có chắc muốn xóa toàn bộ lịch sử dịch không? Thao tác này không thể hoàn tác.",
"Bạn có chắc muốn xóa toàn bộ lịch sử dịch không? Thao tác này không thể hoàn tác.",
"unknownLanguage": "Ngôn ngữ không xác định", "unknownLanguage": "Ngôn ngữ không xác định",
"deleteSessionRecord": "Xóa bản ghi phiên", "deleteSessionRecord": "Xóa bản ghi phiên",
"deleteSessionConfirm": "deleteSessionConfirm": "Bạn có chắc muốn xóa tất cả các bản ghi dịch của phiên này không? Thao tác này không thể hoàn tác.",
"Bạn có chắc muốn xóa tất cả các bản ghi dịch của phiên này không? Thao tác này không thể hoàn tác.",
// 图片翻译模块(Picture Translation) // 图片翻译模块(Picture Translation)
"selectImageSource": "Select Image Source", "selectImageSource": "Select Image Source",
@ -1264,20 +1180,15 @@ const Map<String, String> viVN = {
"translationCompleted": "Translation Completed", "translationCompleted": "Translation Completed",
"allStepsCompleted": "All steps completed", "allStepsCompleted": "All steps completed",
"processingFailed": "Processing Failed", "processingFailed": "Processing Failed",
"imageProcessingOrTranslationFailed": "imageProcessingOrTranslationFailed": "Image processing or translation failed. Please retry.\nError: {error}",
"Image processing or translation failed. Please retry.\nError: {error}",
"imageTooLarge": "Image size exceeds 4MB limit", "imageTooLarge": "Image size exceeds 4MB limit",
"imageTooLargeHint": "imageTooLargeHint": "Image size exceeds 4MB. Reduce quality or dimensions and retry",
"Image size exceeds 4MB. Reduce quality or dimensions and retry",
"emptyTranslationResult": "Image translation API returned empty result", "emptyTranslationResult": "Image translation API returned empty result",
"imageTranslationFailedTryLater": "imageTranslationFailedTryLater": "Image translation failed. Network issue or rate limit. Please try later",
"Image translation failed. Network issue or rate limit. Please try later", "imageTranslationApiException": "Image translation API exception. Check network and retry",
"imageTranslationApiException":
"Image translation API exception. Check network and retry",
"permissionRequired": "Permission Required", "permissionRequired": "Permission Required",
"cameraPermissionRequired": "Camera permission required to take photos", "cameraPermissionRequired": "Camera permission required to take photos",
"photoAlbumPermissionRequired": "photoAlbumPermissionRequired": "Photo album permission required to pick images",
"Photo album permission required to pick images",
"translationDetails": "Translation Details", "translationDetails": "Translation Details",
"originalImage": "Original Image", "originalImage": "Original Image",
"sourceLanguage": "Source Language", "sourceLanguage": "Source Language",
@ -1308,11 +1219,9 @@ const Map<String, String> viVN = {
"summaryGenerated": "Đã tạo tóm tắt", "summaryGenerated": "Đã tạo tóm tắt",
"generating": "Đang tạo...", "generating": "Đang tạo...",
"regenerate": "Tạo lại", "regenerate": "Tạo lại",
"summaryTimeoutMessage": "summaryTimeoutMessage": "Yêu cầu tạo tóm tắt đã hết thời gian, có thể do sự cố mạng hoặc máy chủ bận.",
"Yêu cầu tạo tóm tắt đã hết thời gian, có thể do sự cố mạng hoặc máy chủ bận.",
"deleteTranslationRecord": "Xóa bản ghi dịch", "deleteTranslationRecord": "Xóa bản ghi dịch",
"deleteTranslationConfirm": "deleteTranslationConfirm": "Bạn có chắc muốn xóa bản ghi dịch này không? Thao tác này không thể hoàn tác.",
"Bạn có chắc muốn xóa bản ghi dịch này không? Thao tác này không thể hoàn tác.",
"originalText": "Văn bản gốc", "originalText": "Văn bản gốc",
"translatedText": "Văn bản dịch", "translatedText": "Văn bản dịch",
"sessionSummary": "Tóm tắt phiên", "sessionSummary": "Tóm tắt phiên",
@ -1340,25 +1249,19 @@ const Map<String, String> viVN = {
// 配对状态文本 // 配对状态文本
"readyToPair": "Sẵn sàng để ghép nối", "readyToPair": "Sẵn sàng để ghép nối",
"preparingPairingEnvironment": "Đang chuẩn bị môi trường ghép nối...", "preparingPairingEnvironment": "Đang chuẩn bị môi trường ghép nối...",
"connectDeepSoundViaSystemBluetooth": "connectDeepSoundViaSystemBluetooth": "Vui lòng kết nối với thiết bị Voitrans qua Bluetooth hệ thống trước",
"Vui lòng kết nối với thiết bị Voitrans qua Bluetooth hệ thống trước",
"deviceBindingConfirm": "Xác nhận liên kết thiết bị...", "deviceBindingConfirm": "Xác nhận liên kết thiết bị...",
"establishingDeviceAssociation": "Đang thiết lập liên kết thiết bị...", "establishingDeviceAssociation": "Đang thiết lập liên kết thiết bị...",
"waitingCompletePairing": "Vui lòng đợi, đang hoàn tất ghép nối...", "waitingCompletePairing": "Vui lòng đợi, đang hoàn tất ghép nối...",
"pairingSuccessRedirecting": "pairingSuccessRedirecting": "Ghép nối thành công! Sắp chuyển hướng đến trang chủ...",
"Ghép nối thành công! Sắp chuyển hướng đến trang chủ...",
// 配对错误状态文本 // 配对错误状态文本
"ensureConnectedDeepSoundDevice": "ensureConnectedDeepSoundDevice": "Vui lòng đảm bảo bạn đang kết nối với thiết bị Voitrans",
"Vui lòng đảm bảo bạn đang kết nối với thiết bị Voitrans", "deviceAlreadyBoundToOtherAccount": "Thiết bị này đã được liên kết với tài khoản khác",
"deviceAlreadyBoundToOtherAccount":
"Thiết bị này đã được liên kết với tài khoản khác",
"deviceAssociationFailed": "Liên kết thiết bị thất bại, vui lòng thử lại", "deviceAssociationFailed": "Liên kết thiết bị thất bại, vui lòng thử lại",
"scanTimeoutEnsureDeviceNearby": "scanTimeoutEnsureDeviceNearby": "Quét hết thời gian, vui lòng đảm bảo thiết bị ở gần",
"Quét hết thời gian, vui lòng đảm bảo thiết bị ở gần",
"networkError": "Lỗi mạng", "networkError": "Lỗi mạng",
"authorizationFailedCheckCode": "authorizationFailedCheckCode": "Ủy quyền thất bại, vui lòng kiểm tra xem mã ủy quyền có đúng không",
"Ủy quyền thất bại, vui lòng kiểm tra xem mã ủy quyền có đúng không",
"pairingFailedRetry": "Ghép nối thất bại, vui lòng thử lại", "pairingFailedRetry": "Ghép nối thất bại, vui lòng thử lại",
// 配对控制器相关 // 配对控制器相关
@ -1367,8 +1270,7 @@ const Map<String, String> viVN = {
'deviceDisconnected': 'Thiết bị đã ngắt kết nối', 'deviceDisconnected': 'Thiết bị đã ngắt kết nối',
'readyToStartPairing': 'Sẵn sàng bắt đầu ghép nối', 'readyToStartPairing': 'Sẵn sàng bắt đầu ghép nối',
'checkingEnvironment': 'Đang kiểm tra môi trường...', 'checkingEnvironment': 'Đang kiểm tra môi trường...',
'ensureHeadsetOnAndPairingMode': 'ensureHeadsetOnAndPairingMode': 'Vui lòng đảm bảo tai nghe đã bật và ở chế độ ghép nối',
'Vui lòng đảm bảo tai nghe đã bật và ở chế độ ghép nối',
//'goToBluetoothSettings': '前往蓝牙设置', //'goToBluetoothSettings': '前往蓝牙设置',
//'verifyingDevice': '正在验证设备...', //'verifyingDevice': '正在验证设备...',
//'confirmBinding': '确认绑定', //'confirmBinding': '确认绑定',
@ -1386,25 +1288,19 @@ const Map<String, String> viVN = {
'verificationFailedRetry': 'Xác minh thất bại, vui lòng thử lại', 'verificationFailedRetry': 'Xác minh thất bại, vui lòng thử lại',
'invalidDeviceAddress': 'Địa chỉ thiết bị không hợp lệ', 'invalidDeviceAddress': 'Địa chỉ thiết bị không hợp lệ',
'bleDeviceAssociationFailed': 'Liên kết thiết bị BLE thất bại', 'bleDeviceAssociationFailed': 'Liên kết thiết bị BLE thất bại',
'deviceAssociationFailedRetry': 'deviceAssociationFailedRetry': 'Liên kết thiết bị thất bại, vui lòng thử lại',
'Liên kết thiết bị thất bại, vui lòng thử lại',
'bleConnectionTimeoutRetry': 'Kết nối BLE hết thời gian, vui lòng thử lại', 'bleConnectionTimeoutRetry': 'Kết nối BLE hết thời gian, vui lòng thử lại',
'blePairingStartupFailed': 'Khởi động ghép nối BLE thất bại', 'blePairingStartupFailed': 'Khởi động ghép nối BLE thất bại',
'bleConnectionFailed': 'Kết nối BLE thất bại', 'bleConnectionFailed': 'Kết nối BLE thất bại',
'deviceAuthorizationFailedCheckCode': 'deviceAuthorizationFailedCheckCode': 'Ủy quyền thiết bị thất bại, vui lòng kiểm tra mã ủy quyền',
'Ủy quyền thiết bị thất bại, vui lòng kiểm tra mã ủy quyền',
///iOS蓝牙引导窗 ///iOS蓝牙引导窗
'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙 'bluetoothGuideTitle': 'Manual Bluetooth Activation Required', // 需要手动开启蓝牙
'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作: 'bluetoothGuideSteps': 'Please follow these steps:', // 请按照以下步骤操作:
'bluetoothGuideStep1': 'bluetoothGuideStep1': 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启
'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启 'bluetoothGuideStep2': 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接
'bluetoothGuideStep2': 'bluetoothGuideStep3': 'Return to app to continue pairing process', // 返回应用继续配对流程
'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接 'bluetoothGuideTip': 'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'bluetoothGuideStep3':
'Return to app to continue pairing process', // 返回应用继续配对流程
'bluetoothGuideTip':
'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置
'iKnow': 'I Know', // 我知道了 'iKnow': 'I Know', // 我知道了
//用户反馈页 //用户反馈页
@ -1420,8 +1316,7 @@ const Map<String, String> viVN = {
'feedbackSubmitFailed': 'Gửi phản hồi thất bại, vui lòng thử lại sau', 'feedbackSubmitFailed': 'Gửi phản hồi thất bại, vui lòng thử lại sau',
// OTA升级模块 // OTA升级模块
"upgradeExitConfirm": "upgradeExitConfirm": "Đang nâng cấp, thoát sẽ làm gián đoạn quá trình nâng cấp, bạn có chắc chắn muốn thoát không?",
"Đang nâng cấp, thoát sẽ làm gián đoạn quá trình nâng cấp, bạn có chắc chắn muốn thoát không?",
"deviceModel": "Kiểu máy", "deviceModel": "Kiểu máy",
"unknownDevice": "Thiết bị không xác định", "unknownDevice": "Thiết bị không xác định",
"currentFirmwareVersion": "Phiên bản firmware hiện tại", "currentFirmwareVersion": "Phiên bản firmware hiện tại",
@ -1434,19 +1329,14 @@ const Map<String, String> viVN = {
"retryConnection": "Thử kết nối lại", "retryConnection": "Thử kết nối lại",
"ota_updateNow": "Cập nhật ngay", "ota_updateNow": "Cập nhật ngay",
"otaVersionInfoFailed": "Failed to get version info. Please try again later.", "otaVersionInfoFailed": "Failed to get version info. Please try again later.",
"otaDeviceInfoUnavailable": "otaDeviceInfoUnavailable": "Unable to get device info. Please check the connection and retry.",
"Unable to get device info. Please check the connection and retry.", "otaProductInfoUnavailable": "Unable to identify the device. Please reconnect and retry.",
"otaProductInfoUnavailable": "otaFirmwareVersionInvalid": "Firmware version is abnormal. Please reconnect and retry.",
"Unable to identify the device. Please reconnect and retry.", "keepConnectedDontClose": "Vui lòng giữ thiết bị kết nối, không đóng ứng dụng",
"otaFirmwareVersionInvalid":
"Firmware version is abnormal. Please reconnect and retry.",
"keepConnectedDontClose":
"Vui lòng giữ thiết bị kết nối, không đóng ứng dụng",
"doNotDisconnect": "Vui lòng không ngắt kết nối", "doNotDisconnect": "Vui lòng không ngắt kết nối",
"charging": "Đang sạc", "charging": "Đang sạc",
"updateContent": "Nội dung cập nhật", "updateContent": "Nội dung cập nhật",
"removeEarbudsEnsureBattery": "removeEarbudsEnsureBattery": "Lấy cả hai tai nghe ra và đảm bảo pin của cả hai đều trên 20%",
"Lấy cả hai tai nghe ra và đảm bảo pin của cả hai đều trên 20%",
// 音乐列表页面 // 音乐列表页面
"noMusic": "Không có nhạc", // 暂无音乐 "noMusic": "Không có nhạc", // 暂无音乐
@ -1456,9 +1346,9 @@ const Map<String, String> viVN = {
"playAll": "Phát tất cả", // 播放全部 "playAll": "Phát tất cả", // 播放全部
// 语言名称 // 语言名称
"中文(简体)": "Tiếng Trung (Giản thể)", "中文(简体)": "中文(简体)",
"中文(繁体)": "Tiếng Trung (Phồn thể)", "中文(繁体)": "中文(繁体)",
"中文(香港繁体)": "Tiếng Trung (Hồng Kông Phồn thể)", "中文(香港繁体)": "中文(香港繁体)",
"英语": "Tiếng Anh", "英语": "Tiếng Anh",
"日语": "Tiếng Nhật", "日语": "Tiếng Nhật",
"韩语": "Tiếng Hàn", "韩语": "Tiếng Hàn",
@ -1508,10 +1398,8 @@ const Map<String, String> viVN = {
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "insufficientBalanceDesc": "Insufficient balance, please go to the corresponding recharge page to recharge.",
'Insufficient balance, please go to the corresponding recharge page to recharge.', "recharge": "Go to Recharge",
"recharge": 'Go to Recharge',
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "aiMemberExpiredDesc": "AI membership expired, please go to the membership recharge page to renew.",
'AI membership expired, please go to the membership recharge page to renew.',
}; };

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

@ -415,6 +415,23 @@ const Map<String, String> zhHK = {
'audioVideoRecording': '音訊、影片錄音', 'audioVideoRecording': '音訊、影片錄音',
'callRecording': '通話錄音', 'callRecording': '通話錄音',
'importAudio': '導入音訊', 'importAudio': '導入音訊',
'meetingRecordExitTitle': '退出錄音', // 退出录音
'meetingRecordExitMessage': '請選擇離開後的操作', // 请选择离开后的操作
'meetingRecordEndAndSave': '結束錄音並保存', // 结束录音并保存
'meetingRecordEndWithoutSave': '結束錄音不保存', // 结束录音不保存
'meetingRecordContinueInBackground': '後台繼續錄音', // 后台继续录音
'meetingRecordStopTimeout': '結束錄音超時,請重試', // 结束录音超时,请重试
'meetingRecordStopFailed': '結束錄音失敗,請重試', // 结束录音失败,请重试
'meetingRecordSaveFailed': '保存錄音失敗,請重試', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': '錄音進行中', // 录音进行中
'meetingRecordRecordingNotificationBody': '正在後台錄音,點擊返回應用', // 正在后台录音,点击返回应用
'overlayPermissionTitle': '懸浮窗權限', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'為了在通話或音訊影片翻譯時顯示翻譯結果,需要懸浮窗權限。這樣您就可以在使用其他應用時看到實時翻譯。', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'為了在錄音過程中顯示錄音懸浮條(計時/暫停/繼續),需要懸浮窗權限。', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'無法自動跳轉到系統設定,請手動前往系統設定開啟懸浮窗權限。', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': '正在轉寫...', 'transcribing': '正在轉寫...',
'summarizing': '正在總結...', 'summarizing': '正在總結...',
'analyzing': '正在分析...', 'analyzing': '正在分析...',

17
lib/core/translations/language/zh_tw.dart

@ -415,6 +415,23 @@ const Map<String, String> zhTW = {
'audioVideoRecording': '音訊、影片錄音', 'audioVideoRecording': '音訊、影片錄音',
'callRecording': '通話錄音', 'callRecording': '通話錄音',
'importAudio': '導入音訊', 'importAudio': '導入音訊',
'meetingRecordExitTitle': '退出錄音', // 退出录音
'meetingRecordExitMessage': '請選擇離開後的操作', // 请选择离开后的操作
'meetingRecordEndAndSave': '結束錄音並保存', // 结束录音并保存
'meetingRecordEndWithoutSave': '結束錄音不保存', // 结束录音不保存
'meetingRecordContinueInBackground': '後台繼續錄音', // 后台继续录音
'meetingRecordStopTimeout': '結束錄音逾時,請重試', // 结束录音超时,请重试
'meetingRecordStopFailed': '結束錄音失敗,請重試', // 结束录音失败,请重试
'meetingRecordSaveFailed': '保存錄音失敗,請重試', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': '錄音進行中', // 录音进行中
'meetingRecordRecordingNotificationBody': '正在後台錄音,點擊返回應用', // 正在后台录音,点击返回应用
'overlayPermissionTitle': '懸浮窗權限', // 悬浮窗权限
'overlayPermissionTranslationDesc':
'為了在通話或音訊影片翻譯時顯示翻譯結果,需要懸浮窗權限。這樣您就可以在使用其他應用時看到實時翻譯。', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionRecordingDesc':
'為了在錄音過程中顯示錄音懸浮條(計時/暫停/繼續),需要懸浮窗權限。', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。
'overlayPermissionOpenSettingsFailed':
'無法自動跳轉到系統設定,請手動前往系統設定開啟懸浮窗權限。', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。
'transcribing': '正在轉寫...', 'transcribing': '正在轉寫...',
'summarizing': '正在總結...', 'summarizing': '正在總結...',
'analyzing': '正在分析...', 'analyzing': '正在分析...',

Loading…
Cancel
Save