From f0774ec2730509632450f691d12f2fa460697132 Mon Sep 17 00:00:00 2001 From: Ahmed Sobhy Date: Mon, 27 Jan 2025 23:41:06 +0400 Subject: [PATCH 1/4] Adding Arabic Translation --- src/static/locale/active_languages.json | 6 + src/static/locale/ar-sa.json | 312 ++++++++++++++++++++++++ 2 files changed, 318 insertions(+) create mode 100644 src/static/locale/ar-sa.json diff --git a/src/static/locale/active_languages.json b/src/static/locale/active_languages.json index 630d8e0..e2087df 100644 --- a/src/static/locale/active_languages.json +++ b/src/static/locale/active_languages.json @@ -68,5 +68,11 @@ "lang_id": "pl", "lang_name": "Polish", "lang_name_localized": "Polski" + }, + + { + "lang_id": "ar-sa", + "lang_name": "Arabic", + "lang_name_localized": "العربية" } ] diff --git a/src/static/locale/ar-sa.json b/src/static/locale/ar-sa.json new file mode 100644 index 0000000..0eddba1 --- /dev/null +++ b/src/static/locale/ar-sa.json @@ -0,0 +1,312 @@ +{ + "Welcome to": "مرحبا بك في ", + "Username": "اسم المستخدم", + "Password": "كلمة المرور", + "OTP from your authenticator": "كلمة المرور لمرة واحدة من المصادق الخاص بك", + "Sign In": "تسجيل الدخول", + "Signing In\\.\\.\\.": "جاري تسجيل الدخول ...", + "Access Remote Server": "الوصول الي الخادم البعيد", + "Server": "الخادم", + "Click": "انقر", + "Pinging...": " .جاري فحص الاتصال ...", + "to add your server": "لاضافة خادمك", + "Server List": "قائمة الخوادم", + "Sorry, your username or password is incorrect.": "عذرا ، اسم المستخدم او كلمة المرور غير صحيحة", + "Home": "الصفحة الرئيسية", + "Settings": "الإعدادات", + "Tools": "الادوات", + "Sign Out": "تسجيل الخروج", + "Checking for update...": "جاري تسجيل الخروج", + "You're on the latest version": "انت تستخدم احدث اصدار", + "WireGuard Configurations": "تكوينات WireGuard", + "You don't have any WireGuard configurations yet. Please check the configuration folder or change it in Settings. By default the folder is /etc/wireguard.": "ليس لديك أي تكوينات WireGuard بعد. يرجى التحقق من مجلد التكوين أو تغييره في الإعدادات. المجلد الافتراضي هو /etc/wireguard.", + "Configuration": "التكوين", + "Configurations": "التكوينات", + "Peers Default Settings": "إعدادات النظراء الافتراضية", + "Dashboard Theme": "سمة لوحة التحكم", + "Light": "فاتح", + "Dark": "داكن", + "This will be changed globally, and will be apply to all peer's QR code and configuration file.": "سيتم تغيير هذا في كل الاعدادات وسيطبق على جميع رموز الاستجابة السريعة الخاصة بالنظراء وملفات التكوين.", + "WireGuard Configurations Settings": "إعدادات تكوينات WireGuard", + "Configurations Directory": "مسار التكوينات", + "Remember to remove / at the end of your path. e.g /etc/wireguard": "تذكر إزالة / في نهاية المسار الخاص بك. مثال: /etc/wireguard", + "WGDashboard Account Settings": "إعدادات حساب WGDashboard", + "Current Password": "كلمة المرور الحالية", + "New Password": "كلمة المرور الجديدة", + "Repeat New Password": "كرر كلمة المرور الجديدة", + "Update Password": "تحديث كلمة المرور", + "Multi-Factor Authentication \\(MFA\\)": "المصادقة متعددة العوامل (MFA)", + "Reset": "إعادة ضبط", + "Setup": "إعداد", + "API Keys": "مفاتيح API", + "API Key": "مفتاح API", + "Key": "مفتاح", + "Enabled": "مفعل", + "Disabled": "معطل", + "No WGDashboard API Key": "لا يوجد مفتاح API لـ WGDashboard", + "Expire At": "ينتهي في", + "Are you sure to delete this API key\\?": "هل انت متاكد ان تحذف هذا المفتاح للـAPI ", + "Create API Key": "إنشاء مفتاح API", + "When should this API Key expire\\?": "متي يجب ان ينتهي هذا المفتاح للـ API", + "Never Expire": "لا ينتهي أبدًا", + "Don't think that's a good idea": "لا أعتقد أن هذه فكرة جيدة", + "Creating\\.\\.\\.": "جاري الانشاء", + "Create": "إنشاء", + "Status": "الحالة", + "On": "مشغل", + "Off": "متوقف", + "Turning On\\.\\.\\.": "تشغيل", + "Turning Off\\.\\.\\.": "إيقاف", + "Address": "العنوان", + "Listen Port": "منفذ الاستماع", + "Public Key": "المفتاح العام", + "Connected Peers": "النظراء المتصلون", + "Total Usage": "الاستخدام الكلي", + "Total Received": "الإجمالي المستلم", + "Total Sent": "الإجمالي المرسل", + "Peers Data Usage": "استهلاك بيانات النظراء", + "Real Time Received Data Usage": "استهلاك البيانات المستلمة في الوقت الفعلي", + "Real Time Sent Data Usage": "استهلاك البيانات المرسلة في الوقت الفعلي", + "Peer": "نظير", + "Peers": "النظراء", + "Peer Settings": "إعدادات النظير", + "Download All": "تنزيل الكل", + "Search Peers\\.\\.\\.": "بحث في النظراء", + "Display": "عرض", + "Sort By": "فرز حسب", + "Refresh Interval": "فترة التحديث", + "Name": "الاسم", + "Allowed IPs": "عناوين IP المسموح بها", + "Restricted": "مقيد", + "(.*) Seconds": "$1 ثانية", + "(.*) Minutes": "$1 دقيقة", + "Configuration Settings": "إعدادات التكوين", + "Peer Jobs": "وظائف النظير", + "Active Jobs": "الوظائف النشطة", + "All Active Jobs": "جميع الوظائف النشطة", + "Logs": "السجلات", + "Private Key": "المفتاح الخاص", + "\\(Required for QR Code and Download\\)": " الزامي لرمز الاستجابة السريعة والتحميل", + "\\(Required\\)": "الزامي", + "Endpoint Allowed IPs": "عناوين IP المسموح بها لنقطة النهاية", + "DNS": "DNS", + "Optional Settings": "إعدادات اختيارية", + "Pre-Shared Key": "المفتاح المشترك مسبقًا", + "MTU": "MTU", + "Persistent Keepalive": "الاستمرار في الإبقاء على الاتصال", + "Reset Data Usage": "إعادة ضبط استهلاك البيانات", + "Total": "الإجمالي", + "Sent": "تم الإرسال", + "Received": "تم الاستلام", + "Revert": "إعادة", + "Save Peer": "حفظ النظير", + "QR Code": "رمز الاستجابة السريع", + "Schedule Jobs": "جدولة الوظائف", + "Job": "وظيفة", + "Job ID": "معرف الوظيفة", + "Unsaved Job": "وظيفة غير محفوظة", + "This peer does not have any job yet\\.": "هذا النظير ليس لدية وظيفة نشطة بعد", + "if": "إذا", + "is": "هو", + "then": "ثم", + "larger than": "أكبر من", + "Date": "التاريخ", + "Restrict Peer": "تقييد النظير", + "Delete Peer": "حذف النظير", + "Edit": "تعديل", + "Delete": "حذف", + "Deleting...": "جارٍ الحذف...", + "Cancel": "إلغاء", + "Save": "حفظ", + "No active job at the moment\\.": "لايوجد وظائف نشطة في الوقت الحالي", + "Jobs Logs": "سجلات الوظائف", + "Updated at": "تم التحديث في", + "Refresh": "تحديث", + "Filter": "تصفية", + "Success": "نجاح", + "Failed": "فشل", + "Log ID": "معرف السجل", + "Message": "رسالة", + "Share Peer": "مشاركة النظير", + "Currently the peer is not sharing": "النظير لا يشارك حاليًا", + "Sharing\\.\\.\\.": "جاري المشاركة", + "Start Sharing": "بدء المشاركة", + "Stop Sharing\\.\\.\\.": "جاري ايقاف المشاركة", + "Stop Sharing": "إيقاف المشاركة", + "Access Restricted": "الوصول مقيد", + "Restrict Access": "تقيد الوصول", + "Restricting\\.\\.\\.": "جاري التقيد ...", + "Allow Access": "السماح بالوصول", + "Allowing Access\\.\\.\\.": "جاري السماح بالوصول ...", + "Download \\& QR Code is not available due to no private key set for this peer": "التنزيل ورمز الاستجابة السريعة غير متاحين نظرًا لعدم تعيين مفتاح خاص لهذا القرين", + "Add Peers": "إضافة نظراء", + "Bulk Add": "إضافة بالجملة", + "By adding peers by bulk, each peer's name will be auto generated, and Allowed IP will be assign to the next available IP\\.": "عند إضافة الأقران بشكل جماعي، سيتم إنشاء اسم كل قرين تلقائيًا، وسيتم تخصيص عنوان IP المسموح به إلى عنوان IP التالي المتاح", + "How many peers you want to add\\?": "كم عدد النظراء التي تريد اضافتها", + "You can add up to (.*) peers": "يمكنك إضافة ما يصل إلى $1 نظير", + "Use your own Private and Public Key": "استخدم المفتاح الخاص والعام الخاص بك", + "Enter IP Address/CIDR": "أدخل عنوان IP/CIDR", + "IP Address/CIDR": "عنوان IP/CIDR", + "or": "أو", + "Pick Available IP": "اختر عنوان IP متاحًا", + "No available IP containing": "لا يوجد عنوان IP متاح يحتوي على", + "Add": "إضافة", + "Adding\\.\\.\\.": "جاري الاضافة", + "Failed to check available update": "فشل في التحقق من التحديث المتاح", + "Nice to meet you!": "تشرفت بلقائك!", + "Please fill in the following fields to finish setup": "يرجى ملء الحقول التالية لإكمال الإعداد", + "Create an account": "إنشاء حساب", + "Enter an username you like": "أدخل اسم مستخدم يعجبك", + "Enter a password": "أدخل كلمة مرور", + "\\(At least 8 characters and make sure is strong enough!\\)": "(يجب أن تكون 8 أحرف على الأقل وتأكد من قوتها!)", + "Confirm password": "تأكيد كلمة المرور", + "Next": "التالي", + "Saving\\.\\.\\.": "جارٍ الحفظ...", + "1\\. Please scan the following QR Code to generate TOTP with your choice of authenticator": "1\\. يرجى مسح رمز الاستجابة السريعة التالي لإنشاء كلمة مرور لمرة واحدة (TOTP) باستخدام تطبيق المصادقة الذي تختاره", + "Or you can click the link below:": "أو يمكنك النقر على الرابط أدناه:", + "2\\. Enter the TOTP generated by your authenticator to verify": "2\\. أدخل كلمة المرور لمرة واحدة (TOTP) التي تم إنشاؤها بواسطة تطبيق المصادقة للتحقق", + "TOTP verified!": "تم التحقق من كلمة المرور لمرة واحدة (TOTP) بنجاح!", + "I don't need MFA": "لا أحتاج إلى المصادقة متعددة العوامل (MFA).", + "Complete": "اكتمل", + "(v[0-9.]{1,}) is now available for update!": "$1 متاح الآن للتحديث!", + "Current Version:": "الإصدار الحالي:", + "Oh no\\.\\.\\. This link is either expired or invalid\\.": "عذرًا... هذا الرابط إما منتهي الصلاحية أو غير صالح", + "Scan QR Code with the WireGuard App to add peer": "قم بمسح رمز الاستجابة السريعة باستخدام تطبيق WireGuard لإضافة قرين", + "or click the button below to download the ": "أو انقر على الزر أدناه لتحميل ", + " file": " الملف", + "FROM ": "من ", + "(.*) is on": "(.*) قيد التشغيل", + "(.*) is off": "(.*) متوقف", + "Allowed IPs is invalid": "عناوين IP المسموح بها غير صالحة", + "Peer created successfully": "تم إنشاء القرين بنجاح", + "Please fill in all required box": "يرجى ملء جميع الحقول المطلوبة", + "Please specify amount of peers you want to add": "يرجى تحديد عدد الأقران الذين ترغب في إضافتهم", + "No more available IP can assign": "لا توجد عناوين IP متاحة للتخصيص.", + "The maximum number of peers can add is (.*)": "الحد الأقصى لعدد الأقران الذين يمكن إضافتهم هو $1", + "Generating key pairs by bulk failed": "فشل إنشاء أزواج المفاتيح بشكل جماعي.", + "Failed to add peers in bulk": "فشل في إضافة الأقران بشكل جماعي.", + "This peer already exist": "هذا القرين موجود بالفعل.", + "This IP is not available: (.*)": "عنوان IP هذا غير متاح: $1", + "Configuration does not exist": "الإعداد غير موجود", + "Peer does not exist": "القرين غير موجود", + "Please provide a valid configuration name": "يرجى تقديم اسم إعداد صالح", + "Peer saved": "تم حفظ القرين.", + "Allowed IPs already taken by another peer": "عناوين IP المسموح بها مستخدمة بالفعل بواسطة قرين آخر", + "Endpoint Allowed IPs format is incorrect": "تنسيق عناوين IP المسموح بها للنقطة النهائية غير صحيح", + "DNS format is incorrect": "تنسيق DNS غير صحيح", + "MTU format is not correct": "تنسيق MTU غير صحيح", + "Persistent Keepalive format is not correct": "تنسيق الإبقاء النشط (Keepalive) غير صحيح", + "Private key does not match with the public key": "المفتاح الخاص لا يتطابق مع المفتاح العام", + "Update peer failed when updating Pre-Shared Key": "فشل تحديث القرين عند تحديث المفتاح المشترك مسبقًا", + "Update peer failed when updating Allowed IPs": "فشل تحديث القرين عند تحديث عناوين IP المسموح بها", + "Update peer failed when saving the configuration": "فشل تحديث القرين عند حفظ الإعداد", + "Peer data usage reset successfully": "تمت إعادة تعيين استخدام بيانات القرين بنجاح", + "Peer download started": "بدأ تنزيل القرين", + "Please specify one or more peers": "يرجى تحديد قرين واحد أو أكثر", + "Share link failed to create. Reason: (.*)": "فشل إنشاء رابط المشاركة. السبب: $1", + "Link expire date updated": "تم تحديث تاريخ انتهاء صلاحية الرابط.", + "Link expire date failed to update. Reason: (.*)": "فشل تحديث تاريخ انتهاء صلاحية الرابط. السبب: $1", + "Peer job saved": "تم حفظ وظيفة القرين", + "Please specify job": "يرجى تحديد الوظيفة.", + "Please specify peer and configuration": "يرجى تحديد القرين والإعداد", + "Peer job deleted": "تم حذف وظيفة القرين", + "API Keys function is successfully enabled": "تم تفعيل وظيفة مفاتيح API بنجاح", + "API Keys function is successfully disabled": "تم تعطيل وظيفة مفاتيح API بنجاح", + "API Keys function is failed to enable": "فشل تفعيل وظيفة مفاتيح API", + "API Keys function is failed to disable": "فشل تعطيل وظيفة مفاتيح API", + "WGDashboard API Keys function is disabled": "تم تعطيل وظيفة مفاتيح API في لوحة WGDashboard", + "WireGuard configuration path saved": "تم حفظ مسار إعداد WireGuard", + "API Key deleted": "تم حذف مفتاح API", + "API Key created": "تم إنشاء مفتاح API", + "Sign in session ended, please sign in again": "انتهت جلسة تسجيل الدخول، يرجى تسجيل الدخول مرة أخرى", + "Please specify an IP Address (v4/v6)": "يرجى تحديد عنوان IP (v4/v6)", + "Please provide ipAddress and count": "يرجى تقديم عنوان IP والعدد", + "Please provide ipAddress": "يرجى تقديم عنوان IP", + "Dashboard Language": "لغة لوحة التحكم", + "Dashboard language update failed": "فشل تحديث لغة لوحة التحكم", + "Peer Remote Endpoint": "النقطة الطرفية البعيدة للقرين", + "New Configuration": "إعداد جديد", + "Configuration Name": "اسم الإعداد", + "Configuration name is invalid. Possible reasons:": "اسم الإعداد غير صالح. الأسباب المحتملة:", + "Configuration name already exist\\.": "اسم الإعداد موجود بالفعل", + "Configuration name can only contain 15 lower/uppercase alphabet, numbers, underscore, equal sign, plus sign, period and hyphen\\.": "يمكن أن يحتوي اسم الإعداد على 15 حرفًا فقط، بما في ذلك الحروف الكبيرة/الصغيرة، الأرقام، الشرطة السفلية، علامة التساوي، علامة الزائد، النقطة والشرطة", + "Invalid Port": "المنفذ غير صالح", + "Save Configuration": "حفظ الإعداد", + "IP Address/CIDR is invalid": "عنوان IP/CIDR غير صالح", + "IP Address": "عنوان IP", + "Enter IP Address / Hostname": "أدخل عنوان IP / اسم المضيف", + "IP Address / Hostname": "عنوان IP / اسم المضيف", + "Dashboard IP Address \\& Listen Port": "عنوان IP لوحة التحكم ومنفذ الاستماع", + "Count": "العدد", + "Geolocation": "الموقع الجغرافي", + "Is Alive": "نشط", + "Average / Min / Max Round Trip Time": "متوسط / أدنى / أقصى وقت للرحلة الكاملة", + "Sent / Received / Lost Package": "الحزم المرسلة / المستلمة / المفقودة", + "Manual restart of WGDashboard is needed to apply changes on IP Address and Listen Port": "يتطلب إعادة تشغيل يدوي للوحة WGDashboard لتطبيق التغييرات على عنوان IP ومنفذ الاستماع", + "Restore Configuration": "استعادة الإعداد", + "Step (.*)": "الخطوة $1", + "Select a backup you want to restore": "حدد النسخة الاحتياطية التي تريد استعادتها", + "Click to change a backup": "انقر لتغيير النسخة الاحتياطية", + "Selected Backup": "النسخة الاحتياطية المحددة", + "You don't have any configuration to restore": "ليس لديك أي إعداد لاستعادته", + "Help": "مساعدة", + "Backup": "نسخة احتياطية", + "([0-9].*) Backups?": "$1 نسخة احتياطية؟", + "Yes": "نعم", + "No": "لا", + "Backup not selected": "لم يتم تحديد النسخة الاحتياطية", + "Confirm \\& edit restore information": "تأكيد وتحرير معلومات الاستعادة", + "(.*) Available IP Address": "عنوان IP متاح $1", + "Database File": "ملف قاعدة البيانات", + "Contain": "يحتوي على", + "Restricted Peers?": "الأقران المقيدون؟", + "Restore": "استعادة", + "Restoring": "جاري الاستعادة", + "WGDashboard Settings": "إعدادات WGDashboard", + "Peers Settings": "إعدادات الأقران", + "WireGuard Configuration Settings": "إعدادات تكوين WireGuard", + "Appearance": "المظهر", + "Theme": "السمة", + "Language": "اللغة", + "Account Settings": "إعدادات الحساب", + "Peer Default Settings": "الإعدادات الافتراضية للأقران", + "Toggle When Start Up": "التبديل عند بدء التشغيل", + "Other Settings": "إعدادات أخرى", + "Select Peers": "اختر الأقران", + "Backup & Restore": "النسخ الاحتياطي والاستعادة", + "Delete Configuration": "حذف الإعداد", + "Create Backup": "إنشاء نسخة احتياطية", + "No backup yet, click the button above to create backup\\.": "لا توجد نسخة احتياطية حتى الآن، انقر على الزر أعلاه لإنشاء نسخة احتياطية", + "Are you sure to delete this backup\\?": "هل أنت متأكد من حذف هذه النسخة الاحتياطية؟", + "Are you sure to restore this backup?\\": "هل أنت متأكد من استعادة هذه النسخة الاحتياطية؟", + "Backup Date": "تاريخ النسخة الاحتياطية", + "File": "الملف", + "Are you sure to delete this configuration\\?": "هل أنت متأكد من حذف هذا الإعداد؟", + "Once you deleted this configuration\\:": "بمجرد حذف هذا الإعداد:", + "All connected peers will get disconnected": "سيتم فصل جميع الأقران المتصلين", + "Both configuration file \\(\\.conf\\) and database table related to this configuration will get deleted": "سيتم حذف كل من ملف التكوين (.conf) وجدول قاعدة البيانات المرتبط بهذا التكوين", + "Checking backups...": "جارٍ التحقق من النسخ الاحتياطية...", + "This configuration have ([0-9].*) backups": "يحتوي هذا التكوين على $1 نسخة احتياطية", + "This configuration have no backup": "لا يحتوي هذا التكوين على نسخ احتياطية", + "If you're sure, please type in the configuration name below and click Delete": "إذا كنت متأكدًا، يرجى كتابة اسم الإعداد أدناه والنقر على حذف", + "Select All": "تحديد الكل", + "Clear Selection": "مسح التحديد", + "([0-9].*) Peers?": "$1 قرين؟", + "Downloading": "جاري التنزيل", + "Download Finished": "اكتمل التنزيل", + "Done": "تم", + "Are you sure to delete": "هل أنت متأكد من الحذف", + "Are you sure to delete this peer\\?": "هل أنت متأكد من حذف هذا القرين؟", + "Configuration deleted": "تم حذف الإعداد", + "Configuration saved": "تم حفظ الإعداد", + "WGDashboard language update failed": "فشل تحديث لغة لوحة WGDashboard", + "Configuration restored": "تم استعادة الإعداد", + "Allowed IP already taken by another peer": "عنوان IP المسموح به مستخدم بالفعل بواسطة قرين آخر", + "Failed to allow access of peer (.*)": "فشل السماح بوصول القرين $1", + "Failed to save configuration through WireGuard": "فشل حفظ الإعداد من خلال WireGuard", + "Allow access successfully": "تم السماح بالوصول بنجاح", + "Deleted ([0-9]{1,}) peer\\(s\\)": "تم حذف $1 قرين(قرين)", + "Deleted ([0-9]{1,}) peer\\(s\\) successfully. Failed to delete ([0-9]{1,}) peer\\(s\\)": "تم حذف $1 قرين(قرين) بنجاح. فشل في حذف $2 قرين(قرين)", + "Restricted ([0-9]{1,}) peer\\(s\\)": "تم تقييد $1 قرين(قرين).", + "Restricted ([0-9]{1,}) peer\\(s\\) successfully. Failed to restrict ([0-9]{1,}) peer\\(s\\)": "تم تقييد $1 قرين(قرين) بنجاح. فشل في تقييد $2 قرين(قرين)." +} \ No newline at end of file From b5012445779316d4287b89eaad7b7d3ce26a81f4 Mon Sep 17 00:00:00 2001 From: Ahmed Sobhy Date: Thu, 6 Feb 2025 16:53:43 +0400 Subject: [PATCH 2/4] Alphabetical order for active languages --- src/static/locale/active_languages.json | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/static/locale/active_languages.json b/src/static/locale/active_languages.json index e2087df..de8e9dd 100644 --- a/src/static/locale/active_languages.json +++ b/src/static/locale/active_languages.json @@ -1,4 +1,10 @@ [ + + { + "lang_id": "ar-sa", + "lang_name": "Arabic", + "lang_name_localized": "العربية" + }, { "lang_id": "cs", "lang_name": "Czech", @@ -68,11 +74,6 @@ "lang_id": "pl", "lang_name": "Polish", "lang_name_localized": "Polski" - }, - - { - "lang_id": "ar-sa", - "lang_name": "Arabic", - "lang_name_localized": "العربية" } + ] From 4379f30628ce4c5151d9690e9bd7c459363c9293 Mon Sep 17 00:00:00 2001 From: dselen <80752476+DaanSelen@users.noreply.github.com> Date: Thu, 6 Feb 2025 14:09:47 +0100 Subject: [PATCH 3/4] Update active_languages.json removed trailing enter. --- src/static/locale/active_languages.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/static/locale/active_languages.json b/src/static/locale/active_languages.json index de8e9dd..62a3018 100644 --- a/src/static/locale/active_languages.json +++ b/src/static/locale/active_languages.json @@ -75,5 +75,4 @@ "lang_name": "Polish", "lang_name_localized": "Polski" } - ] From 99a1bfca9d3083903bccea018c796b0a4c255150 Mon Sep 17 00:00:00 2001 From: dselen <80752476+DaanSelen@users.noreply.github.com> Date: Thu, 6 Feb 2025 14:10:10 +0100 Subject: [PATCH 4/4] Update active_languages.json removed leading newline --- src/static/locale/active_languages.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/static/locale/active_languages.json b/src/static/locale/active_languages.json index 62a3018..f35adf2 100644 --- a/src/static/locale/active_languages.json +++ b/src/static/locale/active_languages.json @@ -1,5 +1,4 @@ [ - { "lang_id": "ar-sa", "lang_name": "Arabic",