|
@@ -0,0 +1,453 @@
|
|
|
|
|
+/* AppBrand.name ("Meetings") محذوف عمداً — اسم التطبيق يبقى دون تغيير في الكود. */
|
|
|
|
|
+"AI Companion for Meet" = "مساعد الذكاء الاصطناعي لـ جوجل ميت";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - عام */
|
|
|
|
|
+"OK" = "موافق";
|
|
|
|
|
+"Cancel" = "إلغاء";
|
|
|
|
|
+"Continue" = "متابعة";
|
|
|
|
|
+"Apply" = "تطبيق";
|
|
|
|
|
+"Reset" = "إعادة تعيين";
|
|
|
|
|
+"Save" = "حفظ";
|
|
|
|
|
+"Copy" = "نسخ";
|
|
|
|
|
+"Copied" = "تم النسخ";
|
|
|
|
|
+"Close" = "إغلاق";
|
|
|
|
|
+"Join" = "انضمام";
|
|
|
|
|
+"None" = "لا شيء";
|
|
|
|
|
+"Link" = "رابط";
|
|
|
|
|
+"Stop" = "إيقاف";
|
|
|
|
|
+"Address" = "العنوان";
|
|
|
|
|
+"Title" = "العنوان";
|
|
|
|
|
+"Notes" = "ملاحظات";
|
|
|
|
|
+"Start" = "بدء";
|
|
|
|
|
+"Premium" = "مميز";
|
|
|
|
|
+"Popular" = "شائع";
|
|
|
|
|
+"Browser" = "متصفح";
|
|
|
|
|
+"Meeting" = "اجتماع";
|
|
|
|
|
+"Error" = "خطأ";
|
|
|
|
|
+"Success" = "نجاح";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - شريط الحالة */
|
|
|
|
|
+"Meetings status menu" = "قائمة حالة الاجتماعات";
|
|
|
|
|
+"Open App" = "فتح التطبيق";
|
|
|
|
|
+"Join Meetings" = "الانضمام إلى الاجتماعات";
|
|
|
|
|
+"Schedule" = "جدولة";
|
|
|
|
|
+"Calendar" = "تقويم";
|
|
|
|
|
+"Widgets" = "ودجات";
|
|
|
|
|
+"AI Companion" = "مساعد الذكاء الاصطناعي";
|
|
|
|
|
+"Settings" = "الإعدادات";
|
|
|
|
|
+"Top meetings" = "الاجتماعات المثبتة";
|
|
|
|
|
+"No upcoming meetings" = "لا توجد اجتماعات قادمة";
|
|
|
|
|
+"Sign Out" = "تسجيل الخروج";
|
|
|
|
|
+"Sign In" = "تسجيل الدخول";
|
|
|
|
|
+"Quit" = "إنهاء";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الشاشة الرئيسية */
|
|
|
|
|
+"Preparing your meetings workspace" = "تحضير مساحة عمل الاجتماعات الخاصة بك";
|
|
|
|
|
+"CONNECTING SERVICES" = "جاري توصيل الخدمات";
|
|
|
|
|
+"READY" = "جاهز";
|
|
|
|
|
+"Plan smart, achieve more" = "خطط بذكاء، حقق المزيد";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الودجات */
|
|
|
|
|
+"Add Widget to Desktop" = "إضافة ودجة إلى سطح المكتب";
|
|
|
|
|
+"Choose a size and add your Google Meet widget." = "اختر حجماً وأضف ودجة جوجل ميت الخاصة بك.";
|
|
|
|
|
+"Tip: Right-click a desktop widget to remove it." = "نصيحة: انقر بزر الماوس الأيمن على ودجة سطح المكتب لإزالتها.";
|
|
|
|
|
+"Removed %@ widget from desktop." = "تمت إزالة الودجة %@ من سطح المكتب.";
|
|
|
|
|
+"Added %@ widget from desktop." = "تمت إضافة الودجة %@ من سطح المكتب.";
|
|
|
|
|
+"Added %@ widget to desktop." = "تمت إضافة الودجة %@ إلى سطح المكتب.";
|
|
|
|
|
+"Widgets are Premium only. Upgrade to add widgets." = "الودجات متاحة فقط للمستخدمين المميزين. قم بالترقية لإضافة الودجات.";
|
|
|
|
|
+"Remove Widget" = "إزالة الودجة";
|
|
|
|
|
+"Small" = "صغير";
|
|
|
|
|
+"Medium" = "متوسط";
|
|
|
|
|
+"Quick actions" = "إجراءات سريعة";
|
|
|
|
|
+"Open Meet" = "فتح جوجل ميت";
|
|
|
|
|
+"Upcoming meetings" = "الاجتماعات القادمة";
|
|
|
|
|
+"Sign in to see upcoming meetings" = "سجل الدخول لرؤية الاجتماعات القادمة";
|
|
|
|
|
+"Sign in with Google" = "تسجيل الدخول باستخدام جوجل";
|
|
|
|
|
+"Google Meet" = "جوجل ميت";
|
|
|
|
|
+"Open and join quickly" = "افتح وانضم بسرعة";
|
|
|
|
|
+"Refresh" = "تحديث";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الشريط الجانبي والتنقل */
|
|
|
|
|
+"Planning" = "التخطيط";
|
|
|
|
|
+"Additional" = "إضافي";
|
|
|
|
|
+"Get Premium" = "احصل على البريميوم";
|
|
|
|
|
+"Manage Subscription" = "إدارة الاشتراك";
|
|
|
|
|
+"App for Google Meet" = "تطبيق جوجل ميت";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الانضمام إلى اجتماع */
|
|
|
|
|
+"New Instant Meet" = "اجتماع فوري جديد";
|
|
|
|
|
+"Start instant Meet in more section with\nGoogle Meet meet." = "ابدأ اجتماع جوجل ميت فوري في قسم المزيد\nمع جوجل ميت.";
|
|
|
|
|
+"Join with Link" = "انضم برابط";
|
|
|
|
|
+"Code or meet.google.com/…" = "رمز أو meet.google.com/…";
|
|
|
|
|
+"Join with ID" = "انضم بمعرف";
|
|
|
|
|
+"Join with URL" = "انضم بعنوان URL";
|
|
|
|
|
+"Meeting URL" = "رابط الاجتماع";
|
|
|
|
|
+"Enter meeting URL..." = "أدخل رابط الاجتماع...";
|
|
|
|
|
+"Quick Join Meeting" = "انضمام سريع للاجتماع";
|
|
|
|
|
+"Invalid Meet link" = "رابط جوجل ميت غير صالح";
|
|
|
|
|
+"Enter a valid Google Meet link or meeting code (for example nkd-grps-duv, meet.google.com/nkd-grps-duv, or https://meet.google.com/nkd-grps-duv)." = "أدخل رابط جوجل ميت صالح أو رمز اجتماع (على سبيل المثال nkd-grps-duv أو meet.google.com/nkd-grps-duv أو https://meet.google.com/nkd-grps-duv).";
|
|
|
|
|
+"Instant Meeting" = "اجتماع فوري";
|
|
|
|
|
+"Connect Google to start Instant Meeting" = "قم بتوصيل جوجل لبدء اجتماع فوري";
|
|
|
|
|
+"To auto-stop recording when the meeting ends, connect your Google account first." = "لإيقاف التسجيل تلقائياً عند انتهاء الاجتماع، قم بتوصيل حساب جوجل الخاص بك أولاً.";
|
|
|
|
|
+"Could not create Instant Meeting" = "تعذر إنشاء اجتماع فوري";
|
|
|
|
|
+"Free trial used. Upgrade to continue." = "تم استخدام الفترة التجريبية المجانية. قم بالترقية للمتابعة.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - تصفح الويب */
|
|
|
|
|
+"Browse the web" = "تصفح الويب";
|
|
|
|
|
+"Enter a web address (for example meet.google.com)." = "أدخل عنوان ويب (على سبيل المثال meet.google.com).";
|
|
|
|
|
+"Invalid address" = "عنوان غير صالح";
|
|
|
|
|
+"Enter a valid http or https URL." = "أدخل عنوان URL صالح يبدأ بـ http أو https.";
|
|
|
|
|
+"Browse" = "تصفح";
|
|
|
|
|
+"Quick links" = "روابط سريعة";
|
|
|
|
|
+"Zoom help" = "مساعدة Zoom";
|
|
|
|
|
+"https://example.com or example.com" = "https://example.com أو example.com";
|
|
|
|
|
+"Enter a valid web address, for example https://example.com" = "أدخل عنوان ويب صالح، على سبيل المثال https://example.com";
|
|
|
|
|
+"Address not allowed" = "العنوان غير مسموح به";
|
|
|
|
|
+"This URL is not permitted with the current in-app browser policy (whitelist)." = "هذا الرابط غير مسموح به بموجب سياسة المتصفح الحالية داخل التطبيق (القائمة البيضاء).";
|
|
|
|
|
+"Unable to load page" = "تعذر تحميل الصفحة";
|
|
|
|
|
+"Could not load this page in the in-app browser.\n\n%@" = "تعذر تحميل هذه الصفحة في متصفح التطبيق.\n\n%@";
|
|
|
|
|
+"Page stopped loading" = "توقف تحميل الصفحة";
|
|
|
|
|
+"Unable to open browser" = "تعذر فتح المتصفح";
|
|
|
|
|
+"Unable to Open Safari" = "تعذر فتح Safari";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الجدولة والتقويم */
|
|
|
|
|
+"All" = "الكل";
|
|
|
|
|
+"Today" = "اليوم";
|
|
|
|
|
+"This week" = "هذا الأسبوع";
|
|
|
|
|
+"This month" = "هذا الشهر";
|
|
|
|
|
+"Previous week" = "الأسبوع السابق";
|
|
|
|
|
+"Previous month" = "الشهر السابق";
|
|
|
|
|
+"Custom range" = "نطاق مخصص";
|
|
|
|
|
+"No meetings match the selected filters." = "لا توجد اجتماعات تطابق عوامل التصفية المحددة.";
|
|
|
|
|
+"Adjust the date range and tap Apply." = "اضبط نطاق التاريخ وانقر على تطبيق.";
|
|
|
|
|
+"Premium required. Get Premium now to unlock Calendar." = "البريميوم مطلوب. احصل على البريميوم الآن لفتح التقويم.";
|
|
|
|
|
+"Premium required. Click to open paywall." = "البريميوم مطلوب. انقر لفتح جدار الدفع.";
|
|
|
|
|
+"Get Premium to see events" = "احصل على البريميوم لرؤية الأحداث";
|
|
|
|
|
+"Connect Google" = "توصيل جوجل";
|
|
|
|
|
+"Sign in with Google first to schedule a meeting from Calendar." = "سجل الدخول باستخدام جوجل أولاً لجدولة اجتماع من التقويم.";
|
|
|
|
|
+"Select date" = "حدد التاريخ";
|
|
|
|
|
+"Choose a date to schedule your meeting." = "اختر تاريخاً لجدولة اجتماعك.";
|
|
|
|
|
+"Google schedule" = "تقويم جوجل";
|
|
|
|
|
+"To show scheduled meetings, connect your Google account. You’ll need a Google OAuth client ID (Desktop) and a redirect URI matching the app’s callback scheme." = "لعرض الاجتماعات المجدولة، قم بتوصيل حساب جوجل الخاص بك. ستحتاج إلى معرف عميل جوجل OAuth (سطح المكتب) وعنوان URI لإعادة التوجيه يطابق مخطط رد الاتصال للتطبيق.";
|
|
|
|
|
+"Actions" = "إجراءات";
|
|
|
|
|
+"Schedule meeting" = "جدولة اجتماع";
|
|
|
|
|
+"Team sync" = "مزامنة الفريق";
|
|
|
|
|
+"Duration (min)" = "المدة (دقيقة)";
|
|
|
|
|
+"Refresh saved meetings" = "تحديث الاجتماعات المحفوظة";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الإعدادات */
|
|
|
|
|
+"Manage appearance, account, and app options." = "إدارة المظهر والحساب وخيارات التطبيق.";
|
|
|
|
|
+"Appearance" = "المظهر";
|
|
|
|
|
+"Account" = "الحساب";
|
|
|
|
|
+"App" = "التطبيق";
|
|
|
|
|
+"Notifications" = "الإشعارات";
|
|
|
|
|
+"Help & Legal" = "المساعدة والقانونية";
|
|
|
|
|
+"Dark Mode" = "الوضع الداكن";
|
|
|
|
|
+"Language" = "اللغة";
|
|
|
|
|
+"System Language" = "لغة النظام";
|
|
|
|
|
+"Rate Us" = "قيّمنا";
|
|
|
|
|
+"Share App" = "مشاركة التطبيق";
|
|
|
|
|
+"Upgrade" = "ترقية";
|
|
|
|
|
+"Privacy Policy" = "سياسة الخصوصية";
|
|
|
|
|
+"Support" = "الدعم";
|
|
|
|
|
+"Terms of Services" = "شروط الخدمة";
|
|
|
|
|
+"AI Language 1" = "لغة الذكاء الاصطناعي 1";
|
|
|
|
|
+"AI Language 2" = "لغة الذكاء الاصطناعي 2";
|
|
|
|
|
+"Google account connected" = "حساب جوجل متصل";
|
|
|
|
|
+"Google account not connected" = "حساب جوجل غير متصل";
|
|
|
|
|
+"Signed in" = "تم تسجيل الدخول";
|
|
|
|
|
+"Sign in to sync your meetings and calendar." = "سجل الدخول لمزامنة اجتماعاتك وتقويمك.";
|
|
|
|
|
+"Log out" = "تسجيل الخروج";
|
|
|
|
|
+"Check out %@ for managing and joining meetings." = "جرب %@ لإدارة الاجتماعات والانضمام إليها.";
|
|
|
|
|
+"Meetings App" = "تطبيق الاجتماعات";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الموافقة على التسجيل */
|
|
|
|
|
+"Record this meeting locally?" = "تسجيل هذا الاجتماع محلياً؟";
|
|
|
|
|
+"With your consent, the app will record meeting audio on this Mac and show it in AI Companion after the meeting." = "بموافقتك، سيقوم التطبيق بتسجيل صوت الاجتماع على جهاز Mac هذا وعرضه في مساعد الذكاء الاصطناعي بعد الاجتماع.";
|
|
|
|
|
+"Allow and Continue" = "السماح والمتابعة";
|
|
|
|
|
+"Continue Without Recording" = "المتابعة بدون تسجيل";
|
|
|
|
|
+"Transcription Languages" = "لغات النسخ";
|
|
|
|
|
+"Preferred Language 1" = "اللغة المفضلة 1";
|
|
|
|
|
+"Preferred Language 2" = "اللغة المفضلة 2";
|
|
|
|
|
+"Microphone permission denied" = "تم رفض إذن الميكروفون";
|
|
|
|
|
+"Microphone permission required" = "إذن الميكروفون مطلوب";
|
|
|
|
|
+"Enable microphone access in System Settings to record meetings locally." = "قم بتمكين الوصول إلى الميكروفون في إعدادات النظام لتسجيل الاجتماعات محلياً.";
|
|
|
|
|
+"Could not start recording" = "تعذر بدء التسجيل";
|
|
|
|
|
+"Recording will start when the meeting starts" = "سيبدأ التسجيل عندما يبدأ الاجتماع";
|
|
|
|
|
+"Meeting recording started (meeting + microphone)" = "بدأ تسجيل الاجتماع (اجتماع + ميكروفون)";
|
|
|
|
|
+"System audio unavailable. Recording microphone only." = "صوت النظام غير متاح. جاري تسجيل الميكروفون فقط.";
|
|
|
|
|
+"Meeting recording started (microphone only)" = "بدأ تسجيل الاجتماع (الميكروفون فقط)";
|
|
|
|
|
+"Meeting recording saved" = "تم حفظ تسجيل الاجتماع";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - مساعد الذكاء الاصطناعي */
|
|
|
|
|
+"Get notes from your previous meetings" = "احصل على ملاحظات من اجتماعاتك السابقة";
|
|
|
|
|
+"Connect your Google account to see your AI Companion meeting history." = "قم بتوصيل حساب جوجل الخاص بك لرؤية سجل اجتماعات مساعد الذكاء الاصطناعي.";
|
|
|
|
|
+"No previous meetings yet for %@. End a meeting to save it here and generate notes." = "لا توجد اجتماعات سابقة بعد لـ %@. قم بإنهاء اجتماع لحفظه هنا وإنشاء ملاحظات.";
|
|
|
|
|
+"this account" = "هذا الحساب";
|
|
|
|
|
+"Previous meetings" = "الاجتماعات السابقة";
|
|
|
|
|
+"Recording in progress: %@" = "التسجيل جارٍ: %@";
|
|
|
|
|
+"Started: %@" = "بدأ: %@";
|
|
|
|
|
+"Stop Recording" = "إيقاف التسجيل";
|
|
|
|
|
+"Date: %@" = "التاريخ: %@";
|
|
|
|
|
+"Saved time: %@" = "الوقت المحفوظ: %@";
|
|
|
|
|
+"Get Notes" = "احصل على الملاحظات";
|
|
|
|
|
+"Premium required. Click to unlock AI Companion notes." = "البريميوم مطلوب. انقر لفتح ملاحظات مساعد الذكاء الاصطناعي.";
|
|
|
|
|
+"Play Audio" = "تشغيل الصوت";
|
|
|
|
|
+"Pause Audio" = "إيقاف الصوت مؤقتاً";
|
|
|
|
|
+"Stopped" = "متوقف";
|
|
|
|
|
+"Speaking..." = "يتحدث...";
|
|
|
|
|
+"Paused" = "مُوقف مؤقتاً";
|
|
|
|
|
+"Playing..." = "قيد التشغيل...";
|
|
|
|
|
+"Not playing" = "لا يعمل";
|
|
|
|
|
+"Checking audio..." = "جاري التحقق من الصوت...";
|
|
|
|
|
+"Audio file missing" = "ملف الصوت مفقود";
|
|
|
|
|
+"Could not play recording" = "تعذر تشغيل التسجيل";
|
|
|
|
|
+"Failed: %@" = "فشل: %@";
|
|
|
|
|
+"Failed to play audio" = "فشل تشغيل الصوت";
|
|
|
|
|
+"decode error" = "خطأ في فك التشفير";
|
|
|
|
|
+"Loading..." = "جاري التحميل...";
|
|
|
|
|
+"Buffering..." = "جاري التخزين المؤقت...";
|
|
|
|
|
+"Finished" = "انتهى";
|
|
|
|
|
+"Transcript not requested" = "لم يتم طلب النسخ";
|
|
|
|
|
+"Transcript processing..." = "جاري معالجة النسخ...";
|
|
|
|
|
+"Transcript ready" = "النسخ جاهز";
|
|
|
|
|
+"Transcript unavailable (tap to retry)" = "النسخ غير متاح (انقر لإعادة المحاولة)";
|
|
|
|
|
+"Notes not requested" = "لم يتم طلب الملاحظات";
|
|
|
|
|
+"Preparing notes, please wait..." = "جاري تحضير الملاحظات، يرجى الانتظار...";
|
|
|
|
|
+"Notes ready" = "الملاحظات جاهزة";
|
|
|
|
|
+"Notes unavailable (tap to retry)" = "الملاحظات غير متاحة (انقر لإعادة المحاولة)";
|
|
|
|
|
+"Transcript unavailable" = "النسخ غير متاح";
|
|
|
|
|
+"Notes unavailable" = "الملاحظات غير متاحة";
|
|
|
|
|
+"Could not find recording details for this meeting." = "تعذر العثور على تفاصيل التسجيل لهذا الاجتماع.";
|
|
|
|
|
+"Transcript - %@" = "النسخ - %@";
|
|
|
|
|
+"Notes - %@" = "ملاحظات - %@";
|
|
|
|
|
+"Meeting Notes" = "ملاحظات الاجتماع";
|
|
|
|
|
+"Transcript processing..." = "جاري معالجة النسخ...";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - جدار الدفع و StoreKit */
|
|
|
|
|
+"Meetings Pro" = "اجتماعات برو";
|
|
|
|
|
+"PREMIUM EXPERIENCE" = "تجربة بريميوم";
|
|
|
|
|
+"Elevate your meetings workflow" = "ارتقِ بسير عمل اجتماعاتك";
|
|
|
|
|
+"Unlock automation, premium meeting tools, and priority support for every session." = "افتح الأتمتة وأدوات الاجتماعات المميزة والدعم ذي الأولوية لكل جلسة.";
|
|
|
|
|
+"Manage meetings" = "إدارة الاجتماعات";
|
|
|
|
|
+"Smart scheduling" = "جدولة ذكية";
|
|
|
|
|
+"Faster workflow" = "سير عمل أسرع";
|
|
|
|
|
+"Reminder notifications" = "إشعارات التذكير";
|
|
|
|
|
+"Monthly" = "شهري";
|
|
|
|
|
+"Bi Yearly" = "نصف سنوي";
|
|
|
|
|
+"Yearly" = "سنوي";
|
|
|
|
|
+"Most Popular" = "الأكثر شيوعاً";
|
|
|
|
|
+"%@ • Most Popular" = "%@ • الأكثر شيوعاً";
|
|
|
|
|
+"3 days free trial" = "3 أيام تجربة مجانية";
|
|
|
|
|
+"Cancel anytime" = "إلغاء في أي وقت";
|
|
|
|
|
+"No lock-in" = "بدون التزام";
|
|
|
|
|
+"Instant access" = "وصول فوري";
|
|
|
|
|
+"Unlock all tools" = "افتح جميع الأدوات";
|
|
|
|
|
+"Secure billing" = "فوترة آمنة";
|
|
|
|
|
+"Handled by Apple" = "تتم المعالجة بواسطة آبل";
|
|
|
|
|
+"Secured by Apple. Cancel anytime." = "مؤمن بواسطة آبل. إلغاء في أي وقت.";
|
|
|
|
|
+"Restore Purchase" = "استعادة الشراء";
|
|
|
|
|
+"Continue with free plan" = "المتابعة مع الخطة المجانية";
|
|
|
|
|
+"Already Premium" = "بريميوم بالفعل";
|
|
|
|
|
+"You are already premium. Do you want to continue with this purchase?" = "أنت بالفعل مستخدم مميز. هل تريد المتابعة في عملية الشراء هذه؟";
|
|
|
|
|
+"Current plan: %@. Choose a different package to switch." = "الخطة الحالية: %@. اختر حزمة مختلفة للتبديل.";
|
|
|
|
|
+"Premium is active on this Apple ID." = "البريميوم نشط على معرف آبل هذا.";
|
|
|
|
|
+"Free for %@, then %@" = "مجاني لمدة %@، ثم %@";
|
|
|
|
|
+"Billed via App Store" = "تتم الفوترة عبر App Store";
|
|
|
|
|
+"%@ • %@" = "%@ • %@";
|
|
|
|
|
+"Save 0%" = "وفر 0%";
|
|
|
|
|
+"Save %@%%" = "وفر %@%%";
|
|
|
|
|
+"month" = "شهر";
|
|
|
|
|
+"year" = "سنة";
|
|
|
|
|
+"%@ free trial" = "%@ تجربة مجانية";
|
|
|
|
|
+"Processing..." = "جاري المعالجة...";
|
|
|
|
|
+"Premium Active" = "البريميوم نشط";
|
|
|
|
|
+"Continue with 3 day trail" = "المتابعة مع تجربة 3 أيام";
|
|
|
|
|
+"Please Wait" = "يرجى الانتظار";
|
|
|
|
|
+"A purchase is already being processed." = "هناك عملية شراء قيد المعالجة بالفعل.";
|
|
|
|
|
+"This Apple ID already has premium access." = "معرف آبل هذا لديه حق الوصول المميز بالفعل.";
|
|
|
|
|
+"Purchase Complete" = "اكتملت عملية الشراء";
|
|
|
|
|
+"Premium has been unlocked successfully." = "تم فتح البريميوم بنجاح.";
|
|
|
|
|
+"Purchase Pending" = "الشراء معلق";
|
|
|
|
|
+"Your purchase is pending approval. You can continue once it completes." = "عملية الشراء الخاصة بك معلقة بانتظار الموافقة. يمكنك المتابعة بمجرد اكتمالها.";
|
|
|
|
|
+"Product Not Available" = "المنتج غير متاح";
|
|
|
|
|
+"Unable to load this product. Check your StoreKit configuration and product IDs." = "تعذر تحميل هذا المنتج. تحقق من تكوين StoreKit ومعرفات المنتج.";
|
|
|
|
|
+"Already Purchased" = "تم شراؤه بالفعل";
|
|
|
|
|
+"This plan is already active on your Apple ID." = "هذه الخطة نشطة بالفعل على معرف آبل الخاص بك.";
|
|
|
|
|
+"Purchase Failed" = "فشلت عملية الشراء";
|
|
|
|
|
+"Restore Purchases" = "استعادة المشتريات";
|
|
|
|
|
+"Purchases restored successfully." = "تمت استعادة المشتريات بنجاح.";
|
|
|
|
|
+"No previous premium purchase was found for this Apple ID." = "لم يتم العثور على عملية شراء مميزة سابقة لمعرف آبل هذا.";
|
|
|
|
|
+"Restore failed: %@" = "فشلت الاستعادة: %@";
|
|
|
|
|
+"Unable to Open Subscriptions" = "تعذر فتح الاشتراكات";
|
|
|
|
|
+"The subscriptions URL is invalid." = "رابط الاشتراكات غير صالح.";
|
|
|
|
|
+"%@ tapped." = "تم النقر على %@.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - المصادقة */
|
|
|
|
|
+"Google Sign-In" = "تسجيل الدخول عبر جوجل";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - أخطاء التعرف على الكلام/النسخ */
|
|
|
|
|
+"Speech recognition permission denied. Enable it in System Settings and try again." = "تم رفض إذن التعرف على الكلام. قم بتمكينه في إعدادات النظام وحاول مرة أخرى.";
|
|
|
|
|
+"Speech recognition is restricted on this Mac." = "التعرف على الكلام مقيد على جهاز Mac هذا.";
|
|
|
|
|
+"Speech recognition authorization is unavailable." = "تفويض التعرف على الكلام غير متاح.";
|
|
|
|
|
+"Speech recognizer is unavailable for the current locale." = "أداة التعرف على الكلام غير متاحة للإعدادات المحلية الحالية.";
|
|
|
|
|
+"Speech recognizer is unavailable for %@." = "أداة التعرف على الكلام غير متاحة لـ %@.";
|
|
|
|
|
+"No audio was available to transcribe." = "لم يتوفر صوت لنسخه.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - أخطاء معاملات StoreKit */
|
|
|
|
|
+"Unable to load products: %@" = "تعذر تحميل المنتجات: %@";
|
|
|
|
|
+"Product ID not found in StoreKit response. Requested: %@. Loaded IDs: %@" = "معرف المنتج غير موجود في استجابة StoreKit. المطلوب: %@. المعرفات المحملة: %@";
|
|
|
|
|
+"Purchase verification failed." = "فشل التحقق من الشراء.";
|
|
|
|
|
+"Unknown purchase state." = "حالة شراء غير معروفة.";
|
|
|
|
|
+"none" = "لا شيء";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - نصوص أسعار جدار الدفع */
|
|
|
|
|
+"%@ one-time purchase" = "%@ شراء لمرة واحدة";
|
|
|
|
|
+"%@/month" = "%@/شهر";
|
|
|
|
|
+"%@/6 months" = "%@/6 أشهر";
|
|
|
|
|
+"%@/year (3 days free trial)" = "%@/سنة (3 أيام تجربة مجانية)";
|
|
|
|
|
+"day" = "يوم";
|
|
|
|
|
+"week" = "أسبوع";
|
|
|
|
|
+"period" = "فترة";
|
|
|
|
|
+"1 %@" = "1 %@";
|
|
|
|
|
+"%d %@s" = "%d %@";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الإشعارات المنبثقة والملاحظات السريعة */
|
|
|
|
|
+"Meeting added successfully." = "تمت إضافة الاجتماع بنجاح.";
|
|
|
|
|
+"An issue occurred. Please try again." = "حدثت مشكلة. يرجى المحاولة مرة أخرى.";
|
|
|
|
|
+"Failed to load transcript." = "فشل تحميل النسخ.";
|
|
|
|
|
+"Failed to generate notes." = "فشل إنشاء الملاحظات.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - تنبيهات المتصفح */
|
|
|
|
|
+"Try Again" = "حاول مرة أخرى";
|
|
|
|
|
+"The in-app browser closed this page unexpectedly. You can try loading it again in this same window." = "أغلق متصفح التطبيق هذه الصفحة بشكل غير متوقع. يمكنك محاولة تحميلها مرة أخرى في نفس النافذة.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - أخطاء الجدولة والتقويم */
|
|
|
|
|
+"Couldn't load schedule." = "تعذر تحميل الجدول.";
|
|
|
|
|
+"Couldn't refresh schedule." = "تعذر تحديث الجدول.";
|
|
|
|
|
+"Couldn't connect Google account." = "تعذر توصيل حساب جوجل.";
|
|
|
|
|
+"Couldn't logout Google account." = "تعذر تسجيل الخروج من حساب جوجل.";
|
|
|
|
|
+"Couldn't load schedule" = "تعذر تحميل الجدول";
|
|
|
|
|
+"Couldn't determine Meet meeting code from URL." = "تعذر تحديد رمز اجتماع جوجل ميت من الرابط.";
|
|
|
|
|
+"Refreshing…" = "جاري التحديث…";
|
|
|
|
|
+"Connect Google to see meetings" = "قم بتوصيل جوجل لرؤية الاجتماعات";
|
|
|
|
|
+"Connect to load schedule" = "قم بالتوصيل لتحميل الجدول";
|
|
|
|
|
+"Loading…" = "جاري التحميل…";
|
|
|
|
|
+"Loading schedule…" = "جاري تحميل الجدول…";
|
|
|
|
|
+"Start date must be on or before end date." = "يجب أن يكون تاريخ البدء قبل أو نفس تاريخ الانتهاء.";
|
|
|
|
|
+"Invalid custom date range" = "نطاق تاريخ مخصص غير صالح";
|
|
|
|
|
+"No meetings" = "لا توجد اجتماعات";
|
|
|
|
|
+"No meetings for selected filters" = "لا توجد اجتماعات لعوامل التصفية المحددة";
|
|
|
|
|
+"No meetings on %@" = "لا توجد اجتماعات في %@";
|
|
|
|
|
+"1 meeting on %@" = "اجتماع واحد في %@";
|
|
|
|
|
+"%d meetings on %@" = "%d اجتماعات في %@";
|
|
|
|
|
+"All day" = "طوال اليوم";
|
|
|
|
|
+"Duration: all day" = "المدة: طوال اليوم";
|
|
|
|
|
+"Duration: %dh %dm" = "المدة: %dس %dد";
|
|
|
|
|
+"Duration: %dh" = "المدة: %dس";
|
|
|
|
|
+"Duration: %dm" = "المدة: %dد";
|
|
|
|
|
+"%@ - %@" = "%@ - %@";
|
|
|
|
|
+"Scheduled Meeting" = "اجتماع مجدول";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - نافذة إنشاء اجتماع */
|
|
|
|
|
+"Please enter a title." = "يرجى إدخال عنوان.";
|
|
|
|
|
+"Duration must be a positive number of minutes." = "يجب أن تكون المدة عدداً موجباً من الدقائق.";
|
|
|
|
|
+"Invalid start time." = "وقت بدء غير صالح.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - التذكيرات والإشعارات */
|
|
|
|
|
+"Reminders" = "تذكيرات";
|
|
|
|
|
+"1 Day Before" = "قبل يوم واحد";
|
|
|
|
|
+"12 Hours Before" = "قبل 12 ساعة";
|
|
|
|
|
+"1 Hour Before" = "قبل ساعة واحدة";
|
|
|
|
|
+"Starts in 1 day" = "يبدأ خلال يوم واحد";
|
|
|
|
|
+"Starts in 12 hours" = "يبدأ خلال 12 ساعة";
|
|
|
|
|
+"Starts in 1 hour" = "يبدأ خلال ساعة واحدة";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - أخطاء Google OAuth */
|
|
|
|
|
+"Missing Google OAuth Client ID." = "معرف عميل جوجل OAuth مفقود.";
|
|
|
|
|
+"Missing Google OAuth Client Secret." = "سر عميل جوجل OAuth مفقود.";
|
|
|
|
|
+"Invalid OAuth callback URL." = "رابط رد اتصال OAuth غير صالح.";
|
|
|
|
|
+"Google did not return an authorization code." = "لم تُرجع جوجل رمز تفويض.";
|
|
|
|
|
+"Token exchange failed: %@" = "فشل تبادل الرمز: %@";
|
|
|
|
|
+"Could not open browser for Google sign-in." = "تعذر فتح المتصفح لتسجيل الدخول عبر جوجل.";
|
|
|
|
|
+"Google sign-in timed out." = "انتهت مهلة تسجيل الدخول عبر جوجل.";
|
|
|
|
|
+"No stored Google tokens found." = "لم يتم العثور على رموز جوجل مخزنة.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - أخطاء مساعد الذكاء الاصطناعي/النسخ */
|
|
|
|
|
+"Recording not found." = "لم يتم العثور على التسجيل.";
|
|
|
|
|
+"Local meeting audio is missing." = "صوت الاجتماع المحلي مفقود.";
|
|
|
|
|
+"Generated transcript was empty." = "النسخ المُنشأ فارغ.";
|
|
|
|
|
+"(No transcript entries found.)" = "(لم يتم العثور على إدخالات نسخ.)";
|
|
|
|
|
+"No conference record found for this meeting." = "لم يتم العثور على سجل مؤتمر لهذا الاجتماع.";
|
|
|
|
|
+"No transcript found for this meeting." = "لم يتم العثور على نسخ لهذا الاجتماع.";
|
|
|
|
|
+"Unable to create audio composition tracks." = "تعذر إنشاء مسارات تكوين الصوت.";
|
|
|
|
|
+"Unable to create audio export session." = "تعذر إنشاء جلسة تصدير الصوت.";
|
|
|
|
|
+"Audio mix export failed." = "فشل تصدير مزيج الصوت.";
|
|
|
|
|
+"No display available for system audio capture." = "لا توجد شاشة متاحة لالتقاط صوت النظام.";
|
|
|
|
|
+"Cannot add audio writer input." = "لا يمكن إضافة إدخال كاتب الصوت.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - أخطاء Google API */
|
|
|
|
|
+"Google Meet returned an invalid response." = "أعاد جوجل ميت استجابة غير صالحة.";
|
|
|
|
|
+"Google Meet API error (%d): %@" = "خطأ جوجل ميت API (%d): %@";
|
|
|
|
|
+"Failed to parse Google Meet response: %@" = "فشل تحليل استجابة جوجل ميت: %@";
|
|
|
|
|
+"Google Calendar returned an invalid response." = "أعاد تقويم جوجل استجابة غير صالحة.";
|
|
|
|
|
+"Google Calendar API error (%d): %@" = "خطأ جوجل Calendar API (%d): %@";
|
|
|
|
|
+"Failed to parse Google Calendar events: %@" = "فشل تحليل أحداث تقويم جوجل: %@";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - أخطاء OpenAI */
|
|
|
|
|
+"OpenAI API key is missing. Set OPENAI_API_KEY in the environment or app key vault." = "مفتاح OpenAI API مفقود. قم بتعيين OPENAI_API_KEY في البيئة أو مخزن مفاتيح التطبيق.";
|
|
|
|
|
+"Notes generation returned an invalid response." = "أعاد إنشاء الملاحظات استجابة غير صالحة.";
|
|
|
|
|
+"Notes generation failed (%d): %@" = "فشل إنشاء الملاحظات (%d): %@";
|
|
|
|
|
+"Notes generation returned empty text." = "أعاد إنشاء الملاحظات نصاً فارغاً.";
|
|
|
|
|
+"OpenAI transcription returned an invalid response." = "أعاد نسخ OpenAI استجابة غير صالحة.";
|
|
|
|
|
+"OpenAI transcription failed (%d): %@" = "فشل نسخ OpenAI (%d): %@";
|
|
|
|
|
+"OpenAI transcription returned no text." = "لم يُرجع نسخ OpenAI أي نص.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - التنقل والمتصفح داخل التطبيق */
|
|
|
|
|
+"Open sites in the in-app browser (back, forward, reload, address bar). OAuth and “Continue in browser” flows stay inside the app." = "افتح المواقع في متصفح التطبيق (رجوع، تقدم، إعادة تحميل، شريط العناوين). تدفقات OAuth و«المتابعة في المتصفح» تبقى داخل التطبيق.";
|
|
|
|
|
+"Open in app browser" = "فتح في متصفح التطبيق";
|
|
|
|
|
+"Meet help" = "مساعدة جوجل ميت";
|
|
|
|
|
+"Go" = "انتقال";
|
|
|
|
|
+"Back" = "رجوع";
|
|
|
|
|
+"Forward" = "تقدم";
|
|
|
|
|
+"Reload" = "إعادة تحميل";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - تسميات التقويم والجدولة */
|
|
|
|
|
+"Google Calendar" = "تقويم جوجل";
|
|
|
|
|
+"Untitled meeting" = "اجتماع بدون عنوان";
|
|
|
|
|
+"Created event missing start/end." = "الحدث المنشأ ينقصه البداية/النهاية.";
|
|
|
|
|
+"Created event missing Meet/HTML link." = "الحدث المنشأ ينقصه رابط جوجل ميت/HTML.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - حساب Google */
|
|
|
|
|
+"Google account" = "حساب جوجل";
|
|
|
|
|
+"%@, Google account" = "%@، حساب جوجل";
|
|
|
|
|
+"Google User" = "مستخدم جوجل";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - الانضمام إلى Zoom (أجزاء غير مستخدمة) */
|
|
|
|
|
+"Meeting ID" = "معرف الاجتماع";
|
|
|
|
|
+"Enter meeting ID..." = "أدخل معرف الاجتماع...";
|
|
|
|
|
+"Meeting Passcode" = "رمز مرور الاجتماع";
|
|
|
|
|
+"Enter meeting passcode..." = "أدخل رمز مرور الاجتماع...";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - جدار الدفع (مزايا بديلة) */
|
|
|
|
|
+"Virtual backgrounds" = "خلفيات افتراضية";
|
|
|
|
|
+"Tools for productivity" = "أدوات للإنتاجية";
|
|
|
|
|
+"24/7 support" = "دعم على مدار الساعة";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - المتحدثون في النسخ */
|
|
|
|
|
+"You" = "أنت";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - أخطاء سلسلة المفاتيح */
|
|
|
|
|
+"Failed to read OAuth tokens from Keychain." = "فشل قراءة رموز OAuth من سلسلة المفاتيح.";
|
|
|
|
|
+"Keychain returned an invalid token payload." = "أعادت سلسلة المفاتيح حمولة رمز غير صالحة.";
|
|
|
|
|
+"Failed to update OAuth tokens in Keychain." = "فشل تحديث رموز OAuth في سلسلة المفاتيح.";
|
|
|
|
|
+"Failed to save OAuth tokens to Keychain." = "فشل حفظ رموز OAuth في سلسلة المفاتيح.";
|
|
|
|
|
+"Failed to delete OAuth tokens from Keychain." = "فشل حذف رموز OAuth من سلسلة المفاتيح.";
|
|
|
|
|
+"Unable to allocate audio buffer." = "تعذر تخصيص مخزن صوتي مؤقت.";
|
|
|
|
|
+"Invalid revoke response." = "استجابة إبطال غير صالحة.";
|
|
|
|
|
+"Token revoke failed with status %d." = "فشل إبطال الرمز مع الحالة %d.";
|
|
|
|
|
+
|
|
|
|
|
+/* MARK: - تشخيص الأخطاء */
|
|
|
|
|
+"Keychain: %d (%@)" = "سلسلة المفاتيح: %d (%@)";
|
|
|
|
|
+"OSStatus: %d" = "OSStatus: %d";
|
|
|
|
|
+"Item: service=%@, account=%@" = "عنصر: service=%@, account=%@";
|