Browse Source

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

weicu
liwei1dao 8 months ago
parent
commit
d5c99666ba
  1. 2
      lib/core/translations/language/ar_sa.dart
  2. 2
      lib/core/translations/language/bg_bg.dart
  3. 2
      lib/core/translations/language/cs_cz.dart
  4. 2
      lib/core/translations/language/da_dk.dart
  5. 2
      lib/core/translations/language/de_de.dart
  6. 2
      lib/core/translations/language/el_gr.dart
  7. 2
      lib/core/translations/language/en_us.dart
  8. 2
      lib/core/translations/language/es_es.dart
  9. 23
      lib/core/translations/language/et_ee.dart
  10. 26
      lib/core/translations/language/fa_ir.dart
  11. 2
      lib/core/translations/language/fi_fi.dart
  12. 32
      lib/core/translations/language/fr_fr.dart
  13. 2
      lib/core/translations/language/hi_in.dart
  14. 2
      lib/core/translations/language/hr_hr.dart
  15. 2
      lib/core/translations/language/hu_hu.dart
  16. 2
      lib/core/translations/language/id_id.dart
  17. 29
      lib/core/translations/language/is_is.dart
  18. 2
      lib/core/translations/language/it_it.dart
  19. 1
      lib/core/translations/language/ja_jp.dart
  20. 2
      lib/core/translations/language/ko_kr.dart
  21. 2
      lib/core/translations/language/lt_lt.dart
  22. 2
      lib/core/translations/language/lv_lv.dart
  23. 2
      lib/core/translations/language/ms_my.dart
  24. 2
      lib/core/translations/language/nb_no.dart
  25. 2
      lib/core/translations/language/nl_nl.dart
  26. 2
      lib/core/translations/language/pl_pl.dart
  27. 2
      lib/core/translations/language/pt_pt.dart
  28. 2
      lib/core/translations/language/ro_ro.dart
  29. 2
      lib/core/translations/language/ru_ru.dart
  30. 2
      lib/core/translations/language/sk_sk.dart
  31. 2
      lib/core/translations/language/sl_si.dart
  32. 437
      lib/core/translations/language/sr_rs.dart
  33. 2
      lib/core/translations/language/sv_se.dart
  34. 2
      lib/core/translations/language/th_th.dart
  35. 2
      lib/core/translations/language/tl_ph.dart
  36. 2
      lib/core/translations/language/tr_tr.dart
  37. 2
      lib/core/translations/language/uk_ua.dart
  38. 2
      lib/core/translations/language/vi_vn.dart
  39. 1
      lib/core/translations/language/zh_cn.dart
  40. 1
      lib/core/translations/language/zh_hk.dart
  41. 1
      lib/core/translations/language/zh_tw.dart
  42. 10
      lib/modules/translation/controllers/translation_controller.dart

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

