From 9b57cc60af19cd05b8b855dfcd0e04e5cc3cdefd Mon Sep 17 00:00:00 2001 From: Pinga <121483313+getpinga@users.noreply.github.com> Date: Wed, 29 Jan 2025 12:53:42 +0200 Subject: [PATCH] Added Arabic language support in CP --- cp/bootstrap/app.php | 5 +- cp/lang/ar_SA/messages.po | 1506 +++++++++++++++++++ cp/resources/views/layouts/app.twig | 15 +- cp/resources/views/partials/css-tables.twig | 26 +- cp/resources/views/partials/css.twig | 26 +- docs/configuration.md | 2 +- 6 files changed, 1563 insertions(+), 17 deletions(-) create mode 100644 cp/lang/ar_SA/messages.po diff --git a/cp/bootstrap/app.php b/cp/bootstrap/app.php index ee4d2ae..5603038 100644 --- a/cp/bootstrap/app.php +++ b/cp/bootstrap/app.php @@ -88,7 +88,7 @@ $container->set('view', function ($container) { ]); // Known set of languages - $allowedLanguages = ['en_US', 'uk_UA', 'jp_JP', 'fr_FR', 'pt_PT', 'es_ES']; // Add more as needed + $allowedLanguages = ['en_US', 'uk_UA', 'jp_JP', 'fr_FR', 'pt_PT', 'es_ES', 'ar_SA']; if (isset($_SESSION['_lang']) && in_array($_SESSION['_lang'], $allowedLanguages)) { // Use regex to validate the format: two letters, underscore, two letters @@ -111,6 +111,8 @@ $container->set('view', function ($container) { $lang = '日本語'; } elseif ($uiLang === 'ua') { $lang = 'Українська'; + } elseif ($uiLang === 'ar') { + $lang = 'العربية'; } else { $lang = ucfirst(trim(strstr($lang_full, ' (', true))); } @@ -126,6 +128,7 @@ $container->set('view', function ($container) { $view->getEnvironment()->addGlobal('uiLang', $uiLang); $view->getEnvironment()->addGlobal('lang', $lang); + $view->getEnvironment()->addGlobal('_lang', substr($desiredLanguage, 0, 2)); $view->getEnvironment()->addGlobal('flash', $container->get('flash')); $staticDir = '/var/www/cp/public/static'; diff --git a/cp/lang/ar_SA/messages.po b/cp/lang/ar_SA/messages.po new file mode 100644 index 0000000..70a1fe4 --- /dev/null +++ b/cp/lang/ar_SA/messages.po @@ -0,0 +1,1506 @@ +msgid "Approve Transfer" +msgstr "الموافقة على التحويل" + +msgid "Cancel Transfer" +msgstr "إلغاء التحويل" + +msgid "Reject Transfer" +msgstr "رفض التحويل" + +msgid "Completed" +msgstr "منجز" + +msgid "Name" +msgstr "إسم" + +msgid "Initiated Date" +msgstr "تاريخ البدء" + +msgid "Expiry Date" +msgstr "تاريخ الانتهاء" + +msgid "Status" +msgstr "الحالة" + +msgid "Actions" +msgstr "الإجراءات" + +msgid "Are you sure you want to approve this transfer?" +msgstr "هل أنت متأكد من أنك تريد الموافقة على هذا النقل؟" + +msgid "Confirm" +msgstr "تأكيد" + +msgid "Are you sure you want to cancel this transfer?" +msgstr "هل أنت متأكد من أنك تريد إلغاء هذا النقل؟" + +msgid "Are you sure you want to reject this transfer?" +msgstr "هل أنت متأكد من أنك تريد رفض هذا النقل؟" + +msgid "No Data" +msgstr "لا توجد بيانات" + +msgid "Registrar" +msgstr "المسجل" + +msgid "Date" +msgstr "التاريخ" + +msgid "Log" +msgstr "السجل" + +msgid "Command" +msgstr "أمر" + +msgid "Domain" +msgstr "النطاق" + +msgid "Length" +msgstr "طول" + +msgid "From" +msgstr "من" + +msgid "To" +msgstr "الى" + +msgid "Amount" +msgstr "المبلغ" + +msgid "Host Name" +msgstr "اسم المضيف" + +msgid "Creation Date" +msgstr "تاريخ الإنشاء" + +msgid "Are you sure you want to delete this host?" +msgstr "هل أنت متأكد من أنك تريد حذف هذا المضيف؟" + +msgid "Message" +msgstr "نص الرسالة" + +msgid "Message Type" +msgstr "نوع الرسالة" + +msgid "Object" +msgstr "كائن" + +msgid "Subject" +msgstr "الموضوع" + +msgid "Category" +msgstr "الفئة" + +msgid "Priority" +msgstr "الأولوية" + +msgid "Email" +msgstr "البريد الإلكتروني" + +msgid "Balance" +msgstr "الرصيد" + +msgid "Description" +msgstr "التوصيف" + +msgid "Identifier" +msgstr "المعرف" + +msgid "Phone" +msgstr "الهاتف" + +msgid "Are you sure you want to delete this contact?" +msgstr "هل تريد حقًا مسح جهة الاتصال هذه؟" + +msgid "Object Type" +msgstr "نوع الكائن" + +msgid "Result" +msgstr "النتيجة" + +msgid "clTRID" +msgstr "clTRID" + +msgid "Milliseconds" +msgstr "ميلي ثواني" + +msgid "Registrant" +msgstr "المسجل له" + +msgid "Expiration Date" +msgstr "تاريخ انتهاء الصلاحية" + +msgid "Are you sure you want to delete this domain?" +msgstr "هل أنت متأكد أنك تريد حذف هذا النطاق؟" + +msgid "Are you sure you want to restore this domain?" +msgstr "هل أنت متأكد من أنك تريد استعادة هذا النطاق؟" + +msgid "Are you sure you want to submit restore report for this domain?" +msgstr "هل أنت متأكد من أنك تريد إرسال تقرير الاستعادة لهذا النطاق؟" + +msgid "Number" +msgstr "رقم" + +msgid "Total Domains" +msgstr "إجمالي النطاقات" + +msgid "Created Domains" +msgstr "تم إنشاء نطاقات" + +msgid "Renewed Domains" +msgstr "النطاقات المجددة" + +msgid "Transferred Domains" +msgstr "النطاقات المنقولة" + +msgid "Deleted Domains" +msgstr "النطاقات المحذوفة" + +msgid "Restored Domains" +msgstr "النطاقات المستعادة" + +msgid "Script" +msgstr "الكتابة" + +msgid "Roles" +msgstr "الأدوار" + +msgid "Verified" +msgstr "تم التحقق" + +msgid "Applicant" +msgstr "مقدم الطلب" + +msgid "Phase" +msgstr "المرحلة" + +msgid "Are you sure you want to delete this application?" +msgstr "هل أنت متأكد أنك تريد حذف هذا الطلب؟" + +msgid "My Profile" +msgstr "ملفي الشخصي" + +msgid "Overview" +msgstr "نظرة عامة" + +msgid "Details" +msgstr "التفاصيل" + +msgid "User Name" +msgstr "اسم المستخدم" + +msgid "Role" +msgstr "الدور" + +msgid "Change Password" +msgstr "تغيير كلمة المرور" + +msgid "Old Password" +msgstr "كلمة المرور القديمة" + +msgid "New Password" +msgstr "كلمة المرور الجديدة" + +msgid "Back" +msgstr "رجوع" + +msgid "Update" +msgstr "تحديث" + +msgid "Two-Factor Authentication" +msgstr "المصادقة الثنائية" + +msgid "Set up 2FA for additional security. Scan the QR code with your authentication app and enter the provided code below to verify." +msgstr "قم بإعداد 2FA لتوفير أمن إضافي. قم بمسح رمز QR باستخدام تطبيق المصادقة الخاص بك وأدخل الرمز المقدم أدناه للتحقق منه." + +msgid "Manual Entry Secret" +msgstr "سر الإدخال اليدوي" + +msgid "If you're unable to scan the QR code, enter this secret manually into your authentication app. The secret is case-sensitive and should be entered exactly as shown." +msgstr "إذا كنت غير قادر على مسح رمز QR، أدخل هذا السر يدوياً في تطبيق المصادقة الخاص بك. السر حساس لحالة الأحرف ويجب إدخاله بالضبط كما هو موضح." + +msgid "Verification Code" +msgstr "رمز التحقق" + +msgid "Enter code" +msgstr "أدخل الرمز" + +msgid "Enter the code generated by your authentication app. This code verifies that your 2FA setup is working correctly. Once entered, click" +msgstr "أدخل الرمز الذي تم إنشاؤه بواسطة تطبيق المصادقة الخاص بك. هذا الرمز يؤكد أن إعداد 2FA الخاص بك يعمل بشكل صحيح. بمجرد إدخاله، انقر فوق" + +msgid "Save 2FA Settings" +msgstr "حفظ إعدادات 2FA" + +msgid "to activate two-factor authentication for your account." +msgstr "لتفعيل المصادقة الثنائية لحسابك." + +msgid "Your account is secured with an additional layer of protection." +msgstr "يتم تأمين حسابك بطبقة إضافية من الحماية." + +msgid "2FA is currently" +msgstr "2FA حاليا" + +msgid "enabled" +msgstr "مفعل" + +msgid "for your account. If you encounter any issues or need to disable 2FA, please contact our support team for assistance." +msgstr "لحسابك. إذا واجهت أي مشاكل أو تحتاج إلى تعطيل 2FA، يرجى الاتصال بفريق الدعم للحصول على المساعدة." + +msgid "WebAuthn Authentication" +msgstr "مصادقة WebAuthn" + +msgid "Secure your account with WebAuthn. Click the button below to register your device for passwordless sign-in." +msgstr "تأمين حسابك باستخدام WebAuthn. انقر على الزر أدناه لتسجيل جهازك لتسجيل الدخول بدون كلمة مرور." + +msgid "Connect WebAuthn Device" +msgstr "توصيل جهاز WebAuthn" + +msgid "Device/Browser Info" +msgstr "معلومات الجهاز/المستعرض" + +msgid "Registration Date" +msgstr "تاريخ التسجيل" + +msgid "Action" +msgstr "إجراء" + +msgid "Edit" +msgstr "تحرير" + +msgid "No devices found." +msgstr "لم يتم العثور على أجهزة." + +msgid "User Audit Log" +msgstr "سجل تدقيق المستخدم" + +msgid "Track and review all user activities in your account below. Monitor logins, profile changes, and other key actions to ensure security and transparency." +msgstr "تتبع ومراجعة جميع أنشطة المستخدم في حسابك أدناه. مراقبة تسجيل الدخول، وتغييرات الملف الشخصي، والإجراءات الرئيسية الأخرى لضمان الأمن والشفافية." + +msgid "Event" +msgstr "حدث" + +msgid "User Agent" +msgstr "وكيل المستخدم" + +msgid "Location" +msgstr "موقع" + +msgid "Timestamp" +msgstr "طابع زمني" + +msgid "No log data for user." +msgstr "لا توجد بيانات سجل للمستخدم." + +msgid "Documentation" +msgstr "التوثيق" + +msgid "Support Tickets" +msgstr "تذاكر الدعم" + +msgid "Media Kit" +msgstr "حزمة الوسائط" + +msgid "Create New Ticket" +msgstr "إنشاء تذكرة جديدة" + +msgid "Search" +msgstr "البحث" + +msgid "Search tickets" +msgstr "البحث في التذاكر" + +msgid "Ticket Overview" +msgstr "نظرة عامة على التذكرة" + +msgid "Ticket" +msgstr "تذكرة" + +msgid "Unknown Status" +msgstr "مجهولةُ الحالة" + +msgid "Ticket Details" +msgstr "تفاصيل التذكره" + +msgid "Created On" +msgstr "تم الإنشاء بتاريخ" + +msgid "Conversation" +msgstr "المحادثه" + +msgid "Your Response" +msgstr "جوابكَ" + +msgid "Submit Response" +msgstr "إرسال الرد" + +msgid "New Support Ticket" +msgstr "تذكرة دعم جديدة" + +msgid "Support ticket can not be created" +msgstr "لا يمكن إنشاء تذكرة الدعم" + +msgid "Select a category" +msgstr "حدد فئة" + +msgid "Create Ticket" +msgstr "إنشاء تذكرة" + +msgid "Create Domain" +msgstr "إنشاء المجال" + +msgid "Your Domain Name" +msgstr "اسم النطاق الخاص بك" + +msgid "Select Registrar" +msgstr "اختر المسجل" + +msgid "Registration Years" +msgstr "سنوات التسجيل" + +msgid "Estimated Price" +msgstr "تقدير السعر" + +msgid "Contacts" +msgstr "جهات الاتصال" + +msgid "Registrant Contact" +msgstr "جهة اتصال المسجل" + +msgid "Admin Contact" +msgstr "جهة اتصال المسؤول" + +msgid "Tech Contact" +msgstr "جهة الاتصال التقنية" + +msgid "Billing Contact" +msgstr "جهة الاتصال بالفاتورة" + +msgid "Nameservers" +msgstr "خوادم الأسماء" + +msgid "Nameserver" +msgstr "خادم الأسماء" + +msgid "Add DNSSEC Data" +msgstr "إضافة بيانات DNSSEC" + +msgid "DS Record" +msgstr "سجل DS" + +msgid "Key Tag" +msgstr "Key Tag" + +msgid "Select Algorithm" +msgstr "حدد الخوارزمية" + +msgid "Select Digest Type" +msgstr "اختر نوع الملخص" + +msgid "Digest" +msgstr "الملخص" + +msgid "DNSKEY Record" +msgstr "سجل DNSKEY" + +msgid "Flags" +msgstr "الرايات" + +msgid "Protocol" +msgstr "البروتوكول" + +msgid "Public Key" +msgstr "المفتاح العمومي" + +msgid "Auth Info" +msgstr "معلومات المصادقة" + +msgid "Statuses" +msgstr "الحالات" + +msgid "Server Statuses" +msgstr "حالات الخادم" + +msgid "Phase Type" +msgstr "نوع المرحلة" + +msgid "Signed Mark Information" +msgstr "معلومات علامة موقعة" + +msgid "Paste SMD contents" +msgstr "لصق محتويات SMD" + +msgid "Notice ID" +msgstr "معرف الإشعار" + +msgid "Not After Date" +msgstr "تاريخ الانتهاء" + +msgid "Accepted Date" +msgstr "تاريخ القبول" + +msgid "Allocation Token" +msgstr "Allocation Token" + +msgid "Allocation token" +msgstr "Allocation token" + +msgid "Domain Details" +msgstr "تفاصيل النطاق" + +msgid "Registered On" +msgstr "تم التسجيل في" + +msgid "Last Updated" +msgstr "آخر تحديث" + +msgid "contact" +msgstr "جهة الاتصال" + +msgid "Auth Type" +msgstr "نوع المصادقة" + +msgid "DNSSEC Data" +msgstr "بيانات DNSSEC" + +msgid "Domains" +msgstr "النطاقات" + +msgid "Check Domain" +msgstr "تحقق من النطاق" + +msgid "Search domains" +msgstr "البحث في النطاقات" + +msgid "Application Details" +msgstr "تفاصيل التطبيق" + +msgid "Application for" +msgstr "طلب من أجل" + +msgid "Application ID" +msgstr "معرف الطلب" + +msgid "Launch Phase" +msgstr "مرحلة الإطلاق" + +msgid "Phase Name" +msgstr "اسم المرحلة" + +msgid "Updating Application" +msgstr "جارٍ تحديث الطلب" + +msgid "Update Application" +msgstr "تحديث الطلب" + +msgid "Create Application" +msgstr "إنشاء طلب" + +msgid "Renew Domain" +msgstr "تجديد النطاق" + +msgid "Domain Name" +msgstr "اسم النطاق" + +msgid "Your domain is currently renewed to its maximum term. At this time, no additional renewal is possible." +msgstr "تم تجديد نطاقك لأقصى مدة ممكنة. لا يمكن إجراء تجديد إضافي في الوقت الحالي." + +msgid "Applications" +msgstr "الطلبات" + +msgid "Search applications" +msgstr "بحث في الطلبات" + +msgid "Updating Domain" +msgstr "جارٍ تحديث النطاق" + +msgid "Domain Security" +msgstr "أمان النطاق" + +msgid "Update Domain" +msgstr "تحديث النطاق" + +msgid "Request Domain Transfer" +msgstr "طلب نقل النطاق" + +msgid "Gaining Registrar" +msgstr "المسجل المستلم" + +msgid "Transfer And Renew" +msgstr "نقل وتجديد" + +msgid "Request Transfer" +msgstr "طلب نقل" + +msgid "Transfers" +msgstr "التحويلات" + +msgid "Search transfers" +msgstr "بحث عن عمليات النقل" + +msgid "Enter the domain name you want to check:" +msgstr "أدخل اسم المجال الذي تريد التحقق منه:" + +msgid "Check Availability" +msgstr "فحص التوافر" + +msgid "Check claims" +msgstr "التحقق من المطالبات" + +msgid "Create Contact" +msgstr "إنشاء جهة اتصال" + +msgid "General & Internationalized Info" +msgstr "المعلومات العامة والمُدَوَّلة" + +msgid "Disclose in WHOIS" +msgstr "إظهار في WHOIS" + +msgid "Organization" +msgstr "المؤسسة" + +msgid "Street" +msgstr "شارع" + +msgid "City" +msgstr "مدينة" + +msgid "State/Province" +msgstr "الولاية / المقاطعة" + +msgid "Postal Code" +msgstr "الترقيم البريدي" + +msgid "Country" +msgstr "البلد" + +msgid "Disclose Address in WHOIS" +msgstr "الكشف عن عنوان في WHOIS" + +msgid "Contact Details" +msgstr "تفاصيل جهة الإتصال" + +msgid "Contact ID" +msgstr "معرف جهة الاتصال" + +msgid "Voice" +msgstr "الهاتف" + +msgid "Fax" +msgstr "فاكس" + +msgid "Contact AuthInfo" +msgstr "معلومات المصادقة لجهة الاتصال" + +msgid "Auto-generated authentication information for the contact" +msgstr "معلومات المصادقة التي تم إنشاؤها تلقائياً لجهة الاتصال" + +msgid "NIN - National Identification Number" +msgstr "NIN - رقم الهوية الوطني" + +msgid "This is a Business Contact" +msgstr "هذا جهة اتصال للأعمال التجارية" + +msgid "Verify by Phone" +msgstr "التحقق بواسطة الهاتف" + +msgid "Verify by Email" +msgstr "التحقق بالبريد الإلكتروني" + +msgid "Verify by Postal Mail" +msgstr "التحقق بواسطة البريد" + +msgid "Include Localized Info" +msgstr "تضمين معلومات التوطين" + +msgid "Localized Postal Info: Personal Details" +msgstr "المعلومات البريدية المترجمة: التفاصيل الشخصية" + +msgid "Localized Postal Info: Address Details" +msgstr "المعلومات البريدية المترجمة: تفاصيل العنوان" + +msgid "Search contacts" +msgstr "البحث عن جهات الاتصال" + +msgid "Update Contact" +msgstr "تحديث جهة الاتصال" + +msgid "Authentication information for the contact" +msgstr "معلومات المصادقة لجهة الاتصال" + +msgid "Contact" +msgstr "جهة الاتصال" + +msgid "linked" +msgstr "مرتبط" + +msgid "Visible in Public" +msgstr "مرئي في الجمهور" + +msgid "Hidden from Public" +msgstr "مخفي من الجمهور" + +msgid "International" +msgstr "دولي" + +msgid "Localized" +msgstr "محلي" + +msgid "International Contact Details" +msgstr "تفاصيل الاتصال الدولي" + +msgid "Localized Contact Details" +msgstr "تفاصيل جهة الاتصال المترجمة" + +msgid "No Localized Contact Information Available" +msgstr "لا تتوفر معلومات الاتصال المترجمة" + +msgid "System Log" +msgstr "سجل النظام" + +msgid "Search logs" +msgstr "البحث في السجلات" + +msgid "Message Queue" +msgstr "قائمة انتظار الرسائل" + +msgid "Search queue" +msgstr "قائمة انتظار البحث" + +msgid "EPP History" +msgstr "تاريخ EPP" + +msgid "List Users" +msgstr "قائمة المستخدمين" + +msgid "Search users" +msgstr "ابحث في المستخدمين" + +msgid "Host Details" +msgstr "تفاصيل المضيف" + +msgid "Hosts" +msgstr "المضيفون" + +msgid "Create Host" +msgstr "إنشاء مضيف" + +msgid "Search hosts" +msgstr "البحث عن المضيفين" + +msgid "Update Host" +msgstr "تحديث المضيف" + +msgid "The host you're trying to update" +msgstr "المضيف الذي تحاول تحديثه" + +msgid "is external to the registry. Consequently, it does not store any IP addresses within our system, and therefore, does not require any updates from your end. This means there are no associated IP addresses under our management that need your attention." +msgstr "المضيف خارجي عن السجل. لذلك، لا يخزن أي عناوين IP في نظامنا، وبالتالي لا يتطلب أي تحديثات من جانبك. هذا يعني أنه لا توجد عناوين IP مرتبطة تحت إدارتنا تحتاج إلى انتباهك." + +msgid "IPv4 Address" +msgstr "عنوان IPv4" + +msgid "Please enter a valid IPv4 address." +msgstr "الرجاء إدخال عنوان IPv4 صالح." + +msgid "IPv6 Address" +msgstr "عنوان IPv6" + +msgid "Please enter a valid IPv6 address." +msgstr "الرجاء إدخال عنوان IPv6 صالح." + +msgid "Optional" +msgstr "اختياري" + +msgid "Deposit Payment Unsuccessful" +msgstr "دفع الإيداع غير ناجح" + +msgid "We've noticed that your deposit payment process was not completed. It appears that the payment was either cancelled or failed during the transaction. If this was an error, or if you have any questions, please don't hesitate to contact us. We're here to help ensure your transaction is smooth and secure." +msgstr "لقد لاحظنا أن عملية دفع الإيداع الخاصة بك لم تكتمل. يبدو أن الدفع إما تم إلغاؤه أو فشله أثناء المعاملة. إذا كان هذا خطأ، أو إذا كان لديك أي أسئلة، يرجى عدم التردد في الاتصال بنا. نحن هنا للمساعدة في التأكد من أن معاملتك سلسة وآمنة." + +msgid "Ready to try again? When you're set to proceed with your deposit, simply return to the" +msgstr "هل أنت مستعد للمحاولة مرة أخرى؟ عندما تكون مستعداً للمضي قدماً في الإيداع الخاص بك، ببساطة العودة إلى" + +msgid "Deposit Page" +msgstr "صفحة الإيداع" + +msgid "to initiate a new payment. We value your partnership and are committed to assisting you every step of the way." +msgstr "لبدء دفع جديد. نحن نقدر شراكتك ونحن ملتزمون بمساعدتك في كل خطوة على الطريق." + +msgid "Registrar Deposit" +msgstr "إيداع المسجل" + +msgid "Choose Registrar..." +msgstr "اختر مسجلًا..." + +msgid "Current Balance for" +msgstr "الرصيد الحالي لـ" + +msgid "Enter deposit amount" +msgstr "أدخل مبلغ الودائع" + +msgid "Optional deposit description" +msgstr "وصف الإيداع الاختياري" + +msgid "Add Deposit" +msgstr "إضافة وديعة" + +msgid "Account Overview" +msgstr "نظرة عامة على الحساب" + +msgid "Search account" +msgstr "البحث في الحساب" + +msgid "View Invoice" +msgstr "عرض الفاتورة" + +msgid "Invoice" +msgstr "الفاتورة" + +msgid "Print Invoice" +msgstr "طباعة الفاتورة" + +msgid "Provider" +msgstr "المورد" + +msgid "Registry" +msgstr "السجل" + +msgid "Client" +msgstr "العميل" + +msgid "Invoice Issued On" +msgstr "إصدار الفاتورة في" + +msgid "Due Date" +msgstr "تاريخ الاستحقاق" + +msgid "Product" +msgstr "المنتج" + +msgid "No items found." +msgstr "لا توجد عناصر." + +msgid "Subtotal" +msgstr "الإجمالي الفرعي" + +msgid "Vat Rate" +msgstr "نسبة ضريبة القيمة المضافة" + +msgid "Vat Due" +msgstr "ضريبة القيمة المضافة المستحقة" + +msgid "Total Due" +msgstr "الإجمالي المستحق" + +msgid "Notes" +msgstr "ملاحظات" + +msgid "Thank you very much for doing business with us. We look forward to working with you again!" +msgstr "شكرا جزيلا لكم على العمل معنا. نحن نتطلع إلى العمل معكم مرة أخرى!" + +msgid "Transactions" +msgstr "المعاملات" + +msgid "Search transactions" +msgstr "البحث عن معاملات" + +msgid "Invoices" +msgstr "الفواتير" + +msgid "Search invoices" +msgstr "ابحث عن الفواتير" + +msgid "Deposit with Stripe" +msgstr "الإيداع عبر Stripe" + +msgid "Registrar Details" +msgstr "تفاصيل المسجل" + +msgid "Contact Email" +msgstr "البريد الإلكتروني لجهة الإتصال" + +msgid "Website" +msgstr "الموقع الالكتروني" + +msgid "Abuse Phone" +msgstr "هاتف الإبلاغ عن الانتهاكات" + +msgid "Abuse Email" +msgstr "بريد إساءة" + +msgid "WHOIS Server" +msgstr "خادم WHOIS" + +msgid "RDAP Server" +msgstr "خادم RDAP" + +msgid "Currency" +msgstr "عملة" + +msgid "Account Balance" +msgstr "رصيد الحساب" + +msgid "Credit Limit" +msgstr "الحد الائتماني" + +msgid "Credit Threshold" +msgstr "عتبة الائتمان" + +msgid "Threshold Type" +msgstr "نوع العتبة" + +msgid "IP Whitelisting" +msgstr "قائمة بيضاء IP" + +msgid "No data available." +msgstr "لا توجد بيانات متاحة." + +msgid "Registrar User" +msgstr "مستخدم المسجل" + +msgid "EPP Username/CLID" +msgstr "اسم المستخدم/معرف EPP" + +msgid "Panel Login Email" +msgstr "البريد الإلكتروني لتسجيل الدخول" + +msgid "Operational Test and Evaluation (OTE)" +msgstr "اختبار وتقييم تشغيليان" + +msgid "Successfully passing the Operational Test and Evaluation (OTE) is a mandatory requirement for registrars. The OTE process evaluates the interaction and compliance of the registrar's system with registry operations through a series of EPP command tests in a controlled environment. Below you can find the results of these essential EPP command tests for your account:" +msgstr "والنجاح في اجتياز الاختبارات التشغيلية والتقييم شرط إلزامي بالنسبة للمسجلين. وتقيّم عملية مكتب الرقابة والتقييم التفاعل بين نظام المسجل وامتثاله لعمليات السجل من خلال سلسلة من اختبارات القيادة في بيئة خاضعة للرقابة. يمكنك أدناه العثور على نتائج هذه الاختبارات الأساسية لأمر EPP للحساب الخاص بك:" + +msgid "Pending" +msgstr "قيد الانتظار" + +msgid "Failed" +msgstr "فشل" + +msgid "Update Registrar" +msgstr "تحديث المسجل" + +msgid "The official name of the registrar." +msgstr "الاسم الرسمي للمسجل." + +msgid "Unique identifier assigned by IANA." +msgstr "معرف فريد من نوعه من قبل IANA." + +msgid "Primary contact email of the registrar." +msgstr "البريد الإلكتروني الرئيسي للاتصال بالمسجل." + +msgid "URL" +msgstr "URL" + +msgid "Registrar's official website URL." +msgstr "الموقع الشبكي الرسمي للمسجل." + +msgid "Address of the registrar's WHOIS server." +msgstr "عنوان خادم WHOIS التابع للمسجل." + +msgid "Address of the registrar's RDAP server." +msgstr "عنوان خادم RDAP الخاص بالمسجل." + +msgid "Email address for reporting abuse." +msgstr "عنوان البريد الإلكتروني للإبلاغ عن سوء المعاملة." + +msgid "Phone number for reporting abuse." +msgstr "رقم الهاتف للإبلاغ عن إساءة المعاملة." + +msgid "Financial Information" +msgstr "المعلومات المالية" + +msgid "Current balance in the registrar's account." +msgstr "الرصيد الحالي في حساب المسجل." + +msgid "Maximum credit limit for the registrar." +msgstr "الحد الأقصى للائتمان للمسجل." + +msgid "Credit threshold triggering alerts or actions." +msgstr "عتبة الائتمان تشغيل التنبيهات أو الإجراءات." + +msgid "Type of threshold: fixed value or percentage." +msgstr "نوع العتبة: القيمة الثابتة أو النسبة المئوية." + +msgid "Registrar Contacts" +msgstr "جهات الاتصال بالمسجل" + +msgid "Owner" +msgstr "المالك" + +msgid "Billing" +msgstr "الفوترة" + +msgid "Abuse" +msgstr "الانتهاكات" + +msgid "Copy data to other contacts" +msgstr "نسخ البيانات إلى جهات اتصال أخرى" + +msgid "First Name" +msgstr "الاسم الأول" + +msgid "Last Name" +msgstr "إسم العائلة" + +msgid "Street Address" +msgstr "عنوان الشارع" + +msgid "Whitelist IP addresses for secure access. Up to 5 IP addresses (IPv4 or IPv6) can be added." +msgstr "القائمة البيضاء عناوين IP للوصول الآمن. يمكن إضافة ما يصل إلى 5 عناوين IP (IPv4 أو IPv6)." + +msgid "For an existing registrar user, you can view the current EPP username (also known as CLID) and panel access email. Additionally, you have the option to reset the passwords for EPP and panel access as needed." +msgstr "لمستخدم مسجل حالي، يمكنك عرض اسم مستخدم EPP الحالي (المعروف أيضًا باسم CLID) والبريد الإلكتروني للوصول إلى اللوحة. بالإضافة إلى ذلك، لديك خيار إعادة تعيين كلمات المرور لـ EPP و لوحة التحكم حسب الحاجة." + +msgid "Username/CLID" +msgstr "اسم المستخدم/معرف EPP" + +msgid "Login Email" +msgstr "تسجيل الدخول البريد الإلكتروني" + +msgid "Panel Password" +msgstr "كلمة مرور لوحة" + +msgid "EPP Password" +msgstr "كلمة مرور EPP" + +msgid "Update Panel Password" +msgstr "تحديث كلمة مرور لوحة التحكم" + +msgid "Update EPP Password" +msgstr "تحديث كلمة مرور EPP" + +msgid "Operational Test and Evaluation (OTE) assesses the functionality of EPP commands in a simulated environment, ensuring effective communication between the registrar's system and the registry. Below are key EPP commands and their test statuses:" +msgstr "ويقيّم الاختبار والتقييم العملياتيان قدرة أوامر البرنامج على العمل في بيئة محاكاة، مما يكفل الاتصال الفعال بين نظام المسجل والسجل. فيما يلي أوامر EPP الرئيسية وحالتها الاختبارية:" + +msgid "Create Registrar" +msgstr "إنشاء مسجل" + +msgid "Fixed" +msgstr "ثابت" + +msgid "Percent" +msgstr "في المئة" + +msgid "Create a registrar user by specifying the username (also known as CLID), email, and passwords for EPP and panel access." +msgstr "أنشئ مستخدمًا للمسجل عن طريق تحديد اسم المستخدم (المعروف أيضًا باسم CLID)، البريد الإلكتروني، وكلمات المرور لـ EPP ولوحة التحكم." + +msgid "Registrars" +msgstr "المسجلون" + +msgid "Search registrars" +msgstr "بحث في المسجلين" + +msgid "Managed Reserved Names" +msgstr "الأسماء المحجوزة المدارة" + +msgid "Manage Reserved Names" +msgstr "إدارة الأسماء المحجوزة" + +msgid "Update Reserved Names" +msgstr "تحديث الأسماء المحجوزة" + +msgid "Manage TLD" +msgstr "إدارة TLD" + +msgid "General Details" +msgstr "تفاصيل عامة" + +msgid "TLD Extension" +msgstr "ملحق TLD" + +msgid "TLD Type" +msgstr "نوع النطاق العلوي (TLD)" + +msgid "Supported Script" +msgstr "سكريبت مدعوم" + +msgid "Pricing" +msgstr "التسعير" + +msgid "Setup Fee" +msgstr "رسوم الإعداد" + +msgid "Year" +msgstr "السنة" + +msgid "Years" +msgstr "سنوات" + +msgid "Create" +msgstr "إنشاء" + +msgid "Renew" +msgstr "جدد" + +msgid "Transfer" +msgstr "نقل" + +msgid "When you type a price for 1 Year above, it will automatically get multiplied for subsequent years." +msgstr "عند إدخال سعر لسنة واحدة أعلاه، سيتم ضربه تلقائيًا للسنوات اللاحقة." + +msgid "Restore Price" +msgstr "استعادة السعر" + +msgid "Enter the price for restoring the TLD." +msgstr "أدخل سعر استعادة النطاق العلوي (TLD)." + +msgid "Premium Names" +msgstr "الأسماء المميزة" + +msgid "Upload CSV File" +msgstr "تحميل ملف CSV" + +msgid "Please upload a CSV file containing premium names. Each row should include a name and its corresponding pricing category, separated by a comma. Note: If one or more names in the file already exist in our system, they will be overwritten with the new information provided in the upload." +msgstr "الرجاء تحميل ملف CSV يحتوي على أسماء مميزة. يجب أن يتضمن كل صف اسما وفئة التسعير المقابلة، مفصولة بفاصلة. ملاحظة: إذا كان هناك اسم واحد أو أكثر في الملف موجود بالفعل في نظامنا، وسيتم الكتابة فوقها بالمعلومات الجديدة المقدمة في عملية التحميل." + +msgid "Set Premium Name Price Categories" +msgstr "تعيين فئات سعر الاسم المميز" + +msgid "Category Name" +msgstr "إسم الفئة" + +msgid "Price" +msgstr "السعر" + +msgid "Update existing premium categories as needed. Please note: currently, deletion of categories is not available. All updates will modify existing information without removing any categories." +msgstr "تحديث الفئات المميزة الحالية حسب الحاجة. يرجى ملاحظة: حاليا، حذف الفئات غير متاح. جميع التحديثات سوف تعدل المعلومات الموجودة دون إزالة أي فئات." + +msgid "Update TLD" +msgstr "تحديث TLD" + +msgid "Manage Promotions" +msgstr "إدارة الترقيات" + +msgid "Promotion Name" +msgstr "اسم الترويج" + +msgid "Start Date" +msgstr "تاريخ البدء" + +msgid "End Date" +msgstr "تاريخ النهاية" + +msgid "Discount" +msgstr "تخفيض" + +msgid "Discount Amount" +msgstr "مقدار الخصم" + +msgid "No promotions found." +msgstr "لم يتم العثور على عرض ترويجي." + +msgid "Create New Promotion" +msgstr "إنشاء ترويج جديد" + +msgid "Promotion Start Date" +msgstr "تاريخ بدء الترويج" + +msgid "Please Note:" +msgstr "يرجى العلم:" + +msgid "All times displayed are in" +msgstr "كل الأوقات المعروضة في" + +msgid "Promotion End Date" +msgstr "تاريخ انتهاء الترويج" + +msgid "Discount Type" +msgstr "نوع الخصم" + +msgid "Percentage" +msgstr "النسبة المئوية" + +msgid "Fixed Amount" +msgstr "المبلغ الثابت" + +msgid "Free Domains" +msgstr "نطاقات مجانية" + +msgid "Discount Value" +msgstr "قيمة الخصم" + +msgid "Enter discount value" +msgstr "أدخل قيمة الخصم" + +msgid "Maximum Discounted Items" +msgstr "الحد الأقصى للعناصر المخفضة" + +msgid "Conditions" +msgstr "الشروط" + +msgid "Enter conditions" +msgstr "أدخل الشروط" + +msgid "Enter description" +msgstr "أدخل الوصف" + +msgid "Update Promotions" +msgstr "تحديث الترقيات" + +msgid "Manage Launch Phases" +msgstr "إدارة مراحل الإطلاق" + +msgid "Phase Category" +msgstr "فئة المرحلة" + +msgid "Phase Description" +msgstr "وصف المرحلة" + +msgid "No launch phases found." +msgstr "لم يتم العثور على مراحل الإطلاق." + +msgid "Create New Phase" +msgstr "إنشاء مرحلة جديدة" + +msgid "Single application only." +msgstr "تطبيق واحد فقط." + +msgid "Multiple applications allowed." +msgstr "السماح بتطبيقات متعددة." + +msgid "Enter phase description" +msgstr "أدخل وصف المرحلة" + +msgid "Phase Start Date" +msgstr "تاريخ بدء المرحلة" + +msgid "Phase End Date" +msgstr "تاريخ انتهاء المرحلة" + +msgid "Update Phases" +msgstr "مراحل التحديث" + +msgid "Registry Configuration" +msgstr "إعدادات السجل" + +msgid "System Settings" +msgstr "إعدادات النظام" + +msgid "Registry Operator Name" +msgstr "اسم مشغل السجل" + +msgid "Enter registry operator's name" +msgstr "أدخل اسم مشغل السجل" + +msgid "The official name of the organization operating the registry." +msgstr "الاسم الرسمي للمنظمة التي تشغل السجل." + +msgid "Registry Handle" +msgstr "معرف السجل" + +msgid "Enter registry handle" +msgstr "أدخل معرف السجل" + +msgid "A unique identifier for the registry which will be appended to each object handle." +msgstr "معرف فريد للسجل سيتم إلحاقه بكل معرف كائن." + +msgid "Enter registry whois server" +msgstr "أدخل خادم WHOIS للسجل" + +msgid "Enter the URL of the registry's WHOIS server. Example:" +msgstr "أدخل عنوان URL لخادم WHOIS الخاص بالسجل. مثال:" + +msgid "Enter registry RDAP server" +msgstr "أدخل خادم RDAP للسجل" + +msgid "Enter the URL of the registry's RDAP server. Example:" +msgstr "أدخل عنوان URL لخادم RDAP الخاص بالسجل. مثال:" + +msgid "Features" +msgstr "الخصائص" + +msgid "Require Launch Phases" +msgstr "تتطلب مراحل الإطلاق" + +msgid "Operator Details" +msgstr "تفاصيل المشغل" + +msgid "Registry VAT/Company Number" +msgstr "رقم ضريبة القيمة المضافة/الشركة" + +msgid "Enter registry operator's VAT number" +msgstr "أدخل رقم ضريبة القيمة المضافة لمشغل السجل" + +msgid "Enter the VAT number of the organization operating the registry, or company number if VAT is unavailable." +msgstr "أدخل رقم ضريبة القيمة المضافة للمنظمة التي تشغل السجل، أو رقم الشركة إذا كانت ضريبة القيمة المضافة غير متوفرة." + +msgid "Contact Address" +msgstr "عنوان الاتصالs" + +msgid "Enter contact address" +msgstr "أدخل عنوان جهة الاتصال" + +msgid "The contact address of the registry." +msgstr "عنوان الاتصال بالسجل." + +msgid "Enter contact email" +msgstr "أدخل البريد الإلكتروني للاتصال" + +msgid "The email address for general inquiries to the registry." +msgstr "عنوان البريد الإلكتروني للاستفسارات العامة إلى السجل." + +msgid "Contact Phone" +msgstr "هاتف الاتصال" + +msgid "Enter contact phone" +msgstr "أدخل هاتف جهة الاتصال" + +msgid "The phone number for general inquiries to the registry." +msgstr "رقم الهاتف للاستفسارات العامة إلى السجل." + +msgid "Update Details" +msgstr "تفاصيل التحديث" + +msgid "TLD Management" +msgstr "إدارة TLD" + +msgid "Create New TLD" +msgstr "إنشاء TLD جديد" + +msgid "Search TLDs" +msgstr "البحث عن TLDs" + +msgid "Enter the desired top-level domain (TLD) name, like" +msgstr "أدخل اسم النطاق الأعلى المطلوب (TLD)، مثل" + +msgid "or" +msgstr "أو" + +msgid "DNSSEC is currently activated manually. This option is for display purposes only." +msgstr "DNSSEC مفعل حاليا يدويا. هذا الخيار هو لأغراض العرض فقط." + +msgid "Select the type of TLD: ccTLD (Country Code Top-Level Domain) or gTLD (Generic Top-Level Domain)." +msgstr "حدد نوع TLD: ccTLD (نطاق رمز البلد أعلى مستوى) أو gTLD (نطاق عام أعلى مستوى)." + +msgid "Cyrillic" +msgstr "السيريلية" + +msgid "Japanese" +msgstr "اليابانية" + +msgid "Korean" +msgstr "كوري" + +msgid "Choose the script type that the TLD will support. Options include ASCII, Cyrillic, Japanese, and Korean." +msgstr "" + +msgid "Upload a CSV file with premium names. Each row should contain a name and its pricing category, separated by a comma." +msgstr "قم بتحميل ملف CSV يحتوي على الأسماء المميزة. يجب أن تحتوي كل صف على اسم وفئة التسعير مفصولة بفاصلة." + +msgid "Create TLD" +msgstr "إنشاء TLD" + +msgid "Reports" +msgstr "التقارير" + +msgid "Search reports" +msgstr "البحث في التقارير" + +msgid "Dashboard" +msgstr "لوحة المعلومات" + +msgid "View Reports" +msgstr "عرض التقارير" + +msgid "Create new domain" +msgstr "إنشاء نطاق جديد" + +msgid "Enable dark mode" +msgstr "تفعيل الوضع المظلم" + +msgid "Enable light mode" +msgstr "تمكين وضع الضوء" + +msgid "Logout" +msgstr "تسجيل خروج" + +msgid "List Domains" +msgstr "قائمة النطاقات" + +msgid "List Applications" +msgstr "قائمة التطبيقات" + +msgid "List Contacts" +msgstr "قائمة جهات الاتصال" + +msgid "List Hosts" +msgstr "قائمة المضيفين" + +msgid "List Registrars" +msgstr "قائمة المسجلين" + +msgid "Financials" +msgstr "المالية" + +msgid "Configuration" +msgstr "الإعدادات" + +msgid "TLDs" +msgstr "TLDs" + +msgid "Support" +msgstr "الدعم" + +msgid "Registry Currency" +msgstr "عملة السجل" + +msgid "Choose the currency for all transactions. This impacts billing and financial reports. Inform stakeholders of changes." +msgstr "اختر العملة لجميع المعاملات. يؤثر هذا على الفوترة والتقارير المالية. قم بإبلاغ أصحاب المصلحة بأي تغييرات." + +msgid "Contact Validation" +msgstr "التحقق من جهة الاتصال" + +msgid "Validate by Phone" +msgstr "التحقق بواسطة الهاتف" + +msgid "Validated by Phone" +msgstr "تم التحقق من صحتها بواسطة الهاتف" + +msgid "Phone Validation" +msgstr "التحقق الهاتفي" + +msgid "Validated by Email" +msgstr "تم التحقق من صحتها بواسطة البريد الإلكتروني" + +msgid "Validate by Email" +msgstr "التحقق بواسطة البريد الإلكتروني" + +msgid "Email Validation" +msgstr "التحقق من صحة البريد الإلكتروني" + +msgid "Validate by Postal Mail" +msgstr "التحقق بواسطة البريد" + +msgid "Validated by Postal Mail" +msgstr "تم التحقق من صحتها بواسطة البريد" + +msgid "Postal Mail Validation" +msgstr "التحقق من صحة البريد" + +msgid "Pending Validation" +msgstr "في انتظار التحقق" + +msgid "Back to Contact Update" +msgstr "العودة إلى تحديث جهة الاتصال" + +msgid "Validate Contact" +msgstr "التحقق من جهة الاتصال" + +msgid "Settings" +msgstr "إعدادات" + +msgid "Manage Settings" +msgstr "إدارة الإعدادات" + +msgid "Not signed" +msgstr "غير موقّع" + +msgid "Signed" +msgstr "تم التوقيع" + +msgid "These domain names are subject to special regulations or registration requirements. They might be available for registration but under specific conditions, such as proof of eligibility or additional documentation." +msgstr "وتخضع أسماء الحقول هذه لأنظمة خاصة أو لمتطلبات التسجيل. وقد تكون متاحة للتسجيل ولكن بشروط محددة، مثل إثبات الأهلية أو وثائق إضافية." + +msgid "Enter each" +msgstr "أدخل كل واحدة" + +msgid "name on a new line, without the extension. For instance, use \"example\" in place of \"example.com\"." +msgstr "الاسم على سطر جديد، بدون التمديد. على سبيل المثال، استخدم \"مثال\" بدلاً من \"example.com\"." + +msgid "View Ticket" +msgstr "عرض التذكرة" + +msgid "Open" +msgstr "مفتوح" + +msgid "In Progress" +msgstr "قيد التنفيذ" + +msgid "Resolved" +msgstr "تم الحل" + +msgid "Low" +msgstr "منخفض" + +msgid "Medium" +msgstr "متوسط" + +msgid "High" +msgstr "مرتفع" + +msgid "Critical" +msgstr "خطير" + +msgid "Close Ticket" +msgstr "إغلاق التذكرة" + +msgid "Escalate Ticket" +msgstr "تصعيد التذكرة" + +msgid "Reopen Ticket" +msgstr "إعادة فتح التذكرة" + +msgid "Enter old password" +msgstr "أدخل كلمة المرور القديمة" + +msgid "Enter new password" +msgstr "أدخل كلمة مرور جديدة" + +msgid "Recent Domains" +msgstr "النطاقات المسجلة حديثًا" + +msgid "Recent Support Tickets" +msgstr "تذاكر الدعم الأخيرة" + +msgid "Company Number" +msgstr "رقم الشركة" + +msgid "Official registration number provided by the relevant authority." +msgstr "رقم التسجيل الرسمي المقدم من السلطة المختصة." + +msgid "VAT Number" +msgstr "رقم الضريبة على القيمة المضافة" + +msgid "VAT number for tax purposes, if registered for VAT." +msgstr "رقم ضريبة القيمة المضافة للأغراض الضريبية، إذا كان مسجلا لضريبة القيمة المضافة." + +msgid "Manage Registrar" +msgstr "إدارة المسجل" + +msgid "Manage Custom Pricing" +msgstr "إدارة التسعير المخصص" + +msgid "Last 7 Days: Domain Registrations" +msgstr "آخر 7 أيام: تسجيلات النطاق" + +msgid "Top Registrars by Domains" +msgstr "كبار المسجلين حسب النطاقات" + +msgid "Support Tickets: Last Week" +msgstr "تذاكر الدعم: الأسبوع الماضي" + +msgid "Registrar Statistics" +msgstr "إحصائيات المسجل" + +msgid "Export Domains" +msgstr "تصدير النطاقات" + +msgid "Search reports" +msgstr "البحث في التقارير" + +msgid "Number of Domains" +msgstr "عدد النطاقات" + +msgid "Market Share" +msgstr "الحصة السوقية" + +msgid "Earnings" +msgstr "الأرباح" + +msgid "Open website" +msgstr "فتح الموقع" + +msgid "Close" +msgstr "اغلق" + diff --git a/cp/resources/views/layouts/app.twig b/cp/resources/views/layouts/app.twig index 41dd8aa..9ca6624 100644 --- a/cp/resources/views/layouts/app.twig +++ b/cp/resources/views/layouts/app.twig @@ -1,5 +1,5 @@ - + @@ -7,18 +7,6 @@ {% block title %}{% endblock %} | Namingo {% if route_is('domains') or route_is('applications') or route_is('contacts') or route_is('hosts') or route_is('epphistory') or route_is('registrars') or route_is('transactions') or route_is('overview') or route_is('reports') or route_is('transfers') or route_is('users') or is_current_url('ticketview') or route_is('poll') or route_is('log') or route_is('invoices') or route_is('registry/tlds') or route_is('profile') %}{% include 'partials/css-tables.twig' %}{% else %}{% include 'partials/css.twig' %}{% endif %} -
@@ -45,6 +33,7 @@  Español  Português  日本語 +  العربية
diff --git a/cp/resources/views/partials/css-tables.twig b/cp/resources/views/partials/css-tables.twig index f6589cc..088ae1c 100644 --- a/cp/resources/views/partials/css-tables.twig +++ b/cp/resources/views/partials/css-tables.twig @@ -1,7 +1,14 @@ +{% if _lang == 'ar' or _lang == 'ar_SA' %} + + + + +{% else %} +{% endif %} {% if screen_mode == 'dark' %} {% else %} @@ -9,13 +16,30 @@ {% endif %} diff --git a/cp/resources/views/partials/css.twig b/cp/resources/views/partials/css.twig index 507593c..645136a 100644 --- a/cp/resources/views/partials/css.twig +++ b/cp/resources/views/partials/css.twig @@ -1,15 +1,39 @@ +{% if _lang == 'ar' or _lang == 'ar_SA' %} + + + + +{% else %} +{% endif %} diff --git a/docs/configuration.md b/docs/configuration.md index ee1e49f..9a1bc70 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -230,7 +230,7 @@ To customize the landing page, copy `index.twig` to `index.custom.twig` using `c To change the default language of the control panel, you must edit the `/var/www/cp/.env` file and replace the language values (`LANG`/`UI_LANG`) with your desired settings. -For the `LANG` variable, the supported values are `en_US`, `uk_UA`, `es_ES`, `pt_PT`, `jp_JP`, and `fr_FR`. For the `UI_LANG` variable, use `us`, `ua`, `es`, `pt`, `jp`, or `fr`. +For the `LANG` variable, the supported values are `en_US`, `uk_UA`, `es_ES`, `pt_PT`, `jp_JP`, `ar_SA`, and `fr_FR`. For the `UI_LANG` variable, use `us`, `ua`, `es`, `pt`, `jp`, `ar`, or `fr`. To apply your changes, save the file, refresh the control panel, and clear the cache using the following command: `php /var/www/cp/bin/clear_cache.php` The new language settings will take effect immediately.