diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md
index 0504eebce..dfabee3e5 100644
--- a/.github/ISSUE_TEMPLATE/bug.md
+++ b/.github/ISSUE_TEMPLATE/bug.md
@@ -23,7 +23,7 @@ Of course, we also expect you to search for existing similar issues first! ;) ht
* Operating system and version: [Windows/macOS/Linux + Version]
* Cryptomator version: [Shown in the settings]
-* Drive: [Dokany/FUSE/WebDAV]
+* Volume type: [Dokany/FUSE/WebDAV, shown in the settings]
### Steps to Reproduce
@@ -58,4 +58,4 @@ Log file location:
- macOS: ~/Library/Logs/Cryptomator
- Linux: ~/.local/share/Cryptomator/logs
--->
\ No newline at end of file
+-->
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 1c7121872..e8dfd8106 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -7,34 +7,26 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
+
+
+
-
+
+
+
+
-
-
-
-
-
-
+
diff --git a/main/buildkit/pom.xml b/main/buildkit/pom.xml
index 419f51a3d..0d1ee6078 100644
--- a/main/buildkit/pom.xml
+++ b/main/buildkit/pom.xml
@@ -4,7 +4,7 @@
org.cryptomator
main
- 1.5.6
+ 1.5.7
buildkit
pom
diff --git a/main/commons/pom.xml b/main/commons/pom.xml
index a27cee440..e1707b3d6 100644
--- a/main/commons/pom.xml
+++ b/main/commons/pom.xml
@@ -4,7 +4,7 @@
org.cryptomator
main
- 1.5.6
+ 1.5.7
commons
Cryptomator Commons
diff --git a/main/commons/src/main/java/org/cryptomator/common/settings/UiTheme.java b/main/commons/src/main/java/org/cryptomator/common/settings/UiTheme.java
index a8b66c65c..8df1e7f89 100644
--- a/main/commons/src/main/java/org/cryptomator/common/settings/UiTheme.java
+++ b/main/commons/src/main/java/org/cryptomator/common/settings/UiTheme.java
@@ -1,11 +1,21 @@
package org.cryptomator.common.settings;
-public enum UiTheme {
- LIGHT("preferences.general.theme.light"),
- DARK("preferences.general.theme.dark");
- // CUSTOM("Custom (%s)");
+import org.apache.commons.lang3.SystemUtils;
- private String displayName;
+public enum UiTheme {
+ LIGHT("preferences.general.theme.light"), //
+ DARK("preferences.general.theme.dark"), //
+ AUTOMATIC("preferences.general.theme.automatic");
+
+ public static UiTheme[] applicableValues() {
+ if (SystemUtils.IS_OS_MAC) {
+ return values();
+ } else {
+ return new UiTheme[]{LIGHT, DARK};
+ }
+ }
+
+ private final String displayName;
UiTheme(String displayName) {
this.displayName = displayName;
diff --git a/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java b/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java
index 1a1dfe140..13a0c8eed 100644
--- a/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java
+++ b/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettings.java
@@ -38,7 +38,7 @@ public class VaultSettings {
public static final int DEFAULT_FILENAME_LENGTH_LIMIT = -1;
public static final WhenUnlocked DEFAULT_ACTION_AFTER_UNLOCK = WhenUnlocked.ASK;
- private static final Random RNG = new Random();
+ private static final Random RNG = new Random();
private final String id;
private final ObjectProperty path = new SimpleObjectProperty();
@@ -63,12 +63,18 @@ public class VaultSettings {
return new Observable[]{path, mountName, winDriveLetter, unlockAfterStartup, revealAfterMount, useCustomMountPath, customMountPath, usesReadOnlyMode, mountFlags, filenameLengthLimit, actionAfterUnlock};
}
- private void deriveMountNameFromPathOrUseDefault(Path path) {
- if (StringUtils.isBlank(mountName.get())) {
- if (path != null && path.getFileName() != null) {
- mountName.set(normalizeMountName(path.getFileName().toString()));
- } else {
- mountName.set(DEFAULT_MOUNT_NAME);
+ private void deriveMountNameFromPathOrUseDefault(Path newPath) {
+ final boolean mountNameSet = !StringUtils.isBlank(mountName.get());
+ final boolean dirnameExists = (newPath != null) && (newPath.getFileName() != null);
+
+ if (!mountNameSet && dirnameExists) {
+ mountName.set(normalizeMountName(newPath.getFileName().toString()));
+ } else if (!mountNameSet && !dirnameExists) {
+ mountName.set(DEFAULT_MOUNT_NAME + id);
+ } else if (mountNameSet && dirnameExists) {
+ if (mountName.get().equals(DEFAULT_MOUNT_NAME + id)) {
+ //this is okay, since this function is only executed if the path changes (aka, the vault is created or added)
+ mountName.set(newPath.getFileName().toString());
}
}
}
@@ -151,7 +157,7 @@ public class VaultSettings {
public StringProperty mountFlags() {
return mountFlags;
}
-
+
public IntegerProperty filenameLengthLimit() {
return filenameLengthLimit;
}
diff --git a/main/keychain/pom.xml b/main/keychain/pom.xml
index 63525aaca..db66faf35 100644
--- a/main/keychain/pom.xml
+++ b/main/keychain/pom.xml
@@ -4,7 +4,7 @@
org.cryptomator
main
- 1.5.6
+ 1.5.7
keychain
System Keychain Access
diff --git a/main/launcher/pom.xml b/main/launcher/pom.xml
index 169518a3b..e1d8f1550 100644
--- a/main/launcher/pom.xml
+++ b/main/launcher/pom.xml
@@ -4,7 +4,7 @@
org.cryptomator
main
- 1.5.6
+ 1.5.7
launcher
Cryptomator Launcher
diff --git a/main/pom.xml b/main/pom.xml
index 18ffd0ab8..2395fc725 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -3,7 +3,7 @@
4.0.0
org.cryptomator
main
- 1.5.6
+ 1.5.7
pom
Cryptomator
@@ -25,14 +25,14 @@
1.9.12
- 2.2.2
+ 2.2.3
1.2.3
1.1.15
1.0.11
14
- 3.10
+ 3.11
1.0.0
3.10.3
1.0.3
@@ -168,7 +168,7 @@
secret-service
${secret-service.version}
-
+
com.auth0
diff --git a/main/ui/pom.xml b/main/ui/pom.xml
index d61a30b20..cf2750852 100644
--- a/main/ui/pom.xml
+++ b/main/ui/pom.xml
@@ -4,7 +4,7 @@
org.cryptomator
main
- 1.5.6
+ 1.5.7
ui
Cryptomator GUI
diff --git a/main/ui/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordController.java b/main/ui/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordController.java
index 7a641b1e7..2d9998fb1 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/changepassword/ChangePasswordController.java
@@ -53,9 +53,10 @@ public class ChangePasswordController implements FxController {
@FXML
public void initialize() {
- BooleanBinding hasNotConfirmedCheckbox = finalConfirmationCheckbox.selectedProperty().not();
- BooleanBinding isInvalidNewPassword = Bindings.createBooleanBinding(() -> newPassword.get() == null || newPassword.get().length() == 0, newPassword);
- finishButton.disableProperty().bind(hasNotConfirmedCheckbox.or(isInvalidNewPassword));
+ BooleanBinding checkboxNotConfirmed = finalConfirmationCheckbox.selectedProperty().not();
+ BooleanBinding oldPasswordFieldEmpty = oldPasswordField.textProperty().isEmpty();
+ BooleanBinding newPasswordInvalid = Bindings.createBooleanBinding(() -> newPassword.get() == null || newPassword.get().length() == 0, newPassword);
+ finishButton.disableProperty().bind(checkboxNotConfirmed.or(oldPasswordFieldEmpty).or(newPasswordInvalid));
}
@FXML
@@ -96,5 +97,5 @@ public class ChangePasswordController implements FxController {
public Vault getVault() {
return vault;
}
-
+
}
diff --git a/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java b/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java
index 2d0c424eb..24f3ac8db 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/common/NewPasswordController.java
@@ -26,6 +26,7 @@ public class NewPasswordController implements FxController {
public Label passwordStrengthLabel;
public Label passwordMatchLabel;
public FontAwesome5IconView checkmark;
+ public FontAwesome5IconView warning;
public FontAwesome5IconView cross;
public NewPasswordController(ResourceBundle resourceBundle, PasswordStrengthUtil strengthRater, ObjectProperty password) {
@@ -36,11 +37,13 @@ public class NewPasswordController implements FxController {
@FXML
public void initialize() {
+ passwordStrength.bind(Bindings.createIntegerBinding(() -> strengthRater.computeRate(passwordField.getCharacters()), passwordField.textProperty()));
+
+ passwordStrengthLabel.graphicProperty().bind(Bindings.createObjectBinding(this::getIconViewForPasswordStrengthLabel, passwordField.textProperty(), passwordStrength));
+ passwordStrengthLabel.textProperty().bind(EasyBind.map(passwordStrength, strengthRater::getStrengthDescription));
+
BooleanBinding passwordsMatch = Bindings.createBooleanBinding(this::hasSamePasswordInBothFields, passwordField.textProperty(), reenterField.textProperty());
BooleanBinding reenterFieldNotEmpty = reenterField.textProperty().isNotEmpty();
- passwordStrength.bind(Bindings.createIntegerBinding(() -> strengthRater.computeRate(passwordField.getCharacters()), passwordField.textProperty()));
- passwordStrengthLabel.textProperty().bind(EasyBind.map(passwordStrength, strengthRater::getStrengthDescription));
-
passwordMatchLabel.visibleProperty().bind(reenterFieldNotEmpty);
passwordMatchLabel.graphicProperty().bind(Bindings.when(passwordsMatch.and(reenterFieldNotEmpty)).then(checkmark).otherwise(cross));
passwordMatchLabel.textProperty().bind(Bindings.when(passwordsMatch.and(reenterFieldNotEmpty)).then(resourceBundle.getString("newPassword.passwordsMatch")).otherwise(resourceBundle.getString("newPassword.passwordsDoNotMatch")));
@@ -49,6 +52,18 @@ public class NewPasswordController implements FxController {
reenterField.textProperty().addListener(this::passwordsDidChange);
}
+ private FontAwesome5IconView getIconViewForPasswordStrengthLabel() {
+ if (passwordField.getCharacters().length() == 0) {
+ return null;
+ } else if (passwordStrength.intValue() <= -1) {
+ return cross;
+ } else if (passwordStrength.intValue() < 3) {
+ return warning;
+ } else {
+ return checkmark;
+ }
+ }
+
private void passwordsDidChange(@SuppressWarnings("unused") Observable observable) {
if (hasSamePasswordInBothFields() && strengthRater.fulfillsMinimumRequirements(passwordField.getCharacters())) {
password.set(passwordField.getCharacters());
diff --git a/main/ui/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java b/main/ui/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java
index 7423fb899..e3d3c30d9 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/controls/FontAwesome5Icon.java
@@ -11,6 +11,7 @@ public enum FontAwesome5Icon {
COGS("\uF085"), //
COPY("\uF0C5"), //
CROWN("\uF521"), //
+ EDIT("\uF044"), //
EXCLAMATION("\uF12A"), //
EXCLAMATION_CIRCLE("\uF06A"), //
EXCLAMATION_TRIANGLE("\uF071"), //
@@ -26,17 +27,19 @@ public enum FontAwesome5Icon {
INFO_CIRCLE("\uF05A"), //
KEY("\uF084"), //
LINK("\uF0C1"), //
- UNLINK("\uf127"),
LOCK("\uF023"), //
LOCK_OPEN("\uF3C1"), //
MAGIC("\uF0D0"), //
PLUS("\uF067"), //
PRINT("\uF02F"), //
QUESTION("\uF128"), //
+ REDO("\uF01E"), //
SEARCH("\uF002"), //
SPINNER("\uF110"), //
SYNC("\uF021"), //
TIMES("\uF00D"), //
+ TRASH("\uF1F8"), //
+ UNLINK("\uf127"), //
WRENCH("\uF0AD"), //
WINDOW_MINIMIZE("\uF2D1"), //
;
diff --git a/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplication.java b/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplication.java
index 3172b6288..4d80a3451 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplication.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/fxapp/FxApplication.java
@@ -6,7 +6,6 @@ import javafx.application.Platform;
import javafx.beans.binding.Bindings;
import javafx.beans.binding.BooleanBinding;
import javafx.beans.value.ObservableValue;
-import javafx.collections.FXCollections;
import javafx.collections.ObservableSet;
import javafx.stage.Stage;
import org.cryptomator.common.LicenseHolder;
@@ -46,6 +45,8 @@ public class FxApplication extends Application {
private final LicenseHolder licenseHolder;
private final BooleanBinding hasVisibleStages;
+ private Optional macApperanceObserverIdentifier = Optional.empty();
+
@Inject
FxApplication(Settings settings, Lazy mainWindow, Lazy preferencesWindow, Provider unlockWindowBuilderProvider, Provider quitWindowBuilderProvider, Optional macFunctions, VaultService vaultService, LicenseHolder licenseHolder, ObservableSet visibleStages) {
this.settings = settings;
@@ -115,21 +116,44 @@ public class FxApplication extends Application {
}
private void themeChanged(@SuppressWarnings("unused") ObservableValue extends UiTheme> observable, @SuppressWarnings("unused") UiTheme oldValue, UiTheme newValue) {
+ if (macApperanceObserverIdentifier.isPresent()) {
+ macFunctions.map(MacFunctions::uiAppearance).ifPresent(uiAppearance -> uiAppearance.removeListener(macApperanceObserverIdentifier.get()));
+ macApperanceObserverIdentifier = Optional.empty();
+ }
loadSelectedStyleSheet(newValue);
}
private void loadSelectedStyleSheet(UiTheme desiredTheme) {
UiTheme theme = licenseHolder.isValidLicense() ? desiredTheme : UiTheme.LIGHT;
switch (theme) {
- case DARK -> {
- Application.setUserAgentStylesheet(getClass().getResource("/css/dark_theme.css").toString());
- macFunctions.map(MacFunctions::uiAppearance).ifPresent(JniException.ignore(MacApplicationUiAppearance::setToDarkAqua));
- }
- case LIGHT -> {
- Application.setUserAgentStylesheet(getClass().getResource("/css/light_theme.css").toString());
- macFunctions.map(MacFunctions::uiAppearance).ifPresent(JniException.ignore(MacApplicationUiAppearance::setToAqua));
+ case LIGHT -> setToLightTheme();
+ case DARK -> setToDarkTheme();
+ case AUTOMATIC -> {
+ macFunctions.map(MacFunctions::uiAppearance).ifPresent(uiAppearance -> {
+ macApperanceObserverIdentifier = Optional.of(uiAppearance.addListener(this::macInterfaceThemeChanged));
+ });
+ macInterfaceThemeChanged();
}
}
}
+ private void macInterfaceThemeChanged() {
+ macFunctions.map(MacFunctions::uiAppearance).ifPresent(uiAppearance -> {
+ switch (uiAppearance.getCurrentInterfaceStyle()) {
+ case LIGHT -> setToLightTheme();
+ case DARK -> setToDarkTheme();
+ }
+ });
+ }
+
+ private void setToLightTheme() {
+ Application.setUserAgentStylesheet(getClass().getResource("/css/light_theme.css").toString());
+ macFunctions.map(MacFunctions::uiAppearance).ifPresent(JniException.ignore(MacApplicationUiAppearance::setToAqua));
+ }
+
+ private void setToDarkTheme() {
+ Application.setUserAgentStylesheet(getClass().getResource("/css/dark_theme.css").toString());
+ macFunctions.map(MacFunctions::uiAppearance).ifPresent(JniException.ignore(MacApplicationUiAppearance::setToDarkAqua));
+ }
+
}
diff --git a/main/ui/src/main/java/org/cryptomator/ui/launcher/FxApplicationStarter.java b/main/ui/src/main/java/org/cryptomator/ui/launcher/FxApplicationStarter.java
index 41419caa4..7bdd46ce2 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/launcher/FxApplicationStarter.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/launcher/FxApplicationStarter.java
@@ -11,6 +11,7 @@ import javax.inject.Singleton;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.ExecutorService;
+import java.util.concurrent.atomic.AtomicBoolean;
@Singleton
public class FxApplicationStarter {
@@ -19,17 +20,19 @@ public class FxApplicationStarter {
private final FxApplicationComponent.Builder fxAppComponent;
private final ExecutorService executor;
+ private final AtomicBoolean started;
private final CompletableFuture future;
@Inject
public FxApplicationStarter(FxApplicationComponent.Builder fxAppComponent, ExecutorService executor) {
this.fxAppComponent = fxAppComponent;
this.executor = executor;
+ this.started = new AtomicBoolean();
this.future = new CompletableFuture<>();
}
- public synchronized CompletionStage get(boolean hasTrayIcon) {
- if (!future.isDone()) {
+ public CompletionStage get(boolean hasTrayIcon) {
+ if (!started.getAndSet(true)) {
start(hasTrayIcon);
}
return future;
diff --git a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailMissingVaultController.java b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailMissingVaultController.java
index 8036cbb3c..095743490 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailMissingVaultController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailMissingVaultController.java
@@ -1,20 +1,55 @@
package org.cryptomator.ui.mainwindow;
import javafx.beans.property.ObjectProperty;
-import javafx.beans.property.ReadOnlyObjectProperty;
+import javafx.fxml.FXML;
+import javafx.stage.FileChooser;
+import javafx.stage.Stage;
import org.cryptomator.common.vaults.Vault;
+import org.cryptomator.common.vaults.VaultListManager;
import org.cryptomator.ui.common.FxController;
+import org.cryptomator.ui.removevault.RemoveVaultComponent;
import javax.inject.Inject;
+import java.io.File;
+import java.util.ResourceBundle;
@MainWindowScoped
public class VaultDetailMissingVaultController implements FxController {
- private final ReadOnlyObjectProperty vault;
+ private final ObjectProperty vault;
+ private final RemoveVaultComponent.Builder removeVault;
+ private final ResourceBundle resourceBundle;
+ private final Stage window;
+
@Inject
- public VaultDetailMissingVaultController(ObjectProperty vault) {
+ public VaultDetailMissingVaultController(ObjectProperty vault, RemoveVaultComponent.Builder removeVault, ResourceBundle resourceBundle, @MainWindow Stage window) {
this.vault = vault;
+ this.removeVault = removeVault;
+ this.resourceBundle = resourceBundle;
+ this.window = window;
}
+ @FXML
+ public void recheck() {
+ VaultListManager.redetermineVaultState(vault.get());
+ }
+
+ @FXML
+ void didClickRemoveVault() {
+ removeVault.vault(vault.get()).build().showRemoveVault();
+ }
+
+ @FXML
+ void changeLocation() {
+ // copied from ChooseExistingVaultController class
+ FileChooser fileChooser = new FileChooser();
+ fileChooser.setTitle(resourceBundle.getString("addvaultwizard.existing.filePickerTitle"));
+ fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Cryptomator Masterkey", "*.cryptomator"));
+ File masterkeyFile = fileChooser.showOpenDialog(window);
+ if (masterkeyFile != null) {
+ vault.get().getVaultSettings().path().setValue(masterkeyFile.toPath().toAbsolutePath().getParent());
+ recheck();
+ }
+ }
}
diff --git a/main/ui/src/main/java/org/cryptomator/ui/preferences/DonationKeyPreferencesController.java b/main/ui/src/main/java/org/cryptomator/ui/preferences/DonationKeyPreferencesController.java
index 476887b26..21a2d3d9a 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/preferences/DonationKeyPreferencesController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/preferences/DonationKeyPreferencesController.java
@@ -5,23 +5,27 @@ import javafx.beans.value.ObservableValue;
import javafx.fxml.FXML;
import javafx.scene.control.TextArea;
import org.cryptomator.common.LicenseHolder;
+import org.cryptomator.common.settings.Settings;
+import org.cryptomator.common.settings.UiTheme;
import org.cryptomator.ui.common.FxController;
import javax.inject.Inject;
@PreferencesScoped
public class DonationKeyPreferencesController implements FxController {
-
+
private static final String DONATION_URI = "https://store.cryptomator.org/desktop";
private final Application application;
private final LicenseHolder licenseHolder;
+ private final Settings settings;
public TextArea donationKeyField;
@Inject
- DonationKeyPreferencesController(Application application, LicenseHolder licenseHolder) {
+ DonationKeyPreferencesController(Application application, LicenseHolder licenseHolder, Settings settings) {
this.application = application;
this.licenseHolder = licenseHolder;
+ this.settings = settings;
}
@FXML
@@ -32,6 +36,9 @@ public class DonationKeyPreferencesController implements FxController {
private void registrationKeyChanged(@SuppressWarnings("unused") ObservableValue extends String> observable, @SuppressWarnings("unused") String oldValue, String newValue) {
licenseHolder.validateAndStoreLicense(newValue);
+ if (!licenseHolder.isValidLicense()) {
+ settings.theme().set(UiTheme.LIGHT);
+ }
}
@FXML
diff --git a/main/ui/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java b/main/ui/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
index 30f06b166..fdec00d62 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
@@ -1,5 +1,6 @@
package org.cryptomator.ui.preferences;
+import javafx.application.Application;
import javafx.application.Platform;
import javafx.beans.property.ObjectProperty;
import javafx.beans.value.ObservableValue;
@@ -12,11 +13,10 @@ import javafx.scene.control.RadioButton;
import javafx.scene.control.Toggle;
import javafx.scene.control.ToggleGroup;
import javafx.util.StringConverter;
-import javafx.application.Application;
+import org.cryptomator.common.Environment;
import org.cryptomator.common.LicenseHolder;
import org.cryptomator.common.settings.Settings;
import org.cryptomator.common.settings.UiTheme;
-import org.cryptomator.common.Environment;
import org.cryptomator.ui.common.FxController;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -64,7 +64,10 @@ public class GeneralPreferencesController implements FxController {
@FXML
public void initialize() {
- themeChoiceBox.getItems().addAll(UiTheme.values());
+ themeChoiceBox.getItems().addAll(UiTheme.applicableValues());
+ if (!themeChoiceBox.getItems().contains(settings.theme().get())) {
+ settings.theme().set(UiTheme.LIGHT);
+ }
themeChoiceBox.valueProperty().bindBidirectional(settings.theme());
themeChoiceBox.setConverter(new UiThemeConverter(resourceBundle));
@@ -122,7 +125,7 @@ public class GeneralPreferencesController implements FxController {
}
@FXML
- public void showLogfileDirectory(){
+ public void showLogfileDirectory() {
environment.getLogDir().ifPresent(logDirPath -> application.getHostServices().showDocument(logDirPath.toUri().toString()));
}
diff --git a/main/ui/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java b/main/ui/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java
index 9dd1bef82..5faf5b694 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/preferences/VolumePreferencesController.java
@@ -25,7 +25,7 @@ public class VolumePreferencesController implements FxController {
private final Settings settings;
private final BooleanBinding showWebDavSettings;
private final BooleanBinding showWebDavScheme;
- public ChoiceBox volumeTypeChoicBox;
+ public ChoiceBox volumeTypeChoiceBox;
public TextField webDavPortField;
public Button changeWebDavPortButton;
public ChoiceBox webDavUrlSchemeChoiceBox;
@@ -38,9 +38,12 @@ public class VolumePreferencesController implements FxController {
}
public void initialize() {
- volumeTypeChoicBox.getItems().addAll(Volume.getCurrentSupportedAdapters());
- volumeTypeChoicBox.valueProperty().bindBidirectional(settings.preferredVolumeImpl());
- volumeTypeChoicBox.setConverter(new VolumeImplConverter());
+ volumeTypeChoiceBox.getItems().addAll(Volume.getCurrentSupportedAdapters());
+ if (!volumeTypeChoiceBox.getItems().contains(settings.preferredVolumeImpl().get())) {
+ settings.preferredVolumeImpl().set(VolumeImpl.WEBDAV);
+ }
+ volumeTypeChoiceBox.valueProperty().bindBidirectional(settings.preferredVolumeImpl());
+ volumeTypeChoiceBox.setConverter(new VolumeImplConverter());
webDavPortField.setText(String.valueOf(settings.port().get()));
changeWebDavPortButton.visibleProperty().bind(settings.port().asString().isNotEqualTo(webDavPortField.textProperty()));
diff --git a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java
index 78c5cfe62..13183a36e 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java
@@ -47,7 +47,7 @@ public class TrayIconController {
trayMenuController.initTrayMenu();
}
- public void macInterfaceThemeChanged() {
+ private void macInterfaceThemeChanged() {
trayIcon.setImage(imageFactory.loadImage());
}
diff --git a/main/ui/src/main/resources/css/dark_theme.css b/main/ui/src/main/resources/css/dark_theme.css
index 6f8022beb..b6ab94b9b 100644
--- a/main/ui/src/main/resources/css/dark_theme.css
+++ b/main/ui/src/main/resources/css/dark_theme.css
@@ -143,6 +143,10 @@
-fx-fill: RED_5;
}
+.glyph-icon-orange {
+ -fx-fill: ORANGE_5;
+}
+
/*******************************************************************************
* *
* Main Window *
diff --git a/main/ui/src/main/resources/css/light_theme.css b/main/ui/src/main/resources/css/light_theme.css
index 42f93bfbf..b650b6e17 100644
--- a/main/ui/src/main/resources/css/light_theme.css
+++ b/main/ui/src/main/resources/css/light_theme.css
@@ -143,6 +143,10 @@
-fx-fill: RED_5;
}
+.glyph-icon-orange {
+ -fx-fill: ORANGE_5;
+}
+
/*******************************************************************************
* *
* Main Window *
diff --git a/main/ui/src/main/resources/fxml/new_password.fxml b/main/ui/src/main/resources/fxml/new_password.fxml
index b13da1245..7593a1ccd 100644
--- a/main/ui/src/main/resources/fxml/new_password.fxml
+++ b/main/ui/src/main/resources/fxml/new_password.fxml
@@ -13,18 +13,19 @@
alignment="CENTER_LEFT">
+
-
-
+
+
-
+
diff --git a/main/ui/src/main/resources/fxml/preferences_volume.fxml b/main/ui/src/main/resources/fxml/preferences_volume.fxml
index 43704e00f..1ac27fd85 100644
--- a/main/ui/src/main/resources/fxml/preferences_volume.fxml
+++ b/main/ui/src/main/resources/fxml/preferences_volume.fxml
@@ -17,7 +17,7 @@
-
+
diff --git a/main/ui/src/main/resources/fxml/vault_detail_missing.fxml b/main/ui/src/main/resources/fxml/vault_detail_missing.fxml
index cf3b66276..072ae0150 100644
--- a/main/ui/src/main/resources/fxml/vault_detail_missing.fxml
+++ b/main/ui/src/main/resources/fxml/vault_detail_missing.fxml
@@ -1,4 +1,5 @@
+
@@ -8,18 +9,36 @@
xmlns:fx="http://javafx.com/fxml"
fx:controller="org.cryptomator.ui.mainwindow.VaultDetailMissingVaultController"
alignment="TOP_CENTER"
- spacing="9">
+ spacing="24">
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/main/ui/src/main/resources/i18n/strings.properties b/main/ui/src/main/resources/i18n/strings.properties
index 416971ef2..0338dbf31 100644
--- a/main/ui/src/main/resources/i18n/strings.properties
+++ b/main/ui/src/main/resources/i18n/strings.properties
@@ -131,6 +131,7 @@ preferences.title=Preferences
## General
preferences.general=General
preferences.general.theme=Look & Feel
+preferences.general.theme.automatic=Automatic
preferences.general.theme.light=Light
preferences.general.theme.dark=Dark
preferences.general.unlockThemes=Unlock dark mode
@@ -170,7 +171,7 @@ main.dropZone.dropVault=Add this vault
main.dropZone.unknownDragboardContent=If you want to add a vault, drag it to this window
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Click here to add a vault
-main.vaultlist.contextMenu.remove=Remove Vault
+main.vaultlist.contextMenu.remove=Remove Vault…
main.vaultlist.addVaultBtn=Add Vault
## Vault Detail
### Welcome
@@ -193,6 +194,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator could not find a vault at this path.
+main.vaultDetail.missing.recheck=Recheck
+main.vaultDetail.missing.remove=Remove from Vault List…
+main.vaultDetail.missing.changeLocation=Change Vault Location…
### Needs Migration
main.vaultDetail.migrateButton=Upgrade Vault
main.vaultDetail.migratePrompt=Your vault needs to be upgraded to a new format, before you can access it
diff --git a/main/ui/src/main/resources/i18n/strings_ar.properties b/main/ui/src/main/resources/i18n/strings_ar.properties
index ef2935aea..959bee104 100644
--- a/main/ui/src/main/resources/i18n/strings_ar.properties
+++ b/main/ui/src/main/resources/i18n/strings_ar.properties
@@ -169,7 +169,6 @@ main.dropZone.dropVault=أضف هذا المخزن
main.dropZone.unknownDragboardContent=إذا كنت ترغب في إضافة مخزن، قم بسحبه إلى هذه النافذة
## Vault List
main.vaultlist.emptyList.onboardingInstruction=انقر هنا لإضافة خزنة
-main.vaultlist.contextMenu.remove=احذف الحافظة
main.vaultlist.addVaultBtn=أضِف مخزنًا
## Vault Detail
### Welcome
@@ -192,6 +191,8 @@ main.vaultDetail.throughput.kbps=%.1f كيلوبايت/ث
main.vaultDetail.throughput.mbps=%.1f ميجابايت/ث
### Missing
main.vaultDetail.missing.info=لم يتمكن Cryptomator من العثور على خزنة في هذا المسار.
+main.vaultDetail.missing.recheck=إعادة الفحص
+main.vaultDetail.missing.changeLocation=تغيير موقع الخزنة…
### Needs Migration
main.vaultDetail.migrateButton=ترقية الحافظة
main.vaultDetail.migratePrompt=يجب ترقية المخزن الخاص بك إلى تنسيق جديد، قبل أن تتمكن من الوصول إليه
diff --git a/main/ui/src/main/resources/i18n/strings_ca.properties b/main/ui/src/main/resources/i18n/strings_ca.properties
index 6846d5b5e..87a6fa52e 100644
--- a/main/ui/src/main/resources/i18n/strings_ca.properties
+++ b/main/ui/src/main/resources/i18n/strings_ca.properties
@@ -168,7 +168,6 @@ main.dropZone.dropVault=Afegeix aquesta caixa forta
main.dropZone.unknownDragboardContent=Si voleu afegir una caixa forta, arrossegueu-la a aquesta finestra
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Feu clic aquí per afegir una caixa forta
-main.vaultlist.contextMenu.remove=Elimina la caixa forta
main.vaultlist.addVaultBtn=Afegir una caixa forta
## Vault Detail
### Welcome
diff --git a/main/ui/src/main/resources/i18n/strings_cs.properties b/main/ui/src/main/resources/i18n/strings_cs.properties
index 66c0ecb5f..30c550120 100644
--- a/main/ui/src/main/resources/i18n/strings_cs.properties
+++ b/main/ui/src/main/resources/i18n/strings_cs.properties
@@ -130,6 +130,7 @@ preferences.title=Nastavení
## General
preferences.general=Obecné
preferences.general.theme=Vzhled
+preferences.general.theme.automatic=Automaticky
preferences.general.theme.light=Světlý
preferences.general.theme.dark=Tmavý
preferences.general.unlockThemes=Odemknout tmavý režim
@@ -169,7 +170,7 @@ main.dropZone.dropVault=Přidat tento trezor
main.dropZone.unknownDragboardContent=Pokud chcete přidat trezor, přetáhněte jej do tohoto okna
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klikněte zde pro přidání nového trezoru
-main.vaultlist.contextMenu.remove=Odstranit trezor
+main.vaultlist.contextMenu.remove=Odstranit trezor…
main.vaultlist.addVaultBtn=Přidat trezor
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator nemohl najít trezor na této cestě.
+main.vaultDetail.missing.recheck=Znovu zkontrolovat
+main.vaultDetail.missing.remove=Odebrat ze seznamu trezorů…
+main.vaultDetail.missing.changeLocation=Změnit umístění trezoru…
### Needs Migration
main.vaultDetail.migrateButton=Upgrade trezoru
main.vaultDetail.migratePrompt=Váš trezor musí být aktualizován na nový formát, než k němu budete mít přístup
diff --git a/main/ui/src/main/resources/i18n/strings_de.properties b/main/ui/src/main/resources/i18n/strings_de.properties
index e096aebfa..35b865072 100644
--- a/main/ui/src/main/resources/i18n/strings_de.properties
+++ b/main/ui/src/main/resources/i18n/strings_de.properties
@@ -130,6 +130,7 @@ preferences.title=Einstellungen
## General
preferences.general=Allgemein
preferences.general.theme=Erscheinungsbild
+preferences.general.theme.automatic=Automatisch
preferences.general.theme.light=Hell
preferences.general.theme.dark=Dunkel
preferences.general.unlockThemes=Dunklen Modus freischalten
@@ -169,7 +170,7 @@ main.dropZone.dropVault=Diesen Tresor hinzufügen
main.dropZone.unknownDragboardContent=Wenn Sie einen Tresor hinzufügen möchten, ziehen Sie ihn in dieses Fenster
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klicke hier, um einen Tresor hinzuzufügen
-main.vaultlist.contextMenu.remove=Tresor entfernen
+main.vaultlist.contextMenu.remove=Tresor entfernen…
main.vaultlist.addVaultBtn=Tresor hinzufügen
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Mit diesem Pfad konnte Cryptomator keinen Tresor finden.
+main.vaultDetail.missing.recheck=Erneut prüfen
+main.vaultDetail.missing.remove=Aus Tresorliste entfernen…
+main.vaultDetail.missing.changeLocation=Speicherort des Tresors ändern…
### Needs Migration
main.vaultDetail.migrateButton=Tresor aktualisieren
main.vaultDetail.migratePrompt=Dein Tresor muss auf ein neues Format aktualisiert werden, bevor du auf ihn zugreifen kannst
diff --git a/main/ui/src/main/resources/i18n/strings_el.properties b/main/ui/src/main/resources/i18n/strings_el.properties
index 9dd62095b..0dbee5286 100644
--- a/main/ui/src/main/resources/i18n/strings_el.properties
+++ b/main/ui/src/main/resources/i18n/strings_el.properties
@@ -39,7 +39,7 @@ addvaultwizard.new.locationInstruction=Που θα αποθηκεύσει το C
addvaultwizard.new.locationLabel=Θέση αποθήκευσης
addvaultwizard.new.locationPrompt=…
addvaultwizard.new.directoryPickerLabel=Προσαρμοσμένη τοποθεσία
-addvaultwizard.new.directoryPickerButton=Επιλογή
+addvaultwizard.new.directoryPickerButton=Επιλογή…
addvaultwizard.new.directoryPickerTitle=Επιλογή φακέλου
addvaultwizard.new.fileAlreadyExists=Το vault δεν μπορεί να δημιουργηθεί σε αυτό το μονοπάτι καθώς κάποια αντικείμενα υπάρχουν ήδη.
addvaultwizard.new.locationDoesNotExist=Το vault δεν μπορεί να δημιουργηθεί σε αυτό το μονοπάτι καθώς τουλάχιστον ένα στοιχείο του μονοπατιού δεν υπάρχει.
@@ -68,7 +68,7 @@ addvault.new.readme.accessLocation.3=Κάθε αρχείο που θα προσ
addvault.new.readme.accessLocation.4=Μπορείτε ελεύθερα να αφαιρέσετε το αρχείο.
## Existing
addvaultwizard.existing.instruction=Επιλέξτε το αρχείο "masterkey.cryptomator" του υπάρχοντος vault σας.
-addvaultwizard.existing.chooseBtn=Επιλογή
+addvaultwizard.existing.chooseBtn=Επιλογή…
addvaultwizard.existing.filePickerTitle=Επιλέξτε το αρχείο Masterkey
## Success
addvaultwizard.success.nextStepsInstructions=Προστέθηκε το vault "%s".\nΠρέπει να ξεκλειδώσετε αυτό το vault για να έχετε πρόσβαση ή να προσθέσετε περιεχόμενο. Εναλλακτικά μπορείτε να το ξεκλειδώσετε κάποια άλλη στιγμή.
@@ -130,6 +130,7 @@ preferences.title=Προτιμήσεις
## General
preferences.general=Γενικά
preferences.general.theme=Εμφάνιση
+preferences.general.theme.automatic=Αυτόματα
preferences.general.theme.light=Ανοιχτό
preferences.general.theme.dark=Σκούρο
preferences.general.unlockThemes=Ξεκλείδωσε το σκούρο θέμα
@@ -166,10 +167,10 @@ main.preferencesBtn.tooltip=Προτιμήσεις
main.donationKeyMissing.tooltip=Παρακαλώ σκεφτείτε τη δωρεά
## Drag 'n' Drop
main.dropZone.dropVault=Προσθήκη vault
-main.dropZone.unknownDragboardContent=Αν θέλετε να προσθέσετε ένα vault, σύρτε το σε αυτό το παράθυρο
+main.dropZone.unknownDragboardContent=Αν θέλετε να προσθέσετε ένα vault, σύρετε το σε αυτό το παράθυρο
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Κάντε κλικ εδώ για να προσθέσετε ένα vault
-main.vaultlist.contextMenu.remove=Διαγραφή Vault
+main.vaultlist.contextMenu.remove=Διαγραφή Vault…
main.vaultlist.addVaultBtn=Προσθήκη Vault
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator δεν βρήκε vault σε αυτόν τον κατάλογο.
+main.vaultDetail.missing.recheck=Επανέλεγχος
+main.vaultDetail.missing.remove=Κατάργηση από την λίστα των Vault…
+main.vaultDetail.missing.changeLocation=Αλλαγή τοποθεσίας Vault…
### Needs Migration
main.vaultDetail.migrateButton=Αναβάθμιση Vault
main.vaultDetail.migratePrompt=Το vault σας πρέπει να αναβαθμιστεί σε νέα μορφή, προτού να έχετε πρόσβαση σε αυτό
@@ -224,7 +228,7 @@ vaultOptions.mount.mountPoint=Σημείο προσάρτησης
vaultOptions.mount.mountPoint.auto=Επιλογή κατάλληλης τοποθεσίας αυτόματα
vaultOptions.mount.mountPoint.driveLetter=Χρήση επιλεγμένου γράμματος δίσκου
vaultOptions.mount.mountPoint.custom=Προσαρμοσμένη διαδρομή
-vaultOptions.mount.mountPoint.directoryPickerButton=Επιλογή
+vaultOptions.mount.mountPoint.directoryPickerButton=Επιλογή…
vaultOptions.mount.mountPoint.directoryPickerTitle=Επιλέξτε ένα άδειο φάκελο
## Master Key
vaultOptions.masterkey=Κωδικός πρόσβασης
diff --git a/main/ui/src/main/resources/i18n/strings_es.properties b/main/ui/src/main/resources/i18n/strings_es.properties
index 393c35882..58095b4e1 100644
--- a/main/ui/src/main/resources/i18n/strings_es.properties
+++ b/main/ui/src/main/resources/i18n/strings_es.properties
@@ -130,6 +130,7 @@ preferences.title=Preferencias
## General
preferences.general=General
preferences.general.theme=Apariencia
+preferences.general.theme.automatic=Automático
preferences.general.theme.light=Claro
preferences.general.theme.dark=Oscuro
preferences.general.unlockThemes=Desbloquear el modo oscuro
@@ -169,7 +170,7 @@ main.dropZone.dropVault=Añadir esta bóveda
main.dropZone.unknownDragboardContent=Si desea añadir una bóveda, arrástrela a esta ventana
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Hacer clic aquí para añadir una bóveda
-main.vaultlist.contextMenu.remove=Eliminar bóveda
+main.vaultlist.contextMenu.remove=Eliminar bóveda…
main.vaultlist.addVaultBtn=Añadir bóveda
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator no pudo encontrar una bóveda en esta ruta.
+main.vaultDetail.missing.recheck=Volver a comprobar
+main.vaultDetail.missing.remove=Eliminar de la lista de bóveda…
+main.vaultDetail.missing.changeLocation=Cambiar ubicación de la bóveda…
### Needs Migration
main.vaultDetail.migrateButton=Mejorar bóveda
main.vaultDetail.migratePrompt=Su bóveda necesita ser actualizada a un formato nuevo antes de poder acceder a ella
diff --git a/main/ui/src/main/resources/i18n/strings_fr.properties b/main/ui/src/main/resources/i18n/strings_fr.properties
index beb9ed55c..ddd560419 100644
--- a/main/ui/src/main/resources/i18n/strings_fr.properties
+++ b/main/ui/src/main/resources/i18n/strings_fr.properties
@@ -130,6 +130,7 @@ preferences.title=Préférences
## General
preferences.general=Général
preferences.general.theme=Apparence
+preferences.general.theme.automatic=Automatique
preferences.general.theme.light=Clair
preferences.general.theme.dark=Sombre
preferences.general.unlockThemes=Débloquer le mode nuit
@@ -169,7 +170,7 @@ main.dropZone.dropVault=Ajouter ce coffre
main.dropZone.unknownDragboardContent=Si vous voulez ajouter un coffre, faites-le glisser dans cette fenêtre
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Cliquez ici pour ajouter un coffre
-main.vaultlist.contextMenu.remove=Supprimer le coffre
+main.vaultlist.contextMenu.remove=Supprimer le coffre…
main.vaultlist.addVaultBtn=Ajouter un coffre
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1fkB/s
main.vaultDetail.throughput.mbps=%.1fMB/s
### Missing
main.vaultDetail.missing.info=Cryptomateur n'a pas pu trouver de coffre-fort dans ce chemin d'accès.
+main.vaultDetail.missing.recheck=Revérifier
+main.vaultDetail.missing.remove=Retirer de la liste des coffres…
+main.vaultDetail.missing.changeLocation=Changer l'Emplacement du Coffre…
### Needs Migration
main.vaultDetail.migrateButton=Mettre à jour le coffre
main.vaultDetail.migratePrompt=Votre coffre doit être converti dans un nouveau format avant d'y accéder
diff --git a/main/ui/src/main/resources/i18n/strings_it.properties b/main/ui/src/main/resources/i18n/strings_it.properties
index 09a9295c5..674171dc9 100644
--- a/main/ui/src/main/resources/i18n/strings_it.properties
+++ b/main/ui/src/main/resources/i18n/strings_it.properties
@@ -130,6 +130,7 @@ preferences.title=Impostazioni
## General
preferences.general=Generali
preferences.general.theme=Aspetto
+preferences.general.theme.automatic=Automatico
preferences.general.theme.light=Chiaro
preferences.general.theme.dark=Scuro
preferences.general.unlockThemes=Sblocca modalità scura
@@ -169,7 +170,7 @@ main.dropZone.dropVault=Aggiungi questa cassaforte
main.dropZone.unknownDragboardContent=Se vuoi aggiungere una cassaforte, trascinala in questa finestra
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Clicca qui per aggiungere una cassaforte
-main.vaultlist.contextMenu.remove=Rimuovi Cassaforte
+main.vaultlist.contextMenu.remove=Rimuovi Cassaforte…
main.vaultlist.addVaultBtn=Aggiungi Cassaforte
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator non ha potuto trovare una cassaforte in questo percorso.
+main.vaultDetail.missing.recheck=Ricontrollare
+main.vaultDetail.missing.remove=Rimuovi dalla Lista Cassaforte…
+main.vaultDetail.missing.changeLocation=Cambia posizione della Cassaforte…
### Needs Migration
main.vaultDetail.migrateButton=Aggiorna la cassaforte
main.vaultDetail.migratePrompt=Prima di potervi accedere la tua cassaforte deve essere aggiornata al nuovo formato
diff --git a/main/ui/src/main/resources/i18n/strings_ja.properties b/main/ui/src/main/resources/i18n/strings_ja.properties
index 2f7d28058..4c2e2985a 100644
--- a/main/ui/src/main/resources/i18n/strings_ja.properties
+++ b/main/ui/src/main/resources/i18n/strings_ja.properties
@@ -130,6 +130,7 @@ preferences.title=設定
## General
preferences.general=基本設定
preferences.general.theme=外見 & 操作性
+preferences.general.theme.automatic=自動
preferences.general.theme.light=ライト
preferences.general.theme.dark=ダーク
preferences.general.unlockThemes=ダークモードの解錠
@@ -169,7 +170,6 @@ main.dropZone.dropVault=この金庫を追加
main.dropZone.unknownDragboardContent=このウィンドウにドラッグして、金庫を追加
## Vault List
main.vaultlist.emptyList.onboardingInstruction=ここをクリックして金庫を追加
-main.vaultlist.contextMenu.remove=金庫を削除
main.vaultlist.addVaultBtn=金庫を追加
## Vault Detail
### Welcome
@@ -192,6 +192,8 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator はこのパスの金庫を見つけることができませんでした。
+main.vaultDetail.missing.recheck=再確認
+main.vaultDetail.missing.changeLocation=金庫の場所を変更...
### Needs Migration
main.vaultDetail.migrateButton=金庫をアップグレード
main.vaultDetail.migratePrompt=金庫にアクセスする前に、 金庫を新しい形式にアップグレードする必要があります
diff --git a/main/ui/src/main/resources/i18n/strings_ko.properties b/main/ui/src/main/resources/i18n/strings_ko.properties
index 8d2267136..55a733504 100644
--- a/main/ui/src/main/resources/i18n/strings_ko.properties
+++ b/main/ui/src/main/resources/i18n/strings_ko.properties
@@ -130,6 +130,7 @@ preferences.title=환경설정
## General
preferences.general=일반
preferences.general.theme=테마설정
+preferences.general.theme.automatic=자동
preferences.general.theme.light=밝게
preferences.general.theme.dark=어둡게
preferences.general.unlockThemes=다크모드 해제
@@ -169,7 +170,7 @@ main.dropZone.dropVault=이 Vault를 추가
main.dropZone.unknownDragboardContent=Vault를 추가하려면, 이 창에 드래그 하십시요.
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Vault를 추가하기 위해 이곳을 클릭합니다.
-main.vaultlist.contextMenu.remove=Vault 제거
+main.vaultlist.contextMenu.remove=Vault 제거...
main.vaultlist.addVaultBtn=Vault 추가
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator가 이 경로에 있는 Vault를 찾지 못했습니다.
+main.vaultDetail.missing.recheck=다시 시도
+main.vaultDetail.missing.remove=Vault 목록에서 제거...
+main.vaultDetail.missing.changeLocation=Vault 위치 변경
### Needs Migration
main.vaultDetail.migrateButton=Vault 업그레이드
main.vaultDetail.migratePrompt=Vault에 접근하기 전, 새로운 포멧으로 업그레이드가 필요합니다.
diff --git a/main/ui/src/main/resources/i18n/strings_lv.properties b/main/ui/src/main/resources/i18n/strings_lv.properties
index 131a5dbd8..8882ac5b7 100644
--- a/main/ui/src/main/resources/i18n/strings_lv.properties
+++ b/main/ui/src/main/resources/i18n/strings_lv.properties
@@ -162,7 +162,6 @@ main.dropZone.dropVault=Pievienot šo glabātuvi
main.dropZone.unknownDragboardContent=Ja jūs vēlaties pievienot glabātuvi, velciet to uz šo logu
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Spied šeit, lai pievienotu glabātuvi
-main.vaultlist.contextMenu.remove=Noņemt glabātuvi
main.vaultlist.addVaultBtn=Pievienot glabātuvi
## Vault Detail
### Welcome
diff --git a/main/ui/src/main/resources/i18n/strings_nb.properties b/main/ui/src/main/resources/i18n/strings_nb.properties
index 924af01e0..99ab81a8a 100644
--- a/main/ui/src/main/resources/i18n/strings_nb.properties
+++ b/main/ui/src/main/resources/i18n/strings_nb.properties
@@ -169,7 +169,6 @@ main.dropZone.dropVault=Legg til dette hvelvet
main.dropZone.unknownDragboardContent=Hvis du vil legge til et hvelv, kan du dra det til dette vinduet
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klikk her for å legge til et hvelv
-main.vaultlist.contextMenu.remove=Fjern hvelvet
main.vaultlist.addVaultBtn=Legg til hvelv
## Vault Detail
### Welcome
@@ -192,6 +191,7 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator kunne ikke finne et hvelv på denne søkestien.
+main.vaultDetail.missing.recheck=Kontroller igjen
### Needs Migration
main.vaultDetail.migrateButton=Oppgrader hvelv
main.vaultDetail.migratePrompt=Hvelvet ditt må oppgraderes til et nytt format før du kan få tilgang til det
diff --git a/main/ui/src/main/resources/i18n/strings_nl.properties b/main/ui/src/main/resources/i18n/strings_nl.properties
index c4405fc7c..7c54b5362 100644
--- a/main/ui/src/main/resources/i18n/strings_nl.properties
+++ b/main/ui/src/main/resources/i18n/strings_nl.properties
@@ -158,7 +158,6 @@ main.dropZone.dropVault=Voeg deze kluis toe
main.dropZone.unknownDragboardContent=Als u een kluis wilt toevoegen, sleep deze dan naar dit venster
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klik hier om een kluis toe te voegen
-main.vaultlist.contextMenu.remove=Verwijder Kluis
main.vaultlist.addVaultBtn=Kluis toevoegen
## Vault Detail
### Welcome
diff --git a/main/ui/src/main/resources/i18n/strings_nn.properties b/main/ui/src/main/resources/i18n/strings_nn.properties
index f9c88c993..e760ae3ab 100644
--- a/main/ui/src/main/resources/i18n/strings_nn.properties
+++ b/main/ui/src/main/resources/i18n/strings_nn.properties
@@ -169,7 +169,6 @@ main.dropZone.dropVault=Legg til denne kvelven
main.dropZone.unknownDragboardContent=Viss du vil legga til ein kvelv, kan du dra det til dette vindauget
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klikk her for å legga til ein kvelv
-main.vaultlist.contextMenu.remove=Fjern kvelv
main.vaultlist.addVaultBtn=Legg til kvelv
## Vault Detail
### Welcome
@@ -192,6 +191,7 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator kunne ikkje finna ein kvelv på denne søkastien.
+main.vaultDetail.missing.recheck=Kontroller igjen
### Needs Migration
main.vaultDetail.migrateButton=Oppgrader kvelv
main.vaultDetail.migratePrompt=Kvelven din må oppgraderast til eit nytt format før du kan få tilgang til det
diff --git a/main/ui/src/main/resources/i18n/strings_pl.properties b/main/ui/src/main/resources/i18n/strings_pl.properties
index d011f4db8..9ae689c66 100644
--- a/main/ui/src/main/resources/i18n/strings_pl.properties
+++ b/main/ui/src/main/resources/i18n/strings_pl.properties
@@ -111,7 +111,7 @@ migration.run.enterPassword=Wprowadź hasło dla "%s"
migration.run.startMigrationBtn=Aktualizuj sejf
migration.run.progressHint=To może chwilę potrwać…
## Sucess
-migration.success.nextStepsInstructions=Aktualizacja "%s" zakończona pomyślnie. Możesz już odblokować swój sejf.
+migration.success.nextStepsInstructions=Aktualizacja "%s" zakończona pomyślnie.\nMożesz już odblokować swój sejf.
migration.success.unlockNow=Odblokuj teraz
## Missing file system capabilities
migration.error.missingFileSystemCapabilities.title=Nieobsługiwany system plików
@@ -130,6 +130,7 @@ preferences.title=Ustawienia
## General
preferences.general=Ogólne
preferences.general.theme=Interfejs
+preferences.general.theme.automatic=Automatycznie
preferences.general.theme.light=Jasny
preferences.general.theme.dark=Ciemny
preferences.general.unlockThemes=Odblokuj tryb ciemny
@@ -169,7 +170,7 @@ main.dropZone.dropVault=Dodaj ten sejf
main.dropZone.unknownDragboardContent=Jeśli chcesz dodać sejf, przeciągnij go do tego okna
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Kliknij tutaj, aby dodać sejf
-main.vaultlist.contextMenu.remove=Usuń sejf
+main.vaultlist.contextMenu.remove=Usuń sejf…
main.vaultlist.addVaultBtn=Dodaj sejf
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator nie mógł znaleźć sejfu w tej lokalizacji.
+main.vaultDetail.missing.recheck=Ponów próbę
+main.vaultDetail.missing.remove=Usuń z listy sejfów…
+main.vaultDetail.missing.changeLocation=Zmień lokalizację sejfu…
### Needs Migration
main.vaultDetail.migrateButton=Aktualizuj sejf
main.vaultDetail.migratePrompt=Twój sejf musi zostać zaktualizowany do nowego formatu, zanim będziesz mógł go używać
diff --git a/main/ui/src/main/resources/i18n/strings_pt.properties b/main/ui/src/main/resources/i18n/strings_pt.properties
index 5fae79003..d3c42e9a9 100644
--- a/main/ui/src/main/resources/i18n/strings_pt.properties
+++ b/main/ui/src/main/resources/i18n/strings_pt.properties
@@ -69,6 +69,7 @@ addvaultwizard.success.nextStepsInstructions=Adicionado cofre "%s".\nPrecisa de
addvaultwizard.success.unlockNow=Destrancar agora
# Remove Vault
+removeVault.title=Remover Cofre
removeVault.confirmBtn=Remover Cofre
# Change Password
diff --git a/main/ui/src/main/resources/i18n/strings_pt_BR.properties b/main/ui/src/main/resources/i18n/strings_pt_BR.properties
index 5b97e108a..56daf33fe 100644
--- a/main/ui/src/main/resources/i18n/strings_pt_BR.properties
+++ b/main/ui/src/main/resources/i18n/strings_pt_BR.properties
@@ -129,6 +129,7 @@ preferences.title=Preferências
## General
preferences.general=Geral
preferences.general.theme=Aparência
+preferences.general.theme.automatic=Automático
preferences.general.theme.light=Claro
preferences.general.theme.dark=Escuro
preferences.general.unlockThemes=Desbloquear o modo escuro
@@ -168,7 +169,7 @@ main.dropZone.dropVault=Adicionar este cofre
main.dropZone.unknownDragboardContent=Se você quer adicionar um cofre, arraste-o para esta janela
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Clique aqui para adicionar um cofre
-main.vaultlist.contextMenu.remove=Remover Cofre
+main.vaultlist.contextMenu.remove=Remover Cofre…
main.vaultlist.addVaultBtn=Adicionar Cofre
## Vault Detail
### Welcome
@@ -189,6 +190,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=O Cryptomator não conseguiu encontrar um cofre neste caminho.
+main.vaultDetail.missing.recheck=Verificar novamente
+main.vaultDetail.missing.remove=Remover da lista de Cofres…
+main.vaultDetail.missing.changeLocation=Alterar Localização do Cofre…
### Needs Migration
main.vaultDetail.migrateButton=Atualizar Cofre
main.vaultDetail.migratePrompt=Seu cofre precisa ser atualizado para um novo formato antes de poder acessá-lo
diff --git a/main/ui/src/main/resources/i18n/strings_ru.properties b/main/ui/src/main/resources/i18n/strings_ru.properties
index 1d4c33b8f..842b33429 100644
--- a/main/ui/src/main/resources/i18n/strings_ru.properties
+++ b/main/ui/src/main/resources/i18n/strings_ru.properties
@@ -7,7 +7,7 @@ generic.button.back=Назад
generic.button.cancel=Отмена
generic.button.change=Изменить
generic.button.close=Закрыть
-generic.button.copy=Скопировать
+generic.button.copy=Копировать
generic.button.copied=Скопировано!
generic.button.done=Готово
generic.button.next=Далее
@@ -130,9 +130,10 @@ preferences.title=Настройки
## General
preferences.general=Общие
preferences.general.theme=Внешний вид
+preferences.general.theme.automatic=Автоматически
preferences.general.theme.light=Светлая
preferences.general.theme.dark=Тёмная
-preferences.general.unlockThemes=Разблокировать темный режим
+preferences.general.unlockThemes=Разблокировать тёмный режим
preferences.general.startHidden=Скрывать окно при запуске Cryptomator
preferences.general.debugLogging=Вести журнал отладки
preferences.general.debugDirectory=Показать файлы журнала
@@ -169,11 +170,11 @@ main.dropZone.dropVault=Добавить это хранилище
main.dropZone.unknownDragboardContent=Если вы хотите добавить хранилище, перетащите его в это окно
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Нажмите здесь, чтобы добавить хранилище
-main.vaultlist.contextMenu.remove=Удалить хранилище
+main.vaultlist.contextMenu.remove=Удалить хранилище…
main.vaultlist.addVaultBtn=Добавить хранилище
## Vault Detail
### Welcome
-main.vaultDetail.welcomeOnboarding=Спасибо, что выбрали Cryptomator для защиты ваших файлов. Если вам нужна помощь, ознакомьтесь с нашими руководствами по началу работы:
+main.vaultDetail.welcomeOnboarding=Благодарим за выбор Cryptomator для защиты ваших файлов. Если требуется помощь, ознакомьтесь с документацией по началу работы:
### Locked
main.vaultDetail.lockedStatus=ЗАБЛОКИРОВАНО
main.vaultDetail.unlockBtn=Разблокировка…
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f КиБ/с
main.vaultDetail.throughput.mbps=%.1f МиБ/с
### Missing
main.vaultDetail.missing.info=Cryptomator не смог найти хранилище по этому пути.
+main.vaultDetail.missing.recheck=Перепроверить
+main.vaultDetail.missing.remove=Удалить из списка хранилищ…
+main.vaultDetail.missing.changeLocation=Изменить расположение хранилища…
### Needs Migration
main.vaultDetail.migrateButton=Обновить хранилище
main.vaultDetail.migratePrompt=Чтобы получить доступ к хранилищу, его нужно преобразовать в новый формат
diff --git a/main/ui/src/main/resources/i18n/strings_sk.properties b/main/ui/src/main/resources/i18n/strings_sk.properties
index 5e4834175..3c0b6fc93 100644
--- a/main/ui/src/main/resources/i18n/strings_sk.properties
+++ b/main/ui/src/main/resources/i18n/strings_sk.properties
@@ -108,6 +108,7 @@ migration.success.unlockNow=Odomknúť teraz
# Preferences
preferences.title=Predvoľby
## General
+preferences.general.theme.automatic=Automaticky
## Volume
## Updates
## Donation Key
@@ -118,7 +119,7 @@ main.closeBtn.tooltip=Zavrieť
main.preferencesBtn.tooltip=Predvoľby
## Drag 'n' Drop
## Vault List
-main.vaultlist.contextMenu.remove=Odstrániť trezor
+main.vaultlist.contextMenu.remove=Odstrániť peňaženku…
main.vaultlist.addVaultBtn=Pridať trezor
## Vault Detail
### Welcome
@@ -129,6 +130,8 @@ main.vaultDetail.passwordSavedInKeychain=Heslo uložené
### Unlocked
main.vaultDetail.lockBtn=Uzamknúť
### Missing
+main.vaultDetail.missing.recheck=Prekontrolovať
+main.vaultDetail.missing.remove=Odstrániť zo zoznamu peňaženky…
### Needs Migration
# Wrong File Alert
diff --git a/main/ui/src/main/resources/i18n/strings_sv.properties b/main/ui/src/main/resources/i18n/strings_sv.properties
index f71a0b1de..75a63ee88 100644
--- a/main/ui/src/main/resources/i18n/strings_sv.properties
+++ b/main/ui/src/main/resources/i18n/strings_sv.properties
@@ -42,6 +42,7 @@ addvaultwizard.new.directoryPickerLabel=Anpassad plats
addvaultwizard.new.directoryPickerButton=Välj…
addvaultwizard.new.directoryPickerTitle=Välj katalog
addvaultwizard.new.fileAlreadyExists=Valvet kan inte skapas på denna plats då vissa filer redan existerar.
+addvaultwizard.new.locationDoesNotExist=Valvet kan inte skapas på den här platsen då åtminstone en komponent inte finns.
addvaultwizard.new.invalidName=Felaktigt namn på valvet. Vänligen ange ett vanligt katalognamn.
### Password
addvaultwizard.new.createVaultBtn=Skapa Valv
@@ -168,7 +169,6 @@ main.dropZone.dropVault=Lägg till detta valv
main.dropZone.unknownDragboardContent=Om du vill lägga till ett valv, dra in det till detta fönster
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klicka här för att lägga till valv
-main.vaultlist.contextMenu.remove=Ta bort valv
main.vaultlist.addVaultBtn=Lägg till valv
## Vault Detail
### Welcome
@@ -191,6 +191,8 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator kunde inte hitta ett valv i denna sökväg.
+main.vaultDetail.missing.recheck=Kontrollera igen
+main.vaultDetail.missing.changeLocation=Ändra valvets plats…
### Needs Migration
main.vaultDetail.migrateButton=Uppgradera valv
main.vaultDetail.migratePrompt=Ditt valv behöver uppgraderas till ett nytt format innan du kan använda det
diff --git a/main/ui/src/main/resources/i18n/strings_tr.properties b/main/ui/src/main/resources/i18n/strings_tr.properties
index b0df399f3..2abb261eb 100644
--- a/main/ui/src/main/resources/i18n/strings_tr.properties
+++ b/main/ui/src/main/resources/i18n/strings_tr.properties
@@ -130,6 +130,7 @@ preferences.title=Seçenekler
## General
preferences.general=Genel
preferences.general.theme=Görünüş ve Davranış
+preferences.general.theme.automatic=Otomatik
preferences.general.theme.light=Açık
preferences.general.theme.dark=Koyu
preferences.general.unlockThemes=Koyu modun kilidini aç
@@ -169,7 +170,7 @@ main.dropZone.dropVault=Bu kasayı ekle
main.dropZone.unknownDragboardContent=Bir kasa eklemek istiyorsanız, onu bu pencereye sürükleyin
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Kasa eklemek için buraya tıklayın
-main.vaultlist.contextMenu.remove=Kasayı Sil
+main.vaultlist.contextMenu.remove=Kasayı Sil…
main.vaultlist.addVaultBtn=Kasa Ekle
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Şifreleyici bu dosya yolunda bir kasa bulamadı.
+main.vaultDetail.missing.recheck=Yeniden denetle
+main.vaultDetail.missing.remove=Kasa Listesinden Sil…
+main.vaultDetail.missing.changeLocation=Kasa Yerini Değiştir…
### Needs Migration
main.vaultDetail.migrateButton=Kasayı Güncelle
main.vaultDetail.migratePrompt=Kasaya erişmeden önce kasanızın yeni bir formata yükseltilmesi gerekiyor
diff --git a/main/ui/src/main/resources/i18n/strings_zh.properties b/main/ui/src/main/resources/i18n/strings_zh.properties
index 927499897..90fe3c4ba 100644
--- a/main/ui/src/main/resources/i18n/strings_zh.properties
+++ b/main/ui/src/main/resources/i18n/strings_zh.properties
@@ -130,13 +130,14 @@ preferences.title=首选项
## General
preferences.general=常规
preferences.general.theme=界面外观
+preferences.general.theme.automatic=自动
preferences.general.theme.light=亮色
preferences.general.theme.dark=暗色
preferences.general.unlockThemes=解锁暗黑模式
preferences.general.startHidden=最小化启动 Cryptomator 到系统托盘
preferences.general.debugLogging=启用调试日志
preferences.general.debugDirectory=显示日志文件
-preferences.general.autoStart=开机运行 Cryptomator
+preferences.general.autoStart=开机自动启动
preferences.general.interfaceOrientation=界面方向
preferences.general.interfaceOrientation.ltr=从左到右
preferences.general.interfaceOrientation.rtl=从右到左
@@ -169,7 +170,6 @@ main.dropZone.dropVault=添加此保险库
main.dropZone.unknownDragboardContent=如果您想要添加一个保险库,将其拖动到此窗口
## Vault List
main.vaultlist.emptyList.onboardingInstruction=点击此处添加一个保险库
-main.vaultlist.contextMenu.remove=删除保险库
main.vaultlist.addVaultBtn=添加保险库
## Vault Detail
### Welcome
@@ -192,6 +192,8 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator在此路径找不到保险库
+main.vaultDetail.missing.recheck=重新检查
+main.vaultDetail.missing.changeLocation=更改保险库位置…
### Needs Migration
main.vaultDetail.migrateButton=升级保险库
main.vaultDetail.migratePrompt=您的保险库需要升级到新格式,然后才能访问
diff --git a/main/ui/src/main/resources/i18n/strings_zh_TW.properties b/main/ui/src/main/resources/i18n/strings_zh_TW.properties
index acd195148..de0bf6e3d 100644
--- a/main/ui/src/main/resources/i18n/strings_zh_TW.properties
+++ b/main/ui/src/main/resources/i18n/strings_zh_TW.properties
@@ -60,7 +60,7 @@ addvault.new.readme.storageLocation.6=如果您想加密檔案並檢視加密檔
addvault.new.readme.storageLocation.7=1. 把這個加密檔案庫加進 Cryptomator。
addvault.new.readme.storageLocation.8=2. 在 Cryptomator 中解鎖加密檔案庫。
addvault.new.readme.storageLocation.9=3. 按「顯示」按鈕存取資料。
-addvault.new.readme.storageLocation.10=如果您需邀幫助,請參照這份文件:%s
+addvault.new.readme.storageLocation.10=如果您需要幫助,請參閱這份文件:%s
addvault.new.readme.accessLocation.fileName=歡迎.rtf
addvault.new.readme.accessLocation.1=🔐️ 加密磁區 🔐️
addvault.new.readme.accessLocation.2=這是您加密檔案庫的存取位置。
@@ -130,6 +130,7 @@ preferences.title=偏好
## General
preferences.general=一般
preferences.general.theme=外觀
+preferences.general.theme.automatic=自動
preferences.general.theme.light=亮色
preferences.general.theme.dark=暗色
preferences.general.unlockThemes=解鎖暗色模式
@@ -169,7 +170,7 @@ main.dropZone.dropVault=加入這個加密檔案庫
main.dropZone.unknownDragboardContent=如果您想加入一個加密檔案庫,請將他拖到這個視窗裡
## Vault List
main.vaultlist.emptyList.onboardingInstruction=點擊此處以加入加密檔案庫
-main.vaultlist.contextMenu.remove=移除加密檔案庫
+main.vaultlist.contextMenu.remove=移除加密檔案庫…
main.vaultlist.addVaultBtn=新增加密檔案庫
## Vault Detail
### Welcome
@@ -192,6 +193,9 @@ main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
### Missing
main.vaultDetail.missing.info=Cryptomator 無法在指定位置找到加密檔案庫。
+main.vaultDetail.missing.recheck=重新檢查
+main.vaultDetail.missing.remove=從加密檔案庫列表中移除…
+main.vaultDetail.missing.changeLocation=更改加密檔案庫位置…
### Needs Migration
main.vaultDetail.migrateButton=升級加密檔案庫
main.vaultDetail.migratePrompt=您必須先更新加密檔案庫才能存取內容
diff --git a/main/ui/src/main/resources/license/THIRD-PARTY.txt b/main/ui/src/main/resources/license/THIRD-PARTY.txt
index 778a08e2d..a988029e9 100644
--- a/main/ui/src/main/resources/license/THIRD-PARTY.txt
+++ b/main/ui/src/main/resources/license/THIRD-PARTY.txt
@@ -22,10 +22,10 @@ Cryptomator uses 52 third-party dependencies under the following licenses:
- jnr-unixsocket (com.github.jnr:jnr-unixsocket:0.23 - http://github.com/jnr/jnr-unixsocket)
- FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.2 - http://findbugs.sourceforge.net/)
- Gson (com.google.code.gson:gson:2.8.6 - https://github.com/google/gson/gson)
- - Dagger (com.google.dagger:dagger:2.27 - https://github.com/google/dagger)
+ - Dagger (com.google.dagger:dagger:2.22 - https://github.com/google/dagger)
- error-prone annotations (com.google.errorprone:error_prone_annotations:2.3.4 - http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotations)
- Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - https://github.com/google/guava/failureaccess)
- - Guava: Google Core Libraries for Java (com.google.guava:guava:28.2-jre - https://github.com/google/guava/guava)
+ - Guava: Google Core Libraries for Java (com.google.guava:guava:29.0-jre - https://github.com/google/guava/guava)
- Guava ListenableFuture only (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - https://github.com/google/guava/listenablefuture)
- J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - https://github.com/google/j2objc/)
- Apache Commons CLI (commons-cli:commons-cli:1.4 - http://commons.apache.org/proper/commons-cli/)
@@ -33,7 +33,7 @@ Cryptomator uses 52 third-party dependencies under the following licenses:
- javax.inject (javax.inject:javax.inject:1 - http://code.google.com/p/atinject/)
- Java Native Access (net.java.dev.jna:jna:5.1.0 - https://github.com/java-native-access/jna)
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.1.0 - https://github.com/java-native-access/jna)
- - Apache Commons Lang (org.apache.commons:commons-lang3:3.9 - http://commons.apache.org/proper/commons-lang/)
+ - Apache Commons Lang (org.apache.commons:commons-lang3:3.10 - https://commons.apache.org/proper/commons-lang/)
- Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.13 - http://hc.apache.org/httpcomponents-core-ga)
- Jackrabbit WebDAV Library (org.apache.jackrabbit:jackrabbit-webdav:2.21.0 - http://jackrabbit.apache.org/jackrabbit-webdav/)
- Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.28.v20200408 - http://www.eclipse.org/jetty)
@@ -75,13 +75,13 @@ Cryptomator uses 52 third-party dependencies under the following licenses:
- Java Native Access (net.java.dev.jna:jna:5.1.0 - https://github.com/java-native-access/jna)
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.1.0 - https://github.com/java-native-access/jna)
MIT License:
- - java jwt (com.auth0:java-jwt:3.10.2 - https://github.com/auth0/java-jwt)
+ - java jwt (com.auth0:java-jwt:3.10.3 - https://github.com/auth0/java-jwt)
- java-utils (com.github.hypfvieh:java-utils:1.0.6 - https://github.com/hypfvieh/java-utils)
- jnr-x86asm (com.github.jnr:jnr-x86asm:1.0.2 - http://github.com/jnr/jnr-x86asm)
- jnr-fuse (com.github.serceman:jnr-fuse:0.5.4 - no url defined)
- zxcvbn4j (com.nulab-inc:zxcvbn:1.3.0 - https://github.com/nulab/zxcvbn4j)
- secret-service (de.swiesend:secret-service:1.0.0 - https://github.com/swiesend/secret-service)
- - Checker Qual (org.checkerframework:checker-qual:2.10.0 - https://checkerframework.org)
+ - Checker Qual (org.checkerframework:checker-qual:2.11.1 - https://checkerframework.org)
- SLF4J API Module (org.slf4j:slf4j-api:1.7.30 - http://www.slf4j.org)
The BSD 2-Clause License:
- EasyBind (org.fxmisc.easybind:easybind:1.0.3 - http://www.fxmisc.org/easybind/)