Merge branch 'master' into feature/remove-tardigrade

This commit is contained in:
Kenneth Skovhede
2024-07-29 07:36:16 +02:00
14 changed files with 79 additions and 83 deletions
+1 -1
View File
@@ -49,8 +49,8 @@ namespace Duplicati.CommandLine.Strings
public static string IncludeShort { get { return LC.L(@"Include files"); } }
public static string ExcludeLong { get { return LC.L(@"Exclude files that match this filter. The special character * means any number of character, and the special character ? means any single character, use *.txt to exclude all files with a txt extension. Regular expressions are also supported and can be supplied by using hard braces, i.e. [.*\.txt]. Filter groups (which encapsulate a built-in set of well-known files and folders) can be specified by using curly braces, i.e. {{TemporaryFiles}}."); } }
public static string ExcludeShort { get { return LC.L(@"Exclude files"); } }
public static string ControlFilesOptionShort { get { return LC.L(@"Use control files"); } }
public static string ControlFilesOptionLong { get { return LC.L(@"If this option is used with a backup operation, it is interpreted as a list of files to add to the filesets. When used with list or restore, it will list or restore the control files instead of the normal files."); } }
public static string ControlFilesOptionShort { get { return LC.L(@"Use control files"); } }
public static string QuietConsoleOptionLong { get { return LC.L(@"If this option is set, progress reports and other messages that would normally go to the console will be redirected to the log."); } }
public static string QuietConsoleOptionShort { get { return LC.L(@"Disable console output"); } }
public static string SkippingSourceArgumentsOnNonBackupOperation { get { return @"The --source argument was specified in the parameter file, but the current operation is not a backup operation, so the argument is ignored"; } }
+6 -7
View File
@@ -23,18 +23,17 @@ namespace Duplicati.Library.Backend.Strings
{
internal static class Rclone
{
public static string DisplayName { get { return LC.L(@"Rclone"); } }
public static string Description { get { return LC.L(@"This backend can read and write data to Rclone."); } }
public static string RcloneLocalRepoShort { get { return LC.L(@"Local repository"); } }
public static string DisplayName { get { return LC.L(@"Rclone"); } }
public static string RcloneLocalRepoLong { get { return LC.L(@"Local repository for Rclone. Make sure it is configured as a local drive, as it needs access to the files generated by Duplicati."); } }
public static string RcloneRemoteRepoShort { get { return LC.L(@"Remote repository"); } }
public static string RcloneLocalRepoShort { get { return LC.L(@"Local repository"); } }
public static string RcloneRemoteRepoLong { get { return LC.L(@"Remote repository for Rclone. This can be any of the backends provided by Rclone. More info available on https://rclone.org/."); } }
public static string RcloneRemoteRepoShort { get { return LC.L(@"Remote repository"); } }
public static string RcloneRemotePathLong { get { return LC.L(@"Path on the Remote repository."); } }
public static string RcloneRemotePathShort { get { return LC.L(@"Remote path"); } }
public static string RcloneRemotePathLong { get { return LC.L(@"Path on the Remote repository. "); } }
public static string RcloneOptionRcloneShort { get { return LC.L(@"Rclone options"); } }
public static string RcloneOptionRcloneLong { get { return LC.L(@"Options will be transferred to rclone."); } }
public static string RcloneExecutableShort { get { return LC.L(@"Rclone executable"); } }
public static string RcloneOptionRcloneShort { get { return LC.L(@"Rclone options"); } }
public static string RcloneExecutableLong { get { return LC.L(@"Full path to the rclone executable. Only needed if it's not in your path."); } }
public static string RcloneExecutableShort { get { return LC.L(@"Rclone executable"); } }
}
}
+1 -1
View File
@@ -333,7 +333,7 @@ namespace Duplicati.Library.Backend
new CommandLineArgument(SERVER_NAME, CommandLineArgument.ArgumentType.String, Strings.S3Backend.S3ServerNameDescriptionShort, Strings.S3Backend.S3ServerNameDescriptionLong(hostnames.ToString()), DEFAULT_S3_HOST),
new CommandLineArgument(LOCATION_OPTION, CommandLineArgument.ArgumentType.String, Strings.S3Backend.S3LocationDescriptionShort, Strings.S3Backend.S3LocationDescriptionLong(locations.ToString())),
new CommandLineArgument(SSL_OPTION, CommandLineArgument.ArgumentType.Boolean, Strings.S3Backend.DescriptionUseSSLShort, Strings.S3Backend.DescriptionUseSSLLong),
new CommandLineArgument(S3_CLIENT_OPTION, CommandLineArgument.ArgumentType.String, Strings.S3Backend.S3ClientDescriptionShort, Strings.S3Backend.DescriptionS3ClientLong),
new CommandLineArgument(S3_CLIENT_OPTION, CommandLineArgument.ArgumentType.String, Strings.S3Backend.S3ClientDescriptionShort, Strings.S3Backend.S3ClientDescriptionLong),
new CommandLineArgument(S3_DISABLE_CHUNK_ENCODING_OPTION, CommandLineArgument.ArgumentType.Boolean, Strings.S3Backend.DescriptionDisableChunkEncodingShort, Strings.S3Backend.DescriptionDisableChunkEncodingLong, "false"),
new CommandLineArgument("auth-password", CommandLineArgument.ArgumentType.Password, Strings.S3Backend.AuthPasswordDescriptionShort, Strings.S3Backend.AuthPasswordDescriptionLong),
new CommandLineArgument("auth-username", CommandLineArgument.ArgumentType.String, Strings.S3Backend.AuthUsernameDescriptionShort, Strings.S3Backend.AuthUsernameDescriptionLong),
+1 -1
View File
@@ -41,9 +41,9 @@ namespace Duplicati.Library.Backend.Strings
public static string S3ServerNameDescriptionLong(string providers) { return LC.L(@"Companies other than Amazon are now supporting the S3 API, meaning that this backend can read and write data to those providers as well. Use this option to set the hostname. Currently known providers are:
{0}", providers); }
public static string S3ServerNameDescriptionShort { get { return LC.L(@"Specifies an alternate S3 server name"); } }
public static string S3ClientDescriptionLong { get { return LC.L(@"Set either to aws or minio. Then either the AWS SDK or Minio SDK will be used to communicate with S3 services."); } }
public static string S3ClientDescriptionShort { get { return LC.L(@"Specifies the S3 client library to use"); } }
public static string DescriptionUseSSLLong { get { return LC.L(@"Use this flag to communicate using Secure Socket Layer (SSL) over http (https). Note that bucket names containing a period has problems with SSL connections."); } }
public static string DescriptionS3ClientLong { get { return LC.L(@"Set either to aws or minio. Then either the AWS SDK or Minio SDK will be used to communicate with S3 services."); } }
public static string DescriptionUseSSLShort { get { return LC.L(@"Instructs Duplicati to use an SSL (https) connection"); } }
public static string DescriptionDisableChunkEncodingLong { get { return LC.L(@"This disables chunk encoding for the aws client, which is not supported by all S3 providers."); } }
public static string DescriptionDisableChunkEncodingShort { get { return LC.L(@"Disable chunk encoding (aws client only)"); } }
+5 -5
View File
@@ -23,13 +23,13 @@ namespace Duplicati.Library.Backend.Strings
{
internal static class Sia
{
public static string DisplayName { get { return LC.L(@"Sia Decentralized Cloud"); } }
public static string Description { get { return LC.L(@"This backend can read and write data to Sia."); } }
public static string DisplayName { get { return LC.L(@"Sia Decentralized Cloud"); } }
public static string SiaPathDescriptionLong { get { return LC.L(@"Set the target path. Example: /backup"); } }
public static string SiaPathDescriptionShort { get { return LC.L(@"Backup path"); } }
public static string SiaPathDescriptionLong { get { return LC.L(@"Target path, ie /backup"); } }
public static string SiaPasswordLong { get { return LC.L(@"Supply a password for Sia server."); } }
public static string SiaPasswordShort { get { return LC.L(@"Sia password"); } }
public static string SiaPasswordLong { get { return LC.L(@"Sia password"); } }
public static string SiaRedundancyDescriptionShort { get { return LC.L(@"3"); } }
public static string SiaRedundancyDescriptionLong { get { return LC.L(@"Minimum value is 3."); } }
public static string SiaRedundancyDescriptionLong { get { return LC.L(@"The minimum value for redundancy is 1.0."); } }
public static string SiaRedundancyDescriptionShort { get { return LC.L(@"Set the minimum redundancy"); } }
}
}
+8 -8
View File
@@ -24,22 +24,22 @@ namespace Duplicati.Library.Backend.Strings
{
public static class Storj
{
public static string DisplayName { get { return LC.L(@"Storj DCS (Decentralized Cloud Storage)"); } }
public static string Description { get { return LC.L(@"This backend can read and write data to the Storj DCS."); } }
public static string DisplayName { get { return LC.L(@"Storj DCS (Decentralized Cloud Storage)"); } }
public static string TestConnectionFailed { get { return LC.L(@"The connection-test failed."); } }
public static string StorjAuthMethodDescriptionShort { get { return LC.L(@"The authentication method"); } }
public static string StorjAuthMethodDescriptionLong { get { return LC.L(@"The authentication method describes which way to use to connect to the network - either via API key or via an access grant."); } }
public static string StorjSatelliteDescriptionShort { get { return LC.L(@"The satellite"); } }
public static string StorjAuthMethodDescriptionShort { get { return LC.L(@"The authentication method"); } }
public static string StorjSatelliteDescriptionLong { get { return LC.L(@"The satellite that keeps track of all metadata. Use a Storj DCS server for high-performance SLA-backed connectivity or use a community server. Or even host your own."); } }
public static string StorjAPIKeyDescriptionShort { get { return LC.L(@"The API key"); } }
public static string StorjSatelliteDescriptionShort { get { return LC.L(@"The satellite"); } }
public static string StorjAPIKeyDescriptionLong { get { return LC.L(@"The API key grants access to a specific project on your chosen satellite. Head over to the dashboard of your satellite to create one if you do not already have an API key."); } }
public static string StorjSecretDescriptionShort { get { return LC.L(@"The encryption passphrase"); } }
public static string StorjAPIKeyDescriptionShort { get { return LC.L(@"The API key"); } }
public static string StorjSecretDescriptionLong { get { return LC.L(@"The encryption passphrase is used to encrypt your data before sending it to the Storj network. This passphrase can be the only secret to provide - for Storj you do not necessary need any additional encryption (from Duplicati) in place."); } }
public static string StorjSharedAccessDescriptionShort { get { return LC.L(@"The access grant"); } }
public static string StorjSecretDescriptionShort { get { return LC.L(@"The encryption passphrase"); } }
public static string StorjSharedAccessDescriptionLong { get { return LC.L(@"An access grant contains all information in one encrypted string. You may use it instead of a satellite, API key and secret."); } }
public static string StorjBucketDescriptionShort { get { return LC.L(@"The bucket"); } }
public static string StorjSharedAccessDescriptionShort { get { return LC.L(@"The access grant"); } }
public static string StorjBucketDescriptionLong { get { return LC.L(@"The bucket where the backup will reside in."); } }
public static string StorjFolderDescriptionShort { get { return LC.L(@"The folder"); } }
public static string StorjBucketDescriptionShort { get { return LC.L(@"The bucket"); } }
public static string StorjFolderDescriptionLong { get { return LC.L(@"The folder within the bucket where the backup will reside in."); } }
public static string StorjFolderDescriptionShort { get { return LC.L(@"The folder"); } }
}
}
@@ -35,12 +35,6 @@ namespace Duplicati.Library.Modules.Builtin.Strings
public static string ForcepassphrasefromstdinShort { get { return LC.L(@"Read passphrase from STDIN"); } }
public static string ForcepassphrasefromstdinLong { get { return LC.L(@"By default, the passphrase is attempted read from the TTY device directly, increasing the security by not copying the passphrase into a stream. In some setups, such as when running detached from a console, this does not work. Set this flag to prevent trying a TTY read and only read the passphrase from STDIN."); } }
}
internal static class CheckMonoSSL
{
public static string Description { get { return LC.L(@"When running with Mono, this module will check if any certificates are installed and suggest installing them otherwise"); } }
public static string Displayname { get { return LC.L(@"Check for SSL certificates"); } }
public static string ErrorMessage { get { return LC.L(@"No certificates found, you can install some with one of these commands:{0} cert-sync /etc/ssl/certs/ca-certificates.crt #for Debian based systems{0} cert-sync /etc/pki/tls/certs/ca-bundle.crt #for RedHat derivatives{0} curl -LO https://curl.se/ca/cacert.pem; cert-sync --user cacert.pem; rm cacert.pem #for MacOS{0}Read more: {1}", Environment.NewLine, "http://www.mono-project.com/docs/about-mono/releases/3.12.0/#cert-sync"); } }
}
internal static class HttpOptions
{
public static string Description { get { return LC.L(@"This module exposes a number of properties that can be used to change the way http requests are issued"); } }
@@ -38,7 +38,7 @@ namespace Duplicati.Library.Utility
public SslPolicyErrors SslError { get { return m_errors; } }
public InvalidCertificateException(string certificate, SslPolicyErrors error)
: base(Strings.SslCertificateValidator.VerifyCertificateException(error, certificate) + (!OperatingSystem.IsWindows() ? Strings.SslCertificateValidator.MonoHelpSSL : ""))
: base(Strings.SslCertificateValidator.VerifyCertificateException(error, certificate))
{
m_certificate = certificate;
m_errors = error;
-1
View File
@@ -28,7 +28,6 @@ namespace Duplicati.Library.Utility.Strings {
}
internal static class SslCertificateValidator {
public static string InvalidCallSequence { get { return LC.L(@"The SSL certificate validator was called in an incorrect order"); } }
public static string MonoHelpSSL { get { return LC.L(@"{0}You may want to import a set of trusted certificates into the Mono certificate store.{0}Use the command:{0} cert-sync /etc/ssl/certs/ca-certificates.crt #for Debian based systems{0} cert-sync /etc/pki/tls/certs/ca-bundle.crt #for RedHat derivatives{0}Read more: {1}", Environment.NewLine, "http://www.mono-project.com/docs/about-mono/releases/3.12.0/#cert-sync"); } }
public static string VerifyCertificateException(System.Net.Security.SslPolicyErrors error, string hash) { return LC.L(@"The server certificate had the error {0} and the hash {1}{2}If you trust this certificate, use the commandline option --accept-specified-ssl-hash={1} to accept the server certificate anyway.{2}You can also attempt to import the server certificate into your operating systems trust pool.", error, hash, Environment.NewLine); }
public static string VerifyCertificateHashError(System.Exception exception, System.Net.Security.SslPolicyErrors error) { return LC.L(@"Failed while validating certificate hash, error message: {0}, SSL error name: {1}", exception, error); }
}
@@ -1145,7 +1145,7 @@ backupApp.service('EditUriBuiltins', function (AppService, AppUtils, SystemInfo,
}
if (res && (scope['sia_redundancy'] || '').trim().length == 0 || parseFloat(scope['sia_redundancy']) < 1.0)
res = EditUriBackendConfig.show_error_dialog(gettextCatalog.getString('Minimum redundancy is 1.0'));
res = EditUriBackendConfig.show_error_dialog(gettextCatalog.getString('Minimum redundancy is 1.0')); // Do not forget to update SiaRedundancyDescriptionLong as well if the value is changed
if (res)
continuation();
@@ -4,7 +4,7 @@
</div>
<div class="input text">
<label for="sia_path" translate>Folder path</label>
<input type="text" name="sia_targetpath" id="sia_targetpath" ng-model="$parent.sia_targetpath" placeholder="{{'Target path, ie /backup' | translate}}" />
<input type="text" name="sia_targetpath" id="sia_targetpath" ng-model="$parent.sia_targetpath" placeholder="{{'Set the target path. Example: /backup' | translate}}" />
</div>
<div class="input password">
<label for="sia_password" translate>Server password</label>
@@ -31,7 +31,7 @@
</div>
<div class="input text" ng-show="$parent.storj_auth_method == 'Access grant'">
<label for="storj_shared_access" translate>Access grant</label>
<input type="text" name="storj_shared_access" id="storj_shared_access" ng-model="$parent.storj_shared_access" placeholder="{{'The access grant instead of the info above' | translate}}" />
<input type="text" name="storj_shared_access" id="storj_shared_access" ng-model="$parent.storj_shared_access" placeholder="{{'The access grant' | translate}}" />
</div>
<div class="input text">
<label for="storj_bucket" translate>Bucket</label>
+48 -44
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-26 12:56+0200\n"
"POT-Creation-Date: 2024-07-26 20:25+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -514,7 +514,7 @@ msgid ""
msgstr ""
#: Library/Backend/FTP/Strings.cs:42
#: Library/Backend/AlternativeFTP/Strings.cs:43
#: Library/Backend/AlternativeFTP/Strings.cs:44
msgid "Disable upload verification"
msgstr ""
@@ -890,7 +890,7 @@ msgstr ""
msgid "The folder {0} was not found. Message: {1}"
msgstr ""
#: Library/Backend/AlternativeFTP/Strings.cs:44
#: Library/Backend/AlternativeFTP/Strings.cs:43
msgid ""
"To protect against network or server failures, every upload will be "
"attempted to be verified. Use this option to disable this verification to "
@@ -1161,7 +1161,7 @@ msgid "Path on the Remote repository. "
msgstr ""
#: Library/Backend/Rclone/Strings.cs:34
msgid "Rclone options."
msgid "Rclone options"
msgstr ""
#: Library/Backend/Rclone/Strings.cs:35
@@ -1350,31 +1350,35 @@ msgid ""
msgstr ""
#: Library/Backend/Sia/Strings.cs:26
msgid "Sia Decentralized Cloud"
msgstr ""
#: Library/Backend/Sia/Strings.cs:27
msgid "This backend can read and write data to Sia."
msgstr ""
#: Library/Backend/Sia/Strings.cs:27
msgid "Sia Decentralized Cloud"
msgstr ""
#: Library/Backend/Sia/Strings.cs:28
msgid "Backup path"
msgid "Set the target path. Example: /backup"
msgstr ""
#: Library/Backend/Sia/Strings.cs:29
msgid "Target path, ie /backup"
msgid "Backup path"
msgstr ""
#: Library/Backend/Sia/Strings.cs:30 Library/Backend/Sia/Strings.cs:31
#: Library/Backend/Sia/Strings.cs:30
msgid "Supply a password for Sia server."
msgstr ""
#: Library/Backend/Sia/Strings.cs:31
msgid "Sia password"
msgstr ""
#: Library/Backend/Sia/Strings.cs:32
msgid "3"
msgid "The minimum value for redundancy is 1.0."
msgstr ""
#: Library/Backend/Sia/Strings.cs:33
msgid "Minimum value is 3."
msgid "Set the minimum redundancy"
msgstr ""
#: Library/Backend/OneDrive/Strings.cs:28
@@ -1637,11 +1641,15 @@ msgid ""
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:27
msgid "Tencent COS (Cloud Object Storage)"
msgid "This backend can read and write data to the Tencent COS."
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:28
msgid "This backend can read and write data to the Tencent COS."
msgid "Tencent COS (Cloud Object Storage)"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:29
msgid "Account ID of Tencent Cloud Account"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:30
@@ -1649,54 +1657,50 @@ msgid "Account ID"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:31
msgid "Account ID of Tencent Cloud Account"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:33
msgid "Secret Id"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:34
msgid "Cloud API Secret Id"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:36
msgid "Secret Key"
#: Library/Backend/TencentCOS/Strings.cs:32
msgid "Secret Id"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:37
#: Library/Backend/TencentCOS/Strings.cs:33
msgid "Cloud API Secret Key"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:39
msgid "Bucket"
#: Library/Backend/TencentCOS/Strings.cs:34
msgid "Secret Key"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:40
#: Library/Backend/TencentCOS/Strings.cs:35
msgid "Bucket, format: BucketName-APPID"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:42
msgid "Specifies COS location constraints"
#: Library/Backend/TencentCOS/Strings.cs:36
msgid "Bucket"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:43
#: Library/Backend/TencentCOS/Strings.cs:37
msgid ""
"Region (Region) is the distribution area of ​​the Tencent cloud hosting "
"machine room, the object storage COS data is stored in the storage buckets "
"of these regions. https://intl.cloud.tencent.com/document/product/436/6224"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:45
msgid "Storage class of the object"
#: Library/Backend/TencentCOS/Strings.cs:38
msgid "Specifies COS location constraints"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:46
#: Library/Backend/TencentCOS/Strings.cs:39
msgid ""
"Storage class of the object; check enumerated values at https://intl.cloud."
"tencent.com/document/product/436/30925"
msgstr ""
#: Library/Backend/TencentCOS/Strings.cs:40
msgid "Storage class of the object"
msgstr ""
#: Library/Backend/Jottacloud/Strings.cs:25
msgid "Jottacloud"
msgstr ""
@@ -1747,7 +1751,7 @@ msgid ""
msgstr ""
#: Library/Backend/Jottacloud/Strings.cs:37
msgid "Number of threads for restore operations."
msgid "Number of threads for restore operations"
msgstr ""
#: Library/Backend/Jottacloud/Strings.cs:38
@@ -1757,7 +1761,7 @@ msgid ""
msgstr ""
#: Library/Backend/Jottacloud/Strings.cs:39
msgid "The chunk size for simultaneous downloading."
msgid "The chunk size for simultaneous downloading"
msgstr ""
#: Library/Backend/Jottacloud/Strings.cs:40
@@ -1771,7 +1775,7 @@ msgid "mega.nz"
msgstr ""
#: Library/Backend/Mega/Strings.cs:29
msgid "The shared secret used to generate two-factor TOTP codes."
msgid "The shared secret used to generate two-factor TOTP codes"
msgstr ""
#: Library/Backend/Mega/Strings.cs:30
@@ -1881,7 +1885,7 @@ msgid ""
msgstr ""
#: Library/Backend/SharePoint/Strings.cs:38
msgid "Upload files using binary direct mode."
msgid "Upload files using binary direct mode"
msgstr ""
#: Library/Backend/SharePoint/Strings.cs:40
@@ -1891,7 +1895,7 @@ msgid ""
msgstr ""
#: Library/Backend/SharePoint/Strings.cs:41
msgid "Set timeout for SharePoint web operations."
msgid "Set timeout for SharePoint web operations"
msgstr ""
#: Library/Backend/SharePoint/Strings.cs:43
@@ -1901,7 +1905,7 @@ msgid ""
msgstr ""
#: Library/Backend/SharePoint/Strings.cs:44
msgid "Set block size for chunked uploads to SharePoint."
msgid "Set block size for chunked uploads to SharePoint"
msgstr ""
#: Library/Backend/SharePoint/Strings.cs:46
@@ -2656,13 +2660,13 @@ msgstr ""
#: Library/Main/Strings.cs:104
msgid ""
"This option will make sure the contents of the manifest file are not read. "
"Use this option to make sure the contents of the manifest file are not read. "
"This also implies that file hashes are not checked either. Use only for "
"disaster recovery."
msgstr ""
#: Library/Main/Strings.cs:105
msgid "An option that prevents verifying the manifests"
msgid "Disables manifests verification"
msgstr ""
#: Library/Main/Strings.cs:106
@@ -3594,7 +3598,7 @@ msgid ""
msgstr ""
#: Library/Main/Strings.cs:273
msgid "Allow automatic rebuilding of local database to save space."
msgid "Allow automatic rebuilding of local database to save space"
msgstr ""
#: Library/Main/Strings.cs:274
@@ -2497,6 +2497,10 @@ msgstr ""
msgid "Server state properties"
msgstr ""
#: templates/backends/sia.html:7
msgid "Set the target path. Example: /backup"
msgstr ""
#: index.html:220
#: templates/settings.html:2
msgid "Settings"
@@ -2697,10 +2701,6 @@ msgstr ""
msgid "TByte/s"
msgstr ""
#: templates/backends/sia.html:7
msgid "Target path, ie /backup"
msgstr ""
#: templates/waitarea.html:5
msgid "Task is running"
msgstr ""
@@ -2767,7 +2767,7 @@ msgstr ""
#: templates/backends/storj.html:34
#: templates/backends/tardigrade.html:34
msgid "The access grant instead of the info above"
msgid "The access grant"
msgstr ""
#: scripts/directives/notificationArea.js:43