Преглед изворни кода

fix(admin-ui): all Arabic tokens translated (100%) (#2287)

Tarik пре 2 година
родитељ
комит
83ecec9959

+ 1 - 0
packages/admin-ui-plugin/src/constants.ts

@@ -7,6 +7,7 @@ export const defaultLanguage = LanguageCode.en;
 export const defaultLocale = undefined;
 
 export const defaultAvailableLanguages = [
+    LanguageCode.ar,
     LanguageCode.de,
     LanguageCode.en,
     LanguageCode.es,

+ 8 - 3
packages/admin-ui/i18n-coverage.json

@@ -1,7 +1,12 @@
 {
-  "generatedOn": "2023-07-12T12:33:44.002Z",
-  "lastCommit": "4d01ab53b3d078f4cc2478d764d3dc87d61520da",
+  "generatedOn": "2023-07-15T10:37:14.708Z",
+  "lastCommit": "77aaf8f4bac72468bdeb28aae858035d2a579ef7",
   "translationStatus": {
+    "ar": {
+      "tokenCount": 740,
+      "translatedCount": 740,
+      "percentage": 100
+    },
     "cs": {
       "tokenCount": 740,
       "translatedCount": 545,
@@ -14,7 +19,7 @@
     },
     "en": {
       "tokenCount": 740,
-      "translatedCount": 739,
+      "translatedCount": 740,
       "percentage": 100
     },
     "es": {

+ 1 - 1
packages/admin-ui/src/lib/core/src/components/app-shell/app-shell.component.html

@@ -1,4 +1,4 @@
-<div class="app-container">
+<div class="app-container" [dir]="direction$ | async">
     <div class="left-nav" [class.expanded]="mainNavExpanded$ | async">
         <div class="branding">
             <a [routerLink]="['/']" *ngIf="!hideVendureBranding"><img src="assets/logo-top.webp" class="logo" style="max-width: 100px" /></a>

+ 4 - 0
packages/admin-ui/src/lib/core/src/components/app-shell/app-shell.component.ts

@@ -21,6 +21,7 @@ import { UiLanguageSwitcherDialogComponent } from '../ui-language-switcher-dialo
 export class AppShellComponent implements OnInit {
     userName$: Observable<string>;
     uiLanguageAndLocale$: Observable<[LanguageCode, string | undefined]>;
+    direction$: Observable<'ltr' | 'rtl'>;
     availableLanguages: LanguageCode[] = [];
     hideVendureBranding = getAppConfig().hideVendureBranding;
     pageTitle$: Observable<string>;
@@ -50,6 +51,9 @@ export class AppShellComponent implements OnInit {
         this.mainNavExpanded$ = this.dataService.client
             .uiState()
             .stream$.pipe(map(({ uiState }) => uiState.mainNavExpanded));
+        this.direction$ = this.uiLanguageAndLocale$.pipe(
+            map(([languageCode]) => (this.i18nService.isRTL(languageCode) ? 'rtl' : 'ltr')),
+        );
     }
 
     selectUiLanguage() {

+ 4 - 0
packages/admin-ui/src/lib/core/src/providers/i18n/i18n.service.mock.ts

@@ -18,6 +18,10 @@ export class MockI18nService implements MockOf<I18nService> {
         return key as string;
     }
 
+    isRTL(): boolean {
+        return false;
+      }
+
     availableLanguages: LanguageCode[];
     setAvailableLanguages: (languages: LanguageCode[]) => void;
     _availableLanguages: LanguageCode[];

+ 14 - 0
packages/admin-ui/src/lib/core/src/providers/i18n/i18n.service.ts

@@ -47,4 +47,18 @@ export class I18nService {
     translate(key: string | string[], params?: any): string {
         return this.ngxTranslate.instant(key, params);
     }
+
+    /**
+     * Returns true if the given language code is a right-to-left language.
+     */
+    isRTL(languageCode: LanguageCode): boolean {
+        const rtlLanguageCodes = [
+            LanguageCode.ar,
+            LanguageCode.he,
+            LanguageCode.fa,
+            LanguageCode.ur,
+            LanguageCode.ps,
+        ];
+        return rtlLanguageCodes.includes(languageCode);
+    }
 }

+ 774 - 0
packages/admin-ui/src/lib/static/i18n-messages/ar.json

@@ -0,0 +1,774 @@
+{
+  "admin": {
+    "create-new-administrator": "إنشاء مسؤول جديد"
+  },
+  "asset": {
+    "add-asset": "إضافة أصل" ,
+    "add-asset-with-count": "إضافة {count , plural , = 0 {أصول} {1 أصل} {{count} أصول}}" ,
+    "assets-selected-count": "{count} أصول محددة" ,
+    "dimensions": "أبعاد",
+    "focal-point": "النقطة المحورية",
+    "notify-create-assets-success": "إنشاء {count, plural, one {أصل جديد} other {{count} أصول جديدة}}",
+    "original-asset-size": "حجم المصدر" ,
+    "preview": "معاينة",
+    "remove-asset": "إزالة أصل" ,
+    "select-asset": "حدد أصل" ,
+    "select-assets": "حدد الأصول" ,
+    "set-as-featured-asset": "تعيين كأصل مميز" ,
+    "set-focal-point": "تعيين نقطة بؤرية" ,
+    "source-file": "مصدر الملف",
+    "unset-focal-point": "غير معرف" ,
+    "update-focal-point": "نقطة التحديث" ,
+    "update-focal-point-error": "لا يمكن تحديث النقطة البؤرية" ,
+    "update-focal-point-success": "النقطة المحورية المحدثة" ,
+    "upload-assets": "تحميل الأصول" ,
+    "uploading": "التحميل ..."
+  },
+  "breadcrumb": {
+    "administrators": "المسؤولون" ,
+    "assets": "أصول",
+    "channels": "القنوات" ,
+    "collections": "مجموعات" ,
+    "countries": "بلدان",
+    "customer-groups": "مجموعات العملاء" ,
+    "customers": "عملاء",
+    "dashboard": "لوحة التحكم",
+    "facets": "جوانب" ,
+    "global-settings": "الاعدادات العامة",
+    "inventory": "جرد",
+    "job-queue": "ذيل الوظيفة" ,
+    "manage-variants": "إدارة المتغيرات" ,
+    "modifying": "تعديل" ,
+    "orders": "طلبات",
+    "payment-methods": "طرق الدفع" ,
+    "product-options": "خيارات المنتج" ,
+    "profile": "حساب تعريفي",
+    "promotions": "الترقيات" ,
+    "roles": "الأدوار" ,
+    "seller-orders": "أوامر البائع" ,
+    "sellers": "البائعون" ,
+    "shipping-methods": "طرق الشحن",
+    "stock-locations": "مواقع الأسهم" ,
+    "system-status": "حالة النظام",
+    "tax-categories": "فئات الضرائب" ,
+    "tax-rates": "معدلات الضرائب" ,
+    "zones": "المناطق"
+  },
+  "catalog": {
+    "add-facet-value": "إضافة قيمة الوجه" ,
+    "add-facets": "إضافة جوانب" ,
+    "add-option": "إضافة خيار" ,
+    "add-price-in-another-currency": "أضف سعرًا بعملة أخرى" ,
+    "add-stock-location": "إضافة موقع الأسهم" ,
+    "add-stock-to-location": "أضف الأسهم إلى الموقع" ,
+    "asset": "أصل",
+    "asset-preview-links": "روابط معاينة الأصول" ,
+    "assets": "أصول",
+    "assign-product-to-channel-success": "تم تعيينه بنجاح {count , الجمع , واحد {1 منتج} {{count} products}} إلى {channel}" ,
+    "assign-products-to-channel": "تعيين المنتجات للقناة" ,
+    "assign-to-channel": "تعيين للقناة" ,
+    "assign-to-named-channel": "تعيين إلى {ChannelCode}" ,
+    "assign-variant-to-channel-success": "تم تعيين {count , الجمع , واحد {1 متغير المنتج} {{count} متغيرات المنتج}} إلى {channel}" ,
+    "assign-variants-to-channel": "تعيين متغيرات المنتج للقناة" ,
+    "auto-update-option-variant-name": "تحديث أسماء ProductVariants تلقائيًا باستخدام هذا الخيار" ,
+    "auto-update-product-variant-name": "تحديث أسماء ProductVariants تلقائيًا" ,
+    "cannot-create-variants-without-options": "لا يمكن إنشاء متغيرات المنتج حتى يتم تحديد مجموعة خيارات مع خيارين على الأقل من المنتجات" ,
+    "channel-price-preview": "معاينة أسعار القناة" ,
+    "collection": "مجموعة",
+    "collection-contents": "محتويات المجموعة" ,
+    "collections": "مجموعات" ,
+    "confirm-bulk-delete-products": "حذف {count} منتجات؟" ,
+    "confirm-cancel": "يلغي؟",
+    "confirm-delete-assets": "حذف {count} {count , الجمع , واحد {Asset} آخر {الأصول}}؟" ,
+    "confirm-delete-facet-value": "حذف قيمة الوجه؟" ,
+    "confirm-delete-product": "حذف المنتج؟" ,
+    "confirm-delete-product-option": "حذف خيار المنتج \" {name} \"؟" ,
+    "confirm-delete-product-option-group": "حذف مجموعة خيار المنتج \" {name} \"؟" ,
+    "confirm-delete-product-option-group-body": "يتم استخدام مجموعة الخيار هذه بواسطة {count} {count , الجمع , واحد {variant} {{المتغيرات}}. هل أنت متأكد أنك تريد حذفه؟" ,
+    "confirm-delete-product-variant": "حذف متغير المنتج \" {name} \"؟" ,
+    "confirm-deletion-of-unused-variants-body": "تم إجراء متغيرات المنتج التالية قديمة بسبب إضافة خيارات جديدة. سيتم حذفها أثناء إنشاء متغيرات المنتج الجديدة." ,
+    "confirm-deletion-of-unused-variants-title": "حذف متغيرات المنتجات القديمة؟" ,
+    "create-draft-order": "إنشاء ترتيب مسودة" ,
+    "create-new-collection": "إنشاء مجموعة جديدة" ,
+    "create-new-facet": "إنشاء وجه جديد" ,
+    "create-new-product": "منتج جديد",
+    "create-new-stock-location": "إنشاء موقع مخزون جديد" ,
+    "create-product-option-group": "إنشاء مجموعة خيار المنتج" ,
+    "create-product-variant": "إنشاء متغير المنتج" ,
+    "default-currency": "العملة الافتراضية",
+    "do-not-inherit-filters": "لا ترث مرشحات" ,
+    "drop-files-to-upload": "إسقاط الملفات للتحميل" ,
+    "edit-facet-values": "تحرير قيم الوجه" ,
+    "edit-options": "تحرير الخيارات" ,
+    "facet": "Facet" ,
+    "facet-value-not-available": "Facet Value \" {id} \"غير متوفر" ,
+    "facet-values": "قيم الوجه" ,
+    "facets": "جوانب" ,
+    "filter-by-name": "تصفية بالاسم" ,
+    "filter-by-sku": "تصفية بواسطة SKU" ,
+    "filter-inheritance": "مرشح الميراث" ,
+    "filters": "المرشحات" ,
+    "inherit-filters-from-parent": "مرشحات مورث من الوالد" ,
+    "live-preview-contents": "محتويات المباريات المباشرة" ,
+    "manage-variants": "إدارة المتغيرات" ,
+    "move-collection-to": "انتقل إلى {name}" ,
+    "move-collections": "تحرك المجموعات" ,
+    "move-collections-success": "تم نقل {count , الجمع , واحد {1 collection} {{count} collections}}" ,
+    "move-down": "تحرك لأسفل",
+    "move-to": "الانتقال إلى",
+    "move-up": "تحرك",
+    "name": "اسم",
+    "no-channel-selected": "لم يتم اختيار قناة" ,
+    "no-featured-asset": "لا يوجد أصول مميزة" ,
+    "no-selection": "لا اختيار",
+    "no-stock-locations-available-on-current-channel": "لا توجد مواقع مخزون متوفرة على القناة الحالية. قم بإعداد موقع مخزون واحد على الأقل قبل إضافة منتجات." ,
+    "notify-bulk-delete-products-success": "تم حذفه بنجاح {count , الجمع , واحد {1 منتج} {{count} products}}" ,
+    "notify-remove-facets-from-channel-success": "تم إزالته بنجاح {count , الجمع , واحد {1 facet} {{count} جوانب}} من {ChannelCode}" ,
+    "notify-remove-product-from-channel-error": "لا يمكن إزالة المنتج من القناة" ,
+    "notify-remove-product-from-channel-success": "تمت إزالة المنتج بنجاح من القناة" ,
+    "notify-remove-variant-from-channel-error": "لا يمكن إزالة متغير المنتج من القناة" ,
+    "notify-remove-variant-from-channel-success": "تم إزالته بنجاح من متغير المنتج من القناة" ,
+    "number-of-variants": "# المتغيرات" ,
+    "option": "خيار",
+    "option-name": "اسم الخيار" ,
+    "option-values": "قيم الخيار" ,
+    "out-of-stock-threshold": "عتبة خارج المخزون" ,
+    "out-of-stock-threshold-tooltip": "يحدد مستوى المخزون الذي يعتبر فيه هذا البديل غير مخزنة.باستخدام قيمة سالبة يتيح الدعم المتأخر.",
+    "page-description-options-editor": "تحرير أسماء ورموز الخيارات لهذا المنتج. لإضافة أو إزالة الخيارات , استخدم الزر \" إدارة المتغيرات \"أسفل قائمة متغير المنتج." ,
+    "price": "سعر",
+    "price-and-tax": "السعر والضرائب" ,
+    "price-conversion-factor": "عامل تحويل السعر" ,
+    "price-in-channel": "السعر في {Channel}" ,
+    "price-includes-tax-at": "يشمل الضريبة في {معدل} ٪" ,
+    "price-with-tax-in-default-zone": "Inc. {Rate} ٪ ضريبة: {Price}" ,
+    "private": "خاص",
+    "product": "منتج",
+    "product-name": "اسم المنتج",
+    "product-options": "خيارات المنتج" ,
+    "product-variant-exists": "متغير المنتج مع هذه الخيارات موجود بالفعل" ,
+    "product-variants": "متغيرات المنتج" ,
+    "products": "منتجات",
+    "public": "عام",
+    "quick-jump-placeholder": "القفزة السريعة إلى البديل" ,
+    "rebuild-search-index": "إعادة بناء مؤشر البحث" ,
+    "reindex-error": "حدث خطأ أثناء إعادة بناء مؤشر البحث" ,
+    "reindex-successful": "مفهرسة {count , الجمع , واحد {متغير المنتج} آخر {{count} متغيرات المنتج}} في {time} ms" ,
+    "reindexing": "إعادة بناء مؤشر البحث" ,
+    "remove-from-channel": "إزالة من {channelcode , حدد , غير محدد {Channel} {{{channelcode}}}" ,
+    "remove-option": "إزالة الخيار" ,
+    "remove-product-from-channel": "إزالة المنتج من القناة" ,
+    "remove-product-variant-from-channel": "إزالة متغير المنتج من القناة" ,
+    "reorder-collection": "إعادة الترتيب" ,
+    "root-collection": "مجموعة الجذر" ,
+    "run-pending-search-index-updates": "فهرس البحث: تشغيل {count , الجمع , واحد {1 معلق تحديث} {{count} تحديثات معلقة}}" ,
+    "running-search-index-updates": "تشغيل {count , الجمع , واحد {1 تحديث} {{count} تحديثات}}} للبحث عن فهرس" ,
+    "search-asset-name-or-tag": "ابحث باسم الأصول أو العلامات" ,
+    "search-for-term": "ابحث عن المصطلح" ,
+    "search-product-name-or-code": "البحث حسب اسم المنتج أو الرمز" ,
+    "select-product": "حدد المنتج",
+    "select-product-variant": "حدد متغير المنتج" ,
+    "sku": "SKU" ,
+    "slug": "Slug" ,
+    "slug-pattern-error": "Slug غير صالح" ,
+    "stock-allocated": "مخصص" ,
+    "stock-levels": "مستويات المخزون",
+    "stock-location": "موقع الأسهم" ,
+    "stock-locations": "مواقع الأسهم" ,
+    "stock-on-hand": "مخزون",
+    "tax-category": "فئة الضرائب" ,
+    "taxes": "الضرائب" ,
+    "track-inventory": "حساب المخزون",
+    "track-inventory-false": "لا تتبع",
+    "track-inventory-inherit": "مورث من الإعدادات العالمية" ,
+    "track-inventory-tooltip": "عند تتبع , سيتم ضبط مستويات الأسهم المتغيرة للمنتج تلقائيًا عند بيعها" ,
+    "track-inventory-true": "مسار",
+    "update-product-option": "تحديث خيار المنتج" ,
+    "use-global-value": "استخدام القيمة العالمية" ,
+    "values": "قيم",
+    "variant": "البديل" ,
+    "variant-count": "{count , الجمع , واحد {1 متغير} {{count} المتغيرات}}" ,
+    "view-contents": "عرض المحتويات" ,
+    "visibility": "الرؤية"
+  },
+  "common": {
+    "ID": "بطاقة تعريف",
+    "actions": "أجراءات",
+    "add-filter": "إضافة مرشح" ,
+    "add-item-to-list": "إضافة عنصر إلى قائمة" ,
+    "add-note": "اضف ملاحظة",
+    "apply": "يتقدم",
+    "assign-to-channel": "تعيين للقناة" ,
+    "available-currencies": "العملات المتاحة" ,
+    "available-languages": "اللغات المتوفرة",
+    "boolean-and": "و",
+    "boolean-false": "خطأ شنيع",
+    "boolean-or": "أو",
+    "boolean-true": "حقيقي",
+    "breadcrumb": "Breadcrumb" ,
+    "browser-default": "المتصفح الافتراضي" ,
+    "cancel": "يلغي",
+    "cancel-navigation": "إلغاء التنقل" ,
+    "change-selection": "تغيير الاختيار" ,
+    "channel": "قناة" ,
+    "channels": "القنوات" ,
+    "clear-selection": "اختيار واضح" ,
+    "code": "شفرة",
+    "collapse-entries": "إدخالات الانهيار" ,
+    "confirm": "يتأكد",
+    "confirm-bulk-assign-to-channel": "تعيين عناصر للقناة؟" ,
+    "confirm-bulk-delete": "حذف العناصر المحددة؟" ,
+    "confirm-bulk-remove-from-channel": "إزالة العناصر من القناة الحالية؟" ,
+    "confirm-delete-note": "حذف ملاحظة؟" ,
+    "confirm-navigation": "تأكيد التنقل" ,
+    "contents": "محتويات",
+    "create": "يخلق",
+    "created-at": "أنشئت في",
+    "custom-fields": "الحقول المخصصة",
+    "default-channel": "القناة الإفتراضية",
+    "default-language": "اللغة الافتراضية" ,
+    "default-tax-category": "فئة الضرائب الافتراضية" ,
+    "delete": "يمسح",
+    "description": "وصف",
+    "details": "تفاصيل",
+    "disabled": "عاجز",
+    "discard-changes": "تجاهل التغييرات" ,
+    "edit": "يحرر",
+    "edit-field": "تحرير الحقل" ,
+    "edit-note": "تحرير مذكرة",
+    "enabled": "تمكين" ,
+    "end-date": "تاريخ الانتهاء",
+    "expand-entries": "توسيع إدخالات" ,
+    "extension-running-in-separate-window": "التمديد يعمل في نافذة منفصلة" ,
+    "filter": "منقي",
+    "force-delete": "قوة حذف" ,
+    "force-remove": "قوة إزالة" ,
+    "general": "عام",
+    "guest": "ضيف",
+    "id": "بطاقة تعريف",
+    "image": "صورة",
+    "items-per-page-option": "{count} لكل صفحة" ,
+    "items-selected-count": "{count} {count , الجمع , واحد {item} آخر {العناصر}} المحددة" ,
+    "keep-editing": "استمر في التحرير" ,
+    "language": "لغة",
+    "launch-extension": "تمديد الإطلاق" ,
+    "list-items-and-n-more": "{العناصر} و {nmore} أكثر" ,
+    "live-update": "التحديث المباشر" ,
+    "locale": "لغة" ,
+    "log-out": "تسجيل خروج",
+    "login": "تسجيل الدخول",
+    "login-image-title": "مرحبًا! مرحبًا بك مرة أخرى. من الجيد رؤيتك." ,
+    "login-title": "تسجيل الدخول إلى {Brand}" ,
+    "manage-tags": "إدارة العلامات" ,
+    "manage-tags-description": "تحديث أو حذف العلامات على مستوى العالم." ,
+    "medium-date": "التاريخ المتوسط" ,
+    "more": "أكثر...",
+    "name": "اسم",
+    "no-alerts": "لا تنبيهات" ,
+    "no-bulk-actions-available": "لا توجد إجراءات كبيرة متوفرة" ,
+    "no-results": "لا نتائج",
+    "not-applicable": "غير قابل للتطبيق",
+    "not-set": "غير مضبوط",
+    "notify-assign-to-channel-success-with-count": "تم تعيينه بنجاح {count , الجمع , واحد {1 عنصر} {{count} العناصر}} إلى {channelcode}" ,
+    "notify-bulk-update-success": "تم تحديث {count} {intity}" ,
+    "notify-create-error": "حدث خطأ , لم يستطع إنشاء {intity}" ,
+    "notify-create-success": "تم إنشاء {intity}" ,
+    "notify-delete-error": "حدث خطأ , لم يستطع حذف {intity}" ,
+    "notify-delete-error-with-count": "لا يمكن حذف {count , الجمع , واحد {1 عنصر} {{count} العناصر}}" ,
+    "notify-delete-success": "تم حذف {intity}" ,
+    "notify-delete-success-with-count": "تم حذفه بنجاح {count , الجمع , واحد {1 item} {{count} head}}" ,
+    "notify-remove-from-channel-success-with-count": "تم إزالته بنجاح {count} عناصر من القناة" ,
+    "notify-save-changes-error": "حدث خطأ , لم يستطع حفظ التغييرات" ,
+    "notify-saved-changes": "التغييرات المحفوظة" ,
+    "notify-update-error": "حدث خطأ , لا يمكن تحديث {intity}" ,
+    "notify-update-success": "تم تحديث {intity}" ,
+    "notify-updated-tags-success": "العلامات التي تم تحديثها بنجاح" ,
+    "okay": "تمام",
+    "operator-contains": "يتضمن",
+    "operator-eq": "يساوي" ,
+    "operator-gt": "أكثر من",
+    "operator-lt": "أقل من",
+    "operator-not-contains": "لا يحتوي",
+    "operator-not-eq": "لا يساوي" ,
+    "operator-notContains": "لا يحتوي",
+    "operator-regex": "Matches Regex" ,
+    "password": "كلمة المرور",
+    "position": "موضع",
+    "price": "سعر",
+    "price-with-tax": "السعر مع الضريبة" ,
+    "private": "خاص",
+    "public": "عام",
+    "remember-me": "تذكرنى",
+    "remove": "يزيل",
+    "remove-from-channel": "إزالة من القناة الحالية" ,
+    "remove-item-from-list": "إزالة العنصر من القائمة" ,
+    "reset-columns": "إعادة تعيين الأعمدة" ,
+    "results-count": "{count} {count , الجمع , واحد {result} آخر {النتائج}}" ,
+    "sample-formatting": "تنسيق العينة" ,
+    "search-and-filter-list": "البحث وتصفية هذه القائمة" ,
+    "search-by-name": "البحث عن طريق الإسم",
+    "select": "يختار...",
+    "select-display-language": "حدد لغة العرض" ,
+    "select-items-with-count": "حدد {count} {count , الجمع , واحد {item} آخر {عناصر}}" ,
+    "select-products": "اختيار المنتجات" ,
+    "select-relation-id": "حدد معرف العلاقة" ,
+    "select-table-columns": "حدد أعمدة الجدول" ,
+    "select-today": "حدد اليوم" ,
+    "select-variants": "حدد المتغيرات" ,
+    "seller": "تاجر",
+    "set-language": "لغة مجموعة",
+    "short-date": "التاريخ القصير",
+    "slug": "Slug" ,
+    "start-date": "تاريخ البدء",
+    "status": "حالة",
+    "tags": "العلامات" ,
+    "theme": "الإضاءة",
+    "there-are-unsaved-changes": "هناك تغييرات غير محفوظة. التنقل بعيدًا سيؤدي إلى فقدان هذه التغييرات." ,
+    "toggle-all": "تبديل الكل" ,
+    "total-items": "{currentStart} - {currentend} من {totalitems}" ,
+    "update": "تحديث",
+    "updated-at": "تم التحديث في",
+    "username": "اسم المستخدم",
+    "value": "قيمة",
+    "view-contents": "عرض المحتويات" ,
+    "view-next-month": "عرض الشهر المقبل" ,
+    "view-previous-month": "عرض الشهر السابق" ,
+    "visibility": "الرؤية" ,
+    "with-selected": "مع {count} محدد ..."
+  },
+  "customer": {
+    "add-customer-to-group": "أضف العميل إلى المجموعة" ,
+    "add-customer-to-groups-with-count": "أضف العميل إلى {count , الجمع , واحد {1 group} {{count} groups}}" ,
+    "add-customers-to-group": "أضف العملاء إلى المجموعة" ,
+    "add-customers-to-group-success": "تمت إضافة {customercount , الجمع , واحد {1 عميل} آخر {{customercount} العملاء}} إلى \" {groupname} \"" ,
+    "add-customers-to-group-with-count": "إضافة {count , الجمع , واحد {1 عميل} {{count} عملاء}}" ,
+    "add-customers-to-group-with-name": "إضافة العملاء إلى \" {groupName} \"" ,
+    "addresses": "عناوين",
+    "city": "مدينة",
+    "company": "شركة",
+    "confirm-remove-customer-from-group": "إزالة العميل من المجموعة؟" ,
+    "country": "دولة",
+    "create-customer-group": "إنشاء مجموعة عملاء" ,
+    "create-new-address": "إنشاء عنوان جديد" ,
+    "create-new-customer": "إنشاء عميل جديد" ,
+    "create-new-customer-group": "إنشاء مجموعة عملاء جديدة" ,
+    "customer": "عميل",
+    "customer-group": "مجموعة العملاء",
+    "customer-groups": "مجموعات العملاء" ,
+    "customer-history": "تاريخ العميل" ,
+    "customers": "عملاء",
+    "default-billing-address": "الفواتير الافتراضية" ,
+    "default-shipping-address": "الشحن التلقائي",
+    "email-address": "عنوان البريد الإلكتروني",
+    "email-verification-sent": "تم إرسال بريد إلكتروني للتحقق إلى {{emailAddress}" ,
+    "first-name": "الاسم الأول",
+    "full-name": "الاسم الكامل",
+    "guest": "ضيف",
+    "history-customer-added-to-group": "عميل تمت إضافة إلى المجموعة \" {groupName} \"" ,
+    "history-customer-address-created": "العنوان الذي تم إنشاؤه" ,
+    "history-customer-address-deleted": "العنوان المحذوف" ,
+    "history-customer-address-updated": "العنوان المحدث" ,
+    "history-customer-detail-updated": "تفاصيل العميل محدثة" ,
+    "history-customer-email-update-requested": "تحديث عنوان البريد الإلكتروني المطلوب" ,
+    "history-customer-email-update-verified": "تحديث عنوان البريد الإلكتروني الذي تم التحقق منه" ,
+    "history-customer-password-reset-requested": "إعادة تعيين كلمة المرور المطلوبة" ,
+    "history-customer-password-reset-verified": "تم التحقق من إعادة تعيين كلمة المرور" ,
+    "history-customer-password-updated": "تم تحديث كلمة السر",
+    "history-customer-registered": "عميل مسجل" ,
+    "history-customer-removed-from-group": "عميل تم إزالته من المجموعة \" {groupName} \"" ,
+    "history-customer-verified": "التحقق من العميل" ,
+    "history-using-external-auth-strategy": "استخدام {strategy}" ,
+    "history-using-native-auth-strategy": "استخدام عنوان البريد الإلكتروني" ,
+    "last-login": "آخر تسجيل دخول",
+    "last-name": "اسم العائلة",
+    "name": "اسم",
+    "new-email-address": "عنوان البريد الإلكتروني الجديد",
+    "no-orders-placed": "لا توجد أوامر" ,
+    "not-a-member-of-any-groups": "هذا العميل ليس عضوًا في أي مجموعات" ,
+    "old-email-address": "عنوان البريد الإلكتروني القديم" ,
+    "orders": "طلبات",
+    "password": "كلمة المرور",
+    "phone-number": "رقم التليفون",
+    "postal-code": "رمز بريدي",
+    "province": "مقاطعة",
+    "registered": "مسجل",
+    "remove-customers-from-group-success": "تمت إزالة {customercount , الجمع , واحد {1 customer} {{customercount}}}} من \" {groupname} \"" ,
+    "remove-from-group": "إزالة من هذه المجموعة" ,
+    "search-customers-by-email": "البحث عن طريق عنوان البريد الإلكتروني" ,
+    "search-customers-by-email-last-name-postal-code": "ابحث عن طريق البريد الإلكتروني / الاسم الأخير / الرمز البريدي" ,
+    "select-customer": "حدد العميل" ,
+    "set-as-default-billing-address": "تعيين الفواتير الافتراضية" ,
+    "set-as-default-shipping-address": "تعيين الشحن الافتراضي" ,
+    "street-line-1": "خط الشارع 1" ,
+    "street-line-2": "خط الشارع 2" ,
+    "title": "عنوان",
+    "update-customer-group": "تحديث مجموعة العملاء" ,
+    "verified": "تم التحقق",
+    "view-group-members": "عرض أعضاء المجموعة"
+  },
+  "dashboard": {
+    "add-widget": "إضافة القطعة",
+    "latest-orders": "أحدث الطلبات" ,
+    "metric-average-order-value": "متوسط قيمة الطلب" ,
+    "metric-number-of-orders": "عدد الطلبات",
+    "metric-order-total-value": "طلب القيمة الإجمالية" ,
+    "metrics": "مقاييس" ,
+    "orders-summary": "أوامر ملخص" ,
+    "remove-widget": "إزالة القطعة" ,
+    "thisMonth": "هذا الشهر",
+    "thisWeek": "هذا الاسبوع",
+    "today": "اليوم",
+    "total-order-value": "القيمة الإجمالية",
+    "total-orders": "إجمالي الطلبات" ,
+    "widget-resize": "تغيير الحجم",
+    "widget-width": "العرض: {width}" ,
+    "yesterday": "أمس"
+  },
+  "datetime": {
+    "ago-days": "{count , الجمع , واحد {1 يوم} آخر {{count} days}}}" ,
+    "ago-hours": "{count , الجمع , واحد {1 ساعة} {{count} hrs}}}}",
+    "ago-minutes": "{count , الجمع , واحد {1 دقيقة} {{count} mins}}}" ,
+    "ago-seconds": "{count , plural , = 0 {Just Now} One {1 Sec ve",
+    "ago-years": "{count , الجمع , واحد {1 سنة} أخرى {{count} years}}}}" ,
+    "duration-milliseconds": "{MS} MS" ,
+    "duration-minutes:seconds": "{m}: {s} m" ,
+    "duration-seconds": "{s} s" ,
+    "month-apr": "أبريل",
+    "month-aug": "أغسطس",
+    "month-dec": "ديسمبر",
+    "month-feb": "شهر فبراير",
+    "month-jan": "يناير",
+    "month-jul": "يوليو",
+    "month-jun": "يونيو",
+    "month-mar": "يمشي",
+    "month-may": "يمكن",
+    "month-nov": "شهر نوفمبر",
+    "month-oct": "اكتوبر",
+    "month-sep": "سبتمبر",
+    "time": "وقت",
+    "weekday-fr": "الاب" ,
+    "weekday-mo": "شهر",
+    "weekday-sa": "في",
+    "weekday-su": "نكون",
+    "weekday-th": "ذ",
+    "weekday-tu": "تو" ,
+    "weekday-we": "نحن"
+  },
+  "editor": {
+    "image-alt": "الوصف (بديل)" ,
+    "image-src": "مصدر",
+    "image-title": "عنوان",
+    "insert-image": "إدراج صورة",
+    "link-href": "Link Href" ,
+    "link-target": "رابط الهدف",
+    "link-title": "عنوان الرابط" ,
+    "remove-link": "يزيل",
+    "set-link": "Set Link"
+  },
+  "error": {
+    "403-forbidden": "أنت غير مخول حاليًا للوصول إلى \" {path} \". إما أنك تفتقر إلى الأذونات , أو انتهت جلستك." ,
+    "could-not-connect-to-server": "لا يمكن الاتصال بخادم Vendure في {url}" ,
+    "facet-value-form-values-do-not-match": "عدد القيم في نموذج الوجه لا يتطابق مع العدد الفعلي للقيم" ,
+    "health-check-failed": "فشل فحص صحة النظام" ,
+    "no-default-shipping-zone-set": "هذه القناة لا تحتوي على منطقة شحن افتراضية. قد يتسبب هذا في حدوث أخطاء عند حساب رسوم الشحن." ,
+    "no-default-tax-zone-set": "لا تحتوي هذه القناة على منطقة ضريبية افتراضية , والتي ستسبب أخطاء عند حساب الأسعار. يرجى إنشاء أو تحديد منطقة."
+  },
+  "marketing": {
+    "actions": "أجراءات",
+    "add-action": "إضافة إجراء" ,
+    "add-condition": "إضافة حالة" ,
+    "conditions": "شروط",
+    "coupon-code": "رمز الكوبون",
+    "create-new-promotion": "إنشاء عرض ترويجي جديد" ,
+    "ends-at": "ينتهي عند",
+    "per-customer-limit": "حد كل عميل" ,
+    "promotion": "ترقية",
+    "search-by-name-or-coupon-code": "البحث بالاسم أو رمز القسيمة" ,
+    "starts-at": "يبدأ عند"
+  },
+  "nav": {
+    "administrators": "المسؤولون" ,
+    "assets": "أصول",
+    "catalog": "فهرس",
+    "channels": "القنوات" ,
+    "collections": "مجموعات" ,
+    "countries": "بلدان",
+    "customer-groups": "مجموعات العملاء" ,
+    "customers": "عملاء",
+    "facets": "جوانب" ,
+    "global-settings": "الاعدادات العامة",
+    "inventory": "جرد",
+    "job-queue": "ذيل الوظيفة" ,
+    "marketing": "تسويق",
+    "orders": "طلبات",
+    "payment-methods": "طرق الدفع" ,
+    "promotions": "الترقيات" ,
+    "roles": "الأدوار" ,
+    "sales": "مبيعات",
+    "sellers": "البائعون" ,
+    "settings": "إعدادات",
+    "shipping-methods": "طرق الشحن",
+    "system": "نظام",
+    "system-status": "حالة النظام",
+    "tax-categories": "فئات الضرائب" ,
+    "tax-rates": "معدلات الضرائب" ,
+    "zones": "المناطق"
+  },
+  "order": {
+    "add-item-to-order": "إضافة عنصر إلى الطلب",
+    "add-note": "اضف ملاحظة",
+    "add-payment": "إضافة الدفع" ,
+    "add-payment-to-order": "أضف الدفع إلى الطلب" ,
+    "add-payment-to-order-success": "أضيف بنجاح دفعة إلى الطلب" ,
+    "add-surcharge": "إضافة رسوم إضافية" ,
+    "added-items": "العناصر المضافة" ,
+    "amount": "كمية",
+    "arrange-additional-payment": "ترتيب دفع إضافي" ,
+    "billing-address": "عنوان وصول الفواتير",
+    "cancel": "يلغي",
+    "cancel-entire-order": "إلغاء الطلب بالكامل" ,
+    "cancel-fulfillment": "إلغاء الوفاء" ,
+    "cancel-modification": "إلغاء التعديل" ,
+    "cancel-order": "إلغاء الطلب أو العناصر" ,
+    "cancel-payment": "الغاء الدفع",
+    "cancel-reason-customer-request": "طلب العميل",
+    "cancel-reason-not-available": "غير متاح",
+    "cancel-selected-items": "إلغاء العناصر المحددة" ,
+    "cancel-specified-items": "إلغاء العناصر المحددة" ,
+    "cancellation-reason": "سبب الإلغاء",
+    "cancelled-order-success": "الطلب الذي تم إلغاؤه بنجاح" ,
+    "complete-draft-order": "مسودة كاملة" ,
+    "confirm-modifications": "تأكيد التعديلات" ,
+    "contents": "محتويات",
+    "create-fulfillment": "إنشاء الوفاء" ,
+    "create-fulfillment-success": "خلق الوفاء" ,
+    "customer": "عميل",
+    "delete-draft-order": "حذف المسودة" ,
+    "draft-order": "مشروع النظام",
+    "edit-billing-address": "تحرير عنوان الفواتير" ,
+    "edit-shipping-address": "تحرير عنوان الشحن" ,
+    "error-message": "رسالة خطأ",
+    "existing-address": "العنوان الحالي" ,
+    "existing-customer": "الزبون الحالي",
+    "filter-is-active": "نشط" ,
+    "fulfill": "بكمل",
+    "fulfill-order": "تنفيذ الأمر" ,
+    "fulfillment": "تحقيق, إنجاز",
+    "fulfillment-method": "طريقة الوفاء" ,
+    "history-coupon-code-applied": "رمز القسيمة المطبق" ,
+    "history-coupon-code-removed": "إزالة رمز القسيمة" ,
+    "history-fulfillment-created": "الإنجاز الذي تم إنشاؤه" ,
+    "history-fulfillment-delivered": "الوفاء بتسليم" ,
+    "history-fulfillment-shipped": "تم شحن الوفاء" ,
+    "history-fulfillment-transition": "تم نقل الوفاء من {من} إلى {إلى}" ,
+    "history-items-cancelled": "{count} {count , الجمع , واحد {item} آخر {العناصر}} تم إلغاؤه" ,
+    "history-order-cancelled": "تم الغاء الأمر او الطلب",
+    "history-order-created": "أجل خلق",
+    "history-order-fulfilled": "أمر تم تحقيقه" ,
+    "history-order-modified": "ترتيب تعديل" ,
+    "history-order-transition": "تم نقل الطلب من {من} إلى {إلى}" ,
+    "history-payment-settled": "الدفع المستقر" ,
+    "history-payment-transition": "الدفع #{id} انتقل من {من} إلى {إلى}" ,
+    "history-refund-transition": "REWNDUND #{id} انتقل من {من} إلى {إلى}" ,
+    "item-count": "{count} {count , الجمع , واحد {item} آخر {عناصر}}" ,
+    "line-fulfillment-all": "جميع العناصر التي تم الوفاء بها" ,
+    "line-fulfillment-none": "لا توجد عناصر تحققت" ,
+    "line-fulfillment-partial": "{count} من العناصر {total} تم الوفاء بها" ,
+    "manually-transition-to-state": "الانتقال يدويًا إلى الدولة ..." ,
+    "manually-transition-to-state-message": "نقل الأمر يدويًا إلى دولة أخرى. لاحظ أن حالات النظام تخضع لقواعد قد تمنع بعض التحولات." ,
+    "modification-adding-items": "إضافة {count} {count , الجمع , واحد {item} آخر {العناصر}}" ,
+    "modification-adding-surcharges": "إضافة {count} {count , الجمع , واحد {رسوم إضافية} {surghres}}" ,
+    "modification-adjusting-lines": "ضبط {count} {count , الجمع , واحد {line} آخر {lines}}" ,
+    "modification-not-settled": "ليس مستقر",
+    "modification-recalculate-shipping": "إعادة حساب الشحن" ,
+    "modification-settled": "تسوية",
+    "modification-summary": "ملخص التعديلات" ,
+    "modification-updating-billing-address": "تحديث عنوان الفواتير" ,
+    "modification-updating-shipping-address": "تحديث عنوان الشحن" ,
+    "modifications": "التعديلات" ,
+    "modify-order": "تعديل الترتيب",
+    "modify-order-price-difference": "فرق السعر" ,
+    "net-price": "السعر الصافي",
+    "note": "ملحوظة",
+    "note-is-private": "ملاحظة خاصة" ,
+    "note-only-visible-to-administrators": "مرئي للمسؤولين فقط" ,
+    "note-visible-to-customer": "مرئي للمستعولين والعميل" ,
+    "order": "طلب",
+    "order-history": "تاريخ الطلب",
+    "order-is-empty": "الطلب فارغ" ,
+    "order-state-diagram": "ترتيب مخطط الحالة" ,
+    "order-type": "نوع الطلب",
+    "order-type-aggregate": "إجمالي",
+    "order-type-regular": "عادي",
+    "order-type-seller": "تاجر",
+    "orders": "طلبات",
+    "payment": "قسط",
+    "payment-amount": "مبلغ الدفع" ,
+    "payment-metadata": "بيانات تعريف الدفع" ,
+    "payment-method": "طريقة الدفع او السداد",
+    "payment-state": "ولاية",
+    "payment-to-refund": "الدفع لاسترداد" ,
+    "payments": "المدفوعات" ,
+    "placed-at": "وضعت في" ,
+    "preview-changes": "تغييرات المعاينة" ,
+    "product-name": "اسم المنتج",
+    "product-sku": "SKU" ,
+    "promotions-applied": "الترقيات المطبقة" ,
+    "prorated-unit-price": "سعر الوحدة المتناسق" ,
+    "quantity": "كمية",
+    "refund": "استرداد",
+    "refund-adjustment": "تعديل",
+    "refund-and-cancel-order": "استرداد وإلغاء الطلب" ,
+    "refund-cancellation-reason": "سبب الاسترداد/الإلغاء" ,
+    "refund-cancellation-reason-required": "الاسترداد/الإلغاء سبب مطلوب" ,
+    "refund-metadata": "رد الفوقية المترد" ,
+    "refund-order-failed": "فشلت استرداد الأموال" ,
+    "refund-order-success": "ترتيب استرداد بنجاح" ,
+    "refund-reason": "سبب رد المبلغ" ,
+    "refund-reason-customer-request": "طلب العميل",
+    "refund-reason-not-available": "غير متاح",
+    "refund-shipping": "استرداد الشحن" ,
+    "refund-total": "إجمالي استرداد الأموال" ,
+    "refund-total-error": "يجب أن يكون إجمالي الاسترداد بين {min} و {max}" ,
+    "refund-total-warning": "إجمالي استرداد المبلغ يتجاوز مبلغ الدفع المحدد. سيتم رد المبلغ المتبقي من المدفوعات الأخرى." ,
+    "refund-with-amount": "المبلغ المسترد}",
+    "refunded-count": "{count} {count , الجمع , واحد {item} آخر {العناصر}}",
+    "removed-items": "العناصر التي تمت إزالتها" ,
+    "search-by-order-filters": "ابحث بالاسم / الكود / معرف المعاملة" ,
+    "select-address": "حدد العنوان" ,
+    "select-shipping-method": "إختر طريقة الشحن",
+    "select-state": "اختر ولايه",
+    "seller-orders": "أوامر البائع" ,
+    "set-billing-address": "تعيين عنوان الفواتير" ,
+    "set-coupon-codes": "تعيين رموز القسيمة" ,
+    "set-customer-for-order": "تعيين العميل" ,
+    "set-fulfillment-state": "مارك كـ {State}" ,
+    "set-shipping-address": "تعيين عنوان الشحن" ,
+    "set-shipping-method": "تعيين طريقة الشحن" ,
+    "settle-payment": "دفع تسوية",
+    "settle-payment-error": "لا يمكن تسوية الدفع" ,
+    "settle-payment-success": "دفعت الدفع بنجاح" ,
+    "settle-refund": "تسوية استرداد" ,
+    "settle-refund-manual-instructions": "بعد استرداد يدويًا عبر موفر الدفع الخاص بك ({method}) , أدخل معرف المعاملة هنا." ,
+    "settle-refund-success": "استرداد الأموال بنجاح" ,
+    "shipping": "شحن",
+    "shipping-address": "عنوان الشحن",
+    "shipping-cancelled": "تم إلغاء الشحن" ,
+    "shipping-method": "طريقة الشحن",
+    "state": "ولاية",
+    "sub-total": "المجموع الفرعي" ,
+    "successfully-updated-fulfillment": "تحقيق التحديث بنجاح" ,
+    "surcharges": "الرسوم الإضافية" ,
+    "tax-base": "القاعدة الضريبية",
+    "tax-description": "الوصف الضريبي" ,
+    "tax-rate": "معدل الضريبة",
+    "tax-summary": "ملخص ضريبي" ,
+    "tax-total": "إجمالي الضرائب" ,
+    "total": "المجموع",
+    "tracking-code": "شفرة التتبع",
+    "transaction-id": "رقم المعاملة",
+    "transition-to-state": "الانتقال إلى {State} State" ,
+    "transitioned-payment-to-state-success": "تم نقل الدفع بنجاح إلى {State}" ,
+    "transitioned-to-state-success": "انتقل بنجاح إلى {State}" ,
+    "unable-to-transition-to-state-try-another": "لا يمكن نقل الطلب مرة أخرى إلى \" {State} \"State. يرجى تحديد حالة بديلة." ,
+    "unfulfilled": "لم تتحقق" ,
+    "unit-price": "سعر الوحدة"
+  },
+  "settings": {
+    "add-countries-to-zone": "أضف البلدان إلى {zonename}" ,
+    "add-countries-to-zone-success": "تمت إضافة {CountryCount} {CountryCount , الجمع , واحد {Country} آخر {البلدان}} إلى Zone \" {Zonename} \"" ,
+    "add-products-to-test-order": "إضافة منتجات إلى ترتيب الاختبار" ,
+    "administrator": "مدير",
+    "channel": "قناة" ,
+    "channel-token": "قناة رمز" ,
+    "country": "دولة",
+    "create-new-channel": "إنشاء قناة جديدة" ,
+    "create-new-country": "إنشاء بلد جديد" ,
+    "create-new-payment-method": "إنشاء طريقة دفع جديدة" ,
+    "create-new-role": "إنشاء دور جديد" ,
+    "create-new-seller": "إنشاء بائع جديد" ,
+    "create-new-shipping-method": "إنشاء طريقة شحن جديدة" ,
+    "create-new-tax-category": "إنشاء فئة ضريبية" ,
+    "create-new-tax-rate": "إنشاء معدل ضريبة جديد" ,
+    "create-new-zone": "إنشاء منطقة جديدة" ,
+    "default-currency": "العملة الافتراضية",
+    "default-role-label": "هذا دور افتراضي ولا يمكن تعديله" ,
+    "default-shipping-zone": "منطقة الشحن الافتراضية" ,
+    "default-tax-zone": "المنطقة الضريبية الافتراضية" ,
+    "defaults": "التخلف عن السداد" ,
+    "eligible": "صالح",
+    "email-address": "عنوان البريد الإلكتروني",
+    "email-address-or-identifier": "عنوان البريد الإلكتروني أو المعرف" ,
+    "first-name": "الاسم الأول",
+    "fulfillment-handler": "معالج الوفاء" ,
+    "global-available-languages-tooltip": "يحدد اللغات المتوفرة لجميع القنوات. يمكن للقنوات الفردية أن تدعم مجموعة فرعية من هذه اللغات." ,
+    "global-out-of-stock-threshold": "عتبة عالمية خارج المخزون" ,
+    "global-out-of-stock-threshold-tooltip": "يحدد مستوى الأسهم الذي يعتبر هذا البديل غير متغير.باستخدام قيمة سالبة يتيح الدعم المتأخر.يمكن تجاوزها بواسطة متغيرات المنتج.",
+    "last-name": "اسم العائلة",
+    "no-eligible-shipping-methods": "لا توجد طرق شحن مؤهلة" ,
+    "password": "كلمة المرور",
+    "payment-eligibility-checker": "مدقق أهلية الدفع" ,
+    "payment-handler": "معالج الدفع" ,
+    "payment-method": "طريقة الدفع او السداد",
+    "permissions": "أذونات" ,
+    "prices-include-tax": "تشمل الأسعار ضريبة على المنطقة الافتراضية" ,
+    "profile": "حساب تعريفي",
+    "rate": "معدل",
+    "remove-countries-from-zone-success": "تمت إزالة {CountryCount} {CountryCount , الجمع , واحد {Country} آخر {البلدان}} من Zone \" {Zonename} \"" ,
+    "remove-from-zone": "إزالة من المنطقة" ,
+    "role": "دور",
+    "roles": "الأدوار" ,
+    "search-by-product-name-or-sku": "ابحث باسم المنتج أو SKU" ,
+    "seller": "تاجر",
+    "shipping-calculator": "حاسبة الشحن" ,
+    "shipping-eligibility-checker": "مدقق الأهلية الشحن" ,
+    "shipping-method": "طريقة الشحن",
+    "tax-category": "فئة الضرائب" ,
+    "tax-rate": "معدل الضريبة",
+    "test-address": "عنوان الاختبار" ,
+    "test-result": "نتيجة الاختبار",
+    "test-shipping-method": "اختبار طريقة الشحن" ,
+    "test-shipping-methods": "اختبار طرق الشحن" ,
+    "track-inventory-default": "تتبع المخزون افتراضيًا" ,
+    "view-zone-members": "عرض الأعضاء" ,
+    "zone": "منطقة"
+  },
+  "state": {
+    "adding-items": "إضافة عناصر" ,
+    "arranging-additional-payment": "ترتيب دفع إضافي" ,
+    "arranging-payment": "ترتيب الدفع" ,
+    "authorized": "مخول",
+    "cancelled": "ألغيت",
+    "created": "مخلوق",
+    "declined": "انخفض",
+    "delivered": "تم التوصيل",
+    "draft": "مسودة",
+    "error": "خطأ",
+    "failed": "فشل",
+    "modifying": "تعديل" ,
+    "partially-delivered": "تسليم جزئيا" ,
+    "partially-shipped": "شحن جزئي" ,
+    "payment-authorized": "الدفع المعتمد" ,
+    "payment-settled": "الدفع المستقر" ,
+    "pending": "قيد الانتظار",
+    "settled": "تسوية",
+    "shipped": "شحنها"
+  },
+  "system": {
+    "all-job-queues": "جميع قوائم انتظار الوظائف" ,
+    "health-all-systems-up": "جميع الأنظمة" ,
+    "health-error": "خطأ: نظام واحد أو أكثر من الانخفاض!" ,
+    "health-last-checked": "آخر فحص" ,
+    "health-message": "رسالة",
+    "health-refresh": "ينعش",
+    "health-status": "حالة",
+    "health-status-down": "تحت",
+    "health-status-up": "أعلى",
+    "hide-settled-jobs": "إخفاء الوظائف المستقرة" ,
+    "job-data": "بيانات الوظيفة" ,
+    "job-duration": "مدة",
+    "job-error": "خطأ في الوظيفة" ,
+    "job-queue-name": "اسم قائمة الانتظار" ,
+    "job-result": "نتيجة الوظيفة" ,
+    "job-state": "دولة الوظيفة"
+  }
+}

+ 1 - 0
packages/admin-ui/src/lib/static/vendure-ui-config.json

@@ -6,6 +6,7 @@
     "authTokenHeaderKey": "vendure-auth-token",
     "defaultLanguage": "en",
     "availableLanguages": [
+        "ar",
         "en",
         "es",
         "zh_Hant",