feat: type the plugin host record, move plugin strings out of core and add lint checks

This commit is contained in:
LukeGus committed 2026-09-29 13:08:39 -05:00
1 parent bba06f7ff6
commit b8bbcd2196
626 files changed
+23884 -4590

No files matched your search

+2 -114
View File
@@ -324,10 +324,6 @@
"appearanceIntro": "एक थीम, एक एक्सेंट कलर और अपनी भाषा चुनें। इन तीनों को बाद में सेटिंग्स में बदला जा सकता है।",
"featuresTitle": "टर्मिक्स और क्या करता है?",
"featuresIntro": "आपके द्वारा सहेजे गए प्रत्येक सर्वर को टर्मिनल के अलावा अन्य माध्यमों में भी खोला जा सकता है। बाईं ओर के आइकनों के पीछे क्या है, यह नीचे दिया गया है।",
"feature_files": "फ़ाइल मैनेजर",
"feature_files_desc": "ऐप छोड़े बिना SFTP के माध्यम से फाइलों को ब्राउज़ करें, अपलोड करें, डाउनलोड करें और संपादित करें।",
"feature_tunnels": "सुरंगों",
"feature_tunnels_desc": "सर्वर के माध्यम से पोर्ट को फॉरवर्ड करके उन सेवाओं तक पहुंचें जो उपलब्ध नहीं हैं।",
"feature_snippets": "स्निपेट्स",
"feature_snippets_desc": "आप जिन कमांड्स को अक्सर चलाते हैं उन्हें सेव करें और एक क्लिक में उन्हें टर्मिनल पर भेजें।",
"featuresRailHint": "इनमें से किसी आइकन की आवश्यकता नहीं है? सेटिंग में जाकर नेविगेशन के अंतर्गत साइडबार से किसी भी आइकन को छिपा दें।",
@@ -449,7 +445,6 @@
"passwordSaved": "पासवर्ड सहेज लिया गया है, बदलने के लिए टाइप करें",
"key": "कुंजी",
"credential": "क्रेडेंशियल",
"none": "कोई नहीं",
"sshPrivateKey": "SSH निजी कुंजी",
"keyType": "कुंजी प्रकार",
"uploadFile": "फ़ाइल अपलोड करें",
@@ -611,17 +606,12 @@
"keepaliveIntervalLabel": "कीपअलाइव अंतराल (सेकंड)",
"maxKeepaliveMisses": "अधिकतम कीपअलाइव मिस",
"sameHost": "यह होस्ट (डायरेक्ट टनल)",
"bindHost": "बाइंड होस्ट",
"connectionToolbar": "कनेक्शन टूलबार",
"showConnectionToolbar": "कनेक्शन टूलबार दिखाएँ",
"showConnectionToolbarDesc": "इस होस्ट के SSH, RDP, VNC और Telnet सेशन में टूलबार दिखाएँ। आप इसे टूलबार से अस्थायी रूप से छिपा भी सकते हैं।",
"proxmoxLastSyncStatus": {
"success": "सफलता"
},
"proxmoxGuestsSelected_one": "{{count}} अतिथि — {{selected}} चयनित",
"proxmoxGuestsSelected_other": "{{count}} अतिथि — {{selected}} चयनित",
"proxmoxImportButton_one": "{{count}} होस्ट आयात करें",
"proxmoxImportButton_other": "{{count}} होस्ट आयात करें",
"proxmoxResultSkippedNoIp": "{{count}} को छोड़ दिया गया (कोई आईपी नहीं मिला)",
"proxmoxStatsUrlCopied": "Proxmox Stats URL क्लिपबोर्ड पर कॉपी हो गया है",
"copyProxmoxStatsUrlAction": "Proxmox Stats URL कॉपी करें",
@@ -896,13 +886,11 @@
"updatedCount": "{{count}} होस्ट अपडेट किए गए",
"friendlyNameLabel": "अनुकूल नाम",
"descriptionLabel": "विवरण",
"loadingHost": "होस्ट लोड हो रहा है...",
"loadingHosts": "होस्ट लोड हो रहे हैं...",
"loadingCredentials": "क्रेडेंशियल लोड हो रहे हैं...",
"noHostsYet": "अभी तक कोई होस्ट नहीं है",
"noHostsYetHint": "टर्मिनल खोलने, फाइलों को ब्राउज़ करने और मेट्रिक्स देखने के लिए एक सर्वर जोड़ें।",
"noHostsMatchSearch": "आपकी खोज से मेल खाने वाले कोई होस्ट नहीं हैं",
"hostNotFound": "होस्ट नहीं मिला",
"searchHosts": "होस्ट खोजें...",
"sortHosts": "होस्ट क्रमबद्ध करें",
"sortDefault": "डिफ़ॉल्ट क्रम",
@@ -925,7 +913,6 @@
"filterAuthKey": "SSH कुंजी",
"filterAuthCredential": "क्रेडेंशियल",
"filterAuthNone": "कोई नहीं",
"filterAuthOpkssh": "OPKSSH",
"filterAuthStepca": "स्टेप सीए",
"filterProtocolGroup": "प्रोटोकॉल",
"filterProtocolSsh": "SSH",
@@ -1114,13 +1101,7 @@
"connect": "होस्ट से कनेक्ट करें",
"clear": "साफ़ करें",
"paste": "चिपकाएँ",
"connected": "कनेक्टेड",
"clipboardWriteFailed": "क्लिपबोर्ड पर कॉपी करने में विफल। सुनिश्चित करें कि पेज HTTPS या लोकलहोस्ट पर सर्व किया गया है।",
"clipboardReadFailed": "क्लिपबोर्ड से पढ़ने में विफल। सुनिश्चित करें कि क्लिपबोर्ड अनुमतियाँ दी गई हैं।",
"tmuxDetach": "tmux सत्र से डिटैच करें",
"terminalTitle": "टर्मिनल - {{host}}",
"terminalWithPath": "टर्मिनल - {{host}}:{{path}}",
"runTitle": "{{command}} चल रहा है - {{host}}",
"totpRequired": "दो-कारक प्रमाणीकरण आवश्यक है",
"totpCodeLabel": "सत्यापन कोड",
"totpVerify": "सत्यापित करें",
@@ -1148,109 +1129,20 @@
}
},
"transfer": {
"copyToHost": "होस्ट पर कॉपी करें…",
"moveToHost": "होस्ट पर ले जाएँ…",
"copyItemsToHost": "{{count}} आइटम होस्ट पर कॉपी करें…",
"moveItemsToHost": "{{count}} आइटम होस्ट पर स्थानांतरित करें…",
"noHostsConnected": "कोई अन्य फ़ाइल प्रबंधक होस्ट उपलब्ध नहीं है।",
"noHostsConnectedHint": "होस्ट प्रबंधक में फ़ाइल प्रबंधक सक्षम किए हुए एक और SSH होस्ट जोड़ें।",
"selectDestinationHost": "गंतव्य होस्ट चुनें",
"destinationPath": "गंतव्य पथ",
"recentDestinations": "हाल के गंतव्य",
"collapseRecentDestinations": "हाल के गंतव्य संकुचित करें",
"expandRecentDestinations": "हाल के गंतव्य विस्तारित करें",
"browseFolders": "गंतव्य फ़ोल्डर ब्राउज़ करें",
"browseDestination": "पथ ब्राउज़ करें या दर्ज करें",
"confirmCopy": "कॉपी करें",
"confirmMove": "स्थानांतरित करें",
"transferring": "स्थानांतरित हो रहा है…",
"progressVerifying": "फ़ाइल की अखंडता का सत्यापन…",
"progressBenchmarking": "सबसे तेज़ स्थानांतरण मार्ग का चयन करना…",
"compressing": "संपीड़ित किया जा रहा है…",
"extracting": "निकाला जा रहा है…",
"transferringItems": "{{total}} में से {{current}} आइटम स्थानांतरित हो रहे हैं…",
"transferSuccess": "स्थानांतरण पूर्ण",
"transferError": "स्थानांतरण विफल",
"transferPartial": "स्थानांतरण {{count}} त्रुटियों के साथ पूर्ण हुआ",
"transferPartialHint": "स्थानांतरित नहीं किया जा सका: {{paths}}",
"itemsSummary": "{{count}} आइटम",
"destMustBeDirectory": "कई आइटम स्थानांतरण के लिए गंतव्य एक निर्देशिका होना चाहिए",
"selectThisFolder": "यह फ़ोल्डर चुनें",
"browsePathWillBeCreated": "यह फ़ोल्डर अभी मौजूद नहीं है। स्थानांतरण शुरू होने पर इसे बनाया जाएगा।",
"browsePathError": "गंतव्य होस्ट पर यह पथ नहीं खोला जा सका।",
"goUp": "ऊपर जाएं",
"copyFolderToHost": "फ़ोल्डर होस्ट पर कॉपी करें…",
"moveFolderToHost": "फ़ोल्डर होस्ट पर स्थानांतरित करें…",
"hostReady": "तैयार",
"hostConnecting": "कनेक्ट हो रहा है…",
"hostDisconnected": "कनेक्ट नहीं है",
"hostAuthRequired": "प्रमाणीकरण आवश्यक है — पहले इस होस्ट पर फ़ाइल प्रबंधक खोलें",
"hostConnectionFailed": "कनेक्शन विफल",
"metricsTitle": "स्थानांतरण समय",
"metricsPrepare": "गंतव्य तैयारी: {{duration}}",
"metricsCompress": "स्रोत पर संपीड़न: {{duration}}",
"metricsHopSourceRead": "स्रोत → सर्वर: {{throughput}}",
"metricsHopDestSftpWrite": "सर्वर → गंतव्य (SFTP): {{throughput}}",
"metricsHopDestLocalWrite": "सर्वर → गंतव्य (स्थानीय): {{throughput}}",
"metricsTransfer": "एंड-टू-एंड: {{throughput}} ({{duration}})",
"metricsExtract": "गंतव्य पर निष्कर्षण: {{duration}}",
"metricsVerify": "SHA-256 सत्यापित: {{duration}}",
"metricsRouteBenchmark": "रूट प्रोब — डायरेक्ट: {{direct}}, रिले: {{relay}}",
"metricsSourceDelete": "स्रोत से हटाना: {{duration}}",
"metricsTotal": "कुल: {{duration}}",
"progressCompressing": "स्रोत होस्ट पर संपीड़ित कर रहा है…",
"progressExtracting": "गंतव्य पर निष्कर्षण कर रहा है…",
"progressTransferring": "डेटा स्थानांतरित कर रहा है…",
"progressReconnecting": "पुनः कनेक्ट हो रहा है…",
"parallelSegmentsLabel": "समानांतर स्थानांतरण लेन",
"parallelSegmentsOption": "{{count}} लेन",
"parallelSegmentsHint": "बड़ी फ़ाइलें 256 MB टुकड़ों में विभाजित होती हैं। एकाधिक लेन उच्च कुल थ्रूपुट के लिए अलग-अलग कनेक्शन का उपयोग करती हैं (जैसे कई स्थानांतरण प्रारंभ करना)।",
"progressTotalSpeed": "{{speed}} कुल ({{lanes}} लेन)",
"progressTransferringItems": "फ़ाइलें स्थानांतरित कर रहा है ({{current}} / {{total}})…",
"progressBytes": "{{transferred}} / {{total}}",
"progressItems": "{{current}} / {{total}} फ़ाइलें",
"sourceNotDeletedPartial": "स्रोत फ़ाइलें रखी गईं (आंशिक स्थानांतरण)",
"jumpHostLimitation": "दोनों होस्ट Termix सर्वर से पहुँच योग्य होने चाहिए। सीधा होस्ट-से-होस्ट रूटिंग समर्थित नहीं है।",
"cancel": "रद्द करें",
"methodLabel": "स्थानांतरण विधि",
"methodAuto": "स्वचालित",
"methodTar": "Tar संग्रह",
"methodItemSftp": "प्रति-फ़ाइल SFTP",
"methodAutoHint": "फ़ाइलों की संख्या, आकार और संपीड़न क्षमता के आधार पर tar या प्रति-फ़ाइल SFTP चुनता है। एकल फ़ाइलें हमेशा स्ट्रीमिंग SFTP का उपयोग करती हैं।",
"methodTarHint": "स्रोत पर संपीड़ित करें, एक संग्रह स्थानांतरित करें, गंतव्य पर निष्कर्षण करें। दोनों यूनिक्स होस्ट पर tar आवश्यक है।",
"methodItemSftpHint": "प्रत्येक फ़ाइल को SFTP पर अलग-अलग स्थानांतरित करें। विंडोज़ सहित सभी होस्ट पर काम करता है।",
"methodPreviewLoading": "स्थानांतरण विधि की गणना कर रहा है…",
"methodPreviewError": "स्थानांतरण विधि का पूर्वावलोकन नहीं किया जा सका। प्रारंभ करने पर सर्वर फिर भी एक विधि चुनेगा।",
"methodPreviewWillUseTar": "उपयोग करेगा: Tar संग्रह",
"methodPreviewWillUseItemSftp": "उपयोग करेगा: प्रति-फ़ाइल SFTP",
"methodPreviewScanSummary": "{{fileCount}} फ़ाइलें, कुल {{totalSize}} (स्रोत होस्ट पर स्कैन किया गया)।",
"methodItemSftpLimitation": "प्रत्येक फ़ाइल एक-एक करके एकल-फ़ाइल प्रतिलिपि के रूप में समान SFTP स्ट्रीम का उपयोग करती है। सभी फ़ाइलों में प्रगति संयुक्त होती है, इसलिए बड़ी फ़ाइलों के दौरान बार धीरे-धीरे चलता है।",
"methodReason": {
"user_item_sftp": "आपने प्रति-फ़ाइल SFTP चुना।",
"user_tar": "आपने tar संग्रह चुना।",
"tar_unavailable": "Tar एक या दोनों होस्ट पर उपलब्ध नहीं है — इसके बजाय प्रति-फ़ाइल SFTP का उपयोग किया जाएगा।",
"windows_host": "कोई Windows होस्ट शामिल है — tar का उपयोग नहीं होता।",
"auto_multi_large": "ऑटो: संपीड़न योग्य डेटा वाली एक बड़ी फ़ाइल ({{largestSize}}) सहित अनेक फ़ाइलें — tar एकल स्थानांतरण में बंडल करता है।",
"auto_single_large_in_archive": "ऑटो: इस सेट में एक बड़ी फ़ाइल ({{largestSize}}) — प्रति-फ़ाइल SFTP।",
"auto_many_incompressible": "ऑटो: अधिकतर असंपीड़नीय डेटा — प्रति-फ़ाइल SFTP।",
"auto_many_files": "ऑटो: बहुत सारी फ़ाइलें ({{fileCount}}) — tar प्रति-फ़ाइल ओवरहेड कम करता है।",
"auto_default": "ऑटो: इस सेट के लिए प्रति-फ़ाइल SFTP।"
},
"progressCancel": "रद्द करें",
"progressCancelling": "रद्द कर रहा है…",
"progressStalled": "रुका हुआ",
"resumedHint": "किसी अन्य विंडो में शुरू हुए सक्रिय स्थानांतरण से पुनः जुड़ा।",
"transferCancelled": "स्थानांतरण रद्द किया गया।",
"transferCancelledCopyHint": "आंशिक फ़ाइलें गंतव्य पर रह सकती हैं।",
"transferCancelledMoveHint": "आंशिक फ़ाइलें गंतव्य पर रह सकती हैं। स्रोत फ़ाइलें नहीं हटाई गईं।",
"cleanupDestFiles": "गंतव्य साफ करें",
"cleanupDestFilesSuccess": "गंतव्य से आंशिक फ़ाइलें हटा दी गईं।",
"cleanupDestFilesPartial": "कुछ आंशिक फ़ाइलें नहीं हटाई जा सकीं।",
"cleanupDestFilesNothing": "गंतव्य पर साफ करने के लिए कुछ नहीं।",
"cleanupDestFilesError": "सफाई विफल रही।",
"retryTransfer": "पुनः प्रयास करें",
"retryTransferError": "पुनः प्रयास विफल रहा।",
"transferFailedRetryHint": "आंशिक डेटा गंतव्य पर रखा गया था। कनेक्शन वापस आने पर पुनः प्रयास फिर से शुरू होगा।"
"sourceNotDeletedPartial": "स्रोत फ़ाइलें रखी गईं (आंशिक स्थानांतरण)"
},
"tunnels": {
"connect": "कनेक्ट करें",
@@ -1261,8 +1153,6 @@
"clientTunnel": "क्लाइंट टनल",
"addClientTunnel": "क्लाइंट टनल जोड़ें",
"active": "सक्रिय",
"start": "शुरू करें",
"stop": "बंद करें",
"typeServerLocalDesc": "वर्तमान होस्ट से एंडपॉइंट तक।",
"typeServerRemoteDesc": "एंडपॉइंट से वर्तमान होस्ट तक वापस।",
"typeClientLocalDesc": "स्थानीय कंप्यूटर से एंडपॉइंट तक।",
@@ -1374,8 +1264,7 @@
"resetCodeRateLimitedWithTime": "दर सीमित: बहुत अधिक सत्यापन प्रयास। कृपया पुनः प्रयास करने से पहले {{time}} सेकंड प्रतीक्षा करें।",
"authTokenSaveFailed": "प्रमाणीकरण टोकन सहेजने में विफल",
"authTokenMissing": "सर्वर ने नया प्रमाणीकरण टोकन नहीं भेजा। कृपया दोबारा साइन इन करें।",
"failedToLoadServer": "सर्वर लोड करने में विफल",
"remoteServerRequired": "रिमोट सर्वर आवश्यक है। इस कनेक्शन प्रकार का उपयोग करने के लिए सेटिंग्स में जाकर रिमोट सर्वर कनेक्ट करें।"
"failedToLoadServer": "सर्वर लोड करने में विफल"
},
"messages": {
"registrationDisabled": "नया खाता पंजीकरण वर्तमान में व्यवस्थापक द्वारा अक्षम है। कृपया लॉग इन करें या व्यवस्थापक से संपर्क करें।",
@@ -1831,7 +1720,6 @@
"protocolLabel": "शिष्टाचार",
"domainLabel": "कार्यक्षेत्र",
"domainPlaceholder": "वैकल्पिक",
"connectToTerminal": "टर्मिनल से कनेक्ट करें",
"connectToFiles": "फ़ाइलों से कनेक्ट करें"
},
"splitScreen": {