import 'dart:async'; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:intl/intl.dart' as intl; import 'app_localizations_cs.dart'; import 'app_localizations_de.dart'; import 'app_localizations_en.dart'; // ignore_for_file: type=lint /// Callers can lookup localized strings with an instance of AppLocalizations /// returned by `AppLocalizations.of(context)`. /// /// Applications need to include `AppLocalizations.delegate()` in their app's /// `localizationDelegates` list, and the locales they support in the app's /// `supportedLocales` list. For example: /// /// ```dart /// import 'l10n/app_localizations.dart'; /// /// return MaterialApp( /// localizationsDelegates: AppLocalizations.localizationsDelegates, /// supportedLocales: AppLocalizations.supportedLocales, /// home: MyApplicationHome(), /// ); /// ``` /// /// ## Update pubspec.yaml /// /// Please make sure to update your pubspec.yaml to include the following /// packages: /// /// ```yaml /// dependencies: /// # Internationalization support. /// flutter_localizations: /// sdk: flutter /// intl: any # Use the pinned version from flutter_localizations /// /// # Rest of dependencies /// ``` /// /// ## iOS Applications /// /// iOS applications define key application metadata, including supported /// locales, in an Info.plist file that is built into the application bundle. /// To configure the locales supported by your app, you’ll need to edit this /// file. /// /// First, open your project’s ios/Runner.xcworkspace Xcode workspace file. /// Then, in the Project Navigator, open the Info.plist file under the Runner /// project’s Runner folder. /// /// Next, select the Information Property List item, select Add Item from the /// Editor menu, then select Localizations from the pop-up menu. /// /// Select and expand the newly-created Localizations item then, for each /// locale your application supports, add a new item and select the locale /// you wish to add from the pop-up menu in the Value field. This list should /// be consistent with the languages listed in the AppLocalizations.supportedLocales /// property. abstract class AppLocalizations { AppLocalizations(String locale) : localeName = intl.Intl.canonicalizedLocale(locale.toString()); final String localeName; static AppLocalizations? of(BuildContext context) { return Localizations.of(context, AppLocalizations); } static const LocalizationsDelegate delegate = _AppLocalizationsDelegate(); /// A list of this localizations delegate along with the default localizations /// delegates. /// /// Returns a list of localizations delegates containing this delegate along with /// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, /// and GlobalWidgetsLocalizations.delegate. /// /// Additional delegates can be added by appending to this list in /// MaterialApp. This list does not have to be used at all if a custom list /// of delegates is preferred or required. static const List> localizationsDelegates = >[ delegate, GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ]; /// A list of this localizations delegate's supported locales. static const List supportedLocales = [ Locale('cs'), Locale('de'), Locale('en'), ]; /// No description provided for @servers. /// /// In en, this message translates to: /// **'Servers'** String get servers; /// No description provided for @terminal. /// /// In en, this message translates to: /// **'Terminal'** String get terminal; /// No description provided for @files. /// /// In en, this message translates to: /// **'Files'** String get files; /// No description provided for @monitor. /// /// In en, this message translates to: /// **'Monitor'** String get monitor; /// No description provided for @diagnostics. /// /// In en, this message translates to: /// **'Diagnostics'** String get diagnostics; /// No description provided for @settings. /// /// In en, this message translates to: /// **'Settings'** String get settings; /// No description provided for @addServer. /// /// In en, this message translates to: /// **'Add server'** String get addServer; /// No description provided for @editServer. /// /// In en, this message translates to: /// **'Edit server'** String get editServer; /// No description provided for @name. /// /// In en, this message translates to: /// **'Name'** String get name; /// No description provided for @host. /// /// In en, this message translates to: /// **'Hostname / IP address'** String get host; /// No description provided for @username. /// /// In en, this message translates to: /// **'SSH username'** String get username; /// No description provided for @port. /// /// In en, this message translates to: /// **'SSH port'** String get port; /// No description provided for @password. /// /// In en, this message translates to: /// **'Password'** String get password; /// No description provided for @privateKey. /// /// In en, this message translates to: /// **'Private key'** String get privateKey; /// No description provided for @passphrase. /// /// In en, this message translates to: /// **'Key passphrase (never saved)'** String get passphrase; /// No description provided for @savePassword. /// /// In en, this message translates to: /// **'Save SSH password in Vault'** String get savePassword; /// No description provided for @chooseKey. /// /// In en, this message translates to: /// **'Choose private key'** String get chooseKey; /// No description provided for @keyStored. /// /// In en, this message translates to: /// **'Private key stored securely'** String get keyStored; /// No description provided for @connect. /// /// In en, this message translates to: /// **'Connect'** String get connect; /// No description provided for @disconnect. /// /// In en, this message translates to: /// **'Disconnect'** String get disconnect; /// No description provided for @connecting. /// /// In en, this message translates to: /// **'Connecting…'** String get connecting; /// No description provided for @connected. /// /// In en, this message translates to: /// **'Connected'** String get connected; /// No description provided for @disconnected. /// /// In en, this message translates to: /// **'Disconnected'** String get disconnected; /// No description provided for @reconnect. /// /// In en, this message translates to: /// **'Reconnect'** String get reconnect; /// No description provided for @search. /// /// In en, this message translates to: /// **'Search servers'** String get search; /// No description provided for @emptyServers. /// /// In en, this message translates to: /// **'Add your first server. Profiles stay on this device.'** String get emptyServers; /// No description provided for @selectServer. /// /// In en, this message translates to: /// **'Connect to a server from Servers.'** String get selectServer; /// No description provided for @save. /// /// In en, this message translates to: /// **'Save'** String get save; /// No description provided for @cancel. /// /// In en, this message translates to: /// **'Cancel'** String get cancel; /// No description provided for @delete. /// /// In en, this message translates to: /// **'Delete'** String get delete; /// No description provided for @duplicate. /// /// In en, this message translates to: /// **'Duplicate'** String get duplicate; /// No description provided for @edit. /// /// In en, this message translates to: /// **'Edit'** String get edit; /// No description provided for @confirmDelete. /// /// In en, this message translates to: /// **'Delete this item? This action cannot be undone.'** String get confirmDelete; /// No description provided for @confirmRename. /// /// In en, this message translates to: /// **'Rename the selected remote item?'** String get confirmRename; /// No description provided for @hostTrustTitle. /// /// In en, this message translates to: /// **'Verify server identity'** String get hostTrustTitle; /// No description provided for @hostTrustBody. /// /// In en, this message translates to: /// **'Compare this SHA-256 fingerprint through a separate trusted channel before trusting this server.'** String get hostTrustBody; /// No description provided for @trust. /// /// In en, this message translates to: /// **'Trust this key'** String get trust; /// No description provided for @hostChanged. /// /// In en, this message translates to: /// **'SECURITY: The saved SSH host key has changed. Connection blocked. Verify the server independently.'** String get hostChanged; /// No description provided for @hostRejected. /// /// In en, this message translates to: /// **'The SSH host key was not trusted.'** String get hostRejected; /// No description provided for @language. /// /// In en, this message translates to: /// **'Language'** String get language; /// No description provided for @system. /// /// In en, this message translates to: /// **'System'** String get system; /// No description provided for @light. /// /// In en, this message translates to: /// **'Light'** String get light; /// No description provided for @dark. /// /// In en, this message translates to: /// **'Dark'** String get dark; /// No description provided for @theme. /// /// In en, this message translates to: /// **'Appearance'** String get theme; /// No description provided for @welcome. /// /// In en, this message translates to: /// **'Welcome to SM Mobile'** String get welcome; /// No description provided for @localOnly. /// /// In en, this message translates to: /// **'Direct SSH / SFTP. No account, cloud or telemetry.'** String get localOnly; /// No description provided for @guidance. /// /// In en, this message translates to: /// **'Operational safety and backups'** String get guidance; /// No description provided for @continueAction. /// /// In en, this message translates to: /// **'Continue'** String get continueAction; /// No description provided for @license. /// /// In en, this message translates to: /// **'Software license'** String get license; /// No description provided for @consent. /// /// In en, this message translates to: /// **'I accept CH-J Proprietary Software License 1.14. I acknowledge the risk of data loss or corruption and the need for appropriate backups before risky operations. The app does not guarantee that backups exist or are recoverable.'** String get consent; /// No description provided for @accept. /// /// In en, this message translates to: /// **'Accept and continue'** String get accept; /// No description provided for @decline. /// /// In en, this message translates to: /// **'Decline'** String get decline; /// No description provided for @licenseDeclined. /// /// In en, this message translates to: /// **'The license was declined. Server functions remain locked.'** String get licenseDeclined; /// No description provided for @vault. /// /// In en, this message translates to: /// **'Local Vault'** String get vault; /// No description provided for @createVault. /// /// In en, this message translates to: /// **'Create secure Vault'** String get createVault; /// No description provided for @masterPassword. /// /// In en, this message translates to: /// **'Master password'** String get masterPassword; /// No description provided for @confirmPassword. /// /// In en, this message translates to: /// **'Confirm password'** String get confirmPassword; /// No description provided for @vaultAdvice. /// /// In en, this message translates to: /// **'Use 4–64 characters: a PIN, a word or a long passphrase. Longer passwords are much harder to guess. This password cannot be recovered; store it safely.'** String get vaultAdvice; /// No description provided for @unlock. /// /// In en, this message translates to: /// **'Unlock'** String get unlock; /// No description provided for @lock. /// /// In en, this message translates to: /// **'Lock Vault'** String get lock; /// No description provided for @biometric. /// /// In en, this message translates to: /// **'Biometric unlock (Face ID, Touch ID, fingerprint)'** String get biometric; /// No description provided for @unlockBiometric. /// /// In en, this message translates to: /// **'Unlock with device security'** String get unlockBiometric; /// No description provided for @biometricReason. /// /// In en, this message translates to: /// **'Unlock the SM Mobile Vault'** String get biometricReason; /// No description provided for @lockBackground. /// /// In en, this message translates to: /// **'Lock when leaving the app'** String get lockBackground; /// No description provided for @idleTimeout. /// /// In en, this message translates to: /// **'Auto-lock after inactivity (minutes)'** String get idleTimeout; /// No description provided for @weakPassword. /// /// In en, this message translates to: /// **'Use a master password with 4–64 characters.'** String get weakPassword; /// No description provided for @passwordMismatch. /// /// In en, this message translates to: /// **'Passwords do not match.'** String get passwordMismatch; /// No description provided for @locked. /// /// In en, this message translates to: /// **'Vault locked. Unlock it to continue.'** String get locked; /// No description provided for @unlockFailed. /// /// In en, this message translates to: /// **'Unable to unlock. Check your password or use the master-password fallback.'** String get unlockFailed; /// No description provided for @storageError. /// /// In en, this message translates to: /// **'Secure storage is unavailable or damaged. Your stored data was not reset.'** String get storageError; /// No description provided for @invalidProfile. /// /// In en, this message translates to: /// **'Check the name, hostname/IP, username and port (1–65535).'** String get invalidProfile; /// No description provided for @invalidImport. /// /// In en, this message translates to: /// **'Invalid profile file. Use CH-J JSON format version 1, up to 5 MiB and 10,000 profiles.'** String get invalidImport; /// No description provided for @networkError. /// /// In en, this message translates to: /// **'Network connection failed. Check the address, VPN and local-network permission.'** String get networkError; /// No description provided for @authFailed. /// /// In en, this message translates to: /// **'SSH authentication failed. Check the username, password or private key.'** String get authFailed; /// No description provided for @invalidKey. /// /// In en, this message translates to: /// **'Invalid private key or passphrase.'** String get invalidKey; /// No description provided for @timeout. /// /// In en, this message translates to: /// **'The operation timed out.'** String get timeout; /// No description provided for @operationFailed. /// /// In en, this message translates to: /// **'Operation failed. Check the connection and permissions.'** String get operationFailed; /// No description provided for @permissionDenied. /// /// In en, this message translates to: /// **'The server denied file access.'** String get permissionDenied; /// No description provided for @fileError. /// /// In en, this message translates to: /// **'SFTP operation failed. The item may be missing, the directory nonempty, or access denied.'** String get fileError; /// No description provided for @fileExists. /// /// In en, this message translates to: /// **'The destination already exists. Choose another name.'** String get fileExists; /// No description provided for @unsafePath. /// /// In en, this message translates to: /// **'Unsafe path, unsupported file type or symbolic link. Symbolic links are not followed.'** String get unsafePath; /// No description provided for @cancelled. /// /// In en, this message translates to: /// **'Transfer cancelled.'** String get cancelled; /// No description provided for @upload. /// /// In en, this message translates to: /// **'Upload file'** String get upload; /// No description provided for @download. /// /// In en, this message translates to: /// **'Download and save / share'** String get download; /// No description provided for @rename. /// /// In en, this message translates to: /// **'Rename'** String get rename; /// No description provided for @newFolder. /// /// In en, this message translates to: /// **'New folder'** String get newFolder; /// No description provided for @refresh. /// /// In en, this message translates to: /// **'Refresh'** String get refresh; /// No description provided for @parent. /// /// In en, this message translates to: /// **'Parent directory'** String get parent; /// No description provided for @size. /// /// In en, this message translates to: /// **'Size'** String get size; /// No description provided for @modified. /// /// In en, this message translates to: /// **'Modified'** String get modified; /// No description provided for @symlink. /// /// In en, this message translates to: /// **'Symbolic link (blocked)'** String get symlink; /// No description provided for @emptyDirectory. /// /// In en, this message translates to: /// **'This directory is empty.'** String get emptyDirectory; /// No description provided for @importProfiles. /// /// In en, this message translates to: /// **'Import profiles'** String get importProfiles; /// No description provided for @exportProfiles. /// /// In en, this message translates to: /// **'Export profiles'** String get exportProfiles; /// No description provided for @profileTransfer. /// /// In en, this message translates to: /// **'Import and export profiles'** String get profileTransfer; /// No description provided for @importPreview. /// /// In en, this message translates to: /// **'Review imported profiles'** String get importPreview; /// No description provided for @importAdvice. /// /// In en, this message translates to: /// **'Only connection details are imported. Assign authentication before connecting. Duplicate matching uses host, port and username.'** String get importAdvice; /// No description provided for @skipDuplicates. /// /// In en, this message translates to: /// **'Skip duplicates'** String get skipDuplicates; /// No description provided for @updateDuplicates. /// /// In en, this message translates to: /// **'Update duplicates (clear saved credentials)'** String get updateDuplicates; /// No description provided for @createDuplicates. /// /// In en, this message translates to: /// **'Create separate copies'** String get createDuplicates; /// No description provided for @importAction. /// /// In en, this message translates to: /// **'Import reviewed profiles'** String get importAction; /// No description provided for @done. /// /// In en, this message translates to: /// **'Done'** String get done; /// No description provided for @copy. /// /// In en, this message translates to: /// **'Copy selection'** String get copy; /// No description provided for @paste. /// /// In en, this message translates to: /// **'Paste'** String get paste; /// No description provided for @keyboard. /// /// In en, this message translates to: /// **'Show keyboard'** String get keyboard; /// No description provided for @hideKeyboard. /// /// In en, this message translates to: /// **'Hide keyboard'** String get hideKeyboard; /// No description provided for @monitorInterval. /// /// In en, this message translates to: /// **'Refresh interval (seconds)'** String get monitorInterval; /// No description provided for @cpu. /// /// In en, this message translates to: /// **'CPU'** String get cpu; /// No description provided for @ram. /// /// In en, this message translates to: /// **'RAM'** String get ram; /// No description provided for @disk. /// /// In en, this message translates to: /// **'Root filesystem'** String get disk; /// No description provided for @uptime. /// /// In en, this message translates to: /// **'Uptime'** String get uptime; /// No description provided for @load. /// /// In en, this message translates to: /// **'Load average (1 / 5 / 15 min)'** String get load; /// No description provided for @release. /// /// In en, this message translates to: /// **'OS version'** String get release; /// No description provided for @rtt. /// /// In en, this message translates to: /// **'SSH command response time'** String get rtt; /// No description provided for @handshake. /// /// In en, this message translates to: /// **'SSH connection and authentication'** String get handshake; /// No description provided for @unsupportedSystem. /// /// In en, this message translates to: /// **'Monitoring requires a Linux server with /proc and standard POSIX utilities.'** String get unsupportedSystem; /// No description provided for @runDiagnostics. /// /// In en, this message translates to: /// **'Run test'** String get runDiagnostics; /// No description provided for @icmpNote. /// /// In en, this message translates to: /// **'Ping and traceroute send real ICMP / ICMPv6 echo packets directly from this device, without a server or cloud. TCP connect measures connection setup to the selected port and is not a ping.'** String get icmpNote; /// No description provided for @dnsResults. /// /// In en, this message translates to: /// **'DNS addresses (not saved to profiles)'** String get dnsResults; /// No description provided for @tcpConnect. /// /// In en, this message translates to: /// **'TCP connection time'** String get tcpConnect; /// No description provided for @backgroundNote. /// /// In en, this message translates to: /// **'Monitoring stops outside this screen and while the app is inactive. The OS may suspend SSH sessions in the background.'** String get backgroundNote; /// No description provided for @componentLicenses. /// /// In en, this message translates to: /// **'Third-party licenses'** String get componentLicenses; /// No description provided for @clearPassword. /// /// In en, this message translates to: /// **'Remove saved password'** String get clearPassword; /// No description provided for @biometricUnavailable. /// /// In en, this message translates to: /// **'Biometrics are not available. Enroll Face ID, Touch ID or a strong fingerprint/face biometric first.'** String get biometricUnavailable; /// No description provided for @licenseError. /// /// In en, this message translates to: /// **'License or guidance could not be loaded. Application access is blocked.'** String get licenseError; /// No description provided for @loadNote. /// /// In en, this message translates to: /// **'Load average is the average number of waiting processes, not a CPU percentage.'** String get loadNote; /// No description provided for @addressFamily. /// /// In en, this message translates to: /// **'IP version'** String get addressFamily; /// No description provided for @automatic. /// /// In en, this message translates to: /// **'Automatic'** String get automatic; /// No description provided for @testType. /// /// In en, this message translates to: /// **'Test'** String get testType; /// No description provided for @target. /// /// In en, this message translates to: /// **'Target'** String get target; /// No description provided for @duration. /// /// In en, this message translates to: /// **'Duration'** String get duration; /// No description provided for @resultOk. /// /// In en, this message translates to: /// **'Succeeded'** String get resultOk; /// No description provided for @resultFailed. /// /// In en, this message translates to: /// **'Failed'** String get resultFailed; /// No description provided for @dnsLookup. /// /// In en, this message translates to: /// **'DNS lookup'** String get dnsLookup; /// No description provided for @tcpConnectTest. /// /// In en, this message translates to: /// **'TCP connect'** String get tcpConnectTest; /// No description provided for @notTested. /// /// In en, this message translates to: /// **'Not run'** String get notTested; /// No description provided for @commandRtt. /// /// In en, this message translates to: /// **'SSH command response'** String get commandRtt; /// No description provided for @sshLatency. /// /// In en, this message translates to: /// **'SSH response times'** String get sshLatency; /// No description provided for @uptimeDays. /// /// In en, this message translates to: /// **'{count, plural, =1{1 day} other{{count} days}}'** String uptimeDays(int count); /// No description provided for @uptimeHours. /// /// In en, this message translates to: /// **'{count, plural, =1{1 hour} other{{count} hours}}'** String uptimeHours(int count); /// No description provided for @uptimeMinutes. /// /// In en, this message translates to: /// **'{count, plural, =1{1 minute} other{{count} minutes}}'** String uptimeMinutes(int count); /// No description provided for @usedOf. /// /// In en, this message translates to: /// **'{used} of {total}'** String usedOf(String used, String total); /// No description provided for @autoRefresh. /// /// In en, this message translates to: /// **'Automatically every {seconds} s'** String autoRefresh(String seconds); /// No description provided for @updatedAt. /// /// In en, this message translates to: /// **'Updated {time}'** String updatedAt(String time); /// No description provided for @ping. /// /// In en, this message translates to: /// **'Ping (ICMP)'** String get ping; /// No description provided for @traceroute. /// /// In en, this message translates to: /// **'Traceroute'** String get traceroute; /// No description provided for @packetCount. /// /// In en, this message translates to: /// **'Packet count'** String get packetCount; /// No description provided for @intervalSeconds. /// /// In en, this message translates to: /// **'Interval (s)'** String get intervalSeconds; /// No description provided for @timeoutSeconds. /// /// In en, this message translates to: /// **'Timeout (s)'** String get timeoutSeconds; /// No description provided for @payloadBytes. /// /// In en, this message translates to: /// **'Payload size (B)'** String get payloadBytes; /// No description provided for @maxHops. /// /// In en, this message translates to: /// **'Max hops'** String get maxHops; /// No description provided for @probesPerHop. /// /// In en, this message translates to: /// **'Probes per hop'** String get probesPerHop; /// No description provided for @testOptions. /// /// In en, this message translates to: /// **'Test options'** String get testOptions; /// No description provided for @stop. /// /// In en, this message translates to: /// **'Stop'** String get stop; /// No description provided for @packetsSent. /// /// In en, this message translates to: /// **'Sent'** String get packetsSent; /// No description provided for @packetsReceived. /// /// In en, this message translates to: /// **'Received'** String get packetsReceived; /// No description provided for @packetLoss. /// /// In en, this message translates to: /// **'Loss'** String get packetLoss; /// No description provided for @rttStats. /// /// In en, this message translates to: /// **'min / avg / max'** String get rttStats; /// No description provided for @hop. /// /// In en, this message translates to: /// **'Hop'** String get hop; /// No description provided for @traceReached. /// /// In en, this message translates to: /// **'Destination reached'** String get traceReached; /// No description provided for @traceUnreachable. /// /// In en, this message translates to: /// **'Destination unreachable (ICMP error, see the code)'** String get traceUnreachable; /// No description provided for @traceLimit. /// /// In en, this message translates to: /// **'Hop limit reached without a reply from the destination'** String get traceLimit; /// No description provided for @stoppedByUser. /// /// In en, this message translates to: /// **'Stopped by user'** String get stoppedByUser; /// No description provided for @timeoutStar. /// /// In en, this message translates to: /// **'* = no reply within the timeout. It does not mean the node does not exist; many routers do not answer ICMP.'** String get timeoutStar; /// No description provided for @icmpNotPermitted. /// /// In en, this message translates to: /// **'The system does not allow an unprivileged ICMP socket, so ping and traceroute cannot run.'** String get icmpNotPermitted; /// No description provided for @icmpUnsupported. /// /// In en, this message translates to: /// **'ICMP is not available on this device.'** String get icmpUnsupported; /// No description provided for @invalidSetting. /// /// In en, this message translates to: /// **'Invalid value in the test options.'** String get invalidSetting; /// No description provided for @replyFrom. /// /// In en, this message translates to: /// **'Reply'** String get replyFrom; /// No description provided for @probeTimeout. /// /// In en, this message translates to: /// **'No reply'** String get probeTimeout; /// No description provided for @probeUnreachable. /// /// In en, this message translates to: /// **'Unreachable'** String get probeUnreachable; /// No description provided for @probeSendFailed. /// /// In en, this message translates to: /// **'Send failed'** String get probeSendFailed; /// No description provided for @protocolUsed. /// /// In en, this message translates to: /// **'Protocol'** String get protocolUsed; /// No description provided for @resolvedAddress. /// /// In en, this message translates to: /// **'Address used'** String get resolvedAddress; /// No description provided for @passwordLength. /// /// In en, this message translates to: /// **'The master password must have 4–64 characters.'** String get passwordLength; /// No description provided for @biometricNote. /// /// In en, this message translates to: /// **'Only enrolled biometrics release the Vault key. The device passcode cannot open the Vault; without biometrics use the master password.'** String get biometricNote; /// No description provided for @usePassword. /// /// In en, this message translates to: /// **'Use master password'** String get usePassword; /// No description provided for @showPassword. /// /// In en, this message translates to: /// **'Show password'** String get showPassword; /// No description provided for @hidePassword. /// /// In en, this message translates to: /// **'Hide password'** String get hidePassword; /// No description provided for @strength0. /// /// In en, this message translates to: /// **'Very weak'** String get strength0; /// No description provided for @strength1. /// /// In en, this message translates to: /// **'Weak'** String get strength1; /// No description provided for @strength2. /// /// In en, this message translates to: /// **'Fair'** String get strength2; /// No description provided for @strength3. /// /// In en, this message translates to: /// **'Good'** String get strength3; /// No description provided for @strength4. /// /// In en, this message translates to: /// **'Strong'** String get strength4; /// No description provided for @passwordStrength. /// /// In en, this message translates to: /// **'Password strength'** String get passwordStrength; /// No description provided for @shortPasswordWarning. /// /// In en, this message translates to: /// **'Short passwords and PINs are allowed but easier to guess if someone obtains a copy of this device\'s data. Encryption is not weakened.'** String get shortPasswordWarning; /// No description provided for @changePassword. /// /// In en, this message translates to: /// **'Change Vault password'** String get changePassword; /// No description provided for @currentPassword. /// /// In en, this message translates to: /// **'Current master password'** String get currentPassword; /// No description provided for @newPassword. /// /// In en, this message translates to: /// **'New master password'** String get newPassword; /// No description provided for @confirmNewPassword. /// /// In en, this message translates to: /// **'Confirm new password'** String get confirmNewPassword; /// No description provided for @passwordChanged. /// /// In en, this message translates to: /// **'The Vault password was changed. All servers, credentials and keys are still available.'** String get passwordChanged; /// No description provided for @passwordChangedBiometricOff. /// /// In en, this message translates to: /// **'The password was changed, but biometric unlock could not be renewed and was turned off. Turn it on again in Settings.'** String get passwordChangedBiometricOff; /// No description provided for @wrongCurrentPassword. /// /// In en, this message translates to: /// **'The current password is not correct.'** String get wrongCurrentPassword; /// No description provided for @samePassword. /// /// In en, this message translates to: /// **'The new password is the same as the current one.'** String get samePassword; /// No description provided for @biometricCancelled. /// /// In en, this message translates to: /// **'Biometric check cancelled. Enter the master password or try again.'** String get biometricCancelled; /// No description provided for @biometricFailed. /// /// In en, this message translates to: /// **'Biometric check failed. Enter the master password.'** String get biometricFailed; /// No description provided for @biometricLockout. /// /// In en, this message translates to: /// **'Biometrics are temporarily locked by the system after too many attempts. Enter the master password.'** String get biometricLockout; /// No description provided for @biometricInvalid. /// /// In en, this message translates to: /// **'The biometric key is no longer valid (biometrics on this device changed). Unlock with the master password and turn biometric unlock on again.'** String get biometricInvalid; /// No description provided for @biometricUpgrade. /// /// In en, this message translates to: /// **'Biometric unlock was improved and no longer accepts the device passcode. Unlock once with the master password to renew it.'** String get biometricUpgrade; /// No description provided for @biometricReenable. /// /// In en, this message translates to: /// **'Biometric unlock is off. Turn it on again in Settings.'** String get biometricReenable; /// No description provided for @tryBiometricAgain. /// /// In en, this message translates to: /// **'Try biometrics again'** String get tryBiometricAgain; /// No description provided for @securitySection. /// /// In en, this message translates to: /// **'Security'** String get securitySection; /// No description provided for @kdfInfo. /// /// In en, this message translates to: /// **'Key derivation'** String get kdfInfo; /// No description provided for @tcpPing. /// /// In en, this message translates to: /// **'TCP ping'** String get tcpPing; /// No description provided for @icmpPing. /// /// In en, this message translates to: /// **'ICMP ping'** String get icmpPing; /// No description provided for @tcpPort. /// /// In en, this message translates to: /// **'TCP port'** String get tcpPort; /// No description provided for @tcpNote. /// /// In en, this message translates to: /// **'TCP ping measures how long the TCP connection setup (SYN → SYN-ACK) to a port takes. It is not an ICMP echo: a closed port answers with a reset (refused), a filtered one usually not at all (timeout).'** String get tcpNote; /// No description provided for @icmpPingNote. /// /// In en, this message translates to: /// **'Real ICMP / ICMPv6 echo request and reply sent directly from this device, without a server or cloud. Many hosts and firewalls do not answer ICMP.'** String get icmpPingNote; /// No description provided for @traceNote. /// /// In en, this message translates to: /// **'Traceroute sends probes with increasing TTL / hop limit directly from this device. Routers that do not answer are shown as * and the trace continues.'** String get traceNote; /// No description provided for @attemptCount. /// /// In en, this message translates to: /// **'Number of attempts'** String get attemptCount; /// No description provided for @customCount. /// /// In en, this message translates to: /// **'Custom number'** String get customCount; /// No description provided for @customValue. /// /// In en, this message translates to: /// **'Custom…'** String get customValue; /// No description provided for @continuous. /// /// In en, this message translates to: /// **'Continuous until stopped'** String get continuous; /// No description provided for @ttlHopLimit. /// /// In en, this message translates to: /// **'TTL / hop limit'** String get ttlHopLimit; /// No description provided for @systemDefault. /// /// In en, this message translates to: /// **'System default'** String get systemDefault; /// No description provided for @dontFragment. /// /// In en, this message translates to: /// **'Don\'t fragment (DF)'** String get dontFragment; /// No description provided for @traceMethod. /// /// In en, this message translates to: /// **'Probe method'** String get traceMethod; /// No description provided for @tcpTraceUnsupported. /// /// In en, this message translates to: /// **'Not available on Android: without root privileges the system does not tell apps which router answered a TCP probe.'** String get tcpTraceUnsupported; /// No description provided for @firstTtl. /// /// In en, this message translates to: /// **'First TTL / hop limit'** String get firstTtl; /// No description provided for @probeInterval. /// /// In en, this message translates to: /// **'Pause between probes (s)'** String get probeInterval; /// No description provided for @tracePort. /// /// In en, this message translates to: /// **'Destination port'** String get tracePort; /// No description provided for @repetitions. /// /// In en, this message translates to: /// **'Repetitions'** String get repetitions; /// No description provided for @reverseDns. /// /// In en, this message translates to: /// **'Reverse DNS (host names)'** String get reverseDns; /// No description provided for @resolveAddresses. /// /// In en, this message translates to: /// **'Find addresses and choose one'** String get resolveAddresses; /// No description provided for @noAddressFamily. /// /// In en, this message translates to: /// **'No address of this IP version (no A / AAAA record).'** String get noAddressFamily; /// No description provided for @literalOtherFamily. /// /// In en, this message translates to: /// **'The target is an address of the other IP version.'** String get literalOtherFamily; /// No description provided for @dnsFailed. /// /// In en, this message translates to: /// **'DNS lookup failed. Check the name and the network.'** String get dnsFailed; /// No description provided for @outcomeOk. /// /// In en, this message translates to: /// **'OK'** String get outcomeOk; /// No description provided for @outcomeTimeout. /// /// In en, this message translates to: /// **'Timeout'** String get outcomeTimeout; /// No description provided for @outcomeRefused. /// /// In en, this message translates to: /// **'Refused (TCP reset)'** String get outcomeRefused; /// No description provided for @outcomeUnreachable. /// /// In en, this message translates to: /// **'Unreachable'** String get outcomeUnreachable; /// No description provided for @outcomeTtlExceeded. /// /// In en, this message translates to: /// **'TTL exceeded'** String get outcomeTtlExceeded; /// No description provided for @outcomeError. /// /// In en, this message translates to: /// **'Network error'** String get outcomeError; /// No description provided for @attempts. /// /// In en, this message translates to: /// **'Attempts'** String get attempts; /// No description provided for @successful. /// /// In en, this message translates to: /// **'Successful'** String get successful; /// No description provided for @failedCount. /// /// In en, this message translates to: /// **'Failed'** String get failedCount; /// No description provided for @successRate. /// /// In en, this message translates to: /// **'Success'** String get successRate; /// No description provided for @rttMin. /// /// In en, this message translates to: /// **'Min'** String get rttMin; /// No description provided for @rttMax. /// /// In en, this message translates to: /// **'Max'** String get rttMax; /// No description provided for @rttAvg. /// /// In en, this message translates to: /// **'Average'** String get rttAvg; /// No description provided for @rttMedian. /// /// In en, this message translates to: /// **'Median'** String get rttMedian; /// No description provided for @rttStddev. /// /// In en, this message translates to: /// **'Std. deviation'** String get rttStddev; /// No description provided for @jitter. /// /// In en, this message translates to: /// **'Jitter'** String get jitter; /// No description provided for @elapsedTime. /// /// In en, this message translates to: /// **'Duration'** String get elapsedTime; /// No description provided for @statsNote. /// /// In en, this message translates to: /// **'RTT statistics use successful attempts only; failures are counted separately. Std. deviation: population. Jitter: mean absolute difference between consecutive successful RTTs. Median and P95: nearest rank; P95 from 20 successful samples. Very long runs keep the newest 5000 attempts in the list and compute median/P95 from the newest 10000.'** String get statsNote; /// No description provided for @chartTitle. /// /// In en, this message translates to: /// **'RTT over time'** String get chartTitle; /// No description provided for @chartFailures. /// /// In en, this message translates to: /// **'Failed attempt'** String get chartFailures; /// No description provided for @olderOmitted. /// /// In en, this message translates to: /// **'Older attempts not shown (statistics still include them)'** String get olderOmitted; /// No description provided for @copyResults. /// /// In en, this message translates to: /// **'Copy'** String get copyResults; /// No description provided for @exportResults. /// /// In en, this message translates to: /// **'Export'** String get exportResults; /// No description provided for @clearResults. /// /// In en, this message translates to: /// **'Clear'** String get clearResults; /// No description provided for @copied. /// /// In en, this message translates to: /// **'Copied to the clipboard.'** String get copied; /// No description provided for @saveToDevice. /// /// In en, this message translates to: /// **'Save to device'** String get saveToDevice; /// No description provided for @shareFile. /// /// In en, this message translates to: /// **'Share'** String get shareFile; /// No description provided for @savedToDevice. /// /// In en, this message translates to: /// **'Saved.'** String get savedToDevice; /// No description provided for @combinedSummary. /// /// In en, this message translates to: /// **'IPv4 and IPv6 overview'** String get combinedSummary; /// No description provided for @statusColumn. /// /// In en, this message translates to: /// **'Status'** String get statusColumn; /// No description provided for @statusRunning. /// /// In en, this message translates to: /// **'Running…'** String get statusRunning; /// No description provided for @statusFinished. /// /// In en, this message translates to: /// **'Finished'** String get statusFinished; /// No description provided for @compareRuns. /// /// In en, this message translates to: /// **'Compare with the previous measurement'** String get compareRuns; /// No description provided for @previousRun. /// /// In en, this message translates to: /// **'Previous'** String get previousRun; /// No description provided for @pathChanged. /// /// In en, this message translates to: /// **'Route changed'** String get pathChanged; /// No description provided for @tcpOpenNote. /// /// In en, this message translates to: /// **'Port open: the destination answered with SYN-ACK.'** String get tcpOpenNote; /// No description provided for @tcpRefusedNote. /// /// In en, this message translates to: /// **'Port closed: the destination answered with a reset; it was reached.'** String get tcpRefusedNote; /// No description provided for @answeredOtherAddress. /// /// In en, this message translates to: /// **'The final answer came from another address than the target (anycast or a filtering device).'** String get answeredOtherAddress; /// No description provided for @icmpCodeLegend. /// /// In en, this message translates to: /// **'!N network, !H host, !P protocol, !F fragmentation needed, !X administratively prohibited (ICMP destination unreachable).'** String get icmpCodeLegend; /// No description provided for @messageTooLong. /// /// In en, this message translates to: /// **'Packet too large to send without fragmentation.'** String get messageTooLong; /// No description provided for @ttlUnsupported. /// /// In en, this message translates to: /// **'The system did not accept this TTL / hop limit.'** String get ttlUnsupported; /// No description provided for @dontFragmentUnsupported. /// /// In en, this message translates to: /// **'This platform does not allow setting Don\'t Fragment for ICMP.'** String get dontFragmentUnsupported; /// No description provided for @unsupportedPlatform. /// /// In en, this message translates to: /// **'Not available on this platform.'** String get unsupportedPlatform; /// No description provided for @archiveDamaged. /// /// In en, this message translates to: /// **'The archive is damaged or not in a supported format.'** String get archiveDamaged; /// No description provided for @archiveListOnly. /// /// In en, this message translates to: /// **'Contents are only listed; nothing is extracted or run.'** String get archiveListOnly; /// No description provided for @archiveTooLarge. /// /// In en, this message translates to: /// **'The archive is too large to list on this device.'** String get archiveTooLarge; /// No description provided for @archiveUnsupported. /// /// In en, this message translates to: /// **'Listing this archive format is not supported'** String get archiveUnsupported; /// No description provided for @atomicNotPossible. /// /// In en, this message translates to: /// **'A temporary file cannot be created in this folder, so the file cannot be replaced safely in one step.'** String get atomicNotPossible; /// No description provided for @ownerWouldChange. /// /// In en, this message translates to: /// **'Saving through a temporary file would change the owner of this file on the server.'** String get ownerWouldChange; /// No description provided for @inPlaceAdvice. /// /// In en, this message translates to: /// **'You can overwrite the file directly instead. Owner and permissions stay, but if the connection drops during the write, the file may be left incomplete.'** String get inPlaceAdvice; /// No description provided for @binaryFile. /// /// In en, this message translates to: /// **'This looks like a binary file.'** String get binaryFile; /// No description provided for @chooseEncodingAdvice. /// /// In en, this message translates to: /// **'The encoding could not be detected. Choose the one the file was written in; nothing is converted until you save.'** String get chooseEncodingAdvice; /// No description provided for @unknownEncoding. /// /// In en, this message translates to: /// **'Unknown text encoding'** String get unknownEncoding; /// No description provided for @wrongEncoding. /// /// In en, this message translates to: /// **'The file is not valid in the chosen encoding.'** String get wrongEncoding; /// No description provided for @reopenEncoding. /// /// In en, this message translates to: /// **'Reopen with encoding…'** String get reopenEncoding; /// No description provided for @saveEncoding. /// /// In en, this message translates to: /// **'Save with encoding'** String get saveEncoding; /// No description provided for @openAsTextWith. /// /// In en, this message translates to: /// **'Open as text with encoding…'** String get openAsTextWith; /// No description provided for @unencodableTitle. /// /// In en, this message translates to: /// **'Characters cannot be saved in this encoding'** String get unencodableTitle; /// No description provided for @unencodableBody. /// /// In en, this message translates to: /// **'Some characters do not exist in the file\'s encoding. Continue to save as UTF-8 instead; Cancel keeps the text unsaved.'** String get unencodableBody; /// No description provided for @mixedLineBreaks. /// /// In en, this message translates to: /// **'This file mixes line endings (LF/CRLF/CR). On save they all become the shown type; change it in the status bar.'** String get mixedLineBreaks; /// No description provided for @notExactRoundTrip. /// /// In en, this message translates to: /// **'This file would not be saved byte-for-byte as it was read. Check the encoding before saving.'** String get notExactRoundTrip; /// No description provided for @close. /// /// In en, this message translates to: /// **'Close'** String get close; /// No description provided for @line. /// /// In en, this message translates to: /// **'Line'** String get line; /// No description provided for @column. /// /// In en, this message translates to: /// **'Column'** String get column; /// No description provided for @lineShort. /// /// In en, this message translates to: /// **'Ln'** String get lineShort; /// No description provided for @columnShort. /// /// In en, this message translates to: /// **'Col'** String get columnShort; /// No description provided for @conflictAdvice. /// /// In en, this message translates to: /// **'The file was changed elsewhere after you opened it. Overwrite replaces that change with your text.'** String get conflictAdvice; /// No description provided for @remoteChanged. /// /// In en, this message translates to: /// **'The file on the server has changed'** String get remoteChanged; /// No description provided for @remoteDeleted. /// /// In en, this message translates to: /// **'The file on the server no longer exists'** String get remoteDeleted; /// No description provided for @documentChanged. /// /// In en, this message translates to: /// **'The file on the device has changed'** String get documentChanged; /// No description provided for @connectToOpen. /// /// In en, this message translates to: /// **'Connect to that server first to open this file.'** String get connectToOpen; /// No description provided for @connectToSave. /// /// In en, this message translates to: /// **'Not connected to the file\'s server. Your text stays here.'** String get connectToSave; /// No description provided for @offlineAdvice. /// /// In en, this message translates to: /// **'Nothing was lost. Reconnect and save again, or keep a copy on this device now.'** String get offlineAdvice; /// No description provided for @saveCopyToDevice. /// /// In en, this message translates to: /// **'Save a copy on the device'** String get saveCopyToDevice; /// No description provided for @cryptoNote. /// /// In en, this message translates to: /// **'Basic information only. Private key material is never displayed or exported here.'** String get cryptoNote; /// No description provided for @cryptoUnreadable. /// /// In en, this message translates to: /// **'No certificate or key could be read.'** String get cryptoUnreadable; /// No description provided for @privateKeyHidden. /// /// In en, this message translates to: /// **'Contains a private key. Keep this file secret.'** String get privateKeyHidden; /// No description provided for @remoteFiles. /// /// In en, this message translates to: /// **'Server (SFTP)'** String get remoteFiles; /// No description provided for @deviceFiles. /// /// In en, this message translates to: /// **'Device'** String get deviceFiles; /// No description provided for @recentFiles. /// /// In en, this message translates to: /// **'Recent'** String get recentFiles; /// No description provided for @favoriteFiles. /// /// In en, this message translates to: /// **'Favorites'** String get favoriteFiles; /// No description provided for @deviceFilesNote. /// /// In en, this message translates to: /// **'Files are opened through the system file picker (Files / storage providers). SM Mobile only accesses what you choose.'** String get deviceFilesNote; /// No description provided for @openFiles. /// /// In en, this message translates to: /// **'Open files'** String get openFiles; /// No description provided for @openFolder. /// /// In en, this message translates to: /// **'Open folder'** String get openFolder; /// No description provided for @openedFiles. /// /// In en, this message translates to: /// **'Opened files'** String get openedFiles; /// No description provided for @newFile. /// /// In en, this message translates to: /// **'New file'** String get newFile; /// No description provided for @open. /// /// In en, this message translates to: /// **'Open'** String get open; /// No description provided for @openAsText. /// /// In en, this message translates to: /// **'Open as text'** String get openAsText; /// No description provided for @openInSystemViewer. /// /// In en, this message translates to: /// **'Open in system viewer'** String get openInSystemViewer; /// No description provided for @systemViewerTitle. /// /// In en, this message translates to: /// **'Shown by the system viewer'** String get systemViewerTitle; /// No description provided for @systemViewerIos. /// /// In en, this message translates to: /// **'Quick Look shows this file inside SM Mobile from a private temporary copy. It cannot be edited here.'** String get systemViewerIos; /// No description provided for @systemViewerAndroid. /// /// In en, this message translates to: /// **'An app on this device that you choose opens a private temporary copy. It cannot be edited here.'** String get systemViewerAndroid; /// No description provided for @noViewer. /// /// In en, this message translates to: /// **'No app on this device can show this file.'** String get noViewer; /// No description provided for @draftsRecovered. /// /// In en, this message translates to: /// **'Unsaved changes were kept when the Vault locked'** String get draftsRecovered; /// No description provided for @discardDrafts. /// /// In en, this message translates to: /// **'Discard all recovered drafts?'** String get discardDrafts; /// No description provided for @discard. /// /// In en, this message translates to: /// **'Discard'** String get discard; /// No description provided for @discardChanges. /// /// In en, this message translates to: /// **'Discard unsaved changes?'** String get discardChanges; /// No description provided for @unsavedChanges. /// /// In en, this message translates to: /// **'Unsaved changes'** String get unsavedChanges; /// No description provided for @editorSettings. /// /// In en, this message translates to: /// **'Editor settings'** String get editorSettings; /// No description provided for @fontSize. /// /// In en, this message translates to: /// **'Font size'** String get fontSize; /// No description provided for @wordWrap. /// /// In en, this message translates to: /// **'Wrap lines'** String get wordWrap; /// No description provided for @lineNumbers. /// /// In en, this message translates to: /// **'Line numbers and folding'** String get lineNumbers; /// No description provided for @indentWithTabs. /// /// In en, this message translates to: /// **'Indent with tabs'** String get indentWithTabs; /// No description provided for @indentWidth. /// /// In en, this message translates to: /// **'Indent width'** String get indentWidth; /// No description provided for @syntaxHighlight. /// /// In en, this message translates to: /// **'Syntax highlighting'** String get syntaxHighlight; /// No description provided for @largeFileHighlight. /// /// In en, this message translates to: /// **'Off by default for files over 1 MB to keep editing smooth.'** String get largeFileHighlight; /// No description provided for @syntax. /// /// In en, this message translates to: /// **'Syntax'** String get syntax; /// No description provided for @noGrammar. /// /// In en, this message translates to: /// **'No highlighting grammar available (plain text)'** String get noGrammar; /// No description provided for @tabs. /// /// In en, this message translates to: /// **'Tabs'** String get tabs; /// No description provided for @spaces. /// /// In en, this message translates to: /// **'Spaces'** String get spaces; /// No description provided for @readOnly. /// /// In en, this message translates to: /// **'Read-only'** String get readOnly; /// No description provided for @readOnlyDevice. /// /// In en, this message translates to: /// **'This file can only be read here (the storage provider does not allow writing). Use Save as to keep your changes.'** String get readOnlyDevice; /// No description provided for @readOnlyRemote. /// /// In en, this message translates to: /// **'This file is read-only.'** String get readOnlyRemote; /// No description provided for @modifiedState. /// /// In en, this message translates to: /// **'Modified'** String get modifiedState; /// No description provided for @findHint. /// /// In en, this message translates to: /// **'Find'** String get findHint; /// No description provided for @replaceHint. /// /// In en, this message translates to: /// **'Replace with'** String get replaceHint; /// No description provided for @invalidRegex. /// /// In en, this message translates to: /// **'Invalid regular expression'** String get invalidRegex; /// No description provided for @matchCase. /// /// In en, this message translates to: /// **'Match case'** String get matchCase; /// No description provided for @regularExpression. /// /// In en, this message translates to: /// **'Regular expression'** String get regularExpression; /// No description provided for @previousMatch. /// /// In en, this message translates to: /// **'Previous match'** String get previousMatch; /// No description provided for @nextMatch. /// /// In en, this message translates to: /// **'Next match'** String get nextMatch; /// No description provided for @replace. /// /// In en, this message translates to: /// **'Replace'** String get replace; /// No description provided for @replaceAll. /// /// In en, this message translates to: /// **'Replace all'** String get replaceAll; /// No description provided for @goToLine. /// /// In en, this message translates to: /// **'Go to line'** String get goToLine; /// No description provided for @lineBreaks. /// /// In en, this message translates to: /// **'Line endings'** String get lineBreaks; /// No description provided for @undo. /// /// In en, this message translates to: /// **'Undo'** String get undo; /// No description provided for @redo. /// /// In en, this message translates to: /// **'Redo'** String get redo; /// No description provided for @selectAll. /// /// In en, this message translates to: /// **'Select all'** String get selectAll; /// No description provided for @reload. /// /// In en, this message translates to: /// **'Reload from source'** String get reload; /// No description provided for @reloadDiscard. /// /// In en, this message translates to: /// **'Reload (discard mine)'** String get reloadDiscard; /// No description provided for @overwrite. /// /// In en, this message translates to: /// **'Overwrite'** String get overwrite; /// No description provided for @overwriteExisting. /// /// In en, this message translates to: /// **'A file with this name exists. Overwrite it?'** String get overwriteExisting; /// No description provided for @saveAs. /// /// In en, this message translates to: /// **'Save as…'** String get saveAs; /// No description provided for @saveAsRequired. /// /// In en, this message translates to: /// **'Choose where to save this new file.'** String get saveAsRequired; /// No description provided for @saveToServer. /// /// In en, this message translates to: /// **'Save to the server'** String get saveToServer; /// No description provided for @remotePath. /// /// In en, this message translates to: /// **'Path on the server'** String get remotePath; /// No description provided for @saved. /// /// In en, this message translates to: /// **'Saved.'** String get saved; /// No description provided for @validate. /// /// In en, this message translates to: /// **'Check syntax'** String get validate; /// No description provided for @validOk. /// /// In en, this message translates to: /// **'No syntax errors found.'** String get validOk; /// No description provided for @validationProblem. /// /// In en, this message translates to: /// **'Syntax error'** String get validationProblem; /// No description provided for @formatDocument. /// /// In en, this message translates to: /// **'Format document'** String get formatDocument; /// No description provided for @formatAdvice. /// /// In en, this message translates to: /// **'Rewrites indentation and layout (JSON numbers may be written differently). The change can be undone.'** String get formatAdvice; /// No description provided for @formatFailed. /// /// In en, this message translates to: /// **'The document cannot be formatted until its syntax errors are fixed.'** String get formatFailed; /// No description provided for @fileTooLarge. /// /// In en, this message translates to: /// **'The file is too large to open here.'** String get fileTooLarge; /// No description provided for @filesCount. /// /// In en, this message translates to: /// **'files'** String get filesCount; /// No description provided for @uncompressed. /// /// In en, this message translates to: /// **'unpacked'** String get uncompressed; /// No description provided for @imageUnsupported. /// /// In en, this message translates to: /// **'This image format cannot be shown on this device.'** String get imageUnsupported; /// No description provided for @svgSafe. /// /// In en, this message translates to: /// **'SVG is drawn as a static picture: scripts, links and external resources are not used.'** String get svgSafe; /// No description provided for @notebookUnreadable. /// /// In en, this message translates to: /// **'The notebook cannot be read; open it as JSON.'** String get notebookUnreadable; /// No description provided for @uploadToServer. /// /// In en, this message translates to: /// **'Copy to the server'** String get uploadToServer; /// No description provided for @uploadedTo. /// /// In en, this message translates to: /// **'Copied to'** String get uploadedTo; /// No description provided for @addFavorite. /// /// In en, this message translates to: /// **'Add to favorites'** String get addFavorite; /// No description provided for @removeFavorite. /// /// In en, this message translates to: /// **'Remove from favorites'** String get removeFavorite; /// No description provided for @removeFromList. /// /// In en, this message translates to: /// **'Remove from list'** String get removeFromList; /// No description provided for @noFavorites. /// /// In en, this message translates to: /// **'No favorite files yet.'** String get noFavorites; /// No description provided for @noRecentFiles. /// /// In en, this message translates to: /// **'No recently opened files.'** String get noRecentFiles; /// No description provided for @documentStale. /// /// In en, this message translates to: /// **'Access to this file has expired. Open it again from the file picker.'** String get documentStale; /// No description provided for @fileNotFound. /// /// In en, this message translates to: /// **'The file was not found.'** String get fileNotFound; /// No description provided for @noSpace. /// /// In en, this message translates to: /// **'Not enough free storage space.'** String get noSpace; /// No description provided for @readOnlyError. /// /// In en, this message translates to: /// **'Writing is not allowed here.'** String get readOnlyError; } class _AppLocalizationsDelegate extends LocalizationsDelegate { const _AppLocalizationsDelegate(); @override Future load(Locale locale) { return SynchronousFuture(lookupAppLocalizations(locale)); } @override bool isSupported(Locale locale) => ['cs', 'de', 'en'].contains(locale.languageCode); @override bool shouldReload(_AppLocalizationsDelegate old) => false; } AppLocalizations lookupAppLocalizations(Locale locale) { // Lookup logic when only language code is specified. switch (locale.languageCode) { case 'cs': return AppLocalizationsCs(); case 'de': return AppLocalizationsDe(); case 'en': return AppLocalizationsEn(); } throw FlutterError( 'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely ' 'an issue with the localizations generation tool. Please file an issue ' 'on GitHub with a reproducible sample app and the gen-l10n configuration ' 'that was used.', ); }