Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions ui/src/i18n.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import zh from './locales/zh.json'
import de from './locales/de.json'
import pt from './locales/pt.json'
import ko from './locales/ko.json'
import ar from './locales/ar.json'

const resources = {
en: {
Expand All @@ -23,6 +24,10 @@ const resources = {
ko: {
translation: ko,
},
ar: {
translation: ar,
},

}

const currentLocale = localStorage.getItem('lang') || 'en'
Expand Down
3 changes: 3 additions & 0 deletions ui/src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import enUS from 'antd/locale/en_US'
import deDE from 'antd/locale/de_DE'
import ptBR from 'antd/locale/pt_BR'
import koKR from 'antd/locale/ko_KR'
import arAR from 'antd/locale/ar_AR'

import { BrowserRouter } from 'react-router-dom'
import WrappedRoutes from '@/router'
import store from '@/store'
Expand All @@ -36,6 +38,7 @@ function App() {
de: deDE,
pt: ptBR,
ko: koKR,
ar: arAR,
}

return (
Expand Down
230 changes: 230 additions & 0 deletions ui/src/locales/ar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,230 @@
{
"Help": "مساعدة",
"ReadOnlyMode": "وضع القراءة فقط",
"Search": "بحث",
"Cluster": "عنقود",
"Insight": "رؤى",
"KeywordSearch": "البحث بالكلمات المفتاحية",
"SQLSearch": "بحث SQL",
"SearchUsingSQL": "البحث باستخدام SQL",
"PopularQueries": "استعلامات شائعة",
"ClusterManagement": "إدارة العناقيد",
"AllClusters": "كل العناقيد",
"HealthyClusters": "العناقيد السليمة",
"UnhealthyClusters": "العناقيد غير السليمة",
"SortByName": "الترتيب حسب الاسم",
"SortByTime": "الترتيب حسب الطابع الزمني",
"RegisterCluster": "تسجيل عنقود",
"Edit": "تعديل",
"RotateCertificate": "تدوير الشهادة",
"Delete": "حذف",
"AboutInSearchResult": "حول",
"SearchResult": "نتائج البحث",
"AllIssues": "كل المشاكل",
"HighRisk": "عالي الخطورة",
"MediumRisk": "متوسط الخطورة",
"LowRisk": "منخفض الخطورة",
"Rescan": "إعادة الفحص",
"CheckAllIssues": "فحص جميع المشاكل",
"ResourceTopology": "طوبولوجيا الموارد",
"LogAggregator": "مجمّع السجلات",
"LogAggregator.SelectContainer": "اختر الحاوية",
"LogAggregator.ResumeLogs": "استئناف السجلات",
"LogAggregator.PauseLogs": "إيقاف مؤقت للسجلات",
"LogAggregator.ClearLogs": "مسح السجلات",
"LogAggregator.DiagnoseLogs": "تشخيص بالذكاء الاصطناعي",
"LogAggregator.Connected": "متصل",
"LogAggregator.Disconnected": "غير متصل",
"LogAggregator.ConnectedTip": "متصل بالحاوية {{container}}",
"LogAggregator.DisconnectedTip": "فقد الاتصال. جارٍ إعادة المحاولة...",
"LogAggregator.DiagnosisResult": "نتيجة التشخيص بالذكاء الاصطناعي",
"LogAggregator.PreparingDiagnosis": "جارٍ التحليل...",
"LogAggregator.DiagnosisError": "فشل التشخيص",
"LogAggregator.TryAgainLater": "يرجى المحاولة لاحقًا",
"LogAggregator.DiagnosisConnectionError": "فشل الاتصال بالتشخيص",
"LogAggregator.FailedToStartDiagnosis": "فشل بدء التشخيص",
"LogAggregator.FailedToDiagnoseLogs": "فشل تشخيص السجلات",
"LogAggregator.StopDiagnosis": "إيقاف التحليل",
"LogAggregator.DownloadLogs": "تنزيل السجلات",
"LogAggregator.DownloadError": "فشل تنزيل السجلات",
"LogAggregator.Settings": "إعدادات السجلات",
"LogAggregator.Since": "عرض السجلات منذ",
"LogAggregator.SinceTime": "عرض السجلات من وقت محدد",
"LogAggregator.TailLines": "عدد الأسطر المعروضة",
"LogAggregator.ShowTimestamps": "إظهار الطوابع الزمنية",
"LogAggregator.NoLogsSelected": "لم يتم تحديد أي سجلات",
"LogAggregator.SearchPlaceholder": "ابحث في السجلات...",
"LogAggregator.SearchModeHighlight": "وضع التمييز",
"LogAggregator.SearchModeFilter": "وضع التصفية",
"LogAggregator.FullScreen": "ملء الشاشة",
"EventAggregator": "الأحداث",
"EventAggregator.Type": "نوع الحدث",
"EventAggregator.Normal": "عادي",
"EventAggregator.Warning": "تحذير",
"EventAggregator.NoEvents": "لا توجد أحداث",
"EventAggregator.SearchEvents": "البحث في الأحداث...",
"EventAggregator.ColumnType": "النوع",
"EventAggregator.ColumnReason": "السبب",
"EventAggregator.ColumnMessage": "الرسالة",
"EventAggregator.ColumnTimes": "عدد المرات",
"EventAggregator.ColumnFirstSeen": "أول ظهور",
"EventAggregator.ColumnLastSeen": "آخر ظهور",
"EventAggregator.Diagnose": "تشخيص بالذكاء الاصطناعي",
"EventAggregator.DiagnosisInProgress": "جارٍ التحليل...",
"EventAggregator.DiagnosisResult": "نتيجة التشخيص بالذكاء الاصطناعي",
"EventAggregator.PreparingDiagnosis": "جارٍ التحليل...",
"EventAggregator.DiagnosisError": "فشل التشخيص",
"EventAggregator.TryAgainLater": "يرجى المحاولة لاحقًا",
"EventAggregator.DiagnosisConnectionError": "فشل الاتصال بالتشخيص",
"EventAggregator.FailedToStartDiagnosis": "فشل بدء التشخيص",
"EventAggregator.FailedToDiagnoseLogs": "فشل تشخيص الأحداث",
"EventAggregator.ConnectionError": "فشل الاتصال ببث الأحداث",
"EventAggregator.StopDiagnosis": "إيقاف التشخيص",
"EventAggregator.DiagnosisFailed": "فشل التشخيص",
"Name": "الاسم",
"Times": "عدد المرات",
"FilterByName": "تصفية حسب الاسم",
"SelectResourcesAboveToSeeDetailsHere": "اختر الموارد أعلاه لعرض التفاصيل",
"Issues": "المشاكل",
"Critical": "حرج",
"High": "عالي",
"Medium": "متوسط",
"Low": "منخفض",
"Safe": "آمن",
"IssueSource": "مصدر المشكلة",
"NumberOfOccurrences": "عدد التكرارات",
"Description": "الوصف",
"RelatedResources": "الموارد المرتبطة",
"More": "المزيد",
"Less": "إخفاء",
"Capacity": "السعة",
"Memory": "الذاكرة",
"MemoryCapacity": "سعة الذاكرة",
"Version": "الإصدار",
"SorryThePageYouVisitedDoesNotExist": "الصفحة غير موجودة",
"BackToHome": "العودة إلى الصفحة الرئيسية",
"Cancel": "إلغاء",
"Submit": "إرسال",
"OK": "حسنًا",
"DisplayName": "اسم العرض",
"ClusterName": "اسم العنقود",
"ClusterDetail": "تفاصيل العنقود",
"DataSyncConfiguration": "إعدادات مزامنة البيانات",
"VerifiedSuccessfullyAndSubmitted": "تم التحقق والإرسال بنجاح",
"VerificationSuccessfulButSubmissionFailed": "تم التحقق بنجاح لكن فشل الإرسال",
"KubeConfigDoesNotMeetTheRequirements": "ملف KubeConfig غير صالح. يرجى رفع ملف شهادة صحيح",
"UploadSuccessful": "تم الرفع بنجاح",
"TheFileMustBeIn": "يجب أن يكون الملف بصيغة",
"TheKubeConfigFileCannotBeEmpty": "ملف KubeConfig لا يمكن أن يكون فارغًا",
"Upload": "رفع",
"ConfigurationFile": "ملف الإعدادات",
"VerifyAndSubmit": "تحقق وأرسل",
"ExistingConfigurations": "الإعدادات الحالية",
"NewConfiguration": "إعداد جديد",
"PleaseUploadNewKubeConfigFile": "يرجى رفع ملف KubeConfig جديد",
"SubmitAnd3STOClusterPage": "تم التحقق والإرسال. جارٍ التوجيه إلى صفحة إدارة العناقيد...",
"SubmitAndValidate": "جارٍ التحقق...",
"SubmitAndUpdate": "تحقق وتحديث",
"DeleteAndNoLongUpdateResources": "حذف هذا العنقود سيزيله من العرض ويوقف مزامنة الموارد",
"UpdateSuccess": "تم التحديث بنجاح",
"RequestFailedAndTry": "فشل الطلب. يرجى المحاولة مرة أخرى",
"DeletedSuccess": "تم الحذف بنجاح",
"EmptyCluster": "لا توجد عناقيد مسجلة",
"ClusterRequiresKubeConfigConfigurationFileAccess": "سجل عنقود جديد عبر رفع ملف KubeConfig الخاص به",
"PleaseEnterKeywords": "أدخل الكلمات المفتاحية",
"IssuesDetail": "تفاصيل المشكلة",
"Close": "إغلاق",
"Total": "الإجمالي",
"ViewIssueDetail": "عرض تفاصيل المشكلة",
"Occur": "يحدث",
"CollectedFrom": "تم جمعه من",
"Tool": "الأداة",
"NoIssuesFound": "لم يتم العثور على مشاكل",
"HealthScore": "نقاط الصحة",
"TriggeredTimestamp": "وقت التفعيل",
"Exception": "استثناء",
"Warning": "تحذير",
"Normal": "طبيعي",
"CreateTime": "وقت الإنشاء",
"InDevelopment": "قيد التطوير",
"InputClusterName": "أدخل اسم العنقود",
"YAML": {
"NoContent": "لا يوجد محتوى للتفسير",
"Interpret": "تفسير بالذكاء الاصطناعي",
"InterpretResult": "نتيجة التفسير",
"InterpretInProgress": "جارٍ التفسير...",
"StopInterpret": "إيقاف التفسير",
"InterpretConnectionError": "خطأ في اتصال التفسير",
"FailedToStartInterpret": "فشل بدء التفسير",
"FailedToInterpret": "فشل التفسير",
"TabName": "YAML",
"Refresh": "تحديث"
},
"Yesterday": "أمس",
"Collapse": "طيّ",
"Expand": "توسيع",
"Detail": "تفاصيل",
"View": "عرض",
"AllTags": "كل الوسوم",
"DuplicateData": "بيانات مكررة. يرجى إعادة التحقق",
"AreYouSureDeleteResourceGroupRule": "هل أنت متأكد أنك تريد حذف قاعدة مجموعة الموارد هذه؟",
"Copy": "نسخ",
"CopySuccess": "تم النسخ بنجاح",
"TotalResourceGroupRules": "إجمالي قواعد مجموعة الموارد",
"TotalResources": "إجمالي الموارد",
"ClusterCount": "عدد العناقيد",
"UnableCreateResourceGroupInReadOnly": "لا يمكن إنشاء قواعد مجموعة موارد في وضع القراءة فقط",
"PleaseEnterValidSQLStatement": "أدخل عبارة SQL صالحة",
"NoClusterAndJumpToClusterPage": "لا توجد عناقيد متصلة. يرجى تسجيل عنقود أولاً",
"Logout": "تسجيل الخروج",
"TokenCreationGuide": "الرمز مطلوب للوصول إلى عقدة Hub. اعرف المزيد: [كيفية إنشاء رمز]",
"LoginFailedAndCheck": "فشل تسجيل الدخول. يرجى التحقق من صحة الرمز",
"UnLoginAndTokenLogin": "غير مسجل الدخول. يرجى إدخال الرمز لتسجيل الدخول",
"LoginSuccess": "تم تسجيل الدخول بنجاح",
"Login": "تسجيل الدخول",
"LogoutSuccess": "تم تسجيل الخروج بنجاح",
"InputToken": "أدخل الرمز",
"SearchByNaturalLanguage": "البحث باللغة الطبيعية",
"CannotBeEmpty": "لا يمكن أن يكون فارغًا",
"DefaultTag": "وسم افتراضي",
"FailedToParsePodDetails": "فشل تحليل تفاصيل Pod",
"CopiedToClipboard": "تم النسخ إلى الحافظة",
"Metrics": {
"Tooltips": {
"NodeCount": "إجمالي عدد العقد في العنقود",
"ServerVersion": "إصدار خادم Kubernetes",
"ReadyNodes": "عدد العقد في حالة جاهزة",
"Pods": "عدد الـ Pods الحالي مقابل الحد الأقصى",
"CPU": "استخدام المعالج / إجمالي المعالج",
"Memory": "استخدام الذاكرة / إجمالي الذاكرة",
"MetricsServer": "يقوم Metrics Server بجمع مقاييس الموارد من Kubelets"
}
},
"Enabled": "مفعّل",
"Disabled": "معطّل",
"ExceptionList": {
"NoIssues": "لا توجد مشاكل",
"NoIssuesFound": "لم يتم العثور على مشاكل",
"InterpretConnectionError": "فشل الاتصال بالتفسير",
"FailedToInterpretLogs": "فشل تفسير السجلات",
"Interpret": "تفسير بالذكاء الاصطناعي",
"InterpretResult": "نتيجة التفسير بالذكاء الاصطناعي",
"StopInterpret": "إيقاف التفسير",
"InterpretInProgress": "جارٍ التحليل...",
"InterpretFailed": "فشل التفسير",
"TryAgainLater": "يرجى المحاولة لاحقًا",
"Rescan": "إعادة الفحص",
"Collapse": "طيّ",
"Expand": "توسيع",
"CheckAllIssues": "فحص جميع المشاكل",
"ViewIssueDetail": "عرض تفاصيل المشكلة",
"Occur": "يحدث",
"Times": "مرات",
"CollectedFrom": "تم جمعه من",
"Tool": "الأداة",
"Description": "الوصف",
"High": "عالي",
"Medium": "متوسط",
"Low": "منخفض"
}
}
5 changes: 5 additions & 0 deletions ui/src/utils/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,10 @@ export const Languages = [
label: '한국어',
value: 'ko',
},
{
label: 'العربية',
value: 'ar',
},
]

export const LanguagesMap = {
Expand All @@ -139,4 +143,5 @@ export const LanguagesMap = {
de: 'Deutsch',
pt: 'Português',
ko: '한국어',
ar: 'العربية',
}
Loading