This is an automated email from the ASF dual-hosted git repository.
shahar1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 312cf280191 Complete Arabic translations for the UI 2026-10-27 (#75575)
312cf280191 is described below
commit 312cf28019103f047e912667ff3c92c04f927902
Author: Shahar Epstein <[email protected]>
AuthorDate: Wed Oct 28 00:05:35 2026 +0200
Complete Arabic translations for the UI 2026-10-27 (#75575)
---
.../airflow/ui/public/i18n/locales/ar/admin.json | 33 ++++-
.../airflow/ui/public/i18n/locales/ar/assets.json | 24 +++-
.../airflow/ui/public/i18n/locales/ar/browse.json | 45 ++++++
.../airflow/ui/public/i18n/locales/ar/common.json | 126 ++++++++++++++++-
.../ui/public/i18n/locales/ar/components.json | 50 ++++++-
.../src/airflow/ui/public/i18n/locales/ar/dag.json | 153 ++++++++++++++++++++-
.../airflow/ui/public/i18n/locales/ar/dags.json | 44 +++++-
.../ui/public/i18n/locales/ar/dashboard.json | 21 ++-
.../airflow/ui/public/i18n/locales/ar/hitl.json | 1 +
9 files changed, 481 insertions(+), 16 deletions(-)
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json
index cad3ed3b34c..50d43c02e0d 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/admin.json
@@ -9,7 +9,13 @@
"config": {
"columns": {
"section": "القسم"
- }
+ },
+ "config_few": "تكوينات",
+ "config_many": "تكوينات",
+ "config_one": "تكوين",
+ "config_other": "تكوينات",
+ "config_two": "تكوينان",
+ "config_zero": "لا يوجد أي تكوين"
},
"connections": {
"add": "إضافة موَّصل",
@@ -40,13 +46,16 @@
"firstConfirmMessage_zero": "لا يوجد أي موصل للحذف",
"title": "حذف الموَّصل"
},
+ "duplicate": "تكرار $t(connections.connection_one)",
"edit": "تعديل الموَّصل",
"form": {
"connectionIdRequired": "مطلوب معرِّف الموَّصل",
"connectionIdRequirement": "لا يمكن أن يحتوي معرِّف الموَّصل على مسافات
فقط",
+ "connectionTypeFields": "حقول {{connectionType}}",
"connectionTypeRequired": "مطلوب نوع الموَّصل",
"extraFieldsJson": "JSON حقول إضافية بصيغة",
"helperText": "نوع الموَّصل مفقود؟ تأكد من تثبيت حزمة Airflow المناسبة.",
+ "helperTextForDuplicatedRedactedFields": "لا يتم نسخ الحقول المحجوبة
('***'). املأها للموَّصل الجديد.",
"helperTextForRedactedFields": "لن تتغير الحقول المحجوبة ('***') إذا لم
يتم تعديلها.",
"selectConnectionType": "اختر نوع الموَّصل",
"standardFields": "حقول قياسية"
@@ -106,7 +115,13 @@
"dagProcessorJob": "وظيفة معالج Dag",
"schedulerJob": "وظيفة المُجَدْوِل",
"triggererJob": "وظيفة المُطلِق"
- }
+ },
+ "job_few": "وظائف",
+ "job_many": "وظائف",
+ "job_one": "وظيفة",
+ "job_other": "وظائف",
+ "job_two": "وظيفتان",
+ "job_zero": "لا يوجد أي وظيفة"
},
"plugins": {
"columns": {
@@ -118,6 +133,12 @@
"importError_other": "أخطاء في استيراد المكوّن الإضافي",
"importError_two": "خطأان في استيراد المكوّن الإضافي",
"importError_zero": "لا يوجد أي خطأ في استيراد المكوّن الإضافي",
+ "plugin_few": "إضافات",
+ "plugin_many": "إضافات",
+ "plugin_one": "إضافة",
+ "plugin_other": "إضافات",
+ "plugin_two": "إضافتان",
+ "plugin_zero": "لا يوجد أي إضافة",
"searchPlaceholder": "البحث عن الملفات"
},
"pools": {
@@ -155,7 +176,13 @@
"columns": {
"packageName": "اسم الحزمة",
"version": "الإصدار"
- }
+ },
+ "provider_few": "حُزم",
+ "provider_many": "حُزم",
+ "provider_one": "حُزمة",
+ "provider_other": "حُزم",
+ "provider_two": "حُزمتان",
+ "provider_zero": "لا يوجد أي حُزمة"
},
"variables": {
"add": "إضافة متغير",
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/assets.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/assets.json
index 9410800c1fd..956dd9cf0ab 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/assets.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/assets.json
@@ -1,5 +1,12 @@
{
"additional_data": "بيانات إضافية",
+ "alias_few": "أسماء مستعارة",
+ "alias_many": "أسماء مستعارة",
+ "alias_one": "اسم مستعار",
+ "alias_other": "أسماء مستعارة",
+ "alias_two": "اسمان مستعاران",
+ "alias_zero": "لا يوجد أي اسم مستعار",
+ "aliases": "أسماء مستعارة",
"asset_few": "أصول",
"asset_many": "أصول",
"asset_one": "أصل",
@@ -17,6 +24,12 @@
"deleteWarning": "سيفقد الأصل إدخال مخزن الحالة المحفوظ هذا.",
"edit": "تعديل مخزن حالة الأصل",
"emptyState": "يخزّن مخزن حالة الأصل قيماً مرتبطة بهوية الأصل، وتكون
مشتركة عبر جميع تشغيلات Dag. يمكن للعمّال الكتابة إلى مخزن حالة الأصل عبر Task
SDK.",
+ "entry_few": "إدخالات",
+ "entry_many": "إدخالات",
+ "entry_one": "إدخال",
+ "entry_other": "إدخالات",
+ "entry_two": "إدخالان",
+ "entry_zero": "لا يوجد أي إدخال",
"lastUpdatedBy": "آخر تحديث بواسطة",
"lastUpdatedByApi": "API",
"lastUpdatedByWatcher": "المراقب",
@@ -46,9 +59,9 @@
"title": "إنشاء حدث أصل لـ {{name}}"
},
"events": "الأحداث",
- "extra": "إضافي",
"filters": {
"groupPlaceholder": "البحث عن مجموعة",
+ "hasEvents": "يحتوي على أحداث",
"lastEventDateRange": "تاريخ آخر حدث"
},
"group": "المجموعة",
@@ -58,5 +71,12 @@
"scheduledDags": "Dags المجدولة",
"scheduling": "الجدولة",
"searchPlaceholder": "البحث عن الأصول",
- "taskDependencies": "تبعيات المهام"
+ "taskDependencies": "تبعيات المهام",
+ "watcher_few": "مراقبون",
+ "watcher_many": "مراقبون",
+ "watcher_one": "مراقب",
+ "watcher_other": "مراقبون",
+ "watcher_two": "مراقبان",
+ "watcher_zero": "لا يوجد أي مراقب",
+ "watchers": "المراقبون"
}
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/browse.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/browse.json
index bcb3a7d0ce1..a9ed54d09f5 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/browse.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/browse.json
@@ -10,6 +10,44 @@
"eventType": "نوع الأصل"
}
},
+ "dagBundles": {
+ "active": "نشط",
+ "columns": {
+ "active": "نشط",
+ "importErrors": "أخطاء الاستيراد",
+ "lastRefreshed": "آخر تحديث",
+ "name": "الاسم",
+ "version": "الإصدار"
+ },
+ "detail": {
+ "status": "الحالة"
+ },
+ "files": {
+ "columns": {
+ "file": "الملف",
+ "lastParsed": "آخر تحليل",
+ "parseDuration": "مدة التحليل"
+ },
+ "file_few": "ملفات",
+ "file_many": "ملفات",
+ "file_one": "ملف",
+ "file_other": "ملفات",
+ "file_two": "ملفان",
+ "file_zero": "لا يوجد أي ملف",
+ "importErrorGone": "لم يعد خطأ الاستيراد هذا مسجلاً. ربما تم إصلاحه
بإعادة التحليل.",
+ "neverParsed": "أبداً",
+ "showImportError_few": "عرض {{count, number}} أخطاء",
+ "showImportError_many": "عرض {{count, number}} خطأً",
+ "showImportError_one": "عرض الخطأ",
+ "showImportError_other": "عرض {{count, number}} خطأ",
+ "showImportError_two": "عرض خطأين",
+ "showImportError_zero": "لا توجد أخطاء"
+ },
+ "inactive": "غير نشط",
+ "neverRefreshed": "أبداً",
+ "notRefreshedYet": "لم يتم التحديث بعد",
+ "notVersioned": "بدون إصدار"
+ },
"deadlines": {
"columns": {
"alertName": "اسم التنبيه",
@@ -43,6 +81,7 @@
"columns": {
"dag": "Dag",
"key": "مفتاح",
+ "timestamp": "الختم الزمني",
"value": "قيمة"
},
"delete": {
@@ -60,6 +99,12 @@
"successTitle": "تم تحديث XCom",
"title": "تعديل XCom"
},
+ "entry_few": "إدخالات XCom",
+ "entry_many": "إدخالات XCom",
+ "entry_one": "إدخال XCom",
+ "entry_other": "إدخالات XCom",
+ "entry_two": "إدخالا XCom",
+ "entry_zero": "لا يوجد أي إدخال XCom",
"key": "مفتاح",
"title": "(XCom) إكس كوم",
"value": "قيمة"
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/common.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/common.json
index e0dd904df03..ba12a48ec36 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/common.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/common.json
@@ -36,8 +36,10 @@
"backfill_other": "إعادات ملء",
"backfill_two": "إعادتا ملء",
"backfill_zero": "لا يوجد أي إعادة ملء",
+ "breadcrumb": "مسار التنقل",
"browse": {
"auditLog": "سجل المراجعة",
+ "dagBundles": "حزم Dag",
"deadlines": "المواعيد النهائية",
"jobs": "الوظائف",
"requiredActions": "إجراءات مطلوبة",
@@ -58,7 +60,15 @@
"dag_other": "Dags",
"dag_two": "2 Dags",
"dag_zero": "لا يوجد أي Dag",
+ "dagBundle_few": "حزم Dag",
+ "dagBundle_many": "حزم Dag",
+ "dagBundle_one": "حزمة Dag",
+ "dagBundle_other": "حزم Dag",
+ "dagBundle_two": "حزمتا Dag",
+ "dagBundle_zero": "لا يوجد أي حزمة Dag",
"dagDetails": {
+ "activeRuns": "التشغيلات النشطة",
+ "bundleVersion": "إصدار الحزمة",
"catchup": "إلحاق",
"dagRunTimeout": "مهلة تشغيل الDag",
"defaultArgs": "متغيرات افتراضية",
@@ -111,8 +121,6 @@
"dagRun_zero": "لا يوجد أي مثيل تشغيل لDag",
"dagRunId": "معرف تشغيل الDag",
"dagRunState": "حالة تشغيل Dag",
- "defaultToGraphView": "عرض الرسم البياني تلقائياً",
- "defaultToGridView": "عرض الشبكة تلقائياً",
"delete": "حذف",
"diff": "الفرق",
"diffCompareWith": "قارن مع",
@@ -146,6 +154,12 @@
"title": "تم رفض الوصول"
}
},
+ "event_few": "أحداث",
+ "event_many": "أحداث",
+ "event_one": "حدث",
+ "event_other": "أحداث",
+ "event_two": "حدثان",
+ "event_zero": "لا يوجد أي حدث",
"expand": {
"collapse": "طي",
"expand": "توسيع",
@@ -157,26 +171,49 @@
"all": "الكل",
"and": "و",
"any": "أي",
+ "hiddenAsset": "أصل مخفي",
"or": "أو"
},
"filter": "فلتر",
"filters": {
+ "addFilter": "إضافة فلتر",
+ "allIterations": "الكل",
+ "completedAt": "اكتمل في",
+ "date": "التاريخ",
"durationFrom": "المدة من",
"durationTo": "المدة إلى",
"endTime": "وقت الانتهاء",
+ "iteration": "التكرار",
"logicalDateFrom": "من التاريخ المنطقي",
"logicalDateTo": "إلى التاريخ المنطقي",
+ "loop": "الحلقة",
+ "loopAllIterations": "{{loop}} الكل",
+ "loopIteration": "{{loop}} {{index}}",
+ "loopPlaceholder": "اختر حلقة",
+ "maxActiveRunsFrom": "الحد الأقصى للتشغيلات النشطة من",
+ "maxActiveRunsTo": "الحد الأقصى للتشغيلات النشطة إلى",
+ "removeFilter": "إزالة الفلتر",
"runAfterFrom": "من تشغيل بعد",
"runAfterTo": "إلى تشغيل بعد",
"searchAsset": "بحث عن أصل",
"selectDateRange": "اختر نطاق التاريخ",
- "startTime": "وقت البدء"
+ "selectDateTime": "اختر التاريخ والوقت",
+ "startTime": "وقت البدء",
+ "switchIteration": "تبديل التكرار",
+ "time": "الوقت"
},
"fullscreen": {
"tooltip": "اضغط {{hotkey}} لملء الشاشة"
},
"generateToken": "توليد رمز",
+ "includedIn": "مُضمَّن في",
"key": "المفتاح",
+ "loading": "جارٍ التحميل…",
+ "logLevel": {
+ "hide": "إخفاء مستويات السجل",
+ "hotkey": "l",
+ "show": "إظهار مستويات السجل"
+ },
"logicalDate": "التاريخ المنطقي",
"logout": "تسجيل الخروج",
"logoutConfirmation": "أنت على وشك تسجيل الخروج.",
@@ -196,12 +233,14 @@
"assets": "أصول",
"browse": "تصفح",
"dags": "Dags",
+ "dashboard": "لوحة التحكم",
"docs": "وثائق",
"home": "الصفحة الرئيسية",
"legacyFabViews": "عروض قديمة",
"plugins": "إضافات",
"security": "الأمان"
},
+ "no": "لا",
"noItemsFound": "لم يتم العثور على {{modelName}}",
"note": {
"add": "إضافة",
@@ -214,6 +253,12 @@
"write": "كتابة"
},
"overallStatus": "الحالة العامة",
+ "partition_few": "تقسيمات",
+ "partition_many": "تقسيمات",
+ "partition_one": "تقسيم",
+ "partition_other": "تقسيمات",
+ "partition_two": "تقسيمان",
+ "partition_zero": "لا يوجد أي تقسيم",
"partitionedDagRun_few": "تشغيلات Dag مُجزأة",
"partitionedDagRun_many": "تشغيل Dag مُجزأ",
"partitionedDagRun_one": "تشغيل Dag مُجزأ",
@@ -223,6 +268,7 @@
"partitionedDagRunDetail": {
"receivedAssetEvents": "أحداث الأصول المستلمة"
},
+ "pause": "إيقاف مؤقت",
"pendingDagRun_few": "{{count, number}} تشغيلات Dag مُعلّقة",
"pendingDagRun_many": "{{count, number}} تشغيل Dag مُعلّق",
"pendingDagRun_one": "تشغيل Dag مُعلّق واحد",
@@ -279,6 +325,10 @@
"selected": "محدد",
"settings": {
"clearing": {
+ "keepTaskState": {
+ "helper": "الاحتفاظ بإدخالات مخزن حالة المهمة افتراضياً عند مسح مثيلات
المهام بدلاً من تجاهلها.",
+ "label": "الاحتفاظ بحالة المهمة عند المسح"
+ },
"preventRunningTask": {
"helper": "تخطي المهام الجارية حالياً عند مسح مثيلات المهام.",
"label": "منع مسح المهام الجارية"
@@ -293,12 +343,34 @@
},
"title": "المسح"
},
+ "dagsList": {
+ "recentTasks": {
+ "helper": "عرض حالات المهام الأخيرة لكل Dag في قائمة Dags. أوقف هذا
الخيار لتخطي تحميلها، مما قد يساعد في البيئات التي تحتوي على عدد كبير من Dags.",
+ "label": "عرض المهام الأخيرة"
+ },
+ "title": "قائمة Dags"
+ },
"description": "يتم حفظ هذه التفضيلات في هذا المتصفح فقط وتُطبَّق على
التطبيق بأكمله.",
+ "general": {
+ "landingPage": {
+ "helper": "الصفحة المعروضة عند فتح Airflow.",
+ "label": "الصفحة الافتتاحية",
+ "options": {
+ "dags": "Dags",
+ "dashboard": "لوحة التحكم"
+ }
+ },
+ "title": "عام"
+ },
"graph": {
"defaultDirection": {
"helper": "اتجاه التخطيط لرسوم Dag والأصول البيانية التي لم تُحدَّد
بشكل فردي.",
"label": "اتجاه الرسم البياني الافتراضي"
},
+ "taskGroupsExpanded": {
+ "helper": "توسيع مجموعات المهام في Dags التي لم تحفظ فيها اختياراً
للمجموعات. يتم الاحتفاظ بالاختيارات الحالية.",
+ "label": "توسيع مجموعات المهام افتراضياً"
+ },
"title": "الرسم البياني"
},
"marking": {
@@ -308,6 +380,20 @@
},
"title": "التمييز"
},
+ "search": {
+ "matchAnywhere": {
+ "helper": "$t(search.advanced.description) تظل الأولوية لاختيارات كل
شريط بحث وللروابط المشتركة.",
+ "label": "المطابقة في أي موضع افتراضياً"
+ },
+ "title": "البحث"
+ },
+ "taskInstance": {
+ "defaultTab": {
+ "helper": "علامة التبويب المعروضة أولاً عند فتح مثيل مهمة. الروابط إلى
علامة تبويب محددة تفتح تلك العلامة.",
+ "label": "علامة التبويب الافتراضية لمثيل المهمة"
+ },
+ "title": "مثيل المهمة"
+ },
"title": "الإعدادات"
},
"shortcuts": {
@@ -343,6 +429,7 @@
"toggleExpand": "توسيع أو طي جميع المجموعات",
"toggleFullscreen": "تبديل ملء الشاشة",
"toggleGraphGrid": "التبديل بين عرض الرسم البياني والشبكة",
+ "toggleLogLevel": "تبديل مستويات السجل",
"toggleSource": "تبديل المصدر",
"toggleTaskGroup": "توسيع أو طي $t(taskGroup_one)",
"toggleTimestamp": "تبديل الأختام الزمنية",
@@ -380,6 +467,7 @@
"no_status": "بلا حالة",
"none": "لا شيء",
"open": "مفتوح",
+ "pending": "قيد الانتظار",
"planned": "مخطط",
"queued": "في الانتظار",
"removed": "محذوف",
@@ -392,6 +480,9 @@
"up_for_retry": "جاهز للمحاولة مرة أخرى",
"upstream_failed": "فشِل في المهام السابقة"
},
+ "switchDag": "تبديل $t(dag_one)",
+ "switchDagRun": "تبديل $t(dagRun_one)",
+ "switchMapIndex": "تبديل $t(mapIndex)",
"table": {
"completedAt": "اكتمل في",
"createdAt": "تم الإنشاء في",
@@ -405,8 +496,10 @@
"filterReset_zero": "لا يوجد أي فلتر لمسحه",
"from": "من",
"maxActiveRuns": "الحد الأقصى للتشغيلات النشطة",
+ "noResultsFound": "لم يتم العثور على نتائج",
"noTagsFound": "لم يتم العثور على وسوم",
"noTeamsFound": "لم يتم العثور على فرق",
+ "ownerPlaceholder": "تصفية حسب المالك",
"tagMode": {
"all": "الكل",
"any": "اي شيء"
@@ -447,6 +540,9 @@
"executorConfig": "تكوين المنفذ",
"hostname": "اسم المضيف",
"id": "المعرف",
+ "iteration": "التكرار",
+ "loopDecision": "القرار",
+ "loopIterations": "التكرارات المنفذة",
"maxTries": "الحد الأقصى للمحاولات",
"pid": "معرف العملية",
"pool": "مجموعة الموارد",
@@ -456,6 +552,11 @@
"queuedWhen": "في الطابور في",
"renderedMapIndex": "فهرس الخريطة المعروض",
"scheduledWhen": "مجدول في",
+ "stateReason": "سبب الحالة",
+ "stateReasonSummary": {
+ "failed": "توقف عند المحاولة {{tryNumber}} من {{totalTries}}",
+ "upForRetry": "إعادة المحاولة بعد المحاولة {{tryNumber}} من
{{totalTries}}"
+ },
"trigger": "المُحفِّز",
"triggerer": {
"assigned": "مُطلِق مُخصص",
@@ -474,10 +575,25 @@
"taskInstance_other": "مثيلات المهمة",
"taskInstance_two": "مثيلا المهمة",
"taskInstance_zero": "لا يوجد أي مثيل للمهمة",
+ "teams": {
+ "more_few": "و{{count, number}} فرق أخرى",
+ "more_many": "و{{count, number}} فريقاً آخر",
+ "more_one": "و{{count, number}} فريق آخر",
+ "more_other": "و{{count, number}} فريق آخر",
+ "more_two": "وفريقان آخران",
+ "more_zero": "و{{count, number}} آخر",
+ "none": "لا يوجد فريق",
+ "title": "الفرق"
+ },
"timeRange": {
+ "anyTime": "أي وقت",
+ "in": "في",
+ "last7Days": "آخر 7 أيام",
"last12Hours": "آخر 12 ساعة",
"last24Hours": "آخر 24 ساعة",
+ "last30Days": "آخر 30 يوماً",
"lastHour": "الساعة الماضية",
+ "latestRun": "آخر تشغيل",
"pastWeek": "الأسبوع الماضي"
},
"timestamp": {
@@ -558,6 +674,7 @@
"total": "إجمالي {{state}}",
"triggered": "مُشغل",
"tryNumber": "محاولة رقم",
+ "unpause": "استئناف",
"user": "المستخدم",
"validation": {
"mustBeAtLeast": "يجب أن يكون على الأقل {{min}}.",
@@ -569,5 +686,6 @@
"tooltip": "اضغط {{hotkey}} لتبديل الالتفاف",
"unwrap": "إلغاء التفاف",
"wrap": "التفاف"
- }
+ },
+ "yes": "نعم"
}
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/components.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/components.json
index c4d336b4149..e0cb0a84d6a 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/components.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/components.json
@@ -21,6 +21,14 @@
"missingRuns": "تشغيلات مفقودة",
"notCreatedReason": "سبب عدم الإنشاء",
"overrideExistingParams": "تجاوز المعلمات في التشغيلات الحالية",
+ "partitionRange": "نطاق التقسيم",
+ "partitionsAffected_few": "ستتم تعبئة {{count, number}} تقسيمات رجعياً:",
+ "partitionsAffected_many": "ستتم تعبئة {{count, number}} تقسيماً رجعياً:",
+ "partitionsAffected_one": "ستتم تعبئة تقسيم واحد رجعياً:",
+ "partitionsAffected_other": "ستتم تعبئة {{count, number}} تقسيم رجعياً:",
+ "partitionsAffected_two": "ستتم تعبئة تقسيمين رجعياً:",
+ "partitionsAffected_zero": "لن تتم تعبئة أي تقسيم رجعياً:",
+ "partitionsNone": "لا توجد تقسيمات تطابق النطاق المحدد.",
"permissionDenied": "فشل التشغيل التجريبي (Dry Run): ليس لدى المستخدم
صلاحية لإنشاء تعبئات رجعية.",
"reprocessBehavior": "اعادة معالجة السلوك",
"run": "تشغيل التعبئة الرجعية",
@@ -136,6 +144,14 @@
"taskGroup": "مجموعة المهام",
"zoomToTask": "تكبير إلى المهمة المحددة"
},
+ "jsonPreview": {
+ "items_few": "{{count, number}} عناصر",
+ "items_many": "{{count, number}} عنصراً",
+ "items_one": "عنصر واحد",
+ "items_other": "{{count, number}} عنصر",
+ "items_two": "عنصران",
+ "items_zero": "لا توجد عناصر"
+ },
"limitedList": "+{{count, number}} المزيد",
"limitedList.allItems": "جميع العناصر {{count, number}}:",
"limitedList.allTags_few": "كل العلامات ({{count, number}})",
@@ -157,11 +173,32 @@
"file": "ملف",
"location": "سطر {{line}} في {{name}}"
},
+ "passwordToggle": {
+ "hide": "إخفاء القيمة",
+ "show": "إظهار القيمة"
+ },
+ "pausedDag": {
+ "drain": "تصريف",
+ "drainDescription": "تستمر التشغيلات غير المكتملة، لكن لا يتم إنشاء
تشغيلات مجدولة. تبقى التعبئات الرجعية المتوقفة متوقفة. يتوقف Dag مرة أخرى بعد
انتهاء جميع التشغيلات غير المكتملة.",
+ "keepPaused": "إبقاء متوقفاً",
+ "keepPausedDescription": "تنتظر التشغيلات الجديدة وغير المكتملة حتى يتم
استئناف Dag.",
+ "title": "Dag متوقف",
+ "unfinishedRunsWillRun_few": "سيبدأ أو يُستأنف {{count, number}} تشغيلات
Dag غير مكتملة.",
+ "unfinishedRunsWillRun_many": "سيبدأ أو يُستأنف {{count, number}} تشغيل
Dag غير مكتمل.",
+ "unfinishedRunsWillRun_one": "سيبدأ أو يُستأنف تشغيل Dag واحد غير مكتمل.",
+ "unfinishedRunsWillRun_other": "سيبدأ أو يُستأنف {{count, number}} تشغيل
Dag غير مكتمل.",
+ "unfinishedRunsWillRun_two": "سيبدأ أو يُستأنف تشغيلا Dag غير مكتملين.",
+ "unfinishedRunsWillRun_zero": "لا توجد تشغيلات Dag غير مكتملة ستبدأ أو
تُستأنف.",
+ "unpause": "استئناف",
+ "unpauseDescription": "يصبح Dag نشطاً: تستمر التشغيلات غير المكتملة
ويُستأنف الجدول. تبقى التعبئات الرجعية المتوقفة متوقفة."
+ },
"reparseDag": "إعادة تحليل Dag",
"slowestTaskInstances": {
"empty": "لا توجد مثيلات مهام مكتملة ضمن هذا النطاق",
"title": "أبطأ مثيلات المهام"
},
+ "sort": "فرز",
+ "sortMultiColumnHint": "انقر مع الضغط على Shift للفرز حسب عدة أعمدة",
"sortedAscending": "الترتيب تصاعدي",
"sortedDescending": "الترتيب تنازلي",
"sortedUnsorted": "غير مرتب",
@@ -178,15 +215,24 @@
"toggleTableView": "عرض الجدول",
"triggerDag": {
"button": "تشغيل",
+ "dagStartEndDate": {
+ "both": "تاريخ بدء Dag: {{startDate}}، تاريخ الانتهاء: {{endDate}}",
+ "end": "تاريخ انتهاء Dag: {{endDate}}",
+ "noTaskWillRun": "لن يتم تشغيل أي مهمة.",
+ "start": "تاريخ بدء Dag: {{startDate}}"
+ },
"dataInterval": "فترة البيانات",
"dataIntervalAuto": "مستنتجة من التاريخ المنطقي والجدول الزمني",
"dataIntervalManual": "تحديد يدويًا",
+ "editConfigAndTrigger": "تعديل التكوين والتشغيل",
"intervalEnd": "النهاية",
"intervalStart": "البداية",
"loading": "جارٍ تحميل معلومات Dag...",
"loadingFailed": "فشل تحميل معلومات Dag. يرجى المحاولة مرة أخرى.",
"manualRunDenied": "التشغيلات اليدوية غير مسموح بها لهذا الـDag",
"partitionKeyHelp": "اختياري - ينطبق فقط على Dags المُجزأة",
+ "recentConfig": "التكوينات الأخيرة",
+ "recentConfigPlaceholder": "اختر تكويناً حديثاً",
"runIdHelp": "اختياري - سيتم توليده تلقائيًا إذا لم يتم توفيره.",
"selectDescription": "تشغيل عملية واحدة من هذا Dag",
"selectLabel": "تشغيلة واحدة",
@@ -200,7 +246,8 @@
"title": "تم تشغيل Dag"
}
},
- "triggerAgainWithConfig": "تشغيل مرة أخرى باستخدام هذا التكوين"
+ "triggerAgainWithConfig": "تشغيل مرة أخرى باستخدام هذا التكوين",
+ "triggerOptions": "خيارات التشغيل"
},
"trimText": {
"details": "التفاصيل",
@@ -217,6 +264,7 @@
"versionSelect": {
"allVersions": "كل الإصدارات",
"dagVersion": "إصدار Dag",
+ "placeholder": "اختر إصداراً",
"versionCode": "v{{versionCode}}"
}
}
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/dag.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dag.json
index 0788f83d460..4c6f8963cbb 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/dag.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dag.json
@@ -1,4 +1,5 @@
{
+ "allMapIndexes": "جميع فهارس الخريطة",
"allRuns": "جميع التشغيلات",
"blockingDeps": {
"dependency": "التبعية",
@@ -6,6 +7,7 @@
"title": "التبعيات التي تمنع جدولة المهمة"
},
"calendar": {
+ "backfill": "التعبئة الرجعية",
"daily": "يومي",
"hourly": "ساعي",
"legend": {
@@ -34,6 +36,25 @@
"wednesday": "الأربعاء"
}
},
+ "callbacks": {
+ "callback_few": "استدعاءات رجعية",
+ "callback_many": "استدعاءات رجعية",
+ "callback_one": "استدعاء رجعي",
+ "callback_other": "استدعاءات رجعية",
+ "callback_two": "استدعاءان رجعيان",
+ "callback_zero": "لا يوجد أي استدعاء رجعي",
+ "columns": {
+ "alertName": "تنبيه الموعد النهائي",
+ "callback": "الاستدعاء الرجعي",
+ "deadlineTime": "وقت الموعد النهائي",
+ "missedBy": "فائت بمقدار",
+ "type": "النوع"
+ },
+ "types": {
+ "executor": "متزامن",
+ "triggerer": "غير متزامن"
+ }
+ },
"code": {
"bundleUrl": "حزمة URL",
"noCode": "'لا توجد 'كود",
@@ -104,10 +125,6 @@
"critical": "حرِج",
"debug": "تصحيح",
"error": "خطأ",
- "fullscreen": {
- "button": "ملء الشاشة",
- "tooltip": "اضغط على {{hotkey}} للدخول إلى وضع ملء الشاشة"
- },
"info": "معلومات",
"noTryNumber": "لا يوجد رقم محاولة",
"search": {
@@ -116,9 +133,44 @@
"placeholder": "ابحث في السجلات..."
},
"settings": "سجل الإعدادات",
+ "tryNotStarted": "لم تبدأ هذه المحاولة بعد.",
+ "viewFailedTry": "عرض سجلات المحاولة الفاشلة {{tryNumber}}",
"viewInExternal": "عرض السجلات في {{name}} (المحاولة {{attempt}})",
+ "viewPreviousTry": "عرض سجلات المحاولة السابقة {{tryNumber}}",
+ "waitingToRetry": "المحاولة {{tryNumber}} بانتظار إعادة المحاولة.",
"warning": "تحذير"
},
+ "loop": {
+ "history": {
+ "capLabel": "الحد: {{max}}",
+ "iterationsAxis": "التكرارات",
+ "stats": {
+ "capHits": "بلغ الحد",
+ "medianIterations": "وسيط التكرارات"
+ },
+ "title": "التكرارات لكل تشغيل"
+ },
+ "iterationLabel": "التكرار {{index}}",
+ "iterations": "التكرارات",
+ "outcome": "النتيجة",
+ "reason": {
+ "cap_reached": "بلغ حد التكرارات ({{max}})",
+ "failed": "فشل عند التكرار {{index}}",
+ "iteration_failed": "فشل التكرار {{index}} في {{taskId}}",
+ "ran_to_cap": "نُفِّذت جميع التكرارات المسموح بها وعددها {{max}}",
+ "removed": "محذوف",
+ "running": "قيد التشغيل",
+ "skipped": "متجاوز",
+ "stopped_early": "توقف مبكراً عند التكرار {{index}}"
+ },
+ "rules": {
+ "behaviour": "السلوك",
+ "boundedFor": "يُنفِّذ عدداً ثابتاً من التكرارات",
+ "exitCriteria": "معايير الخروج",
+ "maxIterations": "الحد الأقصى للتكرارات",
+ "whileUntil": "يتكرر حتى {{criteria}}"
+ }
+ },
"notFound": {
"back": "رجوع",
"backToDags": "العودة إلى Dags",
@@ -239,6 +291,7 @@
"auditLog": "سجل التدقيق",
"backfills": "التعبئة الرجعية",
"calendar": "التقويم",
+ "callbacks": "الاستدعاءات الرجعية",
"code": "الكود",
"details": "التفاصيل",
"logs": "السجلات",
@@ -255,6 +308,7 @@
"taskInstances": "مثيلات المهام",
"taskStateStore": "مخزن حالة المهمة",
"tasks": "المهام",
+ "versions": "الإصدارات",
"xcom": "XCom"
},
"taskGroups": {
@@ -272,6 +326,12 @@
"deleteWarning": "ستفقد المهمة هذه الذاكرة المحفوظة. إذا كانت المهمة
تستخدم هذا المفتاح لتتبع عمل خارجي (مثل معرّف وظيفة خارجية)، فلن تتمكن من
استئنافه.",
"edit": "تعديل مخزن حالة المهمة",
"emptyStore": "يخزّن مخزن حالة المهمة قيماً تستمر عبر إعادات المحاولة.
يمكن للعمّال الكتابة إلى مخزن حالة المهمة عبر Task SDK.",
+ "entry_few": "إدخالات",
+ "entry_many": "إدخالات",
+ "entry_one": "إدخال",
+ "entry_other": "إدخالات",
+ "entry_two": "إدخالان",
+ "entry_zero": "لا يوجد أي إدخال",
"expiresAt": {
"column": "تنتهي الصلاحية في",
"custom": "مخصص",
@@ -280,5 +340,90 @@
"never": "أبداً"
},
"title": "مخزن حالة المهمة"
+ },
+ "versions": {
+ "base": "المقارنة من",
+ "categories": {
+ "asset": "أصل",
+ "authorization": "التفويض",
+ "callback": "الاستدعاء الرجعي",
+ "deadline": "الموعد النهائي",
+ "dependency": "التبعية",
+ "metadata": "البيانات الوصفية",
+ "param": "المعلمة",
+ "provenance": "المصدر",
+ "schedule": "الجدول",
+ "task": "المهمة",
+ "unknown": "غير معروف"
+ },
+ "codeAccess": "تتطلب القيم صلاحية الوصول إلى كود Dag",
+ "columns": {
+ "after": "بعد",
+ "before": "قبل",
+ "category": "الفئة",
+ "impact": "التأثير",
+ "operation": "العملية",
+ "path": "المسار"
+ },
+ "heading": "الإصدار {{base}} ← الإصدار {{target}}",
+ "impacts": {
+ "authorization": "التفويض",
+ "execution": "التنفيذ",
+ "metadata": "البيانات الوصفية",
+ "provenance": "المصدر",
+ "unknown": "غير معروف"
+ },
+ "limitReached": {
+ "description": "عدد التغييرات أكبر مما يسمح به حد «الحد الأقصى
للتغييرات». ارفع الحد لعرض الباقي.",
+ "descriptionDefault": "عدد التغييرات أكبر مما يسمح به الحد الافتراضي.
اضبط «الحد الأقصى للتغييرات» على قيمة أعلى لعرض الباقي.",
+ "title": "عرض أول {{limit, number}} من التغييرات فقط"
+ },
+ "maxChanges": "الحد الأقصى للتغييرات",
+ "maxChangesDefault": "افتراضي",
+ "noChanges": "هذان الإصداران يحملان الحالة نفسها.",
+ "operations": {
+ "added": "مُضاف",
+ "changed": "مُعدَّل",
+ "removed": "محذوف"
+ },
+ "pathOccurrences_few": "{{count, number}} تغييرات تشترك في هذا المسار",
+ "pathOccurrences_many": "{{count, number}} تغييراً يشترك في هذا المسار",
+ "pathOccurrences_one": "تغيير واحد يشترك في هذا المسار",
+ "pathOccurrences_other": "{{count, number}} تغيير يشترك في هذا المسار",
+ "pathOccurrences_two": "تغييران يشتركان في هذا المسار",
+ "pathOccurrences_zero": "لا توجد تغييرات تشترك في هذا المسار",
+ "pathOccurrencesAtLeast_few": "{{count, number}} تغييرات على الأقل تشترك
في هذا المسار",
+ "pathOccurrencesAtLeast_many": "{{count, number}} تغييراً على الأقل يشترك
في هذا المسار",
+ "pathOccurrencesAtLeast_one": "تغيير واحد على الأقل يشترك في هذا المسار",
+ "pathOccurrencesAtLeast_other": "{{count, number}} تغيير على الأقل يشترك
في هذا المسار",
+ "pathOccurrencesAtLeast_two": "تغييران على الأقل يشتركان في هذا المسار",
+ "pathOccurrencesAtLeast_zero": "{{count, number}} تغيير على الأقل يشترك في
هذا المسار",
+ "record_few": "سجلات",
+ "record_many": "سجلات",
+ "record_one": "سجل",
+ "record_other": "سجلات",
+ "record_two": "سجلان",
+ "record_zero": "لا يوجد أي سجل",
+ "schemaChange": "المخطط المُسلسَل {{baseSchema}} ← {{targetSchema}}",
+ "selectPrompt": "اختر إصدارين لرؤية ما تغيّر بينهما.",
+ "summary_few": "{{count, number}} تغييرات",
+ "summary_many": "{{count, number}} تغييراً",
+ "summary_one": "تغيير واحد",
+ "summary_other": "{{count, number}} تغيير",
+ "summary_two": "تغييران",
+ "summary_zero": "لا توجد تغييرات",
+ "summaryAtLeast_few": "{{count, number}} تغييرات على الأقل",
+ "summaryAtLeast_many": "{{count, number}} تغييراً على الأقل",
+ "summaryAtLeast_one": "تغيير واحد على الأقل",
+ "summaryAtLeast_other": "{{count, number}} تغيير على الأقل",
+ "summaryAtLeast_two": "تغييران على الأقل",
+ "summaryAtLeast_zero": "{{count, number}} تغيير على الأقل",
+ "target": "المقارنة مع",
+ "unavailable": {
+ "description": "تعذّرت مقارنة هذين الإصدارين. السبب:",
+ "title": "المقارنة غير متاحة",
+ "withoutReason": "تعذّرت مقارنة هذين الإصدارين."
+ },
+ "valuesHidden": "القيم مخفية"
}
}
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/dags.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dags.json
index 654b6f23f24..f7db3752222 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/dags.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dags.json
@@ -6,6 +6,11 @@
"warning": "سيؤدي هذا إلى إزالة جميع البيانات الوصفية المرتبطة بالDag،
بما في ذلك التشغيلات والمهام."
}
},
+ "draining": {
+ "badgeTooltip": "سيتوقف هذا Dag بعد انتهاء تشغيلات Dag الجارية.",
+ "label": "قيد التصريف",
+ "tooltip": "جارٍ تصريف {{dagDisplayName}} — سيتوقف بعد انتهاء تشغيلات Dag
الجارية. انقر للاستئناف."
+ },
"favoriteDag": "تفضيل الDag",
"filters": {
"allRunTypes": "جميع أنواع التشغيلات",
@@ -15,16 +20,36 @@
"favorite": "تفضيل",
"unfavorite": "إلغاء التفضيل"
},
+ "favoriteState": "حالة التفضيل",
+ "favoriteStatePlaceholder": "اختر حالة التفضيل…",
"noTimetableTypesFound": "لم يتم العثور على أنواع جداول زمنية",
"paused": {
"active": "مفعّل",
"all": "الكل",
"paused": "متوقف"
},
+ "pausedPlaceholder": "اختر حالة الإيقاف…",
+ "pausedState": "حالة الإيقاف",
+ "requiresHitlAction": "يتطلب إجراء HITL",
"runIdPatternFilter": "بحث تشغيلات الDag",
+ "runState": "حالة التشغيل",
+ "runStatePlaceholder": "اختر حالة التشغيل…",
"timetableType": "نوع الجدول الزمني"
},
+ "folders": {
+ "all": "جميع Dags",
+ "empty": "لا توجد مجلدات",
+ "hide": "إخفاء المجلدات",
+ "show": "إظهار المجلدات",
+ "title": "المجلدات"
+ },
"ownerLink": "رابط المالك لـ{{owner}}",
+ "recentTaskStateCounts": {
+ "description": "حالة المهام من جميع تشغيلات Dag الجارية، أو من أحدث تشغيل
إذا لم يكن هناك تشغيل جارٍ. يمكنك إيقاف هذا من إعدادات المستخدم.",
+ "label": "المهام الأخيرة",
+ "loading": "جارٍ تحميل أعداد حالات المهام الأخيرة",
+ "tooltip": "{{state}}: {{formattedCount}} — انقر لتصفية المهام"
+ },
"runAndTaskActions": {
"affectedTasks": {
"noItemsFound": "لم يتم العثور على مهام.",
@@ -64,18 +89,23 @@
"failed": "اضغط shift+f لتمييز كفاشل",
"success": "اضغط shift+s لتمييز كناجح"
},
+ "skippedInfo": "يؤدي تمييز مثيل مهمة كمتجاوز إلى تسجيل أنه لم يُشغَّل
عمداً. تظل المهام اللاحقة تُقيَّم وفق قواعد التشغيل الخاصة بها: مع القاعدة
الافتراضية \"all_success\" سيتم تجاوزها أيضاً. يمكن تجاوز مثيلات المهام التي لم
تبدأ التشغيل فقط، ويتأثر مثيل المهمة هذا فقط.",
"title": "تمييز {{type}} كـ{{state}}"
},
"options": {
"downstream": "المهام اللاحقة",
"existingTasks": "مسح المهام الحالية",
"future": "المستقبل",
+ "keepTaskState": "الاحتفاظ بحالة المهمة والاستئناف",
+ "laterIterations": "التكرارات اللاحقة",
"onlyFailed": "مسح المهام الفاشلة فقط",
"past": "الماضي",
"preventRunningTasks": "منع إعادة التشغيل إذا كانت المهمة قيد التشغيل",
"queueNew": "إضافة مهام جديدة للانتظار",
"runOnLatestVersion": "تشغيل بآخر إصدار الحزمة",
- "upstream": "المهام السابقة"
+ "runOnLatestVersionForced": "يستخدم دائماً آخر إصدار — لا يوجد إصدار
سابق للرجوع إليه",
+ "upstream": "المهام السابقة",
+ "wholeExpansion": "التوسيع بالكامل"
}
},
"runStateCounts": {
@@ -83,11 +113,23 @@
"loading": "جارٍ تحميل أعداد حالات التشغيل",
"tooltip": "{{state}}: {{formattedCount}} — انقر لتصفية التشغيلات"
},
+ "schedulingActions": {
+ "cancelDrain": "إلغاء التصريف",
+ "drain": "تصريف ثم إيقاف",
+ "drainPrompt": "يحتوي هذا Dag على تشغيلات Dag قيد التنفيذ. يتيح التصريف
إنهاءها قبل إيقاف Dag؛ أما الإيقاف الآن فيوقف الجدولة فوراً دون انتظارها.",
+ "pauseNow": "إيقاف الآن",
+ "pauseSelected": "إيقاف / تصريف"
+ },
+ "schedulingBanner": {
+ "message": "هذا Dag قيد التصريف. سيتوقف بعد انتهاء تشغيلات Dag الجارية."
+ },
"search": {
"advanced": "بحث متقدم",
"clear": " مسح",
+ "dagRuns": "البحث في $t(common:dagRun_other)",
"dags": "ابحث عن Dags",
"hotkey": "+K",
+ "mapIndexes": "البحث في $t(common:mapIndex)",
"tasks": "ابحث عن مهام"
},
"sort": {
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/dashboard.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dashboard.json
index ec2d244417c..fd02eb56cf1 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/dashboard.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/dashboard.json
@@ -36,14 +36,33 @@
"group": "المجموعة",
"health": {
"dagProcessor": "معالج الDag",
+ "degraded": "متدهور",
+ "degradedHint": {
+ "dagProcessor": "بعض حزم Dag المُكوَّنة ليس لها معالج Dag يحللها.",
+ "triggerer": "بعض الفرق ليس لديها مُطلِق يشغّل المهام المؤجلة الخاصة
بها."
+ },
+ "down": "متوقف",
"health": "الصحة",
"healthy": "سليم",
+ "instances": {
+ "bundles": "الحزم",
+ "hostname": "المضيف",
+ "team": "الفريق",
+ "title_few": "{{title}} — {{status}} ({{count, number}} مثيلات)",
+ "title_many": "{{title}} — {{status}} ({{count, number}} مثيلاً)",
+ "title_one": "{{title}} — {{status}} (مثيل واحد)",
+ "title_other": "{{title}} — {{status}} ({{count, number}} مثيل)",
+ "title_two": "{{title}} — {{status}} (مثيلان)",
+ "title_zero": "{{title}} — {{status}} (لا توجد مثيلات)",
+ "unknownHostname": "مضيف غير معروف"
+ },
"lastHeartbeat": "آخر نبضة",
"metaDatabase": "قاعدة البيانات الوصفية",
"scheduler": "المُجَدْوِل",
"status": "الحالة",
"triggerer": "المُطلِق",
- "unhealthy": "غير سليم"
+ "unhealthy": "غير سليم",
+ "unknownStatus": "غير معروف"
},
"history": "التاريخ",
"importErrors": {
diff --git a/airflow-core/src/airflow/ui/public/i18n/locales/ar/hitl.json
b/airflow-core/src/airflow/ui/public/i18n/locales/ar/hitl.json
index 85636de0e2e..b0b129ed97d 100644
--- a/airflow-core/src/airflow/ui/public/i18n/locales/ar/hitl.json
+++ b/airflow-core/src/airflow/ui/public/i18n/locales/ar/hitl.json
@@ -29,6 +29,7 @@
"received": "تم استلام الاستجابة في ",
"respond": "الرد",
"responded_by_user_name": "أجاب بواسطة (اسم المستخدم)",
+ "selectAtLeastOne": "اختر خيارًا واحدًا على الأقل",
"success": "تمت الاستجابة بنجاح ل{{taskId}}",
"title": "مثيل مهمة يدوي - {{taskId}}"
},