@ -16,6 +16,8 @@ const Map<String, String> arSA = {
"requestTimeout": "انتهت مهلة الطلب", "requestTimeout": "انتهت مهلة الطلب",
"responseTimeout": "انتهت مهلة الاستجابة", "responseTimeout": "انتهت مهلة الاستجابة",
"unknownError": "خطأ غير معروف", "unknownError": "خطأ غير معروف",
"asrConnectionFailed":
"فشل الاتصال بخدمة التعرف على الصوت. يرجى التحقق من الشبكة والمحاولة مرة أخرى لاحقًا.",
// 启动页 // 启动页
"slogan": "تواصل مع العالم، أبعد من مجرد صوت", "slogan": "تواصل مع العالم، أبعد من مجرد صوت",

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

@ -16,6 +16,8 @@ const Map<String, String> bgBG = {
"requestTimeout": "Изтичане на времето за заявката", "requestTimeout": "Изтичане на времето за заявката",
"responseTimeout": "Изтичане на времето за отговор", "responseTimeout": "Изтичане на времето за отговор",
"unknownError": "Неизвестна грешка", "unknownError": "Неизвестна грешка",
"asrConnectionFailed":
"Неуспешно свързване с услугата за разпознаване на реч. Проверете мрежата или опитайте отново по-късно.",
// 启动页 // 启动页
"slogan": "Свързвайки света, отвъд звука", "slogan": "Свързвайки света, отвъд звука",

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

@ -16,6 +16,8 @@ const Map<String, String> csCZ = {
"requestTimeout": "Vypršel časový limit požadavku", "requestTimeout": "Vypršel časový limit požadavku",
"responseTimeout": "Vypršel časový limit odpovědi", "responseTimeout": "Vypršel časový limit odpovědi",
"unknownError": "Neznámá chyba", "unknownError": "Neznámá chyba",
"asrConnectionFailed":
"Připojení ke službě rozpoznávání řeči selhalo. Zkontrolujte síť nebo to zkuste znovu později.",
// 启动页 // 启动页
"slogan": "Spojujeme svět, za hranice zvuku", "slogan": "Spojujeme svět, za hranice zvuku",

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

@ -16,6 +16,8 @@ const Map<String, String> daDK = {
"requestTimeout": "Anmodning timeout", "requestTimeout": "Anmodning timeout",
"responseTimeout": "Svar timeout", "responseTimeout": "Svar timeout",
"unknownError": "Ukendt fejl", "unknownError": "Ukendt fejl",
"asrConnectionFailed":
"Forbindelsen til talegenkendelsestjenesten mislykkedes. Kontroller netværket, eller prøv igen senere.",
// 启动页 // 启动页
"slogan": "Forbind verden, ud over lyd", "slogan": "Forbind verden, ud over lyd",

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

@ -16,6 +16,8 @@ const Map<String, String> deDE = {
"requestTimeout": "Anfragezeitüberschreitung", "requestTimeout": "Anfragezeitüberschreitung",
"responseTimeout": "Antwortzeitüberschreitung", "responseTimeout": "Antwortzeitüberschreitung",
"unknownError": "Unbekannter Fehler", "unknownError": "Unbekannter Fehler",
"asrConnectionFailed":
"Verbindung zum Spracherkennungsdienst fehlgeschlagen. Bitte Netzwerk prüfen oder es später erneut versuchen.",
// 启动页 // 启动页
"slogan": "Die Welt verbinden, jenseits der Stimme", "slogan": "Die Welt verbinden, jenseits der Stimme",

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

@ -16,6 +16,8 @@ const Map<String, String> elGR = {
"requestTimeout": "Λήξη χρόνου αιτήματος", "requestTimeout": "Λήξη χρόνου αιτήματος",
"responseTimeout": "Λήξη χρόνου απάντησης", "responseTimeout": "Λήξη χρόνου απάντησης",
"unknownError": "Άγνωστο σφάλμα", "unknownError": "Άγνωστο σφάλμα",
"asrConnectionFailed":
"Η σύνδεση με την υπηρεσία αναγνώρισης ομιλίας απέτυχε. Ελέγξτε το δίκτυο ή δοκιμάστε ξανά αργότερα.",
// 启动页 // 启动页
"slogan": "Συνδέοντας τον κόσμο, πέρα από τον ήχο", "slogan": "Συνδέοντας τον κόσμο, πέρα από τον ήχο",

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

@ -16,6 +16,8 @@ const Map<String, String> enUS = {
"requestTimeout": "Request timeout", "requestTimeout": "Request timeout",
"responseTimeout": "Response timeout", "responseTimeout": "Response timeout",
"unknownError": "Unknown error", "unknownError": "Unknown error",
"asrConnectionFailed":
"Speech recognition service connection failed. Please check network and try again.",
// 启动页 // 启动页
"slogan": "Connect the World, Beyond Voice", "slogan": "Connect the World, Beyond Voice",

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

@ -16,6 +16,8 @@ const Map<String, String> esES = {
"requestTimeout": "Tiempo de solicitud agotado", "requestTimeout": "Tiempo de solicitud agotado",
"responseTimeout": "Tiempo de respuesta agotado", "responseTimeout": "Tiempo de respuesta agotado",
"unknownError": "Error desconocido", "unknownError": "Error desconocido",
"asrConnectionFailed":
"La conexión con el servicio de reconocimiento de voz ha fallado. Comprueba la red o inténtalo de nuevo más tarde.",
// 启动页 // 启动页
"slogan": "Conectando el mundo, más allá del sonido", "slogan": "Conectando el mundo, más allá del sonido",

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

@ -16,6 +16,8 @@ const Map<String, String> etEE = {
"requestTimeout": "Taotluse ajalõpp", "requestTimeout": "Taotluse ajalõpp",
"responseTimeout": "Vastuse ajalõpp", "responseTimeout": "Vastuse ajalõpp",
"unknownError": "Tundmatu viga", "unknownError": "Tundmatu viga",
"asrConnectionFailed":
"Ühendus kõnetuvastusteenusega ebaõnnestus. Kontrollige võrku või proovige hiljem uuesti.",
// 启动页 // 启动页
"slogan": "Maailma ühendamine, heli tagant", "slogan": "Maailma ühendamine, heli tagant",
@ -439,15 +441,22 @@ const Map<String, String> etEE = {
'meetingRecordEndAndSave': 'Lõpeta ja salvesta', // 结束录音并保存 'meetingRecordEndAndSave': 'Lõpeta ja salvesta', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Lõpeta salvestamata', // 结束录音不保存 'meetingRecordEndWithoutSave': 'Lõpeta salvestamata', // 结束录音不保存
'meetingRecordContinueInBackground': 'Jätka salvestamist taustal', // 后台继续录音 'meetingRecordContinueInBackground': 'Jätka salvestamist taustal', // 后台继续录音
'meetingRecordStopTimeout': 'Salvestuse peatamise ajalimiit sai täis. Proovi uuesti.', // 结束录音超时,请重试 'meetingRecordStopTimeout':
'meetingRecordStopFailed': 'Salvestust ei õnnestunud peatada. Proovi uuesti.', // 结束录音失败,请重试 'Salvestuse peatamise ajalimiit sai täis. Proovi uuesti.', // 结束录音超时,请重试
'meetingRecordSaveFailed': 'Salvestust ei õnnestunud salvestada. Proovi uuesti.', // 保存录音失败,请重试 'meetingRecordStopFailed':
'Salvestust ei õnnestunud peatada. Proovi uuesti.', // 结束录音失败,请重试
'meetingRecordSaveFailed':
'Salvestust ei õnnestunud salvestada. Proovi uuesti.', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Salvestamine käib', // 录音进行中 'meetingRecordRecordingNotificationTitle': 'Salvestamine käib', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Salvestamine taustal. Puuduta, et naasta rakendusse.', // 正在后台录音,点击返回应用 'meetingRecordRecordingNotificationBody':
'Salvestamine taustal. Puuduta, et naasta rakendusse.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Kuva teiste rakenduste peal', // 悬浮窗权限 '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.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。 'overlayPermissionTranslationDesc':
'overlayPermissionRecordingDesc': 'Salvestamise ajal salvestuse ujuvriba (taimer/paus/jätka) kuvamiseks vajame ülekatte luba.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。 '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.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionOpenSettingsFailed': 'Süsteemiseadeid ei saa automaatselt avada. Palun ava Seaded ja luba ülekatte luba käsitsi.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。 '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...',

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

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

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

@ -16,6 +16,8 @@ const Map<String, String> fiFI = {
"requestTimeout": "Pyynnön aikakatkaisu", "requestTimeout": "Pyynnön aikakatkaisu",
"responseTimeout": "Vastauksen aikakatkaisu", "responseTimeout": "Vastauksen aikakatkaisu",
"unknownError": "Tuntematon virhe", "unknownError": "Tuntematon virhe",
"asrConnectionFailed":
"Yhteys puheentunnistuspalveluun epäonnistui. Tarkista verkkoyhteys tai yritä myöhemmin uudelleen.",
// 启动页 // 启动页
"slogan": "Maailman yhdistäminen, äänen tuolla puolen", "slogan": "Maailman yhdistäminen, äänen tuolla puolen",

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

@ -16,6 +16,8 @@ const Map<String, String> frFR = {
"requestTimeout": "Délai de demande dépassé", "requestTimeout": "Délai de demande dépassé",
"responseTimeout": "Délai de réponse dépassé", "responseTimeout": "Délai de réponse dépassé",
"unknownError": "Erreur inconnue", "unknownError": "Erreur inconnue",
"asrConnectionFailed":
"La connexion au service de reconnaissance vocale a échoué. Vérifiez votre connexion réseau ou réessayez plus tard.",
// 启动页 // 启动页
"slogan": "Connecter le monde, au-delà de la voix", "slogan": "Connecter le monde, au-delà de la voix",
@ -442,19 +444,28 @@ const Map<String, String> frFR = {
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Quitter l\'enregistrement', // 退出录音 'meetingRecordExitTitle': 'Quitter l\'enregistrement', // 退出录音
'meetingRecordExitMessage': 'Choisissez quoi faire avant de quitter', // 请选择离开后的操作 'meetingRecordExitMessage':
'Choisissez quoi faire avant de quitter', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Terminer et enregistrer', // 结束录音并保存 'meetingRecordEndAndSave': 'Terminer et enregistrer', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Terminer sans enregistrer', // 结束录音不保存 'meetingRecordEndWithoutSave': 'Terminer sans enregistrer', // 结束录音不保存
'meetingRecordContinueInBackground': 'Continuer l\'enregistrement en arrière-plan', // 后台继续录音 'meetingRecordContinueInBackground':
'meetingRecordStopTimeout': 'Le délai d\'arrêt de l\'enregistrement a expiré. Veuillez réessayer.', // 结束录音超时,请重试 'Continuer l\'enregistrement en arrière-plan', // 后台继续录音
'meetingRecordStopFailed': 'Impossible d\'arrêter l\'enregistrement. Veuillez réessayer.', // 结束录音失败,请重试 'meetingRecordStopTimeout':
'meetingRecordSaveFailed': 'Impossible de sauvegarder l\'enregistrement. Veuillez réessayer.', // 保存录音失败,请重试 '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', // 录音进行中 'meetingRecordRecordingNotificationTitle': 'Enregistrement en cours', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Enregistrement en arrière-plan. Touchez pour revenir à l\'application.', // 正在后台录音,点击返回应用 'meetingRecordRecordingNotificationBody':
'Enregistrement en arrière-plan. Touchez pour revenir à l\'application.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Afficher par-dessus les autres applis', // 悬浮窗权限 '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.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。 'overlayPermissionTranslationDesc':
'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.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。 '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.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'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.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。 '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...',
@ -1102,7 +1113,8 @@ const Map<String, String> frFR = {
'native.notification.music.next': 'Suivant', // 下一首 'native.notification.music.next': 'Suivant', // 下一首
'native.notification.music.play': 'Lecture', // 播放 'native.notification.music.play': 'Lecture', // 播放
'native.notification.music.pause': 'Pause', // 暂停 'native.notification.music.pause': 'Pause', // 暂停
'native.notification.qqMusic.playing': 'Musique en cours de lecture', // 正在播放音乐 'native.notification.qqMusic.playing':
'Musique en cours de lecture', // 正在播放音乐
//permission_util.dart //permission_util.dart
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',

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

@ -16,6 +16,8 @@ const Map<String, String> hiIN = {
"requestTimeout": "अनुरोध टाइमआउट", "requestTimeout": "अनुरोध टाइमआउट",
"responseTimeout": "प्रतिक्रिया टाइमआउट", "responseTimeout": "प्रतिक्रिया टाइमआउट",
"unknownError": "अज्ञात त्रुटि", "unknownError": "अज्ञात त्रुटि",
"asrConnectionFailed":
"वॉइस रिकग्निशन सेवा से कनेक्शन विफल रहा। कृपया नेटवर्क जांचें और बाद में फिर से प्रयास करें।",
// 启动页 // 启动页
"slogan": "दुनिया को जोड़ना, ध्वनि से परे", "slogan": "दुनिया को जोड़ना, ध्वनि से परे",

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

@ -16,6 +16,8 @@ const Map<String, String> hrHR = {
"requestTimeout": "Vrijeme za zahtjev je isteklo", "requestTimeout": "Vrijeme za zahtjev je isteklo",
"responseTimeout": "Vrijeme za odgovor je isteklo", "responseTimeout": "Vrijeme za odgovor je isteklo",
"unknownError": "Nepoznata greška", "unknownError": "Nepoznata greška",
"asrConnectionFailed":
"Povezivanje s uslugom za prepoznavanje govora nije uspjelo. Provjerite mrežu i pokušajte ponovno kasnije.",
// 启动页 // 启动页
"slogan": "Povezivanje svijeta, izvan zvuka", "slogan": "Povezivanje svijeta, izvan zvuka",

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

@ -16,6 +16,8 @@ const Map<String, String> huHU = {
"requestTimeout": "Kérési időtúllépés", "requestTimeout": "Kérési időtúllépés",
"responseTimeout": "Válaszidő túllépés", "responseTimeout": "Válaszidő túllépés",
"unknownError": "Ismeretlen hiba", "unknownError": "Ismeretlen hiba",
"asrConnectionFailed":
"Nem sikerült csatlakozni a beszédfelismerő szolgáltatáshoz. Ellenőrizze a hálózatot, majd próbálja meg később újra.",
// 启动页 // 启动页
"slogan": "A világ összekötése, a hangon túl", "slogan": "A világ összekötése, a hangon túl",

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

@ -16,6 +16,8 @@ const Map<String, String> idID = {
"requestTimeout": "Waktu permintaan habis", "requestTimeout": "Waktu permintaan habis",
"responseTimeout": "Waktu respons habis", "responseTimeout": "Waktu respons habis",
"unknownError": "Kesalahan tidak diketahui", "unknownError": "Kesalahan tidak diketahui",
"asrConnectionFailed":
"Koneksi ke layanan pengenalan suara gagal. Periksa jaringan Anda lalu coba lagi nanti.",
// 启动页 // 启动页
"slogan": "Menghubungkan dunia, melampaui suara", "slogan": "Menghubungkan dunia, melampaui suara",

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

@ -16,6 +16,8 @@ const Map<String, String> isIS = {
"requestTimeout": "Beiðni rann út á tíma", "requestTimeout": "Beiðni rann út á tíma",
"responseTimeout": "Svar rann út á tíma", "responseTimeout": "Svar rann út á tíma",
"unknownError": "Óþekkt villa", "unknownError": "Óþekkt villa",
"asrConnectionFailed":
"Tenging við talgreiningarþjónustu mistókst. Athugaðu netsambandið eða reyndu aftur síðar.",
// 启动页 // 启动页
"slogan": "Að tengja heiminn, handan hljóðsins", "slogan": "Að tengja heiminn, handan hljóðsins",
@ -439,19 +441,28 @@ const Map<String, String> isIS = {
'callRecording': 'Call Recording', 'callRecording': 'Call Recording',
'importAudio': 'Import Audio', 'importAudio': 'Import Audio',
'meetingRecordExitTitle': 'Hætta í upptöku', // 退出录音 'meetingRecordExitTitle': 'Hætta í upptöku', // 退出录音
'meetingRecordExitMessage': 'Veldu hvað á að gera áður en þú ferð', // 请选择离开后的操作 'meetingRecordExitMessage':
'Veldu hvað á að gera áður en þú ferð', // 请选择离开后的操作
'meetingRecordEndAndSave': 'Ljúka og vista', // 结束录音并保存 'meetingRecordEndAndSave': 'Ljúka og vista', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Ljúka án vistunar', // 结束录音不保存 'meetingRecordEndWithoutSave': 'Ljúka án vistunar', // 结束录音不保存
'meetingRecordContinueInBackground': 'Halda upptöku áfram í bakgrunni', // 后台继续录音 'meetingRecordContinueInBackground':
'meetingRecordStopTimeout': 'Tímamörk fyrir stöðvun upptöku runnu út. Reyndu aftur.', // 结束录音超时,请重试 'Halda upptöku áfram í bakgrunni', // 后台继续录音
'meetingRecordStopFailed': 'Tókst ekki að stöðva upptökuna. Reyndu aftur.', // 结束录音失败,请重试 'meetingRecordStopTimeout':
'meetingRecordSaveFailed': 'Tókst ekki að vista upptökuna. Reyndu aftur.', // 保存录音失败,请重试 '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', // 录音进行中 'meetingRecordRecordingNotificationTitle': 'Upptaka í gangi', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Upptaka í bakgrunni. Pikkaðu til að fara aftur í appið.', // 正在后台录音,点击返回应用 'meetingRecordRecordingNotificationBody':
'Upptaka í bakgrunni. Pikkaðu til að fara aftur í appið.', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Birta yfir öðrum öppum', // 悬浮窗权限 '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.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。 'overlayPermissionTranslationDesc':
'overlayPermissionRecordingDesc': 'Til að sýna fljótandi upptökustiku (tími/pása/halda áfram) meðan á upptöku stendur þurfum við yfirlagaleyfi.', // 为了在录音过程中显示录音悬浮条(计时/暂停/继续),需要悬浮窗权限。 '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.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
'overlayPermissionOpenSettingsFailed': 'Ekki tókst að opna kerfisstillingar sjálfkrafa. Opnaðu Stillingar og virkjaðu yfirlagaleyfi handvirkt.', // 无法自动跳转到系统设置,请手动前往系统设置开启悬浮窗权限。 '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...',

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

@ -17,6 +17,8 @@ const Map<String, String> itIT = {
"requestTimeout": "Timeout della richiesta", "requestTimeout": "Timeout della richiesta",
"responseTimeout": "Timeout della risposta", "responseTimeout": "Timeout della risposta",
"unknownError": "Errore sconosciuto", "unknownError": "Errore sconosciuto",
"asrConnectionFailed":
"Connessione al servizio di riconoscimento vocale non riuscita. Controlla la rete o riprova più tardi.",
// 启动页 // 启动页
"slogan": "Connettere il mondo, oltre il suono", "slogan": "Connettere il mondo, oltre il suono",

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

@ -16,6 +16,7 @@ const Map<String, String> jaJP = {
"requestTimeout": "リクエストタイムアウト", "requestTimeout": "リクエストタイムアウト",
"responseTimeout": "応答タイムアウト", "responseTimeout": "応答タイムアウト",
"unknownError": "不明なエラー", "unknownError": "不明なエラー",
"asrConnectionFailed": "音声認識サービスへの接続に失敗しました。ネットワークを確認して、しばらくしてからもう一度お試しください。",
// 启动页 // 启动页
"slogan": "世界をつなぐ、音声を超えて", "slogan": "世界をつなぐ、音声を超えて",

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

@ -16,6 +16,8 @@ const Map<String, String> koKR = {
"requestTimeout": "요청 시간 초과", "requestTimeout": "요청 시간 초과",
"responseTimeout": "응답 시간 초과", "responseTimeout": "응답 시간 초과",
"unknownError": "알 수 없는 오류", "unknownError": "알 수 없는 오류",
"asrConnectionFailed":
"음성 인식 서비스 연결에 실패했습니다. 네트워크를 확인한 후 다시 시도해 주세요.",
// 启动页 // 启动页
"slogan": "세상을 연결하다, 소리를 넘어서", "slogan": "세상을 연결하다, 소리를 넘어서",

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

@ -17,6 +17,8 @@ const Map<String, String> ltLT = {
"requestTimeout": "Užklausos laikas baigėsi", "requestTimeout": "Užklausos laikas baigėsi",
"responseTimeout": "Atsakymo laikas baigėsi", "responseTimeout": "Atsakymo laikas baigėsi",
"unknownError": "Nežinoma klaida", "unknownError": "Nežinoma klaida",
"asrConnectionFailed":
"Nepavyko prisijungti prie kalbos atpažinimo paslaugos. Patikrinkite tinklą arba bandykite vėliau dar kartą.",
// 启动页 // 启动页
"slogan": "Jungiantis pasaulį, anapus garso", "slogan": "Jungiantis pasaulį, anapus garso",

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

@ -16,6 +16,8 @@ const Map<String, String> lvLV = {
"requestTimeout": "Pieprasījuma taimauts", "requestTimeout": "Pieprasījuma taimauts",
"responseTimeout": "Atbildes taimauts", "responseTimeout": "Atbildes taimauts",
"unknownError": "Nezināma kļūda", "unknownError": "Nezināma kļūda",
"asrConnectionFailed":
"Neizdevās izveidot savienojumu ar runas atpazīšanas pakalpojumu. Pārbaudiet tīklu vai mēģiniet vēlreiz vēlāk.",
// 启动页 // 启动页
"slogan": "Pasaules savienošana, pāri skaņai", "slogan": "Pasaules savienošana, pāri skaņai",

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

@ -16,6 +16,8 @@ const Map<String, String> msMY = {
"requestTimeout": "Tamat masa permintaan", "requestTimeout": "Tamat masa permintaan",
"responseTimeout": "Tamat masa tindak balas", "responseTimeout": "Tamat masa tindak balas",
"unknownError": "Ralat tidak diketahui", "unknownError": "Ralat tidak diketahui",
"asrConnectionFailed":
"Sambungan ke perkhidmatan pengecaman suara gagal. Sila semak rangkaian atau cuba lagi nanti.",
// 启动页 // 启动页
"slogan": "Menghubungkan dunia, melampaui suara", "slogan": "Menghubungkan dunia, melampaui suara",

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

@ -16,6 +16,8 @@ const Map<String, String> nbNO = {
"requestTimeout": "Tidsavbrudd for forespørsel", "requestTimeout": "Tidsavbrudd for forespørsel",
"responseTimeout": "Tidsavbrudd for svar", "responseTimeout": "Tidsavbrudd for svar",
"unknownError": "Ukjent feil", "unknownError": "Ukjent feil",
"asrConnectionFailed":
"Tilkobling til talegjenkjenningstjenesten mislyktes. Kontroller nettverket eller prøv igjen senere.",
// 启动页 // 启动页
"slogan": "Kobler sammen verden, hinsides lyd", "slogan": "Kobler sammen verden, hinsides lyd",

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

@ -16,6 +16,8 @@ const Map<String, String> nlNL = {
"requestTimeout": "Verzoektime-out", "requestTimeout": "Verzoektime-out",
"responseTimeout": "Reactietime-out", "responseTimeout": "Reactietime-out",
"unknownError": "Onbekende fout", "unknownError": "Onbekende fout",
"asrConnectionFailed":
"Verbinding met de spraakherkenningsservice is mislukt. Controleer de netwerkverbinding of probeer het later opnieuw.",
// 启动页 // 启动页
"slogan": "De wereld verbinden, voorbij het geluid", "slogan": "De wereld verbinden, voorbij het geluid",

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

@ -16,6 +16,8 @@ const Map<String, String> plPL = {
"requestTimeout": "Przekroczono czas oczekiwania na żądanie", "requestTimeout": "Przekroczono czas oczekiwania na żądanie",
"responseTimeout": "Przekroczono czas oczekiwania na odpowiedź", "responseTimeout": "Przekroczono czas oczekiwania na odpowiedź",
"unknownError": "Nieznany błąd", "unknownError": "Nieznany błąd",
"asrConnectionFailed":
"Nie udało się połączyć z usługą rozpoznawania mowy. Sprawdź sieć lub spróbuj ponownie później.",
// 启动页 // 启动页
"slogan": "Łącząc świat, poza dźwiękiem", "slogan": "Łącząc świat, poza dźwiękiem",

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

@ -16,6 +16,8 @@ const Map<String, String> ptPT = {
"requestTimeout": "Tempo Limite do Pedido", "requestTimeout": "Tempo Limite do Pedido",
"responseTimeout": "Tempo Limite da Resposta", "responseTimeout": "Tempo Limite da Resposta",
"unknownError": "Erro Desconhecido", "unknownError": "Erro Desconhecido",
"asrConnectionFailed":
"Falha na ligação ao serviço de reconhecimento de voz. Verifique a rede ou tente novamente mais tarde.",
// 启动页 // 启动页
"slogan": "Conectando o mundo, para além do som", "slogan": "Conectando o mundo, para além do som",

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

@ -16,6 +16,8 @@ const Map<String, String> roRO = {
"requestTimeout": "Timpul de cerere a expirat", "requestTimeout": "Timpul de cerere a expirat",
"responseTimeout": "Timpul de răspuns a expirat", "responseTimeout": "Timpul de răspuns a expirat",
"unknownError": "Eroare necunoscută", "unknownError": "Eroare necunoscută",
"asrConnectionFailed":
"Conexiunea la serviciul de recunoaștere vocală a eșuat. Verificați rețeaua sau încercați din nou mai târziu.",
// 启动页 // 启动页
"slogan": "Conectând lumea, dincolo de sunet", "slogan": "Conectând lumea, dincolo de sunet",

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

@ -16,6 +16,8 @@ const Map<String, String> ruRU = {
"requestTimeout": "Тайм-аут запроса", "requestTimeout": "Тайм-аут запроса",
"responseTimeout": "Тайм-аут ответа", "responseTimeout": "Тайм-аут ответа",
"unknownError": "Неизвестная ошибка", "unknownError": "Неизвестная ошибка",
"asrConnectionFailed":
"Не удалось подключиться к службе распознавания речи. Проверьте сеть и попробуйте ещё раз позже.",
// 启动页 // 启动页
"slogan": "Соединяя мир, за пределами звука", "slogan": "Соединяя мир, за пределами звука",

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

@ -16,6 +16,8 @@ const Map<String, String> skSK = {
"requestTimeout": "Časový limit požiadavky", "requestTimeout": "Časový limit požiadavky",
"responseTimeout": "Časový limit odozvy", "responseTimeout": "Časový limit odozvy",
"unknownError": "Neznáma chyba", "unknownError": "Neznáma chyba",
"asrConnectionFailed":
"Pripojenie k službe rozpoznávania reči zlyhalo. Skontrolujte sieť alebo to skúste znova neskôr.",
// 启动页 // 启动页
"slogan": "Pripájanie sveta, za hranicami zvuku", "slogan": "Pripájanie sveta, za hranicami zvuku",

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

@ -16,6 +16,8 @@ const Map<String, String> slSI = {
"requestTimeout": "Čas za zahtevo je potekel", "requestTimeout": "Čas za zahtevo je potekel",
"responseTimeout": "Čas za odgovor je potekel", "responseTimeout": "Čas za odgovor je potekel",
"unknownError": "Neznana napaka", "unknownError": "Neznana napaka",
"asrConnectionFailed":
"Povezava s storitvijo za prepoznavanje govora ni uspela. Preverite omrežje ali poskusite znova pozneje.",
// 启动页 // 启动页
"slogan": "Povezovanje sveta, onkraj zvoka", "slogan": "Povezovanje sveta, onkraj zvoka",

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

@ -16,6 +16,8 @@ const Map<String, String> srRS = {
"requestTimeout": "Isteklo vreme za zahtev", "requestTimeout": "Isteklo vreme za zahtev",
"responseTimeout": "Isteklo vreme za odgovor", "responseTimeout": "Isteklo vreme za odgovor",
"unknownError": "Nepoznata greška", "unknownError": "Nepoznata greška",
"asrConnectionFailed":
"Povezivanje sa servisom za prepoznavanje govora nije uspelo. Proverite mrežu i pokušajte ponovo kasnije.",
// 启动页 // 启动页
"slogan": "Povezivanje sveta, izvan zvuka", "slogan": "Povezivanje sveta, izvan zvuka",
@ -91,7 +93,8 @@ 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': 'Prvo pročitajte i prihvatite Politiku privatnosti i Korisnički ugovor', 'pleaseAcceptPrivacyPolicy':
'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",
@ -100,7 +103,8 @@ const Map<String, String> srRS = {
// 隐私政策弹窗 // 隐私政策弹窗
"loginDeclaration": "Voitrans izjava", // Voitrans 声明 "loginDeclaration": "Voitrans izjava", // Voitrans 声明
"welcomeToThisApp": "Dobrodošli u Voitrans, molimo vas da pažljivo pročitate", // 欢迎使用Voitrans,请充分阅读 "welcomeToThisApp":
"Dobrodošli u Voitrans, molimo vas da pažljivo pročitate", // 欢迎使用Voitrans,请充分阅读
// "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键 // "privacyPolicy": "《隐私政策》", // 《隐私政策》 - 已存在,使用现有键
// "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键 // "userAgreement": "《用户协议》", // 《用户协议》 - 已存在,使用现有键
"privacyPolicyText": "privacyPolicyText":
@ -116,24 +120,30 @@ const Map<String, String> srRS = {
"signal": "Signal", "signal": "Signal",
"deviceId": "ID uređaja", "deviceId": "ID uređaja",
"firmwareVersion": "Verzija firmvera", "firmwareVersion": "Verzija firmvera",
"disconnectedDevice": "Nijedan uređaj nije povezan, kliknite na dugme ispod da biste se povezali", "disconnectedDevice":
"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": "Ekskluzivni konsultant 24/7, odgovara na pitanja, daje predloge", "aiAssistantInfo":
"Ekskluzivni konsultant 24/7, odgovara na pitanja, daje predloge",
"interpretation": "Simultano prevođenje", "interpretation": "Simultano prevođenje",
"simultaneousInterpretationInfo": "Prevođenje u realnom vremenu na 80+ jezika, bezbrižna putovanja u inostranstvo", "simultaneousInterpretationInfo":
"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": "Otvorite futrolu za punjenje slušalica i stavite slušalice u uši", "turnEarphones":
"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": "Neuspešna inicijalizacija Bluetooth servisa", "bluetoothInitializationFailure":
"Neuspešna inicijalizacija Bluetooth servisa",
"checkingPermissions": "Provera dozvola...", "checkingPermissions": "Provera dozvola...",
"lackPermissions": "Nedostaju Bluetooth dozvole i je potrebno omogućiti pristup lokaciji", "lackPermissions":
"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",
@ -176,7 +186,8 @@ 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": "Beleženje zapisnika u realnom vremenu, višejezično prevođenje", "conferenceAssistantInfo":
"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",
@ -219,7 +230,8 @@ const Map<String, String> srRS = {
"transcriptBytes": "Transcript Bytes", "transcriptBytes": "Transcript Bytes",
// 通知文案 // 通知文案
"loadFailed": "Load Failed", "loadFailed": "Load Failed",
"statsLoadFailedTryLater": "Statistics failed to load. Please try again later.", "statsLoadFailedTryLater":
"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",
@ -275,8 +287,10 @@ const Map<String, String> srRS = {
'copyrightVoitrans': '© 2025 Voitrans Technologies', 'copyrightVoitrans': '© 2025 Voitrans Technologies',
// 会议商品页描述 // 会议商品页描述
'meetingHeaderDesc1': 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.', 'meetingHeaderDesc1':
'meetingHeaderDesc2': 'Suitable for business meetings, class notes, and interview minutes.', 'Audio recording, transcription, keyword search, and auto summary to boost meeting efficiency.',
'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',
@ -285,27 +299,35 @@ 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': 'Use in quiet environments; performance depends on microphone and network.', 'meetingDisclaimer':
'Use in quiet environments; performance depends on microphone and network.',
// 同传/翻译商品页描述 // 同传/翻译商品页描述
'transHeaderDesc1': 'Real-time simultaneous interpretation and text translation with low-latency voice.', 'transHeaderDesc1':
'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': 'Terminology optimization and context preservation', 'termOptimizationContextPreserve':
'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': 'Translation performance depends on microphone, network latency, and ambient noise.', 'transDisclaimer':
'Translation performance depends on microphone, network latency, and ambient noise.',
// AI 商品页描述 // AI 商品页描述
'aiHeaderDesc1': 'Longer conversation quota, more tool calls, extended context length.', 'aiHeaderDesc1':
'aiHeaderDesc2': 'Suitable for agent Q&A, summarization, analysis, and task execution.', 'Longer conversation quota, more tool calls, extended context length.',
'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': 'Smart playlist and similar song recommendations', 'smartPlaylistAndSimilarRecommendations':
'routePlanningAndCongestionAvoidance': 'Route planning and congestion avoidance', 'Smart playlist and similar song recommendations',
'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',
@ -314,8 +336,10 @@ 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': 'Template messages and schedule reminders', 'templatedMessagesAndScheduleReminders':
'aiDisclaimer': 'Features depend on device permissions, service availability, and network conditions.', 'Template messages and schedule reminders',
'aiDisclaimer':
'Features depend on device permissions, service availability, and network conditions.',
// 会员商品页 // 会员商品页
'benefitsOverview': 'Benefits overview', 'benefitsOverview': 'Benefits overview',
@ -330,7 +354,8 @@ 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': 'Actual benefits depend on the package details and may change with versions.', 'vipDisclaimer':
'Actual benefits depend on the package details and may change with versions.',
// 新手引导 / Onboarding // 新手引导 / Onboarding
'skip': 'Preskoči', 'skip': 'Preskoči',
@ -356,7 +381,8 @@ 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': 'Tell Lily: “Create a meeting reminder for 3pm tomorrow”', 'guideMeetingStart':
'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',
@ -406,7 +432,8 @@ 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': 'Download complete, {count} files in total, returning automatically in 2 seconds', 'downloadCompleteInfo':
'Download complete, {count} files in total, returning automatically in 2 seconds',
// Meeting模块 - 录音功能 // Meeting模块 - 录音功能
'startRecording': 'Start Recording', 'startRecording': 'Start Recording',
@ -419,11 +446,15 @@ const Map<String, String> srRS = {
'meetingRecordEndAndSave': 'Završi i sačuvaj', // 结束录音并保存 'meetingRecordEndAndSave': 'Završi i sačuvaj', // 结束录音并保存
'meetingRecordEndWithoutSave': 'Završi bez čuvanja', // 结束录音不保存 'meetingRecordEndWithoutSave': 'Završi bez čuvanja', // 结束录音不保存
'meetingRecordContinueInBackground': 'Nastavi snimanje u pozadini', // 后台继续录音 'meetingRecordContinueInBackground': 'Nastavi snimanje u pozadini', // 后台继续录音
'meetingRecordStopTimeout': 'Vreme za zaustavljanje snimanja je isteklo, pokušajte ponovo', // 结束录音超时,请重试 'meetingRecordStopTimeout':
'meetingRecordStopFailed': 'Zaustavljanje snimanja nije uspelo, pokušajte ponovo', // 结束录音失败,请重试 'Vreme za zaustavljanje snimanja je isteklo, pokušajte ponovo', // 结束录音超时,请重试
'meetingRecordSaveFailed': 'Čuvanje snimka nije uspelo, pokušajte ponovo', // 保存录音失败,请重试 'meetingRecordStopFailed':
'Zaustavljanje snimanja nije uspelo, pokušajte ponovo', // 结束录音失败,请重试
'meetingRecordSaveFailed':
'Čuvanje snimka nije uspelo, pokušajte ponovo', // 保存录音失败,请重试
'meetingRecordRecordingNotificationTitle': 'Snimanje u toku', // 录音进行中 'meetingRecordRecordingNotificationTitle': 'Snimanje u toku', // 录音进行中
'meetingRecordRecordingNotificationBody': 'Snimanje u pozadini, dodirnite za povratak', // 正在后台录音,点击返回应用 'meetingRecordRecordingNotificationBody':
'Snimanje u pozadini, dodirnite za povratak', // 正在后台录音,点击返回应用
'overlayPermissionTitle': 'Dozvola za plutajući prozor', // 悬浮窗权限 'overlayPermissionTitle': 'Dozvola za plutajući prozor', // 悬浮窗权限
'overlayPermissionTranslationDesc': '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.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。 '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.', // 为了在通话或音视频翻译时显示翻译结果,需要悬浮窗权限。这样您就可以在使用其他应用时看到实时翻译。
@ -478,40 +509,54 @@ 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': 'Professional template design to improve your work efficiency. Customized according to industry needs.', 'professionalTemplateDesc':
'customTemplateDesc': 'You can customize summary prompts according to your needs and use them to generate the required summaries.', 'Professional template design to improve your work efficiency. Customized according to industry needs.',
'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.', 'customTemplateDesc':
'visualMindMapDesc': 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.', 'You can customize summary prompts according to your needs and use them to generate the required summaries.',
'templateCommunityDesc': 'Discover, share, and get inspiration from the template library created by users.', 'askAiDesc':
'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.', 'Intelligently extract deeper information from recordings, generate data tables, key discussion conclusions, To-Do lists, report emails and other formatted content with one click.',
'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.', 'visualMindMapDesc':
'aiVoiceEnhancementDesc': 'AI voice enhancement supports multiple noise reduction settings, intelligently eliminates background noise, enhances voice clarity, and improves audio playback quality.', 'Beyond summaries - organize and visualize key points with mind maps for more effective understanding of the full text.',
'audioImportDesc': 'Easily import audio files from local or third-party applications, such as voice memos, Google Drive, etc.', 'templateCommunityDesc':
'multipleExportFormatsDesc': 'Export your audio recordings, transcription text and summaries in various formats (TXT, PDF, JPEG) to meet your needs.', 'Discover, share, and get inspiration from the template library created by users.',
'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': '7-day free trial, then ¥800/year. Cancel anytime before trial ends.', 'proMonthlyDesc':
'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': '7-day free trial, then ¥1600/year. Cancel anytime before trial ends.', 'unlimitedMonthlyDesc':
'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': '*After upgrading subscription, the remaining days of the original subscription will be automatically calculated and refunded to your payment account', 'upgradeNote':
'*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': 'Activated immediately after purchase, valid for 2 years after activation.', 'validityNote':
'Activated immediately after purchase, valid for 2 years after activation.',
'purchase': 'Purchase', 'purchase': 'Purchase',
// Meeting模块 - 模版和生成 // Meeting模块 - 模版和生成
@ -523,7 +568,8 @@ 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': 'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.', 'aiAnalysisDesc':
'AI analysis identifies key events in recordings, allowing you to select important events for AI generation.',
// Meeting模块 - 文件操作和状态 // Meeting模块 - 文件操作和状态
'importing': 'Importing...', 'importing': 'Importing...',
@ -543,7 +589,8 @@ const Map<String, String> srRS = {
// 权限相关 - Meeting相关 // 权限相关 - Meeting相关
'meetingStoragePermission': 'Storage', 'meetingStoragePermission': 'Storage',
'meetingStoragePermissionExplanation': 'We need access to storage permissions so you can select and upload audio files.', 'meetingStoragePermissionExplanation':
'We need access to storage permissions so you can select and upload audio files.',
'meetingStoragePermissionPermanentDenial': 'meetingStoragePermissionPermanentDenial':
'检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。', '检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
@ -589,12 +636,14 @@ const Map<String, String> srRS = {
// Meeting模块 - 发言者相关 // Meeting模块 - 发言者相关
'applyToAllParagraphs': 'Primeni na sve pasuse ovog govornika', 'applyToAllParagraphs': 'Primeni na sve pasuse ovog govornika',
'summaryWillBeUpdatedAutomatically': 'Sažetak će se automatski ažurirati prema šablonu', 'summaryWillBeUpdatedAutomatically':
'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': 'Summary speakers will be updated automatically', 'summarySpeakerWillBeUpdatedAutomatically':
'Summary speakers will be updated automatically',
// Meeting模块 - 云端同步相关 // Meeting模块 - 云端同步相关
'syncToCloud': 'Sync to Cloud', 'syncToCloud': 'Sync to Cloud',
@ -619,7 +668,8 @@ 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": "First bind device reward has been issued. Tap OK to close.", "bindRewardSimpleDesc":
"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",
@ -632,7 +682,8 @@ 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": "Upravljanje podešavanjima dozvola aplikacije", // 管理应用权限设置 "permissionManagementInfo":
"Upravljanje podešavanjima dozvola aplikacije", // 管理应用权限设置
"aboutApplication": "O aplikaciji", "aboutApplication": "O aplikaciji",
"versions": "Verzija", "versions": "Verzija",
"checkUpdates": "Proveri ažuriranja", "checkUpdates": "Proveri ažuriranja",
@ -641,9 +692,11 @@ 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": "Microsoftov govorni servis u oblaku, podržava visokokvalitetnu sintezu i prepoznavanje govora", "azureVoiceServiceInfo":
"Microsoftov govorni servis u oblaku, podržava visokokvalitetnu sintezu i prepoznavanje govora",
"flutterVoiceService": "Flutter lokalni govorni servis", "flutterVoiceService": "Flutter lokalni govorni servis",
"flutterVoiceServiceInfo": "Lokalni govorni servis uređaja, može se koristiti bez internet konekcije", "flutterVoiceServiceInfo":
"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',
@ -672,7 +725,8 @@ const Map<String, String> srRS = {
// 设置页面 - 实时语音对话 // 设置页面 - 实时语音对话
"realtimeVoiceChat": "Glasovno ćaskanje u realnom vremenu", "realtimeVoiceChat": "Glasovno ćaskanje u realnom vremenu",
"realtimeVoiceChatInfo": "Iskusite funkciju inteligentne glasovne interakcije (pregled funkcije)", "realtimeVoiceChatInfo":
"Iskusite funkciju inteligentne glasovne interakcije (pregled funkcije)",
"loading": "Učitavanje...", "loading": "Učitavanje...",
//设备管理页面 //设备管理页面
@ -743,10 +797,14 @@ const Map<String, String> srRS = {
'• 控制耳机功能\n\n' '• 控制耳机功能\n\n'
'有什么我可以帮你的吗?', '有什么我可以帮你的吗?',
'microphonePermission': 'Mikrofon', 'microphonePermission': 'Mikrofon',
'voiceRecognitionPermissionText': 'Funkcija prepoznavanja govora zahteva pristup mikrofonu.', 'voiceRecognitionPermissionText':
'voiceTranslationPermissionText': 'Funkcija prepoznavanja i prevođenja govora zahteva pristup mikrofonu.', 'Funkcija prepoznavanja govora zahteva pristup mikrofonu.',
'phoneCallPermissionText': 'Funkcija pozivanja zahteva pristup mikrofonu za glasovne pozive.', 'voiceTranslationPermissionText':
'permissionDeniedText': 'Trajno ste odbili dozvolu za mikrofon, idite u sistemska podešavanja da biste je omogućili.', 'Funkcija prepoznavanja i prevođenja govora zahteva pristup mikrofonu.',
'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',
@ -769,7 +827,8 @@ 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': 'Želimo da znamo razlog vaše prijave, možete opisati problem sa kojim ste se suočili.', 'reportDescriptionHint':
'Želimo da znamo razlog vaše prijave, možete opisati problem sa kojim ste se suočili.',
//'submit': '提交', //'submit': '提交',
//Message_bubble //Message_bubble
@ -801,14 +860,22 @@ 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': 'Danas je temperatura niska, obucite se toplo kada izlazite da se ne prehladite', 'coldWeatherTip':
'rainyWeatherTip': 'Danas pada kiša, ponesite kišobran kada izlazite i pazite na putu', 'Danas je temperatura niska, obucite se toplo kada izlazite da se ne prehladite',
'snowyWeatherTip': 'Danas pada sneg, put je klizav, pazite i obucite se toplo', 'rainyWeatherTip':
'foggyWeatherTip': 'Danas je magla, vidljivost je smanjena, nosite masku kada izlazite', 'Danas pada kiša, ponesite kišobran kada izlazite i pazite na putu',
'windyWeatherTip': 'Danas duva jak vetar, pazite kada izlazite i osigurajte svoje stvari', 'snowyWeatherTip':
'sunnyWeatherTip': 'Danas je sunčano i jako UV zračenje, koristite kremu za sunčanje kada izlazite', 'Danas pada sneg, put je klizav, pazite i obucite se toplo',
'temperatureDifferenceTip': 'Danas je velika razlika u temperaturi između dana i noći, prilagodite odeću', 'foggyWeatherTip':
'comfortableWeatherTip': 'Danas je vreme prijatno, odlično vreme za aktivnosti na otvorenom', 'Danas je magla, vidljivost je smanjena, nosite masku kada izlazite',
'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",
@ -858,24 +925,31 @@ 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": "Da li ste sigurni da želite da se odjavite sa trenutnog naloga?", "logoutTips":
"Da li ste sigurni da želite da se odjavite sa trenutnog naloga?",
'deleteAccount': 'Obriši nalog', 'deleteAccount': 'Obriši nalog',
'deleteAccountTips': 'Da li ste sigurni da želite trajno da obrišete svoj nalog? Ova radnja se ne može opozvati', 'deleteAccountTips':
'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': 'Neuspešna mrežna veza, proverite podešavanja mreže i pokušajte ponovo', 'networkConnectionFailed':
'serverTemporarilyUnavailable': 'Server je trenutno nedostupan, pokušajte ponovo kasnije', 'Neuspešna mrežna veza, proverite podešavanja mreže i pokušajte ponovo',
'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': 'Neuspešna obrada slike, izaberite drugu sliku', 'imageProcessingFailedPleaseReselect':
'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': 'Neuspešna mrežna veza, proverite podešavanja mreže', 'networkConnectionFailedCheckSettings':
'serverInternalErrorRetryLater': 'Interna greška na serveru, pokušajte ponovo kasnije', 'Neuspešna mrežna veza, proverite podešavanja mreže',
'serverInternalErrorRetryLater':
'Interna greška na serveru, pokušajte ponovo kasnije',
// Profile 用户交互 // Profile 用户交互
//'error': '错误', //'error': '错误',
@ -894,13 +968,19 @@ 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': 'Uspešno odjavljivanje sa treće strane', // 第三方登录退出成功 'thirdPartyLogoutSuccess':
'thirdPartyLogoutFailed': 'Neuspešno odjavljivanje sa treće strane', // 第三方登录退出失败 'Uspešno odjavljivanje sa treće strane', // 第三方登录退出成功
'signOutProcessError': 'Došlo je do greške tokom procesa odjavljivanja', // 登出过程发生错误 'thirdPartyLogoutFailed':
'deleteAccountProcessError': 'Došlo je do greške tokom procesa brisanja naloga', // 删除账号过程发生错误 'Neuspešno odjavljivanje sa treće strane', // 第三方登录退出失败
'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': 'Svi korisnički podaci uspešno obrisani', // 所有用户数据清理成功 'allUserDataClearSuccess':
'accountServiceInitialized': 'AccountService je inicijalizovan', // AccountService 已初始化 'Svi korisnički podaci uspešno obrisani', // 所有用户数据清理成功
'accountServiceInitialized':
'AccountService je inicijalizovan', // AccountService 已初始化
// 权限管理页面 // 权限管理页面
'getPermissionStatusFailed': 'Neuspešno dobijanje statusa dozvole', 'getPermissionStatusFailed': 'Neuspešno dobijanje statusa dozvole',
@ -923,57 +1003,86 @@ 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': 'Used to set exact alarms to ensure reminders trigger on time', 'alarmPermissionDesc':
'calendarWritePermissionDesc': 'Koristi se za kreiranje događaja i podsetnika u kalendaru', 'Used to set exact alarms to ensure reminders trigger on time',
'calendarFullAccessPermissionDesc': 'Koristi se za čitanje i upravljanje događajima i podsetnicima u kalendaru', 'calendarWritePermissionDesc':
'locationPermissionDesc': 'Koristi se za dobijanje informacija o trenutnoj lokaciji', 'Koristi se za kreiranje događaja i podsetnika u kalendaru',
'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': 'Potrebno je omogućiti u sistemskim podešavanjima', 'needOpenInSystemSettings':
'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': 'This permission is required to set exact alarms and ensure reminders trigger on time', 'alarmPermissionDetailDesc':
'calendarWritePermissionDetailDesc': 'Kreiranje događaja u kalendaru zahteva dozvolu za pisanje u kalendar', 'This permission is required to set exact alarms and ensure reminders trigger on time',
'calendarFullAccessPermissionDetailDesc': 'Upravljanje događajima u kalendaru zahteva potpunu dozvolu za kalendar', 'calendarWritePermissionDetailDesc':
'locationPermissionDetailDesc': 'Dobijanje informacija o lokaciji zahteva dozvolu za lokaciju', 'Kreiranje događaja u kalendaru zahteva dozvolu za pisanje u kalendar',
'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': 'Phone call and SMS functionality requires contacts permission to select contacts', 'contactsPermissionDetailDesc':
'bluetoothPermissionDesc': 'Used for connecting and managing Bluetooth devices', 'Phone call and SMS functionality requires contacts permission to select contacts',
'bluetoothPermissionDetailDesc': 'Connecting to Bluetooth headphones and other devices requires Bluetooth permission', 'bluetoothPermissionDesc':
'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': 'Scanning for nearby Bluetooth devices requires Bluetooth scan permission', 'bluetoothScanPermissionDetailDesc':
'Scanning for nearby Bluetooth devices requires Bluetooth scan permission',
'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices', 'bluetoothConnectPermissionDesc': 'Used for connecting to Bluetooth devices',
'bluetoothConnectPermissionDetailDesc': 'Connecting to Bluetooth devices requires Bluetooth connect permission', 'bluetoothConnectPermissionDetailDesc':
'Connecting to Bluetooth devices requires Bluetooth connect permission',
'notificationPermissionDesc': 'Used for sending notification messages', 'notificationPermissionDesc': 'Used for sending notification messages',
'notificationPermissionDetailDesc': 'App needs notification permission to send you important alerts and messages', 'notificationPermissionDetailDesc':
'appNeedsPermissionForFullFunction': 'Aplikacija zahteva ovu dozvolu za punu funkcionalnost', 'App needs notification permission to send you important alerts and messages',
'permanentDenialText': 'Trajno ste odbili dozvolu za {permission}, idite u podešavanja aplikacije da biste je omogućili', 'appNeedsPermissionForFullFunction':
'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': 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.', 'bluetoothScanExplanation':
'bluetoothConnectExplanation': 'The app needs Bluetooth connect permission to connect to Bluetooth devices.', 'The app needs Bluetooth scan permission to scan nearby Bluetooth devices.',
'locationForBluetoothExplanation': 'The app needs location permission to scan Bluetooth devices.', 'bluetoothConnectExplanation':
'bluetoothScanPermanentDenial': 'Bluetooth scan permission has been permanently denied, please go to settings to enable it manually.', 'The app needs Bluetooth connect permission to connect to Bluetooth devices.',
'bluetoothConnectPermanentDenial': 'Bluetooth connect permission has been permanently denied, please go to settings to enable it manually.', 'locationForBluetoothExplanation':
'locationPermanentDenial': 'Location permission has been permanently denied, please go to settings to enable it manually.', 'The app needs location permission to scan Bluetooth devices.',
'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': 'Notification permission is required to display music playback status.', 'notificationPermissionExplanation':
'locationPermissionExplanation': 'Location permission is required to get current location.', 'Notification permission is required to display music playback status.',
'notificationPermissionPermanentDenial': 'You have permanently denied notification permission, please go to settings to enable it.', 'locationPermissionExplanation':
'locationPermissionPermanentDenial': 'You have permanently denied location permission, please go to settings to enable it.', 'Location permission is required to get current location.',
'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': 'We need microphone permission to record audio content.', 'microphonePermissionExplanation':
'storagePermissionExplanation': 'We need storage permission so you can select and upload audio files.', 'We need microphone permission to record audio content.',
'storagePermissionExplanation':
'We need storage permission so you can select and upload audio files.',
'microphonePermissionPermanentDenial': 'microphonePermissionPermanentDenial':
'检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。', '检测到您已永久拒绝录音权限。如需继续使用此功能,请前往应用设置中手动开启麦克风权限。',
'storagePermissionPermanentDenial': 'storagePermissionPermanentDenial':
@ -983,7 +1092,8 @@ const Map<String, String> srRS = {
'permissionUtilNeed': 'Need ', 'permissionUtilNeed': 'Need ',
'permissionUtilPermission': ' Permission', 'permissionUtilPermission': ' Permission',
'permissionUtilRestricted': ' Permission Restricted', 'permissionUtilRestricted': ' Permission Restricted',
'permissionUtilRestrictedMessage': 'This feature is unavailable or restricted on the current device, please check device settings or system restrictions', 'permissionUtilRestrictedMessage':
'This feature is unavailable or restricted on the current device, please check device settings or system restrictions',
'permissionUtilConfirm': 'OK', 'permissionUtilConfirm': 'OK',
// 版本更新对话框 // 版本更新对话框
@ -992,8 +1102,10 @@ 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': 'Nije moguće otvoriti prodavnicu aplikacija, idite ručno u prodavnicu da biste ažurirali', // 无法打开应用商店提示 'cannotOpenAppStore':
'updateErrorRetry': 'Došlo je do greške tokom ažuriranja, pokušajte ponovo kasnije', // 更新错误重试提示 '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', // 更新错误重试提示
//国家列表 //国家列表
"邮箱": "E-pošta", "邮箱": "E-pošta",
@ -1129,7 +1241,8 @@ const Map<String, String> srRS = {
"selectTargetLanguage": "Izaberi ciljni jezik", "selectTargetLanguage": "Izaberi ciljni jezik",
"me": "Me", "me": "Me",
"counterPart": "Counterpart", "counterPart": "Counterpart",
"bluetoothCallStateError": "Please make sure the Bluetooth headset is connected to the phone and in a call state", "bluetoothCallStateError":
"Please make sure the Bluetooth headset is connected to the phone and in a call state",
// 通用对话按钮与选项(用于统一语言选择弹窗等) // 通用对话按钮与选项(用于统一语言选择弹窗等)
// 以下翻译键的中文文本内容如注释所示 // 以下翻译键的中文文本内容如注释所示
@ -1145,10 +1258,12 @@ 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": "Da li ste sigurni da želite da obrišete celu istoriju prevođenja? Ova radnja se ne može opozvati.", "clearHistoryConfirm":
"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": "Da li ste sigurni da želite da obrišete sve zapise prevođenja za ovu sesiju? Ova radnja se ne može opozvati.", "deleteSessionConfirm":
"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",
@ -1180,15 +1295,20 @@ 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": "Image processing or translation failed. Please retry.\nError: {error}", "imageProcessingOrTranslationFailed":
"Image processing or translation failed. Please retry.\nError: {error}",
"imageTooLarge": "Image size exceeds 4MB limit", "imageTooLarge": "Image size exceeds 4MB limit",
"imageTooLargeHint": "Image size exceeds 4MB. Reduce quality or dimensions and retry", "imageTooLargeHint":
"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": "Image translation failed. Network issue or rate limit. Please try later", "imageTranslationFailedTryLater":
"imageTranslationApiException": "Image translation API exception. Check network and retry", "Image translation failed. Network issue or rate limit. Please try later",
"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": "Photo album permission required to pick images", "photoAlbumPermissionRequired":
"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",
@ -1211,7 +1331,8 @@ 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": "Kliknite na dugme ispod da biste generisali sažetak sesije", "clickToGenerateSummary":
"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",
@ -1219,9 +1340,11 @@ 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": "Isteklo je vreme za generisanje sažetka, možda zbog problema sa mrežom ili zauzetosti servera.", "summaryTimeoutMessage":
"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": "Da li ste sigurni da želite da obrišete ovaj zapis prevođenja? Ova radnja se ne može opozvati.", "deleteTranslationConfirm":
"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",
@ -1249,19 +1372,25 @@ 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": "Prvo se povežite sa Voitrans uređajem preko sistemskog Bluetooth-a", "connectDeepSoundViaSystemBluetooth":
"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": "Uparivanje uspešno! Preusmeravanje na početnu stranicu...", "pairingSuccessRedirecting":
"Uparivanje uspešno! Preusmeravanje na početnu stranicu...",
// 配对错误状态文本 // 配对错误状态文本
"ensureConnectedDeepSoundDevice": "Uverite se da ste povezani sa Voitrans uređajem", "ensureConnectedDeepSoundDevice":
"deviceAlreadyBoundToOtherAccount": "Ovaj uređaj je već povezan sa drugim nalogom", "Uverite se da ste povezani sa Voitrans uređajem",
"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": "Isteklo vreme skeniranja, uverite se da je uređaj u blizini", "scanTimeoutEnsureDeviceNearby":
"Isteklo vreme skeniranja, uverite se da je uređaj u blizini",
"networkError": "Mrežna greška", "networkError": "Mrežna greška",
"authorizationFailedCheckCode": "Neuspešna autorizacija, proverite da li je autorizacioni kod tačan", "authorizationFailedCheckCode":
"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",
// 配对控制器相关 // 配对控制器相关
@ -1270,13 +1399,15 @@ 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': 'Uverite se da su slušalice uključene i u režimu uparivanja', 'ensureHeadsetOnAndPairingMode':
'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': 'Potreban je kod za autorizaciju ručnog povezivanja...', 'needManualBindingAuthCode':
'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',
@ -1288,35 +1419,45 @@ 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': 'Neuspešno povezivanje uređaja, pokušajte ponovo', 'deviceAssociationFailedRetry':
'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': 'Neuspešna autorizacija uređaja, proverite autorizacioni kod', 'deviceAuthorizationFailedCheckCode':
'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': 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启 'bluetoothGuideStep1':
'bluetoothGuideStep2': 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接 'Enable Bluetooth: Settings → Bluetooth → Turn On', // 开启蓝牙:设置 → 蓝牙 → 开启
'bluetoothGuideStep3': 'Return to app to continue pairing process', // 返回应用继续配对流程 'bluetoothGuideStep2':
'bluetoothGuideTip': 'Tip: You can also long press the Bluetooth icon in Control Center to quickly access Bluetooth settings', // 提示:也可以从控制中心长按蓝牙图标快速进入蓝牙设置 'Connect Device: Find your device in "My Devices" and tap to connect', // 连接设备:在"我的设备"中找到您的设备并点击连接
'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': 'Opišite problem sa kojim ste se suočili ili svoj predlog', 'feedbackDescription':
'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': 'Povratne informacije su uspešno poslate, hvala vam!', 'feedbackSubmitSuccess':
'feedbackSubmitFailed': 'Neuspešno slanje povratnih informacija, pokušajte ponovo kasnije', 'Povratne informacije su uspešno poslate, hvala vam!',
'feedbackSubmitFailed':
'Neuspešno slanje povratnih informacija, pokušajte ponovo kasnije',
// OTA升级模块 // OTA升级模块
"upgradeExitConfirm": "Nadogradnja je u toku, izlazak će prekinuti proces, da li ste sigurni da želite da izađete?", "upgradeExitConfirm":
"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",
@ -1329,14 +1470,18 @@ 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": "Unable to get device info. Please check the connection and retry.", "otaDeviceInfoUnavailable":
"otaProductInfoUnavailable": "Unable to identify the device. Please reconnect and retry.", "Unable to get device info. Please check the connection and retry.",
"otaFirmwareVersionInvalid": "Firmware version is abnormal. Please reconnect and retry.", "otaProductInfoUnavailable":
"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": "Izvadite obe slušalice i uverite se da je baterija obe iznad 20%", "removeEarbudsEnsureBattery":
"Izvadite obe slušalice i uverite se da je baterija obe iznad 20%",
// 音乐列表页面 // 音乐列表页面
"noMusic": "Nema muzike", // 暂无音乐 "noMusic": "Nema muzike", // 暂无音乐
@ -1398,8 +1543,10 @@ const Map<String, String> srRS = {
"insufficientIntegral": "Insufficient integral", "insufficientIntegral": "Insufficient integral",
//余额不足弹窗 //余额不足弹窗
"insufficientBalanceDesc": "Insufficient balance, please go to the corresponding recharge page to recharge.", "insufficientBalanceDesc":
"Insufficient balance, please go to the corresponding recharge page to recharge.",
"recharge": "Go to Recharge", "recharge": "Go to Recharge",
// 会员到期提示 // 会员到期提示
"aiMemberExpiredDesc": "AI membership expired, please go to the membership recharge page to renew.", "aiMemberExpiredDesc":
"AI membership expired, please go to the membership recharge page to renew.",
}; };

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

@ -16,6 +16,8 @@ const Map<String, String> svSE = {
"requestTimeout": "Begäran nådde tidsgräns", "requestTimeout": "Begäran nådde tidsgräns",
"responseTimeout": "Svaret nådde tidsgräns", "responseTimeout": "Svaret nådde tidsgräns",
"unknownError": "Okänt fel", "unknownError": "Okänt fel",
"asrConnectionFailed":
"Anslutning till tjänsten för röstigenkänning misslyckades. Kontrollera nätverket eller försök igen senare.",
// 启动页 // 启动页
"slogan": "Anslut världen, bortom ljudet", "slogan": "Anslut världen, bortom ljudet",

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

@ -16,6 +16,8 @@ const Map<String, String> thTH = {
"requestTimeout": "หมดเวลาคำขอ", "requestTimeout": "หมดเวลาคำขอ",
"responseTimeout": "หมดเวลาการตอบกลับ", "responseTimeout": "หมดเวลาการตอบกลับ",
"unknownError": "ข้อผิดพลาดที่ไม่รู้จัก", "unknownError": "ข้อผิดพลาดที่ไม่รู้จัก",
"asrConnectionFailed":
"เชื่อมต่อกับบริการรู้จำเสียงไม่สำเร็จ กรุณาตรวจสอบเครือข่ายแล้วลองใหม่อีกครั้งภายหลัง",
// 启动页 // 启动页
"slogan": "เชื่อมต่อโลก ก้าวล้ำเหนือเสียง", "slogan": "เชื่อมต่อโลก ก้าวล้ำเหนือเสียง",

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

@ -16,6 +16,8 @@ const Map<String, String> tlPH = {
"requestTimeout": "Nag-time out ang Kahilingan", "requestTimeout": "Nag-time out ang Kahilingan",
"responseTimeout": "Nag-time out ang Pagtugon", "responseTimeout": "Nag-time out ang Pagtugon",
"unknownError": "Hindi Malamang Error", "unknownError": "Hindi Malamang Error",
"asrConnectionFailed":
"Nabigo ang koneksyon sa speech recognition service. Pakisuri ang network at subukang muli mamaya.",
// 启动页 // 启动页
"slogan": "Ikonekta ang mundo, higit pa sa tunog", "slogan": "Ikonekta ang mundo, higit pa sa tunog",

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

@ -16,6 +16,8 @@ const Map<String, String> trTR = {
"requestTimeout": "İstek Zaman Aşımı", "requestTimeout": "İstek Zaman Aşımı",
"responseTimeout": "Yanıt Zaman Aşımı", "responseTimeout": "Yanıt Zaman Aşımı",
"unknownError": "Bilinmeyen Hata", "unknownError": "Bilinmeyen Hata",
"asrConnectionFailed":
"Ses tanıma servisine bağlantı başarısız oldu. Lütfen ağı kontrol edin veya daha sonra tekrar deneyin.",
// 启动页 // 启动页
"slogan": "Dünyayla bağlantı kur, sesin ötesinde", "slogan": "Dünyayla bağlantı kur, sesin ötesinde",

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

@ -16,6 +16,8 @@ const Map<String, String> ukUA = {
"requestTimeout": "Час очікування запиту минув", "requestTimeout": "Час очікування запиту минув",
"responseTimeout": "Час очікування відповіді минув", "responseTimeout": "Час очікування відповіді минув",
"unknownError": "Невідома помилка", "unknownError": "Невідома помилка",
"asrConnectionFailed":
"Не вдалося підключитися до служби розпізнавання мовлення. Перевірте мережу або спробуйте пізніше ще раз.",
// 启动页 // 启动页
"slogan": "З'єднуючи світ, більше ніж просто звук", "slogan": "З'єднуючи світ, більше ніж просто звук",

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

@ -16,6 +16,8 @@ const Map<String, String> viVN = {
"requestTimeout": "Hết thời gian yêu cầu", "requestTimeout": "Hết thời gian yêu cầu",
"responseTimeout": "Hết thời gian phản hồi", "responseTimeout": "Hết thời gian phản hồi",
"unknownError": "Lỗi không xác định", "unknownError": "Lỗi không xác định",
"asrConnectionFailed":
"Kết nối tới dịch vụ nhận dạng giọng nói thất bại. Vui lòng kiểm tra mạng hoặc thử lại sau.",
// 启动页 // 启动页
"slogan": "Kết nối thế giới, vượt trên cả âm thanh", "slogan": "Kết nối thế giới, vượt trên cả âm thanh",

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

@ -16,6 +16,7 @@ const Map<String, String> zhCN = {
"requestTimeout": "请求超时", "requestTimeout": "请求超时",
"responseTimeout": "响应超时", "responseTimeout": "响应超时",
"unknownError": "未知错误", "unknownError": "未知错误",
"asrConnectionFailed": "语音识别服务连接失败,请检查网络或稍后重试",
// 启动页 // 启动页
"slogan": "连接世界,岂止声音", "slogan": "连接世界,岂止声音",

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

@ -16,6 +16,7 @@ const Map<String, String> zhHK = {
"requestTimeout": "請求超時", "requestTimeout": "請求超時",
"responseTimeout": "響應超時", "responseTimeout": "響應超時",
"unknownError": "未知錯誤", "unknownError": "未知錯誤",
"asrConnectionFailed": "語音識別服務連接失敗,請檢查網絡或稍後重試",
// 启动页 // 启动页
"slogan": "連接世界,豈止聲音", "slogan": "連接世界,豈止聲音",

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

@ -16,6 +16,7 @@ const Map<String, String> zhTW = {
"requestTimeout": "請求逾時", "requestTimeout": "請求逾時",
"responseTimeout": "回應逾時", "responseTimeout": "回應逾時",
"unknownError": "未知錯誤", "unknownError": "未知錯誤",
"asrConnectionFailed": "語音辨識服務連線失敗,請檢查網路或稍後重試",
// 启动页 // 启动页
"slogan": "連接世界,豈止聲音", "slogan": "連接世界,豈止聲音",

10
lib/modules/translation/controllers/translation_controller.dart

@ -1164,9 +1164,15 @@ class TranslationController extends GetxController with WidgetsBindingObserver {
break; break;
case RecognitionEventType.error: case RecognitionEventType.error:
Get.snackbar('error'.tr, event.error); final errorMsg = event.error;
var displayMsg = errorMsg;
if (errorMsg.contains('Xunfei connection failed') ||
errorMsg.contains('Socket is not connected')) {
displayMsg = 'asrConnectionFailed'.tr; // 语音识别服务连接失败,请检查网络或稍后重试
}
Get.snackbar('error'.tr, displayMsg);
isRecognizing.value = false; isRecognizing.value = false;
Logger.error('语音识别错误: ${event.error}'); Logger.error('语音识别错误: $errorMsg');
break; break;
case RecognitionEventType.canceled: case RecognitionEventType.canceled:

Loading…
Cancel
Save