Vydané zdroje
Stáhnout zdroje ZIP
CH-J SM Mobile
Procházejte adresáře a soubory konkrétního vydání aplikace.
CH-J / SM Mobile
175 souborů
sm-mobile-20261016T185235Z-8e93ecc1b59a
Přidáno: · Sestaveno:
1
import 'dart:async';3
import 'package:flutter/foundation.dart';4
import 'package:flutter/widgets.dart';5
import 'package:flutter_localizations/flutter_localizations.dart';6
import 'package:intl/intl.dart' as intl;8
import 'app_localizations_cs.dart';9
import 'app_localizations_de.dart';10
import 'app_localizations_en.dart';12
// ignore_for_file: type=lint14
/// Callers can lookup localized strings with an instance of AppLocalizations15
/// returned by `AppLocalizations.of(context)`.16
///17
/// Applications need to include `AppLocalizations.delegate()` in their app's18
/// `localizationDelegates` list, and the locales they support in the app's19
/// `supportedLocales` list. For example:20
///21
/// ```dart22
/// import 'l10n/app_localizations.dart';23
///24
/// return MaterialApp(25
/// localizationsDelegates: AppLocalizations.localizationsDelegates,26
/// supportedLocales: AppLocalizations.supportedLocales,27
/// home: MyApplicationHome(),28
/// );29
/// ```30
///31
/// ## Update pubspec.yaml32
///33
/// Please make sure to update your pubspec.yaml to include the following34
/// packages:35
///36
/// ```yaml37
/// dependencies:38
/// # Internationalization support.39
/// flutter_localizations:40
/// sdk: flutter41
/// intl: any # Use the pinned version from flutter_localizations42
///43
/// # Rest of dependencies44
/// ```45
///46
/// ## iOS Applications47
///48
/// iOS applications define key application metadata, including supported49
/// locales, in an Info.plist file that is built into the application bundle.50
/// To configure the locales supported by your app, you’ll need to edit this51
/// file.52
///53
/// First, open your project’s ios/Runner.xcworkspace Xcode workspace file.54
/// Then, in the Project Navigator, open the Info.plist file under the Runner55
/// project’s Runner folder.56
///57
/// Next, select the Information Property List item, select Add Item from the58
/// Editor menu, then select Localizations from the pop-up menu.59
///60
/// Select and expand the newly-created Localizations item then, for each61
/// locale your application supports, add a new item and select the locale62
/// you wish to add from the pop-up menu in the Value field. This list should63
/// be consistent with the languages listed in the AppLocalizations.supportedLocales64
/// property.65
abstract class AppLocalizations {66
AppLocalizations(String locale)67
: localeName = intl.Intl.canonicalizedLocale(locale.toString());69
final String localeName;71
static AppLocalizations? of(BuildContext context) {72
return Localizations.of<AppLocalizations>(context, AppLocalizations);73
}75
static const LocalizationsDelegate<AppLocalizations> delegate =76
_AppLocalizationsDelegate();78
/// A list of this localizations delegate along with the default localizations79
/// delegates.80
///81
/// Returns a list of localizations delegates containing this delegate along with82
/// GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate,83
/// and GlobalWidgetsLocalizations.delegate.84
///85
/// Additional delegates can be added by appending to this list in86
/// MaterialApp. This list does not have to be used at all if a custom list87
/// of delegates is preferred or required.88
static const List<LocalizationsDelegate<dynamic>> localizationsDelegates =89
<LocalizationsDelegate<dynamic>>[90
delegate,91
GlobalMaterialLocalizations.delegate,92
GlobalCupertinoLocalizations.delegate,93
GlobalWidgetsLocalizations.delegate,94
];96
/// A list of this localizations delegate's supported locales.97
static const List<Locale> supportedLocales = <Locale>[98
Locale('cs'),99
Locale('de'),100
Locale('en'),101
];103
/// No description provided for @servers.104
///105
/// In en, this message translates to:106
/// **'Servers'**107
String get servers;109
/// No description provided for @terminal.110
///111
/// In en, this message translates to:112
/// **'Terminal'**113
String get terminal;115
/// No description provided for @files.116
///117
/// In en, this message translates to:118
/// **'Files'**119
String get files;121
/// No description provided for @monitor.122
///123
/// In en, this message translates to:124
/// **'Monitor'**125
String get monitor;127
/// No description provided for @diagnostics.128
///129
/// In en, this message translates to:130
/// **'Diagnostics'**131
String get diagnostics;133
/// No description provided for @settings.134
///135
/// In en, this message translates to:136
/// **'Settings'**137
String get settings;139
/// No description provided for @addServer.140
///141
/// In en, this message translates to:142
/// **'Add server'**143
String get addServer;145
/// No description provided for @editServer.146
///147
/// In en, this message translates to:148
/// **'Edit server'**149
String get editServer;151
/// No description provided for @name.152
///153
/// In en, this message translates to:154
/// **'Name'**155
String get name;157
/// No description provided for @host.158
///159
/// In en, this message translates to:160
/// **'Hostname / IP address'**161
String get host;163
/// No description provided for @username.164
///165
/// In en, this message translates to:166
/// **'SSH username'**167
String get username;169
/// No description provided for @port.170
///171
/// In en, this message translates to:172
/// **'SSH port'**173
String get port;175
/// No description provided for @password.176
///177
/// In en, this message translates to:178
/// **'Password'**179
String get password;181
/// No description provided for @privateKey.182
///183
/// In en, this message translates to:184
/// **'Private key'**185
String get privateKey;187
/// No description provided for @passphrase.188
///189
/// In en, this message translates to:190
/// **'Key passphrase (never saved)'**191
String get passphrase;193
/// No description provided for @savePassword.194
///195
/// In en, this message translates to:196
/// **'Save SSH password in Vault'**197
String get savePassword;199
/// No description provided for @chooseKey.200
///201
/// In en, this message translates to:202
/// **'Choose private key'**203
String get chooseKey;205
/// No description provided for @keyStored.206
///207
/// In en, this message translates to:208
/// **'Private key stored securely'**209
String get keyStored;211
/// No description provided for @connect.212
///213
/// In en, this message translates to:214
/// **'Connect'**215
String get connect;217
/// No description provided for @disconnect.218
///219
/// In en, this message translates to:220
/// **'Disconnect'**221
String get disconnect;223
/// No description provided for @connecting.224
///225
/// In en, this message translates to:226
/// **'Connecting…'**227
String get connecting;229
/// No description provided for @connected.230
///231
/// In en, this message translates to:232
/// **'Connected'**233
String get connected;235
/// No description provided for @disconnected.236
///237
/// In en, this message translates to:238
/// **'Disconnected'**239
String get disconnected;241
/// No description provided for @reconnect.242
///243
/// In en, this message translates to:244
/// **'Reconnect'**245
String get reconnect;247
/// No description provided for @search.248
///249
/// In en, this message translates to:250
/// **'Search servers'**251
String get search;253
/// No description provided for @emptyServers.254
///255
/// In en, this message translates to:256
/// **'Add your first server. Profiles stay on this device.'**257
String get emptyServers;259
/// No description provided for @selectServer.260
///261
/// In en, this message translates to:262
/// **'Connect to a server from Servers.'**263
String get selectServer;265
/// No description provided for @save.266
///267
/// In en, this message translates to:268
/// **'Save'**269
String get save;271
/// No description provided for @cancel.272
///273
/// In en, this message translates to:274
/// **'Cancel'**275
String get cancel;277
/// No description provided for @delete.278
///279
/// In en, this message translates to:280
/// **'Delete'**281
String get delete;283
/// No description provided for @duplicate.284
///285
/// In en, this message translates to:286
/// **'Duplicate'**287
String get duplicate;289
/// No description provided for @edit.290
///291
/// In en, this message translates to:292
/// **'Edit'**293
String get edit;295
/// No description provided for @confirmDelete.296
///297
/// In en, this message translates to:298
/// **'Delete this item? This action cannot be undone.'**299
String get confirmDelete;301
/// No description provided for @confirmRename.302
///303
/// In en, this message translates to:304
/// **'Rename the selected remote item?'**305
String get confirmRename;307
/// No description provided for @hostTrustTitle.308
///309
/// In en, this message translates to:310
/// **'Verify server identity'**311
String get hostTrustTitle;313
/// No description provided for @hostTrustBody.314
///315
/// In en, this message translates to:316
/// **'Compare this SHA-256 fingerprint through a separate trusted channel before trusting this server.'**317
String get hostTrustBody;319
/// No description provided for @trust.320
///321
/// In en, this message translates to:322
/// **'Trust this key'**323
String get trust;325
/// No description provided for @hostChanged.326
///327
/// In en, this message translates to:328
/// **'SECURITY: The saved SSH host key has changed. Connection blocked. Verify the server independently.'**329
String get hostChanged;331
/// No description provided for @hostRejected.332
///333
/// In en, this message translates to:334
/// **'The SSH host key was not trusted.'**335
String get hostRejected;337
/// No description provided for @language.338
///339
/// In en, this message translates to:340
/// **'Language'**341
String get language;343
/// No description provided for @system.344
///345
/// In en, this message translates to:346
/// **'System'**347
String get system;349
/// No description provided for @light.350
///351
/// In en, this message translates to:352
/// **'Light'**353
String get light;355
/// No description provided for @dark.356
///357
/// In en, this message translates to:358
/// **'Dark'**359
String get dark;361
/// No description provided for @theme.362
///363
/// In en, this message translates to:364
/// **'Appearance'**365
String get theme;367
/// No description provided for @welcome.368
///369
/// In en, this message translates to:370
/// **'Welcome to SM Mobile'**371
String get welcome;373
/// No description provided for @localOnly.374
///375
/// In en, this message translates to:376
/// **'Direct SSH / SFTP. No account, cloud or telemetry.'**377
String get localOnly;379
/// No description provided for @guidance.380
///381
/// In en, this message translates to:382
/// **'Operational safety and backups'**383
String get guidance;385
/// No description provided for @continueAction.386
///387
/// In en, this message translates to:388
/// **'Continue'**389
String get continueAction;391
/// No description provided for @license.392
///393
/// In en, this message translates to:394
/// **'Software license'**395
String get license;397
/// No description provided for @consent.398
///399
/// In en, this message translates to:400
/// **'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.'**401
String get consent;403
/// No description provided for @accept.404
///405
/// In en, this message translates to:406
/// **'Accept and continue'**407
String get accept;409
/// No description provided for @decline.410
///411
/// In en, this message translates to:412
/// **'Decline'**413
String get decline;415
/// No description provided for @licenseDeclined.416
///417
/// In en, this message translates to:418
/// **'The license was declined. Server functions remain locked.'**419
String get licenseDeclined;421
/// No description provided for @vault.422
///423
/// In en, this message translates to:424
/// **'Local Vault'**425
String get vault;427
/// No description provided for @createVault.428
///429
/// In en, this message translates to:430
/// **'Create secure Vault'**431
String get createVault;433
/// No description provided for @masterPassword.434
///435
/// In en, this message translates to:436
/// **'Master password'**437
String get masterPassword;439
/// No description provided for @confirmPassword.440
///441
/// In en, this message translates to:442
/// **'Confirm password'**443
String get confirmPassword;445
/// No description provided for @vaultAdvice.446
///447
/// In en, this message translates to:448
/// **'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.'**449
String get vaultAdvice;451
/// No description provided for @unlock.452
///453
/// In en, this message translates to:454
/// **'Unlock'**455
String get unlock;457
/// No description provided for @lock.458
///459
/// In en, this message translates to:460
/// **'Lock Vault'**461
String get lock;463
/// No description provided for @biometric.464
///465
/// In en, this message translates to:466
/// **'Biometric unlock (Face ID, Touch ID, fingerprint)'**467
String get biometric;469
/// No description provided for @unlockBiometric.470
///471
/// In en, this message translates to:472
/// **'Unlock with device security'**473
String get unlockBiometric;475
/// No description provided for @biometricReason.476
///477
/// In en, this message translates to:478
/// **'Unlock the SM Mobile Vault'**479
String get biometricReason;481
/// No description provided for @lockBackground.482
///483
/// In en, this message translates to:484
/// **'Lock when leaving the app'**485
String get lockBackground;487
/// No description provided for @idleTimeout.488
///489
/// In en, this message translates to:490
/// **'Auto-lock after inactivity (minutes)'**491
String get idleTimeout;493
/// No description provided for @weakPassword.494
///495
/// In en, this message translates to:496
/// **'Use a master password with 4–64 characters.'**497
String get weakPassword;499
/// No description provided for @passwordMismatch.500
///501
/// In en, this message translates to:502
/// **'Passwords do not match.'**503
String get passwordMismatch;505
/// No description provided for @locked.506
///507
/// In en, this message translates to:508
/// **'Vault locked. Unlock it to continue.'**509
String get locked;511
/// No description provided for @unlockFailed.512
///513
/// In en, this message translates to:514
/// **'Unable to unlock. Check your password or use the master-password fallback.'**515
String get unlockFailed;517
/// No description provided for @storageError.518
///519
/// In en, this message translates to:520
/// **'Secure storage is unavailable or damaged. Your stored data was not reset.'**521
String get storageError;523
/// No description provided for @invalidProfile.524
///525
/// In en, this message translates to:526
/// **'Check the name, hostname/IP, username and port (1–65535).'**527
String get invalidProfile;529
/// No description provided for @invalidImport.530
///531
/// In en, this message translates to:532
/// **'Invalid profile file. Use CH-J JSON format version 1, up to 5 MiB and 10,000 profiles.'**533
String get invalidImport;535
/// No description provided for @networkError.536
///537
/// In en, this message translates to:538
/// **'Network connection failed. Check the address, VPN and local-network permission.'**539
String get networkError;541
/// No description provided for @authFailed.542
///543
/// In en, this message translates to:544
/// **'SSH authentication failed. Check the username, password or private key.'**545
String get authFailed;547
/// No description provided for @invalidKey.548
///549
/// In en, this message translates to:550
/// **'Invalid private key or passphrase.'**551
String get invalidKey;553
/// No description provided for @timeout.554
///555
/// In en, this message translates to:556
/// **'The operation timed out.'**557
String get timeout;559
/// No description provided for @operationFailed.560
///561
/// In en, this message translates to:562
/// **'Operation failed. Check the connection and permissions.'**563
String get operationFailed;565
/// No description provided for @permissionDenied.566
///567
/// In en, this message translates to:568
/// **'The server denied file access.'**569
String get permissionDenied;571
/// No description provided for @fileError.572
///573
/// In en, this message translates to:574
/// **'SFTP operation failed. The item may be missing, the directory nonempty, or access denied.'**575
String get fileError;577
/// No description provided for @fileExists.578
///579
/// In en, this message translates to:580
/// **'The destination already exists. Choose another name.'**581
String get fileExists;583
/// No description provided for @unsafePath.584
///585
/// In en, this message translates to:586
/// **'Unsafe path, unsupported file type or symbolic link. Symbolic links are not followed.'**587
String get unsafePath;589
/// No description provided for @cancelled.590
///591
/// In en, this message translates to:592
/// **'Transfer cancelled.'**593
String get cancelled;595
/// No description provided for @upload.596
///597
/// In en, this message translates to:598
/// **'Upload file'**599
String get upload;601
/// No description provided for @download.602
///603
/// In en, this message translates to:604
/// **'Download and save / share'**605
String get download;607
/// No description provided for @rename.608
///609
/// In en, this message translates to:610
/// **'Rename'**611
String get rename;613
/// No description provided for @newFolder.614
///615
/// In en, this message translates to:616
/// **'New folder'**617
String get newFolder;619
/// No description provided for @refresh.620
///621
/// In en, this message translates to:622
/// **'Refresh'**623
String get refresh;625
/// No description provided for @parent.626
///627
/// In en, this message translates to:628
/// **'Parent directory'**629
String get parent;631
/// No description provided for @size.632
///633
/// In en, this message translates to:634
/// **'Size'**635
String get size;637
/// No description provided for @modified.638
///639
/// In en, this message translates to:640
/// **'Modified'**641
String get modified;643
/// No description provided for @symlink.644
///645
/// In en, this message translates to:646
/// **'Symbolic link (blocked)'**647
String get symlink;649
/// No description provided for @emptyDirectory.650
///651
/// In en, this message translates to:652
/// **'This directory is empty.'**653
String get emptyDirectory;655
/// No description provided for @importProfiles.656
///657
/// In en, this message translates to:658
/// **'Import profiles'**659
String get importProfiles;661
/// No description provided for @exportProfiles.662
///663
/// In en, this message translates to:664
/// **'Export profiles'**665
String get exportProfiles;667
/// No description provided for @profileTransfer.668
///669
/// In en, this message translates to:670
/// **'Import and export profiles'**671
String get profileTransfer;673
/// No description provided for @importPreview.674
///675
/// In en, this message translates to:676
/// **'Review imported profiles'**677
String get importPreview;679
/// No description provided for @importAdvice.680
///681
/// In en, this message translates to:682
/// **'Only connection details are imported. Assign authentication before connecting. Duplicate matching uses host, port and username.'**683
String get importAdvice;685
/// No description provided for @skipDuplicates.686
///687
/// In en, this message translates to:688
/// **'Skip duplicates'**689
String get skipDuplicates;691
/// No description provided for @updateDuplicates.692
///693
/// In en, this message translates to:694
/// **'Update duplicates (clear saved credentials)'**695
String get updateDuplicates;697
/// No description provided for @createDuplicates.698
///699
/// In en, this message translates to:700
/// **'Create separate copies'**701
String get createDuplicates;703
/// No description provided for @importAction.704
///705
/// In en, this message translates to:706
/// **'Import reviewed profiles'**707
String get importAction;709
/// No description provided for @done.710
///711
/// In en, this message translates to:712
/// **'Done'**713
String get done;715
/// No description provided for @copy.716
///717
/// In en, this message translates to:718
/// **'Copy selection'**719
String get copy;721
/// No description provided for @paste.722
///723
/// In en, this message translates to:724
/// **'Paste'**725
String get paste;727
/// No description provided for @keyboard.728
///729
/// In en, this message translates to:730
/// **'Show keyboard'**731
String get keyboard;733
/// No description provided for @hideKeyboard.734
///735
/// In en, this message translates to:736
/// **'Hide keyboard'**737
String get hideKeyboard;739
/// No description provided for @monitorInterval.740
///741
/// In en, this message translates to:742
/// **'Refresh interval (seconds)'**743
String get monitorInterval;745
/// No description provided for @cpu.746
///747
/// In en, this message translates to:748
/// **'CPU'**749
String get cpu;751
/// No description provided for @ram.752
///753
/// In en, this message translates to:754
/// **'RAM'**755
String get ram;757
/// No description provided for @disk.758
///759
/// In en, this message translates to:760
/// **'Root filesystem'**761
String get disk;763
/// No description provided for @uptime.764
///765
/// In en, this message translates to:766
/// **'Uptime'**767
String get uptime;769
/// No description provided for @load.770
///771
/// In en, this message translates to:772
/// **'Load average (1 / 5 / 15 min)'**773
String get load;775
/// No description provided for @release.776
///777
/// In en, this message translates to:778
/// **'OS version'**779
String get release;781
/// No description provided for @rtt.782
///783
/// In en, this message translates to:784
/// **'SSH command response time'**785
String get rtt;787
/// No description provided for @handshake.788
///789
/// In en, this message translates to:790
/// **'SSH connection and authentication'**791
String get handshake;793
/// No description provided for @unsupportedSystem.794
///795
/// In en, this message translates to:796
/// **'Monitoring requires a Linux server with /proc and standard POSIX utilities.'**797
String get unsupportedSystem;799
/// No description provided for @runDiagnostics.800
///801
/// In en, this message translates to:802
/// **'Run test'**803
String get runDiagnostics;805
/// No description provided for @icmpNote.806
///807
/// In en, this message translates to:808
/// **'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.'**809
String get icmpNote;811
/// No description provided for @dnsResults.812
///813
/// In en, this message translates to:814
/// **'DNS addresses (not saved to profiles)'**815
String get dnsResults;817
/// No description provided for @tcpConnect.818
///819
/// In en, this message translates to:820
/// **'TCP connection time'**821
String get tcpConnect;823
/// No description provided for @backgroundNote.824
///825
/// In en, this message translates to:826
/// **'Monitoring stops outside this screen and while the app is inactive. The OS may suspend SSH sessions in the background.'**827
String get backgroundNote;829
/// No description provided for @componentLicenses.830
///831
/// In en, this message translates to:832
/// **'Third-party licenses'**833
String get componentLicenses;835
/// No description provided for @clearPassword.836
///837
/// In en, this message translates to:838
/// **'Remove saved password'**839
String get clearPassword;841
/// No description provided for @biometricUnavailable.842
///843
/// In en, this message translates to:844
/// **'Biometrics are not available. Enroll Face ID, Touch ID or a strong fingerprint/face biometric first.'**845
String get biometricUnavailable;847
/// No description provided for @licenseError.848
///849
/// In en, this message translates to:850
/// **'License or guidance could not be loaded. Application access is blocked.'**851
String get licenseError;853
/// No description provided for @loadNote.854
///855
/// In en, this message translates to:856
/// **'Load average is the average number of waiting processes, not a CPU percentage.'**857
String get loadNote;859
/// No description provided for @addressFamily.860
///861
/// In en, this message translates to:862
/// **'IP version'**863
String get addressFamily;865
/// No description provided for @automatic.866
///867
/// In en, this message translates to:868
/// **'Automatic'**869
String get automatic;871
/// No description provided for @testType.872
///873
/// In en, this message translates to:874
/// **'Test'**875
String get testType;877
/// No description provided for @target.878
///879
/// In en, this message translates to:880
/// **'Target'**881
String get target;883
/// No description provided for @duration.884
///885
/// In en, this message translates to:886
/// **'Duration'**887
String get duration;889
/// No description provided for @resultOk.890
///891
/// In en, this message translates to:892
/// **'Succeeded'**893
String get resultOk;895
/// No description provided for @resultFailed.896
///897
/// In en, this message translates to:898
/// **'Failed'**899
String get resultFailed;901
/// No description provided for @dnsLookup.902
///903
/// In en, this message translates to:904
/// **'DNS lookup'**905
String get dnsLookup;907
/// No description provided for @tcpConnectTest.908
///909
/// In en, this message translates to:910
/// **'TCP connect'**911
String get tcpConnectTest;913
/// No description provided for @notTested.914
///915
/// In en, this message translates to:916
/// **'Not run'**917
String get notTested;919
/// No description provided for @commandRtt.920
///921
/// In en, this message translates to:922
/// **'SSH command response'**923
String get commandRtt;925
/// No description provided for @sshLatency.926
///927
/// In en, this message translates to:928
/// **'SSH response times'**929
String get sshLatency;931
/// No description provided for @uptimeDays.932
///933
/// In en, this message translates to:934
/// **'{count, plural, =1{1 day} other{{count} days}}'**935
String uptimeDays(int count);937
/// No description provided for @uptimeHours.938
///939
/// In en, this message translates to:940
/// **'{count, plural, =1{1 hour} other{{count} hours}}'**941
String uptimeHours(int count);943
/// No description provided for @uptimeMinutes.944
///945
/// In en, this message translates to:946
/// **'{count, plural, =1{1 minute} other{{count} minutes}}'**947
String uptimeMinutes(int count);949
/// No description provided for @usedOf.950
///951
/// In en, this message translates to:952
/// **'{used} of {total}'**953
String usedOf(String used, String total);955
/// No description provided for @autoRefresh.956
///957
/// In en, this message translates to:958
/// **'Automatically every {seconds} s'**959
String autoRefresh(String seconds);961
/// No description provided for @updatedAt.962
///963
/// In en, this message translates to:964
/// **'Updated {time}'**965
String updatedAt(String time);967
/// No description provided for @ping.968
///969
/// In en, this message translates to:970
/// **'Ping (ICMP)'**971
String get ping;973
/// No description provided for @traceroute.974
///975
/// In en, this message translates to:976
/// **'Traceroute'**977
String get traceroute;979
/// No description provided for @packetCount.980
///981
/// In en, this message translates to:982
/// **'Packet count'**983
String get packetCount;985
/// No description provided for @intervalSeconds.986
///987
/// In en, this message translates to:988
/// **'Interval (s)'**989
String get intervalSeconds;991
/// No description provided for @timeoutSeconds.992
///993
/// In en, this message translates to:994
/// **'Timeout (s)'**995
String get timeoutSeconds;997
/// No description provided for @payloadBytes.998
///999
/// In en, this message translates to:1000
/// **'Payload size (B)'**1001
String get payloadBytes;1003
/// No description provided for @maxHops.1004
///1005
/// In en, this message translates to:1006
/// **'Max hops'**1007
String get maxHops;1009
/// No description provided for @probesPerHop.1010
///1011
/// In en, this message translates to:1012
/// **'Probes per hop'**1013
String get probesPerHop;1015
/// No description provided for @testOptions.1016
///1017
/// In en, this message translates to:1018
/// **'Test options'**1019
String get testOptions;1021
/// No description provided for @stop.1022
///1023
/// In en, this message translates to:1024
/// **'Stop'**1025
String get stop;1027
/// No description provided for @packetsSent.1028
///1029
/// In en, this message translates to:1030
/// **'Sent'**1031
String get packetsSent;1033
/// No description provided for @packetsReceived.1034
///1035
/// In en, this message translates to:1036
/// **'Received'**1037
String get packetsReceived;1039
/// No description provided for @packetLoss.1040
///1041
/// In en, this message translates to:1042
/// **'Loss'**1043
String get packetLoss;1045
/// No description provided for @rttStats.1046
///1047
/// In en, this message translates to:1048
/// **'min / avg / max'**1049
String get rttStats;1051
/// No description provided for @hop.1052
///1053
/// In en, this message translates to:1054
/// **'Hop'**1055
String get hop;1057
/// No description provided for @traceReached.1058
///1059
/// In en, this message translates to:1060
/// **'Destination reached'**1061
String get traceReached;1063
/// No description provided for @traceUnreachable.1064
///1065
/// In en, this message translates to:1066
/// **'Destination unreachable (ICMP error, see the code)'**1067
String get traceUnreachable;1069
/// No description provided for @traceLimit.1070
///1071
/// In en, this message translates to:1072
/// **'Hop limit reached without a reply from the destination'**1073
String get traceLimit;1075
/// No description provided for @stoppedByUser.1076
///1077
/// In en, this message translates to:1078
/// **'Stopped by user'**1079
String get stoppedByUser;1081
/// No description provided for @timeoutStar.1082
///1083
/// In en, this message translates to:1084
/// **'* = no reply within the timeout. It does not mean the node does not exist; many routers do not answer ICMP.'**1085
String get timeoutStar;1087
/// No description provided for @icmpNotPermitted.1088
///1089
/// In en, this message translates to:1090
/// **'The system does not allow an unprivileged ICMP socket, so ping and traceroute cannot run.'**1091
String get icmpNotPermitted;1093
/// No description provided for @icmpUnsupported.1094
///1095
/// In en, this message translates to:1096
/// **'ICMP is not available on this device.'**1097
String get icmpUnsupported;1099
/// No description provided for @invalidSetting.1100
///1101
/// In en, this message translates to:1102
/// **'Invalid value in the test options.'**1103
String get invalidSetting;1105
/// No description provided for @replyFrom.1106
///1107
/// In en, this message translates to:1108
/// **'Reply'**1109
String get replyFrom;1111
/// No description provided for @probeTimeout.1112
///1113
/// In en, this message translates to:1114
/// **'No reply'**1115
String get probeTimeout;1117
/// No description provided for @probeUnreachable.1118
///1119
/// In en, this message translates to:1120
/// **'Unreachable'**1121
String get probeUnreachable;1123
/// No description provided for @probeSendFailed.1124
///1125
/// In en, this message translates to:1126
/// **'Send failed'**1127
String get probeSendFailed;1129
/// No description provided for @protocolUsed.1130
///1131
/// In en, this message translates to:1132
/// **'Protocol'**1133
String get protocolUsed;1135
/// No description provided for @resolvedAddress.1136
///1137
/// In en, this message translates to:1138
/// **'Address used'**1139
String get resolvedAddress;1141
/// No description provided for @passwordLength.1142
///1143
/// In en, this message translates to:1144
/// **'The master password must have 4–64 characters.'**1145
String get passwordLength;1147
/// No description provided for @biometricNote.1148
///1149
/// In en, this message translates to:1150
/// **'Only enrolled biometrics release the Vault key. The device passcode cannot open the Vault; without biometrics use the master password.'**1151
String get biometricNote;1153
/// No description provided for @usePassword.1154
///1155
/// In en, this message translates to:1156
/// **'Use master password'**1157
String get usePassword;1159
/// No description provided for @showPassword.1160
///1161
/// In en, this message translates to:1162
/// **'Show password'**1163
String get showPassword;1165
/// No description provided for @hidePassword.1166
///1167
/// In en, this message translates to:1168
/// **'Hide password'**1169
String get hidePassword;1171
/// No description provided for @strength0.1172
///1173
/// In en, this message translates to:1174
/// **'Very weak'**1175
String get strength0;1177
/// No description provided for @strength1.1178
///1179
/// In en, this message translates to:1180
/// **'Weak'**1181
String get strength1;1183
/// No description provided for @strength2.1184
///1185
/// In en, this message translates to:1186
/// **'Fair'**1187
String get strength2;1189
/// No description provided for @strength3.1190
///1191
/// In en, this message translates to:1192
/// **'Good'**1193
String get strength3;1195
/// No description provided for @strength4.1196
///1197
/// In en, this message translates to:1198
/// **'Strong'**1199
String get strength4;1201
/// No description provided for @passwordStrength.1202
///1203
/// In en, this message translates to:1204
/// **'Password strength'**1205
String get passwordStrength;1207
/// No description provided for @shortPasswordWarning.1208
///1209
/// In en, this message translates to:1210
/// **'Short passwords and PINs are allowed but easier to guess if someone obtains a copy of this device\'s data. Encryption is not weakened.'**1211
String get shortPasswordWarning;1213
/// No description provided for @changePassword.1214
///1215
/// In en, this message translates to:1216
/// **'Change Vault password'**1217
String get changePassword;1219
/// No description provided for @currentPassword.1220
///1221
/// In en, this message translates to:1222
/// **'Current master password'**1223
String get currentPassword;1225
/// No description provided for @newPassword.1226
///1227
/// In en, this message translates to:1228
/// **'New master password'**1229
String get newPassword;1231
/// No description provided for @confirmNewPassword.1232
///1233
/// In en, this message translates to:1234
/// **'Confirm new password'**1235
String get confirmNewPassword;1237
/// No description provided for @passwordChanged.1238
///1239
/// In en, this message translates to:1240
/// **'The Vault password was changed. All servers, credentials and keys are still available.'**1241
String get passwordChanged;1243
/// No description provided for @passwordChangedBiometricOff.1244
///1245
/// In en, this message translates to:1246
/// **'The password was changed, but biometric unlock could not be renewed and was turned off. Turn it on again in Settings.'**1247
String get passwordChangedBiometricOff;1249
/// No description provided for @wrongCurrentPassword.1250
///1251
/// In en, this message translates to:1252
/// **'The current password is not correct.'**1253
String get wrongCurrentPassword;1255
/// No description provided for @samePassword.1256
///1257
/// In en, this message translates to:1258
/// **'The new password is the same as the current one.'**1259
String get samePassword;1261
/// No description provided for @biometricCancelled.1262
///1263
/// In en, this message translates to:1264
/// **'Biometric check cancelled. Enter the master password or try again.'**1265
String get biometricCancelled;1267
/// No description provided for @biometricFailed.1268
///1269
/// In en, this message translates to:1270
/// **'Biometric check failed. Enter the master password.'**1271
String get biometricFailed;1273
/// No description provided for @biometricLockout.1274
///1275
/// In en, this message translates to:1276
/// **'Biometrics are temporarily locked by the system after too many attempts. Enter the master password.'**1277
String get biometricLockout;1279
/// No description provided for @biometricInvalid.1280
///1281
/// In en, this message translates to:1282
/// **'The biometric key is no longer valid (biometrics on this device changed). Unlock with the master password and turn biometric unlock on again.'**1283
String get biometricInvalid;1285
/// No description provided for @biometricUpgrade.1286
///1287
/// In en, this message translates to:1288
/// **'Biometric unlock was improved and no longer accepts the device passcode. Unlock once with the master password to renew it.'**1289
String get biometricUpgrade;1291
/// No description provided for @biometricReenable.1292
///1293
/// In en, this message translates to:1294
/// **'Biometric unlock is off. Turn it on again in Settings.'**1295
String get biometricReenable;1297
/// No description provided for @tryBiometricAgain.1298
///1299
/// In en, this message translates to:1300
/// **'Try biometrics again'**1301
String get tryBiometricAgain;1303
/// No description provided for @securitySection.1304
///1305
/// In en, this message translates to:1306
/// **'Security'**1307
String get securitySection;1309
/// No description provided for @kdfInfo.1310
///1311
/// In en, this message translates to:1312
/// **'Key derivation'**1313
String get kdfInfo;1315
/// No description provided for @tcpPing.1316
///1317
/// In en, this message translates to:1318
/// **'TCP ping'**1319
String get tcpPing;1321
/// No description provided for @icmpPing.1322
///1323
/// In en, this message translates to:1324
/// **'ICMP ping'**1325
String get icmpPing;1327
/// No description provided for @tcpPort.1328
///1329
/// In en, this message translates to:1330
/// **'TCP port'**1331
String get tcpPort;1333
/// No description provided for @tcpNote.1334
///1335
/// In en, this message translates to:1336
/// **'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).'**1337
String get tcpNote;1339
/// No description provided for @icmpPingNote.1340
///1341
/// In en, this message translates to:1342
/// **'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.'**1343
String get icmpPingNote;1345
/// No description provided for @traceNote.1346
///1347
/// In en, this message translates to:1348
/// **'Traceroute sends probes with increasing TTL / hop limit directly from this device. Routers that do not answer are shown as * and the trace continues.'**1349
String get traceNote;1351
/// No description provided for @attemptCount.1352
///1353
/// In en, this message translates to:1354
/// **'Number of attempts'**1355
String get attemptCount;1357
/// No description provided for @customCount.1358
///1359
/// In en, this message translates to:1360
/// **'Custom number'**1361
String get customCount;1363
/// No description provided for @customValue.1364
///1365
/// In en, this message translates to:1366
/// **'Custom…'**1367
String get customValue;1369
/// No description provided for @continuous.1370
///1371
/// In en, this message translates to:1372
/// **'Continuous until stopped'**1373
String get continuous;1375
/// No description provided for @ttlHopLimit.1376
///1377
/// In en, this message translates to:1378
/// **'TTL / hop limit'**1379
String get ttlHopLimit;1381
/// No description provided for @systemDefault.1382
///1383
/// In en, this message translates to:1384
/// **'System default'**1385
String get systemDefault;1387
/// No description provided for @dontFragment.1388
///1389
/// In en, this message translates to:1390
/// **'Don\'t fragment (DF)'**1391
String get dontFragment;1393
/// No description provided for @traceMethod.1394
///1395
/// In en, this message translates to:1396
/// **'Probe method'**1397
String get traceMethod;1399
/// No description provided for @tcpTraceUnsupported.1400
///1401
/// In en, this message translates to:1402
/// **'Not available on Android: without root privileges the system does not tell apps which router answered a TCP probe.'**1403
String get tcpTraceUnsupported;1405
/// No description provided for @firstTtl.1406
///1407
/// In en, this message translates to:1408
/// **'First TTL / hop limit'**1409
String get firstTtl;1411
/// No description provided for @probeInterval.1412
///1413
/// In en, this message translates to:1414
/// **'Pause between probes (s)'**1415
String get probeInterval;1417
/// No description provided for @tracePort.1418
///1419
/// In en, this message translates to:1420
/// **'Destination port'**1421
String get tracePort;1423
/// No description provided for @repetitions.1424
///1425
/// In en, this message translates to:1426
/// **'Repetitions'**1427
String get repetitions;1429
/// No description provided for @reverseDns.1430
///1431
/// In en, this message translates to:1432
/// **'Reverse DNS (host names)'**1433
String get reverseDns;1435
/// No description provided for @resolveAddresses.1436
///1437
/// In en, this message translates to:1438
/// **'Find addresses and choose one'**1439
String get resolveAddresses;1441
/// No description provided for @noAddressFamily.1442
///1443
/// In en, this message translates to:1444
/// **'No address of this IP version (no A / AAAA record).'**1445
String get noAddressFamily;1447
/// No description provided for @literalOtherFamily.1448
///1449
/// In en, this message translates to:1450
/// **'The target is an address of the other IP version.'**1451
String get literalOtherFamily;1453
/// No description provided for @dnsFailed.1454
///1455
/// In en, this message translates to:1456
/// **'DNS lookup failed. Check the name and the network.'**1457
String get dnsFailed;1459
/// No description provided for @outcomeOk.1460
///1461
/// In en, this message translates to:1462
/// **'OK'**1463
String get outcomeOk;1465
/// No description provided for @outcomeTimeout.1466
///1467
/// In en, this message translates to:1468
/// **'Timeout'**1469
String get outcomeTimeout;1471
/// No description provided for @outcomeRefused.1472
///1473
/// In en, this message translates to:1474
/// **'Refused (TCP reset)'**1475
String get outcomeRefused;1477
/// No description provided for @outcomeUnreachable.1478
///1479
/// In en, this message translates to:1480
/// **'Unreachable'**1481
String get outcomeUnreachable;1483
/// No description provided for @outcomeTtlExceeded.1484
///1485
/// In en, this message translates to:1486
/// **'TTL exceeded'**1487
String get outcomeTtlExceeded;1489
/// No description provided for @outcomeError.1490
///1491
/// In en, this message translates to:1492
/// **'Network error'**1493
String get outcomeError;1495
/// No description provided for @attempts.1496
///1497
/// In en, this message translates to:1498
/// **'Attempts'**1499
String get attempts;1501
/// No description provided for @successful.1502
///1503
/// In en, this message translates to:1504
/// **'Successful'**1505
String get successful;1507
/// No description provided for @failedCount.1508
///1509
/// In en, this message translates to:1510
/// **'Failed'**1511
String get failedCount;1513
/// No description provided for @successRate.1514
///1515
/// In en, this message translates to:1516
/// **'Success'**1517
String get successRate;1519
/// No description provided for @rttMin.1520
///1521
/// In en, this message translates to:1522
/// **'Min'**1523
String get rttMin;1525
/// No description provided for @rttMax.1526
///1527
/// In en, this message translates to:1528
/// **'Max'**1529
String get rttMax;1531
/// No description provided for @rttAvg.1532
///1533
/// In en, this message translates to:1534
/// **'Average'**1535
String get rttAvg;1537
/// No description provided for @rttMedian.1538
///1539
/// In en, this message translates to:1540
/// **'Median'**1541
String get rttMedian;1543
/// No description provided for @rttStddev.1544
///1545
/// In en, this message translates to:1546
/// **'Std. deviation'**1547
String get rttStddev;1549
/// No description provided for @jitter.1550
///1551
/// In en, this message translates to:1552
/// **'Jitter'**1553
String get jitter;1555
/// No description provided for @elapsedTime.1556
///1557
/// In en, this message translates to:1558
/// **'Duration'**1559
String get elapsedTime;1561
/// No description provided for @statsNote.1562
///1563
/// In en, this message translates to:1564
/// **'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.'**1565
String get statsNote;1567
/// No description provided for @chartTitle.1568
///1569
/// In en, this message translates to:1570
/// **'RTT over time'**1571
String get chartTitle;1573
/// No description provided for @chartFailures.1574
///1575
/// In en, this message translates to:1576
/// **'Failed attempt'**1577
String get chartFailures;1579
/// No description provided for @olderOmitted.1580
///1581
/// In en, this message translates to:1582
/// **'Older attempts not shown (statistics still include them)'**1583
String get olderOmitted;1585
/// No description provided for @copyResults.1586
///1587
/// In en, this message translates to:1588
/// **'Copy'**1589
String get copyResults;1591
/// No description provided for @exportResults.1592
///1593
/// In en, this message translates to:1594
/// **'Export'**1595
String get exportResults;1597
/// No description provided for @clearResults.1598
///1599
/// In en, this message translates to:1600
/// **'Clear'**1601
String get clearResults;1603
/// No description provided for @copied.1604
///1605
/// In en, this message translates to:1606
/// **'Copied to the clipboard.'**1607
String get copied;1609
/// No description provided for @saveToDevice.1610
///1611
/// In en, this message translates to:1612
/// **'Save to device'**1613
String get saveToDevice;1615
/// No description provided for @shareFile.1616
///1617
/// In en, this message translates to:1618
/// **'Share'**1619
String get shareFile;1621
/// No description provided for @savedToDevice.1622
///1623
/// In en, this message translates to:1624
/// **'Saved.'**1625
String get savedToDevice;1627
/// No description provided for @combinedSummary.1628
///1629
/// In en, this message translates to:1630
/// **'IPv4 and IPv6 overview'**1631
String get combinedSummary;1633
/// No description provided for @statusColumn.1634
///1635
/// In en, this message translates to:1636
/// **'Status'**1637
String get statusColumn;1639
/// No description provided for @statusRunning.1640
///1641
/// In en, this message translates to:1642
/// **'Running…'**1643
String get statusRunning;1645
/// No description provided for @statusFinished.1646
///1647
/// In en, this message translates to:1648
/// **'Finished'**1649
String get statusFinished;1651
/// No description provided for @compareRuns.1652
///1653
/// In en, this message translates to:1654
/// **'Compare with the previous measurement'**1655
String get compareRuns;1657
/// No description provided for @previousRun.1658
///1659
/// In en, this message translates to:1660
/// **'Previous'**1661
String get previousRun;1663
/// No description provided for @pathChanged.1664
///1665
/// In en, this message translates to:1666
/// **'Route changed'**1667
String get pathChanged;1669
/// No description provided for @tcpOpenNote.1670
///1671
/// In en, this message translates to:1672
/// **'Port open: the destination answered with SYN-ACK.'**1673
String get tcpOpenNote;1675
/// No description provided for @tcpRefusedNote.1676
///1677
/// In en, this message translates to:1678
/// **'Port closed: the destination answered with a reset; it was reached.'**1679
String get tcpRefusedNote;1681
/// No description provided for @answeredOtherAddress.1682
///1683
/// In en, this message translates to:1684
/// **'The final answer came from another address than the target (anycast or a filtering device).'**1685
String get answeredOtherAddress;1687
/// No description provided for @icmpCodeLegend.1688
///1689
/// In en, this message translates to:1690
/// **'!N network, !H host, !P protocol, !F fragmentation needed, !X administratively prohibited (ICMP destination unreachable).'**1691
String get icmpCodeLegend;1693
/// No description provided for @messageTooLong.1694
///1695
/// In en, this message translates to:1696
/// **'Packet too large to send without fragmentation.'**1697
String get messageTooLong;1699
/// No description provided for @ttlUnsupported.1700
///1701
/// In en, this message translates to:1702
/// **'The system did not accept this TTL / hop limit.'**1703
String get ttlUnsupported;1705
/// No description provided for @dontFragmentUnsupported.1706
///1707
/// In en, this message translates to:1708
/// **'This platform does not allow setting Don\'t Fragment for ICMP.'**1709
String get dontFragmentUnsupported;1711
/// No description provided for @unsupportedPlatform.1712
///1713
/// In en, this message translates to:1714
/// **'Not available on this platform.'**1715
String get unsupportedPlatform;1717
/// No description provided for @archiveDamaged.1718
///1719
/// In en, this message translates to:1720
/// **'The archive is damaged or not in a supported format.'**1721
String get archiveDamaged;1723
/// No description provided for @archiveListOnly.1724
///1725
/// In en, this message translates to:1726
/// **'Contents are only listed; nothing is extracted or run.'**1727
String get archiveListOnly;1729
/// No description provided for @archiveTooLarge.1730
///1731
/// In en, this message translates to:1732
/// **'The archive is too large to list on this device.'**1733
String get archiveTooLarge;1735
/// No description provided for @archiveUnsupported.1736
///1737
/// In en, this message translates to:1738
/// **'Listing this archive format is not supported'**1739
String get archiveUnsupported;1741
/// No description provided for @atomicNotPossible.1742
///1743
/// In en, this message translates to:1744
/// **'A temporary file cannot be created in this folder, so the file cannot be replaced safely in one step.'**1745
String get atomicNotPossible;1747
/// No description provided for @ownerWouldChange.1748
///1749
/// In en, this message translates to:1750
/// **'Saving through a temporary file would change the owner of this file on the server.'**1751
String get ownerWouldChange;1753
/// No description provided for @inPlaceAdvice.1754
///1755
/// In en, this message translates to:1756
/// **'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.'**1757
String get inPlaceAdvice;1759
/// No description provided for @binaryFile.1760
///1761
/// In en, this message translates to:1762
/// **'This looks like a binary file.'**1763
String get binaryFile;1765
/// No description provided for @chooseEncodingAdvice.1766
///1767
/// In en, this message translates to:1768
/// **'The encoding could not be detected. Choose the one the file was written in; nothing is converted until you save.'**1769
String get chooseEncodingAdvice;1771
/// No description provided for @unknownEncoding.1772
///1773
/// In en, this message translates to:1774
/// **'Unknown text encoding'**1775
String get unknownEncoding;1777
/// No description provided for @wrongEncoding.1778
///1779
/// In en, this message translates to:1780
/// **'The file is not valid in the chosen encoding.'**1781
String get wrongEncoding;1783
/// No description provided for @reopenEncoding.1784
///1785
/// In en, this message translates to:1786
/// **'Reopen with encoding…'**1787
String get reopenEncoding;1789
/// No description provided for @saveEncoding.1790
///1791
/// In en, this message translates to:1792
/// **'Save with encoding'**1793
String get saveEncoding;1795
/// No description provided for @openAsTextWith.1796
///1797
/// In en, this message translates to:1798
/// **'Open as text with encoding…'**1799
String get openAsTextWith;1801
/// No description provided for @unencodableTitle.1802
///1803
/// In en, this message translates to:1804
/// **'Characters cannot be saved in this encoding'**1805
String get unencodableTitle;1807
/// No description provided for @unencodableBody.1808
///1809
/// In en, this message translates to:1810
/// **'Some characters do not exist in the file\'s encoding. Continue to save as UTF-8 instead; Cancel keeps the text unsaved.'**1811
String get unencodableBody;1813
/// No description provided for @mixedLineBreaks.1814
///1815
/// In en, this message translates to:1816
/// **'This file mixes line endings (LF/CRLF/CR). On save they all become the shown type; change it in the status bar.'**1817
String get mixedLineBreaks;1819
/// No description provided for @notExactRoundTrip.1820
///1821
/// In en, this message translates to:1822
/// **'This file would not be saved byte-for-byte as it was read. Check the encoding before saving.'**1823
String get notExactRoundTrip;1825
/// No description provided for @close.1826
///1827
/// In en, this message translates to:1828
/// **'Close'**1829
String get close;1831
/// No description provided for @line.1832
///1833
/// In en, this message translates to:1834
/// **'Line'**1835
String get line;1837
/// No description provided for @column.1838
///1839
/// In en, this message translates to:1840
/// **'Column'**1841
String get column;1843
/// No description provided for @lineShort.1844
///1845
/// In en, this message translates to:1846
/// **'Ln'**1847
String get lineShort;1849
/// No description provided for @columnShort.1850
///1851
/// In en, this message translates to:1852
/// **'Col'**1853
String get columnShort;1855
/// No description provided for @conflictAdvice.1856
///1857
/// In en, this message translates to:1858
/// **'The file was changed elsewhere after you opened it. Overwrite replaces that change with your text.'**1859
String get conflictAdvice;1861
/// No description provided for @remoteChanged.1862
///1863
/// In en, this message translates to:1864
/// **'The file on the server has changed'**1865
String get remoteChanged;1867
/// No description provided for @remoteDeleted.1868
///1869
/// In en, this message translates to:1870
/// **'The file on the server no longer exists'**1871
String get remoteDeleted;1873
/// No description provided for @documentChanged.1874
///1875
/// In en, this message translates to:1876
/// **'The file on the device has changed'**1877
String get documentChanged;1879
/// No description provided for @connectToOpen.1880
///1881
/// In en, this message translates to:1882
/// **'Connect to that server first to open this file.'**1883
String get connectToOpen;1885
/// No description provided for @connectToSave.1886
///1887
/// In en, this message translates to:1888
/// **'Not connected to the file\'s server. Your text stays here.'**1889
String get connectToSave;1891
/// No description provided for @offlineAdvice.1892
///1893
/// In en, this message translates to:1894
/// **'Nothing was lost. Reconnect and save again, or keep a copy on this device now.'**1895
String get offlineAdvice;1897
/// No description provided for @saveCopyToDevice.1898
///1899
/// In en, this message translates to:1900
/// **'Save a copy on the device'**1901
String get saveCopyToDevice;1903
/// No description provided for @cryptoNote.1904
///1905
/// In en, this message translates to:1906
/// **'Basic information only. Private key material is never displayed or exported here.'**1907
String get cryptoNote;1909
/// No description provided for @cryptoUnreadable.1910
///1911
/// In en, this message translates to:1912
/// **'No certificate or key could be read.'**1913
String get cryptoUnreadable;1915
/// No description provided for @privateKeyHidden.1916
///1917
/// In en, this message translates to:1918
/// **'Contains a private key. Keep this file secret.'**1919
String get privateKeyHidden;1921
/// No description provided for @remoteFiles.1922
///1923
/// In en, this message translates to:1924
/// **'Server (SFTP)'**1925
String get remoteFiles;1927
/// No description provided for @deviceFiles.1928
///1929
/// In en, this message translates to:1930
/// **'Device'**1931
String get deviceFiles;1933
/// No description provided for @recentFiles.1934
///1935
/// In en, this message translates to:1936
/// **'Recent'**1937
String get recentFiles;1939
/// No description provided for @favoriteFiles.1940
///1941
/// In en, this message translates to:1942
/// **'Favorites'**1943
String get favoriteFiles;1945
/// No description provided for @deviceFilesNote.1946
///1947
/// In en, this message translates to:1948
/// **'Files are opened through the system file picker (Files / storage providers). SM Mobile only accesses what you choose.'**1949
String get deviceFilesNote;1951
/// No description provided for @openFiles.1952
///1953
/// In en, this message translates to:1954
/// **'Open files'**1955
String get openFiles;1957
/// No description provided for @openFolder.1958
///1959
/// In en, this message translates to:1960
/// **'Open folder'**1961
String get openFolder;1963
/// No description provided for @openedFiles.1964
///1965
/// In en, this message translates to:1966
/// **'Opened files'**1967
String get openedFiles;1969
/// No description provided for @newFile.1970
///1971
/// In en, this message translates to:1972
/// **'New file'**1973
String get newFile;1975
/// No description provided for @open.1976
///1977
/// In en, this message translates to:1978
/// **'Open'**1979
String get open;1981
/// No description provided for @openAsText.1982
///1983
/// In en, this message translates to:1984
/// **'Open as text'**1985
String get openAsText;1987
/// No description provided for @openInSystemViewer.1988
///1989
/// In en, this message translates to:1990
/// **'Open in system viewer'**1991
String get openInSystemViewer;1993
/// No description provided for @systemViewerTitle.1994
///1995
/// In en, this message translates to:1996
/// **'Shown by the system viewer'**1997
String get systemViewerTitle;1999
/// No description provided for @systemViewerIos.2000
///2001
/// In en, this message translates to:2002
/// **'Quick Look shows this file inside SM Mobile from a private temporary copy. It cannot be edited here.'**2003
String get systemViewerIos;2005
/// No description provided for @systemViewerAndroid.2006
///2007
/// In en, this message translates to:2008
/// **'An app on this device that you choose opens a private temporary copy. It cannot be edited here.'**2009
String get systemViewerAndroid;2011
/// No description provided for @noViewer.2012
///2013
/// In en, this message translates to:2014
/// **'No app on this device can show this file.'**2015
String get noViewer;2017
/// No description provided for @draftsRecovered.2018
///2019
/// In en, this message translates to:2020
/// **'Unsaved changes were kept when the Vault locked'**2021
String get draftsRecovered;2023
/// No description provided for @discardDrafts.2024
///2025
/// In en, this message translates to:2026
/// **'Discard all recovered drafts?'**2027
String get discardDrafts;2029
/// No description provided for @discard.2030
///2031
/// In en, this message translates to:2032
/// **'Discard'**2033
String get discard;2035
/// No description provided for @discardChanges.2036
///2037
/// In en, this message translates to:2038
/// **'Discard unsaved changes?'**2039
String get discardChanges;2041
/// No description provided for @unsavedChanges.2042
///2043
/// In en, this message translates to:2044
/// **'Unsaved changes'**2045
String get unsavedChanges;2047
/// No description provided for @editorSettings.2048
///2049
/// In en, this message translates to:2050
/// **'Editor settings'**2051
String get editorSettings;2053
/// No description provided for @fontSize.2054
///2055
/// In en, this message translates to:2056
/// **'Font size'**2057
String get fontSize;2059
/// No description provided for @wordWrap.2060
///2061
/// In en, this message translates to:2062
/// **'Wrap lines'**2063
String get wordWrap;2065
/// No description provided for @lineNumbers.2066
///2067
/// In en, this message translates to:2068
/// **'Line numbers and folding'**2069
String get lineNumbers;2071
/// No description provided for @indentWithTabs.2072
///2073
/// In en, this message translates to:2074
/// **'Indent with tabs'**2075
String get indentWithTabs;2077
/// No description provided for @indentWidth.2078
///2079
/// In en, this message translates to:2080
/// **'Indent width'**2081
String get indentWidth;2083
/// No description provided for @syntaxHighlight.2084
///2085
/// In en, this message translates to:2086
/// **'Syntax highlighting'**2087
String get syntaxHighlight;2089
/// No description provided for @largeFileHighlight.2090
///2091
/// In en, this message translates to:2092
/// **'Off by default for files over 1 MB to keep editing smooth.'**2093
String get largeFileHighlight;2095
/// No description provided for @syntax.2096
///2097
/// In en, this message translates to:2098
/// **'Syntax'**2099
String get syntax;2101
/// No description provided for @noGrammar.2102
///2103
/// In en, this message translates to:2104
/// **'No highlighting grammar available (plain text)'**2105
String get noGrammar;2107
/// No description provided for @tabs.2108
///2109
/// In en, this message translates to:2110
/// **'Tabs'**2111
String get tabs;2113
/// No description provided for @spaces.2114
///2115
/// In en, this message translates to:2116
/// **'Spaces'**2117
String get spaces;2119
/// No description provided for @readOnly.2120
///2121
/// In en, this message translates to:2122
/// **'Read-only'**2123
String get readOnly;2125
/// No description provided for @readOnlyDevice.2126
///2127
/// In en, this message translates to:2128
/// **'This file can only be read here (the storage provider does not allow writing). Use Save as to keep your changes.'**2129
String get readOnlyDevice;2131
/// No description provided for @readOnlyRemote.2132
///2133
/// In en, this message translates to:2134
/// **'This file is read-only.'**2135
String get readOnlyRemote;2137
/// No description provided for @modifiedState.2138
///2139
/// In en, this message translates to:2140
/// **'Modified'**2141
String get modifiedState;2143
/// No description provided for @findHint.2144
///2145
/// In en, this message translates to:2146
/// **'Find'**2147
String get findHint;2149
/// No description provided for @replaceHint.2150
///2151
/// In en, this message translates to:2152
/// **'Replace with'**2153
String get replaceHint;2155
/// No description provided for @invalidRegex.2156
///2157
/// In en, this message translates to:2158
/// **'Invalid regular expression'**2159
String get invalidRegex;2161
/// No description provided for @matchCase.2162
///2163
/// In en, this message translates to:2164
/// **'Match case'**2165
String get matchCase;2167
/// No description provided for @regularExpression.2168
///2169
/// In en, this message translates to:2170
/// **'Regular expression'**2171
String get regularExpression;2173
/// No description provided for @previousMatch.2174
///2175
/// In en, this message translates to:2176
/// **'Previous match'**2177
String get previousMatch;2179
/// No description provided for @nextMatch.2180
///2181
/// In en, this message translates to:2182
/// **'Next match'**2183
String get nextMatch;2185
/// No description provided for @replace.2186
///2187
/// In en, this message translates to:2188
/// **'Replace'**2189
String get replace;2191
/// No description provided for @replaceAll.2192
///2193
/// In en, this message translates to:2194
/// **'Replace all'**2195
String get replaceAll;2197
/// No description provided for @goToLine.2198
///2199
/// In en, this message translates to:2200
/// **'Go to line'**2201
String get goToLine;2203
/// No description provided for @lineBreaks.2204
///2205
/// In en, this message translates to:2206
/// **'Line endings'**2207
String get lineBreaks;2209
/// No description provided for @undo.2210
///2211
/// In en, this message translates to:2212
/// **'Undo'**2213
String get undo;2215
/// No description provided for @redo.2216
///2217
/// In en, this message translates to:2218
/// **'Redo'**2219
String get redo;2221
/// No description provided for @selectAll.2222
///2223
/// In en, this message translates to:2224
/// **'Select all'**2225
String get selectAll;2227
/// No description provided for @reload.2228
///2229
/// In en, this message translates to:2230
/// **'Reload from source'**2231
String get reload;2233
/// No description provided for @reloadDiscard.2234
///2235
/// In en, this message translates to:2236
/// **'Reload (discard mine)'**2237
String get reloadDiscard;2239
/// No description provided for @overwrite.2240
///2241
/// In en, this message translates to:2242
/// **'Overwrite'**2243
String get overwrite;2245
/// No description provided for @overwriteExisting.2246
///2247
/// In en, this message translates to:2248
/// **'A file with this name exists. Overwrite it?'**2249
String get overwriteExisting;2251
/// No description provided for @saveAs.2252
///2253
/// In en, this message translates to:2254
/// **'Save as…'**2255
String get saveAs;2257
/// No description provided for @saveAsRequired.2258
///2259
/// In en, this message translates to:2260
/// **'Choose where to save this new file.'**2261
String get saveAsRequired;2263
/// No description provided for @saveToServer.2264
///2265
/// In en, this message translates to:2266
/// **'Save to the server'**2267
String get saveToServer;2269
/// No description provided for @remotePath.2270
///2271
/// In en, this message translates to:2272
/// **'Path on the server'**2273
String get remotePath;2275
/// No description provided for @saved.2276
///2277
/// In en, this message translates to:2278
/// **'Saved.'**2279
String get saved;2281
/// No description provided for @validate.2282
///2283
/// In en, this message translates to:2284
/// **'Check syntax'**2285
String get validate;2287
/// No description provided for @validOk.2288
///2289
/// In en, this message translates to:2290
/// **'No syntax errors found.'**2291
String get validOk;2293
/// No description provided for @validationProblem.2294
///2295
/// In en, this message translates to:2296
/// **'Syntax error'**2297
String get validationProblem;2299
/// No description provided for @formatDocument.2300
///2301
/// In en, this message translates to:2302
/// **'Format document'**2303
String get formatDocument;2305
/// No description provided for @formatAdvice.2306
///2307
/// In en, this message translates to:2308
/// **'Rewrites indentation and layout (JSON numbers may be written differently). The change can be undone.'**2309
String get formatAdvice;2311
/// No description provided for @formatFailed.2312
///2313
/// In en, this message translates to:2314
/// **'The document cannot be formatted until its syntax errors are fixed.'**2315
String get formatFailed;2317
/// No description provided for @fileTooLarge.2318
///2319
/// In en, this message translates to:2320
/// **'The file is too large to open here.'**2321
String get fileTooLarge;2323
/// No description provided for @filesCount.2324
///2325
/// In en, this message translates to:2326
/// **'files'**2327
String get filesCount;2329
/// No description provided for @uncompressed.2330
///2331
/// In en, this message translates to:2332
/// **'unpacked'**2333
String get uncompressed;2335
/// No description provided for @imageUnsupported.2336
///2337
/// In en, this message translates to:2338
/// **'This image format cannot be shown on this device.'**2339
String get imageUnsupported;2341
/// No description provided for @svgSafe.2342
///2343
/// In en, this message translates to:2344
/// **'SVG is drawn as a static picture: scripts, links and external resources are not used.'**2345
String get svgSafe;2347
/// No description provided for @notebookUnreadable.2348
///2349
/// In en, this message translates to:2350
/// **'The notebook cannot be read; open it as JSON.'**2351
String get notebookUnreadable;2353
/// No description provided for @uploadToServer.2354
///2355
/// In en, this message translates to:2356
/// **'Copy to the server'**2357
String get uploadToServer;2359
/// No description provided for @uploadedTo.2360
///2361
/// In en, this message translates to:2362
/// **'Copied to'**2363
String get uploadedTo;2365
/// No description provided for @addFavorite.2366
///2367
/// In en, this message translates to:2368
/// **'Add to favorites'**2369
String get addFavorite;2371
/// No description provided for @removeFavorite.2372
///2373
/// In en, this message translates to:2374
/// **'Remove from favorites'**2375
String get removeFavorite;2377
/// No description provided for @removeFromList.2378
///2379
/// In en, this message translates to:2380
/// **'Remove from list'**2381
String get removeFromList;2383
/// No description provided for @noFavorites.2384
///2385
/// In en, this message translates to:2386
/// **'No favorite files yet.'**2387
String get noFavorites;2389
/// No description provided for @noRecentFiles.2390
///2391
/// In en, this message translates to:2392
/// **'No recently opened files.'**2393
String get noRecentFiles;2395
/// No description provided for @documentStale.2396
///2397
/// In en, this message translates to:2398
/// **'Access to this file has expired. Open it again from the file picker.'**2399
String get documentStale;2401
/// No description provided for @fileNotFound.2402
///2403
/// In en, this message translates to:2404
/// **'The file was not found.'**2405
String get fileNotFound;2407
/// No description provided for @noSpace.2408
///2409
/// In en, this message translates to:2410
/// **'Not enough free storage space.'**2411
String get noSpace;2413
/// No description provided for @readOnlyError.2414
///2415
/// In en, this message translates to:2416
/// **'Writing is not allowed here.'**2417
String get readOnlyError;2418
}2420
class _AppLocalizationsDelegate2421
extends LocalizationsDelegate<AppLocalizations> {2422
const _AppLocalizationsDelegate();2424
@override2425
Future<AppLocalizations> load(Locale locale) {2426
return SynchronousFuture<AppLocalizations>(lookupAppLocalizations(locale));2427
}2429
@override2430
bool isSupported(Locale locale) =>2431
<String>['cs', 'de', 'en'].contains(locale.languageCode);2433
@override2434
bool shouldReload(_AppLocalizationsDelegate old) => false;2435
}2437
AppLocalizations lookupAppLocalizations(Locale locale) {2438
// Lookup logic when only language code is specified.2439
switch (locale.languageCode) {2440
case 'cs':2441
return AppLocalizationsCs();2442
case 'de':2443
return AppLocalizationsDe();2444
case 'en':2445
return AppLocalizationsEn();2446
}2448
throw FlutterError(2449
'AppLocalizations.delegate failed to load unsupported locale "$locale". This is likely '2450
'an issue with the localizations generation tool. Please file an issue '2451
'on GitHub with a reproducible sample app and the gen-l10n configuration '2452
'that was used.',2453
);2454
}SHA-256
6d6d9ccbf40c2207f1f212586d8d0f602b97d84e7ebaf5bb24d62f8360481a3aCH-J Proprietary Software License 1.14 · Zdroje jsou zveřejněny pod CH-J Proprietary Software License 1.14. Jejich dostupnost nemění licenční podmínky ani neposkytuje další oprávnění.
SHA-256 archivu
46e427a43e87af091004f36145590bda8fe90086dfb0f631afeb5029fb0b5655