diff --git a/src/locales/translated/ar.json b/src/locales/translated/ar.json index e319cfd7..2b663704 100644 --- a/src/locales/translated/ar.json +++ b/src/locales/translated/ar.json @@ -1,1899 +1,1899 @@ { "credentials": { - "credentialsViewer": "Credentials Viewer", - "manageYourSSHCredentials": "Manage your SSH credentials securely", - "addCredential": "Add Credential", - "createCredential": "Create Credential", - "editCredential": "Edit Credential", - "viewCredential": "View Credential", - "duplicateCredential": "Duplicate Credential", - "deleteCredential": "Delete Credential", - "updateCredential": "Update Credential", - "credentialName": "Credential Name", - "credentialDescription": "Description", - "username": "Username", - "searchCredentials": "Search credentials...", - "selectFolder": "Select Folder", - "selectAuthType": "Select Auth Type", - "allFolders": "All Folders", - "allAuthTypes": "All Auth Types", - "uncategorized": "Uncategorized", - "totalCredentials": "Total", - "keyBased": "Key-based", - "passwordBased": "Password-based", - "folders": "Folders", - "noCredentialsMatchFilters": "No credentials match your filters", - "noCredentialsYet": "No credentials created yet", - "createFirstCredential": "Create your first credential", - "failedToFetchCredentials": "Failed to fetch credentials", - "credentialDeletedSuccessfully": "Credential deleted successfully", - "failedToDeleteCredential": "Failed to delete credential", - "confirmDeleteCredential": "Are you sure you want to delete credential \"{{name}}\"?", - "credentialCreatedSuccessfully": "Credential created successfully", - "credentialUpdatedSuccessfully": "Credential updated successfully", - "failedToSaveCredential": "Failed to save credential", - "failedToFetchCredentialDetails": "Failed to fetch credential details", - "failedToFetchHostsUsing": "Failed to fetch hosts using this credential", - "loadingCredentials": "Loading credentials...", - "retry": "Retry", - "noCredentials": "No Credentials", - "noCredentialsMessage": "You haven't added any credentials yet. Click \"Add Credential\" to get started.", - "sshCredentials": "SSH Credentials", - "credentialsCount": "{{count}} credentials", - "refresh": "Refresh", - "passwordRequired": "Password is required", - "sshKeyRequired": "SSH key is required", - "credentialAddedSuccessfully": "Credential \"{{name}}\" added successfully", - "general": "General", - "description": "Description", - "folder": "Folder", - "tags": "Tags", - "addTagsSpaceToAdd": "Add tags (press space to add)", - "password": "Password", - "key": "Key", - "sshPrivateKey": "SSH Private Key", - "upload": "Upload", - "updateKey": "Update Key", - "keyPassword": "Key Password", - "keyType": "Key Type", + "credentialsViewer": "عارض وثائق التفويض", + "manageYourSSHCredentials": "إدارة بيانات اعتماد SSH الخاصة بك بشكل آمن", + "addCredential": "إضافة بيانات اعتماد", + "createCredential": "إنشاء بيانات الاعتماد", + "editCredential": "تحرير بيانات الاعتماد", + "viewCredential": "عرض بيانات الاعتماد", + "duplicateCredential": "تكرار بيانات الاعتماد", + "deleteCredential": "حذف بيانات الاعتماد", + "updateCredential": "تحديث بيانات الاعتماد", + "credentialName": "اسم الاعتماد", + "credentialDescription": "الوصف", + "username": "اسم المستخدم", + "searchCredentials": "البحث عن بيانات التفويض...", + "selectFolder": "حدد مجلد", + "selectAuthType": "حدد نوع المصادقة", + "allFolders": "جميع المجلدات", + "allAuthTypes": "جميع أنواع المصادقة", + "uncategorized": "غير مصنف", + "totalCredentials": "المجموع", + "keyBased": "مبني على المفتاح", + "passwordBased": "مبني على كلمة المرور", + "folders": "مجلدات", + "noCredentialsMatchFilters": "لا توجد بيانات اعتماد مطابقة للفلاتر الخاصة بك", + "noCredentialsYet": "لم يتم إنشاء بيانات اعتماد بعد", + "createFirstCredential": "إنشاء بيانات الاعتماد الأولى الخاصة بك", + "failedToFetchCredentials": "فشل في جلب بيانات الاعتماد", + "credentialDeletedSuccessfully": "تم حذف بيانات الاعتماد بنجاح", + "failedToDeleteCredential": "فشل في حذف بيانات الاعتماد", + "confirmDeleteCredential": "هل أنت متأكد من أنك تريد حذف بيانات الاعتماد\"{{name}}\"؟", + "credentialCreatedSuccessfully": "تم إنشاء بيانات الاعتماد بنجاح", + "credentialUpdatedSuccessfully": "تم تحديث بيانات الاعتماد بنجاح", + "failedToSaveCredential": "فشل في حفظ بيانات الاعتماد", + "failedToFetchCredentialDetails": "فشل في جلب تفاصيل الاعتماد", + "failedToFetchHostsUsing": "فشل جلب المضيفين باستخدام هذا الاعتماد", + "loadingCredentials": "جاري تحميل البيانات...", + "retry": "إعادة المحاولة", + "noCredentials": "لا توجد وثائق اعتماد", + "noCredentialsMessage": "لم تقم بإضافة أي بيانات اعتماد حتى الآن. انقر فوق \"إضافة بيانات اعتماد\" للبدء.", + "sshCredentials": "بيانات اعتماد SSH", + "credentialsCount": "بيانات اعتماد {{count}}", + "refresh": "تحديث", + "passwordRequired": "كلمة المرور مطلوبة", + "sshKeyRequired": "مفتاح SSH مطلوب", + "credentialAddedSuccessfully": "تم إضافة بيانات الاعتماد \"{{name}}بنجاح", + "general": "عام", + "description": "الوصف", + "folder": "مجلد", + "tags": "الوسوم", + "addTagsSpaceToAdd": "إضافة وسوم (اضغط على مساحة للإضافة)", + "password": "كلمة المرور", + "key": "المفتاح", + "sshPrivateKey": "مفتاح SSH الخاص", + "upload": "تحميل", + "updateKey": "تحديث المفتاح", + "keyPassword": "كلمة المرور الرئيسية", + "keyType": "نوع المفتاح", "keyTypeRSA": "RSA", "keyTypeECDSA": "ECDSA", "keyTypeEd25519": "Ed25519", - "basicInfo": "Basic Info", - "authentication": "Authentication", - "organization": "Organization", - "basicInformation": "Basic Information", - "basicInformationDescription": "Enter the basic information for this credential", - "authenticationMethod": "Authentication Method", - "authenticationMethodDescription": "Choose how you want to authenticate with SSH servers", - "organizationDescription": "Organize your credentials with folders and tags", - "enterCredentialName": "Enter credential name", - "enterCredentialDescription": "Enter description (optional)", - "enterUsername": "Enter username", - "nameIsRequired": "Credential name is required", - "usernameIsRequired": "Username is required", - "authenticationType": "Authentication Type", - "passwordAuthDescription": "Use password authentication", - "sshKeyAuthDescription": "Use SSH key authentication", - "passwordIsRequired": "Password is required", - "sshKeyIsRequired": "SSH key is required", - "sshKeyType": "SSH Key Type", - "privateKey": "Private Key", - "enterPassword": "Enter password", - "enterPrivateKey": "Enter private key", - "keyPassphrase": "Key Passphrase", - "enterKeyPassphrase": "Enter key passphrase (optional)", - "keyPassphraseOptional": "Optional: leave empty if your key has no passphrase", - "leaveEmptyToKeepCurrent": "Leave empty to keep current value", - "uploadKeyFile": "Upload Key File", - "generateKeyPairButton": "Generate Key Pair", - "generateKeyPair": "Generate Key Pair", - "generateKeyPairDescription": "Generate a new SSH key pair. If you want to protect the key with a passphrase, enter it in the Key Password field below first.", - "deploySSHKey": "Deploy SSH Key", - "deploySSHKeyDescription": "Deploy public key to target server", - "sourceCredential": "Source Credential", - "targetHost": "Target Host", - "deploymentProcess": "Deployment Process", - "deploymentProcessDescription": "This will safely add the public key to the target host's ~/.ssh/authorized_keys file without overwriting existing keys. The operation is reversible.", - "chooseHostToDeploy": "Choose a host to deploy to...", - "deploying": "Deploying...", - "name": "Name", - "noHostsAvailable": "No hosts available", - "noHostsMatchSearch": "No hosts match your search", - "sshKeyGenerationNotImplemented": "SSH key generation feature coming soon", - "connectionTestingNotImplemented": "Connection testing feature coming soon", - "testConnection": "Test Connection", - "selectOrCreateFolder": "Select or create folder", - "noFolder": "No folder", - "orCreateNewFolder": "Or create new folder", - "addTag": "Add tag", - "saving": "Saving...", - "credentialId": "Credential ID", - "overview": "Overview", - "security": "Security", - "usage": "Usage", - "securityDetails": "Security Details", - "securityDetailsDescription": "View encrypted credential information", - "credentialSecured": "Credential Secured", - "credentialSecuredDescription": "All sensitive data is encrypted with AES-256", - "passwordAuthentication": "Password Authentication", - "keyAuthentication": "Key Authentication", - "securityReminder": "Security Reminder", - "securityReminderText": "Never share your credentials. All data is encrypted at rest.", - "hostsUsingCredential": "Hosts Using This Credential", - "noHostsUsingCredential": "No hosts are currently using this credential", - "timesUsed": "Times Used", - "lastUsed": "Last Used", - "connectedHosts": "Connected Hosts", - "created": "Created", - "lastModified": "Last Modified", - "usageStatistics": "Usage Statistics", + "basicInfo": "معلومات أساسية", + "authentication": "المصادقة", + "organization": "المنظمة", + "basicInformation": "معلومات أساسية", + "basicInformationDescription": "أدخل المعلومات الأساسية لهذا الاعتماد", + "authenticationMethod": "طريقة المصادقة", + "authenticationMethodDescription": "اختر كيف تريد المصادقة مع خوادم SSH", + "organizationDescription": "تنظيم بيانات الاعتماد الخاصة بك مع المجلدات والعلامات", + "enterCredentialName": "أدخل اسم الاعتماد", + "enterCredentialDescription": "أدخل الوصف (اختياري)", + "enterUsername": "أدخل اسم المستخدم", + "nameIsRequired": "اسم الاعتماد مطلوب", + "usernameIsRequired": "اسم المستخدم مطلوب", + "authenticationType": "نوع المصادقة", + "passwordAuthDescription": "استخدام مصادقة كلمة المرور", + "sshKeyAuthDescription": "استخدام مصادقة مفتاح SSH", + "passwordIsRequired": "كلمة المرور مطلوبة", + "sshKeyIsRequired": "مفتاح SSH مطلوب", + "sshKeyType": "نوع مفتاح SSH", + "privateKey": "المفتاح الخاص", + "enterPassword": "أدخل كلمة المرور", + "enterPrivateKey": "أدخل المفتاح الخاص", + "keyPassphrase": "كلمة المرور الرئيسية", + "enterKeyPassphrase": "أدخل كلمة مرور المفتاح (اختياري)", + "keyPassphraseOptional": "اختياري: اتركه فارغاً إذا كان المفتاح الخاص بك لا يحتوي على عبارة مرور", + "leaveEmptyToKeepCurrent": "اتركه فارغاً للحفاظ على القيمة الحالية", + "uploadKeyFile": "تحميل ملف المفتاح", + "generateKeyPairButton": "إنشاء اقتران المفتاح", + "generateKeyPair": "إنشاء اقتران المفتاح", + "generateKeyPairDescription": "إنشاء زوج مفتاح SSH جديد. إذا كنت ترغب في حماية المفتاح مع عبارة مرور، قم بإدخاله في حقل كلمة المرور الرئيسية أدناه أولاً.", + "deploySSHKey": "نشر مفتاح SSH", + "deploySSHKeyDescription": "نشر المفتاح العمومي إلى الخادم المستهدف", + "sourceCredential": "بيانات الاعتماد المصدر", + "targetHost": "المضيف المستهدف", + "deploymentProcess": "عملية النشر", + "deploymentProcessDescription": "سيؤدي هذا بأمان إلى إضافة المفتاح العمومي إلى ملف المضيف الهدف ~/.ssh/authorized_keyys دون الكتابة فوق المفاتيح الموجودة. العملية قابلة للرجوع عنها.", + "chooseHostToDeploy": "اختر مضيف ليقوم بنشره إلى...", + "deploying": "النشر...", + "name": "الاسم", + "noHostsAvailable": "لا يوجد مضيفين متاحين", + "noHostsMatchSearch": "لا يوجد مضيف يطابق بحثك", + "sshKeyGenerationNotImplemented": "ميزة توليد مفتاح SSH قريبا", + "connectionTestingNotImplemented": "ميزة اختبار الاتصال قريباً", + "testConnection": "اختبار الاتصال", + "selectOrCreateFolder": "تحديد أو إنشاء مجلد", + "noFolder": "لا يوجد مجلد", + "orCreateNewFolder": "أو إنشاء مجلد جديد", + "addTag": "إضافة علامة", + "saving": "حفظ...", + "credentialId": "معرف الاعتماد", + "overview": "نظرة عامة", + "security": "أمان", + "usage": "الاستخدام", + "securityDetails": "تفاصيل الأمان", + "securityDetailsDescription": "عرض معلومات الاعتماد المشفرة", + "credentialSecured": "بيانات الاعتماد المؤمنة", + "credentialSecuredDescription": "يتم تشفير جميع البيانات الحساسة باستخدام AES-256", + "passwordAuthentication": "مصادقة كلمة المرور", + "keyAuthentication": "المصادقة الرئيسية", + "securityReminder": "تذكير الأمان", + "securityReminderText": "لا تشارك بيانات الاعتماد الخاصة بك. يتم تشفير جميع البيانات عند الاستحقاق.", + "hostsUsingCredential": "المضيفين باستخدام بيانات الاعتماد هذه", + "noHostsUsingCredential": "لا يوجد مضيفين يستخدمون هذا الاعتماد حاليا", + "timesUsed": "الأوقات المستخدمة", + "lastUsed": "آخر استخدام", + "connectedHosts": "المُستضيفين المتصلين", + "created": "أنشئ", + "lastModified": "آخر تعديل", + "usageStatistics": "إحصائيات الاستخدام", "copiedToClipboard": "{{field}} copied to clipboard", - "failedToCopy": "Failed to copy to clipboard", - "sshKey": "SSH Key", - "createCredentialDescription": "Create a new SSH credential for secure access", - "editCredentialDescription": "Update the credential information", - "listView": "List", - "folderView": "Folders", - "unknownCredential": "Unknown", - "confirmRemoveFromFolder": "Are you sure you want to remove \"{{name}}\" from folder \"{{folder}}\"? The credential will be moved to \"Uncategorized\".", - "removedFromFolder": "Credential \"{{name}}\" removed from folder successfully", - "failedToRemoveFromFolder": "Failed to remove credential from folder", - "folderRenamed": "Folder \"{{oldName}}\" renamed to \"{{newName}}\" successfully", - "failedToRenameFolder": "Failed to rename folder", - "movedToFolder": "Credential \"{{name}}\" moved to \"{{folder}}\" successfully", - "failedToMoveToFolder": "Failed to move credential to folder", - "sshPublicKey": "SSH Public Key", - "publicKeyNote": "Public key is optional but recommended for key validation", - "publicKeyUploaded": "Public Key Uploaded", - "uploadPublicKey": "Upload Public Key", - "uploadPrivateKeyFile": "Upload Private Key File", - "uploadPublicKeyFile": "Upload Public Key File", - "privateKeyRequiredForGeneration": "Private key is required to generate public key", - "failedToGeneratePublicKey": "Failed to generate public key", - "generatePublicKey": "Generate from Private Key", - "publicKeyGeneratedSuccessfully": "Public key generated successfully", - "detectedKeyType": "Detected key type", - "detectingKeyType": "detecting...", - "optional": "Optional", - "generateKeyPairNew": "Generate New Key Pair", - "generateEd25519": "Generate Ed25519", - "generateECDSA": "Generate ECDSA", - "generateRSA": "Generate RSA", + "failedToCopy": "فشل النسخ إلى الحافظة", + "sshKey": "مفتاح SSH", + "createCredentialDescription": "إنشاء اعتماد SSH جديد للوصول الآمن", + "editCredentialDescription": "تحديث معلومات الاعتماد", + "listView": "قائمة", + "folderView": "مجلدات", + "unknownCredential": "غير معروف", + "confirmRemoveFromFolder": "هل أنت متأكد من أنك تريد إزالة \"{{name}}\" من المجلد \"{{folder}}\"؟ سيتم نقل بيانات الاعتماد إلى \"إلغاء التصنيف\".", + "removedFromFolder": "بيانات الاعتماد \"{{name}}\" تمت إزالتها من المجلد بنجاح", + "failedToRemoveFromFolder": "فشل في إزالة بيانات الاعتماد من المجلد", + "folderRenamed": "المجلد \"{{oldName}}\" أعيدت تسميته إلى \"{{newName}}\" بنجاح", + "failedToRenameFolder": "فشل في إعادة تسمية المجلد", + "movedToFolder": "تم نقل الاعتماد \"{{name}}\" إلى \"{{folder}}\" بنجاح", + "failedToMoveToFolder": "فشل نقل بيانات الاعتماد إلى المجلد", + "sshPublicKey": "مفتاح SSH العام", + "publicKeyNote": "المفتاح العمومي اختياري ولكن يوصى بالتحقق من صحة المفتاح", + "publicKeyUploaded": "تم تحميل المفتاح العام", + "uploadPublicKey": "تحميل المفتاح العام", + "uploadPrivateKeyFile": "تحميل ملف المفتاح الخاص", + "uploadPublicKeyFile": "تحميل ملف المفتاح العام", + "privateKeyRequiredForGeneration": "المفتاح الخاص مطلوب لإنشاء المفتاح العمومي", + "failedToGeneratePublicKey": "فشل في إنشاء المفتاح العمومي", + "generatePublicKey": "توليد من المفتاح الخاص", + "publicKeyGeneratedSuccessfully": "تم إنشاء المفتاح العام بنجاح", + "detectedKeyType": "نوع المفتاح المكتشف", + "detectingKeyType": "اكتشف...", + "optional": "اختياري", + "generateKeyPairNew": "إنشاء اقتران مفتاح جديد", + "generateEd25519": "إنشاء Ed25519", + "generateECDSA": "إنشاء ECDSA", + "generateRSA": "إنشاء RSA", "keyTypeEcdsaP256": "ECDSA P-256 (SSH)", "keyTypeEcdsaP384": "ECDSA P-384 (SSH)", "keyTypeEcdsaP521": "ECDSA P-521 (SSH)", "keyTypeDsa": "DSA (SSH)", "keyTypeRsaSha256": "RSA-SHA2-256", "keyTypeRsaSha512": "RSA-SHA2-512", - "keyPairGeneratedSuccessfully": "{{keyType}} key pair generated successfully", - "failedToGenerateKeyPair": "Failed to generate key pair", - "generateKeyPairNote": "Generate a new SSH key pair directly. This will replace any existing keys in the form.", - "invalidKey": "Invalid Key", - "detectionError": "Detection Error", - "removing": "Removing:", - "clickToEditCredential": "Click to edit credential", - "dragToMoveBetweenFolders": "Drag to move between folders", - "keyBasedOnlyForDeployment": "Only SSH key-based credentials can be deployed", - "publicKeyRequiredForDeployment": "Public key is required for deployment", - "selectTargetHost": "Please select a target host", - "keyDeployedSuccessfully": "SSH key deployed successfully", - "deploymentFailed": "Deployment failed", - "failedToDeployKey": "Failed to deploy SSH key", - "clickToRenameFolder": "Click to rename folder", - "renameFolder": "Rename folder", + "keyPairGeneratedSuccessfully": "تم إنشاء زوج المفتاح {{keyType}} بنجاح", + "failedToGenerateKeyPair": "فشل في إنشاء زوج المفاتيح", + "generateKeyPairNote": "إنشاء زوج جديد من مفاتيح SSH مباشرة. هذا سيحل محل أي مفاتيح موجودة في النموذج.", + "invalidKey": "مفتاح غير صالح", + "detectionError": "خطأ في الكشف", + "removing": "إزالة:", + "clickToEditCredential": "انقر لتعديل بيانات الاعتماد", + "dragToMoveBetweenFolders": "اسحب للانتقال بين المجلدات", + "keyBasedOnlyForDeployment": "يمكن نشر بيانات الاعتماد الرئيسية فقط SSH", + "publicKeyRequiredForDeployment": "المفتاح العمومي مطلوب للنشر", + "selectTargetHost": "الرجاء تحديد المضيف المستهدف", + "keyDeployedSuccessfully": "تم نشر مفتاح SSH بنجاح", + "deploymentFailed": "فشل النشر", + "failedToDeployKey": "فشل نشر مفتاح SSH", + "clickToRenameFolder": "انقر لإعادة تسمية المجلد", + "renameFolder": "إعادة تسمية المجلد", "idLabel": "ID:" }, "dragIndicator": { - "error": "Error: {{error}}", - "dragging": "Dragging {{fileName}}", - "preparing": "Preparing {{fileName}}", - "readySingle": "Ready to download {{fileName}}", - "readyMultiple": "Ready to download {{count}} files", - "batchDrag": "Drag {{count}} files to desktop", - "dragToDesktop": "Drag to desktop", - "canDragAnywhere": "You can drag files anywhere on your desktop" + "error": "خطأ: {{error}}", + "dragging": "سحب {{fileName}}", + "preparing": "تحضير {{fileName}}", + "readySingle": "جاهز للتنزيل {{fileName}}", + "readyMultiple": "جاهز لتنزيل ملفات {{count}}", + "batchDrag": "اسحب الملفات {{count}} إلى سطح المكتب", + "dragToDesktop": "اسحب إلى سطح المكتب", + "canDragAnywhere": "يمكنك سحب الملفات في أي مكان على سطح المكتب الخاص بك" }, "sshTools": { - "title": "SSH Tools", - "closeTools": "Close SSH Tools", - "keyRecording": "Key Recording", - "startKeyRecording": "Start Key Recording", - "stopKeyRecording": "Stop Key Recording", - "selectTerminals": "Select terminals:", - "typeCommands": "Type commands (all keys supported):", - "commandsWillBeSent": "Commands will be sent to {{count}} selected terminal(s).", - "settings": "Settings", - "enableRightClickCopyPaste": "Enable right‑click copy/paste", - "shareIdeas": "Have ideas for what should come next for ssh tools? Share them on", + "title": "أدوات SSH", + "closeTools": "إغلاق أدوات SSH", + "keyRecording": "تسجيل المفتاح", + "startKeyRecording": "بدء تسجيل المفتاح", + "stopKeyRecording": "إيقاف تسجيل المفتاح", + "selectTerminals": "حدد طرفات:", + "typeCommands": "اكتب الأوامر (جميع المفاتيح مدعومة):", + "commandsWillBeSent": "سيتم إرسال الأوامر إلى المحطة الطرفية المحددة {{count}}.", + "settings": "الإعدادات", + "enableRightClickCopyPaste": "تمكين النقر بالزر الأيمن نسخ/لصق", + "shareIdeas": "هل لديك أفكار حول ما يجب أن يأتي بعد أدوات ssh؟ مشاركتهم على", "scripts": { - "inputPlaceholder": "e.g., System Commands, Docker Scripts" + "inputPlaceholder": "على سبيل المثال أوامر النظام، سكريبتات Docker" } }, "snippets": { - "title": "Snippets", - "new": "New Snippet", - "create": "Create Snippet", - "edit": "Edit Snippet", - "run": "Run", - "empty": "No snippets yet", - "emptyHint": "Create a snippet to save commonly used commands", - "searchSnippets": "Search snippets...", - "name": "Name", - "description": "Description", - "content": "Command", - "namePlaceholder": "e.g., Restart Nginx", - "descriptionPlaceholder": "Optional description", - "contentPlaceholder": "e.g., sudo systemctl restart nginx", - "nameRequired": "Name is required", - "contentRequired": "Command is required", - "createDescription": "Create a new command snippet for quick execution", - "editDescription": "Edit this command snippet", - "deleteConfirmTitle": "Delete Snippet", - "deleteConfirmDescription": "Are you sure you want to delete \"{{name}}\"?", - "createSuccess": "Snippet created successfully", - "updateSuccess": "Snippet updated successfully", - "deleteSuccess": "Snippet deleted successfully", - "createFailed": "Failed to create snippet", - "updateFailed": "Failed to update snippet", - "deleteFailed": "Failed to delete snippet", - "failedToFetch": "Failed to fetch snippets", - "executeSuccess": "Executing: {{name}}", - "copySuccess": "Copied \"{{name}}\" to clipboard", - "runTooltip": "Execute this snippet in the terminal", - "copyTooltip": "Copy snippet to clipboard", - "editTooltip": "Edit this snippet", - "deleteTooltip": "Delete this snippet", - "newFolder": "New Folder", - "reorderSameFolder": "Can only reorder snippets within the same folder", - "reorderSuccess": "Snippets reordered successfully", - "reorderFailed": "Failed to reorder snippets", - "deleteFolderConfirm": "Delete folder \"{{name}}\"? All snippets will be moved to Uncategorized.", - "deleteFolderSuccess": "Folder deleted successfully", - "deleteFolderFailed": "Failed to delete folder", - "updateFolderSuccess": "Folder updated successfully", - "createFolderSuccess": "Folder created successfully", - "updateFolderFailed": "Failed to update folder", - "createFolderFailed": "Failed to create folder", - "selectTerminals": "Select Terminals (optional)", - "executeOnSelected": "Execute on {{count}} selected terminal(s)", - "executeOnCurrent": "Execute on current terminal (click to select multiple)", - "folder": "Folder", - "selectFolder": "Select a folder or leave empty", - "noFolder": "No folder (Uncategorized)", - "folderName": "Folder Name", - "folderNameRequired": "Folder name is required", - "folderColor": "Folder Color", - "folderIcon": "Folder Icon", - "preview": "Preview", - "updateFolder": "Update Folder", - "createFolder": "Create Folder", - "editFolder": "Edit Folder", - "editFolderDescription": "Customize your snippet folder", - "createFolderDescription": "Organize your snippets into folders" + "title": "كتل الكود", + "new": "كتلة جديدة", + "create": "إنشاء كتلة كتلة", + "edit": "تعديل كتلة الكود", + "run": "تشغيل", + "empty": "لا يوجد كتل كتلة حتى الآن", + "emptyHint": "إنشاء كتلة كود لحفظ الأوامر الشائعة الاستخدام", + "searchSnippets": "البحث عن كتل الكود...", + "name": "الاسم", + "description": "الوصف", + "content": "أمر", + "namePlaceholder": "على سبيل المثال، إعادة تشغيل Nginx", + "descriptionPlaceholder": "وصف اختياري", + "contentPlaceholder": "على سبيل المثال, sudo systemctl إعادة تشغيل nginx", + "nameRequired": "الاسم مطلوب", + "contentRequired": "الأمر مطلوب", + "createDescription": "إنشاء كتلة أوامر جديدة للتنفيذ السريع", + "editDescription": "تعديل كتلة الأوامر", + "deleteConfirmTitle": "حذف كتلة الكود", + "deleteConfirmDescription": "هل أنت متأكد من أنك تريد حذف \"{{name}}\"؟", + "createSuccess": "تم إنشاء كتلة الكود بنجاح", + "updateSuccess": "تم تحديث كتلة الكود بنجاح", + "deleteSuccess": "تم حذف كتلة الكود بنجاح", + "createFailed": "فشل في إنشاء كتلة الكود", + "updateFailed": "فشل تحديث كتلة الكود", + "deleteFailed": "فشل حذف كتلة الكود", + "failedToFetch": "فشل في جلب كتل الكود", + "executeSuccess": "التنفيذ: {{name}}", + "copySuccess": "تم نسخ \"{{name}}\" إلى الحافظة", + "runTooltip": "تنفيذ هذه الكتلة في المحطة الطرفية", + "copyTooltip": "نسخ كتلة الكود إلى الحافظة", + "editTooltip": "تعديل كتلة الكود هذه", + "deleteTooltip": "حذف هذه الكتلة", + "newFolder": "مجلد جديد", + "reorderSameFolder": "يمكن فقط إعادة ترتيب كتل الكود داخل نفس المجلد", + "reorderSuccess": "تم إعادة ترتيب الكتل بنجاح", + "reorderFailed": "فشل إعادة ترتيب كتل الكود", + "deleteFolderConfirm": "حذف المجلد\"{{name}}\"؟ سيتم نقل جميع كتل الكود إلى إلغاء التصنيف.", + "deleteFolderSuccess": "تم حذف المجلد بنجاح", + "deleteFolderFailed": "فشل في حذف المجلد", + "updateFolderSuccess": "تم تحديث المجلد بنجاح", + "createFolderSuccess": "تم إنشاء المجلد بنجاح", + "updateFolderFailed": "فشل تحديث المجلد", + "createFolderFailed": "فشل في إنشاء المجلد", + "selectTerminals": "حدد المحطات الطرفية (اختياري)", + "executeOnSelected": "تنفيذ على المحطة الطرفية المحددة {{count}}", + "executeOnCurrent": "تنفيذ على المحطة الطرفية الحالية (انقر لتحديد متعدد)", + "folder": "مجلد", + "selectFolder": "حدد مجلد أو اتركه فارغاً", + "noFolder": "لا يوجد مجلد (غير مصنف)", + "folderName": "اسم المجلد", + "folderNameRequired": "اسم المجلد مطلوب", + "folderColor": "لون المجلد", + "folderIcon": "أيقونة المجلد", + "preview": "معاينة", + "updateFolder": "تحديث المجلد", + "createFolder": "إنشاء مجلد", + "editFolder": "تعديل المجلد", + "editFolderDescription": "تخصيص مجلد كتلة الكود", + "createFolderDescription": "تنظيم كتل الكتل في مجلدات" }, "commandHistory": { - "title": "History", - "searchPlaceholder": "Search commands...", - "noTerminal": "No active terminal", - "noTerminalHint": "Open a terminal to see its command history.", - "empty": "No command history yet", - "emptyHint": "Execute commands in the active terminal to build its history.", - "noResults": "No commands found", - "noResultsHint": "No commands matching \"{{query}}\"", - "deleteSuccess": "Command deleted from history", - "deleteFailed": "Failed to delete command.", - "deleteTooltip": "Delete command", - "tabHint": "Use Tab in Terminal to autocomplete from command history if enabled in User Profile", - "authRequiredRefresh": "Authentication required. Please refresh the page.", - "dataAccessLockedReauth": "Data access locked. Please re-authenticate.", - "loading": "Loading command history...", - "error": "Error Loading History" + "title": "التاريخ", + "searchPlaceholder": "ابحث في الأوامر...", + "noTerminal": "لا توجد محطة طرفية نشطة", + "noTerminalHint": "افتح محطة طرفية لمشاهدة سجل الأوامر الخاص بها.", + "empty": "لا يوجد تاريخ أمر بعد", + "emptyHint": "تنفيذ الأوامر في المحطة الطرفية النشطة لبناء تاريخها.", + "noResults": "لم يتم العثور على أوامر", + "noResultsHint": "لا توجد أوامر مطابقة \"{{query}}\"", + "deleteSuccess": "تم حذف الأمر من السجل", + "deleteFailed": "فشل في حذف الأمر.", + "deleteTooltip": "حذف الأمر", + "tabHint": "استخدم علامة التبويب في المحطة الطرفية للإكمال التلقائي من سجل الأوامر إذا تم تمكينها في الملف الشخصي للمستخدم", + "authRequiredRefresh": "المصادقة مطلوبة. الرجاء تحديث الصفحة.", + "dataAccessLockedReauth": "تم تأمين الوصول إلى البيانات. الرجاء إعادة المصادقة.", + "loading": "جاري تحميل سجل الأوامر...", + "error": "خطأ في تحميل المحفوظات" }, "splitScreen": { - "title": "Split Screen", - "none": "None", - "twoSplit": "2-Way", - "threeSplit": "3-Way", - "fourSplit": "4-Way", - "availableTabs": "Available Tabs", - "dragTabsHint": "Drag tabs to the layout cells below to assign them", - "layout": "Split Screen Layout", - "dropHere": "Drop tab here", - "apply": "Apply Split", - "clear": "Clear Split", - "selectMode": "Select a split screen mode", - "helpText": "Choose how many tabs you want to view at once", - "success": "Split screen applied successfully", - "cleared": "Split screen cleared", + "title": "تقسيم الشاشة", + "none": "لا", + "twoSplit": "طريقتان", + "threeSplit": "3-طريق", + "fourSplit": "4-طريق", + "availableTabs": "علامات التبويب المتاحة", + "dragTabsHint": "اسحب علامات التبويب إلى خلايا التخطيط أدناه لتعيينها", + "layout": "تقسيم تخطيط الشاشة", + "dropHere": "إسقاط علامة التبويب هنا", + "apply": "تطبيق التقسيم", + "clear": "مسح التقسيم", + "selectMode": "حدد وضع تقسيم الشاشة", + "helpText": "اختر عدد علامات التبويب التي تريد عرضها مرة واحدة", + "success": "تم تطبيق تقسيم الشاشة بنجاح", + "cleared": "تمّ مسح تقسيم الشاشة", "error": { - "noAssignments": "Please assign at least one tab to the layout", - "fillAllSlots": "Please fill all {{count}} slots before applying" + "noAssignments": "الرجاء تعيين علامة تبويب واحدة على الأقل للتخطيط", + "fillAllSlots": "يرجى ملء جميع فتحات {{count}} قبل تقديم الطلب" } }, "homepage": { - "loggedInTitle": "Logged in!", - "loggedInMessage": "You are logged in! Use the sidebar to access all available tools. To get started, create an SSH Host in the SSH Manager tab. Once created, you can connect to that host using the other apps in the sidebar.", - "failedToLoadAlerts": "Failed to load alerts", - "failedToDismissAlert": "Failed to dismiss alert" + "loggedInTitle": "تسجيل الدخول!", + "loggedInMessage": "أنت مسجل الدخول! استخدم الشريط الجانبي للوصول إلى جميع الأدوات المتاحة. للبدء، قم بإنشاء مضيف SSH في علامة تبويب مدير SSH. بمجرد إنشائها، يمكنك الاتصال بهذا المضيف باستخدام التطبيقات الأخرى في الشريط الجانبي.", + "failedToLoadAlerts": "فشل تحميل التنبيهات", + "failedToDismissAlert": "فشل في تجاهل التنبيه" }, "serverConfig": { - "title": "Server Configuration", - "description": "Configure the Termix server URL to connect to your backend services", - "serverUrl": "Server URL", - "enterServerUrl": "Please enter a server URL", - "testConnectionFirst": "Please test the connection first", - "connectionSuccess": "Connection successful!", - "connectionFailed": "Connection failed", - "connectionError": "Connection error occurred", - "connected": "Connected", - "disconnected": "Disconnected", - "configSaved": "Configuration saved successfully", - "saveFailed": "Failed to save configuration", - "saveError": "Error saving configuration", - "saving": "Saving...", - "saveConfig": "Save Configuration", - "helpText": "Enter the URL where your Termix server is running (e.g., http://localhost:30001 or https://your-server.com)", - "warning": "Warning", - "notValidatedWarning": "URL not validated - ensure it's correct", - "changeServer": "Change Server", - "mustIncludeProtocol": "Server URL must start with http:// or https://" + "title": "تكوين الخادم", + "description": "تكوين عنوان URL للخادم Termix للاتصال بخدمات الخلفية", + "serverUrl": "رابط الخادم", + "enterServerUrl": "الرجاء إدخال رابط الخادم", + "testConnectionFirst": "يرجى اختبار الاتصال أولاً", + "connectionSuccess": "تم الاتصال بنجاح!", + "connectionFailed": "فشل الاتصال", + "connectionError": "حدث خطأ في الاتصال", + "connected": "متصل", + "disconnected": "قطع", + "configSaved": "تم حفظ الإعدادات بنجاح", + "saveFailed": "فشل في حفظ التكوين", + "saveError": "خطأ في حفظ الإعدادات", + "saving": "حفظ...", + "saveConfig": "حفظ الإعدادات", + "helpText": "أدخل عنوان URL حيث يعمل خادم Termix الخاص بك (على سبيل المثال: http://localhost:30001 أو https://your-server.com)", + "warning": "تحذير", + "notValidatedWarning": "لم يتم التحقق من صحة الرابط - تأكد من صحته", + "changeServer": "تغيير الخادم", + "mustIncludeProtocol": "عنوان URL للخادم يجب أن يبدأ مع http:// أو https://" }, "versionCheck": { - "error": "Version Check Error", - "checkFailed": "Failed to check for updates", - "upToDate": "App is Up to Date", - "currentVersion": "You are running version {{version}}", - "updateAvailable": "Update Available", - "newVersionAvailable": "A new version is available! You are running {{current}}, but {{latest}} is available.", - "releasedOn": "Released on {{date}}", - "downloadUpdate": "Download Update", - "dismiss": "Dismiss", - "checking": "Checking for updates...", - "checkUpdates": "Check for Updates", - "checkingUpdates": "Checking for updates...", - "refresh": "Refresh", - "updateRequired": "Update Required", - "updateDismissed": "Update notification dismissed", - "noUpdatesFound": "No updates found" + "error": "خطأ في التحقق من الإصدار", + "checkFailed": "فشل التحقق من وجود تحديثات", + "upToDate": "التطبيق يصل إلى تاريخ", + "currentVersion": "أنت تقوم بتشغيل الإصدار {{version}}", + "updateAvailable": "تحديث متوفر", + "newVersionAvailable": "يتوفر إصدار جديد! أنت تقوم بتشغيل {{current}}، ولكن {{latest}} متاح.", + "releasedOn": "صدر على {{date}}", + "downloadUpdate": "تنزيل التحديث", + "dismiss": "تجاهل", + "checking": "البحث عن تحديثات...", + "checkUpdates": "التحقق من وجود تحديثات", + "checkingUpdates": "البحث عن تحديثات...", + "refresh": "تحديث", + "updateRequired": "التحديث مطلوب", + "updateDismissed": "تم رفض إشعار التحديث", + "noUpdatesFound": "لم يتم العثور على تحديثات" }, "common": { - "close": "Close", + "close": "أغلق", "minimize": "Minimize", - "online": "Online", - "offline": "Offline", - "continue": "Continue", - "maintenance": "Maintenance", - "degraded": "Degraded", - "discord": "Discord", - "error": "Error", - "warning": "Warning", - "info": "Info", - "success": "Success", - "loading": "Loading...", - "required": "Required", - "optional": "Optional", - "connect": "Connect", - "connecting": "Connecting...", - "creating": "Creating...", - "clear": "Clear", - "toggleSidebar": "Toggle Sidebar", + "online": "متصل", + "offline": "غير متصل", + "continue": "متابعة", + "maintenance": "صيانة", + "degraded": "تدهورت", + "discord": "ديسكورد", + "error": "خطأ", + "warning": "تحذير", + "info": "معلومات", + "success": "نجاح", + "loading": "تحميل...", + "required": "مطلوب", + "optional": "اختياري", + "connect": "الاتصال", + "connecting": "جاري الاتصال...", + "creating": "إنشاء...", + "clear": "مسح", + "toggleSidebar": "تبديل الشريط الجانبي", "sidebar": "Sidebar", - "home": "Home", - "expired": "Expired", - "expiresToday": "Expires today", + "home": "المنزل", + "expired": "منتهية", + "expiresToday": "تنتهي الصلاحية اليوم", "expiresTomorrow": "Expires in {{days}} days", - "updateAvailable": "Update Available", - "sshPath": "SSH Path", - "localPath": "Local Path", - "appName": "Termix", + "updateAvailable": "تحديث متوفر", + "sshPath": "مسار SSH", + "localPath": "المسار المحلي", + "appName": "تيريمكس", "resetSidebarWidth": "Reset sidebar width", - "dragToResizeSidebar": "Drag to resize sidebar", - "noAuthCredentials": "No authentication credentials available for this SSH host", - "noReleases": "No Releases", - "updatesAndReleases": "Updates & Releases", - "newVersionAvailable": "A new version ({{version}}) is available.", - "failedToFetchUpdateInfo": "Failed to fetch update information", - "preRelease": "Pre-release", - "loginFailed": "Login failed", - "noReleasesFound": "No releases found.", - "yourBackupCodes": "Your Backup Codes", - "sendResetCode": "Send Reset Code", - "verifyCode": "Verify Code", - "resetPassword": "Reset Password", + "dragToResizeSidebar": "سحب لتغيير حجم الشريط الجانبي", + "noAuthCredentials": "لا توجد بيانات اعتماد مصادقة متاحة لمضيف SSH هذا", + "noReleases": "لا توجد إصدارات", + "updatesAndReleases": "التحديثات والإصدارات", + "newVersionAvailable": "يتوفر إصدار جديد ({{version}}).", + "failedToFetchUpdateInfo": "فشل في جلب معلومات التحديث", + "preRelease": "الإصدار السابق", + "loginFailed": "فشل تسجيل الدخول", + "noReleasesFound": "لم يتم العثور على إصدارات", + "yourBackupCodes": "رموز النسخ الاحتياطي", + "sendResetCode": "إرسال رمز إعادة التعيين", + "verifyCode": "التحقق من الرمز", + "resetPassword": "إعادة تعيين كلمة المرور", "resetCode": "Reset Code", - "newPassword": "New Password", - "folder": "Folder", - "file": "File", - "renamedSuccessfully": "renamed successfully", - "deletedSuccessfully": "deleted successfully", - "noTunnelConnections": "No tunnel connections configured", - "sshTools": "SSH Tools", - "english": "English", - "chinese": "Chinese", - "german": "German", - "cancel": "Cancel", - "username": "Username", - "name": "Name", - "login": "Login", - "logout": "Logout", - "register": "Register", - "password": "Password", - "version": "Version", - "confirmPassword": "Confirm Password", - "back": "Back", - "email": "Email", - "submit": "Submit", - "change": "Change", - "save": "Save", - "saving": "Saving...", - "delete": "Delete", - "edit": "Edit", - "add": "Add", - "search": "Search", - "confirm": "Confirm", - "yes": "Yes", - "no": "No", - "ok": "OK", - "enabled": "Enabled", - "disabled": "Disabled", - "important": "Important", - "notEnabled": "Not Enabled", - "settingUp": "Setting up...", - "next": "Next", - "previous": "Previous", - "refresh": "Refresh", - "settings": "Settings", - "profile": "Profile", - "help": "Help", - "about": "About", - "language": "Language", - "autoDetect": "Auto-detect", - "changeAccountPassword": "Change your account password", - "passwordResetTitle": "Password Reset", - "passwordResetDescription": "You are about to reset your password. This will log you out of all active sessions.", - "enterSixDigitCode": "Enter the 6-digit code from the docker container logs for user:", - "enterNewPassword": "Enter your new password for user:", - "passwordsDoNotMatch": "Passwords do not match", - "passwordMinLength": "Password must be at least 6 characters long", - "passwordResetSuccess": "Password reset successfully! You can now log in with your new password.", - "failedToInitiatePasswordReset": "Failed to initiate password reset", - "failedToVerifyResetCode": "Failed to verify reset code", - "failedToCompletePasswordReset": "Failed to complete password reset", - "documentation": "Documentation", - "retry": "Retry", - "checking": "Checking...", - "checkingDatabase": "Checking database connection...", - "actions": "Actions", - "remove": "Remove", + "newPassword": "كلمة المرور الجديدة", + "folder": "مجلد", + "file": "ملف", + "renamedSuccessfully": "تمت إعادة التسمية بنجاح", + "deletedSuccessfully": "تم الحذف بنجاح", + "noTunnelConnections": "لا توجد اتصالات نفق تم تكوينها", + "sshTools": "أدوات SSH", + "english": "الإنكليزية", + "chinese": "الصينية", + "german": "الألمانية", + "cancel": "إلغاء", + "username": "اسم المستخدم", + "name": "الاسم", + "login": "تسجيل الدخول", + "logout": "تسجيل الخروج", + "register": "تسجيل", + "password": "كلمة المرور", + "version": "الإصدار", + "confirmPassword": "تأكيد كلمة المرور", + "back": "الرجوع", + "email": "البريد الإلكتروني", + "submit": "إرسال", + "change": "تغيير", + "save": "حفظ", + "saving": "حفظ...", + "delete": "حذف", + "edit": "تحرير", + "add": "إضافة", + "search": "البحث", + "confirm": "تأكيد", + "yes": "نعم", + "no": "لا", + "ok": "حسناً", + "enabled": "تمكين", + "disabled": "معطل", + "important": "مهم", + "notEnabled": "غير مفعل", + "settingUp": "جاري الإعداد...", + "next": "التالي", + "previous": "السابق", + "refresh": "تحديث", + "settings": "الإعدادات", + "profile": "الملف الشخصي", + "help": "مساعدة", + "about": "حول", + "language": "اللغة", + "autoDetect": "الكشف التلقائي", + "changeAccountPassword": "تغيير كلمة مرور حسابك", + "passwordResetTitle": "إعادة تعيين كلمة المرور", + "passwordResetDescription": "أنت على وشك إعادة تعيين كلمة المرور الخاصة بك. سيؤدي هذا إلى تسجيل خروجك من جميع الجلسات النشطة.", + "enterSixDigitCode": "أدخل الرمز المكون من 6 أرقام من سجلات حاويات الجهاز للمستخدم:", + "enterNewPassword": "أدخل كلمة المرور الجديدة للمستخدم:", + "passwordsDoNotMatch": "كلمتا المرور غير متطابقتين", + "passwordMinLength": "يجب أن تتكون كلمة المرور من 6 أحرف على الأقل", + "passwordResetSuccess": "تم إعادة تعيين كلمة المرور بنجاح! يمكنك الآن تسجيل الدخول باستخدام كلمة المرور الجديدة.", + "failedToInitiatePasswordReset": "فشل في بدء إعادة تعيين كلمة المرور", + "failedToVerifyResetCode": "فشل التحقق من إعادة تعيين الرمز", + "failedToCompletePasswordReset": "فشل في إكمال إعادة تعيين كلمة المرور", + "documentation": "الوثائق", + "retry": "إعادة المحاولة", + "checking": "يتحقق...", + "checkingDatabase": "التحقق من اتصال قاعدة البيانات...", + "actions": "الإجراءات", + "remove": "إزالة", "revoke": "Revoke", - "create": "Create" + "create": "إنشاء" }, "nav": { - "home": "Home", - "hosts": "Hosts", - "credentials": "Credentials", - "terminal": "Terminal", - "docker": "Docker", - "tunnels": "Tunnels", - "fileManager": "File Manager", - "serverStats": "Server Stats", - "admin": "Admin", - "userProfile": "User Profile", - "tools": "Tools", - "snippets": "Snippets", + "home": "المنزل", + "hosts": "المضيفون", + "credentials": "وثائق التفويض", + "terminal": "المحطة", + "docker": "دوكر", + "tunnels": "أنفاق", + "fileManager": "مدير الملفات", + "serverStats": "إحصائيات الخادم", + "admin": "المشرف", + "userProfile": "الملف الشخصي للمستخدم", + "tools": "أدوات", + "snippets": "كتل الكود", "newTab": "New Tab", - "splitScreen": "Split Screen", - "closeTab": "Close Tab", - "sshManager": "SSH Manager", - "hostManager": "Host Manager", - "cannotSplitTab": "Cannot split this tab", + "splitScreen": "تقسيم الشاشة", + "closeTab": "إغلاق علامة التبويب", + "sshManager": "مدير SSH", + "hostManager": "مدير المضيف", + "cannotSplitTab": "لا يمكن تقسيم هذا التبويب", "tabNavigation": "Tab Navigation", "hostTabTitle": "{{username}}@{{ip}}:{{port}}" }, "admin": { - "title": "Admin Settings", + "title": "إعدادات المدير", "oidc": "OIDC", - "users": "Users", - "userManagement": "User Management", - "makeAdmin": "Make Admin", - "removeAdmin": "Remove Admin", - "deleteUser": "Delete user {{username}}? This cannot be undone.", - "allowRegistration": "Allow Registration", - "oidcSettings": "OIDC Settings", - "clientId": "Client ID", - "clientSecret": "Client Secret", - "issuerUrl": "Issuer URL", - "authorizationUrl": "Authorization URL", - "tokenUrl": "Token URL", - "updateSettings": "Update Settings", - "confirmDelete": "Are you sure you want to delete this user?", + "users": "المستخدمون", + "userManagement": "إدارة المستخدم", + "makeAdmin": "إنشاء مشرف", + "removeAdmin": "إزالة المشرف", + "deleteUser": "حذف المستخدم {{username}}؟ لا يمكن التراجع عن ذلك.", + "allowRegistration": "السماح للتسجيل", + "oidcSettings": "إعدادات OIDC", + "clientId": "معرف العميل", + "clientSecret": "سر العميل", + "issuerUrl": "رابط المصدر", + "authorizationUrl": "رابط التخويل", + "tokenUrl": "رابط الرمز المميز", + "updateSettings": "تحديث الإعدادات", + "confirmDelete": "هل أنت متأكد من أنك تريد حذف هذا المستخدم؟", "confirmMakeAdmin": "Are you sure you want to make {{username}} an admin?", - "confirmRemoveAdmin": "Are you sure you want to remove admin status from {{username}}?", - "externalAuthentication": "External Authentication (OIDC)", - "configureExternalProvider": "Configure external identity provider for OIDC/OAuth2 authentication.", - "userIdentifierPath": "User Identifier Path", - "displayNamePath": "Display Name Path", - "scopes": "Scopes", - "saving": "Saving...", - "saveConfiguration": "Save Configuration", + "confirmRemoveAdmin": "هل أنت متأكد من أنك تريد إزالة حالة المشرف من {{username}}؟", + "externalAuthentication": "المصادقة الخارجية (OIDC)", + "configureExternalProvider": "تكوين موفر الهوية الخارجي للمصادقة OIDC/OAuth2.", + "userIdentifierPath": "مسار معرف المستخدم", + "displayNamePath": "عرض مسار الاسم", + "scopes": "النطاقات", + "saving": "حفظ...", + "saveConfiguration": "حفظ الإعدادات", "reset": "Reset", - "success": "Success", - "loading": "Loading...", - "refresh": "Refresh", - "loadingUsers": "Loading users...", - "username": "Username", - "type": "Type", - "actions": "Actions", - "external": "External", - "local": "Local", - "adminManagement": "Admin Management", - "makeUserAdmin": "Make User Admin", - "adding": "Adding...", - "currentAdmins": "Current Admins", - "adminBadge": "Admin", - "removeAdminButton": "Remove Admin", - "general": "General", - "userRegistration": "User Registration", - "allowNewAccountRegistration": "Allow new account registration", - "allowPasswordLogin": "Allow username/password login", - "missingRequiredFields": "Missing required fields: {{fields}}", - "oidcConfigurationUpdated": "OIDC configuration updated successfully!", - "failedToFetchOidcConfig": "Failed to fetch OIDC configuration", - "failedToFetchRegistrationStatus": "Failed to fetch registration status", - "failedToFetchPasswordLoginStatus": "Failed to fetch password login status", - "failedToFetchUsers": "Failed to fetch users", - "oidcConfigurationDisabled": "OIDC configuration disabled successfully!", - "failedToUpdateOidcConfig": "Failed to update OIDC configuration", - "failedToDisableOidcConfig": "Failed to disable OIDC configuration", - "enterUsernameToMakeAdmin": "Enter username to make admin", - "userIsNowAdmin": "User {{username}} is now an admin", - "failedToMakeUserAdmin": "Failed to make user admin", - "removeAdminStatus": "Remove admin status from {{username}}?", - "adminStatusRemoved": "Admin status removed from {{username}}", - "failedToRemoveAdminStatus": "Failed to remove admin status", - "userDeletedSuccessfully": "User {{username}} deleted successfully", - "failedToDeleteUser": "Failed to delete user", - "overrideUserInfoUrl": "Override User Info URL (not required)", - "failedToFetchSessions": "Failed to fetch sessions", - "sessionRevokedSuccessfully": "Session revoked successfully", - "failedToRevokeSession": "Failed to revoke session", - "confirmRevokeSession": "Are you sure you want to revoke this session?", - "confirmRevokeAllSessions": "Are you sure you want to revoke all sessions for this user?", - "failedToRevokeSessions": "Failed to revoke sessions", - "sessionsRevokedSuccessfully": "Sessions revoked successfully", - "linkToPasswordAccount": "Link to Password Account", - "linkOIDCDialogTitle": "Link OIDC Account to Password Account", - "linkOIDCDialogDescription": "Link {{username}} (OIDC user) to an existing password account. This will enable dual authentication for the password account.", - "createUser": "Create User", - "createUserDescription": "Create a new local user with username and password", - "enterUsername": "Enter username", - "enterPassword": "Enter password", - "userCreatedSuccessfully": "User {{username}} created successfully", - "failedToCreateUser": "Failed to create user", - "manageUser": "Manage User", - "manageUserDescription": "Manage user settings, roles, and permissions", - "authType": "Authentication Type", - "adminStatus": "Admin Status", - "userId": "User ID", - "regularUser": "Regular User", - "adminPrivileges": "Administrator Privileges", - "administratorRole": "Administrator Role", - "administratorRoleDescription": "Grant full system access and management privileges", - "passwordManagement": "Password Management", - "passwordResetWarning": "Resetting a user's password will delete all their data (SSH hosts, credentials, settings). This action cannot be undone.", - "resetUserPassword": "Reset User Password", - "resettingPassword": "Resetting...", - "passwordResetInitiated": "Password reset initiated for {{username}}. Reset code sent.", - "failedToResetPassword": "Failed to initiate password reset", - "sessionManagement": "Session Management", - "revokeAllSessions": "Revoke All Sessions", - "revokeAllSessionsDescription": "Force logout from all devices and sessions", - "revoking": "Revoking...", - "revoke": "Revoke All", - "dangerZone": "Danger Zone", - "deleteUserTitle": "Delete User Account", - "deleteUserWarning": "Permanently delete this user account and all associated data. This action cannot be undone.", - "deleting": "Deleting...", - "cannotDeleteSelf": "You cannot delete your own account", - "cannotRemoveLastAdmin": "Cannot remove the last administrator", - "cannotRemoveOwnAdmin": "You cannot remove your own admin privileges", - "cannotModifyOwnAdminStatus": "You cannot modify your own admin status", - "dualAuth": "Dual Auth", - "externalOIDC": "External (OIDC)", - "localPassword": "Local Password", - "confirmRevokeOwnSessions": "Are you sure you want to revoke all your own sessions? You will be logged out.", - "linkOIDCWarningTitle": "Warning: OIDC User Data Will Be Deleted", - "linkOIDCActionDeleteUser": "Delete the OIDC user account and all their data", - "linkOIDCActionAddCapability": "Add OIDC login capability to the target password account", - "linkOIDCActionDualAuth": "Allow the password account to login with both password and OIDC", - "linkTargetUsernameLabel": "Target Password Account Username", - "linkTargetUsernamePlaceholder": "Enter username of password account", - "linkAccountsButton": "Link Accounts", - "linkingAccounts": "Linking...", - "accountsLinkedSuccessfully": "OIDC user {{oidcUsername}} has been linked to {{targetUsername}}", - "failedToLinkAccounts": "Failed to link accounts", - "linkTargetUsernameRequired": "Target username is required", - "unlinkOIDCTitle": "Unlink OIDC Authentication", - "unlinkOIDCDescription": "Remove OIDC authentication from {{username}}? The user will only be able to login with username/password after this.", - "unlinkOIDCSuccess": "OIDC unlinked from {{username}}", - "failedToUnlinkOIDC": "Failed to unlink OIDC", - "databaseSecurity": "Database Security", - "encryptionStatus": "Encryption Status", - "encryptionEnabled": "Encryption Enabled", - "enabled": "Enabled", - "disabled": "Disabled", - "keyId": "Key ID", - "created": "Created", - "migrationStatus": "Migration Status", - "migrationCompleted": "Migration completed", - "migrationRequired": "Migration required", - "deviceProtectedMasterKey": "Environment-Protected Master Key", - "legacyKeyStorage": "Legacy Key Storage", - "masterKeyEncryptedWithDeviceFingerprint": "Master key encrypted with environment fingerprint (KEK protection active)", - "keyNotProtectedByDeviceBinding": "Key not protected by environment binding (upgrade recommended)", + "success": "نجاح", + "loading": "تحميل...", + "refresh": "تحديث", + "loadingUsers": "تحميل المستخدمين...", + "username": "اسم المستخدم", + "type": "نوع", + "actions": "الإجراءات", + "external": "خارجي", + "local": "محلي", + "adminManagement": "إدارة المدير", + "makeUserAdmin": "جعل المستخدم مشرف", + "adding": "إضافة...", + "currentAdmins": "المشرفون الحاليون", + "adminBadge": "المشرف", + "removeAdminButton": "إزالة المشرف", + "general": "عام", + "userRegistration": "تسجيل المستخدم", + "allowNewAccountRegistration": "السماح بتسجيل حساب جديد", + "allowPasswordLogin": "السماح باستخدام اسم المستخدم/كلمة المرور", + "missingRequiredFields": "الحقول المطلوبة مفقودة: {{fields}}", + "oidcConfigurationUpdated": "تم تحديث تكوين OIDC بنجاح!", + "failedToFetchOidcConfig": "فشل في جلب إعدادات OIDC", + "failedToFetchRegistrationStatus": "فشل في جلب حالة التسجيل", + "failedToFetchPasswordLoginStatus": "فشل في جلب حالة تسجيل الدخول لكلمة المرور", + "failedToFetchUsers": "فشل في جلب المستخدمين", + "oidcConfigurationDisabled": "تم تعطيل اعدادات OIDC بنجاح!", + "failedToUpdateOidcConfig": "فشل تحديث إعدادات OIDC", + "failedToDisableOidcConfig": "فشل تعطيل إعدادات OIDC", + "enterUsernameToMakeAdmin": "أدخل اسم المستخدم لجعل المشرف", + "userIsNowAdmin": "المستخدم {{username}} هو مشرف الآن", + "failedToMakeUserAdmin": "فشل في جعل مشرف المستخدم", + "removeAdminStatus": "إزالة حالة المشرف من {{username}}؟", + "adminStatusRemoved": "تمت إزالة حالة المشرف من {{username}}", + "failedToRemoveAdminStatus": "فشل في إزالة حالة المشرف", + "userDeletedSuccessfully": "تم حذف المستخدم {{username}} بنجاح", + "failedToDeleteUser": "فشل في حذف المستخدم", + "overrideUserInfoUrl": "تجاوز رابط معلومات المستخدم (غير مطلوب)", + "failedToFetchSessions": "فشل في جلب الجلسات", + "sessionRevokedSuccessfully": "تم إلغاء الجلسة بنجاح", + "failedToRevokeSession": "فشل في إلغاء الجلسة", + "confirmRevokeSession": "هل أنت متأكد من أنك تريد إلغاء هذه الجلسة؟", + "confirmRevokeAllSessions": "هل أنت متأكد من أنك تريد إلغاء جميع الجلسات لهذا المستخدم؟", + "failedToRevokeSessions": "فشل في إلغاء الجلسات", + "sessionsRevokedSuccessfully": "تم إلغاء الجلسات بنجاح", + "linkToPasswordAccount": "رابط لحساب كلمة المرور", + "linkOIDCDialogTitle": "ربط حساب OIDC بحساب كلمة المرور", + "linkOIDCDialogDescription": "ربط {{username}} مستخدم (OIDC) بحساب كلمة المرور الموجود. وهذا سيمكن المصادقة المزدوجة لحساب كلمة المرور.", + "createUser": "إنشاء مستخدم", + "createUserDescription": "إنشاء مستخدم محلي جديد مع اسم المستخدم وكلمة المرور", + "enterUsername": "أدخل اسم المستخدم", + "enterPassword": "أدخل كلمة المرور", + "userCreatedSuccessfully": "تم إنشاء المستخدم {{username}} بنجاح", + "failedToCreateUser": "فشل في إنشاء المستخدم", + "manageUser": "إدارة المستخدم", + "manageUserDescription": "إدارة إعدادات المستخدم والأدوار والأذونات", + "authType": "نوع المصادقة", + "adminStatus": "حالة المشرف", + "userId": "معرف المستخدم", + "regularUser": "مستخدم عادي", + "adminPrivileges": "امتيازات المدير", + "administratorRole": "دور المدير", + "administratorRoleDescription": "منح امتيازات كاملة للوصول إلى النظام وإدارتها", + "passwordManagement": "إدارة كلمة المرور", + "passwordResetWarning": "إعادة تعيين كلمة مرور المستخدم سيؤدي إلى حذف جميع بياناتهم (مستضيفي SH، بيانات الاعتماد، الإعدادات). لا يمكن التراجع عن هذا الإجراء.", + "resetUserPassword": "إعادة تعيين كلمة مرور المستخدم", + "resettingPassword": "إعادة تعيين...", + "passwordResetInitiated": "تم بدء إعادة تعيين كلمة المرور ل {{username}}. تم إرسال رمز إعادة التعيين.", + "failedToResetPassword": "فشل في بدء إعادة تعيين كلمة المرور", + "sessionManagement": "إدارة الجلسة", + "revokeAllSessions": "إلغاء جميع الجلسات", + "revokeAllSessionsDescription": "إجبار الخروج من جميع الأجهزة والجلسات", + "revoking": "إلغاء...", + "revoke": "إلغاء الكل", + "dangerZone": "منطقة الخطر", + "deleteUserTitle": "حذف حساب المستخدم", + "deleteUserWarning": "حذف حساب المستخدم هذا وكافة البيانات المرتبطة به بشكل دائم. لا يمكن التراجع عن هذا الإجراء.", + "deleting": "حذف...", + "cannotDeleteSelf": "لا يمكنك حذف حسابك الخاص", + "cannotRemoveLastAdmin": "لا يمكن إزالة المسؤول الأخير", + "cannotRemoveOwnAdmin": "لا يمكنك إزالة امتيازات المشرف الخاص بك", + "cannotModifyOwnAdminStatus": "لا يمكنك تعديل حالة المشرف الخاص بك", + "dualAuth": "المصادقة المزدوجة", + "externalOIDC": "خارجي (OIDC)", + "localPassword": "كلمة المرور المحلية", + "confirmRevokeOwnSessions": "هل أنت متأكد من أنك تريد إلغاء جميع جلساتك الخاصة؟ سيتم تسجيل الخروج.", + "linkOIDCWarningTitle": "تحذير: سيتم حذف بيانات المستخدم OIDC", + "linkOIDCActionDeleteUser": "حذف حساب مستخدم OIDC وجميع بياناتهم", + "linkOIDCActionAddCapability": "إضافة قدرة تسجيل الدخول OIDC إلى حساب كلمة المرور المستهدفة", + "linkOIDCActionDualAuth": "السماح لحساب كلمة المرور بتسجيل الدخول باستخدام كل من كلمة المرور و OIDC", + "linkTargetUsernameLabel": "اسم مستخدم حساب كلمة المرور الهدف", + "linkTargetUsernamePlaceholder": "أدخل اسم المستخدم لحساب كلمة المرور", + "linkAccountsButton": "ربط الحسابات", + "linkingAccounts": "ربط...", + "accountsLinkedSuccessfully": "تم ربط مستخدم OIDC {{oidcUsername}} بـ {{targetUsername}}", + "failedToLinkAccounts": "فشل في ربط الحسابات", + "linkTargetUsernameRequired": "اسم المستخدم الهدف مطلوب", + "unlinkOIDCTitle": "إلغاء ربط مصادقة OIDC", + "unlinkOIDCDescription": "إزالة مصادقة OIDC من {{username}}؟ المستخدم سيكون قادرا فقط على تسجيل الدخول باستخدام اسم المستخدم/كلمة المرور بعد ذلك.", + "unlinkOIDCSuccess": "OIDC غير مرتبط بـ {{username}}", + "failedToUnlinkOIDC": "فشل إلغاء ربط OIDC", + "databaseSecurity": "أمن قاعدة البيانات", + "encryptionStatus": "حالة التشفير", + "encryptionEnabled": "التشفير ممكّن", + "enabled": "تمكين", + "disabled": "معطل", + "keyId": "معرف المفتاح", + "created": "أنشئ", + "migrationStatus": "حالة الهجرة", + "migrationCompleted": "اكتمل الترحيل", + "migrationRequired": "الهجرة مطلوبة", + "deviceProtectedMasterKey": "المفتاح الرئيسي المحمي للبيئة", + "legacyKeyStorage": "تخزين المفتاح القديم", + "masterKeyEncryptedWithDeviceFingerprint": "مفتاح رئيسي مشفر مع بصمة البيئة (حماية كيك نشطة)", + "keyNotProtectedByDeviceBinding": "مفتاح غير محمي بربط البيئة (الترقية الموصى بها)", "valid": "Valid", - "initializeDatabaseEncryption": "Initialize Database Encryption", - "enableAes256EncryptionWithDeviceBinding": "Enable AES-256 encryption with environment-bound master key protection. This creates enterprise-grade security for SSH keys, passwords, and authentication tokens.", - "featuresEnabled": "Features enabled:", - "aes256GcmAuthenticatedEncryption": "AES-256-GCM authenticated encryption", - "deviceFingerprintMasterKeyProtection": "Environment fingerprint master key protection (KEK)", - "pbkdf2KeyDerivation": "PBKDF2 key derivation with 100K iterations", - "automaticKeyManagement": "Automatic key management and rotation", - "initializing": "Initializing...", - "initializeEnterpriseEncryption": "Initialize Enterprise Encryption", - "migrateExistingData": "Migrate Existing Data", - "encryptExistingUnprotectedData": "Encrypt existing unprotected data in your database. This process is safe and creates automatic backups.", - "testMigrationDryRun": "Verify Encryption Compatibility", - "migrating": "Migrating...", - "migrateData": "Migrate Data", - "securityInformation": "Security Information", - "sshPrivateKeysEncryptedWithAes256": "SSH private keys and passwords are encrypted with AES-256-GCM", - "userAuthTokensProtected": "User authentication tokens and 2FA secrets are protected", - "masterKeysProtectedByDeviceFingerprint": "Master encryption keys are protected by device fingerprint (KEK)", - "keysBoundToServerInstance": "Keys are bound to current server environment (migratable via environment variables)", - "pbkdf2HkdfKeyDerivation": "PBKDF2 + HKDF key derivation with 100K iterations", - "backwardCompatibleMigration": "All data remains backward compatible during migration", - "enterpriseGradeSecurityActive": "Enterprise-Grade Security Active", - "masterKeysProtectedByDeviceBinding": "Your master encryption keys are protected by environment fingerprinting. This uses server hostname, paths, and other environment info to generate protection keys. To migrate servers, set the DB_ENCRYPTION_KEY environment variable on the new server.", - "important": "Important", - "keepEncryptionKeysSecure": "Ensure data security: regularly backup your database files and server configuration. To migrate to a new server, set the DB_ENCRYPTION_KEY environment variable on the new environment, or maintain the same hostname and directory structure.", - "loadingEncryptionStatus": "Loading encryption status...", - "testMigrationDescription": "Verify that existing data can be safely migrated to encrypted format without actually modifying any data", - "serverMigrationGuide": "Server Migration Guide", - "migrationInstructions": "To migrate encrypted data to a new server: 1) Backup database files, 2) Set environment variable DB_ENCRYPTION_KEY=\"your-key\" on new server, 3) Restore database files", - "environmentProtection": "Environment Protection", - "environmentProtectionDesc": "Protects encryption keys based on server environment info (hostname, paths, etc.), migratable via environment variables", - "verificationCompleted": "Compatibility verification completed - no data was changed", - "verificationInProgress": "Verification completed", - "dataMigrationCompleted": "Data migration completed successfully!", - "verificationFailed": "Compatibility verification failed", - "migrationFailed": "Migration failed", - "runningVerification": "Running compatibility verification...", - "startingMigration": "Starting migration...", - "hardwareFingerprintSecurity": "Hardware Fingerprint Security", - "hardwareBoundEncryption": "Hardware-Bound Encryption Active", - "masterKeysNowProtectedByHardwareFingerprint": "Master keys are now protected by real hardware fingerprinting instead of environment variables", - "cpuSerialNumberDetection": "CPU serial number detection", - "motherboardUuidIdentification": "Motherboard UUID identification", - "diskSerialNumberVerification": "Disk serial number verification", - "biosSerialNumberCheck": "BIOS serial number check", - "stableMacAddressFiltering": "Stable MAC address filtering", - "databaseFileEncryption": "Database File Encryption", - "dualLayerProtection": "Dual-Layer Protection Active", - "bothFieldAndFileEncryptionActive": "Both field-level and file-level encryption are now active for maximum security", - "fieldLevelAes256Encryption": "Field-level AES-256 encryption for sensitive data", - "fileLevelDatabaseEncryption": "File-level database encryption with hardware binding", - "hardwareBoundFileKeys": "Hardware-bound file encryption keys", - "automaticEncryptedBackups": "Automatic encrypted backup creation", - "createEncryptedBackup": "Create Encrypted Backup", - "creatingBackup": "Creating Backup...", - "backupCreated": "Backup Created", - "encryptedBackupCreatedSuccessfully": "Encrypted backup created successfully", - "backupCreationFailed": "Backup creation failed", - "databaseMigration": "Database Migration", - "exportForMigration": "Export for Migration", - "exportDatabaseForHardwareMigration": "Export database as SQLite file with decrypted data for migration to new hardware", + "initializeDatabaseEncryption": "تهيئة تشفير قاعدة البيانات", + "enableAes256EncryptionWithDeviceBinding": "تمكين تشفير AES-256 مع حماية المفاتيح الرئيسية المرتبطة بالبيئة. هذا يخلق أمان درجة المؤسسة لمفاتيح SSH وكلمات المرور وتوثيق الرموز.", + "featuresEnabled": "المميزات مفعلة:", + "aes256GcmAuthenticatedEncryption": "تشفير AES-256-GCM المصادق عليه", + "deviceFingerprintMasterKeyProtection": "حماية المفتاح الرئيسي لبصمة البيئة (KEK)", + "pbkdf2KeyDerivation": "اشتقاق مفتاح PBKDF2 مع تكرارات 100K", + "automaticKeyManagement": "الإدارة التلقائية للمفاتيح وتناوبها", + "initializing": "تهيئة...", + "initializeEnterpriseEncryption": "تهيئة تشفير المؤسسة", + "migrateExistingData": "ترحيل البيانات الموجودة", + "encryptExistingUnprotectedData": "قم بتشفير البيانات الموجودة غير المحمية في قاعدة البيانات الخاصة بك. هذه العملية آمنة وتنشئ النسخ الاحتياطي التلقائي.", + "testMigrationDryRun": "التحقق من توافق التشفير", + "migrating": "هجرة...", + "migrateData": "ترحيل البيانات", + "securityInformation": "المعلومات الأمنية", + "sshPrivateKeysEncryptedWithAes256": "مفاتيح SSH الخاصة وكلمات المرور مشفرة باستخدام AES-256-GCM", + "userAuthTokensProtected": "رمز مصادقة المستخدم و أسرار 2FA محمية", + "masterKeysProtectedByDeviceFingerprint": "مفاتيح التشفير الرئيسية محمية ببصمة الجهاز (KEK)", + "keysBoundToServerInstance": "المفاتيح مرتبطة ببيئة الخادوم الحالية (يمكن نقلها عبر متغيرات البيئة)", + "pbkdf2HkdfKeyDerivation": "اشتقاق مفتاح PBKDF2 + HKDF مع تكرارات 100K", + "backwardCompatibleMigration": "تظل جميع البيانات متوافقة إلى الوراء أثناء الترحيل", + "enterpriseGradeSecurityActive": "نَشِط أمن درجة المؤسسة", + "masterKeysProtectedByDeviceBinding": "مفاتيح التشفير الرئيسية الخاصة بك محمية بواسطة بصمات الأصابع البيئية. يستخدم هذا اسم مضيف الخادم، المسارات ومعلومات البيئة الأخرى لتوليد مفاتيح الحماية. لترحيل الخوادم، قم بتعيين متغير بيئة DB_ENCRYPTION_KEY على الخادم الجديد.", + "important": "مهم", + "keepEncryptionKeysSecure": "تأكد من أمن البيانات: النسخ الاحتياطي بانتظام لملفات قاعدة البيانات وتكوين الخادم. للانتقال إلى خادم جديد، قم بتعيين متغير بيئة DB_ENCRYPTION_KEY على البيئة الجديدة، أو الحفاظ على نفس اسم المضيف وهيكل الدليل.", + "loadingEncryptionStatus": "جاري تحميل حالة التشفير...", + "testMigrationDescription": "التحقق من أن البيانات الموجودة يمكن نقلها بأمان إلى تنسيق مشفر دون تعديل أي بيانات بالفعل", + "serverMigrationGuide": "دليل هجرة الخادم", + "migrationInstructions": "لترحيل البيانات المشفرة إلى خادم جديد: 1) نسخ احتياطي لملفات قاعدة البيانات، 2) تعيين متغير البيئة DB_ENCRYPTION_KEY=\"المفتاح الخاص بك\" على خادم جديد، 3) استعادة ملفات قاعدة البيانات", + "environmentProtection": "حماية البيئة", + "environmentProtectionDesc": "يحمي مفاتيح التشفير استنادًا إلى معلومات بيئة الخادم (اسم المضيف، المسارات، إلخ.)، قابلة للترحيل عبر متغيرات البيئة", + "verificationCompleted": "تم التحقق من التوافق - لم يتم تغيير أي بيانات", + "verificationInProgress": "اكتمل التحقق", + "dataMigrationCompleted": "اكتمل نقل البيانات بنجاح!", + "verificationFailed": "فشل التحقق من التوافق", + "migrationFailed": "فشل الترحيل", + "runningVerification": "تشغيل التحقق من التوافق...", + "startingMigration": "بدء الهجرة...", + "hardwareFingerprintSecurity": "أمان بصمة الجهاز", + "hardwareBoundEncryption": "تنشيط تشفير Hardware-Bound", + "masterKeysNowProtectedByHardwareFingerprint": "المفاتيح الرئيسية محمية الآن بواسطة بصمات الأجهزة الحقيقية بدلا من متغيرات البيئة", + "cpuSerialNumberDetection": "كشف الرقم التسلسلي لوحدة المعالجة المركزية", + "motherboardUuidIdentification": "تحديد UUID لوحات الأم", + "diskSerialNumberVerification": "التحقق من الرقم المسلسل للقرص", + "biosSerialNumberCheck": "التحقق من الرقم التسلسلي لـ BIOS", + "stableMacAddressFiltering": "تصفية عنوان MAC المستقر", + "databaseFileEncryption": "تشفير ملف قاعدة البيانات", + "dualLayerProtection": "حماية مزدوجة الطبقة نشطة", + "bothFieldAndFileEncryptionActive": "التشفير على المستوى الميداني ومستوى الملفات الآن نشط لأقصى قدر من الأمان", + "fieldLevelAes256Encryption": "تشفير على مستوى الميدان AES-256 للبيانات الحساسة", + "fileLevelDatabaseEncryption": "تشفير قاعدة بيانات مستوى الملف مع ربط الأجهزة", + "hardwareBoundFileKeys": "مفاتيح تشفير الملفات المرتبطة بالهدادي", + "automaticEncryptedBackups": "إنشاء نسخة احتياطية مشفرة تلقائياً", + "createEncryptedBackup": "إنشاء نسخة احتياطية مشفرة", + "creatingBackup": "إنشاء النسخ الاحتياطي...", + "backupCreated": "تم إنشاء نسخة احتياطية", + "encryptedBackupCreatedSuccessfully": "تم إنشاء نسخة احتياطية مشفرة بنجاح", + "backupCreationFailed": "فشل إنشاء النسخ الاحتياطي", + "databaseMigration": "نقل قاعدة البيانات", + "exportForMigration": "تصدير من أجل الهجرة", + "exportDatabaseForHardwareMigration": "تصدير قاعدة البيانات كملف SQLite مع بيانات فك تشفير للترحيل إلى أجهزة جديدة", "exportDatabase": "Export SQLite Database", - "exporting": "Exporting...", - "exportCreated": "SQLite Export Created", - "exportContainsDecryptedData": "SQLite export contains decrypted data - keep secure!", - "databaseExportedSuccessfully": "SQLite database exported successfully", - "databaseExportFailed": "SQLite database export failed", - "importFromMigration": "Import from Migration", - "importDatabaseFromAnotherSystem": "Import SQLite database from another system or hardware", + "exporting": "تصدير...", + "exportCreated": "تم إنشاء تصدير SQLite", + "exportContainsDecryptedData": "تصدير SQLite يحتوي على بيانات غير مشفرة - ابقى آمن!", + "databaseExportedSuccessfully": "تم تصدير قاعدة بيانات SQLite بنجاح", + "databaseExportFailed": "فشل تصدير قاعدة البيانات SQLite", + "importFromMigration": "استيراد من الهجرة", + "importDatabaseFromAnotherSystem": "استيراد قاعدة بيانات SQLite من نظام آخر أو أجهزة أخرى", "importDatabase": "Import SQLite Database", - "importing": "Importing...", - "selectedFile": "Selected SQLite File", - "importWillReplaceExistingData": "SQLite import will replace existing data - backup recommended!", - "pleaseSelectImportFile": "Please select a SQLite import file", - "databaseImportedSuccessfully": "SQLite database imported successfully", - "databaseImportFailed": "SQLite database import failed", - "manageEncryptionAndBackups": "Manage encryption keys, database security, and backup operations", - "activeSecurityFeatures": "Currently active security measures and protections", - "deviceBindingTechnology": "Advanced hardware-based key protection technology", - "backupAndRecovery": "Secure backup creation and database recovery options", - "crossSystemDataTransfer": "Export and import databases across different systems", - "noMigrationNeeded": "No migration needed", - "encryptionKey": "Encryption Key", - "keyProtection": "Key Protection", - "active": "Active", - "legacy": "Legacy", - "dataStatus": "Data Status", - "encrypted": "Encrypted", - "needsMigration": "Needs Migration", - "ready": "Ready", - "initializeEncryption": "Initialize Encryption", - "initialize": "Initialize", - "test": "Test", - "migrate": "Migrate", - "backup": "Backup", - "createBackup": "Create Backup", - "exportImport": "Export/Import", - "export": "Export", - "import": "Import", - "passwordRequired": "Password required", - "confirmExport": "Confirm Export", - "exportDescription": "Export SSH hosts and credentials as SQLite file", - "importDescription": "Import SQLite file with incremental merge (skips duplicates)", - "criticalWarning": "Critical Warning", - "cannotDisablePasswordLoginWithoutOIDC": "Cannot disable password login without OIDC configured! You must configure OIDC authentication before disabling password login, or you will lose access to Termix.", - "confirmDisablePasswordLogin": "Are you sure you want to disable password login? Make sure OIDC is properly configured and working before proceeding, or you will lose access to your Termix instance.", - "passwordLoginDisabled": "Password login disabled successfully", - "passwordLoginAndRegistrationDisabled": "Password login and new account registration disabled successfully", - "requiresPasswordLogin": "Requires password login enabled", - "passwordLoginDisabledWarning": "Password login is disabled. Ensure OIDC is properly configured or you will not be able to log in to Termix.", - "oidcRequiredWarning": "CRITICAL: Password login is disabled. If you reset or misconfigure OIDC, you will lose all access to Termix and brick your instance. Only proceed if you are absolutely certain.", - "confirmDisableOIDCWarning": "WARNING: You are about to disable OIDC while password login is also disabled. This will brick your Termix instance and you will lose all access. Are you absolutely sure you want to proceed?", - "failedToUpdatePasswordLoginStatus": "Failed to update password login status", - "loadingSessions": "Loading sessions...", - "noActiveSessions": "No active sessions found.", - "device": "Device", - "user": "User", - "lastActive": "Last Active", - "expires": "Expires", + "importing": "استيراد...", + "selectedFile": "ملف SQLite المحدد", + "importWillReplaceExistingData": "استيراد SQLite سيحل محل البيانات الموجودة - النسخ الاحتياطي الموصى به!", + "pleaseSelectImportFile": "الرجاء تحديد ملف استيراد SQLite", + "databaseImportedSuccessfully": "تم استيراد قاعدة بيانات SQLite بنجاح", + "databaseImportFailed": "فشل استيراد قاعدة البيانات SQLite", + "manageEncryptionAndBackups": "إدارة مفاتيح التشفير، وأمن قاعدة البيانات، وعمليات النسخ الاحتياطي", + "activeSecurityFeatures": "التدابير وتدابير الحماية الأمنية الناشطة حاليا", + "deviceBindingTechnology": "تكنولوجيا الحماية الرئيسية المتقدمة القائمة على المعدات", + "backupAndRecovery": "إنشاء نسخة احتياطية آمنة وخيارات استعادة قاعدة البيانات", + "crossSystemDataTransfer": "تصدير واستيراد قواعد بيانات عبر النظم المختلفة", + "noMigrationNeeded": "لا تحتاج إلى ترحيل", + "encryptionKey": "مفتاح التشفير", + "keyProtection": "حماية المفتاح", + "active": "نشط", + "legacy": "الإرث", + "dataStatus": "حالة البيانات", + "encrypted": "مشفرة", + "needsMigration": "يحتاج إلى هجرة", + "ready": "مستعد", + "initializeEncryption": "تهيئة التشفير", + "initialize": "تهيئة", + "test": "اختبار", + "migrate": "ترحيل", + "backup": "النسخ الاحتياطي", + "createBackup": "إنشاء نسخة احتياطية", + "exportImport": "تصدير/استيراد", + "export": "تصدير", + "import": "استيراد", + "passwordRequired": "كلمة المرور مطلوبة", + "confirmExport": "تأكيد التصدير", + "exportDescription": "تصدير مضيفي SSH و بيانات الاعتماد كملف SQLite", + "importDescription": "استيراد ملف SQLite مع الدمج التصاعدي (تخطي التكرار)", + "criticalWarning": "تحذير حاسم", + "cannotDisablePasswordLoginWithoutOIDC": "لا يمكن تعطيل تسجيل الدخول إلى كلمة المرور بدون تكوين OIDC! يجب تكوين مصادقة OIDC قبل تعطيل تسجيل الدخول لكلمة المرور، أو ستفقد الوصول إلى Termix.", + "confirmDisablePasswordLogin": "هل أنت متأكد من أنك تريد تعطيل تسجيل الدخول لكلمة المرور؟ تأكد من تكوين OIDC بشكل صحيح والعمل قبل المتابعة، أو ستفقد الوصول إلى مثيل Termix الخاص بك.", + "passwordLoginDisabled": "تم تعطيل تسجيل الدخول لكلمة المرور بنجاح", + "passwordLoginAndRegistrationDisabled": "تسجيل الدخول لكلمة المرور وتسجيل الحساب الجديد معطل بنجاح", + "requiresPasswordLogin": "يتطلب تسجيل الدخول لكلمة المرور مفعل", + "passwordLoginDisabledWarning": "تسجيل الدخول لكلمة المرور معطل. تأكد من تكوين OIDC بشكل صحيح أو لن تتمكن من تسجيل الدخول إلى Termix.", + "oidcRequiredWarning": "إنشاء: تم تعطيل تسجيل الدخول لكلمة المرور. إذا قمت بإعادة تعيين OIDC أو إساءة إعداده، فستفقد جميع الصلاحيات إلى Termix وستلغي مثالك. المضي قدما فقط إذا كنت متأكدا تماما.", + "confirmDisableOIDCWarning": "تحذير: أنت على وشك تعطيل OIDC بينما يتم تعطيل تسجيل الدخول لكلمة المرور أيضا. سيؤدي هذا إلى طوب مثيل الـ Termix الخاص بك وسوف تفقد كل الوصول. هل أنت متأكد تماما من أنك تريد المتابعة؟", + "failedToUpdatePasswordLoginStatus": "فشل تحديث حالة تسجيل الدخول لكلمة المرور", + "loadingSessions": "جاري تحميل الجلسات...", + "noActiveSessions": "لم يتم العثور على جلسات نشطة.", + "device": "الجهاز", + "user": "المستخدم", + "lastActive": "آخر نشاط", + "expires": "تنتهي", "revoked": "Revoked", - "revokeAllUserSessionsTitle": "Revoke all sessions for this user", - "revokeAll": "Revoke All", - "linkOidcToPasswordAccount": "Link OIDC Account to Password Account", - "linkOidcToPasswordAccountDescription": "Link {{username}} (OIDC user) to an existing password account. This will enable dual authentication for the password account.", - "linkOidcWarningTitle": "Warning: OIDC User Data Will Be Deleted", - "linkOidcWarningDescription": "This action will:", - "linkOidcActionDeleteUser": "Delete the OIDC user account and all their data", - "linkOidcActionAddCapability": "Add OIDC login capability to the target password account", - "linkOidcActionDualAuth": "Allow the password account to login with both password and OIDC", - "passwordMinLength": "Password must be at least 6 characters", - "currentRoles": "Current Roles", - "noRolesAssigned": "No roles assigned", - "assignNewRole": "Assign New Role" + "revokeAllUserSessionsTitle": "إلغاء جميع الجلسات لهذا المستخدم", + "revokeAll": "إلغاء الكل", + "linkOidcToPasswordAccount": "ربط حساب OIDC بحساب كلمة المرور", + "linkOidcToPasswordAccountDescription": "ربط {{username}} مستخدم (OIDC) بحساب كلمة المرور الموجود. وهذا سيمكن المصادقة المزدوجة لحساب كلمة المرور.", + "linkOidcWarningTitle": "تحذير: سيتم حذف بيانات المستخدم OIDC", + "linkOidcWarningDescription": "وسيقوم هذا الإجراء بما يلي:", + "linkOidcActionDeleteUser": "حذف حساب مستخدم OIDC وجميع بياناتهم", + "linkOidcActionAddCapability": "إضافة قدرة تسجيل الدخول OIDC إلى حساب كلمة المرور المستهدفة", + "linkOidcActionDualAuth": "السماح لحساب كلمة المرور بتسجيل الدخول باستخدام كل من كلمة المرور و OIDC", + "passwordMinLength": "يجب أن تتكون كلمة المرور من 6 أحرف على الأقل", + "currentRoles": "الأدوار الحالية", + "noRolesAssigned": "لا توجد أدوار مسندة", + "assignNewRole": "تعيين دور جديد" }, "hosts": { - "title": "Host Manager", - "sshHosts": "SSH Hosts", - "noHosts": "No SSH Hosts", - "noHostsMessage": "You haven't added any SSH hosts yet. Click \"Add Host\" to get started.", - "loadingHosts": "Loading hosts...", - "failedToLoadHosts": "Failed to load hosts", - "retry": "Retry", - "refresh": "Refresh", - "optional": "Optional", + "title": "مدير المضيف", + "sshHosts": "مضيفي SSH", + "noHosts": "لا يوجد مضيفين SSH", + "noHostsMessage": "لم تقم بإضافة أي مضيف SSH حتى الآن. انقر فوق \"إضافة مضيف\" للبدء.", + "loadingHosts": "جاري تحميل المضيفين...", + "failedToLoadHosts": "فشل تحميل المضيفين", + "retry": "إعادة المحاولة", + "refresh": "تحديث", + "optional": "اختياري", "hostsCount": "{{count}} hosts", - "importJson": "Import JSON", - "importing": "Importing...", - "importJsonTitle": "Import SSH Hosts from JSON", - "importJsonDesc": "Upload a JSON file to bulk import multiple SSH hosts (max 100).", - "downloadSample": "Download Sample", - "formatGuide": "Format Guide", - "exportCredentialWarning": "Warning: Host \"{{name}}\" uses credential authentication. The exported file will not include the credential data and will need to be manually reconfigured after import. Do you want to continue?", - "exportSensitiveDataWarning": "Warning: Host \"{{name}}\" contains sensitive authentication data (password/SSH key). The exported file will include this data in plaintext. Please keep the file secure and delete it after use. Do you want to continue?", - "uncategorized": "Uncategorized", - "confirmDelete": "Are you sure you want to delete \"{{name}}\" ?", - "failedToDeleteHost": "Failed to delete host", - "failedToExportHost": "Failed to export host. Please ensure you're logged in and have access to the host data.", - "jsonMustContainHosts": "JSON must contain a \"hosts\" array or be an array of hosts", - "noHostsInJson": "No hosts found in JSON file", - "maxHostsAllowed": "Maximum 100 hosts allowed per import", - "importCompleted": "Import completed: {{success}} successful, {{failed}} failed", - "importFailed": "Import failed", - "importError": "Import error", - "failedToImportJson": "Failed to import JSON file", - "connectionDetails": "Connection Details", - "organization": "Organization", - "ipAddress": "IP Address", - "port": "Port", - "name": "Name", - "username": "Username", - "folder": "Folder", - "tags": "Tags", - "pin": "Pin", - "notes": "Notes", - "expirationDate": "Expiration Date", - "passwordRequired": "Password is required when using password authentication", - "sshKeyRequired": "SSH Private Key is required when using key authentication", - "keyTypeRequired": "Key Type is required when using key authentication", - "mustSelectValidSshConfig": "Must select a valid SSH configuration from the list", - "addHost": "Add Host", - "editHost": "Edit Host", - "cloneHost": "Clone Host", - "updateHost": "Update Host", - "hostUpdatedSuccessfully": "Host \"{{name}}\" updated successfully!", - "hostAddedSuccessfully": "Host \"{{name}}\" added successfully!", - "hostDeletedSuccessfully": "Host \"{{name}}\" deleted successfully!", - "failedToSaveHost": "Failed to save host. Please try again.", - "savingHost": "Saving host...", - "updatingHost": "Updating host...", - "cloningHost": "Cloning host...", - "enableTerminal": "Enable Terminal", - "enableTerminalDesc": "Enable/disable host visibility in Terminal tab", - "enableTunnel": "Enable Tunnel", - "enableTunnelDesc": "Enable/disable host visibility in Tunnel tab", - "enableFileManager": "Enable File Manager", - "enableFileManagerDesc": "Enable/disable host visibility in File Manager tab", - "enableDockerDesc": "Enable/disable host visibility in Docker tab", - "enableDocker": "Enable Docker", - "defaultPath": "Default Path", - "defaultPathDesc": "Default directory when opening file manager for this host", - "tunnelConnections": "Tunnel Connections", - "connection": "Connection", - "remove": "Remove", - "sourcePort": "Source Port", - "sourcePortDesc": " (Source refers to the Current Connection Details in the General tab)", - "endpointPort": "Endpoint Port", - "endpointSshConfig": "Endpoint SSH Configuration", - "tunnelForwardDescription": "This tunnel will forward traffic from port {{sourcePort}} on the source machine (current connection details in general tab) to port {{endpointPort}} on the endpoint machine.", - "maxRetries": "Max Retries", - "maxRetriesDescription": "Maximum number of retry attempts for tunnel connection.", - "retryInterval": "Retry Interval (seconds)", - "retryIntervalDescription": "Time to wait between retry attempts.", - "autoStartContainer": "Auto Start on Container Launch", - "autoStartDesc": "Automatically start this tunnel when the container launches", - "addConnection": "Add Tunnel Connection", - "sshpassRequired": "Sshpass Required For Password Authentication", - "sshpassRequiredDesc": "For password authentication in tunnels, sshpass must be installed on the system.", - "otherInstallMethods": "Other installation methods:", - "debianUbuntuEquivalent": "(Debian/Ubuntu) or the equivalent for your OS.", - "or": "or", + "importJson": "استيراد JSON", + "importing": "استيراد...", + "importJsonTitle": "استيراد مضيف SSH من JSON", + "importJsonDesc": "تحميل ملف JSON لاستيراد مستضيفات SSH متعددة (الحد الأقصى 100).", + "downloadSample": "تحميل عينة", + "formatGuide": "دليل التنسيق", + "exportCredentialWarning": "تحذير: المضيف \"{{name}}\" يستخدم مصادقة الاعتماد. الملف الذي تم تصديره لن يتضمن بيانات الاعتماد وسوف تحتاج إلى إعادة تكوين يدوياً بعد الاستيراد. هل تريد الاستمرار؟", + "exportSensitiveDataWarning": "تحذير: المضيف \"{{name}}\" يحتوي على بيانات مصادقة حساسة (كلمة المرور/مفتاح SH). سيتضمن الملف الذي تم تصديره هذه البيانات في plaintext. الرجاء الحفاظ على الملف آمن وحذفه بعد الاستخدام. هل تريد المتابعة؟", + "uncategorized": "غير مصنف", + "confirmDelete": "هل أنت متأكد من أنك تريد حذف \"{{name}}\" ؟", + "failedToDeleteHost": "فشل في حذف المضيف", + "failedToExportHost": "فشل في تصدير المضيف. الرجاء التأكد من تسجيل الدخول والوصول إلى بيانات المضيف.", + "jsonMustContainHosts": "JSON يجب أن يحتوي على مصفوفة \"المضيفين\" أو أن يكون مصفوفة من المضيفين", + "noHostsInJson": "لم يتم العثور على مضيف في ملف JSON", + "maxHostsAllowed": "الحد الأقصى المسموح به 100 مضيف لكل استيراد", + "importCompleted": "اكتمل الاستيراد: {{success}} ناجح, {{failed}} فشل", + "importFailed": "فشل الاستيراد", + "importError": "خطأ في الاستيراد", + "failedToImportJson": "فشل استيراد ملف JSON", + "connectionDetails": "تفاصيل الاتصال", + "organization": "المنظمة", + "ipAddress": "عنوان IP", + "port": "المنفذ", + "name": "الاسم", + "username": "اسم المستخدم", + "folder": "مجلد", + "tags": "الوسوم", + "pin": "تثبيت", + "notes": "الحواشي", + "expirationDate": "تاريخ انتهاء الصلاحية", + "passwordRequired": "كلمة المرور مطلوبة عند استخدام مصادقة كلمة المرور", + "sshKeyRequired": "مفتاح SSH الخاص مطلوب عند استخدام مصادقة المفتاح", + "keyTypeRequired": "نوع المفتاح مطلوب عند استخدام مصادقة المفتاح", + "mustSelectValidSshConfig": "يجب تحديد تكوين SSH صالح من القائمة", + "addHost": "إضافة مضيف", + "editHost": "تحرير المضيف", + "cloneHost": "استنساخ المضيف", + "updateHost": "تحديث المضيف", + "hostUpdatedSuccessfully": "المضيف \"{{name}}تم تحديثه بنجاح!", + "hostAddedSuccessfully": "استضيف \"{{name}}\" تمت إضافته بنجاح!", + "hostDeletedSuccessfully": "استضيف \"{{name}}\" حذف بنجاح!", + "failedToSaveHost": "فشل في حفظ المضيف. الرجاء المحاولة مرة أخرى.", + "savingHost": "حفظ المضيف...", + "updatingHost": "تحديث المضيف...", + "cloningHost": "استنساخ المضيف...", + "enableTerminal": "تمكين المحطة الطرفية", + "enableTerminalDesc": "تمكين/تعطيل رؤية المضيف في علامة التبويب الطرفية", + "enableTunnel": "تمكين النفق", + "enableTunnelDesc": "تمكين/تعطيل رؤية المضيف في تبويب النفق", + "enableFileManager": "تمكين مدير الملفات", + "enableFileManagerDesc": "تمكين/تعطيل رؤية المضيف في علامة تبويب مدير الملفات", + "enableDockerDesc": "تمكين/تعطيل رؤية المضيف في علامة التبويب Docker", + "enableDocker": "تمكين Docker", + "defaultPath": "المسار الافتراضي", + "defaultPathDesc": "الدليل الافتراضي عند فتح مدير الملفات لهذا المضيف", + "tunnelConnections": "اتصالات النفق", + "connection": "اتصال", + "remove": "إزالة", + "sourcePort": "منفذ المصدر", + "sourcePortDesc": " (المصدر يشير إلى تفاصيل الاتصال الحالية في علامة التبويب العام)", + "endpointPort": "منفذ نقطة النهاية", + "endpointSshConfig": "تكوين SSH نقطة النهاية", + "tunnelForwardDescription": "سيؤدي هذا النفق إلى نقل حركة المرور من المنفذ {{sourcePort}} على جهاز المصدر (تفاصيل الاتصال الحالي في التبويب العام) إلى المنفذ {{endpointPort}} على جهاز نقطة النهاية.", + "maxRetries": "الحد الاقصى لمحاولات", + "maxRetriesDescription": "الحد الأقصى لعدد محاولات إعادة المحاولة للاتصال بالأنفاق.", + "retryInterval": "الفاصل الزمني لإعادة المحاولة (بالثواني)", + "retryIntervalDescription": "حان وقت الانتظار بين محاولات إعادة المحاولة.", + "autoStartContainer": "بدء التشغيل التلقائي عند تشغيل الحاوية", + "autoStartDesc": "تشغيل هذا النفق تلقائياً عند تشغيل الحاوية", + "addConnection": "إضافة اتصال نفق", + "sshpassRequired": "تجاوز مطلوب للمصادقة على كلمة المرور", + "sshpassRequiredDesc": "للمصادقة بكلمة المرور في الأنفاق، يجب تثبيت Sshpassعلى النظام.", + "otherInstallMethods": "طرق تثبيت أخرى:", + "debianUbuntuEquivalent": "(Debian/Ubuntu) أو ما يعادلها من نظام التشغيل الخاص بك.", + "or": "أو", "centosRhelFedora": "CentOS/RHEL/Fedora", "macos": "macOS", - "windows": "Windows", - "sshServerConfigRequired": "SSH Server Configuration Required", - "sshServerConfigDesc": "For tunnel connections, the SSH server must be configured to allow port forwarding:", - "gatewayPortsYes": "to bind remote ports to all interfaces", - "allowTcpForwardingYes": "to enable port forwarding", - "permitRootLoginYes": "if using root user for tunneling", - "editSshConfig": "Edit /etc/ssh/sshd_config and restart SSH: sudo systemctl restart sshd", - "upload": "Upload", - "authentication": "Authentication", - "password": "Password", - "key": "Key", - "credential": "Credential", - "none": "None", - "selectCredential": "Select Credential", - "selectCredentialPlaceholder": "Choose a credential...", - "credentialRequired": "Credential is required when using credential authentication", - "credentialDescription": "Selecting a credential will overwrite the current username and use the credential's authentication details.", - "cannotChangeAuthAsSharedUser": "Cannot change authentication as shared user", - "sshPrivateKey": "SSH Private Key", - "keyPassword": "Key Password", - "keyType": "Key Type", - "autoDetect": "Auto-detect", + "windows": "ويندوز", + "sshServerConfigRequired": "إعدادات خادم SSH مطلوبة", + "sshServerConfigDesc": "بالنسبة لاتصالات الأنفاق، يجب تكوين خادم SSH للسماح بإعادة توجيه المنفذ:", + "gatewayPortsYes": "لربط المنافذ البعيدة بجميع الواجهات", + "allowTcpForwardingYes": "لتمكين إعادة توجيه المنفذ", + "permitRootLoginYes": "إذا استخدم المستخدم الجذر للتنقل", + "editSshConfig": "تحرير /etc/ssh/sshd_config وإعادة تشغيل SSH: إعادة تشغيل sudo systemctl sshd", + "upload": "تحميل", + "authentication": "المصادقة", + "password": "كلمة المرور", + "key": "المفتاح", + "credential": "بيانات", + "none": "لا", + "selectCredential": "حدد بيانات الاعتماد", + "selectCredentialPlaceholder": "اختر بيانات الاعتماد...", + "credentialRequired": "الاعتماد مطلوب عند استخدام مصادقة الاعتماد", + "credentialDescription": "تحديد بيانات الاعتماد سيؤدي إلى الكتابة فوق اسم المستخدم الحالي واستخدام تفاصيل مصادقة بيانات الاعتماد.", + "cannotChangeAuthAsSharedUser": "لا يمكن تغيير المصادقة كمستخدم مشترك", + "sshPrivateKey": "مفتاح SSH الخاص", + "keyPassword": "كلمة المرور الرئيسية", + "keyType": "نوع المفتاح", + "autoDetect": "الكشف التلقائي", "rsa": "RSA", "ed25519": "ED25519", - "ecdsaNistP256": "ECDSA NIST P-256", - "ecdsaNistP384": "ECDSA NIST P-384", + "ecdsaNistP256": "الجدول ألف - 6", + "ecdsaNistP384": "الجدول ألف - 4", "ecdsaNistP521": "ECDSA NIST P-521", "dsa": "DSA", "rsaSha2256": "RSA SHA2-256", "rsaSha2512": "RSA SHA2-512", - "uploadFile": "Upload File", - "pasteKey": "Paste Key", - "updateKey": "Update Key", - "existingKey": "Existing Key (click to change)", - "existingCredential": "Existing Credential (click to change)", - "addTagsSpaceToAdd": "add tags (space to add)", - "terminalBadge": "Terminal", - "tunnelBadge": "Tunnel", - "fileManagerBadge": "File Manager", - "general": "General", - "terminal": "Terminal", - "tunnel": "Tunnel", - "fileManager": "File Manager", - "serverStats": "Server Stats", - "hostViewer": "Host Viewer", - "enableServerStats": "Enable Server Stats", - "enableServerStatsDesc": "Enable/disable server statistics collection for this host", - "displayItems": "Display Items", - "displayItemsDesc": "Choose which metrics to display on the server stats page", - "enableCpu": "CPU Usage", - "enableMemory": "Memory Usage", - "enableDisk": "Disk Usage", - "enableNetwork": "Network Statistics (Coming Soon)", - "enableProcesses": "Process Count (Coming Soon)", - "enableUptime": "Uptime (Coming Soon)", - "enableHostname": "Hostname (Coming Soon)", - "enableOs": "Operating System (Coming Soon)", - "customCommands": "Custom Commands (Coming Soon)", - "customCommandsDesc": "Define custom shutdown and reboot commands for this server", - "shutdownCommand": "Shutdown Command", - "rebootCommand": "Reboot Command", - "confirmRemoveFromFolder": "Are you sure you want to remove \"{{name}}\" from folder \"{{folder}}\"? The host will be moved to \"No Folder\".", - "removedFromFolder": "Host \"{{name}}\" removed from folder successfully", - "failedToRemoveFromFolder": "Failed to remove host from folder", - "folderRenamed": "Folder \"{{oldName}}\" renamed to \"{{newName}}\" successfully", - "failedToRenameFolder": "Failed to rename folder", - "editFolderAppearance": "Edit Folder Appearance", - "editFolderAppearanceDesc": "Customize the color and icon for folder", - "folderColor": "Folder Color", - "folderIcon": "Folder Icon", - "preview": "Preview", - "folderAppearanceUpdated": "Folder appearance updated successfully", - "failedToUpdateFolderAppearance": "Failed to update folder appearance", - "deleteAllHostsInFolder": "Delete All Hosts in Folder", - "confirmDeleteAllHostsInFolder": "Are you sure you want to delete all {{count}} hosts in folder \"{{folder}}\"? This action cannot be undone.", - "allHostsInFolderDeleted": "Deleted {{count}} hosts from folder \"{{folder}}\" successfully", - "failedToDeleteHostsInFolder": "Failed to delete hosts in folder", - "movedToFolder": "Host \"{{name}}\" moved to \"{{folder}}\" successfully", - "failedToMoveToFolder": "Failed to move host to folder", - "clickToRenameFolder": "Click to rename folder", - "renameFolder": "Rename folder", - "removeFromFolder": "Remove from folder \"{{folder}}\"", - "editHostTooltip": "Edit host", - "deleteHostTooltip": "Delete host", - "exportHostTooltip": "Export host", - "cloneHostTooltip": "Clone host", - "clickToEditHost": "Click to edit host", - "dragToMoveBetweenFolders": "Drag to move between folders", - "exportedHostConfig": "Exported host configuration for {{name}}", - "openTerminal": "Open Terminal", - "openFileManager": "Open File Manager", - "openTunnels": "Open Tunnels", - "openServerDetails": "Open Server Details", - "statistics": "Statistics", - "enabledWidgets": "Enabled Widgets", - "openServerStats": "Open Server Stats", - "enabledWidgetsDesc": "Select which statistics widgets to display for this host", - "monitoringConfiguration": "Monitoring Configuration", - "monitoringConfigurationDesc": "Configure how often server statistics and status are checked", - "statusCheckEnabled": "Enable Status Monitoring", - "statusCheckEnabledDesc": "Check if the server is online or offline", - "statusCheckInterval": "Status Check Interval", - "statusCheckIntervalDesc": "How often to check if host is online (5s - 1h)", - "metricsEnabled": "Enable Metrics Monitoring", - "metricsEnabledDesc": "Collect CPU, RAM, disk, and other system statistics", - "metricsInterval": "Metrics Collection Interval", - "metricsIntervalDesc": "How often to collect server statistics (5s - 1h)", - "intervalSeconds": "seconds", - "intervalMinutes": "minutes", - "intervalValidation": "Monitoring intervals must be between 5 seconds and 1 hour (3600 seconds)", - "monitoringDisabled": "Server monitoring is disabled for this host", - "enableMonitoring": "Enable monitoring in Host Manager → Statistics tab", - "monitoringDisabledBadge": "Monitoring Off", - "statusMonitoring": "Status", - "metricsMonitoring": "Metrics", - "terminalCustomization": "Terminal Customization", - "appearance": "Appearance", - "behavior": "Behavior", - "advanced": "Advanced", - "themePreview": "Theme Preview", - "theme": "Theme", - "selectTheme": "Select theme", - "chooseColorTheme": "Choose a color theme for the terminal", - "fontFamily": "Font Family", + "uploadFile": "تحميل ملف", + "pasteKey": "لصق المفتاح", + "updateKey": "تحديث المفتاح", + "existingKey": "المفتاح الحالي (انقر للتغيير)", + "existingCredential": "بيانات الاعتماد الحالية (انقر للتغيير)", + "addTagsSpaceToAdd": "إضافة وسوم (مساحة لإضافة)", + "terminalBadge": "المحطة", + "tunnelBadge": "نفق", + "fileManagerBadge": "مدير الملفات", + "general": "عام", + "terminal": "المحطة", + "tunnel": "نفق", + "fileManager": "مدير الملفات", + "serverStats": "إحصائيات الخادم", + "hostViewer": "عارض المضيف", + "enableServerStats": "تمكين إحصائيات الخادم", + "enableServerStatsDesc": "تمكين/تعطيل مجموعة إحصائيات الخادم لهذا المضيف", + "displayItems": "عرض العناصر", + "displayItemsDesc": "اختر المقاييس التي سيتم عرضها في صفحة إحصائيات الخادم", + "enableCpu": "استخدام المعالج", + "enableMemory": "استخدام الذاكرة", + "enableDisk": "استخدام القرص", + "enableNetwork": "إحصاءات الشبكة (قريبا)", + "enableProcesses": "عدد العمليات (قريبا)", + "enableUptime": "وقت التحديث (قريبا)", + "enableHostname": "اسم المضيف (قريبا)", + "enableOs": "نظام التشغيل (قريبا)", + "customCommands": "أوامر مخصصة (قريبا)", + "customCommandsDesc": "تحديد أوامر إيقاف التشغيل وإعادة التشغيل المخصصة لهذا الخادم", + "shutdownCommand": "إيقاف تشغيل الأمر", + "rebootCommand": "أمر إعادة التشغيل", + "confirmRemoveFromFolder": "هل أنت متأكد من أنك تريد إزالة \"{{name}}\" من المجلد \"{{folder}}\"؟ المضيف سيتم نقله إلى \"لا مجلد\".", + "removedFromFolder": "المضيف \"{{name}}تمت إزالته من المجلد بنجاح", + "failedToRemoveFromFolder": "فشل إزالة المضيف من المجلد", + "folderRenamed": "المجلد \"{{oldName}}\" أعيدت تسميته إلى \"{{newName}}\" بنجاح", + "failedToRenameFolder": "فشل في إعادة تسمية المجلد", + "editFolderAppearance": "تحرير مظهر المجلد", + "editFolderAppearanceDesc": "تخصيص اللون والأيقونة للمجلد", + "folderColor": "لون المجلد", + "folderIcon": "أيقونة المجلد", + "preview": "معاينة", + "folderAppearanceUpdated": "تم تحديث مظهر المجلد بنجاح", + "failedToUpdateFolderAppearance": "فشل تحديث مظهر المجلد", + "deleteAllHostsInFolder": "حذف جميع المضيفين في المجلد", + "confirmDeleteAllHostsInFolder": "هل أنت متأكد من أنك تريد حذف جميع المضيفين {{count}} في المجلد \"{{folder}}\"؟ لا يمكن التراجع عن هذا الإجراء.", + "allHostsInFolderDeleted": "تم حذف مضيفين {{count}} من المجلد \"{{folder}}\" بنجاح", + "failedToDeleteHostsInFolder": "فشل في حذف المضيفين في المجلد", + "movedToFolder": "المضيف \"{{name}}\" انتقل إلى \"{{folder}}\" بنجاح", + "failedToMoveToFolder": "فشل نقل المضيف إلى المجلد", + "clickToRenameFolder": "انقر لإعادة تسمية المجلد", + "renameFolder": "إعادة تسمية المجلد", + "removeFromFolder": "إزالة من المجلد \"{{folder}}\"", + "editHostTooltip": "تحرير المضيف", + "deleteHostTooltip": "حذف المضيف", + "exportHostTooltip": "تصدير المضيف", + "cloneHostTooltip": "استنساخ المضيف", + "clickToEditHost": "انقر لتعديل المضيف", + "dragToMoveBetweenFolders": "اسحب للانتقال بين المجلدات", + "exportedHostConfig": "تصدير إعدادات المضيف ل {{name}}", + "openTerminal": "فتح محطة طرفية", + "openFileManager": "فتح مدير الملفات", + "openTunnels": "فتح الأنفاق", + "openServerDetails": "فتح تفاصيل الخادم", + "statistics": "الإحصائيات", + "enabledWidgets": "تمكين الودجت", + "openServerStats": "فتح إحصائيات الخادم", + "enabledWidgetsDesc": "حدد الاحصائيات التي سيتم عرضها لهذا المضيف", + "monitoringConfiguration": "إعدادات الرصد", + "monitoringConfigurationDesc": "تكوين عدد المرات التي يتم فيها التحقق من إحصائيات السيرفر والحالة", + "statusCheckEnabled": "تمكين مراقبة الحالة", + "statusCheckEnabledDesc": "تحقق مما إذا كان الخادم متصلاً أو غير متصل", + "statusCheckInterval": "فترة التحقق من الحالة", + "statusCheckIntervalDesc": "كم عدد المرات للتحقق مما إذا كان المضيف متصل بالإنترنت (5s - 1ساعة)", + "metricsEnabled": "تمكين مراقبة القياسات", + "metricsEnabledDesc": "جمع إحصائيات المعالجة، ذاكرة الوصول العشوائي، القرص وغيرها من إحصائيات النظام", + "metricsInterval": "الفاصل الزمني لمجموعة القياسات", + "metricsIntervalDesc": "كم عدد المرات لجمع إحصائيات الخادم (5s - 1ساعة)", + "intervalSeconds": "ثواني", + "intervalMinutes": "دقائق", + "intervalValidation": "يجب أن تكون فترات الرصد بين 5 ثوان وساعة واحدة (3600 ثانية)", + "monitoringDisabled": "تم تعطيل مراقبة السيرفر لهذا المضيف", + "enableMonitoring": "تمكين المراقبة في مدير المضيف → علامة تبويب الإحصاءات", + "monitoringDisabledBadge": "إيقاف الرصد", + "statusMonitoring": "الحالة", + "metricsMonitoring": "القياسات", + "terminalCustomization": "تخصيص المحطة الطرفية", + "appearance": "المظهر", + "behavior": "السلوك", + "advanced": "متقدم", + "themePreview": "معاينة السمة", + "theme": "السمة", + "selectTheme": "حدد السمة", + "chooseColorTheme": "اختر سمة لون للمحطة الطرفية", + "fontFamily": "عائلة الخط", "selectFont": "Select font", - "selectFontDesc": "Select the font to use in the terminal", + "selectFontDesc": "حدد الخط لاستخدامه في المحطة الطرفية", "fontSize": "Font Size", - "fontSizeValue": "Font Size: {{value}}px", - "adjustFontSize": "Adjust the terminal font size", - "letterSpacing": "Letter Spacing", - "letterSpacingValue": "Letter Spacing: {{value}}px", - "adjustLetterSpacing": "Adjust spacing between characters", - "lineHeight": "Line Height", - "lineHeightValue": "Line Height: {{value}}", - "adjustLineHeight": "Adjust spacing between lines", - "cursorStyle": "Cursor Style", - "selectCursorStyle": "Select cursor style", - "cursorStyleBlock": "Block", - "cursorStyleUnderline": "Underline", - "cursorStyleBar": "Bar", - "chooseCursorAppearance": "Choose the cursor appearance", - "cursorBlink": "Cursor Blink", - "enableCursorBlink": "Enable cursor blinking animation", - "scrollbackBuffer": "Scrollback Buffer", + "fontSizeValue": "حجم الخط: {{value}}px", + "adjustFontSize": "ضبط حجم الخط الطرفي", + "letterSpacing": "تباعد الحروف", + "letterSpacingValue": "تباعد الحرف: {{value}}px", + "adjustLetterSpacing": "ضبط المسافة بين الأحرف", + "lineHeight": "ارتفاع الخط", + "lineHeightValue": "ارتفاع الخط: {{value}}", + "adjustLineHeight": "ضبط المسافة بين الأسطر", + "cursorStyle": "نمط المؤشر", + "selectCursorStyle": "حدد نمط المؤشر", + "cursorStyleBlock": "كتلة", + "cursorStyleUnderline": "أسفل", + "cursorStyleBar": "شريط", + "chooseCursorAppearance": "اختر مظهر المؤشر", + "cursorBlink": "وميض المؤشر", + "enableCursorBlink": "تمكين المؤشّر الضبابي المتحرك", + "scrollbackBuffer": "المخزن المؤقت للتمرير", "scrollbackBufferValue": "Scrollback Buffer: {{value}} lines", - "scrollbackBufferDesc": "Number of lines to keep in scrollback history", - "bellStyle": "Bell Style", - "selectBellStyle": "Select bell style", - "bellStyleNone": "None", - "bellStyleSound": "Sound", - "bellStyleVisual": "Visual", - "bellStyleBoth": "Both", - "bellStyleDesc": "How to handle terminal bell (BEL character, \\x07). Programs trigger this when completing tasks, encountering errors, or for notifications. \"Sound\" plays an audio beep, \"Visual\" flashes the screen briefly, \"Both\" does both, \"None\" disables bell alerts.", - "rightClickSelectsWord": "Right Click Selects Word", - "rightClickSelectsWordDesc": "Right-clicking selects the word under cursor", - "fastScrollModifier": "Fast Scroll Modifier", - "selectModifier": "Select modifier", + "scrollbackBufferDesc": "عدد الأسطر التي يجب الاحتفاظ بها في سجل التمرير", + "bellStyle": "نمط الجرس", + "selectBellStyle": "حدد نمط الجرس", + "bellStyleNone": "لا", + "bellStyleSound": "صوت", + "bellStyleVisual": "مرئي", + "bellStyleBoth": "كلاهما", + "bellStyleDesc": "كيفية التعامل مع الجرس الطرفي (رمز BEL ، \\x07). البرامج تشغل هذا عند إكمال المهام، مواجهة الأخطاء، أو للإخطارات. \"الصوت\" يشغل باقة صوتية، و \"مرئية\" تشعل الشاشة بإيجاز، و \"كليهما\" يفعل كلاهما، و \"لا شيء\" يعطل تنبيهات الجذر.", + "rightClickSelectsWord": "النقر الأيمن يحدد الكلمة", + "rightClickSelectsWordDesc": "النقر على اليمين يحدد الكلمة تحت المؤشر", + "fastScrollModifier": "تعديل التمرير السريع", + "selectModifier": "حدد معدلا", "modifierAlt": "Alt", "modifierCtrl": "Ctrl", - "modifierShift": "Shift", - "fastScrollModifierDesc": "Modifier key for fast scrolling", - "fastScrollSensitivity": "Fast Scroll Sensitivity", - "fastScrollSensitivityValue": "Fast Scroll Sensitivity: {{value}}", - "fastScrollSensitivityDesc": "Scroll speed multiplier when modifier is held", - "minimumContrastRatio": "Minimum Contrast Ratio", - "minimumContrastRatioValue": "Minimum Contrast Ratio: {{value}}", - "minimumContrastRatioDesc": "Automatically adjust colors for better readability", - "sshAgentForwarding": "SSH Agent Forwarding", - "sshAgentForwardingDesc": "Forward SSH authentication agent to remote host", - "backspaceMode": "Backspace Mode", - "selectBackspaceMode": "Select backspace mode", - "backspaceModeNormal": "Normal (DEL)", - "backspaceModeControlH": "Control-H (^H)", - "backspaceModeDesc": "Backspace key behavior for compatibility", - "startupSnippet": "Startup Snippet", - "selectSnippet": "Select snippet", - "searchSnippets": "Search snippets...", - "snippetNone": "None", - "noneAuthTitle": "Keyboard-Interactive Authentication", - "noneAuthDescription": "This authentication method will use keyboard-interactive authentication when connecting to the SSH server.", - "noneAuthDetails": "Keyboard-interactive authentication allows the server to prompt you for credentials during connection. This is useful for servers that require multi-factor authentication or if you do not want to save credentials locally.", - "forceKeyboardInteractive": "Force Keyboard-Interactive", - "forceKeyboardInteractiveDesc": "Forces the use of keyboard-interactive authentication. This is sometimes required for servers that use Two-Factor Authentication (TOTP/2FA).", - "overrideCredentialUsername": "Override Credential Username", - "overrideCredentialUsernameDesc": "Use a different username than the one stored in the credential. This allows you to use the same credential with different usernames.", - "jumpHosts": "Jump Hosts", - "jumpHostsDescription": "Jump hosts (also known as bastion hosts) allow you to connect to a target server through one or more intermediate servers. This is useful for accessing servers behind firewalls or in private networks.", - "jumpHostChain": "Jump Host Chain", - "addJumpHost": "Add Jump Host", - "selectServer": "Select Server", - "searchServers": "Search servers...", - "noServerFound": "No server found", - "jumpHostsOrder": "Connections will be made in order: Jump Host 1 → Jump Host 2 → ... → Target Server", - "socks5Proxy": "SOCKS5 Proxy", - "socks5Description": "Configure SOCKS5 proxy for SSH connection. All traffic will be routed through the specified proxy server.", - "enableSocks5": "Enable SOCKS5 Proxy", - "enableSocks5Description": "Use SOCKS5 proxy for this SSH connection", - "socks5Host": "Proxy Host", - "socks5Port": "Proxy Port", - "socks5Username": "Proxy Username", - "socks5Password": "Proxy Password", - "socks5UsernameOptional": "Optional: leave empty if proxy doesn't require authentication", - "socks5PasswordOptional": "Optional: leave empty if proxy doesn't require authentication", - "socks5ProxyChain": "Proxy Chain", - "socks5ProxyChainDescription": "Configure a chain of SOCKS proxies. Each proxy in the chain will connect through the previous one.", - "socks5ProxyMode": "Proxy Mode", - "socks5UseSingleProxy": "Use Single Proxy", - "socks5UseProxyChain": "Use Proxy Chain", - "socks5UsePreset": "Use Saved Preset", - "socks5SelectPreset": "Select Preset", - "socks5ManagePresets": "Manage Presets", - "socks5ProxyNode": "Proxy {{number}}", - "socks5AddProxy": "Add Proxy to Chain", - "socks5RemoveProxy": "Remove Proxy", - "socks5ProxyType": "Proxy Type", - "socks5SaveAsPreset": "Save as Preset", - "socks5SavePresetTitle": "Save Proxy Chain as Preset", - "socks5SavePresetDescription": "Save the current proxy chain configuration as a reusable preset", - "socks5PresetName": "Preset Name", - "socks5PresetDescription": "Description (optional)", - "socks5PresetCreated": "Proxy chain preset created", - "socks5PresetUpdated": "Proxy chain preset updated", - "socks5PresetDeleted": "Proxy chain preset deleted", - "socks5PresetSaved": "Preset \"{{name}}\" saved successfully", - "socks5PresetSaveError": "Failed to save preset", - "socks5PresetNameRequired": "Preset name is required", - "socks5EmptyChainError": "Cannot save an empty proxy chain", - "socks5ProxyChainEmpty": "Add at least one proxy to the chain", - "socks5HostDescription": "Hostname or IP address of the SOCKS proxy server", - "socks5PortDescription": "Port number of the SOCKS proxy server (default: 1080)", - "addProxyNode": "Add Proxy Node", - "noProxyNodes": "No proxy nodes configured. Click 'Add Proxy Node' to add one.", - "proxyNode": "Proxy Node", - "proxyType": "Proxy Type", - "quickActions": "Quick Actions", - "quickActionsDescription": "Quick actions allow you to create custom buttons that execute SSH snippets on this server. These buttons will appear at the top of the Server Stats page for quick access.", - "quickActionsList": "Quick Actions List", - "addQuickAction": "Add Quick Action", - "quickActionName": "Action name", - "noSnippetFound": "No snippet found", - "quickActionsOrder": "Quick action buttons will appear in the order listed above on the Server Stats page", - "advancedAuthSettings": "Advanced Authentication Settings", - "sudoPasswordAutoFill": "Sudo Password Auto-Fill", - "sudoPasswordAutoFillDesc": "Automatically offer to insert SSH password when sudo prompts for password", - "sudoPassword": "Sudo Password", - "sudoPasswordDesc": "Optional password for sudo commands (useful with key authentication)", + "modifierShift": "تبديل", + "fastScrollModifierDesc": "مفتاح التعديل للتمرير السريع", + "fastScrollSensitivity": "حساسية التمرير السريع", + "fastScrollSensitivityValue": "حساسية التمرير السريع: {{value}}", + "fastScrollSensitivityDesc": "مضاعف السرعة التمرير عند تشغيل المعدِّل", + "minimumContrastRatio": "الحد الأدنى لمعدل التباين", + "minimumContrastRatioValue": "الحد الأدنى لمعدل التباين: {{value}}", + "minimumContrastRatioDesc": "ضبط الألوان تلقائياً لتحسين القراءة", + "sshAgentForwarding": "إعادة توجيه وكيل SSH", + "sshAgentForwardingDesc": "إعادة توجيه وكيل مصادقة SSH إلى المضيف البعيد", + "backspaceMode": "وضع الفضاء الخلفي", + "selectBackspaceMode": "حدد وضع الفضاء الخلفي", + "backspaceModeNormal": "عادي (DEL)", + "backspaceModeControlH": "التحكم-حاء (^ حاء)", + "backspaceModeDesc": "سلوك مفتاح ساحة الخلفية للتوافق", + "startupSnippet": "بدء تشغيل كتلة الكود", + "selectSnippet": "حدد كتلة الكود", + "searchSnippets": "البحث عن كتل الكود...", + "snippetNone": "لا", + "noneAuthTitle": "المصادقة التفاعلية على لوحة المفاتيح", + "noneAuthDescription": "طريقة المصادقة هذه ستستخدم مصادقة لوحة المفاتيح التفاعلية عند الاتصال بخادم SSH.", + "noneAuthDetails": "المصادقة التفاعلية بلوحة المفاتيح تسمح للخادم بمطالبتك للحصول على بيانات الاعتماد أثناء الاتصال. هذا مفيد للخوادم التي تتطلب مصادقة متعددة العناصر أو إذا كنت لا تريد حفظ بيانات الاعتماد محلياً.", + "forceKeyboardInteractive": "تفعيل لوحة المفاتيح", + "forceKeyboardInteractiveDesc": "يفرض استخدام مصادقة لوحة المفاتيح التفاعلية. هذا مطلوب أحيانا للخوادم التي تستخدم المصادقة الثنائية (TOTP/2FA).", + "overrideCredentialUsername": "تجاوز اسم المستخدم", + "overrideCredentialUsernameDesc": "استخدم اسم مستخدم مختلف عن اسم المستخدم المخزن في بيانات الاعتماد. هذا يسمح لك باستخدام نفس بيانات الاعتماد مع أسماء مستخدمين مختلفة.", + "jumpHosts": "مضيفي القفز", + "jumpHostsDescription": "يسمح لك مضيف القفز (المعروف أيضًا باسم مضيفي القفل) بالاتصال بخادم مستهدف من خلال خادم وسيط واحد أو أكثر. هذا مفيد للوصول إلى الخوادم خلف جدران الحماية أو في شبكات خاصة.", + "jumpHostChain": "اقفز سلسلة المضيف", + "addJumpHost": "إضافة مضيف قفز", + "selectServer": "حدد الخادم", + "searchServers": "البحث في الخوادم...", + "noServerFound": "لا يوجد خادم", + "jumpHostsOrder": "سيتم إجراء الاتصالات بالترتيب: قفز المضيف 1 → قفز المضيف 2 → ... → هدف الخادم", + "socks5Proxy": "وكيل SOCKS5", + "socks5Description": "تكوين وكيل SOCKS5 للاتصال SSH. سيتم توجيه جميع حركة المرور من خلال خادم الوكيل المحدد.", + "enableSocks5": "تمكين وكيل SOCKS5", + "enableSocks5Description": "استخدم وكيل SOCKS5 لهذا الاتصال SSH", + "socks5Host": "مضيف الوكيل", + "socks5Port": "منفذ الوكيل", + "socks5Username": "اسم مستخدم البروكسي", + "socks5Password": "كلمة مرور الوكيل", + "socks5UsernameOptional": "اختياري: اتركه فارغاً إذا لم يتطلب البروكسي المصادقة", + "socks5PasswordOptional": "اختياري: اتركه فارغاً إذا لم يتطلب البروكسي المصادقة", + "socks5ProxyChain": "سلسلة البروكسي", + "socks5ProxyChainDescription": "تكوين سلسلة من وكلاء SOCKS. كل وكيل في السلسلة سيتصل عبر السلسلة السابقة.", + "socks5ProxyMode": "وضع البروكسي", + "socks5UseSingleProxy": "استخدام وكيل واحد", + "socks5UseProxyChain": "استخدام سلسلة البروكسي", + "socks5UsePreset": "استخدام الإعداد المسبق المحفوظ", + "socks5SelectPreset": "حدد الإعداد المسبق", + "socks5ManagePresets": "إدارة الإعدادات المسبقة", + "socks5ProxyNode": "الوكيل {{number}}", + "socks5AddProxy": "إضافة وكيل إلى السلسلة", + "socks5RemoveProxy": "إزالة الوكيل", + "socks5ProxyType": "نوع الوكيل", + "socks5SaveAsPreset": "حفظ كإعداد مسبق", + "socks5SavePresetTitle": "حفظ سلسلة البروكسي كتعيين مسبق", + "socks5SavePresetDescription": "حفظ تكوين سلسلة الوكيل الحالي كتعيين مسبق قابل لإعادة الاستخدام", + "socks5PresetName": "اسم الإعداد المسبق", + "socks5PresetDescription": "الوصف (اختياري)", + "socks5PresetCreated": "تم إنشاء سلسلة البروكسي مسبقاً", + "socks5PresetUpdated": "تم تحديث الإعداد المسبق لسلسلة الوكيل", + "socks5PresetDeleted": "تم حذف الإعداد المسبق لسلسلة الوكيل", + "socks5PresetSaved": "الإعداد المسبق \"{{name}}\" حفظ بنجاح", + "socks5PresetSaveError": "فشل في حفظ الإعداد المسبق", + "socks5PresetNameRequired": "اسم الإعداد المسبق مطلوب", + "socks5EmptyChainError": "لا يمكن حفظ سلسلة وكيل فارغة", + "socks5ProxyChainEmpty": "إضافة وكيل واحد على الأقل إلى السلسلة", + "socks5HostDescription": "اسم المضيف أو عنوان IP لخادم وكيل SOCKS", + "socks5PortDescription": "رقم المنفذ من سيرفر وكيل SOCKS (الافتراضي: 1080)", + "addProxyNode": "إضافة عقدة الوكيل", + "noProxyNodes": "لا توجد عُقد بروكسي تم تكوينها. انقر فوق 'إضافة عُقدة بروكسي' لإضافة عُقَدة واحدة.", + "proxyNode": "عقدة الوكيل", + "proxyType": "نوع الوكيل", + "quickActions": "الإجراءات السريعة", + "quickActionsDescription": "تسمح لك الإجراءات السريعة بإنشاء أزرار مخصصة لتنفيذ كتل SSH على هذا الخادم. ستظهر هذه الأزرار في الجزء العلوي من صفحة إحصائيات الخادم للوصول السريع.", + "quickActionsList": "قائمة الإجراءات السريعة", + "addQuickAction": "إضافة إجراء سريع", + "quickActionName": "اسم الإجراء", + "noSnippetFound": "لم يتم العثور على كتلة", + "quickActionsOrder": "ستظهر أزرار الإجراء السريع في الترتيب الوارد أعلاه في صفحة إحصائيات الخادم", + "advancedAuthSettings": "إعدادات المصادقة المتقدمة", + "sudoPasswordAutoFill": "كلمة مرور سودو تلقائية", + "sudoPasswordAutoFillDesc": "عرض تلقائي لإدراج كلمة مرور SSH عندما يطلب sudo لكلمة المرور", + "sudoPassword": "كلمة مرور سودو", + "sudoPasswordDesc": "كلمة المرور الاختيارية لأوامر sudo (مفيدة مع مصادقة المفتاح)", "socks4": "SOCKS4", "socks5": "SOCKS5", - "executeSnippetOnConnect": "Execute a snippet when the terminal connects", - "autoMosh": "Auto-MOSH", - "autoMoshDesc": "Automatically run MOSH command on connect", - "moshCommand": "MOSH Command", - "moshCommandDesc": "The MOSH command to execute", - "environmentVariables": "Environment Variables", - "environmentVariablesDesc": "Set custom environment variables for the terminal session", - "variableName": "Variable name", - "variableValue": "Value", - "addVariable": "Add Variable", - "docker": "Docker", - "openDocker": "Open Docker", - "notEnabled": "Docker is not enabled for this host. Enable it in Host Settings to use Docker features.", - "validating": "Validating Docker...", - "error": "Error", - "errorCode": "Error code: {{code}}", - "version": "Docker v{{version}}", - "current": "Current", - "used_limit": "Used / Limit", - "percentage": "Percentage", + "executeSnippetOnConnect": "تنفيذ كتلة الكود عندما تتصل المحطة الطرفية", + "autoMosh": "وضع تلقائي", + "autoMoshDesc": "تشغيل أمر MOSH تلقائياً عند الاتصال", + "moshCommand": "قيادة MOSH", + "moshCommandDesc": "أمر MOSH لتنفيذ", + "environmentVariables": "المتغيرات البيئية", + "environmentVariablesDesc": "تعيين متغيرات البيئة المخصصة للجلسة النهائية", + "variableName": "اسم المتغير", + "variableValue": "القيمة", + "addVariable": "إضافة متغير", + "docker": "دوكر", + "openDocker": "فتح Docker", + "notEnabled": "Docker غير مفعل لهذا المضيف. قم بتمكينه في إعدادات المضيف لاستخدام ميزات Docker.", + "validating": "التحقق من دوكر...", + "error": "خطأ", + "errorCode": "رمز الخطأ: {{code}}", + "version": "دوكر ضد{{version}}", + "current": "الحالي", + "used_limit": "مستخدم / حد", + "percentage": "النسبة المئوية", "input": "Input", - "output": "Output", - "read": "Read", - "write": "Write", - "pids": "PIDs", + "output": "الناتج", + "read": "قراءة", + "write": "كتابة", + "pids": "أرقام التعريف", "id": "ID", - "state": "State", - "console": "Console", - "containerMustBeRunning": "Container must be running to connect to console", - "authenticationRequired": "Authentication required", - "connectedTo": "Connected to {{containerName}}", - "disconnected": "Disconnected", - "consoleError": "Console error", - "errorMessage": "Error: {{message}}", - "failedToConnect": "Failed to connect to console", - "disconnectedFromContainer": "Disconnected from container console.", - "containerNotRunning": "Container is not running", - "startContainerToAccess": "Start the container to access the console", - "selectShell": "Select shell", - "bash": "Bash", - "sh": "Sh", - "ash": "Ash", - "connecting": "Connecting...", - "connect": "Connect", - "disconnect": "Disconnect", - "notConnected": "Not connected", - "clickToConnect": "Click Connect to start an interactive shell", - "connectingTo": "Connecting to {{containerName}}...", - "containerMustBeRunningToViewStats": "Container must be running to view stats", - "failedToFetchStats": "Failed to fetch stats", - "noContainersFound": "No containers found", - "noContainersFoundHint": "Start by creating containers on your server", - "searchPlaceholder": "Search by name, image, or ID...", - "filterByStatusPlaceholder": "Filter by status", - "allContainersCount": "All ({{count}})", + "state": "الولاية", + "console": "وحدة", + "containerMustBeRunning": "يجب أن يكون الحاوية قيد التشغيل للاتصال بوحدة التحكم", + "authenticationRequired": "مطلوب المصادقة", + "connectedTo": "متصل بـ {{containerName}}", + "disconnected": "قطع", + "consoleError": "خطأ في وحدة التحكم", + "errorMessage": "خطأ: {{message}}", + "failedToConnect": "فشل الاتصال بوحدة التحكم", + "disconnectedFromContainer": "قطع الاتصال بوحدة تحكم الحاوية.", + "containerNotRunning": "الحاوية غير قيد التشغيل", + "startContainerToAccess": "بدء تشغيل الحاوية للوصول إلى وحدة التحكم", + "selectShell": "حدد قذيفة", + "bash": "باش", + "sh": "شه", + "ash": "رماد", + "connecting": "جاري الاتصال...", + "connect": "الاتصال", + "disconnect": "قطع الاتصال", + "notConnected": "غير متصل", + "clickToConnect": "انقر اتصال لبدء قذيفة تفاعلية", + "connectingTo": "جاري الاتصال بـ {{containerName}}...", + "containerMustBeRunningToViewStats": "يجب أن يكون الحاوية قيد التشغيل لعرض الإحصائيات", + "failedToFetchStats": "فشل في جلب الإحصائيات", + "noContainersFound": "لم يتم العثور على حاويات", + "noContainersFoundHint": "ابدأ بإنشاء حاويات على الخادم الخاص بك", + "searchPlaceholder": "البحث عن طريق الاسم أو الصورة أو المعرف...", + "filterByStatusPlaceholder": "تصفية حسب الحالة", + "allContainersCount": "الكل ({{count}})", "statusCount": "{{status}} ({{count}})", - "noContainersMatchFilters": "No containers match your filters", - "noContainersMatchFiltersHint": "Try adjusting your search or filter", - "containerStarted": "Container {{name}} started", - "failedToStartContainer": "Failed to start container: {{error}}", - "containerStopped": "Container {{name}} stopped", - "failedToStopContainer": "Failed to stop container: {{error}}", - "containerRestarted": "Container {{name}} restarted", - "failedToRestartContainer": "Failed to restart container: {{error}}", - "containerUnpaused": "Container {{name}} unpaused", - "containerPaused": "Container {{name}} paused", - "failedToTogglePauseContainer": "Failed to {{action}} container: {{error}}", - "containerRemoved": "Container {{name}} removed", - "failedToRemoveContainer": "Failed to remove container: {{error}}", - "image": "Image:", + "noContainersMatchFilters": "لا توجد حاويات تطابق الفلاتر الخاصة بك", + "noContainersMatchFiltersHint": "حاول تعديل البحث أو الفلتر الخاص بك", + "containerStarted": "بدأ الحاوية {{name}}", + "failedToStartContainer": "فشل بدء تشغيل الحاوية: {{error}}", + "containerStopped": "تم إيقاف الحاوية {{name}}", + "failedToStopContainer": "فشل إيقاف الحاوية: {{error}}", + "containerRestarted": "تم إعادة تشغيل الحاوية {{name}}", + "failedToRestartContainer": "فشل إعادة تشغيل الحاوية: {{error}}", + "containerUnpaused": "الحاوية {{name}} غير متوقفة مؤقتاً", + "containerPaused": "الحاوية {{name}} متوقفة مؤقتاً", + "failedToTogglePauseContainer": "فشل في حاوية {{action}} : {{error}}", + "containerRemoved": "تمت إزالة الحاوية {{name}}", + "failedToRemoveContainer": "فشل إزالة الحاوية: {{error}}", + "image": "صورة:", "idLabel": "ID:", - "ports": "Ports:", - "noPorts": "None", - "created": "Created:", - "start": "Start", - "stop": "Stop", + "ports": "المنافذ", + "noPorts": "لا", + "created": "تم إنشاؤه:", + "start": "ابدأ", + "stop": "توقف", "unpause": "Unpause", - "pause": "Pause", - "restart": "Restart", - "removeContainer": "Remove Container", - "confirmRemoveContainer": "Are you sure you want to remove container \"{{name}}\"?", - "runningContainerWarning": "Warning: This container is currently running and will be force-removed.", - "removing": "Removing:", - "containerNotFound": "Container not found", - "backToList": "Back to list", - "logs": "Logs", - "stats": "Stats", - "consoleTab": "Console", - "failedToFetchLogs": "Failed to fetch logs: {{error}}", - "failedToDownloadLogs": "Failed to download logs: {{error}}", - "linesToShow": "Lines to show", - "last50Lines": "Last 50 lines", - "last100Lines": "Last 100 lines", - "last500Lines": "Last 500 lines", - "last1000Lines": "Last 1000 lines", - "allLogs": "All logs", - "showTimestamps": "Show Timestamps", - "autoRefresh": "Auto Refresh", - "filterLogsPlaceholder": "Filter logs...", - "noLogsAvailable": "No logs available" + "pause": "إيقاف", + "restart": "إعادة التشغيل", + "removeContainer": "إزالة الحاوية", + "confirmRemoveContainer": "هل أنت متأكد من أنك تريد إزالة الحاوية\"{{name}}\"؟", + "runningContainerWarning": "تحذير: هذه الحاوية قيد التشغيل حاليا وسيتم إزالتها بالقوة.", + "removing": "إزالة:", + "containerNotFound": "الحاوية غير موجودة", + "backToList": "العودة إلى القائمة", + "logs": "السجلات", + "stats": "إحصائيات", + "consoleTab": "وحدة", + "failedToFetchLogs": "فشل في جلب السجلات: {{error}}", + "failedToDownloadLogs": "فشل تنزيل السجلات: {{error}}", + "linesToShow": "خطوط لإظهارها", + "last50Lines": "آخر 50 سطر", + "last100Lines": "آخر 100 سطر", + "last500Lines": "آخر 500 سطر", + "last1000Lines": "آخر 1000 سطر", + "allLogs": "جميع السجلات", + "showTimestamps": "إظهار الطوابع الزمنية", + "autoRefresh": "تحديث تلقائي", + "filterLogsPlaceholder": "تصفية السجلات...", + "noLogsAvailable": "لا توجد سجلات متاحة" }, "terminal": { - "title": "Terminal", - "connect": "Connect to Host", - "disconnect": "Disconnect", - "clear": "Clear", - "copy": "Copy", - "paste": "Paste", - "find": "Find", - "fullscreen": "Fullscreen", - "splitHorizontal": "Split Horizontal", - "splitVertical": "Split Vertical", - "closePanel": "Close Panel", - "reconnect": "Reconnect", - "sessionEnded": "Session Ended", - "connectionLost": "Connection Lost", + "title": "المحطة", + "connect": "الاتصال بالمضيف", + "disconnect": "قطع الاتصال", + "clear": "مسح", + "copy": "نسخ", + "paste": "لصق", + "find": "البحث", + "fullscreen": "ملء الشاشة", + "splitHorizontal": "تقسيم أفقي", + "splitVertical": "تقسيم عمودي", + "closePanel": "أغلق اللوحة", + "reconnect": "إعادة الاتصال", + "sessionEnded": "انتهت الجلسة", + "connectionLost": "فقدان الاتصال", "error": "ERROR: {{message}}", - "disconnected": "Disconnected", - "connectionClosed": "Connection closed", - "connectionError": "Connection error: {{message}}", - "connected": "Connected", - "sshConnected": "SSH connection established", - "authError": "Authentication failed: {{message}}", - "unknownError": "Unknown error occurred", - "messageParseError": "Failed to parse server message", - "websocketError": "WebSocket connection error", - "connecting": "Connecting...", - "reconnecting": "Reconnecting... ({{attempt}}/{{max}})", - "reconnected": "Reconnected successfully", - "maxReconnectAttemptsReached": "Maximum reconnection attempts reached", - "connectionTimeout": "Connection timeout", - "terminalTitle": "Terminal - {{host}}", - "terminalWithPath": "Terminal - {{host}}:{{path}}", - "runTitle": "Running {{command}} - {{host}}", - "totpRequired": "Two-Factor Authentication Required", - "totpCodeLabel": "Verification Code", + "disconnected": "قطع", + "connectionClosed": "تم إغلاق الاتصال", + "connectionError": "خطأ في الاتصال: {{message}}", + "connected": "متصل", + "sshConnected": "تم إنشاء اتصال SSH", + "authError": "فشل المصادقة: {{message}}", + "unknownError": "حدث خطأ غير معروف", + "messageParseError": "فشل تحليل رسالة الخادم", + "websocketError": "خطأ في اتصال WebSocket", + "connecting": "جاري الاتصال...", + "reconnecting": "إعادة الاتصال... ({{attempt}}/{{max}})", + "reconnected": "تمت إعادة الاتصال بنجاح", + "maxReconnectAttemptsReached": "تم بلوغ الحد الأقصى لمحاولات إعادة الاتصال", + "connectionTimeout": "مهلة الاتصال", + "terminalTitle": "المحطة الطرفية - {{host}}", + "terminalWithPath": "المحطة الطرفية - {{host}}:{{path}}", + "runTitle": "تشغيل {{command}} - {{host}}", + "totpRequired": "المصادقة الثنائية مطلوبة", + "totpCodeLabel": "رمز التحقق", "totpPlaceholder": "000000", - "totpVerify": "Verify", - "sudoPasswordPopupTitle": "Insert Password?", - "sudoPasswordPopupHint": "Press Enter to insert, Esc to dismiss", + "totpVerify": "تحقق", + "sudoPasswordPopupTitle": "إدراج كلمة المرور؟", + "sudoPasswordPopupHint": "اضغط Enter للإدراج ، Esc للإلغاء", "sudoPasswordPopupConfirm": "Insert", - "sudoPasswordPopupDismiss": "Dismiss" + "sudoPasswordPopupDismiss": "تجاهل" }, "fileManager": { - "title": "File Manager", - "file": "File", - "folder": "Folder", - "connectToSsh": "Connect to SSH to use file operations", - "uploadFile": "Upload File", - "downloadFile": "Download", - "extractArchive": "Extract Archive", - "extractingArchive": "Extracting {{name}}...", + "title": "مدير الملفات", + "file": "ملف", + "folder": "مجلد", + "connectToSsh": "الاتصال بSSH لاستخدام عمليات الملفات", + "uploadFile": "تحميل ملف", + "downloadFile": "تنزيل", + "extractArchive": "استخراج الأرشيف", + "extractingArchive": "استخراج {{name}}...", "archiveExtractedSuccessfully": "{{name}} extracted successfully", - "extractFailed": "Extract failed", - "compressFile": "Compress File", - "compressFiles": "Compress Files", - "compressFilesDesc": "Compress {{count}} items into an archive", - "archiveName": "Archive Name", - "enterArchiveName": "Enter archive name...", - "compressionFormat": "Compression Format", - "selectedFiles": "Selected files", + "extractFailed": "فشل الاستخراج", + "compressFile": "ضغط الملف", + "compressFiles": "ضغط الملفات", + "compressFilesDesc": "ضغط العناصر {{count}} إلى أرشيف", + "archiveName": "اسم الأرشيف", + "enterArchiveName": "أدخل اسم الأرشيف...", + "compressionFormat": "تنسيق الضغط", + "selectedFiles": "الملفات المحددة", "andMoreFiles": "and {{count}} more...", - "compress": "Compress", - "compressingFiles": "Compressing {{count}} items into {{name}}...", + "compress": "ضغط", + "compressingFiles": "ضغط العناصر {{count}} إلى {{name}}...", "filesCompressedSuccessfully": "{{name}} created successfully", - "compressFailed": "Compression failed", - "edit": "Edit", - "preview": "Preview", - "previous": "Previous", - "next": "Next", - "pageXOfY": "Page {{current}} of {{total}}", - "zoomOut": "Zoom Out", - "zoomIn": "Zoom In", - "newFile": "New File", - "newFolder": "New Folder", - "rename": "Rename", - "renameItem": "Rename Item", - "deleteItem": "Delete Item", - "currentPath": "Current Path", - "uploadFileTitle": "Upload File", - "maxFileSize": "Max: 1GB (JSON) / 5GB (Binary) - Large files supported", - "removeFile": "Remove File", - "clickToSelectFile": "Click to select a file", - "chooseFile": "Choose File", - "uploading": "Uploading...", - "downloading": "Downloading...", - "uploadingFile": "Uploading {{name}}...", - "uploadingLargeFile": "Uploading large file {{name}} ({{size}})...", - "downloadingFile": "Downloading {{name}}...", - "creatingFile": "Creating {{name}}...", - "creatingFolder": "Creating {{name}}...", - "deletingItem": "Deleting {{type}} {{name}}...", - "renamingItem": "Renaming {{type}} {{oldName}} to {{newName}}...", - "createNewFile": "Create New File", - "fileName": "File Name", - "creating": "Creating...", - "createFile": "Create File", - "createNewFolder": "Create New Folder", - "folderName": "Folder Name", - "createFolder": "Create Folder", - "warningCannotUndo": "Warning: This action cannot be undone", - "itemPath": "Item Path", - "thisIsDirectory": "This is a directory (will delete recursively)", - "deleting": "Deleting...", - "currentPathLabel": "Current Path", - "newName": "New Name", - "thisIsDirectoryRename": "This is a directory", - "renaming": "Renaming...", - "fileUploadedSuccessfully": "File \"{{name}}\" uploaded successfully", - "failedToUploadFile": "Failed to upload file", - "fileDownloadedSuccessfully": "File \"{{name}}\" downloaded successfully", - "failedToDownloadFile": "Failed to download file", - "noFileContent": "No file content received", - "filePath": "File Path", - "fileCreatedSuccessfully": "File \"{{name}}\" created successfully", - "failedToCreateFile": "Failed to create file", - "folderCreatedSuccessfully": "Folder \"{{name}}\" created successfully", - "failedToCreateFolder": "Failed to create folder", - "failedToCreateItem": "Failed to create item", - "operationFailed": "{{operation}} operation failed for {{name}}: {{error}}", - "failedToResolveSymlink": "Failed to resolve symlink", - "itemDeletedSuccessfully": "{{type}} deleted successfully", + "compressFailed": "فشل الضغط", + "edit": "تحرير", + "preview": "معاينة", + "previous": "السابق", + "next": "التالي", + "pageXOfY": "الصفحة {{current}} من {{total}}", + "zoomOut": "تكبير خارج", + "zoomIn": "تكبير في", + "newFile": "ملف جديد", + "newFolder": "مجلد جديد", + "rename": "إعادة تسمية", + "renameItem": "إعادة تسمية العنصر", + "deleteItem": "حذف العنصر", + "currentPath": "المسار الحالي", + "uploadFileTitle": "تحميل ملف", + "maxFileSize": "الحد الأقصى: 1GB (JSON) / 5GB (Binary) - الملفات الكبيرة المدعومة", + "removeFile": "إزالة الملف", + "clickToSelectFile": "انقر لتحديد ملف", + "chooseFile": "اختر ملف", + "uploading": "تحميل...", + "downloading": "تنزيل...", + "uploadingFile": "تحميل {{name}}...", + "uploadingLargeFile": "تحميل ملف كبير {{name}} ({{size}})...", + "downloadingFile": "جاري تحميل {{name}}...", + "creatingFile": "إنشاء {{name}}...", + "creatingFolder": "إنشاء {{name}}...", + "deletingItem": "حذف {{type}} {{name}}...", + "renamingItem": "إعادة تسمية {{type}} {{oldName}} إلى {{newName}}...", + "createNewFile": "إنشاء ملف جديد", + "fileName": "اسم الملف", + "creating": "إنشاء...", + "createFile": "إنشاء ملف", + "createNewFolder": "إنشاء مجلد جديد", + "folderName": "اسم المجلد", + "createFolder": "إنشاء مجلد", + "warningCannotUndo": "تحذير: لا يمكن التراجع عن هذا الإجراء", + "itemPath": "مسار العنصر", + "thisIsDirectory": "هذا هو الدليل (سيتم الحذف بشكل متكرر)", + "deleting": "حذف...", + "currentPathLabel": "المسار الحالي", + "newName": "اسم جديد", + "thisIsDirectoryRename": "هذا دليل", + "renaming": "إعادة التسمية...", + "fileUploadedSuccessfully": "الملف \"{{name}}تم تحميله بنجاح", + "failedToUploadFile": "فشل في تحميل الملف", + "fileDownloadedSuccessfully": "الملف \"{{name}}تم تنزيله بنجاح", + "failedToDownloadFile": "فشل تنزيل الملف", + "noFileContent": "لم يتم استلام محتوى الملف", + "filePath": "مسار الملف", + "fileCreatedSuccessfully": "تم إنشاء الملف \"{{name}}بنجاح", + "failedToCreateFile": "فشل في إنشاء الملف", + "folderCreatedSuccessfully": "المجلد \"{{name}}\" تم إنشاؤه بنجاح", + "failedToCreateFolder": "فشل في إنشاء المجلد", + "failedToCreateItem": "فشل إنشاء العنصر", + "operationFailed": "فشلت العملية {{operation}} ل {{name}}: {{error}}", + "failedToResolveSymlink": "فشل حل الارتباط الرمزي", + "itemDeletedSuccessfully": "تم حذف {{type}} بنجاح", "itemsDeletedSuccessfully": "{{count}} items deleted successfully", - "failedToDeleteItems": "Failed to delete items", - "dragFilesToUpload": "Drop files here to upload", - "emptyFolder": "This folder is empty", - "itemCount": "{{count}} items", + "failedToDeleteItems": "فشل حذف العناصر", + "dragFilesToUpload": "إسقاط الملفات هنا لتحميل", + "emptyFolder": "هذا المجلد فارغ", + "itemCount": "عناصر {{count}}", "selectedCount": "{{count}} selected", - "searchFiles": "Search files...", - "upload": "Upload", - "selectHostToStart": "Select a host to start file management", - "failedToConnect": "Failed to connect to SSH", - "failedToLoadDirectory": "Failed to load directory", - "noSSHConnection": "No SSH connection available", - "enterFolderName": "Enter folder name:", - "enterFileName": "Enter file name:", - "copy": "Copy", - "cut": "Cut", - "paste": "Paste", - "copyPath": "Copy Path", - "copyPaths": "Copy Paths", - "delete": "Delete", - "properties": "Properties", - "refresh": "Refresh", - "downloadFiles": "Download {{count}} files to Browser", - "copyFiles": "Copy {{count}} items", - "cutFiles": "Cut {{count}} items", - "deleteFiles": "Delete {{count}} items", + "searchFiles": "البحث في الملفات...", + "upload": "تحميل", + "selectHostToStart": "حدد المضيف لبدء إدارة الملفات", + "failedToConnect": "فشل الاتصال بSSH", + "failedToLoadDirectory": "فشل تحميل الدليل", + "noSSHConnection": "لا يوجد اتصال SSH متوفر", + "enterFolderName": "أدخل اسم المجلد:", + "enterFileName": "أدخل اسم الملف:", + "copy": "نسخ", + "cut": "قطع", + "paste": "لصق", + "copyPath": "نسخ المسار", + "copyPaths": "نسخ المسارات", + "delete": "حذف", + "properties": "الخصائص", + "refresh": "تحديث", + "downloadFiles": "تحميل ملفات {{count}} إلى المتصفح", + "copyFiles": "نسخ العناصر {{count}}", + "cutFiles": "قطع العناصر {{count}}", + "deleteFiles": "حذف العناصر {{count}}", "filesCopiedToClipboard": "{{count}} items copied to clipboard", - "filesCutToClipboard": "{{count}} items cut to clipboard", - "pathCopiedToClipboard": "Path copied to clipboard", + "filesCutToClipboard": "{{count}} عناصر قُطعت على الحافظة", + "pathCopiedToClipboard": "تم نسخ المسار إلى الحافظة", "pathsCopiedToClipboard": "{{count}} paths copied to clipboard", - "failedToCopyPath": "Failed to copy path to clipboard", - "movedItems": "Moved {{count}} items", - "failedToDeleteItem": "Failed to delete item", - "itemRenamedSuccessfully": "{{type}} renamed successfully", - "failedToRenameItem": "Failed to rename item", - "download": "Download", - "permissions": "Permissions", - "size": "Size", - "modified": "Modified", - "path": "Path", - "confirmDelete": "Are you sure you want to delete {{name}}?", - "uploadSuccess": "File uploaded successfully", - "uploadFailed": "File upload failed", - "downloadSuccess": "File downloaded successfully", - "downloadFailed": "File download failed", - "permissionDenied": "Permission denied", - "checkDockerLogs": "Check the Docker logs for detailed error information", - "internalServerError": "Internal server error occurred", - "serverError": "Server Error", - "error": "Error", - "requestFailed": "Request failed with status code", - "unknownFileError": "unknown", - "cannotReadFile": "Cannot read file", - "noSshSessionId": "No SSH session ID available", - "noFilePath": "No file path available", - "noCurrentHost": "No current host available", - "fileSavedSuccessfully": "File saved successfully", - "saveTimeout": "Save operation timed out. The file may have been saved successfully, but the operation took too long to complete. Check the Docker logs for confirmation.", - "failedToSaveFile": "Failed to save file", - "deletedSuccessfully": "deleted successfully", - "connectToServer": "Connect to a Server", - "selectServerToEdit": "Select a server from the sidebar to start editing files", - "fileOperations": "File Operations", - "confirmDeleteMessage": "Are you sure you want to delete {{name}}?", - "confirmDeleteSingleItem": "Are you sure you want to permanently delete \"{{name}}\"?", - "confirmDeleteMultipleItems": "Are you sure you want to permanently delete {{count}} items?", - "confirmDeleteMultipleItemsWithFolders": "Are you sure you want to permanently delete {{count}} items? This includes folders and their contents.", - "confirmDeleteFolder": "Are you sure you want to permanently delete the folder \"{{name}}\" and all its contents?", - "deleteDirectoryWarning": "This will delete the folder and all its contents.", - "actionCannotBeUndone": "This action cannot be undone.", - "permanentDeleteWarning": "This action cannot be undone. The item(s) will be permanently deleted from the server.", - "recent": "Recent", - "pinned": "Pinned", - "folderShortcuts": "Folder Shortcuts", - "noRecentFiles": "No recent files.", - "noPinnedFiles": "No pinned files.", - "enterFolderPath": "Enter folder path", - "noShortcuts": "No shortcuts.", - "searchFilesAndFolders": "Search files and folders...", - "noFilesOrFoldersFound": "No files or folders found.", - "failedToConnectSSH": "Failed to connect to SSH", - "failedToReconnectSSH": "Failed to reconnect SSH session", - "failedToListFiles": "Failed to list files", - "fetchHomeDataTimeout": "Fetch home data timed out", - "sshStatusCheckTimeout": "SSH status check timed out", - "sshReconnectionTimeout": "SSH reconnection timed out", - "saveOperationTimeout": "Save operation timed out", - "cannotSaveFile": "Cannot save file", - "dragSystemFilesToUpload": "Drag system files here to upload", - "dragFilesToWindowToDownload": "Drag files outside window to download", - "openTerminalHere": "Open Terminal Here", - "run": "Run", - "saveToSystem": "Save as...", - "selectLocationToSave": "Select Location to Save", - "openTerminalInFolder": "Open Terminal in This Folder", - "openTerminalInFileLocation": "Open Terminal at File Location", - "terminalWithPath": "Terminal - {{host}}:{{path}}", - "runningFile": "Running - {{file}}", - "onlyRunExecutableFiles": "Can only run executable files", - "noHostSelected": "No host selected", - "starred": "Starred", - "shortcuts": "Shortcuts", - "directories": "Directories", - "removedFromRecentFiles": "Removed \"{{name}}\" from recent files", - "removeFailed": "Remove failed", - "unpinnedSuccessfully": "Unpinned \"{{name}}\" successfully", - "unpinFailed": "Unpin failed", - "removedShortcut": "Removed shortcut \"{{name}}\"", - "removeShortcutFailed": "Remove shortcut failed", - "clearedAllRecentFiles": "Cleared all recent files", - "clearFailed": "Clear failed", - "removeFromRecentFiles": "Remove from recent files", - "clearAllRecentFiles": "Clear all recent files", - "unpinFile": "Unpin file", - "removeShortcut": "Remove shortcut", - "saveFilesToSystem": "Save {{count}} files as...", - "pinFile": "Pin file", - "addToShortcuts": "Add to shortcuts", - "downloadToDefaultLocation": "Download to default location", - "pasteFailed": "Paste failed", - "noUndoableActions": "No undoable actions", - "undoCopySuccess": "Undid copy operation: Deleted {{count}} copied files", - "undoCopyFailedDelete": "Undo failed: Could not delete any copied files", - "undoCopyFailedNoInfo": "Undo failed: Could not find copied file information", - "undoMoveSuccess": "Undid move operation: Moved {{count}} files back to original location", - "undoMoveFailedMove": "Undo failed: Could not move any files back", - "undoMoveFailedNoInfo": "Undo failed: Could not find moved file information", - "undoDeleteNotSupported": "Delete operation cannot be undone: Files have been permanently deleted from server", - "undoTypeNotSupported": "Unsupported undo operation type", - "undoOperationFailed": "Undo operation failed", - "unknownError": "Unknown error", - "enterPath": "Enter path...", - "editPath": "Edit path", - "confirm": "Confirm", - "cancel": "Cancel", - "find": "Find...", - "replaceWith": "Replace with...", - "replace": "Replace", - "replaceAll": "Replace All", - "downloadInstead": "Download Instead", - "keyboardShortcuts": "Keyboard Shortcuts", - "searchAndReplace": "Search & Replace", - "editing": "Editing", + "failedToCopyPath": "فشل نسخ المسار إلى الحافظة", + "movedItems": "نقل عناصر {{count}}", + "failedToDeleteItem": "فشل في حذف العنصر", + "itemRenamedSuccessfully": "تم تغيير اسم {{type}} بنجاح", + "failedToRenameItem": "فشل في إعادة تسمية العنصر", + "download": "تنزيل", + "permissions": "الأذونات", + "size": "الحجم", + "modified": "معدّل", + "path": "المسار", + "confirmDelete": "هل أنت متأكد من أنك تريد حذف {{name}}؟", + "uploadSuccess": "تم رفع الملف بنجاح", + "uploadFailed": "فشل تحميل الملف", + "downloadSuccess": "تم تنزيل الملف بنجاح", + "downloadFailed": "فشل تنزيل الملف", + "permissionDenied": "تم رفض الإذن", + "checkDockerLogs": "تحقق من سجلات Docker للحصول على معلومات الخطأ المفصلة", + "internalServerError": "حدث خطأ داخلي في الخادم", + "serverError": "خطأ في الخادم", + "error": "خطأ", + "requestFailed": "فشل الطلب مع رمز الحالة", + "unknownFileError": "غير معروف", + "cannotReadFile": "لا يمكن قراءة الملف", + "noSshSessionId": "لا يتوفر معرف جلسة SSH", + "noFilePath": "لا يوجد مسار ملف متاح", + "noCurrentHost": "لا يوجد مضيف حالي متاح", + "fileSavedSuccessfully": "تم حفظ الملف بنجاح", + "saveTimeout": "حفظ انتهت مهلة العملية. ربما تم حفظ الملف بنجاح، ولكن العملية استغرقت وقتا طويلا جدا لإكمالها. تحقق من سجلات Docker للحصول على التأكيد.", + "failedToSaveFile": "فشل في حفظ الملف", + "deletedSuccessfully": "تم الحذف بنجاح", + "connectToServer": "الاتصال بالخادم", + "selectServerToEdit": "حدد خادم من الشريط الجانبي لبدء تحرير الملفات", + "fileOperations": "عمليات الملف", + "confirmDeleteMessage": "هل أنت متأكد من أنك تريد حذف {{name}}؟", + "confirmDeleteSingleItem": "هل أنت متأكد من أنك تريد حذف \"{{name}}\" بشكل دائم؟", + "confirmDeleteMultipleItems": "هل أنت متأكد من أنك تريد حذف العناصر {{count}} نهائياً؟", + "confirmDeleteMultipleItemsWithFolders": "هل أنت متأكد من أنك تريد حذف العناصر {{count}} نهائيًا؟ هذا يشمل المجلدات ومحتوياتها.", + "confirmDeleteFolder": "هل أنت متأكد من أنك تريد حذف المجلد \"{{name}}\" و جميع محتوياته؟", + "deleteDirectoryWarning": "سيؤدي هذا إلى حذف المجلد وجميع محتوياته.", + "actionCannotBeUndone": "لا يمكن التراجع عن هذا الإجراء.", + "permanentDeleteWarning": "لا يمكن التراجع عن هذا الإجراء. سيتم حذف العنصر (العناصر) بشكل دائم من الخادم.", + "recent": "حديثاً", + "pinned": "مثبتة", + "folderShortcuts": "اختصارات المجلد", + "noRecentFiles": "لا توجد ملفات حديثة.", + "noPinnedFiles": "لا توجد ملفات مثبتة.", + "enterFolderPath": "أدخل مسار المجلد", + "noShortcuts": "لا يوجد اختصار.", + "searchFilesAndFolders": "البحث في الملفات والمجلدات...", + "noFilesOrFoldersFound": "لم يتم العثور على ملفات أو مجلدات.", + "failedToConnectSSH": "فشل الاتصال بSSH", + "failedToReconnectSSH": "فشل في إعادة الاتصال بجلسة SSH", + "failedToListFiles": "فشل في قائمة الملفات", + "fetchHomeDataTimeout": "انتهت مهلة جلب البيانات الرئيسية", + "sshStatusCheckTimeout": "انتهت مهلة التحقق من حالة SSH", + "sshReconnectionTimeout": "انتهت مهلة إعادة توصيل SSH", + "saveOperationTimeout": "انتهت مهلة حفظ العملية", + "cannotSaveFile": "لا يمكن حفظ الملف", + "dragSystemFilesToUpload": "اسحب ملفات النظام هنا لتحميل", + "dragFilesToWindowToDownload": "اسحب الملفات خارج النافذة للتحميل", + "openTerminalHere": "فتح المحطة الطرفية هنا", + "run": "تشغيل", + "saveToSystem": "حفظ كـ...", + "selectLocationToSave": "حدد الموقع المراد حفظه", + "openTerminalInFolder": "فتح المحطة الطرفية في هذا المجلد", + "openTerminalInFileLocation": "فتح المحطة الطرفية في موقع الملف", + "terminalWithPath": "المحطة الطرفية - {{host}}:{{path}}", + "runningFile": "قيد التشغيل - {{file}}", + "onlyRunExecutableFiles": "يمكن فقط تشغيل الملفات القابلة للتنفيذ", + "noHostSelected": "لم يتم اختيار مضيف", + "starred": "نجوم", + "shortcuts": "الاختصارات", + "directories": "المجلدات", + "removedFromRecentFiles": "إزالة \"{{name}}\" من الملفات الأخيرة", + "removeFailed": "فشل الإزالة", + "unpinnedSuccessfully": "تم إلغاء تثبيت \"{{name}}بنجاح", + "unpinFailed": "فشل إلغاء التثبيت", + "removedShortcut": "إزالة الاختصار\"{{name}}\"", + "removeShortcutFailed": "فشل إزالة الاختصار", + "clearedAllRecentFiles": "مسح جميع الملفات الأخيرة", + "clearFailed": "فشل المسح", + "removeFromRecentFiles": "إزالة من الملفات الأخيرة", + "clearAllRecentFiles": "مسح جميع الملفات الأخيرة", + "unpinFile": "إلغاء تثبيت الملف", + "removeShortcut": "إزالة الاختصار", + "saveFilesToSystem": "حفظ الملفات {{count}} كـ...", + "pinFile": "تثبيت ملف", + "addToShortcuts": "إضافة إلى الاختصارات", + "downloadToDefaultLocation": "تحميل إلى الموقع الافتراضي", + "pasteFailed": "فشل اللصق", + "noUndoableActions": "لا إجراءات غير قابلة للإلغاء", + "undoCopySuccess": "عملية نسخ غير منسوخة: الملفات المحذوفة {{count}} منسوخة", + "undoCopyFailedDelete": "فشل التراجع: لا يمكن حذف أي ملفات تم نسخها", + "undoCopyFailedNoInfo": "فشل التراجع: لم يتم العثور على معلومات الملفات المنسوخة", + "undoMoveSuccess": "إلغاء تشغيل النقل: نقل الملفات {{count}} إلى الموقع الأصلي", + "undoMoveFailedMove": "فشل التراجع: لا يمكن نقل أي ملفات إلى الوراء", + "undoMoveFailedNoInfo": "فشل التراجع: تعذر العثور على معلومات الملف المنقولة", + "undoDeleteNotSupported": "لا يمكن التراجع عن عملية الحذف: تم حذف الملفات نهائيا من الخادم", + "undoTypeNotSupported": "نوع عملية التراجع غير مدعوم", + "undoOperationFailed": "فشلت عملية التراجع", + "unknownError": "خطأ غير معروف", + "enterPath": "أدخل المسار...", + "editPath": "تحرير المسار", + "confirm": "تأكيد", + "cancel": "إلغاء", + "find": "العثور على...", + "replaceWith": "استبدل بـ...", + "replace": "استبدل", + "replaceAll": "استبدال الكل", + "downloadInstead": "تحميل بدلاً من ذلك", + "keyboardShortcuts": "اختصارات لوحة المفاتيح", + "searchAndReplace": "البحث والاستبدال", + "editing": "تحرير", "navigation": "Navigation", - "code": "Code", - "search": "Search", - "findNext": "Find Next", - "findPrevious": "Find Previous", - "save": "Save", - "selectAll": "Select All", - "undo": "Undo", - "redo": "Redo", - "goToLine": "Go to Line", - "moveLineUp": "Move Line Up", - "moveLineDown": "Move Line Down", - "toggleComment": "Toggle Comment", - "indent": "Indent", - "outdent": "Outdent", + "code": "الكود", + "search": "البحث", + "findNext": "البحث عن التالي", + "findPrevious": "البحث عن السابق", + "save": "حفظ", + "selectAll": "حدد الكل", + "undo": "التراجع", + "redo": "إعادة", + "goToLine": "الذهاب إلى الخط", + "moveLineUp": "تحريك الخط للأعلى", + "moveLineDown": "تحريك الخط للأسفل", + "toggleComment": "تبديل التعليق", + "indent": "منيع", + "outdent": "عتيق", "autoComplete": "Auto Complete", - "imageLoadError": "Failed to load image", - "rotate": "Rotate", - "originalSize": "Original Size", - "startTyping": "Start typing...", - "unknownSize": "Unknown size", - "fileIsEmpty": "File is empty", - "largeFileWarning": "Large File Warning", - "largeFileWarningDesc": "This file is {{size}} in size, which may cause performance issues when opened as text.", - "fileNotFoundAndRemoved": "File \"{{name}}\" not found and has been removed from recent/pinned files", - "failedToLoadFile": "Failed to load file: {{error}}", - "serverErrorOccurred": "Server error occurred. Please try again later.", - "autoSaveFailed": "Auto-save failed", - "fileAutoSaved": "File auto-saved", - "moveFileFailed": "Failed to move {{name}}", - "moveOperationFailed": "Move operation failed", - "canOnlyCompareFiles": "Can only compare two files", - "comparingFiles": "Comparing files: {{file1}} and {{file2}}", - "dragFailed": "Drag operation failed", - "filePinnedSuccessfully": "File \"{{name}}\" pinned successfully", - "pinFileFailed": "Failed to pin file", - "fileUnpinnedSuccessfully": "File \"{{name}}\" unpinned successfully", - "unpinFileFailed": "Failed to unpin file", - "shortcutAddedSuccessfully": "Folder shortcut \"{{name}}\" added successfully", - "addShortcutFailed": "Failed to add shortcut", - "operationCompletedSuccessfully": "{{operation}} {{count}} items successfully", - "operationCompleted": "{{operation}} {{count}} items", - "downloadFileSuccess": "File {{name}} downloaded successfully", - "downloadFileFailed": "Download failed", - "moveTo": "Move to {{name}}", - "diffCompareWith": "Diff compare with {{name}}", - "dragOutsideToDownload": "Drag outside window to download ({{count}} files)", - "newFolderDefault": "NewFolder", - "newFileDefault": "NewFile.txt", - "successfullyMovedItems": "Successfully moved {{count}} items to {{target}}", - "move": "Move", - "searchInFile": "Search in file (Ctrl+F)", - "showKeyboardShortcuts": "Show keyboard shortcuts", - "startWritingMarkdown": "Start writing your markdown content...", - "loadingFileComparison": "Loading file comparison...", + "imageLoadError": "فشل في تحميل الصورة", + "rotate": "تدوير", + "originalSize": "الحجم الأصلي", + "startTyping": "ابدأ الكتابة...", + "unknownSize": "حجم غير معروف", + "fileIsEmpty": "الملف فارغ", + "largeFileWarning": "تحذير كبير من الملف", + "largeFileWarningDesc": "هذا الملف هو {{size}} في الحجم، مما قد يسبب مشاكل في الأداء عند فتحه كنص.", + "fileNotFoundAndRemoved": "لم يتم العثور على الملف \"{{name}}\" وتم إزالته من الملفات الأخيرة/المثبتة", + "failedToLoadFile": "فشل تحميل الملف: {{error}}", + "serverErrorOccurred": "حدث خطأ في الخادم. الرجاء المحاولة مرة أخرى لاحقاً.", + "autoSaveFailed": "فشل الحفظ التلقائي", + "fileAutoSaved": "حفظ الملف تلقائياً", + "moveFileFailed": "فشل في نقل {{name}}", + "moveOperationFailed": "فشلت عملية النقل", + "canOnlyCompareFiles": "يمكن فقط مقارنة ملفين", + "comparingFiles": "مقارنة الملفات: {{file1}} و {{file2}}", + "dragFailed": "فشلت عملية السحب", + "filePinnedSuccessfully": "الملف \"{{name}}تم تثبيته بنجاح", + "pinFileFailed": "فشل في تثبيت الملف", + "fileUnpinnedSuccessfully": "تم إلغاء تثبيت الملف \"{{name}}بنجاح", + "unpinFileFailed": "فشل إلغاء تثبيت الملف", + "shortcutAddedSuccessfully": "اختصار المجلد\"{{name}}أضيف بنجاح", + "addShortcutFailed": "فشل في إضافة اختصار", + "operationCompletedSuccessfully": "{{operation}} {{count}} عناصر بنجاح", + "operationCompleted": "{{operation}} {{count}} عنصر", + "downloadFileSuccess": "تم تنزيل الملف {{name}} بنجاح", + "downloadFileFailed": "فشل التحميل", + "moveTo": "الانتقال إلى {{name}}", + "diffCompareWith": "الفرق بين {{name}}", + "dragOutsideToDownload": "اسحب إلى خارج النافذة للتحميل ( ملفات{{count}})", + "newFolderDefault": "مجلد", + "newFileDefault": "Newfile.txt", + "successfullyMovedItems": "تم نقل العناصر {{count}} بنجاح إلى {{target}}", + "move": "نقل", + "searchInFile": "البحث في الملف (Ctrl+F)", + "showKeyboardShortcuts": "إظهار اختصارات لوحة المفاتيح", + "startWritingMarkdown": "بدء كتابة محتوى markdown الخاص بك...", + "loadingFileComparison": "جارٍ تحميل مقارنة الملفات...", "reload": "Reload", - "compare": "Compare", - "sideBySide": "Side by Side", - "inline": "Inline", - "fileComparison": "File Comparison: {{file1}} vs {{file2}}", - "fileTooLarge": "File too large: {{error}}", - "sshConnectionFailed": "SSH connection failed. Please check your connection to {{name}} ({{ip}}:{{port}})", - "loadFileFailed": "Failed to load file: {{error}}", - "connectedSuccessfully": "Connected successfully", - "totpVerificationFailed": "TOTP verification failed", - "verificationCodePrompt": "Verification code:", - "changePermissions": "Change Permissions", - "changePermissionsDesc": "Modify file permissions for", - "currentPermissions": "Current Permissions", - "newPermissions": "New Permissions", - "owner": "Owner", - "group": "Group", - "others": "Others", - "read": "Read", - "write": "Write", - "execute": "Execute", - "permissionsChangedSuccessfully": "Permissions changed successfully", - "failedToChangePermissions": "Failed to change permissions" + "compare": "قارن", + "sideBySide": "جانب جانبي", + "inline": "مضمن", + "fileComparison": "مقارنة الملفات: {{file1}} مقابل {{file2}}", + "fileTooLarge": "الملف كبير جدا: {{error}}", + "sshConnectionFailed": "فشل الاتصال بSSH. الرجاء التحقق من اتصالك بـ {{name}} ({{ip}}:{{port}})", + "loadFileFailed": "فشل تحميل الملف: {{error}}", + "connectedSuccessfully": "تم الاتصال بنجاح", + "totpVerificationFailed": "فشل التحقق من TOTP", + "verificationCodePrompt": "رمز التحقق:", + "changePermissions": "تغيير الأذونات", + "changePermissionsDesc": "تعديل أذونات الملف لـ", + "currentPermissions": "الأذونات الحالية", + "newPermissions": "أذونات جديدة", + "owner": "المالك", + "group": "مجموعة", + "others": "أخرى", + "read": "قراءة", + "write": "كتابة", + "execute": "تنفيذ", + "permissionsChangedSuccessfully": "تم تغيير الأذونات بنجاح", + "failedToChangePermissions": "فشل في تغيير الأذونات" }, "tunnel": { - "noTunnelsConfigured": "No Tunnels Configured", - "configureTunnelsInHostSettings": "Configure tunnel connections in the Host Manager to get started" + "noTunnelsConfigured": "لم يتم تكوين الأنفاق", + "configureTunnelsInHostSettings": "تكوين اتصالات الأنفاق في مدير المضيف للبدء" }, "tunnels": { - "title": "SSH Tunnels", - "noSshTunnels": "No SSH Tunnels", - "createFirstTunnelMessage": "You haven't created any SSH tunnels yet. Configure tunnel connections in the Host Manager to get started.", - "connected": "Connected", - "disconnected": "Disconnected", - "connecting": "Connecting...", - "disconnecting": "Disconnecting...", - "unknownTunnelStatus": "Unknown", - "statusUnknown": "Unknown", - "unknown": "Unknown", - "error": "Error", - "failed": "Failed", - "retrying": "Retrying", - "waiting": "Waiting", - "waitingForRetry": "Waiting for retry", - "retryingConnection": "Retrying connection", - "canceling": "Canceling...", - "connect": "Connect", - "disconnect": "Disconnect", - "cancel": "Cancel", - "port": "Port", - "attempt": "Attempt {{current}} of {{max}}", - "nextRetryIn": "Next retry in {{seconds}} seconds", - "checkDockerLogs": "Check your Docker logs for the error reason, join the", - "orCreate": "or create a ", - "noTunnelConnections": "No tunnel connections configured", - "tunnelConnections": "Tunnel Connections", - "addTunnel": "Add Tunnel", - "editTunnel": "Edit Tunnel", - "deleteTunnel": "Delete Tunnel", - "tunnelName": "Tunnel Name", - "localPort": "Local Port", - "remoteHost": "Remote Host", - "remotePort": "Remote Port", - "autoStart": "Auto Start", - "status": "Status", - "active": "Active", - "inactive": "Inactive", - "start": "Start", - "stop": "Stop", - "restart": "Restart", - "connectionType": "Connection Type", - "local": "Local", - "remote": "Remote", - "dynamic": "Dynamic", - "unknownConnectionStatus": "Unknown", - "portMapping": "Port {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", - "endpointHostNotFound": "Endpoint host not found", - "discord": "Discord", - "githubIssue": "GitHub issue", - "forHelp": "for help" + "title": "أنفاق SSH", + "noSshTunnels": "لا توجد أنفاق SSH", + "createFirstTunnelMessage": "لم تقم بإنشاء أي أنفاق SSH حتى الآن. تكوين اتصالات الأنفاق في مدير المضيف للبدء.", + "connected": "متصل", + "disconnected": "قطع", + "connecting": "جاري الاتصال...", + "disconnecting": "قطع الاتصال...", + "unknownTunnelStatus": "غير معروف", + "statusUnknown": "غير معروف", + "unknown": "غير معروف", + "error": "خطأ", + "failed": "فشل", + "retrying": "إعادة المحاولة", + "waiting": "في انتظار", + "waitingForRetry": "في انتظار إعادة المحاولة", + "retryingConnection": "إعادة محاولة الاتصال", + "canceling": "إلغاء...", + "connect": "الاتصال", + "disconnect": "قطع الاتصال", + "cancel": "إلغاء", + "port": "المنفذ", + "attempt": "محاولة {{current}} من {{max}}", + "nextRetryIn": "إعادة المحاولة التالية في {{seconds}} ثانية", + "checkDockerLogs": "تحقق من سجلات Docker لسبب الخطأ، انضم إلى", + "orCreate": "أو إنشاء ", + "noTunnelConnections": "لا توجد اتصالات نفق تم تكوينها", + "tunnelConnections": "اتصالات النفق", + "addTunnel": "إضافة نفق", + "editTunnel": "تعديل النفق", + "deleteTunnel": "حذف النفق", + "tunnelName": "اسم النفق", + "localPort": "المنفذ المحلي", + "remoteHost": "المضيف البعيد", + "remotePort": "المنفذ البعيد", + "autoStart": "بدء التشغيل التلقائي", + "status": "الحالة", + "active": "نشط", + "inactive": "غير نشط", + "start": "ابدأ", + "stop": "توقف", + "restart": "إعادة التشغيل", + "connectionType": "نوع الاتصال", + "local": "محلي", + "remote": "عن بعد", + "dynamic": "ديناميكية", + "unknownConnectionStatus": "غير معروف", + "portMapping": "المنفذ {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", + "endpointHostNotFound": "لم يتم العثور على مضيف نقطة النهاية", + "discord": "ديسكورد", + "githubIssue": "مشكلة GitHub", + "forHelp": "للحصول على مساعدة" }, "serverStats": { - "title": "Server Statistics", - "cpu": "CPU", - "memory": "Memory", - "disk": "Disk", - "network": "Network", - "uptime": "Uptime", - "loadAverage": "Avg: {{avg1}}, {{avg5}}, {{avg15}}", - "processes": "Processes", - "connections": "Connections", - "usage": "Usage", - "available": "Available", - "total": "Total", - "free": "Free", - "used": "Used", - "percentage": "Percentage", - "refreshStatusAndMetrics": "Refresh status and metrics", - "refreshStatus": "Refresh Status", - "fileManagerAlreadyOpen": "File Manager already open for this host", - "openFileManager": "Open File Manager", - "cpuCores_one": "{{count}} CPU", - "cpuCores_other": "{{count}} CPUs", + "title": "إحصائيات الخادم", + "cpu": "المعالج", + "memory": "الذاكرة", + "disk": "قرص", + "network": "الشبكة", + "uptime": "وقت التحديث", + "loadAverage": "المتوسط: {{avg1}}، {{avg5}}، {{avg15}}", + "processes": "العمليات", + "connections": "اتصالات", + "usage": "الاستخدام", + "available": "متوفر", + "total": "المجموع", + "free": "مجاني", + "used": "مستخدم", + "percentage": "النسبة المئوية", + "refreshStatusAndMetrics": "تحديث الحالة والمقاييس", + "refreshStatus": "تحديث الحالة", + "fileManagerAlreadyOpen": "مدير الملفات مفتوح بالفعل لهذا المضيف", + "openFileManager": "فتح مدير الملفات", + "cpuCores_one": "{{count}} المعالج", + "cpuCores_other": "{{count}} المعالج", "naCpus": "N/A CPU(s)", - "loadAverageNA": "Avg: N/A", - "cpuUsage": "CPU Usage", - "memoryUsage": "Memory Usage", - "diskUsage": "Disk Usage", - "rootStorageSpace": "Root Storage Space", - "of": "of", - "feedbackMessage": "Have ideas for what should come next for server management? Share them on", - "failedToFetchHostConfig": "Failed to fetch host configuration", - "failedToFetchStatus": "Failed to fetch server status", - "failedToFetchMetrics": "Failed to fetch server metrics", - "failedToFetchHomeData": "Failed to fetch home data", - "loadingMetrics": "Loading metrics...", - "connecting": "Connecting...", - "refreshing": "Refreshing...", - "serverOffline": "Server Offline", - "cannotFetchMetrics": "Cannot fetch metrics from offline server", - "totpRequired": "TOTP Authentication Required", - "totpUnavailable": "Server Stats unavailable for TOTP-enabled servers", - "totpVerified": "TOTP verified, metrics collection started", - "totpFailed": "TOTP verification failed", - "totpInvalidCode": "Invalid verification code", - "totpCancelled": "Metrics collection cancelled", - "authenticationFailed": "Authentication failed", - "noneAuthNotSupported": "Server Stats does not support 'none' authentication type.", - "load": "Load", - "editLayout": "Edit Layout", - "cancelEdit": "Cancel", - "addWidget": "Add Widget", - "saveLayout": "Save Layout", - "unsavedChanges": "Unsaved changes", - "layoutSaved": "Layout saved successfully", - "failedToSaveLayout": "Failed to save layout", - "systemInfo": "System Information", + "loadAverageNA": "متوسط: لا /A", + "cpuUsage": "استخدام المعالج", + "memoryUsage": "استخدام الذاكرة", + "diskUsage": "استخدام القرص", + "rootStorageSpace": "مساحة تخزين الجذر", + "of": "من", + "feedbackMessage": "هل لديك أفكار حول ما يجب أن يأتي بعد إدارة الخادم؟ مشاركتهم على", + "failedToFetchHostConfig": "فشل في جلب إعدادات المضيف", + "failedToFetchStatus": "فشل في جلب حالة الخادم", + "failedToFetchMetrics": "فشل في جلب مقاييس الخادم", + "failedToFetchHomeData": "فشل في جلب البيانات الرئيسية", + "loadingMetrics": "جاري تحميل المقاييس...", + "connecting": "جاري الاتصال...", + "refreshing": "تحديث...", + "serverOffline": "الخادم غير متصل", + "cannotFetchMetrics": "لا يمكن جلب المقاييس من الخادم غير متصل", + "totpRequired": "مطلوب مصادقة TOTP", + "totpUnavailable": "إحصائيات الخادم غير متوفرة لخوادم مزودة بتوتوب", + "totpVerified": "تم التحقق من توب ، وبدأت عملية جمع القياسات", + "totpFailed": "فشل التحقق من TOTP", + "totpInvalidCode": "رمز التحقق غير صالح", + "totpCancelled": "تم إلغاء مجموعة القياسات", + "authenticationFailed": "فشل المصادقة", + "noneAuthNotSupported": "إحصائيات الخادم لا تدعم نوع مصادقة 'لا شيء'.", + "load": "تحميل", + "editLayout": "تعديل التخطيط", + "cancelEdit": "إلغاء", + "addWidget": "إضافة أداة", + "saveLayout": "حفظ التخطيط", + "unsavedChanges": "التغييرات غير المحفوظة", + "layoutSaved": "تم حفظ التخطيط بنجاح", + "failedToSaveLayout": "فشل في حفظ التخطيط", + "systemInfo": "معلومات النظام", "hostname": "Hostname", - "operatingSystem": "Operating System", - "kernel": "Kernel", - "totalUptime": "Total Uptime", - "seconds": "seconds", - "networkInterfaces": "Network Interfaces", - "noInterfacesFound": "No network interfaces found", - "totalProcesses": "Total Processes", - "running": "Running", - "noProcessesFound": "No processes found", - "loginStats": "SSH Login Statistics", - "totalLogins": "Total Logins", - "uniqueIPs": "Unique IPs", - "recentSuccessfulLogins": "Recent Successful Logins", - "recentFailedAttempts": "Recent Failed Attempts", - "noRecentLoginData": "No recent login data", - "from": "from", - "quickActions": "Quick Actions", - "executeQuickAction": "Execute {{name}}", - "executingQuickAction": "Executing {{name}}...", - "quickActionSuccess": "{{name}} completed successfully", + "operatingSystem": "نظام التشغيل", + "kernel": "نواة", + "totalUptime": "إجمالي وقت التحديث", + "seconds": "ثواني", + "networkInterfaces": "واجهة الشبكة", + "noInterfacesFound": "لم يتم العثور على واجهات شبكة", + "totalProcesses": "مجموع العمليات", + "running": "تشغيل", + "noProcessesFound": "لم يتم العثور على عمليات", + "loginStats": "إحصائيات تسجيل دخول SSH", + "totalLogins": "إجمالي تسجيلات الدخول", + "uniqueIPs": "عناوين IP فريدة", + "recentSuccessfulLogins": "تسجيلات الدخول الأخيرة الناجحة", + "recentFailedAttempts": "المحاولات الفاشلة", + "noRecentLoginData": "لا توجد بيانات تسجيل دخول حديثة", + "from": "من", + "quickActions": "الإجراءات السريعة", + "executeQuickAction": "تنفيذ {{name}}", + "executingQuickAction": "تنفيذ {{name}}...", + "quickActionSuccess": "أكمل {{name}} بنجاح", "quickActionFailed": "{{name}} failed", - "quickActionError": "Failed to execute {{name}}" + "quickActionError": "فشل في تنفيذ {{name}}" }, "auth": { - "tagline": "SSH SERVER MANAGER", - "description": "Secure, powerful, and intuitive SSH connection management", - "welcomeBack": "Welcome back to TERMIX", - "createAccount": "Create your TERMIX account", - "continueExternal": "Continue with external provider", - "loginTitle": "Login to Termix", - "registerTitle": "Create Account", - "loginButton": "Login", - "registerButton": "Register", - "forgotPassword": "Forgot Password?", - "rememberMe": "Remember Me", - "noAccount": "Don't have an account?", - "hasAccount": "Already have an account?", - "loginSuccess": "Login successful", - "loginFailed": "Login failed", - "registerSuccess": "Registration successful", - "registerFailed": "Registration failed", - "logoutSuccess": "Logged out successfully", - "invalidCredentials": "Invalid username or password", - "accountCreated": "Account created successfully", - "passwordReset": "Password reset link sent", - "twoFactorAuth": "Two-Factor Authentication", - "enterCode": "Enter verification code", - "backupCode": "Or use backup code", - "verifyCode": "Verify Code", - "redirectingToApp": "Redirecting to app...", - "enableTwoFactor": "Enable Two-Factor Authentication", - "disableTwoFactor": "Disable Two-Factor Authentication", - "scanQRCode": "Scan this QR code with your authenticator app", - "backupCodes": "Backup Codes", - "saveBackupCodes": "Save these backup codes in a safe place", - "twoFactorEnabledSuccess": "Two-factor authentication enabled successfully!", - "twoFactorDisabled": "Two-factor authentication disabled", - "newBackupCodesGenerated": "New backup codes generated", - "backupCodesDownloaded": "Backup codes downloaded", - "pleaseEnterSixDigitCode": "Please enter a 6-digit code", - "invalidVerificationCode": "Invalid verification code", - "failedToDisableTotp": "Failed to disable TOTP", - "failedToGenerateBackupCodes": "Failed to generate backup codes", - "enterPassword": "Enter your password", - "lockedOidcAuth": "Locked (OIDC Auth)", - "twoFactorTitle": "Two-Factor Authentication", - "twoFactorProtected": "Your account is protected with two-factor authentication", - "twoFactorActive": "Two-factor authentication is currently active on your account", - "disable2FA": "Disable 2FA", - "disableTwoFactorWarning": "Disabling two-factor authentication will make your account less secure", - "passwordOrTotpCode": "Password or TOTP Code", - "or": "Or", - "generateNewBackupCodesText": "Generate new backup codes if you've lost your existing ones", - "generateNewBackupCodes": "Generate New Backup Codes", - "yourBackupCodes": "Your Backup Codes", - "download": "Download", - "setupTwoFactorTitle": "Set Up Two-Factor Authentication", - "sshAuthenticationRequired": "SSH Authentication Required", - "sshNoKeyboardInteractive": "Keyboard-Interactive Authentication Unavailable", - "sshAuthenticationFailed": "Authentication Failed", - "sshAuthenticationTimeout": "Authentication Timeout", - "sshNoKeyboardInteractiveDescription": "The server does not support keyboard-interactive authentication. Please provide your password or SSH key.", - "sshAuthFailedDescription": "The provided credentials were incorrect. Please try again with valid credentials.", - "sshTimeoutDescription": "The authentication attempt timed out. Please try again.", - "sshProvideCredentialsDescription": "Please provide your SSH credentials to connect to this server.", - "sshPasswordDescription": "Enter the password for this SSH connection.", - "sshKeyPasswordDescription": "If your SSH key is encrypted, enter the passphrase here.", - "step1ScanQR": "Step 1: Scan the QR code with your authenticator app", - "manualEntryCode": "Manual Entry Code", - "cannotScanQRText": "If you can't scan the QR code, enter this code manually in your authenticator app", - "nextVerifyCode": "Next: Verify Code", - "verifyAuthenticator": "Verify Your Authenticator", - "step2EnterCode": "Step 2: Enter the 6-digit code from your authenticator app", - "verificationCode": "Verification Code", - "back": "Back", - "verifyAndEnable": "Verify and Enable", - "saveBackupCodesTitle": "Save Your Backup Codes", - "step3StoreCodesSecurely": "Step 3: Store these codes in a safe place", - "importantBackupCodesText": "Save these backup codes in a secure location. You can use them to access your account if you lose your authenticator device.", - "completeSetup": "Complete Setup", - "notEnabledText": "Two-factor authentication adds an extra layer of security by requiring a code from your authenticator app when signing in.", - "enableTwoFactorButton": "Enable Two-Factor Authentication", - "addExtraSecurityLayer": "Add an extra layer of security to your account", - "firstUser": "First User", - "firstUserMessage": "You are the first user and will be made an admin. You can view admin settings in the sidebar user dropdown. If you think this is a mistake, check the docker logs, or create a GitHub issue.", - "external": "External", - "loginWithExternal": "Login with External Provider", - "loginWithExternalDesc": "Login using your configured external identity provider", - "externalNotSupportedInElectron": "External authentication is not supported in the Electron app yet. Please use the web version for OIDC login.", - "resetPasswordButton": "Reset Password", - "sendResetCode": "Send Reset Code", - "resetCodeDesc": "Enter your username to receive a password reset code. The code will be logged in the docker container logs.", + "tagline": "إدارة خدمة SSH", + "description": "إدارة اتصال SSH آمنة وقوية وبديهية", + "welcomeBack": "مرحبا بكم مرة أخرى في TERMIX", + "createAccount": "إنشاء حساب TERMIX الخاص بك", + "continueExternal": "المتابعة مع المزود الخارجي", + "loginTitle": "تسجيل الدخول إلى Termix", + "registerTitle": "إنشاء حساب", + "loginButton": "تسجيل الدخول", + "registerButton": "تسجيل", + "forgotPassword": "نسيت كلمة المرور؟", + "rememberMe": "تذكر لي", + "noAccount": "ليس لديك حساب؟", + "hasAccount": "لديك حساب بالفعل؟", + "loginSuccess": "تم تسجيل الدخول بنجاح", + "loginFailed": "فشل تسجيل الدخول", + "registerSuccess": "تم التسجيل بنجاح", + "registerFailed": "فشل التسجيل", + "logoutSuccess": "تم تسجيل الخروج بنجاح", + "invalidCredentials": "اسم المستخدم أو كلمة المرور غير صالحة", + "accountCreated": "تم إنشاء الحساب بنجاح", + "passwordReset": "تم إرسال رابط إعادة تعيين كلمة المرور", + "twoFactorAuth": "المصادقة الثنائية", + "enterCode": "أدخل رمز التحقق", + "backupCode": "أو استخدم رمز النسخ الاحتياطي", + "verifyCode": "التحقق من الرمز", + "redirectingToApp": "إعادة التوجيه إلى التطبيق...", + "enableTwoFactor": "تمكين المصادقة الثنائية", + "disableTwoFactor": "تعطيل المصادقة الثنائية", + "scanQRCode": "مسح رمز QR هذا باستخدام تطبيق المصادقة الخاص بك", + "backupCodes": "رموز النسخ الاحتياطي", + "saveBackupCodes": "حفظ رموز النسخ الاحتياطي هذه في مكان آمن", + "twoFactorEnabledSuccess": "تم تمكين المصادقة الثنائية بنجاح!", + "twoFactorDisabled": "المصادقة الثنائية معطلة", + "newBackupCodesGenerated": "تم إنشاء رموز النسخ الاحتياطي الجديدة", + "backupCodesDownloaded": "تم تنزيل رموز النسخ الاحتياطي", + "pleaseEnterSixDigitCode": "الرجاء إدخال رمز من 6 أرقام", + "invalidVerificationCode": "رمز التحقق غير صالح", + "failedToDisableTotp": "فشل تعطيل TOTP", + "failedToGenerateBackupCodes": "فشل في إنشاء رموز النسخ الاحتياطي", + "enterPassword": "أدخل كلمة المرور", + "lockedOidcAuth": "مقفل (مصادقة OIDC)", + "twoFactorTitle": "المصادقة الثنائية", + "twoFactorProtected": "حسابك محمي مع المصادقة ذات العاملين", + "twoFactorActive": "المصادقة الثنائية نشطة حاليا على حسابك", + "disable2FA": "تعطيل 2FA", + "disableTwoFactorWarning": "تعطيل المصادقة الثنائية سيجعل حسابك أقل أمانا", + "passwordOrTotpCode": "كلمة المرور أو رمز TOTP", + "or": "أو", + "generateNewBackupCodesText": "إنشاء رموز نسخ احتياطي جديدة إذا فقدت رموز موجودة لديك", + "generateNewBackupCodes": "إنشاء رموز احتياطية جديدة", + "yourBackupCodes": "رموز النسخ الاحتياطي", + "download": "تنزيل", + "setupTwoFactorTitle": "تعيين المصادقة الثنائية", + "sshAuthenticationRequired": "مطلوب مصادقة SSH", + "sshNoKeyboardInteractive": "المصادقة التفاعلية لوحة المفاتيح غير متوفرة", + "sshAuthenticationFailed": "فشل المصادقة", + "sshAuthenticationTimeout": "مهلة المصادقة", + "sshNoKeyboardInteractiveDescription": "الخادم لا يدعم مصادقة لوحة المفاتيح التفاعلية. الرجاء توفير كلمة المرور أو مفتاح SSH الخاص بك.", + "sshAuthFailedDescription": "بيانات الاعتماد المقدمة غير صحيحة. الرجاء المحاولة مرة أخرى باستخدام بيانات اعتماد صالحة.", + "sshTimeoutDescription": "انتهت مهلة محاولة المصادقة. الرجاء المحاولة مرة أخرى.", + "sshProvideCredentialsDescription": "الرجاء تقديم بيانات اعتماد SSH الخاصة بك للاتصال بهذا الخادم.", + "sshPasswordDescription": "أدخل كلمة المرور لهذا الاتصال SSH.", + "sshKeyPasswordDescription": "إذا تم تشفير مفتاح SSH الخاص بك، أدخل كلمة المرور هنا.", + "step1ScanQR": "الخطوة 1: مسح رمز QR باستخدام تطبيق المصادقة الخاص بك", + "manualEntryCode": "رمز الإدخال اليدوي", + "cannotScanQRText": "إذا لم تتمكن من مسح رمز QR ، أدخل هذا الرمز يدوياً في تطبيق المصادقة الخاص بك", + "nextVerifyCode": "التالي : التحقق من الرمز", + "verifyAuthenticator": "تحقق من مصادقك", + "step2EnterCode": "الخطوة 2: أدخل الرمز المكون من 6 أرقام من تطبيق المصادقة", + "verificationCode": "رمز التحقق", + "back": "الرجوع", + "verifyAndEnable": "التحقق والتفعيل", + "saveBackupCodesTitle": "حفظ رموز النسخ الاحتياطي", + "step3StoreCodesSecurely": "الخطوة 3: تخزين هذه الرموز في مكان آمن", + "importantBackupCodesText": "حفظ رموز النسخ الاحتياطي هذه في موقع آمن. يمكنك استخدامها للوصول إلى حسابك إذا فقدت جهاز المصادقة الخاص بك.", + "completeSetup": "اكتمل الإعداد", + "notEnabledText": "المصادقة ذات عاملين تضيف طبقة أمان إضافية من خلال طلب رمز من تطبيق المصادقة عند تسجيل الدخول.", + "enableTwoFactorButton": "تمكين المصادقة الثنائية", + "addExtraSecurityLayer": "إضافة طبقة إضافية من الأمان إلى حسابك", + "firstUser": "المستخدم الأول", + "firstUserMessage": "أنت أول مستخدم وسيتم جعله مشرف. يمكنك عرض إعدادات المشرف في القائمة المنسدلة للمستخدم الجانبي. إذا كنت تعتقد أن هذا خطأ، تحقق من سجلات المرفأ، أو قم بإنشاء مشكلة GitHub .", + "external": "خارجي", + "loginWithExternal": "تسجيل الدخول مع المزود الخارجي", + "loginWithExternalDesc": "تسجيل الدخول باستخدام موفر الهوية الخارجي المعد الخاص بك", + "externalNotSupportedInElectron": "المصادقة الخارجية غير مدعومة في تطبيق إلكترون بعد. الرجاء استخدام إصدار الويب لتسجيل الدخول OIDC.", + "resetPasswordButton": "إعادة تعيين كلمة المرور", + "sendResetCode": "إرسال رمز إعادة التعيين", + "resetCodeDesc": "أدخل اسم المستخدم الخاص بك لتلقي رمز إعادة تعيين كلمة المرور. سيتم تسجيل الدخول في سجلات حاويات الجهاز التنزيلي.", "resetCode": "Reset Code", - "verifyCodeButton": "Verify Code", - "enterResetCode": "Enter the 6-digit code from the docker container logs for user:", - "goToLogin": "Go to Login", - "newPassword": "New Password", - "confirmNewPassword": "Confirm Password", - "enterNewPassword": "Enter your new password for user:", - "signUp": "Sign Up", - "mobileApp": "Mobile App", - "loggingInToMobileApp": "Logging in to the mobile app", - "desktopApp": "Desktop App", - "loggingInToDesktopApp": "Logging in to the desktop app", - "loggingInToDesktopAppViaWeb": "Logging in to the desktop app via web interface", - "loadingServer": "Loading server...", - "authenticating": "Authenticating...", - "dataLossWarning": "Resetting your password this way will delete all your saved SSH hosts, credentials, and other encrypted data. This action cannot be undone. Only use this if you have forgotten your password and are not logged in.", - "authenticationDisabled": "Authentication Disabled", - "authenticationDisabledDesc": "All authentication methods are currently disabled. Please contact your administrator.", - "passwordResetSuccess": "Password Reset Successful", - "passwordResetSuccessDesc": "Your password has been reset successfully. You can now log in with your new password." + "verifyCodeButton": "التحقق من الرمز", + "enterResetCode": "أدخل الرمز المكون من 6 أرقام من سجلات حاويات الجهاز للمستخدم:", + "goToLogin": "الذهاب إلى تسجيل الدخول", + "newPassword": "كلمة المرور الجديدة", + "confirmNewPassword": "تأكيد كلمة المرور", + "enterNewPassword": "أدخل كلمة المرور الجديدة للمستخدم:", + "signUp": "تسجيل الدخول", + "mobileApp": "تطبيق الجوال", + "loggingInToMobileApp": "تسجيل الدخول إلى تطبيق الجوال", + "desktopApp": "تطبيق سطح المكتب", + "loggingInToDesktopApp": "تسجيل الدخول إلى تطبيق سطح المكتب", + "loggingInToDesktopAppViaWeb": "تسجيل الدخول إلى تطبيق سطح المكتب عبر واجهة الويب", + "loadingServer": "جاري تحميل الخادم...", + "authenticating": "المصادقة...", + "dataLossWarning": "إعادة تعيين كلمة المرور بهذه الطريقة ستؤدي إلى حذف جميع مضيفي SSH المحفوظين، والاعتمادات، والبيانات المشفرة الأخرى. لا يمكن التراجع عن هذا الإجراء. استخدم هذا فقط إذا كنت قد نسيت كلمة المرور الخاصة بك ولم يتم تسجيل الدخول.", + "authenticationDisabled": "المصادقة معطلة", + "authenticationDisabledDesc": "جميع طرق المصادقة معطلة حاليا. الرجاء الاتصال بالمسؤول.", + "passwordResetSuccess": "تم إعادة تعيين كلمة المرور بنجاح", + "passwordResetSuccessDesc": "تم إعادة تعيين كلمة المرور الخاصة بك بنجاح. يمكنك الآن تسجيل الدخول باستخدام كلمة المرور الجديدة." }, "errors": { - "notFound": "Page not found", - "unauthorized": "Unauthorized access", - "forbidden": "Access forbidden", - "serverError": "Server error", - "networkError": "Network error", - "databaseConnection": "Could not connect to the database", - "unknownError": "Unknown error", - "loginFailed": "Login failed", - "failedPasswordReset": "Failed to initiate password reset", - "failedVerifyCode": "Failed to verify reset code", - "failedCompleteReset": "Failed to complete password reset", + "notFound": "لم يتم العثور على الصفحة", + "unauthorized": "الوصول غير المصرح به", + "forbidden": "الوصول محظور", + "serverError": "خطأ في الخادم", + "networkError": "خطأ في الشبكة", + "databaseConnection": "تعذر الاتصال بقاعدة البيانات", + "unknownError": "خطأ غير معروف", + "loginFailed": "فشل تسجيل الدخول", + "failedPasswordReset": "فشل في بدء إعادة تعيين كلمة المرور", + "failedVerifyCode": "فشل التحقق من إعادة تعيين الرمز", + "failedCompleteReset": "فشل في إكمال إعادة تعيين كلمة المرور", "invalidTotpCode": "Invalid TOTP code", - "failedOidcLogin": "Failed to start OIDC login", - "failedUserInfo": "Failed to get user info after OIDC login", - "oidcAuthFailed": "OIDC authentication failed", - "noTokenReceived": "No token received from login", - "invalidAuthUrl": "Invalid authorization URL received from backend", + "failedOidcLogin": "فشل في بدء تسجيل الدخول OIDC", + "failedUserInfo": "فشل الحصول على معلومات المستخدم بعد تسجيل الدخول OIDC", + "oidcAuthFailed": "فشل مصادقة OIDC", + "noTokenReceived": "لم يتم استلام رمز من تسجيل الدخول", + "invalidAuthUrl": "رابط تفويض غير صالح مستلم من الخلفية", "invalidInput": "Invalid input", - "requiredField": "This field is required", - "minLength": "Minimum length is {{min}}", - "maxLength": "Maximum length is {{max}}", - "invalidEmail": "Invalid email address", - "passwordMismatch": "Passwords do not match", - "passwordLoginDisabled": "Username/password login is currently disabled", - "weakPassword": "Password is too weak", - "usernameExists": "Username already exists", - "emailExists": "Email already exists", - "loadFailed": "Failed to load data", - "saveError": "Failed to save", - "sessionExpired": "Session expired - please log in again" + "requiredField": "هذا الحقل مطلوب", + "minLength": "الحد الأدنى للطول هو {{min}}", + "maxLength": "أقصى طول هو {{max}}", + "invalidEmail": "عنوان البريد الإلكتروني غير صالح", + "passwordMismatch": "كلمتا المرور غير متطابقتين", + "passwordLoginDisabled": "اسم المستخدم/كلمة المرور غير مفعل حاليا", + "weakPassword": "كلمة المرور ضعيفة جدا", + "usernameExists": "اسم المستخدم موجود مسبقاً", + "emailExists": "البريد الإلكتروني موجود بالفعل", + "loadFailed": "فشل تحميل البيانات", + "saveError": "فشل في الحفظ", + "sessionExpired": "انتهت صلاحية الجلسة - الرجاء تسجيل الدخول مرة أخرى" }, "messages": { - "saveSuccess": "Saved successfully", - "saveError": "Failed to save", - "deleteSuccess": "Deleted successfully", - "deleteError": "Failed to delete", - "updateSuccess": "Updated successfully", - "updateError": "Failed to update", - "copySuccess": "Copied to clipboard", - "copyError": "Failed to copy", + "saveSuccess": "تم الحفظ بنجاح", + "saveError": "فشل في الحفظ", + "deleteSuccess": "تم الحذف بنجاح", + "deleteError": "فشل في الحذف", + "updateSuccess": "تم التحديث بنجاح", + "updateError": "فشل التحديث", + "copySuccess": "نسخ إلى الحافظة", + "copyError": "فشل في النسخ", "copiedToClipboard": "{{item}} copied to clipboard", - "connectionEstablished": "Connection established", - "connectionClosed": "Connection closed", - "reconnecting": "Reconnecting...", - "processing": "Processing...", - "pleaseWait": "Please wait...", - "registrationDisabled": "New account registration is currently disabled by an admin. Please log in or contact an administrator.", - "databaseConnected": "Database connected successfully", - "databaseConnectionFailed": "Failed to connect to the database server", - "checkServerConnection": "Please check your server connection and try again", - "resetCodeSent": "Reset code sent to Docker logs", - "codeVerified": "Code verified successfully", - "passwordResetSuccess": "Password reset successfully", - "loginSuccess": "Login successful", - "registrationSuccess": "Registration successful" + "connectionEstablished": "تم إنشاء الاتصال", + "connectionClosed": "تم إغلاق الاتصال", + "reconnecting": "إعادة الاتصال...", + "processing": "معالجة...", + "pleaseWait": "الرجاء الانتظار...", + "registrationDisabled": "تسجيل الحساب الجديد معطل حاليًا من قبل المسؤول. الرجاء تسجيل الدخول أو الاتصال بالمسؤول.", + "databaseConnected": "تم توصيل قاعدة البيانات بنجاح", + "databaseConnectionFailed": "فشل الاتصال بخادم قاعدة البيانات", + "checkServerConnection": "الرجاء التحقق من اتصال الخادم الخاص بك وحاول مرة أخرى", + "resetCodeSent": "إعادة تعيين التعليمات البرمجية المرسلة إلى سجلات Docker", + "codeVerified": "تم التحقق من الرمز بنجاح", + "passwordResetSuccess": "تم إعادة تعيين كلمة المرور بنجاح", + "loginSuccess": "تم تسجيل الدخول بنجاح", + "registrationSuccess": "تم التسجيل بنجاح" }, "profile": { - "title": "User Profile", - "description": "Manage your account settings and security", - "security": "Security", - "changePassword": "Change Password", - "twoFactorAuth": "Two-Factor Authentication", - "accountInfo": "Account Information", - "role": "Role", - "admin": "Administrator", - "user": "User", - "authMethod": "Authentication Method", - "local": "Local", - "external": "External (OIDC)", - "externalAndLocal": "Dual Auth", - "selectPreferredLanguage": "Select your preferred language for the interface", - "fileColorCoding": "File Color Coding", - "fileColorCodingDesc": "Color-code files by type: folders (red), files (blue), symlinks (green)", - "commandAutocomplete": "Command Autocomplete", - "commandAutocompleteDesc": "Enable Tab key autocomplete suggestions for terminal commands based on your command history", - "defaultSnippetFoldersCollapsed": "Collapse Snippet Folders by Default", - "defaultSnippetFoldersCollapsedDesc": "When enabled, all snippet folders will be collapsed when you open the snippets tab", - "terminalSyntaxHighlighting": "Terminal Syntax Highlighting", - "showHostTags": "Show Host Tags", - "showHostTagsDesc": "Display tags under each host in the sidebar. Disable to hide all tags.", - "account": "Account", - "appearance": "Appearance", - "languageLocalization": "Language & Localization", - "fileManagerSettings": "File Manager", - "terminalSettings": "Terminal", - "hostSidebarSettings": "Host & Sidebar", - "snippetsSettings": "Snippets", - "currentPassword": "Current Password", - "passwordChangedSuccess": "Password changed successfully! Please log in again.", - "failedToChangePassword": "Failed to change password. Please check your current password and try again.", - "theme": "Theme", - "themeLight": "Light", - "themeDark": "Dark", - "themeSystem": "System", - "appearanceDesc": "Select the color theme for the application", - "terminalSyntaxHighlightingDesc": "Automatically highlight commands, paths, IPs, and log levels in terminal output" + "title": "الملف الشخصي للمستخدم", + "description": "إدارة إعدادات حسابك والأمان", + "security": "أمان", + "changePassword": "تغيير كلمة المرور", + "twoFactorAuth": "المصادقة الثنائية", + "accountInfo": "معلومات الحساب", + "role": "دور", + "admin": "المدير", + "user": "المستخدم", + "authMethod": "طريقة المصادقة", + "local": "محلي", + "external": "خارجي (OIDC)", + "externalAndLocal": "المصادقة المزدوجة", + "selectPreferredLanguage": "حدد لغتك المفضلة للواجهة", + "fileColorCoding": "ترميز لون الملف", + "fileColorCodingDesc": "ملفات رمز اللون حسب النوع: مجلدات (أحمر)، ملفات (أزرق)، روابط رمزية (خضراء)", + "commandAutocomplete": "إكمال الأوامر التلقائي", + "commandAutocompleteDesc": "تمكين اقتراحات الإكمال التلقائي لمفتاح علامة التبويب للأوامر الطرفية استناداً إلى سجل الأوامر الخاصة بك", + "defaultSnippetFoldersCollapsed": "طي مجلدات كتلة الكود بشكل افتراضي", + "defaultSnippetFoldersCollapsedDesc": "عند التمكين، سيتم انهيار جميع مجلدات كتلة الكود عند فتح علامة تبويب كتل الكود", + "terminalSyntaxHighlighting": "تسليط الضوء على بناء الجملة", + "showHostTags": "إظهار الوسوم المضيفة", + "showHostTagsDesc": "عرض العلامات تحت كل مضيف في الشريط الجانبي. تعطيل لإخفاء جميع العلامات.", + "account": "حساب", + "appearance": "المظهر", + "languageLocalization": "اللغة والتعريب", + "fileManagerSettings": "مدير الملفات", + "terminalSettings": "المحطة", + "hostSidebarSettings": "المضيف و الشريط الجانبي", + "snippetsSettings": "كتل الكود", + "currentPassword": "كلمة المرور الحالية", + "passwordChangedSuccess": "تم تغيير كلمة المرور بنجاح! الرجاء تسجيل الدخول مرة أخرى.", + "failedToChangePassword": "فشل في تغيير كلمة المرور. الرجاء التحقق من كلمة المرور الحالية وحاول مرة أخرى.", + "theme": "السمة", + "themeLight": "فاتح", + "themeDark": "داكن", + "themeSystem": "النظام", + "appearanceDesc": "حدد سمة اللون للتطبيق", + "terminalSyntaxHighlightingDesc": "تسليط الضوء تلقائياً على الأوامر والمسارات وIP ومستويات السجل في المخرجات الطرفية" }, "user": { - "failedToLoadVersionInfo": "Failed to load version information" + "failedToLoadVersionInfo": "فشل تحميل معلومات الإصدار" }, "placeholders": { "enterCode": "000000", @@ -1901,502 +1901,502 @@ "port": "22", "maxRetries": "3", "retryInterval": "10", - "language": "Language", - "username": "username", - "hostname": "host name", - "folder": "folder", - "password": "password", - "keyPassword": "key password", - "sudoPassword": "sudo password (optional)", - "notes": "add notes about this host...", - "expirationDate": "Select expiration date", - "pastePrivateKey": "Paste your private key here...", - "pastePublicKey": "Paste your public key here...", - "credentialName": "My SSH Server", - "description": "SSH credential description", - "searchCredentials": "Search credentials by name, username, or tags...", - "sshConfig": "endpoint ssh configuration", - "homePath": "/home", - "clientId": "your-client-id", - "clientSecret": "your-client-secret", + "language": "اللغة", + "username": "اسم المستخدم", + "hostname": "اسم المضيف", + "folder": "مجلد", + "password": "كلمة المرور", + "keyPassword": "كلمة مرور المفتاح", + "sudoPassword": "كلمة مرور sudo (اختياري)", + "notes": "إضافة ملاحظات حول هذا المضيف...", + "expirationDate": "حدد تاريخ انتهاء الصلاحية", + "pastePrivateKey": "لصق المفتاح الخاص بك هنا...", + "pastePublicKey": "لصق المفتاح العام الخاص بك هنا...", + "credentialName": "خادم SSH الخاص بي", + "description": "وصف اعتماد SSH", + "searchCredentials": "البحث عن بيانات الاعتماد حسب الاسم أو اسم المستخدم أو العلامات...", + "sshConfig": "تكوين ssh نقطة النهاية", + "homePath": "/ منزل", + "clientId": "معرف عميلك-العميل", + "clientSecret": "سر-عملاءك", "authUrl": "https://your-provider.com/application/o/authorize/", "redirectUrl": "https://your-provider.com/application/o/termix/", "tokenUrl": "https://your-provider.com/application/o/token/", - "userIdField": "sub", - "usernameField": "name", - "scopes": "openid email profile", + "userIdField": "فرعي", + "usernameField": "اسم", + "scopes": "ملف البريد الإلكتروني المفتوح", "userinfoUrl": "https://your-provider.com/application/o/userinfo/", - "enterUsername": "Enter username to make admin", - "searchHosts": "Search hosts by name, username, IP, folder, tags...", - "enterPassword": "Enter your password", + "enterUsername": "أدخل اسم المستخدم لجعل المشرف", + "searchHosts": "البحث عن المضيفين حسب الاسم، اسم المستخدم، IP ، المجلد، العلامات...", + "enterPassword": "أدخل كلمة المرور", "totpCode": "6-digit TOTP code", - "searchHostsAny": "Search hosts (try: tag:prod, user:root, ip:192.168)...", - "confirmPassword": "Enter your password to confirm", - "typeHere": "Type here", - "fileName": "Enter file name (e.g., example.txt)", - "folderName": "Enter folder name", - "fullPath": "Enter full path to item", - "currentPath": "Enter current path to item", - "newName": "Enter new name", + "searchHostsAny": "البحث عن مضيفين (تجربة: علامة:prod, user:root, ip:192.168)...", + "confirmPassword": "أدخل كلمة المرور للتأكيد", + "typeHere": "اكتب هنا", + "fileName": "أدخل اسم الملف (على سبيل المثال.txt)", + "folderName": "أدخل اسم المجلد", + "fullPath": "أدخل المسار الكامل للعنصر", + "currentPath": "أدخل المسار الحالي إلى العنصر", + "newName": "أدخل اسم جديد", "socks5Host": "127.0.0.1", - "socks5Username": "proxy username", - "socks5Password": "proxy password", - "socks5PresetName": "e.g., Work VPN Chain", - "socks5PresetDescription": "e.g., Proxy chain for accessing work servers", - "moshCommand": "mosh user@server", + "socks5Username": "اسم المستخدم الوكيل", + "socks5Password": "كلمة مرور الوكيل", + "socks5PresetName": "على سبيل المثال سلسلة VPN للعمل", + "socks5PresetDescription": "على سبيل المثال سلسلة البروكسي للوصول إلى خوادم العمل", + "moshCommand": "موزح user@server", "defaultPort": "22", "defaultEndpointPort": "224", "defaultMaxRetries": "3", "defaultRetryInterval": "10" }, "leftSidebar": { - "failedToLoadHosts": "Failed to load hosts", - "noFolder": "No Folder", - "passwordRequired": "Password is required", - "failedToDeleteAccount": "Failed to delete account", - "failedToMakeUserAdmin": "Failed to make user admin", - "userIsNowAdmin": "User {{username}} is now an admin", - "removeAdminConfirm": "Are you sure you want to remove admin status from {{username}}?", - "deleteUserConfirm": "Are you sure you want to delete user {{username}}? This action cannot be undone.", - "deleteAccount": "Delete Account", - "closeDeleteAccount": "Close Delete Account", - "deleteAccountWarning": "This action cannot be undone. This will permanently delete your account and all associated data.", - "deleteAccountWarningDetails": "Deleting your account will remove all your data including SSH hosts, configurations, and settings. This action is irreversible.", - "deleteAccountWarningShort": "This action is not reversible and will permanently delete your account.", - "cannotDeleteAccount": "Cannot Delete Account", - "lastAdminWarning": "You are the last admin user. You cannot delete your account as this would leave the system without any administrators. Please make another user an admin first, or contact system support.", - "confirmPassword": "Confirm Password", - "deleting": "Deleting...", - "cancel": "Cancel" + "failedToLoadHosts": "فشل تحميل المضيفين", + "noFolder": "لا يوجد مجلد", + "passwordRequired": "كلمة المرور مطلوبة", + "failedToDeleteAccount": "فشل في حذف الحساب", + "failedToMakeUserAdmin": "فشل في جعل مشرف المستخدم", + "userIsNowAdmin": "المستخدم {{username}} هو مشرف الآن", + "removeAdminConfirm": "هل أنت متأكد من أنك تريد إزالة حالة المشرف من {{username}}؟", + "deleteUserConfirm": "هل أنت متأكد من أنك تريد حذف المستخدم {{username}}؟ لا يمكن التراجع عن هذا الإجراء.", + "deleteAccount": "حذف الحساب", + "closeDeleteAccount": "إغلاق حذف الحساب", + "deleteAccountWarning": "لا يمكن التراجع عن هذا الإجراء. سيؤدي هذا إلى حذف حسابك وكافة البيانات المرتبطة به بشكل دائم.", + "deleteAccountWarningDetails": "سيؤدي حذف حسابك إلى إزالة جميع بياناتك بما في ذلك مضيفات SSH والتكوين والإعدادات. هذا الإجراء لا رجعة فيه.", + "deleteAccountWarningShort": "هذا الإجراء غير قابل للإلغاء وسوف يحذف حسابك بشكل دائم.", + "cannotDeleteAccount": "لا يمكن حذف الحساب", + "lastAdminWarning": "أنت آخر مستخدم للمشرفين. لا يمكنك حذف حسابك لأن هذا سيترك النظام بدون أي مسؤولين. الرجاء جعل مستخدم آخر مشرفا أولا، أو اتصل بدعم النظام.", + "confirmPassword": "تأكيد كلمة المرور", + "deleting": "حذف...", + "cancel": "إلغاء" }, "interface": { "sidebar": "Sidebar", - "toggleSidebar": "Toggle Sidebar", - "close": "Close", - "online": "Online", - "offline": "Offline", - "maintenance": "Maintenance", - "degraded": "Degraded", - "noTunnelConnections": "No tunnel connections configured", - "discord": "Discord", - "connectToSshForOperations": "Connect to SSH to use file operations", - "uploadFile": "Upload File", - "newFile": "New File", - "newFolder": "New Folder", - "rename": "Rename", - "deleteItem": "Delete Item", - "createNewFile": "Create New File", - "createNewFolder": "Create New Folder", - "renameItem": "Rename Item", - "clickToSelectFile": "Click to select a file", - "noSshHosts": "No SSH Hosts", - "sshHosts": "SSH Hosts", - "importSshHosts": "Import SSH Hosts from JSON", - "clientId": "Client ID", - "clientSecret": "Client Secret", - "error": "Error", - "warning": "Warning", - "deleteAccount": "Delete Account", - "closeDeleteAccount": "Close Delete Account", - "cannotDeleteAccount": "Cannot Delete Account", - "confirmPassword": "Confirm Password", - "deleting": "Deleting...", - "externalAuth": "External Authentication (OIDC)", - "configureExternalProvider": "Configure external identity provider for", - "waitingForRetry": "Waiting for retry", - "retryingConnection": "Retrying connection", - "resetSplitSizes": "Reset split sizes", - "sshManagerAlreadyOpen": "SSH Manager already open", - "disabledDuringSplitScreen": "Disabled during split screen", - "unknown": "Unknown", - "connected": "Connected", - "disconnected": "Disconnected", - "maxRetriesExhausted": "Max retries exhausted", - "endpointHostNotFound": "Endpoint host not found", - "administrator": "Administrator", - "user": "User", - "external": "External", - "local": "Local", - "saving": "Saving...", - "saveConfiguration": "Save Configuration", - "loading": "Loading...", - "refresh": "Refresh", - "adding": "Adding...", - "makeAdmin": "Make Admin", - "verifying": "Verifying...", - "verifyAndEnable": "Verify and Enable", - "secretKey": "Secret key", + "toggleSidebar": "تبديل الشريط الجانبي", + "close": "أغلق", + "online": "متصل", + "offline": "غير متصل", + "maintenance": "صيانة", + "degraded": "تدهورت", + "noTunnelConnections": "لا توجد اتصالات نفق تم تكوينها", + "discord": "ديسكورد", + "connectToSshForOperations": "الاتصال بSSH لاستخدام عمليات الملفات", + "uploadFile": "تحميل ملف", + "newFile": "ملف جديد", + "newFolder": "مجلد جديد", + "rename": "إعادة تسمية", + "deleteItem": "حذف العنصر", + "createNewFile": "إنشاء ملف جديد", + "createNewFolder": "إنشاء مجلد جديد", + "renameItem": "إعادة تسمية العنصر", + "clickToSelectFile": "انقر لتحديد ملف", + "noSshHosts": "لا يوجد مضيفين SSH", + "sshHosts": "مضيفي SSH", + "importSshHosts": "استيراد مضيف SSH من JSON", + "clientId": "معرف العميل", + "clientSecret": "سر العميل", + "error": "خطأ", + "warning": "تحذير", + "deleteAccount": "حذف الحساب", + "closeDeleteAccount": "إغلاق حذف الحساب", + "cannotDeleteAccount": "لا يمكن حذف الحساب", + "confirmPassword": "تأكيد كلمة المرور", + "deleting": "حذف...", + "externalAuth": "المصادقة الخارجية (OIDC)", + "configureExternalProvider": "تكوين موفر الهوية الخارجي لـ", + "waitingForRetry": "في انتظار إعادة المحاولة", + "retryingConnection": "إعادة محاولة الاتصال", + "resetSplitSizes": "إعادة تعيين حجم التقسيم", + "sshManagerAlreadyOpen": "مدير SSH مفتوح بالفعل", + "disabledDuringSplitScreen": "تم تعطيله أثناء تقسيم الشاشة", + "unknown": "غير معروف", + "connected": "متصل", + "disconnected": "قطع", + "maxRetriesExhausted": "تم استنفاد الحد الاقصى لمحاولات", + "endpointHostNotFound": "لم يتم العثور على مضيف نقطة النهاية", + "administrator": "المدير", + "user": "المستخدم", + "external": "خارجي", + "local": "محلي", + "saving": "حفظ...", + "saveConfiguration": "حفظ الإعدادات", + "loading": "تحميل...", + "refresh": "تحديث", + "adding": "إضافة...", + "makeAdmin": "إنشاء مشرف", + "verifying": "إظهار...", + "verifyAndEnable": "التحقق والتفعيل", + "secretKey": "مفتاح سري", "totpQrCode": "TOTP QR Code", - "passwordRequired": "Password is required when using password authentication", - "sshKeyRequired": "SSH Private Key is required when using key authentication", - "keyTypeRequired": "Key Type is required when using key authentication", - "validSshConfigRequired": "Must select a valid SSH configuration from the list", - "updateHost": "Update Host", - "addHost": "Add Host", - "editHost": "Edit Host", - "pinConnection": "Pin Connection", - "authentication": "Authentication", - "password": "Password", - "key": "Key", - "sshPrivateKey": "SSH Private Key", - "keyPassword": "Key Password", - "keyType": "Key Type", - "enableTerminal": "Enable Terminal", - "enableTunnel": "Enable Tunnel", - "enableFileManager": "Enable File Manager", - "defaultPath": "Default Path", - "tunnelConnections": "Tunnel Connections", - "maxRetries": "Max Retries", - "upload": "Upload", - "updateKey": "Update Key", - "productionFolder": "Production", - "databaseServer": "Database Server", - "developmentServer": "Development Server", - "developmentFolder": "Development", - "webServerProduction": "Web Server - Production", - "unknownError": "Unknown error", - "failedToInitiatePasswordReset": "Failed to initiate password reset", - "failedToVerifyResetCode": "Failed to verify reset code", - "failedToCompletePasswordReset": "Failed to complete password reset", + "passwordRequired": "كلمة المرور مطلوبة عند استخدام مصادقة كلمة المرور", + "sshKeyRequired": "مفتاح SSH الخاص مطلوب عند استخدام مصادقة المفتاح", + "keyTypeRequired": "نوع المفتاح مطلوب عند استخدام مصادقة المفتاح", + "validSshConfigRequired": "يجب تحديد تكوين SSH صالح من القائمة", + "updateHost": "تحديث المضيف", + "addHost": "إضافة مضيف", + "editHost": "تحرير المضيف", + "pinConnection": "تثبيت الاتصال", + "authentication": "المصادقة", + "password": "كلمة المرور", + "key": "المفتاح", + "sshPrivateKey": "مفتاح SSH الخاص", + "keyPassword": "كلمة المرور الرئيسية", + "keyType": "نوع المفتاح", + "enableTerminal": "تمكين المحطة الطرفية", + "enableTunnel": "تمكين النفق", + "enableFileManager": "تمكين مدير الملفات", + "defaultPath": "المسار الافتراضي", + "tunnelConnections": "اتصالات النفق", + "maxRetries": "الحد الاقصى لمحاولات", + "upload": "تحميل", + "updateKey": "تحديث المفتاح", + "productionFolder": "الانتاج", + "databaseServer": "خادم قاعدة البيانات", + "developmentServer": "خادم التطوير", + "developmentFolder": "التطوير", + "webServerProduction": "خادم الويب - الإنتاج", + "unknownError": "خطأ غير معروف", + "failedToInitiatePasswordReset": "فشل في بدء إعادة تعيين كلمة المرور", + "failedToVerifyResetCode": "فشل التحقق من إعادة تعيين الرمز", + "failedToCompletePasswordReset": "فشل في إكمال إعادة تعيين كلمة المرور", "invalidTotpCode": "Invalid TOTP code", - "failedToStartOidcLogin": "Failed to start OIDC login", - "failedToGetUserInfoAfterOidc": "Failed to get user info after OIDC login", - "loginWithExternalProvider": "Login with external provider", - "loginWithExternal": "Login with External Provider", - "sendResetCode": "Send Reset Code", - "verifyCode": "Verify Code", - "resetPassword": "Reset Password", - "login": "Login", - "signUp": "Sign Up", - "failedToUpdateOidcConfig": "Failed to update OIDC configuration", - "failedToMakeUserAdmin": "Failed to make user admin", - "failedToStartTotpSetup": "Failed to start TOTP setup", - "invalidVerificationCode": "Invalid verification code", - "failedToDisableTotp": "Failed to disable TOTP", - "failedToGenerateBackupCodes": "Failed to generate backup codes" + "failedToStartOidcLogin": "فشل في بدء تسجيل الدخول OIDC", + "failedToGetUserInfoAfterOidc": "فشل الحصول على معلومات المستخدم بعد تسجيل الدخول OIDC", + "loginWithExternalProvider": "تسجيل الدخول مع المزود الخارجي", + "loginWithExternal": "تسجيل الدخول مع المزود الخارجي", + "sendResetCode": "إرسال رمز إعادة التعيين", + "verifyCode": "التحقق من الرمز", + "resetPassword": "إعادة تعيين كلمة المرور", + "login": "تسجيل الدخول", + "signUp": "تسجيل الدخول", + "failedToUpdateOidcConfig": "فشل تحديث إعدادات OIDC", + "failedToMakeUserAdmin": "فشل في جعل مشرف المستخدم", + "failedToStartTotpSetup": "فشل في بدء إعداد TOTP", + "invalidVerificationCode": "رمز التحقق غير صالح", + "failedToDisableTotp": "فشل تعطيل TOTP", + "failedToGenerateBackupCodes": "فشل في إنشاء رموز النسخ الاحتياطي" }, "mobile": { - "selectHostToStart": "Select a host to start your terminal session", - "limitedSupportMessage": "Website mobile support is still in progress. Use the mobile app for a better experience.", - "mobileAppInProgress": "Mobile app is in progress", - "mobileAppInProgressDesc": "We're working on a dedicated mobile app to provide a better experience on mobile devices.", - "viewMobileAppDocs": "Install Mobile App", - "mobileAppDocumentation": "Mobile App Documentation" + "selectHostToStart": "حدد المضيف لبدء الجلسة النهائية الخاصة بك", + "limitedSupportMessage": "لا يزال دعم الهاتف المحمول للموقع قيد التقدم. استخدم تطبيق الهاتف المحمول للحصول على تجربة أفضل.", + "mobileAppInProgress": "تطبيق الجوال قيد التقدم", + "mobileAppInProgressDesc": "نحن نعمل على تطبيق هاتف محمول مخصص لتوفير تجربة أفضل على الأجهزة المحمولة.", + "viewMobileAppDocs": "تثبيت تطبيق الجوال", + "mobileAppDocumentation": "وثائق تطبيق الجوال" }, "dashboard": { - "title": "Dashboard", + "title": "لوحة التحكم", "github": "GitHub", - "support": "Support", - "discord": "Discord", - "donate": "Donate", - "serverOverview": "Server Overview", - "version": "Version", - "upToDate": "Up to Date", - "updateAvailable": "Update Available", - "uptime": "Uptime", - "database": "Database", - "healthy": "Healthy", - "error": "Error", - "totalServers": "Total Servers", - "totalTunnels": "Total Tunnels", - "totalCredentials": "Total Credentials", - "recentActivity": "Recent Activity", + "support": "الدعم", + "discord": "ديسكورد", + "donate": "تبرع", + "serverOverview": "نظرة عامة على الخادم", + "version": "الإصدار", + "upToDate": "حتى التاريخ", + "updateAvailable": "تحديث متوفر", + "uptime": "وقت التحديث", + "database": "قاعدة البيانات", + "healthy": "صحي", + "error": "خطأ", + "totalServers": "مجموع الخوادم", + "totalTunnels": "إجمالي الأنفاق", + "totalCredentials": "مجموع بيانات الاعتماد", + "recentActivity": "النشاط الأخير", "reset": "Reset", - "loadingRecentActivity": "Loading recent activity...", - "noRecentActivity": "No recent activity", - "quickActions": "Quick Actions", - "addHost": "Add Host", - "addCredential": "Add Credential", - "adminSettings": "Admin Settings", - "userProfile": "User Profile", - "serverStats": "Server Stats", - "loadingServerStats": "Loading server stats...", - "noServerData": "No server data available", - "cpu": "CPU", + "loadingRecentActivity": "جاري تحميل النشاط الأخير...", + "noRecentActivity": "لا يوجد نشاط حديث", + "quickActions": "الإجراءات السريعة", + "addHost": "إضافة مضيف", + "addCredential": "إضافة بيانات اعتماد", + "adminSettings": "إعدادات المدير", + "userProfile": "الملف الشخصي للمستخدم", + "serverStats": "إحصائيات الخادم", + "loadingServerStats": "تحميل إحصائيات الخادم...", + "noServerData": "لا تتوفر بيانات الخادم", + "cpu": "المعالج", "ram": "RAM", - "notAvailable": "N/A" + "notAvailable": "لا" }, "rbac": { - "shareHost": "Share Host", - "shareHostTitle": "Share Host Access", - "shareHostDescription": "Grant temporary or permanent access to this host", - "targetUser": "Target User", - "selectUser": "Select a user to share with", - "duration": "Duration", - "durationHours": "Duration (hours)", - "neverExpires": "Never expires", - "permissionLevel": "Permission Level", + "shareHost": "مشاركة المضيف", + "shareHostTitle": "مشاركة الوصول المضيف", + "shareHostDescription": "منح الوصول المؤقت أو الدائم إلى هذا المضيف", + "targetUser": "المستخدم المستهدف", + "selectUser": "حدد مستخدم لمشاركته مع", + "duration": "المدة", + "durationHours": "المدة (ساعات)", + "neverExpires": "لا تنتهي أبدا", + "permissionLevel": "مستوى الإذن", "permissionLevels": { - "readonly": "Read-Only", - "readonlyDesc": "Can view only, no command input", - "restricted": "Restricted", - "restrictedDesc": "Blocks dangerous commands (passwd, rm -rf, etc.)", - "monitored": "Monitored", - "monitoredDesc": "Records all commands but doesn't block (Recommended)", - "full": "Full Access", - "fullDesc": "No restrictions (Not recommended)" + "readonly": "قراءة فقط", + "readonlyDesc": "يمكن عرض فقط، لا إدخال أمر", + "restricted": "مقيد", + "restrictedDesc": "حظر الأوامر الخطرة (المرور ، rm -rf، إلخ.)", + "monitored": "مراقبة", + "monitoredDesc": "تسجيل جميع الأوامر ولكن لا تمنع (مستحسن)", + "full": "الوصول الكامل", + "fullDesc": "لا توجد قيود (غير مستحسنة)" }, - "blockedCommands": "Blocked Commands", - "blockedCommandsPlaceholder": "Enter commands to block, e.g., passwd, rm, dd", - "maxSessionDuration": "Max Session Duration (minutes)", - "createTempUser": "Create Temporary User", - "createTempUserDesc": "Creates a restricted user on the server instead of sharing your credentials. Requires sudo access. Most secure option.", - "expiresAt": "Expires At", - "expiresIn": "Expires in {{hours}} hours", - "expired": "Expired", - "grantedBy": "Granted By", - "accessLevel": "Access Level", - "lastAccessed": "Last Accessed", - "accessCount": "Access Count", - "revokeAccess": "Revoke Access", - "confirmRevokeAccess": "Are you sure you want to revoke access for {{username}}?", - "hostSharedSuccessfully": "Host shared successfully with {{username}}", - "hostAccessUpdated": "Host access updated", - "failedToShareHost": "Failed to share host", - "accessRevokedSuccessfully": "Access revoked successfully", - "failedToRevokeAccess": "Failed to revoke access", - "shared": "Shared", - "sharedHosts": "Shared Hosts", - "sharedWithMe": "Shared With Me", - "noSharedHosts": "No hosts shared with you", - "owner": "Owner", - "viewAccessList": "View Access List", - "accessList": "Access List", - "noAccessGranted": "No access has been granted for this host", - "noAccessGrantedMessage": "No users have been granted access to this host yet", - "manageAccessFor": "Manage access for", - "totalAccessRecords": "{{count}} access record(s)", - "neverAccessed": "Never", + "blockedCommands": "أوامر محظورة", + "blockedCommandsPlaceholder": "أدخل الأوامر للحظر، على سبيل المثال، مرور، رم، dd", + "maxSessionDuration": "مدة الجلسة القصوى (بالدقائق)", + "createTempUser": "إنشاء مستخدم مؤقت", + "createTempUserDesc": "يقوم بإنشاء مستخدم مقيد على الخادم بدلاً من مشاركة بيانات الاعتماد الخاصة بك. يتطلب الوصول sudo . الخيار الأكثر أمناً.", + "expiresAt": "تنتهي في", + "expiresIn": "تنتهي في ساعات {{hours}}", + "expired": "منتهية", + "grantedBy": "ممنوح من قبل", + "accessLevel": "مستوى الوصول", + "lastAccessed": "آخر وصول", + "accessCount": "عدد الدخول", + "revokeAccess": "إلغاء الوصول", + "confirmRevokeAccess": "هل أنت متأكد من أنك تريد إلغاء الوصول ل {{username}}؟", + "hostSharedSuccessfully": "تم مشاركة المضيف بنجاح مع {{username}}", + "hostAccessUpdated": "تم تحديث الوصول إلى المضيف", + "failedToShareHost": "فشل مشاركة المضيف", + "accessRevokedSuccessfully": "تم إلغاء الوصول بنجاح", + "failedToRevokeAccess": "فشل في إلغاء الوصول", + "shared": "مشترك", + "sharedHosts": "المُستضيفين المشتركين", + "sharedWithMe": "مشاركة معي", + "noSharedHosts": "لا يوجد مضيف مشترك معك", + "owner": "المالك", + "viewAccessList": "عرض قائمة الوصول", + "accessList": "قائمة الوصول", + "noAccessGranted": "لم يتم منح أي وصول لهذا المضيف", + "noAccessGrantedMessage": "لم يتم منح أي مستخدمين حق الوصول إلى هذا المضيف بعد", + "manageAccessFor": "إدارة الوصول ل", + "totalAccessRecords": "{{count}} سجل (سجلات) الدخول", + "neverAccessed": "لا", "timesAccessed": "{{count}} time(s)", "daysRemaining": "{{days}} day(s)", "hoursRemaining": "{{hours}} hour(s)", - "failedToFetchAccessList": "Failed to fetch access list", - "currentAccess": "Current Access", - "securityWarning": "Security Warning", - "securityWarningMessage": "Sharing credentials gives the user full access to perform any operations on the server, including changing passwords and deleting files. Only share with trusted users.", - "tempUserRecommended": "We recommend enabling 'Create Temporary User' for better security.", - "roleManagement": "Role Management", - "manageRoles": "Manage Roles", - "manageRolesFor": "Manage roles for {{username}}", - "assignRole": "Assign Role", - "removeRole": "Remove Role", - "userRoles": "User Roles", - "permissions": "Permissions", - "systemRole": "System Role", - "customRole": "Custom Role", - "roleAssignedSuccessfully": "Role assigned to {{username}} successfully", - "failedToAssignRole": "Failed to assign role", - "roleRemovedSuccessfully": "Role removed from {{username}} successfully", - "failedToRemoveRole": "Failed to remove role", - "cannotRemoveSystemRole": "Cannot remove system role", - "cannotShareWithSelf": "Cannot share host with yourself", - "noCustomRolesToAssign": "No custom roles available. System roles are auto-assigned.", - "credentialSharingWarning": "Credential Authentication Not Supported for Sharing", - "credentialRequired": "Credential is required when sharing a host", - "credentialRequiredDescription": "This host does not use credential-based authentication. In order to share hosts, due to per-user-encryption, the host must use credential based authentication.", - "auditLogs": "Audit Logs", - "viewAuditLogs": "View Audit Logs", - "action": "Action", - "resourceType": "Resource Type", - "resourceName": "Resource Name", - "timestamp": "Timestamp", - "ipAddress": "IP Address", - "userAgent": "User Agent", - "success": "Success", - "failed": "Failed", - "details": "Details", - "noAuditLogs": "No audit logs available", - "sessionRecordings": "Session Recordings", - "viewRecording": "View Recording", - "downloadRecording": "Download Recording", - "dangerousCommand": "Dangerous Command Detected", - "commandBlocked": "Command Blocked", - "terminateSession": "Terminate Session", - "sessionTerminated": "Session terminated by host owner", - "sharedAccessExpired": "Your shared access to this host has expired", - "sharedAccessExpiresIn": "Shared access expires in {{hours}} hours", + "failedToFetchAccessList": "فشل في جلب قائمة الوصول", + "currentAccess": "الوصول الحالي", + "securityWarning": "تحذير الأمان", + "securityWarningMessage": "تتيح مشاركة بيانات الاعتماد للمستخدم الوصول الكامل لتنفيذ أي عمليات على الخادم، بما في ذلك تغيير كلمات المرور وحذف الملفات. المشاركة فقط مع المستخدمين الموثوق بهم.", + "tempUserRecommended": "نوصي بتمكين \"إنشاء مستخدم مؤقت\" لتوفير أمن أفضل.", + "roleManagement": "إدارة الأدوار", + "manageRoles": "إدارة الأدوار", + "manageRolesFor": "إدارة الأدوار ل {{username}}", + "assignRole": "تعيين دور", + "removeRole": "إزالة الدور", + "userRoles": "أدوار المستخدم", + "permissions": "الأذونات", + "systemRole": "دور النظام", + "customRole": "دور مخصص", + "roleAssignedSuccessfully": "تم تعيين الدور ل {{username}} بنجاح", + "failedToAssignRole": "فشل في تعيين الدور", + "roleRemovedSuccessfully": "تم إزالة الدور من {{username}} بنجاح", + "failedToRemoveRole": "فشل في إزالة الدور", + "cannotRemoveSystemRole": "لا يمكن إزالة دور النظام", + "cannotShareWithSelf": "لا يمكن مشاركة المضيف مع نفسك", + "noCustomRolesToAssign": "لا توجد أدوار مخصصة متاحة. أدوار النظام محددة تلقائيا.", + "credentialSharingWarning": "المصادقة على بيانات الاعتماد غير مدعومة للمشاركة", + "credentialRequired": "بيانات الاعتماد مطلوبة عند مشاركة المضيف", + "credentialRequiredDescription": "هذا المضيف لا يستخدم المصادقة المستندة إلى بيانات الاعتماد. من أجل مشاركة المضيفين، بسبب التشفير لكل مستخدم، يجب على المضيف أن يستخدم المصادقة المستندة إلى بيانات الاعتماد.", + "auditLogs": "سجلات المراجعة", + "viewAuditLogs": "عرض سجلات المراجعة", + "action": "اجراء", + "resourceType": "نوع المورد", + "resourceName": "اسم المصدر", + "timestamp": "الطابع الزمني", + "ipAddress": "عنوان IP", + "userAgent": "وكيل المستخدم", + "success": "نجاح", + "failed": "فشل", + "details": "التفاصيل", + "noAuditLogs": "لا تتوفر سجلات مراجعة الحسابات", + "sessionRecordings": "تسجيلات الجلسة", + "viewRecording": "عرض التسجيل", + "downloadRecording": "تنزيل التسجيل", + "dangerousCommand": "تم اكتشاف أمر خطير", + "commandBlocked": "أمر محظور", + "terminateSession": "إنهاء الجلسة", + "sessionTerminated": "تم إنهاء الجلسة من قبل مالك المضيف", + "sharedAccessExpired": "انتهت صلاحية وصولك المشترك إلى هذا المضيف", + "sharedAccessExpiresIn": "انتهت صلاحية الوصول المشترك في ساعات {{hours}}", "roles": { - "label": "Roles", - "admin": "Administrator", - "user": "User" + "label": "الأدوار", + "admin": "المدير", + "user": "المستخدم" }, - "createRole": "Create Role", - "editRole": "Edit Role", - "roleName": "Role Name", - "displayName": "Display Name", - "description": "Description", - "assignRoles": "Assign Roles", - "userRoleAssignment": "User-Role Assignment", - "selectUserPlaceholder": "Select a user", - "searchUsers": "Search users...", - "noUserFound": "No user found", - "currentRoles": "Current Roles", - "noRolesAssigned": "No roles assigned", - "assignNewRole": "Assign New Role", - "selectRolePlaceholder": "Select a role", - "searchRoles": "Search roles...", - "noRoleFound": "No role found", - "assign": "Assign", - "roleCreatedSuccessfully": "Role created successfully", - "roleUpdatedSuccessfully": "Role updated successfully", - "roleDeletedSuccessfully": "Role deleted successfully", - "failedToLoadRoles": "Failed to load roles", - "failedToSaveRole": "Failed to save role", - "failedToDeleteRole": "Failed to delete role", - "roleDisplayNameRequired": "Role display name is required", - "roleNameRequired": "Role name is required", - "roleNameHint": "Use lowercase letters, numbers, underscores, and hyphens only", - "displayNamePlaceholder": "Developer", - "descriptionPlaceholder": "Software developers and engineers", - "confirmDeleteRole": "Delete Role", - "confirmDeleteRoleDescription": "Are you sure you want to delete the role '{{name}}'? This action cannot be undone.", - "confirmRemoveRole": "Remove Role", - "confirmRemoveRoleDescription": "Are you sure you want to remove this role from the user?", - "editRoleDescription": "Update role information", - "createRoleDescription": "Create a new custom role for grouping users", - "assignRolesDescription": "Manage role assignments for users", - "noRoles": "No roles found", - "selectRole": "Select Role", - "type": "Type", - "user": "User", - "role": "Role", - "saveHostFirst": "Save Host First", - "saveHostFirstDescription": "Please save the host before configuring sharing settings.", - "shareWithUser": "Share with User", - "shareWithRole": "Share with Role", - "share": "Share", + "createRole": "إنشاء دور", + "editRole": "تعديل الدور", + "roleName": "اسم الدور", + "displayName": "اسم العرض", + "description": "الوصف", + "assignRoles": "تعيين الأدوار", + "userRoleAssignment": "إسناد دور المستخدم", + "selectUserPlaceholder": "حدد مستخدم", + "searchUsers": "البحث عن المستخدمين...", + "noUserFound": "لم يتم العثور على مستخدم", + "currentRoles": "الأدوار الحالية", + "noRolesAssigned": "لا توجد أدوار مسندة", + "assignNewRole": "تعيين دور جديد", + "selectRolePlaceholder": "حدد دور", + "searchRoles": "البحث عن الأدوار...", + "noRoleFound": "لا يوجد دور", + "assign": "تعيين", + "roleCreatedSuccessfully": "تم إنشاء الدور بنجاح", + "roleUpdatedSuccessfully": "تم تحديث الدور بنجاح", + "roleDeletedSuccessfully": "تم حذف الدور بنجاح", + "failedToLoadRoles": "فشل تحميل الأدوار", + "failedToSaveRole": "فشل في حفظ الدور", + "failedToDeleteRole": "فشل في حذف الدور", + "roleDisplayNameRequired": "اسم عرض الدور مطلوب", + "roleNameRequired": "اسم الدور مطلوب", + "roleNameHint": "استخدام الأحرف الصغيرة والأرقام والشرطات السفلية والوصلات فقط", + "displayNamePlaceholder": "المطور", + "descriptionPlaceholder": "مطوري ومهندسي البرمجيات", + "confirmDeleteRole": "حذف الدور", + "confirmDeleteRoleDescription": "هل أنت متأكد من أنك تريد حذف الدور '{{name}}'؟ لا يمكن التراجع عن هذا الإجراء.", + "confirmRemoveRole": "إزالة الدور", + "confirmRemoveRoleDescription": "هل أنت متأكد من أنك تريد إزالة هذا الدور من المستخدم؟", + "editRoleDescription": "تحديث معلومات الدور", + "createRoleDescription": "إنشاء دور مخصص جديد لتجميع المستخدمين", + "assignRolesDescription": "إدارة مهام الأدوار للمستخدمين", + "noRoles": "لا توجد أدوار", + "selectRole": "اختيار دور", + "type": "نوع", + "user": "المستخدم", + "role": "دور", + "saveHostFirst": "حفظ المضيف أولاً", + "saveHostFirstDescription": "الرجاء حفظ المضيف قبل تكوين إعدادات المشاركة.", + "shareWithUser": "مشاركة مع المستخدم", + "shareWithRole": "مشاركة مع الدور", + "share": "مشاركة", "target": "Target", - "expires": "Expires", - "never": "Never", - "noAccessRecords": "No access records found", - "sharedSuccessfully": "Shared successfully", - "failedToShare": "Failed to share", - "confirmRevokeAccessDescription": "Are you sure you want to revoke this access?", - "hours": "hours", - "sharing": "Sharing", - "selectUserAndRole": "Please select both a user and a role", - "view": "View Only", - "viewDesc": "Due to the Termix encryption system, other permission levels will come at a later date" + "expires": "تنتهي", + "never": "لا", + "noAccessRecords": "لم يتم العثور على سجلات الوصول", + "sharedSuccessfully": "تمت المشاركة بنجاح", + "failedToShare": "فشل في المشاركة", + "confirmRevokeAccessDescription": "هل أنت متأكد من أنك تريد إلغاء هذا الوصول؟", + "hours": "ساعات", + "sharing": "مشاركة", + "selectUserAndRole": "الرجاء تحديد كل من المستخدم والدور", + "view": "عرض فقط", + "viewDesc": "بسبب نظام التشفير تيرميكس، ستأتي مستويات أذونات أخرى في تاريخ لاحق" }, "commandPalette": { - "searchPlaceholder": "Search for hosts or quick actions...", - "recentActivity": "Recent Activity", + "searchPlaceholder": "البحث عن المضيفين أو الإجراءات السريعة...", + "recentActivity": "النشاط الأخير", "navigation": "Navigation", - "addHost": "Add Host", - "addCredential": "Add Credential", - "adminSettings": "Admin Settings", - "userProfile": "User Profile", - "updateLog": "Update Log", - "hosts": "Hosts", - "openServerDetails": "Open Server Details", - "openFileManager": "Open File Manager", - "edit": "Edit", - "links": "Links", + "addHost": "إضافة مضيف", + "addCredential": "إضافة بيانات اعتماد", + "adminSettings": "إعدادات المدير", + "userProfile": "الملف الشخصي للمستخدم", + "updateLog": "تحديث السجل", + "hosts": "المضيفون", + "openServerDetails": "فتح تفاصيل الخادم", + "openFileManager": "فتح مدير الملفات", + "edit": "تحرير", + "links": "الروابط", "github": "GitHub", - "support": "Support", - "discord": "Discord", - "donate": "Donate", - "press": "Press", - "toToggle": "to toggle", - "close": "Close", - "hostManager": "Host Manager", - "pressToToggle": "Press Left Shift twice to open the command palette" + "support": "الدعم", + "discord": "ديسكورد", + "donate": "تبرع", + "press": "الصحافة", + "toToggle": "للتبديل", + "close": "أغلق", + "hostManager": "مدير المضيف", + "pressToToggle": "اضغط على تحويل اليسار مرتين لفتح لوحة الأوامر" }, "docker": { - "notEnabled": "Docker is not enabled for this host", - "validating": "Validating Docker...", - "connectingToHost": "Connecting to host...", - "error": "Error", - "errorCode": "Error code: {{code}}", - "version": "Docker {{version}}", - "containerStarted": "Container {{name}} started", - "failedToStartContainer": "Failed to start container {{name}}", - "containerStopped": "Container {{name}} stopped", - "failedToStopContainer": "Failed to stop container {{name}}", - "containerRestarted": "Container {{name}} restarted", - "failedToRestartContainer": "Failed to restart container {{name}}", - "containerPaused": "Container {{name}} paused", - "containerUnpaused": "Container {{name}} unpaused", - "failedToTogglePauseContainer": "Failed to toggle pause state for container {{name}}", - "containerRemoved": "Container {{name}} removed", - "failedToRemoveContainer": "Failed to remove container {{name}}", - "image": "Image", + "notEnabled": "Docker غير مفعل لهذا المضيف", + "validating": "التحقق من دوكر...", + "connectingToHost": "جاري الاتصال بالمضيف...", + "error": "خطأ", + "errorCode": "رمز الخطأ: {{code}}", + "version": "روكر {{version}}", + "containerStarted": "بدأ الحاوية {{name}}", + "failedToStartContainer": "فشل بدء تشغيل الحاوية {{name}}", + "containerStopped": "تم إيقاف الحاوية {{name}}", + "failedToStopContainer": "فشل في إيقاف الحاوية {{name}}", + "containerRestarted": "تم إعادة تشغيل الحاوية {{name}}", + "failedToRestartContainer": "فشل في إعادة تشغيل الحاوية {{name}}", + "containerPaused": "الحاوية {{name}} متوقفة مؤقتاً", + "containerUnpaused": "الحاوية {{name}} غير متوقفة مؤقتاً", + "failedToTogglePauseContainer": "فشل تبديل حالة الإيقاف المؤقت للحاوية {{name}}", + "containerRemoved": "تمت إزالة الحاوية {{name}}", + "failedToRemoveContainer": "فشل إزالة الحاوية {{name}}", + "image": "صورة", "idLabel": "ID", - "ports": "Ports", - "noPorts": "No ports", - "created": "Created", - "start": "Start", - "stop": "Stop", - "pause": "Pause", + "ports": "المنافذ", + "noPorts": "لا توجد منافذ", + "created": "أنشئ", + "start": "ابدأ", + "stop": "توقف", + "pause": "إيقاف", "unpause": "Unpause", - "restart": "Restart", - "remove": "Remove", - "removeContainer": "Remove Container", - "confirmRemoveContainer": "Are you sure you want to remove the container '{{name}}'? This action cannot be undone.", - "runningContainerWarning": "Warning: This container is currently running. Removing it will stop the container first.", - "removing": "Removing...", - "loadingContainers": "Loading containers...", - "noContainersFound": "No containers found", - "noContainersFoundHint": "No Docker containers are available on this host", - "searchPlaceholder": "Search containers...", - "filterByStatusPlaceholder": "Filter by status", - "allContainersCount": "All ({{count}})", + "restart": "إعادة التشغيل", + "remove": "إزالة", + "removeContainer": "إزالة الحاوية", + "confirmRemoveContainer": "هل أنت متأكد من أنك تريد إزالة الحاوية '{{name}}'؟ لا يمكن التراجع عن هذا الإجراء.", + "runningContainerWarning": "تحذير: هذه الحاوية قيد التشغيل حاليا. إزالتها ستوقف الحاوية أولاً.", + "removing": "الإزالة...", + "loadingContainers": "تحميل الحاويات...", + "noContainersFound": "لم يتم العثور على حاويات", + "noContainersFoundHint": "لا توجد حاويات منصة للدفع متاحة على هذا المضيف", + "searchPlaceholder": "البحث في الحاويات...", + "filterByStatusPlaceholder": "تصفية حسب الحالة", + "allContainersCount": "الكل ({{count}})", "statusCount": "{{status}} ({{count}})", - "noContainersMatchFilters": "No containers match your filters", - "noContainersMatchFiltersHint": "Try adjusting your search or filter criteria", - "containerMustBeRunningToViewStats": "Container must be running to view statistics", - "failedToFetchStats": "Failed to fetch container statistics", - "containerNotRunning": "Container not running", - "startContainerToViewStats": "Start the container to view statistics", - "loadingStats": "Loading statistics...", - "errorLoadingStats": "Error loading statistics", - "noStatsAvailable": "No statistics available", - "cpuUsage": "CPU Usage", - "current": "Current", - "memoryUsage": "Memory Usage", - "usedLimit": "Used / Limit", - "percentage": "Percentage", - "networkIo": "Network I/O", + "noContainersMatchFilters": "لا توجد حاويات تطابق الفلاتر الخاصة بك", + "noContainersMatchFiltersHint": "حاول تعديل معايير البحث أو التصفية الخاصة بك", + "containerMustBeRunningToViewStats": "يجب أن يكون الحاوية قيد التشغيل لعرض الإحصاءات", + "failedToFetchStats": "فشل في جلب إحصائيات الحاويات", + "containerNotRunning": "الحاوية غير قيد التشغيل", + "startContainerToViewStats": "بدء تشغيل الحاوية لعرض الإحصاءات", + "loadingStats": "جاري تحميل الإحصاءات...", + "errorLoadingStats": "خطأ في تحميل الإحصاءات", + "noStatsAvailable": "لا تتوفر إحصائيات", + "cpuUsage": "استخدام المعالج", + "current": "الحالي", + "memoryUsage": "استخدام الذاكرة", + "usedLimit": "مستخدم / حد", + "percentage": "النسبة المئوية", + "networkIo": "الشبكة I/O", "input": "Input", - "output": "Output", - "blockIo": "Block I/O", - "read": "Read", - "write": "Write", - "pids": "PIDs", - "containerInformation": "Container Information", - "name": "Name", + "output": "الناتج", + "blockIo": "حظر I/O", + "read": "قراءة", + "write": "كتابة", + "pids": "أرقام التعريف", + "containerInformation": "معلومات الحاوية", + "name": "الاسم", "id": "ID", - "state": "State", - "disconnectedFromContainer": "Disconnected from container", - "containerMustBeRunning": "Container must be running to access console", - "authenticationRequired": "Authentication required", - "verificationCodePrompt": "Enter verification code", - "totpVerificationFailed": "TOTP verification failed. Please try again.", - "connectedTo": "Connected to {{containerName}}", - "disconnected": "Disconnected", - "consoleError": "Console error", - "errorMessage": "Error: {{message}}", - "failedToConnect": "Failed to connect to container", - "console": "Console", - "selectShell": "Select shell", - "bash": "Bash", - "sh": "sh", - "ash": "ash", - "connecting": "Connecting...", - "connect": "Connect", - "disconnect": "Disconnect", - "notConnected": "Not connected", - "clickToConnect": "Click connect to start a shell session", - "connectingTo": "Connecting to {{containerName}}...", - "containerNotFound": "Container not found", - "backToList": "Back to List", - "logs": "Logs", - "stats": "Stats", - "consoleTab": "Console", - "startContainerToAccess": "Start the container to access the console" + "state": "الولاية", + "disconnectedFromContainer": "قطع الاتصال بالحاوية", + "containerMustBeRunning": "يجب أن يكون الحاوية قيد التشغيل للوصول إلى وحدة التحكم", + "authenticationRequired": "مطلوب المصادقة", + "verificationCodePrompt": "أدخل رمز التحقق", + "totpVerificationFailed": "فشل التحقق من TOTP. الرجاء المحاولة مرة أخرى.", + "connectedTo": "متصل بـ {{containerName}}", + "disconnected": "قطع", + "consoleError": "خطأ في وحدة التحكم", + "errorMessage": "خطأ: {{message}}", + "failedToConnect": "فشل الاتصال بالحاوية", + "console": "وحدة", + "selectShell": "حدد قذيفة", + "bash": "باش", + "sh": "رماد", + "ash": "رماد", + "connecting": "جاري الاتصال...", + "connect": "الاتصال", + "disconnect": "قطع الاتصال", + "notConnected": "غير متصل", + "clickToConnect": "انقر الاتصال لبدء جلسة قذيفة", + "connectingTo": "جاري الاتصال بـ {{containerName}}...", + "containerNotFound": "الحاوية غير موجودة", + "backToList": "العودة إلى القائمة", + "logs": "السجلات", + "stats": "إحصائيات", + "consoleTab": "وحدة", + "startContainerToAccess": "بدء تشغيل الحاوية للوصول إلى وحدة التحكم" }, "theme": { - "switchToLight": "Switch to Light", - "switchToDark": "Switch to Dark" + "switchToLight": "التبديل إلى الضوء", + "switchToDark": "التبديل إلى الظلام" } }