From bf83c78f6bad3ed968ca7d48803eb5c7380f4880 Mon Sep 17 00:00:00 2001 From: Alisha Mahmood Date: Sat, 16 May 2026 18:39:37 +0530 Subject: [PATCH] frontend: i18n: Add UI support for RTL languages --- .../src/i18n/LocaleSelect/LocaleSelect.tsx | 5 +- frontend/src/i18n/ThemeProviderNexti18n.tsx | 42 +- frontend/src/i18n/config.ts | 86 +- frontend/src/i18n/locales/ar/app.json | 57 ++ frontend/src/i18n/locales/ar/glossary.json | 278 ++++++ frontend/src/i18n/locales/ar/translation.json | 886 ++++++++++++++++++ frontend/src/i18n/locales/de/glossary.json | 2 +- frontend/src/i18n/locales/en/glossary.json | 2 +- frontend/src/i18n/locales/es/glossary.json | 2 +- frontend/src/i18n/locales/fr/glossary.json | 2 +- frontend/src/i18n/locales/he/app.json | 57 ++ frontend/src/i18n/locales/he/glossary.json | 278 ++++++ frontend/src/i18n/locales/he/translation.json | 868 +++++++++++++++++ frontend/src/i18n/locales/hi/glossary.json | 2 +- frontend/src/i18n/locales/it/glossary.json | 2 +- frontend/src/i18n/locales/ja/glossary.json | 2 +- frontend/src/i18n/locales/ko/glossary.json | 2 +- frontend/src/i18n/locales/pt/glossary.json | 2 +- frontend/src/i18n/locales/ru/glossary.json | 2 +- frontend/src/i18n/locales/ta/glossary.json | 2 +- frontend/src/i18n/locales/ur/app.json | 57 ++ frontend/src/i18n/locales/ur/glossary.json | 278 ++++++ frontend/src/i18n/locales/ur/translation.json | 862 +++++++++++++++++ frontend/src/i18n/locales/zh-tw/glossary.json | 2 +- frontend/src/i18n/locales/zh/glossary.json | 2 +- 25 files changed, 3743 insertions(+), 37 deletions(-) create mode 100644 frontend/src/i18n/locales/ar/app.json create mode 100644 frontend/src/i18n/locales/ar/glossary.json create mode 100644 frontend/src/i18n/locales/ar/translation.json create mode 100644 frontend/src/i18n/locales/he/app.json create mode 100644 frontend/src/i18n/locales/he/glossary.json create mode 100644 frontend/src/i18n/locales/he/translation.json create mode 100644 frontend/src/i18n/locales/ur/app.json create mode 100644 frontend/src/i18n/locales/ur/glossary.json create mode 100644 frontend/src/i18n/locales/ur/translation.json diff --git a/frontend/src/i18n/LocaleSelect/LocaleSelect.tsx b/frontend/src/i18n/LocaleSelect/LocaleSelect.tsx index eb8d408f9b8..bccfb38f609 100644 --- a/frontend/src/i18n/LocaleSelect/LocaleSelect.tsx +++ b/frontend/src/i18n/LocaleSelect/LocaleSelect.tsx @@ -18,7 +18,6 @@ import FormControl, { FormControlProps } from '@mui/material/FormControl'; import FormLabel from '@mui/material/FormLabel'; import MenuItem from '@mui/material/MenuItem'; import Select, { SelectChangeEvent } from '@mui/material/Select'; -import { useTheme } from '@mui/material/styles'; import React from 'react'; import { useTranslation } from 'react-i18next'; import { supportedLanguages } from '../config'; @@ -38,7 +37,6 @@ export interface LocaleSelectProps { export default function LocaleSelect(props: LocaleSelectProps) { const { formControlProps, showFullNames } = props; const { t, i18n } = useTranslation(); - const theme = useTheme(); /** * Returns a memoized mapping of language codes to their full names if showFullNames is true. * @@ -62,7 +60,6 @@ export default function LocaleSelect(props: LocaleSelectProps) { const lng = event.target.value as string; i18n.changeLanguage(lng); - theme.direction = i18n.dir(); }; /** @@ -81,7 +78,7 @@ export default function LocaleSelect(props: LocaleSelectProps) { return; } - fullNames[lng] = supportedLanguages[lng] || lng; + fullNames[lng] = supportedLanguages[lng]?.label || lng; }); return fullNames; diff --git a/frontend/src/i18n/ThemeProviderNexti18n.tsx b/frontend/src/i18n/ThemeProviderNexti18n.tsx index f1c78806bce..b7c61a3c407 100644 --- a/frontend/src/i18n/ThemeProviderNexti18n.tsx +++ b/frontend/src/i18n/ThemeProviderNexti18n.tsx @@ -15,22 +15,26 @@ */ import { + arSA, deDE, enUS, esES, frFR, + heIL, hiIN, itIT, jaJP, koKR, ptPT, ruRU, + urPK, zhCN, zhTW, } from '@mui/material/locale'; import { createTheme, StyledEngineProvider, Theme, ThemeProvider } from '@mui/material/styles'; import React, { ReactNode, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; +import { supportedLanguages } from './config'; /** * Returns the Material-UI locale object for a given language code. @@ -39,6 +43,8 @@ import { useTranslation } from 'react-i18next'; * @returns A Material-UI locale object, defaults to enUS if locale is unsupported. */ function getLocale(locale: string): typeof enUS { + const normalizedLocale = locale.toLowerCase(); + const LOCALES = { en: enUS, pt: ptPT, @@ -53,7 +59,11 @@ function getLocale(locale: string): typeof enUS { 'zh-tw': zhTW, ja: jaJP, zh: zhCN, + ar: arSA, + ur: urPK, + he: heIL, }; + type LocalesType = | 'en' | 'pt' @@ -67,20 +77,25 @@ function getLocale(locale: string): typeof enUS { | 'zh-tw' | 'ja' | 'ko' - | 'zh'; - return locale in LOCALES ? LOCALES[locale as LocalesType] : LOCALES['en']; + | 'zh' + | 'ar' + | 'ur' + | 'he'; + + return normalizedLocale in LOCALES ? LOCALES[normalizedLocale as LocalesType] : LOCALES['en']; } interface ThemeProviderNexti18nProps { /** The Material-UI theme to apply. */ theme: Theme; + /** The child components to render within the theme provider. */ children: ReactNode; } /** * A ThemeProvider that integrates with react-i18next for language selection, - * applying Material-UI localization based on the selected language. + * applying Material-UI localization and RTL/LTR direction support. * * @param props - The properties to configure the ThemeProviderNexti18n component. * @returns A themed container with localized child components. @@ -89,6 +104,7 @@ const ThemeProviderNexti18n: React.FunctionComponent const { i18n, ready: isI18nReady } = useTranslation(['translation', 'glossary'], { useSuspense: false, }); + const [lang, setLang] = useState(i18n.language); /** @@ -98,8 +114,12 @@ const ThemeProviderNexti18n: React.FunctionComponent */ function changeLang(lng: string) { if (lng) { + const dir = supportedLanguages[lng]?.dir || 'ltr'; + document.documentElement.lang = lng; - document.body.dir = i18n.dir(); + document.documentElement.dir = dir; + document.body.dir = dir; + setLang(lng); } } @@ -109,17 +129,27 @@ const ThemeProviderNexti18n: React.FunctionComponent */ useEffect(() => { i18n.on('languageChanged', changeLang); + if (i18n.language) { - // Set the lang when the page loads too. + // Set the language when the page loads. changeLang(i18n.language); } + return () => { i18n.off('languageChanged', changeLang); }; + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - const theme = createTheme(props.theme, getLocale(lang)); + const theme = createTheme( + { + ...props.theme, + // Use the local config metadata for the theme direction too + direction: supportedLanguages[lang]?.dir || 'ltr', + }, + getLocale(lang) + ); return ( diff --git a/frontend/src/i18n/config.ts b/frontend/src/i18n/config.ts index 9232acc67ac..08590841e61 100644 --- a/frontend/src/i18n/config.ts +++ b/frontend/src/i18n/config.ts @@ -21,22 +21,80 @@ import sharedConfig from './i18nextSharedConfig.mjs'; const en = {}; // To keep TS happy. -export const supportedLanguages: { [langCode: string]: string } = { - en: 'English', - es: 'Español', - fr: 'Français', - pt: 'Português', - ru: 'Русский', - de: 'Deutsch', - it: 'Italiano', - 'zh-TW': '繁體中文', - zh: '简体中文', - ko: '한국어', - ja: '日本語', - hi: 'हिन्दी', - ta: 'தமிழ்', +export const supportedLanguages: { + [langCode: string]: { + label: string; + dir: 'ltr' | 'rtl'; + }; +} = { + en: { + label: 'English', + dir: 'ltr', + }, + es: { + label: 'Español', + dir: 'ltr', + }, + fr: { + label: 'Français', + dir: 'ltr', + }, + ru: { + label: 'Русский', + dir: 'ltr', + }, + pt: { + label: 'Português', + dir: 'ltr', + }, + de: { + label: 'Deutsch', + dir: 'ltr', + }, + it: { + label: 'Italiano', + dir: 'ltr', + }, + 'zh-TW': { + label: '繁體中文', + dir: 'ltr', + }, + zh: { + label: '简体中文', + dir: 'ltr', + }, + ko: { + label: '한국어', + dir: 'ltr', + }, + ja: { + label: '日本語', + dir: 'ltr', + }, + hi: { + label: 'हिन्दी', + dir: 'ltr', + }, + ta: { + label: 'தமிழ்', + dir: 'ltr', + }, + ar: { + label: 'العربية', + dir: 'rtl', + }, + ur: { + label: 'اردو', + dir: 'rtl', + }, + he: { + label: 'עברית', + dir: 'rtl', + }, }; +export const isRTL = (lang: string) => supportedLanguages[lang]?.dir === 'rtl'; + i18next // detect user language https://github.com/i18next/i18next-browser-languageDetector .use(LanguageDetector) diff --git a/frontend/src/i18n/locales/ar/app.json b/frontend/src/i18n/locales/ar/app.json new file mode 100644 index 00000000000..4a123494ffa --- /dev/null +++ b/frontend/src/i18n/locales/ar/app.json @@ -0,0 +1,57 @@ +{ + "Failed to fetch plugin info": "فشل جلب معلومات الإضافة", + "An error occurred while fetching plugin info from {{ URL }}.": "حدث خطأ أثناء جلب معلومات الإضافة من {{ URL }}.", + "Yes": "نعم", + "No": "لا", + "Plugin Installation": "تثبيت الإضافة", + "Do you want to install the plugin \"{{ pluginName }}\"?": "هل تريد تثبيت الإضافة \"{{ pluginName }}\"؟", + "You are about to install a plugin from: {{ url }}\nDo you want to proceed?": "أنت على وشك تثبيت إضافة من: {{ url }}\nهل تريد المتابعة؟", + "About": "حول", + "Quit": "إنهاء", + "Select All": "تحديد الكل", + "Delete": "حذف", + "Services": "الخدمات", + "Hide": "إخفاء", + "Hide Others": "إخفاء الآخرين", + "Show All": "إظهار الكل", + "File": "ملف", + "Close": "إغلاق", + "Edit": "تعديل", + "Cut": "قص", + "Copy": "نسخ", + "Paste": "لصق", + "Paste and Match Style": "لصق مع مطابقة التنسيق", + "Speech": "الكلام", + "Start Speaking": "بدء التحدث", + "Stop Speaking": "إيقاف التحدث", + "View": "عرض", + "Toggle Developer Tools": "تبديل أدوات المطور", + "Reset Zoom": "إعادة ضبط التكبير", + "Zoom In": "تكبير", + "Zoom Out": "تصغير", + "Toggle Fullscreen": "تبديل ملء الشاشة", + "Navigate": "التنقل", + "Reload": "إعادة تحميل", + "Go to Home": "الانتقال إلى الصفحة الرئيسية", + "Go Back": "رجوع", + "Go Forward": "تقدم", + "Window": "نافذة", + "Minimize": "تصغير", + "Bring All to Front": "إحضار الكل إلى الأمام", + "Help": "مساعدة", + "Documentation": "التوثيق", + "Open an Issue": "فتح مشكلة", + "Another process is running": "هناك عملية أخرى قيد التشغيل", + "Looks like another process is already running. Continue by terminating that process automatically, or quit?": "يبدو أن هناك عملية أخرى قيد التشغيل بالفعل. هل تريد المتابعة بإنهاء العملية تلقائيًا أم الخروج؟", + "Continue": "متابعة", + "Failed to quit the other running process": "فشل إنهاء العملية الأخرى", + "Could not quit the other running process, PIDs: {{ process_list }}. Please stop that process and relaunch the app.": "تعذر إنهاء العملية الأخرى، المعرفات: {{ process_list }}. يرجى إيقاف العملية ثم إعادة تشغيل التطبيق.", + "No available ports": "لا توجد منافذ متاحة", + "Could not find an available port. There are processes running on ports {{startPort}}-{{endPort}}. Terminate these processes and retry?": "تعذر العثور على منفذ متاح. توجد عمليات تعمل على المنافذ {{startPort}}-{{endPort}}. هل تريد إنهاء هذه العمليات وإعادة المحاولة؟", + "Terminate and Retry": "إنهاء وإعادة المحاولة", + "Failed to start": "فشل التشغيل", + "Could not start the server even after terminating existing processes.": "تعذر تشغيل الخادم حتى بعد إنهاء العمليات الحالية.", + "Could not find an available port in the range {{startPort}}-{{endPort}}. Please free up a port and try again.": "تعذر العثور على منفذ متاح في النطاق {{startPort}}-{{endPort}}. يرجى تحرير منفذ والمحاولة مرة أخرى.", + "Invalid URL": "رابط غير صالح", + "Application opened with an invalid URL: {{ url }}": "تم فتح التطبيق برابط غير صالح: {{ url }}" +} diff --git a/frontend/src/i18n/locales/ar/glossary.json b/frontend/src/i18n/locales/ar/glossary.json new file mode 100644 index 00000000000..966018534bd --- /dev/null +++ b/frontend/src/i18n/locales/ar/glossary.json @@ -0,0 +1,278 @@ +{ + "Kubernetes Version": "إصدار Kubernetes", + "Cluster": "المجموعة", + "Cluster selector": "محدد المجموعة", + "Namespace": "مساحة الأسماء", + "Git Commit": "تحديث Git", + "Memory": "الذاكرة", + "CPU": "المعالج", + "Pods": "Pods", + "Nodes": "العُقد", + "Events": "الأحداث", + "Node": "العقدة", + "Namespaces": "مساحات الأسماء", + "Filter": "تصفية", + "a8r.io Metadata": "بيانات a8r.io الوصفية", + "toggle field visibility": "تبديل رؤية الحقل", + "Condition": "الحالة", + "Last Transition": "آخر انتقال", + "Last Update": "آخر تحديث", + "Container ID": "معرّف الحاوية", + "Image Pull Policy": "سياسة سحب الصورة", + "Image": "الصورة", + "Args": "المعاملات", + "Command": "الأمر", + "Environment": "البيئة", + "Liveness Probes": "فحوصات الجاهزية", + "Ports": "المنافذ", + "Volume Mounts": "تركيبات التخزين", + "Containers": "الحاويات", + "Container Spec": "مواصفات الحاوية", + "Ephemeral Containers": "الحاويات المؤقتة", + "Owner": "المالك", + "Container": "الحاوية", + "Config Maps": "خرائط الإعدادات", + "Definition": "التعريف", + "CRD: {{ crdName }}": "CRD: {{ crdName }}", + "Scope": "النطاق", + "Subresources": "الموارد الفرعية", + "Resource": "المورد", + "Plural": "جمع", + "Singular": "مفرد", + "Kind": "النوع", + "List Kind": "نوع القائمة", + "Served": "مخدوم", + "Storage": "التخزين", + "Objects": "الكائنات", + "Custom Resources": "الموارد المخصصة", + "Schedule": "الجدولة", + "Starting deadline": "الموعد النهائي للبدء", + "Last Schedule": "آخر جدولة", + "Cron Jobs": "مهام Cron", + "Images": "الصور", + "Tolerations": "التسامحات", + "Update Strategy": "استراتيجية التحديث", + "Selector": "المحدد", + "Node Selector": "محدد العقدة", + "Daemon Sets": "مجموعات Daemon", + "Deployments": "عمليات النشر", + "Replicas": "النسخ", + "Endpoint: {{ name }}": "نقطة النهاية: {{ name }}", + "Subsets": "المجموعات الفرعية", + "IP": "عنوان IP", + "Hostname": "اسم المضيف", + "Target": "الهدف", + "Port": "المنفذ", + "Protocol": "البروتوكول", + "Endpoints": "نقاط النهاية", + "Addresses": "العناوين", + "Conditions": "الشروط", + "Ready": "جاهز", + "Serving": "قيد الخدمة", + "Terminating": "جارٍ الإنهاء", + "Endpoint Slices": "شرائح نقاط النهاية", + "Targets": "الأهداف", + "No targets defined": "لا توجد أهداف محددة", + "TLS Validation": "التحقق من TLS", + "No validation settings": "لا توجد إعدادات تحقق", + "Backend TLS Policies": "سياسات TLS الخلفية", + "Retry Constraint": "قيد إعادة المحاولة", + "No retry constraint configured": "لم يتم تكوين قيود إعادة المحاولة", + "Session Persistence": "ثبات الجلسة", + "No session persistence configured": "لم يتم تكوين ثبات الجلسة", + "Backend Traffic Policies": "سياسات حركة المرور الخلفية", + "Controller Name": "اسم المتحكم", + "Gateway Classes": "فئات البوابة", + "Controller": "المتحكم", + "Class Name": "اسم الفئة", + "Listeners": "المستمعون", + "No data": "لا توجد بيانات", + "Gateways": "البوابات", + "Hostnames": "أسماء المضيفين", + "Rules": "القواعد", + "GRPCRoutes": "مسارات gRPC", + "HttpRoutes": "مسارات HTTP", + "From": "من", + "To": "إلى", + "Reference Grants": "منح المراجع", + "Horizontal Pod Autoscalers": "المقاييس التلقائية للـ Pods أفقيًا", + "Ingress Classes": "فئات Ingress", + "Default": "افتراضي", + "Yes": "نعم", + "Parameters": "المعلمات", + "Default Backend": "الخلفية الافتراضية", + "Backends": "الخلفيات", + "Ingresses": "Ingresses", + "Hosts": "المضيفون", + "Completions": "الإكمالات", + "Failed": "فشل", + "Jobs": "المهام", + "Job Sets": "مجموعات المهام", + "Lease": "الإيجار", + "LimitRange": "نطاق الحدود", + "Ingress": "Ingress", + "ipBlock": "حظر IP", + "namespaceSelector": "محدد مساحة الأسماء", + "podSelector": "محدد الـ Pod", + "Egress": "الخروج", + "except: {{ cidrExceptions }}": "باستثناء: {{ cidrExceptions }}", + "Pod Selector": "محدد الـ Pod", + "Network Policies": "سياسات الشبكة", + "Uncordoning node {{name}}…": "إلغاء عزل العقدة {{name}}…", + "Cordoning node {{name}}…": "عزل العقدة {{name}}…", + "Uncordoned node {{name}}.": "تم إلغاء عزل العقدة {{name}}.", + "Cordoned node {{name}}.": "تم عزل العقدة {{name}}.", + "Failed to uncordon node {{name}}.": "فشل إلغاء عزل العقدة {{name}}.", + "Failed to cordon node {{name}}.": "فشل عزل العقدة {{name}}.", + "Uncordon node {{name}} cancelled.": "تم إلغاء عملية إلغاء عزل العقدة {{name}}.", + "Cordon node {{name}} cancelled.": "تم إلغاء عملية عزل العقدة {{name}}.", + "Draining node {{name}}…": "تفريغ العقدة {{name}}…", + "Drained node {{name}}.": "تم تفريغ العقدة {{name}}.", + "Failed to drain node {{name}}.": "فشل تفريغ العقدة {{name}}.", + "Draining node {{name}} cancelled.": "تم إلغاء تفريغ العقدة {{name}}.", + "Drain Node": "تفريغ العقدة", + "Are you sure you want to drain the node {{name}}?": "هل أنت متأكد أنك تريد تفريغ العقدة {{name}}؟", + "Uncordon": "إلغاء العزل", + "Cordon": "عزل", + "Drain": "تفريغ", + "Pod CIDR": "نطاق Pod CIDR", + "Uptime": "مدة التشغيل", + "Resource Allocation": "تخصيص الموارد", + "Total limits may be over 100 percent, i.e., overcommitted.": "قد تتجاوز الحدود الإجمالية 100٪، أي أن هناك إفراط في التخصيص.", + "CPU Requests": "طلبات المعالج", + "CPU Limits": "حدود المعالج", + "Memory Requests": "طلبات الذاكرة", + "Memory Limits": "حدود الذاكرة", + "System Info": "معلومات النظام", + "Architecture": "البنية", + "Boot ID": "معرّف الإقلاع", + "System UUID": "المعرّف الفريد للنظام", + "OS": "نظام التشغيل", + "Kernel Version": "إصدار النواة", + "Machine ID": "معرّف الجهاز", + "Kube Proxy Version": "إصدار Kube Proxy", + "Kubelet Version": "إصدار Kubelet", + "Container Runtime Version": "إصدار بيئة تشغيل الحاويات", + "Roles": "الأدوار", + "External IP": "IP خارجي", + "OS image": "صورة نظام التشغيل", + "Kernel version": "إصدار النواة", + "Container Runtime": "بيئة تشغيل الحاويات", + "Debug Node": "تصحيح العقدة", + "Debug node is not supported in this OS: {{ nodeOS }}": "تصحيح العقدة غير مدعوم في هذا النظام: {{ nodeOS }}", + "Shell: {{ itemName }}": "الطرفية: {{ itemName }}", + "Logs: {{ itemName }}": "السجلات: {{ itemName }}", + "Seconds": "ثوانٍ", + "State": "الحالة", + "Service Account": "حساب الخدمة", + "Host IP": "IP المضيف", + "Host IPs": "IPs المضيف", + "Pod IP": "IP الـ Pod", + "Pod IPs": "IPs الـ Pod", + "QoS Class": "فئة QoS", + "Priority": "الأولوية", + "Show Logs": "عرض السجلات", + "Terminal / Exec": "الطرفية / تنفيذ", + "Attach": "إرفاق", + "Restarts": "إعادة التشغيل", + "{{ restarts }} ({{ abbrevTime }} ago)": "{{ restarts }} (منذ {{ abbrevTime }})", + "Request": "طلب", + "Limit": "حد", + "Nominated Node": "العقدة المرشحة", + "Readiness Gates": "بوابات الجاهزية", + "Pod Disruption Budget": "ميزانية تعطّل الـ Pod", + "Port Forwarding": "تمرير المنافذ", + "PriorityClass": "فئة الأولوية", + "Replica Sets": "مجموعات النسخ", + "Generation": "الجيل", + "Current": "الحالي", + "Desired": "المطلوب", + "Min": "الحد الأدنى", + "Max": "الحد الأقصى", + "Cluster IP": "IP المجموعة", + "Resource Quotas": "حصص الموارد", + "Reference Kind": "نوع المرجع", + "Reference Name": "اسم المرجع", + "Ref. API Group": "مجموعة API المرجعية", + "Binding Info": "معلومات الربط", + "Role Bindings": "ربط الأدوار", + "Role": "الدور", + "Groups": "المجموعات", + "Service Accounts": "حسابات الخدمة", + "API Groups": "مجموعات API", + "Resources": "الموارد", + "Non Resources": "موارد غيرية", + "Verbs": "الأفعال", + "RuntimeClass": "فئة التشغيل", + "Secrets": "الأسرار", + "Services": "الخدمات", + "Map": "خريطة", + "Workloads": "أحمال العمل", + "Stateful Sets": "مجموعات Stateful", + "CronJobs": "مهام Cron", + "Persistent Volume Claims": "مطالبات التخزين الدائم", + "Persistent Volumes": "أحجام التخزين الدائم", + "Storage Classes": "فئات التخزين", + "Volume Attributes Classes": "فئات خصائص التخزين", + "Network": "الشبكة", + "Gateway (beta)": "البوابة (تجريبي)", + "HTTP Routes": "مسارات HTTP", + "GRPC Routes": "مسارات GRPC", + "BackendTLSPolicies": "سياسات TLS الخلفية", + "BackendTrafficPolicies": "سياسات حركة المرور الخلفية", + "Security": "الأمان", + "Configuration": "الإعدادات", + "HPAs": "المقاييس الأفقية للـ Pods", + "VPAs": "المقاييس العمودية للـ Pods", + "Pod Disruption Budgets": "ميزانيات تعطّل الـ Pods", + "Limit Ranges": "نطاقات الحدود", + "Priority Classes": "فئات الأولوية", + "Runtime Classes": "فئات التشغيل", + "Leases": "الإيجارات", + "Mutating Webhook Configurations": "إعدادات Webhook التعديلية", + "Validating Webhook Configurations": "إعدادات Webhook التحققية", + "Git Version": "إصدار Git", + "Git Tree State": "حالة شجرة Git", + "Go Version": "إصدار Go", + "Platform": "المنصة", + "Capacity": "السعة", + "Access Modes": "أنماط الوصول", + "Volume Mode": "وضع التخزين", + "Storage Class": "فئة التخزين", + "Volume": "الحجم", + "Reclaim Policy": "سياسة الاسترجاع", + "Binding Mode": "وضع الربط", + "Provisioner": "المزوّد", + "Volume Binding Mode": "وضع ربط التخزين", + "Allow Volume Expansion": "السماح بتوسيع التخزين", + "Pending": "قيد الانتظار", + "Available": "متاح", + "Bound": "مرتبط", + "Released": "محرر", + "Lost": "مفقود", + "Driver Name": "اسم المشغل", + "This resource is only effective for compatible CSI drivers that support mutable volume attributes.": "هذا المورد فعال فقط مع مشغلات CSI المتوافقة التي تدعم خصائص التخزين القابلة للتعديل.", + "Claim": "المطالبة", + "Update Policy": "سياسة التحديث", + "Update Mode": "وضع التحديث", + "Container Policy": "سياسة الحاوية", + "Lower Bound": "الحد الأدنى", + "Upper Bound": "الحد الأعلى", + "Uncapped Target": "هدف غير مقيد", + "Vertical Pod Autoscalers": "المقاييس العمودية للـ Pods", + "Checking if Vertical Pod Autoscaler is enabled…": "جارٍ التحقق من تفعيل VPA…", + "Vertical Pod Autoscaler is not enabled. <1>Learn More": "لم يتم تفعيل VPA. <1>اعرف المزيد", + "API Version": "إصدار API", + "Webhooks": "Webhooks", + "Client Config: Ca Bundle": "إعداد العميل: حزمة CA", + "Failure Policy": "سياسة الفشل", + "Match Policy": "سياسة المطابقة", + "Side Effects": "التأثيرات الجانبية", + "Timeout Seconds": "ثواني المهلة", + "Namespace Selector": "محدد مساحة الأسماء", + "Object Selector": "محدد الكائنات", + "Reinvocation Policy": "سياسة إعادة الاستدعاء", + "API Versions": "إصدارات API", + "RollingUpdate. Max unavailable: {{ maxUnavailable }}, max surge: {{ maxSurge }}": "RollingUpdate. الحد الأقصى غير المتاح: {{ maxUnavailable }}, الحد الأقصى للزيادة: {{ maxSurge }}", + "Strategy Type": "نوع الاستراتيجية" +} diff --git a/frontend/src/i18n/locales/ar/translation.json b/frontend/src/i18n/locales/ar/translation.json new file mode 100644 index 00000000000..386e858d23f --- /dev/null +++ b/frontend/src/i18n/locales/ar/translation.json @@ -0,0 +1,886 @@ +{ + "Whoops! This page doesn't exist": "عذرًا! هذه الصفحة غير موجودة", + "Authentication: {{ clusterName }}": "المصادقة: {{ clusterName }}", + "Authentication": "المصادقة", + "Please paste your authentication token.": "يرجى لصق رمز المصادقة الخاص بك.", + "ID token": "رمز التعريف", + "Check out how to generate a<1>service account token.": "اطّلع على كيفية إنشاء <1>رمز حساب الخدمة.", + "Cluster settings": "إعدادات الكتلة", + "Cancel": "إلغاء", + "Authenticate": "تسجيل الدخول", + "Error authenticating": "خطأ أثناء المصادقة", + "Window": "نافذة", + "Fullscreen": "ملء الشاشة", + "Snap Left": "تثبيت إلى اليسار", + "Snap Right": "تثبيت إلى اليمين", + "Snap Top": "تثبيت إلى الأعلى", + "Snap Bottom": "تثبيت إلى الأسفل", + "Minimize": "تصغير", + "Close": "إغلاق", + "Close All": "إغلاق الكل", + "Overview": "نظرة عامة", + "Loading": "جارٍ التحميل", + "Advanced Search (Beta)": "البحث المتقدم (تجريبي)", + "Select Resources": "اختر الموارد", + "Search": "بحث", + "Search Resources": "البحث في الموارد", + "Select All": "تحديد الكل", + "Clear Selection": "مسح التحديد", + "All Resources": "جميع الموارد", + "Examples": "أمثلة", + "Search resources by query": "البحث في الموارد باستخدام الاستعلام", + "Clear": "مسح", + "No resources selected": "لم يتم تحديد أي موارد", + "Loaded {{0}} items": "تم تحميل {{0}} عنصر", + "Some resources failed to load": "فشل تحميل بعض الموارد", + "Found {{0}} results. Showing first {{1}}": "تم العثور على {{0}} نتيجة. يتم عرض أول {{1}}", + "Name": "الاسم", + "Cluster": "الكتلة", + "Actions": "الإجراءات", + "Max items per Resource": "الحد الأقصى للعناصر لكل مورد", + "If a resource has more items than this amount they will be excluded from Search. Helps reduce memory usage and slowdowns for large clusters.": "إذا كان المورد يحتوي على عدد عناصر أكبر من هذا الحد، فسيتم استبعاده من البحث. يساعد ذلك في تقليل استخدام الذاكرة وتحسين الأداء في الكتل الكبيرة.", + "Refetch Interval": "الفاصل الزمني لإعادة الجلب", + "30 seconds": "30 ثانية", + "1 minute": "دقيقة واحدة", + "5 minutes": "5 دقائق", + "Save": "حفظ", + "Add": "إضافة", + "Add Cluster": "إضافة كتلة", + "Proceed to select your preferred method for cluster creation and addition": "تابع لاختيار الطريقة المفضلة لديك لإنشاء الكتلة وإضافتها", + "Load from KubeConfig": "التحميل من KubeConfig", + "Providers": "المزوّدون", + "Add Local Cluster Provider": "إضافة مزود كتلة محلي", + "Failed to delete cluster: {{ error }}": "فشل حذف الكتلة: {{ error }}", + "This action will delete cluster \"{{ clusterName }}\" from \"{{ source }}\"": "سيؤدي هذا الإجراء إلى حذف الكتلة \"{{ clusterName }}\" من \"{{ source }}\"", + "This action will remove cluster \"{{ clusterName }}\".": "سيؤدي هذا الإجراء إلى إزالة الكتلة \"{{ clusterName }}\".", + "This action cannot be undone! Do you want to proceed?": "لا يمكن التراجع عن هذا الإجراء! هل تريد المتابعة؟", + "Remove this cluster?": "إزالة هذه الكتلة؟", + "View": "عرض", + "Settings": "الإعدادات", + "Delete": "حذف", + "Delete Cluster": "حذف الكتلة", + "Active": "نشط", + "Authentication required": "", + "Insufficient permissions": "", + "Unavailable": "", + "Plugin": "الإضافة", + "In-cluster": "داخل الكتلة", + "View Clusters": "عرض الكتل", + "Loading...": "جارٍ التحميل...", + "No clusters found": "لم يتم العثور على أي كتل", + "Add a cluster to get started.": "أضف كتلة للبدء.", + "Origin": "المصدر", + "Status": "الحالة", + "Warnings": "التحذيرات", + "All Clusters": "جميع الكتل", + "Projects": "المشاريع", + "Selected clusters": "الكتل المحددة", + "Load cluster": "تحميل الكتلة", + "Something went wrong with cluster {{ cluster }}": "حدث خطأ ما في الكتلة {{ cluster }}", + "Choose another cluster": "اختر كتلة أخرى", + "Failed to connect to the backend": "فشل الاتصال بالخلفية", + "Connecting to backend...": "جارٍ الاتصال بالخلفية...", + "Skip to main content": "تخطي إلى المحتوى الرئيسي", + "Menu": "القائمة", + "Mark all as read": "تحديد الكل كمقروء", + "Clear all": "مسح الكل", + "Notifications": "الإشعارات", + "You don't have any notifications right now": "ليس لديك أي إشعارات حالياً", + "Message": "الرسالة", + "No message": "لا توجد رسالة", + "Date": "التاريخ", + "Visible": "مرئي", + "Mark as read": "تحديد كمقروء", + "Show notifications": "عرض الإشعارات", + "You have unread notifications": "لديك إشعارات غير مقروءة", + "View all notifications": "عرض جميع الإشعارات", + "Unknown": "غير معروف", + "Are you sure you want to delete this plugin?": "هل أنت متأكد أنك تريد حذف هذه الإضافة؟", + "Plugins": "الإضافات", + "Multiple versions": "إصدارات متعددة", + "Description": "الوصف", + "Type": "النوع", + "Development": "قيد التطوير", + "User-installed": "مثبت بواسطة المستخدم", + "Shipped": "مرفق", + "This plugin is not compatible with this version of Headlamp": "هذه الإضافة غير متوافقة مع هذا الإصدار من Headlamp", + "Incompatible": "غير متوافق", + "Overridden by {{type}} version": "تم الاستبدال بواسطة إصدار {{type}}", + "Not Loaded": "غير محمّل", + "Disabled": "معطّل", + "Loaded": "محمّل", + "Enable": "تفعيل", + "Delete Plugin": "حذف الإضافة", + "Save & Apply": "حفظ وتطبيق", + "Open Plugin Folder": "فتح مجلد الإضافة", + "By": "بواسطة", + "This plugin is not currently loaded because a \"{{type}}\" version is being used instead.": "هذه الإضافة غير محمّلة حالياً لأنه يتم استخدام إصدار \"{{type}}\" بدلاً منها.", + "Deleting plugin {{ itemName }}...": "جارٍ حذف الإضافة {{ itemName }}...", + "Cancelled deletion of {{ itemName }}.": "تم إلغاء حذف {{ itemName }}", + "Deleted plugin {{ itemName }}.": "تم حذف الإضافة {{ itemName }}", + "Error deleting plugin {{ itemName }}.": "حدث خطأ أثناء حذف الإضافة {{ itemName }}", + "Uh-oh! Something went wrong.": "عذرًا! حدث خطأ ما.", + "Error loading {{ routeName }}": "حدث خطأ أثناء تحميل {{ routeName }}", + "Cluster name must contain only lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.": "يجب أن يحتوي اسم الكتلة فقط على أحرف وأرقام صغيرة أو '-'، ويجب أن يبدأ وينتهي بحرف أو رقم.", + "Error": "خطأ", + "Okay": "حسنًا", + "Original name: {{ displayName }}": "الاسم الأصلي: {{ displayName }}", + "This custom name is already in use, please choose a different name.": "هذا الاسم المخصص مستخدم بالفعل، يرجى اختيار اسم مختلف.", + "The current name of the cluster. You can define a custom name": "الاسم الحالي للكتلة. يمكنك تحديد اسم مخصص.", + "Change name": "تغيير الاسم", + "Are you sure you want to change the name for \"{{ clusterName }}\"?": "هل أنت متأكد أنك تريد تغيير اسم \"{{ clusterName }}\"؟", + "Apply": "تطبيق", + "Accent color format is invalid. Use hex (#ff0000), rgb(), or rgba().": "تنسيق لون التمييز غير صالح. استخدم hex (#ff0000) أو rgb() أو rgba().", + "Choose Accent Color": "اختر لون التمييز", + "Use custom color": "استخدام لون مخصص", + "Custom color": "لون مخصص", + "Hex, rgb(), or rgba()": "Hex أو rgb() أو rgba()", + "Full page": "صفحة كاملة", + "Choose Cluster Icon": "اختر أيقونة الكتلة", + "Use custom icon": "استخدام أيقونة مخصصة", + "Custom icon (Iconify)": "أيقونة مخصصة (Iconify)", + "Example: mdi:kubernetes, mdi:cloud-outline": "مثال: mdi:kubernetes, mdi:cloud-outline", + "Namespaces must contain only lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.": "يجب أن تحتوي أسماء النطاقات فقط على أحرف وأرقام صغيرة أو '-'، ويجب أن تبدأ وتنتهي بحرف أو رقم", + "Node Shell Settings": "إعدادات Node Shell", + "The default image is used for dropping a shell into a node (when not specified directly).": "تُستخدم الصورة الافتراضية لفتح shell داخل العقدة (عند عدم تحديدها مباشرة)", + "Linux image": "صورة لينكس", + "The default namespace is default.": "النطاق الافتراضي هو default.", + "Namespace": "النطاق", + "Enter a value between {{ minRows }} and {{ maxRows }}.": "أدخل قيمة بين {{ minRows }} و {{ maxRows }}.", + "Custom row value": "قيمة صف مخصصة", + "Custom value": "قيمة مخصصة", + "Pod Debug Settings": "إعدادات تصحيح Pod", + "Ephemeral debug containers cannot be removed via Kubernetes API. They will remain in the pod specification even after the terminal closes. To remove them, the pod must be recreated.": "لا يمكن إزالة حاويات التصحيح المؤقتة عبر Kubernetes API. ستبقى في مواصفات الـ pod حتى بعد إغلاق الطرفية. لإزالتها، يجب إعادة إنشاء الـ pod", + "The default image is used for creating ephemeral debug containers.": "تُستخدم الصورة الافتراضية لإنشاء حاويات تصحيح مؤقتة.", + "General Settings": "الإعدادات العامة", + "Version": "الإصدار", + "Language": "اللغة", + "Resource details view": "عرض تفاصيل المورد", + "Number of rows for tables": "عدد الصفوف للجداول", + "Timezone to display for dates": "المنطقة الزمنية لعرض التواريخ", + "Sort sidebar items alphabetically": "ترتيب عناصر الشريط الجانبي أبجديًا", + "Use evict for pod deletion": "استخدام evict لحذف الـ pod", + "Theme": "السمة", + "Theme has been forced by your administrator": "", + "Keyboard Shortcuts": "اختصارات لوحة المفاتيح", + "Configure keyboard shortcuts for quick access to various parts of the application.": "قم بتكوين اختصارات لوحة المفاتيح للوصول السريع إلى أجزاء مختلفة من التطبيق.", + "Cluster Settings": "إعدادات الكتلة", + "There seem to be no clusters configured…": "يبدو أنه لا توجد كتل مُعدّة…", + "Cluster {{ clusterName }} does not exist. Please select a valid cluster:": "الكتلة {{ clusterName }} غير موجودة. يرجى اختيار كتلة صالحة:", + "Go to cluster": "الانتقال إلى الكتلة", + "Appearance": "المظهر", + "Stored in your browser's localStorage (per-browser setting).": "يتم تخزينه في localStorage الخاص بالمتصفح (إعداد خاص بكل متصفح).", + "Accent color": "لون التمييز", + "Change Color": "تغيير اللون", + "Choose Color": "اختر اللون", + "Clear accent color": "إزالة لون التمييز", + "Cluster icon": "أيقونة الكتلة", + "Change Icon": "تغيير الأيقونة", + "Choose Icon": "اختر الأيقونة", + "Clear cluster icon": "إزالة أيقونة الكتلة", + "Accent color format is invalid. Use hex (#ff0000), rgb(), rgba(), or a CSS color name.": "تنسيق لون التمييز غير صالح. استخدم hex (#ff0000) أو rgb() أو rgba() أو اسم لون CSS.", + "Apply appearance": "تطبيق المظهر", + "Apply appearance changes for \"{{ clusterName }}\"? This will be stored in your browser.": "تطبيق تغييرات المظهر لـ \"{{ clusterName }}\"؟ سيتم تخزينها في متصفحك.", + "Applying...": "جارٍ التطبيق...", + "Default namespace": "النطاق الافتراضي", + "The default namespace for e.g. when applying resources (when not specified directly).": "النطاق الافتراضي يُستخدم مثلاً عند تطبيق الموارد (عند عدم تحديده مباشرة).", + "Allowed namespaces": "النطاقات المسموح بها", + "The list of namespaces you are allowed to access in this cluster.": "قائمة النطاقات التي يُسمح لك بالوصول إليها في هذه الكتلة.", + "Add namespace": "إضافة نطاق", + "Remove Cluster": "إزالة الكتلة", + "Are you sure you want to remove the cluster \"{{ clusterName }}\"?": "هل أنت متأكد أنك تريد إزالة الكتلة \"{{ clusterName }}\"؟", + "Server": "الخادم", + "Press keys...": "اضغط المفاتيح...", + "Conflicts with: {{name}}": "يتعارض مع: {{name}}", + "Reset to default": "إعادة التعيين إلى الافتراضي", + "Navigation": "التنقل", + "General": "عام", + "Reset All to Defaults": "إعادة تعيين الكل إلى الافتراضي", + "Log out from all": "تسجيل الخروج من الجميع", + "Log out": "تسجيل الخروج", + "Account of current user": "حساب المستخدم الحالي", + "Appbar Tools": "أدوات شريط التطبيق", + "show more": "عرض المزيد", + "Version information": "معلومات الإصدار", + "Getting auth info: {{ clusterName }}": "جارٍ الحصول على معلومات المصادقة: {{ clusterName }}", + "Getting auth info": "جارٍ الحصول على معلومات المصادقة", + "Testing auth": "جارٍ اختبار المصادقة", + "Headlamp Cluster Authentication": "مصادقة كتلة Headlamp", + "Sign In": "تسجيل الدخول", + "Use A Token": "استخدام رمز", + "Failed to connect. Please make sure the Kubernetes cluster is running and accessible. Error: {{ errorMessage }}": "فشل الاتصال. يرجى التأكد من أن كتلة Kubernetes تعمل ويمكن الوصول إليها. الخطأ: {{ errorMessage }}", + "Failed to get authentication information: {{ errorMessage }}": "فشل الحصول على معلومات المصادقة: {{ errorMessage }}", + "Try Again": "حاول مرة أخرى", + "Back": "رجوع", + "Memory Usage": "استخدام الذاكرة", + "{{ available }} units": "{{ available }} وحدة", + "CPU Usage": "استخدام المعالج", + "{{ used }} / {{ total }} Pods": "{{ used }} / {{ total }} Pods", + "Pod Usage": "استخدام الـ Pod", + "Ephemeral Storage Usage": "استخدام التخزين المؤقت", + "Unable to fetch ephemeral storage usage from kubelet.": "تعذر جلب استخدام التخزين المؤقت من kubelet.", + "{{ numReady }} / {{ numItems }} Requested": "{{ numReady }} / {{ numItems }} مطلوب", + "{{ numReady }} / {{ numItems }} Ready": "{{ numReady }} / {{ numItems }} جاهز", + "Recent clusters": "الكتل الأخيرة", + "All clusters": "جميع الكتل", + "Show build information": "عرض معلومات البناء", + "Choose a cluster": "اختر كتلة", + "Wait while fetching clusters…": "يرجى الانتظار أثناء جلب الكتل…", + "Loading cluster information": "جارٍ تحميل معلومات الكتلة", + "There seems to be no clusters configured…": "يبدو أنه لا توجد كتل مُعدّة…", + "Please make sure you have at least one cluster configured.": "يرجى التأكد من وجود كتلة واحدة على الأقل مُعدّة.", + "Or try running Headlamp with a different kube config.": "أو جرّب تشغيل Headlamp باستخدام kube config مختلف.", + "Load from a file": "تحميل من ملف", + "{{count}} clusters_zero": "", + "{{count}} clusters_one": "{{count}} كتلة", + "{{count}} clusters_two": "", + "{{count}} clusters_few": "", + "{{count}} clusters_many": "", + "{{count}} clusters_other": "{{count}} كتل", + "Current//context:cluster": "الحالي", + "Choose cluster": "اختر كتلة", + "Failed to load resources": "فشل تحميل الموارد", + "You don't have permissions to view this resource": "ليس لديك صلاحية لعرض هذا المورد", + "Resource not found": "المورد غير موجود", + "Hide details": "إخفاء التفاصيل", + "Show details": "عرض التفاصيل", + "Drag & drop or choose kubeconfig file here": "اسحب وأفلت أو اختر ملف kubeconfig هنا", + "Choose file": "اختر ملف", + "Select clusters": "حدد الكتل", + "Next": "التالي", + "Validating selected clusters": "جارٍ التحقق من الكتل المحددة", + "Setting up clusters": "جارٍ إعداد الكتل", + "Clusters successfully set up!": "تم إعداد الكتل بنجاح!", + "Finish": "إنهاء", + "Duplicate cluster: {{ clusterNames }} in the list. Please edit the context name.": "كتلة مكررة: {{ clusterNames }} في القائمة. يرجى تعديل اسم السياق.", + "Error setting up clusters, please load a valid kubeconfig file": "حدث خطأ أثناء إعداد الكتل، يرجى تحميل ملف kubeconfig صالح", + "Couldn't read kubeconfig file": "تعذر قراءة ملف kubeconfig", + "No clusters found!": "لم يتم العثور على أي كتل!", + "No contexts found!": "لم يتم العثور على أي سياقات!", + "Invalid kubeconfig file: {{ errorMessage }}": "ملف kubeconfig غير صالح: {{ errorMessage }}", + "Only warnings ({{ numWarnings }})": "تحذيرات فقط ({{ numWarnings }})", + "Reason": "السبب", + "Count": "العدد", + "Last Seen": "آخر ظهور", + "Offline": "غير متصل", + "Lost connection to the cluster.": "فُقد الاتصال بالكتلة.", + "No": "لا", + "Yes": "نعم", + "Create {{ name }}": "إنشاء {{ name }}", + "Toggle fullscreen": "تبديل وضع ملء الشاشة", + "Unable to open GitHub. Please check your popup blocker settings or copy the error details manually.": "تعذر فتح GitHub. يرجى التحقق من إعدادات حظر النوافذ المنبثقة أو نسخ تفاصيل الخطأ يدويًا.", + "Head back <1>home.": "العودة إلى <1>الصفحة الرئيسية.", + "Error Details": "تفاصيل الخطأ", + "Copied to clipboard": "تم النسخ إلى الحافظة", + "Failed to copy to clipboard": "فشل النسخ إلى الحافظة", + "Copy": "نسخ", + "Open Issue on GitHub": "فتح مشكلة على GitHub", + "Find": "بحث", + "Download": "تنزيل", + "Reconnect": "إعادة الاتصال", + "No results": "لا توجد نتائج", + "Too many matches": "عدد كبير جدًا من النتائج المطابقة", + "{{ currentIndex }} of {{ totalResults }}": "{{ currentIndex }} من {{ totalResults }}", + "Match case": "مطابقة حالة الأحرف", + "Match whole word": "مطابقة الكلمة كاملة", + "Use regular expression": "استخدام تعبير نمطي", + "Previous Match (Shift+Enter)": "المطابقة السابقة (Shift+Enter)", + "Next Match (Enter)": "المطابقة التالية (Enter)", + "All namespaces": "جميع النطاقات", + "From": "من", + "Age": "العمر", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_zero": "", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_one": "{{ eventDate }} ({{ count }} مرة منذ {{ firstEventDate }})", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_two": "", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_few": "", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_many": "", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_other": "{{ eventDate }} ({{ count }} مرات منذ {{ firstEventDate }})", + "Release Notes ({{ appVersion }})": "ملاحظات الإصدار ({{ appVersion }})", + "Fetching release information…": "جارٍ جلب معلومات الإصدار…", + "Skip": "تخطي", + "Failed to fetch release information": "فشل جلب معلومات الإصدار", + "An update is available": "يتوفر تحديث", + "Read more": "اقرأ المزيد", + "Disable update notifications": "تعطيل إشعارات التحديث", + "Dismiss": "إغلاق", + "Install the metrics-server to get usage data.": "قم بتثبيت metrics-server للحصول على بيانات الاستخدام.", + "Copy to clipboard": "نسخ إلى الحافظة", + "Resource Type": "نوع المورد", + "Create / Apply": "إنشاء / تطبيق", + "Create": "إنشاء", + "Resource form": "نموذج المورد", + "Key": "المفتاح", + "Label key": "مفتاح التسمية", + "Value": "القيمة", + "Label value": "قيمة التسمية", + "Remove label {{ label }}": "إزالة التسمية {{ label }}", + "Add label": "إضافة تسمية", + "New Label": "تسمية جديدة", + "Container name": "اسم الحاوية", + "Image": "الصورة", + "Container image": "صورة الحاوية", + "Container Port": "منفذ الحاوية", + "Container port": "منفذ الحاوية", + "Pull Policy": "سياسة السحب", + "Image pull policy": "سياسة سحب الصورة", + "Remove container {{ name }}": "إزالة الحاوية {{ name }}", + "Add container": "إضافة حاوية", + "New Container": "حاوية جديدة", + "Deleting item {{ itemName }}…": "جارٍ حذف العنصر {{ itemName }}…", + "Deleted item {{ itemName }}.": "تم حذف العنصر {{ itemName }}", + "Error deleting item {{ itemName }}.": "حدث خطأ أثناء حذف العنصر {{ itemName }}", + "Evict": "إخلاء", + "Evict Pod": "إخلاء الـ Pod", + "Delete item": "حذف العنصر", + "Are you sure you want to evict pod {{ itemName }}?": "هل أنت متأكد أنك تريد إخلاء الـ pod {{ itemName }}؟", + "Are you sure you want to delete item {{ itemName }}?": "هل أنت متأكد أنك تريد حذف العنصر {{ itemName }}؟", + "Force Delete": "حذف إجباري", + "Are you sure you want to delete the following items?": "هل أنت متأكد أنك تريد حذف العناصر التالية؟", + "Deleting {{ itemsLength }} items…": "جارٍ حذف {{ itemsLength }} عنصر…", + "Cancelled deletion of {{ itemsLength }} items.": "تم إلغاء حذف {{ itemsLength }} عنصر", + "Deleted {{ itemsLength }} items.": "تم حذف {{ itemsLength }} عنصر.", + "Error deleting {{ itemsLength }} items.": "حدث خطأ أثناء حذف {{ itemsLength }} عنصر", + "Delete items": "حذف العناصر", + "Resource details": "تفاصيل المورد", + "Loading documentation": "جارٍ تحميل التوثيق", + "No documentation available.": "لا يوجد توثيق متاح.", + "No documentation for type {{ docsType }}.": "لا يوجد توثيق للنوع {{ docsType }}", + "Showing documentation for: {{ docsType }}": "عرض التوثيق لـ: {{ docsType }}", + "Applying changes to {{ itemName }}…": "جارٍ تطبيق التغييرات على {{ itemName }}…", + "Cancelled changes to {{ itemName }}.": "تم إلغاء التغييرات على {{ itemName }}", + "Applied changes to {{ itemName }}.": "تم تطبيق التغييرات على {{ itemName }}", + "Failed to apply changes to {{ itemName }}.": "فشل تطبيق التغييرات على {{ itemName }}", + "Edit": "تعديل", + "Invalid JSON": "JSON غير صالح", + "Invalid YAML": "YAML غير صالح", + "Failed to create {{ kind }} {{ name }}.": "فشل إنشاء {{ kind }} {{ name }}", + "Failed to create {{ kind }} {{ name }} in {{ apiVersion }}.": "فشل إنشاء {{ kind }} {{ name }} في {{ apiVersion }}", + "Error parsing the code: {{error}}": "خطأ أثناء تحليل الكود: {{error}}", + "Error parsing the code. Please verify it's valid YAML or JSON!": "خطأ أثناء تحليل الكود. يرجى التأكد من أن YAML أو JSON صالح!", + "resource": "مورد", + "Running dry run for {{ newItemName }}…": "جارٍ تنفيذ تجربة جافة لـ {{ newItemName }}…", + "Cancelled dry run for {{ newItemName }}.": "تم إلغاء التجربة الجافة لـ {{ newItemName }}", + "Dry run passed for {{ newItemName }}.": "نجحت التجربة الجافة لـ {{ newItemName }}", + "Dry run failed for {{ newItemName }}.": "فشلت التجربة الجافة لـ {{ newItemName }}", + "Applying {{ newItemName }}…": "جارٍ تطبيق {{ newItemName }}…", + "Cancelled applying {{ newItemName }}.": "تم إلغاء تطبيق {{ newItemName }}", + "Applied {{ newItemName }}.": "تم تطبيق {{ newItemName }}", + "Failed to apply {{ newItemName }}.": "فشل تطبيق {{ newItemName }}", + "New Object": "كائن جديد", + "View: {{ itemName }}": "عرض: {{ itemName }}", + "Edit: {{ itemName }}": "تعديل: {{ itemName }}", + "Loading editor": "جارٍ تحميل المحرر", + "Hide Managed Fields": "إخفاء الحقول المُدارة", + "Use minimal editor": "استخدام المحرر المبسط", + "Upload File/URL": "رفع ملف/رابط", + "Editor": "المحرر", + "Form": "النموذج", + "Documentation": "التوثيق", + "Review Changes": "مراجعة التغييرات", + "Undo": "تراجع", + "Are you sure?": "هل أنت متأكد؟", + "This will discard your changes in the editor. Do you want to proceed?": "سيؤدي هذا إلى تجاهل التغييرات في المحرر، هل تريد المتابعة؟", + "Undo Changes": "التراجع عن التغييرات", + "Dry Run": "تجربة جافة", + "Invalid Secret Reference": "مرجع Secret غير صالح", + "Invalid Config Map Reference": "مرجع Config Map غير صالح", + "Invalid fieldRef": "fieldRef غير صالح", + "Invalid resourceFieldRef": "resourceFieldRef غير صالح", + "Show fewer": "عرض أقل", + "Show all environment variables": "عرض جميع متغيرات البيئة", + "Show all environment variables (+{{count}} more)_zero": "", + "Show all environment variables (+{{count}} more)_one": "عرض جميع متغيرات البيئة (+{{count}} إضافية)", + "Show all environment variables (+{{count}} more)_two": "", + "Show all environment variables (+{{count}} more)_few": "", + "Show all environment variables (+{{count}} more)_many": "", + "Show all environment variables (+{{count}} more)_other": "عرض جميع متغيرات البيئة (+{{count}} إضافية)", + "No label selectors found for this {{type}}": "لم يتم العثور على محددات تسمية لهذا {{type}}", + "Invalid response from server": "استجابة غير صالحة من الخادم", + "Failed to fetch related pods": "فشل جلب الـ pods المرتبطة", + "No pods found for this workload": "لم يتم العثور على أي pods لهذا الحمل", + "Failed to fetch pods: {{error}}": "فشل جلب الـ pods: {{error}}", + "Logs are paused. Click the follow button to resume following them.": "تم إيقاف السجلات مؤقتًا، اضغط على زر المتابعة لاستئنافها", + "Select Pod": "اختر Pod", + "All Pods": "جميع الـ Pods", + "Container": "الحاوية", + "Restarted": "أُعيد التشغيل", + "Severity": "الخطورة", + "All": "الكل", + "Show logs for previous instances of this container.": "عرض السجلات للحالات السابقة لهذه الحاوية", + "You can only select this option for containers that have been restarted.": "يمكنك تحديد هذا الخيار فقط للحاويات التي أُعيد تشغيلها", + "Show previous": "عرض السابق", + "Show timestamps in the logs.": "عرض الطوابع الزمنية في السجلات", + "Timestamps": "الطوابع الزمنية", + "Follow logs in real-time.": "متابعة السجلات في الوقت الفعلي", + "Follow": "متابعة", + "Show logs": "عرض السجلات", + "Loading resource data": "جارٍ تحميل بيانات المورد", + "a8r.io Metadata": "بيانات a8r.io الوصفية", + "Creation": "الإنشاء", + "Labels": "التسميات", + "Annotations": "التعليقات التوضيحية", + "Owner refs": "مراجع المالك", + "Controlled by": "تحت التحكم بواسطة", + "Show all labels (+{{count}} more)_zero": "", + "Show all labels (+{{count}} more)_one": "عرض جميع التسميات (+{{count}} إضافية)", + "Show all labels (+{{count}} more)_two": "", + "Show all labels (+{{count}} more)_few": "", + "Show all labels (+{{count}} more)_many": "", + "Show all labels (+{{count}} more)_other": "عرض جميع التسميات (+{{count}} إضافية)", + "Start port forward": "بدء إعادة توجيه المنفذ", + "Forward port": "إعادة توجيه المنفذ", + "Delete port forward": "حذف إعادة توجيه المنفذ", + "Stop port forward": "إيقاف إعادة توجيه المنفذ", + "Copied": "تم النسخ", + "This value may differ in the container, since the pod is older than {{from}}": "قد تختلف هذه القيمة داخل الحاوية لأن الـ pod أقدم من {{from}}", + "Mount Path": "مسار الربط", + "from": "من", + "I/O": "إدخال/إخراج", + "Ready": "جاهز", + "Waiting": "قيد الانتظار", + "Running": "قيد التشغيل", + "Exit Code": "رمز الخروج", + "Started": "بدأ", + "Finished": "انتهى", + "Restart Count": "عدد مرات إعادة التشغيل", + "Last State": "الحالة الأخيرة", + "No data to be shown.": "لا توجد بيانات للعرض", + "Init Containers": "حاويات التهيئة", + "Conditions": "الشروط", + "Volumes": "الأحجام", + "Kind": "النوع", + "Restarting {{ itemName }}…": "جارٍ إعادة تشغيل {{ itemName }}…", + "Cancelled restarting {{ itemName }}.": "تم إلغاء إعادة تشغيل {{ itemName }}", + "Restarted {{ itemName }}.": "تمت إعادة تشغيل {{ itemName }}", + "Failed to restart {{ itemName }}.": "فشلت إعادة تشغيل {{ itemName }}", + "Restart": "إعادة التشغيل", + "Are you sure you want to restart {{ itemName }}?": "هل أنت متأكد أنك تريد إعادة تشغيل {{ itemName }}؟", + "Are you sure you want to restart the following items?": "هل أنت متأكد أنك تريد إعادة تشغيل العناصر التالية؟", + "Restarting {{ itemsLength }} items…": "جارٍ إعادة تشغيل {{ itemsLength }} عنصر…", + "Cancelled restarting {{ itemsLength }} items.": "تم إلغاء إعادة تشغيل {{ itemsLength }} عنصر", + "Restarted {{ itemsLength }} items.": "تمت إعادة تشغيل {{ itemsLength }} عنصر", + "Failed to restart {{ itemsLength }} items.": "فشلت إعادة تشغيل {{ itemsLength }} عنصر", + "Restart items": "إعادة تشغيل العناصر", + "Revision History": "سجل المراجعات", + "Loading revision history…": "جارٍ تحميل سجل المراجعات…", + "Failed to load revision history: {{ error }}": "فشل تحميل سجل المراجعات: {{ error }}", + "No revision history available.": "لا يوجد سجل مراجعات متاح", + "Revision": "المراجعة", + "Created": "تم الإنشاء", + "Images": "الصور", + "Current": "الحالي", + "Previous": "السابق", + "Rolling back {{ itemName }} to previous version…": "جارٍ التراجع عن {{ itemName }} إلى الإصدار السابق…", + "Cancelled rollback of {{ itemName }}.": "تم إلغاء التراجع عن {{ itemName }}", + "Rolled back {{ itemName }} to previous version.": "تم التراجع عن {{ itemName }} إلى الإصدار السابق", + "Failed to rollback {{ itemName }}.": "فشل التراجع عن {{ itemName }}", + "Rollback": "تراجع", + "Rollback {{ kind }}": "التراجع عن {{ kind }}", + "Select a revision to rollback \"{{ name }}\" to. This will replace the current pod template with the one from the selected revision.": "حدد مراجعة للتراجع إليها لـ \"{{ name }}\" وسيتم استبدال قالب الـ pod الحالي بالقالب من المراجعة المحددة", + "No previous revisions available to rollback to.": "لا توجد مراجعات سابقة متاحة للتراجع إليها", + "Revision {{ revision }}": "المراجعة {{ revision }}", + "Scaling {{ itemName }}…": "جارٍ تغيير حجم {{ itemName }}…", + "Cancelled scaling {{ itemName }}.": "تم إلغاء تغيير حجم {{ itemName }}", + "Scaled {{ itemName }}.": "تم تغيير حجم {{ itemName }}", + "Failed to scale {{ itemName }}.": "فشل تغيير حجم {{ itemName }}", + "Scale": "تغيير الحجم", + "Scale Replicas": "تغيير عدد النسخ", + "Current number of replicas: {{ numReplicas }}": "العدد الحالي للنسخ: {{ numReplicas }}", + "Desired number of replicas:": "العدد المطلوب للنسخ:", + "Decrement": "تقليل", + "Increment": "زيادة", + "A large number of replicas may negatively impact the cluster's performance": "قد يؤثر العدد الكبير من النسخ سلبًا على أداء الكتلة", + "Scaling {{ itemsLength }} items…": "جارٍ تغيير حجم {{ itemsLength }} عنصر…", + "Cancelled scaling {{ itemsLength }} items.": "تم إلغاء تغيير حجم {{ itemsLength }} عنصر", + "Scaled {{ itemsLength }} items.": "تم تغيير حجم {{ itemsLength }} عنصر", + "Failed to scale {{ itemsLength }} items.": "فشل تغيير حجم {{ itemsLength }} عنصر", + "Scale items": "تغيير حجم العناصر", + "Are you sure you want to scale the following items?": "هل أنت متأكد أنك تريد تغيير حجم العناصر التالية؟", + "Load": "تحميل", + "Failed to read file.": "فشل قراءة الملف", + "File read was aborted.": "تم إلغاء قراءة الملف", + "Error: All of the files are empty.": "خطأ: جميع الملفات فارغة", + "Unexpected error while reading files.": "حدث خطأ غير متوقع أثناء قراءة الملفات", + "Drop the file here...": "أفلت الملف هنا...", + "Select a file or drag and drop here": "حدد ملفًا أو اسحبه وأفلته هنا", + "Select File": "اختر ملف", + "{{count}} files selected_zero": "", + "{{count}} files selected_one": "تم تحديد {{count}} ملف", + "{{count}} files selected_two": "", + "{{count}} files selected_few": "", + "{{count}} files selected_many": "", + "{{count}} files selected_other": "تم تحديد {{count}} ملفات", + "Please enter a valid URL.": "يرجى إدخال رابط صالح", + "Failed to fetch file: {{statusText}}": "فشل جلب الملف: {{statusText}}", + "Unexpected error while fetching the file.": "حدث خطأ غير متوقع أثناء جلب الملف", + "Enter URL": "أدخل الرابط", + "Upload File": "رفع ملف", + "Load from URL": "تحميل من رابط", + "View YAML": "عرض YAML", + "Collapse": "طي", + "Expand": "توسيع", + "Sort descending": "ترتيب تنازلي", + "Sort ascending": "ترتيب تصاعدي", + "Loading table data": "جارٍ تحميل بيانات الجدول", + "Refresh": "تحديث", + "No data matching the filter criteria.": "لا توجد بيانات تطابق معايير التصفية", + "No results found": "لم يتم العثور على نتائج", + "Any new output for this container's process should be shown below. In case it doesn't show up, press enter…": "سيظهر أي إخراج جديد لعملية هذه الحاوية أدناه وفي حال لم يظهر اضغط Enter", + "Failed to run \"{{command}}\"…": "فشل تشغيل \"{{command}}\"…", + "Failed to connect…": "فشل الاتصال…", + "Press the enter key to reconnect.": "اضغط مفتاح Enter لإعادة الاتصال", + "Failed to run \"{{ command }}\"": "فشل تشغيل \"{{ command }}\"", + "Trying to attach to the container {{ container }}…": "جارٍ محاولة الاتصال بالحاوية {{ container }}…", + "Trying to run \"{{command}}\"…": "جارٍ محاولة تشغيل \"{{command}}\"…", + "Attach: {{ itemName }}": "اتصال: {{ itemName }}", + "Terminal: {{ itemName }}": "الطرفية: {{ itemName }}", + "Timezone": "المنطقة الزمنية", + "Data": "البيانات", + "No data in this config map": "لا توجد بيانات في Config Map هذه", + "Error getting custom resource definition {{ crdName }}: {{ errorMessage }}": "خطأ أثناء جلب تعريف المورد المخصص {{ crdName }}: {{ errorMessage }}", + "Loading custom resource details": "جارٍ تحميل تفاصيل المورد المخصص", + "Error getting custom resource {{ crName }}: {{ errorMessage }}": "خطأ أثناء جلب المورد المخصص {{ crName }}: {{ errorMessage }}", + "Loading custom resource instances": "جارٍ تحميل مثيلات المورد المخصص", + "No custom resources instances found.": "لم يتم العثور على مثيلات للموردات المخصصة", + "Failed to load custom resource instances": "فشل تحميل مثيلات الموردات المخصصة", + "Error getting custom resource definitions: {{ errorMessage }}": "خطأ أثناء جلب تعريفات الموردات المخصصة: {{ errorMessage }}", + "Loading custom resource definitions": "جارٍ تحميل تعريفات الموردات المخصصة", + "Loading custom resource definition": "جارٍ تحميل تعريف المورد المخصص", + "No custom resources found": "لم يتم العثور على موارد مخصصة", + "Group": "المجموعة", + "Categories": "الفئات", + "Accepted Names": "الأسماء المقبولة", + "Versions": "الإصدارات", + "Spawning Job {{ newItemName }}…": "جارٍ إنشاء Job {{ newItemName }}…", + "Job {{ newItemName }} spawned": "تم إنشاء Job {{ newItemName }}", + "Failed to spawn Job {{ newItemName }}": "فشل إنشاء Job {{ newItemName }}", + "Spawn Job": "إنشاء Job", + "This will trigger a new Job based on the CronJob {{ name }}": "سيؤدي هذا إلى تشغيل Job جديد استنادًا إلى CronJob {{ name }}", + "Job Name": "اسم الـ Job", + "Spawn": "إنشاء", + "Suspending CronJob {{ newItemName }}…": "جارٍ تعليق CronJob {{ newItemName }}…", + "Resuming CronJob {{ newItemName }}…": "جارٍ استئناف CronJob {{ newItemName }}…", + "Cancelled suspending CronJob {{ newItemName }}.": "تم إلغاء تعليق CronJob {{ newItemName }}", + "Cancelled resuming CronJob {{ newItemName }}.": "تم إلغاء استئناف CronJob {{ newItemName }}", + "Suspended CronJob {{ newItemName }}.": "تم تعليق CronJob {{ newItemName }}", + "Resumed CronJob {{ newItemName }}.": "تم استئناف CronJob {{ newItemName }}", + "Failed to suspend CronJob {{ newItemName }}.": "فشل تعليق CronJob {{ newItemName }}", + "Failed to resume CronJob {{ newItemName }}.": "فشل استئناف CronJob {{ newItemName }}", + "Resume": "استئناف", + "Suspend": "تعليق", + "Operator": "المعامل", + "Effect": "التأثير", + "Desired//context:pods": "المطلوب", + "Init container": "", + "Ephemeral container": "", + "Restart count: {{ restartCount }}": "", + "Exit code: {{ exitCode }}": "", + "Signal: {{ signal }}": "", + "Finished: {{ date }}": "", + "{{ containerType }} {{ containerName }} is waiting: {{ reason }}": "", + "View logs": "", + "{{ containerType }} {{ containerName }} terminated: {{ reason }}": "", + "{{ containerType }} {{ containerName }} restarted {{ restartCount }} time": "", + "{{ containerType }} {{ containerName }} restarted {{ restartCount }} times": "", + "View current or previous logs": "", + "Previous logs may be available for restarted containers": "", + "Container: {{ container }}": "", + "Open logs": "", + "Pod scheduling is blocked: {{ reason }}": "", + "Pod scheduling event: {{ reason }}": "", + "Pod has node selector constraints": "", + "Pod has affinity or anti-affinity constraints": "", + "Pod depends on persistent volume claims": "", + "PVC: {{ name }}": "", + "Last seen: {{ age }} ({{ date }})": "", + "{{ eventCount }} times since {{ age }}": "", + "{{ eventCount }} times": "", + "Warning event: {{ reason }} ({{ eventCount }} times)": "", + "Warning event: {{ reason }}": "", + "Pod status: {{ status }}": "", + "Phase: {{ phase }}": "", + "Ready containers: {{ ready }}/{{ total }}": "", + "Total restarts: {{ restarts }}": "", + "Condition {{ type }} is {{ status }}": "", + "Reason: {{ reason }}": "", + "{{ kind }} has unavailable replicas": "", + "Desired: {{ replicas }}": "", + "Available: {{ replicas }}": "", + "Ready: {{ replicas }}": "", + "Unavailable: {{ replicas }}": "", + "{{ kind }} condition {{ type }} is {{ status }}": "", + "{{ podCount }} pod is unschedulable": "", + "{{ podCount }} pods are unschedulable": "", + "{{ podCount }} pod is failing with {{ reason }}": "", + "{{ podCount }} pods are failing with {{ reason }}": "", + "Unhealthy owned pods: {{ unhealthy }}/{{ total }}": "", + "No active diagnostics found for this resource.": "", + "Diagnostics": "", + "Unable to load owned pods for diagnostics": "", + "Loading diagnostics": "", + "Addresses": "العناوين", + "Address Type": "نوع العنوان", + "Hostname": "اسم المضيف", + "Node Name": "اسم العقدة", + "Zone": "المنطقة", + "Endpoints": "نقاط النهاية", + "Retry Budget": "ميزانية إعادة المحاولة", + "Not specified": "غير محدد", + "Min Retry Rate": "الحد الأدنى لمعدل إعادة المحاولة", + "Port": "المنفذ", + "Protocol": "البروتوكول", + "No addresses data to be shown.": "لا توجد بيانات عناوين للعرض", + "Listeners": "المستمعون", + "Matches": "المطابقات", + "BackendRefs": "مراجع الخلفية", + "Filters": "عوامل التصفية", + "Match Type": "نوع المطابقة", + "Service": "الخدمة", + "Method": "الطريقة", + "Headers": "الرؤوس", + "Filter Type": "نوع عامل التصفية", + "Weight": "الوزن", + "Path Type": "نوع المسار", + "Path": "المسار", + "Query Parameters": "معلمات الاستعلام", + "rules": "القواعد", + "ParentRefs": "المراجع الأصلية", + "No rules data to be shown.": "لا توجد بيانات قواعد للعرض", + "Section Name": "اسم القسم", + "Press<1>{formatShortcutKey(searchShortcutKey)}to search": "اضغط <1>{formatShortcutKey(searchShortcutKey)} للبحث", + "Search resources, pages, clusters by name": "ابحث عن الموارد والصفحات والكتل حسب الاسم", + "Current Namespace": "النطاق الحالي", + "Set namespace: {{namespace}}": "تعيين النطاق: {{namespace}}", + "Page": "الصفحة", + "Configure Keyboard Shortcuts": "تكوين اختصارات لوحة المفاتيح", + "Reference": "المرجع", + "Metrics": "المقاييس", + "(Current/Target)": "(الحالي/المستهدف)", + "MinReplicas": "الحد الأدنى للنسخ", + "MaxReplicas": "الحد الأقصى للنسخ", + "Deployment pods": "Pods النشر", + "{{ currentReplicas }} current / {{ desiredReplicas }} desired": "{{ currentReplicas }} الحالي / {{ desiredReplicas }} المطلوب", + "Targets": "الأهداف", + "more…": "المزيد…", + "Default": "افتراضي", + "Host": "المضيف", + "Parallelism": "", + "Backoff Limit": "", + "Completion Mode": "", + "Succeeded": "", + "Duration": "المدة", + "Active Deadline": "", + "TTL After Finished": "", + "Holder Identity": "هوية المالك", + "Lease Duration Seconds": "مدة التأجير بالثواني", + "Renew Time": "وقت التجديد", + "Holder": "المالك", + "Container Limits": "حدود الحاوية", + "Default Request": "الطلب الافتراضي", + "Max": "الحد الأقصى", + "Min": "الحد الأدنى", + "A namespace with this name already exists.": "يوجد نطاق بهذا الاسم بالفعل", + "Applying {{ newItemName }}…": "جارٍ تطبيق {{ newItemName }}…", + "Cancelled applying {{ newItemName }}.": "تم إلغاء تطبيق {{ newItemName }}", + "Namespaces must be under 64 characters.": "يجب أن يكون اسم النطاق أقل من 64 حرفًا", + "Create Namespace": "إنشاء نطاق", + "To": "إلى", + "used": "مستخدم", + "Scheduling Disabled": "تم تعطيل الجدولة", + "Scheduling Enabled": "تم تفعيل الجدولة", + "Taints": "الملوثات", + "Not ready yet!": "غير جاهز بعد", + "Internal IP": "عنوان IP الداخلي", + "None": "لا شيء", + "Software": "البرمجيات", + "Redirecting to main page…": "جارٍ إعادة التوجيه إلى الصفحة الرئيسية…", + "Metadata": "البيانات الوصفية", + "Spec": "المواصفات", + "Containers": "الحاويات", + "Node": "العقدة", + "Optional: schedule the pod on a specific node": "اختياري: جدولة الـ pod على عقدة محددة", + "Lines": "الأسطر", + "Prettify": "تنسيق", + "Show JSON values in plain text by removing escape characters.": "عرض قيم JSON كنص عادي بإزالة أحرف الهروب", + "Format": "التنسيق", + "Debug Pod": "تصحيح Pod", + "Debug: {{ itemName }}": "تصحيح: {{ itemName }}", + "No cluster selected": "لم يتم تحديد أي كتلة", + "Pod debug is disabled in settings": "تم تعطيل تصحيح الـ pod في الإعدادات", + "Attaching to existing debug container...": "جارٍ الاتصال بحاوية التصحيح الحالية...", + "Creating ephemeral debug container...": "جارٍ إنشاء حاوية تصحيح مؤقتة...", + "Failed to create debug container: {{message}}": "فشل إنشاء حاوية التصحيح: {{message}}", + "Attaching to debug container...": "جارٍ الاتصال بحاوية التصحيح...", + "Failed to connect…\r\n": "فشل الاتصال…\r\n", + "Press Ctrl+D or type \"exit\" to terminate the ephemeral container. If you don't, the container will stay running.": "اضغط Ctrl+D أو اكتب \"exit\" لإنهاء الحاوية المؤقتة وإلا ستبقى الحاوية قيد التشغيل", + "Max Unavailable": "الحد الأقصى غير المتاح", + "Min Available": "الحد الأدنى المتاح", + "Allowed disruptions": "الاضطرابات المسموح بها", + "Current//context:pods": "الحالي", + "Total": "الإجمالي", + "N/A": "غير متوفر", + "Allowed Disruptions": "الاضطرابات المسموح بها", + "Start": "بدء", + "Stop": "إيقاف", + "Error fetching port forwards": "خطأ أثناء جلب إعادة توجيه المنافذ", + "Loading port forwarding": "جارٍ تحميل إعادة توجيه المنافذ", + "Pod Port": "منفذ البود", + "Local Port": "المنفذ المحلي", + "Error starting port forward": "خطأ أثناء بدء إعادة توجيه المنفذ", + "Please enter a valid port number (1-65535).": "يرجى إدخال رقم منفذ صالح (1-65535)", + "Docker Desktop requires ports in range 30000-32000.": "يتطلب Docker Desktop منافذ ضمن النطاق 30000-32000", + "Leave empty to auto-assign from range 30000-32000.": "اتركه فارغًا للتعيين التلقائي من النطاق 30000-32000", + "Leave empty to auto-assign an available port.": "اتركه فارغًا لتعيين منفذ متاح تلقائيًا", + "Start Port Forward": "بدء إعادة توجيه المنفذ", + "Target": "الهدف", + "e.g. 30080": "مثال: 30080", + "e.g. 8080": "مثال: 8080", + "Global Default": "الافتراضي العام", + "Preemption Policy": "سياسة الاستباق", + "Create new project": "إنشاء مشروع جديد", + "To create a new project pick which clusters you want to include and then select existing or create a new namespace": "لإنشاء مشروع جديد اختر الكتل التي تريد تضمينها ثم اختر نطاقًا موجودًا أو أنشئ نطاقًا جديدًا", + "Project Name": "اسم المشروع", + "A project with this name already exists": "يوجد مشروع بهذا الاسم بالفعل", + "Enter a name for your new project.": "أدخل اسمًا لمشروعك الجديد", + "Clusters": "الكتل", + "Select one or more clusters for this project": "اختر كتلة واحدة أو أكثر لهذا المشروع", + "No available clusters": "لا توجد كتل متاحة", + "Type or select a namespace": "اكتب أو اختر نطاقًا", + "Select existing or type to create a new namespace": "اختر نطاقًا موجودًا أو اكتب لإنشاء نطاق جديد", + "No available namespaces - you can type a custom name": "لا توجد نطاقات متاحة - يمكنك كتابة اسم مخصص", + "Creating": "جارٍ الإنشاء", + "Create a Project": "إنشاء مشروع", + "Project is a collection of Kubernetes resources. You can use projects to organize your resources, for example, by environment, team, or application.": "المشروع هو مجموعة من موارد Kubernetes ويمكنك استخدام المشاريع لتنظيم مواردك حسب البيئة أو الفريق أو التطبيق", + "New Project": "مشروع جديد", + "Create a new project": "إنشاء مشروع جديد", + "New Project from YAML": "مشروع جديد من YAML", + "Deploy a new application from YAML": "نشر تطبيق جديد من YAML", + "URL is required": "عنوان URL مطلوب", + "Failed to load from URL: {{error}}": "فشل التحميل من عنوان URL: {{error}}", + "Error processing files: {{error}}": "خطأ أثناء معالجة الملفات: {{error}}", + "Name is required": "الاسم مطلوب", + "Cluster is required": "الكتلة مطلوبة", + "No resources have been uploaded": "لم يتم تحميل أي موارد", + "Create new Project from YAML": "إنشاء مشروع جديد من YAML", + "Project name": "اسم المشروع", + "Give your project a descriptive name": "أعطِ مشروعك اسمًا وصفيًا", + "Enter a name": "أدخل اسمًا", + "Select cluster for this project": "اختر الكتلة لهذا المشروع", + "Load resources": "تحميل الموارد", + "Upload files or load from URL": "تحميل الملفات أو التحميل من عنوان URL", + "Upload Files": "تحميل الملفات", + "Choose Files": "اختيار الملفات", + "Drag & drop YAML files here or click to choose files": "اسحب وأفلت ملفات YAML هنا أو انقر لاختيار الملفات", + "Supports .yaml and .yml files": "يدعم ملفات .yaml و .yml", + "YAML URL": "عنوان YAML", + "Enter URL to YAML file": "أدخل عنوان URL لملف YAML", + "Load YAML resources from a remote URL": "تحميل موارد YAML من عنوان URL بعيد", + "Loaded Resources ({{count}})_zero": "", + "Loaded Resources ({{count}})_one": "الموارد المحملة ({{count}})", + "Loaded Resources ({{count}})_two": "", + "Loaded Resources ({{count}})_few": "", + "Loaded Resources ({{count}})_many": "", + "Loaded Resources ({{count}})_other": "الموارد المحملة ({{count}})", + "Clear All": "مسح الكل", + "API Version": "إصدار API", + "Creating project": "جارٍ إنشاء المشروع", + "Creating following resources in this project:": "جارٍ إنشاء الموارد التالية في هذا المشروع:", + "Something went wrong": "حدث خطأ ما", + "Delete project": "حذف المشروع", + "Deleting project {{ projectName }}…": "جارٍ حذف المشروع {{ projectName }}…", + "Cancelled deletion of project {{ projectName }}.": "تم إلغاء حذف المشروع {{ projectName }}", + "Deleted project {{ projectName }}.": "تم حذف المشروع {{ projectName }}", + "Error deleting project {{ projectName }}.": "خطأ أثناء حذف المشروع {{ projectName }}", + "Delete Project": "حذف المشروع", + "Are you sure you want to delete project \"{{projectName}}\"?": "هل أنت متأكد من حذف المشروع \"{{projectName}}\"؟", + "By default, this will only remove the project label from the following namespaces:": "افتراضيًا سيؤدي هذا فقط إلى إزالة تسمية المشروع من النطاقات التالية:", + "Also delete the namespaces (this will remove all resources within them)": "احذف النطاقات أيضًا (سيؤدي ذلك إلى إزالة جميع الموارد داخلها)", + "Warning: This action cannot be undone. All resources in these namespaces will be permanently deleted.": "تحذير: لا يمكن التراجع عن هذا الإجراء وسيتم حذف جميع الموارد في هذه النطاقات نهائيًا", + "Delete Project & Namespaces": "حذف المشروع والنطاقات", + "Resources": "الموارد", + "Access": "الوصول", + "Map": "الخريطة", + "Project Status": "حالة المشروع", + "No Workloads": "لا توجد أحمال عمل", + "Unhealthy": "غير سليم", + "Degraded": "متدهور", + "Healthy": "سليم", + "Warning": "تحذير", + "Resource Quotas": "حصص الموارد", + "Create Resource Quota to limit resource consumption within this project": "أنشئ حصة موارد لتقييد استهلاك الموارد داخل هذا المشروع", + "Create resource quota": "إنشاء حصة موارد", + "Roles": "الأدوار", + "Role Bindings": "ارتباطات الأدوار", + "Health": "الصحة", + "No Resources": "لا توجد موارد", + "Namespaces": "النطاقات", + "No projects found": "لم يتم العثور على مشاريع", + "Create your first project to organize your Kubernetes resources": "أنشئ مشروعك الأول لتنظيم موارد Kubernetes الخاصة بك", + "Create Project": "إنشاء مشروع", + "Details": "التفاصيل", + "Show Logs": "عرض السجلات", + "Logs: {{ itemName }}": "السجلات: {{ itemName }}", + "Terminal / Exec": "الطرفية / التنفيذ", + "No {{category}} resources found for this project.": "لم يتم العثور على موارد {{category}} لهذا المشروع", + "Current//context:replicas": "الحالي", + "Desired//context:replicas": "المطلوب", + "Zoom in": "تكبير", + "Zoom out": "تصغير", + "No data to be shown. Try to change filters or select a different namespace.": "لا توجد بيانات للعرض حاول تغيير عوامل التصفية أو اختيار نطاق مختلف", + "Group By": "تجميع حسب", + "Instance": "المثيل", + "Status: Error or Warning": "الحالة: خطأ أو تحذير", + "Expand All": "توسيع الكل", + "Fit to screen": "ملاءمة للشاشة", + "Zoom to 100%": "تكبير إلى 100٪", + "Home": "الرئيسية", + "Used": "المستخدم", + "Hard": "الحد الثابت", + "Request": "الطلب", + "Limit": "الحد", + "Users": "المستخدمون", + "Handler": "المعالج", + "No data in this secret": "لا توجد بيانات في هذا السر", + "Hide Helm Secrets": "إخفاء أسرار Helm", + "Shrink sidebar": "تصغير الشريط الجانبي", + "Expand sidebar": "توسيع الشريط الجانبي", + "Main Navigation": "التنقل الرئيسي", + "Navigation Tabs": "علامات تبويب التنقل", + "Instances": "المثيلات", + "Cluster version upgraded to {{ gitVersion }}": "تمت ترقية إصدار الكتلة إلى {{ gitVersion }}", + "Cluster version downgraded to {{ gitVersion }}": "تم تخفيض إصدار الكتلة إلى {{ gitVersion }}", + "Controlled Resources": "الموارد المتحكم بها", + "Controlled Values": "القيم المتحكم بها", + "Min Allowed": "الحد الأدنى المسموح", + "Max Allowed": "الحد الأقصى المسموح", + "Mode": "الوضع", + "Last Transition Time": "وقت آخر انتقال", + "Recommendations": "التوصيات", + "Provided": "الموفر", + "Admission Review Versions": "إصدارات مراجعة القبول", + "Client Config: URL": "إعداد العميل: URL", + "Client Config: Service": "إعداد العميل: الخدمة", + "Service: {{namespace}}/{{name}}": "الخدمة: {{namespace}}/{{name}}", + "Path: {{ path }}:{{ port }}": "المسار: {{ path }}:{{ port }}", + "Operations": "العمليات", + "0 Running": "0 قيد التشغيل", + "Ready//context:replicas": "جاهز", + "Up to date//context:replicas": "محدّث", + "Available//context:replicas": "متاح", + "Failed": "فشل", + "Select locale": "اختر اللغة", + "": "<غير معروف>", + "\"{{metricName}}\" on {{objectKind}}/{{objectName}} {{metricTarget}}": "\"{{metricName}}\" على {{objectKind}}/{{objectName}} {{metricTarget}}", + "\"{{metricName}}\" on pods": "\"{{metricName}}\" على البودات", + "resource {{resourceName}} on pods": "المورد {{resourceName}} على البودات", + "resource {{resourceName}} of container {{containerName}} on pods": "المورد {{resourceName}} للحاوية {{containerName}} على البودات", + "Warning. Incompatible plugins disabled: ({{ pluginList }})": "تحذير تم تعطيل الإضافات غير المتوافقة: ({{ pluginList }})", + "Global Search": "البحث العام", + "Open the global search dialog": "فتح نافذة البحث العام", + "Cluster Chooser": "محدد الكتلة", + "Open the cluster chooser popup": "فتح نافذة اختيار الكتلة", + "Toggle Table Filters": "تبديل عوامل تصفية الجدول", + "Toggle column filters in tables": "تبديل عوامل تصفية الأعمدة في الجداول", + "Log Viewer Search": "بحث عارض السجلات", + "Toggle search in log viewer": "تبديل البحث في عارض السجلات" +} diff --git a/frontend/src/i18n/locales/de/glossary.json b/frontend/src/i18n/locales/de/glossary.json index ae86328e4d7..65fb55fb591 100644 --- a/frontend/src/i18n/locales/de/glossary.json +++ b/frontend/src/i18n/locales/de/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pods", "Nodes": "Nodes", "Events": "Ereignisse", + "Node": "Node", "Namespaces": "Namespaces", "Filter": "", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "Ereignisprotokolle: {{ itemName }}", "Seconds": "Sekunden", "State": "Zustand", - "Node": "Node", "Service Account": "Servicekonto", "Host IP": "Host-IP", "Host IPs": "", diff --git a/frontend/src/i18n/locales/en/glossary.json b/frontend/src/i18n/locales/en/glossary.json index 67edc37fca1..18ab36c7c20 100644 --- a/frontend/src/i18n/locales/en/glossary.json +++ b/frontend/src/i18n/locales/en/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pods", "Nodes": "Nodes", "Events": "Events", + "Node": "Node", "Namespaces": "Namespaces", "Filter": "Filter", "a8r.io Metadata": "a8r.io Metadata", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "Logs: {{ itemName }}", "Seconds": "Seconds", "State": "State", - "Node": "Node", "Service Account": "Service Account", "Host IP": "Host IP", "Host IPs": "Host IPs", diff --git a/frontend/src/i18n/locales/es/glossary.json b/frontend/src/i18n/locales/es/glossary.json index 5d1745ee85d..7ee447e40b2 100644 --- a/frontend/src/i18n/locales/es/glossary.json +++ b/frontend/src/i18n/locales/es/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pods", "Nodes": "Nodos", "Events": "Eventos", + "Node": "Nodo", "Namespaces": "Espacios de nombre", "Filter": "", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "Registros: {{ itemName }}", "Seconds": "Segundos", "State": "Estado", - "Node": "Nodo", "Service Account": "Cuenta de Servicio", "Host IP": "IP del Host", "Host IPs": "", diff --git a/frontend/src/i18n/locales/fr/glossary.json b/frontend/src/i18n/locales/fr/glossary.json index 44f482a33b3..8dab180c2df 100644 --- a/frontend/src/i18n/locales/fr/glossary.json +++ b/frontend/src/i18n/locales/fr/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pods", "Nodes": "Nœuds", "Events": "Événements", + "Node": "Nœud", "Namespaces": "Espaces de noms", "Filter": "Filtre", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "Journaux : {{ itemName }}", "Seconds": "Secondes", "State": "État", - "Node": "Nœud", "Service Account": "Service Account", "Host IP": "IP de l'hôte", "Host IPs": "IPs de l'hôte", diff --git a/frontend/src/i18n/locales/he/app.json b/frontend/src/i18n/locales/he/app.json new file mode 100644 index 00000000000..c57e569bd29 --- /dev/null +++ b/frontend/src/i18n/locales/he/app.json @@ -0,0 +1,57 @@ +{ + "Failed to fetch plugin info": "Failed to fetch plugin info", + "An error occurred while fetching plugin info from {{ URL }}.": "An error occurred while fetching plugin info from {{ URL }}.", + "Yes": "Yes", + "No": "No", + "Plugin Installation": "Plugin Installation", + "Do you want to install the plugin \"{{ pluginName }}\"?": "Do you want to install the plugin \"{{ pluginName }}\"?", + "You are about to install a plugin from: {{ url }}\nDo you want to proceed?": "You are about to install a plugin from: {{ url }}\nDo you want to proceed?", + "About": "About", + "Quit": "Quit", + "Select All": "Select All", + "Delete": "Delete", + "Services": "Services", + "Hide": "Hide", + "Hide Others": "Hide Others", + "Show All": "Show All", + "File": "File", + "Close": "Close", + "Edit": "Edit", + "Cut": "Cut", + "Copy": "Copy", + "Paste": "Paste", + "Paste and Match Style": "Paste and Match Style", + "Speech": "Speech", + "Start Speaking": "Start Speaking", + "Stop Speaking": "Stop Speaking", + "View": "View", + "Toggle Developer Tools": "Toggle Developer Tools", + "Reset Zoom": "Reset Zoom", + "Zoom In": "Zoom In", + "Zoom Out": "Zoom Out", + "Toggle Fullscreen": "Toggle Fullscreen", + "Navigate": "Navigate", + "Reload": "Reload", + "Go to Home": "Go to Home", + "Go Back": "Go Back", + "Go Forward": "Go Forward", + "Window": "Window", + "Minimize": "Minimize", + "Bring All to Front": "Bring All to Front", + "Help": "Help", + "Documentation": "Documentation", + "Open an Issue": "Open an Issue", + "Another process is running": "Another process is running", + "Looks like another process is already running. Continue by terminating that process automatically, or quit?": "Looks like another process is already running. Continue by terminating that process automatically, or quit?", + "Continue": "Continue", + "Failed to quit the other running process": "Failed to quit the other running process", + "Could not quit the other running process, PIDs: {{ process_list }}. Please stop that process and relaunch the app.": "Could not quit the other running process, PIDs: {{ process_list }}. Please stop that process and relaunch the app.", + "No available ports": "No available ports", + "Could not find an available port. There are processes running on ports {{startPort}}-{{endPort}}. Terminate these processes and retry?": "Could not find an available port. There are processes running on ports {{startPort}}-{{endPort}}. Terminate these processes and retry?", + "Terminate and Retry": "Terminate and Retry", + "Failed to start": "Failed to start", + "Could not start the server even after terminating existing processes.": "Could not start the server even after terminating existing processes.", + "Could not find an available port in the range {{startPort}}-{{endPort}}. Please free up a port and try again.": "Could not find an available port in the range {{startPort}}-{{endPort}}. Please free up a port and try again.", + "Invalid URL": "Invalid URL", + "Application opened with an invalid URL: {{ url }}": "Application opened with an invalid URL: {{ url }}" +} diff --git a/frontend/src/i18n/locales/he/glossary.json b/frontend/src/i18n/locales/he/glossary.json new file mode 100644 index 00000000000..18ab36c7c20 --- /dev/null +++ b/frontend/src/i18n/locales/he/glossary.json @@ -0,0 +1,278 @@ +{ + "Kubernetes Version": "Kubernetes Version", + "Cluster": "Cluster", + "Cluster selector": "Cluster selector", + "Namespace": "Namespace", + "Git Commit": "Git Commit", + "Memory": "Memory", + "CPU": "CPU", + "Pods": "Pods", + "Nodes": "Nodes", + "Events": "Events", + "Node": "Node", + "Namespaces": "Namespaces", + "Filter": "Filter", + "a8r.io Metadata": "a8r.io Metadata", + "toggle field visibility": "toggle field visibility", + "Condition": "Condition", + "Last Transition": "Last Transition", + "Last Update": "Last Update", + "Container ID": "Container ID", + "Image Pull Policy": "Image Pull Policy", + "Image": "Image", + "Args": "Args", + "Command": "Command", + "Environment": "Environment", + "Liveness Probes": "Liveness Probes", + "Ports": "Ports", + "Volume Mounts": "Volume Mounts", + "Containers": "Containers", + "Container Spec": "Container Spec", + "Ephemeral Containers": "Ephemeral Containers", + "Owner": "Owner", + "Container": "Container", + "Config Maps": "Config Maps", + "Definition": "Definition", + "CRD: {{ crdName }}": "CRD: {{ crdName }}", + "Scope": "Scope", + "Subresources": "Subresources", + "Resource": "Resource", + "Plural": "Plural", + "Singular": "Singular", + "Kind": "Kind", + "List Kind": "List Kind", + "Served": "Served", + "Storage": "Storage", + "Objects": "Objects", + "Custom Resources": "Custom Resources", + "Schedule": "Schedule", + "Starting deadline": "Starting deadline", + "Last Schedule": "Last Schedule", + "Cron Jobs": "Cron Jobs", + "Images": "Images", + "Tolerations": "Tolerations", + "Update Strategy": "Update Strategy", + "Selector": "Selector", + "Node Selector": "Node Selector", + "Daemon Sets": "Daemon Sets", + "Deployments": "Deployments", + "Replicas": "Replicas", + "Endpoint: {{ name }}": "Endpoint: {{ name }}", + "Subsets": "Subsets", + "IP": "IP", + "Hostname": "Hostname", + "Target": "Target", + "Port": "Port", + "Protocol": "Protocol", + "Endpoints": "Endpoints", + "Addresses": "Addresses", + "Conditions": "Conditions", + "Ready": "Ready", + "Serving": "Serving", + "Terminating": "Terminating", + "Endpoint Slices": "Endpoint Slices", + "Targets": "Targets", + "No targets defined": "No targets defined", + "TLS Validation": "TLS Validation", + "No validation settings": "No validation settings", + "Backend TLS Policies": "Backend TLS Policies", + "Retry Constraint": "Retry Constraint", + "No retry constraint configured": "No retry constraint configured", + "Session Persistence": "Session Persistence", + "No session persistence configured": "No session persistence configured", + "Backend Traffic Policies": "Backend Traffic Policies", + "Controller Name": "Controller Name", + "Gateway Classes": "Gateway Classes", + "Controller": "Controller", + "Class Name": "Class Name", + "Listeners": "Listeners", + "No data": "No data", + "Gateways": "Gateways", + "Hostnames": "Hostnames", + "Rules": "Rules", + "GRPCRoutes": "GRPCRoutes", + "HttpRoutes": "HttpRoutes", + "From": "From", + "To": "To", + "Reference Grants": "Reference Grants", + "Horizontal Pod Autoscalers": "Horizontal Pod Autoscalers", + "Ingress Classes": "Ingress Classes", + "Default": "Default", + "Yes": "Yes", + "Parameters": "Parameters", + "Default Backend": "Default Backend", + "Backends": "Backends", + "Ingresses": "Ingresses", + "Hosts": "Hosts", + "Completions": "Completions", + "Failed": "Failed", + "Jobs": "Jobs", + "Job Sets": "Job Sets", + "Lease": "Lease", + "LimitRange": "LimitRange", + "Ingress": "Ingress", + "ipBlock": "ipBlock", + "namespaceSelector": "namespaceSelector", + "podSelector": "podSelector", + "Egress": "Egress", + "except: {{ cidrExceptions }}": "except: {{ cidrExceptions }}", + "Pod Selector": "Pod Selector", + "Network Policies": "Network Policies", + "Uncordoning node {{name}}…": "Uncordoning node {{name}}…", + "Cordoning node {{name}}…": "Cordoning node {{name}}…", + "Uncordoned node {{name}}.": "Uncordoned node {{name}}.", + "Cordoned node {{name}}.": "Cordoned node {{name}}.", + "Failed to uncordon node {{name}}.": "Failed to uncordon node {{name}}.", + "Failed to cordon node {{name}}.": "Failed to cordon node {{name}}.", + "Uncordon node {{name}} cancelled.": "Uncordon node {{name}} cancelled.", + "Cordon node {{name}} cancelled.": "Cordon node {{name}} cancelled.", + "Draining node {{name}}…": "Draining node {{name}}…", + "Drained node {{name}}.": "Drained node {{name}}.", + "Failed to drain node {{name}}.": "Failed to drain node {{name}}.", + "Draining node {{name}} cancelled.": "Draining node {{name}} cancelled.", + "Drain Node": "Drain Node", + "Are you sure you want to drain the node {{name}}?": "Are you sure you want to drain the node {{name}}?", + "Uncordon": "Uncordon", + "Cordon": "Cordon", + "Drain": "Drain", + "Pod CIDR": "Pod CIDR", + "Uptime": "Uptime", + "Resource Allocation": "Resource Allocation", + "Total limits may be over 100 percent, i.e., overcommitted.": "Total limits may be over 100 percent, i.e., overcommitted.", + "CPU Requests": "CPU Requests", + "CPU Limits": "CPU Limits", + "Memory Requests": "Memory Requests", + "Memory Limits": "Memory Limits", + "System Info": "System Info", + "Architecture": "Architecture", + "Boot ID": "Boot ID", + "System UUID": "System UUID", + "OS": "OS", + "Kernel Version": "Kernel Version", + "Machine ID": "Machine ID", + "Kube Proxy Version": "Kube Proxy Version", + "Kubelet Version": "Kubelet Version", + "Container Runtime Version": "Container Runtime Version", + "Roles": "Roles", + "External IP": "External IP", + "OS image": "OS image", + "Kernel version": "Kernel version", + "Container Runtime": "Container Runtime", + "Debug Node": "Debug Node", + "Debug node is not supported in this OS: {{ nodeOS }}": "Debug node is not supported in this OS: {{ nodeOS }}", + "Shell: {{ itemName }}": "Shell: {{ itemName }}", + "Logs: {{ itemName }}": "Logs: {{ itemName }}", + "Seconds": "Seconds", + "State": "State", + "Service Account": "Service Account", + "Host IP": "Host IP", + "Host IPs": "Host IPs", + "Pod IP": "Pod IP", + "Pod IPs": "Pod IPs", + "QoS Class": "QoS Class", + "Priority": "Priority", + "Show Logs": "Show Logs", + "Terminal / Exec": "Terminal / Exec", + "Attach": "Attach", + "Restarts": "Restarts", + "{{ restarts }} ({{ abbrevTime }} ago)": "{{ restarts }} ({{ abbrevTime }} ago)", + "Request": "Request", + "Limit": "Limit", + "Nominated Node": "Nominated Node", + "Readiness Gates": "Readiness Gates", + "Pod Disruption Budget": "Pod Disruption Budget", + "Port Forwarding": "Port Forwarding", + "PriorityClass": "PriorityClass", + "Replica Sets": "Replica Sets", + "Generation": "Generation", + "Current": "Current", + "Desired": "Desired", + "Min": "Min", + "Max": "Max", + "Cluster IP": "Cluster IP", + "Resource Quotas": "Resource Quotas", + "Reference Kind": "Reference Kind", + "Reference Name": "Reference Name", + "Ref. API Group": "Ref. API Group", + "Binding Info": "Binding Info", + "Role Bindings": "Role Bindings", + "Role": "Role", + "Groups": "Groups", + "Service Accounts": "Service Accounts", + "API Groups": "API Groups", + "Resources": "Resources", + "Non Resources": "Non Resources", + "Verbs": "Verbs", + "RuntimeClass": "RuntimeClass", + "Secrets": "Secrets", + "Services": "Services", + "Map": "Map", + "Workloads": "Workloads", + "Stateful Sets": "Stateful Sets", + "CronJobs": "CronJobs", + "Persistent Volume Claims": "Persistent Volume Claims", + "Persistent Volumes": "Persistent Volumes", + "Storage Classes": "Storage Classes", + "Volume Attributes Classes": "Volume Attributes Classes", + "Network": "Network", + "Gateway (beta)": "Gateway (beta)", + "HTTP Routes": "HTTP Routes", + "GRPC Routes": "GRPC Routes", + "BackendTLSPolicies": "BackendTLSPolicies", + "BackendTrafficPolicies": "BackendTrafficPolicies", + "Security": "Security", + "Configuration": "Configuration", + "HPAs": "HPAs", + "VPAs": "VPAs", + "Pod Disruption Budgets": "Pod Disruption Budgets", + "Limit Ranges": "Limit Ranges", + "Priority Classes": "Priority Classes", + "Runtime Classes": "Runtime Classes", + "Leases": "Leases", + "Mutating Webhook Configurations": "Mutating Webhook Configurations", + "Validating Webhook Configurations": "Validating Webhook Configurations", + "Git Version": "Git Version", + "Git Tree State": "Git Tree State", + "Go Version": "Go Version", + "Platform": "Platform", + "Capacity": "Capacity", + "Access Modes": "Access Modes", + "Volume Mode": "Volume Mode", + "Storage Class": "Storage Class", + "Volume": "Volume", + "Reclaim Policy": "Reclaim Policy", + "Binding Mode": "Binding Mode", + "Provisioner": "Provisioner", + "Volume Binding Mode": "Volume Binding Mode", + "Allow Volume Expansion": "Allow Volume Expansion", + "Pending": "Pending", + "Available": "Available", + "Bound": "Bound", + "Released": "Released", + "Lost": "Lost", + "Driver Name": "Driver Name", + "This resource is only effective for compatible CSI drivers that support mutable volume attributes.": "This resource is only effective for compatible CSI drivers that support mutable volume attributes.", + "Claim": "Claim", + "Update Policy": "Update Policy", + "Update Mode": "Update Mode", + "Container Policy": "Container Policy", + "Lower Bound": "Lower Bound", + "Upper Bound": "Upper Bound", + "Uncapped Target": "Uncapped Target", + "Vertical Pod Autoscalers": "Vertical Pod Autoscalers", + "Checking if Vertical Pod Autoscaler is enabled…": "Checking if Vertical Pod Autoscaler is enabled…", + "Vertical Pod Autoscaler is not enabled. <1>Learn More": "Vertical Pod Autoscaler is not enabled. <1>Learn More", + "API Version": "API Version", + "Webhooks": "Webhooks", + "Client Config: Ca Bundle": "Client Config: Ca Bundle", + "Failure Policy": "Failure Policy", + "Match Policy": "Match Policy", + "Side Effects": "Side Effects", + "Timeout Seconds": "Timeout Seconds", + "Namespace Selector": "Namespace Selector", + "Object Selector": "Object Selector", + "Reinvocation Policy": "Reinvocation Policy", + "API Versions": "API Versions", + "RollingUpdate. Max unavailable: {{ maxUnavailable }}, max surge: {{ maxSurge }}": "RollingUpdate. Max unavailable: {{ maxUnavailable }}, max surge: {{ maxSurge }}", + "Strategy Type": "Strategy Type" +} diff --git a/frontend/src/i18n/locales/he/translation.json b/frontend/src/i18n/locales/he/translation.json new file mode 100644 index 00000000000..7d0b7708fda --- /dev/null +++ b/frontend/src/i18n/locales/he/translation.json @@ -0,0 +1,868 @@ +{ + "Whoops! This page doesn't exist": "Whoops! This page doesn't exist", + "Authentication: {{ clusterName }}": "Authentication: {{ clusterName }}", + "Authentication": "Authentication", + "Please paste your authentication token.": "Please paste your authentication token.", + "ID token": "ID token", + "Check out how to generate a<1>service account token.": "Check out how to generate a<1>service account token.", + "Cluster settings": "Cluster settings", + "Cancel": "Cancel", + "Authenticate": "Authenticate", + "Error authenticating": "Error authenticating", + "Window": "Window", + "Fullscreen": "Fullscreen", + "Snap Left": "Snap Left", + "Snap Right": "Snap Right", + "Snap Top": "Snap Top", + "Snap Bottom": "Snap Bottom", + "Minimize": "Minimize", + "Close": "Close", + "Close All": "Close All", + "Overview": "Overview", + "Loading": "Loading", + "Advanced Search (Beta)": "Advanced Search (Beta)", + "Select Resources": "Select Resources", + "Search": "Search", + "Search Resources": "Search Resources", + "Select All": "Select All", + "Clear Selection": "Clear Selection", + "All Resources": "All Resources", + "Examples": "Examples", + "Search resources by query": "Search resources by query", + "Clear": "Clear", + "No resources selected": "No resources selected", + "Loaded {{0}} items": "Loaded {{0}} items", + "Some resources failed to load": "Some resources failed to load", + "Found {{0}} results. Showing first {{1}}": "Found {{0}} results. Showing first {{1}}", + "Name": "Name", + "Cluster": "Cluster", + "Actions": "Actions", + "Max items per Resource": "Max items per Resource", + "If a resource has more items than this amount they will be excluded from Search. Helps reduce memory usage and slowdowns for large clusters.": "If a resource has more items than this amount they will be excluded from Search. Helps reduce memory usage and slowdowns for large clusters.", + "Refetch Interval": "Refetch Interval", + "30 seconds": "30 seconds", + "1 minute": "1 minute", + "5 minutes": "5 minutes", + "Save": "Save", + "Add": "Add", + "Add Cluster": "Add Cluster", + "Proceed to select your preferred method for cluster creation and addition": "Proceed to select your preferred method for cluster creation and addition", + "Load from KubeConfig": "Load from KubeConfig", + "Providers": "Providers", + "Add Local Cluster Provider": "Add Local Cluster Provider", + "Failed to delete cluster: {{ error }}": "Failed to delete cluster: {{ error }}", + "This action will delete cluster \"{{ clusterName }}\" from \"{{ source }}\"": "This action will delete cluster \"{{ clusterName }}\" from \"{{ source }}\"", + "This action will remove cluster \"{{ clusterName }}\".": "This action will remove cluster \"{{ clusterName }}\".", + "This action cannot be undone! Do you want to proceed?": "This action cannot be undone! Do you want to proceed?", + "Remove this cluster?": "Remove this cluster?", + "View": "View", + "Settings": "Settings", + "Delete": "Delete", + "Delete Cluster": "Delete Cluster", + "Active": "Active", + "Authentication required": "", + "Insufficient permissions": "", + "Unavailable": "", + "Plugin": "Plugin", + "In-cluster": "In-cluster", + "View Clusters": "View Clusters", + "Loading...": "Loading...", + "No clusters found": "No clusters found", + "Add a cluster to get started.": "Add a cluster to get started.", + "Origin": "Origin", + "Status": "Status", + "Warnings": "Warnings", + "All Clusters": "All Clusters", + "Projects": "Projects", + "Selected clusters": "Selected clusters", + "Load cluster": "Load cluster", + "Something went wrong with cluster {{ cluster }}": "Something went wrong with cluster {{ cluster }}", + "Choose another cluster": "Choose another cluster", + "Failed to connect to the backend": "Failed to connect to the backend", + "Connecting to backend...": "Connecting to backend...", + "Skip to main content": "Skip to main content", + "Menu": "Menu", + "Mark all as read": "Mark all as read", + "Clear all": "Clear all", + "Notifications": "Notifications", + "You don't have any notifications right now": "You don't have any notifications right now", + "Message": "Message", + "No message": "No message", + "Date": "Date", + "Visible": "Visible", + "Mark as read": "Mark as read", + "Show notifications": "Show notifications", + "You have unread notifications": "You have unread notifications", + "View all notifications": "View all notifications", + "Unknown": "Unknown", + "Are you sure you want to delete this plugin?": "Are you sure you want to delete this plugin?", + "Plugins": "Plugins", + "Multiple versions": "Multiple versions", + "Description": "Description", + "Type": "Type", + "Development": "Development", + "User-installed": "User-installed", + "Shipped": "Shipped", + "This plugin is not compatible with this version of Headlamp": "This plugin is not compatible with this version of Headlamp", + "Incompatible": "Incompatible", + "Overridden by {{type}} version": "Overridden by {{type}} version", + "Not Loaded": "Not Loaded", + "Disabled": "Disabled", + "Loaded": "Loaded", + "Enable": "Enable", + "Delete Plugin": "Delete Plugin", + "Save & Apply": "Save & Apply", + "Open Plugin Folder": "Open Plugin Folder", + "By": "By", + "This plugin is not currently loaded because a \"{{type}}\" version is being used instead.": "This plugin is not currently loaded because a \"{{type}}\" version is being used instead.", + "Deleting plugin {{ itemName }}...": "Deleting plugin {{ itemName }}...", + "Cancelled deletion of {{ itemName }}.": "Cancelled deletion of {{ itemName }}.", + "Deleted plugin {{ itemName }}.": "Deleted plugin {{ itemName }}.", + "Error deleting plugin {{ itemName }}.": "Error deleting plugin {{ itemName }}.", + "Uh-oh! Something went wrong.": "Uh-oh! Something went wrong.", + "Error loading {{ routeName }}": "Error loading {{ routeName }}", + "Cluster name must contain only lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.": "Cluster name must contain only lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.", + "Error": "Error", + "Okay": "Okay", + "Original name: {{ displayName }}": "Original name: {{ displayName }}", + "This custom name is already in use, please choose a different name.": "This custom name is already in use, please choose a different name.", + "The current name of the cluster. You can define a custom name": "The current name of the cluster. You can define a custom name", + "Change name": "Change name", + "Are you sure you want to change the name for \"{{ clusterName }}\"?": "Are you sure you want to change the name for \"{{ clusterName }}\"?", + "Apply": "Apply", + "Accent color format is invalid. Use hex (#ff0000), rgb(), or rgba().": "Accent color format is invalid. Use hex (#ff0000), rgb(), or rgba().", + "Choose Accent Color": "Choose Accent Color", + "Use custom color": "Use custom color", + "Custom color": "Custom color", + "Hex, rgb(), or rgba()": "Hex, rgb(), or rgba()", + "Full page": "Full page", + "Choose Cluster Icon": "Choose Cluster Icon", + "Use custom icon": "Use custom icon", + "Custom icon (Iconify)": "Custom icon (Iconify)", + "Example: mdi:kubernetes, mdi:cloud-outline": "Example: mdi:kubernetes, mdi:cloud-outline", + "Namespaces must contain only lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.": "Namespaces must contain only lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.", + "Node Shell Settings": "Node Shell Settings", + "The default image is used for dropping a shell into a node (when not specified directly).": "The default image is used for dropping a shell into a node (when not specified directly).", + "Linux image": "Linux image", + "The default namespace is default.": "The default namespace is default.", + "Namespace": "Namespace", + "Enter a value between {{ minRows }} and {{ maxRows }}.": "Enter a value between {{ minRows }} and {{ maxRows }}.", + "Custom row value": "Custom row value", + "Custom value": "Custom value", + "Pod Debug Settings": "Pod Debug Settings", + "Ephemeral debug containers cannot be removed via Kubernetes API. They will remain in the pod specification even after the terminal closes. To remove them, the pod must be recreated.": "Ephemeral debug containers cannot be removed via Kubernetes API. They will remain in the pod specification even after the terminal closes. To remove them, the pod must be recreated.", + "The default image is used for creating ephemeral debug containers.": "The default image is used for creating ephemeral debug containers.", + "General Settings": "General Settings", + "Version": "Version", + "Language": "Language", + "Resource details view": "Resource details view", + "Number of rows for tables": "Number of rows for tables", + "Timezone to display for dates": "Timezone to display for dates", + "Sort sidebar items alphabetically": "Sort sidebar items alphabetically", + "Use evict for pod deletion": "Use evict for pod deletion", + "Theme": "Theme", + "Theme has been forced by your administrator": "", + "Keyboard Shortcuts": "Keyboard Shortcuts", + "Configure keyboard shortcuts for quick access to various parts of the application.": "Configure keyboard shortcuts for quick access to various parts of the application.", + "Cluster Settings": "Cluster Settings", + "There seem to be no clusters configured…": "There seem to be no clusters configured…", + "Cluster {{ clusterName }} does not exist. Please select a valid cluster:": "Cluster {{ clusterName }} does not exist. Please select a valid cluster:", + "Go to cluster": "Go to cluster", + "Appearance": "Appearance", + "Stored in your browser's localStorage (per-browser setting).": "Stored in your browser's localStorage (per-browser setting).", + "Accent color": "Accent color", + "Change Color": "Change Color", + "Choose Color": "Choose Color", + "Clear accent color": "Clear accent color", + "Cluster icon": "Cluster icon", + "Change Icon": "Change Icon", + "Choose Icon": "Choose Icon", + "Clear cluster icon": "Clear cluster icon", + "Accent color format is invalid. Use hex (#ff0000), rgb(), rgba(), or a CSS color name.": "Accent color format is invalid. Use hex (#ff0000), rgb(), rgba(), or a CSS color name.", + "Apply appearance": "Apply appearance", + "Apply appearance changes for \"{{ clusterName }}\"? This will be stored in your browser.": "Apply appearance changes for \"{{ clusterName }}\"? This will be stored in your browser.", + "Applying...": "Applying...", + "Default namespace": "Default namespace", + "The default namespace for e.g. when applying resources (when not specified directly).": "The default namespace for e.g. when applying resources (when not specified directly).", + "Allowed namespaces": "Allowed namespaces", + "The list of namespaces you are allowed to access in this cluster.": "The list of namespaces you are allowed to access in this cluster.", + "Add namespace": "Add namespace", + "Remove Cluster": "Remove Cluster", + "Are you sure you want to remove the cluster \"{{ clusterName }}\"?": "Are you sure you want to remove the cluster \"{{ clusterName }}\"?", + "Server": "Server", + "Press keys...": "Press keys...", + "Conflicts with: {{name}}": "Conflicts with: {{name}}", + "Reset to default": "Reset to default", + "Navigation": "Navigation", + "General": "General", + "Reset All to Defaults": "Reset All to Defaults", + "Log out from all": "Log out from all", + "Log out": "Log out", + "Account of current user": "Account of current user", + "Appbar Tools": "Appbar Tools", + "show more": "show more", + "Version information": "Version information", + "Getting auth info: {{ clusterName }}": "Getting auth info: {{ clusterName }}", + "Getting auth info": "Getting auth info", + "Testing auth": "Testing auth", + "Headlamp Cluster Authentication": "Headlamp Cluster Authentication", + "Sign In": "Sign In", + "Use A Token": "Use A Token", + "Failed to connect. Please make sure the Kubernetes cluster is running and accessible. Error: {{ errorMessage }}": "Failed to connect. Please make sure the Kubernetes cluster is running and accessible. Error: {{ errorMessage }}", + "Failed to get authentication information: {{ errorMessage }}": "Failed to get authentication information: {{ errorMessage }}", + "Try Again": "Try Again", + "Back": "Back", + "Memory Usage": "Memory Usage", + "{{ available }} units": "{{ available }} units", + "CPU Usage": "CPU Usage", + "{{ used }} / {{ total }} Pods": "{{ used }} / {{ total }} Pods", + "Pod Usage": "Pod Usage", + "Ephemeral Storage Usage": "Ephemeral Storage Usage", + "Unable to fetch ephemeral storage usage from kubelet.": "Unable to fetch ephemeral storage usage from kubelet.", + "{{ numReady }} / {{ numItems }} Requested": "{{ numReady }} / {{ numItems }} Requested", + "{{ numReady }} / {{ numItems }} Ready": "{{ numReady }} / {{ numItems }} Ready", + "Recent clusters": "Recent clusters", + "All clusters": "All clusters", + "Show build information": "Show build information", + "Choose a cluster": "Choose a cluster", + "Wait while fetching clusters…": "Wait while fetching clusters…", + "Loading cluster information": "Loading cluster information", + "There seems to be no clusters configured…": "There seems to be no clusters configured…", + "Please make sure you have at least one cluster configured.": "Please make sure you have at least one cluster configured.", + "Or try running Headlamp with a different kube config.": "Or try running Headlamp with a different kube config.", + "Load from a file": "Load from a file", + "{{count}} clusters_one": "{{count}} cluster", + "{{count}} clusters_two": "", + "{{count}} clusters_other": "{{count}} clusters", + "Current//context:cluster": "Current", + "Choose cluster": "Choose cluster", + "Failed to load resources": "Failed to load resources", + "You don't have permissions to view this resource": "You don't have permissions to view this resource", + "Resource not found": "Resource not found", + "Hide details": "Hide details", + "Show details": "Show details", + "Drag & drop or choose kubeconfig file here": "Drag & drop or choose kubeconfig file here", + "Choose file": "Choose file", + "Select clusters": "Select clusters", + "Next": "Next", + "Validating selected clusters": "Validating selected clusters", + "Setting up clusters": "Setting up clusters", + "Clusters successfully set up!": "Clusters successfully set up!", + "Finish": "Finish", + "Duplicate cluster: {{ clusterNames }} in the list. Please edit the context name.": "Duplicate cluster: {{ clusterNames }} in the list. Please edit the context name.", + "Error setting up clusters, please load a valid kubeconfig file": "Error setting up clusters, please load a valid kubeconfig file", + "Couldn't read kubeconfig file": "Couldn't read kubeconfig file", + "No clusters found!": "No clusters found!", + "No contexts found!": "No contexts found!", + "Invalid kubeconfig file: {{ errorMessage }}": "Invalid kubeconfig file: {{ errorMessage }}", + "Only warnings ({{ numWarnings }})": "Only warnings ({{ numWarnings }})", + "Reason": "Reason", + "Count": "Count", + "Last Seen": "Last Seen", + "Offline": "Offline", + "Lost connection to the cluster.": "Lost connection to the cluster.", + "No": "No", + "Yes": "Yes", + "Create {{ name }}": "Create {{ name }}", + "Toggle fullscreen": "Toggle fullscreen", + "Unable to open GitHub. Please check your popup blocker settings or copy the error details manually.": "Unable to open GitHub. Please check your popup blocker settings or copy the error details manually.", + "Head back <1>home.": "Head back <1>home.", + "Error Details": "Error Details", + "Copied to clipboard": "Copied to clipboard", + "Failed to copy to clipboard": "Failed to copy to clipboard", + "Copy": "Copy", + "Open Issue on GitHub": "Open Issue on GitHub", + "Find": "Find", + "Download": "Download", + "Reconnect": "Reconnect", + "No results": "No results", + "Too many matches": "Too many matches", + "{{ currentIndex }} of {{ totalResults }}": "{{ currentIndex }} of {{ totalResults }}", + "Match case": "Match case", + "Match whole word": "Match whole word", + "Use regular expression": "Use regular expression", + "Previous Match (Shift+Enter)": "Previous Match (Shift+Enter)", + "Next Match (Enter)": "Next Match (Enter)", + "All namespaces": "All namespaces", + "From": "From", + "Age": "Age", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_one": "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_two": "", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_other": "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})", + "Release Notes ({{ appVersion }})": "Release Notes ({{ appVersion }})", + "Fetching release information…": "Fetching release information…", + "Skip": "Skip", + "Failed to fetch release information": "Failed to fetch release information", + "An update is available": "An update is available", + "Read more": "Read more", + "Disable update notifications": "Disable update notifications", + "Dismiss": "Dismiss", + "Install the metrics-server to get usage data.": "Install the metrics-server to get usage data.", + "Copy to clipboard": "Copy to clipboard", + "Resource Type": "Resource Type", + "Create / Apply": "Create / Apply", + "Create": "Create", + "Resource form": "Resource form", + "Key": "Key", + "Label key": "Label key", + "Value": "Value", + "Label value": "Label value", + "Remove label {{ label }}": "Remove label {{ label }}", + "Add label": "Add label", + "New Label": "New Label", + "Container name": "Container name", + "Image": "Image", + "Container image": "Container image", + "Container Port": "Container Port", + "Container port": "Container port", + "Pull Policy": "Pull Policy", + "Image pull policy": "Image pull policy", + "Remove container {{ name }}": "Remove container {{ name }}", + "Add container": "Add container", + "New Container": "New Container", + "Deleting item {{ itemName }}…": "Deleting item {{ itemName }}…", + "Deleted item {{ itemName }}.": "Deleted item {{ itemName }}.", + "Error deleting item {{ itemName }}.": "Error deleting item {{ itemName }}.", + "Evict": "Evict", + "Evict Pod": "Evict Pod", + "Delete item": "Delete item", + "Are you sure you want to evict pod {{ itemName }}?": "Are you sure you want to evict pod {{ itemName }}?", + "Are you sure you want to delete item {{ itemName }}?": "Are you sure you want to delete item {{ itemName }}?", + "Force Delete": "Force Delete", + "Are you sure you want to delete the following items?": "Are you sure you want to delete the following items?", + "Deleting {{ itemsLength }} items…": "Deleting {{ itemsLength }} items…", + "Cancelled deletion of {{ itemsLength }} items.": "Cancelled deletion of {{ itemsLength }} items.", + "Deleted {{ itemsLength }} items.": "Deleted {{ itemsLength }} items.", + "Error deleting {{ itemsLength }} items.": "Error deleting {{ itemsLength }} items.", + "Delete items": "Delete items", + "Resource details": "Resource details", + "Loading documentation": "Loading documentation", + "No documentation available.": "No documentation available.", + "No documentation for type {{ docsType }}.": "No documentation for type {{ docsType }}.", + "Showing documentation for: {{ docsType }}": "Showing documentation for: {{ docsType }}", + "Applying changes to {{ itemName }}…": "Applying changes to {{ itemName }}…", + "Cancelled changes to {{ itemName }}.": "Cancelled changes to {{ itemName }}.", + "Applied changes to {{ itemName }}.": "Applied changes to {{ itemName }}.", + "Failed to apply changes to {{ itemName }}.": "Failed to apply changes to {{ itemName }}.", + "Edit": "Edit", + "Invalid JSON": "Invalid JSON", + "Invalid YAML": "Invalid YAML", + "Failed to create {{ kind }} {{ name }}.": "Failed to create {{ kind }} {{ name }}.", + "Failed to create {{ kind }} {{ name }} in {{ apiVersion }}.": "Failed to create {{ kind }} {{ name }} in {{ apiVersion }}.", + "Error parsing the code: {{error}}": "Error parsing the code: {{error}}", + "Error parsing the code. Please verify it's valid YAML or JSON!": "Error parsing the code. Please verify it's valid YAML or JSON!", + "resource": "resource", + "Running dry run for {{ newItemName }}…": "Running dry run for {{ newItemName }}…", + "Cancelled dry run for {{ newItemName }}.": "Cancelled dry run for {{ newItemName }}.", + "Dry run passed for {{ newItemName }}.": "Dry run passed for {{ newItemName }}.", + "Dry run failed for {{ newItemName }}.": "Dry run failed for {{ newItemName }}.", + "Applying {{ newItemName }}…": "Applying {{ newItemName }}…", + "Cancelled applying {{ newItemName }}.": "Cancelled applying {{ newItemName }}.", + "Applied {{ newItemName }}.": "Applied {{ newItemName }}.", + "Failed to apply {{ newItemName }}.": "Failed to apply {{ newItemName }}.", + "New Object": "New Object", + "View: {{ itemName }}": "View: {{ itemName }}", + "Edit: {{ itemName }}": "Edit: {{ itemName }}", + "Loading editor": "Loading editor", + "Hide Managed Fields": "Hide Managed Fields", + "Use minimal editor": "Use minimal editor", + "Upload File/URL": "Upload File/URL", + "Editor": "Editor", + "Form": "Form", + "Documentation": "Documentation", + "Review Changes": "Review Changes", + "Undo": "Undo", + "Are you sure?": "Are you sure?", + "This will discard your changes in the editor. Do you want to proceed?": "This will discard your changes in the editor. Do you want to proceed?", + "Undo Changes": "Undo Changes", + "Dry Run": "Dry Run", + "Invalid Secret Reference": "Invalid Secret Reference", + "Invalid Config Map Reference": "Invalid Config Map Reference", + "Invalid fieldRef": "Invalid fieldRef", + "Invalid resourceFieldRef": "Invalid resourceFieldRef", + "Show fewer": "Show fewer", + "Show all environment variables": "Show all environment variables", + "Show all environment variables (+{{count}} more)_one": "Show all environment variables (+{{count}} more)", + "Show all environment variables (+{{count}} more)_two": "", + "Show all environment variables (+{{count}} more)_other": "Show all environment variables (+{{count}} more)", + "No label selectors found for this {{type}}": "No label selectors found for this {{type}}", + "Invalid response from server": "Invalid response from server", + "Failed to fetch related pods": "Failed to fetch related pods", + "No pods found for this workload": "No pods found for this workload", + "Failed to fetch pods: {{error}}": "Failed to fetch pods: {{error}}", + "Logs are paused. Click the follow button to resume following them.": "Logs are paused. Click the follow button to resume following them.", + "Select Pod": "Select Pod", + "All Pods": "All Pods", + "Container": "Container", + "Restarted": "Restarted", + "Severity": "Severity", + "All": "All", + "Show logs for previous instances of this container.": "Show logs for previous instances of this container.", + "You can only select this option for containers that have been restarted.": "You can only select this option for containers that have been restarted.", + "Show previous": "Show previous", + "Show timestamps in the logs.": "Show timestamps in the logs.", + "Timestamps": "Timestamps", + "Follow logs in real-time.": "Follow logs in real-time.", + "Follow": "Follow", + "Show logs": "Show logs", + "Loading resource data": "Loading resource data", + "a8r.io Metadata": "a8r.io Metadata", + "Creation": "Creation", + "Labels": "Labels", + "Annotations": "Annotations", + "Owner refs": "Owner refs", + "Controlled by": "Controlled by", + "Show all labels (+{{count}} more)_one": "Show all labels (+{{count}} more)", + "Show all labels (+{{count}} more)_two": "", + "Show all labels (+{{count}} more)_other": "Show all labels (+{{count}} more)", + "Start port forward": "Start port forward", + "Forward port": "Forward port", + "Delete port forward": "Delete port forward", + "Stop port forward": "Stop port forward", + "Copied": "Copied", + "This value may differ in the container, since the pod is older than {{from}}": "This value may differ in the container, since the pod is older than {{from}}", + "Mount Path": "Mount Path", + "from": "from", + "I/O": "I/O", + "Ready": "Ready", + "Waiting": "Waiting", + "Running": "Running", + "Exit Code": "Exit Code", + "Started": "Started", + "Finished": "Finished", + "Restart Count": "Restart Count", + "Last State": "Last State", + "No data to be shown.": "No data to be shown.", + "Init Containers": "Init Containers", + "Conditions": "Conditions", + "Volumes": "Volumes", + "Kind": "Kind", + "Restarting {{ itemName }}…": "Restarting {{ itemName }}…", + "Cancelled restarting {{ itemName }}.": "Cancelled restarting {{ itemName }}.", + "Restarted {{ itemName }}.": "Restarted {{ itemName }}.", + "Failed to restart {{ itemName }}.": "Failed to restart {{ itemName }}.", + "Restart": "Restart", + "Are you sure you want to restart {{ itemName }}?": "Are you sure you want to restart {{ itemName }}?", + "Are you sure you want to restart the following items?": "Are you sure you want to restart the following items?", + "Restarting {{ itemsLength }} items…": "Restarting {{ itemsLength }} items…", + "Cancelled restarting {{ itemsLength }} items.": "Cancelled restarting {{ itemsLength }} items.", + "Restarted {{ itemsLength }} items.": "Restarted {{ itemsLength }} items.", + "Failed to restart {{ itemsLength }} items.": "Failed to restart {{ itemsLength }} items.", + "Restart items": "Restart items", + "Revision History": "Revision History", + "Loading revision history…": "Loading revision history…", + "Failed to load revision history: {{ error }}": "Failed to load revision history: {{ error }}", + "No revision history available.": "No revision history available.", + "Revision": "Revision", + "Created": "Created", + "Images": "Images", + "Current": "Current", + "Previous": "Previous", + "Rolling back {{ itemName }} to previous version…": "Rolling back {{ itemName }} to previous version…", + "Cancelled rollback of {{ itemName }}.": "Cancelled rollback of {{ itemName }}.", + "Rolled back {{ itemName }} to previous version.": "Rolled back {{ itemName }} to previous version.", + "Failed to rollback {{ itemName }}.": "Failed to rollback {{ itemName }}.", + "Rollback": "Rollback", + "Rollback {{ kind }}": "Rollback {{ kind }}", + "Select a revision to rollback \"{{ name }}\" to. This will replace the current pod template with the one from the selected revision.": "Select a revision to rollback \"{{ name }}\" to. This will replace the current pod template with the one from the selected revision.", + "No previous revisions available to rollback to.": "No previous revisions available to rollback to.", + "Revision {{ revision }}": "Revision {{ revision }}", + "Scaling {{ itemName }}…": "Scaling {{ itemName }}…", + "Cancelled scaling {{ itemName }}.": "Cancelled scaling {{ itemName }}.", + "Scaled {{ itemName }}.": "Scaled {{ itemName }}.", + "Failed to scale {{ itemName }}.": "Failed to scale {{ itemName }}.", + "Scale": "Scale", + "Scale Replicas": "Scale Replicas", + "Current number of replicas: {{ numReplicas }}": "Current number of replicas: {{ numReplicas }}", + "Desired number of replicas:": "Desired number of replicas:", + "Decrement": "Decrement", + "Increment": "Increment", + "A large number of replicas may negatively impact the cluster's performance": "A large number of replicas may negatively impact the cluster's performance", + "Scaling {{ itemsLength }} items…": "Scaling {{ itemsLength }} items…", + "Cancelled scaling {{ itemsLength }} items.": "Cancelled scaling {{ itemsLength }} items.", + "Scaled {{ itemsLength }} items.": "Scaled {{ itemsLength }} items.", + "Failed to scale {{ itemsLength }} items.": "Failed to scale {{ itemsLength }} items.", + "Scale items": "Scale items", + "Are you sure you want to scale the following items?": "Are you sure you want to scale the following items?", + "Load": "Load", + "Failed to read file.": "Failed to read file.", + "File read was aborted.": "File read was aborted.", + "Error: All of the files are empty.": "Error: All of the files are empty.", + "Unexpected error while reading files.": "Unexpected error while reading files.", + "Drop the file here...": "Drop the file here...", + "Select a file or drag and drop here": "Select a file or drag and drop here", + "Select File": "Select File", + "{{count}} files selected_one": "{{count}} files selected", + "{{count}} files selected_two": "", + "{{count}} files selected_other": "{{count}} files selected", + "Please enter a valid URL.": "Please enter a valid URL.", + "Failed to fetch file: {{statusText}}": "Failed to fetch file: {{statusText}}", + "Unexpected error while fetching the file.": "Unexpected error while fetching the file.", + "Enter URL": "Enter URL", + "Upload File": "Upload File", + "Load from URL": "Load from URL", + "View YAML": "View YAML", + "Collapse": "Collapse", + "Expand": "Expand", + "Sort descending": "Sort descending", + "Sort ascending": "Sort ascending", + "Loading table data": "Loading table data", + "Refresh": "Refresh", + "No data matching the filter criteria.": "No data matching the filter criteria.", + "No results found": "No results found", + "Any new output for this container's process should be shown below. In case it doesn't show up, press enter…": "Any new output for this container's process should be shown below. In case it doesn't show up, press enter…", + "Failed to run \"{{command}}\"…": "Failed to run \"{{command}}\"…", + "Failed to connect…": "Failed to connect…", + "Press the enter key to reconnect.": "Press the enter key to reconnect.", + "Failed to run \"{{ command }}\"": "Failed to run \"{{ command }}\"", + "Trying to attach to the container {{ container }}…": "Trying to attach to the container {{ container }}…", + "Trying to run \"{{command}}\"…": "Trying to run \"{{command}}\"…", + "Attach: {{ itemName }}": "Attach: {{ itemName }}", + "Terminal: {{ itemName }}": "Terminal: {{ itemName }}", + "Timezone": "Timezone", + "Data": "Data", + "No data in this config map": "No data in this config map", + "Error getting custom resource definition {{ crdName }}: {{ errorMessage }}": "Error getting custom resource definition {{ crdName }}: {{ errorMessage }}", + "Loading custom resource details": "Loading custom resource details", + "Error getting custom resource {{ crName }}: {{ errorMessage }}": "Error getting custom resource {{ crName }}: {{ errorMessage }}", + "Loading custom resource instances": "Loading custom resource instances", + "No custom resources instances found.": "No custom resources instances found.", + "Failed to load custom resource instances": "Failed to load custom resource instances", + "Error getting custom resource definitions: {{ errorMessage }}": "Error getting custom resource definitions: {{ errorMessage }}", + "Loading custom resource definitions": "Loading custom resource definitions", + "Loading custom resource definition": "Loading custom resource definition", + "No custom resources found": "No custom resources found", + "Group": "Group", + "Categories": "Categories", + "Accepted Names": "Accepted Names", + "Versions": "Versions", + "Spawning Job {{ newItemName }}…": "Spawning Job {{ newItemName }}…", + "Job {{ newItemName }} spawned": "Job {{ newItemName }} spawned", + "Failed to spawn Job {{ newItemName }}": "Failed to spawn Job {{ newItemName }}", + "Spawn Job": "Spawn Job", + "This will trigger a new Job based on the CronJob {{ name }}": "This will trigger a new Job based on the CronJob {{ name }}", + "Job Name": "Job Name", + "Spawn": "Spawn", + "Suspending CronJob {{ newItemName }}…": "Suspending CronJob {{ newItemName }}…", + "Resuming CronJob {{ newItemName }}…": "Resuming CronJob {{ newItemName }}…", + "Cancelled suspending CronJob {{ newItemName }}.": "Cancelled suspending CronJob {{ newItemName }}.", + "Cancelled resuming CronJob {{ newItemName }}.": "Cancelled resuming CronJob {{ newItemName }}.", + "Suspended CronJob {{ newItemName }}.": "Suspended CronJob {{ newItemName }}.", + "Resumed CronJob {{ newItemName }}.": "Resumed CronJob {{ newItemName }}.", + "Failed to suspend CronJob {{ newItemName }}.": "Failed to suspend CronJob {{ newItemName }}.", + "Failed to resume CronJob {{ newItemName }}.": "Failed to resume CronJob {{ newItemName }}.", + "Resume": "Resume", + "Suspend": "Suspend", + "Operator": "Operator", + "Effect": "Effect", + "Desired//context:pods": "Desired", + "Init container": "", + "Ephemeral container": "", + "Restart count: {{ restartCount }}": "", + "Exit code: {{ exitCode }}": "", + "Signal: {{ signal }}": "", + "Finished: {{ date }}": "", + "{{ containerType }} {{ containerName }} is waiting: {{ reason }}": "", + "View logs": "", + "{{ containerType }} {{ containerName }} terminated: {{ reason }}": "", + "{{ containerType }} {{ containerName }} restarted {{ restartCount }} time": "", + "{{ containerType }} {{ containerName }} restarted {{ restartCount }} times": "", + "View current or previous logs": "", + "Previous logs may be available for restarted containers": "", + "Container: {{ container }}": "", + "Open logs": "", + "Pod scheduling is blocked: {{ reason }}": "", + "Pod scheduling event: {{ reason }}": "", + "Pod has node selector constraints": "", + "Pod has affinity or anti-affinity constraints": "", + "Pod depends on persistent volume claims": "", + "PVC: {{ name }}": "", + "Last seen: {{ age }} ({{ date }})": "", + "{{ eventCount }} times since {{ age }}": "", + "{{ eventCount }} times": "", + "Warning event: {{ reason }} ({{ eventCount }} times)": "", + "Warning event: {{ reason }}": "", + "Pod status: {{ status }}": "", + "Phase: {{ phase }}": "", + "Ready containers: {{ ready }}/{{ total }}": "", + "Total restarts: {{ restarts }}": "", + "Condition {{ type }} is {{ status }}": "", + "Reason: {{ reason }}": "", + "{{ kind }} has unavailable replicas": "", + "Desired: {{ replicas }}": "", + "Available: {{ replicas }}": "", + "Ready: {{ replicas }}": "", + "Unavailable: {{ replicas }}": "", + "{{ kind }} condition {{ type }} is {{ status }}": "", + "{{ podCount }} pod is unschedulable": "", + "{{ podCount }} pods are unschedulable": "", + "{{ podCount }} pod is failing with {{ reason }}": "", + "{{ podCount }} pods are failing with {{ reason }}": "", + "Unhealthy owned pods: {{ unhealthy }}/{{ total }}": "", + "No active diagnostics found for this resource.": "", + "Diagnostics": "", + "Unable to load owned pods for diagnostics": "", + "Loading diagnostics": "", + "Addresses": "Addresses", + "Address Type": "Address Type", + "Hostname": "Hostname", + "Node Name": "Node Name", + "Zone": "Zone", + "Endpoints": "Endpoints", + "Retry Budget": "Retry Budget", + "Not specified": "Not specified", + "Min Retry Rate": "Min Retry Rate", + "Port": "Port", + "Protocol": "Protocol", + "No addresses data to be shown.": "No addresses data to be shown.", + "Listeners": "Listeners", + "Matches": "Matches", + "BackendRefs": "BackendRefs", + "Filters": "Filters", + "Match Type": "Match Type", + "Service": "Service", + "Method": "Method", + "Headers": "Headers", + "Filter Type": "Filter Type", + "Weight": "Weight", + "Path Type": "Path Type", + "Path": "Path", + "Query Parameters": "Query Parameters", + "rules": "rules", + "ParentRefs": "ParentRefs", + "No rules data to be shown.": "No rules data to be shown.", + "Section Name": "Section Name", + "Press<1>{formatShortcutKey(searchShortcutKey)}to search": "Press<1>{formatShortcutKey(searchShortcutKey)}to search", + "Search resources, pages, clusters by name": "Search resources, pages, clusters by name", + "Current Namespace": "Current Namespace", + "Set namespace: {{namespace}}": "Set namespace: {{namespace}}", + "Page": "Page", + "Configure Keyboard Shortcuts": "Configure Keyboard Shortcuts", + "Reference": "Reference", + "Metrics": "Metrics", + "(Current/Target)": "(Current/Target)", + "MinReplicas": "MinReplicas", + "MaxReplicas": "MaxReplicas", + "Deployment pods": "Deployment pods", + "{{ currentReplicas }} current / {{ desiredReplicas }} desired": "{{ currentReplicas }} current / {{ desiredReplicas }} desired", + "Targets": "Targets", + "more…": "more…", + "Default": "Default", + "Host": "Host", + "Parallelism": "", + "Backoff Limit": "", + "Completion Mode": "", + "Succeeded": "", + "Duration": "Duration", + "Active Deadline": "", + "TTL After Finished": "", + "Holder Identity": "Holder Identity", + "Lease Duration Seconds": "Lease Duration Seconds", + "Renew Time": "Renew Time", + "Holder": "Holder", + "Container Limits": "Container Limits", + "Default Request": "Default Request", + "Max": "Max", + "Min": "Min", + "A namespace with this name already exists.": "A namespace with this name already exists.", + "Applying {{ newItemName }}…": "Applying {{ newItemName }}…", + "Cancelled applying {{ newItemName }}.": "Cancelled applying {{ newItemName }}.", + "Namespaces must be under 64 characters.": "Namespaces must be under 64 characters.", + "Create Namespace": "Create Namespace", + "To": "To", + "used": "used", + "Scheduling Disabled": "Scheduling Disabled", + "Scheduling Enabled": "Scheduling Enabled", + "Taints": "Taints", + "Not ready yet!": "Not ready yet!", + "Internal IP": "Internal IP", + "None": "None", + "Software": "Software", + "Redirecting to main page…": "Redirecting to main page…", + "Metadata": "Metadata", + "Spec": "Spec", + "Containers": "Containers", + "Node": "Node", + "Optional: schedule the pod on a specific node": "Optional: schedule the pod on a specific node", + "Lines": "Lines", + "Prettify": "Prettify", + "Show JSON values in plain text by removing escape characters.": "Show JSON values in plain text by removing escape characters.", + "Format": "Format", + "Debug Pod": "Debug Pod", + "Debug: {{ itemName }}": "Debug: {{ itemName }}", + "No cluster selected": "No cluster selected", + "Pod debug is disabled in settings": "Pod debug is disabled in settings", + "Attaching to existing debug container...": "Attaching to existing debug container...", + "Creating ephemeral debug container...": "Creating ephemeral debug container...", + "Failed to create debug container: {{message}}": "Failed to create debug container: {{message}}", + "Attaching to debug container...": "Attaching to debug container...", + "Failed to connect…\r\n": "Failed to connect…\r\n", + "Press Ctrl+D or type \"exit\" to terminate the ephemeral container. If you don't, the container will stay running.": "Press Ctrl+D or type \"exit\" to terminate the ephemeral container. If you don't, the container will stay running.", + "Max Unavailable": "Max Unavailable", + "Min Available": "Min Available", + "Allowed disruptions": "Allowed disruptions", + "Current//context:pods": "Current", + "Total": "Total", + "N/A": "N/A", + "Allowed Disruptions": "Allowed Disruptions", + "Start": "Start", + "Stop": "Stop", + "Error fetching port forwards": "Error fetching port forwards", + "Loading port forwarding": "Loading port forwarding", + "Pod Port": "Pod Port", + "Local Port": "Local Port", + "Error starting port forward": "Error starting port forward", + "Please enter a valid port number (1-65535).": "Please enter a valid port number (1-65535).", + "Docker Desktop requires ports in range 30000-32000.": "Docker Desktop requires ports in range 30000-32000.", + "Leave empty to auto-assign from range 30000-32000.": "Leave empty to auto-assign from range 30000-32000.", + "Leave empty to auto-assign an available port.": "Leave empty to auto-assign an available port.", + "Start Port Forward": "Start Port Forward", + "Target": "Target", + "e.g. 30080": "e.g. 30080", + "e.g. 8080": "e.g. 8080", + "Global Default": "Global Default", + "Preemption Policy": "Preemption Policy", + "Create new project": "Create new project", + "To create a new project pick which clusters you want to include and then select existing or create a new namespace": "To create a new project pick which clusters you want to include and then select existing or create a new namespace", + "Project Name": "Project Name", + "A project with this name already exists": "A project with this name already exists", + "Enter a name for your new project.": "Enter a name for your new project.", + "Clusters": "Clusters", + "Select one or more clusters for this project": "Select one or more clusters for this project", + "No available clusters": "No available clusters", + "Type or select a namespace": "Type or select a namespace", + "Select existing or type to create a new namespace": "Select existing or type to create a new namespace", + "No available namespaces - you can type a custom name": "No available namespaces - you can type a custom name", + "Creating": "Creating", + "Create a Project": "Create a Project", + "Project is a collection of Kubernetes resources. You can use projects to organize your resources, for example, by environment, team, or application.": "Project is a collection of Kubernetes resources. You can use projects to organize your resources, for example, by environment, team, or application.", + "New Project": "New Project", + "Create a new project": "Create a new project", + "New Project from YAML": "New Project from YAML", + "Deploy a new application from YAML": "Deploy a new application from YAML", + "URL is required": "URL is required", + "Failed to load from URL: {{error}}": "Failed to load from URL: {{error}}", + "Error processing files: {{error}}": "Error processing files: {{error}}", + "Name is required": "Name is required", + "Cluster is required": "Cluster is required", + "No resources have been uploaded": "No resources have been uploaded", + "Create new Project from YAML": "Create new Project from YAML", + "Project name": "Project name", + "Give your project a descriptive name": "Give your project a descriptive name", + "Enter a name": "Enter a name", + "Select cluster for this project": "Select cluster for this project", + "Load resources": "Load resources", + "Upload files or load from URL": "Upload files or load from URL", + "Upload Files": "Upload Files", + "Choose Files": "Choose Files", + "Drag & drop YAML files here or click to choose files": "Drag & drop YAML files here or click to choose files", + "Supports .yaml and .yml files": "Supports .yaml and .yml files", + "YAML URL": "YAML URL", + "Enter URL to YAML file": "Enter URL to YAML file", + "Load YAML resources from a remote URL": "Load YAML resources from a remote URL", + "Loaded Resources ({{count}})_one": "Loaded Resources ({{count}})", + "Loaded Resources ({{count}})_two": "", + "Loaded Resources ({{count}})_other": "Loaded Resources ({{count}})", + "Clear All": "Clear All", + "API Version": "API Version", + "Creating project": "Creating project", + "Creating following resources in this project:": "Creating following resources in this project:", + "Something went wrong": "Something went wrong", + "Delete project": "Delete project", + "Deleting project {{ projectName }}…": "Deleting project {{ projectName }}…", + "Cancelled deletion of project {{ projectName }}.": "Cancelled deletion of project {{ projectName }}.", + "Deleted project {{ projectName }}.": "Deleted project {{ projectName }}.", + "Error deleting project {{ projectName }}.": "Error deleting project {{ projectName }}.", + "Delete Project": "Delete Project", + "Are you sure you want to delete project \"{{projectName}}\"?": "Are you sure you want to delete project \"{{projectName}}\"?", + "By default, this will only remove the project label from the following namespaces:": "By default, this will only remove the project label from the following namespaces:", + "Also delete the namespaces (this will remove all resources within them)": "Also delete the namespaces (this will remove all resources within them)", + "Warning: This action cannot be undone. All resources in these namespaces will be permanently deleted.": "Warning: This action cannot be undone. All resources in these namespaces will be permanently deleted.", + "Delete Project & Namespaces": "Delete Project & Namespaces", + "Resources": "Resources", + "Access": "Access", + "Map": "Map", + "Project Status": "Project Status", + "No Workloads": "No Workloads", + "Unhealthy": "Unhealthy", + "Degraded": "Degraded", + "Healthy": "Healthy", + "Warning": "Warning", + "Resource Quotas": "Resource Quotas", + "Create Resource Quota to limit resource consumption within this project": "Create Resource Quota to limit resource consumption within this project", + "Create resource quota": "Create resource quota", + "Roles": "Roles", + "Role Bindings": "Role Bindings", + "Health": "Health", + "No Resources": "No Resources", + "Namespaces": "Namespaces", + "No projects found": "No projects found", + "Create your first project to organize your Kubernetes resources": "Create your first project to organize your Kubernetes resources", + "Create Project": "Create Project", + "Details": "Details", + "Show Logs": "Show Logs", + "Logs: {{ itemName }}": "Logs: {{ itemName }}", + "Terminal / Exec": "Terminal / Exec", + "No {{category}} resources found for this project.": "No {{category}} resources found for this project.", + "Current//context:replicas": "Current", + "Desired//context:replicas": "Desired", + "Zoom in": "Zoom in", + "Zoom out": "Zoom out", + "No data to be shown. Try to change filters or select a different namespace.": "No data to be shown. Try to change filters or select a different namespace.", + "Group By": "Group By", + "Instance": "Instance", + "Status: Error or Warning": "Status: Error or Warning", + "Expand All": "Expand All", + "Fit to screen": "Fit to screen", + "Zoom to 100%": "Zoom to 100%", + "Home": "Home", + "Used": "Used", + "Hard": "Hard", + "Request": "Request", + "Limit": "Limit", + "Users": "Users", + "Handler": "Handler", + "No data in this secret": "No data in this secret", + "Hide Helm Secrets": "Hide Helm Secrets", + "Shrink sidebar": "Shrink sidebar", + "Expand sidebar": "Expand sidebar", + "Main Navigation": "Main Navigation", + "Navigation Tabs": "Navigation Tabs", + "Instances": "Instances", + "Cluster version upgraded to {{ gitVersion }}": "Cluster version upgraded to {{ gitVersion }}", + "Cluster version downgraded to {{ gitVersion }}": "Cluster version downgraded to {{ gitVersion }}", + "Controlled Resources": "Controlled Resources", + "Controlled Values": "Controlled Values", + "Min Allowed": "Min Allowed", + "Max Allowed": "Max Allowed", + "Mode": "Mode", + "Last Transition Time": "Last Transition Time", + "Recommendations": "Recommendations", + "Provided": "Provided", + "Admission Review Versions": "Admission Review Versions", + "Client Config: URL": "Client Config: URL", + "Client Config: Service": "Client Config: Service", + "Service: {{namespace}}/{{name}}": "Service: {{namespace}}/{{name}}", + "Path: {{ path }}:{{ port }}": "Path: {{ path }}:{{ port }}", + "Operations": "Operations", + "0 Running": "0 Running", + "Ready//context:replicas": "Ready", + "Up to date//context:replicas": "Up to date", + "Available//context:replicas": "Available", + "Failed": "Failed", + "Select locale": "Select locale", + "": "", + "\"{{metricName}}\" on {{objectKind}}/{{objectName}} {{metricTarget}}": "\"{{metricName}}\" on {{objectKind}}/{{objectName}} {{metricTarget}}", + "\"{{metricName}}\" on pods": "\"{{metricName}}\" on pods", + "resource {{resourceName}} on pods": "resource {{resourceName}} on pods", + "resource {{resourceName}} of container {{containerName}} on pods": "resource {{resourceName}} of container {{containerName}} on pods", + "Warning. Incompatible plugins disabled: ({{ pluginList }})": "Warning. Incompatible plugins disabled: ({{ pluginList }})", + "Global Search": "Global Search", + "Open the global search dialog": "Open the global search dialog", + "Cluster Chooser": "Cluster Chooser", + "Open the cluster chooser popup": "Open the cluster chooser popup", + "Toggle Table Filters": "Toggle Table Filters", + "Toggle column filters in tables": "Toggle column filters in tables", + "Log Viewer Search": "Log Viewer Search", + "Toggle search in log viewer": "Toggle search in log viewer" +} diff --git a/frontend/src/i18n/locales/hi/glossary.json b/frontend/src/i18n/locales/hi/glossary.json index 1187720f06e..6ec205fdef0 100644 --- a/frontend/src/i18n/locales/hi/glossary.json +++ b/frontend/src/i18n/locales/hi/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pods", "Nodes": "नोड्स", "Events": "इवेंट्स", + "Node": "नोड", "Namespaces": "नेमस्पेस", "Filter": "फ़िल्टर", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "लॉग्स: {{ itemName }}", "Seconds": "सेकंड", "State": "स्टेट", - "Node": "नोड", "Service Account": "सर्विस अकाउंट", "Host IP": "होस्ट IP", "Host IPs": "", diff --git a/frontend/src/i18n/locales/it/glossary.json b/frontend/src/i18n/locales/it/glossary.json index b906ea2eef7..95c3c583512 100644 --- a/frontend/src/i18n/locales/it/glossary.json +++ b/frontend/src/i18n/locales/it/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pod", "Nodes": "Nodi", "Events": "Eventi", + "Node": "Nodo", "Namespaces": "Namespace", "Filter": "", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "Log: {{ itemName }}", "Seconds": "Secondi", "State": "Stato", - "Node": "Nodo", "Service Account": "Service Account", "Host IP": "IP dell'host", "Host IPs": "", diff --git a/frontend/src/i18n/locales/ja/glossary.json b/frontend/src/i18n/locales/ja/glossary.json index 3205ab33b42..89f3679bb66 100644 --- a/frontend/src/i18n/locales/ja/glossary.json +++ b/frontend/src/i18n/locales/ja/glossary.json @@ -9,6 +9,7 @@ "Pods": "ポッド", "Nodes": "ノード", "Events": "イベント", + "Node": "ノード", "Namespaces": "ネームスペース", "Filter": "", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "ログ: {{ itemName }}", "Seconds": "秒", "State": "状態", - "Node": "ノード", "Service Account": "サービスアカウント", "Host IP": "ホスト IP", "Host IPs": "", diff --git a/frontend/src/i18n/locales/ko/glossary.json b/frontend/src/i18n/locales/ko/glossary.json index a6e2a961505..ad0b8ccec70 100644 --- a/frontend/src/i18n/locales/ko/glossary.json +++ b/frontend/src/i18n/locales/ko/glossary.json @@ -9,6 +9,7 @@ "Pods": "파드", "Nodes": "노드", "Events": "이벤트", + "Node": "노드", "Namespaces": "네임스페이스", "Filter": "", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "{{ itemName }} 로그", "Seconds": "초", "State": "상태", - "Node": "노드", "Service Account": "서비스 계정", "Host IP": "호스트 IP", "Host IPs": "", diff --git a/frontend/src/i18n/locales/pt/glossary.json b/frontend/src/i18n/locales/pt/glossary.json index 2bc2f3d3a04..eda83dd98ef 100644 --- a/frontend/src/i18n/locales/pt/glossary.json +++ b/frontend/src/i18n/locales/pt/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pods", "Nodes": "Nodes", "Events": "Eventos", + "Node": "Node", "Namespaces": "Namespaces", "Filter": "", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "Registos: {{ itemName }}", "Seconds": "Segundos", "State": "Estado", - "Node": "Node", "Service Account": "Service Account", "Host IP": "IP do Host", "Host IPs": "", diff --git a/frontend/src/i18n/locales/ru/glossary.json b/frontend/src/i18n/locales/ru/glossary.json index bafe87f96f9..21ea6a40bf3 100644 --- a/frontend/src/i18n/locales/ru/glossary.json +++ b/frontend/src/i18n/locales/ru/glossary.json @@ -9,6 +9,7 @@ "Pods": "Поды", "Nodes": "Узлы", "Events": "События", + "Node": "Узел", "Namespaces": "Пространства имён", "Filter": "Фильтр", "a8r.io Metadata": "a8r.io Metadata", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "Журналы: {{ itemName }}", "Seconds": "Секунды", "State": "Состояние", - "Node": "Узел", "Service Account": "Служебный аккаунт", "Host IP": "IP-адрес хоста", "Host IPs": "IP-адреса хостов", diff --git a/frontend/src/i18n/locales/ta/glossary.json b/frontend/src/i18n/locales/ta/glossary.json index 8288220c9b4..a215761894e 100644 --- a/frontend/src/i18n/locales/ta/glossary.json +++ b/frontend/src/i18n/locales/ta/glossary.json @@ -9,6 +9,7 @@ "Pods": "பாட்ஸ்", "Nodes": "நோட்ஸ்", "Events": "நிகழ்வுகள்", + "Node": "நோட்", "Namespaces": "நேம்ஸ்பேஸ்கள்", "Filter": "வடிப்பான்", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "லாக்ஸ்: {{ itemName }}", "Seconds": "வினாடிகள்", "State": "நிலை", - "Node": "நோட்", "Service Account": "சர்வீஸ் அக்கவுண்ட்", "Host IP": "ஹோஸ்ட் ஐபி", "Host IPs": "ஹோஸ்ட் ஐபிக்கள்", diff --git a/frontend/src/i18n/locales/ur/app.json b/frontend/src/i18n/locales/ur/app.json new file mode 100644 index 00000000000..dd085f37fa1 --- /dev/null +++ b/frontend/src/i18n/locales/ur/app.json @@ -0,0 +1,57 @@ +{ + "Failed to fetch plugin info": "پلگ اِن کی معلومات حاصل کرنے میں ناکامی", + "An error occurred while fetching plugin info from {{ URL }}.": "{{ URL }} سے پلگ اِن کی معلومات حاصل کرتے وقت ایک خرابی پیش آئی۔", + "Yes": "ہاں", + "No": "نہیں", + "Plugin Installation": "پلگ اِن انسٹالیشن", + "Do you want to install the plugin \"{{ pluginName }}\"?": "کیا آپ \"{{ pluginName }}\" پلگ اِن انسٹال کرنا چاہتے ہیں؟", + "You are about to install a plugin from: {{ url }}\nDo you want to proceed?": "آپ {{ url }} سے ایک پلگ اِن انسٹال کرنے والے ہیں۔\nکیا آپ جاری رکھنا چاہتے ہیں؟", + "About": "متعلق", + "Quit": "بند کریں", + "Select All": "سب منتخب کریں", + "Delete": "حذف کریں", + "Services": "خدمات", + "Hide": "چھپائیں", + "Hide Others": "دوسروں کو چھپائیں", + "Show All": "سب دکھائیں", + "File": "فائل", + "Close": "بند کریں", + "Edit": "ترمیم", + "Cut": "کاٹیں", + "Copy": "کاپی کریں", + "Paste": "چسپاں کریں", + "Paste and Match Style": "چسپاں کریں اور انداز ملائیں", + "Speech": "تقریر", + "Start Speaking": "بولنا شروع کریں", + "Stop Speaking": "بولنا بند کریں", + "View": "دیکھیں", + "Toggle Developer Tools": "ڈیولپر ٹولز آن/آف کریں", + "Reset Zoom": "زوم ری سیٹ کریں", + "Zoom In": "زوم بڑھائیں", + "Zoom Out": "زوم کم کریں", + "Toggle Fullscreen": "فل اسکرین ٹوگل کریں", + "Navigate": "نیویگیٹ کریں", + "Reload": "دوبارہ لوڈ کریں", + "Go to Home": "ہوم پر جائیں", + "Go Back": "واپس جائیں", + "Go Forward": "آگے جائیں", + "Window": "ونڈو", + "Minimize": "چھوٹا کریں", + "Bring All to Front": "سب کو سامنے لائیں", + "Help": "مدد", + "Documentation": "دستاویزات", + "Open an Issue": "مسئلہ رپورٹ کریں", + "Another process is running": "ایک اور عمل چل رہا ہے", + "Looks like another process is already running. Continue by terminating that process automatically, or quit?": "ایسا لگتا ہے کہ پہلے سے ایک اور عمل چل رہا ہے۔ کیا آپ اسے خودکار طور پر بند کر کے جاری رکھنا چاہتے ہیں یا ایپ بند کر دیں؟", + "Continue": "جاری رکھیں", + "Failed to quit the other running process": "دوسرے چلتے ہوئے عمل کو بند کرنے میں ناکامی", + "Could not quit the other running process, PIDs: {{ process_list }}. Please stop that process and relaunch the app.": "دوسرا عمل بند نہیں کیا جا سکا، PIDs: {{ process_list }}۔ براہِ کرم اسے بند کریں اور ایپ دوبارہ شروع کریں۔", + "No available ports": "کوئی دستیاب پورٹ نہیں", + "Could not find an available port. There are processes running on ports {{startPort}}-{{endPort}}. Terminate these processes and retry?": "کوئی دستیاب پورٹ نہیں ملی۔ پورٹس {{startPort}}-{{endPort}} پر عمل چل رہے ہیں۔ کیا انہیں بند کر کے دوبارہ کوشش کریں؟", + "Terminate and Retry": "بند کریں اور دوبارہ کوشش کریں", + "Failed to start": "شروع کرنے میں ناکامی", + "Could not start the server even after terminating existing processes.": "موجودہ عمل بند کرنے کے باوجود سرور شروع نہیں ہو سکا۔", + "Could not find an available port in the range {{startPort}}-{{endPort}}. Please free up a port and try again.": "رینج {{startPort}}-{{endPort}} میں کوئی دستیاب پورٹ نہیں ملی۔ براہِ کرم ایک پورٹ خالی کریں اور دوبارہ کوشش کریں۔", + "Invalid URL": "غیر درست URL", + "Application opened with an invalid URL: {{ url }}": "ایپلیکیشن ایک غیر درست URL کے ساتھ کھولی گئی: {{ url }}" +} diff --git a/frontend/src/i18n/locales/ur/glossary.json b/frontend/src/i18n/locales/ur/glossary.json new file mode 100644 index 00000000000..d95e24ea3b6 --- /dev/null +++ b/frontend/src/i18n/locales/ur/glossary.json @@ -0,0 +1,278 @@ +{ + "Kubernetes Version": "Kubernetes ورژن", + "Cluster": "کلسٹر", + "Cluster selector": "کلسٹر سلیکٹر", + "Namespace": "نییم اسپیس", + "Git Commit": "Git کمٹ", + "Memory": "میموری", + "CPU": "CPU", + "Pods": "Pods", + "Nodes": "نوڈز", + "Events": "ایونٹس", + "Node": "نوڈ", + "Namespaces": "نییم اسپیسز", + "Filter": "فلٹر", + "a8r.io Metadata": "a8r.io میٹا ڈیٹا", + "toggle field visibility": "فیلڈ کی نمائش تبدیل کریں", + "Condition": "حالت", + "Last Transition": "آخری تبدیلی", + "Last Update": "آخری اپڈیٹ", + "Container ID": "کنٹینر ID", + "Image Pull Policy": "امیج پل پالیسی", + "Image": "امیج", + "Args": "دلائل", + "Command": "کمانڈ", + "Environment": "ماحول", + "Liveness Probes": "لائیونیس پروبز", + "Ports": "پورٹس", + "Volume Mounts": "والیوم ماؤنٹس", + "Containers": "کنٹینرز", + "Container Spec": "کنٹینر تفصیلات", + "Ephemeral Containers": "عارضی کنٹینرز", + "Owner": "مالک", + "Container": "کنٹینر", + "Config Maps": "کنفیگ میپس", + "Definition": "تعریف", + "CRD: {{ crdName }}": "CRD: {{ crdName }}", + "Scope": "اسکوپ", + "Subresources": "ذیلی وسائل", + "Resource": "وسیلہ", + "Plural": "جمع", + "Singular": "واحد", + "Kind": "قسم", + "List Kind": "فہرست قسم", + "Served": "سرور کیا گیا", + "Storage": "اسٹوریج", + "Objects": "آبجیکٹس", + "Custom Resources": "کسٹم ریسورسز", + "Schedule": "شیڈول", + "Starting deadline": "آغاز کی آخری تاریخ", + "Last Schedule": "آخری شیڈول", + "Cron Jobs": "کرون جابز", + "Images": "امیجز", + "Tolerations": "ٹالرینسز", + "Update Strategy": "اپڈیٹ اسٹریٹجی", + "Selector": "سلیکٹر", + "Node Selector": "نوڈ سلیکٹر", + "Daemon Sets": "ڈیمن سیٹس", + "Deployments": "ڈیپلائمنٹس", + "Replicas": "ریپلیکس", + "Endpoint: {{ name }}": "اینڈپوائنٹ: {{ name }}", + "Subsets": "سب سیٹس", + "IP": "IP", + "Hostname": "ہوسٹ نام", + "Target": "ہدف", + "Port": "پورٹ", + "Protocol": "پروٹوکول", + "Endpoints": "اینڈپوائنٹس", + "Addresses": "پتے", + "Conditions": "حالات", + "Ready": "تیار", + "Serving": "خدمت میں", + "Terminating": "ختم ہو رہا ہے", + "Endpoint Slices": "اینڈپوائنٹ سلائسز", + "Targets": "اہداف", + "No targets defined": "کوئی ہدف موجود نہیں", + "TLS Validation": "TLS توثیق", + "No validation settings": "کوئی توثیقی سیٹنگز نہیں", + "Backend TLS Policies": "بیک اینڈ TLS پالیسیاں", + "Retry Constraint": "دوبارہ کوشش کی حد", + "No retry constraint configured": "کوئی retry حد کنفیگر نہیں", + "Session Persistence": "سیشن مستقل مزاجی", + "No session persistence configured": "کوئی سیشن persistence کنفیگر نہیں", + "Backend Traffic Policies": "بیک اینڈ ٹریفک پالیسیاں", + "Controller Name": "کنٹرولر نام", + "Gateway Classes": "گیٹ وے کلاسز", + "Controller": "کنٹرولر", + "Class Name": "کلاس نام", + "Listeners": "لسنرز", + "No data": "کوئی ڈیٹا نہیں", + "Gateways": "گیٹ ویز", + "Hostnames": "ہوسٹ نیمز", + "Rules": "قواعد", + "GRPCRoutes": "GRPC روٹس", + "HttpRoutes": "HTTP روٹس", + "From": "سے", + "To": "تک", + "Reference Grants": "ریفرنس گرانٹس", + "Horizontal Pod Autoscalers": "افقی Pod آٹو اسکیلرز", + "Ingress Classes": "Ingress کلاسز", + "Default": "ڈیفالٹ", + "Yes": "ہاں", + "Parameters": "پیرامیٹرز", + "Default Backend": "ڈیفالٹ بیک اینڈ", + "Backends": "بیک اینڈز", + "Ingresses": "انگریسز", + "Hosts": "ہوسٹس", + "Completions": "تکمیلیں", + "Failed": "ناکام", + "Jobs": "جابز", + "Job Sets": "جاب سیٹس", + "Lease": "لیز", + "LimitRange": "لمٹ رینج", + "Ingress": "انگریس", + "ipBlock": "ipBlock", + "namespaceSelector": "نییم اسپیس سلیکٹر", + "podSelector": "پوڈ سلیکٹر", + "Egress": "ایگریس", + "except: {{ cidrExceptions }}": "سوائے: {{ cidrExceptions }}", + "Pod Selector": "پوڈ سلیکٹر", + "Network Policies": "نیٹ ورک پالیسیاں", + "Uncordoning node {{name}}…": "نوڈ {{name}} کو انکارڈن کیا جا رہا ہے…", + "Cordoning node {{name}}…": "نوڈ {{name}} کو کارڈن کیا جا رہا ہے…", + "Uncordoned node {{name}}.": "نوڈ {{name}} کا انکارڈن مکمل ہوا۔", + "Cordoned node {{name}}.": "نوڈ {{name}} کارڈن ہو گیا۔", + "Failed to uncordon node {{name}}.": "نوڈ {{name}} کا انکارڈن ناکام ہو گیا۔", + "Failed to cordon node {{name}}.": "نوڈ {{name}} کو کارڈن کرنے میں ناکامی ہوئی۔", + "Uncordon node {{name}} cancelled.": "نوڈ {{name}} کا انکارڈن منسوخ کر دیا گیا۔", + "Cordon node {{name}} cancelled.": "نوڈ {{name}} کو کارڈن کرنا منسوخ کر دیا گیا۔", + "Draining node {{name}}…": "نوڈ {{name}} کو ڈرین کیا جا رہا ہے…", + "Drained node {{name}}.": "نوڈ {{name}} ڈرین ہو گیا۔", + "Failed to drain node {{name}}.": "نوڈ {{name}} کو ڈرین کرنے میں ناکامی ہوئی۔", + "Draining node {{name}} cancelled.": "نوڈ {{name}} کا ڈرین منسوخ کر دیا گیا۔", + "Drain Node": "نوڈ ڈرین کریں", + "Are you sure you want to drain the node {{name}}?": "کیا آپ واقعی نوڈ {{name}} کو ڈرین کرنا چاہتے ہیں؟", + "Uncordon": "انکارڈن", + "Cordon": "کارڈن", + "Drain": "ڈرین", + "Pod CIDR": "پوڈ CIDR", + "Uptime": "اپ ٹائم", + "Resource Allocation": "وسائل کی تقسیم", + "Total limits may be over 100 percent, i.e., overcommitted.": "کل حدیں 100 فیصد سے زیادہ ہو سکتی ہیں، یعنی اوورکمٹڈ۔", + "CPU Requests": "CPU درخواستیں", + "CPU Limits": "CPU حدود", + "Memory Requests": "میموری درخواستیں", + "Memory Limits": "میموری حدود", + "System Info": "سسٹم معلومات", + "Architecture": "آرکیٹیکچر", + "Boot ID": "بوٹ ID", + "System UUID": "سسٹم UUID", + "OS": "آپریٹنگ سسٹم", + "Kernel Version": "کرنل ورژن", + "Machine ID": "مشین ID", + "Kube Proxy Version": "کیوب پراکسی ورژن", + "Kubelet Version": "کیوبلیٹ ورژن", + "Container Runtime Version": "کنٹینر رن ٹائم ورژن", + "Roles": "کردار", + "External IP": "بیرونی IP", + "OS image": "OS امیج", + "Kernel version": "کرنل ورژن", + "Container Runtime": "کنٹینر رن ٹائم", + "Debug Node": "نوڈ ڈیبگ", + "Debug node is not supported in this OS: {{ nodeOS }}": "اس OS میں نوڈ ڈیبگ سپورٹ نہیں ہے: {{ nodeOS }}", + "Shell: {{ itemName }}": "شیل: {{ itemName }}", + "Logs: {{ itemName }}": "لاگز: {{ itemName }}", + "Seconds": "سیکنڈز", + "State": "حالت", + "Service Account": "سروس اکاؤنٹ", + "Host IP": "ہوسٹ IP", + "Host IPs": "ہوسٹ IPs", + "Pod IP": "پوڈ IP", + "Pod IPs": "پوڈ IPs", + "QoS Class": "QoS کلاس", + "Priority": "ترجیح", + "Show Logs": "لاگز دکھائیں", + "Terminal / Exec": "ٹرمینل / ایگزیک", + "Attach": "جوڑیں", + "Restarts": "ری اسٹارٹس", + "{{ restarts }} ({{ abbrevTime }} ago)": "{{ restarts }} ({{ abbrevTime }} پہلے)", + "Request": "درخواست", + "Limit": "حد", + "Nominated Node": "نامزد نوڈ", + "Readiness Gates": "ریڈینس گیٹس", + "Pod Disruption Budget": "پوڈ ڈسٹرپشن بجٹ", + "Port Forwarding": "پورٹ فارورڈنگ", + "PriorityClass": "پرائرٹی کلاس", + "Replica Sets": "ریپلیکا سیٹس", + "Generation": "جنریشن", + "Current": "موجودہ", + "Desired": "مطلوبہ", + "Min": "کم از کم", + "Max": "زیادہ سے زیادہ", + "Cluster IP": "کلسٹر IP", + "Resource Quotas": "ریسورس کوٹاز", + "Reference Kind": "ریفرنس قسم", + "Reference Name": "ریفرنس نام", + "Ref. API Group": "ریفرنس API گروپ", + "Binding Info": "بائنڈنگ معلومات", + "Role Bindings": "رول بائنڈنگز", + "Role": "رول", + "Groups": "گروپس", + "Service Accounts": "سروس اکاؤنٹس", + "API Groups": "API گروپس", + "Resources": "وسائل", + "Non Resources": "غیر وسائل", + "Verbs": "افعال", + "RuntimeClass": "رن ٹائم کلاس", + "Secrets": "اسرار", + "Services": "خدمات", + "Map": "میپ", + "Workloads": "ورک لوڈز", + "Stateful Sets": "اسٹیٹ فل سیٹس", + "CronJobs": "کرون جابز", + "Persistent Volume Claims": "پرسسٹنٹ والیوم کلیمز", + "Persistent Volumes": "پرسسٹنٹ والیومز", + "Storage Classes": "اسٹوریج کلاسز", + "Volume Attributes Classes": "والیوم ایٹریبیوٹس کلاسز", + "Network": "نیٹ ورک", + "Gateway (beta)": "گیٹ وے (بیٹا)", + "HTTP Routes": "HTTP روٹس", + "GRPC Routes": "GRPC روٹس", + "BackendTLSPolicies": "بیک اینڈ TLS پالیسیاں", + "BackendTrafficPolicies": "بیک اینڈ ٹریفک پالیسیاں", + "Security": "سیکیورٹی", + "Configuration": "کنفیگریشن", + "HPAs": "افقی Pod آٹو اسکیلرز", + "VPAs": "عمودی Pod آٹو اسکیلرز", + "Pod Disruption Budgets": "Pod ڈسٹرپشن بجٹس", + "Limit Ranges": "لمٹ رینجز", + "Priority Classes": "پرائرٹی کلاسز", + "Runtime Classes": "رن ٹائم کلاسز", + "Leases": "لیزز", + "Mutating Webhook Configurations": "میوٹٹنگ ویب ہُک کنفیگریشنز", + "Validating Webhook Configurations": "ویلیڈیٹنگ ویب ہُک کنفیگریشنز", + "Git Version": "Git ورژن", + "Git Tree State": "Git ٹری اسٹیٹ", + "Go Version": "Go ورژن", + "Platform": "پلیٹ فارم", + "Capacity": "صلاحیت", + "Access Modes": "ایکسیس موڈز", + "Volume Mode": "والیوم موڈ", + "Storage Class": "اسٹوریج کلاس", + "Volume": "والیوم", + "Reclaim Policy": "ری کلیم پالیسی", + "Binding Mode": "بائنڈنگ موڈ", + "Provisioner": "پروویژنر", + "Volume Binding Mode": "والیوم بائنڈنگ موڈ", + "Allow Volume Expansion": "والیوم توسیع کی اجازت", + "Pending": "زیر التواء", + "Available": "دستیاب", + "Bound": "منسلک", + "Released": "ریلیز شدہ", + "Lost": "کھو گیا", + "Driver Name": "ڈرائیور کا نام", + "This resource is only effective for compatible CSI drivers that support mutable volume attributes.": "یہ ریسورس صرف ان CSI ڈرائیورز کے لیے مؤثر ہے جو قابلِ ترمیم والیوم خصوصیات کو سپورٹ کرتے ہیں۔", + "Claim": "کلیم", + "Update Policy": "اپڈیٹ پالیسی", + "Update Mode": "اپڈیٹ موڈ", + "Container Policy": "کنٹینر پالیسی", + "Lower Bound": "کم از کم حد", + "Upper Bound": "زیادہ سے زیادہ حد", + "Uncapped Target": "غیر محدود ہدف", + "Vertical Pod Autoscalers": "عمودی Pod آٹو اسکیلرز", + "Checking if Vertical Pod Autoscaler is enabled…": "چیک کیا جا رہا ہے کہ VPA فعال ہے یا نہیں…", + "Vertical Pod Autoscaler is not enabled. <1>Learn More": "VPA فعال نہیں ہے۔ <1>مزید جانیں", + "API Version": "API ورژن", + "Webhooks": "ویب ہُکس", + "Client Config: Ca Bundle": "کلائنٹ کنفیگ: CA بنڈل", + "Failure Policy": "ناکامی پالیسی", + "Match Policy": "میچ پالیسی", + "Side Effects": "سائیڈ ایفیکٹس", + "Timeout Seconds": "ٹائم آؤٹ سیکنڈز", + "Namespace Selector": "نییم اسپیس سلیکٹر", + "Object Selector": "آبجیکٹ سلیکٹر", + "Reinvocation Policy": "دوبارہ کال پالیسی", + "API Versions": "API ورژنز", + "RollingUpdate. Max unavailable: {{ maxUnavailable }}, max surge: {{ maxSurge }}": "رولنگ اپڈیٹ۔ زیادہ سے زیادہ غیر دستیاب: {{ maxUnavailable }}, زیادہ سے زیادہ سرج: {{ maxSurge }}", + "Strategy Type": "اسٹریٹجی ٹائپ" +} diff --git a/frontend/src/i18n/locales/ur/translation.json b/frontend/src/i18n/locales/ur/translation.json new file mode 100644 index 00000000000..8f769ff8b26 --- /dev/null +++ b/frontend/src/i18n/locales/ur/translation.json @@ -0,0 +1,862 @@ +{ + "Whoops! This page doesn't exist": "اوہ! یہ صفحہ موجود نہیں ہے", + "Authentication: {{ clusterName }}": "تصدیق: {{ clusterName }}", + "Authentication": "تصدیق", + "Please paste your authentication token.": "براہ کرم اپنا تصدیقی ٹوکن پیسٹ کریں", + "ID token": "شناختی ٹوکن", + "Check out how to generate a<1>service account token.": "<1>سروس اکاؤنٹ ٹوکن بنانے کا طریقہ دیکھیں", + "Cluster settings": "کلسٹر کی ترتیبات", + "Cancel": "منسوخ کریں", + "Authenticate": "تصدیق کریں", + "Error authenticating": "تصدیق میں خرابی", + "Window": "ونڈو", + "Fullscreen": "فل اسکرین", + "Snap Left": "بائیں جانب رکھیں", + "Snap Right": "دائیں جانب رکھیں", + "Snap Top": "اوپر رکھیں", + "Snap Bottom": "نیچے رکھیں", + "Minimize": "چھوٹا کریں", + "Close": "بند کریں", + "Close All": "سب بند کریں", + "Overview": "جائزہ", + "Loading": "لوڈ ہو رہا ہے", + "Advanced Search (Beta)": "اعلی درجے کی تلاش (بیٹا)", + "Select Resources": "وسائل منتخب کریں", + "Search": "تلاش", + "Search Resources": "وسائل تلاش کریں", + "Select All": "سب منتخب کریں", + "Clear Selection": "انتخاب صاف کریں", + "All Resources": "تمام وسائل", + "Examples": "مثالیں", + "Search resources by query": "سوال کے ذریعے وسائل تلاش کریں", + "Clear": "صاف کریں", + "No resources selected": "کوئی وسائل منتخب نہیں کیے گئے", + "Loaded {{0}} items": "{{0}} آئٹمز لوڈ ہو گئے", + "Some resources failed to load": "کچھ وسائل لوڈ نہیں ہو سکے", + "Found {{0}} results. Showing first {{1}}": "{{0}} نتائج ملے، پہلے {{1}} دکھائے جا رہے ہیں", + "Name": "نام", + "Cluster": "کلسٹر", + "Actions": "کارروائیاں", + "Max items per Resource": "فی وسیلہ زیادہ سے زیادہ آئٹمز", + "If a resource has more items than this amount they will be excluded from Search. Helps reduce memory usage and slowdowns for large clusters.": "اگر کسی وسیلے میں اس تعداد سے زیادہ آئٹمز ہوں تو اسے تلاش سے خارج کر دیا جائے گا، اس سے میموری کا استعمال اور بڑے کلسٹرز میں سست روی کم ہوتی ہے", + "Refetch Interval": "دوبارہ حاصل کرنے کا وقفہ", + "30 seconds": "30 سیکنڈ", + "1 minute": "1 منٹ", + "5 minutes": "5 منٹ", + "Save": "محفوظ کریں", + "Add": "شامل کریں", + "Add Cluster": "کلسٹر شامل کریں", + "Proceed to select your preferred method for cluster creation and addition": "کلسٹر بنانے اور شامل کرنے کے لیے اپنا پسندیدہ طریقہ منتخب کریں", + "Load from KubeConfig": "KubeConfig سے لوڈ کریں", + "Providers": "فراہم کنندگان", + "Add Local Cluster Provider": "مقامی کلسٹر فراہم کنندہ شامل کریں", + "Failed to delete cluster: {{ error }}": "کلسٹر حذف نہیں ہو سکا: {{ error }}", + "This action will delete cluster \"{{ clusterName }}\" from \"{{ source }}\"": "یہ کارروائی \"{{ source }}\" سے کلسٹر \"{{ clusterName }}\" کو حذف کر دے گی", + "This action will remove cluster \"{{ clusterName }}\".": "یہ کارروائی کلسٹر \"{{ clusterName }}\" کو ہٹا دے گی", + "This action cannot be undone! Do you want to proceed?": "اس کارروائی کو واپس نہیں لیا جا سکتا، کیا آپ جاری رکھنا چاہتے ہیں؟", + "Remove this cluster?": "کیا اس کلسٹر کو ہٹانا چاہتے ہیں؟", + "View": "دیکھیں", + "Settings": "ترتیبات", + "Delete": "حذف کریں", + "Delete Cluster": "کلسٹر حذف کریں", + "Active": "فعال", + "Authentication required": "", + "Insufficient permissions": "", + "Unavailable": "", + "Plugin": "پلگ ان", + "In-cluster": "کلسٹر کے اندر", + "View Clusters": "کلسٹرز دیکھیں", + "Loading...": "لوڈ ہو رہا ہے...", + "No clusters found": "کوئی کلسٹر نہیں ملا", + "Add a cluster to get started.": "شروع کرنے کے لیے ایک کلسٹر شامل کریں", + "Origin": "ماخذ", + "Status": "حالت", + "Warnings": "انتباہات", + "All Clusters": "تمام کلسٹرز", + "Projects": "پروجیکٹس", + "Selected clusters": "منتخب کلسٹرز", + "Load cluster": "کلسٹر لوڈ کریں", + "Something went wrong with cluster {{ cluster }}": "کلسٹر {{ cluster }} کے ساتھ کچھ غلط ہو گیا", + "Choose another cluster": "کوئی دوسرا کلسٹر منتخب کریں", + "Failed to connect to the backend": "بیک اینڈ سے رابطہ نہیں ہو سکا", + "Connecting to backend...": "بیک اینڈ سے رابطہ کیا جا رہا ہے...", + "Skip to main content": "مرکزی مواد پر جائیں", + "Menu": "مینیو", + "Mark all as read": "سب کو پڑھا ہوا نشان زد کریں", + "Clear all": "سب صاف کریں", + "Notifications": "اطلاعات", + "You don't have any notifications right now": "اس وقت آپ کے پاس کوئی اطلاع نہیں ہے", + "Message": "پیغام", + "No message": "کوئی پیغام نہیں", + "Date": "تاریخ", + "Visible": "نمایاں", + "Mark as read": "پڑھا ہوا نشان زد کریں", + "Show notifications": "اطلاعات دکھائیں", + "You have unread notifications": "آپ کے پاس غیر پڑھی اطلاعات موجود ہیں", + "View all notifications": "تمام اطلاعات دیکھیں", + "Unknown": "نامعلوم", + "Are you sure you want to delete this plugin?": "کیا آپ واقعی اس پلگ ان کو حذف کرنا چاہتے ہیں؟", + "Plugins": "پلگ انز", + "Multiple versions": "متعدد ورژنز", + "Description": "تفصیل", + "Type": "قسم", + "Development": "ترقیاتی", + "User-installed": "صارف کی جانب سے نصب شدہ", + "Shipped": "شامل شدہ", + "This plugin is not compatible with this version of Headlamp": "یہ پلگ ان ہیڈلیمپ کے اس ورژن کے ساتھ مطابقت نہیں رکھتا", + "Incompatible": "غیر مطابقت پذیر", + "Overridden by {{type}} version": "{{type}} ورژن کے ذریعے تبدیل کیا گیا", + "Not Loaded": "لوڈ نہیں ہوا", + "Disabled": "غیر فعال", + "Loaded": "لوڈ ہو گیا", + "Enable": "فعال کریں", + "Delete Plugin": "پلگ ان حذف کریں", + "Save & Apply": "محفوظ کریں اور لاگو کریں", + "Open Plugin Folder": "پلگ ان فولڈر کھولیں", + "By": "بذریعہ", + "This plugin is not currently loaded because a \"{{type}}\" version is being used instead.": "یہ پلگ ان اس وقت لوڈ نہیں ہوا کیونکہ اس کی جگہ \"{{type}}\" ورژن استعمال ہو رہا ہے", + "Deleting plugin {{ itemName }}...": "پلگ ان {{ itemName }} حذف کیا جا رہا ہے...", + "Cancelled deletion of {{ itemName }}.": "{{ itemName }} کا حذف کرنا منسوخ کر دیا گیا", + "Deleted plugin {{ itemName }}.": "پلگ ان {{ itemName }} حذف کر دیا گیا", + "Error deleting plugin {{ itemName }}.": "پلگ ان {{ itemName }} حذف کرنے میں خرابی", + "Uh-oh! Something went wrong.": "اوہ! کچھ غلط ہو گیا", + "Error loading {{ routeName }}": "{{ routeName }} لوڈ کرنے میں خرابی", + "Cluster name must contain only lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.": "کلسٹر کے نام میں صرف چھوٹے حروف، اعداد یا '-' شامل ہو سکتے ہیں اور نام کا آغاز اور اختتام حرف یا عدد سے ہونا چاہیے", + "Error": "خرابی", + "Okay": "ٹھیک ہے", + "Original name: {{ displayName }}": "اصل نام: {{ displayName }}", + "This custom name is already in use, please choose a different name.": "یہ حسب ضرورت نام پہلے سے استعمال میں ہے، براہ کرم دوسرا نام منتخب کریں", + "The current name of the cluster. You can define a custom name": "کلسٹر کا موجودہ نام، آپ حسب ضرورت نام مقرر کر سکتے ہیں", + "Change name": "نام تبدیل کریں", + "Are you sure you want to change the name for \"{{ clusterName }}\"?": "کیا آپ واقعی \"{{ clusterName }}\" کا نام تبدیل کرنا چاہتے ہیں؟", + "Apply": "لاگو کریں", + "Accent color format is invalid. Use hex (#ff0000), rgb(), or rgba().": "ایکسنٹ رنگ کا فارمیٹ درست نہیں، hex (#ff0000)، rgb() یا rgba() استعمال کریں", + "Choose Accent Color": "ایکسنٹ رنگ منتخب کریں", + "Use custom color": "حسب ضرورت رنگ استعمال کریں", + "Custom color": "حسب ضرورت رنگ", + "Hex, rgb(), or rgba()": "Hex، rgb() یا rgba()", + "Full page": "مکمل صفحہ", + "Choose Cluster Icon": "کلسٹر آئیکن منتخب کریں", + "Use custom icon": "حسب ضرورت آئیکن استعمال کریں", + "Custom icon (Iconify)": "حسب ضرورت آئیکن (Iconify)", + "Example: mdi:kubernetes, mdi:cloud-outline": "مثال: mdi:kubernetes، mdi:cloud-outline", + "Namespaces must contain only lowercase alphanumeric characters or '-', and must start and end with an alphanumeric character.": "نیم اسپیس میں صرف چھوٹے حروف، اعداد یا '-' شامل ہو سکتے ہیں اور آغاز و اختتام حرف یا عدد سے ہونا چاہیے", + "Node Shell Settings": "نوڈ شیل کی ترتیبات", + "The default image is used for dropping a shell into a node (when not specified directly).": "ڈیفالٹ امیج نوڈ میں شیل کھولنے کے لیے استعمال ہوتی ہے جب براہ راست کوئی امیج متعین نہ کی گئی ہو", + "Linux image": "لینکس امیج", + "The default namespace is default.": "ڈیفالٹ نیم اسپیس default ہے", + "Namespace": "نیم اسپیس", + "Enter a value between {{ minRows }} and {{ maxRows }}.": "{{ minRows }} اور {{ maxRows }} کے درمیان کوئی قدر درج کریں", + "Custom row value": "حسب ضرورت قطار کی قدر", + "Custom value": "حسب ضرورت قدر", + "Pod Debug Settings": "پوڈ ڈیبگ ترتیبات", + "Ephemeral debug containers cannot be removed via Kubernetes API. They will remain in the pod specification even after the terminal closes. To remove them, the pod must be recreated.": "عارضی ڈیبگ کنٹینرز کو Kubernetes API کے ذریعے حذف نہیں کیا جا سکتا، ٹرمینل بند ہونے کے بعد بھی یہ پوڈ کی تفصیلات میں موجود رہیں گے، انہیں ہٹانے کے لیے پوڈ کو دوبارہ بنانا ہوگا", + "The default image is used for creating ephemeral debug containers.": "ڈیفالٹ امیج عارضی ڈیبگ کنٹینرز بنانے کے لیے استعمال ہوتی ہے", + "General Settings": "عمومی ترتیبات", + "Version": "ورژن", + "Language": "زبان", + "Resource details view": "وسائل کی تفصیلی نمائش", + "Number of rows for tables": "ٹیبلز کے لیے قطاروں کی تعداد", + "Timezone to display for dates": "تاریخیں دکھانے کے لیے ٹائم زون", + "Sort sidebar items alphabetically": "سائیڈ بار آئٹمز کو حروف تہجی کے مطابق ترتیب دیں", + "Use evict for pod deletion": "پوڈ حذف کرنے کے لیے evict استعمال کریں", + "Theme": "تھیم", + "Theme has been forced by your administrator": "", + "Keyboard Shortcuts": "کی بورڈ شارٹ کٹس", + "Configure keyboard shortcuts for quick access to various parts of the application.": "ایپلی کیشن کے مختلف حصوں تک فوری رسائی کے لیے کی بورڈ شارٹ کٹس ترتیب دیں", + "Cluster Settings": "کلسٹر کی ترتیبات", + "There seem to be no clusters configured…": "ایسا لگتا ہے کہ کوئی کلسٹر ترتیب نہیں دیا گیا", + "Cluster {{ clusterName }} does not exist. Please select a valid cluster:": "کلسٹر {{ clusterName }} موجود نہیں، براہ کرم درست کلسٹر منتخب کریں", + "Go to cluster": "کلسٹر پر جائیں", + "Appearance": "ظاہری شکل", + "Stored in your browser's localStorage (per-browser setting).": "آپ کے براؤزر کی localStorage میں محفوظ کیا جاتا ہے", + "Accent color": "ایکسنٹ رنگ", + "Change Color": "رنگ تبدیل کریں", + "Choose Color": "رنگ منتخب کریں", + "Clear accent color": "ایکسنٹ رنگ صاف کریں", + "Cluster icon": "کلسٹر آئیکن", + "Change Icon": "آئیکن تبدیل کریں", + "Choose Icon": "آئیکن منتخب کریں", + "Clear cluster icon": "کلسٹر آئیکن صاف کریں", + "Accent color format is invalid. Use hex (#ff0000), rgb(), rgba(), or a CSS color name.": "ایکسنٹ رنگ کا فارمیٹ درست نہیں، hex (#ff0000)، rgb()، rgba() یا CSS رنگ کا نام استعمال کریں", + "Apply appearance": "ظاہری شکل لاگو کریں", + "Apply appearance changes for \"{{ clusterName }}\"? This will be stored in your browser.": "کیا \"{{ clusterName }}\" کے لیے ظاہری تبدیلیاں لاگو کرنی ہیں؟ یہ آپ کے براؤزر میں محفوظ ہوں گی", + "Applying...": "لاگو کیا جا رہا ہے...", + "Default namespace": "ڈیفالٹ نیم اسپیس", + "The default namespace for e.g. when applying resources (when not specified directly).": "مثلاً وسائل لاگو کرتے وقت استعمال ہونے والا ڈیفالٹ نیم اسپیس جب براہ راست متعین نہ ہو", + "Allowed namespaces": "اجازت یافتہ نیم اسپیسز", + "The list of namespaces you are allowed to access in this cluster.": "اس کلسٹر میں وہ نیم اسپیسز جن تک آپ کو رسائی حاصل ہے", + "Add namespace": "نیم اسپیس شامل کریں", + "Remove Cluster": "کلسٹر ہٹائیں", + "Are you sure you want to remove the cluster \"{{ clusterName }}\"?": "کیا آپ واقعی کلسٹر \"{{ clusterName }}\" کو ہٹانا چاہتے ہیں؟", + "Server": "سرور", + "Press keys...": "کلیدیں دبائیں...", + "Conflicts with: {{name}}": "اس کے ساتھ تضاد ہے: {{name}}", + "Reset to default": "ڈیفالٹ پر بحال کریں", + "Navigation": "نیویگیشن", + "General": "عمومی", + "Reset All to Defaults": "سب کو ڈیفالٹ پر بحال کریں", + "Log out from all": "سب سے لاگ آؤٹ کریں", + "Log out": "لاگ آؤٹ", + "Account of current user": "موجودہ صارف کا اکاؤنٹ", + "Appbar Tools": "ایپ بار ٹولز", + "show more": "مزید دکھائیں", + "Version information": "ورژن کی معلومات", + "Getting auth info: {{ clusterName }}": "{{ clusterName }} کی تصدیقی معلومات حاصل کی جا رہی ہیں", + "Getting auth info": "تصدیقی معلومات حاصل کی جا رہی ہیں", + "Testing auth": "تصدیق کی جانچ کی جا رہی ہے", + "Headlamp Cluster Authentication": "ہیڈلیمپ کلسٹر تصدیق", + "Sign In": "سائن ان کریں", + "Use A Token": "ٹوکن استعمال کریں", + "Failed to connect. Please make sure the Kubernetes cluster is running and accessible. Error: {{ errorMessage }}": "رابطہ قائم نہیں ہو سکا، براہ کرم یقینی بنائیں کہ Kubernetes کلسٹر چل رہا ہے اور قابل رسائی ہے، خرابی: {{ errorMessage }}", + "Failed to get authentication information: {{ errorMessage }}": "تصدیقی معلومات حاصل نہیں ہو سکیں: {{ errorMessage }}", + "Try Again": "دوبارہ کوشش کریں", + "Back": "واپس", + "Memory Usage": "میموری کا استعمال", + "{{ available }} units": "{{ available }} یونٹس", + "CPU Usage": "سی پی یو کا استعمال", + "{{ used }} / {{ total }} Pods": "{{ used }} / {{ total }} پوڈز", + "Pod Usage": "پوڈ کا استعمال", + "Ephemeral Storage Usage": "عارضی اسٹوریج کا استعمال", + "Unable to fetch ephemeral storage usage from kubelet.": "kubelet سے عارضی اسٹوریج کا استعمال حاصل نہیں ہو سکا", + "{{ numReady }} / {{ numItems }} Requested": "{{ numReady }} / {{ numItems }} درخواست شدہ", + "{{ numReady }} / {{ numItems }} Ready": "{{ numReady }} / {{ numItems }} تیار", + "Recent clusters": "حالیہ کلسٹرز", + "All clusters": "تمام کلسٹرز", + "Show build information": "بلڈ کی معلومات دکھائیں", + "Choose a cluster": "ایک کلسٹر منتخب کریں", + "Wait while fetching clusters…": "کلسٹرز حاصل کیے جا رہے ہیں، براہ کرم انتظار کریں…", + "Loading cluster information": "کلسٹر کی معلومات لوڈ ہو رہی ہیں", + "There seems to be no clusters configured…": "ایسا لگتا ہے کہ کوئی کلسٹر ترتیب نہیں دیا گیا", + "Please make sure you have at least one cluster configured.": "براہ کرم یقینی بنائیں کہ کم از کم ایک کلسٹر ترتیب دیا گیا ہو", + "Or try running Headlamp with a different kube config.": "یا مختلف kube config کے ساتھ Headlamp چلانے کی کوشش کریں", + "Load from a file": "فائل سے لوڈ کریں", + "{{count}} clusters_one": "{{count}} کلسٹر", + "{{count}} clusters_other": "{{count}} کلسٹرز", + "Current//context:cluster": "موجودہ", + "Choose cluster": "کلسٹر منتخب کریں", + "Failed to load resources": "وسائل لوڈ نہیں ہو سکے", + "You don't have permissions to view this resource": "آپ کو یہ وسیلہ دیکھنے کی اجازت نہیں ہے", + "Resource not found": "وسیلہ نہیں ملا", + "Hide details": "تفصیلات چھپائیں", + "Show details": "تفصیلات دکھائیں", + "Drag & drop or choose kubeconfig file here": "kubeconfig فائل یہاں گھسیٹیں اور چھوڑیں یا منتخب کریں", + "Choose file": "فائل منتخب کریں", + "Select clusters": "کلسٹرز منتخب کریں", + "Next": "اگلا", + "Validating selected clusters": "منتخب کلسٹرز کی جانچ کی جا رہی ہے", + "Setting up clusters": "کلسٹرز ترتیب دیے جا رہے ہیں", + "Clusters successfully set up!": "کلسٹرز کامیابی سے ترتیب دے دیے گئے", + "Finish": "مکمل کریں", + "Duplicate cluster: {{ clusterNames }} in the list. Please edit the context name.": "فہرست میں {{ clusterNames }} نامی دہرایا گیا کلسٹر موجود ہے، براہ کرم context کا نام تبدیل کریں", + "Error setting up clusters, please load a valid kubeconfig file": "کلسٹرز ترتیب دینے میں خرابی، براہ کرم درست kubeconfig فائل لوڈ کریں", + "Couldn't read kubeconfig file": "kubeconfig فائل نہیں پڑھی جا سکی", + "No clusters found!": "کوئی کلسٹر نہیں ملا", + "No contexts found!": "کوئی context نہیں ملا", + "Invalid kubeconfig file: {{ errorMessage }}": "غلط kubeconfig فائل: {{ errorMessage }}", + "Only warnings ({{ numWarnings }})": "صرف انتباہات ({{ numWarnings }})", + "Reason": "وجہ", + "Count": "تعداد", + "Last Seen": "آخری بار دیکھا گیا", + "Offline": "آف لائن", + "Lost connection to the cluster.": "کلسٹر سے رابطہ منقطع ہو گیا", + "No": "نہیں", + "Yes": "ہاں", + "Create {{ name }}": "{{ name }} بنائیں", + "Toggle fullscreen": "فل اسکرین تبدیل کریں", + "Unable to open GitHub. Please check your popup blocker settings or copy the error details manually.": "GitHub نہیں کھولا جا سکا، براہ کرم popup blocker کی ترتیبات چیک کریں یا خرابی کی تفصیلات دستی طور پر کاپی کریں", + "Head back <1>home.": "<1>ہوم پر واپس جائیں", + "Error Details": "خرابی کی تفصیلات", + "Copied to clipboard": "کلپ بورڈ میں کاپی ہو گیا", + "Failed to copy to clipboard": "کلپ بورڈ میں کاپی نہیں ہو سکا", + "Copy": "کاپی کریں", + "Open Issue on GitHub": "GitHub پر مسئلہ کھولیں", + "Find": "تلاش کریں", + "Download": "ڈاؤن لوڈ کریں", + "Reconnect": "دوبارہ رابطہ کریں", + "No results": "کوئی نتیجہ نہیں", + "Too many matches": "بہت زیادہ مماثلتیں", + "{{ currentIndex }} of {{ totalResults }}": "{{ totalResults }} میں سے {{ currentIndex }}", + "Match case": "حروف کی مطابقت", + "Match whole word": "پورا لفظ ملائیں", + "Use regular expression": "ریگولر ایکسپریشن استعمال کریں", + "Previous Match (Shift+Enter)": "پچھلی مطابقت (Shift+Enter)", + "Next Match (Enter)": "اگلی مطابقت (Enter)", + "All namespaces": "تمام نیم اسپیسز", + "From": "سے", + "Age": "مدت", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_one": "{{ eventDate }} ({{ count }} بار {{ firstEventDate }} سے)", + "{{ eventDate }} ({{ count }} times since {{ firstEventDate }})_other": "{{ eventDate }} ({{ count }} بار {{ firstEventDate }} سے)", + "Release Notes ({{ appVersion }})": "ریلیز نوٹس ({{ appVersion }})", + "Fetching release information…": "ریلیز کی معلومات حاصل کی جا رہی ہیں…", + "Skip": "نظر انداز کریں", + "Failed to fetch release information": "ریلیز کی معلومات حاصل نہیں ہو سکیں", + "An update is available": "ایک اپ ڈیٹ دستیاب ہے", + "Read more": "مزید پڑھیں", + "Disable update notifications": "اپ ڈیٹ اطلاعات بند کریں", + "Dismiss": "مسترد کریں", + "Install the metrics-server to get usage data.": "استعمال کا ڈیٹا حاصل کرنے کے لیے metrics-server انسٹال کریں", + "Copy to clipboard": "کلپ بورڈ میں کاپی کریں", + "Resource Type": "وسیلے کی قسم", + "Create / Apply": "بنائیں / لاگو کریں", + "Create": "بنائیں", + "Resource form": "وسیلے کا فارم", + "Key": "کلید", + "Label key": "لیبل کلید", + "Value": "ویلیو", + "Label value": "لیبل ویلیو", + "Remove label {{ label }}": "لیبل {{ label }} ہٹائیں", + "Add label": "لیبل شامل کریں", + "New Label": "نیا لیبل", + "Container name": "کنٹینر کا نام", + "Image": "امیج", + "Container image": "کنٹینر امیج", + "Container Port": "کنٹینر پورٹ", + "Container port": "کنٹینر پورٹ", + "Pull Policy": "پل پالیسی", + "Image pull policy": "امیج پل پالیسی", + "Remove container {{ name }}": "کنٹینر {{ name }} ہٹائیں", + "Add container": "کنٹینر شامل کریں", + "New Container": "نیا کنٹینر", + "Deleting item {{ itemName }}…": "{{ itemName }} حذف کیا جا رہا ہے…", + "Deleted item {{ itemName }}.": "{{ itemName }} حذف کر دیا گیا", + "Error deleting item {{ itemName }}.": "{{ itemName }} حذف کرنے میں خرابی", + "Evict": "خارج کریں", + "Evict Pod": "پوڈ خارج کریں", + "Delete item": "آئٹم حذف کریں", + "Are you sure you want to evict pod {{ itemName }}?": "کیا آپ واقعی پوڈ {{ itemName }} کو خارج کرنا چاہتے ہیں؟", + "Are you sure you want to delete item {{ itemName }}?": "کیا آپ واقعی آئٹم {{ itemName }} کو حذف کرنا چاہتے ہیں؟", + "Force Delete": "زبردستی حذف کریں", + "Are you sure you want to delete the following items?": "کیا آپ واقعی درج ذیل آئٹمز حذف کرنا چاہتے ہیں؟", + "Deleting {{ itemsLength }} items…": "{{ itemsLength }} آئٹمز حذف کیے جا رہے ہیں…", + "Cancelled deletion of {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز کی حذف کاری منسوخ کر دی گئی", + "Deleted {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز حذف کر دیے گئے", + "Error deleting {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز حذف کرنے میں خرابی", + "Delete items": "آئٹمز حذف کریں", + "Resource details": "ریسورس کی تفصیلات", + "Loading documentation": "دستاویزات لوڈ ہو رہی ہیں", + "No documentation available.": "کوئی دستاویزات دستیاب نہیں", + "No documentation for type {{ docsType }}.": "{{ docsType }} قسم کے لیے کوئی دستاویزات موجود نہیں", + "Showing documentation for: {{ docsType }}": "{{ docsType }} کے لیے دستاویزات دکھائی جا رہی ہیں", + "Applying changes to {{ itemName }}…": "{{ itemName }} میں تبدیلیاں لاگو کی جا رہی ہیں…", + "Cancelled changes to {{ itemName }}.": "{{ itemName }} کی تبدیلیاں منسوخ کر دی گئیں", + "Applied changes to {{ itemName }}.": "{{ itemName }} میں تبدیلیاں لاگو کر دی گئیں", + "Failed to apply changes to {{ itemName }}.": "{{ itemName }} میں تبدیلیاں لاگو کرنے میں ناکامی", + "Edit": "ترمیم کریں", + "Invalid JSON": "غلط JSON", + "Invalid YAML": "غلط YAML", + "Failed to create {{ kind }} {{ name }}.": "{{ kind }} {{ name }} بنانے میں ناکامی", + "Failed to create {{ kind }} {{ name }} in {{ apiVersion }}.": "{{ apiVersion }} میں {{ kind }} {{ name }} بنانے میں ناکامی", + "Error parsing the code: {{error}}": "کوڈ پارس کرنے میں خرابی: {{error}}", + "Error parsing the code. Please verify it's valid YAML or JSON!": "کوڈ پارس کرنے میں خرابی، براہ کرم تصدیق کریں کہ یہ درست YAML یا JSON ہے", + "resource": "ریسورس", + "Running dry run for {{ newItemName }}…": "{{ newItemName }} کے لیے ڈرائی رن چلائی جا رہی ہے…", + "Cancelled dry run for {{ newItemName }}.": "{{ newItemName }} کی ڈرائی رن منسوخ کر دی گئی", + "Dry run passed for {{ newItemName }}.": "{{ newItemName }} کی ڈرائی رن کامیاب رہی", + "Dry run failed for {{ newItemName }}.": "{{ newItemName }} کی ڈرائی رن ناکام رہی", + "Applying {{ newItemName }}…": "{{ newItemName }} لاگو کیا جا رہا ہے…", + "Cancelled applying {{ newItemName }}.": "{{ newItemName }} لاگو کرنا منسوخ کر دیا گیا", + "Applied {{ newItemName }}.": "{{ newItemName }} لاگو کر دیا گیا", + "Failed to apply {{ newItemName }}.": "{{ newItemName }} لاگو کرنے میں ناکامی", + "New Object": "نیا آبجیکٹ", + "View: {{ itemName }}": "دیکھیں: {{ itemName }}", + "Edit: {{ itemName }}": "ترمیم کریں: {{ itemName }}", + "Loading editor": "ایڈیٹر لوڈ ہو رہا ہے", + "Hide Managed Fields": "منظم شدہ فیلڈز چھپائیں", + "Use minimal editor": "سادہ ایڈیٹر استعمال کریں", + "Upload File/URL": "فائل یا یو آر ایل اپلوڈ کریں", + "Editor": "ایڈیٹر", + "Form": "فارم", + "Documentation": "دستاویزات", + "Review Changes": "تبدیلیوں کا جائزہ", + "Undo": "واپس کریں", + "Are you sure?": "کیا آپ کو یقین ہے؟", + "This will discard your changes in the editor. Do you want to proceed?": "اس سے ایڈیٹر میں کی گئی تبدیلیاں ختم ہو جائیں گی، کیا آپ آگے بڑھنا چاہتے ہیں؟", + "Undo Changes": "تبدیلیاں واپس کریں", + "Dry Run": "ڈرائی رن", + "Invalid Secret Reference": "غلط سیکرٹ ریفرنس", + "Invalid Config Map Reference": "غلط کنفیگ میپ ریفرنس", + "Invalid fieldRef": "غلط fieldRef", + "Invalid resourceFieldRef": "غلط resourceFieldRef", + "Show fewer": "کم دکھائیں", + "Show all environment variables": "تمام انوائرمنٹ ویری ایبلز دکھائیں", + "Show all environment variables (+{{count}} more)_one": "تمام انوائرمنٹ ویری ایبلز دکھائیں (+{{count}} مزید)", + "Show all environment variables (+{{count}} more)_other": "تمام انوائرمنٹ ویری ایبلز دکھائیں (+{{count}} مزید)", + "No label selectors found for this {{type}}": "اس {{type}} کے لیے کوئی لیبل سلیکٹر نہیں ملا", + "Invalid response from server": "سرور سے غلط جواب موصول ہوا", + "Failed to fetch related pods": "متعلقہ پوڈز حاصل کرنے میں ناکامی", + "No pods found for this workload": "اس ورک لوڈ کے لیے کوئی پوڈ نہیں ملا", + "Failed to fetch pods: {{error}}": "پوڈز حاصل کرنے میں ناکامی: {{error}}", + "Logs are paused. Click the follow button to resume following them.": "لاگز موقوف ہیں، دوبارہ فالو کرنے کے لیے فالو بٹن دبائیں", + "Select Pod": "پوڈ منتخب کریں", + "All Pods": "تمام پوڈز", + "Container": "کنٹینر", + "Restarted": "دوبارہ شروع ہوا", + "Severity": "شدت", + "All": "تمام", + "Show logs for previous instances of this container.": "اس کنٹینر کی پچھلی مثالوں کے لاگز دکھائیں", + "You can only select this option for containers that have been restarted.": "آپ یہ اختیار صرف ان کنٹینرز کے لیے منتخب کر سکتے ہیں جو دوبارہ شروع ہوئے ہوں", + "Show previous": "پچھلا دکھائیں", + "Show timestamps in the logs.": "لاگز میں ٹائم اسٹیمپس دکھائیں", + "Timestamps": "ٹائم اسٹیمپس", + "Follow logs in real-time.": "لاگز کو حقیقی وقت میں فالو کریں", + "Follow": "فالو کریں", + "Show logs": "لاگز دکھائیں", + "Loading resource data": "ریسورس ڈیٹا لوڈ ہو رہا ہے", + "a8r.io Metadata": "a8r.io میٹا ڈیٹا", + "Creation": "تخلیق", + "Labels": "لیبلز", + "Annotations": "تشریحات", + "Owner refs": "اونر ریفرنسز", + "Controlled by": "کنٹرول کیا گیا بذریعہ", + "Show all labels (+{{count}} more)_one": "تمام لیبلز دکھائیں (+{{count}} مزید)", + "Show all labels (+{{count}} more)_other": "تمام لیبلز دکھائیں (+{{count}} مزید)", + "Start port forward": "پورٹ فارورڈ شروع کریں", + "Forward port": "پورٹ فارورڈ کریں", + "Delete port forward": "پورٹ فارورڈ حذف کریں", + "Stop port forward": "پورٹ فارورڈ بند کریں", + "Copied": "کاپی ہو گیا", + "This value may differ in the container, since the pod is older than {{from}}": "یہ ویلیو کنٹینر میں مختلف ہو سکتی ہے کیونکہ پوڈ {{from}} سے پرانا ہے", + "Mount Path": "ماؤنٹ پاتھ", + "from": "سے", + "I/O": "I/O", + "Ready": "تیار", + "Waiting": "انتظار میں", + "Running": "چل رہا ہے", + "Exit Code": "ایگزٹ کوڈ", + "Started": "شروع ہوا", + "Finished": "مکمل ہوا", + "Restart Count": "ری اسٹارٹ کی تعداد", + "Last State": "آخری حالت", + "No data to be shown.": "دکھانے کے لیے کوئی ڈیٹا نہیں", + "Init Containers": "ابتدائی کنٹینرز", + "Conditions": "شرائط", + "Volumes": "والیومز", + "Kind": "قسم", + "Restarting {{ itemName }}…": "{{ itemName }} دوبارہ شروع کیا جا رہا ہے…", + "Cancelled restarting {{ itemName }}.": "{{ itemName }} کا دوبارہ آغاز منسوخ کر دیا گیا", + "Restarted {{ itemName }}.": "{{ itemName }} دوبارہ شروع کر دیا گیا", + "Failed to restart {{ itemName }}.": "{{ itemName }} دوبارہ شروع کرنے میں ناکامی", + "Restart": "دوبارہ شروع کریں", + "Are you sure you want to restart {{ itemName }}?": "کیا آپ واقعی {{ itemName }} کو دوبارہ شروع کرنا چاہتے ہیں؟", + "Are you sure you want to restart the following items?": "کیا آپ واقعی درج ذیل آئٹمز دوبارہ شروع کرنا چاہتے ہیں؟", + "Restarting {{ itemsLength }} items…": "{{ itemsLength }} آئٹمز دوبارہ شروع کیے جا رہے ہیں…", + "Cancelled restarting {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز کا دوبارہ آغاز منسوخ کر دیا گیا", + "Restarted {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز دوبارہ شروع کر دیے گئے", + "Failed to restart {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز دوبارہ شروع کرنے میں ناکامی", + "Restart items": "آئٹمز دوبارہ شروع کریں", + "Revision History": "ریویژن ہسٹری", + "Loading revision history…": "ریویژن ہسٹری لوڈ ہو رہی ہے…", + "Failed to load revision history: {{ error }}": "ریویژن ہسٹری لوڈ کرنے میں ناکامی: {{ error }}", + "No revision history available.": "کوئی ریویژن ہسٹری دستیاب نہیں", + "Revision": "ریویژن", + "Created": "بنایا گیا", + "Images": "امیجز", + "Current": "موجودہ", + "Previous": "پچھلا", + "Rolling back {{ itemName }} to previous version…": "{{ itemName }} کو پچھلے ورژن پر واپس کیا جا رہا ہے…", + "Cancelled rollback of {{ itemName }}.": "{{ itemName }} کا رول بیک منسوخ کر دیا گیا", + "Rolled back {{ itemName }} to previous version.": "{{ itemName }} کو پچھلے ورژن پر واپس کر دیا گیا", + "Failed to rollback {{ itemName }}.": "{{ itemName }} کا رول بیک ناکام رہا", + "Rollback": "رول بیک", + "Rollback {{ kind }}": "{{ kind }} رول بیک", + "Select a revision to rollback \"{{ name }}\" to. This will replace the current pod template with the one from the selected revision.": "\"{{ name }}\" کو رول بیک کرنے کے لیے ایک ریویژن منتخب کریں، اس سے موجودہ پوڈ ٹیمپلیٹ منتخب ریویژن والے ٹیمپلیٹ سے بدل دیا جائے گا", + "No previous revisions available to rollback to.": "رول بیک کے لیے کوئی پچھلا ریویژن دستیاب نہیں", + "Revision {{ revision }}": "ریویژن {{ revision }}", + "Scaling {{ itemName }}…": "{{ itemName }} کو اسکیل کیا جا رہا ہے…", + "Cancelled scaling {{ itemName }}.": "{{ itemName }} کی اسکیلنگ منسوخ کر دی گئی", + "Scaled {{ itemName }}.": "{{ itemName }} اسکیل کر دیا گیا", + "Failed to scale {{ itemName }}.": "{{ itemName }} اسکیل کرنے میں ناکامی", + "Scale": "اسکیل", + "Scale Replicas": "ریپلیکا اسکیل کریں", + "Current number of replicas: {{ numReplicas }}": "ریپلیکا کی موجودہ تعداد: {{ numReplicas }}", + "Desired number of replicas:": "ریپلیکا کی مطلوبہ تعداد:", + "Decrement": "کم کریں", + "Increment": "بڑھائیں", + "A large number of replicas may negatively impact the cluster's performance": "زیادہ تعداد میں ریپلیکا کلسٹر کی کارکردگی پر منفی اثر ڈال سکتے ہیں", + "Scaling {{ itemsLength }} items…": "{{ itemsLength }} آئٹمز اسکیل کیے جا رہے ہیں…", + "Cancelled scaling {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز کی اسکیلنگ منسوخ کر دی گئی", + "Scaled {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز اسکیل کر دیے گئے", + "Failed to scale {{ itemsLength }} items.": "{{ itemsLength }} آئٹمز اسکیل کرنے میں ناکامی", + "Scale items": "آئٹمز اسکیل کریں", + "Are you sure you want to scale the following items?": "کیا آپ واقعی درج ذیل آئٹمز اسکیل کرنا چاہتے ہیں؟", + "Load": "لوڈ کریں", + "Failed to read file.": "فائل پڑھنے میں ناکامی", + "File read was aborted.": "فائل پڑھنا منسوخ کر دیا گیا", + "Error: All of the files are empty.": "خرابی: تمام فائلیں خالی ہیں", + "Unexpected error while reading files.": "فائلیں پڑھتے وقت غیر متوقع خرابی", + "Drop the file here...": "فائل یہاں چھوڑیں…", + "Select a file or drag and drop here": "فائل منتخب کریں یا یہاں ڈریگ اینڈ ڈراپ کریں", + "Select File": "فائل منتخب کریں", + "{{count}} files selected_one": "{{count}} فائل منتخب کی گئی", + "{{count}} files selected_other": "{{count}} فائلیں منتخب کی گئیں", + "Please enter a valid URL.": "براہ کرم درست یو آر ایل درج کریں", + "Failed to fetch file: {{statusText}}": "فائل حاصل کرنے میں ناکامی: {{statusText}}", + "Unexpected error while fetching the file.": "فائل حاصل کرتے وقت غیر متوقع خرابی", + "Enter URL": "یو آر ایل درج کریں", + "Upload File": "فائل اپلوڈ کریں", + "Load from URL": "یو آر ایل سے لوڈ کریں", + "View YAML": "YAML دیکھیں", + "Collapse": "سمیٹیں", + "Expand": "پھیلائیں", + "Sort descending": "نزولی ترتیب", + "Sort ascending": "صعودی ترتیب", + "Loading table data": "ٹیبل کا ڈیٹا لوڈ ہو رہا ہے", + "Refresh": "ریفریش", + "No data matching the filter criteria.": "فلٹر کے معیار سے مطابقت رکھنے والا کوئی ڈیٹا نہیں ملا", + "No results found": "کوئی نتائج نہیں ملے", + "Any new output for this container's process should be shown below. In case it doesn't show up, press enter…": "اس کنٹینر کے عمل کا کوئی بھی نیا آؤٹ پٹ نیچے دکھایا جائے گا، اگر ظاہر نہ ہو تو انٹر دبائیں…", + "Failed to run \"{{command}}\"…": "\"{{command}}\" چلانے میں ناکامی…", + "Failed to connect…": "کنیکٹ ہونے میں ناکامی…", + "Press the enter key to reconnect.": "دوبارہ کنیکٹ ہونے کے لیے انٹر دبائیں", + "Failed to run \"{{ command }}\"": "\"{{ command }}\" چلانے میں ناکامی", + "Trying to attach to the container {{ container }}…": "کنٹینر {{ container }} سے منسلک ہونے کی کوشش کی جا رہی ہے…", + "Trying to run \"{{command}}\"…": "\"{{command}}\" چلانے کی کوشش کی جا رہی ہے…", + "Attach: {{ itemName }}": "منسلک کریں: {{ itemName }}", + "Terminal: {{ itemName }}": "ٹرمنل: {{ itemName }}", + "Timezone": "ٹائم زون", + "Data": "ڈیٹا", + "No data in this config map": "اس کنفگ میپ میں کوئی ڈیٹا نہیں ہے", + "Error getting custom resource definition {{ crdName }}: {{ errorMessage }}": "کسٹم ریسورس ڈیفینیشن {{ crdName }} حاصل کرنے میں خرابی: {{ errorMessage }}", + "Loading custom resource details": "کسٹم ریسورس کی تفصیلات لوڈ ہو رہی ہیں", + "Error getting custom resource {{ crName }}: {{ errorMessage }}": "کسٹم ریسورس {{ crName }} حاصل کرنے میں خرابی: {{ errorMessage }}", + "Loading custom resource instances": "کسٹم ریسورس انسٹینسز لوڈ ہو رہے ہیں", + "No custom resources instances found.": "کوئی کسٹم ریسورس انسٹینسز نہیں ملے", + "Failed to load custom resource instances": "کسٹم ریسورس انسٹینسز لوڈ کرنے میں ناکامی", + "Error getting custom resource definitions: {{ errorMessage }}": "کسٹم ریسورس ڈیفینیشنز حاصل کرنے میں خرابی: {{ errorMessage }}", + "Loading custom resource definitions": "کسٹم ریسورس ڈیفینیشنز لوڈ ہو رہی ہیں", + "Loading custom resource definition": "کسٹم ریسورس ڈیفینیشن لوڈ ہو رہی ہے", + "No custom resources found": "کوئی کسٹم ریسورسز نہیں ملے", + "Group": "گروپ", + "Categories": "اقسام", + "Accepted Names": "قبول شدہ نام", + "Versions": "ورژنز", + "Spawning Job {{ newItemName }}…": "جاب {{ newItemName }} شروع کی جا رہی ہے…", + "Job {{ newItemName }} spawned": "جاب {{ newItemName }} شروع ہو گئی", + "Failed to spawn Job {{ newItemName }}": "جاب {{ newItemName }} شروع کرنے میں ناکامی", + "Spawn Job": "جاب شروع کریں", + "This will trigger a new Job based on the CronJob {{ name }}": "یہ CronJob {{ name }} کی بنیاد پر نئی جاب شروع کرے گا", + "Job Name": "جاب کا نام", + "Spawn": "شروع کریں", + "Suspending CronJob {{ newItemName }}…": "CronJob {{ newItemName }} معطل کی جا رہی ہے…", + "Resuming CronJob {{ newItemName }}…": "CronJob {{ newItemName }} دوبارہ شروع کی جا رہی ہے…", + "Cancelled suspending CronJob {{ newItemName }}.": "CronJob {{ newItemName }} کو معطل کرنا منسوخ کر دیا گیا", + "Cancelled resuming CronJob {{ newItemName }}.": "CronJob {{ newItemName }} کو دوبارہ شروع کرنا منسوخ کر دیا گیا", + "Suspended CronJob {{ newItemName }}.": "CronJob {{ newItemName }} معطل کر دی گئی", + "Resumed CronJob {{ newItemName }}.": "CronJob {{ newItemName }} دوبارہ شروع کر دی گئی", + "Failed to suspend CronJob {{ newItemName }}.": "CronJob {{ newItemName }} معطل کرنے میں ناکامی", + "Failed to resume CronJob {{ newItemName }}.": "CronJob {{ newItemName }} دوبارہ شروع کرنے میں ناکامی", + "Resume": "دوبارہ شروع کریں", + "Suspend": "معطل کریں", + "Operator": "آپریٹر", + "Effect": "اثر", + "Desired//context:pods": "مطلوبہ", + "Init container": "", + "Ephemeral container": "", + "Restart count: {{ restartCount }}": "", + "Exit code: {{ exitCode }}": "", + "Signal: {{ signal }}": "", + "Finished: {{ date }}": "", + "{{ containerType }} {{ containerName }} is waiting: {{ reason }}": "", + "View logs": "", + "{{ containerType }} {{ containerName }} terminated: {{ reason }}": "", + "{{ containerType }} {{ containerName }} restarted {{ restartCount }} time": "", + "{{ containerType }} {{ containerName }} restarted {{ restartCount }} times": "", + "View current or previous logs": "", + "Previous logs may be available for restarted containers": "", + "Container: {{ container }}": "", + "Open logs": "", + "Pod scheduling is blocked: {{ reason }}": "", + "Pod scheduling event: {{ reason }}": "", + "Pod has node selector constraints": "", + "Pod has affinity or anti-affinity constraints": "", + "Pod depends on persistent volume claims": "", + "PVC: {{ name }}": "", + "Last seen: {{ age }} ({{ date }})": "", + "{{ eventCount }} times since {{ age }}": "", + "{{ eventCount }} times": "", + "Warning event: {{ reason }} ({{ eventCount }} times)": "", + "Warning event: {{ reason }}": "", + "Pod status: {{ status }}": "", + "Phase: {{ phase }}": "", + "Ready containers: {{ ready }}/{{ total }}": "", + "Total restarts: {{ restarts }}": "", + "Condition {{ type }} is {{ status }}": "", + "Reason: {{ reason }}": "", + "{{ kind }} has unavailable replicas": "", + "Desired: {{ replicas }}": "", + "Available: {{ replicas }}": "", + "Ready: {{ replicas }}": "", + "Unavailable: {{ replicas }}": "", + "{{ kind }} condition {{ type }} is {{ status }}": "", + "{{ podCount }} pod is unschedulable": "", + "{{ podCount }} pods are unschedulable": "", + "{{ podCount }} pod is failing with {{ reason }}": "", + "{{ podCount }} pods are failing with {{ reason }}": "", + "Unhealthy owned pods: {{ unhealthy }}/{{ total }}": "", + "No active diagnostics found for this resource.": "", + "Diagnostics": "", + "Unable to load owned pods for diagnostics": "", + "Loading diagnostics": "", + "Addresses": "ایڈریسز", + "Address Type": "ایڈریس کی قسم", + "Hostname": "ہوسٹ نام", + "Node Name": "نوڈ کا نام", + "Zone": "زون", + "Endpoints": "اینڈ پوائنٹس", + "Retry Budget": "ری ٹرائی بجٹ", + "Not specified": "متعین نہیں", + "Min Retry Rate": "کم از کم ری ٹرائی ریٹ", + "Port": "پورٹ", + "Protocol": "پروٹوکول", + "No addresses data to be shown.": "دکھانے کے لیے کوئی ایڈریس ڈیٹا نہیں ہے", + "Listeners": "لسٹنرز", + "Matches": "مطابقتیں", + "BackendRefs": "بیک اینڈ ریفرنسز", + "Filters": "فلٹرز", + "Match Type": "مطابقت کی قسم", + "Service": "سروس", + "Method": "طریقہ", + "Headers": "ہیڈرز", + "Filter Type": "فلٹر کی قسم", + "Weight": "وزن", + "Path Type": "پاتھ کی قسم", + "Path": "پاتھ", + "Query Parameters": "کوئری پیرامیٹرز", + "rules": "قواعد", + "ParentRefs": "پیرنٹ ریفرنسز", + "No rules data to be shown.": "دکھانے کے لیے قواعد کا کوئی ڈیٹا نہیں ہے", + "Section Name": "سیکشن کا نام", + "Press<1>{formatShortcutKey(searchShortcutKey)}to search": "تلاش کے لیے <1>{formatShortcutKey(searchShortcutKey)} دبائیں", + "Search resources, pages, clusters by name": "نام کے ذریعے ریسورسز، صفحات اور کلسٹرز تلاش کریں", + "Current Namespace": "موجودہ نیم اسپیس", + "Set namespace: {{namespace}}": "نیم اسپیس سیٹ کریں: {{namespace}}", + "Page": "صفحہ", + "Configure Keyboard Shortcuts": "کی بورڈ شارٹ کٹس ترتیب دیں", + "Reference": "حوالہ", + "Metrics": "میٹرکس", + "(Current/Target)": "(موجودہ/ہدف)", + "MinReplicas": "کم از کم ریپلیکاز", + "MaxReplicas": "زیادہ سے زیادہ ریپلیکاز", + "Deployment pods": "ڈیپلائمنٹ پوڈز", + "{{ currentReplicas }} current / {{ desiredReplicas }} desired": "{{ currentReplicas }} موجودہ / {{ desiredReplicas }} مطلوبہ", + "Targets": "اہداف", + "more…": "مزید…", + "Default": "ڈیفالٹ", + "Host": "ہوسٹ", + "Parallelism": "", + "Backoff Limit": "", + "Completion Mode": "", + "Succeeded": "", + "Duration": "مدت", + "Active Deadline": "", + "TTL After Finished": "", + "Holder Identity": "ہولڈر کی شناخت", + "Lease Duration Seconds": "لیز کی مدت سیکنڈز میں", + "Renew Time": "تجدید کا وقت", + "Holder": "ہولڈر", + "Container Limits": "کنٹینر کی حدود", + "Default Request": "ڈیفالٹ درخواست", + "Max": "زیادہ سے زیادہ", + "Min": "کم سے کم", + "A namespace with this name already exists.": "اس نام کا نیم اسپیس پہلے سے موجود ہے", + "Applying {{ newItemName }}…": "{{ newItemName }} لاگو کیا جا رہا ہے…", + "Cancelled applying {{ newItemName }}.": "{{ newItemName }} کو لاگو کرنا منسوخ کر دیا گیا", + "Namespaces must be under 64 characters.": "نیم اسپیس 64 حروف سے کم ہونا چاہیے", + "Create Namespace": "نیم اسپیس بنائیں", + "To": "تک", + "used": "استعمال شدہ", + "Scheduling Disabled": "شیڈولنگ غیر فعال", + "Scheduling Enabled": "شیڈولنگ فعال", + "Taints": "ٹینٹس", + "Not ready yet!": "ابھی تیار نہیں", + "Internal IP": "اندرونی آئی پی", + "None": "کوئی نہیں", + "Software": "سافٹ ویئر", + "Redirecting to main page…": "مرکزی صفحے پر منتقل کیا جا رہا ہے…", + "Metadata": "میٹا ڈیٹا", + "Spec": "تفصیلات", + "Containers": "کنٹینرز", + "Node": "نوڈ", + "Optional: schedule the pod on a specific node": "اختیاری: پوڈ کو مخصوص نوڈ پر شیڈول کریں", + "Lines": "لائنیں", + "Prettify": "خوبصورت بنائیں", + "Show JSON values in plain text by removing escape characters.": "ایسکیپ حروف ہٹا کر JSON ویلیوز کو سادہ متن میں دکھائیں", + "Format": "فارمیٹ", + "Debug Pod": "ڈیبگ پوڈ", + "Debug: {{ itemName }}": "ڈیبگ: {{ itemName }}", + "No cluster selected": "کوئی کلسٹر منتخب نہیں کیا گیا", + "Pod debug is disabled in settings": "سیٹنگز میں پوڈ ڈیبگ غیر فعال ہے", + "Attaching to existing debug container...": "موجودہ ڈیبگ کنٹینر سے منسلک ہو رہا ہے...", + "Creating ephemeral debug container...": "عارضی ڈیبگ کنٹینر بنایا جا رہا ہے...", + "Failed to create debug container: {{message}}": "ڈیبگ کنٹینر بنانے میں ناکامی: {{message}}", + "Attaching to debug container...": "ڈیبگ کنٹینر سے منسلک ہو رہا ہے...", + "Failed to connect…\r\n": "کنیکٹ ہونے میں ناکامی…\r\n", + "Press Ctrl+D or type \"exit\" to terminate the ephemeral container. If you don't, the container will stay running.": "عارضی کنٹینر بند کرنے کے لیے Ctrl+D دبائیں یا \"exit\" لکھیں، ورنہ کنٹینر چلتا رہے گا", + "Max Unavailable": "زیادہ سے زیادہ غیر دستیاب", + "Min Available": "کم سے کم دستیاب", + "Allowed disruptions": "اجازت شدہ رکاوٹیں", + "Current//context:pods": "موجودہ", + "Total": "کل", + "N/A": "دستیاب نہیں", + "Allowed Disruptions": "اجازت شدہ رکاوٹیں", + "Start": "شروع کریں", + "Stop": "روکیں", + "Error fetching port forwards": "پورٹ فارورڈز حاصل کرنے میں خرابی", + "Loading port forwarding": "پورٹ فارورڈنگ لوڈ ہو رہی ہے", + "Pod Port": "پوڈ پورٹ", + "Local Port": "لوکل پورٹ", + "Error starting port forward": "پورٹ فارورڈ شروع کرنے میں خرابی", + "Please enter a valid port number (1-65535).": "براہ کرم درست پورٹ نمبر درج کریں (1-65535)", + "Docker Desktop requires ports in range 30000-32000.": "Docker Desktop کو 30000-32000 کے درمیان پورٹس درکار ہیں", + "Leave empty to auto-assign from range 30000-32000.": "30000-32000 کی حد سے خودکار تفویض کے لیے خالی چھوڑ دیں", + "Leave empty to auto-assign an available port.": "دستیاب پورٹ خودکار طور پر تفویض کرنے کے لیے خالی چھوڑ دیں", + "Start Port Forward": "پورٹ فارورڈ شروع کریں", + "Target": "ہدف", + "e.g. 30080": "مثلاً 30080", + "e.g. 8080": "مثلاً 8080", + "Global Default": "عالمی ڈیفالٹ", + "Preemption Policy": "پری ایمپشن پالیسی", + "Create new project": "نیا پروجیکٹ بنائیں", + "To create a new project pick which clusters you want to include and then select existing or create a new namespace": "نیا پروجیکٹ بنانے کے لیے وہ کلسٹر منتخب کریں جنہیں شامل کرنا ہے، پھر موجودہ نیم اسپیس منتخب کریں یا نیا بنائیں", + "Project Name": "پروجیکٹ کا نام", + "A project with this name already exists": "اس نام کا پروجیکٹ پہلے سے موجود ہے", + "Enter a name for your new project.": "اپنے نئے پروجیکٹ کے لیے نام درج کریں", + "Clusters": "کلسٹرز", + "Select one or more clusters for this project": "اس پروجیکٹ کے لیے ایک یا زیادہ کلسٹر منتخب کریں", + "No available clusters": "کوئی دستیاب کلسٹر نہیں", + "Type or select a namespace": "نیم اسپیس لکھیں یا منتخب کریں", + "Select existing or type to create a new namespace": "موجودہ منتخب کریں یا نیا نیم اسپیس بنانے کے لیے لکھیں", + "No available namespaces - you can type a custom name": "کوئی دستیاب نیم اسپیس نہیں - آپ حسبِ ضرورت نام لکھ سکتے ہیں", + "Creating": "بنایا جا رہا ہے", + "Create a Project": "پروجیکٹ بنائیں", + "Project is a collection of Kubernetes resources. You can use projects to organize your resources, for example, by environment, team, or application.": "پروجیکٹ Kubernetes ریسورسز کا مجموعہ ہے، آپ پروجیکٹس کو ماحول، ٹیم یا ایپلیکیشن کے مطابق منظم کرنے کے لیے استعمال کر سکتے ہیں", + "New Project": "نیا پروجیکٹ", + "Create a new project": "نیا پروجیکٹ بنائیں", + "New Project from YAML": "YAML سے نیا پروجیکٹ", + "Deploy a new application from YAML": "YAML سے نئی ایپلیکیشن ڈپلائے کریں", + "URL is required": "URL درکار ہے", + "Failed to load from URL: {{error}}": "URL سے لوڈ کرنے میں ناکامی: {{error}}", + "Error processing files: {{error}}": "فائلوں پر عملدرآمد میں خرابی: {{error}}", + "Name is required": "نام درکار ہے", + "Cluster is required": "کلسٹر درکار ہے", + "No resources have been uploaded": "کوئی ریسورس اپلوڈ نہیں کیے گئے", + "Create new Project from YAML": "YAML سے نیا پروجیکٹ بنائیں", + "Project name": "پروجیکٹ کا نام", + "Give your project a descriptive name": "اپنے پروجیکٹ کو وضاحتی نام دیں", + "Enter a name": "نام درج کریں", + "Select cluster for this project": "اس پروجیکٹ کے لیے کلسٹر منتخب کریں", + "Load resources": "ریسورسز لوڈ کریں", + "Upload files or load from URL": "فائلیں اپلوڈ کریں یا URL سے لوڈ کریں", + "Upload Files": "فائلیں اپلوڈ کریں", + "Choose Files": "فائلیں منتخب کریں", + "Drag & drop YAML files here or click to choose files": "YAML فائلیں یہاں گھسیٹیں اور چھوڑیں یا منتخب کرنے کے لیے کلک کریں", + "Supports .yaml and .yml files": ".yaml اور .yml فائلیں معاونت یافتہ ہیں", + "YAML URL": "YAML URL", + "Enter URL to YAML file": "YAML فائل کا URL درج کریں", + "Load YAML resources from a remote URL": "ریموٹ URL سے YAML ریسورسز لوڈ کریں", + "Loaded Resources ({{count}})_one": "لوڈ شدہ وسائل ({{count}})", + "Loaded Resources ({{count}})_other": "لوڈ شدہ وسائل ({{count}})", + "Clear All": "سب صاف کریں", + "API Version": "API ورژن", + "Creating project": "پروجیکٹ بنایا جا رہا ہے", + "Creating following resources in this project:": "اس پروجیکٹ میں درج ذیل وسائل بنائے جا رہے ہیں", + "Something went wrong": "کچھ غلط ہو گیا", + "Delete project": "پروجیکٹ حذف کریں", + "Deleting project {{ projectName }}…": "پروجیکٹ {{ projectName }} حذف کیا جا رہا ہے…", + "Cancelled deletion of project {{ projectName }}.": "پروجیکٹ {{ projectName }} کا حذف کرنا منسوخ کر دیا گیا", + "Deleted project {{ projectName }}.": "پروجیکٹ {{ projectName }} حذف کر دیا گیا", + "Error deleting project {{ projectName }}.": "پروجیکٹ {{ projectName }} حذف کرنے میں خرابی", + "Delete Project": "پروجیکٹ حذف کریں", + "Are you sure you want to delete project \"{{projectName}}\"?": "کیا آپ واقعی پروجیکٹ \"{{projectName}}\" حذف کرنا چاہتے ہیں؟", + "By default, this will only remove the project label from the following namespaces:": "بطور ڈیفالٹ یہ صرف درج ذیل نیم اسپیسز سے پروجیکٹ لیبل ہٹائے گا", + "Also delete the namespaces (this will remove all resources within them)": "نیم اسپیسز بھی حذف کریں", + "Warning: This action cannot be undone. All resources in these namespaces will be permanently deleted.": "انتباہ: یہ عمل واپس نہیں لیا جا سکتا تمام وسائل مستقل طور پر حذف ہو جائیں گے", + "Delete Project & Namespaces": "پروجیکٹ اور نیم اسپیسز حذف کریں", + "Resources": "وسائل", + "Access": "رسائی", + "Map": "نقشہ", + "Project Status": "پروجیکٹ کی حالت", + "No Workloads": "کوئی ورک لوڈ نہیں", + "Unhealthy": "غیر صحت مند", + "Degraded": "خراب حالت", + "Healthy": "صحت مند", + "Warning": "انتباہ", + "Resource Quotas": "وسائل کی حدیں", + "Create Resource Quota to limit resource consumption within this project": "اس پروجیکٹ میں وسائل کے استعمال کو محدود کرنے کے لیے ریسورس کوٹہ بنائیں", + "Create resource quota": "ریسورس کوٹہ بنائیں", + "Roles": "کردار", + "Role Bindings": "رول بائنڈنگز", + "Health": "صحت", + "No Resources": "کوئی وسائل نہیں", + "Namespaces": "نیم اسپیسز", + "No projects found": "کوئی پروجیکٹ نہیں ملا", + "Create your first project to organize your Kubernetes resources": "اپنے Kubernetes وسائل منظم کرنے کے لیے پہلا پروجیکٹ بنائیں", + "Create Project": "پروجیکٹ بنائیں", + "Details": "تفصیلات", + "Show Logs": "لاگز دکھائیں", + "Logs: {{ itemName }}": "لاگز: {{ itemName }}", + "Terminal / Exec": "ٹرمنل / ایگزیک", + "No {{category}} resources found for this project.": "اس پروجیکٹ کے لیے کوئی {{category}} وسائل نہیں ملے", + "Current//context:replicas": "موجودہ", + "Desired//context:replicas": "مطلوبہ", + "Zoom in": "زوم اِن", + "Zoom out": "زوم آؤٹ", + "No data to be shown. Try to change filters or select a different namespace.": "دکھانے کے لیے کوئی ڈیٹا نہیں فلٹر تبدیل کریں یا دوسرا نیم اسپیس منتخب کریں", + "Group By": "گروپ کریں", + "Instance": "انسٹینس", + "Status: Error or Warning": "حالت: خرابی یا انتباہ", + "Expand All": "سب پھیلائیں", + "Fit to screen": "اسکرین کے مطابق کریں", + "Zoom to 100%": "100٪ زوم کریں", + "Home": "ہوم", + "Used": "استعمال شدہ", + "Hard": "ہارڈ", + "Request": "درخواست", + "Limit": "حد", + "Users": "صارفین", + "Handler": "ہینڈلر", + "No data in this secret": "اس سیکرٹ میں کوئی ڈیٹا نہیں", + "Hide Helm Secrets": "Helm سیکرٹس چھپائیں", + "Shrink sidebar": "سائیڈ بار چھوٹا کریں", + "Expand sidebar": "سائیڈ بار پھیلائیں", + "Main Navigation": "مرکزی نیویگیشن", + "Navigation Tabs": "نیویگیشن ٹیبز", + "Instances": "انسٹینسز", + "Cluster version upgraded to {{ gitVersion }}": "کلسٹر ورژن {{ gitVersion }} تک اپ گریڈ ہو گیا", + "Cluster version downgraded to {{ gitVersion }}": "کلسٹر ورژن {{ gitVersion }} تک ڈاؤن گریڈ ہو گیا", + "Controlled Resources": "کنٹرول شدہ وسائل", + "Controlled Values": "کنٹرول شدہ اقدار", + "Min Allowed": "کم از کم اجازت", + "Max Allowed": "زیادہ سے زیادہ اجازت", + "Mode": "موڈ", + "Last Transition Time": "آخری تبدیلی کا وقت", + "Recommendations": "سفارشات", + "Provided": "فراہم کردہ", + "Admission Review Versions": "ایڈمیشن ریویو ورژنز", + "Client Config: URL": "کلائنٹ کنفیگ: URL", + "Client Config: Service": "کلائنٹ کنفیگ: سروس", + "Service: {{namespace}}/{{name}}": "سروس: {{namespace}}/{{name}}", + "Path: {{ path }}:{{ port }}": "پاتھ: {{ path }}:{{ port }}", + "Operations": "عملیات", + "0 Running": "0 چل رہے ہیں", + "Ready//context:replicas": "تیار", + "Up to date//context:replicas": "تازہ ترین", + "Available//context:replicas": "دستیاب", + "Failed": "ناکام", + "Select locale": "لوکیل منتخب کریں", + "": "<نامعلوم>", + "\"{{metricName}}\" on {{objectKind}}/{{objectName}} {{metricTarget}}": "\"{{metricName}}\" بر {{objectKind}}/{{objectName}} {{metricTarget}}", + "\"{{metricName}}\" on pods": "\"{{metricName}}\" پوڈز پر", + "resource {{resourceName}} on pods": "وسیلہ {{resourceName}} پوڈز پر", + "resource {{resourceName}} of container {{containerName}} on pods": "وسیلہ {{resourceName}} کنٹینر {{containerName}} کا پوڈز پر", + "Warning. Incompatible plugins disabled: ({{ pluginList }})": "انتباہ غیر مطابقت رکھنے والے پلگ ان غیر فعال کر دیے گئے: ({{ pluginList }})", + "Global Search": "عالمی تلاش", + "Open the global search dialog": "عالمی تلاش کا ڈائیلاگ کھولیں", + "Cluster Chooser": "کلسٹر منتخب کنندہ", + "Open the cluster chooser popup": "کلسٹر انتخابی پاپ اپ کھولیں", + "Toggle Table Filters": "ٹیبل فلٹرز ٹوگل کریں", + "Toggle column filters in tables": "ٹیبلز میں کالم فلٹرز ٹوگل کریں", + "Log Viewer Search": "لاگ ویور تلاش", + "Toggle search in log viewer": "لاگ ویور میں تلاش ٹوگل کریں" +} diff --git a/frontend/src/i18n/locales/zh-tw/glossary.json b/frontend/src/i18n/locales/zh-tw/glossary.json index 0a3bbce69e9..afbee76291f 100644 --- a/frontend/src/i18n/locales/zh-tw/glossary.json +++ b/frontend/src/i18n/locales/zh-tw/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pods", "Nodes": "節點", "Events": "事件", + "Node": "節點", "Namespaces": "命名空間", "Filter": "篩選", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "日誌: {{ itemName }}", "Seconds": "秒", "State": "狀態", - "Node": "節點", "Service Account": "服務帳戶", "Host IP": "主機 IP", "Host IPs": "主機 IPs", diff --git a/frontend/src/i18n/locales/zh/glossary.json b/frontend/src/i18n/locales/zh/glossary.json index e0eaeeb8f71..3eeac098e87 100644 --- a/frontend/src/i18n/locales/zh/glossary.json +++ b/frontend/src/i18n/locales/zh/glossary.json @@ -9,6 +9,7 @@ "Pods": "Pods", "Nodes": "节点", "Events": "事件", + "Node": "节点", "Namespaces": "命名空间", "Filter": "", "a8r.io Metadata": "", @@ -163,7 +164,6 @@ "Logs: {{ itemName }}": "日志: {{ itemName }}", "Seconds": "秒", "State": "状态", - "Node": "节点", "Service Account": "服务账户", "Host IP": "主机 IP", "Host IPs": "",