From c67d914e61ef9fc6e97347337ea59ffa9196d560 Mon Sep 17 00:00:00 2001 From: Luke Gustafson <88517757+LukeGus@users.noreply.github.com> Date: Wed, 22 Apr 2026 17:10:21 -0500 Subject: [PATCH] New Crowdin updates (#713) * New translations en.json (Romanian) * New translations en.json (French) * New translations en.json (Spanish) * New translations en.json (Afrikaans) * New translations en.json (Arabic) * New translations en.json (Bulgarian) * New translations en.json (Catalan) * New translations en.json (Czech) * New translations en.json (Danish) * New translations en.json (German) * New translations en.json (Greek) * New translations en.json (Finnish) * New translations en.json (Hebrew) * New translations en.json (Hungarian) * New translations en.json (Italian) * New translations en.json (Japanese) * New translations en.json (Korean) * New translations en.json (Dutch) * New translations en.json (Norwegian) * New translations en.json (Polish) * New translations en.json (Portuguese) * New translations en.json (Russian) * New translations en.json (Serbian (Cyrillic)) * New translations en.json (Swedish) * New translations en.json (Turkish) * New translations en.json (Ukrainian) * New translations en.json (Chinese Simplified) * New translations en.json (Chinese Traditional) * New translations en.json (Vietnamese) * New translations en.json (Portuguese, Brazilian) * New translations en.json (Indonesian) * New translations en.json (Bengali) * New translations en.json (Thai) * New translations en.json (Hindi) --- src/locales/translated/af_ZA.json | 83 +++++++++++++- src/locales/translated/ar_SA.json | 83 +++++++++++++- src/locales/translated/bg_BG.json | 83 +++++++++++++- src/locales/translated/bn_BD.json | 83 +++++++++++++- src/locales/translated/ca_ES.json | 83 +++++++++++++- src/locales/translated/cs_CZ.json | 83 +++++++++++++- src/locales/translated/da_DK.json | 83 +++++++++++++- src/locales/translated/de_DE.json | 81 +++++++++++++- src/locales/translated/el_GR.json | 83 +++++++++++++- src/locales/translated/es_ES.json | 81 +++++++++++++- src/locales/translated/fi_FI.json | 83 +++++++++++++- src/locales/translated/fr_FR.json | 81 +++++++++++++- src/locales/translated/he_IL.json | 83 +++++++++++++- src/locales/translated/hi_IN.json | 83 +++++++++++++- src/locales/translated/hu_HU.json | 83 +++++++++++++- src/locales/translated/id_ID.json | 83 +++++++++++++- src/locales/translated/it_IT.json | 83 +++++++++++++- src/locales/translated/ja_JP.json | 83 +++++++++++++- src/locales/translated/ko_KR.json | 179 +++++++++++++++++++++--------- src/locales/translated/nl_NL.json | 81 +++++++++++++- src/locales/translated/no_NO.json | 81 +++++++++++++- src/locales/translated/pl_PL.json | 83 +++++++++++++- src/locales/translated/pt_BR.json | 83 +++++++++++++- src/locales/translated/pt_PT.json | 83 +++++++++++++- src/locales/translated/ro_RO.json | 83 +++++++++++++- src/locales/translated/ru_RU.json | 145 ++++++++++++++++++------ src/locales/translated/sr_SP.json | 83 +++++++++++++- src/locales/translated/sv_SE.json | 81 +++++++++++++- src/locales/translated/th_TH.json | 83 +++++++++++++- src/locales/translated/tr_TR.json | 83 +++++++++++++- src/locales/translated/uk_UA.json | 83 +++++++++++++- src/locales/translated/vi_VN.json | 83 +++++++++++++- src/locales/translated/zh_CN.json | 81 +++++++++++++- src/locales/translated/zh_TW.json | 83 +++++++++++++- 34 files changed, 2690 insertions(+), 276 deletions(-) diff --git a/src/locales/translated/af_ZA.json b/src/locales/translated/af_ZA.json index dfaa32a7..da31c2c4 100644 --- a/src/locales/translated/af_ZA.json +++ b/src/locales/translated/af_ZA.json @@ -277,6 +277,19 @@ "copyTooltip": "Kopieer stukkie na knipbord", "editTooltip": "Wysig hierdie brokkie", "deleteTooltip": "Vee hierdie brokkie uit", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "Nuwe vouer", "reorderSameFolder": "Kan slegs brokkies binne dieselfde vouer herrangskik", "reorderSuccess": "Brokkies suksesvol herrangskik", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Verifikasie word vereis. Verfris asseblief die bladsy.", "dataAccessLockedReauth": "Datatoegang gesluit. Herverifieer asseblief.", "loading": "Laai opdraggeskiedenis...", - "error": "Fout by die laai van geskiedenis" + "error": "Fout by die laai van geskiedenis", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "Gesplete skerm", @@ -510,6 +525,8 @@ "checkingDatabase": "Kontroleer databasisverbinding...", "checkingAuthentication": "Kontroleer tans verifikasie...", "backendReconnected": "Bedienerverbinding herstel", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "Aksies", "remove": "Verwyder", "revoke": "Herroep", @@ -541,7 +558,8 @@ "copySudoPassword": "Kopieer Sudo-wagwoord", "passwordCopied": "Wagwoord gekopieer na knipbord", "sudoPasswordCopied": "Sudo-wagwoord na knipbord gekopieer", - "noPasswordAvailable": "Geen wagwoord beskikbaar nie" + "noPasswordAvailable": "Geen wagwoord beskikbaar nie", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "Admin-instellings", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Globale moniteringsinstellings gestoor", "failedToSaveGlobalSettings": "Kon nie globale moniteringsinstellings stoor nie", "failedToLoadGlobalSettings": "Kon nie globale moniteringsinstellings laai nie", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "Integrasie van afstandrekenaars (Guacamole)", "guacamoleIntegrationDesc": "Aktiveer RDP-, VNC- en Telnet-verbindings via guacd. Vereis dat 'n guacd-instansie loop.", "enableGuacamole": "Aktiveer RDP/VNC/Telnet-ondersteuning", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamole-instellings gestoor", "failedToSaveGuacamoleSettings": "Kon nie guacamole-instellings stoor nie", "failedToLoadGuacamoleSettings": "Kon nie guacamole-instellings laai nie", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "is aangepas na geldige reeks", "loadingSessions": "Laai sessies...", "noActiveSessions": "Geen aktiewe sessies gevind nie.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} gashere", "importJson": "Voer JSON in", "importing": "Voer tans in...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "Voer SSH-gashere vanaf JSON in", "importJsonDesc": "Laai 'n JSON-lêer op om verskeie SSH-gashere in grootmaat in te voer (maks. 100).", "downloadSample": "Laai voorbeeld af", @@ -885,6 +921,11 @@ "guacamoleSettings": "Instellings vir afstandwerkskerm", "organization": "Organisasie", "ipAddress": "IP-adres of gasheernaam", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "IP-adres word vereis", "portRequired": "Poort is vereis", "port": "Hawe", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Sleep om tussen dopgehou te beweeg", "exportedHostConfig": "Uitgevoerde gasheerkonfigurasie vir {{name}}", "openTerminal": "Maak Terminaal Oop", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "Maak Lêerbestuurder oop", "openTunnels": "Oop Tonnels", "openServerDetails": "Maak bedienerbesonderhede oop", @@ -1159,6 +1203,10 @@ "noServerFound": "Geen bediener gevind nie", "jumpHostsOrder": "Verbindings sal in volgorde gemaak word: Spring Gasheer 1 → Spring Gasheer 2 → ... → Teikenbediener", "socks5Proxy": "SOCKS5 Proxy", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "Konfigureer SOCKS5-instaanbediener vir SSH-verbinding. Alle verkeer sal deur die gespesifiseerde instaanbediener gelei word.", "enableSocks5": "Aktiveer SOCKS5-instaanbediener", "enableSocks5Description": "Gebruik SOCKS5-instaanbediener vir hierdie SSH-verbinding", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Voer outomaties die MOSH-opdrag uit tydens verbinding", "moshCommand": "MOSH-opdrag", "moshCommandDesc": "Die MOSH-opdrag om uit te voer", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "Omgewingsveranderlikes", "environmentVariablesDesc": "Stel persoonlike omgewingveranderlikes vir die terminaalsessie", "variableName": "Veranderlike naam", @@ -1442,7 +1492,6 @@ "excludeOutput": "Sluit Uitvoer Uit", "excludeMouse": "Sluit Muis uit", "includeKeys": "Sluit sleutels in", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Stuur WoL-pakket", "wolMacAddr": "MAC-adres", "wolBroadcastAddr": "Uitsaaiadres", @@ -1481,7 +1530,7 @@ "closePanel": "Maak paneel toe", "reconnect": "Herkoppel", "sessionEnded": "Sessie geëindig", - "connectionLost": "Verbinding verloor", + "connectionLost": "Connection lost", "error": "FOUT: {{message}}", "disconnected": "Ontkoppel", "connectionClosed": "Verbinding gesluit", @@ -1498,7 +1547,25 @@ "connecting": "Verbind...", "reconnecting": "Herverbind... ({{attempt}}/{{max}})", "reconnected": "Herverbind suksesvol", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "Maksimum herverbindingspogings bereik", + "closeTab": "Close", "connectionTimeout": "Verbindingstydverstryking", "terminalTitle": "Terminaal - {{host}}", "terminalWithPath": "Terminaal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Verifikasie het verstryk. Probeer asseblief weer.", "opksshAuthFailed": "Verifikasie het misluk. Kontroleer asseblief jou geloofsbriewe en probeer weer.", "opksshConfigMissing": "OPKSSH-konfigurasie nie gevind nie. Skep asseblief ~/.opk/config.yml met jou OIDC-verskafferinstellings. Sien dokumentasie: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Wagwoord invoeg?", "sudoPasswordPopupHint": "Druk Enter om in te voeg, Esc om te verwerp", "sudoPasswordPopupConfirm": "Invoeg", @@ -1546,7 +1614,8 @@ "connectionRejected": "Verbinding deur bediener verwerp. Kontroleer asseblief u verifikasie en netwerkkonfigurasie.", "hostKeyRejected": "SSH-gasheersleutelverifikasie verwerp. Verbinding gekanselleer.", "sessionTakenOver": "Sessie is in 'n ander oortjie oopgemaak. Herverbind tans...", - "sessionAttachTimeout": "Sessie-aanhegsel het uitgetel. Skep nuwe verbinding..." + "sessionAttachTimeout": "Sessie-aanhegsel het uitgetel. Skep nuwe verbinding...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "Lêerbestuurder", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Kleurkodeer lêers volgens tipe: lêers (rooi), lêers (blou), simskakels (groen)", "commandAutocomplete": "Opdrag Outomatiese Voltooiing", "commandAutocompleteDesc": "Aktiveer Tab-sleutel outovoltooiingsvoorstelle vir terminaalopdragte gebaseer op jou opdraggeskiedenis", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "Vou brokkie-vouers standaard in", "defaultSnippetFoldersCollapsedDesc": "Wanneer dit geaktiveer is, sal alle brokkie-lêergidse ingevou word wanneer jy die brokkie-oortjie oopmaak.", "terminalSyntaxHighlighting": "Terminale Sintaksis Uitlig", @@ -2482,7 +2553,7 @@ "database": "Databasis", "healthy": "Gesond", "error": "Fout", - "totalServers": "Totale bedieners", + "totalHosts": "Total Hosts", "totalTunnels": "Totale tonnels", "totalCredentials": "Totale geloofsbriewe", "recentActivity": "Onlangse Aktiwiteit", diff --git a/src/locales/translated/ar_SA.json b/src/locales/translated/ar_SA.json index 270608f6..b12c3722 100644 --- a/src/locales/translated/ar_SA.json +++ b/src/locales/translated/ar_SA.json @@ -277,6 +277,19 @@ "copyTooltip": "نسخ كتلة الكود إلى الحافظة", "editTooltip": "تعديل كتلة الكود هذه", "deleteTooltip": "حذف هذه الكتلة", + "shareTooltip": "شارك كتلة الكود هذه", + "sharedWithYou": "مشترك", + "sharedBy": "مشترك بواسطة {{username}}", + "shareSnippet": "مشاركة كتلة الكود", + "user": "المستخدم", + "role": "دور", + "selectTarget": "إختيار...", + "currentAccess": "الوصول الحالي", + "shareSuccess": "تم مشاركة كتلة الكود بنجاح", + "shareFailed": "فشل مشاركة كتلة الكود", + "revokeSuccess": "تم إلغاء الوصول", + "revokeFailed": "فشل في إلغاء الوصول", + "failedToLoadShareData": "فشل تحميل بيانات المشاركة", "newFolder": "مجلد جديد", "reorderSameFolder": "يمكن فقط إعادة ترتيب كتل الكود داخل نفس المجلد", "reorderSuccess": "تم إعادة ترتيب الكتل بنجاح", @@ -323,7 +336,9 @@ "authRequiredRefresh": "المصادقة مطلوبة. الرجاء تحديث الصفحة.", "dataAccessLockedReauth": "تم تأمين الوصول إلى البيانات. الرجاء إعادة المصادقة.", "loading": "جاري تحميل سجل الأوامر...", - "error": "خطأ في تحميل المحفوظات" + "error": "خطأ في تحميل المحفوظات", + "disabledTitle": "تاريخ الأوامر معطل", + "disabledDescription": "تمكين تتبع تاريخ الأوامر في ملفك الشخصي تحت إعدادات الظهر.format@@0" }, "splitScreen": { "title": "تقسيم الشاشة", @@ -510,6 +525,8 @@ "checkingDatabase": "التحقق من اتصال قاعدة البيانات...", "checkingAuthentication": "التحقق من المصادقة...", "backendReconnected": "تم استعادة اتصال الخادم", + "connectionDegraded": "فقد اتصال الخادم، واسترداد…", + "reload": "Reload", "actions": "الإجراءات", "remove": "إزالة", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "نسخ كلمة مرور سودو", "passwordCopied": "تم نسخ كلمة المرور إلى الحافظة", "sudoPasswordCopied": "تم نسخ كلمة المرور إلى الحافظة", - "noPasswordAvailable": "لا توجد كلمة مرور متاحة" + "noPasswordAvailable": "لا توجد كلمة مرور متاحة", + "failedToCopyPassword": "فشل في نسخ كلمة المرور" }, "admin": { "title": "إعدادات المدير", @@ -808,6 +826,13 @@ "globalSettingsSaved": "تم حفظ إعدادات المراقبة العالمية", "failedToSaveGlobalSettings": "فشل في حفظ إعدادات المراقبة العالمية", "failedToLoadGlobalSettings": "فشل تحميل إعدادات المراقبة العالمية", + "sessionTimeout": "مهلة الجلسة", + "sessionTimeoutDesc": "قم بتهيئة طول مدة جلسات المستخدم قبل طلب إعادة المصادقة. 'تذكريني' جلسات غير متأثرة (دائما 30 يوما).", + "sessionTimeoutHours": "مدة المهلة", + "hours": "ساعات", + "sessionTimeoutNote": "النطاق الصالح: 1-720 ساعة. التغييرات تنطبق على الجلسات الجديدة فقط.", + "sessionTimeoutSaved": "تم حفظ مهلة الجلسة", + "failedToSaveSessionTimeout": "فشل في حفظ مهلة الجلسة", "guacamoleIntegration": "تكامل سطح المكتب عن بعد (غواكامول)", "guacamoleIntegrationDesc": "تمكين اتصالات RDP و VNC و Telnet عبر guacd. يتطلب مثيل Gacd ليتم تشغيله.", "enableGuacamole": "تمكين دعم RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "تم حفظ إعدادات غواكامول", "failedToSaveGuacamoleSettings": "فشل في حفظ إعدادات الGuacamole", "failedToLoadGuacamoleSettings": "فشل تحميل إعدادات Guacamole", + "logLevel": "مستوى السجل", + "logLevelDesc": "التحكم في لفظية سجلات الخادم. المستويات الأعلى تقلل من إخراج السجل. يمكن أيضا تعيينها عبر متغير بيئة LOG_LEVEL.", + "logVerbosity": "عملاق", + "logLevelNote": "التغييرات تصبح سارية المفعول على الفور. مستوى التصحيح قد يؤثر على الأداء.", + "logLevelSaved": "تم حفظ مستوى السجل", + "failedToSaveLogLevel": "فشل حفظ مستوى السجل", "clampedToValidRange": "تم تعديله إلى نطاق صحيح", "loadingSessions": "جاري تحميل الجلسات...", "noActiveSessions": "لم يتم العثور على جلسات نشطة.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} المضيفون", "importJson": "استيراد JSON", "importing": "استيراد...", + "exportAllJson": "تصدير الكل", + "exporting": "تصدير...", + "exportedAllHosts": "تم تصدير مضيفين {{count}}", + "failedToExportAllHosts": "فشل في تصدير المضيفين. الرجاء التأكد من تسجيل الدخول والوصول إلى بيانات المضيف.", + "exportAllSensitiveWarning": "سيحتوي الملف المصدّر على بيانات مصادقة حساسة (كلمات المرور/مفاتيح SH) في plaintext. الرجاء الحفاظ على أمن الملف وحذفه بعد الاستخدام.", "importJsonTitle": "استيراد مضيف SSH من JSON", "importJsonDesc": "تحميل ملف JSON لاستيراد مستضيفات SSH متعددة (الحد الأقصى 100).", "downloadSample": "تحميل عينة", @@ -885,6 +921,11 @@ "guacamoleSettings": "إعدادات سطح المكتب عن بعد", "organization": "المنظمة", "ipAddress": "عنوان IP أو اسم المضيف", + "macAddress": "عنوان MAC", + "macAddressDesc": "صيغة Wake-on-LAN: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "إيقاظ-الشبكة المحلية", + "wolSent": "تم إرسال حزمة التنبيه بالشبكة المحلية", + "wolFailed": "فشل في إرسال حزمة Wke-on-LAN", "ipRequired": "عنوان IP مطلوب", "portRequired": "المنفذ مطلوب", "port": "المنفذ", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "اسحب للانتقال بين المجلدات", "exportedHostConfig": "تصدير إعدادات المضيف ل {{name}}", "openTerminal": "فتح محطة طرفية", + "openRdp": "فتح RDP", + "openVnc": "فتح VNC", + "openTelnet": "فتح Telnet", "openFileManager": "فتح مدير الملفات", "openTunnels": "فتح الأنفاق", "openServerDetails": "فتح تفاصيل الخادم", @@ -1159,6 +1203,10 @@ "noServerFound": "لا يوجد خادم", "jumpHostsOrder": "سيتم إجراء الاتصالات بالترتيب: قفز المضيف 1 → قفز المضيف 2 → ... → هدف الخادم", "socks5Proxy": "وكيل SOCKS5", + "portKnocking": "منصة المنفذ", + "portKnockingDesc": "إرسال سلسلة من محاولات الاتصال إلى منافذ محددة قبل الاتصال. تستخدم لفتح قواعد جدار الحماية بشكل ديناميكي.", + "addKnock": "إضافة منفذ", + "delayMs": "التأخير", "socks5Description": "تكوين وكيل SOCKS5 للاتصال SSH. سيتم توجيه جميع حركة المرور من خلال خادم الوكيل المحدد.", "enableSocks5": "تمكين وكيل SOCKS5", "enableSocks5Description": "استخدم وكيل SOCKS5 لهذا الاتصال SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "تشغيل أمر MOSH تلقائياً عند الاتصال", "moshCommand": "قيادة MOSH", "moshCommandDesc": "أمر MOSH لتنفيذ", + "autoTmux": "التموكس التلقائي", + "autoTmuxDesc": "إرفاق تلقائياً لجلسة Tmux موجودة (أو بدء جلسة جديدة) للجلسات المستمرة والاستمرارية عبر الأجهزة", "environmentVariables": "المتغيرات البيئية", "environmentVariablesDesc": "تعيين متغيرات البيئة المخصصة للجلسة النهائية", "variableName": "اسم المتغير", @@ -1442,7 +1492,6 @@ "excludeOutput": "استبعاد المخرجات", "excludeMouse": "استبعاد الفأرة", "includeKeys": "تضمين المفاتيح", - "wakeOnLan": "إيقاظ-الشبكة المحلية", "sendWolPacket": "إرسال حزمة وول", "wolMacAddr": "عنوان MAC", "wolBroadcastAddr": "عنوان البث", @@ -1481,7 +1530,7 @@ "closePanel": "أغلق اللوحة", "reconnect": "إعادة الاتصال", "sessionEnded": "انتهت الجلسة", - "connectionLost": "فقدان الاتصال", + "connectionLost": "تم فقدان الاتصال", "error": "خطأ: {{message}}", "disconnected": "قطع", "connectionClosed": "تم إغلاق الاتصال", @@ -1498,7 +1547,25 @@ "connecting": "جاري الاتصال...", "reconnecting": "إعادة الاتصال... ({{attempt}}/{{max}})", "reconnected": "تمت إعادة الاتصال بنجاح", + "tmuxSessionCreated": "تم إنشاء جلسة tmux: {{name}}", + "tmuxSessionAttached": "جلسة tmux المرفقة: {{name}}", + "tmuxUnavailable": "لم يتم تثبيت tmux على المضيف البعيد، العودة إلى قذيفة عادية", + "tmuxSessionPickerTitle": "جلسات tmux", + "tmuxSessionPickerDesc": "جلسات tmux الموجودة على هذا المضيف. حدد واحدة لإعادة إرفاق أو إنشاء جلسة جديدة.", + "tmuxWindows": "ويندوز", + "tmuxWindowCount": "{{count}} نافذة", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "العملاء الملحقون", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "آخر نشاط", + "tmuxTimeJustNow": "الآن فقط", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "بدء جلسة جديدة", + "tmuxCopyHint": "ضبط التحديد واضغط على Enter للنسخ إلى الحافظة", "maxReconnectAttemptsReached": "تم بلوغ الحد الأقصى لمحاولات إعادة الاتصال", + "closeTab": "أغلق", "connectionTimeout": "مهلة الاتصال", "terminalTitle": "المحطة الطرفية - {{host}}", "terminalWithPath": "المحطة الطرفية - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "انتهت مهلة المصادقة. الرجاء المحاولة مرة أخرى.", "opksshAuthFailed": "فشلت المصادقة. الرجاء التحقق من بيانات الاعتماد الخاصة بك وحاول مرة أخرى.", "opksshConfigMissing": "لم يتم العثور على تكوين الفتح. الرجاء إنشاء ~/.opk/config.yml مع إعدادات موفر OIDC. انظر الوثائق: https://github.com/openpubkey/opkssh#config.", + "opksshSignInWith": "تسجيل الدخول باستخدام {{provider}}", "sudoPasswordPopupTitle": "إدراج كلمة المرور؟", "sudoPasswordPopupHint": "اضغط Enter للإدراج ، Esc للإلغاء", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "تم رفض الاتصال بواسطة الخادم. الرجاء التحقق من المصادقة الخاصة بك وتكوين الشبكة.", "hostKeyRejected": "تم رفض التحقق من مفتاح المضيف SSH. تم إلغاء الاتصال.", "sessionTakenOver": "تم فتح الجلسة في علامة تبويب أخرى. إعادة الاتصال...", - "sessionAttachTimeout": "انتهت مهلة مرفق الجلسة. إنشاء اتصال جديد..." + "sessionAttachTimeout": "انتهت مهلة مرفق الجلسة. إنشاء اتصال جديد...", + "openFileManagerHere": "فتح مدير الملفات هنا" }, "fileManager": { "title": "مدير الملفات", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "ملفات رمز اللون حسب النوع: مجلدات (أحمر)، ملفات (أزرق)، روابط رمزية (خضراء)", "commandAutocomplete": "إكمال الأوامر التلقائي", "commandAutocompleteDesc": "تمكين اقتراحات الإكمال التلقائي لمفتاح علامة التبويب للأوامر الطرفية استناداً إلى سجل الأوامر الخاصة بك", + "commandHistoryTracking": "حفظ سجل الأوامر", + "commandHistoryTrackingDesc": "تخزين الأوامر الطرفية في التاريخ للإكمال التلقائي والشريط الجانبي. معطلة افتراضيا للخصوصية.", "defaultSnippetFoldersCollapsed": "طي مجلدات كتلة الكود بشكل افتراضي", "defaultSnippetFoldersCollapsedDesc": "عند التمكين، سيتم انهيار جميع مجلدات كتلة الكود عند فتح علامة تبويب كتل الكود", "terminalSyntaxHighlighting": "تسليط الضوء على بناء الجملة", @@ -2482,7 +2553,7 @@ "database": "قاعدة البيانات", "healthy": "صحي", "error": "خطأ", - "totalServers": "مجموع الخوادم", + "totalHosts": "إجمالي المضيفين", "totalTunnels": "إجمالي الأنفاق", "totalCredentials": "مجموع بيانات الاعتماد", "recentActivity": "النشاط الأخير", diff --git a/src/locales/translated/bg_BG.json b/src/locales/translated/bg_BG.json index 88ee4787..6e67c72b 100644 --- a/src/locales/translated/bg_BG.json +++ b/src/locales/translated/bg_BG.json @@ -277,6 +277,19 @@ "copyTooltip": "Копиране на фрагмент в клипборда", "editTooltip": "Редактирайте този фрагмент", "deleteTooltip": "Изтрий този фрагмент", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "Нова папка", "reorderSameFolder": "Може да се пренареждат фрагменти само в рамките на една и съща папка", "reorderSuccess": "Фрагментите са пренаредени успешно", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Изисква се удостоверяване. Моля, обновете страницата.", "dataAccessLockedReauth": "Достъпът до данните е заключен. Моля, удостоверете се отново.", "loading": "Зареждане на историята на командите...", - "error": "Грешка при зареждане на историята" + "error": "Грешка при зареждане на историята", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "Разделен екран", @@ -510,6 +525,8 @@ "checkingDatabase": "Проверка на връзката с базата данни...", "checkingAuthentication": "Проверка на удостоверяването...", "backendReconnected": "Връзката със сървъра е възстановена", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "Действия", "remove": "Премахване", "revoke": "Отмяна", @@ -541,7 +558,8 @@ "copySudoPassword": "Копиране на парола за Sudo", "passwordCopied": "Паролата е копирана в клипборда", "sudoPasswordCopied": "Паролата за Sudo е копирана в клипборда", - "noPasswordAvailable": "Няма налична парола" + "noPasswordAvailable": "Няма налична парола", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "Административни настройки", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Глобалните настройки за наблюдение са запазени", "failedToSaveGlobalSettings": "Запазването на настройките за глобално наблюдение не бе успешно", "failedToLoadGlobalSettings": "Зареждането на настройките за глобално наблюдение не бе успешно", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "Интеграция с отдалечен работен плот (Guacamole)", "guacamoleIntegrationDesc": "Активиране на RDP, VNC и Telnet връзки чрез guacd. Изисква се работещ екземпляр на guacd.", "enableGuacamole": "Активиране на поддръжката на RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Настройките за гуакамоле са запазени", "failedToSaveGuacamoleSettings": "Запазването на настройките за гуакамоле не бе успешно", "failedToLoadGuacamoleSettings": "Зареждането на настройките за гуакамоле не бе успешно", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "беше коригиран до валиден диапазон", "loadingSessions": "Зареждане на сесиите...", "noActiveSessions": "Няма намерени активни сесии.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} хостове", "importJson": "Импортиране на JSON", "importing": "Импортиране...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "Импортиране на SSH хостове от JSON", "importJsonDesc": "Качете JSON файл за групов импорт на множество SSH хостове (максимум 100).", "downloadSample": "Изтегляне на пример", @@ -885,6 +921,11 @@ "guacamoleSettings": "Настройки на отдалечен работен плот", "organization": "Организация", "ipAddress": "IP адрес или име на хост", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Събуждане по локална мрежа", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "Изисква се IP адрес", "portRequired": "Изисква се порт", "port": "Порт", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Плъзнете, за да се придвижвате между папките", "exportedHostConfig": "Експортирана е конфигурация на хоста за {{name}}", "openTerminal": "Отвори терминал", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "Отворете файловия мениджър", "openTunnels": "Отворени тунели", "openServerDetails": "Отворете подробности за сървъра", @@ -1159,6 +1203,10 @@ "noServerFound": "Не е намерен сървър", "jumpHostsOrder": "Връзките ще бъдат осъществени в следния ред: Преход към хост 1 → Преход към хост 2 → ... → Целеви сървър", "socks5Proxy": "SOCKS5 прокси", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "Конфигурирайте SOCKS5 прокси за SSH връзка. Целият трафик ще бъде пренасочен през посочения прокси сървър.", "enableSocks5": "Активиране на SOCKS5 прокси", "enableSocks5Description": "Използвайте SOCKS5 прокси за тази SSH връзка", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Автоматично изпълнение на MOSH команда при свързване", "moshCommand": "MOSH команда", "moshCommandDesc": "Командата MOSH за изпълнение", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "Променливи на средата", "environmentVariablesDesc": "Задаване на персонализирани променливи на средата за терминалната сесия", "variableName": "Име на променлива", @@ -1442,7 +1492,6 @@ "excludeOutput": "Изключване на изхода", "excludeMouse": "Изключване на мишката", "includeKeys": "Включване на ключове", - "wakeOnLan": "Събуждане по локална мрежа", "sendWolPacket": "Изпращане на WoL пакет", "wolMacAddr": "MAC адрес", "wolBroadcastAddr": "Адрес за излъчване", @@ -1481,7 +1530,7 @@ "closePanel": "Затвори панела", "reconnect": "Свържете се отново", "sessionEnded": "Сесията приключи", - "connectionLost": "Връзката е загубена", + "connectionLost": "Connection lost", "error": "ГРЕШКА: {{message}}", "disconnected": "Изключен", "connectionClosed": "Връзката е затворена", @@ -1498,7 +1547,25 @@ "connecting": "Свързване...", "reconnecting": "Повторно свързване... ({{attempt}}/{{max}})", "reconnected": "Успешно повторно свързване", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "Достигнат е максималният брой опити за повторно свързване", + "closeTab": "Close", "connectionTimeout": "Време за изчакване на връзката", "terminalTitle": "Терминал - {{host}}", "terminalWithPath": "Терминал - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Времето за изчакване на удостоверяването изтече. Моля, опитайте отново.", "opksshAuthFailed": "Удостоверяването не бе успешно. Моля, проверете идентификационните си данни и опитайте отново.", "opksshConfigMissing": "Конфигурацията на OPKSSH не е намерена. Моля, създайте ~/.opk/config.yml с настройките на вашия OIDC доставчик. Вижте документацията: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Въвеждане на парола?", "sudoPasswordPopupHint": "Натиснете Enter за вмъкване, Esc за отхвърляне", "sudoPasswordPopupConfirm": "Вмъкване", @@ -1546,7 +1614,8 @@ "connectionRejected": "Връзката е отхвърлена от сървъра. Моля, проверете удостоверяването и мрежовата си конфигурация.", "hostKeyRejected": "Проверката на SSH ключа за хост е отхвърлена. Връзката е прекратена.", "sessionTakenOver": "Сесията беше отворена в друг раздел. Повторно свързване...", - "sessionAttachTimeout": "Времето за изчакване на прикачения файл към сесията изтече. Създаване на нова връзка..." + "sessionAttachTimeout": "Времето за изчакване на прикачения файл към сесията изтече. Създаване на нова връзка...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "Файлов мениджър", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Цветово кодиране на файлове по тип: папки (червено), файлове (синьо), символни връзки (зелено)", "commandAutocomplete": "Автоматично довършване на команди", "commandAutocompleteDesc": "Активирайте предложения за автоматично довършване с клавиша Tab за команди в терминала въз основа на историята на вашите команди", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "Свиване на папките с фрагменти по подразбиране", "defaultSnippetFoldersCollapsedDesc": "Когато е активирано, всички папки с фрагменти ще бъдат свити, когато отворите раздела с фрагменти.", "terminalSyntaxHighlighting": "Подчертаване на синтаксиса на терминала", @@ -2482,7 +2553,7 @@ "database": "База данни", "healthy": "Здравословен", "error": "Грешка", - "totalServers": "Общо сървъри", + "totalHosts": "Total Hosts", "totalTunnels": "Общо тунели", "totalCredentials": "Общо идентификационни данни", "recentActivity": "Последна активност", diff --git a/src/locales/translated/bn_BD.json b/src/locales/translated/bn_BD.json index cd81649f..fc7b5386 100644 --- a/src/locales/translated/bn_BD.json +++ b/src/locales/translated/bn_BD.json @@ -277,6 +277,19 @@ "copyTooltip": "ক্লিপবোর্ডে স্নিপেট কপি করুন", "editTooltip": "এই স্নিপেটটি সম্পাদনা করুন", "deleteTooltip": "এই স্নিপেটটি মুছুন", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "নতুন ফোল্ডার", "reorderSameFolder": "শুধুমাত্র একই ফোল্ডারের মধ্যে স্নিপেটগুলি পুনরায় সাজাতে পারে", "reorderSuccess": "স্নিপেটগুলি সফলভাবে পুনঃক্রম করা হয়েছে", @@ -323,7 +336,9 @@ "authRequiredRefresh": "প্রমাণীকরণ প্রয়োজন। অনুগ্রহ করে পৃষ্ঠাটি রিফ্রেশ করুন।", "dataAccessLockedReauth": "ডেটা অ্যাক্সেস লক করা আছে। অনুগ্রহ করে পুনরায় প্রমাণীকরণ করুন।", "loading": "কমান্ডের ইতিহাস লোড হচ্ছে...", - "error": "ইতিহাস লোড করার সময় ত্রুটি" + "error": "ইতিহাস লোড করার সময় ত্রুটি", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "স্প্লিট স্ক্রিন", @@ -510,6 +525,8 @@ "checkingDatabase": "ডাটাবেস সংযোগ পরীক্ষা করা হচ্ছে...", "checkingAuthentication": "প্রমাণীকরণ পরীক্ষা করা হচ্ছে...", "backendReconnected": "সার্ভার সংযোগ পুনরুদ্ধার করা হয়েছে", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "কর্ম", "remove": "অপসারণ", "revoke": "প্রত্যাহার করুন", @@ -541,7 +558,8 @@ "copySudoPassword": "সুডো পাসওয়ার্ড কপি করুন", "passwordCopied": "পাসওয়ার্ড ক্লিপবোর্ডে কপি করা হয়েছে", "sudoPasswordCopied": "সুডো পাসওয়ার্ড ক্লিপবোর্ডে কপি করা হয়েছে", - "noPasswordAvailable": "কোনও পাসওয়ার্ড নেই" + "noPasswordAvailable": "কোনও পাসওয়ার্ড নেই", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "অ্যাডমিন সেটিংস", @@ -808,6 +826,13 @@ "globalSettingsSaved": "বিশ্বব্যাপী পর্যবেক্ষণ সেটিংস সংরক্ষণ করা হয়েছে", "failedToSaveGlobalSettings": "বিশ্বব্যাপী পর্যবেক্ষণ সেটিংস সংরক্ষণ করতে ব্যর্থ হয়েছে", "failedToLoadGlobalSettings": "বিশ্বব্যাপী পর্যবেক্ষণ সেটিংস লোড করা যায়নি", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "রিমোট ডেস্কটপ ইন্টিগ্রেশন (গুয়াকামোল)", "guacamoleIntegrationDesc": "guacd এর মাধ্যমে RDP, VNC, এবং Telnet সংযোগ সক্ষম করুন। চালানোর জন্য একটি guacd ইনস্ট্যান্স প্রয়োজন।", "enableGuacamole": "RDP/VNC/Telnet সাপোর্ট সক্ষম করুন", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "গুয়াকামোলের সেটিংস সেভ করা হয়েছে", "failedToSaveGuacamoleSettings": "গুয়াকামোলের সেটিংস সংরক্ষণ করা যায়নি", "failedToLoadGuacamoleSettings": "গুয়াকামোল সেটিংস লোড করা যায়নি", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "বৈধ পরিসরে সামঞ্জস্য করা হয়েছে", "loadingSessions": "সেশন লোড হচ্ছে...", "noActiveSessions": "কোন সক্রিয় সেশন পাওয়া যায়নি।", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} হোস্ট", "importJson": "JSON আমদানি করুন", "importing": "আমদানি করা হচ্ছে...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "JSON থেকে SSH হোস্ট আমদানি করুন", "importJsonDesc": "একাধিক SSH হোস্ট (সর্বোচ্চ ১০০) বাল্ক ইম্পোর্ট করতে একটি JSON ফাইল আপলোড করুন।", "downloadSample": "নমুনা ডাউনলোড করুন", @@ -885,6 +921,11 @@ "guacamoleSettings": "রিমোট ডেস্কটপ সেটিংস", "organization": "সংগঠন", "ipAddress": "আইপি ঠিকানা অথবা হোস্টনেম", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "ওয়েক-অন-ল্যান", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "আইপি ঠিকানা প্রয়োজন", "portRequired": "পোর্ট প্রয়োজন", "port": "বন্দর", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "ফোল্ডার থেকে অন্য ফোল্ডারে যেতে টেনে আনুন", "exportedHostConfig": "{{name}}এর জন্য হোস্ট কনফিগারেশন রপ্তানি করা হয়েছে", "openTerminal": "টার্মিনাল খুলুন", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "ফাইল ম্যানেজার খুলুন", "openTunnels": "খোলা টানেল", "openServerDetails": "সার্ভারের বিবরণ খুলুন", @@ -1159,6 +1203,10 @@ "noServerFound": "কোন সার্ভার পাওয়া যায়নি।", "jumpHostsOrder": "সংযোগগুলি ক্রমানুসারে তৈরি করা হবে: জাম্প হোস্ট ১ → জাম্প হোস্ট ২ → ... → টার্গেট সার্ভার", "socks5Proxy": "SOCKS5 প্রক্সি", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "SSH সংযোগের জন্য SOCKS5 প্রক্সি কনফিগার করুন। সমস্ত ট্র্যাফিক নির্দিষ্ট প্রক্সি সার্ভারের মাধ্যমে রাউট করা হবে।", "enableSocks5": "SOCKS5 প্রক্সি সক্ষম করুন", "enableSocks5Description": "এই SSH সংযোগের জন্য SOCKS5 প্রক্সি ব্যবহার করুন", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "কানেক্টে স্বয়ংক্রিয়ভাবে MOSH কমান্ড চালান", "moshCommand": "মোশ কমান্ড", "moshCommandDesc": "MOSH কমান্ডটি কার্যকর করার জন্য", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "পরিবেশগত পরিবর্তনশীল", "environmentVariablesDesc": "টার্মিনাল সেশনের জন্য কাস্টম পরিবেশ ভেরিয়েবল সেট করুন", "variableName": "চলকের নাম", @@ -1442,7 +1492,6 @@ "excludeOutput": "আউটপুট বাদ দিন", "excludeMouse": "মাউস বাদ দিন", "includeKeys": "কী অন্তর্ভুক্ত করুন", - "wakeOnLan": "ওয়েক-অন-ল্যান", "sendWolPacket": "ওওএল প্যাকেট পাঠান", "wolMacAddr": "ম্যাক ঠিকানা", "wolBroadcastAddr": "সম্প্রচার ঠিকানা", @@ -1481,7 +1530,7 @@ "closePanel": "প্যানেল বন্ধ করুন", "reconnect": "পুনঃসংযোগ করুন", "sessionEnded": "অধিবেশন শেষ হয়েছে", - "connectionLost": "সংযোগ বিচ্ছিন্ন", + "connectionLost": "Connection lost", "error": "ত্রুটি: {{message}}", "disconnected": "সংযোগ বিচ্ছিন্ন", "connectionClosed": "সংযোগ বন্ধ আছে", @@ -1498,7 +1547,25 @@ "connecting": "সংযোগ করা হচ্ছে...", "reconnecting": "পুনঃসংযোগ করা হচ্ছে... ({{attempt}}/{{max}})", "reconnected": "সফলভাবে পুনরায় সংযোগ করা হয়েছে", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "পুনঃসংযোগের সর্বোচ্চ প্রচেষ্টায় পৌঁছেছেন", + "closeTab": "Close", "connectionTimeout": "সংযোগের সময়সীমা শেষ", "terminalTitle": "টার্মিনাল - {{host}}", "terminalWithPath": "টার্মিনাল - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "প্রমাণীকরণের সময় শেষ। অনুগ্রহ করে আবার চেষ্টা করুন।", "opksshAuthFailed": "প্রমাণীকরণ ব্যর্থ হয়েছে। অনুগ্রহ করে আপনার শংসাপত্রগুলি পরীক্ষা করে আবার চেষ্টা করুন।", "opksshConfigMissing": "OPKSSH কনফিগারেশন খুঁজে পাওয়া যায়নি। আপনার OIDC প্রোভাইডার সেটিংস দিয়ে ~/.opk/config.yml তৈরি করুন। ডকুমেন্টেশন দেখুন: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "পাসওয়ার্ড ঢোকাবেন?", "sudoPasswordPopupHint": "সন্নিবেশ করতে Enter টিপুন এবং খারিজ করতে Esc টিপুন", "sudoPasswordPopupConfirm": "ঢোকান", @@ -1546,7 +1614,8 @@ "connectionRejected": "সার্ভার সংযোগ প্রত্যাখ্যান করেছে। অনুগ্রহ করে আপনার প্রমাণীকরণ এবং নেটওয়ার্ক কনফিগারেশন পরীক্ষা করুন।", "hostKeyRejected": "SSH হোস্ট কী যাচাইকরণ প্রত্যাখ্যাত হয়েছে। সংযোগ বাতিল করা হয়েছে।", "sessionTakenOver": "অন্য ট্যাবে সেশন খোলা হয়েছে। পুনরায় সংযোগ করা হচ্ছে...", - "sessionAttachTimeout": "সেশন সংযুক্তির সময় শেষ। নতুন সংযোগ তৈরি করা হচ্ছে..." + "sessionAttachTimeout": "সেশন সংযুক্তির সময় শেষ। নতুন সংযোগ তৈরি করা হচ্ছে...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "ফাইল ম্যানেজার", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "প্রকার অনুসারে রঙ-কোড ফাইল: ফোল্ডার (লাল), ফাইল (নীল), সিমলিঙ্ক (সবুজ)", "commandAutocomplete": "কমান্ড স্বয়ংসম্পূর্ণ", "commandAutocompleteDesc": "আপনার কমান্ড ইতিহাসের উপর ভিত্তি করে টার্মিনাল কমান্ডের জন্য ট্যাব কী স্বয়ংসম্পূর্ণ পরামর্শ সক্ষম করুন", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "ডিফল্টভাবে স্নিপেট ফোল্ডারগুলি সঙ্কুচিত করুন", "defaultSnippetFoldersCollapsedDesc": "সক্রিয় থাকা অবস্থায়, স্নিপেট ট্যাব খুললে সমস্ত স্নিপেট ফোল্ডার আড়াল হয়ে যাবে।", "terminalSyntaxHighlighting": "টার্মিনাল সিনট্যাক্স হাইলাইটিং", @@ -2482,7 +2553,7 @@ "database": "ডাটাবেস", "healthy": "সুস্থ", "error": "ত্রুটি", - "totalServers": "মোট সার্ভার", + "totalHosts": "Total Hosts", "totalTunnels": "মোট টানেল", "totalCredentials": "মোট প্রমাণপত্রাদি", "recentActivity": "সাম্প্রতিক কার্যকলাপ", diff --git a/src/locales/translated/ca_ES.json b/src/locales/translated/ca_ES.json index ad62ef22..de57fca1 100644 --- a/src/locales/translated/ca_ES.json +++ b/src/locales/translated/ca_ES.json @@ -277,6 +277,19 @@ "copyTooltip": "Copia el fragment al porta-retalls", "editTooltip": "Edita aquest fragment", "deleteTooltip": "Suprimeix aquest fragment", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "Nova carpeta", "reorderSameFolder": "Només es poden reordenar fragments dins de la mateixa carpeta", "reorderSuccess": "Fragments reordenats correctament", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Cal autenticació. Si us plau, actualitzeu la pàgina.", "dataAccessLockedReauth": "Accés a les dades bloquejat. Si us plau, torneu a autenticar-vos.", "loading": "S'està carregant l'historial d'ordres...", - "error": "S'ha produït un error en carregar l'historial" + "error": "S'ha produït un error en carregar l'historial", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "Pantalla dividida", @@ -510,6 +525,8 @@ "checkingDatabase": "S'està comprovant la connexió a la base de dades...", "checkingAuthentication": "S'està comprovant l'autenticació...", "backendReconnected": "Connexió al servidor restaurada", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "Accions", "remove": "Elimina", "revoke": "Revocar", @@ -541,7 +558,8 @@ "copySudoPassword": "Copia la contrasenya de Sudo", "passwordCopied": "La contrasenya s'ha copiat al porta-retalls", "sudoPasswordCopied": "Contrasenya de Sudo copiada al porta-retalls", - "noPasswordAvailable": "No hi ha cap contrasenya disponible" + "noPasswordAvailable": "No hi ha cap contrasenya disponible", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "Configuració de l'administrador", @@ -808,6 +826,13 @@ "globalSettingsSaved": "S'ha desat la configuració de monitorització global", "failedToSaveGlobalSettings": "No s'ha pogut desar la configuració de monitorització global", "failedToLoadGlobalSettings": "No s'ha pogut carregar la configuració de monitorització global", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "Integració d'escriptori remot (Guacamole)", "guacamoleIntegrationDesc": "Habilita les connexions RDP, VNC i Telnet mitjançant guacd. Requereix que hi hagi una instància de guacd en execució.", "enableGuacamole": "Habilita la compatibilitat amb RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Configuració del guacamole desada", "failedToSaveGuacamoleSettings": "No s'ha pogut desar la configuració del guacamole", "failedToLoadGuacamoleSettings": "No s'ha pogut carregar la configuració del guacamole", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "s'ha ajustat al rang vàlid", "loadingSessions": "S'estan carregant les sessions...", "noActiveSessions": "No s'han trobat sessions actives.", @@ -853,6 +884,11 @@ "hostsCount": "amfitrions {{count}}", "importJson": "Importa JSON", "importing": "Important...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "Importa hosts SSH des de JSON", "importJsonDesc": "Puja un fitxer JSON per importar de manera massiva diversos hosts SSH (màxim 100).", "downloadSample": "Descarrega la mostra", @@ -885,6 +921,11 @@ "guacamoleSettings": "Configuració de l'escriptori remot", "organization": "Organització", "ipAddress": "Adreça IP o nom d'amfitrió", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "Cal una adreça IP", "portRequired": "El port és obligatori", "port": "Port", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Arrossega per moure't entre carpetes", "exportedHostConfig": "Configuració d'amfitrió exportada per a {{name}}", "openTerminal": "Obre el terminal", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "Obre el gestor de fitxers", "openTunnels": "Túnels oberts", "openServerDetails": "Obre els detalls del servidor", @@ -1159,6 +1203,10 @@ "noServerFound": "No s'ha trobat cap servidor", "jumpHostsOrder": "Les connexions es faran en aquest ordre: Jump Host 1 → Jump Host 2 → ... → Servidor de destinació", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "Configura el servidor intermediari SOCKS5 per a la connexió SSH. Tot el trànsit es dirigirà a través del servidor intermediari especificat.", "enableSocks5": "Habilita el servidor intermediari SOCKS5", "enableSocks5Description": "Utilitza el proxy SOCKS5 per a aquesta connexió SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Executa automàticament l'ordre MOSH en connectar-se", "moshCommand": "Comandament MOSH", "moshCommandDesc": "L'ordre MOSH a executar", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "Variables d'entorn", "environmentVariablesDesc": "Estableix variables d'entorn personalitzades per a la sessió de terminal", "variableName": "Nom de la variable", @@ -1442,7 +1492,6 @@ "excludeOutput": "Exclou la sortida", "excludeMouse": "Exclou el ratolí", "includeKeys": "Inclou claus", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Enviar paquet WoL", "wolMacAddr": "Adreça MAC", "wolBroadcastAddr": "Adreça de difusió", @@ -1481,7 +1530,7 @@ "closePanel": "Tanca el panell", "reconnect": "Reconnecta", "sessionEnded": "Sessió finalitzada", - "connectionLost": "Connexió perduda", + "connectionLost": "Connection lost", "error": "ERROR: {{message}}", "disconnected": "Desconnectat", "connectionClosed": "Connexió tancada", @@ -1498,7 +1547,25 @@ "connecting": "Connectant...", "reconnecting": "Reconnectant... ({{attempt}}/{{max}})", "reconnected": "S'ha reconnectat correctament", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "S'ha arribat al màxim d'intents de reconnexió", + "closeTab": "Close", "connectionTimeout": "Temps d'espera de connexió", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "S'ha esgotat el temps d'autenticació. Torna-ho a provar.", "opksshAuthFailed": "L'autenticació ha fallat. Si us plau, comproveu les vostres credencials i torneu-ho a intentar.", "opksshConfigMissing": "No s'ha trobat la configuració d'OPKSSH. Si us plau, creeu ~/.opk/config.yml amb la configuració del vostre proveïdor OIDC. Vegeu la documentació: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Voleu inserir la contrasenya?", "sudoPasswordPopupHint": "Premeu Intro per inserir, Esc per tancar", "sudoPasswordPopupConfirm": "Insereix", @@ -1546,7 +1614,8 @@ "connectionRejected": "Connexió rebutjada pel servidor. Si us plau, comproveu l'autenticació i la configuració de xarxa.", "hostKeyRejected": "Verificació de la clau de l'amfitrió SSH rebutjada. Connexió cancel·lada.", "sessionTakenOver": "La sessió s'ha obert en una altra pestanya. S'està tornant a connectar...", - "sessionAttachTimeout": "S'ha esgotat el temps d'espera per al fitxer adjunt de la sessió. S'està creant una connexió nova..." + "sessionAttachTimeout": "S'ha esgotat el temps d'espera per al fitxer adjunt de la sessió. S'està creant una connexió nova...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "Gestor de fitxers", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Codifica els fitxers per colors per tipus: carpetes (vermell), fitxers (blau), enllaços simbòlics (verd)", "commandAutocomplete": "Autocompletar ordres", "commandAutocompleteDesc": "Activa els suggeriments d'autocompleció de la tecla Tab per a les ordres del terminal basant-te en l'historial d'ordres", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "Replega les carpetes de fragments per defecte", "defaultSnippetFoldersCollapsedDesc": "Quan està activat, totes les carpetes de fragments es reduiran quan obriu la pestanya de fragments.", "terminalSyntaxHighlighting": "Ressaltat de la sintaxi del terminal", @@ -2482,7 +2553,7 @@ "database": "Base de dades", "healthy": "Saludable", "error": "Error", - "totalServers": "Servidors totals", + "totalHosts": "Total Hosts", "totalTunnels": "Túnels totals", "totalCredentials": "Credencials totals", "recentActivity": "Activitat recent", diff --git a/src/locales/translated/cs_CZ.json b/src/locales/translated/cs_CZ.json index 5f5fff96..491738fc 100644 --- a/src/locales/translated/cs_CZ.json +++ b/src/locales/translated/cs_CZ.json @@ -277,6 +277,19 @@ "copyTooltip": "Zkopírovat úryvek do schránky", "editTooltip": "Upravit tento úryvek", "deleteTooltip": "Odstranit tento úryvek", + "shareTooltip": "Sdílet tento úryvek", + "sharedWithYou": "Sdíleno", + "sharedBy": "Sdíleno {{username}}", + "shareSnippet": "Sdílet snippet", + "user": "Uživatel", + "role": "Role", + "selectTarget": "Vybrat...", + "currentAccess": "Aktuální přístup", + "shareSuccess": "Úryvek byl úspěšně sdílen", + "shareFailed": "Sdílení snippetu se nezdařilo", + "revokeSuccess": "Přístup zrušen", + "revokeFailed": "Nepodařilo se zrušit přístup", + "failedToLoadShareData": "Nepodařilo se načíst sdílená data", "newFolder": "Nová složka", "reorderSameFolder": "Lze změnit pořadí úryvků pouze ve stejné složce", "reorderSuccess": "Pořadí úryvků bylo úspěšně změněno", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Je vyžadováno ověření. Obnovte stránku.", "dataAccessLockedReauth": "Přístup k údajům je uzamčen. Prosím znovu se autentizujte.", "loading": "Načítání historie příkazů...", - "error": "Chyba při načítání historie" + "error": "Chyba při načítání historie", + "disabledTitle": "Historie příkazů je zakázána", + "disabledDescription": "Povolit sledování historie příkazů v profilu v nastavení vzhledu." }, "splitScreen": { "title": "Rozdělit obrazovku", @@ -510,6 +525,8 @@ "checkingDatabase": "Kontrola připojení k databázi...", "checkingAuthentication": "Kontrola ověřování...", "backendReconnected": "Připojení k serveru obnoveno", + "connectionDegraded": "Připojení k serveru bylo ztraceno, obnovuje se…", + "reload": "Reload", "actions": "Akce", "remove": "Odebrat", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Kopírovat heslo Sudo", "passwordCopied": "Heslo zkopírováno do schránky", "sudoPasswordCopied": "Sudo heslo zkopírováno do schránky", - "noPasswordAvailable": "Žádné heslo není k dispozici" + "noPasswordAvailable": "Žádné heslo není k dispozici", + "failedToCopyPassword": "Kopírování hesla se nezdařilo" }, "admin": { "title": "Nastavení správce", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Globální nastavení monitorování uloženo", "failedToSaveGlobalSettings": "Nepodařilo se uložit globální nastavení monitorování", "failedToLoadGlobalSettings": "Nepodařilo se načíst globální nastavení monitorování", + "sessionTimeout": "Časový limit relace", + "sessionTimeoutDesc": "Nakonfigurujte, jak dlouho trvají uživatelské relace před vyžadováním opětovného ověření. Relace 'Zapamatovat si mě' nejsou ovlivněny (vždy 30 dní).", + "sessionTimeoutHours": "Doba trvání vypršení časového limitu", + "hours": "hodiny", + "sessionTimeoutNote": "Platný rozsah: 1–720 hodin. Změny se vztahují pouze na nové relace.", + "sessionTimeoutSaved": "Časový limit relace uložen", + "failedToSaveSessionTimeout": "Nepodařilo se uložit časový limit relace", "guacamoleIntegration": "Integrace vzdálené plochy (Guacamole)", "guacamoleIntegrationDesc": "Povolit připojení RDP, VNC a Telnet pomocí guacdu. Vyžaduje spuštění instance guacd.", "enableGuacamole": "Povolit podporu RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Nastavení Guacamole uloženo", "failedToSaveGuacamoleSettings": "Nepodařilo se uložit nastavení guacamole", "failedToLoadGuacamoleSettings": "Nepodařilo se načíst nastavení guacamole", + "logLevel": "Úroveň logu", + "logLevelDesc": "Ovládání verbosity serverových protokolů. Vyšší úrovně snižují výstup. Lze také nastavit pomocí proměnné prostředí LOG_LEVEL.", + "logVerbosity": "Verbosita", + "logLevelNote": "Změny se projeví okamžitě. Úroveň ladění může ovlivnit výkon.", + "logLevelSaved": "Úroveň záznamu uložena", + "failedToSaveLogLevel": "Nepodařilo se uložit úroveň protokolu", "clampedToValidRange": "byl upraven na platný rozsah", "loadingSessions": "Načítání relací...", "noActiveSessions": "Nebyly nalezeny žádné aktivní relace.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} hostitelé", "importJson": "Importovat JSON", "importing": "Importování...", + "exportAllJson": "Exportovat vše", + "exporting": "Exportování...", + "exportedAllHosts": "Exportováno {{count}} hostitelů", + "failedToExportAllHosts": "Export hostitelů se nezdařil. Ujistěte se, že jste přihlášeni a že máte přístup k hostitelským datům.", + "exportAllSensitiveWarning": "Exportovaný soubor bude obsahovat citlivá autentizační data (hesla/SSH klíče) v prostém textu. Uchovávejte soubor v bezpečí a odstraňte jej po použití.", "importJsonTitle": "Importovat SSH hostitele z JSON", "importJsonDesc": "Nahrajte soubor JSON pro hromadný import více SSH hostitelů (max. 100).", "downloadSample": "Stáhnout vzorek", @@ -885,6 +921,11 @@ "guacamoleSettings": "Nastavení vzdálené plochy", "organization": "Organizace", "ipAddress": "IP adresa nebo název hostitele", + "macAddress": "MAC adresa", + "macAddressDesc": "Pro wake-on-LAN. Formát: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "paket probuzení na síti LAN odeslán", + "wolFailed": "Nepodařilo se odeslat paket buzení on-LAN", "ipRequired": "Je vyžadována IP adresa", "portRequired": "Port je povinný", "port": "Port", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Přetažením přesunout mezi složkami", "exportedHostConfig": "Exportováno nastavení hostitele pro {{name}}", "openTerminal": "Otevřít terminál", + "openRdp": "Otevřít RDP", + "openVnc": "Otevřít VNC", + "openTelnet": "Otevřít telefonní síť", "openFileManager": "Otevřít správce souborů", "openTunnels": "Otevřené tunely", "openServerDetails": "Detaily otevřeného serveru", @@ -1159,6 +1203,10 @@ "noServerFound": "Nenalezen žádný server", "jumpHostsOrder": "Spojení bude provedeno v pořadí: Skok hostitel 1 → Skok 2 → ... → Cílový server", "socks5Proxy": "SOCKS5 proxy", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Poslat sled pokusů o připojení do určených portů před připojením. Používá se pro dynamické otevření pravidel firewallu.", + "addKnock": "Přidat port", + "delayMs": "Zpoždění", "socks5Description": "Konfigurace SOCKS5 proxy pro SSH připojení. Veškerý provoz bude směrován přes zadaný proxy server.", "enableSocks5": "Povolit SOCKS5 Proxy", "enableSocks5Description": "Použít SOCKS5 proxy pro toto SSH připojení", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Automaticky spustit MOSH příkaz při připojení", "moshCommand": "Příkaz MOSH", "moshCommandDesc": "Příkaz MOSH k provedení", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automaticky připojit existující (nebo spustit novou) tmux relaci pro trvalou relaci a spojitost přes zařízení", "environmentVariables": "Proměnné prostředí", "environmentVariablesDesc": "Nastavit vlastní proměnné prostředí pro relaci terminálu", "variableName": "Název proměnné", @@ -1442,7 +1492,6 @@ "excludeOutput": "Vynechat výstup", "excludeMouse": "Vyloučit myš", "includeKeys": "Zahrnout klíče", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Poslat WoL paket", "wolMacAddr": "MAC adresa", "wolBroadcastAddr": "Vysílací adresa", @@ -1481,7 +1530,7 @@ "closePanel": "Zavřít panel", "reconnect": "Znovu připojit", "sessionEnded": "Relace skončila", - "connectionLost": "Připojení ztraceno", + "connectionLost": "Spojení ztraceno", "error": "CHYBA: {{message}}", "disconnected": "Odpojeno", "connectionClosed": "Připojení bylo uzavřeno", @@ -1498,7 +1547,25 @@ "connecting": "Připojování...", "reconnecting": "Znovu se připojuji... ({{attempt}}/{{max}})", "reconnected": "Znovu připojeno", + "tmuxSessionCreated": "Tmux relace vytvořena: {{name}}", + "tmuxSessionAttached": "připojena relace tmuxu: {{name}}", + "tmuxUnavailable": "tmux není na vzdáleném hostiteli nainstalován, vrátí se zpět na standardní shell", + "tmuxSessionPickerTitle": "tmux relace", + "tmuxSessionPickerDesc": "Existující tmux relace nalezeny na tomto hostiteli. Vyberte jednu pro připojení nebo vytvoření nové relace.", + "tmuxWindows": "Okna", + "tmuxWindowCount": "Okno {{count}}", + "tmuxWindowCount_other": "Okna {{count}}", + "tmuxAttached": "Připojení klienti", + "tmuxAttachedCount": "{{count}} připojeno", + "tmuxLastActivity": "Poslední aktivita", + "tmuxTimeJustNow": "právě teď", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Začít novou relaci", + "tmuxCopyHint": "Upravte výběr a stiskněte klávesu Enter pro kopírování do schránky", "maxReconnectAttemptsReached": "Dosažen maximální počet pokusů o opětovné připojení", + "closeTab": "Zavřít", "connectionTimeout": "Časový limit připojení", "terminalTitle": "Terminál - {{host}}", "terminalWithPath": "Terminál - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Vypršel časový limit ověření. Zkuste to prosím znovu.", "opksshAuthFailed": "Ověření se nezdařilo. Zkontrolujte prosím vaše přihlašovací údaje a zkuste to znovu.", "opksshConfigMissing": "Nastavení OPKSSH nebylo nalezeno. Vytvořte prosím ~/.opk/config.yml s nastavením OIDC poskytovatele. Viz dokumentace: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Přihlásit se pomocí {{provider}}", "sudoPasswordPopupTitle": "Vložit heslo?", "sudoPasswordPopupHint": "Stiskněte Enter pro vložení, Esc pro zamítnutí", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Připojení odmítnuto serverem. Zkontrolujte prosím ověření a nastavení sítě.", "hostKeyRejected": "Ověření SSH hostitele bylo zamítnuto. Připojení bylo zrušeno.", "sessionTakenOver": "Relace byla otevřena v jiné kartě. Znovu připojuji...", - "sessionAttachTimeout": "Vypršel časový limit přílohy relace. Vytváření nového připojení..." + "sessionAttachTimeout": "Vypršel časový limit přílohy relace. Vytváření nového připojení...", + "openFileManagerHere": "Otevřít správce souborů" }, "fileManager": { "title": "Správce souborů", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Barevné soubory podle typu: složky (červené), soubory (modrá), symbolické odkazy (zelené)", "commandAutocomplete": "Automatické dokončování příkazu", "commandAutocompleteDesc": "Povolit návrhy automatického dokončování tlačítek záložek pro terminálové příkazy na základě vaší historie příkazů", + "commandHistoryTracking": "Uložit historii příkazů", + "commandHistoryTrackingDesc": "Ukládat terminálové příkazy v historii pro automatické dokončování a postranní panel. Ve výchozím nastavení je zakázáno pro soukromí.", "defaultSnippetFoldersCollapsed": "Sbalit složky úryvků ve výchozím nastavení", "defaultSnippetFoldersCollapsedDesc": "Když je povoleno, všechny složky úryvků se sbalí, když otevřete záložku úryvků", "terminalSyntaxHighlighting": "Zvýraznění syntaxe terminálu", @@ -2482,7 +2553,7 @@ "database": "Databáze", "healthy": "Zdravé", "error": "Chyba", - "totalServers": "Celkem serverů", + "totalHosts": "Celkem hostitelů", "totalTunnels": "Celkem tunelů", "totalCredentials": "Pověření celkem", "recentActivity": "Nedávná aktivita", diff --git a/src/locales/translated/da_DK.json b/src/locales/translated/da_DK.json index d18b215e..c1deb9d8 100644 --- a/src/locales/translated/da_DK.json +++ b/src/locales/translated/da_DK.json @@ -277,6 +277,19 @@ "copyTooltip": "Kopier snippet til udklipsholder", "editTooltip": "Rediger denne snippet", "deleteTooltip": "Slet denne snippet", + "shareTooltip": "Del denne snippet", + "sharedWithYou": "Delt", + "sharedBy": "Delt af {{username}}", + "shareSnippet": "Del Snippet", + "user": "Bruger", + "role": "Rolle", + "selectTarget": "Vælg...", + "currentAccess": "Nuværende Adgang", + "shareSuccess": "Snippet delt med succes", + "shareFailed": "Kunne ikke dele snippet", + "revokeSuccess": "Adgang tilbagekaldt", + "revokeFailed": "Mislykkedes at tilbagekalde adgang", + "failedToLoadShareData": "Kunne ikke indlæse delingsdata", "newFolder": "Ny Mappe", "reorderSameFolder": "Kan kun omarrangere uddrag inden for samme mappe", "reorderSuccess": "Snippets genbestilt", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Godkendelse kræves. Opdater venligst siden.", "dataAccessLockedReauth": "Data adgang låst. Venligst gengodkende.", "loading": "Indlæser kommandohistorik...", - "error": "Fejl Ved Indlæsning Af Historik" + "error": "Fejl Ved Indlæsning Af Historik", + "disabledTitle": "Kommandohistorik er deaktiveret", + "disabledDescription": "Aktiver Command History Tracking i din profil under Udseende indstillinger." }, "splitScreen": { "title": "Opdel Skærm", @@ -510,6 +525,8 @@ "checkingDatabase": "Kontrollerer databaseforbindelse...", "checkingAuthentication": "Kontrollerer godkendelse...", "backendReconnected": "Server forbindelse gendannet", + "connectionDegraded": "Serverforbindelse tabt, genoprette…", + "reload": "Reload", "actions": "Handlinger", "remove": "Fjern", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Kopier Sudo Adgangskode", "passwordCopied": "Adgangskode kopieret til udklipsholder", "sudoPasswordCopied": "Sudo adgangskode kopieret til udklipsholder", - "noPasswordAvailable": "Ingen adgangskode tilgængelig" + "noPasswordAvailable": "Ingen adgangskode tilgængelig", + "failedToCopyPassword": "Kunne ikke kopiere adgangskode" }, "admin": { "title": "Admin Indstillinger", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Globale overvågningsindstillinger gemt", "failedToSaveGlobalSettings": "Kunne ikke gemme globale overvågningsindstillinger", "failedToLoadGlobalSettings": "Kunne ikke indlæse globale overvågningsindstillinger", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Konfigurer hvor lange brugersessioner varer før der kræves gengodkendelse. 'Husk mig' sessioner er upåvirkede (altid 30 dage).", + "sessionTimeoutHours": "Timeout Varighed", + "hours": "timer", + "sessionTimeoutNote": "Gyldigt område: 1-720 timer. Ændringer gælder kun for nye sessioner.", + "sessionTimeoutSaved": "Session timeout gemt", + "failedToSaveSessionTimeout": "Kunne ikke gemme sessions timeout", "guacamoleIntegration": "Remote Desktop Integration (Guacamol)", "guacamoleIntegrationDesc": "Aktivér RDP, VNC og Telnet forbindelser via guacd. Kræver en guacd instans for at køre.", "enableGuacamole": "Aktiver RDP/VNC/Telnet support", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamole indstillinger gemt", "failedToSaveGuacamoleSettings": "Kunne ikke gemme guacamole indstillinger", "failedToLoadGuacamoleSettings": "Kunne ikke indlæse guacamole indstillinger", + "logLevel": "Log Niveau", + "logLevelDesc": "Styr verbositeten af serverlogs. Højere niveauer reducerer log output. Kan også indstilles via LOG_LEVEL miljøvariablen.", + "logVerbosity": "Verbosity", + "logLevelNote": "Ændringer træder i kraft straks. Fejlfindingsniveau kan påvirke ydeevnen.", + "logLevelSaved": "Logniveau gemt", + "failedToSaveLogLevel": "Kunne ikke gemme logniveau", "clampedToValidRange": "blev justeret til gyldigt interval", "loadingSessions": "Indlæser sessioner...", "noActiveSessions": "Ingen aktive sessioner fundet.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} værter", "importJson": "Importér JSON", "importing": "Importerer...", + "exportAllJson": "Eksporter Alle", + "exporting": "Eksporterer...", + "exportedAllHosts": "Eksporterede {{count}} værter", + "failedToExportAllHosts": "Kunne ikke eksportere værter. Kontroller, at du er logget ind og har adgang til værtsdata.", + "exportAllSensitiveWarning": "Den eksporterede fil vil indeholde følsomme godkendelsesdata (adgangskoder/SSH-nøgler) i klar. Behold venligst filen sikker og slet den efter brug.", "importJsonTitle": "Importér SSH-værter fra JSON", "importJsonDesc": "Upload en JSON-fil til bulk import af flere SSH værter (max 100).", "downloadSample": "Hent Eksempel", @@ -885,6 +921,11 @@ "guacamoleSettings": "Fjernskrivebordsindstillinger", "organization": "Organisation", "ipAddress": "Ip adresse eller værtsnavn", + "macAddress": "MAC- Adresse", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN-pakke sendt", + "wolFailed": "Kunne ikke sende Wake-on-LAN-pakke", "ipRequired": "IP adresse er påkrævet", "portRequired": "Port er påkrævet", "port": "Port", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Træk for at flytte mellem mapper", "exportedHostConfig": "Eksporteret værtskonfiguration for {{name}}", "openTerminal": "Åben Terminal", + "openRdp": "Åbn RDP", + "openVnc": "Åbn VNC", + "openTelnet": "Åbn Telnet", "openFileManager": "Åbn Filhåndtering", "openTunnels": "Åbne Tunneler", "openServerDetails": "Åbn Serverdetaljer", @@ -1159,6 +1203,10 @@ "noServerFound": "Ingen server fundet", "jumpHostsOrder": "Forbindelser vil blive foretaget i rækkefølge: Hop Host 1 → Host 2 → ... → Målserver", "socks5Proxy": "SOCKS5 Proxy", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send en sekvens af forbindelsesforsøg til angivne porte før tilslutning. Bruges til at åbne firewall regler dynamisk.", + "addKnock": "Tilføj Port", + "delayMs": "Forsinkelse", "socks5Description": "Indstil SOCKS5 proxy for SSH forbindelse. Al trafik vil blive dirigeret gennem den angivne proxy server.", "enableSocks5": "Aktiver SOCKS5 Proxy", "enableSocks5Description": "Brug SOCKS5 proxy til denne SSH forbindelse", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Kør automatisk MOSH kommando ved tilslutning", "moshCommand": "MOSH Kommando", "moshCommandDesc": "MOSH - kommandoen der skal udføres", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Vedhæft automatisk til en eksisterende (eller start en ny) tmux-session for vedvarende sessioner og kontinuitet på tværs af enheder", "environmentVariables": "Miljø Variabler", "environmentVariablesDesc": "Sæt brugerdefinerede miljøvariabler for terminalsessionen", "variableName": "Variabel navn", @@ -1442,7 +1492,6 @@ "excludeOutput": "Udeluk Output", "excludeMouse": "Udeluk Mus", "includeKeys": "Inkludér Nøgler", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Send WoL Pakke", "wolMacAddr": "MAC- Adresse", "wolBroadcastAddr": "Broadcast- Adresse", @@ -1481,7 +1530,7 @@ "closePanel": "Luk Panel", "reconnect": "Genopret", "sessionEnded": "Session Afsluttet", - "connectionLost": "Forbindelse Mistet", + "connectionLost": "Forbindelse tabt", "error": "FEJL: {{message}}", "disconnected": "Afbrudt", "connectionClosed": "Forbindelse lukket", @@ -1498,7 +1547,25 @@ "connecting": "Forbinder...", "reconnecting": "Genforbindelse... ({{attempt}}/{{max}})", "reconnected": "Genoprettet succesfuldt", + "tmuxSessionCreated": "tmux session oprettet: {{name}}", + "tmuxSessionAttached": "tmux session vedhæftet: {{name}}", + "tmuxUnavailable": "tmux er ikke installeret på den eksterne vært, falder tilbage til standard shell", + "tmuxSessionPickerTitle": "tmux sessioner", + "tmuxSessionPickerDesc": "Eksisterende tmux sessioner fundet på denne vært. Vælg en for at vedhæfte eller oprette en ny session.", + "tmuxWindows": "Vinduer", + "tmuxWindowCount": "{{count}} vindue", + "tmuxWindowCount_other": "{{count}} vinduer", + "tmuxAttached": "Vedhæftede klienter", + "tmuxAttachedCount": "{{count}} vedhæftet", + "tmuxLastActivity": "Seneste aktivitet", + "tmuxTimeJustNow": "lige nu", + "tmuxTimeMinutes": "{{count}}m siden", + "tmuxTimeHours": "{{count}}h siden", + "tmuxTimeDays": "{{count}}d siden", + "tmuxCreateNew": "Start ny session", + "tmuxCopyHint": "Justér markering og tryk på Enter for at kopiere til udklipsholder", "maxReconnectAttemptsReached": "Maksimal genforbindelsesforsøg nået", + "closeTab": "Luk", "connectionTimeout": "Forbindelse timeout", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Godkendelse fik timeout. Prøv venligst igen.", "opksshAuthFailed": "Godkendelse mislykkedes. Kontroller dine legitimationsoplysninger og prøv igen.", "opksshConfigMissing": "OPKSSH konfiguration ikke fundet. Opret venligst ~/.opk/config.yml med dine OIDC udbyder indstillinger. Se dokumentation: https://github.com/openpubkey/opkssh#konfiguration", + "opksshSignInWith": "Log ind med {{provider}}", "sudoPasswordPopupTitle": "Indsæt Adgangskode?", "sudoPasswordPopupHint": "Tryk på Enter for at indsætte, Esc for at afvise", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Forbindelse afvist af serveren. Tjek venligst din godkendelse og netværkskonfiguration.", "hostKeyRejected": "SSH-værtnøglebekræftelse afvist. Forbindelse annulleret.", "sessionTakenOver": "Session blev åbnet i et andet faneblad. Genjusterer...", - "sessionAttachTimeout": "Session vedhæftet fil timeout. Oprettelse af ny forbindelse..." + "sessionAttachTimeout": "Session vedhæftet fil timeout. Oprettelse af ny forbindelse...", + "openFileManagerHere": "Åbn Filhåndtering Her" }, "fileManager": { "title": "Filhåndtering", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Farvekode filer efter type: mapper (rød), filer (blå), symlinks (grøn)", "commandAutocomplete": "Kommando Autofuldfør", "commandAutocompleteDesc": "Aktivér autofuldfør tabulatornøgle forslag til terminalkommandoer baseret på din kommandohistorik", + "commandHistoryTracking": "Gem Kommandohistorik", + "commandHistoryTrackingDesc": "Gem terminalkommandoer i historik for autofuldførelse og sidebar. Deaktiveret som standard for privatlivets fred.", "defaultSnippetFoldersCollapsed": "Kollaps Snippet mapper som standard", "defaultSnippetFoldersCollapsedDesc": "Når aktiveret, vil alle snippet mapper blive kollapset når du åbner snippets fanen", "terminalSyntaxHighlighting": "Terminal Syntaksfremhævning", @@ -2482,7 +2553,7 @@ "database": "Database", "healthy": "Sunde", "error": "Fejl", - "totalServers": "Samlede Servere", + "totalHosts": "Total Værter", "totalTunnels": "Tunneler I Alt", "totalCredentials": "Total Legitimationsoplysninger", "recentActivity": "Seneste Aktivitet", diff --git a/src/locales/translated/de_DE.json b/src/locales/translated/de_DE.json index b3475eff..9d664c97 100644 --- a/src/locales/translated/de_DE.json +++ b/src/locales/translated/de_DE.json @@ -277,6 +277,19 @@ "copyTooltip": "Snippet in Zwischenablage kopieren", "editTooltip": "Dieses Snippet bearbeiten", "deleteTooltip": "Dieses Snippet löschen", + "shareTooltip": "Dieses Snippet teilen", + "sharedWithYou": "Geteilt", + "sharedBy": "Geteilt von {{username}}", + "shareSnippet": "Snippet teilen", + "user": "Benutzer", + "role": "Rolle", + "selectTarget": "Auswählen...", + "currentAccess": "Aktueller Zugriff", + "shareSuccess": "Snippet erfolgreich freigegeben", + "shareFailed": "Snippet konnte nicht geteilt werden", + "revokeSuccess": "Zugriff widerrufen", + "revokeFailed": "Fehler beim Entfernen des Zugriffs", + "failedToLoadShareData": "Fehler beim Laden der Freigabedaten", "newFolder": "Neuer Ordner", "reorderSameFolder": "Snippets können nur im selben Ordner neu sortiert werden", "reorderSuccess": "Snippets erfolgreich neu sortiert", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Authentifizierung erforderlich. Bitte aktualisieren Sie die Seite.", "dataAccessLockedReauth": "Datenzugriff gesperrt. Bitte erneut authentifizieren.", "loading": "Lade Befehlshistorie...", - "error": "Fehler beim Laden des Verlaufs" + "error": "Fehler beim Laden des Verlaufs", + "disabledTitle": "Befehlshistorie ist deaktiviert", + "disabledDescription": "Aktivieren Sie das Tracking von Befehlshistorie in Ihrem Profil unter Anzeigeeinstellungen." }, "splitScreen": { "title": "Bildschirm teilen", @@ -510,6 +525,8 @@ "checkingDatabase": "Überprüfe Datenbankverbindung...", "checkingAuthentication": "Authentifizierung wird überprüft...", "backendReconnected": "Serververbindung wiederhergestellt", + "connectionDegraded": "Serververbindung verloren, Wiederherstellen…", + "reload": "Reload", "actions": "Aktionen", "remove": "Entfernen", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Sudo-Passwort kopieren", "passwordCopied": "Passwort in Zwischenablage kopiert", "sudoPasswordCopied": "Sudo-Passwort in Zwischenablage kopiert", - "noPasswordAvailable": "Kein Passwort verfügbar" + "noPasswordAvailable": "Kein Passwort verfügbar", + "failedToCopyPassword": "Fehler beim Kopieren des Passworts" }, "admin": { "title": "Admin-Einstellungen", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Globale Überwachungseinstellungen gespeichert", "failedToSaveGlobalSettings": "Fehler beim Speichern der globalen Überwachungseinstellungen", "failedToLoadGlobalSettings": "Fehler beim Laden der globalen Überwachungseinstellungen", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Konfigurieren, wie lange die Benutzersitzungen dauern, bevor eine erneute Authentifizierung erforderlich ist. 'Ich merken' Sitzungen bleiben davon unberührt (immer 30 Tage).", + "sessionTimeoutHours": "Timeout-Dauer", + "hours": "std", + "sessionTimeoutNote": "Gültiger Bereich: 1–720 Stunden. Änderungen gelten nur für neue Sitzungen.", + "sessionTimeoutSaved": "Sitzungs-Timeout gespeichert", + "failedToSaveSessionTimeout": "Speichern der Sitzungszeit fehlgeschlagen", "guacamoleIntegration": "Remote-Desktop-Integration (Guacamole)", "guacamoleIntegrationDesc": "Aktiviere RDP, VNC und Telnet-Verbindungen via Guacd. Erfordert eine Guacd-Instanz zum Laufen.", "enableGuacamole": "RDP/VNC/Telnet-Support aktivieren", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamole Einstellungen gespeichert", "failedToSaveGuacamoleSettings": "Fehler beim Speichern der Guacamol-Einstellungen", "failedToLoadGuacamoleSettings": "Fehler beim Laden der Guacamol-Einstellungen", + "logLevel": "Log-Level", + "logLevelDesc": "Steuern Sie die Ausführlichkeit der Serverlogs. Höhere Level reduzieren die Logausgabe. Kann auch über die LOG_LEVEL Umgebungsvariable gesetzt werden.", + "logVerbosity": "Ausführlichkeit", + "logLevelNote": "Änderungen treten sofort in Kraft. Debug-Level kann die Leistung beeinflussen.", + "logLevelSaved": "Log-Level gespeichert", + "failedToSaveLogLevel": "Fehler beim Speichern der Log-Ebene", "clampedToValidRange": "wurde an gültigen Bereich angepasst", "loadingSessions": "Lade Sitzungen...", "noActiveSessions": "Keine aktiven Sitzungen gefunden.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} Hosts", "importJson": "JSON importieren", "importing": "Importieren...", + "exportAllJson": "Alle exportieren", + "exporting": "Exportiere...", + "exportedAllHosts": "Exportierte {{count}} Hosts", + "failedToExportAllHosts": "Fehler beim Exportieren der Hosts. Bitte stellen Sie sicher, dass Sie eingeloggt sind und Zugriff auf die Hostdaten haben.", + "exportAllSensitiveWarning": "Die exportierte Datei enthält sensible Authentifizierungsdaten (Passwörter/SSH-Schlüssel) im Klartext. Bitte bewahren Sie die Datei sicher und löschen Sie sie nach der Verwendung.", "importJsonTitle": "SSH-Hosts von JSON importieren", "importJsonDesc": "Laden Sie eine JSON-Datei hoch, um mehrere SSH-Hosts zu importieren (max. 100).", "downloadSample": "Beispiel herunterladen", @@ -885,6 +921,11 @@ "guacamoleSettings": "Remote-Desktop-Einstellungen", "organization": "Organisation", "ipAddress": "IP-Adresse oder Hostname", + "macAddress": "MAC-Adresse", + "macAddressDesc": "Für Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN Paket gesendet", + "wolFailed": "Fehler beim Senden des Wake-on-LAN Pakets", "ipRequired": "IP-Adresse ist erforderlich", "portRequired": "Port ist erforderlich", "port": "Port", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Ziehen, um zwischen Ordnern zu bewegen", "exportedHostConfig": "Exportierte Host-Konfiguration für {{name}}", "openTerminal": "Terminal öffnen", + "openRdp": "RDP öffnen", + "openVnc": "VNC öffnen", + "openTelnet": "Telnet öffnen", "openFileManager": "Dateimanager öffnen", "openTunnels": "Tunnel öffnen", "openServerDetails": "Öffne Server-Details", @@ -1159,6 +1203,10 @@ "noServerFound": "Kein Server gefunden", "jumpHostsOrder": "Verbindungen werden in der Reihenfolge getätigt: Springe Host 1 → Springe Host 2 → ... → Zielserver", "socks5Proxy": "SOCKS5 Proxy", + "portKnocking": "Port Klopfen", + "portKnockingDesc": "Sende eine Sequenz von Verbindungsversuchen an bestimmte Ports vor der Verbindung. Wird verwendet, um Firewall-Regeln dynamisch zu öffnen.", + "addKnock": "Port hinzufügen", + "delayMs": "Verzögerung", "socks5Description": "SOCKS5-Proxy für SSH-Verbindung konfigurieren. Alle Datenverkehr werden über den angegebenen Proxy-Server geleitet.", "enableSocks5": "SOCKS5-Proxy aktivieren", "enableSocks5Description": "SOCKS5-Proxy für diese SSH-Verbindung verwenden", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "MOSH Befehl automatisch beim Verbinden ausführen", "moshCommand": "MOSH Befehl", "moshCommandDesc": "Der MOSH Befehl zum Ausführen", + "autoTmux": "Auto-Tmux", + "autoTmuxDesc": "Automatisch an eine existierende (oder eine neue) Tmux-Sitzung anhängen für persistente Sitzungen und konstante Kontinuität", "environmentVariables": "Umgebungsvariablen", "environmentVariablesDesc": "Benutzerdefinierte Umgebungsvariablen für die Terminal-Sitzung festlegen", "variableName": "Variablenname", @@ -1442,7 +1492,6 @@ "excludeOutput": "Ausgabe ausschließen", "excludeMouse": "Maus ausschließen", "includeKeys": "Schlüssel einbeziehen", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "WoL-Paket senden", "wolMacAddr": "MAC-Adresse", "wolBroadcastAddr": "Broadcast-Adresse", @@ -1498,7 +1547,25 @@ "connecting": "Verbinden...", "reconnecting": "Erneut verbinden... ({{attempt}}/{{max}})", "reconnected": "Wiederverbindung erfolgreich", + "tmuxSessionCreated": "tmux Sitzung erstellt: {{name}}", + "tmuxSessionAttached": "tmux Sitzung angehängt: {{name}}", + "tmuxUnavailable": "tmux ist nicht auf dem entfernten Host installiert, zurück zur Standard-Shell", + "tmuxSessionPickerTitle": "tmux Sitzungen", + "tmuxSessionPickerDesc": "Vorhandene Tmux-Sitzungen auf diesem Host gefunden. Wählen Sie eine, um eine Sitzung neu anzuhängen oder zu erstellen.", + "tmuxWindows": "Fenster", + "tmuxWindowCount": "{{count}} Fenster", + "tmuxWindowCount_other": "{{count}} Fenster", + "tmuxAttached": "Angehängte Clients", + "tmuxAttachedCount": "{{count}} hinzugefügt", + "tmuxLastActivity": "Letzte Aktivität", + "tmuxTimeJustNow": "gerade jetzt", + "tmuxTimeMinutes": "{{count}}m vor", + "tmuxTimeHours": "{{count}}h vor", + "tmuxTimeDays": "{{count}}d vor", + "tmuxCreateNew": "Neue Sitzung starten", + "tmuxCopyHint": "Auswahl anpassen und Enter drücken, um in die Zwischenablage zu kopieren", "maxReconnectAttemptsReached": "Maximale Wiederholungsversuche erreicht", + "closeTab": "Schließen", "connectionTimeout": "Verbindungs-Timeout", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Timeout der Authentifizierung. Bitte versuchen Sie es erneut.", "opksshAuthFailed": "Authentifizierung fehlgeschlagen. Bitte überprüfen Sie Ihre Zugangsdaten und versuchen Sie es erneut.", "opksshConfigMissing": "OPKSSH Konfiguration nicht gefunden. Bitte erstellen Sie ~/.opk/config.yml mit Ihren OIDC Providereinstellungen. Siehe Dokumentation: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Mit {{provider}} anmelden", "sudoPasswordPopupTitle": "Passwort einfügen?", "sudoPasswordPopupHint": "Drücken Sie die Eingabetaste, Esc zum Verwerfen", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Verbindung vom Server abgelehnt. Bitte überprüfen Sie Ihre Authentifizierung und Netzwerkkonfiguration.", "hostKeyRejected": "Überprüfung des SSH-Host-Schlüssels abgelehnt. Verbindung abgebrochen.", "sessionTakenOver": "Sitzung wurde in einem anderen Tab geöffnet. Wiederverbinden...", - "sessionAttachTimeout": "Zeitüberschreitung beim Anhang. Neue Verbindung wird erstellt..." + "sessionAttachTimeout": "Zeitüberschreitung beim Anhang. Neue Verbindung wird erstellt...", + "openFileManagerHere": "Dateimanager hier öffnen" }, "fileManager": { "title": "Datei-Manager", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Farbcode-Dateien nach Typ: Ordner (rot), Dateien (blau), Symlinks (grün)", "commandAutocomplete": "Befehl Autovervollständigung", "commandAutocompleteDesc": "Aktiviere Autovervollständigungsvorschläge für Terminal-Befehle basierend auf deiner Befehlshistorie", + "commandHistoryTracking": "Befehlsverlauf speichern", + "commandHistoryTrackingDesc": "Speichere Terminal-Befehle im Verlauf für Autovervollständigung und Seitenleiste. Standardmäßig deaktiviert für Privatsphäre.", "defaultSnippetFoldersCollapsed": "Snippet Ordner standardmäßig einklappen", "defaultSnippetFoldersCollapsedDesc": "Wenn aktiviert, werden alle Snippet-Ordner eingeblendet, wenn Sie den Snippet-Tab öffnen", "terminalSyntaxHighlighting": "Terminal-Syntax-Hervorhebung", @@ -2482,7 +2553,7 @@ "database": "Datenbank", "healthy": "Gesund", "error": "Fehler", - "totalServers": "Gesamt Server", + "totalHosts": "Hosts gesamt", "totalTunnels": "Gesamte Tunnel", "totalCredentials": "Gesamte Zugangsdaten", "recentActivity": "Letzte Aktivität", diff --git a/src/locales/translated/el_GR.json b/src/locales/translated/el_GR.json index 136c2809..74e1feec 100644 --- a/src/locales/translated/el_GR.json +++ b/src/locales/translated/el_GR.json @@ -277,6 +277,19 @@ "copyTooltip": "Αντιγραφή αποσπάσματος στο πρόχειρο", "editTooltip": "Επεξεργαστείτε αυτό το απόσπασμα", "deleteTooltip": "Διαγραφή αυτού του αποσπάσματος", + "shareTooltip": "Μοιραστείτε αυτό το απόσπασμα", + "sharedWithYou": "Κοινόχρηστο", + "sharedBy": "Μοιράστηκε από {{username}}", + "shareSnippet": "Μοιραστείτε Δείγμα", + "user": "Χρήστης", + "role": "Ρόλος", + "selectTarget": "Επιλογή...", + "currentAccess": "Τρέχουσα Πρόσβαση", + "shareSuccess": "Το Snippet κοινοποιήθηκε με επιτυχία", + "shareFailed": "Αποτυχία κοινοποίησης αποσπάσματος", + "revokeSuccess": "Η πρόσβαση ανακλήθηκε", + "revokeFailed": "Αποτυχία ανάκλησης πρόσβασης", + "failedToLoadShareData": "Αποτυχία φόρτωσης δεδομένων κοινής χρήσης", "newFolder": "Νέος Φάκελος", "reorderSameFolder": "Μπορεί μόνο να αναδιατάξει τα αποσπάσματα εντός του ίδιου φακέλου", "reorderSuccess": "Δείγματα αναπαραγγέλθηκαν με επιτυχία", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Απαιτείται έλεγχος ταυτότητας. Παρακαλώ ανανεώστε τη σελίδα.", "dataAccessLockedReauth": "Η πρόσβαση στα δεδομένα κλειδώθηκε. Παρακαλώ επαναλάβετε τον έλεγχο ταυτότητας.", "loading": "Φόρτωση ιστορικού εντολών...", - "error": "Σφάλμα Φόρτωσης Ιστορικού" + "error": "Σφάλμα Φόρτωσης Ιστορικού", + "disabledTitle": "Το ιστορικό εντολών είναι απενεργοποιημένο", + "disabledDescription": "Ενεργοποιήστε την παρακολούθηση ιστορικού εντολών στο προφίλ σας στις ρυθμίσεις εμφάνισης." }, "splitScreen": { "title": "Διαίρεση Οθόνης", @@ -510,6 +525,8 @@ "checkingDatabase": "Έλεγχος σύνδεσης βάσης δεδομένων...", "checkingAuthentication": "Έλεγχος ταυτοποίησης...", "backendReconnected": "Έγινε επαναφορά σύνδεσης διακομιστή", + "connectionDegraded": "Η σύνδεση διακομιστή χάθηκε, ανάκτηση…", + "reload": "Reload", "actions": "Ενέργειες", "remove": "Αφαίρεση", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Αντιγραφή Κωδικού Πρόσβασης Sudo", "passwordCopied": "Ο κωδικός αντιγράφηκε στο πρόχειρο", "sudoPasswordCopied": "Ο κωδικός Sudo αντιγράφηκε στο πρόχειρο", - "noPasswordAvailable": "Δεν υπάρχει διαθέσιμος κωδικός πρόσβασης" + "noPasswordAvailable": "Δεν υπάρχει διαθέσιμος κωδικός πρόσβασης", + "failedToCopyPassword": "Αποτυχία αντιγραφής κωδικού πρόσβασης" }, "admin": { "title": "Ρυθμίσεις Διαχειριστή", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Οι καθολικές ρυθμίσεις παρακολούθησης αποθηκεύτηκαν", "failedToSaveGlobalSettings": "Αποτυχία αποθήκευσης καθολικών ρυθμίσεων παρακολούθησης", "failedToLoadGlobalSettings": "Αποτυχία φόρτωσης καθολικών ρυθμίσεων παρακολούθησης", + "sessionTimeout": "Χρονικό Όριο Συνεδρίας", + "sessionTimeoutDesc": "Ρυθμίστε τη διάρκεια των περιόδων λειτουργίας των χρηστών πριν από την απαίτηση επαναταυτοποίησης. 'Να με θυμάσαι' οι συνεδρίες δεν επηρεάζονται (πάντα 30 ημέρες).", + "sessionTimeoutHours": "Διάρκεια Χρονικού Ορίου", + "hours": "ώρες", + "sessionTimeoutNote": "Έγκυρο εύρος: 1-720 ώρες. Οι αλλαγές ισχύουν μόνο για νέες συνεδρίες.", + "sessionTimeoutSaved": "Χρονικό όριο συνεδρίας αποθηκεύτηκε", + "failedToSaveSessionTimeout": "Αποτυχία αποθήκευσης χρονικού ορίου συνεδρίας", "guacamoleIntegration": "Απομακρυσμένη Ενσωμάτωση Επιφάνειας Εργασίας (Guacamole)", "guacamoleIntegrationDesc": "Ενεργοποίηση συνδέσεων RDP, VNC και Telnet μέσω guacd. Απαιτεί μια παρουσία guacd να εκτελείται.", "enableGuacamole": "Ενεργοποίηση υποστήριξης RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Οι ρυθμίσεις Guacamole αποθηκεύτηκαν", "failedToSaveGuacamoleSettings": "Αποτυχία αποθήκευσης ρυθμίσεων guacamole", "failedToLoadGuacamoleSettings": "Αποτυχία φόρτωσης των ρυθμίσεων guacamole", + "logLevel": "Επίπεδο Καταγραφής", + "logLevelDesc": "Ελέγξτε τη λεκτικότητα των αρχείων καταγραφής διακομιστή. Υψηλότερα επίπεδα μειώνουν την έξοδο καταγραφής. Μπορεί επίσης να ρυθμιστεί μέσω της μεταβλητής περιβάλλοντος LOG_ LEVEL.", + "logVerbosity": "Λάθος", + "logLevelNote": "Οι αλλαγές εφαρμόζονται αμέσως. Το επίπεδο αποσφαλμάτωσης μπορεί να επηρεάσει τις επιδόσεις.", + "logLevelSaved": "Το επίπεδο καταγραφής αποθηκεύτηκε", + "failedToSaveLogLevel": "Αποτυχία αποθήκευσης επιπέδου καταγραφής", "clampedToValidRange": "προσαρμόστηκε σε έγκυρο εύρος", "loadingSessions": "Φόρτωση συνεδριών...", "noActiveSessions": "Δεν βρέθηκαν ενεργές συνεδρίες.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} κεντρικοί υπολογιστές", "importJson": "Εισαγωγή JSON", "importing": "Εισαγωγή...", + "exportAllJson": "Εξαγωγή Όλων", + "exporting": "Εξαγωγή...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Αποτυχία εξαγωγής hosts. Παρακαλώ βεβαιωθείτε ότι είστε συνδεδεμένοι και έχετε πρόσβαση στα δεδομένα του κεντρικού υπολογιστή.", + "exportAllSensitiveWarning": "Το εξαγόμενο αρχείο θα περιέχει ευαίσθητα δεδομένα ελέγχου ταυτότητας (κωδικοί πρόσβασης/SSH κλειδιά) στο plaintext. Παρακαλώ κρατήστε το αρχείο ασφαλές και διαγράψτε το μετά τη χρήση.", "importJsonTitle": "Εισαγωγή SSH Hosts από JSON", "importJsonDesc": "Ανεβάστε ένα αρχείο JSON για μαζική εισαγωγή πολλαπλών υπολογιστών SSH (max 100).", "downloadSample": "Λήψη Δείγματος", @@ -885,6 +921,11 @@ "guacamoleSettings": "Ρυθμίσεις Απομακρυσμένης Επιφάνειας Εργασίας", "organization": "Οργανισμός", "ipAddress": "Διεύθυνση IP ή όνομα κεντρικού υπολογιστή", + "macAddress": "Διεύθυνση MAC", + "macAddressDesc": "Για Wake-on-LAN Μορφή: AA: Bb: Cc: DD: Ee: Ff", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Το πακέτο Wake-on-LAN εστάλη", + "wolFailed": "Αποτυχία αποστολής πακέτου Wake-on-LAN", "ipRequired": "Η διεύθυνση IP απαιτείται", "portRequired": "Η θύρα απαιτείται", "port": "Θύρα", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Σύρετε για μετακίνηση μεταξύ φακέλων", "exportedHostConfig": "Εξαγόμενη διαμόρφωση κεντρικού υπολογιστή για το {{name}}", "openTerminal": "Άνοιγμα Τερματικού", + "openRdp": "Άνοιγμα RDP", + "openVnc": "Άνοιγμα VNC", + "openTelnet": "Άνοιγμα Telnet", "openFileManager": "Άνοιγμα Διαχειριστή Αρχείων", "openTunnels": "Άνοιγμα Σηράγγων", "openServerDetails": "Άνοιγμα Λεπτομερειών Διακομιστή", @@ -1159,6 +1203,10 @@ "noServerFound": "Δεν βρέθηκε διακομιστής", "jumpHostsOrder": "Συνδέσεις θα γίνουν με τη σειρά: Άλμα οικοδεσπότη 1 → Μετάβαση Host 2 → → Στόχος διακομιστή", "socks5Proxy": "Διακομιστής Μεσολάβησης SOCKS5", + "portKnocking": "Λιμάνι Knocking", + "portKnockingDesc": "Αποστολή μιας ακολουθίας συνδέσεων προσπαθεί να καθορισμένες θύρες πριν από τη σύνδεση. Χρησιμοποιείται για να ανοίξει δυναμικά τους κανόνες του τείχους προστασίας.", + "addKnock": "Προσθήκη Θύρας", + "delayMs": "Καθυστέρηση", "socks5Description": "Ρύθμιση διαμεσολαβητή SOCKS5 για τη σύνδεση SSH. Όλη η κίνηση θα δρομολογηθεί μέσω του καθορισμένου διακομιστή μεσολάβησης.", "enableSocks5": "Ενεργοποίηση Διακομιστή Μεσολάβησης SOCKS5", "enableSocks5Description": "Χρήση του διακομιστή μεσολάβησης SOCKS5 για αυτήν τη σύνδεση SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Αυτόματη εκτέλεση της εντολής MOSH κατά τη σύνδεση", "moshCommand": "Διοίκηση MOSH", "moshCommandDesc": "Η εντολή MOSH για εκτέλεση", + "autoTmux": "Αυτόματο-tmux", + "autoTmuxDesc": "Αυτόματη επισύναψη σε μια υπάρχουσα (ή εκκίνηση μιας νέας) συνεδρίας tmux για επίμονες συνεδρίες και τη συνέχεια μεταξύ συσκευών", "environmentVariables": "Μεταβλητές Περιβάλλοντος", "environmentVariablesDesc": "Ορίστε προσαρμοσμένες μεταβλητές περιβάλλοντος για τη συνεδρία τερματικού", "variableName": "Όνομα μεταβλητής", @@ -1442,7 +1492,6 @@ "excludeOutput": "Εξαίρεση Εξόδου", "excludeMouse": "Εξαίρεση Ποντικιού", "includeKeys": "Συμπερίληψη Πλήκτρων", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Αποστολή Πακέτου WoL", "wolMacAddr": "Διεύθυνση MAC", "wolBroadcastAddr": "Διεύθυνση Μετάδοσης", @@ -1481,7 +1530,7 @@ "closePanel": "Κλείσιμο Πίνακα", "reconnect": "Επανασύνδεση", "sessionEnded": "Η Συνεδρία Έληξε", - "connectionLost": "Η Σύνδεση Χάθηκε", + "connectionLost": "Η σύνδεση χάθηκε", "error": "ΣΦΑΛΜΑ: {{message}}", "disconnected": "Αποσυνδέθηκε", "connectionClosed": "Η σύνδεση έκλεισε", @@ -1498,7 +1547,25 @@ "connecting": "Σύνδεση...", "reconnecting": "Επανασύνδεση... ({{attempt}}/{{max}})", "reconnected": "Επιτυχής επανασύνδεση", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "το tmux δεν είναι εγκατεστημένο στον απομακρυσμένο υπολογιστή, επιστρέφοντας στο τυπικό κέλυφος", + "tmuxSessionPickerTitle": "συνεδρίες tmux", + "tmuxSessionPickerDesc": "Υπάρχουσες συνεδρίες tmux που βρέθηκαν σε αυτόν τον υπολογιστή. Επιλέξτε μία για να επαναφέρετε ή να δημιουργήσετε μια νέα συνεδρία.", + "tmuxWindows": "Παράθυρα", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Συνημμένοι πελάτες", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Τελευταία δραστηριότητα", + "tmuxTimeJustNow": "μόλις τώρα", + "tmuxTimeMinutes": "{{count}}m πριν", + "tmuxTimeHours": "{{count}}h πριν", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Έναρξη νέας συνεδρίας", + "tmuxCopyHint": "Προσαρμόστε την επιλογή και πατήστε Enter για αντιγραφή στο πρόχειρο", "maxReconnectAttemptsReached": "Επιτεύχθηκαν μέγιστες προσπάθειες επανασύνδεσης", + "closeTab": "Κλείσιμο", "connectionTimeout": "Χρονικό όριο σύνδεσης", "terminalTitle": "Τερματικό - {{host}}", "terminalWithPath": "Τερματικό - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Λήξη χρονικού ορίου επαλήθευσης. Παρακαλώ προσπαθήστε ξανά.", "opksshAuthFailed": "Ο έλεγχος ταυτότητας απέτυχε. Παρακαλώ ελέγξτε τα στοιχεία σας και προσπαθήστε ξανά.", "opksshConfigMissing": "Η ρύθμιση παραμέτρων OPKSSH δεν βρέθηκε. Παρακαλώ δημιουργήστε ~/.opk/config.yml με τις ρυθμίσεις παρόχου OIDC. Δείτε την τεκμηρίωση: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Σύνδεση με {{provider}}", "sudoPasswordPopupTitle": "Εισαγωγή Κωδικού Πρόσβασης?", "sudoPasswordPopupHint": "Πατήστε Enter για εισαγωγή, Esc για απόρριψη", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Η σύνδεση απορρίφθηκε από το διακομιστή. Παρακαλώ ελέγξτε τον έλεγχο ταυτότητας και τις ρυθμίσεις δικτύου.", "hostKeyRejected": "Η επαλήθευση SSH κεντρικού υπολογιστή απορρίφθηκε. Η σύνδεση ακυρώθηκε.", "sessionTakenOver": "Η συνεδρία άνοιξε σε άλλη καρτέλα. Επανασύνδεση...", - "sessionAttachTimeout": "Το συνημμένο περιόδου σύνδεσης έληξε. Δημιουργία νέας σύνδεσης..." + "sessionAttachTimeout": "Το συνημμένο περιόδου σύνδεσης έληξε. Δημιουργία νέας σύνδεσης...", + "openFileManagerHere": "Άνοιγμα Διαχειριστή Αρχείων Εδώ" }, "fileManager": { "title": "Διαχειριστής Αρχείων", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Αρχεία χρωμάτων-κώδικα ανά τύπο: φάκελοι (κόκκινο), αρχεία (μπλε), symlinks (πράσινο)", "commandAutocomplete": "Αυτόματη Ολοκλήρωση Εντολής", "commandAutocompleteDesc": "Ενεργοποίηση προτάσεων αυτόματης συμπλήρωσης πλήκτρων Tab για εντολές τερματικού βάσει του ιστορικού εντολών σας", + "commandHistoryTracking": "Αποθήκευση Ιστορικού Εντολών", + "commandHistoryTrackingDesc": "Αποθήκευση εντολών τερματικού στο ιστορικό για αυτόματη συμπλήρωση και πλευρική μπάλα. Απενεργοποιημένη από προεπιλογή για την ιδιωτικότητα.", "defaultSnippetFoldersCollapsed": "Σύμπτυξη φακέλων αποσπώμενων από προεπιλογή", "defaultSnippetFoldersCollapsedDesc": "Όταν ενεργοποιηθεί, όλοι οι φάκελοι αποκοπής θα καταρρεύσουν όταν ανοίξετε την καρτέλα αποσπασμάτων", "terminalSyntaxHighlighting": "Επισήμανση Σύνταξης Τερματικού", @@ -2482,7 +2553,7 @@ "database": "Βάση Δεδομένων", "healthy": "Υγιείς", "error": "Σφάλμα", - "totalServers": "Σύνολο Εξυπηρετητών", + "totalHosts": "Σύνολο Υπολογιστών", "totalTunnels": "Σύνολο Σηράγγων", "totalCredentials": "Σύνολο Διαπιστευτηρίων", "recentActivity": "Πρόσφατη Δραστηριότητα", diff --git a/src/locales/translated/es_ES.json b/src/locales/translated/es_ES.json index 3234bb07..2d8e3c17 100644 --- a/src/locales/translated/es_ES.json +++ b/src/locales/translated/es_ES.json @@ -277,6 +277,19 @@ "copyTooltip": "Copiar fragmento al portapapeles", "editTooltip": "Editar este fragmento", "deleteTooltip": "Eliminar este fragmento", + "shareTooltip": "Compartir este fragmento", + "sharedWithYou": "Compartido", + "sharedBy": "Compartido por {{username}}", + "shareSnippet": "Compartir Snippet", + "user": "Usuario", + "role": "Rol", + "selectTarget": "Seleccionar...", + "currentAccess": "Acceso actual", + "shareSuccess": "Fragmento compartido correctamente", + "shareFailed": "Error al compartir el snippet", + "revokeSuccess": "Acceso revocado", + "revokeFailed": "Error al revocar el acceso", + "failedToLoadShareData": "Error al cargar los datos compartidos", "newFolder": "Nueva carpeta", "reorderSameFolder": "Sólo se pueden reordenar fragmentos dentro de la misma carpeta", "reorderSuccess": "Fragmentos reordenados correctamente", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Autenticación requerida. Por favor, actualiza la página.", "dataAccessLockedReauth": "Acceso de datos bloqueado. Por favor vuelva a autenticar.", "loading": "Cargando historial de comandos...", - "error": "Error al cargar el historial" + "error": "Error al cargar el historial", + "disabledTitle": "Historial de comandos desactivado", + "disabledDescription": "Habilita el seguimiento del historial de comandos en tu perfil bajo Configuración de Apariencia." }, "splitScreen": { "title": "Dividir pantalla", @@ -510,6 +525,8 @@ "checkingDatabase": "Comprobando conexión a la base de datos...", "checkingAuthentication": "Comprobando autenticación...", "backendReconnected": "Conexión con el servidor restaurada", + "connectionDegraded": "Se perdió la conexión del servidor, recuperando…", + "reload": "Reload", "actions": "Acciones", "remove": "Eliminar", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Copiar contraseña de Sudo", "passwordCopied": "Contraseña copiada al portapapeles", "sudoPasswordCopied": "Contraseña de Sudo copiada al portapapeles", - "noPasswordAvailable": "Contraseña no disponible" + "noPasswordAvailable": "Contraseña no disponible", + "failedToCopyPassword": "Error al copiar la contraseña" }, "admin": { "title": "Configuración de Admin", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Ajustes globales de monitoreo guardados", "failedToSaveGlobalSettings": "Error al guardar la configuración global de monitoreo", "failedToLoadGlobalSettings": "Error al cargar la configuración global de monitoreo", + "sessionTimeout": "Tiempo de espera agotado", + "sessionTimeoutDesc": "Configurar cuánto duran las sesiones de usuario antes de requerir la re-autenticación. Las sesiones 'Recordarme' no se verán afectadas (siempre 30 días).", + "sessionTimeoutHours": "Duración de tiempo agotado", + "hours": "horas", + "sessionTimeoutNote": "Rango válido: de 1 a 720 horas. Los cambios se aplican únicamente a las nuevas sesiones.", + "sessionTimeoutSaved": "Tiempo de espera de sesión guardado", + "failedToSaveSessionTimeout": "Error al guardar el tiempo de espera de sesión", "guacamoleIntegration": "Integración de escritorio remoto (Guacamole)", "guacamoleIntegrationDesc": "Habilitar conexiones RDP, VNC y Telnet vía guacd. Requiere que una instancia guacd esté ejecutándose.", "enableGuacamole": "Habilitar soporte RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Ajustes de Guacamole guardados", "failedToSaveGuacamoleSettings": "Error al guardar la configuración de guacamole", "failedToLoadGuacamoleSettings": "Error al cargar la configuración de guacamole", + "logLevel": "Nivel de Log", + "logLevelDesc": "Controla la verbosidad de los registros del servidor. Los niveles más altos reducen la salida del registro. También puede establecerse a través de la variable de entorno LOG_LEVEL.", + "logVerbosity": "Verbosidad", + "logLevelNote": "Los cambios surten efecto inmediatamente. El nivel de depuración puede afectar al rendimiento.", + "logLevelSaved": "Nivel de registro guardado", + "failedToSaveLogLevel": "Error al guardar el nivel de registro", "clampedToValidRange": "se ajustó al rango válido", "loadingSessions": "Cargando sesiones...", "noActiveSessions": "No se encontraron sesiones activas.", @@ -853,6 +884,11 @@ "hostsCount": "Equipos {{count}}", "importJson": "Importar JSON", "importing": "Importando...", + "exportAllJson": "Exportar todo", + "exporting": "Exportando...", + "exportedAllHosts": "Equipos {{count}} exportados", + "failedToExportAllHosts": "Error al exportar los hosts. Por favor, asegúrate de haber iniciado sesión y tener acceso a los datos del host.", + "exportAllSensitiveWarning": "El archivo exportado contendrá datos de autenticación sensibles (contraseñas/claves SSH) en listo. Por favor, mantenga el archivo seguro y elimínelo después de usarlo.", "importJsonTitle": "Importar SSH Hosts desde JSON", "importJsonDesc": "Subir un archivo JSON para importar múltiples hosts SSH (máx. 100).", "downloadSample": "Descargar muestra", @@ -885,6 +921,11 @@ "guacamoleSettings": "Ajustes de escritorio remoto", "organization": "Organización", "ipAddress": "Dirección IP o nombre de host", + "macAddress": "Dirección MAC", + "macAddressDesc": "Para Wake-on-LAN. Formato: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Paquete Wake-on-LAN enviado", + "wolFailed": "Error al enviar el paquete Wake-on-LAN", "ipRequired": "La dirección IP es necesaria", "portRequired": "Se requiere un puerto", "port": "Puerto", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Arrastre para mover entre carpetas", "exportedHostConfig": "Configuración de host exportada para {{name}}", "openTerminal": "Abrir Terminal", + "openRdp": "Abrir RDP", + "openVnc": "Abrir VNC", + "openTelnet": "Abrir Telnet", "openFileManager": "Abrir gestor de archivos", "openTunnels": "Abrir túneles", "openServerDetails": "Abrir detalles del servidor", @@ -1159,6 +1203,10 @@ "noServerFound": "Servidor no encontrado", "jumpHostsOrder": "Las conexiones se harán por orden: Salto Host 1 → Salto Host 2 → ... → Servidor de destino", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Puesta de puerto", + "portKnockingDesc": "Enviar una secuencia de intentos de conexión a puertos especificados antes de conectarse. Utilizado para abrir reglas de firewall dinámicamente.", + "addKnock": "Añadir Puerto", + "delayMs": "Retraso", "socks5Description": "Configure el proxy SOCKS5 para conexión SSH. Todo el tráfico se enrutará a través del servidor proxy especificado.", "enableSocks5": "Habilitar proxy SOCKS5", "enableSocks5Description": "Usar proxy SOCKS5 para esta conexión SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Ejecutar automáticamente el comando MOSH al conectar", "moshCommand": "MOSH comando", "moshCommandDesc": "El comando MOSH a ejecutar", + "autoTmux": "Autotmux", + "autoTmuxDesc": "Adjuntar automáticamente a una sesión tmux existente (o iniciar una nueva) para sesiones persistentes y continuidad entre dispositivos", "environmentVariables": "Variables de entorno", "environmentVariablesDesc": "Establecer variables de entorno personalizadas para la sesión de terminal", "variableName": "Nombre variable", @@ -1442,7 +1492,6 @@ "excludeOutput": "Excluir salida", "excludeMouse": "Excluir ratón", "includeKeys": "Incluye claves", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Enviar paquete WoL", "wolMacAddr": "Dirección MAC", "wolBroadcastAddr": "Dirección de Broadcast", @@ -1498,7 +1547,25 @@ "connecting": "Conectando...", "reconnecting": "Reconectando... ({{attempt}}/{{max}})", "reconnected": "Reconectado correctamente", + "tmuxSessionCreated": "sesión tmux creada: {{name}}", + "tmuxSessionAttached": "sesión tmux adjunta: {{name}}", + "tmuxUnavailable": "tmux no está instalado en el host remoto, volviendo a la shell estándar", + "tmuxSessionPickerTitle": "sesiones de tmux", + "tmuxSessionPickerDesc": "Sesiones de tmux existentes encontradas en este host. Seleccione una para reconstruir o crear una nueva sesión.", + "tmuxWindows": "Ventanas", + "tmuxWindowCount": "Ventana {{count}}", + "tmuxWindowCount_other": "{{count}} ventanas", + "tmuxAttached": "Clientes adjuntos", + "tmuxAttachedCount": "{{count}} adjunto", + "tmuxLastActivity": "Última actividad", + "tmuxTimeJustNow": "justo ahora", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Iniciar nueva sesión", + "tmuxCopyHint": "Ajustar selección y presionar Enter para copiar al portapapeles", "maxReconnectAttemptsReached": "Máximo de intentos de reconexión alcanzados", + "closeTab": "Cerrar", "connectionTimeout": "Tiempo de conexión agotado", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Se ha agotado el tiempo de autenticación. Por favor, inténtalo de nuevo.", "opksshAuthFailed": "Error de autenticación. Por favor, comprueba tus credenciales e inténtalo de nuevo.", "opksshConfigMissing": "Configuración OPKSSH no encontrada. Por favor cree ~/.opk/config.yml con la configuración de su proveedor OIDC. Vea la documentación: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Iniciar sesión con {{provider}}", "sudoPasswordPopupTitle": "¿Insertar contraseña?", "sudoPasswordPopupHint": "Presione Enter para insertar, Esc para descartar", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Conexión rechazada por el servidor. Por favor, compruebe su autenticación y configuración de red.", "hostKeyRejected": "Verificación de clave del host SSH rechazada. Conexión cancelada.", "sessionTakenOver": "La sesión fue abierta en otra pestaña. Volviendo a conectar...", - "sessionAttachTimeout": "Se ha agotado el tiempo de espera del archivo adjunto. Creando una nueva conexión..." + "sessionAttachTimeout": "Se ha agotado el tiempo de espera del archivo adjunto. Creando una nueva conexión...", + "openFileManagerHere": "Abrir Administrador de Archivos Aquí" }, "fileManager": { "title": "Gestor de archivos", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Archivos de código de color por tipo: carpetas (rojo), archivos (azul), enlaces simbólicos (verde)", "commandAutocomplete": "Comando autocompletado", "commandAutocompleteDesc": "Habilitar sugerencias de autocompletado de la clave Tab para comandos de terminal basado en su historial de comandos", + "commandHistoryTracking": "Guardar historial de comandos", + "commandHistoryTrackingDesc": "Almacena comandos en el historial para autocompletar y barra lateral. Desactivado por defecto para privacidad.", "defaultSnippetFoldersCollapsed": "Colapse Carpetas de Snippet por defecto", "defaultSnippetFoldersCollapsedDesc": "Cuando está habilitado, todas las carpetas de fragmentos se contraerán cuando abra la pestaña de fragmentos", "terminalSyntaxHighlighting": "Resaltado sintáctico de Terminal", @@ -2482,7 +2553,7 @@ "database": "Base de datos", "healthy": "Saludable", "error": "Error", - "totalServers": "Total de servidores", + "totalHosts": "Total de hosts", "totalTunnels": "Total de túneles", "totalCredentials": "Total de credenciales", "recentActivity": "Actividad reciente", diff --git a/src/locales/translated/fi_FI.json b/src/locales/translated/fi_FI.json index 770cb167..dc1ae791 100644 --- a/src/locales/translated/fi_FI.json +++ b/src/locales/translated/fi_FI.json @@ -277,6 +277,19 @@ "copyTooltip": "Kopioi tiedosto leikepöydälle", "editTooltip": "Muokkaa tätä komentosarjaa", "deleteTooltip": "Poista tämä tiedosto", + "shareTooltip": "Jaa tämä tiedosto", + "sharedWithYou": "Jaettu", + "sharedBy": "Jaettu {{username}}", + "shareSnippet": "Jaa Projekti", + "user": "Käyttäjä", + "role": "Rooli", + "selectTarget": "Valitse...", + "currentAccess": "Nykyinen Käyttöoikeus", + "shareSuccess": "Projekti jaettu onnistuneesti", + "shareFailed": "Snippetin jakaminen epäonnistui", + "revokeSuccess": "Pääsy peruttu", + "revokeFailed": "Käyttöoikeuksien peruuttaminen epäonnistui", + "failedToLoadShareData": "Jakamisen tietojen lataaminen epäonnistui", "newFolder": "Uusi Kansio", "reorderSameFolder": "Voi järjestää leikkauksia vain saman kansion sisällä", "reorderSuccess": "Projektin uudelleenjärjestely onnistui", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Todennus vaaditaan. Ole hyvä ja päivitä sivu.", "dataAccessLockedReauth": "Datakäyttö lukittu. Ole hyvä ja tarkista.", "loading": "Ladataan komennon historiaa...", - "error": "Virhe Sivuhistorian Lataamisessa" + "error": "Virhe Sivuhistorian Lataamisessa", + "disabledTitle": "Komennon historia on poistettu käytöstä", + "disabledDescription": "Ota käyttöön komentohistorian seuranta profiilissasi ulkoasun asetuksista." }, "splitScreen": { "title": "Jaettu Näyttö", @@ -510,6 +525,8 @@ "checkingDatabase": "Tarkistetaan tietokantayhteyttä...", "checkingAuthentication": "Tarkistetaan todennusta...", "backendReconnected": "Palvelinyhteys palautettu", + "connectionDegraded": "Palvelinyhteys katkesi, palautetaan…", + "reload": "Reload", "actions": "Toiminnot", "remove": "Poista", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Kopioi Sudo Salasana", "passwordCopied": "Salasana kopioitu leikepöydälle", "sudoPasswordCopied": "Sudo salasana kopioitu leikepöydälle", - "noPasswordAvailable": "Salasanaa ei ole saatavilla" + "noPasswordAvailable": "Salasanaa ei ole saatavilla", + "failedToCopyPassword": "Salasanan kopiointi epäonnistui" }, "admin": { "title": "Ylläpitäjän Asetukset", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Yleiset seurantaasetukset tallennettu", "failedToSaveGlobalSettings": "Yleisten seuranta-asetusten tallentaminen epäonnistui", "failedToLoadGlobalSettings": "Globaalien valvontaasetusten lataaminen epäonnistui", + "sessionTimeout": "Istunnon Aikakatkaisu", + "sessionTimeoutDesc": "Määritä kuinka pitkiä käyttäjäistuntoja kestää ennen kuin vaatii uudelleentunnistamisen. 'Muista minut' istunnot eivät vaikuta (aina 30 päivää).", + "sessionTimeoutHours": "Aikakatkaisu Kesto", + "hours": "tuntia", + "sessionTimeoutNote": "Kelvollinen alue: 1–720 tuntia. Muutokset koskevat vain uusia istuntoja.", + "sessionTimeoutSaved": "Istunnon aikakatkaisu tallennettu", + "failedToSaveSessionTimeout": "Istunnon aikakatkaisun tallennus epäonnistui", "guacamoleIntegration": "Etätyöpöydän Integraatio (Guacamole)", "guacamoleIntegrationDesc": "Ota käyttöön RDP, VNC ja Telnet-yhteydet guacdilla. Vaatii guacd-ilmentymän käynnissä olevaksi.", "enableGuacamole": "Ota käyttöön RD- NC/Telnet- tuki", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamolen asetukset tallennettu", "failedToSaveGuacamoleSettings": "Guacamole-asetusten tallennus epäonnistui", "failedToLoadGuacamoleSettings": "Guacamole-asetusten lataaminen epäonnistui", + "logLevel": "Lokin Taso", + "logLevelDesc": "Ohjaa palvelinlokien verbosya. Korkeampi taso vähentää lokia. Voidaan asettaa myös LOG_LEVEL ympäristömuuttujan kautta.", + "logVerbosity": "Verbositeetti", + "logLevelNote": "Muutokset tulevat voimaan välittömästi. Virheenkorjaus saattaa vaikuttaa suorituskykyyn.", + "logLevelSaved": "Lokin taso tallennettu", + "failedToSaveLogLevel": "Lokitason tallennus epäonnistui", "clampedToValidRange": "oli mukautettu kelvolliseen alueeseen", "loadingSessions": "Ladataan istuntoja...", "noActiveSessions": "Aktiivisia istuntoja ei löytynyt.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} isäntää", "importJson": "Tuo JSON", "importing": "Tuoda...", + "exportAllJson": "Vie Kaikki", + "exporting": "Viedään...", + "exportedAllHosts": "Viety {{count}} isäntä", + "failedToExportAllHosts": "Palvelinten vienti epäonnistui. Varmista, että olet kirjautunut sisään ja että sinulla on pääsy isäntätietoihin.", + "exportAllSensitiveWarning": "Viety tiedosto sisältää luottamuksellisia todennustietoja (salasanat / SSH avaimet) plaintext. Pidä tiedosto turvassa ja poista se käytön jälkeen.", "importJsonTitle": "Tuo SSH isännät JSONista", "importJsonDesc": "Lataa JSON tiedosto tuomaan irtotavarana useita SSH isäntiä (max 100).", "downloadSample": "Lataa Näyte", @@ -885,6 +921,11 @@ "guacamoleSettings": "Etätyöpöydän Asetukset", "organization": "Organisaatio", "ipAddress": "IP-osoite tai isäntänimi", + "macAddress": "Mapc Osoite", + "macAddressDesc": "For Wake-on-LAN. Formaatti: AA:Bb:Cc:DD:Ee:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN-paketti lähetetty", + "wolFailed": "Wake-on-LAN-pakettia ei voitu lähettää", "ipRequired": "IP-osoite on pakollinen", "portRequired": "Portti on pakollinen", "port": "Portti", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Vedä liikkuaksesi kansioiden välillä", "exportedHostConfig": "Viedyt isäntä asetukset {{name}}", "openTerminal": "Avaa pääte", + "openRdp": "Avaa RDP", + "openVnc": "Avaa VNC", + "openTelnet": "Avaa Telnet", "openFileManager": "Avaa tiedostonhallinta", "openTunnels": "Avoimet tunnelit", "openServerDetails": "Avaa palvelimen tiedot", @@ -1159,6 +1203,10 @@ "noServerFound": "Palvelinta ei löytynyt", "jumpHostsOrder": "Yhteydet muodostetaan järjestyksessä: Hyppypalvelin 1 → Hyppypalvelin 2 → ... → Kohdepalvelin", "socks5Proxy": "SOCKS5-välityspalvelin", + "portKnocking": "Sataman Nukkuminen", + "portKnockingDesc": "Lähetä joukko yhteysyrityksiä määritettyihin portteihin ennen yhdistämistä. Käytetään palomuurin sääntöjen dynaamiseksi.", + "addKnock": "Lisää Portti", + "delayMs": "Viive", "socks5Description": "Määritä SOCKS5-välityspalvelin SSH-yhteyttä varten. Kaikki liikenne reititetään määritetyn välityspalvelimen kautta.", "enableSocks5": "Ota SOCKS5-välityspalvelin käyttöön", "enableSocks5Description": "Käytä SOCKS5-välityspalvelinta tälle SSH-yhteydelle", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Suorita MOSH-komento automaattisesti yhteyden muodostamisen yhteydessä", "moshCommand": "MOSH-komento", "moshCommandDesc": "Suoritettava MOSH-komento", + "autoTmux": "Automaattinen tmux", + "autoTmuxDesc": "Liitä automaattisesti olemassa olevaan (tai aloita uusi) tmux-istuntoon pysyvien istuntojen ja laitteiden välisen jatkuvuuden varmistamiseksi", "environmentVariables": "Ympäristömuuttujat", "environmentVariablesDesc": "Aseta mukautettuja ympäristömuuttujia pääteistunnolle", "variableName": "Muuttujan nimi", @@ -1442,7 +1492,6 @@ "excludeOutput": "Sulje Ulostulo", "excludeMouse": "Ohita Hiiri", "includeKeys": "Sisällytä Avaimet", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Lähetä WoL-paketti", "wolMacAddr": "Mapc Osoite", "wolBroadcastAddr": "Lähetyksen Osoite", @@ -1481,7 +1530,7 @@ "closePanel": "Sulje paneeli", "reconnect": "Yhdistä uudelleen", "sessionEnded": "Istunto päättyi", - "connectionLost": "Yhteys katkennut", + "connectionLost": "Yhteys katkesi", "error": "VIRHE: {{message}}", "disconnected": "Yhteys Katkaistu", "connectionClosed": "Yhteys suljettu", @@ -1498,7 +1547,25 @@ "connecting": "Yhdistetään...", "reconnecting": "Yhdistetään Uudelleen... ({{attempt}}/{{max}})", "reconnected": "Yhdistäminen uudelleen onnistui", + "tmuxSessionCreated": "tmux-istunto luotu: {{name}}", + "tmuxSessionAttached": "tmux-istunto liitteenä: {{name}}", + "tmuxUnavailable": "tmuxia ei ole asennettu kaukosäätimessä olevaan isäntään, joka palautuu vakiomuotoiseen komentotulkkiin", + "tmuxSessionPickerTitle": "tmux-istunnot", + "tmuxSessionPickerDesc": "Olemassa olevat tmux-istunnot löytyvät tästä isännästä. Valitse istunto, joka liitetään uudelleen tai luodaan uusi istunto.", + "tmuxWindows": "Ikkunat", + "tmuxWindowCount": "{{count}} ikkuna", + "tmuxWindowCount_other": "{{count}} ikkunaa", + "tmuxAttached": "Liitetyt asiakkaat", + "tmuxAttachedCount": "{{count}} liitetty", + "tmuxLastActivity": "Viimeisin toiminta", + "tmuxTimeJustNow": "juuri nyt", + "tmuxTimeMinutes": "{{count}}m sitten", + "tmuxTimeHours": "{{count}}tuntia sitten", + "tmuxTimeDays": "{{count}}pv sitten", + "tmuxCreateNew": "Aloita uusi istunto", + "tmuxCopyHint": "Säädä valintaa ja paina Enter kopioidaksesi leikepöydälle", "maxReconnectAttemptsReached": "Yhteyden muodostamisen uudelleenyritysten enimmäismäärä saavutettu", + "closeTab": "Sulje", "connectionTimeout": "Yhteyden aikakatkaisu", "terminalTitle": "Pääte - {{host}}", "terminalWithPath": "Pääte - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Todennus aikakatkaistiin. Yritä uudelleen.", "opksshAuthFailed": "Todennus epäonnistui. Tarkista käyttäjätunnuksesi ja yritä uudelleen.", "opksshConfigMissing": "OPKSSH konfiguraatiota ei löytynyt. Luo ~/.opk/config.yml OIDC palveluntarjoajan asetuksissa. Katso dokumentaatio: https://github.com/openpubkey/opkssh#konfiguraatio", + "opksshSignInWith": "Kirjaudu sisään {{provider}} avulla", "sudoPasswordPopupTitle": "Syötä salasana?", "sudoPasswordPopupHint": "Lisää painamalla Enter, hylkää painamalla Esc", "sudoPasswordPopupConfirm": "Lisää", @@ -1546,7 +1614,8 @@ "connectionRejected": "Palvelin hylkäsi yhteyden. Tarkista todennus ja verkon asetukset.", "hostKeyRejected": "SSH isäntäavaimen vahvistus hylätty. Yhteys peruutettu.", "sessionTakenOver": "Istunto avattiin toisessa välilehdessä. Yhdistetään uudelleen...", - "sessionAttachTimeout": "Istunnon liite aikakatkaistiin. Uuden yhteyden luonti..." + "sessionAttachTimeout": "Istunnon liite aikakatkaistiin. Uuden yhteyden luonti...", + "openFileManagerHere": "Avaa Tiedostonhallinta Tähän" }, "fileManager": { "title": "Tiedostojen Hallinta", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Värikoodaa tiedostot tyypin mukaan: kansiot (punainen), tiedostot (sininen), symboliset linkit (vihreä)", "commandAutocomplete": "Komennon automaattinen täydennys", "commandAutocompleteDesc": "Ota käyttöön Tab-näppäimen automaattisen täydennyksen ehdotukset päätekomennoille komentohistoriasi perusteella", + "commandHistoryTracking": "Tallenna Komentohistoria", + "commandHistoryTrackingDesc": "Tallenna pääte komentoja historiassa automaattisen täydennyksen ja sivupalkin vuoksi. Oletuksena poistettu käytöstä yksityisyyden suojaamiseksi.", "defaultSnippetFoldersCollapsed": "Pienennä katkelmakansiot oletusarvoisesti", "defaultSnippetFoldersCollapsedDesc": "Kun tämä on käytössä, kaikki katkelmakansiot kutistetaan, kun avaat katkelmavälilehden.", "terminalSyntaxHighlighting": "Päätelaitteen syntaksin korostus", @@ -2482,7 +2553,7 @@ "database": "Tietokanta", "healthy": "Terveellinen", "error": "Virhe", - "totalServers": "Palvelimia yhteensä", + "totalHosts": "Isännät Yhteensä", "totalTunnels": "Tunneleita yhteensä", "totalCredentials": "Yhteensä valtakirjoja", "recentActivity": "Viimeaikaiset toiminnot", diff --git a/src/locales/translated/fr_FR.json b/src/locales/translated/fr_FR.json index f274a996..1ca15c8e 100644 --- a/src/locales/translated/fr_FR.json +++ b/src/locales/translated/fr_FR.json @@ -277,6 +277,19 @@ "copyTooltip": "Copier le snippet dans le presse-papiers", "editTooltip": "Modifier ce snippet", "deleteTooltip": "Supprimer ce snippet", + "shareTooltip": "Partager ce snippet", + "sharedWithYou": "Partagé", + "sharedBy": "Partagé par {{username}}", + "shareSnippet": "Partager le Snippet", + "user": "Utilisateur", + "role": "Rôle", + "selectTarget": "Sélectionner...", + "currentAccess": "Accès actuel", + "shareSuccess": "Snippet partagé avec succès", + "shareFailed": "Impossible de partager le snippet", + "revokeSuccess": "Accès révoqué", + "revokeFailed": "Impossible de révoquer l'accès", + "failedToLoadShareData": "Impossible de charger les données de partage", "newFolder": "Nouveau dossier", "reorderSameFolder": "Ne peut que réorganiser les extraits dans le même dossier", "reorderSuccess": "Extraits réordonnés avec succès", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Authentification requise. Veuillez actualiser la page.", "dataAccessLockedReauth": "Accès aux données verrouillé. Veuillez vous authentifier.", "loading": "Chargement de l'historique des commandes...", - "error": "Erreur lors du chargement de l'historique" + "error": "Erreur lors du chargement de l'historique", + "disabledTitle": "L'historique de commande est désactivé", + "disabledDescription": "Activer le suivi de l'historique de commandes dans votre profil dans les paramètres d'apparence." }, "splitScreen": { "title": "Écran partagé", @@ -510,6 +525,8 @@ "checkingDatabase": "Vérification de la connexion à la base de données...", "checkingAuthentication": "Vérification de l'authentification...", "backendReconnected": "Connexion au serveur restaurée", + "connectionDegraded": "Connexion au serveur perdue, récupération de…", + "reload": "Reload", "actions": "Actions", "remove": "Retirer", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Copier le mot de passe Sudo", "passwordCopied": "Mot de passe copié dans le presse-papiers", "sudoPasswordCopied": "Mot de passe Sudo copié dans le presse-papiers", - "noPasswordAvailable": "Aucun mot de passe disponible" + "noPasswordAvailable": "Aucun mot de passe disponible", + "failedToCopyPassword": "Impossible de copier le mot de passe" }, "admin": { "title": "Paramètres de l'administrateur", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Paramètres de surveillance globale enregistrés", "failedToSaveGlobalSettings": "Impossible d'enregistrer les paramètres de surveillance globale", "failedToLoadGlobalSettings": "Impossible de charger les paramètres de surveillance globale", + "sessionTimeout": "Délai de session dépassé", + "sessionTimeoutDesc": "Configurer la durée des sessions utilisateur avant de nécessiter une ré-authentification. Les sessions 'Se souvenir de moi' ne sont pas affectées (toujours 30 jours).", + "sessionTimeoutHours": "Durée d'expiration", + "hours": "heures", + "sessionTimeoutNote": "Plage valide : 1 à 720 heures, les modifications ne s'appliquent qu'aux nouvelles sessions.", + "sessionTimeoutSaved": "Délai de session enregistré", + "failedToSaveSessionTimeout": "Impossible d'enregistrer le délai d'attente de la session", "guacamoleIntegration": "Intégration du bureau distant (Guacamole)", "guacamoleIntegrationDesc": "Activer les connexions RDP, VNC et Telnet via guacd. Nécessite une instance guacd pour être en cours d'exécution.", "enableGuacamole": "Activer le support RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Paramètres Guacamole enregistrés", "failedToSaveGuacamoleSettings": "Échec de l'enregistrement des paramètres guacamole", "failedToLoadGuacamoleSettings": "Impossible de charger les paramètres de guacamole", + "logLevel": "Niveau du journal", + "logLevelDesc": "Contrôle la verbosité des logs du serveur. Des niveaux plus élevés réduisent la sortie du journal. Peut également être défini via la variable d'environnement LOG_LEVEL.", + "logVerbosity": "Verbosité", + "logLevelNote": "Les changements prennent effet immédiatement. Le niveau de débogage peut affecter les performances.", + "logLevelSaved": "Niveau de journal enregistré", + "failedToSaveLogLevel": "Impossible d'enregistrer le niveau du journal", "clampedToValidRange": "a été ajusté à une plage valide", "loadingSessions": "Chargement des sessions...", "noActiveSessions": "Aucune session active trouvée.", @@ -853,6 +884,11 @@ "hostsCount": "Hôtes {{count}}", "importJson": "Importer JSON", "importing": "Importation en cours...", + "exportAllJson": "Exporter tout", + "exporting": "Exportation en cours...", + "exportedAllHosts": "Hôtes {{count}} exportés", + "failedToExportAllHosts": "Impossible d'exporter les hôtes. Veuillez vous assurer que vous êtes connecté et que vous avez accès aux données de l'hôte.", + "exportAllSensitiveWarning": "Le fichier exporté contiendra des données d'authentification sensibles (mots de passe/clés SSH) en clair. Veuillez garder le fichier sécurisé et le supprimer après utilisation.", "importJsonTitle": "Importer les hôtes SSH depuis JSON", "importJsonDesc": "Télécharger un fichier JSON pour importer en masse plusieurs hôtes SSH (max 100).", "downloadSample": "Télécharger un exemple", @@ -885,6 +921,11 @@ "guacamoleSettings": "Paramètres du bureau distant", "organization": "Organisation", "ipAddress": "Adresse IP ou nom d'hôte", + "macAddress": "Adresse MAC", + "macAddressDesc": "Pour Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Paquet Wake-on-LAN envoyé", + "wolFailed": "Impossible d'envoyer le paquet Wake-on-LAN", "ipRequired": "L'adresse IP est requise", "portRequired": "Le port est requis", "port": "Port", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Faites glisser pour vous déplacer entre les dossiers", "exportedHostConfig": "Configuration de l'hôte exporté pour {{name}}", "openTerminal": "Ouvrir le terminal", + "openRdp": "Ouvrir RDP", + "openVnc": "Ouvrir VNC", + "openTelnet": "Ouvrir Telnet", "openFileManager": "Ouvrir le gestionnaire de fichiers", "openTunnels": "Tunnels ouverts", "openServerDetails": "Détails de l'Open Server", @@ -1159,6 +1203,10 @@ "noServerFound": "Aucun serveur trouvé", "jumpHostsOrder": "Les connexions seront effectuées dans l'ordre : Saut Hôte 1 → Hôte de saut 2 → ... → Serveur cible", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Saut du port", + "portKnockingDesc": "Envoyer une séquence de tentatives de connexion à des ports spécifiés avant de se connecter. Utilisé pour ouvrir dynamiquement les règles de pare-feu.", + "addKnock": "Ajouter un port", + "delayMs": "Délai", "socks5Description": "Configurer le proxy SOCKS5 pour la connexion SSH. Tout le trafic sera acheminé via le serveur proxy spécifié.", "enableSocks5": "Activer le proxy SOCKS5", "enableSocks5Description": "Utiliser le proxy SOCKS5 pour cette connexion SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Lancer automatiquement la commande MOSH à la connexion", "moshCommand": "Commande MOSH", "moshCommandDesc": "La commande MOSH à exécuter", + "autoTmux": "Tmux automatique", + "autoTmuxDesc": "Se connecter automatiquement à une session tmux existante (ou démarrer une nouvelle) pour les sessions persistantes et la continuité entre périphériques", "environmentVariables": "Variables d'environnement", "environmentVariablesDesc": "Définir des variables d'environnement personnalisées pour la session de terminal", "variableName": "Nom de la variable", @@ -1442,7 +1492,6 @@ "excludeOutput": "Exclure la sortie", "excludeMouse": "Exclure la souris", "includeKeys": "Inclure les clés", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Envoyer un paquet WoL", "wolMacAddr": "Adresse MAC", "wolBroadcastAddr": "Adresse de diffusion", @@ -1498,7 +1547,25 @@ "connecting": "Connexion en cours...", "reconnecting": "Reconnexion en cours... ({{attempt}}/{{max}})", "reconnected": "Reconnexion réussie", + "tmuxSessionCreated": "session tmux créée : {{name}}", + "tmuxSessionAttached": "Session tmux attachée : {{name}}", + "tmuxUnavailable": "tmux n'est pas installé sur l'hôte distant, passant à l'interpréteur de commandes standard", + "tmuxSessionPickerTitle": "Sessions tmux", + "tmuxSessionPickerDesc": "Sessions tmux existantes trouvées sur cet hôte. Sélectionnez-en une pour réattacher ou créer une nouvelle session.", + "tmuxWindows": "Fenêtres", + "tmuxWindowCount": "Fenêtre {{count}}", + "tmuxWindowCount_other": "Fenêtres {{count}}", + "tmuxAttached": "Clients attachés", + "tmuxAttachedCount": "{{count}} attaché", + "tmuxLastActivity": "Dernière activité", + "tmuxTimeJustNow": "à l'instant", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Démarrer une nouvelle session", + "tmuxCopyHint": "Ajuster la sélection et appuyer sur Entrée pour copier dans le presse-papiers", "maxReconnectAttemptsReached": "Nombre maximum de tentatives de reconnexion atteint", + "closeTab": "Fermer", "connectionTimeout": "Délai de connexion dépassé", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Délai d'authentification dépassé. Veuillez réessayer.", "opksshAuthFailed": "L'authentification a échoué. Veuillez vérifier vos identifiants et réessayer.", "opksshConfigMissing": "La configuration OPKSSH est introuvable. Veuillez créer ~/.opk/config.yml avec vos paramètres de fournisseur OIDC. Voir la documentation : https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Connectez-vous avec {{provider}}", "sudoPasswordPopupTitle": "Insérer un mot de passe ?", "sudoPasswordPopupHint": "Appuyez sur Entrée pour insérer, Échap pour rejeter", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Connexion refusée par le serveur. Veuillez vérifier votre authentification et la configuration du réseau.", "hostKeyRejected": "La vérification de la clé d'hôte SSH a été rejetée. La connexion a été annulée.", "sessionTakenOver": "La session a été ouverte dans un autre onglet. Reconnexion...", - "sessionAttachTimeout": "La session a expiré. Création d'une nouvelle connexion..." + "sessionAttachTimeout": "La session a expiré. Création d'une nouvelle connexion...", + "openFileManagerHere": "Ouvrir le gestionnaire de fichiers ici" }, "fileManager": { "title": "Gestionnaire de fichiers", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Fichiers de code couleur par type: dossiers (rouge), fichiers (bleu), liens symboliques (vert)", "commandAutocomplete": "Auto-complétion de commande", "commandAutocompleteDesc": "Activer les suggestions de saisie automatique des touches Tab pour les commandes de terminal basées sur l'historique de vos commandes", + "commandHistoryTracking": "Enregistrer l'historique des commandes", + "commandHistoryTrackingDesc": "Stocker les commandes de terminal dans l'historique pour l'auto-complétion et la barre latérale. Désactivé par défaut pour la confidentialité.", "defaultSnippetFoldersCollapsed": "Réduire les dossiers de snippet par défaut", "defaultSnippetFoldersCollapsedDesc": "Lorsque cette option est activée, tous les dossiers de snippet seront réduits lorsque vous ouvrez l'onglet snippets", "terminalSyntaxHighlighting": "Coloration syntaxique du terminal", @@ -2482,7 +2553,7 @@ "database": "Base de données", "healthy": "Sain", "error": "Erreur", - "totalServers": "Serveurs totaux", + "totalHosts": "Nombre total d'hôtes", "totalTunnels": "Tunnels totaux", "totalCredentials": "Identifiants totaux", "recentActivity": "Activité récente", diff --git a/src/locales/translated/he_IL.json b/src/locales/translated/he_IL.json index a1fdcad2..4111aa6f 100644 --- a/src/locales/translated/he_IL.json +++ b/src/locales/translated/he_IL.json @@ -277,6 +277,19 @@ "copyTooltip": "העתקת קטע ללוח", "editTooltip": "ערוך קטע זה", "deleteTooltip": "מחק את הקטע הזה", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "תיקייה חדשה", "reorderSameFolder": "ניתן לסדר מחדש קטעי טקסט רק באותה תיקייה", "reorderSuccess": "סידור מחדש של הקטעים בוצע בהצלחה", @@ -323,7 +336,9 @@ "authRequiredRefresh": "נדרש אימות. אנא רענן את הדף.", "dataAccessLockedReauth": "גישת הנתונים נעולה. אנא אימות מחדש.", "loading": "טוען היסטוריית פקודות...", - "error": "שגיאה בטעינת ההיסטוריה" + "error": "שגיאה בטעינת ההיסטוריה", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "מסך מפוצל", @@ -510,6 +525,8 @@ "checkingDatabase": "בודק חיבור למסד הנתונים...", "checkingAuthentication": "בודק אימות...", "backendReconnected": "חיבור השרת שוחזר", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "פעולות", "remove": "לְהַסִיר", "revoke": "לְבַטֵל", @@ -541,7 +558,8 @@ "copySudoPassword": "העתקת סיסמת סודו", "passwordCopied": "הסיסמה הועתקה ללוח", "sudoPasswordCopied": "סיסמת הסודו הועתקה ללוח", - "noPasswordAvailable": "אין סיסמה זמינה" + "noPasswordAvailable": "אין סיסמה זמינה", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "הגדרות מנהל מערכת", @@ -808,6 +826,13 @@ "globalSettingsSaved": "הגדרות ניטור גלובליות נשמרו", "failedToSaveGlobalSettings": "נכשלה שמירת הגדרות הניטור הגלובליות", "failedToLoadGlobalSettings": "נכשלה טעינת הגדרות הניטור הגלובליות", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "שילוב שולחן עבודה מרוחק (גוואקמולי)", "guacamoleIntegrationDesc": "הפעל חיבורי RDP, VNC ו-Telnet דרך guacd. נדרש מופע guacd כדי לפעול.", "enableGuacamole": "הפעל תמיכה ב-RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "הגדרות הגוואקמולי נשמרו", "failedToSaveGuacamoleSettings": "שמירת הגדרות הגוואקמולי נכשלה", "failedToLoadGuacamoleSettings": "טעינת הגדרות הגוואקמולי נכשלה", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "הותאם לטווח תקף", "loadingSessions": "טוען סשנים...", "noActiveSessions": "לא נמצאו סשנים פעילים.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} hosts", "importJson": "ייבוא JSON", "importing": "מייבא...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "ייבוא מארחי SSH מ-JSON", "importJsonDesc": "העלה קובץ JSON לייבוא בכמות גדולה של מארחי SSH מרובים (מקסימום 100).", "downloadSample": "הורד דוגמה", @@ -885,6 +921,11 @@ "guacamoleSettings": "הגדרות שולחן עבודה מרוחק", "organization": "אִרגוּן", "ipAddress": "כתובת IP או שם מארח", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "התעוררות ברשת LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "נדרשת כתובת IP", "portRequired": "נדרש פורט", "port": "נָמָל", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "גרור כדי לעבור בין תיקיות", "exportedHostConfig": "ייצוא תצורת מארח עבור {{name}}", "openTerminal": "פתח את הטרמינל", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "פתח את מנהל הקבצים", "openTunnels": "מנהרות פתוחות", "openServerDetails": "פתיחת פרטי שרת", @@ -1159,6 +1203,10 @@ "noServerFound": "לא נמצא שרת", "jumpHostsOrder": "החיבורים יתבצעו לפי הסדר: קפיצה למארח 1 → קפיצה למארח 2 → ... → שרת יעד", "socks5Proxy": "פרוקסי SOCKS5", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "הגדר את פרוקסי SOCKS5 עבור חיבור SSH. כל התעבורה תנותב דרך שרת הפרוקסי שצוין.", "enableSocks5": "הפעל את פרוקסי SOCKS5", "enableSocks5Description": "השתמש בפרוקסי SOCKS5 עבור חיבור SSH זה", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "הפעלת פקודת MOSH באופן אוטומטי בעת חיבור", "moshCommand": "פיקוד MOSH", "moshCommandDesc": "פקודת MOSH לביצוע", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "משתני סביבה", "environmentVariablesDesc": "הגדר משתני סביבה מותאמים אישית עבור סשן הטרמינל", "variableName": "שם משתנה", @@ -1442,7 +1492,6 @@ "excludeOutput": "אי הכללת פלט", "excludeMouse": "אי הכללת עכבר", "includeKeys": "כלול מפתחות", - "wakeOnLan": "התעוררות ברשת LAN", "sendWolPacket": "שלח חבילת WoL", "wolMacAddr": "כתובת MAC", "wolBroadcastAddr": "כתובת שידור", @@ -1481,7 +1530,7 @@ "closePanel": "סגור את הפאנל", "reconnect": "התחבר מחדש", "sessionEnded": "הסשן הסתיים", - "connectionLost": "החיבור אבד", + "connectionLost": "Connection lost", "error": "שגיאה: {{message}}", "disconnected": "מְנוּתָק", "connectionClosed": "החיבור נסגר", @@ -1498,7 +1547,25 @@ "connecting": "מְקַשֵׁר...", "reconnecting": "מתחבר מחדש... ({{attempt}}/{{max}})", "reconnected": "התחבר מחדש בהצלחה", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "הגעת למספר המקסימלי של ניסיונות חיבור מחדש", + "closeTab": "Close", "connectionTimeout": "זמן קצוב לחיבור", "terminalTitle": "טרמינל - {{host}}", "terminalWithPath": "טרמינל - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "הזמן שהוקצב לאימות הסתיים. אנא נסה שוב.", "opksshAuthFailed": "האימות נכשל. אנא בדוק את פרטי הגישה שלך ונסה שוב.", "opksshConfigMissing": "תצורת OPKSSH לא נמצאה. אנא צור ~/.opk/config.yml עם הגדרות ספק ה-OIDC שלך. עיין בתיעוד: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "להכניס סיסמה?", "sudoPasswordPopupHint": "לחץ על Enter כדי להוסיף, Esc כדי לסגור", "sudoPasswordPopupConfirm": "לְהַכנִיס", @@ -1546,7 +1614,8 @@ "connectionRejected": "החיבור נדחה על ידי השרת. אנא בדוק את האימות ותצורת הרשת שלך.", "hostKeyRejected": "אימות מפתח מארח SSH נדחה. החיבור בוטל.", "sessionTakenOver": "הסשן נפתח בכרטיסייה אחרת. מתחבר מחדש...", - "sessionAttachTimeout": "תם הזמן שהוקצב לקובץ המצורף לסשן. יצירת חיבור חדש..." + "sessionAttachTimeout": "תם הזמן שהוקצב לקובץ המצורף לסשן. יצירת חיבור חדש...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "מנהל הקבצים", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "קידוד צבע של קבצים לפי סוג: תיקיות (אדום), קבצים (כחול), קישורים סימבוליים (ירוק)", "commandAutocomplete": "השלמה אוטומטית של הפקודה", "commandAutocompleteDesc": "הפעל הצעות להשלמה אוטומטית של מקש Tab עבור פקודות מסוף בהתבסס על היסטוריית הפקודות שלך", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "כיווץ תיקיות קטעי טקסט כברירת מחדל", "defaultSnippetFoldersCollapsedDesc": "כאשר הפעולה מופעלת, כל תיקיות הקטעים יכוסו כשתפתחו את לשונית הקטעים", "terminalSyntaxHighlighting": "הדגשת תחביר הטרמינל", @@ -2482,7 +2553,7 @@ "database": "מסד נתונים", "healthy": "בָּרִיא", "error": "שְׁגִיאָה", - "totalServers": "סך השרתים", + "totalHosts": "Total Hosts", "totalTunnels": "סך המנהרות", "totalCredentials": "סך כל האישורים", "recentActivity": "פעילות אחרונה", diff --git a/src/locales/translated/hi_IN.json b/src/locales/translated/hi_IN.json index aa6b8f98..3e356473 100644 --- a/src/locales/translated/hi_IN.json +++ b/src/locales/translated/hi_IN.json @@ -277,6 +277,19 @@ "copyTooltip": "इस अंश को क्लिपबोर्ड पर कॉपी करें", "editTooltip": "इस अंश को संपादित करें", "deleteTooltip": "इस अंश को हटा दें", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "नया फ़ोल्डर", "reorderSameFolder": "केवल एक ही फ़ोल्डर के भीतर स्निपेट्स को ही पुनर्व्यवस्थित किया जा सकता है", "reorderSuccess": "स्निपेट्स को सफलतापूर्वक पुनर्व्यवस्थित कर दिया गया है।", @@ -323,7 +336,9 @@ "authRequiredRefresh": "प्रमाणीकरण आवश्यक है। कृपया पृष्ठ को रीफ़्रेश करें।", "dataAccessLockedReauth": "डेटा एक्सेस लॉक हो गया है। कृपया पुनः प्रमाणीकरण करें।", "loading": "कमांड इतिहास लोड हो रहा है...", - "error": "इतिहास लोड करने में त्रुटि" + "error": "इतिहास लोड करने में त्रुटि", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "स्प्लिट स्क्रीन", @@ -510,6 +525,8 @@ "checkingDatabase": "डेटाबेस कनेक्शन की जाँच की जा रही है...", "checkingAuthentication": "प्रमाणीकरण की जाँच की जा रही है...", "backendReconnected": "सर्वर कनेक्शन बहाल हो गया", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "कार्रवाई", "remove": "निकालना", "revoke": "रद्द करना", @@ -541,7 +558,8 @@ "copySudoPassword": "सूडो पासवर्ड कॉपी करें", "passwordCopied": "पासवर्ड क्लिपबोर्ड पर कॉपी हो गया है", "sudoPasswordCopied": "सूडो पासवर्ड क्लिपबोर्ड पर कॉपी हो गया है", - "noPasswordAvailable": "कोई पासवर्ड उपलब्ध नहीं है" + "noPasswordAvailable": "कोई पासवर्ड उपलब्ध नहीं है", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "व्यवस्थापक सेटिंग्स", @@ -808,6 +826,13 @@ "globalSettingsSaved": "वैश्विक निगरानी सेटिंग्स सहेजी गईं", "failedToSaveGlobalSettings": "वैश्विक निगरानी सेटिंग्स को सहेजने में विफल।", "failedToLoadGlobalSettings": "वैश्विक निगरानी सेटिंग्स लोड करने में विफल", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "रिमोट डेस्कटॉप इंटीग्रेशन (गुआकामोल)", "guacamoleIntegrationDesc": "guacd के माध्यम से RDP, VNC और Telnet कनेक्शन सक्षम करें। इसके लिए guacd का एक इंस्टेंस चालू होना आवश्यक है।", "enableGuacamole": "RDP/VNC/Telnet समर्थन सक्षम करें", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "गुआकामोल की सेटिंग सहेज ली गई", "failedToSaveGuacamoleSettings": "गुआकामोल सेटिंग्स को सहेजने में विफल।", "failedToLoadGuacamoleSettings": "गुआकामोल सेटिंग्स लोड करने में विफल", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "वैध सीमा के अनुसार समायोजित किया गया", "loadingSessions": "सेशन लोड हो रहे हैं...", "noActiveSessions": "कोई सक्रिय सत्र नहीं मिला।", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} मेजबान", "importJson": "JSON आयात करें", "importing": "आयात हो रहा है...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "JSON से SSH होस्ट आयात करें", "importJsonDesc": "एक JSON फ़ाइल अपलोड करके कई SSH होस्ट (अधिकतम 100) को बल्क में इम्पोर्ट करें।", "downloadSample": "नमूना डाउनलोड करें", @@ -885,6 +921,11 @@ "guacamoleSettings": "रिमोट डेस्कटॉप सेटिंग्स", "organization": "संगठन", "ipAddress": "आईपी पता या होस्टनाम", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "लैन पर जागो", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "आईपी पते की आवश्यकता है", "portRequired": "पोर्ट आवश्यक है", "port": "पत्तन", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "फ़ोल्डरों के बीच जाने के लिए ड्रैग करें", "exportedHostConfig": "{{name}}के लिए निर्यातित होस्ट कॉन्फ़िगरेशन", "openTerminal": "टर्मिनल खोलें", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "फ़ाइल प्रबंधक खोलें", "openTunnels": "खुली सुरंगें", "openServerDetails": "सर्वर विवरण खोलें", @@ -1159,6 +1203,10 @@ "noServerFound": "कोई सर्वर नहीं मिला", "jumpHostsOrder": "कनेक्शन इस क्रम में स्थापित किए जाएंगे: जंप होस्ट 1 → जंप होस्ट 2 → ... → लक्ष्य सर्वर", "socks5Proxy": "SOCKS5 प्रॉक्सी", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "SSH कनेक्शन के लिए SOCKS5 प्रॉक्सी कॉन्फ़िगर करें। सभी ट्रैफ़िक निर्दिष्ट प्रॉक्सी सर्वर के माध्यम से रूट किया जाएगा।", "enableSocks5": "SOCKS5 प्रॉक्सी को सक्षम करें", "enableSocks5Description": "इस SSH कनेक्शन के लिए SOCKS5 प्रॉक्सी का उपयोग करें", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "कनेक्ट होने पर MOSH कमांड स्वचालित रूप से चलाएँ", "moshCommand": "MOSH कमांड", "moshCommandDesc": "MOSH कमांड को निष्पादित करने के लिए", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "पर्यावरण चर", "environmentVariablesDesc": "टर्मिनल सत्र के लिए कस्टम पर्यावरण चर सेट करें", "variableName": "चर का नाम", @@ -1442,7 +1492,6 @@ "excludeOutput": "आउटपुट को बाहर रखें", "excludeMouse": "माउस को बाहर रखें", "includeKeys": "चाबियाँ शामिल करें", - "wakeOnLan": "लैन पर जागो", "sendWolPacket": "WoL पैकेट भेजें", "wolMacAddr": "मैक पता", "wolBroadcastAddr": "ब्रॉडकास्ट पता", @@ -1481,7 +1530,7 @@ "closePanel": "पैनल बंद करें", "reconnect": "रिकनेक्ट", "sessionEnded": "सत्र समाप्त हुआ", - "connectionLost": "कनेक्शन टूट गया", + "connectionLost": "Connection lost", "error": "त्रुटि: {{message}}", "disconnected": "डिस्कनेक्ट किया गया", "connectionClosed": "कनेक्शन बंद हो गया", @@ -1498,7 +1547,25 @@ "connecting": "कनेक्ट हो रहा है...", "reconnecting": "पुनः कनेक्ट हो रहा है... ({{attempt}}/{{max}})", "reconnected": "सफलतापूर्वक पुनः कनेक्ट हो गया", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "अधिकतम पुनः कनेक्शन प्रयासों की सीमा पूरी हो गई है।", + "closeTab": "Close", "connectionTimeout": "रिश्तों का समय बाहर", "terminalTitle": "टर्मिनल - {{host}}", "terminalWithPath": "टर्मिनल - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "प्रमाणीकरण का समय समाप्त हो गया। कृपया पुनः प्रयास करें।", "opksshAuthFailed": "प्रमाणीकरण विफल रहा। कृपया अपनी पहचान सत्यापित करें और पुनः प्रयास करें।", "opksshConfigMissing": "OPKSSH कॉन्फ़िगरेशन नहीं मिला। कृपया अपने OIDC प्रदाता सेटिंग्स के साथ ~/.opk/config.yml फ़ाइल बनाएँ। दस्तावेज़ देखें: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "पासवर्ड डालें?", "sudoPasswordPopupHint": "सम्मिलित करने के लिए Enter दबाएँ, हटाने के लिए Esc दबाएँ", "sudoPasswordPopupConfirm": "डालना", @@ -1546,7 +1614,8 @@ "connectionRejected": "सर्वर द्वारा कनेक्शन अस्वीकृत कर दिया गया है। कृपया अपनी प्रमाणीकरण और नेटवर्क कॉन्फ़िगरेशन की जाँच करें।", "hostKeyRejected": "SSH होस्ट कुंजी सत्यापन अस्वीकृत। कनेक्शन रद्द।", "sessionTakenOver": "सेशन दूसरे टैब में खुल गया था। पुनः कनेक्ट हो रहा है...", - "sessionAttachTimeout": "सेशन अटैचमेंट का समय समाप्त हो गया। नया कनेक्शन बनाया जा रहा है..." + "sessionAttachTimeout": "सेशन अटैचमेंट का समय समाप्त हो गया। नया कनेक्शन बनाया जा रहा है...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "फ़ाइल मैनेजर", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "फ़ाइलों को उनके प्रकार के अनुसार रंग-कोडित करें: फ़ोल्डर (लाल), फ़ाइलें (नीला), सिम्लिंक (हरा)", "commandAutocomplete": "कमांड ऑटो-कंप्लीट", "commandAutocompleteDesc": "अपने कमांड इतिहास के आधार पर टर्मिनल कमांड के लिए टैब कुंजी स्वतः पूर्ण होने के सुझाव सक्षम करें", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "डिफ़ॉल्ट रूप से स्निपेट फ़ोल्डर को संक्षिप्त करें", "defaultSnippetFoldersCollapsedDesc": "इस विकल्प को चालू करने पर, स्निपेट टैब खोलने पर सभी स्निपेट फ़ोल्डर सिकुड़ जाएंगे।", "terminalSyntaxHighlighting": "टर्मिनल सिंटैक्स हाइलाइटिंग", @@ -2482,7 +2553,7 @@ "database": "डेटाबेस", "healthy": "स्वस्थ", "error": "गलती", - "totalServers": "कुल सर्वर", + "totalHosts": "Total Hosts", "totalTunnels": "कुल सुरंगें", "totalCredentials": "कुल प्रमाण पत्र", "recentActivity": "हाल की गतिविधि", diff --git a/src/locales/translated/hu_HU.json b/src/locales/translated/hu_HU.json index 4c2ded02..a56262a3 100644 --- a/src/locales/translated/hu_HU.json +++ b/src/locales/translated/hu_HU.json @@ -277,6 +277,19 @@ "copyTooltip": "Kódrészlet másolása a vágólapra", "editTooltip": "Kódrészlet szerkesztése", "deleteTooltip": "Törölje ezt a részletet", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "Új mappa", "reorderSameFolder": "Csak ugyanazon a mappán belül lehet átrendezni a kódrészleteket", "reorderSuccess": "A kódrészletek átrendezése sikeresen megtörtént.", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Hitelesítés szükséges. Kérjük, frissítse az oldalt.", "dataAccessLockedReauth": "Adathozzáférés zárolva. Kérjük, hitelesítse magát újra.", "loading": "Parancselőzmények betöltése...", - "error": "Hiba az előzmények betöltése során" + "error": "Hiba az előzmények betöltése során", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "Osztott képernyő", @@ -510,6 +525,8 @@ "checkingDatabase": "Adatbázis-kapcsolat ellenőrzése...", "checkingAuthentication": "Hitelesítés ellenőrzése...", "backendReconnected": "Szerverkapcsolat helyreállt", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "Műveletek", "remove": "Eltávolítás", "revoke": "Visszavonás", @@ -541,7 +558,8 @@ "copySudoPassword": "Sudo jelszó másolása", "passwordCopied": "Jelszó a vágólapra másolva", "sudoPasswordCopied": "A Sudo jelszó a vágólapra másolva", - "noPasswordAvailable": "Nincs elérhető jelszó" + "noPasswordAvailable": "Nincs elérhető jelszó", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "Adminisztrátori beállítások", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Globális monitorozási beállítások mentve", "failedToSaveGlobalSettings": "Nem sikerült menteni a globális megfigyelési beállításokat", "failedToLoadGlobalSettings": "Nem sikerült betölteni a globális megfigyelési beállításokat", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "Távoli asztali integráció (Guacamole)", "guacamoleIntegrationDesc": "RDP, VNC és Telnet kapcsolatok engedélyezése guacd-n keresztül. Futó guacd példány szükséges hozzá.", "enableGuacamole": "RDP/VNC/Telnet támogatás engedélyezése", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamole beállítások mentve", "failedToSaveGuacamoleSettings": "Nem sikerült menteni a guacamole beállításait", "failedToLoadGuacamoleSettings": "Nem sikerült betölteni a guacamole beállításait", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "érvényes tartományra lett beállítva", "loadingSessions": "Munkamenetek betöltése...", "noActiveSessions": "Nincsenek aktív munkamenetek.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} gazdagépek", "importJson": "JSON importálása", "importing": "Importálás...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "SSH-hosztok importálása JSON-ból", "importJsonDesc": "Töltsön fel egy JSON fájlt több SSH-hoszt tömeges importálásához (maximum 100).", "downloadSample": "Minta letöltése", @@ -885,6 +921,11 @@ "guacamoleSettings": "Távoli asztal beállításai", "organization": "Szervezet", "ipAddress": "IP-cím vagy hostnév", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "IP-cím megadása kötelező", "portRequired": "Port megadása kötelező", "port": "Kikötő", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Húzással mozoghat a mappák között", "exportedHostConfig": "Exportált host konfiguráció a következőhöz: {{name}}", "openTerminal": "Nyissa meg a terminált", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "Fájlkezelő megnyitása", "openTunnels": "Nyílt alagutak", "openServerDetails": "Nyissa meg a szerver részleteit", @@ -1159,6 +1203,10 @@ "noServerFound": "Nem található szerver", "jumpHostsOrder": "A kapcsolatok a következő sorrendben jönnek létre: Jump Host 1 → Jump Host 2 → ... → Célkiszolgáló", "socks5Proxy": "SOCKS5 proxy", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "SOCKS5 proxy konfigurálása SSH kapcsolathoz. Minden forgalom a megadott proxy szerveren keresztül fog haladni.", "enableSocks5": "SOCKS5 proxy engedélyezése", "enableSocks5Description": "SOCKS5 proxy használata ehhez az SSH kapcsolathoz", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "MOSH parancs automatikus futtatása csatlakozáskor", "moshCommand": "MOSH parancs", "moshCommandDesc": "A végrehajtandó MOSH parancs", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "Környezeti változók", "environmentVariablesDesc": "Egyéni környezeti változók beállítása a terminál munkamenethez", "variableName": "Változó neve", @@ -1442,7 +1492,6 @@ "excludeOutput": "Kimenet kizárása", "excludeMouse": "Egér kizárása", "includeKeys": "Kulcsok beillesztése", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "WoL csomag küldése", "wolMacAddr": "MAC-cím", "wolBroadcastAddr": "Sugárzási cím", @@ -1481,7 +1530,7 @@ "closePanel": "Panel bezárása", "reconnect": "Újracsatlakozás", "sessionEnded": "Munkamenet vége", - "connectionLost": "Kapcsolat megszakadt", + "connectionLost": "Connection lost", "error": "HIBA: {{message}}", "disconnected": "Szétkapcsolt", "connectionClosed": "Kapcsolat lezárva", @@ -1498,7 +1547,25 @@ "connecting": "Kapcsolódás...", "reconnecting": "Újracsatlakozás... ({{attempt}}/{{max}})", "reconnected": "Sikeresen újrakapcsolódott", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "Elérte az újracsatlakozási kísérletek maximális számát", + "closeTab": "Close", "connectionTimeout": "Kapcsolat időtúllépése", "terminalTitle": "Terminál - {{host}}", "terminalWithPath": "Terminál - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "A hitelesítés időtúllépést okozott. Kérjük, próbálja újra.", "opksshAuthFailed": "Sikertelen hitelesítés. Kérjük, ellenőrizze a hitelesítő adatait, és próbálja újra.", "opksshConfigMissing": "Az OPKSSH konfiguráció nem található. Kérjük, hozza létre a ~/.opk/config.yml fájlt az OIDC-szolgáltató beállításaival. Lásd a dokumentációt: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Jelszó beszúrása?", "sudoPasswordPopupHint": "Nyomja meg az Enter billentyűt a beszúráshoz, az Esc billentyűt az elvetéshez", "sudoPasswordPopupConfirm": "Beszúrás", @@ -1546,7 +1614,8 @@ "connectionRejected": "A szerver elutasította a kapcsolatot. Kérjük, ellenőrizze a hitelesítést és a hálózati konfigurációt.", "hostKeyRejected": "SSH host kulcs ellenőrzése elutasítva. Kapcsolat megszakítva.", "sessionTakenOver": "A munkamenet egy másik lapon nyílt meg. Újrakapcsolódás...", - "sessionAttachTimeout": "A munkamenet csatolása időtúllépést szenvedett. Új kapcsolat létrehozása..." + "sessionAttachTimeout": "A munkamenet csatolása időtúllépést szenvedett. Új kapcsolat létrehozása...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "Fájlkezelő", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Fájlok színkódolása típus szerint: mappák (piros), fájlok (kék), szimbolikus linkek (zöld)", "commandAutocomplete": "Parancs automatikus kiegészítése", "commandAutocompleteDesc": "Engedélyezze a Tab billentyű automatikus kiegészítési javaslatait a terminálparancsokhoz a parancselőzmények alapján", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "Kódrészletmappák összecsukása alapértelmezés szerint", "defaultSnippetFoldersCollapsedDesc": "Ha engedélyezve van, az összes kódrészlet mappa összecsukódik, amikor megnyitja a kódrészletek lapot.", "terminalSyntaxHighlighting": "Terminál szintaxis kiemelése", @@ -2482,7 +2553,7 @@ "database": "Adatbázis", "healthy": "Egészséges", "error": "Hiba", - "totalServers": "Összes szerver", + "totalHosts": "Total Hosts", "totalTunnels": "Összes alagutak", "totalCredentials": "Összes hitelesítő adat", "recentActivity": "Legutóbbi tevékenységek", diff --git a/src/locales/translated/id_ID.json b/src/locales/translated/id_ID.json index 3bd74982..4016d560 100644 --- a/src/locales/translated/id_ID.json +++ b/src/locales/translated/id_ID.json @@ -277,6 +277,19 @@ "copyTooltip": "Salin cuplikan ke papan klip", "editTooltip": "Edit cuplikan ini", "deleteTooltip": "Hapus cuplikan ini", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "Folder Baru", "reorderSameFolder": "Hanya dapat mengubah urutan cuplikan dalam folder yang sama.", "reorderSuccess": "Cuplikan berhasil diurutkan ulang", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Diperlukan autentikasi. Silakan segarkan halaman.", "dataAccessLockedReauth": "Akses data terkunci. Silakan autentikasi ulang.", "loading": "Memuat riwayat perintah...", - "error": "Kesalahan Saat Memuat Riwayat" + "error": "Kesalahan Saat Memuat Riwayat", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "Layar Terpisah", @@ -510,6 +525,8 @@ "checkingDatabase": "Memeriksa koneksi basis data...", "checkingAuthentication": "Memeriksa autentikasi...", "backendReconnected": "Koneksi server dipulihkan.", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "Tindakan", "remove": "Menghapus", "revoke": "Menarik kembali", @@ -541,7 +558,8 @@ "copySudoPassword": "Salin Kata Sandi Sudo", "passwordCopied": "Kata sandi disalin ke papan klip", "sudoPasswordCopied": "Kata sandi Sudo disalin ke papan klip", - "noPasswordAvailable": "Tidak ada kata sandi yang tersedia" + "noPasswordAvailable": "Tidak ada kata sandi yang tersedia", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "Pengaturan Admin", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Pengaturan pemantauan global tersimpan", "failedToSaveGlobalSettings": "Gagal menyimpan pengaturan pemantauan global.", "failedToLoadGlobalSettings": "Gagal memuat pengaturan pemantauan global.", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "Integrasi Desktop Jarak Jauh (Guacamole)", "guacamoleIntegrationDesc": "Aktifkan koneksi RDP, VNC, dan Telnet melalui guacd. Membutuhkan instance guacd yang sedang berjalan.", "enableGuacamole": "Aktifkan dukungan RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Pengaturan guacamole tersimpan.", "failedToSaveGuacamoleSettings": "Gagal menyimpan pengaturan guacamole", "failedToLoadGuacamoleSettings": "Gagal memuat pengaturan guacamole", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "disesuaikan ke rentang yang valid", "loadingSessions": "Memuat sesi...", "noActiveSessions": "Tidak ditemukan sesi aktif.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} tuan rumah", "importJson": "Impor JSON", "importing": "Pengimporan...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "Impor Host SSH dari JSON", "importJsonDesc": "Unggah file JSON untuk mengimpor beberapa host SSH secara massal (maksimal 100).", "downloadSample": "Unduh Sampel", @@ -885,6 +921,11 @@ "guacamoleSettings": "Pengaturan Desktop Jarak Jauh", "organization": "Organisasi", "ipAddress": "Alamat IP atau Nama Host", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "Alamat IP diperlukan.", "portRequired": "Port diperlukan", "port": "Pelabuhan", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Seret untuk berpindah antar folder", "exportedHostConfig": "Konfigurasi host yang diekspor untuk {{name}}", "openTerminal": "Terminal Terbuka", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "Buka Pengelola File", "openTunnels": "Terowongan Terbuka", "openServerDetails": "Buka Detail Server", @@ -1159,6 +1203,10 @@ "noServerFound": "Tidak ada server yang ditemukan.", "jumpHostsOrder": "Koneksi akan dibuat secara berurutan: Jump Host 1 → Jump Host 2 → ... → Server Target", "socks5Proxy": "Proksi SOCKS5", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "Konfigurasikan proxy SOCKS5 untuk koneksi SSH. Semua lalu lintas akan dialihkan melalui server proxy yang ditentukan.", "enableSocks5": "Aktifkan Proksi SOCKS5", "enableSocks5Description": "Gunakan proxy SOCKS5 untuk koneksi SSH ini.", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Jalankan perintah MOSH secara otomatis saat terhubung.", "moshCommand": "Komando MOSH", "moshCommandDesc": "Perintah MOSH untuk dieksekusi", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "Variabel Lingkungan", "environmentVariablesDesc": "Tetapkan variabel lingkungan khusus untuk sesi terminal.", "variableName": "Nama variabel", @@ -1442,7 +1492,6 @@ "excludeOutput": "Kecualikan Output", "excludeMouse": "Kecualikan Tikus", "includeKeys": "Sertakan Kunci", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Kirim Paket WoL", "wolMacAddr": "Alamat MAC", "wolBroadcastAddr": "Pidato Siaran", @@ -1481,7 +1530,7 @@ "closePanel": "Tutup Panel", "reconnect": "Terhubung kembali", "sessionEnded": "Sesi Berakhir", - "connectionLost": "Koneksi Terputus", + "connectionLost": "Connection lost", "error": "KESALAHAN: {{message}}", "disconnected": "Terputus", "connectionClosed": "Koneksi terputus", @@ -1498,7 +1547,25 @@ "connecting": "Menghubungkan...", "reconnecting": "Menghubungkan kembali... ({{attempt}}/{{max}})", "reconnected": "Berhasil terhubung kembali", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "Upaya penyambungan kembali maksimum telah tercapai.", + "closeTab": "Close", "connectionTimeout": "Waktu habis koneksi", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Autentikasi habis waktu. Silakan coba lagi.", "opksshAuthFailed": "Autentikasi gagal. Silakan periksa kredensial Anda dan coba lagi.", "opksshConfigMissing": "Konfigurasi OPKSSH tidak ditemukan. Silakan buat ~/.opk/config.yml dengan pengaturan penyedia OIDC Anda. Lihat dokumentasi: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Masukkan kata sandi?", "sudoPasswordPopupHint": "Tekan Enter untuk memasukkan, Esc untuk menutup.", "sudoPasswordPopupConfirm": "Menyisipkan", @@ -1546,7 +1614,8 @@ "connectionRejected": "Koneksi ditolak oleh server. Harap periksa otentikasi dan konfigurasi jaringan Anda.", "hostKeyRejected": "Verifikasi kunci host SSH ditolak. Koneksi dibatalkan.", "sessionTakenOver": "Sesi dibuka di tab lain. Sedang menyambungkan kembali...", - "sessionAttachTimeout": "Waktu lampiran sesi habis. Membuat koneksi baru..." + "sessionAttachTimeout": "Waktu lampiran sesi habis. Membuat koneksi baru...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "Pengelola File", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Beri kode warna pada file berdasarkan jenisnya: folder (merah), file (biru), symlink (hijau)", "commandAutocomplete": "Pelengkapan Otomatis Perintah", "commandAutocompleteDesc": "Aktifkan saran pelengkapan otomatis tombol Tab untuk perintah terminal berdasarkan riwayat perintah Anda.", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "Secara default, folder cuplikan akan diciutkan.", "defaultSnippetFoldersCollapsedDesc": "Saat diaktifkan, semua folder cuplikan akan dilipat saat Anda membuka tab cuplikan.", "terminalSyntaxHighlighting": "Penyorotan Sintaks Terminal", @@ -2482,7 +2553,7 @@ "database": "Basis data", "healthy": "Sehat", "error": "Kesalahan", - "totalServers": "Total Server", + "totalHosts": "Total Hosts", "totalTunnels": "Total Terowongan", "totalCredentials": "Kredensial Total", "recentActivity": "Aktivitas Terkini", diff --git a/src/locales/translated/it_IT.json b/src/locales/translated/it_IT.json index 8aa3f32f..88e77a93 100644 --- a/src/locales/translated/it_IT.json +++ b/src/locales/translated/it_IT.json @@ -277,6 +277,19 @@ "copyTooltip": "Copia snippet negli appunti", "editTooltip": "Modifica questa snippet", "deleteTooltip": "Elimina questa snippet", + "shareTooltip": "Condividi questa snippet", + "sharedWithYou": "Condiviso", + "sharedBy": "Condiviso da {{username}}", + "shareSnippet": "Condividi Snippet", + "user": "Utente", + "role": "Ruolo", + "selectTarget": "Seleziona...", + "currentAccess": "Accesso Corrente", + "shareSuccess": "Snippet condiviso con successo", + "shareFailed": "Condivisione snippet non riuscita", + "revokeSuccess": "Accesso revocato", + "revokeFailed": "Impossibile revocare l'accesso", + "failedToLoadShareData": "Impossibile caricare la condivisione dei dati", "newFolder": "Nuova Cartella", "reorderSameFolder": "Può riordinare solo pezzetti di codice all'interno della stessa cartella", "reorderSuccess": "Snippet riordinato con successo", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Autenticazione richiesta. Si prega di aggiornare la pagina.", "dataAccessLockedReauth": "Accesso dati bloccato. Si prega di autenticarsi.", "loading": "Caricamento cronologia comandi...", - "error": "Errore Nel Caricamento Della Cronologia" + "error": "Errore Nel Caricamento Della Cronologia", + "disabledTitle": "La cronologia dei comandi è disabilitata", + "disabledDescription": "Abilita il monitoraggio della cronologia dei comandi nel tuo profilo sotto le impostazioni di Aspetto." }, "splitScreen": { "title": "Schermo Diviso", @@ -510,6 +525,8 @@ "checkingDatabase": "Controllo connessione database...", "checkingAuthentication": "Controllo autenticazione...", "backendReconnected": "Connessione al server ripristinata", + "connectionDegraded": "Connessione al server persa, recupero…", + "reload": "Reload", "actions": "Azioni", "remove": "Rimuovi", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Copia Password Sudo", "passwordCopied": "Password copiata negli appunti", "sudoPasswordCopied": "Password Sudo copiata negli appunti", - "noPasswordAvailable": "Nessuna password disponibile" + "noPasswordAvailable": "Nessuna password disponibile", + "failedToCopyPassword": "Impossibile copiare la password" }, "admin": { "title": "Impostazioni Amministratore", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Impostazioni di monitoraggio globali salvate", "failedToSaveGlobalSettings": "Impossibile salvare le impostazioni di monitoraggio globale", "failedToLoadGlobalSettings": "Impossibile caricare le impostazioni di monitoraggio globale", + "sessionTimeout": "Timeout Sessione", + "sessionTimeoutDesc": "Configura quanto durano le sessioni dell'utente prima di richiedere la ri-autenticazione. Le sessioni 'Remember Me' non sono influenzate (sempre 30 giorni).", + "sessionTimeoutHours": "Durata Timeout", + "hours": "ore", + "sessionTimeoutNote": "Intervallo valido: 1-720 ore. Le modifiche si applicano solo alle nuove sessioni.", + "sessionTimeoutSaved": "Timeout sessione salvato", + "failedToSaveSessionTimeout": "Impossibile salvare il timeout della sessione", "guacamoleIntegration": "Integrazione Desktop Remoto (Guacamole)", "guacamoleIntegrationDesc": "Abilita connessioni RDP, VNC e Telnet tramite guacd. Richiede un'istanza guacd per essere in esecuzione.", "enableGuacamole": "Abilita supporto RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Impostazioni di Guacamole salvate", "failedToSaveGuacamoleSettings": "Impossibile salvare le impostazioni del guacamole", "failedToLoadGuacamoleSettings": "Impossibile caricare le impostazioni di guacamole", + "logLevel": "Livello Registro", + "logLevelDesc": "Controlla la verbosità dei log del server. Livelli più alti riducono l'output del registro. Può anche essere impostato tramite la variabile d'ambiente LOG_LEVEL.", + "logVerbosity": "Verbalità", + "logLevelNote": "Le modifiche hanno effetto immediatamente. Il livello di debug potrebbe influire sulle prestazioni.", + "logLevelSaved": "Livello di registro salvato", + "failedToSaveLogLevel": "Impossibile salvare il livello di log", "clampedToValidRange": "è stato adattato all'intervallo valido", "loadingSessions": "Caricamento sessioni...", "noActiveSessions": "Nessuna sessione attiva trovata.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} host", "importJson": "Importa JSON", "importing": "Importazione...", + "exportAllJson": "Esporta Tutto", + "exporting": "Esportazione...", + "exportedAllHosts": "Host {{count}} esportati", + "failedToExportAllHosts": "Impossibile esportare gli host. Assicurati di aver effettuato l'accesso e di avere accesso ai dati dell'host.", + "exportAllSensitiveWarning": "Il file esportato conterrà dati di autenticazione sensibili (password / chiavi SSH) in testo semplice. Si prega di mantenere il file sicuro e cancellarlo dopo l'uso.", "importJsonTitle": "Importa host SSH da JSON", "importJsonDesc": "Carica un file JSON per importare in massa più host SSH (max 100).", "downloadSample": "Scarica Esempio", @@ -885,6 +921,11 @@ "guacamoleSettings": "Impostazioni Desktop Remoto", "organization": "Organizzazione", "ipAddress": "Indirizzo IP o nome host", + "macAddress": "Indirizzo MAC", + "macAddressDesc": "Per Wake-on-LAN. Formato: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Pacchetto Wake-on-LAN inviato", + "wolFailed": "Impossibile inviare il pacchetto Wake-on-LAN", "ipRequired": "Indirizzo IP è obbligatorio", "portRequired": "La porta è obbligatoria", "port": "Porta", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Trascina per spostarti tra le cartelle", "exportedHostConfig": "Configurazione host esportata per {{name}}", "openTerminal": "Apri Terminale", + "openRdp": "Apri RDP", + "openVnc": "Apri VNC", + "openTelnet": "Apri Telnet", "openFileManager": "Apri File Manager", "openTunnels": "Gallerie Aperte", "openServerDetails": "Apri Dettagli Server", @@ -1159,6 +1203,10 @@ "noServerFound": "Nessun server trovato", "jumpHostsOrder": "Le connessioni saranno fatte in ordine: Salto Host 1 → Salto Host 2 → Target Server", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Colpo Porta", + "portKnockingDesc": "Invia una sequenza di tentativi di connessione alle porte specificate prima di connettersi. Usato per aprire dinamicamente le regole del firewall.", + "addKnock": "Aggiungi Porta", + "delayMs": "Ritardo", "socks5Description": "Configura il proxy SOCKS5 per la connessione SSH. Tutto il traffico verrà instradato attraverso il server proxy specificato.", "enableSocks5": "Abilita Proxy SOCKS5", "enableSocks5Description": "Usa il proxy SOCKS5 per questa connessione SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Esegui automaticamente il comando MOSH alla connessione", "moshCommand": "Comando MOSH", "moshCommandDesc": "Il comando MOSH da eseguire", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Collega automaticamente a una sessione tmux esistente (o avvia una nuova) per sessioni persistenti e continuità tra dispositivi", "environmentVariables": "Variabili Di Ambiente", "environmentVariablesDesc": "Imposta variabili di ambiente personalizzate per la sessione del terminale", "variableName": "Nome della variabile", @@ -1442,7 +1492,6 @@ "excludeOutput": "Escludi Output", "excludeMouse": "Escludi Il Mouse", "includeKeys": "Includi Tasti", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Invia Pacchetto WoL", "wolMacAddr": "Indirizzo MAC", "wolBroadcastAddr": "Indirizzo Di Trasmissione", @@ -1481,7 +1530,7 @@ "closePanel": "Chiudi Pannello", "reconnect": "Riconnetti", "sessionEnded": "Sessione Terminata", - "connectionLost": "Connessione Persa", + "connectionLost": "Connessione persa", "error": "ERRORE: {{message}}", "disconnected": "Disconnesso", "connectionClosed": "Connessione chiusa", @@ -1498,7 +1547,25 @@ "connecting": "Connessione...", "reconnecting": "Riconnessione... ({{attempt}}/{{max}})", "reconnected": "Riconnesso con successo", + "tmuxSessionCreated": "sessione tmux creata: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux non è installato sull'host remoto, tornando alla shell standard", + "tmuxSessionPickerTitle": "tmux Sessioni", + "tmuxSessionPickerDesc": "Sessioni tmux esistenti trovate su questo host. Selezionane una per ricollegare o creare una nuova sessione.", + "tmuxWindows": "Finestre", + "tmuxWindowCount": "Finestra {{count}}", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Client allegati", + "tmuxAttachedCount": "{{count}} allegato", + "tmuxLastActivity": "Ultima attività", + "tmuxTimeJustNow": "proprio ora", + "tmuxTimeMinutes": "{{count}}m fa", + "tmuxTimeHours": "{{count}}h fa", + "tmuxTimeDays": "{{count}}fa", + "tmuxCreateNew": "Avvia nuova sessione", + "tmuxCopyHint": "Regola la selezione e premi Invio per copiare negli appunti", "maxReconnectAttemptsReached": "Massimi tentativi di riconnessione raggiunti", + "closeTab": "Chiudi", "connectionTimeout": "Timeout connessione", "terminalTitle": "Terminale - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Autenticazione scaduta. Riprova.", "opksshAuthFailed": "Autenticazione non riuscita. Controlla le tue credenziali e riprova.", "opksshConfigMissing": "Configurazione OPKSSH non trovata. Si prega di creare ~/.opk/config.yml con le impostazioni del provider OIDC. Vedi documentazione: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Accedi con {{provider}}", "sudoPasswordPopupTitle": "Inserire Password?", "sudoPasswordPopupHint": "Premere Invio per inserire, Esc per eliminare", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Connessione rifiutata dal server. Controlla la tua autenticazione e configurazione di rete.", "hostKeyRejected": "Verifica della chiave host SSH rifiutata. Connessione annullata.", "sessionTakenOver": "La sessione è stata aperta in un'altra scheda. Riconnessione...", - "sessionAttachTimeout": "Allegato sessione scaduto. Creazione nuova connessione..." + "sessionAttachTimeout": "Allegato sessione scaduto. Creazione nuova connessione...", + "openFileManagerHere": "Apri File Manager Qui" }, "fileManager": { "title": "Gestore File", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "File di codice colore per tipo: cartelle (rosse), file (blu), collegamenti simbolici (verde)", "commandAutocomplete": "Completamento Automatico Dei Comandi", "commandAutocompleteDesc": "Abilita i suggerimenti di completamento automatico dei tasti Tab per i comandi del terminale in base alla cronologia dei comandi", + "commandHistoryTracking": "Salva Cronologia Comandi", + "commandHistoryTrackingDesc": "Memorizza i comandi del terminale nella cronologia per completamento automatico e barra laterale. Disabilitato per impostazione predefinita per la privacy.", "defaultSnippetFoldersCollapsed": "Comprimi cartelle snippet per impostazione predefinita", "defaultSnippetFoldersCollapsedDesc": "Se abilitata, tutte le cartelle di snippet saranno collassate quando apri la scheda snippet", "terminalSyntaxHighlighting": "Evidenziazione Sintassi Del Terminale", @@ -2482,7 +2553,7 @@ "database": "Database", "healthy": "Sano", "error": "Errore", - "totalServers": "Server Totali", + "totalHosts": "Totale Host", "totalTunnels": "Totale Gallerie", "totalCredentials": "Credenziali Totali", "recentActivity": "Attività Recenti", diff --git a/src/locales/translated/ja_JP.json b/src/locales/translated/ja_JP.json index ec36cf76..00173e0d 100644 --- a/src/locales/translated/ja_JP.json +++ b/src/locales/translated/ja_JP.json @@ -277,6 +277,19 @@ "copyTooltip": "スニペットをクリップボードにコピー", "editTooltip": "このスニペットを編集", "deleteTooltip": "このスニペットを削除", + "shareTooltip": "このスニペットを共有", + "sharedWithYou": "共有", + "sharedBy": "{{username}} で共有", + "shareSnippet": "スニペットを共有", + "user": "ユーザー", + "role": "ロール", + "selectTarget": "選択...", + "currentAccess": "現在のアクセス", + "shareSuccess": "スニペットの共有に成功しました", + "shareFailed": "スニペットを共有できませんでした", + "revokeSuccess": "アクセスが取り消されました", + "revokeFailed": "アクセスの取り消しに失敗しました", + "failedToLoadShareData": "共有データの読み込みに失敗しました", "newFolder": "新規フォルダ", "reorderSameFolder": "同じフォルダ内のスニペットの順序を変更することができます", "reorderSuccess": "スニペットの並べ替えに成功しました", @@ -323,7 +336,9 @@ "authRequiredRefresh": "認証が必要です。ページを更新してください。", "dataAccessLockedReauth": "データアクセスがロックされています。再認証してください。", "loading": "コマンド履歴を読み込んでいます...", - "error": "履歴の読み込みエラー" + "error": "履歴の読み込みエラー", + "disabledTitle": "コマンド履歴は無効です", + "disabledDescription": "Appearance設定の下でプロフィールのコマンド履歴トラッキングを有効にします。" }, "splitScreen": { "title": "画面の分割", @@ -510,6 +525,8 @@ "checkingDatabase": "データベース接続を確認しています...", "checkingAuthentication": "認証中char@@0", "backendReconnected": "サーバー接続が復元されました", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "アクション", "remove": "削除", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Sudoパスワードをコピー", "passwordCopied": "パスワードをクリップボードにコピーしました", "sudoPasswordCopied": "Sudoパスワードをクリップボードにコピーしました", - "noPasswordAvailable": "パスワードがありません" + "noPasswordAvailable": "パスワードがありません", + "failedToCopyPassword": "パスワードのコピーに失敗しました" }, "admin": { "title": "管理者設定", @@ -808,6 +826,13 @@ "globalSettingsSaved": "グローバル監視設定を保存しました", "failedToSaveGlobalSettings": "グローバル監視設定の保存に失敗しました", "failedToLoadGlobalSettings": "グローバル監視設定の読み込みに失敗しました", + "sessionTimeout": "セッションタイムアウト", + "sessionTimeoutDesc": "再認証を必要とする前にユーザーセッションがどのくらい続くかを設定します。 'Remember Me' セッションは影響を受けません (常に 30 日間)。", + "sessionTimeoutHours": "タイムアウト時間", + "hours": "時間", + "sessionTimeoutNote": "有効範囲:1~720時間。変更内容は新しいセッションのみに適用されます。", + "sessionTimeoutSaved": "セッションタイムアウトを保存しました", + "failedToSaveSessionTimeout": "セッションのタイムアウトを保存できませんでした", "guacamoleIntegration": "Remote Desktop Integration (Guacamole)", "guacamoleIntegrationDesc": "Guacd 経由で RDP、VNC、および Telnet 接続を有効にします。実行するには guacd インスタンスが必要です。", "enableGuacamole": "RDP/VNC/Telnet のサポートを有効にする", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamoleの設定を保存しました", "failedToSaveGuacamoleSettings": "Guacamole設定の保存に失敗しました", "failedToLoadGuacamoleSettings": "Guacamole設定の読み込みに失敗しました", + "logLevel": "ログレベル", + "logLevelDesc": "サーバーログの詳細度を制御します。レベルが高いほどログ出力が低下します。また、LOG_LEVEL 環境変数を使用して設定することもできます。", + "logVerbosity": "詳細度", + "logLevelNote": "変更はすぐに反映されます。デバッグレベルはパフォーマンスに影響する可能性があります。", + "logLevelSaved": "ログレベルを保存しました", + "failedToSaveLogLevel": "ログレベルの保存に失敗しました", "clampedToValidRange": "有効な範囲に調整されました", "loadingSessions": "セッションを読み込み中...", "noActiveSessions": "アクティブなセッションが見つかりませんでした。", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} ホスト", "importJson": "JSON をインポート", "importing": "インポート中...", + "exportAllJson": "すべてエクスポート", + "exporting": "エクスポート中...", + "exportedAllHosts": "{{count}} ホストをエクスポートしました", + "failedToExportAllHosts": "ホストのエクスポートに失敗しました。ログインしてホストデータにアクセスできることを確認してください。", + "exportAllSensitiveWarning": "エクスポートされたファイルには、暗号化された認証データ (パスワード/SSH キー) がプレーンテキストに含まれます。ファイルを安全に保ち、使用後に削除してください。", "importJsonTitle": "JSON から SSH ホストをインポート", "importJsonDesc": "複数の SSH ホストを一括インポートする JSON ファイルをアップロードします (最大 100)。", "downloadSample": "サンプルをダウンロード", @@ -885,6 +921,11 @@ "guacamoleSettings": "リモートデスクトップの設定", "organization": "組織", "ipAddress": "IPアドレスまたはホスト名", + "macAddress": "MACアドレス", + "macAddressDesc": "Wake-on-LANの場合 フォーマット: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "ウェイクオン-LANパケットを送信しました", + "wolFailed": "Wake-on-LANパケットの送信に失敗しました", "ipRequired": "IPアドレスが必要です", "portRequired": "ポートは必須です", "port": "ポート", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "ドラッグしてフォルダ間を移動します", "exportedHostConfig": "{{name}} のホスト設定をエクスポートしました", "openTerminal": "ターミナルを開く", + "openRdp": "RDP を開く", + "openVnc": "VNC を開く", + "openTelnet": "Telnet を開く", "openFileManager": "ファイルマネージャを開く", "openTunnels": "トンネルを開く", "openServerDetails": "サーバーの詳細を開く", @@ -1159,6 +1203,10 @@ "noServerFound": "サーバーが見つかりません", "jumpHostsOrder": "接続順序は以下の通りです: ジャンプホスト 1 → ジャンプホスト 2 → ... → ターゲットサーバー", "socks5Proxy": "SOCKS5 プロキシ", + "portKnocking": "ポートノッキング(ポートノッキング)", + "portKnockingDesc": "接続する前に指定されたポートに一連の接続試行を送信します。ファイアウォールのルールを動的に開くために使用します。", + "addKnock": "ポートを追加", + "delayMs": "遅延", "socks5Description": "SSH 接続用の SOCKS5 プロキシを設定します。すべてのトラフィックは指定したプロキシ サーバー経由でルーティングされます。", "enableSocks5": "SOCKS5 プロキシを有効にする", "enableSocks5Description": "このSSH接続にSOCKS5プロキシを使用する", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "接続時にMOSHコマンドを自動的に実行する", "moshCommand": "MOSHコマンド", "moshCommandDesc": "実行するMOSHコマンド", + "autoTmux": "自動tmux", + "autoTmuxDesc": "既存のtmuxセッションに自動的にアタッチする(または新しいセッションを開始)、クロスデバイス連続性", "environmentVariables": "環境変数", "environmentVariablesDesc": "端末セッションにカスタム環境変数を設定する", "variableName": "変数名", @@ -1442,7 +1492,6 @@ "excludeOutput": "アウトプットを除外", "excludeMouse": "マウスを除外", "includeKeys": "キーを含める", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "WoLパケットを送信", "wolMacAddr": "MACアドレス", "wolBroadcastAddr": "放送アドレス", @@ -1481,7 +1530,7 @@ "closePanel": "パネルを閉じる", "reconnect": "再接続", "sessionEnded": "セッション終了", - "connectionLost": "接続が失われました", + "connectionLost": "接続が切断されました", "error": "エラー: {{message}}", "disconnected": "切断されました", "connectionClosed": "接続が切断されました", @@ -1498,7 +1547,25 @@ "connecting": "接続中...", "reconnecting": "再接続中... ({{attempt}}/{{max}})", "reconnected": "再接続に成功しました", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmuxはリモートホストにインストールされておらず、標準シェルに戻ります", + "tmuxSessionPickerTitle": "tmuxセッション", + "tmuxSessionPickerDesc": "このホスト上に既存のtmuxセッションがあります。再アタッチまたは新しいセッションを作成する場合は1つ選択してください。", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} ウィンドウ", + "tmuxWindowCount_other": "{{count}} ウィンドウ", + "tmuxAttached": "添付されたクライアント", + "tmuxAttachedCount": "{{count}} が添付されました", + "tmuxLastActivity": "最後のアクティビティ", + "tmuxTimeJustNow": "ちょうど今", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "新しいセッションを開始", + "tmuxCopyHint": "選択範囲を調整してEnterキーを押してクリップボードにコピー", "maxReconnectAttemptsReached": "最大再接続試行回数に達しました", + "closeTab": "閉じる", "connectionTimeout": "接続タイムアウト", "terminalTitle": "ターミナル - {{host}}", "terminalWithPath": "ターミナル - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "認証がタイムアウトしました。もう一度やり直してください。", "opksshAuthFailed": "認証に失敗しました。資格情報を確認して、もう一度やり直してください。", "opksshConfigMissing": "OPKSSH設定が見つかりません。OIDCプロバイダ設定で~/.opk/config.ymlを作成してください。ドキュメントを参照してください: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "{{provider}} でサインイン", "sudoPasswordPopupTitle": "パスワードを入力してください。", "sudoPasswordPopupHint": "Enterキーを押して挿入、Escキーで閉じる", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "サーバーによって接続が拒否されました。認証とネットワーク設定を確認してください。", "hostKeyRejected": "SSHホスト鍵の検証が拒否されました。接続がキャンセルされました。", "sessionTakenOver": "セッションは別のタブで開かれました。再接続中...", - "sessionAttachTimeout": "セッションの添付ファイルがタイムアウトしました。新しい接続を作成しています..." + "sessionAttachTimeout": "セッションの添付ファイルがタイムアウトしました。新しい接続を作成しています...", + "openFileManagerHere": "ここでファイルマネージャーを開く" }, "fileManager": { "title": "ファイルマネージャー", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "種類別のカラーコードファイル: folder (red), files (blue), symlinks (green)", "commandAutocomplete": "コマンドオートコンプリート", "commandAutocompleteDesc": "コマンド履歴に基づいてターミナルコマンドの自動補完候補を有効にする", + "commandHistoryTracking": "コマンド履歴を保存", + "commandHistoryTrackingDesc": "オートコンプリートとサイドバーの端末コマンドを履歴に保存します。デフォルトではプライバシー保護は無効です。", "defaultSnippetFoldersCollapsed": "デフォルトでスニペットフォルダを閉じる", "defaultSnippetFoldersCollapsedDesc": "有効にすると、スニペットタブを開くと、すべてのスニペットフォルダが折りたたまれます", "terminalSyntaxHighlighting": "端末の構文のハイライト", @@ -2482,7 +2553,7 @@ "database": "データベース", "healthy": "健康的", "error": "エラー", - "totalServers": "合計サーバー", + "totalHosts": "ホストの合計", "totalTunnels": "合計トンネル", "totalCredentials": "合計資格情報", "recentActivity": "最近のアクティビティ", diff --git a/src/locales/translated/ko_KR.json b/src/locales/translated/ko_KR.json index 9abcf0fa..1c3c8863 100644 --- a/src/locales/translated/ko_KR.json +++ b/src/locales/translated/ko_KR.json @@ -29,7 +29,7 @@ "failedToFetchCredentials": "자격 증명을 가져오는 데 실패했습니다.", "credentialDeletedSuccessfully": "자격 증명이 성공적으로 삭제되었습니다.", "failedToDeleteCredential": "자격 증명 삭제에 실패했습니다.", - "confirmDeleteCredential": "Are you sure you want to delete credential \"{{name}}\"?", + "confirmDeleteCredential": "정말로 \"{{name}}\" 자격 증명을 삭제하시겠습니까?", "credentialCreatedSuccessfully": "자격 증명이 성공적으로 생성되었습니다.", "credentialUpdatedSuccessfully": "자격 증명이 성공적으로 업데이트되었습니다.", "failedToSaveCredential": "자격 증명을 저장하는 데 실패했습니다.", @@ -47,13 +47,13 @@ "credentialAddedSuccessfully": "자격 증명 \"{{name}}\"이 성공적으로 추가되었습니다.", "savingCredential": "자격 증명 저장 중...", "updatingCredential": "자격 증명을 업데이트하는 중...", - "general": "기본설정", + "general": "일반", "description": "설명", "folder": "폴더", "tags": "태그", "addTagsSpaceToAdd": "태그를 추가하세요 (스페이스 키를 눌러 추가)", "password": "비밀번호", - "key": "열쇠", + "key": "키", "sshPrivateKey": "SSH 개인 키", "upload": "업로드", "updateKey": "업데이트 키", @@ -162,7 +162,7 @@ "publicKeyGeneratedSuccessfully": "공개 키가 성공적으로 생성되었습니다.", "detectedKeyType": "감지된 키 유형", "detectingKeyType": "감지 중...", - "optional": "선택 과목", + "optional": "선택 사항", "generateKeyPairNew": "새 키 쌍 생성", "generateEd25519": "Ed25519 생성", "generateECDSA": "ECDSA를 생성합니다", @@ -203,7 +203,7 @@ "keyType": "키 유형", "uploadFile": "파일 업로드", "pasteKey": "붙여넣기 키", - "credential": "신임장", + "credential": "자격 증명", "overrideUsername": "자격 증명 사용자 이름 재정의", "overrideUsernameDesc": "자격 증명에 저장된 사용자 이름과 다른 사용자 이름을 사용하십시오.", "connectTerminal": "터미널에 연결", @@ -277,6 +277,19 @@ "copyTooltip": "스니펫을 클립보드에 복사합니다", "editTooltip": "이 스니펫을 수정하세요", "deleteTooltip": "이 부분을 삭제하세요", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "새 폴더", "reorderSameFolder": "같은 폴더 내에서만 스니펫 순서를 변경할 수 있습니다.", "reorderSuccess": "스니펫 순서가 성공적으로 재정렬되었습니다.", @@ -291,7 +304,7 @@ "selectTerminals": "터미널 선택 (선택 사항)", "executeOnSelected": "{{count}} 선택된 터미널에서 실행", "executeOnCurrent": "현재 터미널에서 실행 (여러 개를 선택하려면 클릭하세요)", - "folder": "접는 사람", + "folder": "폴더", "selectFolder": "폴더를 선택하거나 비워 두세요.", "noFolder": "폴더 없음 (미분류)", "folderName": "폴더 이름", @@ -323,7 +336,9 @@ "authRequiredRefresh": "인증이 필요합니다. 페이지를 새로고침하세요.", "dataAccessLockedReauth": "데이터 접근이 잠겼습니다. 다시 인증해 주세요.", "loading": "명령 기록을 불러오는 중...", - "error": "기록 불러오기 오류" + "error": "기록 불러오기 오류", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "분할 화면", @@ -413,7 +428,7 @@ "success": "성공", "loading": "로딩 중...", "required": "필수의", - "optional": "선택 과목", + "optional": "선택 사항", "connect": "연결하다", "copied": "복사됨", "connecting": "연결 중...", @@ -446,7 +461,7 @@ "resetPassword": "비밀번호 재설정", "resetCode": "재설정 코드", "newPassword": "새 비밀번호", - "folder": "접는 사람", + "folder": "폴더", "file": "파일", "renamedSuccessfully": "성공적으로 이름이 변경되었습니다", "deletedSuccessfully": "성공적으로 삭제되었습니다", @@ -460,7 +475,7 @@ "name": "이름", "login": "로그인", "logout": "로그아웃", - "register": "등록하다", + "register": "등록", "password": "비밀번호", "version": "버전", "confirmPassword": "비밀번호 확인", @@ -471,7 +486,7 @@ "save": "구하다", "saving": "저장 중...", "delete": "삭제", - "edit": "편집하다", + "edit": "편집", "add": "추가하다", "search": "찾다", "confirm": "확인하다", @@ -504,12 +519,14 @@ "failedToInitiatePasswordReset": "비밀번호 재설정을 시작하는 데 실패했습니다.", "failedToVerifyResetCode": "재설정 코드 확인에 실패했습니다.", "failedToCompletePasswordReset": "비밀번호 재설정을 완료하지 못했습니다.", - "documentation": "선적 서류 비치", + "documentation": "문서", "retry": "다시 해 보다", "checking": "확인 중...", "checkingDatabase": "데이터베이스 연결을 확인하는 중...", "checkingAuthentication": "인증 상태를 확인하는 중...", "backendReconnected": "서버 연결이 복구되었습니다.", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "행위", "remove": "제거하다", "revoke": "취소", @@ -519,7 +536,7 @@ "nav": { "home": "홈", "hosts": "호스트", - "credentials": "신임장", + "credentials": "자격 증명", "terminal": "터미널", "docker": "도커", "tunnels": "터널", @@ -541,7 +558,8 @@ "copySudoPassword": "Sudo 암호 복사", "passwordCopied": "비밀번호가 클립보드에 복사되었습니다.", "sudoPasswordCopied": "Sudo 암호가 클립보드에 복사되었습니다.", - "noPasswordAvailable": "비밀번호를 사용할 수 없습니다." + "noPasswordAvailable": "비밀번호를 사용할 수 없습니다.", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "관리자 설정", @@ -554,7 +572,7 @@ "allowRegistration": "등록을 허용합니다", "oidcSettings": "OIDC 설정", "clientId": "클라이언트 ID", - "clientSecret": "고객 비밀", + "clientSecret": "클라이언트 암호", "issuerUrl": "발급자 URL", "authorizationUrl": "인증 URL", "tokenUrl": "토큰 URL", @@ -569,7 +587,7 @@ "scopes": "스코프", "saving": "저장 중...", "saveConfiguration": "설정 저장", - "reset": "재설정", + "reset": "초기화", "success": "성공", "loading": "로딩 중...", "refresh": "새로고침", @@ -585,7 +603,7 @@ "currentAdmins": "현 관리자", "adminBadge": "관리자", "removeAdminButton": "관리자 제거", - "general": "일반적인", + "general": "일반", "userRegistration": "사용자 등록", "allowNewAccountRegistration": "새 계정 등록을 허용합니다", "allowPasswordLogin": "사용자 이름/비밀번호 로그인 허용", @@ -747,10 +765,10 @@ "encryptedBackupCreatedSuccessfully": "암호화된 백업이 성공적으로 생성되었습니다.", "backupCreationFailed": "백업 생성 실패", "databaseMigration": "데이터베이스 마이그레이션", - "exportForMigration": "이민을 위한 수출", + "exportForMigration": "마이그레이션을 위해 내보내기", "exportDatabaseForHardwareMigration": "새 하드웨어로 마이그레이션하기 위해 암호화가 해제된 데이터가 포함된 SQLite 파일로 데이터베이스를 내보냅니다.", "exportDatabase": "SQLite 데이터베이스 내보내기", - "exporting": "수출 중...", + "exporting": "내보내는 중...", "exportCreated": "SQLite 내보내기가 생성되었습니다.", "exportContainsDecryptedData": "SQLite 내보내기 파일에는 암호 해독된 데이터가 포함되어 있습니다. 안전하게 보관하세요!", "databaseExportedSuccessfully": "SQLite 데이터베이스 내보내기가 성공적으로 완료되었습니다.", @@ -784,9 +802,9 @@ "migrate": "이주하다", "backup": "지원", "createBackup": "백업 생성", - "exportImport": "수출/수입", - "export": "내보내다", - "import": "수입", + "exportImport": "내보내기/가져오기", + "export": "내보내기", + "import": "가져오기", "passwordRequired": "비밀번호가 필요합니다", "confirmExport": "내보내기 확인", "exportDescription": "SSH 호스트 및 자격 증명을 SQLite 파일로 내보내기", @@ -808,6 +826,13 @@ "globalSettingsSaved": "글로벌 모니터링 설정이 저장되었습니다.", "failedToSaveGlobalSettings": "전역 모니터링 설정을 저장하는 데 실패했습니다.", "failedToLoadGlobalSettings": "전역 모니터링 설정을 불러오는 데 실패했습니다.", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "원격 데스크톱 통합(Guacamole)", "guacamoleIntegrationDesc": "guacd를 통해 RDP, VNC 및 Telnet 연결을 활성화합니다. guacd 인스턴스가 실행 중이어야 합니다.", "enableGuacamole": "RDP/VNC/Telnet 지원을 활성화합니다.", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "과카몰리 설정이 저장되었습니다.", "failedToSaveGuacamoleSettings": "과카몰리 설정 저장에 실패했습니다.", "failedToLoadGuacamoleSettings": "과카몰리 설정을 불러오는 데 실패했습니다.", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "유효 범위로 조정되었습니다.", "loadingSessions": "세션 불러오는 중...", "noActiveSessions": "활성화된 세션이 없습니다.", @@ -849,10 +880,15 @@ "failedToLoadHosts": "호스트를 로드하는 데 실패했습니다.", "retry": "다시 해 보다", "refresh": "새로고침", - "optional": "선택 과목", + "optional": "선택 사항", "hostsCount": "{{count}} 호스트", "importJson": "JSON 가져오기", "importing": "가져오는 중...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "JSON에서 SSH 호스트 가져오기", "importJsonDesc": "JSON 파일을 업로드하여 여러 SSH 호스트(최대 100개)를 일괄 가져올 수 있습니다.", "downloadSample": "샘플 다운로드", @@ -885,13 +921,18 @@ "guacamoleSettings": "원격 데스크톱 설정", "organization": "조직", "ipAddress": "IP 주소 또는 호스트 이름", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "IP 주소가 필요합니다.", "portRequired": "포트가 필요합니다", "port": "포트", "name": "이름", "username": "사용자 이름", "usernameRequired": "사용자 이름은 필수 입력 사항입니다 (SSH/Telnet에서만 해당).", - "folder": "접는 사람", + "folder": "폴더", "tags": "태그", "pin": "핀", "notes": "메모", @@ -964,9 +1005,9 @@ "authentication": "입증", "password": "비밀번호", "key": "열쇠", - "credential": "신임장", + "credential": "자격 증명", "none": "없음", - "opkssh": "오프크시", + "opkssh": "OPKSSH", "opksshAuthDescription": "접속할 때마다 OPKSSH 웹 인증을 요청합니다. 인증 토큰은 24시간 동안 유효하며, 갱신해야 합니다.", "selectCredential": "자격증명을 선택하세요", "selectCredentialPlaceholder": "자격증을 선택하세요...", @@ -994,7 +1035,7 @@ "terminalBadge": "터미널", "tunnelBadge": "터널", "fileManagerBadge": "파일 관리자", - "general": "일반적인", + "general": "일반", "terminal": "터미널", "tunnel": "터널", "fileManager": "파일 관리자", @@ -1047,11 +1088,14 @@ "dragToMoveBetweenFolders": "드래그하여 폴더 간 이동", "exportedHostConfig": "{{name}}에 대한 호스트 구성을 내보냈습니다.", "openTerminal": "터미널 열기", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "파일 관리자 열기", "openTunnels": "개방형 터널", - "openServerDetails": "오픈 서버 세부 정보", + "openServerDetails": "서버 세부 정보 열기", "enabledWidgets": "활성화된 위젯", - "openServerStats": "오픈 서버 통계", + "openServerStats": "서버 통계 열기", "enabledWidgetsDesc": "이 호스트에 대해 표시할 통계 위젯을 선택하세요.", "monitoringConfiguration": "모니터링 구성", "monitoringConfigurationDesc": "서버 통계 및 상태 확인 빈도를 구성합니다.", @@ -1080,11 +1124,11 @@ "statusMonitoring": "상태", "metricsMonitoring": "측정 기준", "terminalCustomization": "터미널 맞춤 설정", - "appearance": "모습", + "appearance": "외관", "behavior": "행동", "advanced": "고급의", "themePreview": "테마 미리보기", - "theme": "주제", + "theme": "테마", "selectTheme": "테마를 선택하세요", "chooseColorTheme": "터미널에 사용할 색상 테마를 선택하세요", "fontFamily": "글꼴 패밀리", @@ -1103,7 +1147,7 @@ "selectCursorStyle": "커서 스타일을 선택하세요", "cursorStyleBlock": "차단하다", "cursorStyleUnderline": "밑줄", - "cursorStyleBar": "술집", + "cursorStyleBar": "바", "chooseCursorAppearance": "커서 모양을 선택하세요", "cursorBlink": "커서 깜빡임", "enableCursorBlink": "커서 깜빡임 애니메이션 활성화", @@ -1159,6 +1203,10 @@ "noServerFound": "서버를 찾을 수 없습니다.", "jumpHostsOrder": "연결은 다음 순서로 이루어집니다: 점프 호스트 1 → 점프 호스트 2 → ... → 대상 서버", "socks5Proxy": "SOCKS5 프록시", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "SSH 연결을 위해 SOCKS5 프록시를 구성합니다. 모든 트래픽은 지정된 프록시 서버를 통해 라우팅됩니다.", "enableSocks5": "SOCKS5 프록시 활성화", "enableSocks5Description": "이 SSH 연결에는 SOCKS5 프록시를 사용하십시오.", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "연결 시 MOSH 명령을 자동으로 실행합니다.", "moshCommand": "MOSH 명령", "moshCommandDesc": "실행할 MOSH 명령어", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "환경 변수", "environmentVariablesDesc": "터미널 세션에 대한 사용자 지정 환경 변수를 설정합니다.", "variableName": "변수 이름", @@ -1412,7 +1462,7 @@ "disableUpload": "업로드 비활성화", "enableTouch": "터치 활성화", "rdpSession": "세션", - "clientName": "고객 이름", + "clientName": "클라이언트 이름", "consoleSession": "콘솔 세션", "initialProgram": "초기 프로그램", "serverLayout": "서버 키보드 레이아웃", @@ -1442,7 +1492,6 @@ "excludeOutput": "출력 제외", "excludeMouse": "마우스 제외", "includeKeys": "키를 포함하세요", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "WoL 패킷을 전송합니다", "wolMacAddr": "MAC 주소", "wolBroadcastAddr": "방송 주소", @@ -1481,7 +1530,7 @@ "closePanel": "패널 닫기", "reconnect": "다시 연결", "sessionEnded": "세션이 종료되었습니다", - "connectionLost": "연결이 끊어졌습니다", + "connectionLost": "Connection lost", "error": "오류: {{message}}", "disconnected": "연결이 끊어졌습니다", "connectionClosed": "연결이 종료되었습니다", @@ -1498,7 +1547,25 @@ "connecting": "연결 중...", "reconnecting": "다시 연결 중... ({{attempt}}/{{max}})", "reconnected": "성공적으로 다시 연결되었습니다.", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "최대 재연결 시도 횟수에 도달했습니다.", + "closeTab": "Close", "connectionTimeout": "연결 시간 초과", "terminalTitle": "터미널 - {{host}}", "terminalWithPath": "터미널 - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "인증 시간이 초과되었습니다. 다시 시도해 주세요.", "opksshAuthFailed": "인증에 실패했습니다. 자격 증명을 확인하고 다시 시도해 주세요.", "opksshConfigMissing": "OPKSSH 구성 파일을 찾을 수 없습니다. OIDC 공급자 설정이 포함된 ~/.opk/config.yml 파일을 생성하십시오. 자세한 내용은 다음 문서를 참조하십시오. https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "비밀번호를 입력하시겠습니까?", "sudoPasswordPopupHint": "Enter 키를 눌러 삽입하고, Esc 키를 눌러 닫습니다.", "sudoPasswordPopupConfirm": "끼워 넣다", @@ -1546,12 +1614,13 @@ "connectionRejected": "서버에서 연결이 거부되었습니다. 인증 및 네트워크 구성을 확인하십시오.", "hostKeyRejected": "SSH 호스트 키 인증이 거부되었습니다. 연결이 취소되었습니다.", "sessionTakenOver": "세션이 다른 탭에서 열려 있습니다. 다시 연결 중...", - "sessionAttachTimeout": "세션 연결 시간이 초과되었습니다. 새 연결을 생성합니다..." + "sessionAttachTimeout": "세션 연결 시간이 초과되었습니다. 새 연결을 생성합니다...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "파일 관리자", "file": "파일", - "folder": "접는 사람", + "folder": "폴더", "connectToSsh": "파일 작업을 사용하려면 SSH에 연결하십시오.", "uploadFile": "파일 업로드", "downloadFile": "다운로드", @@ -1571,7 +1640,7 @@ "compressingFiles": "{{count}} 항목을 {{name}}로 압축 중...", "filesCompressedSuccessfully": "{{name}} 이 성공적으로 생성되었습니다", "compressFailed": "압축 실패", - "edit": "편집하다", + "edit": "편집", "preview": "시사", "previous": "이전의", "next": "다음", @@ -2048,7 +2117,7 @@ "loginTitle": "Termix에 로그인하세요", "registerTitle": "계정 생성", "loginButton": "로그인", - "registerButton": "등록하다", + "registerButton": "등록", "forgotPassword": "비밀번호를 잊으셨나요?", "rememberMe": "30일 동안 기기 정보를 기억해 두세요 (TOTP 포함).", "noAccount": "계정이 없으신가요?", @@ -2244,13 +2313,15 @@ "fileColorCodingDesc": "파일 유형별로 색상을 지정합니다. 폴더(빨간색), 파일(파란색), 심볼릭 링크(녹색)", "commandAutocomplete": "명령어 자동 완성", "commandAutocompleteDesc": "명령어 기록을 기반으로 터미널 명령어에 대한 Tab 키 자동 완성 제안을 활성화합니다.", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "기본적으로 스니펫 폴더를 접으세요", "defaultSnippetFoldersCollapsedDesc": "이 옵션을 활성화하면 스니펫 탭을 열 때 모든 스니펫 폴더가 접혀 표시됩니다.", "terminalSyntaxHighlighting": "터미널 구문 강조 표시", "showHostTags": "호스트 태그 표시", "showHostTagsDesc": "사이드바의 각 호스트 아래에 태그를 표시합니다. 이 기능을 비활성화하면 모든 태그가 숨겨집니다.", "account": "계정", - "appearance": "모습", + "appearance": "외관", "languageLocalization": "언어 및 현지화", "fileManagerSettings": "파일 관리자", "terminalSettings": "터미널", @@ -2264,10 +2335,10 @@ "currentPassword": "현재 비밀번호", "passwordChangedSuccess": "비밀번호가 변경되었습니다! 다시 로그인해 주세요.", "failedToChangePassword": "비밀번호 변경에 실패했습니다. 현재 비밀번호를 확인하고 다시 시도해 주세요.", - "theme": "주제", - "themeLight": "빛", - "themeDark": "어두운", - "themeSystem": "체계", + "theme": "테마", + "themeLight": "라이트", + "themeDark": "다크", + "themeSystem": "시스템", "appearanceDesc": "애플리케이션의 색상 테마를 선택하세요", "terminalSyntaxHighlightingDesc": "터미널 출력에서 명령어, 경로, IP 주소 및 로그 레벨을 자동으로 강조 표시합니다.", "enableCommandPaletteShortcut": "명령 팔레트 바로가기 활성화", @@ -2287,7 +2358,7 @@ "language": "언어", "username": "사용자 이름", "hostname": "호스트 이름", - "folder": "접는 사람", + "folder": "폴더", "password": "비밀번호", "keyPassword": "키 비밀번호", "sudoPassword": "sudo 비밀번호 (선택 사항)", @@ -2301,7 +2372,7 @@ "sshConfig": "엔드포인트 SSH 구성", "homePath": "/home", "clientId": "클라이언트 ID", - "clientSecret": "고객 비밀", + "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/", @@ -2377,7 +2448,7 @@ "sshHosts": "SSH 호스트", "importSshHosts": "JSON에서 SSH 호스트 가져오기", "clientId": "클라이언트 ID", - "clientSecret": "고객 비밀", + "clientSecret": "클라이언트 암호", "error": "오류", "warning": "경고", "deleteAccount": "계정 삭제", @@ -2482,11 +2553,11 @@ "database": "데이터 베이스", "healthy": "건강한", "error": "오류", - "totalServers": "총 서버 수", + "totalHosts": "Total Hosts", "totalTunnels": "토탈 터널", "totalCredentials": "총 자격 증명", "recentActivity": "최근 활동", - "reset": "다시 놓기", + "reset": "초기화", "loadingRecentActivity": "최근 활동 불러오는 중...", "noRecentActivity": "최근 활동 없음", "quickActions": "빠른 조치", @@ -2539,7 +2610,7 @@ "openFileManager": "파일 관리자 열기", "openTunnel": "개방형 터널", "openDocker": "오픈 도커", - "openServerStats": "오픈 서버 세부 정보", + "openServerStats": "서버 세부 정보 열기", "moveToGroupAction": "그룹으로 이동", "removeFromGroup": "그룹에서 제거", "addHostHere": "여기에 호스트를 추가하세요", @@ -2754,9 +2825,9 @@ "userProfile": "사용자 프로필", "updateLog": "업데이트 로그", "hosts": "호스트", - "openServerDetails": "오픈 서버 세부 정보", + "openServerDetails": "서버 세부 정보 열기", "openFileManager": "파일 관리자 열기", - "edit": "편집하다", + "edit": "편집", "links": "링크", "github": "깃허브", "support": "문의하기", @@ -2894,7 +2965,7 @@ } }, "theme": { - "switchToLight": "밝은테마로 변경", - "switchToDark": "어두운테마로 변경" + "switchToLight": "라이트테마로 변경", + "switchToDark": "다크 테마로 변경" } } diff --git a/src/locales/translated/nl_NL.json b/src/locales/translated/nl_NL.json index c83b5018..21796a44 100644 --- a/src/locales/translated/nl_NL.json +++ b/src/locales/translated/nl_NL.json @@ -277,6 +277,19 @@ "copyTooltip": "Kopieer snippet naar klembord", "editTooltip": "Tekstfragment bewerken", "deleteTooltip": "Tekstfragment verwijderen", + "shareTooltip": "Deel deze tekstbouwsteen", + "sharedWithYou": "Gedeeld", + "sharedBy": "Gedeeld door {{username}}", + "shareSnippet": "Deel snippet", + "user": "Gebruiker", + "role": "Functie", + "selectTarget": "Selecteer...", + "currentAccess": "Huidige Toegang", + "shareSuccess": "Snippet succesvol gedeeld", + "shareFailed": "Delen van snippet mislukt", + "revokeSuccess": "Toegang ingetrokken", + "revokeFailed": "Toegang intrekken mislukt", + "failedToLoadShareData": "Laden van delen van gegevens mislukt", "newFolder": "Folder toevoegen", "reorderSameFolder": "Kan alleen snippets binnen dezelfde map herordenen", "reorderSuccess": "Tekstbouwstenen met succes gerangschikt", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Authenticatie vereist. Herlaad de pagina.", "dataAccessLockedReauth": "Gegevenstoegang geblokkeerd. Gelieve opnieuw te verifiëren.", "loading": "Opdrachtgeschiedenis wordt geladen...", - "error": "Fout bij laden geschiedenis" + "error": "Fout bij laden geschiedenis", + "disabledTitle": "Opdrachtgeschiedenis is uitgeschakeld", + "disabledDescription": "Activeer het bijhouden van opdrachten geschiedenis in je profiel onder instellingen van Uiterlijk" }, "splitScreen": { "title": "Scherm splitsen", @@ -510,6 +525,8 @@ "checkingDatabase": "Database-verbinding controleren...", "checkingAuthentication": "Authenticatie controleren...", "backendReconnected": "Serververbinding hersteld", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "acties", "remove": "Verwijderen", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Sudo wachtwoord kopiëren", "passwordCopied": "Wachtwoord gekopieerd naar klembord", "sudoPasswordCopied": "Sudo wachtwoord gekopieerd naar klembord", - "noPasswordAvailable": "Geen wachtwoord beschikbaar" + "noPasswordAvailable": "Geen wachtwoord beschikbaar", + "failedToCopyPassword": "Wachtwoord kopiëren mislukt" }, "admin": { "title": "Beheerder Instellingen", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Algemene monitoring instellingen opgeslagen", "failedToSaveGlobalSettings": "Fout bij het opslaan van de globale monitoring instellingen", "failedToLoadGlobalSettings": "Fout bij het laden van de globale monitoring instellingen", + "sessionTimeout": "Sessie time-out", + "sessionTimeoutDesc": "Configureer hoe lang gebruikerssessies duren voordat opnieuw authenticatie vereist is. 'Onthoud mij' sessies worden niet beïnvloed (altijd 30 dagen).", + "sessionTimeoutHours": "Time-out duur", + "hours": "Uren", + "sessionTimeoutNote": "Geldige bereik: 1 tot 720 uur. Wijzigingen zijn alleen van toepassing op nieuwe sessies.", + "sessionTimeoutSaved": "Sessie timeout opgeslagen", + "failedToSaveSessionTimeout": "Opslaan van sessie timeout mislukt", "guacamoleIntegration": "Externe Desktop integratie (Guacamole)", "guacamoleIntegrationDesc": "Schakel RDP, VNC en Telnet verbindingen in via guacd. Vereist een guacd instantie om te worden uitgevoerd.", "enableGuacamole": "RDP/VNC/Telnet ondersteuning inschakelen", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamole instellingen opgeslagen", "failedToSaveGuacamoleSettings": "Fout bij het opslaan van guacamole instellingen", "failedToLoadGuacamoleSettings": "Fout bij het laden van guacamole instellingen", + "logLevel": "Log niveau", + "logLevelDesc": "Bestuur de uitgebreide server logs. Hogere niveaus verminderen loguitvoer. Kan ook worden ingesteld via de LOG_LEVEL omgeving variabele.", + "logVerbosity": "Verbossing", + "logLevelNote": "Wijzigingen worden onmiddellijk van kracht. Debug niveau kan de prestaties beïnvloeden.", + "logLevelSaved": "Logboek niveau opgeslagen", + "failedToSaveLogLevel": "Fout bij het opslaan van logboek niveau", "clampedToValidRange": "is aangepast aan geldig bereik", "loadingSessions": "Sessies laden...", "noActiveSessions": "Geen actieve sessies gevonden.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} hosts", "importJson": "JSON importeren", "importing": "Importeren...", + "exportAllJson": "Alles exporteren", + "exporting": "Exporteren...", + "exportedAllHosts": "Geëxporteerde {{count}} host", + "failedToExportAllHosts": "Kan geen hosts exporteren. Zorg ervoor dat je ingelogd bent en toegang hebt tot de hostgegevens.", + "exportAllSensitiveWarning": "Het geëxporteerde bestand zal gevoelige verificatiegegevens (wachtwoorden/SSH sleutels) in platte tekst bevatten. Houd het bestand veilig en verwijder het na gebruik.", "importJsonTitle": "SSH hosts importeren vanuit JSON", "importJsonDesc": "Upload een JSON-bestand om meerdere SSH hosts te importeren (max 100).", "downloadSample": "Download voorbeeld", @@ -885,6 +921,11 @@ "guacamoleSettings": "Externe bureaublad instellingen", "organization": "Rekening", "ipAddress": "IP-adres of hostnaam", + "macAddress": "MAC Adres", + "macAddressDesc": "Voor Wake-on-LAN. formaat: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN-pakket verzonden", + "wolFailed": "Wake-on-LAN-pakket verzenden mislukt", "ipRequired": "IP-adres is vereist", "portRequired": "Poort is vereist", "port": "Poort", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Sleep om tussen mappen te verplaatsen", "exportedHostConfig": "Hostconfiguratie voor {{name}} geëxporteerd", "openTerminal": "Open terminal", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Telnet openen", "openFileManager": "Bestandsbeheer openen", "openTunnels": "Open Tunnels", "openServerDetails": "Server details openen", @@ -1159,6 +1203,10 @@ "noServerFound": "Geen server gevonden", "jumpHostsOrder": "Verbindingen worden gemaakt in volgorde: Sprong Host 1 → Jump Host 2 → ... → Doel Server", "socks5Proxy": "SOCKS5 Proxy", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Stuur een reeks verbindingpogingen naar de opgegeven poorten voordat je verbindt. Wordt gebruikt om firewall regels dynamisch te openen.", + "addKnock": "Poort toevoegen", + "delayMs": "Vertraging", "socks5Description": "Configureer SOCKS5 proxy voor SSH verbinding. Al het verkeer zal worden omgeleid via de opgegeven proxyserver.", "enableSocks5": "SOCKS5 Proxy inschakelen", "enableSocks5Description": "Gebruik SOCKS5 proxy voor deze SSH verbinding", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "MOSH automatisch uitvoeren bij verbinden", "moshCommand": "MEER commando", "moshCommandDesc": "De MOSH opdracht om uit te voeren", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Voeg automatisch een bestaande (of nieuwe sessie) tmux toe voor aanhoudende sessies en cross-device continuïteit", "environmentVariables": "Omgeving variabelen", "environmentVariablesDesc": "Aangepaste omgevingsvariabelen voor de terminale sessie instellen", "variableName": "Naam variabele", @@ -1442,7 +1492,6 @@ "excludeOutput": "Uitvoer uitsluiten", "excludeMouse": "Uitsluiten Muis", "includeKeys": "Sleutels toevoegen", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "WoL-pakket verzenden", "wolMacAddr": "MAC Adres", "wolBroadcastAddr": "Adres uitzenden", @@ -1498,7 +1547,25 @@ "connecting": "Verbinden...", "reconnecting": "Opnieuw verbinden... ({{attempt}}/{{max}})", "reconnected": "Succesvol opnieuw verbonden", + "tmuxSessionCreated": "tmux sessie gemaakt: {{name}}", + "tmuxSessionAttached": "tmux sessie gekoppeld: {{name}}", + "tmuxUnavailable": "tmux is niet geïnstalleerd op de externe host, terug vallen op standaard shell", + "tmuxSessionPickerTitle": "tmux sessies", + "tmuxSessionPickerDesc": "Bestaande tmux-sessies gevonden in deze host. Selecteer er een om opnieuw toe te voegen of maak een nieuwe sessie aan.", + "tmuxWindows": "Vensters", + "tmuxWindowCount": "{{count}} venster", + "tmuxWindowCount_other": "{{count}} vensters", + "tmuxAttached": "Bijgevoegde klanten", + "tmuxAttachedCount": "{{count}} bijgevoegd", + "tmuxLastActivity": "Laatste activiteit", + "tmuxTimeJustNow": "op dit moment", + "tmuxTimeMinutes": "{{count}}m geleden", + "tmuxTimeHours": "{{count}}uur geleden", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Nieuwe sessie starten", + "tmuxCopyHint": "Pas de selectie aan en druk op Enter om naar het klembord te kopiëren", "maxReconnectAttemptsReached": "Maximum aantal herverbindingpogingen bereikt", + "closeTab": "Afsluiten", "connectionTimeout": "Connectie time-out", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Authenticatie is verlopen. Probeer het opnieuw.", "opksshAuthFailed": "Authenticatie mislukt. Controleer uw inloggegevens en probeer het opnieuw.", "opksshConfigMissing": "OPKSSH configuratie niet gevonden. Maak ~/.opk/config.yml aan met uw OIDC providerinstellingen. Zie documentatie: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Log in met {{provider}}", "sudoPasswordPopupTitle": "Wachtwoord invoeren?", "sudoPasswordPopupHint": "Druk op Enter om in te voegen, Esc om te sluiten", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Verbinding geweigerd door de server. Controleer uw authenticatie en netwerkconfiguratie.", "hostKeyRejected": "SSH host sleutel verificatie afgewezen. Verbinding geannuleerd.", "sessionTakenOver": "Sessie is geopend in een ander tabblad. Opnieuw verbinden...", - "sessionAttachTimeout": "Sessie bijlage is verlopen. Nieuwe verbinding maken..." + "sessionAttachTimeout": "Sessie bijlage is verlopen. Nieuwe verbinding maken...", + "openFileManagerHere": "Open bestandsbeheer hier" }, "fileManager": { "title": "Bestands Beheer", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Color-code bestanden per type: mappen (rood), bestanden (blauw), symlinks (groen)", "commandAutocomplete": "Commando automatisch aanvullen", "commandAutocompleteDesc": "Schakel Tab key automatisch complete suggesties in voor terminal commando's gebaseerd op je opdrachtgeschiedenis", + "commandHistoryTracking": "Opdrachtgeschiedenis opslaan", + "commandHistoryTrackingDesc": "Terminal-opdrachten in de geschiedenis opslaan voor autocomplete en sidebar. Standaard uitgeschakeld voor privacy.", "defaultSnippetFoldersCollapsed": "Vouw Snippet mappen standaard in", "defaultSnippetFoldersCollapsedDesc": "Wanneer ingeschakeld, worden alle snippetmappen samengevouwen wanneer u het tabblad snippets opent", "terminalSyntaxHighlighting": "Terminal syntaxismarkering", @@ -2482,7 +2553,7 @@ "database": "Database", "healthy": "Gezond", "error": "Foutmelding", - "totalServers": "Totaal servers", + "totalHosts": "Totaal aantal hosts", "totalTunnels": "Totaal aantal tunnels", "totalCredentials": "Totaal Aanmeldgegevens", "recentActivity": "Recente Activiteiten", diff --git a/src/locales/translated/no_NO.json b/src/locales/translated/no_NO.json index d12b8978..832c9887 100644 --- a/src/locales/translated/no_NO.json +++ b/src/locales/translated/no_NO.json @@ -277,6 +277,19 @@ "copyTooltip": "Kopier snippet til utklippstavlen", "editTooltip": "Rediger denne snippet", "deleteTooltip": "Slett denne snippet", + "shareTooltip": "Del denne nebet", + "sharedWithYou": "Delt", + "sharedBy": "Delt av {{username}}", + "shareSnippet": "Del tekstutdrag", + "user": "Bruker", + "role": "Rolle", + "selectTarget": "Velg...", + "currentAccess": "Gjeldende tilgang", + "shareSuccess": "Slutt ble delt", + "shareFailed": "Kunne ikke dele rulling", + "revokeSuccess": "Tilgang tilbakekalt", + "revokeFailed": "Kunne ikke oppheve tilgangen", + "failedToLoadShareData": "Kunne ikke laste delingsdata", "newFolder": "Ny mappe", "reorderSameFolder": "Kan kun endre rekkefølgen av snippets i samme mappe", "reorderSuccess": "Snippets ble resortert", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Autentisering kreves. Vennligst oppdater siden.", "dataAccessLockedReauth": "Tilgang til data låst. Godkjennes på nytt.", "loading": "Laster kommandoelogg...", - "error": "Feil ved lasting av historikk" + "error": "Feil ved lasting av historikk", + "disabledTitle": "Kommandohistorie er deaktivert", + "disabledDescription": "Aktiver kommandohistorie sporing i profilen din under Utseende innstillinger." }, "splitScreen": { "title": "Delt skjerm", @@ -510,6 +525,8 @@ "checkingDatabase": "Kontrollerer databaseforbindelse...", "checkingAuthentication": "Kontrollerer autentisering...", "backendReconnected": "Servertilkobling gjenopprettet", + "connectionDegraded": "Servertilkoblingen ble avbrutt, gjenopprettes…", + "reload": "Reload", "actions": "Handlinger", "remove": "Fjern", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Kopier Sudo passord", "passwordCopied": "Passordet er kopiert til utklippstavlen", "sudoPasswordCopied": "Sudo-passordet ble kopiert til utklippstavlen", - "noPasswordAvailable": "Ingen passord tilgjengelig" + "noPasswordAvailable": "Ingen passord tilgjengelig", + "failedToCopyPassword": "Kopiering av passord feilet" }, "admin": { "title": "Administratorinnstillinger", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Globale overvåkingsinnstillinger lagret", "failedToSaveGlobalSettings": "Kan ikke lagre globale overvåkingsinnstillinger", "failedToLoadGlobalSettings": "Kan ikke laste inn globale overvåkingsinnstillinger", + "sessionTimeout": "Tidsavbrudd for økt", + "sessionTimeoutDesc": "Konfigurer hvor lenge brukerøkter varer før det krever ny autentisering. 'Husk meg' økter er upåvirket (alltid 30 dager).", + "sessionTimeoutHours": "Tidsavbrudd varighet", + "hours": "timer", + "sessionTimeoutNote": "Gyldig område: 1–720 timer. Endringer gjelder bare for nye økter.", + "sessionTimeoutSaved": "Sesjonens tidsavbrudd lagret", + "failedToSaveSessionTimeout": "Kunne ikke lagre økttidsavbrudd", "guacamoleIntegration": "Eksternt skrivebordsintegrering (Guacamole)", "guacamoleIntegrationDesc": "Aktiver RDP, VNC, og Telnet forbindelser via guacd. Krever en guacd instans for å kjøre.", "enableGuacamole": "Aktiver støtte for RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Innstillinger for Guacamol lagret", "failedToSaveGuacamoleSettings": "Klarte ikke å lagre guacamol-innstillingene", "failedToLoadGuacamoleSettings": "Kan ikke laste guacamol-innstillingene", + "logLevel": "Loggnivå (Automatic Translation)", + "logLevelDesc": "Kontroller håndteringen av serverlogger. Høyere nivåer reduserer loggresultatet. Kan også settes via miljøvariabelen LOG_LEVEL.", + "logVerbosity": "Årsak", + "logLevelNote": "Endringer trer i kraft umiddelbart. Feilsøkingsnivået kan påvirke ytelsen.", + "logLevelSaved": "Loggnivå lagret", + "failedToSaveLogLevel": "Kunne ikke lagre loggnivå", "clampedToValidRange": "ble justert til gyldig område", "loadingSessions": "Laster inn økter...", "noActiveSessions": "Ingen aktive økter funnet.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} verter", "importJson": "Importer JSON", "importing": "Importerer...", + "exportAllJson": "Eksporter alle", + "exporting": "Eksporterer...", + "exportedAllHosts": "Eksporterte {{count}} verter", + "failedToExportAllHosts": "Mislyktes i å eksportere verter. Kontroller at du er logget inn og har tilgang til vertsdata.", + "exportAllSensitiveWarning": "Den eksporterte filen inneholder sensitive godkjenningsdata (passorder/SSH-nøkler) i \"flyet\". Behold filen på en sikker og slett den etter bruk.", "importJsonTitle": "Importer SSH-verter fra JSON", "importJsonDesc": "Last opp en JSON-fil for å masseimportere flere SSH-verter (maks 100).", "downloadSample": "Last ned eksempel", @@ -885,6 +921,11 @@ "guacamoleSettings": "Innstillinger for eksternt skrivebord", "organization": "Organisasjon", "ipAddress": "IP adresse eller vertsnavn", + "macAddress": "MAC Adresse", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Vake-on-LAN pakke sendt", + "wolFailed": "Kunne ikke sende Wake-on-LAN pakke", "ipRequired": "IP-adresse er påkrevd", "portRequired": "Port er påkrevd", "port": "Port", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Dra for å flytte mellom mapper", "exportedHostConfig": "Eksportert vertskonfigurasjon for {{name}}", "openTerminal": "Åpne terminal", + "openRdp": "Åpne RDP", + "openVnc": "Åpne VNC", + "openTelnet": "Åpne telnet", "openFileManager": "Åpne filbehandler", "openTunnels": "Åpne tuneller", "openServerDetails": "Åpne serverdetaljer", @@ -1159,6 +1203,10 @@ "noServerFound": "Ingen server funnet", "jumpHostsOrder": "Tilkoblinger opprettes i rekkefølge: Hoppvert 1 → Hoppvert 2 → … → Målserver", "socks5Proxy": "SOCKS5 proxy", + "portKnocking": "Port knocking", + "portKnockingDesc": "Send en sekvens av tilkoblingsforsøk til angitte porter før tilkobling. Brukes til å åpne brannmurregler dynamisk.", + "addKnock": "Legge til port", + "delayMs": "Forsinkelse", "socks5Description": "Konfigurer SOCKS5 proxy for SSH tilkobling. All trafikk vil bli rutet gjennom den angitte mellomtjeneren.", "enableSocks5": "Aktiver SOCKS5 mellomtjener", "enableSocks5Description": "Bruk SOCKS5-proxy for denne SSH-forbindelsen", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Kjør MOSH kommando ved tilkobling", "moshCommand": "MOSH kommando", "moshCommandDesc": "MOSH kommandoen å utføre", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Tilknytt automatisk en eksisterende (eller start en ny) tmux-økt for vedvarende økter og kontinuitet på tvers av enheter", "environmentVariables": "Miljøvariabler", "environmentVariablesDesc": "Angi egendefinerte miljøvariabler for terminaløkten", "variableName": "Variabelens navn", @@ -1442,7 +1492,6 @@ "excludeOutput": "Ekskluder utdata", "excludeMouse": "Ekskluder musen", "includeKeys": "Inkluder nøkler", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Send WoL Packet", "wolMacAddr": "MAC Adresse", "wolBroadcastAddr": "Kringkastings Adresse", @@ -1498,7 +1547,25 @@ "connecting": "Kobler til...", "reconnecting": "Kobler til på nytt... ({{attempt}}/{{max}})", "reconnected": "Tilkoblet på nytt", + "tmuxSessionCreated": "opprettede tmux-økt: {{name}}", + "tmuxSessionAttached": "Tmux økt vedlagt: {{name}}", + "tmuxUnavailable": "tmux er ikke installert på den eksterne verten og faller tilbake til standard skall", + "tmuxSessionPickerTitle": "tmux økter", + "tmuxSessionPickerDesc": "Eksisterende tmux-økter funnet på denne verten. Velg en for å sende på nytt eller opprett en ny sesjon.", + "tmuxWindows": "Vinduer", + "tmuxWindowCount": "{{count}} vindu", + "tmuxWindowCount_other": "{{count}} vinduer", + "tmuxAttached": "Vedlagte klienter", + "tmuxAttachedCount": "{{count}} vedlagt", + "tmuxLastActivity": "Siste aktivitet", + "tmuxTimeJustNow": "akkurat nå", + "tmuxTimeMinutes": "{{count}}m siden", + "tmuxTimeHours": "{{count}}t siden", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start ny økt", + "tmuxCopyHint": "Juster utvelgelse og trykk på Enter for å kopiere fra utklippstavlen", "maxReconnectAttemptsReached": "Maks antall tilkoblingsforsøk nådd", + "closeTab": "Lukk", "connectionTimeout": "Tilkoblingstidsavbrudd", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal – {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Autentisering ble tidsavbrutt. Vennligst prøv igjen.", "opksshAuthFailed": "Godkjenning mislyktes. Kontroller påloggingsinformasjonen, og prøv på nytt.", "opksshConfigMissing": "OPKSSH konfigurasjon ikke funnet. Lag ~/.opk/config.yml med dine OIDC leverandørinnstillinger. Se dokumentasjon: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Logg inn med {{provider}}", "sudoPasswordPopupTitle": "Sette inn passord?", "sudoPasswordPopupHint": "Trykk på Enter for å sette inn, Esc for å fjerne", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Tilkobling avvist av serveren. Kontroller godkjennings- og nettverkskonfigurasjonen.", "hostKeyRejected": "SSH vertsnøkkelverifisering ble avvist. Tilkoblingen avbrutt.", "sessionTakenOver": "Økten ble åpnet i en annen fane. Koble til...", - "sessionAttachTimeout": "Sesjonsvedlegget ble tidsavbrutt. Opprett ny tilkobling..." + "sessionAttachTimeout": "Sesjonsvedlegget ble tidsavbrutt. Opprett ny tilkobling...", + "openFileManagerHere": "Åpne filbehandler her" }, "fileManager": { "title": "Filbehandler", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Fargemerking per filtype: mapper (rød), filer (blå), symlenker (grønn)", "commandAutocomplete": "Kommandoautofullføring", "commandAutocompleteDesc": "Aktiver Tab-autofullføring for terminalkommandoer basert på kommandologgen", + "commandHistoryTracking": "Lagre kommandoen historie", + "commandHistoryTrackingDesc": "Lagre terminalkommandoer i loggen for autofullfør og sidepanel. Deaktivert som standard for privatliv.", "defaultSnippetFoldersCollapsed": "Skjul støttemapper med standard", "defaultSnippetFoldersCollapsedDesc": "Når aktivert, vil alle utdragsmapper bli brutt sammen når du åpner snippet-fanen", "terminalSyntaxHighlighting": "Terminal syntaksutheving", @@ -2482,7 +2553,7 @@ "database": "Databasen", "healthy": "Frisk", "error": "Feil", - "totalServers": "Totalt antall servere", + "totalHosts": "Totalt antall verter", "totalTunnels": "Totalt antall tunneler", "totalCredentials": "Totalt antall legitimasjoner", "recentActivity": "Nylig aktivitet", diff --git a/src/locales/translated/pl_PL.json b/src/locales/translated/pl_PL.json index b6a0b0a6..3dd9bbc6 100644 --- a/src/locales/translated/pl_PL.json +++ b/src/locales/translated/pl_PL.json @@ -277,6 +277,19 @@ "copyTooltip": "Skopiuj fragment do schowka", "editTooltip": "Edytuj ten fragment", "deleteTooltip": "Usuń ten fragment", + "shareTooltip": "Udostępnij ten fragment", + "sharedWithYou": "Udostępnione", + "sharedBy": "Udostępnione przez {{username}}", + "shareSnippet": "Udostępnij Snippet", + "user": "Użytkownik", + "role": "Rola", + "selectTarget": "Wybierz...", + "currentAccess": "Bieżący dostęp", + "shareSuccess": "Snippet udostępniony pomyślnie", + "shareFailed": "Nie udało się udostępnić snippet", + "revokeSuccess": "Dostęp odwołany", + "revokeFailed": "Nie udało się odwołać dostępu", + "failedToLoadShareData": "Nie udało się załadować danych udostępniania", "newFolder": "Nowy folder", "reorderSameFolder": "Może zmienić kolejność fragmentów w tym samym folderze", "reorderSuccess": "Pomyślnie zmieniono kolejność fragmentów", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Wymagane uwierzytelnienie. Proszę odświeżyć stronę.", "dataAccessLockedReauth": "Dostęp do danych zablokowany. Proszę ponownie uwierzytelnić.", "loading": "Ładowanie historii poleceń...", - "error": "Błąd ładowania historii" + "error": "Błąd ładowania historii", + "disabledTitle": "Historia poleceń jest wyłączona", + "disabledDescription": "Włącz śledzenie historii poleceń w swoim profilu w ustawieniach wyglądu." }, "splitScreen": { "title": "Podziel ekran", @@ -510,6 +525,8 @@ "checkingDatabase": "Sprawdzanie połączenia z bazą danych...", "checkingAuthentication": "Sprawdzanie uwierzytelniania...", "backendReconnected": "Połączenie z serwerem przywrócone", + "connectionDegraded": "Połączenie z serwerem zostało utracone, odzyskiwanie…", + "reload": "Reload", "actions": "Akcje", "remove": "Usuń", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Skopiuj hasło Sudo", "passwordCopied": "Hasło skopiowane do schowka", "sudoPasswordCopied": "Hasło Sudo skopiowane do schowka", - "noPasswordAvailable": "Hasło nie jest dostępne" + "noPasswordAvailable": "Hasło nie jest dostępne", + "failedToCopyPassword": "Nie udało się skopiować hasła" }, "admin": { "title": "Ustawienia administratora", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Globalne ustawienia monitorowania zapisane", "failedToSaveGlobalSettings": "Nie udało się zapisać globalnych ustawień monitoringu", "failedToLoadGlobalSettings": "Nie udało się załadować globalnych ustawień monitoringu", + "sessionTimeout": "Limit czasu sesji", + "sessionTimeoutDesc": "Skonfiguruj jak długo sesje użytkownika trwają przed ponownym uwierzytelnieniem. Sesje \"Zapamiętaj mnie\" nie mają wpływu na sesje (zawsze 30 dni).", + "sessionTimeoutHours": "Czas trwania", + "hours": "godziny", + "sessionTimeoutNote": "Prawidłowy zakres: 1–720 godzin. Zmiany dotyczą tylko nowych sesji.", + "sessionTimeoutSaved": "Limit czasu sesji został zapisany", + "failedToSaveSessionTimeout": "Nie udało się zapisać limitu czasu sesji", "guacamoleIntegration": "Integracja zdalnego pulpitu (Guacamole)", "guacamoleIntegrationDesc": "Włącz połączenia RDP, VNC i Telnet przez guacd. Wymaga instancji guacd do uruchomienia.", "enableGuacamole": "Włącz obsługę RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Ustawienia Guacamole zapisane", "failedToSaveGuacamoleSettings": "Nie udało się zapisać ustawień guacamole", "failedToLoadGuacamoleSettings": "Nie udało się załadować ustawień guacamole", + "logLevel": "Poziom logowania", + "logLevelDesc": "Kontroluj werbosity dzienników serwera. Wyższe poziomy zmniejszają wyjście dziennika. Można również ustawić poprzez zmienną środowiskową LOG_LEVEL.", + "logVerbosity": "Zjawisko", + "logLevelNote": "Zmiany stają się natychmiastowe. Poziom debugowania może mieć wpływ na wydajność.", + "logLevelSaved": "Poziom dziennika zapisany", + "failedToSaveLogLevel": "Nie udało się zapisać poziomu dziennika", "clampedToValidRange": "został dostosowany do prawidłowego zakresu", "loadingSessions": "Ładowanie sesji...", "noActiveSessions": "Nie znaleziono aktywnych sesji.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} hosty", "importJson": "Importuj JSON", "importing": "Importowanie...", + "exportAllJson": "Eksportuj wszystko", + "exporting": "Eksportowanie...", + "exportedAllHosts": "Eksportowano hosty {{count}}", + "failedToExportAllHosts": "Nie udało się wyeksportować hostów. Upewnij się, że jesteś zalogowany i masz dostęp do danych hosta.", + "exportAllSensitiveWarning": "Wyeksportowany plik będzie zawierał poufne dane uwierzytelniania (hasło/klucze SSH) w polu tekstowym. Proszę zachować plik bezpieczny i usunąć go po użyciu.", "importJsonTitle": "Importuj hosty SSH z JSON", "importJsonDesc": "Prześlij plik JSON aby masowo zaimportować wiele hostów SSH (maksymalnie 100).", "downloadSample": "Pobierz próbkę", @@ -885,6 +921,11 @@ "guacamoleSettings": "Ustawienia zdalnego pulpitu", "organization": "Organizacja", "ipAddress": "Adres IP lub nazwa hosta", + "macAddress": "Adres MAC", + "macAddressDesc": "Dla Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Pakiet Wake-on-LAN wysłany", + "wolFailed": "Nie udało się wysłać pakietu Wake-on-LAN", "ipRequired": "Adres IP jest wymagany", "portRequired": "Port jest wymagany", "port": "Port", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Przeciągnij, aby przenieść się między folderami", "exportedHostConfig": "Eksportowano konfigurację hosta dla {{name}}", "openTerminal": "Otwórz terminal", + "openRdp": "Otwórz PROW", + "openVnc": "Otwórz VNC", + "openTelnet": "Otwórz Telnet", "openFileManager": "Otwórz menedżera plików", "openTunnels": "Otwórz tunele", "openServerDetails": "Otwórz szczegóły serwera", @@ -1159,6 +1203,10 @@ "noServerFound": "Nie znaleziono serwera", "jumpHostsOrder": "Połączenia zostaną wykonane w kolejności: Skok Host 1 → Skok Host 2 → ... → Serwer docelowy", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Odrzucenie portu", + "portKnockingDesc": "Wyślij sekwencję prób połączenia do określonych portów przed połączeniem. Używane do dynamicznego otwarcia reguł zapory.", + "addKnock": "Dodaj port", + "delayMs": "Opóźnienie", "socks5Description": "Skonfiguruj proxy SOCKS5 dla połączenia SSH. Cały ruch zostanie przekierowany przez określony serwer proxy.", "enableSocks5": "Włącz proxy SOCKS5", "enableSocks5Description": "Użyj proxy SOCKS5 dla tego połączenia SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Automatycznie uruchom polecenie MOSH przy połączeniu", "moshCommand": "Polecenie MOSH", "moshCommandDesc": "Polecenie MOSH do wykonania", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatycznie dołącz do istniejącej (lub rozpocznij nową) sesji tmux dla sesji trwałych i ciągłości między urządzeniami", "environmentVariables": "Zmienne środowiskowe", "environmentVariablesDesc": "Ustaw niestandardowe zmienne środowiskowe dla sesji terminala", "variableName": "Nazwa zmiennej", @@ -1442,7 +1492,6 @@ "excludeOutput": "Wyklucz dane wyjściowe", "excludeMouse": "Wyklucz mysz", "includeKeys": "Dołącz klucze", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Wyślij pakiet WoL", "wolMacAddr": "Adres MAC", "wolBroadcastAddr": "Adres nadawania", @@ -1481,7 +1530,7 @@ "closePanel": "Zamknij panel", "reconnect": "Połącz ponownie", "sessionEnded": "Sesja zakończona", - "connectionLost": "Połączenie utracone", + "connectionLost": "Utracono połączenie", "error": "BŁĄD: {{message}}", "disconnected": "Rozłączony", "connectionClosed": "Połączenie zamknięte", @@ -1498,7 +1547,25 @@ "connecting": "Łączenie...", "reconnecting": "Ponowne łączenie... ({{attempt}}/{{max}})", "reconnected": "Ponowne połączenie zakończone pomyślnie", + "tmuxSessionCreated": "Sesja tmux utworzona: {{name}}", + "tmuxSessionAttached": "Dołączono sesję tmuxa: {{name}}", + "tmuxUnavailable": "tmux nie jest zainstalowany na zdalnym serwerze, powrót do standardowej powłoki", + "tmuxSessionPickerTitle": "Sesje tmux", + "tmuxSessionPickerDesc": "Znaleziono istniejące sesje tmux na tym serwerze. Wybierz jedną, aby ponowić lub utworzyć nową sesję.", + "tmuxWindows": "Okna", + "tmuxWindowCount": "Okno {{count}}", + "tmuxWindowCount_other": "{{count}} okien", + "tmuxAttached": "Dołączone klienci", + "tmuxAttachedCount": "{{count}} dołączony", + "tmuxLastActivity": "Ostatnia aktywność", + "tmuxTimeJustNow": "właśnie teraz", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h temu", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Rozpocznij nową sesję", + "tmuxCopyHint": "Dostosuj zaznaczenie i naciśnij Enter, aby skopiować do schowka", "maxReconnectAttemptsReached": "Osiągnięto maksymalną liczbę prób ponownego połączenia", + "closeTab": "Zamknij", "connectionTimeout": "Limit czasu połączenia", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Upłynął limit czasu uwierzytelniania. Spróbuj ponownie.", "opksshAuthFailed": "Uwierzytelnianie nie powiodło się. Sprawdź swoje poświadczenia i spróbuj ponownie.", "opksshConfigMissing": "Konfiguracja OPKSSH nie została znaleziona. Proszę utworzyć ~/.opk/config.yml z ustawieniami dostawcy OIDC. Zobacz dokumentacja: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Zaloguj się za pomocą {{provider}}", "sudoPasswordPopupTitle": "Wprowadzić hasło?", "sudoPasswordPopupHint": "Naciśnij Enter, aby wstawić, Esc, aby odrzucić", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Połączenie odrzucone przez serwer. Sprawdź swoje uwierzytelnianie i konfigurację sieci.", "hostKeyRejected": "Weryfikacja klucza hosta SSH odrzucona. Połączenie anulowane.", "sessionTakenOver": "Sesja została otwarta w innej karcie. Ponowne łączenie...", - "sessionAttachTimeout": "Upłynął limit czasu załącznika sesji. Tworzenie nowego połączenia..." + "sessionAttachTimeout": "Upłynął limit czasu załącznika sesji. Tworzenie nowego połączenia...", + "openFileManagerHere": "Otwórz Menedżera Plików tutaj" }, "fileManager": { "title": "Menedżer plików", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Pliki kodów kolorów według typu: foldery (czerwone), pliki (niebieskie), dowiązania symboliczne (zielone)", "commandAutocomplete": "Autouzupełnianie polecenia", "commandAutocompleteDesc": "Włącz automatyczne uzupełnianie sugestii kluczy zakładek dla komend terminali w oparciu o historię poleceń", + "commandHistoryTracking": "Zapisz historię poleceń", + "commandHistoryTrackingDesc": "Przechowuj komendy terminala w historii na pasku autokolateralizacji i bocznym. Domyślnie wyłączone dla prywatności.", "defaultSnippetFoldersCollapsed": "Zwiń domyślnie foldery Snippet", "defaultSnippetFoldersCollapsedDesc": "Po włączeniu wszystkie foldery snippet zostaną zwinięte po otwarciu zakładki snippety", "terminalSyntaxHighlighting": "Podświetlanie składni terminalu", @@ -2482,7 +2553,7 @@ "database": "Baza danych", "healthy": "Zdrowe", "error": "Błąd", - "totalServers": "Wszystkie serwery", + "totalHosts": "Całkowita liczba hostów", "totalTunnels": "Całkowita liczba tuneli", "totalCredentials": "Łącznie dane logowania", "recentActivity": "Ostatnia aktywność", diff --git a/src/locales/translated/pt_BR.json b/src/locales/translated/pt_BR.json index 26fe6a9c..378db906 100644 --- a/src/locales/translated/pt_BR.json +++ b/src/locales/translated/pt_BR.json @@ -277,6 +277,19 @@ "copyTooltip": "Copiar snippet para área de transferência", "editTooltip": "Editar este trecho", "deleteTooltip": "Excluir este snippet", + "shareTooltip": "Compartilhar este snippet", + "sharedWithYou": "Compartilhado", + "sharedBy": "Compartilhado por {{username}}", + "shareSnippet": "Compartilhar Snippet", + "user": "Usuário", + "role": "Funções", + "selectTarget": "Selecionar...", + "currentAccess": "Acesso atual", + "shareSuccess": "Snippet compartilhado com sucesso", + "shareFailed": "Falha ao compartilhar snippet", + "revokeSuccess": "Acesso revogado", + "revokeFailed": "Falha ao revogar acesso", + "failedToLoadShareData": "Falha ao carregar dados de compartilhamento", "newFolder": "Adicionar uma pasta", "reorderSameFolder": "Só é possível reordenar snippets dentro da mesma pasta", "reorderSuccess": "Trechos reordenados com sucesso", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Autenticação necessária. Por favor, atualize a página.", "dataAccessLockedReauth": "Acesso aos dados bloqueado. Por favor, autentique-se novamente.", "loading": "Carregando histórico do comando...", - "error": "Erro ao Carregar Histórico" + "error": "Erro ao Carregar Histórico", + "disabledTitle": "Histórico de Comandos Desabilitado", + "disabledDescription": "Habilite o Rastreamento do Histórico do Comando no seu perfil nas configurações da aparência." }, "splitScreen": { "title": "Dividir a tela", @@ -510,6 +525,8 @@ "checkingDatabase": "Verificando conexão com o banco de dados...", "checkingAuthentication": "Verificando autenticação...", "backendReconnected": "Conexão do servidor restaurada", + "connectionDegraded": "Conexão do servidor perdida, recuperando…", + "reload": "Reload", "actions": "Ações.", "remove": "Excluir", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Copiar Senha do Sudo", "passwordCopied": "Senha copiada para área de transferência", "sudoPasswordCopied": "Senha sudo copiada para área de transferência", - "noPasswordAvailable": "Nenhuma senha disponível" + "noPasswordAvailable": "Nenhuma senha disponível", + "failedToCopyPassword": "Falha ao copiar a senha" }, "admin": { "title": "Configurações de administrador", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Configurações globais de monitoramento salvas", "failedToSaveGlobalSettings": "Falha ao salvar as configurações de monitoramento globais", "failedToLoadGlobalSettings": "Falha ao carregar as configurações de monitoramento globais", + "sessionTimeout": "Sessão expirada", + "sessionTimeoutDesc": "Configurar quanto tempo as sessões de usuário duram antes de exigir re-autenticação. 'Lembrar de mim' as sessões não afetadas (sempre 30 dias).", + "sessionTimeoutHours": "Duração do Tempo Limite", + "hours": "horas", + "sessionTimeoutNote": "Intervalo válido: 1-720 horas. As alterações aplicam-se somente às novas sessões.", + "sessionTimeoutSaved": "Timeout da sessão salvo", + "failedToSaveSessionTimeout": "Falha ao salvar tempo limite de sessão", "guacamoleIntegration": "Integração no Desktop Remoto (Guacamole)", "guacamoleIntegrationDesc": "Habilitar conexões RDP, VNC e Telnet via guacd. Requer uma instância de guacd para estar rodando.", "enableGuacamole": "Habilitar suporte a RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Configurações de Guacamole salvas", "failedToSaveGuacamoleSettings": "Falha ao salvar configurações do guacamole", "failedToLoadGuacamoleSettings": "Falha ao carregar as configurações do guacamole", + "logLevel": "Nível do Registro", + "logLevelDesc": "Controle a verbosidade dos logs do servidor. Níveis maiores reduzem a saída de log. Também pode ser definido através da variável de ambiente LOG_LEVEL.", + "logVerbosity": "Verbossidade", + "logLevelNote": "As alterações terão efeito imediatamente. O nível de depuração pode afetar o desempenho.", + "logLevelSaved": "Nível de log salvo", + "failedToSaveLogLevel": "Falha ao salvar nível de log", "clampedToValidRange": "foi ajustado para um intervalo válido", "loadingSessions": "Carregando sessões...", "noActiveSessions": "Não foram encontradas sessões ativas.", @@ -853,6 +884,11 @@ "hostsCount": "Hosts {{count}}", "importJson": "Importar JSON", "importing": "Importando...", + "exportAllJson": "Exportar tudo", + "exporting": "Exportando...", + "exportedAllHosts": "Hosts {{count}} exportados", + "failedToExportAllHosts": "Falha ao exportar hosts. Verifique se você está logado e tenha acesso aos dados do host.", + "exportAllSensitiveWarning": "O arquivo exportado conterá dados confidenciais de autenticação (senhas/chaves SSH) em texto simples. Mantenha o arquivo seguro e apague-o após o uso.", "importJsonTitle": "Importar o SSH Hosts do JSON", "importJsonDesc": "Carregar um arquivo JSON para importar em massa vários hosts SSH (máx. 100).", "downloadSample": "Baixar Exemplo", @@ -885,6 +921,11 @@ "guacamoleSettings": "Configurações de Desktop Remoto", "organization": "Cliente", "ipAddress": "Endereço IP ou Nome de Host", + "macAddress": "Endereço MAC", + "macAddressDesc": "Para Wake-on-LAN. Formato: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Pacote Wake-on-LAN enviado", + "wolFailed": "Falha ao enviar pacote Wake-on-LAN", "ipRequired": "O endereço IP é obrigatório", "portRequired": "Porta é obrigatória", "port": "Porta", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Arraste para mover entre as pastas", "exportedHostConfig": "Configuração host exportada para {{name}}", "openTerminal": "Abrir terminal", + "openRdp": "Abrir RDP", + "openVnc": "Abrir VNC", + "openTelnet": "Abrir Telnet", "openFileManager": "Abrir Gerenciador de Arquivos", "openTunnels": "Abrir túneis", "openServerDetails": "Abrir Detalhes do Servidor", @@ -1159,6 +1203,10 @@ "noServerFound": "Nenhum servidor encontrado", "jumpHostsOrder": "Conexões serão feitas em ordem: Saltar Host 1 → Jump Host 2 → ... → Servidor de destino", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Knocking de Porta", + "portKnockingDesc": "Envia uma sequência de tentativas de conexão a portas especificadas antes de se conectar. Usado para abrir as regras do firewall dinamicamente.", + "addKnock": "Adicionar Porta", + "delayMs": "Atraso", "socks5Description": "Configurar o proxy SOCKS5 para conexão SSH. Todo o tráfego será encaminhado através do servidor proxy especificado.", "enableSocks5": "Habilitar SOCKS5 Proxy", "enableSocks5Description": "Use o proxy SOCKS5 para esta conexão SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Executar o comando MOSH automaticamente ao conectar", "moshCommand": "Comando MOSH", "moshCommandDesc": "O comando MOSH para executar", + "autoTmux": "Auto-mutar", + "autoTmuxDesc": "Anexar automaticamente a uma sessão de tmux existente (ou iniciar uma nova) para sessões persistentes e continuidade entre dispositivos", "environmentVariables": "Variáveis de Ambiente", "environmentVariablesDesc": "Definir variáveis de ambiente personalizadas para a sessão do terminal", "variableName": "Nome da variável", @@ -1442,7 +1492,6 @@ "excludeOutput": "Excluir saída", "excludeMouse": "Excluir mouse", "includeKeys": "Incluir Chaves", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Enviar Pacote WoL", "wolMacAddr": "Endereço MAC", "wolBroadcastAddr": "Endereço de Transmissão", @@ -1481,7 +1530,7 @@ "closePanel": "Fechar Painel", "reconnect": "Reconectar", "sessionEnded": "Sessão Encerrada", - "connectionLost": "Conexão Perdida", + "connectionLost": "Conexão perdida", "error": "ERRO: {{message}}", "disconnected": "Desconectado", "connectionClosed": "Conexão fechada", @@ -1498,7 +1547,25 @@ "connecting": "Conectandochar@@0", "reconnecting": "Reconectando... ({{attempt}}/{{max}})", "reconnected": "Reconectado com sucesso", + "tmuxSessionCreated": "sessão tmux criada: {{name}}", + "tmuxSessionAttached": "sessão tmux anexada: {{name}}", + "tmuxUnavailable": "tmux não está instalado no host remoto, voltando ao shell padrão", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Sessões tmux existentes encontradas neste host. Selecione uma para reanexar ou criar uma nova sessão.", + "tmuxWindows": "Janelas", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "Janelas {{count}}", + "tmuxAttached": "Clientes anexados", + "tmuxAttachedCount": "{{count}} anexou", + "tmuxLastActivity": "Última atividade", + "tmuxTimeJustNow": "neste momento", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Iniciar nova sessão", + "tmuxCopyHint": "Ajustar seleção e pressione Enter para copiar para área de transferência", "maxReconnectAttemptsReached": "Máximo de tentativas de reconexão alcançadas", + "closeTab": "FECHAR", "connectionTimeout": "Conexão expirada", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Tempo de autenticação esgotado. Por favor, tente novamente.", "opksshAuthFailed": "Falha na autenticação. Por favor, verifique suas credenciais e tente novamente.", "opksshConfigMissing": "Configuração OPKSSH não encontrada. Por favor, crie ~/.opk/config.yml com as configurações do provedor OIDC. Veja documentação: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Entrar com {{provider}}", "sudoPasswordPopupTitle": "Inserir senha?", "sudoPasswordPopupHint": "Pressione Enter para inserir, Esc para dispensar", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Conexão rejeitada pelo servidor. Verifique sua autenticação e configuração de rede.", "hostKeyRejected": "Verificação de chave do host SSH rejeitada. Conexão cancelada.", "sessionTakenOver": "A sessão foi aberta em outra aba. Reconectando...", - "sessionAttachTimeout": "O anexo da sessão expirou. Criando nova conexão..." + "sessionAttachTimeout": "O anexo da sessão expirou. Criando nova conexão...", + "openFileManagerHere": "Abrir Gerenciador de Arquivos Aqui" }, "fileManager": { "title": "Gerenciador de Arquivos", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Arquivos de código de cor por tipo: pastas (vermelho), arquivos (azul), links simbólicos (verde)", "commandAutocomplete": "Auto-completar comando", "commandAutocompleteDesc": "Ativar sugestões de autocompletar da tecla de aba para comandos de terminal com base no seu histórico de comandos", + "commandHistoryTracking": "Salvar Histórico de Comandos", + "commandHistoryTrackingDesc": "Armazenar comandos do terminal no histórico para preenchimento automático e barra lateral. Desativado por padrão para privacidade.", "defaultSnippetFoldersCollapsed": "Recolher pastas de fragmentos por padrão", "defaultSnippetFoldersCollapsedDesc": "Quando ativado, todas as pastas de snippet serão recolhidas quando você abrir a aba de snippets", "terminalSyntaxHighlighting": "Realce de Sintaxe Terminal", @@ -2482,7 +2553,7 @@ "database": "Banco", "healthy": "Saudável", "error": "ERRO", - "totalServers": "Total de Servidores", + "totalHosts": "Hosts totais", "totalTunnels": "Total de túneis", "totalCredentials": "Credenciais totais", "recentActivity": "Atividade recente", diff --git a/src/locales/translated/pt_PT.json b/src/locales/translated/pt_PT.json index ca6609ec..db1d00fb 100644 --- a/src/locales/translated/pt_PT.json +++ b/src/locales/translated/pt_PT.json @@ -277,6 +277,19 @@ "copyTooltip": "Copiar snippet para área de transferência", "editTooltip": "Editar este trecho", "deleteTooltip": "Excluir este snippet", + "shareTooltip": "Compartilhar este snippet", + "sharedWithYou": "Compartilhado", + "sharedBy": "Compartilhado por {{username}}", + "shareSnippet": "Compartilhar Snippet", + "user": "Usuário", + "role": "Funções", + "selectTarget": "Selecionar...", + "currentAccess": "Acesso atual", + "shareSuccess": "Snippet compartilhado com sucesso", + "shareFailed": "Falha ao compartilhar snippet", + "revokeSuccess": "Acesso revogado", + "revokeFailed": "Falha ao revogar acesso", + "failedToLoadShareData": "Falha ao carregar dados de compartilhamento", "newFolder": "Adicionar uma pasta", "reorderSameFolder": "Só é possível reordenar snippets dentro da mesma pasta", "reorderSuccess": "Trechos reordenados com sucesso", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Autenticação necessária. Por favor, atualize a página.", "dataAccessLockedReauth": "Acesso aos dados bloqueado. Por favor, autentique-se novamente.", "loading": "Carregando histórico do comando...", - "error": "Erro ao Carregar Histórico" + "error": "Erro ao Carregar Histórico", + "disabledTitle": "Histórico de Comandos Desabilitado", + "disabledDescription": "Habilite o Rastreamento do Histórico do Comando no seu perfil nas configurações da aparência." }, "splitScreen": { "title": "Dividir a tela", @@ -510,6 +525,8 @@ "checkingDatabase": "Verificando conexão com o banco de dados...", "checkingAuthentication": "Verificando autenticação...", "backendReconnected": "Conexão do servidor restaurada", + "connectionDegraded": "Conexão do servidor perdida, recuperando…", + "reload": "Reload", "actions": "Ações.", "remove": "Excluir", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Copiar Senha do Sudo", "passwordCopied": "Senha copiada para área de transferência", "sudoPasswordCopied": "Senha sudo copiada para área de transferência", - "noPasswordAvailable": "Nenhuma senha disponível" + "noPasswordAvailable": "Nenhuma senha disponível", + "failedToCopyPassword": "Falha ao copiar a senha" }, "admin": { "title": "Configurações de administrador", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Configurações globais de monitoramento salvas", "failedToSaveGlobalSettings": "Falha ao salvar as configurações de monitoramento globais", "failedToLoadGlobalSettings": "Falha ao carregar as configurações de monitoramento globais", + "sessionTimeout": "Sessão expirada", + "sessionTimeoutDesc": "Configurar quanto tempo as sessões de usuário duram antes de exigir re-autenticação. 'Lembrar de mim' as sessões não afetadas (sempre 30 dias).", + "sessionTimeoutHours": "Duração do Tempo Limite", + "hours": "horas", + "sessionTimeoutNote": "Intervalo válido: 1-720 horas. As alterações aplicam-se somente às novas sessões.", + "sessionTimeoutSaved": "Timeout da sessão salvo", + "failedToSaveSessionTimeout": "Falha ao salvar tempo limite de sessão", "guacamoleIntegration": "Integração no Desktop Remoto (Guacamole)", "guacamoleIntegrationDesc": "Habilitar conexões RDP, VNC e Telnet via guacd. Requer uma instância de guacd para estar rodando.", "enableGuacamole": "Habilitar suporte a RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Configurações de Guacamole salvas", "failedToSaveGuacamoleSettings": "Falha ao salvar configurações do guacamole", "failedToLoadGuacamoleSettings": "Falha ao carregar as configurações do guacamole", + "logLevel": "Nível do Registro", + "logLevelDesc": "Controle a verbosidade dos logs do servidor. Níveis maiores reduzem a saída de log. Também pode ser definido através da variável de ambiente LOG_LEVEL.", + "logVerbosity": "Verbossidade", + "logLevelNote": "As alterações terão efeito imediatamente. O nível de depuração pode afetar o desempenho.", + "logLevelSaved": "Nível de log salvo", + "failedToSaveLogLevel": "Falha ao salvar nível de log", "clampedToValidRange": "foi ajustado para um intervalo válido", "loadingSessions": "Carregando sessões...", "noActiveSessions": "Não foram encontradas sessões ativas.", @@ -853,6 +884,11 @@ "hostsCount": "Hosts {{count}}", "importJson": "Importar JSON", "importing": "Importando...", + "exportAllJson": "Exportar tudo", + "exporting": "Exportando...", + "exportedAllHosts": "Hosts {{count}} exportados", + "failedToExportAllHosts": "Falha ao exportar hosts. Verifique se você está logado e tenha acesso aos dados do host.", + "exportAllSensitiveWarning": "O arquivo exportado conterá dados confidenciais de autenticação (senhas/chaves SSH) em texto simples. Mantenha o arquivo seguro e apague-o após o uso.", "importJsonTitle": "Importar o SSH Hosts do JSON", "importJsonDesc": "Carregar um arquivo JSON para importar em massa vários hosts SSH (máx. 100).", "downloadSample": "Baixar Exemplo", @@ -885,6 +921,11 @@ "guacamoleSettings": "Configurações de Desktop Remoto", "organization": "Cliente", "ipAddress": "Endereço IP ou Nome de Host", + "macAddress": "Endereço MAC", + "macAddressDesc": "Para Wake-on-LAN. Formato: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Pacote Wake-on-LAN enviado", + "wolFailed": "Falha ao enviar pacote Wake-on-LAN", "ipRequired": "O endereço IP é obrigatório", "portRequired": "Porta é obrigatória", "port": "Porta", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Arraste para mover entre as pastas", "exportedHostConfig": "Configuração host exportada para {{name}}", "openTerminal": "Abrir terminal", + "openRdp": "Abrir RDP", + "openVnc": "Abrir VNC", + "openTelnet": "Abrir Telnet", "openFileManager": "Abrir Gerenciador de Arquivos", "openTunnels": "Abrir túneis", "openServerDetails": "Abrir Detalhes do Servidor", @@ -1159,6 +1203,10 @@ "noServerFound": "Nenhum servidor encontrado", "jumpHostsOrder": "Conexões serão feitas em ordem: Saltar Host 1 → Jump Host 2 → ... → Servidor de destino", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Knocking de Porta", + "portKnockingDesc": "Envia uma sequência de tentativas de conexão a portas especificadas antes de se conectar. Usado para abrir as regras do firewall dinamicamente.", + "addKnock": "Adicionar Porta", + "delayMs": "Atraso", "socks5Description": "Configurar o proxy SOCKS5 para conexão SSH. Todo o tráfego será encaminhado através do servidor proxy especificado.", "enableSocks5": "Habilitar SOCKS5 Proxy", "enableSocks5Description": "Use o proxy SOCKS5 para esta conexão SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Executar o comando MOSH automaticamente ao conectar", "moshCommand": "Comando MOSH", "moshCommandDesc": "O comando MOSH para executar", + "autoTmux": "Auto-mutar", + "autoTmuxDesc": "Anexar automaticamente a uma sessão de tmux existente (ou iniciar uma nova) para sessões persistentes e continuidade entre dispositivos", "environmentVariables": "Variáveis de Ambiente", "environmentVariablesDesc": "Definir variáveis de ambiente personalizadas para a sessão do terminal", "variableName": "Nome da variável", @@ -1442,7 +1492,6 @@ "excludeOutput": "Excluir saída", "excludeMouse": "Excluir mouse", "includeKeys": "Incluir Chaves", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Enviar Pacote WoL", "wolMacAddr": "Endereço MAC", "wolBroadcastAddr": "Endereço de Transmissão", @@ -1481,7 +1530,7 @@ "closePanel": "Fechar Painel", "reconnect": "Reconectar", "sessionEnded": "Sessão Encerrada", - "connectionLost": "Conexão Perdida", + "connectionLost": "Conexão perdida", "error": "ERRO: {{message}}", "disconnected": "Desconectado", "connectionClosed": "Conexão fechada", @@ -1498,7 +1547,25 @@ "connecting": "Conectandochar@@0", "reconnecting": "Reconectando... ({{attempt}}/{{max}})", "reconnected": "Reconectado com sucesso", + "tmuxSessionCreated": "sessão tmux criada: {{name}}", + "tmuxSessionAttached": "sessão tmux anexada: {{name}}", + "tmuxUnavailable": "tmux não está instalado no host remoto, voltando ao shell padrão", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Sessões tmux existentes encontradas neste host. Selecione uma para reanexar ou criar uma nova sessão.", + "tmuxWindows": "Janelas", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "Janelas {{count}}", + "tmuxAttached": "Clientes anexados", + "tmuxAttachedCount": "{{count}} anexou", + "tmuxLastActivity": "Última atividade", + "tmuxTimeJustNow": "neste momento", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Iniciar nova sessão", + "tmuxCopyHint": "Ajustar seleção e pressione Enter para copiar para área de transferência", "maxReconnectAttemptsReached": "Máximo de tentativas de reconexão alcançadas", + "closeTab": "FECHAR", "connectionTimeout": "Conexão expirada", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Tempo de autenticação esgotado. Por favor, tente novamente.", "opksshAuthFailed": "Falha na autenticação. Por favor, verifique suas credenciais e tente novamente.", "opksshConfigMissing": "Configuração OPKSSH não encontrada. Por favor, crie ~/.opk/config.yml com as configurações do provedor OIDC. Veja documentação: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Entrar com {{provider}}", "sudoPasswordPopupTitle": "Inserir senha?", "sudoPasswordPopupHint": "Pressione Enter para inserir, Esc para dispensar", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Conexão rejeitada pelo servidor. Verifique sua autenticação e configuração de rede.", "hostKeyRejected": "Verificação de chave do host SSH rejeitada. Conexão cancelada.", "sessionTakenOver": "A sessão foi aberta em outra aba. Reconectando...", - "sessionAttachTimeout": "O anexo da sessão expirou. Criando nova conexão..." + "sessionAttachTimeout": "O anexo da sessão expirou. Criando nova conexão...", + "openFileManagerHere": "Abrir Gerenciador de Arquivos Aqui" }, "fileManager": { "title": "Gerenciador de Arquivos", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Arquivos de código de cor por tipo: pastas (vermelho), arquivos (azul), links simbólicos (verde)", "commandAutocomplete": "Auto-completar comando", "commandAutocompleteDesc": "Ativar sugestões de autocompletar da tecla de aba para comandos de terminal com base no seu histórico de comandos", + "commandHistoryTracking": "Salvar Histórico de Comandos", + "commandHistoryTrackingDesc": "Armazenar comandos do terminal no histórico para preenchimento automático e barra lateral. Desativado por padrão para privacidade.", "defaultSnippetFoldersCollapsed": "Recolher pastas de fragmentos por padrão", "defaultSnippetFoldersCollapsedDesc": "Quando ativado, todas as pastas de snippet serão recolhidas quando você abrir a aba de snippets", "terminalSyntaxHighlighting": "Realce de Sintaxe Terminal", @@ -2482,7 +2553,7 @@ "database": "Banco", "healthy": "Saudável", "error": "ERRO", - "totalServers": "Total de Servidores", + "totalHosts": "Hosts totais", "totalTunnels": "Total de túneis", "totalCredentials": "Credenciais totais", "recentActivity": "Atividade recente", diff --git a/src/locales/translated/ro_RO.json b/src/locales/translated/ro_RO.json index fb509d3e..0688e657 100644 --- a/src/locales/translated/ro_RO.json +++ b/src/locales/translated/ro_RO.json @@ -277,6 +277,19 @@ "copyTooltip": "Copiază snippet în clipboard", "editTooltip": "Editează acest snippet", "deleteTooltip": "Șterge acest snippet", + "shareTooltip": "Distribuie acest snippet", + "sharedWithYou": "Partajat", + "sharedBy": "Partajat de {{username}}", + "shareSnippet": "Distribuie fragmentul", + "user": "Utilizator", + "role": "Rol", + "selectTarget": "Selectare...", + "currentAccess": "Acces curent", + "shareSuccess": "Snippet partajat cu succes", + "shareFailed": "Distribuire snippet eșuată", + "revokeSuccess": "Acces revocat", + "revokeFailed": "Eroare la revocarea accesului", + "failedToLoadShareData": "Încărcarea partajării datelor a eșuat", "newFolder": "Dosar nou", "reorderSameFolder": "Poți reordona doar fragmente în același dosar", "reorderSuccess": "Snippet-uri reordonate cu succes", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Autentificare necesară. Reîmprospătați pagina.", "dataAccessLockedReauth": "Acces la date blocat. Te rugăm să re-autentifici.", "loading": "Se încarcă istoricul comenzilor...", - "error": "Eroare încărcare istoric" + "error": "Eroare încărcare istoric", + "disabledTitle": "Istoricul comenzilor este dezactivat", + "disabledDescription": "Activează urmărirea istoricului de comenzi în profilul tău sub setările de afișare." }, "splitScreen": { "title": "Ecran Divizat", @@ -510,6 +525,8 @@ "checkingDatabase": "Verificare conexiune la baza de date...", "checkingAuthentication": "Verificare autentificare...", "backendReconnected": "Conexiune server restaurată", + "connectionDegraded": "Conexiune la server pierdută, se recuperează…", + "reload": "Reload", "actions": "Acțiuni", "remove": "Elimină", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Copiază parola Sudo", "passwordCopied": "Parola a fost copiată în clipboard", "sudoPasswordCopied": "Parolă Sudo copiată în clipboard", - "noPasswordAvailable": "Nici o parolă disponibilă" + "noPasswordAvailable": "Nici o parolă disponibilă", + "failedToCopyPassword": "Copierea parolei a eșuat" }, "admin": { "title": "Setări Admin", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Setări de monitorizare globale salvate", "failedToSaveGlobalSettings": "Salvarea setărilor globale de monitorizare a eșuat", "failedToLoadGlobalSettings": "Încărcarea setărilor globale de monitorizare a eșuat", + "sessionTimeout": "Timeout sesiune", + "sessionTimeoutDesc": "Configurați durata sesiunilor utilizatorilor înainte de a necesita re-autentificare. Sesiunile 'Ține-mă minte' nu sunt afectate (întotdeauna 30 de zile).", + "sessionTimeoutHours": "Durată de expirare", + "hours": "ore", + "sessionTimeoutNote": "Interval valabil: 1-720 ore. Modificările se aplică numai pentru sesiunile noi.", + "sessionTimeoutSaved": "Sepire sesiune salvată", + "failedToSaveSessionTimeout": "Salvarea sesiunii a eșuat", "guacamoleIntegration": "Integrarea Desktop la distanță (Guacamole)", "guacamoleIntegrationDesc": "Activează conexiunile RDP, VNC și Telnet prin intermediul guacd. Necesită o instanță de ghacd pentru a rula.", "enableGuacamole": "Activează suport RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Setări Guacamole salvate", "failedToSaveGuacamoleSettings": "Salvarea setărilor guacamole a eșuat", "failedToLoadGuacamoleSettings": "Încărcarea setărilor guacamol a eșuat", + "logLevel": "Nivel jurnal", + "logLevelDesc": "Controlează gravitatea jurnalelor de server. Niveluri mai mari reduc randamentul jurnalului. De asemenea, poate fi setat prin variabila de mediu LOG_LEVEL.", + "logVerbosity": "Verbosity", + "logLevelNote": "Modificările au efect imediat. Nivelul de depanare poate afecta performanța.", + "logLevelSaved": "Nivel jurnal salvat", + "failedToSaveLogLevel": "Salvarea jurnalului a eșuat", "clampedToValidRange": "a fost ajustat la un interval valid", "loadingSessions": "Se încarcă sesiunile...", "noActiveSessions": "Nici o sesiune activă găsită.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} gazdă", "importJson": "Importă JSON", "importing": "Importare...", + "exportAllJson": "Exportă tot", + "exporting": "Exportare...", + "exportedAllHosts": "{{count}} gazde exportate", + "failedToExportAllHosts": "Exportarea gazdei a eșuat. Te rugăm să te asiguri că ești conectat și că ai acces la datele gazdei.", + "exportAllSensitiveWarning": "Fișierul exportat va conține date sensibile de autentificare (parole/cheile SSH) în plaintext. Vă rugăm păstrați fișierul securizat și ștergeți-l după utilizare.", "importJsonTitle": "Importă gazde SSH din JSON", "importJsonDesc": "Încărcați un fișier JSON pentru a importa mai multe gazde SSH (max 100).", "downloadSample": "Descarcă eșantion", @@ -885,6 +921,11 @@ "guacamoleSettings": "Setări Desktop la distanță", "organization": "Organizație", "ipAddress": "Adresă IP sau nume gazdă", + "macAddress": "Adresă MAC", + "macAddressDesc": "Pentru Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Pornit-de-LAN", + "wolSent": "Pachet ake-on-LAN trimis", + "wolFailed": "Trimiterea pachetului Wake-on-LAN a eșuat", "ipRequired": "Adresa IP este necesară", "portRequired": "Portul este necesar", "port": "Portul", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Trageți pentru a muta între dosare", "exportedHostConfig": "Configurare gazdă exportată pentru {{name}}", "openTerminal": "Deschide Terminalul", + "openRdp": "Deschide RDP", + "openVnc": "Deschide VNC", + "openTelnet": "Telefon deschis", "openFileManager": "Deschide managerul de fişiere", "openTunnels": "Deschide tuneluri", "openServerDetails": "Deschide detaliile serverului", @@ -1159,6 +1203,10 @@ "noServerFound": "Nici un server găsit", "jumpHostsOrder": "Conexiunile vor fi făcute în ordine: Salt Gazda 1 → Jump Gazdă 2 → ... → Server ţintă", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Ciorna portului", + "portKnockingDesc": "Trimite o secvență de conexiuni la porturile specificate înainte de conectare. Folosit pentru a deschide regulile firewall-ului dinamic.", + "addKnock": "Adaugă port", + "delayMs": "Întârziere", "socks5Description": "Configurați proxy SOCKS5 pentru conexiunea SSH. Tot traficul va fi direcționat prin serverul proxy specificat.", "enableSocks5": "Activează SOCKS5 Proxy", "enableSocks5Description": "Utilizați proxy SOCKS5 pentru această conexiune SSH", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Execută automat comanda MOSH la conectare", "moshCommand": "Comanda MOSH", "moshCommandDesc": "Comanda MOSH de executat", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Atașează automat la o sesiune existentă (sau începe o nouă) de tmux pentru sesiuni persistente și continuitate dispozitive încrucișate", "environmentVariables": "Variabile de mediu", "environmentVariablesDesc": "Setați variabile de mediu personalizate pentru terminalul sesiunii", "variableName": "Denumire variabilă", @@ -1442,7 +1492,6 @@ "excludeOutput": "Exclude ieșirea", "excludeMouse": "Exclude mouse", "includeKeys": "Include chei", - "wakeOnLan": "Pornit-de-LAN", "sendWolPacket": "Trimite Pachet Lemn", "wolMacAddr": "Adresă MAC", "wolBroadcastAddr": "Adresă difuzare", @@ -1481,7 +1530,7 @@ "closePanel": "Închide panoul", "reconnect": "Reconectare", "sessionEnded": "Sesiune încheiată", - "connectionLost": "Conexiune pierduta", + "connectionLost": "Conexiune pierdută", "error": "EROARE: {{message}}", "disconnected": "Deconectat", "connectionClosed": "Conexiune închisă", @@ -1498,7 +1547,25 @@ "connecting": "Conectare...", "reconnecting": "Reconectare... ({{attempt}}/{{max}})", "reconnected": "Reconectat cu succes", + "tmuxSessionCreated": "sesiune tmux creată: {{name}}", + "tmuxSessionAttached": "sesiune tmux atașată: {{name}}", + "tmuxUnavailable": "tmux nu este instalat pe gazda telecomandei, revenind la shell standard", + "tmuxSessionPickerTitle": "Sesiuni tmux", + "tmuxSessionPickerDesc": "Sesiuni tmux existente găsite pe această gazdă. Selectați una pentru a reatașa sau pentru a crea o sesiune nouă.", + "tmuxWindows": "Ferestre", + "tmuxWindowCount": "{{count}} fereastră", + "tmuxWindowCount_other": "{{count}} ferestre", + "tmuxAttached": "Clienți atașați", + "tmuxAttachedCount": "{{count}} atașat", + "tmuxLastActivity": "Ultima activitate", + "tmuxTimeJustNow": "chiar acum", + "tmuxTimeMinutes": "{{count}}m în urmă", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d acum", + "tmuxCreateNew": "Începe o sesiune nouă", + "tmuxCopyHint": "Reglaţi selecţia şi apăsaţi Enter pentru a copia în clipboard", "maxReconnectAttemptsReached": "Reconexiunea maximă a fost atinsă", + "closeTab": "Inchide", "connectionTimeout": "Conexiune expirată", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Autentificarea a expirat. Încercați din nou.", "opksshAuthFailed": "Autentificare eșuată. Te rugăm să verifici acreditările și să încerci din nou.", "opksshConfigMissing": "Configurația OPKSSH nu a fost găsită. Vă rugăm să creați ~/.opk/config.yml cu setările furnizorului OIDC. Vedeți documentația: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Conectați-vă cu {{provider}}", "sudoPasswordPopupTitle": "Introduceți parola?", "sudoPasswordPopupHint": "Apăsați Enter pentru inserare, Esc pentru a respinge", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Conexiune respinsă de server. Verificați autentificarea și configurarea rețelei.", "hostKeyRejected": "Verificarea cheii gazdă SSH a fost respinsă. Conexiune anulată.", "sessionTakenOver": "Sesiunea a fost deschisă într-o altă filă. Reconectare...", - "sessionAttachTimeout": "Atașarea sesiunii a expirat. Se creează o nouă conexiune..." + "sessionAttachTimeout": "Atașarea sesiunii a expirat. Se creează o nouă conexiune...", + "openFileManagerHere": "Deschide managerul de fişiere aici" }, "fileManager": { "title": "Manager fişiere", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Fişiere cu coduri de culoare după tipul: dosare (roşii), fişiere (albastru), link-uri simetric (verde)", "commandAutocomplete": "Comanda Autocompletare", "commandAutocompleteDesc": "Activează sugestiile de autocompletare a tastelor Tab pentru comenzile terminale bazate pe istoricul comenzilor tale", + "commandHistoryTracking": "Salvează istoricul comenzilor", + "commandHistoryTrackingDesc": "Magazin terminal comenzi în istoric pentru autocompletare și bară laterală. Dezactivate implicit pentru confidențialitate.", "defaultSnippetFoldersCollapsed": "Restrânge implicit dosarele Snippet", "defaultSnippetFoldersCollapsedDesc": "Când este activată, toate dosarele snippet-ului vor fi prăbușite când deschideți fila snippet-uri", "terminalSyntaxHighlighting": "Evidențiere sintaxă terminal", @@ -2482,7 +2553,7 @@ "database": "Baza de date", "healthy": "sănătos", "error": "Eroare", - "totalServers": "Total Servere", + "totalHosts": "Total gazde", "totalTunnels": "Total tuneluri", "totalCredentials": "Total acreditări", "recentActivity": "Activitate recentă", diff --git a/src/locales/translated/ru_RU.json b/src/locales/translated/ru_RU.json index 74b9b235..c4f3369e 100644 --- a/src/locales/translated/ru_RU.json +++ b/src/locales/translated/ru_RU.json @@ -63,7 +63,7 @@ "keyTypeECDSA": "ECDSA", "keyTypeEd25519": "Ed25519", "basicInfo": "Основная информация", - "authentication": "Проверка подлинности", + "authentication": "Аутентификация", "organization": "Организация", "basicInformation": "Основная информация", "basicInformationDescription": "Введите основную информацию для этого учетных данных", @@ -164,8 +164,8 @@ "detectingKeyType": "обнаружение...", "optional": "Опционально", "generateKeyPairNew": "Создать новую пару ключей", - "generateEd25519": "Генерировать Ed25519", - "generateECDSA": "Создать ECDSA", + "generateEd25519": "Сгенерировать Ed25519", + "generateECDSA": "Сгенерировать ECDSA", "generateRSA": "Сгенерировать RSA", "keyTypeEcdsaP256": "ECDSA P-256 (SSH)", "keyTypeEcdsaP384": "ECDSA P-384 (SSH)", @@ -203,7 +203,7 @@ "keyType": "Тип ключа", "uploadFile": "Загрузить файл", "pasteKey": "Вставить ключ", - "credential": "Полномочия", + "credential": "Учётные данные", "overrideUsername": "Переопределить имя пользователя", "overrideUsernameDesc": "Используйте другое имя пользователя, чем тот, который хранится в учетных данных", "connectTerminal": "Подключиться к терминалу", @@ -215,7 +215,7 @@ "connectionEstablished": "Соединение успешно установлено", "connectionFailed": "Не удалось установить соединение", "autoDetect": "Автоопределение", - "authentication": "Проверка подлинности" + "authentication": "Аутентификация" }, "dragIndicator": { "error": "Ошибка: {{error}}", @@ -277,6 +277,19 @@ "copyTooltip": "Копировать сниппет в буфер обмена", "editTooltip": "Редактировать этот сниппет", "deleteTooltip": "Удалить этот сниппет", + "shareTooltip": "Поделиться сниппетом", + "sharedWithYou": "Общий доступ", + "sharedBy": "Поделились {{username}}", + "shareSnippet": "Поделиться сниппетом", + "user": "Пользователь", + "role": "Роль", + "selectTarget": "Выбрать...", + "currentAccess": "Текущий доступ", + "shareSuccess": "Сниппет успешно поделился", + "shareFailed": "Не удалось поделиться сниппетом", + "revokeSuccess": "Доступ отозван", + "revokeFailed": "Не удалось отменить доступ", + "failedToLoadShareData": "Не удалось загрузить данные обмена", "newFolder": "Новая папка", "reorderSameFolder": "Можно изменять порядок фрагментов только в той же папке", "reorderSuccess": "Порядок сниппетов успешно изменен", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Требуется аутентификация. Пожалуйста, обновите страницу.", "dataAccessLockedReauth": "Доступ к данным заблокирован. Пожалуйста, повторите аутентификацию.", "loading": "Загрузка истории команд...", - "error": "Ошибка загрузки истории" + "error": "Ошибка загрузки истории", + "disabledTitle": "История команд отключена", + "disabledDescription": "Включите отслеживание команд в вашем профиле в настройках внешнего вида." }, "splitScreen": { "title": "Разделить экран", @@ -331,8 +346,8 @@ "twoSplit": "2 плитки", "threeSplit": "3 плитки", "fourSplit": "4 плитки", - "fiveSplit": "5-ти сторонний", - "sixSplit": "6-ти линии", + "fiveSplit": "5 плиток", + "sixSplit": "6 плиток", "availableTabs": "Доступные вкладки", "dragTabsHint": "Перетащите вкладки в ячейки макета, чтобы назначить их", "layout": "Разделить расположение экрана", @@ -508,8 +523,10 @@ "retry": "Повторить", "checking": "Проверка...", "checkingDatabase": "Проверка подключения к базе данных...", - "checkingAuthentication": "Проверка подлинности...", + "checkingAuthentication": "Проверка аутентификации...", "backendReconnected": "Соединение с сервером восстановлено", + "connectionDegraded": "Соединение с сервером потеряно, восстановление…", + "reload": "Reload", "actions": "Действия", "remove": "Удалить", "revoke": "Revoke", @@ -519,7 +536,7 @@ "nav": { "home": "Домашний", "hosts": "Узлы", - "credentials": "Полномочия", + "credentials": "Учетные данные", "terminal": "Терминал", "docker": "Докер", "tunnels": "Туннели", @@ -541,7 +558,8 @@ "copySudoPassword": "Скопировать пароль Sudo", "passwordCopied": "Пароль скопирован в буфер обмена", "sudoPasswordCopied": "Sudo пароль скопирован в буфер обмена", - "noPasswordAvailable": "Пароль не доступен" + "noPasswordAvailable": "Пароль не доступен", + "failedToCopyPassword": "Не удалось скопировать пароль" }, "admin": { "title": "Админ настройки", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Глобальные настройки мониторинга сохранены", "failedToSaveGlobalSettings": "Не удалось сохранить глобальные настройки мониторинга", "failedToLoadGlobalSettings": "Не удалось загрузить глобальные настройки мониторинга", + "sessionTimeout": "Таймаут сессии", + "sessionTimeoutDesc": "Настройка продолжительности сессий пользователя до повторной аутентификации. Не влияет на сеансы (всегда 30 дней).", + "sessionTimeoutHours": "Время ожидания", + "hours": "часов", + "sessionTimeoutNote": "Действующий диапазон - 1–720 часов. Изменения применяются только к новым сессиям.", + "sessionTimeoutSaved": "Таймаут сессии сохранен", + "failedToSaveSessionTimeout": "Не удалось сохранить тайм-аут сессии", "guacamoleIntegration": "Удаленная интеграция рабочего стола (Guacamole)", "guacamoleIntegrationDesc": "Включить соединения RDP, VNC и Telnet через guacd. Для работы требуется guacd.", "enableGuacamole": "Включить поддержку RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Настройки Guacamole сохранены", "failedToSaveGuacamoleSettings": "Не удалось сохранить настройки guacamole", "failedToLoadGuacamoleSettings": "Не удалось загрузить настройки guacamole", + "logLevel": "Уровень журнала", + "logLevelDesc": "Управление подробностью логов сервера. Более высокие уровни снижают выход журналов. Также может быть установлен с помощью переменной окружения LOG_LEVEL.", + "logVerbosity": "Свердость", + "logLevelNote": "Изменения вступают в силу немедленно. Уровень отладки может повлиять на производительность.", + "logLevelSaved": "Журнал сохранен", + "failedToSaveLogLevel": "Не удалось сохранить уровень журнала", "clampedToValidRange": "был скорректирован на действительный диапазон", "loadingSessions": "Загрузка сессий...", "noActiveSessions": "Активные сессии не найдены.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} узлов", "importJson": "Импорт JSON", "importing": "Импортируем...", + "exportAllJson": "Экспортировать все", + "exporting": "Экспортируется...", + "exportedAllHosts": "Экспортировано узлов {{count}}", + "failedToExportAllHosts": "Не удалось экспортировать узлы. Пожалуйста, убедитесь, что вы вошли в систему и имеете доступ к данным хоста.", + "exportAllSensitiveWarning": "Экспортированный файл будет содержать конфиденциальные данные проверки подлинности (пароли / SSH ключи) в обычном тексте. Пожалуйста, сохраните файл в безопасности и удалите его после использования.", "importJsonTitle": "Импорт хостов SSH из JSON", "importJsonDesc": "Загрузите JSON файл для массового импорта нескольких SSH хостов (максимум 100).", "downloadSample": "Скачать образец", @@ -879,18 +915,23 @@ "connectionType": "Тип соединения", "ssh": "SSH", "rdp": "RDP", - "vnc": "ВНК", + "vnc": "VNC", "telnet": "Telnet", "remoteDesktop": "Удаленный рабочий стол", "guacamoleSettings": "Настройки удаленного рабочего стола", "organization": "Организация", "ipAddress": "IP-адрес или имя хоста", + "macAddress": "MAC адрес", + "macAddressDesc": "Для Wake-on-LAN. Формат: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Пакет Wake-on-LAN отправлен", + "wolFailed": "Не удалось отправить пакет Wake-on-LAN", "ipRequired": "Требуется IP-адрес", "portRequired": "Требуется порт", "port": "Порт", "name": "Наименование", "username": "Имя пользователя", - "usernameRequired": "Требуется имя пользователя (только SSH/Telne)", + "usernameRequired": "Требуется имя пользователя (только SSH/Telnet)", "folder": "Папка", "tags": "Теги", "pin": "Закрепить", @@ -961,17 +1002,17 @@ "restartSshService": "Затем перезапустите службу SSH:", "restartSshCommand": "sudo systemctl перезапуск sshd", "upload": "Выгрузить", - "authentication": "Проверка подлинности", + "authentication": "Аутентификация", "password": "Пароль", "key": "Ключ", - "credential": "Полномочия", + "credential": "Учётные данные", "none": "Нет", "opkssh": "OPKSSH", "opksshAuthDescription": "Запрашивает OPKSSH авторизацию при каждом подключении. Ваш токен авторизации будет длиться 24 часа, пока он не будет продлен.", "selectCredential": "Выберите учетные данные", "selectCredentialPlaceholder": "Выберите учетные данные...", "credentialRequired": "Учетные данные требуются при использовании аутентификации", - "credentialDescription": "Выбор учетных данных перезапишет текущее имя пользователя и использует данные проверки подлинности.", + "credentialDescription": "Выбор учетных данных заменит текущее имя пользователя и будет использовать данные аутентификации, указанные в этих учетных данных.", "cannotChangeAuthAsSharedUser": "Невозможно изменить аутентификацию как общего пользователя", "sshPrivateKey": "SSH закрытый ключ", "keyPassword": "Пароль ключа", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Перетащите между папками", "exportedHostConfig": "Экспортированная конфигурация хоста для {{name}}", "openTerminal": "Открыть терминал", + "openRdp": "Открыть RDP", + "openVnc": "Открыть VNC", + "openTelnet": "Открыть Telnet", "openFileManager": "Открыть файловый менеджер", "openTunnels": "Открытые туннели", "openServerDetails": "Открыть детали сервера", @@ -1088,9 +1132,9 @@ "selectTheme": "Выберите тему", "chooseColorTheme": "Выберите цвет темы для терминала", "fontFamily": "Семейство шрифтов", - "selectFont": "Select font", + "selectFont": "Выбор шрифта", "selectFontDesc": "Выберите шрифт для использования в терминале", - "fontSize": "Font Size", + "fontSize": "Размер шрифта", "fontSizeValue": "Размер шрифта: {{value}}px", "adjustFontSize": "Изменить размер шрифта терминала", "letterSpacing": "Интервал букв", @@ -1159,6 +1203,10 @@ "noServerFound": "Сервер не найден", "jumpHostsOrder": "Соединения будут сделаны в порядке: Прыжок 1 → Прыжок Хост 2 → ... → Целевой сервер", "socks5Proxy": "SOCKS5 прокси", + "portKnocking": "Летание портов", + "portKnockingDesc": "Отправить последовательность попыток подключения на указанные порты перед подключением. Используется для динамического открытия правил брандмауэра.", + "addKnock": "Добавить порт", + "delayMs": "Задержка", "socks5Description": "Настроить SOCKS5 прокси для SSH соединения. Весь трафик будет маршрутизирован через указанный прокси-сервер.", "enableSocks5": "Включить SOCKS5 прокси", "enableSocks5Description": "Использовать SOCKS5 прокси для этого SSH соединения", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Автоматически запускать команду MOSH при подключении", "moshCommand": "Команда MOSH", "moshCommandDesc": "MOSH команда для выполнения", + "autoTmux": "Авто-тмукс", + "autoTmuxDesc": "Автоматически прикреплять к существующей (или начать новый) tmux сессии для постоянных сессий и непрерывности перекрёстного устройства", "environmentVariables": "Переменные окружения", "environmentVariablesDesc": "Установить пользовательские переменные окружения для терминального сеанса", "variableName": "Имя переменной", @@ -1383,11 +1433,11 @@ "ignoreCertDesc": "Пропустить проверку сертификата TLS для этого подключения", "displaySettings": "Настройки отображения", "colorDepth": "Глубина цвета", - "width": "Width", + "width": "Ширина", "height": "Высота", - "dpi": "ДОИ", + "dpi": "DPI", "resizeMethod": "Изменить размер", - "forceLossless": "Неустрашимый", + "forceLossless": "Без потерь", "audioSettings": "Настройки звука", "disableAudio": "Отключить звук", "enableAudioInput": "Включить аудио ввод", @@ -1401,7 +1451,7 @@ "disableBitmapCaching": "Отключить кэширование изображений", "disableOffscreenCaching": "Отключить кэширование", "disableGlyphCaching": "Отключить кэширование символов", - "enableGfx": "Enable GFX", + "enableGfx": "Включить GFX", "deviceRedirection": "Перенаправление устройства", "enablePrinting": "Включить печать", "enableDrive": "Включить перенаправление диска", @@ -1410,15 +1460,15 @@ "createDrivePath": "Создать путь к диску", "disableDownload": "Отключить загрузку", "disableUpload": "Отключить загрузку", - "enableTouch": "Включить касание", + "enableTouch": "Включить сенсорное управление", "rdpSession": "Сессия", "clientName": "Имя Клиента", "consoleSession": "Сеанс консоли", "initialProgram": "Начальная программа", "serverLayout": "Раскладка клавиатуры сервера", - "timezone": "Timezone", + "timezone": "Временная зона", "gatewaySettings": "Шлюз", - "gatewayHostname": "Gateway Hostname", + "gatewayHostname": "Хостнейм шлюза", "gatewayPort": "Порт шлюза", "gatewayUsername": "Имя пользователя шлюза", "gatewayPassword": "Пароль шлюза", @@ -1442,19 +1492,18 @@ "excludeOutput": "Исключить вывод", "excludeMouse": "Исключить мышь", "includeKeys": "Включить ключи", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Отправить пакет WoL", "wolMacAddr": "MAC адрес", "wolBroadcastAddr": "Адрес трансляции", - "wolUdpPort": "UDP Port", + "wolUdpPort": "UDP порт", "wolWaitTime": "Время ожидания (секунд)", "connectionSettings": "Настройки соединения", "rdpOnly": "Только RDP", "vncOnly": "Только VNC", "telnetTerminalSettings": "Настройки терминала", "terminalType": "Тип терминала", - "guacFontName": "Font Name", - "guacFontSize": "Font Size", + "guacFontName": "Название шрифта", + "guacFontSize": "Размер шрифта", "guacColorScheme": "Цветовая схема", "guacBackspaceKey": "Ключ Backspace" }, @@ -1489,7 +1538,7 @@ "connected": "Подключено", "clipboardWriteFailed": "Не удалось скопировать в буфер обмена. Убедитесь, что страница отправляется через HTTPS или localhost.", "clipboardReadFailed": "Не удалось прочитать из буфера обмена. Убедитесь, что права доступа предоставлены.", - "clipboardHttpWarning": "Вставить требует HTTPS. Используйте Ctrl+Shift+V или используйте Termix по HTTPS.", + "clipboardHttpWarning": "Вставка требует HTTPS. Используйте Ctrl+Shift+V или используйте Termix по HTTPS.", "sshConnected": "SSH соединение установлено", "authError": "Ошибка аутентификации: {{message}}", "unknownError": "Произошла неизвестная ошибка", @@ -1498,7 +1547,25 @@ "connecting": "Подключение...", "reconnecting": "Переподключение... ({{attempt}}/{{max}})", "reconnected": "Переподключено успешно", + "tmuxSessionCreated": "сеанс tmux создан: {{name}}", + "tmuxSessionAttached": "прикрепленный сеанс tmux: {{name}}", + "tmuxUnavailable": "tmux не установлен на удаленном хосте, возвращаясь к стандартной оболочке", + "tmuxSessionPickerTitle": "tmux сеансы", + "tmuxSessionPickerDesc": "Найденные на этом узле сеансы tmux. Выберите один для повторного присоединения или создания новой сессии.", + "tmuxWindows": "Окна", + "tmuxWindowCount": "{{count}} окно", + "tmuxWindowCount_other": "{{count}} окон", + "tmuxAttached": "Прикрепленные клиенты", + "tmuxAttachedCount": "{{count}} прикреплен", + "tmuxLastActivity": "Последнее действие", + "tmuxTimeJustNow": "только что", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Начать новую сессию", + "tmuxCopyHint": "Настройте выделение и нажмите Enter для копирования в буфер обмена", "maxReconnectAttemptsReached": "Достигнуто максимальное число попыток восстановления соединения", + "closeTab": "Закрыть", "connectionTimeout": "Таймаут подключения", "terminalTitle": "Терминал - {{host}}", "terminalWithPath": "Терминал - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Истекло время аутентификации. Попробуйте еще раз.", "opksshAuthFailed": "Аутентификация не удалась. Проверьте учетные данные и повторите попытку.", "opksshConfigMissing": "OPKSSH конфигурация не найдена. Пожалуйста, создайте ~/.opk/config.yml с вашими настройками OIDC провайдера. См. документацию: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Войти с помощью {{provider}}", "sudoPasswordPopupTitle": "Вставить пароль?", "sudoPasswordPopupHint": "Нажмите Enter для вставки, Esc для отключения", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Соединение отклонено сервером. Проверьте вашу аутентификацию и конфигурацию сети.", "hostKeyRejected": "Проверка SSH ключа хоста отклонена. Соединение отменено.", "sessionTakenOver": "Сессия была открыта в другой вкладке. Повторное подключение...", - "sessionAttachTimeout": "Истекло время ожидания вложений сессии. Создание нового соединения..." + "sessionAttachTimeout": "Истекло время ожидания вложений сессии. Создание нового соединения...", + "openFileManagerHere": "Открыть файловый менеджер здесь" }, "fileManager": { "title": "Файловый менеджер", @@ -2105,7 +2174,7 @@ "sshKeyPasswordDescription": "Если ваш SSH ключ зашифрован, введите здесь ключевую фразу.", "step1ScanQR": "Шаг 1: Отсканируйте QR-код с вашим приложением-аутентификатором", "manualEntryCode": "Код входа вручную", - "cannotScanQRText": "Если вы не можете сканировать QR-код, введите этот код вручную в приложении для проверки подлинности", + "cannotScanQRText": "Если вы не можете сканировать QR-код, введите этот код вручную в приложении аутентификатора", "nextVerifyCode": "Далее: Проверить код", "verifyAuthenticator": "Подтвердите ваш аутентификатор", "step2EnterCode": "Шаг 2: Введите 6-значный код из вашего приложения-аутентификатора", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Файлы с цветовым кодом по типу: папки (красный), файлы (синий), символьные ссылки (зеленый)", "commandAutocomplete": "Автозаполнение команды", "commandAutocompleteDesc": "Включите подсказки по автозаполнению клавиш Tab для команд терминалов на основе истории команд", + "commandHistoryTracking": "Сохранить историю команд", + "commandHistoryTrackingDesc": "Хранить команды терминала в истории автозаполнения и боковой панели. Отключено по умолчанию для приватности.", "defaultSnippetFoldersCollapsed": "Свернуть папки сниппетов по умолчанию", "defaultSnippetFoldersCollapsedDesc": "Если включено, все папки сниппетов будут свернуты при открытии вкладки сниппетов", "terminalSyntaxHighlighting": "Подсветка синтаксиса терминала", @@ -2419,7 +2490,7 @@ "addHost": "Добавить хост", "editHost": "Изменить хост", "pinConnection": "Прикрепить соединение", - "authentication": "Проверка подлинности", + "authentication": "Аутентификация", "password": "Пароль", "key": "Ключ", "sshPrivateKey": "SSH закрытый ключ", @@ -2480,11 +2551,11 @@ "updateAvailable": "Доступно обновление", "uptime": "Время работы", "database": "База данных", - "healthy": "Здоровые", + "healthy": "Исправен", "error": "Ошибка", - "totalServers": "Всего серверов", + "totalHosts": "Всего хостов", "totalTunnels": "Всего туннелей", - "totalCredentials": "Полномочия", + "totalCredentials": "Всего учетных данных", "recentActivity": "Недавняя активность", "reset": "Reset", "loadingRecentActivity": "Загрузка недавней активности...", @@ -2658,7 +2729,7 @@ "cannotShareWithSelf": "Невозможно поделиться узлом с самим собой", "noCustomRolesToAssign": "Пользовательские роли недоступны. Системные роли назначаются автоматически.", "credentialSharingWarning": "Аутентификация учетных данных не поддерживается для общего доступа", - "credentialRequired": "Полномочия требуются при совместном использовании узла", + "credentialRequired": "Для совместного использования хоста требуются учетные данные", "credentialRequiredDescription": "Этот хост не использует аутентификацию на основе учётных данных. Чтобы поделиться хостами из-за шифрования для каждого пользователя, хост должен использовать аутентификацию на основе учетных данных.", "auditLogs": "Журнал аудита", "viewAuditLogs": "Просмотр журналов аудита", diff --git a/src/locales/translated/sr_SP.json b/src/locales/translated/sr_SP.json index 60809dcb..8c343a8f 100644 --- a/src/locales/translated/sr_SP.json +++ b/src/locales/translated/sr_SP.json @@ -277,6 +277,19 @@ "copyTooltip": "Копирај исечак у међуспремник", "editTooltip": "Измените овај исечак", "deleteTooltip": "Обриши овај исечак", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "Нова фасцикла", "reorderSameFolder": "Могуће је променити редослед исечака само унутар исте фасцикле", "reorderSuccess": "Редослед исечака је успешно промењен", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Потребна је аутентификација. Освежите страницу.", "dataAccessLockedReauth": "Приступ подацима је закључан. Молимо вас да поново извршите аутентификацију.", "loading": "Учитавање историје команди...", - "error": "Грешка при учитавању историје" + "error": "Грешка при учитавању историје", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "Подељени екран", @@ -510,6 +525,8 @@ "checkingDatabase": "Провера везе са базом података...", "checkingAuthentication": "Провера аутентификације...", "backendReconnected": "Веза са сервером је враћена", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "Акције", "remove": "Уклони", "revoke": "Поништи", @@ -541,7 +558,8 @@ "copySudoPassword": "Копирај Судо лозинку", "passwordCopied": "Лозинка је копирана у међуспремник", "sudoPasswordCopied": "Лозинка за судо је копирана у међуспремник", - "noPasswordAvailable": "Није доступна лозинка" + "noPasswordAvailable": "Није доступна лозинка", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "Администраторска подешавања", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Подешавања глобалног праћења сачувана", "failedToSaveGlobalSettings": "Чување подешавања глобалног праћења није успело", "failedToLoadGlobalSettings": "Учитавање подешавања глобалног праћења није успело", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "Интеграција са удаљеном радном површином (Гуакамоле)", "guacamoleIntegrationDesc": "Омогућите RDP, VNC и Telnet везе путем guacd-а. Потребно је да инстанца guacd-а буде покренута.", "enableGuacamole": "Омогући подршку за RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Подешавања за гуакамоле су сачувана", "failedToSaveGuacamoleSettings": "Чување подешавања за гвакамоле није успело", "failedToLoadGuacamoleSettings": "Учитавање подешавања за гвакамоле није успело", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "је прилагођено важећем опсегу", "loadingSessions": "Учитавање сесија...", "noActiveSessions": "Није пронађена ниједна активна сесија.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} домаћини", "importJson": "Увези JSON", "importing": "Увоз...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "Увези SSH хостове из JSON-а", "importJsonDesc": "Отпремите JSON датотеку да бисте групно увезли више SSH хостова (максимално 100).", "downloadSample": "Преузми узорак", @@ -885,6 +921,11 @@ "guacamoleSettings": "Подешавања удаљене радне површине", "organization": "Организација", "ipAddress": "IP адреса или име хоста", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "IP адреса је обавезна", "portRequired": "Порт је потребан", "port": "Лука", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Превуците да бисте се кретали између фасцикли", "exportedHostConfig": "Извезена конфигурација хоста за {{name}}", "openTerminal": "Отвори терминал", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "Отвори менаџер датотека", "openTunnels": "Отворени тунели", "openServerDetails": "Отвори детаље сервера", @@ -1159,6 +1203,10 @@ "noServerFound": "Није пронађен сервер", "jumpHostsOrder": "Везе ће бити успостављене редом: Скок на хост 1 → Скок на хост 2 → ... → Циљни сервер", "socks5Proxy": "SOCKS5 прокси", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "Конфигуришите SOCKS5 прокси за SSH везу. Сав саобраћај ће бити усмерен преко наведеног прокси сервера.", "enableSocks5": "Омогући SOCKS5 прокси", "enableSocks5Description": "Користите SOCKS5 прокси за ову SSH везу", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Аутоматски покрени MOSH команду при повезивању", "moshCommand": "MOSH команда", "moshCommandDesc": "MOSH команда коју треба извршити", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "Променљиве окружења", "environmentVariablesDesc": "Подесите прилагођене променљиве окружења за терминалну сесију", "variableName": "Назив променљиве", @@ -1442,7 +1492,6 @@ "excludeOutput": "Искључи излаз", "excludeMouse": "Искључи миш", "includeKeys": "Укључи кључеве", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Пошаљи WoL пакет", "wolMacAddr": "MAC адреса", "wolBroadcastAddr": "Адреса за емитовање", @@ -1481,7 +1530,7 @@ "closePanel": "Затвори панел", "reconnect": "Поново се повежите", "sessionEnded": "Сесија је завршена", - "connectionLost": "Веза је прекинута", + "connectionLost": "Connection lost", "error": "ГРЕШКА: {{message}}", "disconnected": "Искључено", "connectionClosed": "Веза је затворена", @@ -1498,7 +1547,25 @@ "connecting": "Повезивање...", "reconnecting": "Поновно повезивање... ({{attempt}}/{{max}})", "reconnected": "Поново повезано успешно", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "Достигнут је максималан број покушаја поновног повезивања", + "closeTab": "Close", "connectionTimeout": "Временско ограничење везе", "terminalTitle": "Терминал - {{host}}", "terminalWithPath": "Терминал - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Временско ограничење за аутентификацију је истекло. Молимо покушајте поново.", "opksshAuthFailed": "Аутентификација није успела. Проверите своје акредитиве и покушајте поново.", "opksshConfigMissing": "Конфигурација OPKSSH није пронађена. Молимо вас да креирате ~/.opk/config.yml са подешавањима вашег OIDC провајдера. Погледајте документацију: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Унети лозинку?", "sudoPasswordPopupHint": "Притисните Enter да бисте унели, Esc да бисте одбацили", "sudoPasswordPopupConfirm": "Уметни", @@ -1546,7 +1614,8 @@ "connectionRejected": "Сервер је одбио везу. Проверите аутентификацију и конфигурацију мреже.", "hostKeyRejected": "Верификација SSH кључа хоста је одбијена. Веза је отказана.", "sessionTakenOver": "Сесија је отворена у другој картици. Поновно повезивање...", - "sessionAttachTimeout": "Временско ограничење за прилог сесије је истекло. Прављење нове везе..." + "sessionAttachTimeout": "Временско ограничење за прилог сесије је истекло. Прављење нове везе...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "Менаџер датотека", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Означите датотеке бојама по типу: фасцикле (црвена), датотеке (плава), симболичке везе (зелена)", "commandAutocomplete": "Аутоматско довршавање команди", "commandAutocompleteDesc": "Омогућите предлоге за аутоматско довршавање помоћу тастера Tab за команде терминала на основу историје команди", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "Сакриј фасцикле исечака подразумевано", "defaultSnippetFoldersCollapsedDesc": "Када је омогућено, све фасцикле са исечцима ће бити сажете када отворите картицу са исечцима", "terminalSyntaxHighlighting": "Истицање синтаксе терминала", @@ -2482,7 +2553,7 @@ "database": "База података", "healthy": "Здраво", "error": "Грешка", - "totalServers": "Укупан број сервера", + "totalHosts": "Total Hosts", "totalTunnels": "Укупан број тунела", "totalCredentials": "Укупан број акредитива", "recentActivity": "Недавне активности", diff --git a/src/locales/translated/sv_SE.json b/src/locales/translated/sv_SE.json index 1ba31aa8..bb53cf41 100644 --- a/src/locales/translated/sv_SE.json +++ b/src/locales/translated/sv_SE.json @@ -277,6 +277,19 @@ "copyTooltip": "Kopiera textmodulen till urklipp", "editTooltip": "Redigera denna snippet", "deleteTooltip": "Ta bort denna snippet", + "shareTooltip": "Dela den här textmodulen", + "sharedWithYou": "Delad", + "sharedBy": "Delad av {{username}}", + "shareSnippet": "Dela textmodulen", + "user": "Användare", + "role": "Roll", + "selectTarget": "Välj...", + "currentAccess": "Aktuell åtkomst", + "shareSuccess": "Textmodulen delades framgångsrikt", + "shareFailed": "Misslyckades att dela snippet", + "revokeSuccess": "Åtkomst återkallad", + "revokeFailed": "Det gick inte att återkalla åtkomst", + "failedToLoadShareData": "Det gick inte att ladda delningsdata", "newFolder": "Ny mapp", "reorderSameFolder": "Kan bara ordna om textmoduler i samma mapp", "reorderSuccess": "Textmoduler omordnade framgångsrikt", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Autentisering krävs. Uppdatera sidan.", "dataAccessLockedReauth": "Dataåtkomst låst. Vänligen autentisera.", "loading": "Laddar kommandohistorik...", - "error": "Fel vid inläsning av historik" + "error": "Fel vid inläsning av historik", + "disabledTitle": "Kommandohistorik är inaktiverad", + "disabledDescription": "Aktivera kommandohistorik spårning i din profil under Utseendeinställningar." }, "splitScreen": { "title": "Delad skärm", @@ -510,6 +525,8 @@ "checkingDatabase": "Kontrollerar databasanslutning...", "checkingAuthentication": "Kontrollerar autentisering...", "backendReconnected": "Serveranslutning återställd", + "connectionDegraded": "Serveranslutning förlorad, återställer…", + "reload": "Reload", "actions": "Åtgärder", "remove": "Radera", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Kopiera Sudo lösenord", "passwordCopied": "Lösenord kopierat till urklipp", "sudoPasswordCopied": "Sudo lösenord kopierat till urklipp", - "noPasswordAvailable": "Inget lösenord tillgängligt" + "noPasswordAvailable": "Inget lösenord tillgängligt", + "failedToCopyPassword": "Det gick inte att kopiera lösenord" }, "admin": { "title": "Administratörsinställningar", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Globala övervakningsinställningar sparade", "failedToSaveGlobalSettings": "Det gick inte att spara globala övervakningsinställningar", "failedToLoadGlobalSettings": "Det gick inte att ladda globala övervakningsinställningar", + "sessionTimeout": "Timeout för sessionen", + "sessionTimeoutDesc": "Konfigurera hur långa användarsessioner som dröjer innan du behöver re-autentisering. 'Kom ihåg mig' sessioner påverkas inte (alltid 30 dagar).", + "sessionTimeoutHours": "Tidsåtgång Varaktighet", + "hours": "timmar", + "sessionTimeoutNote": "Giltigt intervall: 1–720 timmar. Ändringar gäller endast för nya sessioner.", + "sessionTimeoutSaved": "Sessionens timeout sparad", + "failedToSaveSessionTimeout": "Det gick inte att spara sessionens timeout", "guacamoleIntegration": "Integration med fjärrskrivbord (Guacamole)", "guacamoleIntegrationDesc": "Aktivera RDP, VNC och Telnet anslutningar via guacd. Kräver en guacd instans för att köras.", "enableGuacamole": "Aktivera stöd för RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamole-inställningar sparade", "failedToSaveGuacamoleSettings": "Det gick inte att spara guacamole-inställningar", "failedToLoadGuacamoleSettings": "Det gick inte att ladda guacamole-inställningar", + "logLevel": "Loggnivå", + "logLevelDesc": "Styr verbositeten hos serverloggar. Högre nivåer minskar utmatningen av loggar. Kan också ställas in via miljövariabeln LOG_LEVEL.", + "logVerbosity": "Verbositet", + "logLevelNote": "Ändringar träder i kraft omedelbart. Felsökningsnivån kan påverka prestanda.", + "logLevelSaved": "Loggnivå sparad", + "failedToSaveLogLevel": "Det gick inte att spara loggnivån", "clampedToValidRange": "justerades till giltigt intervall", "loadingSessions": "Laddar sessioner...", "noActiveSessions": "Inga aktiva sessioner hittades.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} värdar", "importJson": "Importera JSON", "importing": "Importerar...", + "exportAllJson": "Exportera alla", + "exporting": "exporterar...", + "exportedAllHosts": "Exporterade {{count}} värdar", + "failedToExportAllHosts": "Det gick inte att exportera värdar. Se till att du är inloggad och har tillgång till värddata.", + "exportAllSensitiveWarning": "Den exporterade filen kommer att innehålla känslig autentiseringsdata (lösenord/SSH-nycklar) i klartext. Håll filen säker och ta bort den efter användning.", "importJsonTitle": "Importera SSH-värdar från JSON", "importJsonDesc": "Ladda upp en JSON-fil till bulk importera flera SSH-värdar (max 100).", "downloadSample": "Ladda ner exempel", @@ -885,6 +921,11 @@ "guacamoleSettings": "Inställningar för fjärrskrivbord", "organization": "Organisation", "ipAddress": "IP-adress eller värdnamn", + "macAddress": "MAC adress", + "macAddressDesc": "För Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN-paket skickat", + "wolFailed": "Det gick inte att skicka Wake-on-LAN-paketet", "ipRequired": "IP-adress krävs", "portRequired": "Port krävs", "port": "Port", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Dra för att flytta mellan mappar", "exportedHostConfig": "Exporterad värdkonfiguration för {{name}}", "openTerminal": "Öppna Terminal", + "openRdp": "Öppna RDP", + "openVnc": "Öppna VNC", + "openTelnet": "Öppna Telnet", "openFileManager": "Öppna filhanteraren", "openTunnels": "Öppna tunnlar", "openServerDetails": "Öppna serverdetaljer", @@ -1159,6 +1203,10 @@ "noServerFound": "Ingen server hittades", "jumpHostsOrder": "Anslutningar kommer att göras i ordning: Hoppa Host 1 → Hoppa Host 2 → ... → Målserver", "socks5Proxy": "SOCKS5-proxy", + "portKnocking": "Port knackning", + "portKnockingDesc": "Skicka en sekvens av anslutningsförsök till angivna portar innan du ansluter. Används för att öppna brandväggsregler dynamiskt.", + "addKnock": "Lägg till port", + "delayMs": "Fördröjning", "socks5Description": "Konfigurera SOCKS5-proxy för SSH-anslutning. All trafik kommer att dirigeras via den angivna proxyservern.", "enableSocks5": "Aktivera SOCKS5-proxy", "enableSocks5Description": "Använd SOCKS5-proxy för denna SSH-anslutning", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Kör automatiskt MOSH-kommandot vid connect", "moshCommand": "MOSH-kommando", "moshCommandDesc": "MOSH-kommandot att köra", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Koppla automatiskt till en befintlig (eller starta en ny) tmux-session för ihållande sessioner och kontinuitet mellan enheter", "environmentVariables": "Miljövariabler", "environmentVariablesDesc": "Ange anpassade miljövariabler för terminalsessionen", "variableName": "Variabelt namn", @@ -1442,7 +1492,6 @@ "excludeOutput": "Exkludera utdata", "excludeMouse": "Exkludera mus", "includeKeys": "Inkludera nycklar", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Skicka WoL-paket", "wolMacAddr": "MAC adress", "wolBroadcastAddr": "Sändnings adress", @@ -1498,7 +1547,25 @@ "connecting": "Ansluter...", "reconnecting": "Återansluter... ({{attempt}}/{{max}})", "reconnected": "Återansluten framgångsrikt", + "tmuxSessionCreated": "tmux-session skapad: {{name}}", + "tmuxSessionAttached": "tmux session bifogad: {{name}}", + "tmuxUnavailable": "tmux är inte installerat på fjärrvärden, faller tillbaka till standard skal", + "tmuxSessionPickerTitle": "tmux sessioner", + "tmuxSessionPickerDesc": "Befintliga tmux-sessioner hittades på den här värden. Välj en för att ansluta eller skapa en ny session.", + "tmuxWindows": "Fönster", + "tmuxWindowCount": "{{count}} fönster", + "tmuxWindowCount_other": "{{count}} fönster", + "tmuxAttached": "Bifogade klienter", + "tmuxAttachedCount": "{{count}} bifogad", + "tmuxLastActivity": "Senaste aktivitet", + "tmuxTimeJustNow": "just nu", + "tmuxTimeMinutes": "{{count}}m sedan", + "tmuxTimeHours": "{{count}}h sedan", + "tmuxTimeDays": "{{count}}d sedan", + "tmuxCreateNew": "Starta ny session", + "tmuxCopyHint": "Justera markering och tryck Enter för att kopiera till urklipp", "maxReconnectAttemptsReached": "Maximalt antal återanslutningsförsök har uppnåtts", + "closeTab": "Stäng", "connectionTimeout": "Tidsgräns för anslutning", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Autentisering gick ut. Försök igen.", "opksshAuthFailed": "Autentisering misslyckades. Kontrollera dina uppgifter och försök igen.", "opksshConfigMissing": "OPKSSH-konfigurationen hittades inte. Vänligen skapa ~/.opk/config.yml med dina OIDC-leverantörsinställningar. Se dokumentation: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Logga in med {{provider}}", "sudoPasswordPopupTitle": "Infoga lösenord?", "sudoPasswordPopupHint": "Tryck Enter för att infoga Esc för att avfärda", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "Anslutning avvisad av servern. Kontrollera din autentisering och nätverkskonfiguration.", "hostKeyRejected": "Verifiering av SSH-värdnyckel avvisad. Anslutningen avbröts.", "sessionTakenOver": "Sessionen öppnades i en annan flik. Återansluter...", - "sessionAttachTimeout": "Sessionsbilaga gick ut. Skapar ny anslutning..." + "sessionAttachTimeout": "Sessionsbilaga gick ut. Skapar ny anslutning...", + "openFileManagerHere": "Öppna filhanteraren här" }, "fileManager": { "title": "Filhanterare", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Färgkodfiler efter typ: mappar (röda), filer (blå), symlänkar (grön)", "commandAutocomplete": "Kommandot Autokomplettering", "commandAutocompleteDesc": "Aktivera Tab-tangenten automatiskt komplettera förslag för terminalkommandon baserat på din kommandohistorik", + "commandHistoryTracking": "Spara kommandohistorik", + "commandHistoryTrackingDesc": "Lagra terminalkommandon i historiken för autocomplete och sidofält. Inaktiverad som standard för sekretess.", "defaultSnippetFoldersCollapsed": "Komprimera textmodul-mappar som standard", "defaultSnippetFoldersCollapsedDesc": "När aktiverad, kommer alla textmodul-mappar att kollapsa när du öppnar textmodul-fliken", "terminalSyntaxHighlighting": "Terminal syntax markering", @@ -2482,7 +2553,7 @@ "database": "Databas", "healthy": "Friska", "error": "Fel", - "totalServers": "Totalt antal servrar", + "totalHosts": "Totalt antal värdar", "totalTunnels": "Totalt antal tunnlar", "totalCredentials": "Totalt antal uppgifter", "recentActivity": "Senaste aktivitet", diff --git a/src/locales/translated/th_TH.json b/src/locales/translated/th_TH.json index deb05bec..d16ad145 100644 --- a/src/locales/translated/th_TH.json +++ b/src/locales/translated/th_TH.json @@ -277,6 +277,19 @@ "copyTooltip": "คัดลอกข้อความไปยังคลิปบอร์ด", "editTooltip": "แก้ไขส่วนนี้", "deleteTooltip": "ลบส่วนนี้ออก", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "โฟลเดอร์ใหม่", "reorderSameFolder": "สามารถจัดเรียงลำดับข้อความใหม่ได้เฉพาะภายในโฟลเดอร์เดียวกันเท่านั้น", "reorderSuccess": "เรียงลำดับส่วนย่อยใหม่สำเร็จแล้ว", @@ -323,7 +336,9 @@ "authRequiredRefresh": "จำเป็นต้องยืนยันตัวตน โปรดรีเฟรชหน้าเว็บ", "dataAccessLockedReauth": "การเข้าถึงข้อมูลถูกล็อก โปรดยืนยันตัวตนอีกครั้ง", "loading": "กำลังโหลดประวัติคำสั่ง...", - "error": "เกิดข้อผิดพลาดในการโหลดประวัติ" + "error": "เกิดข้อผิดพลาดในการโหลดประวัติ", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "แบ่งหน้าจอ", @@ -510,6 +525,8 @@ "checkingDatabase": "กำลังตรวจสอบการเชื่อมต่อฐานข้อมูล...", "checkingAuthentication": "กำลังตรวจสอบการยืนยันตัวตน...", "backendReconnected": "การเชื่อมต่อเซิร์ฟเวอร์กลับมาใช้งานได้แล้ว", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "การกระทำ", "remove": "ลบ", "revoke": "ถอน", @@ -541,7 +558,8 @@ "copySudoPassword": "คัดลอกรหัสผ่าน Sudo", "passwordCopied": "คัดลอกรหัสผ่านไปยังคลิปบอร์ดแล้ว", "sudoPasswordCopied": "คัดลอกรหัสผ่าน Sudo ไปยังคลิปบอร์ดแล้ว", - "noPasswordAvailable": "ไม่มีรหัสผ่านให้ใช้งาน" + "noPasswordAvailable": "ไม่มีรหัสผ่านให้ใช้งาน", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "การตั้งค่าผู้ดูแลระบบ", @@ -808,6 +826,13 @@ "globalSettingsSaved": "บันทึกการตั้งค่าการตรวจสอบทั่วโลกแล้ว", "failedToSaveGlobalSettings": "ไม่สามารถบันทึกการตั้งค่าการตรวจสอบทั่วโลกได้", "failedToLoadGlobalSettings": "ไม่สามารถโหลดการตั้งค่าการตรวจสอบทั่วโลกได้", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "การผสานรวมเดสก์ท็อประยะไกล (กัวคาโมเล่)", "guacamoleIntegrationDesc": "เปิดใช้งานการเชื่อมต่อ RDP, VNC และ Telnet ผ่าน guacd จำเป็นต้องมีอินสแตนซ์ guacd ที่กำลังทำงานอยู่", "enableGuacamole": "เปิดใช้งานการสนับสนุน RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "บันทึกการตั้งค่า Guacamole แล้ว", "failedToSaveGuacamoleSettings": "ไม่สามารถบันทึกการตั้งค่ากัวคาโมเล่ได้", "failedToLoadGuacamoleSettings": "ไม่สามารถโหลดการตั้งค่ากัวคาโมเล่ได้", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "ได้รับการปรับให้อยู่ในช่วงที่ถูกต้อง", "loadingSessions": "กำลังโหลดเซสชัน...", "noActiveSessions": "ไม่พบเซสชันที่ใช้งานอยู่", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} โฮสต์", "importJson": "นำเข้า JSON", "importing": "กำลังนำเข้า...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "นำเข้าโฮสต์ SSH จากไฟล์ JSON", "importJsonDesc": "อัปโหลดไฟล์ JSON เพื่อนำเข้าโฮสต์ SSH หลายรายการพร้อมกัน (สูงสุด 100 รายการ)", "downloadSample": "ดาวน์โหลดตัวอย่าง", @@ -885,6 +921,11 @@ "guacamoleSettings": "การตั้งค่าเดสก์ท็อประยะไกล", "organization": "องค์กร", "ipAddress": "ที่อยู่ IP หรือชื่อโฮสต์", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "ปลุกเครื่องผ่าน LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "จำเป็นต้องระบุที่อยู่ IP", "portRequired": "จำเป็นต้องระบุพอร์ต", "port": "ท่าเรือ", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "ลากเพื่อย้ายระหว่างโฟลเดอร์", "exportedHostConfig": "ส่งออกการกำหนดค่าโฮสต์สำหรับ {{name}}", "openTerminal": "เปิดเทอร์มินัล", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "เปิดตัวจัดการไฟล์", "openTunnels": "อุโมงค์เปิด", "openServerDetails": "ดูรายละเอียดเซิร์ฟเวอร์", @@ -1159,6 +1203,10 @@ "noServerFound": "ไม่พบเซิร์ฟเวอร์", "jumpHostsOrder": "การเชื่อมต่อจะเกิดขึ้นตามลำดับ: โฮสต์กระโดด 1 → โฮสต์กระโดด 2 → ... → เซิร์ฟเวอร์เป้าหมาย", "socks5Proxy": "พร็อกซี SOCKS5", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "ตั้งค่าพร็อกซี SOCKS5 สำหรับการเชื่อมต่อ SSH การรับส่งข้อมูลทั้งหมดจะถูกส่งผ่านเซิร์ฟเวอร์พร็อกซีที่ระบุไว้", "enableSocks5": "เปิดใช้งานพร็อกซี SOCKS5", "enableSocks5Description": "ใช้พร็อกซี SOCKS5 สำหรับการเชื่อมต่อ SSH นี้", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "เรียกใช้คำสั่ง MOSH โดยอัตโนมัติเมื่อเชื่อมต่อ", "moshCommand": "กองบัญชาการ MOSH", "moshCommandDesc": "คำสั่ง MOSH ที่จะดำเนินการ", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "ตัวแปรสภาพแวดล้อม", "environmentVariablesDesc": "ตั้งค่าตัวแปรสภาพแวดล้อมแบบกำหนดเองสำหรับเซสชันเทอร์มินัล", "variableName": "ชื่อตัวแปร", @@ -1442,7 +1492,6 @@ "excludeOutput": "ไม่รวมผลลัพธ์", "excludeMouse": "ไม่รวมเมาส์", "includeKeys": "รวมกุญแจ", - "wakeOnLan": "ปลุกเครื่องผ่าน LAN", "sendWolPacket": "ส่งแพ็กเก็ต WoL", "wolMacAddr": "ที่อยู่ MAC", "wolBroadcastAddr": "ที่อยู่กระจายเสียง", @@ -1481,7 +1530,7 @@ "closePanel": "ปิดแผงควบคุม", "reconnect": "เชื่อมต่อใหม่", "sessionEnded": "สิ้นสุดการประชุม", - "connectionLost": "การเชื่อมต่อขาดหาย", + "connectionLost": "Connection lost", "error": "ข้อผิดพลาด: {{message}}", "disconnected": "ตัดการเชื่อมต่อ", "connectionClosed": "การเชื่อมต่อถูกปิด", @@ -1498,7 +1547,25 @@ "connecting": "กำลังเชื่อมต่อ...", "reconnecting": "กำลังเชื่อมต่อใหม่... ({{attempt}}/{{max}})", "reconnected": "เชื่อมต่อสำเร็จแล้ว", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "จำนวนครั้งการเชื่อมต่อใหม่สูงสุดครบแล้ว", + "closeTab": "Close", "connectionTimeout": "หมดเวลาการเชื่อมต่อ", "terminalTitle": "เทอร์มินัล - {{host}}", "terminalWithPath": "เทอร์มินัล - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "การตรวจสอบสิทธิ์หมดเวลา โปรดลองอีกครั้ง", "opksshAuthFailed": "การตรวจสอบสิทธิ์ล้มเหลว โปรดตรวจสอบข้อมูลประจำตัวของคุณและลองอีกครั้ง", "opksshConfigMissing": "ไม่พบไฟล์การกำหนดค่า OPKSSH โปรดสร้างไฟล์ ~/.opk/config.yml ด้วยการตั้งค่าผู้ให้บริการ OIDC ของคุณ ดูเอกสารประกอบได้ที่: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "ใส่รหัสผ่าน?", "sudoPasswordPopupHint": "กด Enter เพื่อแทรก กด Esc เพื่อปิด", "sudoPasswordPopupConfirm": "แทรก", @@ -1546,7 +1614,8 @@ "connectionRejected": "เซิร์ฟเวอร์ปฏิเสธการเชื่อมต่อ โปรดตรวจสอบการยืนยันตัวตนและการกำหนดค่าเครือข่ายของคุณ", "hostKeyRejected": "การตรวจสอบคีย์โฮสต์ SSH ถูกปฏิเสธ การเชื่อมต่อถูกยกเลิก", "sessionTakenOver": "เซสชั่นนี้เปิดอยู่ในแท็บอื่น กำลังเชื่อมต่อใหม่...", - "sessionAttachTimeout": "การเชื่อมต่อเซสชั่นหมดเวลา กำลังสร้างการเชื่อมต่อใหม่..." + "sessionAttachTimeout": "การเชื่อมต่อเซสชั่นหมดเวลา กำลังสร้างการเชื่อมต่อใหม่...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "ตัวจัดการไฟล์", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "กำหนดรหัสสีให้กับไฟล์ตามประเภท: โฟลเดอร์ (สีแดง), ไฟล์ (สีน้ำเงิน), ลิงก์สัญลักษณ์ (สีเขียว)", "commandAutocomplete": "การเติมคำสั่งอัตโนมัติ", "commandAutocompleteDesc": "เปิดใช้งานคำแนะนำการเติมข้อความอัตโนมัติด้วยปุ่ม Tab สำหรับคำสั่งเทอร์มินัลโดยอิงจากประวัติคำสั่งของคุณ", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "ยุบโฟลเดอร์ Snippet โดยค่าเริ่มต้น", "defaultSnippetFoldersCollapsedDesc": "เมื่อเปิดใช้งานแล้ว โฟลเดอร์โค้ดสั้นทั้งหมดจะถูกยุบเมื่อคุณเปิดแท็บโค้ดสั้น", "terminalSyntaxHighlighting": "การเน้นไวยากรณ์เทอร์มินัล", @@ -2482,7 +2553,7 @@ "database": "ฐานข้อมูล", "healthy": "สุขภาพดี", "error": "ข้อผิดพลาด", - "totalServers": "จำนวนเซิร์ฟเวอร์ทั้งหมด", + "totalHosts": "Total Hosts", "totalTunnels": "อุโมงค์ทั้งหมด", "totalCredentials": "ข้อมูลประจำตัวทั้งหมด", "recentActivity": "กิจกรรมล่าสุด", diff --git a/src/locales/translated/tr_TR.json b/src/locales/translated/tr_TR.json index 256de84c..54c8469a 100644 --- a/src/locales/translated/tr_TR.json +++ b/src/locales/translated/tr_TR.json @@ -277,6 +277,19 @@ "copyTooltip": "Kod parçasını panoya kopyala", "editTooltip": "Bu kod parçasını düzenleyin", "deleteTooltip": "Bu kod parçasını silin", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "Yeni Klasör", "reorderSameFolder": "Yalnızca aynı klasör içindeki kod parçacıklarının sırasını değiştirebilirsiniz.", "reorderSuccess": "Parçacıkların sıralaması başarıyla değiştirildi.", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Kimlik doğrulama gereklidir. Lütfen sayfayı yenileyin.", "dataAccessLockedReauth": "Veri erişimi kilitlendi. Lütfen yeniden kimlik doğrulaması yapın.", "loading": "Komut geçmişi yükleniyor...", - "error": "Geçmiş Yüklenirken Hata Oluştu" + "error": "Geçmiş Yüklenirken Hata Oluştu", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "Bölünmüş Ekran", @@ -510,6 +525,8 @@ "checkingDatabase": "Veritabanı bağlantısı kontrol ediliyor...", "checkingAuthentication": "Kimlik doğrulama kontrol ediliyor...", "backendReconnected": "Sunucu bağlantısı yeniden kuruldu", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "Eylemler", "remove": "Kaldırmak", "revoke": "Geri çekmek", @@ -541,7 +558,8 @@ "copySudoPassword": "Sudo Parolasını Kopyala", "passwordCopied": "Parola panoya kopyalandı", "sudoPasswordCopied": "Sudo şifresi panoya kopyalandı", - "noPasswordAvailable": "Şifre mevcut değil." + "noPasswordAvailable": "Şifre mevcut değil.", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "Yönetici Ayarları", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Küresel izleme ayarları kaydedildi.", "failedToSaveGlobalSettings": "Küresel izleme ayarları kaydedilemedi.", "failedToLoadGlobalSettings": "Küresel izleme ayarları yüklenemedi.", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "Uzaktan Masaüstü Entegrasyonu (Guacamole)", "guacamoleIntegrationDesc": "guacd aracılığıyla RDP, VNC ve Telnet bağlantılarını etkinleştirin. Çalışır durumda bir guacd örneği gereklidir.", "enableGuacamole": "RDP/VNC/Telnet desteğini etkinleştirin", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Guacamole ayarları kaydedildi.", "failedToSaveGuacamoleSettings": "Guacamole ayarları kaydedilemedi.", "failedToLoadGuacamoleSettings": "Guacamole ayarları yüklenemedi.", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "geçerli aralığa ayarlandı", "loadingSessions": "Oturumlar yükleniyor...", "noActiveSessions": "Aktif oturum bulunamadı.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} sunucular", "importJson": "JSON'u içe aktar", "importing": "İçe aktarılıyor...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "JSON dosyasından SSH sunucularını içe aktarın", "importJsonDesc": "Birden fazla SSH sunucusunu (en fazla 100) toplu olarak içe aktarmak için bir JSON dosyası yükleyin.", "downloadSample": "Örnek İndir", @@ -885,6 +921,11 @@ "guacamoleSettings": "Uzak Masaüstü Ayarları", "organization": "Organizasyon", "ipAddress": "IP Adresi veya Ana Bilgisayar Adı", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "IP adresi gereklidir.", "portRequired": "Liman gereklidir.", "port": "Liman", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Klasörler arasında geçiş yapmak için sürükleyin.", "exportedHostConfig": "{{name}}için dışa aktarılan ana bilgisayar yapılandırması", "openTerminal": "Terminali açın", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "Dosya Yöneticisini Açın", "openTunnels": "Açık Tüneller", "openServerDetails": "Sunucu Ayrıntılarını Aç", @@ -1159,6 +1203,10 @@ "noServerFound": "Sunucu bulunamadı.", "jumpHostsOrder": "Bağlantılar şu sırayla kurulacaktır: Jump Host 1 → Jump Host 2 → ... → Hedef Sunucu", "socks5Proxy": "SOCKS5 Proxy", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "SSH bağlantısı için SOCKS5 proxy'sini yapılandırın. Tüm trafik belirtilen proxy sunucusu üzerinden yönlendirilecektir.", "enableSocks5": "SOCKS5 Proxy'yi etkinleştirin", "enableSocks5Description": "Bu SSH bağlantısı için SOCKS5 proxy'sini kullanın.", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Bağlantı kurulduğunda MOSH komutunu otomatik olarak çalıştır.", "moshCommand": "MOSH Komutu", "moshCommandDesc": "MOSH komutu çalıştırılacak", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "Çevresel Değişkenler", "environmentVariablesDesc": "Terminal oturumu için özel ortam değişkenleri ayarlayın.", "variableName": "Değişken adı", @@ -1442,7 +1492,6 @@ "excludeOutput": "Çıktıyı Hariç Tut", "excludeMouse": "Fareyi Hariç Tut", "includeKeys": "Anahtarları Dahil Et", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "WoL Paketini Gönder", "wolMacAddr": "MAC Adresi", "wolBroadcastAddr": "Yayın Adresi", @@ -1481,7 +1530,7 @@ "closePanel": "Paneli Kapat", "reconnect": "Yeniden bağlan", "sessionEnded": "Oturum Sona Erdi", - "connectionLost": "Bağlantı Kesildi", + "connectionLost": "Connection lost", "error": "HATA: {{message}}", "disconnected": "Bağlantı kesildi", "connectionClosed": "Bağlantı kapatıldı", @@ -1498,7 +1547,25 @@ "connecting": "Bağlanıyor...", "reconnecting": "Yeniden bağlanılıyor... ({{attempt}}/{{max}})", "reconnected": "Bağlantı başarıyla yeniden kuruldu.", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "Maksimum yeniden bağlantı deneme sayısına ulaşıldı.", + "closeTab": "Close", "connectionTimeout": "Bağlantı zaman aşımı", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Terminal - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Kimlik doğrulama işlemi zaman aşımına uğradı. Lütfen tekrar deneyin.", "opksshAuthFailed": "Kimlik doğrulama başarısız oldu. Lütfen kimlik bilgilerinizi kontrol edin ve tekrar deneyin.", "opksshConfigMissing": "OPKSSH yapılandırması bulunamadı. Lütfen OIDC sağlayıcı ayarlarınızla birlikte ~/.opk/config.yml dosyasını oluşturun. Belgelere bakın: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Şifrenizi girin?", "sudoPasswordPopupHint": "Eklemek için Enter'a, silmek için Esc'ye basın.", "sudoPasswordPopupConfirm": "Sokmak", @@ -1546,7 +1614,8 @@ "connectionRejected": "Sunucu bağlantıyı reddetti. Lütfen kimlik doğrulama ve ağ yapılandırmanızı kontrol edin.", "hostKeyRejected": "SSH sunucu anahtarı doğrulama işlemi reddedildi. Bağlantı iptal edildi.", "sessionTakenOver": "Oturum başka bir sekmede açıldı. Yeniden bağlanılıyor...", - "sessionAttachTimeout": "Oturum bağlantısı zaman aşımına uğradı. Yeni bağlantı oluşturuluyor..." + "sessionAttachTimeout": "Oturum bağlantısı zaman aşımına uğradı. Yeni bağlantı oluşturuluyor...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "Dosya Yöneticisi", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Dosyaları türlerine göre renklendirin: klasörler (kırmızı), dosyalar (mavi), sembolik bağlantılar (yeşil)", "commandAutocomplete": "Komut Otomatik Tamamlama", "commandAutocompleteDesc": "Komut geçmişinize göre terminal komutları için Sekme tuşuyla otomatik tamamlama önerilerini etkinleştirin.", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "Varsayılan Olarak Kod Parçası Klasörlerini Daralt", "defaultSnippetFoldersCollapsedDesc": "Etkinleştirildiğinde, kod parçacıkları sekmesini açtığınızda tüm kod parçacığı klasörleri daraltılacaktır.", "terminalSyntaxHighlighting": "Terminal Sözdizimi Vurgulama", @@ -2482,7 +2553,7 @@ "database": "Veritabanı", "healthy": "Sağlıklı", "error": "Hata", - "totalServers": "Toplam Sunucular", + "totalHosts": "Total Hosts", "totalTunnels": "Toplam Tüneller", "totalCredentials": "Toplam Kimlik Bilgileri", "recentActivity": "Son Aktiviteler", diff --git a/src/locales/translated/uk_UA.json b/src/locales/translated/uk_UA.json index dbd7968c..4a94b690 100644 --- a/src/locales/translated/uk_UA.json +++ b/src/locales/translated/uk_UA.json @@ -277,6 +277,19 @@ "copyTooltip": "Скопіювати сніпет в буфер обміну", "editTooltip": "Редагувати цей сніпет", "deleteTooltip": "Видалити цей сніпет", + "shareTooltip": "Поділитися цим сніпетом", + "sharedWithYou": "Спільні", + "sharedBy": "Надано {{username}}", + "shareSnippet": "Поділитися сніпетом", + "user": "Користувач", + "role": "Роль", + "selectTarget": "Виберіть...", + "currentAccess": "Поточний доступ", + "shareSuccess": "Сніпет успішно поділився", + "shareFailed": "Не вдалося поділитись сніпетом", + "revokeSuccess": "Доступ відкликаний", + "revokeFailed": "Не вдалося відкликати доступ", + "failedToLoadShareData": "Не вдалося завантажити дані обміну", "newFolder": "Нова папка", "reorderSameFolder": "Цей сніпет можна змінити лише в тій же папці", "reorderSuccess": "Сніпети успішно впорядковано", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Необхідна авторизація. Будь ласка, оновіть сторінку.", "dataAccessLockedReauth": "Доступ до даних заблоковано. Будь ласка, ще раз.", "loading": "Завантаження історії команд...", - "error": "Помилка завантаження історії" + "error": "Помилка завантаження історії", + "disabledTitle": "Історію команд вимкнено", + "disabledDescription": "Увімкніть відстеження керування історією в вашому профілі в налаштуваннях Appearance" }, "splitScreen": { "title": "Розділений екран", @@ -510,6 +525,8 @@ "checkingDatabase": "Перевірка підключення до бази даних...", "checkingAuthentication": "Перевірка автентифікації...", "backendReconnected": "З'єднання з сервером відновлено", + "connectionDegraded": "З'єднання з сервером втрачено, відновлення…", + "reload": "Reload", "actions": "Дії", "remove": "Видалити", "revoke": "Revoke", @@ -541,7 +558,8 @@ "copySudoPassword": "Копіювати пароль судо", "passwordCopied": "Пароль скопійовано до буфера обміну", "sudoPasswordCopied": "Пароль Sudo скопійовано до буфера обміну", - "noPasswordAvailable": "Немає доступного пароля" + "noPasswordAvailable": "Немає доступного пароля", + "failedToCopyPassword": "Не вдалося скопіювати пароль" }, "admin": { "title": "Адміністративні налаштування", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Глобальні налаштування моніторингу збережено", "failedToSaveGlobalSettings": "Не вдалося зберегти глобальні параметри моніторингу", "failedToLoadGlobalSettings": "Не вдалося завантажити налаштування глобального моніторингу", + "sessionTimeout": "Таймаут сеансу", + "sessionTimeoutDesc": "Налаштуйте, як довго сеанси користувачів тривають до того, щоб вимагати повторної аутентифікації. 'Пам'ятайте сесії М' не змінюються (завжди 30 днів).", + "sessionTimeoutHours": "Тривалість часу", + "hours": "годин", + "sessionTimeoutNote": "Дійсний діапазон: 1–720 годин. Зміни застосовуються тільки до нових сесій.", + "sessionTimeoutSaved": "Тайм-аут сесії збережено", + "failedToSaveSessionTimeout": "Не вдалося зберегти тайм-аут сесії", "guacamoleIntegration": "Інтерграція з віддаленим робочим процесом (Guacamole)", "guacamoleIntegrationDesc": "Увімкнути RDP, VNC та Telnet-з'єднання через guacd. Вимагає додаткового екземпляра guacd.", "enableGuacamole": "Увімкнути підтримку RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Налаштування Guacamole збережено", "failedToSaveGuacamoleSettings": "Не вдалося зберегти налаштування гуакамоля", "failedToLoadGuacamoleSettings": "Не вдалося завантажити налаштування guacamole", + "logLevel": "Рівень журналювання", + "logLevelDesc": "Керування вербальністю серверних журналів. Більш високі рівні зменшують вивід журналу. Можна також встановити через змінну середовища LOG_LEVEL.", + "logVerbosity": "Вербосність", + "logLevelNote": "Зміни набувають чинності негайно. Рівень налагодження може впливати на продуктивність.", + "logLevelSaved": "Рівень журналу збережено", + "failedToSaveLogLevel": "Не вдалося зберегти рівень журналу", "clampedToValidRange": "було скориговано до дійсного діапазону", "loadingSessions": "Завантаження сесій...", "noActiveSessions": "Активних сесій не знайдено.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} хости", "importJson": "Імпорт JSON", "importing": "Імпорт...", + "exportAllJson": "Експортувати всі", + "exporting": "Експорт...", + "exportedAllHosts": "Експортовано {{count}} хостів", + "failedToExportAllHosts": "Не вдалося експортувати хости. Будь ласка, переконайтеся, що ви увійшли в систему та маєте доступ до даних хоста.", + "exportAllSensitiveWarning": "Експортований файл буде містити конфіденційні дані (паролі / SSH) у текстовому режимі. Будь ласка, збережіть файл у безпеці і видаліть його після використання.", "importJsonTitle": "Імпортувати SSH хости з JSON", "importJsonDesc": "Завантажити файл JSON для масового імпорту декількох SSH хостів (максимум 100).", "downloadSample": "Завантажити приклад", @@ -885,6 +921,11 @@ "guacamoleSettings": "Параметри віддаленого робочого столу", "organization": "Організація", "ipAddress": "IP-адреса або ім'я хоста", + "macAddress": "MAC-адреса", + "macAddressDesc": "Для Wake-on-LAN. Формат: AA:BB:CC:D:EE:FF", + "wakeOnLan": "Вак-он-ЛАН", + "wolSent": "Дані Wake-on-LAN-надіслано", + "wolFailed": "Не вдалося відправити пакет Wake-on-LAN", "ipRequired": "Необхідно вказати IP-адресу", "portRequired": "Необхідно вказати порт", "port": "Порт", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Перетягніть, щоб перемістити між теками", "exportedHostConfig": "Експортовано конфігурацію хоста для {{name}}", "openTerminal": "Відкрити термінал", + "openRdp": "Відкрити RDP", + "openVnc": "Відкрити VNC", + "openTelnet": "Відкрити Телнет", "openFileManager": "Відкрити файловий менеджер", "openTunnels": "Відкрити тунель", "openServerDetails": "Відкрити деталі сервера", @@ -1159,6 +1203,10 @@ "noServerFound": "Сервер не знайдено", "jumpHostsOrder": "З'єднання буде здійснено в порядку: Хост Jump 1 → Jump Host 2 → ... → Цільовий Сервер", "socks5Proxy": "проксі SOCKS5", + "portKnocking": "Порт-Нокінг", + "portKnockingDesc": "Надішліть послідовність спроб підключення вказаних портів перед підключенням. Використовується для динамічного відкриття правил брандмауера.", + "addKnock": "Додати порт", + "delayMs": "Затримка", "socks5Description": "Налаштувати проксі SOCKS5 для підключення SSH. Весь трафік буде маршрутизуватися через вказаний проксі-сервер.", "enableSocks5": "Увімкнути проксі SOCKS5", "enableSocks5Description": "Використовувати SOCKS5 для цього SSH з'єднання", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Автоматично запускати команду MOSH при з'єднанні", "moshCommand": "Команда MOSH", "moshCommandDesc": "Команда MOSH для виконання", + "autoTmux": "Автомюкс", + "autoTmuxDesc": "Автоматично приєднуватися до існуючої (чи почати нову) тимчасової сесії для постійних сеансів і безперервності між пристроями", "environmentVariables": "Змінні середовища", "environmentVariablesDesc": "Встановити користувацькі змінні середовища для терміналу", "variableName": "Назва змінної", @@ -1442,7 +1492,6 @@ "excludeOutput": "Виключити вихід", "excludeMouse": "Виключити миші", "includeKeys": "Включити ключі", - "wakeOnLan": "Вак-он-ЛАН", "sendWolPacket": "Надіслати WoL Packet", "wolMacAddr": "MAC-адреса", "wolBroadcastAddr": "Адреса трансляції", @@ -1481,7 +1530,7 @@ "closePanel": "Закрити панель", "reconnect": "Перепід'єднатись", "sessionEnded": "Сесію завершено", - "connectionLost": "З’єднання втрачено", + "connectionLost": "З'єднання втрачено", "error": "ПОМИЛКА: {{message}}", "disconnected": "Від’єднано", "connectionClosed": "З'єднання закрито", @@ -1498,7 +1547,25 @@ "connecting": "З’єднання...", "reconnecting": "Повторне підключення... ({{attempt}}/{{max}})", "reconnected": "Перепід'єднано успішно", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux сесія: {{name}}", + "tmuxUnavailable": "tmux не встановлено на віддаленому хості, повертаючись до стандартної оболонки", + "tmuxSessionPickerTitle": "тмукс Сешнс", + "tmuxSessionPickerDesc": "Існуючі сесії виявлено на цьому хості. Виберіть одну для повторного приєднання або створення нового сесії.", + "tmuxWindows": "Вікна", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "Вікно {{count}}", + "tmuxAttached": "Прикріплені клієнти", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Остання активність", + "tmuxTimeJustNow": "прямо зараз", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d тому", + "tmuxCreateNew": "Почати нову сесію", + "tmuxCopyHint": "Відрегулюйте вибір і натисніть Enter для копіювання до буфера обміну", "maxReconnectAttemptsReached": "Досягнуто максимальної кількості спроб повторного з'єднання", + "closeTab": "Закрити", "connectionTimeout": "Час очікування з'єднання", "terminalTitle": "Terminal - {{host}}", "terminalWithPath": "Термінал - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Час аутентифікації минув. Будь ласка, спробуйте ще раз.", "opksshAuthFailed": "Помилка авторизації. Будь ласка, перевірте свої облікові дані та спробуйте ще раз.", "opksshConfigMissing": "Конфігурацію OPKSSH не знайдено. Будь ласка, створіть ~/.opk/config.yml з параметрами постачальника OIDC. Див. документацію: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Введіть пароль?", "sudoPasswordPopupHint": "Натисніть Enter, щоб вставити, Esc для відхилення", "sudoPasswordPopupConfirm": "Insert", @@ -1546,7 +1614,8 @@ "connectionRejected": "З'єднання відхилено сервером. Будь ласка, перевірте налаштування аутентифікації та мережі.", "hostKeyRejected": "SSH-ключ хоста відхилено. Підключення скасовано.", "sessionTakenOver": "Сесію було відкрито на іншій вкладці. Перепід'єднання...", - "sessionAttachTimeout": "Перевищено час очікування вкладення сесії. Створення нового підключення..." + "sessionAttachTimeout": "Перевищено час очікування вкладення сесії. Створення нового підключення...", + "openFileManagerHere": "Відкрити файловий менеджер тут" }, "fileManager": { "title": "Файловий менеджер", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Файли кольорового коду за типом: теки (червоні), файли (сині), символічні посилання (зелений)", "commandAutocomplete": "Команду Автозаповнення", "commandAutocompleteDesc": "Увімкніть автоматичне заповнення пропозицій для команд з терміналом табуляції на основі вашої історії команд", + "commandHistoryTracking": "Зберегти історію команд", + "commandHistoryTrackingDesc": "Зберігати термінові команди в історії для автозаповнення та бічної панелі. Вимкнено за замовчуванням для конфіденційності.", "defaultSnippetFoldersCollapsed": "Згорнути папки за промовчанням", "defaultSnippetFoldersCollapsedDesc": "Якщо увімкнуто, всі папки сніпетів будуть згорнуті, коли ви відкриєте вкладку сніпетів", "terminalSyntaxHighlighting": "Підсвітка синтаксису терміналу", @@ -2482,7 +2553,7 @@ "database": "База даних", "healthy": "Здоровий", "error": "Помилка", - "totalServers": "Загальна кількість серверів", + "totalHosts": "Всього хостів", "totalTunnels": "Всього тунелів", "totalCredentials": "Загальна кількість облікових даних", "recentActivity": "Остання активність", diff --git a/src/locales/translated/vi_VN.json b/src/locales/translated/vi_VN.json index 5c4867d2..82511114 100644 --- a/src/locales/translated/vi_VN.json +++ b/src/locales/translated/vi_VN.json @@ -277,6 +277,19 @@ "copyTooltip": "Sao chép đoạn mã vào clipboard", "editTooltip": "Chỉnh sửa đoạn mã này", "deleteTooltip": "Xóa đoạn mã này", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "Thư mục mới", "reorderSameFolder": "Chỉ có thể sắp xếp lại các đoạn mã trong cùng một thư mục.", "reorderSuccess": "Các đoạn trích đã được sắp xếp lại thành công", @@ -323,7 +336,9 @@ "authRequiredRefresh": "Cần xác thực. Vui lòng làm mới trang.", "dataAccessLockedReauth": "Quyền truy cập dữ liệu bị khóa. Vui lòng xác thực lại.", "loading": "Đang tải lịch sử lệnh...", - "error": "Lỗi khi tải lịch sử" + "error": "Lỗi khi tải lịch sử", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "Chia màn hình", @@ -510,6 +525,8 @@ "checkingDatabase": "Kiểm tra kết nối cơ sở dữ liệu...", "checkingAuthentication": "Đang kiểm tra xác thực...", "backendReconnected": "Kết nối máy chủ đã được khôi phục.", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "Hành động", "remove": "Di dời", "revoke": "Thu hồi", @@ -541,7 +558,8 @@ "copySudoPassword": "Sao chép mật khẩu Sudo", "passwordCopied": "Mật khẩu đã được sao chép vào clipboard", "sudoPasswordCopied": "Mật khẩu Sudo đã được sao chép vào clipboard", - "noPasswordAvailable": "Không có mật khẩu nào khả dụng" + "noPasswordAvailable": "Không có mật khẩu nào khả dụng", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "Cài đặt quản trị", @@ -808,6 +826,13 @@ "globalSettingsSaved": "Cài đặt giám sát toàn cầu đã được lưu", "failedToSaveGlobalSettings": "Không thể lưu cài đặt giám sát toàn cầu.", "failedToLoadGlobalSettings": "Không thể tải cài đặt giám sát toàn cầu.", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "Tích hợp máy tính từ xa (Guacamole)", "guacamoleIntegrationDesc": "Cho phép kết nối RDP, VNC và Telnet thông qua guacd. Yêu cầu phải có một phiên bản guacd đang chạy.", "enableGuacamole": "Kích hoạt hỗ trợ RDP/VNC/Telnet", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "Cài đặt guacamole đã được lưu", "failedToSaveGuacamoleSettings": "Không thể lưu cài đặt guacamole.", "failedToLoadGuacamoleSettings": "Không thể tải cài đặt guacamole", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "đã được điều chỉnh về phạm vi hợp lệ", "loadingSessions": "Đang tải phiên...", "noActiveSessions": "Không tìm thấy phiên hoạt động nào.", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} máy chủ", "importJson": "Nhập JSON", "importing": "Đang nhập khẩu...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "Nhập thông tin máy chủ SSH từ định dạng JSON.", "importJsonDesc": "Tải lên tệp JSON để nhập hàng loạt nhiều máy chủ SSH (tối đa 100 máy chủ).", "downloadSample": "Tải xuống mẫu", @@ -885,6 +921,11 @@ "guacamoleSettings": "Cài đặt máy tính từ xa", "organization": "Tổ chức", "ipAddress": "Địa chỉ IP hoặc tên máy chủ", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "Wake-on-LAN", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "Địa chỉ IP là bắt buộc", "portRequired": "Cần có cổng", "port": "Cảng", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "Kéo để di chuyển giữa các thư mục", "exportedHostConfig": "Đã xuất cấu hình máy chủ cho {{name}}", "openTerminal": "Mở thiết bị đầu cuối", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "Mở trình quản lý tệp", "openTunnels": "Đường hầm mở", "openServerDetails": "Chi tiết máy chủ mở", @@ -1159,6 +1203,10 @@ "noServerFound": "Không tìm thấy máy chủ", "jumpHostsOrder": "Các kết nối sẽ được thực hiện theo thứ tự: Máy chủ trung chuyển 1 → Máy chủ trung chuyển 2 → ... → Máy chủ đích", "socks5Proxy": "Proxy SOCKS5", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "Cấu hình proxy SOCKS5 cho kết nối SSH. Tất cả lưu lượng truy cập sẽ được định tuyến qua máy chủ proxy đã chỉ định.", "enableSocks5": "Bật Proxy SOCKS5", "enableSocks5Description": "Hãy sử dụng proxy SOCKS5 cho kết nối SSH này.", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "Tự động chạy lệnh MOSH khi kết nối", "moshCommand": "Bộ chỉ huy MOSH", "moshCommandDesc": "Lệnh MOSH cần thực thi", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "Biến môi trường", "environmentVariablesDesc": "Thiết lập các biến môi trường tùy chỉnh cho phiên terminal.", "variableName": "Tên biến", @@ -1442,7 +1492,6 @@ "excludeOutput": "Loại trừ đầu ra", "excludeMouse": "Loại trừ chuột", "includeKeys": "Bao gồm các khóa", - "wakeOnLan": "Wake-on-LAN", "sendWolPacket": "Gửi gói WoL", "wolMacAddr": "Địa chỉ MAC", "wolBroadcastAddr": "Địa chỉ phát sóng", @@ -1481,7 +1530,7 @@ "closePanel": "Đóng bảng điều khiển", "reconnect": "Kết nối lại", "sessionEnded": "Phiên họp đã kết thúc", - "connectionLost": "Mất kết nối", + "connectionLost": "Connection lost", "error": "LỖI: {{message}}", "disconnected": "Đã ngắt kết nối", "connectionClosed": "Kết nối đã bị đóng", @@ -1498,7 +1547,25 @@ "connecting": "Đang kết nối...", "reconnecting": "Đang kết nối lại... ({{attempt}}/{{max}})", "reconnected": "Đã kết nối lại thành công", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "Đã đạt số lần thử kết nối lại tối đa.", + "closeTab": "Close", "connectionTimeout": "Hết thời gian chờ kết nối", "terminalTitle": "Thiết bị đầu cuối - {{host}}", "terminalWithPath": "Thiết bị đầu cuối - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "Quá trình xác thực đã hết hạn. Vui lòng thử lại.", "opksshAuthFailed": "Xác thực không thành công. Vui lòng kiểm tra lại thông tin đăng nhập của bạn và thử lại.", "opksshConfigMissing": "Không tìm thấy cấu hình OPKSSH. Vui lòng tạo tệp ~/.opk/config.yml với các cài đặt nhà cung cấp OIDC của bạn. Xem tài liệu: https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "Nhập mật khẩu?", "sudoPasswordPopupHint": "Nhấn Enter để chèn, Esc để xóa", "sudoPasswordPopupConfirm": "Chèn", @@ -1546,7 +1614,8 @@ "connectionRejected": "Kết nối bị máy chủ từ chối. Vui lòng kiểm tra cấu hình xác thực và mạng của bạn.", "hostKeyRejected": "Xác thực khóa máy chủ SSH bị từ chối. Kết nối bị hủy.", "sessionTakenOver": "Phiên làm việc đã được mở trong một tab khác. Đang kết nối lại...", - "sessionAttachTimeout": "Kết nối phiên đã hết hạn. Đang tạo kết nối mới..." + "sessionAttachTimeout": "Kết nối phiên đã hết hạn. Đang tạo kết nối mới...", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "Trình quản lý tập tin", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "Tô màu mã hóa các tệp theo loại: thư mục (màu đỏ), tệp (màu xanh lam), liên kết tượng trưng (màu xanh lục)", "commandAutocomplete": "Tự động hoàn thành lệnh", "commandAutocompleteDesc": "Bật tính năng tự động hoàn thành gợi ý bằng phím Tab cho các lệnh trong terminal dựa trên lịch sử lệnh của bạn.", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "Thu gọn các thư mục đoạn mã theo mặc định", "defaultSnippetFoldersCollapsedDesc": "Khi được bật, tất cả các thư mục đoạn mã sẽ được thu gọn khi bạn mở tab đoạn mã.", "terminalSyntaxHighlighting": "Tô sáng cú pháp thiết bị đầu cuối", @@ -2482,7 +2553,7 @@ "database": "Cơ sở dữ liệu", "healthy": "Khỏe mạnh", "error": "Lỗi", - "totalServers": "Tổng số máy chủ", + "totalHosts": "Total Hosts", "totalTunnels": "Tổng số đường hầm", "totalCredentials": "Tổng số chứng chỉ", "recentActivity": "Hoạt động gần đây", diff --git a/src/locales/translated/zh_CN.json b/src/locales/translated/zh_CN.json index 5e338e71..37df2fdf 100644 --- a/src/locales/translated/zh_CN.json +++ b/src/locales/translated/zh_CN.json @@ -277,6 +277,19 @@ "copyTooltip": "复制代码片段到剪贴板", "editTooltip": "编辑此代码片段", "deleteTooltip": "删除此片段", + "shareTooltip": "分享这个代码片段", + "sharedWithYou": "共享的", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "共享代码片段", + "user": "用户", + "role": "作用", + "selectTarget": "选择...", + "currentAccess": "当前访问", + "shareSuccess": "代码片段共享成功", + "shareFailed": "共享代码片段失败", + "revokeSuccess": "访问已取消", + "revokeFailed": "吊销访问失败", + "failedToLoadShareData": "加载共享数据失败", "newFolder": "新建文件夹", "reorderSameFolder": "只能对同一文件夹内的代码片段进行重新排序", "reorderSuccess": "代码片段已成功重新排序", @@ -323,7 +336,9 @@ "authRequiredRefresh": "需要进行身份验证。请刷新页面。", "dataAccessLockedReauth": "数据访问已锁定。请重新验证身份。", "loading": "正在加载命令历史记录...", - "error": "加载历史记录时出错" + "error": "加载历史记录时出错", + "disabledTitle": "命令历史记录已禁用", + "disabledDescription": "在外观设置下在您的个人资料中启用命令历史跟踪。" }, "splitScreen": { "title": "分屏", @@ -510,6 +525,8 @@ "checkingDatabase": "正在检查数据库连接...", "checkingAuthentication": "正在检查认证...", "backendReconnected": "服务器连接已恢复", + "connectionDegraded": "服务器连接丢失,正在恢复…", + "reload": "Reload", "actions": "激活", "remove": "移除", "revoke": "撤销", @@ -541,7 +558,8 @@ "copySudoPassword": "复制Sudo密码", "passwordCopied": "密码已复制到剪贴板", "sudoPasswordCopied": "Sudo 密码已复制到剪贴板", - "noPasswordAvailable": "没有可用密码" + "noPasswordAvailable": "没有可用密码", + "failedToCopyPassword": "无法复制密码" }, "admin": { "title": "管理员设置", @@ -808,6 +826,13 @@ "globalSettingsSaved": "全局监控设置已保存", "failedToSaveGlobalSettings": "无法保存全局监控设置", "failedToLoadGlobalSettings": "加载全局监控设置失败", + "sessionTimeout": "会话超时", + "sessionTimeoutDesc": "配置需要重新认证之前用户会话持续多长时间。“记住我”会话不受影响(总是30天)。", + "sessionTimeoutHours": "超时持续时间", + "hours": "小时", + "sessionTimeoutNote": "有效范围: 1- 720小时. 更改仅适用于新会话。", + "sessionTimeoutSaved": "会话超时保存", + "failedToSaveSessionTimeout": "保存会话超时", "guacamoleIntegration": "远程桌面集成 (Guacamole)", "guacamoleIntegrationDesc": "启用 RDP, VNC 和 Telnet 连接通过 guacd 。需要一个guacd 实例才能运行。", "enableGuacamole": "启用 RDP/VNC/Telnet 支持", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "已保存关岛设置", "failedToSaveGuacamoleSettings": "保存 guacamole 设置失败", "failedToLoadGuacamoleSettings": "无法加载 guacamole 设置", + "logLevel": "日志级别", + "logLevelDesc": "控制服务器日志的动词。较高的级别降低日志输出。也可以通过 LOG_LEVEL 环境变量设置。", + "logVerbosity": "详细说明", + "logLevelNote": "更改立即生效。调试级别可能会影响性能。", + "logLevelSaved": "日志级别已保存", + "failedToSaveLogLevel": "保存日志级别失败", "clampedToValidRange": "被调整为有效范围", "loadingSessions": "正在加载会话...", "noActiveSessions": "未找到活动会话。", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} 台主机", "importJson": "导入 JSON", "importing": "导入中...", + "exportAllJson": "全部导出", + "exporting": "导出中...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "导出主机失败。请确保您登录并访问主机数据。", + "exportAllSensitiveWarning": "导出的文件将在纯文本中包含敏感的身份验证数据 (密码/SSH 密钥) 。请保持文件安全并在使用后删除。", "importJsonTitle": "从 JSON 导入 SSH 主机", "importJsonDesc": "上传 JSON 文件以批量导入多个 SSH 主机(最多 100 个)。", "downloadSample": "下载示例", @@ -885,6 +921,11 @@ "guacamoleSettings": "远程桌面设置", "organization": "组织", "ipAddress": "IP地址或主机名", + "macAddress": "MAC地址", + "macAddressDesc": "关于在局域网上唤醒。格式:AA:BB:CC:DD:EE:FF", + "wakeOnLan": "在局域网上唤醒", + "wolSent": "已发送在局域网上唤醒包", + "wolFailed": "发送唤醒到局域网数据包失败", "ipRequired": "需要IP地址", "portRequired": "端口是必需的", "port": "端口", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "拖动即可在文件夹之间移动。", "exportedHostConfig": "已导出 {{name}} 的主机配置", "openTerminal": "打开终端", + "openRdp": "打开 RDP", + "openVnc": "打开 VNC", + "openTelnet": "打开 Telnet", "openFileManager": "打开文件管理器", "openTunnels": "已开启隧道", "openServerDetails": "打开服务器详情", @@ -1159,6 +1203,10 @@ "noServerFound": "未找到服务器", "jumpHostsOrder": "连接将按以下顺序建立:跳转主机 1 → 跳转主机 2 → ... → 目标服务器", "socks5Proxy": "SOCKS5代理", + "portKnocking": "端口敲击中", + "portKnockingDesc": "连接前发送连接尝试的序列到指定端口。用来动态打开防火墙规则。", + "addKnock": "添加端口", + "delayMs": "延迟", "socks5Description": "配置 SOCKS5 代理以进行 SSH 连接。所有流量都将通过指定的代理服务器路由。", "enableSocks5": "启用 SOCKS5 代理", "enableSocks5Description": "此 SSH 连接请使用 SOCKS5 代理。", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "连接时自动运行 MOSH 命令", "moshCommand": "MOSH 命令", "moshCommandDesc": "要执行的 MOSH 命令", + "autoTmux": "自动tmux", + "autoTmuxDesc": "为持续的会话和跨设备连续性自动附加到现有的 tmux 会话 (或开始新的会话)", "environmentVariables": "环境变量", "environmentVariablesDesc": "为终端会话设置自定义环境变量", "variableName": "变量名", @@ -1442,7 +1492,6 @@ "excludeOutput": "排除输出", "excludeMouse": "排除鼠标显示", "includeKeys": "包含密钥", - "wakeOnLan": "在局域网上唤醒", "sendWolPacket": "发送 WoL 包", "wolMacAddr": "MAC地址", "wolBroadcastAddr": "广播地址", @@ -1498,7 +1547,25 @@ "connecting": "正在连接...", "reconnecting": "正在重新连接... ({{attempt}}/{{max}})", "reconnected": "已成功重新连接", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux 未安装在远程主机上,返回到标准的 shell", + "tmuxSessionPickerTitle": "tmux 会话", + "tmuxSessionPickerDesc": "在此主机上找到现有的 tmux 会话。选择一个来重新附加或创建一个新会话。", + "tmuxWindows": "窗口", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "附加客户端", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "上次活动", + "tmuxTimeJustNow": "就在这里", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "开始新会话", + "tmuxCopyHint": "调整选区并按回车键复制到剪贴板", "maxReconnectAttemptsReached": "已达到最大重连尝试次数", + "closeTab": "关闭", "connectionTimeout": "连接超时", "terminalTitle": "终端 - {{host}}", "terminalWithPath": "终端 - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "认证超时。请重试。", "opksshAuthFailed": "认证失败。请检查您的凭据,然后重试。", "opksshConfigMissing": "找不到 OPKSSH 配置。请使用您的 OIDC 提供商设置创建 ~/.opk/config.yml 。请参阅文档:https://github.com/openpubkey/opkssh#config.", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "输入密码?", "sudoPasswordPopupHint": "按 Enter 键插入,按 Esc 键关闭", "sudoPasswordPopupConfirm": "确认", @@ -1546,7 +1614,8 @@ "connectionRejected": "服务器拒绝连接。请检查您的身份验证和网络配置。", "hostKeyRejected": "SSH 主机验证被拒绝。连接已取消。", "sessionTakenOver": "会话已在另一个标签页打开。正在重新连接...", - "sessionAttachTimeout": "会话附件超时。正在创建新连接..." + "sessionAttachTimeout": "会话附件超时。正在创建新连接...", + "openFileManagerHere": "在此打开文件管理器" }, "fileManager": { "title": "文件管理器", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "按类型对文件进行颜色编码:文件夹(红色)、文件(蓝色)、符号链接(绿色)", "commandAutocomplete": "命令自动补全", "commandAutocompleteDesc": "启用 Tab 键根据命令历史为终端命令提供自动补全建议", + "commandHistoryTracking": "保存命令历史", + "commandHistoryTrackingDesc": "将终端命令存储在历史记录中,用于自动完成和侧边栏。默认为隐私禁用。", "defaultSnippetFoldersCollapsed": "默认折叠代码片段文件夹", "defaultSnippetFoldersCollapsedDesc": "启用后,打开代码片段标签页时所有代码片段文件夹将默认折叠。", "terminalSyntaxHighlighting": "终端语法高亮", @@ -2482,7 +2553,7 @@ "database": "数据库", "healthy": "健康", "error": "错误", - "totalServers": "服务器总数", + "totalHosts": "主机总数", "totalTunnels": "隧道总数", "totalCredentials": "凭证总数", "recentActivity": "最近活动", diff --git a/src/locales/translated/zh_TW.json b/src/locales/translated/zh_TW.json index 6c6af3b6..d5ee6d04 100644 --- a/src/locales/translated/zh_TW.json +++ b/src/locales/translated/zh_TW.json @@ -277,6 +277,19 @@ "copyTooltip": "複製程式碼片段到剪貼簿", "editTooltip": "編輯此程式碼片段", "deleteTooltip": "刪除此片段", + "shareTooltip": "Share this snippet", + "sharedWithYou": "Shared", + "sharedBy": "Shared by {{username}}", + "shareSnippet": "Share Snippet", + "user": "User", + "role": "Role", + "selectTarget": "Select...", + "currentAccess": "Current Access", + "shareSuccess": "Snippet shared successfully", + "shareFailed": "Failed to share snippet", + "revokeSuccess": "Access revoked", + "revokeFailed": "Failed to revoke access", + "failedToLoadShareData": "Failed to load sharing data", "newFolder": "新建資料夾", "reorderSameFolder": "只能對同一資料夾內的程式碼片段進行重新排序", "reorderSuccess": "程式碼片段已成功重新排序", @@ -323,7 +336,9 @@ "authRequiredRefresh": "需要進行身份驗證。請刷新頁面。", "dataAccessLockedReauth": "資料存取已鎖定。請重新驗證身份。", "loading": "正在載入命令歷史記錄...", - "error": "載入歷史記錄時出錯" + "error": "載入歷史記錄時出錯", + "disabledTitle": "Command History is Disabled", + "disabledDescription": "Enable Command History Tracking in your profile under Appearance settings." }, "splitScreen": { "title": "分割畫面", @@ -510,6 +525,8 @@ "checkingDatabase": "正在檢查資料庫連線...", "checkingAuthentication": "正在檢查身份驗證...", "backendReconnected": "伺服器連線已恢復", + "connectionDegraded": "Server connection lost, recovering…", + "reload": "Reload", "actions": "行動", "remove": "消除", "revoke": "撤銷", @@ -541,7 +558,8 @@ "copySudoPassword": "複製 sudo 密碼", "passwordCopied": "密碼已複製到剪貼簿", "sudoPasswordCopied": "sudo 密碼已複製到剪貼簿", - "noPasswordAvailable": "沒有可用密碼" + "noPasswordAvailable": "沒有可用密碼", + "failedToCopyPassword": "Failed to copy password" }, "admin": { "title": "管理員設定", @@ -808,6 +826,13 @@ "globalSettingsSaved": "已儲存全域監控設定", "failedToSaveGlobalSettings": "儲存全域監控設定失敗", "failedToLoadGlobalSettings": "載入全域監控設定失敗", + "sessionTimeout": "Session Timeout", + "sessionTimeoutDesc": "Configure how long user sessions last before requiring re-authentication. 'Remember Me' sessions are unaffected (always 30 days).", + "sessionTimeoutHours": "Timeout Duration", + "hours": "hours", + "sessionTimeoutNote": "Valid range: 1–720 hours. Changes apply to new sessions only.", + "sessionTimeoutSaved": "Session timeout saved", + "failedToSaveSessionTimeout": "Failed to save session timeout", "guacamoleIntegration": "遠端桌面整合(Guacamole)", "guacamoleIntegrationDesc": "透過 guacd 啟用 RDP、VNC 和 Telnet 連線。需要 guacd 實例正在運行。", "enableGuacamole": "啟用 RDP/VNC/Telnet 支持", @@ -817,6 +842,12 @@ "guacamoleSettingsSaved": "酪梨醬設定已儲存", "failedToSaveGuacamoleSettings": "保存酪梨醬設定失敗", "failedToLoadGuacamoleSettings": "加載酪梨醬設定失敗", + "logLevel": "Log Level", + "logLevelDesc": "Control the verbosity of server logs. Higher levels reduce log output. Can also be set via the LOG_LEVEL environment variable.", + "logVerbosity": "Verbosity", + "logLevelNote": "Changes take effect immediately. Debug level may impact performance.", + "logLevelSaved": "Log level saved", + "failedToSaveLogLevel": "Failed to save log level", "clampedToValidRange": "已調整至有效範圍", "loadingSessions": "正在載入會話...", "noActiveSessions": "未找到活動會話。", @@ -853,6 +884,11 @@ "hostsCount": "{{count}} 主機", "importJson": "導入 JSON", "importing": "輸入...", + "exportAllJson": "Export All", + "exporting": "Exporting...", + "exportedAllHosts": "Exported {{count}} hosts", + "failedToExportAllHosts": "Failed to export hosts. Please ensure you're logged in and have access to the host data.", + "exportAllSensitiveWarning": "The exported file will contain sensitive authentication data (passwords/SSH keys) in plaintext. Please keep the file secure and delete it after use.", "importJsonTitle": "從 JSON 匯入 SSH 主機", "importJsonDesc": "上傳 JSON 檔案以批次匯入多個 SSH 主機(最多 100 個)。", "downloadSample": "下載範例", @@ -885,6 +921,11 @@ "guacamoleSettings": "遠端桌面設定", "organization": "組織", "ipAddress": "IP位址或主機名", + "macAddress": "MAC Address", + "macAddressDesc": "For Wake-on-LAN. Format: AA:BB:CC:DD:EE:FF", + "wakeOnLan": "區域網路喚醒", + "wolSent": "Wake-on-LAN packet sent", + "wolFailed": "Failed to send Wake-on-LAN packet", "ipRequired": "需要 IP 位址", "portRequired": "需要連接埠", "port": "連接埠", @@ -1047,6 +1088,9 @@ "dragToMoveBetweenFolders": "拖曳即可在資料夾之間移動。", "exportedHostConfig": "已匯出主機配置 {{name}}", "openTerminal": "打開終端機", + "openRdp": "Open RDP", + "openVnc": "Open VNC", + "openTelnet": "Open Telnet", "openFileManager": "開啟檔案管理器", "openTunnels": "開放式隧道", "openServerDetails": "開啟伺服器詳情", @@ -1159,6 +1203,10 @@ "noServerFound": "未找到伺服器", "jumpHostsOrder": "連線將依下列順序建立:跳轉主機 1 → 跳轉主機 2 → ... → 目標伺服器", "socks5Proxy": "SOCKS5代理", + "portKnocking": "Port Knocking", + "portKnockingDesc": "Send a sequence of connection attempts to specified ports before connecting. Used to open firewall rules dynamically.", + "addKnock": "Add Port", + "delayMs": "Delay", "socks5Description": "配置 SOCKS5 代理程式以進行 SSH 連線。所有流量將透過指定的代理伺服器路由。", "enableSocks5": "啟用 SOCKS5 代理", "enableSocks5Description": "此 SSH 連線請使用 SOCKS5 代理程式。", @@ -1243,6 +1291,8 @@ "autoMoshDesc": "連線時自動運行 MOSH 命令", "moshCommand": "MOSH 指令", "moshCommandDesc": "要執行的 MOSH 指令", + "autoTmux": "Auto-tmux", + "autoTmuxDesc": "Automatically attach to an existing (or start a new) tmux session for persistent sessions and cross-device continuity", "environmentVariables": "環境變數", "environmentVariablesDesc": "為終端機會話設定自訂環境變數", "variableName": "變數名", @@ -1442,7 +1492,6 @@ "excludeOutput": "排除輸出", "excludeMouse": "排除滑鼠", "includeKeys": "包含密鑰", - "wakeOnLan": "區域網路喚醒", "sendWolPacket": "發送 WoL 封包", "wolMacAddr": "MAC位址", "wolBroadcastAddr": "廣播位址", @@ -1481,7 +1530,7 @@ "closePanel": "關閉面板", "reconnect": "重新連接", "sessionEnded": "會話結束", - "connectionLost": "連線遺失", + "connectionLost": "Connection lost", "error": "錯誤: {{message}}", "disconnected": "斷開連接", "connectionClosed": "連線已關閉", @@ -1498,7 +1547,25 @@ "connecting": "正在連接...", "reconnecting": "正在重新連線... ({{attempt}}/{{max}})", "reconnected": "已成功重新連接", + "tmuxSessionCreated": "tmux session created: {{name}}", + "tmuxSessionAttached": "tmux session attached: {{name}}", + "tmuxUnavailable": "tmux is not installed on the remote host, falling back to standard shell", + "tmuxSessionPickerTitle": "tmux Sessions", + "tmuxSessionPickerDesc": "Existing tmux sessions found on this host. Select one to reattach or create a new session.", + "tmuxWindows": "Windows", + "tmuxWindowCount": "{{count}} window", + "tmuxWindowCount_other": "{{count}} windows", + "tmuxAttached": "Attached clients", + "tmuxAttachedCount": "{{count}} attached", + "tmuxLastActivity": "Last activity", + "tmuxTimeJustNow": "just now", + "tmuxTimeMinutes": "{{count}}m ago", + "tmuxTimeHours": "{{count}}h ago", + "tmuxTimeDays": "{{count}}d ago", + "tmuxCreateNew": "Start new session", + "tmuxCopyHint": "Adjust selection and press Enter to copy to clipboard", "maxReconnectAttemptsReached": "已達最大重連嘗試次數", + "closeTab": "Close", "connectionTimeout": "連線逾時", "terminalTitle": "終端機 - {{host}}", "terminalWithPath": "終端機 - {{host}}:{{path}}", @@ -1522,6 +1589,7 @@ "opksshTimeout": "身份驗證超時,請重試。", "opksshAuthFailed": "身份驗證失敗。請檢查您的憑證並重試。", "opksshConfigMissing": "未找到 OPKSSH 配置。請建立 ~/.opk/config.yml 文件,並新增您的 OIDC 提供者設定。請參閱文件:https://github.com/openpubkey/opkssh#configuration", + "opksshSignInWith": "Sign in with {{provider}}", "sudoPasswordPopupTitle": "輸入密碼?", "sudoPasswordPopupHint": "按 Enter 鍵插入,按 Esc 鍵關閉", "sudoPasswordPopupConfirm": "插入", @@ -1546,7 +1614,8 @@ "connectionRejected": "伺服器拒絕連線。請檢查您的身份驗證和網路配置。", "hostKeyRejected": "SSH主機金鑰驗證失敗。連線已取消。", "sessionTakenOver": "會話已在另一個標籤頁中開啟。正在重新連線…", - "sessionAttachTimeout": "會話連線逾時。正在建立新連線…" + "sessionAttachTimeout": "會話連線逾時。正在建立新連線…", + "openFileManagerHere": "Open File Manager Here" }, "fileManager": { "title": "檔案管理器", @@ -2244,6 +2313,8 @@ "fileColorCodingDesc": "依類型對檔案進行顏色編碼:資料夾(紅色)、檔案(藍色)、符號連結(綠色)", "commandAutocomplete": "命令自動完成", "commandAutocompleteDesc": "啟用 Tab 鍵自動補全建議,根據您的指令歷史記錄提供終端指令建議", + "commandHistoryTracking": "Save Command History", + "commandHistoryTrackingDesc": "Store terminal commands in history for autocomplete and sidebar. Disabled by default for privacy.", "defaultSnippetFoldersCollapsed": "預設折疊程式碼片段資料夾", "defaultSnippetFoldersCollapsedDesc": "啟用此功能後,打開程式碼片段標籤時,所有程式碼片段資料夾都會折疊起來。", "terminalSyntaxHighlighting": "終端機語法高亮顯示", @@ -2482,7 +2553,7 @@ "database": "資料庫", "healthy": "健康", "error": "錯誤", - "totalServers": "伺服器總數", + "totalHosts": "Total Hosts", "totalTunnels": "隧道總數", "totalCredentials": "證書總數", "recentActivity": "近期活動",