diff --git a/ui/flutter/lib/i18n/langs/ar_ar.dart b/ui/flutter/lib/i18n/langs/ar_ar.dart new file mode 100644 index 00000000..9c75797c --- /dev/null +++ b/ui/flutter/lib/i18n/langs/ar_ar.dart @@ -0,0 +1,227 @@ +const arAR = { + 'ar_AR': { + 'label': 'العربية', + 'error': 'خطأ', + 'tip': 'تلميح', + 'confirm': 'تأكيد', + 'confirmDelete': 'هل أنت متأكد من الحذف؟', + 'cancel': 'إلغاء', + 'on': 'تشغيل', + 'off': 'إيقاف', + 'selectAll': 'تحديد الكل', + 'select': 'تحديد', + 'task': 'المهام', + 'downloading': 'جاري التحميل', + 'downloaded': 'تم التحميل', + 'setting': 'الإعدادات', + 'donate': 'تبرع', + 'exit': 'خروج', + 'create': 'إنشاء مهمة', + 'directDownload': 'تنزيل مباشر', + 'advancedOptions': 'خيارات متقدمة', + 'followSettings': 'اتباع الإعدادات', + 'downloadLink': 'رابط التحميل', + 'downloadLinkValid': 'الرجاء إدخال رابط التحميل', + 'downloadLinkHit': 'الرجاء إدخال رابط التحميل، سطر واحد لكل رابط@append', + 'downloadLinkHitDesktop': '، أو اسحب ملف التورنت هنا مباشرة', + 'download': 'تنزيل', + 'noFileSelected': 'الرجاء تحديد ملف واحد على الأقل للمتابعة.', + 'noStoragePermission': 'مطلوب إذن التخزين', + 'selectFile': 'تحديد ملف', + 'rename': 'إعادة تسمية', + 'basic': 'أساسي', + 'advanced': 'متقدم', + 'general': 'عام', + 'downloadDir': 'مجلد التنزيل', + 'downloadDirValid': 'الرجاء تحديد مجلد التنزيل', + 'connections': 'الاتصالات', + 'useServerCtime': 'استخدام وقت الخادم لإنشاء الملف', + 'maxRunning': 'الحد الأقصى للمهام المتزامنة', + 'defaultDirectDownload': 'تفعيل التنزيل المباشر افتراضياً', + 'autoStartTasks': 'بدء المهام غير المكتملة تلقائياً عند التشغيل', + 'autoTorrentEnable': 'إنشاء مهام تورنت تلقائياً من ملفات .torrent', + 'autoTorrentDeleteAfterDownload': 'حذف ملف .torrent بعد إنشاء مهمة التورنت', + 'autoDeleteMissingFileTasks': 'حذف المهام ذات الملفات المفقودة تلقائياً', + 'items': '@count عناصر', + 'subscribeTracker': 'الاشتراك في متتبعات التورنت', + 'subscribeFail': 'فشل الاشتراك، يرجى التحقق من الشبكة أو المحاولة لاحقاً', + 'update': 'تحديث', + 'updateDaily': 'تحديث يومي', + 'lastUpdate': 'آخر تحديث: @time', + 'addTracker': 'إضافة متتبعة', + 'addTrackerHit': 'الرجاء إدخال عنوان URL للمتتبعة، سطر واحد لكل عنوان', + 'ui': 'واجهة المستخدم', + 'theme': 'المظهر', + 'themeSystem': 'النظام', + 'themeLight': 'فاتح', + 'themeDark': 'داكن', + 'locale': 'اللغة', + 'notifyWhenNewVersion': 'الإشعار بتوفر إصدار جديد', + 'analyticsEnabled': 'إحصائيات التحميل', + 'analyticsEnabledDesc': 'شارك بيانات الاستخدام المجهولة لمساعدتنا على التحسين', + 'about': 'حول', + 'homepage': 'الصفحة الرئيسية', + 'version': 'الإصدار', + 'protocol': 'البروتوكول', + 'port': 'المنفذ', + 'apiToken': 'رمز API', + 'notSet': 'غير مضبوط', + 'set': 'تعيين', + 'portInUse': 'المنفذ [@port] قيد الاستخدام، يرجى تغيير المنفذ', + 'effectAfterRestart': 'ساري بعد إعادة التشغيل', + 'developer': 'المطور', + 'logDirectory': 'مجلد السجلات', + 'webhook': 'Webhook', + 'webhookEnable': 'تمكين Webhook', + 'webhookDesc': 'إرسال إشعارات HTTP POST عند اكتمال المهام أو فشلها', + 'webhookUrlHint': 'أدخل عنوان URL لـ Webhook', + 'webhookTest': 'اختبار', + 'webhookTestSuccess': 'اختبار Webhook ناجح', + 'webhookTestFail': 'فشل اختبار Webhook', + 'script': 'سكريبت', + 'scriptEnable': 'تمكين السكريبت', + 'scriptDesc': 'تنفيذ سكريبتات مخصصة عند اكتمال التنزيل بنجاح', + 'scriptPathHint': 'أدخل مسار ملف السكريبت (مثال: /path/to/script.sh)', + 'urlInvalid': 'الرجاء إدخال عنوان URL صالح (HTTP أو HTTPS)', + 'required': 'هذا الحقل مطلوب', + 'show': 'عرض', + 'continue': 'متابعة', + 'pause': 'إيقاف مؤقت', + 'startAll': 'بدء الكل', + 'pauseAll': 'إيقاف الكل مؤقتاً', + 'deleteTask': 'حذف @count مهمة', + 'deleteTaskTip': 'الاحتفاظ بالملفات التي تم تحميلها', + 'delete': 'حذف', + 'add': 'إضافة', + 'edit': 'تعديل', + 'newVersionTitle': 'يتوفر إصدار جديد @version', + 'newVersionUpdate': 'تحديث الآن', + 'newVersionLater': 'لاحقاً', + 'extensions': 'الإضافات', + 'extensionInstallUrl': 'عنوان التثبيت', + 'extensionInstallSuccess': 'تم التثبيت بنجاح', + 'extensionUpdateSuccess': 'تم التحديث بنجاح', + 'extensionDelete': 'حذف الإضافة', + 'extensionAlreadyLatest': 'هذا هو أحدث إصدار بالفعل', + 'extensionFind': 'البحث عن إضافات', + 'extensionDevelop': 'تطوير إضافات', + 'extensionStoreTitle': 'متجر الإضافات', + 'extensionStoreSection': 'إضافات المتجر', + 'extensionInstalledSection': 'الإضافات المثبتة', + 'extensionInstalledEmpty': 'لا توجد إضافات مثبتة بعد', + 'extensionStoreEmpty': 'لم يتم العثور على إضافات مطابقة', + 'extensionSearchHint': 'البحث بالاسم أو العنوان أو الوصف أو المؤلف', + 'extensionSortStars': 'الأعلى تقييماً', + 'extensionSortInstalls': 'الأكثر تثبيتاً', + 'extensionSortUpdated': 'الأحدث تحديثاً', + 'extensionSortToggle': 'تبديل ترتيب الفرز', + 'extensionLoadMore': 'تحميل المزيد', + 'extensionNoMore': 'لا مزيد من الإضافات', + 'extensionInstalled': 'مثبتة', + 'extensionCanUpdate': 'يتوفر تحديث', + 'extensionInstall': 'تثبيت', + 'extensionLoadLocal': 'تثبيت مجلد محلي', + 'extensionFilterAll': 'الكل', + 'extensionFilterMarket': 'المتجر', + 'extensionFilterInstalled': 'المثبتة', + 'extensionManualInstall': 'تثبيت يدوي', + 'extensionInstallTools': 'خيارات التثبيت', + 'history': 'السجل', + 'clearHistory': 'مسح السجل', + 'noHistoryFound': 'لا يوجد سجل', + 'serviceTitle': 'خدمة التحميل', + 'serviceText': 'قيد التشغيل', + 'network': 'الشبكة', + 'proxy': 'الوكيل', + 'noProxy': 'بدون وكيل', + 'systemProxy': 'وكيل النظام', + 'customProxy': 'وكيل مخصص', + 'server': 'الخادم', + 'username': 'اسم المستخدم', + 'password': 'كلمة المرور', + 'thanks': 'شكر وتقدير', + 'thanksDesc': 'شكراً لجميع المساهمين الذين ساعدوا في بناء وتطوير مجتمع Gopeed!', + 'browserExtension': 'إضافة المتصفح', + 'launchAtStartup': 'التشغيل عند بدء التشغيل', + 'runAsMenubarApp': 'التشغيل كتطبيق شريط القوائم', + 'runAsMenubarAppDesc': 'إخفاء أيقونة الإرساء والتشغيل في شريط القوائم فقط', + 'seedConfig': 'إعدادات المشاركة', + 'seedKeep': 'الاستمرار في المشاركة حتى الإيقاف اليدوي', + 'seedRatio': 'نسبة المشاركة', + 'seedTime': 'مدة المشاركة (دقائق)', + 'setAsDefaultBtClient': 'تعيين كعميل تورنت افتراضي', + 'taskDetail': 'تفاصيل المهمة', + 'taskName': 'اسم المهمة', + 'taskUrl': 'رابط المهمة', + 'downloadPath': 'مسار التنزيل', + 'skipVerifyCert': 'تخطي التحقق من الشهادة', + 'archives': 'الملفات المضغوطة', + 'autoExtract': 'فك الضغط تلقائياً', + 'archivePassword': 'كلمة مرور الملف المضغوط', + 'archivePasswordHint': 'اتركه فارغاً إذا لم يكن محمياً بكلمة مرور', + 'deleteAfterExtract': 'حذف الملف المضغوط بعد فك الضغط', + 'extracting': 'جاري فك الضغط', + 'extractDone': 'تم فك الضغط بنجاح', + 'extractError': 'فشل فك الضغط', + 'waitingParts': 'في انتظار الأجزاء', + 'name': 'الاسم', + 'size': 'الحجم', + 'unknown': 'غير معروف', + 'fileSelectedCount': 'الملفات: ', + 'fileSelectedSize': 'الحجم: ', + 'httpHeader': 'رأس HTTP', + 'httpHeaderName': 'اسم الرأس', + 'httpHeaderValue': 'قيمة الرأس', + 'login': 'تسجيل الدخول', + 'username_required': 'الرجاء إدخال اسم المستخدم', + 'password_required': 'الرجاء إدخال كلمة المرور', + 'login_success': 'تم تسجيل الدخول بنجاح', + 'login_failed': 'فشل تسجيل الدخول، يرجى التحقق من اسم المستخدم وكلمة المرور', + 'login_failed_network': 'فشل تسجيل الدخول، يرجى التحقق من اتصال الشبكة', + 'insertPlaceholder': 'إدراج عنصر نائب', + 'placeholderYear': 'السنة الحالية', + 'placeholderMonth': 'الشهر الحالي (01-12)', + 'placeholderDay': 'اليوم الحالي (01-31)', + 'placeholderDate': 'التاريخ الكامل (YYYY-MM-DD)', + 'example': 'مثال: @value', + 'downloadCategories': 'فئات التنزيل', + 'categoryMusic': 'موسيقى', + 'categoryVideo': 'فيديو', + 'categoryDocument': 'مستندات', + 'categoryProgram': 'برامج', + 'categoryName': 'اسم الفئة', + 'categoryPath': 'مسار الفئة', + 'builtInCategory': 'لا يمكن حذف الفئة المضمنة', + 'selectCategory': 'اختر الفئة', + 'githubMirror': 'مرآة GitHub', + 'githubMirrorEnable': 'تمكين مرآة GitHub', + 'githubMirrorDesc': 'استخدام المرايا لتسريع تحميل محتوى GitHub', + 'githubMirrorType': 'نوع المرآة', + 'githubMirrorUrl': 'عنوان URL للمرآة', + 'githubMirrorUrlHint': 'أدخل عنوان URL للمرآة', + 'updateUrl': 'تحديث الرابط', + 'updateUrlManual': 'تحديث يدوي', + 'updateUrlListen': 'الاستماع للتحديثات', + 'updateUrlListeningTip': 'في انتظار تحديث الرابط', + 'updateUrlCancelListen': 'إلغاء الاستماع', + 'updateUrlDialogHint': 'أدخل رابط التحميل الجديد', + 'pendingUpdateFound': 'تم العثور على مهمة في انتظار التحديث', + 'pendingUpdateConfirm': 'المهمة "@name" في انتظار تحديث الرابط. هل تريد تحديثها بالرابط الجديد؟', + 'pendingUpdateYes': 'تحديث المهمة', + 'pendingUpdateNo': 'إنشاء مهمة جديدة', + 'ed2k': 'ED2K', + 'ed2kTcpPort': 'منفذ استماع TCP', + 'ed2kUdpPort': 'منفذ استماع UDP', + 'ed2kServerList': 'عناوين الخوادم', + 'ed2kServerMet': 'مصادر Server.met', + 'ed2kNodesDat': 'مصادر nodes.dat', + 'ed2kAutoPort': 'تخصيص تلقائي', + 'ed2kOnePerLine': 'إدخال واحد في كل سطر', + 'ed2kServersHint': 'host:port، سطر واحد لكل خادم', + 'ed2kServerMetHint': 'عنوان URL لـ Server.met أو رابط قائمة خوادم ed2k، سطر واحد لكل رابط', + 'ed2kNodesDatHint': 'مسار أو عنوان URL لـ nodes.dat، سطر واحد لكل رابط', + 'desktopNotification': 'إشعارات سطح المكتب', + 'notificationTaskDone': 'تمت المهمة', + 'notificationTaskError': 'خطأ في المهمة', + }, +}; diff --git a/ui/flutter/lib/i18n/message.dart b/ui/flutter/lib/i18n/message.dart index 361bf652..8a0f3f46 100644 --- a/ui/flutter/lib/i18n/message.dart +++ b/ui/flutter/lib/i18n/message.dart @@ -19,6 +19,7 @@ import 'langs/uk_ua.dart'; import 'langs/hu_hu.dart'; import 'langs/pt_br.dart'; import 'langs/ca_es.dart'; +import 'langs/ar_ar.dart'; final messages = _Messages(); @@ -44,6 +45,7 @@ class _Messages extends Translations { ...huHU, ...ptBR, ...deDE, - ...caES + ...caES, + ...arAR, }; }