From 1b85e2d65b8b15eff4d97d7ee3c0108a4b7eb692 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Fri, 31 Oct 2025 00:55:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=BF=BB=E8=AF=91):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B3=A2=E6=96=AF=E8=AF=AD=E6=94=AF=E6=8C=81=E5=B9=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=A4=9A=E8=AF=AD=E8=A8=80=E7=BF=BB=E8=AF=91=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为应用添加波斯语(fa_IR)支持,包括: 1. 在settings_controller中添加波斯语选项 2. 在app_translations中注册波斯语支持 3. 更新所有现有语言文件添加"persian"和"arabic"翻译项 --- lib/core/translations/app_translations.dart | 8 + lib/core/translations/language/ar_sa.dart | 2 + lib/core/translations/language/bg_bg.dart | 2 + lib/core/translations/language/cs_cz.dart | 2 + lib/core/translations/language/da_dk.dart | 2 + lib/core/translations/language/de_de.dart | 2 + lib/core/translations/language/el_gr.dart | 2 + lib/core/translations/language/en_us.dart | 1 + lib/core/translations/language/es_es.dart | 2 + lib/core/translations/language/et_ee.dart | 2 + lib/core/translations/language/fa_ir.dart | 1184 +++++++++++++++++ lib/core/translations/language/fi_fi.dart | 2 + lib/core/translations/language/fr_fr.dart | 2 + lib/core/translations/language/hi_in.dart | 2 + lib/core/translations/language/hr_hr.dart | 2 + lib/core/translations/language/hu_hu.dart | 2 + lib/core/translations/language/id_id.dart | 2 + lib/core/translations/language/is_is.dart | 2 + lib/core/translations/language/it_it.dart | 2 + lib/core/translations/language/ja_jp.dart | 2 + lib/core/translations/language/ko_kr.dart | 2 + lib/core/translations/language/lt_lt.dart | 2 + lib/core/translations/language/lv_lv.dart | 2 + lib/core/translations/language/ms_my.dart | 2 + lib/core/translations/language/nb_no.dart | 2 + lib/core/translations/language/nl_nl.dart | 2 + lib/core/translations/language/pl_pl.dart | 2 + lib/core/translations/language/pt_pt.dart | 2 + lib/core/translations/language/ro_ro.dart | 2 + lib/core/translations/language/ru_ru.dart | 2 + lib/core/translations/language/sk_sk.dart | 2 + lib/core/translations/language/sl_si.dart | 2 + lib/core/translations/language/sr_rs.dart | 2 + lib/core/translations/language/sv_se.dart | 2 + lib/core/translations/language/th_th.dart | 2 + lib/core/translations/language/tl_ph.dart | 2 + lib/core/translations/language/tr_tr.dart | 2 + lib/core/translations/language/uk_ua.dart | 2 + lib/core/translations/language/vi_vn.dart | 2 + lib/core/translations/language/zh_cn.dart | 1 + lib/core/translations/language/zh_hk.dart | 2 + .../controllers/settings_controller.dart | 2 + 42 files changed, 1270 insertions(+) create mode 100644 lib/core/translations/language/fa_ir.dart diff --git a/lib/core/translations/app_translations.dart b/lib/core/translations/app_translations.dart index 2e73724ed..e555232b4 100644 --- a/lib/core/translations/app_translations.dart +++ b/lib/core/translations/app_translations.dart @@ -42,6 +42,7 @@ import 'language/et_ee.dart'; // 新增爱沙尼亚语导入 import 'language/is_is.dart'; // 新增塞尔维亚语(拉丁)导入 import 'language/sr_rs.dart'; // 新增冰岛语导入 import 'language/ar_sa.dart'; // 新增阿拉伯语导入 +import 'language/fa_IR.dart'; // 新增波斯语导入 class AppTranslations extends Translations { static const fallbackLocale = Locale('zh', 'CN'); @@ -131,6 +132,7 @@ class AppTranslations extends Translations { const Locale('sr', 'RS'), // 塞尔维亚语 const Locale('is', 'IS'), // 新增冰岛语支持 const Locale('ar', 'SA'), // 新增阿拉伯语支持 + const Locale('fa', 'IR'), // 新增波斯语支持 ]; /// 语言代码映射表,用于处理各种标准语言代码格式 @@ -162,6 +164,11 @@ class AppTranslations extends Translations { 'en-GB': const Locale('en', 'US'), 'en_US': const Locale('en', 'US'), 'en_GB': const Locale('en', 'US'), + + // 波斯语(伊朗)的各种表示方式 + 'fa-IR': const Locale('fa', 'IR'), + 'fa_IR': const Locale('fa', 'IR'), + 'fa': const Locale('fa', 'IR'), }; static Locale? deviceLocale() { @@ -330,5 +337,6 @@ class AppTranslations extends Translations { 'sr_RS': srRS, // 新增塞尔维亚语(拉丁)映射 'is_IS': isIS, // 新增冰岛语映射 'ar_SA': arSA, // 新增阿拉伯语映射 + 'fa_IR': faIR, // 新增波斯语映射 }; } diff --git a/lib/core/translations/language/ar_sa.dart b/lib/core/translations/language/ar_sa.dart index ded9d9b03..d8a24f8f8 100644 --- a/lib/core/translations/language/ar_sa.dart +++ b/lib/core/translations/language/ar_sa.dart @@ -66,6 +66,8 @@ const Map arSA = { "estonian": "الإستونية", "serbian": "الصربية", "icelandic": "الآيسلندية", + "arabic": "العربية", + "persian": "الفارسی", // 登录页 "welcome": "أهلاً بك", diff --git a/lib/core/translations/language/bg_bg.dart b/lib/core/translations/language/bg_bg.dart index 3ec2a3797..14f9d770a 100644 --- a/lib/core/translations/language/bg_bg.dart +++ b/lib/core/translations/language/bg_bg.dart @@ -66,6 +66,8 @@ const Map bgBG = { "estonian": "Естонски", "serbian": "Сръбски", "icelandic": "Исландски", + "arabic": "Арабски", + "persian": "Фарски", // 登录页 "welcome": "Добре дошли", diff --git a/lib/core/translations/language/cs_cz.dart b/lib/core/translations/language/cs_cz.dart index 6ec82ac95..b432d7a87 100644 --- a/lib/core/translations/language/cs_cz.dart +++ b/lib/core/translations/language/cs_cz.dart @@ -66,6 +66,8 @@ const Map csCZ = { "estonian": "Estonština", "serbian": "Srbština", "icelandic": "Islandština", + "arabic": "Arabština", + "persian": "Farsština", // 登录页 "welcome": "Vítejte", diff --git a/lib/core/translations/language/da_dk.dart b/lib/core/translations/language/da_dk.dart index b0a9990f9..31bfa72fb 100644 --- a/lib/core/translations/language/da_dk.dart +++ b/lib/core/translations/language/da_dk.dart @@ -66,6 +66,8 @@ const Map daDK = { "estonian": "Estisk", "serbian": "Serbisk", "icelandic": "Islandsk", + "arabic": "Arabisk", + "persian": "Farsisk", // 登录页 "welcome": "Velkommen", diff --git a/lib/core/translations/language/de_de.dart b/lib/core/translations/language/de_de.dart index 3d7670a79..f5bdbc994 100644 --- a/lib/core/translations/language/de_de.dart +++ b/lib/core/translations/language/de_de.dart @@ -66,6 +66,8 @@ const Map deDE = { "estonian": "Estnisch", "serbian": "Serbisch", "icelandic": "Isländisch", + "arabic": "Arabisch", + "persian": "Farsisch", // 登录页 "welcome": "Willkommen", diff --git a/lib/core/translations/language/el_gr.dart b/lib/core/translations/language/el_gr.dart index b226385a6..fec4d66c4 100644 --- a/lib/core/translations/language/el_gr.dart +++ b/lib/core/translations/language/el_gr.dart @@ -66,6 +66,8 @@ const Map elGR = { "estonian": "Εσθονικά", "serbian": "Σερβικά", "icelandic": "Ισλανδικά", + "arabic": "Αραβικά", + "persian": "Φαρασικά", // 登录页 "welcome": "Καλώς ήρθατε", diff --git a/lib/core/translations/language/en_us.dart b/lib/core/translations/language/en_us.dart index 70bb7a124..a4e154c64 100644 --- a/lib/core/translations/language/en_us.dart +++ b/lib/core/translations/language/en_us.dart @@ -67,6 +67,7 @@ const Map enUS = { "serbian": "Serbian", "icelandic": "Icelandic", "arabic": "Arabic", + "persian": "Persian", // 登录页 "welcome": "Welcome", diff --git a/lib/core/translations/language/es_es.dart b/lib/core/translations/language/es_es.dart index 3490f56ea..6ccc9dae1 100644 --- a/lib/core/translations/language/es_es.dart +++ b/lib/core/translations/language/es_es.dart @@ -66,6 +66,8 @@ const Map esES = { "estonian": "Estonio", "serbian": "Serbio", "icelandic": "Islandés", + "arabic": "Arabés", + "persian": "Persio", // 登录页 "welcome": "Bienvenido", diff --git a/lib/core/translations/language/et_ee.dart b/lib/core/translations/language/et_ee.dart index 1f0847d4b..81fb35c04 100644 --- a/lib/core/translations/language/et_ee.dart +++ b/lib/core/translations/language/et_ee.dart @@ -66,6 +66,8 @@ const Map etEE = { "estonian": "Eesti", "serbian": "Serbia", "icelandic": "Islandi", + "arabic": "Arabi", + "persian": "Farsi", // 登录页 "welcome": "Tere tulemast", diff --git a/lib/core/translations/language/fa_ir.dart b/lib/core/translations/language/fa_ir.dart new file mode 100644 index 000000000..ced6ac8cf --- /dev/null +++ b/lib/core/translations/language/fa_ir.dart @@ -0,0 +1,1184 @@ +const Map faIR = { + // 通用 + 'continue': 'ادامه', + 'confirm': 'تأیید', + 'cancel': 'لغو', + 'retry': 'تلاش مجدد', + 'error': 'خطا', + 'success': 'موفقیت', + 'connected': 'متصل', + 'connecting': 'در حال اتصال...', + 'connectionFailure': 'اتصال ناموفق', + 'unconnected': 'قطع', + 'search': 'جستجو', + "requestCancellation": "درخواست لغو شد", + "connectionTimeout": "پایان مهلت اتصال", + "requestTimeout": "پایان مهلت درخواست", + "responseTimeout": "پایان مهلت پاسخ", + "unknownError": "خطای ناشناخته", + + // 启动页 + "slogan": "دنیا را متصل کن، فراتر از صدا", + "sloganInfo": "متخصص صدای هوش مصنوعی · هر زمان، هر مکان", + + // 底部导航 + "home": "خانه", + "explore": "کاوش", + "settings": "تنظیمات", + + // 语言 + "followingSystem": "پیروی از سیستم", + "chinese": "چینی", + "english": "انگلیسی", + "spanish": "اسپانیایی", + "portuguese": "پرتغالی", + "traditionalChinese": "چینی سنتی", + "japanese": "ژاپنی", + "korean": "کره‌ای", + "french": "فرانسوی", + "german": "آلمانی", + "russian": "روسی", + "vietnamese": "ویتنامی", + "italian": "ایتالیایی", + "hindi": "هندی", + "indonesian": "اندونزیایی", + "thai": "تایلندی", + "malay": "مالایی", + "turkish": "ترکی", + "polish": "لهستانی", + "filipino": "فیلیپینی", + "dutch": "هلندی", + "swedish": "سوئدی", + "danish": "دانمارکی", + "finnish": "فنلاندی", + "czech": "چکی", + "hungarian": "مجاری", + "norwegian": "نروژی", + "romanian": "رومانیایی", + "ukrainian": "اوکراینی", + "greek": "یونانی", + "bulgarian": "بلغاری", + "croatian": "کرواتی", + "slovak": "اسلواکی", + "slovenian": "اسلوونیایی", + "lithuanian": "لیتوانیایی", + "latvian": "لتونیایی", + "estonian": "استونیایی", + "serbian": "صربی", + "icelandic": "ایسلندی", + "arabic": "عربی", + "persian": "فارسی", + + // 登录页 + "welcome": "خوش آمدید", + "loginTips": + "لطفاً با شماره تلفن یا ایمیل خود وارد شوید یا حساب کاربری ایجاد کنید", + "accountNumber": "شماره تلفن یا ایمیل", + "verificationCode": "کد تأیید", + "getCode": "دریافت کد", + "reacquireAfter": "ثانیه دیگر دریافت کنید s", + "otherWays": "یا ورود با", + "expressConsent": "با ورود/ثبت‌نام، شما با", + "and": " و ", + "userAgreement": "توافقنامه کاربری", + "privacyPolicy": "سیاست حفظ حریم خصوصی", + 'selectCountry': 'انتخاب کشور/منطقه', + "email": "ایمیل", + "phoneNumber": "شماره تلفن", + "pleaseEnterContactInfo": "لطفاً شماره تلفن یا ایمیل را وارد کنید", + "invalidEmailFormat": "فرمت ایمیل نامعتبر است", + "invalidPhoneFormat": "فرمت شماره تلفن نامعتبر است", + "tip": "نکته", + "pleaseEnterCompleteCode": "لطفاً کد تأیید کامل را وارد کنید", + "loginFailed": "ورود ناموفق بود، لطفاً دوباره تلاش کنید", + 'pleaseAcceptPrivacyPolicy': + 'لطفاً ابتدا سیاست حفظ حریم خصوصی و توافقنامه کاربری را بخوانید و بپذیرید', + "enterVerificationCode": "کد تأیید را وارد کنید", + "verificationCodeSentTo": "کد تأیید به", + "resendVerificationCode": "ارسال مجدد کد تأیید", + "login": "ورود", + "usePasswordLogin": "ورود با رمز عبور", + + // 隐私政策弹窗 + "loginDeclaration": "بیانیه Voitrans", + "welcomeToThisApp": "به Voitrans خوش آمدید، لطفاً با دقت بخوانید ", + "privacyPolicyText": + ". با کلیک بر روی «موافقم و وارد می‌شوم»، شما تأیید می‌کنید که توافق‌نامه‌های فوق را به طور کامل مطالعه کرده و با آن‌ها موافقت نموده‌اید. کلیک بر روی «مخالفم» منجر به خروج از برنامه خواهد شد.", + "disagree": "مخالفم", + "agreeAndEnter": "موافقم و وارد می‌شوم", + + // 首页 + "deviceStatus": "وضعیت دستگاه", + "reconnect": "اتصال مجدد", + "connectingDevice": "در حال اتصال به دستگاه...", + "connectedTo": "متصل به", + "signal": "سیگنال", + "deviceId": "شناسه دستگاه", + "firmwareVersion": "نسخه سفت‌افزار", + "disconnectedDevice": "دستگاهی متصل نیست، روی دکمه زیر کلیک کنید", + "connectDevice": "اتصال دستگاه", + "topAiExperiences": "برترین تجربیات هوش مصنوعی", + "aiAssistant": "دستیار هوش مصنوعی", + "aiAssistantInfo": "مشاور شخصی ۲۴/۷ برای سوالات و مشاوره‌ها", + "interpretation": "ترجمه", + "simultaneousInterpretationInfo": "ترجمه همزمان برای +۸۰ زبان", + "aiCompanion": "همراه والدین و فرزند", + "aiCompanionInfo": "شما را درک می‌کند و همراهی گرمی را فراهم می‌کند", + "homeSlogan": "دنیا را متصل کن، فراتر از صدا", + "turnEarphones": + "لطفاً کیس ایرفون را باز کنید و ایربادها را در گوش خود قرار دهید", + "currentlyConnected": "در حال حاضر متصل به:", + "unsystemSetup": "رفتن به تنظیمات سیستم", + "talkLater": "بعداً یادآوری کن", + "initializing": "در حال آماده‌سازی...", + "bluetoothInitializationFailure": "آماده‌سازی سرویس بلوتوث ناموفق بود", + "checkingPermissions": "در حال بررسی مجوزها...", + "lackPermissions": "مجوزهای بلوتوث مورد نیاز است", + "searchingDevice": "در حال جستجوی دستگاه‌ها...", + "findConnectedDevice": "دستگاه متصل پیدا شد", + "notFound": "دستگاه بلوتوث متصلی پیدا نشد", + "initializationFailure": "آماده‌سازی ناموفق بود", + "connectedDevice": "متصل به دستگاه:", + "failedRefreshDevice": "به‌روزرسانی دستگاه ناموفق بود", + "noDeviceFound": "دستگاه متصلی پیدا نشد", + "failedDeviceInformation": "دریافت اطلاعات دستگاه ناموفق بود", + "unknownEquipment": "دستگاه ناشناس", + "zeroSignal": "بدون سیگنال", + "good": "خوب", + "fine": "عالی", + "excellent": "فوق‌العاده", + "unknown": "ناشناخته", + 'bluetoothTurnedOff': 'بلوتوث خاموش است، لطفاً آن را روشن کنید', + 'bluetoothOff': 'بلوتوث خاموش است', + 'leftEar': 'گوش چپ', + 'rightEar': 'گوش راست', + 'chargingCase': 'کیس شارژ', + 'left': 'چپ', + 'right': 'راست', + 'checkConnectionStatusFailed': 'بررسی وضعیت اتصال ناموفق بود', + + // 发现页 + "searchAi": "جستجوی ویژگی‌های هوش مصنوعی...", + "exploreSlogan": "ایربادهای هوشمند، امکانات بی‌پایان", + "exploreSlogan1": "همراه هوشمند، امکانات بی‌پایان", + "exploreSlogan2": "عینک هوشمند، امکانات بی‌پایان", + "exploreAi": "کاوش ویژگی‌های هوش مصنوعی ارائه‌شده توسط DeepSound", + "aiFunction": "ویژگی‌های هوش مصنوعی", + "allRoundAssistant": "دستیار همه‌کاره", + "allRoundAssistantInfo": "به حل مشکلات مختلف کمک می‌کند", + "simultaneousTranslation": "ترجمه همزمان", + "faceToFaceTranslation": "ترجمه رو در رو", + 'audioVideoTranslation': 'ترجمه چندرسانه‌ای', + 'callTranslation': 'ترجمه تماس', + "simultaneousTranslationInfo": "ترجمه فوری برای +۸۰ زبان", + "aiGirlfriend": "همراه والدین و فرزند", + "aiGirlfriendInfo": "همراهی هوشمند، گفتگو در هر زمان", + "healthConsultant": "چت هوش مصنوعی چندمنظوره", + "healthConsultantInfo": "ویژگی‌های بیشتر چت هوش مصنوعی", + "conferenceAssistant": "دستیار جلسات کاری", + "conferenceAssistantInfo": "ضبط صورت‌جلسه همزمان و ترجمه چندزبانه", + "studyAssistant": "دستیار یادگیری زبان", + "studyAssistantInfo": "تصحیح تلفظ و تمرین مکالمه", + "travelTranslator": "مترجم سفر", + "travelTranslatorInfo": "ترجمه صوتی همزمان و راهنمای جاذبه‌ها", + "beSearching": "در حال جستجو برای:", + "noAssistantFound": "دستیار هوش مصنوعی مورد نظر یافت نشد", + "scene": "سناریوها", + "youHaveSelected": "شما انتخاب کردید:", + "newFunction": "ویژگی‌های جدید", + "youChoseTry": "شما انتخاب کردید که امتحان کنید", + "aiSinger": "حالت خواننده هوش مصنوعی", + "aiSingerInfo": + "هر آهنگی را با صدای هنرمند مورد علاقه خود بخوانید، حتی ساخته‌های خودتان", + "popularFunction": "ویژگی‌های محبوب", + "tryNow": "اکنون امتحان کنید", + + // 商务会议助手页 + "startMeeting": "شروع جلسه", + 'edit': 'ویرایش', + 'delete': 'حذف', + 'noContent': 'بدون محتوا', + 'editMeetingTitle': 'ویرایش عنوان جلسه (اختیاری)', + 'meetingTitle': 'عنوان جلسه (اختیاری)', + 'maxCharacters': 'حداکثر ۵۰ کاراکتر', + 'meeting': 'جلسه', + 'recordingDetails': 'جزئیات ضبط', + 'aiSummary': 'خلاصه هوش مصنوعی', + 'meetingTranscript': 'متن جلسه', + + // Meeting模块 - 导航和基础功能 + 'files': 'فایل‌ها', + 'mine': 'مال من', + 'connect': 'اتصال', + 'allFiles': 'همه فایل‌ها', + 'searchInAllFiles': 'جستجو در همه فایل‌ها', + 'from': 'از', + 'sortBy': 'مرتب‌سازی بر اساس', + 'creationTime': 'زمان ایجاد', + 'bluetoothConnection': 'اتصال بلوتوث', + 'meetingReconnect': 'اتصال مجدد', + 'searching': 'در حال جستجو...', + 'searchFailed': 'جستجو ناموفق بود، لطفاً بررسی کنید بلوتوث فعال باشد', + 'aiPenNotFound': 'دستگاه AI PEN یافت نشد', + 'connectedToAiPen': 'متصل به دستگاه AI PEN', + 'checkingNewFiles': 'در حال بررسی فایل‌های جدید برای وارد کردن', + 'startingWifi': 'در حال راه‌اندازی Wi-Fi...', + 'newFilesDetected': + 'فایل‌های جدید شناسایی شد، در حال آماده‌سازی برای وارد کردن', + 'noNewFiles': 'فایل جدیدی برای وارد کردن وجود ندارد', + 'connectingWifi': 'در حال اتصال به Wi-Fi...', + 'wifiConnected': 'اتصال Wi-Fi موفقیت‌آمیز بود', + 'downloadingFiles': 'در حال دانلود فایل‌ها...', + 'downloadingFileProgress': 'مجموع {total} فایل، در حال دانلود فایل {current}', + 'downloadComplete': 'دانلود کامل شد', + 'downloadCompleteInfo': + 'دانلود کامل شد، مجموعاً {count} فایل، بازگشت خودکار تا ۲ ثانیه دیگر', + + // Meeting模块 - 录音功能 + 'startRecording': 'شروع ضبط', + 'liveRecording': 'ضبط زنده', + 'audioVideoRecording': 'ضبط صوتی/تصویری', + 'callRecording': 'ضبط تماس', + 'importAudio': 'وارد کردن صدا', + 'transcribing': 'در حال تبدیل به متن...', + 'summarizing': 'در حال خلاصه‌سازی...', + 'analyzing': 'در حال تجزیه و تحلیل...', + 'summaryComplete': 'خلاصه‌سازی کامل شد', + 'generate': 'ایجاد', + 'overview': 'نمای کلی', + 'transcription': 'متن', + 'summary': 'خلاصه', + 'mindMap': 'نقشه ذهنی', + 'editSpeaker': 'ویرایش', + 'nameSpeaker': 'نام‌گذاری گوینده', + + // Meeting模块 - 我的页面 + 'transcriptionRecords': 'سوابق متن', + 'templateCommunity': 'انجمن الگوها', + 'comingSoon': 'به زودی', + 'integration': 'یکپارچه‌سازی', + 'voitransPrivateCloud': 'ابر خصوصی VOITRANS', + 'enabled': 'فعال', + 'disabled': 'غیرفعال', + 'myVoitransDevice': 'دستگاه VOITRANS من', + 'helpAndFeedback': 'راهنما و بازخورد', + 'aboutVoitrans': 'درباره VOITRANS', + 'meetingDays': 'روز', + 'meetingHours': 'ساعت', + 'voitransAiMember': 'عضو هوش مصنوعی Voitrans', + 'unlockStarterMember': 'باز کردن عضویت Starter', + 'bindDeviceToActivate': + 'دستگاه Voitrans را برای فعال‌سازی عضویت Starter متصل کنید', + 'unlockNow': 'اکنون باز کنید', + + // Meeting模块 - 会员功能 + 'comparison': 'مقایسه', + 'detailedInfo': 'اطلاعات دقیق', + 'monthlyTranscriptionTime': 'زمان ماهانه تبدیل متن', + 'unlimited': 'نامحدود', + 'professionalTemplates': 'الگوهای حرفه‌ای', + 'limited': 'محدود', + 'fullTemplates': 'الگوهای کامل', + 'professionalTerms': 'اصطلاحات حرفه‌ای', + 'customTemplates': 'الگوهای سفارشی', + 'visualMindMap': 'نقشه ذهنی بصری', + 'speakerIdentification': 'شناسایی گوینده', + 'aiVoiceEnhancement': 'بهبود صدای هوش مصنوعی', + 'audioImport': 'وارد کردن صدا', + 'multipleExportFormats': 'فرمت‌های خروجی متعدد', + 'professionalSummaryTemplates': 'الگوهای خلاصه حرفه‌ای', + 'professionalTemplateDesc': + 'طراحی الگوی حرفه‌ای برای بهبود کارایی شما. سفارشی‌شده بر اساس نیازهای صنعت.', + 'customTemplateDesc': + 'شما می‌توانید اعلان‌های خلاصه را بر اساس نیازهای خود سفارشی کنید و از آن‌ها برای ایجاد خلاصه‌های مورد نیاز استفاده کنید.', + 'askAiDesc': + 'استخراج هوشمند اطلاعات عمیق‌تر از ضبط‌ها، ایجاد جداول داده، نتایج کلیدی بحث، لیست کارها، ایمیل‌های گزارش و سایر محتوای فرمت‌شده با یک کلیک.', + 'visualMindMapDesc': + 'فراتر از خلاصه‌ها - سازماندهی و بصری‌سازی نکات کلیدی با نقشه‌های ذهنی برای درک مؤثرتر متن کامل.', + 'templateCommunityDesc': + 'کشف کنید، به اشتراک بگذارید و از کتابخانه الگوهای ایجاد شده توسط کاربران الهام بگیرید.', + 'speakerIdentificationDesc': + 'تبدیل متن صوتی از شناسایی گوینده پشتیبانی می‌کند، محتوای جلسه یا تماس تلفنی را به طور شهودی‌تر بازیابی می‌کند. در عین حال، خلاصه دقیق‌تر خواهد بود.', + 'privateCloudSyncDesc': + 'ضبط‌ها و متن‌های شما به طور ایمن در سرورهای ابری اختصاصی ذخیره می‌شوند، با رمزگذاری کامل در هنگام آپلود و دانلود برای اطمینان از حریم خصوصی و امنیت.', + 'aiVoiceEnhancementDesc': + 'بهبود صدای هوش مصنوعی از تنظیمات کاهش نویز چندگانه پشتیبانی می‌کند، به طور هوشمند نویز پس‌زمینه را حذف می‌کند، وضوح صدا را افزایش می‌دهد و کیفیت پخش صدا را بهبود می‌بخشد.', + 'audioImportDesc': + 'به راحتی فایل‌های صوتی را از برنامه‌های محلی یا شخص ثالث مانند یادداشت‌های صوتی، Google Drive و غیره وارد کنید.', + 'multipleExportFormatsDesc': + 'ضبط‌های صوتی، متن تبدیل‌شده و خلاصه‌های خود را در فرمت‌های مختلف (TXT، PDF، JPEG) برای رفع نیازهای خود خروجی بگیرید.', + + // Meeting模块 - 升级会员 + 'upgradeMembership': 'عضویت خود را ارتقا دهید', + 'yearlySubscription': 'اشتراک سالانه', + 'monthlySubscription': 'اشتراک ماهانه', + 'proMonthly': 'Pro ¥۶۰/ماه', + 'proMonthlyDesc': + '۷ روز استفاده آزمایشی رایگان، سپس ¥۸۰۰/سال. هر زمان قبل از پایان دوره آزمایشی لغو کنید.', + 'sevenDayTrial': '۷ روز استفاده آزمایشی رایگان', + 'unlimitedMonthly': 'Unlimited ¥۱۲۰/ماه', + 'unlimitedMonthlyDesc': + '۷ روز استفاده آزمایشی رایگان، سپس ¥۱۶۰۰/سال. هر زمان قبل از پایان دوره آزمایشی لغو کنید.', + 'trialNote': + '*استفاده آزمایشی رایگان برای ۷ روز، سپس سالانه شارژ می‌شود، هر زمان لغو کنید.', + 'proPrice': 'Pro ¥۱۲۰', + 'proMonthlyPrice': '¥۱۲۰/ماه', + 'subscribe': 'اشتراک', + 'unlimitedPrice': 'Unlimited ¥۱۹۸', + 'unlimitedMonthlyPrice': '¥۱۹۸/ماه', + 'upgradeNote': + '*پس از ارتقای اشتراک، روزهای باقیمانده اشتراک اصلی به طور خودکار محاسبه و به حساب پرداخت شما بازپرداخت می‌شود', + 'buyMoreTranscriptionTime': 'خرید زمان تبدیل متن بیشتر', + 'sixThousandMinutes': '۶,۰۰۰ دقیقه', + 'threeThousandMinutes': '۳,۰۰۰ دقیقه', + 'sixHundredMinutes': '۶۰۰ دقیقه', + 'oneHundredTwentyMinutes': '۱۲۰ دقیقه', + 'validityPeriod': '*دوره اعتبار: ', + 'validityNote': + 'بلافاصله پس از خرید فعال می‌شود، تا ۲ سال پس از فعال‌سازی معتبر است.', + 'purchase': 'خرید', + + // Meeting模块 - 模版和生成 + 'selectSummaryTemplate': 'انتخاب الگوی خلاصه', + 'useThisTemplate': 'استفاده از این الگو', + 'lastUsed': 'آخرین استفاده‌شده', + 'viewAll': 'مشاهده همه', + 'recordingLanguage': 'زبان ضبط', + 'chineseSimplified': 'چینی ماندارین (ساده‌شده)', + 'meetingGenerateNow': 'اکنون ایجاد کن', + 'keyEventsAnalyzed': '{count} رویداد کلیدی تجزیه و تحلیل شد.', + 'aiAnalysisDesc': + 'تجزیه و تحلیل هوش مصنوعی رویدادهای کلیدی را در ضبط‌ها شناسایی می‌کند، به شما امکان می‌دهد رویدادهای مهم را برای ایجاد توسط هوش مصنوعی انتخاب کنید.', + + // Meeting模块 - 文件操作和状态 + 'importing': 'در حال وارد کردن...', + 'batchImporting': 'در حال وارد کردن دسته‌ای...', + 'importingLocalRecordings': 'در حال وارد کردن ضبط‌های محلی...', + 'importFailed': 'وارد کردن فایل ناموفق بود: {filePath}, خطا: {error}', + 'importSuccess': '{count} ضبط محلی با موفقیت وارد شد', + 'importError': 'وارد کردن ناموفق بود: {error}', + 'pleaseSelectAudioFile': 'لطفاً فایل صوتی را انتخاب کنید', + 'shareAudio': 'اشتراک‌گذاری صدای جلسه', + 'shareComplete': 'اشتراک‌گذاری کامل شد!', + 'shareFailed': 'اشتراک‌گذاری ناموفق بود: {error}', + 'fileProcessingFailed': 'پردازش فایل ناموفق بود: {filePath}, خطا: {error}', + + // 翻译模块 - Meeting相关 + 'meetingUnknownLanguage': 'زبان ناشناخته', + + // 权限相关 - Meeting相关 + 'meetingStoragePermission': 'ذخیره‌سازی', + 'meetingStoragePermissionExplanation': + 'ما به مجوزهای ذخیره‌سازی نیاز داریم تا شما بتوانید فایل‌های صوتی را انتخاب و آپلود کنید.', + 'meetingStoragePermissionPermanentDenial': + 'شناسایی شد که شما مجوز ذخیره‌سازی را برای همیشه رد کرده‌اید. برای ادامه استفاده از این ویژگی، لطفاً به تنظیمات برنامه بروید تا مجوز ذخیره‌سازی را به صورت دستی فعال کنید.', + + // Meeting模块 - 思维导图相关 + 'shareMindMap': 'اشتراک‌گذاری نقشه ذهنی', + 'shareSuccess': 'اشتراک‌گذاری موفقیت‌آمیز بود', + + // Meeting模块 - AI相关 + 'askAI': 'از هوش مصنوعی بپرس...', + 'askAIPrompt': 'امروز چه کمکی می‌توانم به شما بکنم؟', + 'continueAsk': 'ادامه پرسش', + 'todoList': 'لیست کارها', + 'extractConclusion': 'استخراج نتیجه', + 'generateKeyIndicators': 'ایجاد شاخص‌های کلیدی', + + // Meeting模块 - 更多操作相关 + 'reSummarize': 'خلاصه‌سازی مجدد', + + // Meeting模块 - 录音语言相关 + 'recordLanguage': 'زبان ضبط', + 'cantonese': 'کانتونی', + 'sichuan': 'گویش سیچوان', + 'shanghai': 'گویش شانگهایی', + + // Meeting模块 - 分享相关 + 'shareLink': 'اشتراک‌گذاری پیوند', + 'copyTranscript': 'کپی متن', + 'copySummary': 'کپی خلاصه', + 'exportAudio': 'خروجی صدا', + 'exportTranscript': 'خروجی متن', + 'shareMeetingAudio': 'اشتراک‌گذاری صدای جلسه', + 'exportSummary': 'خروجی خلاصه', + 'exportAs': 'خروجی به عنوان', + 'exportingPDF': 'در حال خروجی گرفتن PDF...', + + // Meeting模块 - 发言者相关 + 'nameCurrentSpeaker': 'نام‌گذاری گوینده فعلی', + 'recentlyUsedNames': 'نام‌های اخیراً استفاده‌شده', + 'applyToCurrentParagraph': 'اعمال به پاراگراف فعلی', + 'totalTime': 'زمان کل', + 'summarySpeakerWillBeUpdatedAutomatically': + 'گویندگان خلاصه به طور خودکار به‌روزرسانی خواهند شد', + + // Meeting模块 - 云端同步相关 + 'syncToCloud': 'همگام‌سازی با ابر', + 'syncToCloudTip': + 'ضبط‌های خود را به طور خودکار با ابر همگام‌سازی کنید، می‌توانید از طریق هر برنامه VOITRANS یا وب VOITRANS (web.voitrans.com) ضبط‌ها را پخش، مدیریت و به اشتراک بگذارید.', + 'syncToVoitransApp': 'همگام‌سازی برنامه VOITRANS', + 'transcriptionRecord': 'سوابق متن', + + // Meeting模块 - 总结页面相关 + 'dateAndTime': 'تاریخ و زمان', + 'location': 'مکان', + 'attendees': 'شرکت‌کنندگان', + 'inputLocation': 'ورود مکان', + 'inputAttendees': 'ورود شرکت‌کنندگان', + + // 设置页 + "systemSettings": "تنظیمات سیستم", + "premiumMember": "عضویت ویژه", + "joinDevice": "دستگاه متصل:", + "accountId": "شناسه حساب:", + "systemSetting": "تنظیمات سیستم", + "languageSetting": "تنظیمات زبان", + "darkMode": "حالت تاریک", + "darkModeInfo": "تغییر بین پوسته‌های روشن/تاریک", + "backups": "پشتیبان‌گیری و بازیابی", + "backupsInfo": "پشتیبان‌گیری از تنظیمات و تاریخچه هوش مصنوعی", + "lastBackup": "آخرین پشتیبان‌گیری:", + "privacySettings": "تنظیمات حریم خصوصی", + "privacySettingsInfo": "مدیریت جمع‌آوری داده‌ها و مجوزها", + "permissionManagement": "مدیریت مجوزها", + "permissionManagementInfo": "مدیریت تنظیمات مجوزهای برنامه", + "aboutApplication": "درباره", + "versions": "نسخه", + "checkUpdates": "بررسی به‌روزرسانی‌ها", + "selectLanguage": "انتخاب زبان", + "voiceService": "سرویس صوتی", + "voiceServiceInfo": "انتخاب سرویس تشخیص و تولید گفتار", + "selectVoiceService": "انتخاب سرویس صوتی", + "azureVoiceService": "سرویس گفتار Azure", + "azureVoiceServiceInfo": + "سرویس مبتنی بر ابر مایکروسافت که از تولید و تشخیص گفتار با کیفیت بالا پشتیبانی می‌کند", + "flutterVoiceService": "سرویس صوتی محلی", + "flutterVoiceServiceInfo": "سرویس صوتی محلی دستگاه بدون نیاز به اینترنت", + 'timbreService': 'سرویس طنین صدا', + 'timbreServiceInfo': 'انتخاب سرویس تولید گفتار', + 'defaultTimbre': 'طنین پیش‌فرض', + 'microsoftCloudTimbreService': 'سرویس طنین ابری مایکروسافت', + 'voiceClone': 'شبیه‌سازی صدا', + 'AIsettings': 'تنظیمات هوش مصنوعی', + 'selecttimbre': 'انتخاب طنین', + 'pleaseRead': 'لطفاً بخوانید', + 'completeRecording': 'تکمیل ضبط', + "firmwareUpgrade": "ارتقاء سفت‌افزار", + "bleHeadsetFirmwareUpgrade": "ارتقاء سفت‌افزار هدست BLE", + "deviceManagement": "مدیریت دستگاه", + "manageConnectedDevices": "مدیریت دستگاه‌های بلوتوث متصل", + + //设置setting_controller + // 版本更新相关 + 'currentLatestVersion': 'نسخه فعلی در حال حاضر آخرین نسخه {version} است', + 'checkUpdateFailed': 'بررسی به‌روزرسانی ناموفق بود', + 'networkErrorRetry': 'خطای شبکه، لطفاً بعداً دوباره تلاش کنید', + + // 设置页面 - 实时语音对话 + 'realtimeVoiceChat': 'چت صوتی همزمان', + 'realtimeVoiceChatInfo': 'تجربه ویژگی‌های تعامل صوتی هوشمند (پیش‌نمایش)', + 'loading': 'در حال بارگیری...', + + //设备管理页面 + "deviceTypeUnknown": "دستگاه ناشناخته", + "deviceTypeClassicBluetoothHeadset": "هدست بلوتوث کلاسیک", + "deviceTypeBleBluetoothHeadset": "هدست بلوتوث BLE", + "deviceTypeSmartVoiceRecorder": "ضبط‌کننده صدای هوشمند", + "deviceTypeSmartEye": "عینک هوشمند", + "unbind": "لغو اتصال", + "noDevicesBound": "هنوز دستگاهی متصل نشده است", + "pleaseBindDeviceFirst": "لطفاً ابتدا دستگاهی را برای مدیریت متصل کنید", + "noMacAddress": "بدون آدرس MAC", + "licenseCode": "کد مجوز", + "confirmUnbind": "تأیید لغو اتصال", + "confirmUnbindMessage": + "آیا مطمئن هستید که می‌خواهید اتصال دستگاه «{deviceName}» را لغو کنید؟", + "confirmUnbindAction": "تأیید لغو اتصال", + + // Agent模块 + //Agent View + "XiaoYan": "شیائویان", + "clearChatHistory": "پاک کردن تاریخچه چت", + "online": "آنلاین", + "inputMessage": "پیامی تایپ کنید...", + "imListening": "در حال شنیدن...", + "canStartTalking": "می‌توانید شروع به صحبت کنید", + "addQuestionAboutImage": "سوالات یا توضیحاتی درباره تصویر اضافه کنید...", + "summarizeImageContent": "خلاصه کردن محتوای تصویر", + "extractImageText": "استخراج متن تصویر", + "translateImageText": "ترجمه متن تصویر", + "recording": "در حال ضبط...", + "holdToSpeak": "برای صحبت کردن نگه دارید", + "takePhoto": "گرفتن عکس", + "photoAlbum": "آلبوم عکس", + "makeCall": "برقراری تماس", + "aiVoiceCall": "تماس صوتی هوش مصنوعی", + "inCall": "در حال تماس...", + "aiReplying": "هوش مصنوعی در حال پاسخ دادن است...", + "waitingToStart": "در انتظار شروع...", + "clickToStartCall": "برای شروع تماس کلیک کنید", + "listeningToYou": "به شما گوش می‌دهم...", + "processing": "در حال پردازش...", + "loadMoreMessages": "بارگیری پیام‌های بیشتر...", + "loadFailedClickRetry": "بارگیری ناموفق بود، برای تلاش مجدد کلیک کنید", + "swipeUpForMore": "برای مشاهده بیشتر به بالا بکشید", + "callingTool": "در حال کمک به شما هستم، لطفاً صبر کنید!", + + // 预设提示词 + "presetMusic": "پخش موسیقی", + "presetNavigation": "مسیریابی به", + "presetWeather": "آب و هوای امروز", + "presetNews": "اخبار امروز", + "presetFood": "غذای نزدیک", + "playSomeMusic": "پخش چند موسیقی محبوب", + "navigationTo": "لطفاً به من در مسیریابی به", + "todayWeather": "امروز هوا چطور است؟", + "todayNews": "اخبار امروز چیست؟", + "nearbyFood": "چه غذاهای خوشمزه‌ای در این نزدیکی هست؟", + + // Agent controller + 'welcomeMessage': 'سلام! من **شیائویان** هستم، می‌توانم به شما کمک کنم:\n\n' + '• پاسخ به سوالات و ارائه اطلاعات\n\n' + '• ترجمه صوتی همزمان\n\n' + '• توصیه موسیقی و پادکست\n\n' + '• یادداشت‌های صوتی و یادآوری‌ها\n\n' + '• کنترل عملکردهای هدست\n\n' + 'چه کمکی می‌توانم به شما بکنم؟', + 'microphonePermission': 'میکروفون', + 'voiceRecognitionPermissionText': 'تشخیص صدا به دسترسی میکروفون نیاز دارد.', + 'voiceTranslationPermissionText': + 'تشخیص و ترجمه صدا به دسترسی میکروفون نیاز دارد.', + 'phoneCallPermissionText': + 'عملکرد تماس تلفنی برای تماس‌های صوتی به دسترسی میکروفون نیاز دارد.', + 'permissionDeniedText': + 'شما مجوز میکروفون را برای همیشه رد کرده‌اید، لطفاً برای فعال کردن آن به تنظیمات سیستم بروید.', + 'startVoiceInput': 'شروع ورودی صوتی', + 'startPhoneCallMode': 'شروع حالت تماس تلفنی، شروع ورودی صوتی', + + //Agent 全屏编辑器 + 'fullScreenEditorHint': 'پیام خود را اینجا تایپ کنید...', + 'characterCount': '{count} کاراکتر', + + // 消息长按操作 + 'copy': 'کپی', + 'copySuccess': 'کپی موفقیت‌آمیز بود', + 'report': 'گزارش', + 'submitSuccess': 'ارسال موفقیت‌آمیز بود', + 'submitFailed': 'ارسال ناموفق بود', + 'reportSubmitted': 'گزارش ارسال شد، در اسرع وقت آن را پردازش خواهیم کرد', + 'harmfulUnsafe': 'مضر/ناامن', + 'pornographicVulgar': 'مستهجن/ مبتذل', + 'misleadingAttack': 'گمراه‌کننده/تهاجمی', + 'illegalCriminal': 'غیرقانونی/مجرمانه', + 'privacyRelated': 'مرتبط با حریم خصوصی', + 'copyrightViolation': 'نقض حق کپی‌رایت، حقوق شهرت و غیره من.', + 'other': 'دیگر', + 'reportDescriptionHint': + 'ما می‌خواهیم دلیل گزارش شما را بدانیم، می‌توانید مشکلی را که با آن مواجه شدید توصیف کنید.', + + //Message_bubble + 'generatedByAi': 'تولید شده توسط هوش مصنوعی', + + //music_card + 'recommendedMusic': 'در اینجا چند موسیقی توصیه‌شده وجود دارد:', + 'playList': 'لیست پخش', + 'moreMusic': 'موسیقی بیشتر', + + //导航卡片 navigation_card + 'kilometers': ' کیلومتر', + 'meters': ' متر', + 'hours': ' ساعت', + 'minutes': ' دقیقه', + 'seconds': ' ثانیه', + 'navigating': 'در حال مسیریابی', + 'currentLocation': 'موقعیت فعلی', + 'approximate': 'حدود ', + 'enterRoad': ' وارد ', + "driving": "رانندگی", + "walking": "پیاده‌روی", + "bicycling": "دوچرخه‌سواری", + "tsransit": "حمل و نقل عمومی", + + //天气卡片 weather_card + 'weatherQuery': 'استعلام آب و هوا:', + 'highest': 'حداکثر', + 'lowest': 'حداقل', + 'futureForecast': 'پیش‌بینی آینده', + 'hotWeatherTip': + 'امروز هوا گرم است، لطفاً به پیشگیری از گرما و خنک شدن توجه کنید، برای جلوگیری از گرمازدگی آب بیشتری بنوشید', + 'coldWeatherTip': + 'امروز دما پایین است، لطفاً هنگام بیرون رفتن گرم بپوشید و مراقب سرماخوردگی باشید', + 'rainyWeatherTip': + 'امروز بارانی است، لطفاً هنگام بیرون رفتن چتر همراه داشته باشید و به ایمنی سفر توجه کنید', + 'snowyWeatherTip': + 'امروز برفی است، جاده‌ها لغزنده هستند، لطفاً به ایمنی توجه کنید و گرم بپوشید', + 'foggyWeatherTip': + 'امروز مه و غبارآلود است، دید کم است، لطفاً هنگام بیرون رفتن ماسک بزنید', + 'windyWeatherTip': + 'امروز باد شدید است، لطفاً هنگام بیرون رفتن به ایمنی توجه کنید و وسایل را محکم کنید', + 'sunnyWeatherTip': + 'امروز آفتابی با اشعه ماوراء بنفش قوی است، لطفاً هنگام بیرون رفتن از خود در برابر آفتاب محافظت کنید', + 'temperatureDifferenceTip': + 'امروز اختلاف دمای شب و روز زیاد است، لطفاً لباس خود را متناسب با آن تنظیم کنید', + 'comfortableWeatherTip': + 'امروز هوا دلپذیر است، عالی برای فعالیت‌های بیرون از خانه', + "monday": "دوشنبه", + "tuesday": "سه‌شنبه", + "wednesday": "چهارشنبه", + "thursday": "پنج‌شنبه", + "friday": "جمعه", + "saturday": "شنبه", + "sunday": "یکشنبه", + // 天气描述 + "sunny": "آفتابی", + "partlyCloudy": "کمی ابری", + "partlySunny": "نیمه آفتابی", + "cloudy": "ابری", + "overcast": "تمام ابری", + "shower": "رگبار", + "thundershower": "رگبار همراه با رعد و برق", + "lightRain": "باران خفیف", + "moderateRain": "باران متوسط", + "heavyRain": "باران شدید", + "rainstorm": "باران سیل‌آسا", + "snowShower": "رگبار برف", + "lightSnow": "برف خفیف", + "moderateSnow": "برف متوسط", + "heavySnow": "برف سنگین", + "blizzard": "کولاک", + "fog": "مه", + "haze": "غبار", + "strongWind": "باد شدید", + + // 编辑个人信息页 + "editProfile": "ویرایش پروفایل", + "avatar": "آواتار", + "nickname": "نام مستعار", + "save": "ذخیره", + "about": "درباره", + "enterNickname": "لطفاً نام مستعار خود را وارد کنید", + "notSet": "تنظیم نشده", + "accountSetting": "تنظیمات حساب", + "logout": "خروج از حساب", + "logoutTips": "آیا مطمئن هستید که می‌خواهید از حساب فعلی خارج شوید؟", + 'deleteAccount': 'حذف حساب', + 'deleteAccountTips': + 'آیا مطمئن هستید که می‌خواهید حساب خود را برای همیشه حذف کنید؟ این عمل قابل بازگشت نیست.', + 'clean': 'پاک کردن حافظه پنهان', + 'cleanTips': 'آیا مطمئن هستید که می‌خواهید حافظه پنهان شخصی را پاک کنید؟', + + //Profile 错误信息 + 'networkConnectionFailed': + 'اتصال شبکه ناموفق بود، لطفاً تنظیمات شبکه را بررسی کرده و دوباره تلاش کنید', + 'serverTemporarilyUnavailable': + 'سرور به طور موقت در دسترس نیست، لطفاً بعداً دوباره تلاش کنید', + 'loginExpiredPleaseRelogin': 'ورود منقضی شده است، لطفاً دوباره وارد شوید', + 'noPermissionForThisOperation': 'مجوز انجام این عملیات وجود ندارد', + 'requestedResourceNotFound': 'منبع درخواستی یافت نشد', + 'imageProcessingFailedPleaseReselect': + 'پردازش تصویر ناموفق بود، لطفاً تصویر را دوباره انتخاب کنید', + 'operationFailedPleaseRetry': 'عملیات ناموفق بود، لطفاً دوباره تلاش کنید', + 'serverReturnedError': 'سرور خطا بازگرداند', + 'serverError': 'خطای سرور', + 'networkConnectionFailedCheckSettings': + 'اتصال شبکه ناموفق بود، لطفاً تنظیمات شبکه را بررسی کنید', + 'serverInternalErrorRetryLater': + 'خطای داخلی سرور، لطفاً بعداً دوباره تلاش کنید', + + //Profile 用户交互 + 'imageCompressionFailed': 'فشرده‌سازی تصویر ناموفق بود', + 'avatarUpdateFailed': 'به‌روزرسانی آواتار ناموفق بود', + 'usernameCannotBeEmpty': 'نام کاربری نمی‌تواند خالی باشد', + 'saveSuccess': 'ذخیره موفقیت‌آمیز بود', + 'personalInfoUpdated': 'اطلاعات شخصی به‌روزرسانی شد', + 'saveFailed': 'ذخیره ناموفق بود', + 'loggedOut': 'از حساب خارج شدید', + 'logoutFailedRetry': 'خروج از حساب ناموفق بود، لطفاً دوباره تلاش کنید', + 'accountPermanentlyDeleted': 'حساب برای همیشه حذف شد', + 'deleteAccountFailedRetry': 'حذف حساب ناموفق بود، لطفاً دوباره تلاش کنید', + + // 账号服务相关 + 'clearUserDataFailed': 'پاک کردن داده‌های کاربر ناموفق بود', + 'deleteUserDataFailed': 'حذف داده‌های کاربر ناموفق بود', + 'thirdPartyLogoutSuccess': 'خروج از حساب شخص ثالث موفقیت‌آمیز بود', + 'thirdPartyLogoutFailed': 'خروج از حساب شخص ثالث ناموفق بود', + 'signOutProcessError': 'خطا در طول فرآیند خروج از حساب رخ داد', + 'deleteAccountProcessError': 'خطا در طول فرآیند حذف حساب رخ داد', + 'userDataClearSuccess': 'داده‌های کاربر با موفقیت پاک شد', + 'allUserDataClearSuccess': 'تمام داده‌های کاربر با موفقیت پاک شد', + 'accountServiceInitialized': 'AccountService آماده‌سازی شد', + + // 权限管理页面 + 'getPermissionStatusFailed': 'دریافت وضعیت مجوز ناموفق بود', + 'communicationPermissions': 'مجوزهای ارتباطی', + 'bluetoothPermissions': 'مجوزهای بلوتوث', + 'notificationPermissions': 'مجوزهای اعلان', + 'storagePermissions': 'مجوزهای ذخیره‌سازی', + 'microphonePermissions': 'مجوزهای میکروفون', + 'alarmPermissions': 'مجوزهای زنگ هشدار', + 'calendarPermissions': 'مجوزهای تقویم', + 'locationPermissions': 'مجوزهای موقعیت مکانی', + 'phone': 'تلفن', + 'sms': 'پیامک', + 'contacts': 'مخاطبین', + 'notification': 'اعلان', + 'alarm': 'زنگ هشدار', + 'calendarWrite': 'نوشتن در تقویم', + 'calendarFullAccess': 'دسترسی کامل به تقویم', + 'locationInfo': 'اطلاعات موقعیت مکانی', + 'phonePermissionDesc': 'برای عملکرد تماس تلفنی استفاده می‌شود', + 'smsPermissionDesc': 'برای عملکرد پیامک استفاده می‌شود', + 'alarmPermissionDesc': + 'برای تنظیم زنگ‌های هشدار دقیق استفاده می‌شود تا اطمینان حاصل شود یادآوری‌ها به موقع فعال می‌شوند', + 'calendarWritePermissionDesc': + 'برای ایجاد رویدادها و یادآوری‌های تقویم استفاده می‌شود', + 'calendarFullAccessPermissionDesc': + 'برای خواندن و مدیریت رویدادها و یادآوری‌های تقویم استفاده می‌شود', + 'locationPermissionDesc': + 'برای دریافت اطلاعات موقعیت مکانی فعلی استفاده می‌شود', + 'appFunctionNeeds': 'عملکرد برنامه نیاز دارد', + 'authorized': 'مجاز', + 'unauthorized': 'غیرمجاز', + 'needOpenInSystemSettings': 'نیاز به فعال‌سازی در تنظیمات سیستم', + 'partialAuthorization': 'مجوز جزئی', + 'unknownStatus': 'وضعیت ناشناخته', + 'permissionGranted': 'مجوز داده شد', + 'permissionRequestError': 'خطا در درخواست مجوز', + 'phonePermissionDetailDesc': 'عملکرد تماس تلفنی به مجوز تلفن نیاز دارد', + 'smsPermissionDetailDesc': 'عملکرد پیامک به مجوز پیامک نیاز دارد', + 'alarmPermissionDetailDesc': + 'این مجوز برای تنظیم زنگ‌های هشدار دقیق و اطمینان از فعال شدن یادآوری‌ها به موقع مورد نیاز است', + 'contactsPermissionDesc': 'برای دسترسی به اطلاعات مخاطبین استفاده می‌شود', + 'contactsPermissionDetailDesc': + 'عملکرد تماس تلفنی و پیامک برای انتخاب مخاطبین به مجوز مخاطبین نیاز دارد', + 'bluetoothPermissionDesc': + 'برای اتصال و مدیریت دستگاه‌های بلوتوث استفاده می‌شود', + 'bluetoothPermissionDetailDesc': + 'اتصال به هدفون‌های بلوتوث و سایر دستگاه‌ها به مجوز بلوتوث نیاز دارد', + 'bluetoothScanPermissionDesc': + 'برای اسکن دستگاه‌های بلوتوث اطراف استفاده می‌شود', + 'bluetoothScanPermissionDetailDesc': + 'اسکن دستگاه‌های بلوتوث اطراف به مجوز اسکن بلوتوث نیاز دارد', + 'bluetoothConnectPermissionDesc': + 'برای اتصال به دستگاه‌های بلوتوث استفاده می‌شود', + 'bluetoothConnectPermissionDetailDesc': + 'اتصال به دستگاه‌های بلوتوث به مجوز اتصال بلوتوث نیاز دارد', + 'notificationPermissionDesc': 'برای ارسال پیام‌های اعلان استفاده می‌شود', + 'notificationPermissionDetailDesc': + 'برنامه برای ارسال هشدارها و پیام‌های مهم به شما به مجوز اعلان نیاز دارد', + 'calendarWritePermissionDetailDesc': + 'ایجاد رویدادهای تقویم به مجوز نوشتن در تقویم نیاز دارد', + 'calendarFullAccessPermissionDetailDesc': + 'مدیریت رویدادهای تقویم به مجوز دسترسی کامل به تقویم نیاز دارد', + 'locationPermissionDetailDesc': + 'دریافت اطلاعات موقعیت مکانی به مجوز موقعیت مکانی نیاز دارد', + 'appNeedsPermissionForFullFunction': + 'برنامه برای ارائه عملکرد کامل به این مجوز نیاز دارد', + 'permanentDenialText': + 'شما مجوز {permission} را برای همیشه رد کرده‌اید، لطفاً برای فعال کردن آن به تنظیمات برنامه بروید', + 'goToSettings': 'رفتن به تنظیمات', + + // 权限申请 + 'bluetoothScan': 'اسکن بلوتوث', + 'bluetoothConnect': 'اتصال بلوتوث', + 'bluetoothScanExplanation': + 'برنامه برای اسکن دستگاه‌های بلوتوث اطراف به مجوز اسکن بلوتوث نیاز دارد.', + 'bluetoothConnectExplanation': + 'برنامه برای اتصال به دستگاه‌های بلوتوث به مجوز اتصال بلوتوث نیاز دارد.', + 'locationForBluetoothExplanation': + 'برنامه برای اسکن دستگاه‌های بلوتوث به مجوز موقعیت مکانی نیاز دارد.', + 'bluetoothScanPermanentDenial': + 'مجوز اسکن بلوتوث برای همیشه رد شده است، لطفاً برای فعال کردن آن به صورت دستی به تنظیمات بروید.', + 'bluetoothConnectPermanentDenial': + 'مجوز اتصال بلوتوث برای همیشه رد شده است، لطفاً برای فعال کردن آن به صورت دستی به تنظیمات بروید.', + 'notificationPermission': 'اعلان', + 'locationPermission': 'موقعیت مکانی', + 'notificationPermissionExplanation': + 'مجوز اعلان برای نمایش وضعیت پخش موسیقی مورد نیاز است.', + 'locationPermissionExplanation': + 'مجوز موقعیت مکانی برای دریافت موقعیت مکانی فعلی مورد نیاز است.', + 'notificationPermissionPermanentDenial': + 'شما مجوز اعلان را برای همیشه رد کرده‌اید، لطفاً برای فعال کردن آن به تنظیمات بروید.', + 'locationPermissionPermanentDenial': + 'شما مجوز موقعیت مکانی را برای همیشه رد کرده‌اید، لطفاً برای فعال کردن آن به تنظیمات بروید.', + 'storagePermission': 'ذخیره‌سازی', + 'microphonePermissionExplanation': + 'ما برای ضبط محتوای صوتی به مجوز میکروفون نیاز داریم.', + 'storagePermissionExplanation': + 'ما به مجوز ذخیره‌سازی نیاز داریم تا شما بتوانید فایل‌های صوتی را انتخاب و آپلود کنید.', + 'microphonePermissionPermanentDenial': + 'مجوز میکروفون برای همیشه رد شده است. برای ادامه استفاده از این ویژگی، لطفاً به تنظیمات برنامه بروید تا مجوز میکروفون را به صورت دستی فعال کنید.', + 'storagePermissionPermanentDenial': + 'مجوز ذخیره‌سازی برای همیشه رد شده است. برای ادامه استفاده از این ویژگی، لطفاً به تنظیمات برنامه بروید تا مجوز ذخیره‌سازی را به صورت دستی فعال کنید.', + + //permission_util.dart + 'permissionUtilNeed': 'نیاز به مجوز ', + 'permissionUtilPermission': ' ', + 'permissionUtilRestricted': ' مجوز محدود شده است', + 'permissionUtilRestrictedMessage': + 'این ویژگی در دستگاه فعلی در دسترس نیست یا محدود شده است، لطفاً تنظیمات دستگاه یا محدودیت‌های سیستم را بررسی کنید', + 'permissionUtilConfirm': 'تأیید', + + // 版本更新对话框 + 'newVersionFound': 'نسخه جدید یافت شد', + 'remindLater': 'بعداً یادآوری کن', + 'updateNow': 'اکنون به‌روزرسانی کن', + 'checkUpdate': 'بررسی به‌روزرسانی', + 'updateFailed': 'به‌روزرسانی ناموفق بود', + 'cannotOpenAppStore': + 'نمی‌توان فروشگاه برنامه را باز کرد، لطفاً به صورت دستی به‌روزرسانی کنید', + 'updateErrorRetry': + 'خطا در طول به‌روزرسانی رخ داد، لطفاً بعداً دوباره تلاش کنید', + + // 国家列表 + "邮箱": "ایمیل", + "中国": "چین", + "美国": "ایالات متحده", + "加拿大": "کانادا", + "俄罗斯": "روسیه", + "英国": "بریتانیا", + "德国": "آلمان", + "意大利": "ایتالیا", + "法国": "فرانسه", + "西班牙": "اسپانیا", + "南非": "آفریقای جنوبی", + "沙特阿拉伯": "عربستان سعودی", + "土耳其": "ترکیه", + "日本": "ژاپن", + "韩国": "کره جنوبی", + "新加坡": "سنگاپور", + "马来西亚": "مالزی", + "泰国": "تایلند", + "越南": "ویتنام", + "印度": "هند", + "巴基斯坦": "پاکستان", + "菲律宾": "فیلیپین", + "印度尼西亚": "اندونزی", + "阿联酋": "امارات متحده عربی", + "墨西哥": "مکزیک", + "巴西": "برزیل", + "阿根廷": "آرژانتین", + "澳大利亚": "استرالیا", + "新西兰": "نیوزیلند", + "中国香港": "هنگ کنگ، چین", + "中国澳门": "ماکائو، چین", + "中国台湾": "تایوان، چین", + "埃及": "مصر", + "希腊": "یونان", + "荷兰": "هلند", + "比利时": "بلژیک", + "匈牙利": "مجارستان", + "罗马尼亚": "رومانی", + "瑞士": "سوئیس", + "奥地利": "اتریش", + "丹麦": "دانمارک", + "瑞典": "سوئد", + "挪威": "نروژ", + "波兰": "لهستان", + "秘鲁": "پرو", + "智利": "شیلی", + "哥伦比亚": "کلمبیا", + "委内瑞拉": "ونزوئلا", + "葡萄牙": "پرتغال", + "卢森堡": "لوکزامبورگ", + "爱尔兰": "ایرلند", + "冰岛": "ایسلند", + "阿尔巴尼亚": "آلبانی", + "马耳他": "مالت", + "塞浦路斯": "قبرس", + "芬兰": "فنلاند", + "保加利亚": "بلغارستان", + "立陶宛": "لیتوانی", + "拉脱维亚": "لتونی", + "爱沙尼亚": "استونی", + "乌克兰": "اوکراین", + "塞尔维亚": "صربستان", + "克罗地亚": "کرواسی", + "斯洛文尼亚": "اسلوونی", + "捷克": "جمهوری چک", + "斯洛伐克": "اسلواکی", + "危地马拉": "گواتمالا", + "萨尔瓦多": "السالوادور", + "洪都拉斯": "هندوراس", + "尼加拉瓜": "نیکاراگوئه", + "哥斯达黎加": "کاستاریکا", + "巴拿马": "پاناما", + "海地": "هائیتی", + "玻利维亚": "بولیوی", + "厄瓜多尔": "اکوادور", + "巴拉圭": "پاراگوئه", + "乌拉圭": "اروگوئه", + "摩洛哥": "مراکش", + "阿尔及利亚": "الجزایر", + "突尼斯": "تونس", + "尼日利亚": "نیجریه", + "加纳": "غنا", + "埃塞俄比亚": "اتیوپی", + "肯尼亚": "کنیا", + "坦桑尼亚": "تانزانیا", + "乌干达": "اوگاندا", + "孟加拉国": "بنگلادش", + "以色列": "اسرائیل", + "黎巴嫩": "لبنان", + "约旦": "اردن", + "伊拉克": "عراق", + "科威特": "کویت", + "巴林": "بحرین", + "卡塔尔": "قطر", + "阿曼": "عمان", + "阿富汗": "افغانستان", + "斯里兰卡": "سریلانکا", + "缅甸": "میانمار", + "尼泊尔": "نپال", + "蒙古": "مغولستان", + "柬埔寨": "کامبوج", + "老挝": "لائوس", + "文莱": "برونئی", + "东帝汶": "تیمور شرقی", + "斐济": "فیجی", + "所罗门群岛": "جزایر سلیمان", + "刚果民主共和国": "جمهوری دموکراتیک کنگو", + "安哥拉": "آنگولا", + "苏丹": "سودان", + "马尔代夫": "مالدیو", + "不丹": "بوتان", + "摩纳哥": "موناکو", + "圣马力诺": "سان مارینو", + "牙买加": "جامائیکا", + "巴哈马": "باهاما", + "巴布亚新几内亚": "پاپوآ گینه نو", + "萨摩亚": "ساموآ", + + // 翻译模块 + // 翻译中间层 (translation_middleware_view.dart) + "pictureTranslation": "ترجمه تصویر", + "textTranslation": "ترجمه متن", + + // 翻译主页 + "translationHistory": "تاریخچه ترجمه", + "enableRecording": "فعال کردن ضبط", + "viewAudioFiles": "مشاهده فایل‌های صوتی", + "headsetUser": "کاربر هدست", + "phoneUser": "کاربر تلفن", + "selectSourceLanguage": "انتخاب زبان مبدأ", + "selectTargetLanguage": "انتخاب زبان مقصد", + "me": "من", + "counterPart": "طرف مقابل", + + // 通用对话按钮与选项(用于统一语言选择弹窗等) + "autoDetect": "تشخیص خودکار", + + // 翻译历史页 + "noTranslationHistory": "تاریخچه ترجمه وجود ندارد", + "clearHistory": "پاک کردن تاریخچه", + "clearHistoryConfirm": + "آیا مطمئن هستید که می‌خواهید تمام تاریخچه ترجمه را پاک کنید؟ این عمل قابل بازگشت نیست.", + "unknownLanguage": "زبان ناشناخته", + "deleteSessionRecord": "حذف سابقه جلسه", + "deleteSessionConfirm": + "آیا مطمئن هستید که می‌خواهید تمام سوابق ترجمه این جلسه را حذف کنید؟ این عمل قابل بازگشت نیست.", + + // 翻译音频文件列表页 + "translateAudioFiles": "ترجمه فایل‌های صوتی", + "noAudioFiles": "فایل صوتی وجود ندارد", + "calculating": "در حال محاسبه...", + "playing": "در حال پخش...", + "paused": "متوقف شد", + "clickToPlay": "برای پخش کلیک کنید", + "rename": "تغییر نام", + "smartTranscription": "تبدیل متن هوشمند", + "renameAudioFile": "تغییر نام فایل صوتی", + "enterNewFileName": "لطفاً نام فایل جدید را وارد کنید", + + // 翻译详情页(translation_detail_view.dart) + "originalRecord": "سابقه اصلی", + "recordSummary": "خلاصه سابقه", + "clickToGenerateSummary": "برای ایجاد خلاصه جلسه، روی دکمه زیر کلیک کنید", + "summaryContent": "محتوای خلاصه", + "copied": "کپی شد", + "summaryCopiledToClipboard": "خلاصه در کلیپ‌بورد کپی شد", + "extractSummary": "استخراج خلاصه", + "summaryGenerated": "خلاصه ایجاد شد", + "generating": "در حال ایجاد...", + "regenerate": "ایجاد مجدد", + "summaryTimeoutMessage": + "درخواست ایجاد خلاصه به پایان رسید، احتمالاً به دلیل مشکلات شبکه یا مشغولی سرور.", + "deleteTranslationRecord": "حذف سابقه ترجمه", + "deleteTranslationConfirm": + "آیا مطمئن هستید که می‌خواهید این سابقه ترجمه را حذف کنید؟ این عمل قابل بازگشت نیست.", + "originalText": "متن اصلی", + "translatedText": "متن ترجمه‌شده", + "sessionSummary": "خلاصه جلسه", + "cannotShare": "نمی‌توان اشتراک‌گذاری کرد", + "generateSummaryFirst": "لطفاً ابتدا خلاصه را ایجاد کنید", + "translationSessionRecord": "سابقه جلسه ترجمه", + + // 配对模块 + // 配对页面 + "devicePairing": "جفت‌سازی دستگاه", + "connectYourDeepSoundHeadset": "هدست Voitrans خود را متصل کنید", + "bind": "اتصال", + "authorizeBind": "مجوز اتصال", + "enterCode": "لطفاً کد را وارد کنید", + "autoInputCode": "ورود خودکار کد", + "skipBinding": "رد کردن اتصال", + "rescan": "اسکن مجدد", + "skip": "رد کردن", + "verifyingDevice": "در حال تأیید دستگاه...", + "confirmBinding": "تأیید اتصال", + "associatingDevice": "در حال مرتبط‌سازی دستگاه...", + "goToBluetoothSettings": "رفتن به تنظیمات بلوتوث", + 'bluetooth': 'بلوتوث', + + // 配对状态文本 + "readyToPair": "آماده برای جفت‌سازی", + "preparingPairingEnvironment": "در حال آماده‌سازی محیط جفت‌سازی...", + "connectDeepSoundViaSystemBluetooth": + "لطفاً ابتدا دستگاه DeepSound را از طریق بلوتوث سیستم متصل کنید", + "deviceBindingConfirm": "تأیید اتصال دستگاه...", + "establishingDeviceAssociation": "در حال برقراری ارتباط دستگاه...", + "waitingCompletePairing": "لطفاً صبر کنید، در حال تکمیل جفت‌سازی...", + "pairingSuccessRedirecting": + "جفت‌سازی موفقیت‌آمیز بود! در حال هدایت به صفحه اصلی...", + + // 配对错误状态文本 + "ensureConnectedDeepSoundDevice": + "لطفاً اطمینان حاصل کنید که دستگاه متصل DeepSound است", + "deviceAlreadyBoundToOtherAccount": + "این دستگاه قبلاً به حساب دیگری متصل شده است", + "deviceAssociationFailed": "ارتباط دستگاه ناموفق بود، لطفاً دوباره تلاش کنید", + "scanTimeoutEnsureDeviceNearby": + "پایان مهلت اسکن، لطفاً اطمینان حاصل کنید که دستگاه در نزدیکی است", + "networkError": "خطای شبکه", + "authorizationFailedCheckCode": + "مجوز ناموفق بود، لطفاً کد مجوز را بررسی کنید", + "pairingFailedRetry": "جفت‌سازی ناموفق بود، لطفاً دوباره تلاش کنید", + + //配对控制器相关 + 'pleaseEnableBluetooth': 'لطفاً بلوتوث را فعال کنید', + 'deviceDisconnected': 'دستگاه قطع شد', + 'readyToStartPairing': 'آماده برای شروع جفت‌سازی', + 'checkingEnvironment': 'در حال بررسی محیط...', + 'ensureHeadsetOnAndPairingMode': + 'لطفاً اطمینان حاصل کنید که هدست روشن و در حالت جفت‌سازی است', + 'establishingSecureConnection': 'در حال برقراری اتصال امن...', + 'needManualBindingAuthCode': 'کد مجوز اتصال دستی مورد نیاز است...', + 'pairingSuccessful': 'جفت‌سازی موفقیت‌آمیز بود!', + 'enableBluetooth': 'فعال کردن بلوتوث', + 'grantPermissions': 'اعطای مجوزها', + 'retryAssociation': 'تلاش مجدد برای ارتباط', + 'retryAuthorization': 'تلاش مجدد برای مجوز', + 'pleaseGrantNecessaryPermissions': 'لطفاً مجوزهای لازم را اعطا کنید', + 'checkFailedRetry': 'بررسی ناموفق بود، لطفاً دوباره تلاش کنید', + 'pleaseConnectDeepSoundDevice': 'لطفاً دستگاه DeepSound را متصل کنید', + 'verificationFailedRetry': 'تأیید ناموفق بود، لطفاً دوباره تلاش کنید', + 'invalidDeviceAddress': 'آدرس دستگاه نامعتبر است', + 'bleDeviceAssociationFailed': 'ارتباط دستگاه BLE ناموفق بود', + 'deviceAssociationFailedRetry': + 'ارتباط دستگاه ناموفق بود، لطفاً دوباره تلاش کنید', + 'bleConnectionTimeoutRetry': + 'پایان مهلت اتصال BLE. لطفاً ایرفون را مجدداً راه‌اندازی کرده و دوباره تلاش کنید', + 'blePairingStartupFailed': 'شروع جفت‌سازی BLE ناموفق بود', + 'bleConnectionFailed': 'اتصال BLE ناموفق بود', + 'deviceAuthorizationFailedCheckCode': + 'مجوز دستگاه ناموفق بود، لطفاً کد مجوز را بررسی کنید', + + // iOS蓝牙引导窗 + 'bluetoothGuideTitle': 'فعال‌سازی دستی بلوتوث مورد نیاز است', + 'bluetoothGuideSteps': 'لطفاً این مراحل را دنبال کنید:', + 'bluetoothGuideStep1': 'فعال کردن بلوتوث: تنظیمات ← بلوتوث ← روشن کردن', + 'bluetoothGuideStep2': + 'اتصال دستگاه: دستگاه خود را در «دستگاه‌های من» پیدا کنید و برای اتصال ضربه بزنید', + 'bluetoothGuideStep3': 'بازگشت به برنامه برای ادامه فرآیند جفت‌سازی', + 'bluetoothGuideTip': + 'نکته: می‌توانید آیکون بلوتوث را در مرکز کنترل به مدت طولانی فشار دهید تا به سرعت به تنظیمات بلوتوث دسترسی پیدا کنید', + 'iKnow': 'متوجه شدم', + + // 用户反馈页 + "feedback": "بازخورد", + 'feedbackInfo': 'ارائه بازخورد یا پیشنهادات', + 'feedbackDescription': 'لطفاً مشکل یا پیشنهاد خود را توصیف کنید', + 'feedbackHint': 'لطفاً بازخورد خود را وارد کنید...', + 'feedbackRequired': 'محتوای بازخورد الزامی است', + 'contactInfo': 'اطلاعات تماس', + 'contactHint': 'ایمیل/تلفن، تا بتوانیم با شما تماس بگیریم', + 'submit': 'ارسال', + 'feedbackSubmitSuccess': 'بازخورد با موفقیت ارسال شد، متشکریم!', + 'feedbackSubmitFailed': + 'ارسال بازخورد ناموفق بود، لطفاً بعداً دوباره تلاش کنید', + + // OTA升级模块 + "upgradeExitConfirm": + "در حال ارتقا، خروج فرآیند ارتقا را قطع خواهد کرد. آیا مطمئن هستید که می‌خواهید خارج شوید؟", + "deviceModel": "مدل دستگاه", + "unknownDevice": "دستگاه ناشناخته", + "currentFirmwareVersion": "نسخه سفت‌افزار فعلی", + "latestFirmwareVersion": "آخرین نسخه سفت‌افزار", + "ota_newVersionFound": "نسخه جدید یافت شد", + "latestVersion": "آخرین نسخه", + "gettingDeviceInfo": "در حال دریافت اطلاعات دستگاه...", + "keepDeviceConnected": "لطفاً دستگاه را متصل نگه دارید", + "connectionFailed": "اتصال ناموفق", + "retryConnection": "تلاش مجدد برای اتصال", + "ota_updateNow": "اکنون به‌روزرسانی کن", + "keepConnectedDontClose": "لطفاً دستگاه را متصل نگه دارید، برنامه را نبندید", + "doNotDisconnect": "اتصال را قطع نکنید", + "charging": "در حال شارژ", + "updateContent": "محتوای به‌روزرسانی", + "removeEarbudsEnsureBattery": + "هر دو ایرباد را بردارید و اطمینان حاصل کنید که سطح باتری بالای ۲۰٪ است", + + // 音乐列表页面 + "noMusic": "بدون موسیقی", + "noPlayingMusic": "موسیقی در حال پخش نیست", + "unknownSong": "آهنگ ناشناخته", + "unknownArtist": "هنرمند ناشناخته", + "playAll": "پخش همه", + + // 语言名称 + "中文(简体)": "چینی (ساده‌شده)", + "中文(繁体)": "چینی (سنتی)", + "中文(香港繁体)": "چینی (هنگ کنگ)", + "英语": "انگلیسی", + "日语": "ژاپنی", + "韩语": "کره‌ای", + "法语": "فرانسوی", + "西班牙语": "اسپانیایی", + "葡萄牙语": "پرتغالی", + "意大利语": "ایتالیایی", + "德语": "آلمانی", + "俄语": "روسی", + "波兰语": "لهستانی", + "荷兰语": "هلندی", + "瑞典语": "سوئدی", + "捷克语": "چکی", + "现代希腊语": "یونانی مدرن", + "罗马尼亚语": "رومانیایی", + "匈牙利语": "مجاری", + "乌克兰语": "اوکراینی", + "丹麦语": "دانمارکی", + "芬兰语": "فنلاندی", + "挪威语": "نروژی", + "克罗地亚语": "کرواتی", + "加泰隆语": "کاتالان", + "阿拉伯语": "عربی", + "泰语": "تایلندی", + "越南语": "ویتنامی", + "印尼语": "اندونزیایی", + "印地语": "هندی", + "土耳其语": "ترکی", + "马来语": "مالایی", + "孟加拉语": "بنگالی", + "泰米尔语": "تامیلی", + "泰卢固语": "تلوگو", + "马拉提语": "مراتی", + "乌尔都语": "اردو", + "波斯语": "فارسی", + "斯瓦希里语": "سواحیلی", + + // Time related + "justNow": "همین الان", + "minutesAgo": "@minutes دقیقه پیش", + "yesterday": "دیروز", +}; diff --git a/lib/core/translations/language/fi_fi.dart b/lib/core/translations/language/fi_fi.dart index 397f890e9..e9bd336fd 100644 --- a/lib/core/translations/language/fi_fi.dart +++ b/lib/core/translations/language/fi_fi.dart @@ -66,6 +66,8 @@ const Map fiFI = { "estonian": "Viro", "serbian": "Serbia", "icelandic": "Islanti", + "arabic": "Arabia", + "persian": "Farsi", // 登录页 "welcome": "Tervetuloa", diff --git a/lib/core/translations/language/fr_fr.dart b/lib/core/translations/language/fr_fr.dart index d99b05080..ad0f7c7a7 100644 --- a/lib/core/translations/language/fr_fr.dart +++ b/lib/core/translations/language/fr_fr.dart @@ -66,6 +66,8 @@ const Map frFR = { "estonian": "Estonien", "serbian": "Serbe", "icelandic": "Islandais", + "arabic": "Arabe", + "persian": "Persan", // 登录页 "welcome": "Bienvenue", diff --git a/lib/core/translations/language/hi_in.dart b/lib/core/translations/language/hi_in.dart index 93af02470..58c9c48bb 100644 --- a/lib/core/translations/language/hi_in.dart +++ b/lib/core/translations/language/hi_in.dart @@ -66,6 +66,8 @@ const Map hiIN = { "estonian": "एस्टोनियाई", "serbian": "सर्बियाई", "icelandic": "आइसलैंडिक", + "arabic": "अरबिक", + "persian": "पेरिसी", // 登录页 "welcome": "स्वागत है", diff --git a/lib/core/translations/language/hr_hr.dart b/lib/core/translations/language/hr_hr.dart index ab83d1064..bd42f68a5 100644 --- a/lib/core/translations/language/hr_hr.dart +++ b/lib/core/translations/language/hr_hr.dart @@ -66,6 +66,8 @@ const Map hrHR = { "estonian": "Estonski", "serbian": "Srpski", "icelandic": "Islandski", + "arabic": "Arabski", + "persian": "Persanski", // 登录页 "welcome": "Dobrodošli", diff --git a/lib/core/translations/language/hu_hu.dart b/lib/core/translations/language/hu_hu.dart index 0e6fc6283..b503a87c7 100644 --- a/lib/core/translations/language/hu_hu.dart +++ b/lib/core/translations/language/hu_hu.dart @@ -66,6 +66,8 @@ const Map huHU = { "estonian": "Észt", "serbian": "Szerb", "icelandic": "Izlandi", + "arabic": "Arab", + "persian": "Persz", // 登录页 "welcome": "Üdvözöljük", diff --git a/lib/core/translations/language/id_id.dart b/lib/core/translations/language/id_id.dart index 2870573ba..50ee06329 100644 --- a/lib/core/translations/language/id_id.dart +++ b/lib/core/translations/language/id_id.dart @@ -66,6 +66,8 @@ const Map idID = { "estonian": "Bahasa Estonia", "serbian": "Bahasa Serbia", "icelandic": "Bahasa Islandia", + "arabic": "Bahasa Arab", + "persian": "Bahasa Persian", // 登录页 "welcome": "Selamat Datang", diff --git a/lib/core/translations/language/is_is.dart b/lib/core/translations/language/is_is.dart index cbf61f2cb..f5bfbe00f 100644 --- a/lib/core/translations/language/is_is.dart +++ b/lib/core/translations/language/is_is.dart @@ -66,6 +66,8 @@ const Map isIS = { "estonian": "Eistneska", "serbian": "Serbneska", "icelandic": "Íslenska", + "arabic": "Arabska", + "persian": "Persneska", // 登录页 "welcome": "Velkomin(n)", diff --git a/lib/core/translations/language/it_it.dart b/lib/core/translations/language/it_it.dart index 9873d235b..07a2e32f8 100644 --- a/lib/core/translations/language/it_it.dart +++ b/lib/core/translations/language/it_it.dart @@ -67,6 +67,8 @@ const Map itIT = { "estonian": "Estone", "serbian": "Serbo", "icelandic": "Islandese", + "arabic": "Arabo", + "persian": "Perso", // 登录页 "welcome": "Benvenuto", diff --git a/lib/core/translations/language/ja_jp.dart b/lib/core/translations/language/ja_jp.dart index 74b214018..360a0207c 100644 --- a/lib/core/translations/language/ja_jp.dart +++ b/lib/core/translations/language/ja_jp.dart @@ -66,6 +66,8 @@ const Map jaJP = { "estonian": "エストニア語", "serbian": "セルビア語", "icelandic": "アイスランド語", + "arabic": "アラビア語", + "persian": "ペルシア語", // 登录页 "welcome": "ようこそ", diff --git a/lib/core/translations/language/ko_kr.dart b/lib/core/translations/language/ko_kr.dart index 982cae600..2b1c2122e 100644 --- a/lib/core/translations/language/ko_kr.dart +++ b/lib/core/translations/language/ko_kr.dart @@ -66,6 +66,8 @@ const Map koKR = { "estonian": "에스토니아어", "serbian": "세르비아어", "icelandic": "아이슬란드어", + "arabic": "아랍어", + "persian": "페르시아어", // 登录页 "welcome": "환영합니다", diff --git a/lib/core/translations/language/lt_lt.dart b/lib/core/translations/language/lt_lt.dart index 8960c30bf..7df67f0b0 100644 --- a/lib/core/translations/language/lt_lt.dart +++ b/lib/core/translations/language/lt_lt.dart @@ -67,6 +67,8 @@ const Map ltLT = { "estonian": "Estų", "serbian": "Serbų", "icelandic": "Islandų", + "arabic": "Arabų", + "persian": "Persų", // 登录页 "welcome": "Sveiki atvykę", diff --git a/lib/core/translations/language/lv_lv.dart b/lib/core/translations/language/lv_lv.dart index 18e224e42..5b9a89a67 100644 --- a/lib/core/translations/language/lv_lv.dart +++ b/lib/core/translations/language/lv_lv.dart @@ -66,6 +66,8 @@ const Map lvLV = { "estonian": "Igauņu", "serbian": "Serbu", "icelandic": "Islandiešu", + "arabic": "Arabiešu", + "persian": "Persiešu", // 登录页 "welcome": "Laipni lūdzam", diff --git a/lib/core/translations/language/ms_my.dart b/lib/core/translations/language/ms_my.dart index 7bd9eef2d..28dea6f4c 100644 --- a/lib/core/translations/language/ms_my.dart +++ b/lib/core/translations/language/ms_my.dart @@ -66,6 +66,8 @@ const Map msMY = { "estonian": "Bahasa Estonia", "serbian": "Bahasa Serbia", "icelandic": "Bahasa Iceland", + "arabic": "Bahasa Arab", + "persian": "Bahasa Persian", // 登录页 "welcome": "Selamat Datang", diff --git a/lib/core/translations/language/nb_no.dart b/lib/core/translations/language/nb_no.dart index 723d24012..bc001b456 100644 --- a/lib/core/translations/language/nb_no.dart +++ b/lib/core/translations/language/nb_no.dart @@ -66,6 +66,8 @@ const Map nbNO = { "estonian": "Estisk", "serbian": "Serbisk", "icelandic": "Islandsk", + "arabic": "Arabisk", + "persian": "Persisk", // 登录页 "welcome": "Velkommen", diff --git a/lib/core/translations/language/nl_nl.dart b/lib/core/translations/language/nl_nl.dart index cd1b76051..b54cf99d3 100644 --- a/lib/core/translations/language/nl_nl.dart +++ b/lib/core/translations/language/nl_nl.dart @@ -66,6 +66,8 @@ const Map nlNL = { "estonian": "Ests", "serbian": "Servisch", "icelandic": "IJslands", + "arabic": "Arabisch", + "persian": "Persisch", // 登录页 "welcome": "Welkom", diff --git a/lib/core/translations/language/pl_pl.dart b/lib/core/translations/language/pl_pl.dart index be10f7e11..051c10d78 100644 --- a/lib/core/translations/language/pl_pl.dart +++ b/lib/core/translations/language/pl_pl.dart @@ -66,6 +66,8 @@ const Map plPL = { "estonian": "Estoński", "serbian": "Serbski", "icelandic": "Islandzki", + "arabic": "Arabski", + "persian": "Perski", // 登录页 "welcome": "Witaj", diff --git a/lib/core/translations/language/pt_pt.dart b/lib/core/translations/language/pt_pt.dart index 9f6338e27..14eadd866 100644 --- a/lib/core/translations/language/pt_pt.dart +++ b/lib/core/translations/language/pt_pt.dart @@ -66,6 +66,8 @@ const Map ptPT = { "estonian": "Estónio", "serbian": "Sérvio", "icelandic": "Islandês", + "arabic": "Árabe", + "persian": "Persa", // 登录页 "welcome": "Bem-vindo", diff --git a/lib/core/translations/language/ro_ro.dart b/lib/core/translations/language/ro_ro.dart index 11d449b94..2184bc439 100644 --- a/lib/core/translations/language/ro_ro.dart +++ b/lib/core/translations/language/ro_ro.dart @@ -66,6 +66,8 @@ const Map roRO = { "estonian": "Estonă", "serbian": "Sârbă", "icelandic": "Islandeză", + "arabic": "Arabă", + "persian": "Persană", // 登录页 "welcome": "Bun venit", diff --git a/lib/core/translations/language/ru_ru.dart b/lib/core/translations/language/ru_ru.dart index 648150108..6d6603e5d 100644 --- a/lib/core/translations/language/ru_ru.dart +++ b/lib/core/translations/language/ru_ru.dart @@ -66,6 +66,8 @@ const Map ruRU = { "estonian": "Эстонский", "serbian": "Сербский", "icelandic": "Исландский", + "arabic": "Арабский", + "persian": "Персидский", // 登录页 "welcome": "Добро пожаловать", diff --git a/lib/core/translations/language/sk_sk.dart b/lib/core/translations/language/sk_sk.dart index 80c19ce88..a20e350c8 100644 --- a/lib/core/translations/language/sk_sk.dart +++ b/lib/core/translations/language/sk_sk.dart @@ -66,6 +66,8 @@ const Map skSK = { "estonian": "Estónčina", "serbian": "Srbčina", "icelandic": "Islandčina", + "arabic": "Arabčina", + "persian": "Persčina", // 登录页 "welcome": "Vitajte", diff --git a/lib/core/translations/language/sl_si.dart b/lib/core/translations/language/sl_si.dart index 835f92eda..d106107e0 100644 --- a/lib/core/translations/language/sl_si.dart +++ b/lib/core/translations/language/sl_si.dart @@ -66,6 +66,8 @@ const Map slSI = { "estonian": "Estonščina", "serbian": "Srbščina", "icelandic": "Islandščina", + "arabic": "Arabščina", + "persian": "Persščina", // 登录页 "welcome": "Dobrodošli", diff --git a/lib/core/translations/language/sr_rs.dart b/lib/core/translations/language/sr_rs.dart index 2e18b20b4..7bab2c689 100644 --- a/lib/core/translations/language/sr_rs.dart +++ b/lib/core/translations/language/sr_rs.dart @@ -66,6 +66,8 @@ const Map srRS = { "estonian": "Estonski", "serbian": "Srpski", "icelandic": "Islandski", + "arabic": "Arabski", + "persian": "Perski", // 登录页 "welcome": "Dobrodošli", diff --git a/lib/core/translations/language/sv_se.dart b/lib/core/translations/language/sv_se.dart index 3db68ced6..d307b1eef 100644 --- a/lib/core/translations/language/sv_se.dart +++ b/lib/core/translations/language/sv_se.dart @@ -66,6 +66,8 @@ const Map svSE = { "estonian": "Estniska", "serbian": "Serbiska", "icelandic": "Isländska", + "arabic": "Arabiska", + "persian": "Persiska", // 登录页 "welcome": "Välkommen", diff --git a/lib/core/translations/language/th_th.dart b/lib/core/translations/language/th_th.dart index 2d0405db3..084def1f8 100644 --- a/lib/core/translations/language/th_th.dart +++ b/lib/core/translations/language/th_th.dart @@ -66,6 +66,8 @@ const Map thTH = { "estonian": "ภาษาเอสโตเนีย", "serbian": "ภาษาเซอร์เบีย", "icelandic": "ภาษาไอซ์แลนด์", + "arabic": "ภาษาアラビア", + "persian": "ภาษาญี่ปุ่น", // 登录页 "welcome": "ยินดีต้อนรับ", diff --git a/lib/core/translations/language/tl_ph.dart b/lib/core/translations/language/tl_ph.dart index 7b4d5ff91..85d3609fd 100644 --- a/lib/core/translations/language/tl_ph.dart +++ b/lib/core/translations/language/tl_ph.dart @@ -66,6 +66,8 @@ const Map tlPH = { "estonian": "Estonian", "serbian": "Serbian", "icelandic": "Icelandic", + "arabic": "Arabic", + "persian": "Persian", // 登录页 "welcome": "Maligayang pagdating", diff --git a/lib/core/translations/language/tr_tr.dart b/lib/core/translations/language/tr_tr.dart index 4304f9b1a..a99131602 100644 --- a/lib/core/translations/language/tr_tr.dart +++ b/lib/core/translations/language/tr_tr.dart @@ -66,6 +66,8 @@ const Map trTR = { "estonian": "Estonca", "serbian": "Sırpça", "icelandic": "İzlandaca", + "arabic": "Arapça", + "persian": "Farsça", // 登录页 "welcome": "Hoş Geldiniz", diff --git a/lib/core/translations/language/uk_ua.dart b/lib/core/translations/language/uk_ua.dart index 7f594a720..1dabffdb0 100644 --- a/lib/core/translations/language/uk_ua.dart +++ b/lib/core/translations/language/uk_ua.dart @@ -66,6 +66,8 @@ const Map ukUA = { "estonian": "Естонська", "serbian": "Сербська", "icelandic": "Ісландська", + "arabic": "Арабська", + "persian": "Персська", // 登录页 "welcome": "Ласкаво просимо", diff --git a/lib/core/translations/language/vi_vn.dart b/lib/core/translations/language/vi_vn.dart index f52000341..fc422ee38 100644 --- a/lib/core/translations/language/vi_vn.dart +++ b/lib/core/translations/language/vi_vn.dart @@ -66,6 +66,8 @@ const Map viVN = { "estonian": "Tiếng Estonia", "serbian": "Tiếng Serbia", "icelandic": "Tiếng Iceland", + "arabic": "Tiếng Arab", + "persian": "Tiếng Persian", // 登录页 "welcome": "Chào mừng bạn", diff --git a/lib/core/translations/language/zh_cn.dart b/lib/core/translations/language/zh_cn.dart index 38847d7e7..f33c8ca52 100644 --- a/lib/core/translations/language/zh_cn.dart +++ b/lib/core/translations/language/zh_cn.dart @@ -67,6 +67,7 @@ const Map zhCN = { "serbian": "塞尔维亚语", "icelandic": "冰岛语", "arabic": "阿拉伯语", + "persian": "波斯语", // 登录页 "welcome": "欢迎使用", diff --git a/lib/core/translations/language/zh_hk.dart b/lib/core/translations/language/zh_hk.dart index b61b4a6f8..52eaff0a7 100644 --- a/lib/core/translations/language/zh_hk.dart +++ b/lib/core/translations/language/zh_hk.dart @@ -67,6 +67,8 @@ const Map zhHK = { "estonian": "愛沙尼亞語", "serbian": "塞爾維亞語", "icelandic": "冰島語", + "arabic": "阿拉伯語", + "persian": "波斯語", // 登錄頁 "welcome": "歡迎使用", diff --git a/lib/modules/settings/controllers/settings_controller.dart b/lib/modules/settings/controllers/settings_controller.dart index de0b08114..618adae96 100644 --- a/lib/modules/settings/controllers/settings_controller.dart +++ b/lib/modules/settings/controllers/settings_controller.dart @@ -37,6 +37,8 @@ class SettingsController extends GetxController { LanguageModel(name: 'german', alias: 'Deutsch', value: 'de_DE'), // 添加德语选项 LanguageModel(name: 'russian', alias: 'Русский', value: 'ru_RU'), // 添加俄语选项 LanguageModel(name: 'arabic', alias: 'العربية', value: 'ar_SA'), // 阿拉伯语 + LanguageModel(name: 'persian', alias: 'فارسی', value: 'fa_IR'), // 波斯语 + LanguageModel( name: 'vietnamese', alias: 'Tiếng Việt', value: 'vi_VN'), // 添加越南语选项 LanguageModel(