diff --git a/.gitignore b/.gitignore
index 7051b0cd0..52f9a6ccd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,15 +9,13 @@
.settings
.project
.classpath
+
+# Maven #
target/
-test-output/
-# IntelliJ Settings Files #
-.idea/
-out/
-.idea_modules/
-*.iws
-*.iml
-
-# Temporary file created by test launcher
-main/launcher/.ipcPort.tmp
+# IntelliJ Settings Files (https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems) #
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/dictionaries
+.idea/**/libraries/
+*.iml
\ No newline at end of file
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 000000000..f9944b4aa
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+Cryptomator
\ No newline at end of file
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 000000000..d6cb2c866
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 000000000..79ee123c2
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 000000000..69fb739cd
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 000000000..74a53dde5
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 000000000..fd8e48573
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 000000000..94a25f7f4
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index c26e4cea0..00a1351d5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,7 +7,7 @@ cache:
- $HOME/.m2
env:
global:
- - secure: "lV9OwUbHMrMpLUH1CY+Z4puLDdFXytudyPlG1eGRsesdpuG6KM3uQVz6uAtf6lrU8DRbMM/T7ML+PmvQ4UoPPYLdLxESLLBat2qUPOIVBOhTSlCc7I0DmGy04CSvkeMy8dPaQC0ukgNiR7zwoNzfcpGRN/U9S8tziDruuHoZSrg=" # BINTRAY_API_KEY
+ - secure: "HftEaabMmWn5GwKFKksUkOcelc3Mn7xazwAEy+4d4gL1+F8VhID/6DCK7nas+afUymWnxTano8Rv4Ci5MWryNkNkTH+FUPWmF3xWezc3hajSyS7RB92IZ8VPetl4Fo8UI1WwM5apDEaugalPxkIf8a7N+lpG5X/Gpumwzo3Be3w=" # BINTRAY_API_KEY
- secure: "oWFgRTVP6lyTa7qVxlvkpm20MtVc3BtmsNXQJS6bfg2A0o/iCQMNx7OD59BaafCLGRKvCcJVESiC8FlSylVMS7CDSyYu0gg70NUiIuHp4NBM5inFWYCy/PdQsCTzr5uvNG+rMFQpMFRaCV0FrfM3tLondcVkhsHL68l93Xoexx4=" # CODACY_PROJECT_TOKEN
- secure: "zJxgytA2Ks5Xzv+7kUaUq+EBFNQw9Qec63lcMJVuXVWczjL16nKW1EzzV515ag+OWL46z3lEPForDhufw0VtFnNmaX68jkO0mp01eLrHApc1llN2Y/U8GBXfNNazN4+Kom4H+z/AO+wJr8EsKMMUczCdQ3APgd9uVI0hzXw/Z3M=" # GITHUB_API_KEY
addons:
diff --git a/main/ant-kit/pom.xml b/main/ant-kit/pom.xml
index ff8dcb7fb..4618b28c1 100644
--- a/main/ant-kit/pom.xml
+++ b/main/ant-kit/pom.xml
@@ -4,7 +4,7 @@
org.cryptomatormain
- 1.4.0-rc1
+ 1.4.1ant-kitpom
diff --git a/main/commons/pom.xml b/main/commons/pom.xml
index c440b7c1f..b5186a3ae 100644
--- a/main/commons/pom.xml
+++ b/main/commons/pom.xml
@@ -4,7 +4,7 @@
org.cryptomatormain
- 1.4.0-rc1
+ 1.4.1commonsCryptomator Commons
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 1f8510d99..5b33a9765 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
@@ -5,16 +5,6 @@
*******************************************************************************/
package org.cryptomator.common.settings;
-import java.nio.ByteBuffer;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Path;
-import java.util.Base64;
-import java.util.Objects;
-import java.util.UUID;
-
-import org.apache.commons.lang3.StringUtils;
-import org.fxmisc.easybind.EasyBind;
-
import javafx.beans.Observable;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.ObjectProperty;
@@ -22,7 +12,20 @@ import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
+import org.apache.commons.lang3.StringUtils;
+import org.fxmisc.easybind.EasyBind;
+import java.nio.ByteBuffer;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Path;
+import java.util.Base64;
+import java.util.Objects;
+import java.util.UUID;
+
+/**
+ * The settings specific to a single vault.
+ * TODO: Change the name of individualMountPath and its derivatives to customMountPath
+ */
public class VaultSettings {
public static final boolean DEFAULT_UNLOCK_AFTER_STARTUP = false;
diff --git a/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettingsJsonAdapter.java b/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettingsJsonAdapter.java
index 5fb30ef88..866b78bc9 100644
--- a/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettingsJsonAdapter.java
+++ b/main/commons/src/main/java/org/cryptomator/common/settings/VaultSettingsJsonAdapter.java
@@ -5,14 +5,13 @@
*******************************************************************************/
package org.cryptomator.common.settings;
-import java.io.IOException;
-import java.nio.file.Paths;
-
+import com.google.gson.stream.JsonReader;
+import com.google.gson.stream.JsonWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
+import java.io.IOException;
+import java.nio.file.Paths;
class VaultSettingsJsonAdapter {
@@ -27,8 +26,7 @@ class VaultSettingsJsonAdapter {
out.name("unlockAfterStartup").value(value.unlockAfterStartup().get());
out.name("revealAfterMount").value(value.revealAfterMount().get());
out.name("usesIndividualMountPath").value(value.usesIndividualMountPath().get());
- //TODO: should this always be written? ( because it could contain metadata, which the user does not want to save!)
- out.name("individualMountPath").value(value.individualMountPath().get());
+ out.name("individualMountPath").value(value.individualMountPath().get()); //TODO: should this always be written? ( because it could contain metadata, which the user may not want to save!)
out.endObject();
}
diff --git a/main/keychain/pom.xml b/main/keychain/pom.xml
index 48a928899..074472db7 100644
--- a/main/keychain/pom.xml
+++ b/main/keychain/pom.xml
@@ -4,7 +4,7 @@
org.cryptomatormain
- 1.4.0-rc1
+ 1.4.1keychainSystem Keychain Access
diff --git a/main/launcher/pom.xml b/main/launcher/pom.xml
index 9bf315d39..2aac33a3a 100644
--- a/main/launcher/pom.xml
+++ b/main/launcher/pom.xml
@@ -4,7 +4,7 @@
org.cryptomatormain
- 1.4.0-rc1
+ 1.4.1launcherCryptomator Launcher
diff --git a/main/pom.xml b/main/pom.xml
index 3c4b858c5..31e7a2a90 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -3,7 +3,7 @@
4.0.0org.cryptomatormain
- 1.4.0-rc1
+ 1.4.1pomCryptomator
@@ -25,19 +25,19 @@
1.2.1
- 1.6.1
+ 1.6.22.0.0
- 1.0.1
- 1.0.0
+ 1.0.3
+ 1.1.11.0.5
- 2.5
- 3.6
+ 2.6
+ 3.8.11.0.327.0-jre
- 2.19
+ 2.202.8.51.7.25
@@ -317,8 +317,6 @@
maven-compiler-plugin3.8.0
- 9
- 99
diff --git a/main/uber-jar/pom.xml b/main/uber-jar/pom.xml
index 678296bec..33b26ecad 100644
--- a/main/uber-jar/pom.xml
+++ b/main/uber-jar/pom.xml
@@ -4,7 +4,7 @@
org.cryptomatormain
- 1.4.0-rc1
+ 1.4.1uber-jarSingle über jar with all dependencies
diff --git a/main/ui/pom.xml b/main/ui/pom.xml
index 07f4691fa..a2736f06f 100644
--- a/main/ui/pom.xml
+++ b/main/ui/pom.xml
@@ -4,7 +4,7 @@
org.cryptomatormain
- 1.4.0-rc1
+ 1.4.1uiCryptomator GUI
diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java
index 8a3153503..b1a823178 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java
@@ -2,7 +2,7 @@
* Copyright (c) 2014, 2017 Sebastian Stenzel
* All rights reserved.
* This program and the accompanying materials are made available under the terms of the accompanying LICENSE file.
- *
+ *
* Contributors:
* Sebastian Stenzel - initial API and implementation
* Jean-Noël Charon - confirmation dialog on vault removal
@@ -110,7 +110,7 @@ public class MainController implements ViewController {
@Inject
public MainController(@Named("mainWindow") Stage mainWindow, ExecutorService executorService, @Named("fileOpenRequests") BlockingQueue fileOpenRequests, ExitUtil exitUtil, Localization localization,
- VaultFactory vaultFactoy, ViewControllerLoader viewControllerLoader, UpgradeStrategies upgradeStrategies, VaultList vaults, AutoUnlocker autoUnlocker) {
+ VaultFactory vaultFactoy, ViewControllerLoader viewControllerLoader, UpgradeStrategies upgradeStrategies, VaultList vaults, AutoUnlocker autoUnlocker) {
this.mainWindow = mainWindow;
this.executorService = executorService;
this.fileOpenRequests = fileOpenRequests;
@@ -222,7 +222,7 @@ public class MainController implements ViewController {
ButtonType forceShutdownButtonType = new ButtonType(localization.getString("main.gracefulShutdown.button.forceShutdown"));
Alert gracefulShutdownDialog = DialogBuilderUtil.buildGracefulShutdownDialog(
localization.getString("main.gracefulShutdown.dialog.title"), localization.getString("main.gracefulShutdown.dialog.header"), localization.getString("main.gracefulShutdown.dialog.content"),
- forceShutdownButtonType, forceShutdownButtonType, tryAgainButtonType);
+ forceShutdownButtonType, ButtonType.CANCEL, forceShutdownButtonType, tryAgainButtonType);
Optional choice = gracefulShutdownDialog.showAndWait();
choice.ifPresent(btnType -> {
@@ -230,6 +230,8 @@ public class MainController implements ViewController {
gracefulShutdown();
} else if (forceShutdownButtonType.equals(btnType)) {
Platform.runLater(Platform::exit);
+ } else {
+ return;
}
});
} else {
@@ -331,7 +333,7 @@ public class MainController implements ViewController {
/**
* adds the given directory or selects it if it is already in the list of directories.
- *
+ *
* @param path to a vault directory or masterkey file
*/
public void addVault(final Path path, boolean select) {
@@ -432,7 +434,13 @@ public class MainController implements ViewController {
}
private void didPressKeyOnRoot(KeyEvent event) {
- if ((event.isMetaDown() || event.isControlDown()) && event.getCode().isDigitKey()) {
+ boolean triggered;
+ if (SystemUtils.IS_OS_MAC) {
+ triggered = event.isMetaDown();
+ } else {
+ triggered = event.isControlDown() && !event.isAltDown();
+ }
+ if (triggered && event.getCode().isDigitKey()) {
int digit = Integer.valueOf(event.getText());
switch (digit) {
case 0: {
diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/UnlockController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/UnlockController.java
index 9584bfc81..6c102d6cc 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/controllers/UnlockController.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/UnlockController.java
@@ -8,13 +8,6 @@
******************************************************************************/
package org.cryptomator.ui.controllers;
-import javax.inject.Inject;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.concurrent.ExecutorService;
-
import com.google.common.base.CharMatcher;
import com.google.common.base.Strings;
import javafx.application.Application;
@@ -45,9 +38,9 @@ import org.cryptomator.cryptolib.api.InvalidPassphraseException;
import org.cryptomator.cryptolib.api.UnsupportedVaultFormatException;
import org.cryptomator.frontend.webdav.ServerLifecycleException;
import org.cryptomator.keychain.KeychainAccess;
-import org.cryptomator.ui.model.InvalidSettingsException;
import org.cryptomator.ui.controls.SecPasswordField;
import org.cryptomator.ui.l10n.Localization;
+import org.cryptomator.ui.model.InvalidSettingsException;
import org.cryptomator.ui.model.Vault;
import org.cryptomator.ui.model.WindowsDriveLetters;
import org.cryptomator.ui.util.DialogBuilderUtil;
@@ -57,6 +50,13 @@ import org.fxmisc.easybind.Subscription;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.inject.Inject;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.concurrent.ExecutorService;
+
public class UnlockController implements ViewController {
private static final Logger LOG = LoggerFactory.getLogger(UnlockController.class);
@@ -115,13 +115,13 @@ public class UnlockController implements ViewController {
private ChoiceBox winDriveLetter;
@FXML
- private CheckBox useOwnMountPath;
+ private CheckBox useCustomMountPath;
@FXML
- private Label mountPathLabel;
+ private Label customMountPathLabel;
@FXML
- private TextField mountPath;
+ private TextField customMountPathField;
@FXML
private ProgressIndicator progressIndicator;
@@ -150,27 +150,31 @@ public class UnlockController implements ViewController {
savePassword.setDisable(!keychainAccess.isPresent());
unlockAfterStartup.disableProperty().bind(savePassword.disabledProperty().or(savePassword.selectedProperty().not()));
- mountPathLabel.visibleProperty().bind(useOwnMountPath.selectedProperty());
- mountPath.visibleProperty().bind(useOwnMountPath.selectedProperty());
- mountPath.managedProperty().bind(useOwnMountPath.selectedProperty());
- mountPath.textProperty().addListener(this::mountPathDidChange);
+ customMountPathLabel.visibleProperty().bind(useCustomMountPath.selectedProperty());
+ customMountPathLabel.managedProperty().bind(useCustomMountPath.selectedProperty());
+ customMountPathField.visibleProperty().bind(useCustomMountPath.selectedProperty());
+ customMountPathField.managedProperty().bind(useCustomMountPath.selectedProperty());
+ customMountPathField.textProperty().addListener(this::mountPathDidChange);
+ winDriveLetter.setConverter(new WinDriveLetterLabelConverter());
- if (SystemUtils.IS_OS_WINDOWS) {
- winDriveLetter.setConverter(new WinDriveLetterLabelConverter());
- useOwnMountPath.setVisible(false);
- useOwnMountPath.setManaged(false);
- mountPathLabel.setManaged(false);
- //dirty cheat
- mountPath.setMouseTransparent(true);
- } else {
+ if (!SystemUtils.IS_OS_WINDOWS) {
winDriveLetterLabel.setVisible(false);
winDriveLetterLabel.setManaged(false);
winDriveLetter.setVisible(false);
winDriveLetter.setManaged(false);
- if (VolumeImpl.WEBDAV.equals(settings.preferredVolumeImpl().get())) {
- useOwnMountPath.setVisible(false);
- useOwnMountPath.setManaged(false);
- mountPathLabel.setManaged(false);
+ }
+
+ if (VolumeImpl.WEBDAV.equals(settings.preferredVolumeImpl().get())) {
+ useCustomMountPath.setVisible(false);
+ useCustomMountPath.setManaged(false);
+ customMountPathField.setMouseTransparent(true);
+ } else {
+ useCustomMountPath.setVisible(true);
+ if (SystemUtils.IS_OS_WINDOWS) {
+ winDriveLetter.visibleProperty().bind(useCustomMountPath.selectedProperty().not());
+ winDriveLetter.managedProperty().bind(useCustomMountPath.selectedProperty().not());
+ winDriveLetterLabel.visibleProperty().bind(useCustomMountPath.selectedProperty().not());
+ winDriveLetterLabel.managedProperty().bind(useCustomMountPath.selectedProperty().not());
}
}
}
@@ -210,13 +214,11 @@ public class UnlockController implements ViewController {
winDriveLetter.getItems().addAll(driveLetters.getAvailableDriveLetters());
winDriveLetter.getItems().sort(new WinDriveLetterComparator());
winDriveLetter.valueProperty().addListener(driveLetterChangeListener);
+ chooseSelectedDriveLetter();
}
downloadsPageLink.setVisible(false);
messageText.setText(null);
mountName.setText(vault.getMountName());
- if (SystemUtils.IS_OS_WINDOWS) {
- chooseSelectedDriveLetter();
- }
savePassword.setSelected(false);
// auto-fill pw from keychain:
if (keychainAccess.isPresent()) {
@@ -231,14 +233,15 @@ public class UnlockController implements ViewController {
VaultSettings vaultSettings = vault.getVaultSettings();
unlockAfterStartup.setSelected(savePassword.isSelected() && vaultSettings.unlockAfterStartup().get());
revealAfterMount.setSelected(vaultSettings.revealAfterMount().get());
- useOwnMountPath.setSelected(vaultSettings.usesIndividualMountPath().get());
+
+ if (!settings.preferredVolumeImpl().get().equals(VolumeImpl.WEBDAV)) {
+ useCustomMountPath.setSelected(vaultSettings.usesIndividualMountPath().get());
+ customMountPathField.textProperty().setValue(vaultSettings.individualMountPath().getValueSafe());
+ }
vaultSubs = vaultSubs.and(EasyBind.subscribe(unlockAfterStartup.selectedProperty(), vaultSettings.unlockAfterStartup()::set));
vaultSubs = vaultSubs.and(EasyBind.subscribe(revealAfterMount.selectedProperty(), vaultSettings.revealAfterMount()::set));
- vaultSubs = vaultSubs.and(EasyBind.subscribe(useOwnMountPath.selectedProperty(), vaultSettings.usesIndividualMountPath()::set));
-
-
- mountPath.textProperty().setValue(vaultSettings.individualMountPath().getValueSafe());
+ vaultSubs = vaultSubs.and(EasyBind.subscribe(useCustomMountPath.selectedProperty(), vaultSettings.usesIndividualMountPath()::set));
}
@@ -282,7 +285,7 @@ public class UnlockController implements ViewController {
}
private void mountPathDidChange(ObservableValue extends String> property, String oldValue, String newValue) {
- vault.setIndividualMountPath(newValue);
+ vault.setCustomMountPath(newValue);
}
/**
@@ -389,6 +392,7 @@ public class UnlockController implements ViewController {
CharSequence password = passwordField.getCharacters();
Tasks.create(() -> {
+ messageText.setText(localization.getString("unlock.pendingMessage.unlocking"));
vault.unlock(password);
if (keychainAccess.isPresent() && savePassword.isSelected()) {
keychainAccess.get().storePassphrase(vault.getId(), password);
@@ -400,7 +404,7 @@ public class UnlockController implements ViewController {
}).onError(InvalidSettingsException.class, e -> {
messageText.setText(localization.getString("unlock.errorMessage.invalidMountPath"));
advancedOptions.setVisible(true);
- mountPath.setStyle("-fx-border-color: red;");
+ customMountPathField.setStyle("-fx-border-color: red;");
}).onError(InvalidPassphraseException.class, e -> {
messageText.setText(localization.getString("unlock.errorMessage.wrongPassword"));
passwordField.selectAll();
@@ -429,7 +433,7 @@ public class UnlockController implements ViewController {
advancedOptions.setDisable(false);
progressIndicator.setVisible(false);
if (advancedOptions.isVisible()) { //dirty programming, but otherwise the focus is wrong
- mountPath.requestFocus();
+ customMountPathField.requestFocus();
}
}).runOnce(executor);
}
diff --git a/main/ui/src/main/java/org/cryptomator/ui/model/DokanyVolume.java b/main/ui/src/main/java/org/cryptomator/ui/model/DokanyVolume.java
index f986b6e3f..26a4b7993 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/model/DokanyVolume.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/model/DokanyVolume.java
@@ -1,17 +1,17 @@
package org.cryptomator.ui.model;
-import javax.inject.Inject;
-import java.nio.file.Paths;
-import java.util.Set;
-import java.util.concurrent.ExecutorService;
-
-import com.google.common.collect.Sets;
+import com.google.common.base.Strings;
import org.cryptomator.common.settings.VaultSettings;
import org.cryptomator.cryptofs.CryptoFileSystem;
import org.cryptomator.frontend.dokany.Mount;
import org.cryptomator.frontend.dokany.MountFactory;
import org.cryptomator.frontend.dokany.MountFailedException;
+import javax.inject.Inject;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.concurrent.ExecutorService;
+
public class DokanyVolume implements Volume {
private static final String FS_TYPE_NAME = "Cryptomator File System";
@@ -34,29 +34,31 @@ public class DokanyVolume implements Volume {
return DokanyVolume.isSupportedStatic();
}
- //TODO: Drive letter 'A' as mount point is invalid in dokany. maybe we should do already here something against it
@Override
public void mount(CryptoFileSystem fs) throws VolumeException {
- char driveLetter;
- if (!vaultSettings.winDriveLetter().getValueSafe().equals("")) {
- driveLetter = vaultSettings.winDriveLetter().get().charAt(0);
+ Path mountPath = Paths.get(getMountPathString());
+ String mountName = vaultSettings.mountName().get();
+ try {
+ this.mount = mountFactory.mount(fs.getPath("/"), mountPath, mountName, FS_TYPE_NAME);
+ } catch (MountFailedException e) {
+ throw new VolumeException("Unable to mount Filesystem", e);
+ }
+ }
+
+ private String getMountPathString() throws VolumeException {
+ if (vaultSettings.usesIndividualMountPath().get()) {
+ return vaultSettings.individualMountPath().get();
+ } else if (!Strings.isNullOrEmpty(vaultSettings.winDriveLetter().get())) {
+ return vaultSettings.winDriveLetter().get().charAt(0) + ":\\";
} else {
//auto assign drive letter
if (!windowsDriveLetters.getAvailableDriveLetters().isEmpty()) {
- //this is a temporary fix for 'A' being an invalid drive letter
- Set availableLettersWithoutA = Sets.difference(windowsDriveLetters.getAvailableDriveLetters(), Set.of('A'));
- driveLetter = availableLettersWithoutA.iterator().next();
-// driveLetter = windowsDriveLetters.getAvailableDriveLetters().iterator().next();
+ return windowsDriveLetters.getAvailableDriveLetters().iterator().next() + ":\\";
} else {
throw new VolumeException("No free drive letter available.");
}
}
- String mountName = vaultSettings.mountName().get();
- try {
- this.mount = mountFactory.mount(fs.getPath("/"), Paths.get(driveLetter + ":\\") , mountName, FS_TYPE_NAME);
- } catch (MountFailedException e) {
- throw new VolumeException("Unable to mount Filesystem", e);
- }
+
}
@Override
diff --git a/main/ui/src/main/java/org/cryptomator/ui/model/Vault.java b/main/ui/src/main/java/org/cryptomator/ui/model/Vault.java
index cf0e6d7cc..ec1b889b3 100644
--- a/main/ui/src/main/java/org/cryptomator/ui/model/Vault.java
+++ b/main/ui/src/main/java/org/cryptomator/ui/model/Vault.java
@@ -8,19 +8,6 @@
*******************************************************************************/
package org.cryptomator.ui.model;
-import java.io.IOException;
-import java.nio.file.FileAlreadyExistsException;
-import java.nio.file.Files;
-import java.nio.file.NoSuchFileException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Objects;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.Predicate;
-
-import javax.inject.Inject;
-import javax.inject.Provider;
-
import javafx.application.Platform;
import javafx.beans.Observable;
import javafx.beans.binding.Binding;
@@ -42,6 +29,18 @@ import org.fxmisc.easybind.EasyBind;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.inject.Inject;
+import javax.inject.Provider;
+import java.io.IOException;
+import java.nio.file.FileAlreadyExistsException;
+import java.nio.file.Files;
+import java.nio.file.NoSuchFileException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Objects;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Predicate;
+
@PerVault
public class Vault {
@@ -241,11 +240,11 @@ public class Vault {
return vaultSettings.mountName().get();
}
- public String getIndividualMountPath() {
+ public String getCustomMountPath() {
return vaultSettings.individualMountPath().getValueSafe();
}
- public void setIndividualMountPath(String mountPath) {
+ public void setCustomMountPath(String mountPath) {
vaultSettings.individualMountPath().set(mountPath);
}
diff --git a/main/ui/src/main/resources/fxml/unlock.fxml b/main/ui/src/main/resources/fxml/unlock.fxml
index 5675556a1..76d08a98a 100644
--- a/main/ui/src/main/resources/fxml/unlock.fxml
+++ b/main/ui/src/main/resources/fxml/unlock.fxml
@@ -7,8 +7,6 @@
Contributors:
Sebastian Stenzel - initial API and implementation
-->
-
-
@@ -24,12 +22,13 @@
+
-
+
@@ -45,7 +44,7 @@
-
+
@@ -54,12 +53,12 @@
-
+
-
+
@@ -69,46 +68,47 @@
-
+
-
+
-
+
-
-
-
-
-
-
+
+
-
-
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
+
+
-
-
diff --git a/main/ui/src/main/resources/fxml/welcome.fxml b/main/ui/src/main/resources/fxml/welcome.fxml
index e455e28e6..4cdfe8430 100644
--- a/main/ui/src/main/resources/fxml/welcome.fxml
+++ b/main/ui/src/main/resources/fxml/welcome.fxml
@@ -7,31 +7,28 @@
Contributors:
Sebastian Stenzel - initial API and implementation
-->
-
-
-
-
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/ar.txt b/main/ui/src/main/resources/localization/ar.txt
index 5905637ee..4259cc2f7 100644
--- a/main/ui/src/main/resources/localization/ar.txt
+++ b/main/ui/src/main/resources/localization/ar.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/bg.txt b/main/ui/src/main/resources/localization/bg.txt
index bd8f93e5a..d7c67b4c2 100644
--- a/main/ui/src/main/resources/localization/bg.txt
+++ b/main/ui/src/main/resources/localization/bg.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Криптоматор беше обновен
unlock.label.useOwnMountPath = Използвайте собствена точка за монтиране
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/cs.txt b/main/ui/src/main/resources/localization/cs.txt
index 2b94b0636..3a47128cf 100644
--- a/main/ui/src/main/resources/localization/cs.txt
+++ b/main/ui/src/main/resources/localization/cs.txt
@@ -120,4 +120,5 @@ main.gracefulShutdown.dialog.title = Zamčení trezorů se nezdařilo
main.gracefulShutdown.dialog.header = Trezory v používání
main.gracefulShutdown.dialog.content = Jeden nebo více trezorů je stále v používání ostatními programy. Ukončete je aby se Cryptomator mohl správně vypnout a zkuste to znovu.\n\nPokud to nezabere, Cryptomator je možné vypnout vynuceně, ale to může vést ke ztrátě dat a není proto doporučeno.
main.gracefulShutdown.button.tryAgain = Zkusit znovu
-main.gracefulShutdown.button.forceShutdown = Vynutit vypnutí
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Vynutit vypnutí
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/da.txt b/main/ui/src/main/resources/localization/da.txt
index 41799fa26..e6289b90b 100644
--- a/main/ui/src/main/resources/localization/da.txt
+++ b/main/ui/src/main/resources/localization/da.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/de.txt b/main/ui/src/main/resources/localization/de.txt
index 8202c9bdb..e72bac2d5 100644
--- a/main/ui/src/main/resources/localization/de.txt
+++ b/main/ui/src/main/resources/localization/de.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Das Cryptomator Upgrade wurde erfolgreich abgesch
unlock.label.useOwnMountPath = Eigenes Laufwerksverzeichnis nutzen
welcome.askForUpdateCheck.dialog.title = Auf Updates prüfen
welcome.askForUpdateCheck.dialog.header = Eingebaute Update-Prüfung aktivieren?
-welcome.askForUpdateCheck.dialog.content = Zur Überprüfung, ob Updates verfügbar sind, lädt Cryptomator die aktuelle Versionsnummer von den Cryptomator-Servern und zeigt Ihnen einen Hinweis an, wenn eine aktuellere Version verfügbar ist.\n\nWir empfehlen, die Update-Prüfung zu aktivieren, damit Sie sicher sein können, dass Sie stets die neueste Cryptomator-Version mit allen Sicherheits-Patches verwenden. Wenn Sie die Update-Prüfung nicht aktivieren können Sie stattdessen auf https\://cryptomator.org/downloads/ selbst die aktuelle Version ermitteln und herunterladen.\n\nDiese Einstellung können Sie jederzeit im Einstellungs-Menü ändern.
+welcome.askForUpdateCheck.dialog.content = Empfehlung\: Aktivieren Sie die Update-Prüfung, um sicherzustellen, dass Sie stets die neueste Cryptomator-Version mit allen Sicherheits-Patches verwenden.\n\nDiese Einstellung können Sie jederzeit im Einstellungs-Menü ändern.
settings.volume.dokany = Dokany
unlock.errorMessage.invalidMountPath = Individueller Mount-Punkt ist nicht gesetzt.
main.gracefulShutdown.dialog.title = Sperren des Tresors gescheitert
main.gracefulShutdown.dialog.header = Tresor in Gebrauch
main.gracefulShutdown.dialog.content = Ein oder mehrere Tresore werden noch von anderen Programmen genutzt. Bitte schliessen Sie die Programme um es Cryptomator zu ermöglichen richtig herunter zu fahren. Versuchen Sie es danach erneut.\n\nFalls dies nicht klappt, kann Cryptomator das Beenden erzwingen. Dies kann zu einem Datenverlust führen und ist nicht empfohlen.
main.gracefulShutdown.button.tryAgain = Versuchen Sie es erneut
-main.gracefulShutdown.button.forceShutdown = Herunterfahren erzwingen
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Herunterfahren erzwingen
+unlock.pendingMessage.unlocking = Entsperre Tresor...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/en.txt b/main/ui/src/main/resources/localization/en.txt
index bf787682d..da431045e 100644
--- a/main/ui/src/main/resources/localization/en.txt
+++ b/main/ui/src/main/resources/localization/en.txt
@@ -30,7 +30,7 @@ welcome.checkForUpdates.label.currentlyChecking=Checking for Updates...
welcome.newVersionMessage=Version %1$s can be downloaded.\nThis is %2$s.
welcome.askForUpdateCheck.dialog.title=Update check
welcome.askForUpdateCheck.dialog.header=Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content=To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content=Recommended: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
# initialize.fxml
initialize.label.password=Password
@@ -86,9 +86,10 @@ unlock.savePassword.delete.confirmation.title=Delete Saved Password
unlock.savePassword.delete.confirmation.header=Do you really want to delete the saved password of this vault?
unlock.savePassword.delete.confirmation.content=The saved password of this vault will be immediately deleted from your system keychain. If you'd like to save your password again, you'd have to unlock your vault with the "Save Password" option enabled.
unlock.choicebox.winDriveLetter.auto=Assign automatically
+unlock.pendingMessage.unlocking=Unlocking vault...
unlock.errorMessage.wrongPassword=Wrong password
unlock.errorMessage.wrongPassword=Wrong Password
-unlock.errorMessage.invalidMountPath=Individual mount path is not set.
+unlock.errorMessage.invalidMountPath=Use of custom mount path selected, but no path given.
unlock.errorMessage.unlockFailed=Unlock failed. See log file for details.
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware=Unsupported vault. This vault has been created with an older version of Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault=Unsupported vault. This vault has been created with a newer version of Cryptomator.
diff --git a/main/ui/src/main/resources/localization/es.txt b/main/ui/src/main/resources/localization/es.txt
index a0fbf11a0..ecfaaea98 100644
--- a/main/ui/src/main/resources/localization/es.txt
+++ b/main/ui/src/main/resources/localization/es.txt
@@ -120,4 +120,5 @@ main.gracefulShutdown.dialog.title = No fue posible cerrar la(s) caja(s) fuerte(
main.gracefulShutdown.dialog.header = Caja(s) Fuertes(s) en uso
main.gracefulShutdown.dialog.content = Una o más cajas fuertes están siendo utilizadas por otros programas. Por favor ciérrelos para permitir a Cryptomator cerrarse adecuadamente, e intente de nuevo.\n\nSi esto no funciona, Cryptomator puede cerrarse forzosamente, pero esta vía puede provocar pérdida de información y no es recomendada.
main.gracefulShutdown.button.tryAgain = Intente de nuevo
-main.gracefulShutdown.button.forceShutdown = Forzar apagado
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Forzar apagado
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/fr.txt b/main/ui/src/main/resources/localization/fr.txt
index 3412ae722..2dd21dde6 100644
--- a/main/ui/src/main/resources/localization/fr.txt
+++ b/main/ui/src/main/resources/localization/fr.txt
@@ -121,4 +121,5 @@ main.gracefulShutdown.dialog.title = Échec en fermant le coffre-fort.
main.gracefulShutdown.dialog.header = Coffre-fort est en cours d'utilisation.
main.gracefulShutdown.dialog.content = Un ou plusieurs coffre-forts sont en cours d'utilisation par d'autres logiciels. S'il vous plait, fermer-les pour permettre à Cryptomator de finir proprement.\n\nSi ça ne marche pas, Cryptomator peut fermer par force, mais cela peut résulter d'une perte de vos fichiers (non recommandé).
main.gracefulShutdown.button.tryAgain = Réessayez
-main.gracefulShutdown.button.forceShutdown = Arrêt forcé
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Arrêt forcé
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/hu.txt b/main/ui/src/main/resources/localization/hu.txt
index 7e4c00d8b..af49f7efa 100644
--- a/main/ui/src/main/resources/localization/hu.txt
+++ b/main/ui/src/main/resources/localization/hu.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = A Cryptomator sikeresen frissítésre került.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
-main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.tryAgain = Próbáld újra
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/it.txt b/main/ui/src/main/resources/localization/it.txt
index 3048ecbad..61863a3aa 100644
--- a/main/ui/src/main/resources/localization/it.txt
+++ b/main/ui/src/main/resources/localization/it.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator aggiornato con successo.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/ja.txt b/main/ui/src/main/resources/localization/ja.txt
index e0d2883e9..dbbcc619e 100644
--- a/main/ui/src/main/resources/localization/ja.txt
+++ b/main/ui/src/main/resources/localization/ja.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator が正常にアップグレードさ
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/ko.txt b/main/ui/src/main/resources/localization/ko.txt
index 8b3793f5b..cdf5ba11f 100644
--- a/main/ui/src/main/resources/localization/ko.txt
+++ b/main/ui/src/main/resources/localization/ko.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/lv.txt b/main/ui/src/main/resources/localization/lv.txt
index d078494af..201b392c1 100644
--- a/main/ui/src/main/resources/localization/lv.txt
+++ b/main/ui/src/main/resources/localization/lv.txt
@@ -112,11 +112,12 @@ unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/nl.txt b/main/ui/src/main/resources/localization/nl.txt
index 6d00c5938..9bb9efe20 100644
--- a/main/ui/src/main/resources/localization/nl.txt
+++ b/main/ui/src/main/resources/localization/nl.txt
@@ -120,4 +120,5 @@ main.gracefulShutdown.dialog.title = Vergrendelen kluis/kluizen mislukt
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Probeer opnieuw
-main.gracefulShutdown.button.forceShutdown = Geforceerd afsluiten
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Geforceerd afsluiten
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/pl.txt b/main/ui/src/main/resources/localization/pl.txt
index 73121827f..40d50b081 100644
--- a/main/ui/src/main/resources/localization/pl.txt
+++ b/main/ui/src/main/resources/localization/pl.txt
@@ -118,4 +118,5 @@ main.gracefulShutdown.dialog.title = Nie udało się zablokować porfela(i)
main.gracefulShutdown.dialog.header = Portfel(e) w użyciu
main.gracefulShutdown.dialog.content = Jedna lub więcej porfelii jest nadal używana przez inne programy. Zamknij je, aby umożliwić prawidłowe zamknięcie Cryptomator, a następnie spróbuj ponownie.\n\nJeśli to nie zadziała, Cryptomator może zamknąć na siłę, ale może to spowodować utratę danych i nie jest zalecane.
main.gracefulShutdown.button.tryAgain = Spróbuj ponownie
-main.gracefulShutdown.button.forceShutdown = Wymuś zamknięcie
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Wymuś zamknięcie
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/pt.txt b/main/ui/src/main/resources/localization/pt.txt
index 9ff29a686..06ac6d717 100644
--- a/main/ui/src/main/resources/localization/pt.txt
+++ b/main/ui/src/main/resources/localization/pt.txt
@@ -73,7 +73,7 @@ upgrade.version3to4.msg = Esse cofre tem que ser migrado a um novo formato. Os n
upgrade.version3to4.err.io = Falha na migração devido a um erro de E/S. Veja o arquivo de log para mais detalhes.
# upgrade.fxml
upgrade.confirmation.label = Sim, tenho certeza de que a sincronização foi concluída
-unlock.label.savePassword = Armazenar senha
+unlock.label.savePassword = Salvar senha
unlock.errorMessage.unauthenticVersionMac = Não foi possível autenticar a versão do MAC.
unlocked.label.mountFailed = Falha ao conectar o drive
unlock.savePassword.delete.confirmation.title = Apagar a senha armazenada
@@ -105,17 +105,18 @@ settings.webdav.prefGvfsScheme.label = WebDAV schema
settings.volume.label = Método de Montagem
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
-unlock.successLabel.vaultCreated = Vault was successfully created.
-unlock.successLabel.passwordChanged = Password was successfully changed.
-unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
-unlock.label.useOwnMountPath = Use Custom Mount Point
-welcome.askForUpdateCheck.dialog.title = Update check
-welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+unlock.successLabel.vaultCreated = Cofre criado com sucesso
+unlock.successLabel.passwordChanged = Senha modificada com sucesso
+unlock.successLabel.upgraded = Crytomator atualizado com sucesso
+unlock.label.useOwnMountPath = Usar Ponto de Montagem Personalizado
+welcome.askForUpdateCheck.dialog.title = Verificação de atualização
+welcome.askForUpdateCheck.dialog.header = Habilitar a verificação de atualização integrada?
+welcome.askForUpdateCheck.dialog.content = Para verificar atualizações, Cryptomator vai buscar a versão atual dos servidores e exibirá uma dica para você se uma nova versão estiver disponível.\n\nNós recomendamos que habilite a verificação de atualização para que sempre tenha certeza de que está usando a última versão do Crytomator, com todos os pacotes de segurança instalados. Se você não habilitar a verificação de atualização, você pode verificar e baixar a versão atual em https\://cryptomator.org/downloads/.\n\nVocê pode mudar isso a qualquer momento através das configurações.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
-main.gracefulShutdown.dialog.title = Locking vault(s) failed
-main.gracefulShutdown.dialog.header = Vault(s) in use
-main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
-main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+unlock.errorMessage.invalidMountPath = Caminho individual de montagem não está definido.
+main.gracefulShutdown.dialog.title = Falha no bloqueio do(s) cofre(s)
+main.gracefulShutdown.dialog.header = Cofre(s) em uso
+main.gracefulShutdown.dialog.content = Um ou mais cofres ainda estão em uso por outros programas. Por favor, feche-os para permitir que Cryptomator encerre corretamente, em seguida, tente novamente.\n\nSe isso não funcionar, Cryptomator pode forçar o desligamento, mas isso pode causar perda de dados e não é recomendado.
+main.gracefulShutdown.button.tryAgain = Tente novamente
+main.gracefulShutdown.button.forceShutdown = Forçar desligamento
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/pt_BR.txt b/main/ui/src/main/resources/localization/pt_BR.txt
index 79d36d042..14052eccc 100644
--- a/main/ui/src/main/resources/localization/pt_BR.txt
+++ b/main/ui/src/main/resources/localization/pt_BR.txt
@@ -43,7 +43,7 @@ changePassword.button.change = Alterar senha
changePassword.errorMessage.wrongPassword = Senha errada
changePassword.errorMessage.decryptionFailed = Descriptografia falhou
# unlocked.fxml
-unlocked.button.lock = Travar Cofre
+unlocked.button.lock = Trancar Cofre
unlocked.moreOptions.reveal = Mostrar volume
unlocked.label.revealFailed = Falha no comando
unlocked.label.unmountFailed = A ejeção do volume falhou
@@ -114,8 +114,9 @@ welcome.askForUpdateCheck.dialog.header = Ativar a checagem por atualizações?
welcome.askForUpdateCheck.dialog.content = Para checar as atualizações, Cryptomator irá verificar a versão mais recente em nossos servidores e avisará se existe uma versão disponível.\n\nRecomendamos ativar a checagem por novas atualizações para ter certeza que se tenha a versão mais recente do Cryptomator, com todas as correções de segurança. Se não ativar as atualizações é possivel checar e baixa-las a versão mais recente em https\://cryptomator.org/downloads/.\n\nVocê pode alterar as configurações a qualquer hora.
settings.volume.dokany = Dokany
unlock.errorMessage.invalidMountPath = Caminho para montagem individual não configurado.
-main.gracefulShutdown.dialog.title = Locking vault(s) failed
-main.gracefulShutdown.dialog.header = Vault(s) in use
-main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
-main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.dialog.title = Falha ao trancar o cofre
+main.gracefulShutdown.dialog.header = Cofre(s) em uso
+main.gracefulShutdown.dialog.content = Um ou mais cofres ainda estão em uso por outros programas. Por favor feche-os para permitir ao Cryptomator encerrar apropriadamente, então tente novamente.
+main.gracefulShutdown.button.tryAgain = Tente novamente
+main.gracefulShutdown.button.forceShutdown = Forçar término da execução
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/ru.txt b/main/ui/src/main/resources/localization/ru.txt
index 5f6df124c..2244a5bd6 100644
--- a/main/ui/src/main/resources/localization/ru.txt
+++ b/main/ui/src/main/resources/localization/ru.txt
@@ -123,6 +123,7 @@ settings.volume.dokany = Dokany
unlock.errorMessage.invalidMountPath = Не установлен индивидуальный путь монтирования.
main.gracefulShutdown.dialog.title = Ошибка блокировки хранилища
main.gracefulShutdown.dialog.header = Используемые хранилища
-main.gracefulShutdown.dialog.content = Одно или несколько хранилищ всё ещё используются другими программами. Закройте их, чтобы Cryptomator мог корректно завершить работу, и повторите попытку.\n\nЕсли это не поможет, Cryptomator может завершить работу принудительно, но с риском потери данных, и потому не рекомендуется.
+main.gracefulShutdown.dialog.content = Одно или несколько хранилищ всё ещё используются другими программами. Закройте их, чтобы Cryptomator мог корректно завершить работу, и повторите попытку.\n\nЕсли это не поможет, Cryptomator может завершить работу принудительно, но с риском потери данных, и потому это не рекомендуется.
main.gracefulShutdown.button.tryAgain = Попробовать снова
-main.gracefulShutdown.button.forceShutdown = Принудительно завершить работу
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Принудительно завершить работу
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/sk.txt b/main/ui/src/main/resources/localization/sk.txt
index 622ad4c0c..28f3734f2 100644
--- a/main/ui/src/main/resources/localization/sk.txt
+++ b/main/ui/src/main/resources/localization/sk.txt
@@ -114,11 +114,12 @@ unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/th.txt b/main/ui/src/main/resources/localization/th.txt
index ea5f02d8a..329a09017 100644
--- a/main/ui/src/main/resources/localization/th.txt
+++ b/main/ui/src/main/resources/localization/th.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/tr.txt b/main/ui/src/main/resources/localization/tr.txt
index a7fd1705d..eefce0671 100644
--- a/main/ui/src/main/resources/localization/tr.txt
+++ b/main/ui/src/main/resources/localization/tr.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/uk.txt b/main/ui/src/main/resources/localization/uk.txt
index 2bdb46e8d..113ccdce4 100644
--- a/main/ui/src/main/resources/localization/uk.txt
+++ b/main/ui/src/main/resources/localization/uk.txt
@@ -118,4 +118,5 @@ main.gracefulShutdown.dialog.title = Блокування сховищ(а) не
main.gracefulShutdown.dialog.header = Сховища(е) використовуються
main.gracefulShutdown.dialog.content = Один або декілька сховищ все ще використовуються іншими програмами. Закрийте їх, щоб дозволити Cryptomator безпечно завершити роботу, а потім повторіть спробу.\nЯкщо це не спрацьовує, Cryptomator може примусово завершити роботу, але це може призвести до втрати даних, це нелогічно та не рекомендується.
main.gracefulShutdown.button.tryAgain = Спробуйте ще раз
-main.gracefulShutdown.button.forceShutdown = Примусово завершити роботу
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Примусово завершити роботу
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/zh.txt b/main/ui/src/main/resources/localization/zh.txt
index 391f7975b..8bb95277a 100644
--- a/main/ui/src/main/resources/localization/zh.txt
+++ b/main/ui/src/main/resources/localization/zh.txt
@@ -119,4 +119,5 @@ main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/zh_HK.txt b/main/ui/src/main/resources/localization/zh_HK.txt
index abb665a24..dc464dda8 100644
--- a/main/ui/src/main/resources/localization/zh_HK.txt
+++ b/main/ui/src/main/resources/localization/zh_HK.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
unlock.label.useOwnMountPath = Use Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file
diff --git a/main/ui/src/main/resources/localization/zh_TW.txt b/main/ui/src/main/resources/localization/zh_TW.txt
index 26ad46900..de2297a30 100644
--- a/main/ui/src/main/resources/localization/zh_TW.txt
+++ b/main/ui/src/main/resources/localization/zh_TW.txt
@@ -111,11 +111,12 @@ unlock.successLabel.upgraded = Cryptomator成功的更新了
unlock.label.useOwnMountPath = 自訂掛載點
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
-welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
+welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
-unlock.errorMessage.invalidMountPath = Individual mount path is not set.
+unlock.errorMessage.invalidMountPath = Use of custom mount path selected, but no path given.
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try again
-main.gracefulShutdown.button.forceShutdown = Force shutdown
\ No newline at end of file
+main.gracefulShutdown.button.forceShutdown = Force shutdown
+unlock.pendingMessage.unlocking = Unlocking vault...
\ No newline at end of file