import 'package:flutter/widgets.dart'; import 'app_localizations.dart'; export 'app_localizations.dart'; extension LocalizedContext on BuildContext { String tr(String key) => AppLocalizations.of(this)!.text(key); } extension LocalizedText on AppLocalizations { String text(String key) => switch (key) { 'servers' => servers, 'terminal' => terminal, 'files' => files, 'monitor' => monitor, 'diagnostics' => diagnostics, 'settings' => settings, 'addServer' => addServer, 'editServer' => editServer, 'name' => name, 'host' => host, 'username' => username, 'port' => port, 'password' => password, 'privateKey' => privateKey, 'passphrase' => passphrase, 'savePassword' => savePassword, 'chooseKey' => chooseKey, 'keyStored' => keyStored, 'connect' => connect, 'disconnect' => disconnect, 'connecting' => connecting, 'connected' => connected, 'disconnected' => disconnected, 'reconnect' => reconnect, 'search' => search, 'emptyServers' => emptyServers, 'selectServer' => selectServer, 'save' => save, 'cancel' => cancel, 'delete' => delete, 'duplicate' => duplicate, 'edit' => edit, 'confirmDelete' => confirmDelete, 'confirmRename' => confirmRename, 'hostTrustTitle' => hostTrustTitle, 'hostTrustBody' => hostTrustBody, 'trust' => trust, 'hostChanged' => hostChanged, 'hostRejected' => hostRejected, 'language' => language, 'system' => system, 'light' => light, 'dark' => dark, 'theme' => theme, 'welcome' => welcome, 'localOnly' => localOnly, 'guidance' => guidance, 'continueAction' => continueAction, 'license' => license, 'consent' => consent, 'accept' => accept, 'decline' => decline, 'licenseDeclined' => licenseDeclined, 'vault' => vault, 'createVault' => createVault, 'masterPassword' => masterPassword, 'confirmPassword' => confirmPassword, 'vaultAdvice' => vaultAdvice, 'unlock' => unlock, 'lock' => lock, 'biometric' => biometric, 'unlockBiometric' => unlockBiometric, 'biometricReason' => biometricReason, 'lockBackground' => lockBackground, 'idleTimeout' => idleTimeout, 'weakPassword' => weakPassword, 'passwordMismatch' => passwordMismatch, 'locked' => locked, 'unlockFailed' => unlockFailed, 'storageError' => storageError, 'invalidProfile' => invalidProfile, 'invalidImport' => invalidImport, 'networkError' => networkError, 'authFailed' => authFailed, 'invalidKey' => invalidKey, 'timeout' => timeout, 'operationFailed' => operationFailed, 'permissionDenied' => permissionDenied, 'fileError' => fileError, 'fileExists' => fileExists, 'unsafePath' => unsafePath, 'cancelled' => cancelled, 'upload' => upload, 'download' => download, 'rename' => rename, 'newFolder' => newFolder, 'refresh' => refresh, 'parent' => parent, 'size' => size, 'modified' => modified, 'symlink' => symlink, 'emptyDirectory' => emptyDirectory, 'importProfiles' => importProfiles, 'exportProfiles' => exportProfiles, 'profileTransfer' => profileTransfer, 'importPreview' => importPreview, 'importAdvice' => importAdvice, 'skipDuplicates' => skipDuplicates, 'updateDuplicates' => updateDuplicates, 'createDuplicates' => createDuplicates, 'importAction' => importAction, 'done' => done, 'copy' => copy, 'paste' => paste, 'keyboard' => keyboard, 'hideKeyboard' => hideKeyboard, 'monitorInterval' => monitorInterval, 'cpu' => cpu, 'ram' => ram, 'disk' => disk, 'uptime' => uptime, 'load' => load, 'release' => release, 'rtt' => rtt, 'handshake' => handshake, 'unsupportedSystem' => unsupportedSystem, 'runDiagnostics' => runDiagnostics, 'icmpNote' => icmpNote, 'dnsResults' => dnsResults, 'tcpConnect' => tcpConnect, 'backgroundNote' => backgroundNote, 'componentLicenses' => componentLicenses, 'clearPassword' => clearPassword, 'biometricUnavailable' => biometricUnavailable, 'licenseError' => licenseError, 'loadNote' => loadNote, 'addressFamily' => addressFamily, 'automatic' => automatic, 'testType' => testType, 'target' => target, 'duration' => duration, 'resultOk' => resultOk, 'resultFailed' => resultFailed, 'dnsLookup' => dnsLookup, 'tcpConnectTest' => tcpConnectTest, 'notTested' => notTested, 'commandRtt' => commandRtt, 'sshLatency' => sshLatency, 'ping' => ping, 'traceroute' => traceroute, 'packetCount' => packetCount, 'intervalSeconds' => intervalSeconds, 'timeoutSeconds' => timeoutSeconds, 'payloadBytes' => payloadBytes, 'maxHops' => maxHops, 'probesPerHop' => probesPerHop, 'testOptions' => testOptions, 'stop' => stop, 'packetsSent' => packetsSent, 'packetsReceived' => packetsReceived, 'packetLoss' => packetLoss, 'rttStats' => rttStats, 'hop' => hop, 'traceReached' => traceReached, 'traceUnreachable' => traceUnreachable, 'traceLimit' => traceLimit, 'stoppedByUser' => stoppedByUser, 'timeoutStar' => timeoutStar, 'icmpNotPermitted' => icmpNotPermitted, 'icmpUnsupported' => icmpUnsupported, 'invalidSetting' => invalidSetting, 'replyFrom' => replyFrom, 'probeTimeout' => probeTimeout, 'probeUnreachable' => probeUnreachable, 'probeSendFailed' => probeSendFailed, 'protocolUsed' => protocolUsed, 'resolvedAddress' => resolvedAddress, 'passwordLength' => passwordLength, 'biometricNote' => biometricNote, 'usePassword' => usePassword, 'showPassword' => showPassword, 'hidePassword' => hidePassword, 'strength0' => strength0, 'strength1' => strength1, 'strength2' => strength2, 'strength3' => strength3, 'strength4' => strength4, 'passwordStrength' => passwordStrength, 'shortPasswordWarning' => shortPasswordWarning, 'changePassword' => changePassword, 'currentPassword' => currentPassword, 'newPassword' => newPassword, 'confirmNewPassword' => confirmNewPassword, 'passwordChanged' => passwordChanged, 'passwordChangedBiometricOff' => passwordChangedBiometricOff, 'wrongCurrentPassword' => wrongCurrentPassword, 'samePassword' => samePassword, 'biometricCancelled' => biometricCancelled, 'biometricFailed' => biometricFailed, 'biometricLockout' => biometricLockout, 'biometricInvalid' => biometricInvalid, 'biometricUpgrade' => biometricUpgrade, 'biometricReenable' => biometricReenable, 'tryBiometricAgain' => tryBiometricAgain, 'securitySection' => securitySection, 'kdfInfo' => kdfInfo, 'tcpPing' => tcpPing, 'icmpPing' => icmpPing, 'tcpPort' => tcpPort, 'tcpNote' => tcpNote, 'icmpPingNote' => icmpPingNote, 'traceNote' => traceNote, 'attemptCount' => attemptCount, 'customCount' => customCount, 'customValue' => customValue, 'continuous' => continuous, 'ttlHopLimit' => ttlHopLimit, 'systemDefault' => systemDefault, 'dontFragment' => dontFragment, 'traceMethod' => traceMethod, 'tcpTraceUnsupported' => tcpTraceUnsupported, 'firstTtl' => firstTtl, 'probeInterval' => probeInterval, 'tracePort' => tracePort, 'repetitions' => repetitions, 'reverseDns' => reverseDns, 'resolveAddresses' => resolveAddresses, 'noAddressFamily' => noAddressFamily, 'literalOtherFamily' => literalOtherFamily, 'dnsFailed' => dnsFailed, 'outcomeOk' => outcomeOk, 'outcomeTimeout' => outcomeTimeout, 'outcomeRefused' => outcomeRefused, 'outcomeUnreachable' => outcomeUnreachable, 'outcomeTtlExceeded' => outcomeTtlExceeded, 'outcomeError' => outcomeError, 'attempts' => attempts, 'successful' => successful, 'failedCount' => failedCount, 'successRate' => successRate, 'rttMin' => rttMin, 'rttMax' => rttMax, 'rttAvg' => rttAvg, 'rttMedian' => rttMedian, 'rttStddev' => rttStddev, 'jitter' => jitter, 'elapsedTime' => elapsedTime, 'statsNote' => statsNote, 'chartTitle' => chartTitle, 'chartFailures' => chartFailures, 'olderOmitted' => olderOmitted, 'copyResults' => copyResults, 'exportResults' => exportResults, 'clearResults' => clearResults, 'copied' => copied, 'saveToDevice' => saveToDevice, 'shareFile' => shareFile, 'savedToDevice' => savedToDevice, 'combinedSummary' => combinedSummary, 'statusColumn' => statusColumn, 'statusRunning' => statusRunning, 'statusFinished' => statusFinished, 'compareRuns' => compareRuns, 'previousRun' => previousRun, 'pathChanged' => pathChanged, 'tcpOpenNote' => tcpOpenNote, 'tcpRefusedNote' => tcpRefusedNote, 'answeredOtherAddress' => answeredOtherAddress, 'icmpCodeLegend' => icmpCodeLegend, 'messageTooLong' => messageTooLong, 'ttlUnsupported' => ttlUnsupported, 'dontFragmentUnsupported' => dontFragmentUnsupported, 'unsupportedPlatform' => unsupportedPlatform, 'archiveDamaged' => archiveDamaged, 'archiveListOnly' => archiveListOnly, 'archiveTooLarge' => archiveTooLarge, 'archiveUnsupported' => archiveUnsupported, 'atomicNotPossible' => atomicNotPossible, 'ownerWouldChange' => ownerWouldChange, 'inPlaceAdvice' => inPlaceAdvice, 'binaryFile' => binaryFile, 'chooseEncodingAdvice' => chooseEncodingAdvice, 'unknownEncoding' => unknownEncoding, 'wrongEncoding' => wrongEncoding, 'reopenEncoding' => reopenEncoding, 'saveEncoding' => saveEncoding, 'openAsTextWith' => openAsTextWith, 'unencodableTitle' => unencodableTitle, 'unencodableBody' => unencodableBody, 'mixedLineBreaks' => mixedLineBreaks, 'notExactRoundTrip' => notExactRoundTrip, 'close' => close, 'line' => line, 'column' => column, 'lineShort' => lineShort, 'columnShort' => columnShort, 'conflictAdvice' => conflictAdvice, 'remoteChanged' => remoteChanged, 'remoteDeleted' => remoteDeleted, 'documentChanged' => documentChanged, 'connectToOpen' => connectToOpen, 'connectToSave' => connectToSave, 'offlineAdvice' => offlineAdvice, 'saveCopyToDevice' => saveCopyToDevice, 'cryptoNote' => cryptoNote, 'cryptoUnreadable' => cryptoUnreadable, 'privateKeyHidden' => privateKeyHidden, 'remoteFiles' => remoteFiles, 'deviceFiles' => deviceFiles, 'recentFiles' => recentFiles, 'favoriteFiles' => favoriteFiles, 'deviceFilesNote' => deviceFilesNote, 'openFiles' => openFiles, 'openFolder' => openFolder, 'openedFiles' => openedFiles, 'newFile' => newFile, 'open' => open, 'openAsText' => openAsText, 'openInSystemViewer' => openInSystemViewer, 'systemViewerTitle' => systemViewerTitle, 'systemViewerIos' => systemViewerIos, 'systemViewerAndroid' => systemViewerAndroid, 'noViewer' => noViewer, 'draftsRecovered' => draftsRecovered, 'discardDrafts' => discardDrafts, 'discard' => discard, 'discardChanges' => discardChanges, 'unsavedChanges' => unsavedChanges, 'editorSettings' => editorSettings, 'fontSize' => fontSize, 'wordWrap' => wordWrap, 'lineNumbers' => lineNumbers, 'indentWithTabs' => indentWithTabs, 'indentWidth' => indentWidth, 'syntaxHighlight' => syntaxHighlight, 'largeFileHighlight' => largeFileHighlight, 'syntax' => syntax, 'noGrammar' => noGrammar, 'tabs' => tabs, 'spaces' => spaces, 'readOnly' => readOnly, 'readOnlyDevice' => readOnlyDevice, 'readOnlyRemote' => readOnlyRemote, 'modifiedState' => modifiedState, 'findHint' => findHint, 'replaceHint' => replaceHint, 'invalidRegex' => invalidRegex, 'matchCase' => matchCase, 'regularExpression' => regularExpression, 'previousMatch' => previousMatch, 'nextMatch' => nextMatch, 'replace' => replace, 'replaceAll' => replaceAll, 'goToLine' => goToLine, 'lineBreaks' => lineBreaks, 'undo' => undo, 'redo' => redo, 'selectAll' => selectAll, 'reload' => reload, 'reloadDiscard' => reloadDiscard, 'overwrite' => overwrite, 'overwriteExisting' => overwriteExisting, 'saveAs' => saveAs, 'saveAsRequired' => saveAsRequired, 'saveToServer' => saveToServer, 'remotePath' => remotePath, 'saved' => saved, 'validate' => validate, 'validOk' => validOk, 'validationProblem' => validationProblem, 'formatDocument' => formatDocument, 'formatAdvice' => formatAdvice, 'formatFailed' => formatFailed, 'fileTooLarge' => fileTooLarge, 'filesCount' => filesCount, 'uncompressed' => uncompressed, 'imageUnsupported' => imageUnsupported, 'svgSafe' => svgSafe, 'notebookUnreadable' => notebookUnreadable, 'uploadToServer' => uploadToServer, 'uploadedTo' => uploadedTo, 'addFavorite' => addFavorite, 'removeFavorite' => removeFavorite, 'removeFromList' => removeFromList, 'noFavorites' => noFavorites, 'noRecentFiles' => noRecentFiles, 'documentStale' => documentStale, 'fileNotFound' => fileNotFound, 'noSpace' => noSpace, 'readOnlyError' => readOnlyError, _ => operationFailed, }; }