+ * If the kid of the vault config starts with either {@value org.cryptomator.ui.keyloading.hub.HubKeyLoadingStrategy#SCHEME_HUB_HTTP}
+ * or {@value org.cryptomator.ui.keyloading.hub.HubKeyLoadingStrategy#SCHEME_HUB_HTTPS}, the included http address is amended by three parameters and opened
+ * in a browser. These parameters are:
+ *
+ *
A device-specific public key (generated by this application and stored among its settings
+ *
A unique device ID (stored in settings)
+ *
A loopback callback address
+ *
+ *
+ * The callback address points to a embedded web server waiting to receive the masterkey encrypted specifically for this device, using the device-specific public key.
+ *
+ * The vault key can be decrypted using this ECIES:
+ *
+ *
Generate shared secret using ECDH without cofactor
+ *
Derive 44 bytes using ANSI X9.63 KDF with SHA256
+ *
Decrypt payload via AES-GCM, using first 32 bytes as key, last 12 bytes as IV
+ *
No MAC check required, as AES-GCM includes a tag already
+ *
+ */
+package org.cryptomator.ui.keyloading.hub;
\ No newline at end of file
diff --git a/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/ChooseMasterkeyFileController.java b/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/ChooseMasterkeyFileController.java
index 11cf7bd6b..9b2231921 100644
--- a/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/ChooseMasterkeyFileController.java
+++ b/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/ChooseMasterkeyFileController.java
@@ -1,11 +1,13 @@
package org.cryptomator.ui.keyloading.masterkeyfile;
+import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.keyloading.KeyLoading;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
+import javafx.beans.binding.StringBinding;
import javafx.fxml.FXML;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
@@ -15,18 +17,22 @@ import java.nio.file.Path;
import java.util.ResourceBundle;
import java.util.concurrent.CompletableFuture;
+import static org.cryptomator.common.Constants.CRYPTOMATOR_FILENAME_GLOB;
+
@ChooseMasterkeyFileScoped
public class ChooseMasterkeyFileController implements FxController {
private static final Logger LOG = LoggerFactory.getLogger(ChooseMasterkeyFileController.class);
private final Stage window;
+ private final Vault vault;
private final CompletableFuture result;
private final ResourceBundle resourceBundle;
@Inject
- public ChooseMasterkeyFileController(@KeyLoading Stage window, CompletableFuture result, ResourceBundle resourceBundle) {
+ public ChooseMasterkeyFileController(@KeyLoading Stage window, @KeyLoading Vault vault, CompletableFuture result, ResourceBundle resourceBundle) {
this.window = window;
+ this.vault = vault;
this.result = result;
this.resourceBundle = resourceBundle;
this.window.setOnHiding(this::windowClosed);
@@ -46,7 +52,7 @@ public class ChooseMasterkeyFileController implements FxController {
LOG.trace("proceed()");
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle(resourceBundle.getString("unlock.chooseMasterkey.filePickerTitle"));
- fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Cryptomator Masterkey", "*.cryptomator"));
+ fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(resourceBundle.getString("unlock.chooseMasterkey.filePickerMimeDesc"), CRYPTOMATOR_FILENAME_GLOB));
File masterkeyFile = fileChooser.showOpenDialog(window);
if (masterkeyFile != null) {
LOG.debug("Chose masterkey file: {}", masterkeyFile);
@@ -54,4 +60,10 @@ public class ChooseMasterkeyFileController implements FxController {
}
}
+ //--- Setter & Getter ---
+
+ public String getDisplayName(){
+ return vault.getDisplayName();
+ }
+
}
diff --git a/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java b/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java
index b4964f9a0..68877430a 100644
--- a/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java
+++ b/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java
@@ -61,6 +61,7 @@ public class MasterkeyFileLoadingStrategy implements KeyLoadingStrategy {
@Override
public Masterkey loadKey(URI keyId) throws MasterkeyLoadingFailedException {
+ window.setTitle(resourceBundle.getString("unlock.title").formatted(vault.getDisplayName()));
Preconditions.checkArgument(SCHEME.equalsIgnoreCase(keyId.getScheme()), "Only supports keys with scheme " + SCHEME);
try {
Path filePath = vault.getPath().resolve(keyId.getSchemeSpecificPart());
@@ -124,7 +125,6 @@ public class MasterkeyFileLoadingStrategy implements KeyLoadingStrategy {
var comp = masterkeyFileChoice.build();
Platform.runLater(() -> {
window.setScene(comp.chooseMasterkeyScene());
- window.setTitle(resourceBundle.getString("unlock.chooseMasterkey.title").formatted(vault.getDisplayName()));
window.show();
Window owner = window.getOwner();
if (owner != null) {
@@ -147,7 +147,6 @@ public class MasterkeyFileLoadingStrategy implements KeyLoadingStrategy {
var comp = passphraseEntry.savedPassword(passphrase).build();
Platform.runLater(() -> {
window.setScene(comp.passphraseEntryScene());
- window.setTitle(resourceBundle.getString("unlock.title").formatted(vault.getDisplayName()));
window.show();
Window owner = window.getOwner();
if (owner != null) {
diff --git a/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/PassphraseEntryController.java b/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/PassphraseEntryController.java
index 24afab78a..5d2b9b52a 100644
--- a/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/PassphraseEntryController.java
+++ b/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/PassphraseEntryController.java
@@ -1,10 +1,10 @@
package org.cryptomator.ui.keyloading.masterkeyfile;
import org.cryptomator.common.Nullable;
+import org.cryptomator.common.Passphrase;
import org.cryptomator.common.keychain.KeychainManager;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.common.FxController;
-import org.cryptomator.common.Passphrase;
import org.cryptomator.ui.common.WeakBindings;
import org.cryptomator.ui.controls.NiceSecurePasswordField;
import org.cryptomator.ui.forgetPassword.ForgetPasswordComponent;
diff --git a/src/main/java/org/cryptomator/ui/mainwindow/MainWindowTitleController.java b/src/main/java/org/cryptomator/ui/mainwindow/MainWindowTitleController.java
index 76eee0cb4..70dea5366 100644
--- a/src/main/java/org/cryptomator/ui/mainwindow/MainWindowTitleController.java
+++ b/src/main/java/org/cryptomator/ui/mainwindow/MainWindowTitleController.java
@@ -116,7 +116,7 @@ public class MainWindowTitleController implements FxController {
}
@FXML
- public void showDonationKeyPreferences() {
+ public void showContributePreferences() {
appWindows.showPreferencesWindow(SelectedPreferencesTab.CONTRIBUTE);
}
diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java
index dab1f7a54..cf1009ea9 100644
--- a/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java
+++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailLockedController.java
@@ -21,13 +21,13 @@ public class VaultDetailLockedController implements FxController {
private final ReadOnlyObjectProperty vault;
private final FxApplicationWindows appWindows;
- private final VaultOptionsComponent.Builder vaultOptionsWindow;
+ private final VaultOptionsComponent.Factory vaultOptionsWindow;
private final KeychainManager keychain;
private final Stage mainWindow;
private final BooleanExpression passwordSaved;
@Inject
- VaultDetailLockedController(ObjectProperty vault, FxApplicationWindows appWindows, VaultOptionsComponent.Builder vaultOptionsWindow, KeychainManager keychain, @MainWindow Stage mainWindow) {
+ VaultDetailLockedController(ObjectProperty vault, FxApplicationWindows appWindows, VaultOptionsComponent.Factory vaultOptionsWindow, KeychainManager keychain, @MainWindow Stage mainWindow) {
this.vault = vault;
this.appWindows = appWindows;
this.vaultOptionsWindow = vaultOptionsWindow;
@@ -47,12 +47,12 @@ public class VaultDetailLockedController implements FxController {
@FXML
public void showVaultOptions() {
- vaultOptionsWindow.vault(vault.get()).build().showVaultOptionsWindow(SelectedVaultOptionsTab.ANY);
+ vaultOptionsWindow.create(vault.get()).showVaultOptionsWindow(SelectedVaultOptionsTab.ANY);
}
@FXML
public void showKeyVaultOptions() {
- vaultOptionsWindow.vault(vault.get()).build().showVaultOptionsWindow(SelectedVaultOptionsTab.KEY);
+ vaultOptionsWindow.create(vault.get()).showVaultOptionsWindow(SelectedVaultOptionsTab.KEY);
}
/* Getter/Setter */
diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailMissingVaultController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailMissingVaultController.java
index 8d9f192b5..bc372341a 100644
--- a/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailMissingVaultController.java
+++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultDetailMissingVaultController.java
@@ -13,6 +13,8 @@ import javafx.stage.Stage;
import java.io.File;
import java.util.ResourceBundle;
+import static org.cryptomator.common.Constants.CRYPTOMATOR_FILENAME_GLOB;
+
@MainWindowScoped
public class VaultDetailMissingVaultController implements FxController {
@@ -45,7 +47,7 @@ public class VaultDetailMissingVaultController implements FxController {
// copied from ChooseExistingVaultController class
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle(resourceBundle.getString("addvaultwizard.existing.filePickerTitle"));
- fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Cryptomator Masterkey", "*.cryptomator"));
+ fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter(resourceBundle.getString("addvaultwizard.existing.filePickerMimeDesc"), CRYPTOMATOR_FILENAME_GLOB));
File masterkeyFile = fileChooser.showOpenDialog(window);
if (masterkeyFile != null) {
vault.get().getVaultSettings().path().setValue(masterkeyFile.toPath().toAbsolutePath().getParent());
diff --git a/src/main/java/org/cryptomator/ui/mainwindow/VaultListContextMenuController.java b/src/main/java/org/cryptomator/ui/mainwindow/VaultListContextMenuController.java
index c9d788b90..23f8e889d 100644
--- a/src/main/java/org/cryptomator/ui/mainwindow/VaultListContextMenuController.java
+++ b/src/main/java/org/cryptomator/ui/mainwindow/VaultListContextMenuController.java
@@ -31,7 +31,7 @@ public class VaultListContextMenuController implements FxController {
private final VaultService vaultService;
private final KeychainManager keychain;
private final RemoveVaultComponent.Builder removeVault;
- private final VaultOptionsComponent.Builder vaultOptionsWindow;
+ private final VaultOptionsComponent.Factory vaultOptionsWindow;
private final OptionalBinding selectedVaultState;
private final Binding selectedVaultPassphraseStored;
private final Binding selectedVaultRemovable;
@@ -39,7 +39,7 @@ public class VaultListContextMenuController implements FxController {
private final Binding selectedVaultLockable;
@Inject
- VaultListContextMenuController(ObjectProperty selectedVault, @MainWindow Stage mainWindow, FxApplicationWindows appWindows, VaultService vaultService, KeychainManager keychain, RemoveVaultComponent.Builder removeVault, VaultOptionsComponent.Builder vaultOptionsWindow) {
+ VaultListContextMenuController(ObjectProperty selectedVault, @MainWindow Stage mainWindow, FxApplicationWindows appWindows, VaultService vaultService, KeychainManager keychain, RemoveVaultComponent.Builder removeVault, VaultOptionsComponent.Factory vaultOptionsWindow) {
this.selectedVault = EasyBind.wrapNullable(selectedVault);
this.mainWindow = mainWindow;
this.appWindows = appWindows;
@@ -69,7 +69,7 @@ public class VaultListContextMenuController implements FxController {
@FXML
public void didClickShowVaultOptions() {
selectedVault.ifValuePresent(v -> {
- vaultOptionsWindow.vault(v).build().showVaultOptionsWindow(SelectedVaultOptionsTab.ANY);
+ vaultOptionsWindow.create(v).showVaultOptionsWindow(SelectedVaultOptionsTab.ANY);
});
}
diff --git a/src/main/java/org/cryptomator/ui/mainwindow/WelcomeController.java b/src/main/java/org/cryptomator/ui/mainwindow/WelcomeController.java
index 34e5af125..e483c265b 100644
--- a/src/main/java/org/cryptomator/ui/mainwindow/WelcomeController.java
+++ b/src/main/java/org/cryptomator/ui/mainwindow/WelcomeController.java
@@ -16,7 +16,7 @@ import javafx.fxml.FXML;
public class WelcomeController implements FxController {
private static final Logger LOG = LoggerFactory.getLogger(WelcomeController.class);
- private static final String GETTING_STARTED_URI = "https://docs.cryptomator.org/en/1.5/desktop/getting-started/";
+ private static final String GETTING_STARTED_URI = "https://docs.cryptomator.org/en/1.6/desktop/getting-started/";
private final Application application;
private final BooleanBinding noVaultPresent;
diff --git a/src/main/java/org/cryptomator/ui/migration/MigrationImpossibleController.java b/src/main/java/org/cryptomator/ui/migration/MigrationImpossibleController.java
index 4799d0325..2cfe14551 100644
--- a/src/main/java/org/cryptomator/ui/migration/MigrationImpossibleController.java
+++ b/src/main/java/org/cryptomator/ui/migration/MigrationImpossibleController.java
@@ -10,7 +10,7 @@ import javafx.stage.Stage;
public class MigrationImpossibleController implements FxController {
- private static final String HELP_URI = "https://docs.cryptomator.org/en/1.5/help/manual-migration/";
+ private static final String HELP_URI = "https://docs.cryptomator.org/en/1.6/help/manual-migration/";
private final Application application;
private final Stage window;
diff --git a/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java b/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
index d33e919b6..ace6dadca 100644
--- a/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
+++ b/src/main/java/org/cryptomator/ui/preferences/GeneralPreferencesController.java
@@ -36,6 +36,7 @@ public class GeneralPreferencesController implements FxController {
private final FxApplicationWindows appWindows;
public ChoiceBox keychainBackendChoiceBox;
public CheckBox startHiddenCheckbox;
+ public CheckBox autoCloseVaultsCheckbox;
public CheckBox debugModeCheckbox;
public CheckBox autoStartCheckbox;
public ToggleGroup nodeOrientation;
@@ -54,9 +55,8 @@ public class GeneralPreferencesController implements FxController {
@FXML
public void initialize() {
startHiddenCheckbox.selectedProperty().bindBidirectional(settings.startHidden());
-
+ autoCloseVaultsCheckbox.selectedProperty().bindBidirectional(settings.autoCloseVaults());
debugModeCheckbox.selectedProperty().bindBidirectional(settings.debugMode());
-
autoStartProvider.ifPresent(autoStart -> autoStartCheckbox.setSelected(autoStart.isEnabled()));
var keychainSettingsConverter = new KeychainProviderClassNameConverter(keychainAccessProviders);
diff --git a/src/main/java/org/cryptomator/ui/quit/QuitComponent.java b/src/main/java/org/cryptomator/ui/quit/QuitComponent.java
index e100c52e9..801aece51 100644
--- a/src/main/java/org/cryptomator/ui/quit/QuitComponent.java
+++ b/src/main/java/org/cryptomator/ui/quit/QuitComponent.java
@@ -13,6 +13,7 @@ import org.cryptomator.ui.common.FxmlScene;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.awt.desktop.QuitResponse;
+import java.util.concurrent.atomic.AtomicReference;
@QuitScoped
@Subcomponent(modules = {QuitModule.class})
@@ -22,23 +23,28 @@ public interface QuitComponent {
Stage window();
@FxmlScene(FxmlFile.QUIT)
- Lazy scene();
+ Lazy quitScene();
- QuitController controller();
+ @FxmlScene(FxmlFile.QUIT_FORCED)
+ Lazy quitForcedScene();
- default Stage showQuitWindow(QuitResponse response) {
- controller().updateQuitRequest(response);
+ @QuitWindow
+ AtomicReference quitResponse();
+
+ default void showQuitWindow(QuitResponse response, boolean forced) {
Stage stage = window();
- stage.setScene(scene().get());
+ quitResponse().set(response);
+ if(forced){
+ stage.setScene(quitForcedScene().get());
+ } else{
+ stage.setScene(quitScene().get());
+ }
+ stage.sizeToScene();
stage.show();
- stage.requestFocus();
- return stage;
}
@Subcomponent.Builder
interface Builder {
-
QuitComponent build();
}
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/cryptomator/ui/quit/QuitController.java b/src/main/java/org/cryptomator/ui/quit/QuitController.java
index 207ae42c8..7a53f5b93 100644
--- a/src/main/java/org/cryptomator/ui/quit/QuitController.java
+++ b/src/main/java/org/cryptomator/ui/quit/QuitController.java
@@ -1,7 +1,10 @@
package org.cryptomator.ui.quit;
+import dagger.Lazy;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.common.FxController;
+import org.cryptomator.ui.common.FxmlFile;
+import org.cryptomator.ui.common.FxmlScene;
import org.cryptomator.ui.common.VaultService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -10,6 +13,7 @@ import javax.inject.Inject;
import javafx.collections.ObservableList;
import javafx.concurrent.Task;
import javafx.fxml.FXML;
+import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ContentDisplay;
import javafx.stage.Stage;
@@ -29,27 +33,22 @@ public class QuitController implements FxController {
private final ObservableList unlockedVaults;
private final ExecutorService executorService;
private final VaultService vaultService;
- private final AtomicReference quitResponse = new AtomicReference<>();
-
+ private final AtomicReference quitResponse;
+ private final Lazy quitForcedScene;
/* FXML */
public Button lockAndQuitButton;
@Inject
- QuitController(@QuitWindow Stage window, ObservableList vaults, ExecutorService executorService, VaultService vaultService) {
+ QuitController(@QuitWindow Stage window, ObservableList vaults, ExecutorService executorService, VaultService vaultService, @FxmlScene(FxmlFile.QUIT_FORCED) Lazy quitForcedScene, @QuitWindow AtomicReference quitResponse) {
this.window = window;
this.unlockedVaults = vaults.filtered(Vault::isUnlocked);
this.executorService = executorService;
this.vaultService = vaultService;
+ this.quitForcedScene = quitForcedScene;
+ this.quitResponse = quitResponse;
window.setOnCloseRequest(windowEvent -> cancel());
}
- public void updateQuitRequest(QuitResponse newResponse) {
- var oldResponse = quitResponse.getAndSet(newResponse);
- if (oldResponse != null) {
- oldResponse.cancelQuit();
- }
- }
-
private void respondToQuitRequest(Consumer action) {
var response = quitResponse.getAndSet(null);
if (response != null) {
@@ -79,13 +78,8 @@ public class QuitController implements FxController {
});
lockAllTask.setOnFailed(evt -> {
LOG.warn("Locking failed", lockAllTask.getException());
- lockAndQuitButton.setDisable(false);
- lockAndQuitButton.setContentDisplay(ContentDisplay.TEXT_ONLY);
- // TODO: show force lock or force quit scene (and DO NOT cancelQuit() here!) (see https://github.com/cryptomator/cryptomator/pull/1416)
- window.close();
- respondToQuitRequest(QuitResponse::cancelQuit);
+ window.setScene(quitForcedScene.get());
});
executorService.execute(lockAllTask);
}
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/org/cryptomator/ui/quit/QuitForcedController.java b/src/main/java/org/cryptomator/ui/quit/QuitForcedController.java
new file mode 100644
index 000000000..64e99d39c
--- /dev/null
+++ b/src/main/java/org/cryptomator/ui/quit/QuitForcedController.java
@@ -0,0 +1,86 @@
+package org.cryptomator.ui.quit;
+
+import org.cryptomator.common.vaults.Vault;
+import org.cryptomator.ui.common.FxController;
+import org.cryptomator.ui.common.VaultService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.inject.Inject;
+import javafx.collections.ObservableList;
+import javafx.concurrent.Task;
+import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+import javafx.scene.control.ContentDisplay;
+import javafx.stage.Stage;
+import java.awt.desktop.QuitResponse;
+import java.util.Collection;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.function.Consumer;
+import java.util.stream.Collectors;
+
+public class QuitForcedController implements FxController {
+
+ private static final Logger LOG = LoggerFactory.getLogger(QuitForcedController.class);
+
+ private final Stage window;
+ private final ObservableList unlockedVaults;
+ private final ExecutorService executorService;
+ private final VaultService vaultService;
+ private final AtomicReference quitResponse;
+
+ /* FXML */
+ public Button forceLockAndQuitButton;
+
+ @Inject
+ QuitForcedController(@QuitWindow Stage window, ObservableList vaults, ExecutorService executorService, VaultService vaultService, @QuitWindow AtomicReference quitResponse) {
+ this.window = window;
+ this.unlockedVaults = vaults.filtered(Vault::isUnlocked);
+ this.executorService = executorService;
+ this.vaultService = vaultService;
+ this.quitResponse = quitResponse;
+ window.setOnCloseRequest(windowEvent -> cancel());
+ }
+
+ private void respondToQuitRequest(Consumer action) {
+ var response = quitResponse.getAndSet(null);
+ if (response != null) {
+ action.accept(response);
+ }
+ }
+
+ @FXML
+ public void cancel() {
+ LOG.info("Quitting application forced canceled by user.");
+ window.close();
+ respondToQuitRequest(QuitResponse::cancelQuit);
+ }
+
+ @FXML
+ public void forceLockAndQuit() {
+ forceLockAndQuitButton.setDisable(true);
+ forceLockAndQuitButton.setContentDisplay(ContentDisplay.LEFT);
+
+ Task> lockAllTask = vaultService.createLockAllTask(unlockedVaults, true); // forced set to true
+ lockAllTask.setOnSucceeded(evt -> {
+ LOG.info("Locked {}", lockAllTask.getValue().stream().map(Vault::getDisplayName).collect(Collectors.joining(", ")));
+ if (unlockedVaults.isEmpty()) {
+ window.close();
+ respondToQuitRequest(QuitResponse::performQuit);
+ }
+ });
+ lockAllTask.setOnFailed(evt -> {
+ //TODO: what will happen if force lock and quit app fails?
+
+ LOG.error("Forced locking failed", lockAllTask.getException());
+ forceLockAndQuitButton.setDisable(false);
+ forceLockAndQuitButton.setContentDisplay(ContentDisplay.TEXT_ONLY);
+
+ window.close();
+ respondToQuitRequest(QuitResponse::cancelQuit);
+ });
+ executorService.execute(lockAllTask);
+ }
+
+}
diff --git a/src/main/java/org/cryptomator/ui/quit/QuitModule.java b/src/main/java/org/cryptomator/ui/quit/QuitModule.java
index ee90d747b..f6615b321 100644
--- a/src/main/java/org/cryptomator/ui/quit/QuitModule.java
+++ b/src/main/java/org/cryptomator/ui/quit/QuitModule.java
@@ -5,10 +5,10 @@ import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoMap;
import org.cryptomator.ui.common.DefaultSceneFactory;
-import org.cryptomator.ui.common.FxmlLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
import org.cryptomator.ui.common.FxmlFile;
+import org.cryptomator.ui.common.FxmlLoaderFactory;
import org.cryptomator.ui.common.FxmlScene;
import org.cryptomator.ui.common.StageFactory;
@@ -16,8 +16,10 @@ import javax.inject.Provider;
import javafx.scene.Scene;
import javafx.stage.Modality;
import javafx.stage.Stage;
+import java.awt.desktop.QuitResponse;
import java.util.Map;
import java.util.ResourceBundle;
+import java.util.concurrent.atomic.AtomicReference;
@Module
abstract class QuitModule {
@@ -32,14 +34,23 @@ abstract class QuitModule {
@Provides
@QuitWindow
@QuitScoped
- static Stage provideStage(StageFactory factory) {
+ static Stage provideStage(StageFactory factory, ResourceBundle resourceBundle) {
Stage stage = factory.create();
+ stage.setTitle(resourceBundle.getString("quit.title"));
stage.setMinWidth(300);
stage.setMinHeight(100);
stage.initModality(Modality.APPLICATION_MODAL);
return stage;
}
+ @Provides
+ @QuitWindow
+ @QuitScoped
+ static AtomicReference provideQuitResponse() {
+ return new AtomicReference();
+ }
+
+
@Provides
@FxmlScene(FxmlFile.QUIT)
@QuitScoped
@@ -47,6 +58,14 @@ abstract class QuitModule {
return fxmlLoaders.createScene(FxmlFile.QUIT);
}
+ @Provides
+ @FxmlScene(FxmlFile.QUIT_FORCED)
+ @QuitScoped
+ static Scene provideQuitForcedScene(@QuitWindow FxmlLoaderFactory fxmlLoaders) {
+ return fxmlLoaders.createScene(FxmlFile.QUIT_FORCED);
+ }
+
+
// ------------------
@Binds
@@ -54,4 +73,9 @@ abstract class QuitModule {
@FxControllerKey(QuitController.class)
abstract FxController bindQuitController(QuitController controller);
+ @Binds
+ @IntoMap
+ @FxControllerKey(QuitForcedController.class)
+ abstract FxController bindQuitForcedController(QuitForcedController controller);
+
}
diff --git a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyCreationController.java b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyCreationController.java
index 87dcbd0e8..77f191015 100644
--- a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyCreationController.java
+++ b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyCreationController.java
@@ -20,6 +20,7 @@ import javafx.fxml.FXML;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;
+import java.util.ResourceBundle;
import java.util.concurrent.ExecutorService;
@RecoveryKeyScoped
@@ -37,8 +38,9 @@ public class RecoveryKeyCreationController implements FxController {
public NiceSecurePasswordField passwordField;
@Inject
- public RecoveryKeyCreationController(@RecoveryKeyWindow Stage window, @FxmlScene(FxmlFile.RECOVERYKEY_SUCCESS) Lazy successScene, @RecoveryKeyWindow Vault vault, RecoveryKeyFactory recoveryKeyFactory, ExecutorService executor, @RecoveryKeyWindow StringProperty recoveryKey, FxApplicationWindows appWindows) {
+ public RecoveryKeyCreationController(@RecoveryKeyWindow Stage window, @FxmlScene(FxmlFile.RECOVERYKEY_SUCCESS) Lazy successScene, @RecoveryKeyWindow Vault vault, RecoveryKeyFactory recoveryKeyFactory, ExecutorService executor, @RecoveryKeyWindow StringProperty recoveryKey, FxApplicationWindows appWindows, ResourceBundle resourceBundle) {
this.window = window;
+ window.setTitle(resourceBundle.getString("recoveryKey.display.title"));
this.successScene = successScene;
this.vault = vault;
this.executor = executor;
diff --git a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyModule.java b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyModule.java
index 0522e3a8d..a5a0b7ec8 100644
--- a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyModule.java
+++ b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyModule.java
@@ -53,9 +53,8 @@ abstract class RecoveryKeyModule {
@Provides
@RecoveryKeyWindow
@RecoveryKeyScoped
- static Stage provideStage(StageFactory factory, ResourceBundle resourceBundle, @Named("keyRecoveryOwner") Stage owner) {
+ static Stage provideStage(StageFactory factory, @Named("keyRecoveryOwner") Stage owner) {
Stage stage = factory.create();
- stage.setTitle(resourceBundle.getString("recoveryKey.title"));
stage.setResizable(false);
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(owner);
@@ -99,6 +98,14 @@ abstract class RecoveryKeyModule {
return fxmlLoaders.createScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD);
}
+ @Provides
+ @FxmlScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD_SUCCESS)
+ @RecoveryKeyScoped
+ static Scene provideRecoveryKeyResetPasswordSuccessScene(@RecoveryKeyWindow FxmlLoaderFactory fxmlLoaders) {
+ return fxmlLoaders.createScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD_SUCCESS);
+ }
+
+
// ------------------
@Binds
@@ -128,6 +135,11 @@ abstract class RecoveryKeyModule {
@FxControllerKey(RecoveryKeyResetPasswordController.class)
abstract FxController bindRecoveryKeyResetPasswordController(RecoveryKeyResetPasswordController controller);
+ @Binds
+ @IntoMap
+ @FxControllerKey(RecoveryKeyResetPasswordSuccessController.class)
+ abstract FxController bindRecoveryKeyResetPasswordSuccessController(RecoveryKeyResetPasswordSuccessController controller);
+
@Provides
@IntoMap
@FxControllerKey(NewPasswordController.class)
diff --git a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyRecoverController.java b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyRecoverController.java
index e05a73169..61cdebcd9 100644
--- a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyRecoverController.java
+++ b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyRecoverController.java
@@ -26,6 +26,7 @@ import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent;
import javafx.stage.Stage;
import java.util.Optional;
+import java.util.ResourceBundle;
@RecoveryKeyScoped
public class RecoveryKeyRecoverController implements FxController {
@@ -45,8 +46,9 @@ public class RecoveryKeyRecoverController implements FxController {
public TextArea textarea;
@Inject
- public RecoveryKeyRecoverController(@RecoveryKeyWindow Stage window, @RecoveryKeyWindow Vault vault, @RecoveryKeyWindow @Nullable VaultConfig.UnverifiedVaultConfig unverifiedVaultConfig, @RecoveryKeyWindow StringProperty recoveryKey, RecoveryKeyFactory recoveryKeyFactory, @FxmlScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD) Lazy resetPasswordScene) {
+ public RecoveryKeyRecoverController(@RecoveryKeyWindow Stage window, @RecoveryKeyWindow Vault vault, @RecoveryKeyWindow @Nullable VaultConfig.UnverifiedVaultConfig unverifiedVaultConfig, @RecoveryKeyWindow StringProperty recoveryKey, RecoveryKeyFactory recoveryKeyFactory, @FxmlScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD) Lazy resetPasswordScene, ResourceBundle resourceBundle) {
this.window = window;
+ window.setTitle(resourceBundle.getString("recoveryKey.recover.title"));
this.vault = vault;
this.unverifiedVaultConfig = unverifiedVaultConfig;
this.recoveryKey = recoveryKey;
diff --git a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordController.java b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordController.java
index ca3c4e041..69e1373e1 100644
--- a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordController.java
+++ b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordController.java
@@ -30,41 +30,40 @@ public class RecoveryKeyResetPasswordController implements FxController {
private final RecoveryKeyFactory recoveryKeyFactory;
private final ExecutorService executor;
private final StringProperty recoveryKey;
- private final Lazy recoverScene;
+ private final Lazy recoverResetPasswordSuccessScene;
private final FxApplicationWindows appWindows;
public NewPasswordController newPasswordController;
@Inject
- public RecoveryKeyResetPasswordController(@RecoveryKeyWindow Stage window, @RecoveryKeyWindow Vault vault, RecoveryKeyFactory recoveryKeyFactory, ExecutorService executor, @RecoveryKeyWindow StringProperty recoveryKey, @FxmlScene(FxmlFile.RECOVERYKEY_RECOVER) Lazy recoverScene, FxApplicationWindows appWindows) {
+ public RecoveryKeyResetPasswordController(@RecoveryKeyWindow Stage window, @RecoveryKeyWindow Vault vault, RecoveryKeyFactory recoveryKeyFactory, ExecutorService executor, @RecoveryKeyWindow StringProperty recoveryKey, @FxmlScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD_SUCCESS) Lazy recoverResetPasswordSuccessScene, FxApplicationWindows appWindows) {
this.window = window;
this.vault = vault;
this.recoveryKeyFactory = recoveryKeyFactory;
this.executor = executor;
this.recoveryKey = recoveryKey;
- this.recoverScene = recoverScene;
+ this.recoverResetPasswordSuccessScene = recoverResetPasswordSuccessScene;
this.appWindows = appWindows;
}
@FXML
- public void back() {
- window.setScene(recoverScene.get());
+ public void close() {
+ window.close();
}
@FXML
- public void done() {
+ public void resetPassword() {
Task task = new ResetPasswordTask();
task.setOnScheduled(event -> {
LOG.debug("Using recovery key to reset password for {}.", vault.getDisplayablePath());
});
task.setOnSucceeded(event -> {
LOG.info("Used recovery key to reset password for {}.", vault.getDisplayablePath());
- // TODO show success screen
- window.close();
+ window.setScene(recoverResetPasswordSuccessScene.get());
});
task.setOnFailed(event -> {
LOG.error("Resetting password failed.", task.getException());
- appWindows.showErrorWindow(task.getException(), window, recoverScene.get());
+ appWindows.showErrorWindow(task.getException(), window, null);
});
executor.submit(task);
}
@@ -85,11 +84,11 @@ public class RecoveryKeyResetPasswordController implements FxController {
/* Getter/Setter */
- public ReadOnlyBooleanProperty validPasswordProperty() {
+ public ReadOnlyBooleanProperty passwordSufficientAndMatchingProperty() {
return newPasswordController.goodPasswordProperty();
}
- public boolean isValidPassword() {
+ public boolean isPasswordSufficientAndMatching() {
return newPasswordController.isGoodPassword();
}
diff --git a/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordSuccessController.java b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordSuccessController.java
new file mode 100644
index 000000000..b8b106d8b
--- /dev/null
+++ b/src/main/java/org/cryptomator/ui/recoverykey/RecoveryKeyResetPasswordSuccessController.java
@@ -0,0 +1,24 @@
+package org.cryptomator.ui.recoverykey;
+
+import org.cryptomator.ui.common.FxController;
+
+import javax.inject.Inject;
+import javafx.fxml.FXML;
+import javafx.stage.Stage;
+
+@RecoveryKeyScoped
+public class RecoveryKeyResetPasswordSuccessController implements FxController {
+
+ private final Stage window;
+
+ @Inject
+ public RecoveryKeyResetPasswordSuccessController(@RecoveryKeyWindow Stage window) {
+ this.window = window;
+ }
+
+ @FXML
+ public void close() {
+ window.close();
+ }
+
+}
diff --git a/src/main/java/org/cryptomator/ui/removevault/RemoveVaultModule.java b/src/main/java/org/cryptomator/ui/removevault/RemoveVaultModule.java
index 4288e9c7c..2fcac4add 100644
--- a/src/main/java/org/cryptomator/ui/removevault/RemoveVaultModule.java
+++ b/src/main/java/org/cryptomator/ui/removevault/RemoveVaultModule.java
@@ -4,6 +4,7 @@ import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoMap;
+import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -33,9 +34,9 @@ abstract class RemoveVaultModule {
@Provides
@RemoveVaultWindow
@RemoveVaultScoped
- static Stage provideStage(StageFactory factory, @PrimaryStage Stage primaryStage, ResourceBundle resourceBundle) {
+ static Stage provideStage(StageFactory factory, @PrimaryStage Stage primaryStage, @RemoveVaultWindow Vault vault, ResourceBundle resourceBundle) {
Stage stage = factory.create();
- stage.setTitle(resourceBundle.getString("removeVault.title"));
+ stage.setTitle(String.format(resourceBundle.getString("removeVault.title"), vault.getDisplayName()));
stage.setResizable(false);
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(primaryStage);
diff --git a/src/main/java/org/cryptomator/ui/vaultoptions/MasterkeyOptionsController.java b/src/main/java/org/cryptomator/ui/vaultoptions/MasterkeyOptionsController.java
index fb9d6b711..a9bc88cf7 100644
--- a/src/main/java/org/cryptomator/ui/vaultoptions/MasterkeyOptionsController.java
+++ b/src/main/java/org/cryptomator/ui/vaultoptions/MasterkeyOptionsController.java
@@ -5,6 +5,7 @@ import org.cryptomator.common.vaults.Vault;
import org.cryptomator.integrations.keychain.KeychainAccessException;
import org.cryptomator.ui.changepassword.ChangePasswordComponent;
import org.cryptomator.ui.common.FxController;
+import org.cryptomator.ui.forgetPassword.ForgetPasswordComponent;
import org.cryptomator.ui.recoverykey.RecoveryKeyComponent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -25,16 +26,18 @@ public class MasterkeyOptionsController implements FxController {
private final Stage window;
private final ChangePasswordComponent.Builder changePasswordWindow;
private final RecoveryKeyComponent.Builder recoveryKeyWindow;
+ private final ForgetPasswordComponent.Builder forgetPasswordWindow;
private final KeychainManager keychain;
private final BooleanExpression passwordSaved;
@Inject
- MasterkeyOptionsController(@VaultOptionsWindow Vault vault, @VaultOptionsWindow Stage window, ChangePasswordComponent.Builder changePasswordWindow, RecoveryKeyComponent.Builder recoveryKeyWindow, KeychainManager keychain) {
+ MasterkeyOptionsController(@VaultOptionsWindow Vault vault, @VaultOptionsWindow Stage window, ChangePasswordComponent.Builder changePasswordWindow, RecoveryKeyComponent.Builder recoveryKeyWindow, ForgetPasswordComponent.Builder forgetPasswordWindow, KeychainManager keychain) {
this.vault = vault;
this.window = window;
this.changePasswordWindow = changePasswordWindow;
this.recoveryKeyWindow = recoveryKeyWindow;
+ this.forgetPasswordWindow = forgetPasswordWindow;
this.keychain = keychain;
if (keychain.isSupported() && !keychain.isLocked()) {
this.passwordSaved = Bindings.createBooleanBinding(this::isPasswordSaved, keychain.getPassphraseStoredProperty(vault.getId()));
@@ -54,19 +57,14 @@ public class MasterkeyOptionsController implements FxController {
}
@FXML
- public void showRecoverVaultDialogue() {
+ public void showRecoverVaultDialog() {
recoveryKeyWindow.vault(vault).owner(window).build().showRecoveryKeyRecoverWindow();
}
@FXML
- public void removePasswordFromKeychain() {
+ public void showForgetPasswordDialog() {
assert keychain.isSupported();
- try {
- keychain.deletePassphrase(vault.getId());
- } catch (KeychainAccessException e) {
- LOG.error("Failed to delete passphrase from system keychain.", e);
- }
- window.close();
+ forgetPasswordWindow.vault(vault).owner(window).build().showForgetPassword();
}
public BooleanExpression passwordSavedProperty() {
diff --git a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsComponent.java b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsComponent.java
index e56c30f5c..ac749132a 100644
--- a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsComponent.java
+++ b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsComponent.java
@@ -36,13 +36,10 @@ public interface VaultOptionsComponent {
stage.requestFocus();
}
- @Subcomponent.Builder
- interface Builder {
+ @Subcomponent.Factory
+ interface Factory {
- @BindsInstance
- Builder vault(@VaultOptionsWindow Vault vault);
-
- VaultOptionsComponent build();
+ VaultOptionsComponent create(@BindsInstance @VaultOptionsWindow Vault vault);
}
}
diff --git a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java
index 15879e316..c0023acb8 100644
--- a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java
+++ b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsController.java
@@ -1,5 +1,6 @@
package org.cryptomator.ui.vaultoptions;
+import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.common.FxController;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -18,6 +19,7 @@ public class VaultOptionsController implements FxController {
private static final Logger LOG = LoggerFactory.getLogger(VaultOptionsController.class);
private final Stage window;
+ private final Vault vault;
private final ObjectProperty selectedTabProperty;
public TabPane tabPane;
public Tab generalTab;
@@ -25,8 +27,9 @@ public class VaultOptionsController implements FxController {
public Tab keyTab;
@Inject
- VaultOptionsController(@VaultOptionsWindow Stage window, ObjectProperty selectedTabProperty) {
+ VaultOptionsController(@VaultOptionsWindow Stage window, @VaultOptionsWindow Vault vault, ObjectProperty selectedTabProperty) {
this.window = window;
+ this.vault = vault;
this.selectedTabProperty = selectedTabProperty;
}
@@ -35,6 +38,9 @@ public class VaultOptionsController implements FxController {
window.setOnShowing(this::windowWillAppear);
selectedTabProperty.addListener(observable -> this.selectChosenTab());
tabPane.getSelectionModel().selectedItemProperty().addListener(observable -> this.selectedTabChanged());
+ if(!vault.getVaultConfigCache().getUnchecked().getKeyId().getScheme().equals("masterkeyfile")){
+ tabPane.getTabs().remove(keyTab);
+ }
}
private void selectChosenTab() {
diff --git a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsModule.java b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsModule.java
index e6966da64..a9014cc54 100644
--- a/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsModule.java
+++ b/src/main/java/org/cryptomator/ui/vaultoptions/VaultOptionsModule.java
@@ -13,6 +13,7 @@ import org.cryptomator.ui.common.FxmlFile;
import org.cryptomator.ui.common.FxmlLoaderFactory;
import org.cryptomator.ui.common.FxmlScene;
import org.cryptomator.ui.common.StageFactory;
+import org.cryptomator.ui.forgetPassword.ForgetPasswordComponent;
import org.cryptomator.ui.fxapp.PrimaryStage;
import org.cryptomator.ui.recoverykey.RecoveryKeyComponent;
@@ -25,7 +26,7 @@ import javafx.stage.Stage;
import java.util.Map;
import java.util.ResourceBundle;
-@Module(subcomponents = {ChangePasswordComponent.class, RecoveryKeyComponent.class})
+@Module(subcomponents = {ChangePasswordComponent.class, RecoveryKeyComponent.class, ForgetPasswordComponent.class})
abstract class VaultOptionsModule {
@Provides
diff --git a/src/main/java/org/cryptomator/ui/wrongfilealert/WrongFileAlertController.java b/src/main/java/org/cryptomator/ui/wrongfilealert/WrongFileAlertController.java
index 7f05e5287..389449d55 100644
--- a/src/main/java/org/cryptomator/ui/wrongfilealert/WrongFileAlertController.java
+++ b/src/main/java/org/cryptomator/ui/wrongfilealert/WrongFileAlertController.java
@@ -15,7 +15,7 @@ import java.io.UncheckedIOException;
@WrongFileAlertScoped
public class WrongFileAlertController implements FxController {
- private static final String DOCUMENTATION_URI = "https://docs.cryptomator.org/en/1.5/desktop/accessing-vaults/";
+ private static final String DOCUMENTATION_URI = "https://docs.cryptomator.org/en/1.6/desktop/accessing-vaults/";
private final Application app;
private final Stage window;
@@ -30,6 +30,7 @@ public class WrongFileAlertController implements FxController {
@FXML
public void initialize() {
+ //TODO: add dark-mode screens
final String resource = SystemUtils.IS_OS_MAC ? "/img/vault-volume-mac.png" : "/img/vault-volume-win.png";
try (InputStream in = getClass().getResourceAsStream(resource)) {
this.screenshot = new Image(in);
diff --git a/src/main/resources/css/dark_theme.css b/src/main/resources/css/dark_theme.css
index a00e46845..32bddbbf1 100644
--- a/src/main/resources/css/dark_theme.css
+++ b/src/main/resources/css/dark_theme.css
@@ -16,10 +16,6 @@
src: url('opensans-bold.ttf');
}
-@font-face {
- src: url('quicksand-bold.ttf');
-}
-
/*******************************************************************************
* *
* Root Styling & Colors *
@@ -46,6 +42,8 @@
GRAY_8: #D3DCE1;
GRAY_9: #EDF3F7;
+ GREEN_3: PRIMARY_D1;
+ GREEN_5: PRIMARY;
RED_5: #E74C3C;
ORANGE_5: #E67E22;
YELLOW_5: #F1C40F;
@@ -100,11 +98,16 @@
-fx-text-fill: TEXT_FILL_MUTED;
}
-.label-large {
+.label-extra-large {
-fx-font-family: 'Open Sans SemiBold';
-fx-font-size: 1.5em;
}
+.label-large {
+ -fx-font-family: 'Open Sans SemiBold';
+ -fx-font-size: 1.2em;
+}
+
.label-small {
-fx-font-size: 0.8em;
}
@@ -179,14 +182,6 @@
-fx-background-insets: 0, 0 0 1px 0;
}
-.main-window .title .label {
- -fx-font-family: 'Quicksand';
- -fx-font-size: 16px;
- -fx-font-style: normal;
- -fx-font-weight: 700;
- -fx-text-fill: TITLE_TEXT_FILL;
-}
-
.main-window .title .button {
-fx-pref-height: 30px;
-fx-pref-width: 30px;
@@ -405,7 +400,6 @@
-fx-background-color: MUTED_BG;
}
-
/* Note: These values below are kinda random such that it looks ok. I'm pretty sure there is room for improvement. Additionally, fx-text-fill does not work*/
.badge-debug {
-fx-font-family: 'Open Sans Bold';
@@ -439,11 +433,11 @@
}
.password-strength-indicator.strength-3 .segment.active {
- -fx-background-color: PRIMARY;
+ -fx-background-color: GREEN_5;
}
.password-strength-indicator.strength-4 .segment.active {
- -fx-background-color: PRIMARY_D1;
+ -fx-background-color: GREEN_3;
}
/*******************************************************************************
@@ -834,6 +828,7 @@
-fx-background-color: PROGRESS_BAR_BG;
-fx-background-radius: 4px;
}
+
/*******************************************************************************
* *
* I/O Statistics *
@@ -884,6 +879,7 @@
.default-color0.chart-series-area-line {
-fx-stroke: PRIMARY;
}
+
.default-color0.chart-series-area-fill {
-fx-fill: linear-gradient(to bottom, PRIMARY, transparent);
-fx-stroke: transparent;
diff --git a/src/main/resources/css/light_theme.css b/src/main/resources/css/light_theme.css
index 09c743705..a6cd67af9 100644
--- a/src/main/resources/css/light_theme.css
+++ b/src/main/resources/css/light_theme.css
@@ -16,10 +16,6 @@
src: url('opensans-bold.ttf');
}
-@font-face {
- src: url('quicksand-bold.ttf');
-}
-
/*******************************************************************************
* *
* Root Styling & Colors *
@@ -46,6 +42,8 @@
GRAY_8: #E1E1E1;
GRAY_9: #F7F7F7;
+ GREEN_3: PRIMARY_D1;
+ GREEN_5: PRIMARY;
RED_5: #E74C3C;
ORANGE_5: #E67E22;
YELLOW_5: #F1C40F;
@@ -100,11 +98,16 @@
-fx-text-fill: TEXT_FILL_MUTED;
}
-.label-large {
+.label-extra-large {
-fx-font-family: 'Open Sans SemiBold';
-fx-font-size: 1.5em;
}
+.label-large {
+ -fx-font-family: 'Open Sans SemiBold';
+ -fx-font-size: 1.2em;
+}
+
.label-small {
-fx-font-size: 0.8em;
}
@@ -178,14 +181,6 @@
-fx-background-color: TITLE_BG;
}
-.main-window .title .label {
- -fx-font-family: 'Quicksand';
- -fx-font-size: 16px;
- -fx-font-style: normal;
- -fx-font-weight: 700;
- -fx-text-fill: TITLE_TEXT_FILL;
-}
-
.main-window .title .button {
-fx-pref-height: 30px;
-fx-pref-width: 30px;
@@ -437,11 +432,11 @@
}
.password-strength-indicator.strength-3 .segment.active {
- -fx-background-color: PRIMARY;
+ -fx-background-color: GREEN_5;
}
.password-strength-indicator.strength-4 .segment.active {
- -fx-background-color: PRIMARY_D1;
+ -fx-background-color: GREEN_3;
}
/*******************************************************************************
@@ -832,22 +827,12 @@
-fx-background-color: PROGRESS_BAR_BG;
-fx-background-radius: 4px;
}
+
/*******************************************************************************
* *
* I/O Statistics *
* *
******************************************************************************/
-.chart {
- -fx-padding: 10px;
-}
-
-.chart-plot-background {
- -fx-background-color: MAIN_BG;
- -fx-padding: 20px;
-}
-
-/* content */
-
.cache-arc-background {
-fx-fill: transparent;
@@ -893,6 +878,7 @@
.default-color0.chart-series-area-line {
-fx-stroke: PRIMARY;
}
+
.default-color0.chart-series-area-fill {
-fx-fill: linear-gradient(to bottom, PRIMARY, transparent);
-fx-stroke: transparent;
diff --git a/src/main/resources/fxml/addvault_new_location.fxml b/src/main/resources/fxml/addvault_new_location.fxml
index 3c25ba569..343a2d580 100644
--- a/src/main/resources/fxml/addvault_new_location.fxml
+++ b/src/main/resources/fxml/addvault_new_location.fxml
@@ -31,12 +31,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/main/resources/fxml/recoverykey_display.fxml b/src/main/resources/fxml/recoverykey_display.fxml
index e0c934cfb..8b414d810 100644
--- a/src/main/resources/fxml/recoverykey_display.fxml
+++ b/src/main/resources/fxml/recoverykey_display.fxml
@@ -16,7 +16,7 @@
spacing="12"
alignment="TOP_LEFT">
-
+
diff --git a/src/main/resources/fxml/recoverykey_recover.fxml b/src/main/resources/fxml/recoverykey_recover.fxml
index 46b000ef2..89c54b5a4 100644
--- a/src/main/resources/fxml/recoverykey_recover.fxml
+++ b/src/main/resources/fxml/recoverykey_recover.fxml
@@ -25,6 +25,7 @@
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -65,4 +73,4 @@
-
+
diff --git a/src/main/resources/i18n/strings.properties b/src/main/resources/i18n/strings.properties
index 0ea837435..80158d313 100644
--- a/src/main/resources/i18n/strings.properties
+++ b/src/main/resources/i18n/strings.properties
@@ -7,18 +7,20 @@ generic.button.apply=Apply
generic.button.back=Back
generic.button.cancel=Cancel
generic.button.change=Change
+generic.button.choose=Choose…
generic.button.close=Close
generic.button.copy=Copy
generic.button.copied=Copied!
generic.button.done=Done
generic.button.next=Next
generic.button.print=Print
-## Error
-generic.error.title=Error %s
-generic.error.instruction=Oops! Cryptomator didn't expect this to happen. You can look up existing solutions for this error. Or if it has not been reported yet, feel free to do so.
-generic.error.hyperlink.lookup=Look up this error
-generic.error.hyperlink.report=Report this error
-generic.error.technicalDetails=Details:
+
+# Error
+error.message=An error occurred
+error.description=Cryptomator didn't expect this to happen. You can look up existing solutions for this error. Or if it has not been reported yet, feel free to do so.
+error.hyperlink.lookup=Look up this error
+error.hyperlink.report=Report this error
+error.technicalDetails=Details:
# Defaults
defaults.vault.vaultName=Vault
@@ -45,14 +47,19 @@ addvaultwizard.new.namePrompt=Vault Name
addvaultwizard.new.locationInstruction=Where should Cryptomator store the encrypted files of your vault?
addvaultwizard.new.locationLabel=Storage location
addvaultwizard.new.locationPrompt=…
-addvaultwizard.new.directoryPickerLabel=Custom Location
+addvaultwizard.new.directoryPickerLabel=Custom location
addvaultwizard.new.directoryPickerButton=Choose…
addvaultwizard.new.directoryPickerTitle=Select Directory
addvaultwizard.new.fileAlreadyExists=A file or directory with the vault name already exists
addvaultwizard.new.locationDoesNotExist=A directory in the specified path does not exist or cannot be accessed
addvaultwizard.new.locationIsNotWritable=No write access at the specified path
addvaultwizard.new.locationIsOk=Suitable location for your vault
-addvaultwizard.new.invalidName=Invalid vault name. Please consider a regular directory name.
+addvaultwizard.new.invalidName=Invalid vault name
+addvaultwizard.new.validName=Valid vault name
+addvaultwizard.new.validCharacters.message=The vault name may contain the following characters:
+addvaultwizard.new.validCharacters.chars=Word characters (e.g. a, ж or 수)
+addvaultwizard.new.validCharacters.numbers=Numbers
+addvaultwizard.new.validCharacters.dashes=Hyphen (%s) or underscore (%s)
### Password
addvaultwizard.new.createVaultBtn=Create Vault
addvaultwizard.new.generateRecoveryKeyChoice=You won't be able to access your data without your password. Do you want a recovery key for the case you lose your password?
@@ -79,13 +86,15 @@ addvault.new.readme.accessLocation.4=Feel free to remove this file.
addvaultwizard.existing.instruction=Choose the "vault.cryptomator" file of your existing vault. If only a file named "masterkey.cryptomator" exists, select that instead.
addvaultwizard.existing.chooseBtn=Choose…
addvaultwizard.existing.filePickerTitle=Select Vault File
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator Vault
## Success
addvaultwizard.success.nextStepsInstructions=Added vault "%s".\nYou need to unlock this vault to access or add contents. Alternatively you can unlock it at any later point in time.
addvaultwizard.success.unlockNow=Unlock Now
# Remove Vault
-removeVault.title=Remove Vault
-removeVault.information=This will only make Cryptomator forget about this vault. You can add it again later. No encrypted files will be deleted from your hard drive.
+removeVault.title=Remove "%s"
+removeVault.message=Remove vault?
+removeVault.description=This will only make Cryptomator forget about this vault. You can add it again. No encrypted files will be deleted from your hard drive.
removeVault.confirmBtn=Remove Vault
# Change Password
@@ -95,39 +104,65 @@ changepassword.finalConfirmation=I understand that I will not be able to access
# Forget Password
forgetPassword.title=Forget Password
-forgetPassword.information=This will delete the saved password of this vault from your system keychain.
+forgetPassword.message=Forget saved password?
+forgetPassword.description=This will delete the saved password of this vault from your system keychain.
forgetPassword.confirmBtn=Forget Password
# Unlock
unlock.title=Unlock "%s"
unlock.passwordPrompt=Enter password for "%s":
-unlock.savePassword=Remember Password
+unlock.savePassword=Remember password
unlock.unlockBtn=Unlock
## Select
-unlock.chooseMasterkey.title=Select Masterkey of "%s"
-unlock.chooseMasterkey.prompt=Could not find the masterkey file for this vault at its expected location. Please choose the key file manually.
-unlock.chooseMasterkey.chooseBtn=Choose…
+unlock.chooseMasterkey.message=Masterkey file not found
+unlock.chooseMasterkey.description=Cryptomator could not find the masterkey file for vault "%s". Please choose the key file manually.
unlock.chooseMasterkey.filePickerTitle=Select Masterkey File
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator Masterkey
## Success
-unlock.success.message=Unlocked "%s" successfully! Your vault is now accessible via its virtual drive.
-unlock.success.rememberChoice=Remember choice, don't show this again
+unlock.success.message=Unlock successful
+unlock.success.description=Content in vault "%s" is now accessible over its mount point.
+unlock.success.rememberChoice=Remember my choice, don't ask again
unlock.success.revealBtn=Reveal Drive
## Failure
-unlock.error.heading=Unable to unlock vault
+unlock.error.message=Unable to unlock vault
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Mount point "%s" is not a directory, not empty or does not exist.
unlock.error.invalidMountPoint.existing=Mount point "%s" already exists or parent folder is missing.
unlock.error.invalidMountPoint.driveLetterOccupied=Drive Letter "%s" is already in use.
+## Hub
+### Waiting
+hub.auth.message=Waiting for authentication…
+hub.auth.description=You should automatically be redirected to the login page.
+hub.auth.loginLink=Not redirected? Click here to open it.
+### Receive Key
+hub.receive.message=Processing response…
+hub.receive.description=Cryptomator is receiving and processing the response from Hub. Please wait.
+### Register Device
+hub.register.message=Device name required
+hub.register.description=This seems to be the first Hub access from this device. In order to identify it for access authorization, you need to name this device.
+hub.register.nameLabel=Device Name
+hub.register.occupiedMsg=Name already in use
+hub.register.registerBtn=Confirm
+### Registration Success
+hub.registerSuccess.message=Device named
+hub.registerSuccess.description=To access the vault, your device needs to be authorized by the vault owner.
+### Registration Failed
+hub.registerFailed.message=Device naming failed
+hub.registerFailed.description=An error was thrown in the naming process. For more details, look into the application log.
+### Unauthorized
+hub.unauthorized.message=Access denied
+hub.unauthorized.description=Your device has not yet been authorized to access this vault. Ask the vault owner to authorize it.
+
# Lock
## Force
-lock.forced.heading=Lock failed
-lock.forced.message=Locking "%s" was blocked by pending operations or open files. You can force lock this vault, however interrupting I/O may result in the loss of unsaved data.
+lock.forced.message=Lock failed
+lock.forced.description=Locking "%s" was blocked by pending operations or open files. You can force lock this vault, however interrupting I/O may result in the loss of unsaved data.
lock.forced.retryBtn=Retry
lock.forced.forceBtn=Force Lock
## Failure
-lock.fail.heading=Locking vault failed.
-lock.fail.message=Vault "%s" could not be locked. Ensure unsaved work is saved elsewhere and important Read/Write operations are finished. In order to close the vault, kill the Cryptomator process.
+lock.fail.message=Locking vault failed
+lock.fail.description=Vault "%s" could not be locked. Ensure unsaved work is saved elsewhere and important Read/Write operations are finished. In order to close the vault, kill the Cryptomator process.
# Migration
migration.title=Upgrade Vault
@@ -192,6 +227,7 @@ preferences.title=Preferences
## General
preferences.general=General
preferences.general.startHidden=Hide window when starting Cryptomator
+preferences.general.autoCloseVaults=Lock open vaults automatically when quitting application
preferences.general.debugLogging=Enable debug logging
preferences.general.debugDirectory=Reveal log files
preferences.general.autoStart=Launch Cryptomator on system start
@@ -267,7 +303,7 @@ main.closeBtn.tooltip=Close
main.minimizeBtn.tooltip=Minimize
main.preferencesBtn.tooltip=Preferences
main.debugModeEnabled.tooltip=Debug mode is enabled
-main.donationKeyMissing.tooltip=Please consider donating
+main.supporterCertificateMissing.tooltip=Please consider donating
## Drag 'n' Drop
main.dropZone.dropVault=Add this vault
main.dropZone.unknownDragboardContent=If you want to add a vault, drag it to this window
@@ -315,8 +351,8 @@ main.vaultDetail.error.windowTitle=Error loading vault
# Wrong File Alert
wrongFileAlert.title=How to Encrypt Files
-wrongFileAlert.header.title=Did you attempt to encrypt these files?
-wrongFileAlert.header.lead=For this purpose, Cryptomator provides a volume in your system file manager.
+wrongFileAlert.message=Did you attempt to encrypt these files?
+wrongFileAlert.description=For this purpose, Cryptomator provides a volume in your system file manager.
wrongFileAlert.instruction.0=To encrypt files, follow these steps:
wrongFileAlert.instruction.1=1. Unlock your vault.
wrongFileAlert.instruction.2=2. Click on "Reveal" to open the volume in your file manager.
@@ -338,8 +374,8 @@ vaultOptions.general.startHealthCheckBtn=Start Health Check
## Mount
vaultOptions.mount=Mounting
-vaultOptions.mount.readonly=Read-Only
-vaultOptions.mount.customMountFlags=Custom Mount Flags
+vaultOptions.mount.readonly=Read-only
+vaultOptions.mount.customMountFlags=Custom mount flags
vaultOptions.mount.winDriveLetterOccupied=occupied
vaultOptions.mount.mountPoint=Mount Point
vaultOptions.mount.mountPoint.auto=Automatically pick a suitable location
@@ -353,17 +389,27 @@ vaultOptions.masterkey.changePasswordBtn=Change Password
vaultOptions.masterkey.forgetSavedPasswordBtn=Forget Saved Password
vaultOptions.masterkey.recoveryKeyExplanation=A recovery key is your only means to restore access to a vault if you lose your password.
vaultOptions.masterkey.showRecoveryKeyBtn=Display Recovery Key
-vaultOptions.masterkey.recoverPasswordBtn=Recover Password
+vaultOptions.masterkey.recoverPasswordBtn=Reset Password
# Recovery Key
-recoveryKey.title=Recovery Key
-recoveryKey.enterPassword.prompt=Enter your password to show the recovery key for "%s":
-recoveryKey.display.message=The following recovery key can be used to restore access to "%s":
+## Display Recovery Key
+recoveryKey.display.title=Show Recovery Key
+recoveryKey.create.message=Password required
+recoveryKey.create.description=Enter the password for "%s" to show its recovery key.
+recoveryKey.display.description=The following recovery key can be used to restore access to "%s":
recoveryKey.display.StorageHints=Keep it somewhere very secure, e.g.:\n • Store it using a password manager\n • Save it on a USB flash drive\n • Print it on paper
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Reset Password
recoveryKey.recover.prompt=Enter your recovery key for "%s":
recoveryKey.recover.validKey=This is a valid recovery key
recoveryKey.printout.heading=Cryptomator Recovery Key\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=Reset
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Password reset successful
+recoveryKey.recover.resetSuccess.description=You can unlock your vault with the new password.
# New Password
newPassword.promptText=Enter a new password
@@ -378,5 +424,12 @@ passwordStrength.messageLabel.3=Strong
passwordStrength.messageLabel.4=Very strong
# Quit
-quit.prompt=Quit application? There are unlocked vaults.
-quit.lockAndQuit=Lock and Quit
+quit.title=Quit Application
+quit.message=There are unlocked vaults
+quit.description=Please confirm that you want to quit. Cryptomator will gracefully lock all unlocked vaults to prevent data loss.
+quit.lockAndQuitBtn=Lock and Quit
+
+# Forced Quit
+quit.forced.message=Some vaults could not be locked
+quit.forced.description=Locking vaults was blocked by pending operations or open files. You can force lock remaining vaults, however interrupting I/O may result in the loss of unsaved data.
+quit.forced.forceAndQuitBtn=Force and Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_ar.properties b/src/main/resources/i18n/strings_ar.properties
index be7ffd451..e2fe4c9a0 100644
--- a/src/main/resources/i18n/strings_ar.properties
+++ b/src/main/resources/i18n/strings_ar.properties
@@ -6,13 +6,16 @@ generic.button.apply=تطبيق
generic.button.back=رجوع
generic.button.cancel=الغاء
generic.button.change=تغيير
+generic.button.choose=اختر…
generic.button.close=إغلاق
generic.button.copy=نسخ
generic.button.copied=تم النسخ!
generic.button.done=تم
generic.button.next=التالي
generic.button.print=طباعة
-## Error
+
+# Error
+error.message=حدث خطأ ما
# Defaults
defaults.vault.vaultName=مخزن
@@ -46,7 +49,6 @@ addvaultwizard.new.fileAlreadyExists=ملف أو مجلد بنفس اسم الم
addvaultwizard.new.locationDoesNotExist=المجلد في المسار المحدد غير موجود أو لا يمكن الوصول إليه
addvaultwizard.new.locationIsNotWritable=لا يوجد صلاحيات للكتابة على المسار المحدد
addvaultwizard.new.locationIsOk=الموقع المناسب للمخزن الخاص بك
-addvaultwizard.new.invalidName=اسم المخزن غير صالح. يرجى إعادة تسمية المجلد بشكل عادي.
### Password
addvaultwizard.new.createVaultBtn=إنشاء المخزن
addvaultwizard.new.generateRecoveryKeyChoice=لن تتمكن من الوصول إلى بياناتك بدون كلمة المرور الخاصة بك. هل تريد مفتاح استرداد في حالة فقدان كلمة المرور الخاصة بك؟
@@ -77,7 +79,7 @@ addvaultwizard.success.unlockNow=افتح الان
# Remove Vault
removeVault.title=احذف الحافظة
-removeVault.information=سيؤدي هذا إلى نسيان Cryptomator لهذا المخزن فقط. يمكنك إضافته مرة أخرى لاحقاً. لن يتم حذف أي من الملفات المشفرة من القرص الصلب الخاص بك.
+removeVault.description=سيؤدي هذا إلى نسيان Cryptomator لهذا المخزن فقط. يمكنك إضافته مرة أخرى لاحقاً. لن يتم حذف أي من الملفات المشفرة من القرص الصلب الخاص بك.
removeVault.confirmBtn=احذف الحافظة
# Change Password
@@ -87,7 +89,7 @@ changepassword.finalConfirmation=أتفهم أنني لن أتمكن من الو
# Forget Password
forgetPassword.title=نسيت كلمة المرور
-forgetPassword.information=سيؤدي هذا إلى حذف كلمة المرور المحفوظة لهذا المخزن من سلسلة مفاتيح النظام الخاص بك.
+forgetPassword.description=سيؤدي هذا إلى حذف كلمة المرور المحفوظة لهذا المخزن من سلسلة مفاتيح النظام الخاص بك.
forgetPassword.confirmBtn=نسيت كلمة المرور
# Unlock
@@ -95,25 +97,24 @@ unlock.passwordPrompt=أدخل كلمة السر لـ "%s":
unlock.savePassword=تذكر كلمة المرور
unlock.unlockBtn=افتح
## Select
-unlock.chooseMasterkey.chooseBtn=اختر…
unlock.chooseMasterkey.filePickerTitle=اختر ملف الـ Masterkey
## Success
-unlock.success.message=تم فتح "%s" بنجاح! يمكنك الآن الوصول لمخزنك عن طريق القرص الافتراضي الخاص به.
+unlock.success.description=تم فتح "%s" بنجاح! يمكنك الآن الوصول لمخزنك عن طريق القرص الافتراضي الخاص به.
unlock.success.rememberChoice=تذكر اختياري ولا تظهر هذا مرة أخرى
unlock.success.revealBtn=اظهار القرص
## Failure
-unlock.error.heading=غير قادر على فتح الخزنة
+unlock.error.message=غير قادر على فتح الخزنة
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=نقطة التحميل ليست مجلد فارغ أو غير موجودة: %s
unlock.error.invalidMountPoint.existing=نقطة/مجلد التحميل موجود بالفعل أو المجلد الأصل مفقود: %s
# Lock
## Force
-lock.forced.message=تم حظر قفل "%s" بواسطة العمليات المعلقة أو الملفات المفتوحة. يمكنك فرض قفل هذا المخزن، ولكن مقاطعة عمليات الادخال والاخراج I/O قد تؤدي لفقدان البيانات غير المحفوظة.
+lock.forced.description=تم حظر قفل "%s" بواسطة العمليات المعلقة أو الملفات المفتوحة. يمكنك فرض قفل هذا المخزن، ولكن مقاطعة عمليات الادخال والاخراج I/O قد تؤدي لفقدان البيانات غير المحفوظة.
lock.forced.retryBtn=اعد المحاولة
## Failure
-lock.fail.heading=فشلت عملية اقفال الخزنة.
-lock.fail.message=فشل عملية قفل %s". تأكد من حفظ العمل غير المحفوظ في مكان آخر وأن العمليات الهامة للقراءة/الكتابة قد انتهت. من أجل إغلاق المخزن، اقتل تطبيق Cryptomator.
+lock.fail.message=فشلت عملية اقفال الخزنة.
+lock.fail.description=فشل عملية قفل %s". تأكد من حفظ العمل غير المحفوظ في مكان آخر وأن العمليات الهامة للقراءة/الكتابة قد انتهت. من أجل إغلاق المخزن، اقتل تطبيق Cryptomator.
# Migration
migration.title=ترقية الحافظة
@@ -194,7 +195,7 @@ main.closeBtn.tooltip=إغلاق
main.minimizeBtn.tooltip=تصغير
main.preferencesBtn.tooltip=تفضيلات
main.debugModeEnabled.tooltip=تم تمكين وضع التصحيح
-main.donationKeyMissing.tooltip=يرجى النظر في تقديم تبرعات
+main.supporterCertificateMissing.tooltip=يرجى النظر في تقديم تبرعات
## Drag 'n' Drop
main.dropZone.dropVault=أضف هذا المخزن
main.dropZone.unknownDragboardContent=إذا كنت ترغب في إضافة مخزن، قم بسحبه إلى هذه النافذة
@@ -239,8 +240,8 @@ main.vaultDetail.migratePrompt=يجب ترقية المخزن الخاص بك إ
# Wrong File Alert
wrongFileAlert.title=كيفية تشفير الملفات
-wrongFileAlert.header.title=هل حاولت تشفير هذه الملفات؟
-wrongFileAlert.header.lead=لهذا الغرض، بوفر Cryptomator مجلداً في مدير ملفات النظام الخاص بك.
+wrongFileAlert.message=هل حاولت تشفير هذه الملفات؟
+wrongFileAlert.description=لهذا الغرض، بوفر Cryptomator مجلداً في مدير ملفات النظام الخاص بك.
wrongFileAlert.instruction.0=لتشفير الملفات، قم باتباع الخطوات التالية:
wrongFileAlert.instruction.1=1. فتح المخزن الخاص بك.
wrongFileAlert.instruction.2=2. انقر على "إظهار" لفتح المجلد في مدير الملفات الخاص بك.
@@ -274,17 +275,20 @@ vaultOptions.masterkey.changePasswordBtn=تغيير كلمة المرور
vaultOptions.masterkey.forgetSavedPasswordBtn=نسيان كلمة المرور المحفوظة
vaultOptions.masterkey.recoveryKeyExplanation=مفتاح الاسترداد هو وسيلتك الوحيدة لاستعادة الوصول إلى مخزنك إذا فقدت كلمة المرور.
vaultOptions.masterkey.showRecoveryKeyBtn=عرض مفتاح الاسترداد
-vaultOptions.masterkey.recoverPasswordBtn=استرجاع كلمة المرور
# Recovery Key
-recoveryKey.title=مفتاح الاسترداد
-recoveryKey.enterPassword.prompt=أدخل كلمة المرور الخاصة بك لإظهار مفتاح الاسترداد ل "%s":
-recoveryKey.display.message=يمكن استخدام مفتاح الاسترداد التالي لاستعادة الوصول إلى "%s":
+## Display Recovery Key
+recoveryKey.create.description=أدخل كلمة المرور الخاصة بك لإظهار مفتاح الاسترداد ل "%s":
+recoveryKey.display.description=يمكن استخدام مفتاح الاسترداد التالي لاستعادة الوصول إلى "%s":
recoveryKey.display.StorageHints=حافظ عليه في مكان ما آمن جداً، على سبيل المثال\n • تخزينه باستخدام مدير كلمات المرور\n • حفظه على محرك أقراص خارجي USB\n • كتابته أو طباعته على الورق
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=أدخل مفتاح الاسترداد الخاص لـ "%s":
recoveryKey.recover.validKey=هذا مفتاح استرداد صالح
recoveryKey.printout.heading=مفتاح استرداد Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=أدخل كلمة مرور جديدة
@@ -299,5 +303,6 @@ passwordStrength.messageLabel.3=قوية
passwordStrength.messageLabel.4=قوية جداً
# Quit
-quit.prompt=الخروج من التطبيق؟ هنالك خزنات غير مقفلة.
-quit.lockAndQuit=قفل و خروج
+quit.lockAndQuitBtn=قفل و خروج
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_be.properties b/src/main/resources/i18n/strings_be.properties
new file mode 100644
index 000000000..b75d9eeda
--- /dev/null
+++ b/src/main/resources/i18n/strings_be.properties
@@ -0,0 +1,241 @@
+# Locale Specific CSS files such as CJK, RTL,...
+
+# Generics
+## Button
+generic.button.apply=Ужыць
+generic.button.back=Назад
+generic.button.cancel=Скасаваць
+generic.button.change=Змяніць
+generic.button.choose=Абраць…
+generic.button.close=Зачыніць
+generic.button.copy=Капіяваць
+generic.button.copied=Скапіявана!
+generic.button.done=Файна
+generic.button.next=Далей
+generic.button.print=Друкаваць
+
+# Error
+error.message=Адбылася памылка
+error.description=Cryptomator не чакаў такога павароту. Ты можаш пашукаць рашэнні гэтай праблемы. Калі пра гэтую хібу яшчэ ніхто не паведаміў, калі ласка, зрабі ты гэта.
+error.hyperlink.lookup=Шукаць гэтую памылку
+error.hyperlink.report=Паведаміць пра гэтую памылку
+error.technicalDetails=Падрабязнасці:
+
+# Defaults
+defaults.vault.vaultName=Скарбніца
+
+# Tray Menu
+traymenu.showMainWindow=Паказаць
+traymenu.showPreferencesWindow=Налады
+traymenu.lockAllVaults=Замкнуць усё
+traymenu.quitApplication=Пакінуць
+traymenu.vault.unlock=Адамкнуць
+traymenu.vault.lock=Замкнуць
+traymenu.vault.reveal=Паказаць
+
+# Add Vault Wizard
+addvaultwizard.title=Дадаць скарбніцу
+## Welcome
+addvaultwizard.welcome.newButton=Стварыць новую скарбніцу
+addvaultwizard.welcome.existingButton=Адчыніць існуючую скарбніцу
+## New
+### Name
+addvaultwizard.new.nameInstruction=Абраць назву для скарбніцы
+addvaultwizard.new.namePrompt=Назва скарбніцы
+### Location
+addvaultwizard.new.locationInstruction=Дзе мусіць Cryptomator захоўваць зашыфраваныя файлы з тваёй скарбніцы?
+addvaultwizard.new.locationLabel=Месца захоўвання
+addvaultwizard.new.locationPrompt=…
+addvaultwizard.new.directoryPickerLabel=Адмысловае месца
+addvaultwizard.new.directoryPickerButton=Абраць…
+addvaultwizard.new.directoryPickerTitle=Абраць тэчку
+addvaultwizard.new.fileAlreadyExists=Файл або тэчка з такім імём скарбніцы ўжо існуе
+addvaultwizard.new.locationDoesNotExist=Тэчка ва ўказанай сцежцы не існуе альбо ня можа адчыніцца
+addvaultwizard.new.locationIsNotWritable=Для гэтай сцежцы бракуе правоў на запіс
+addvaultwizard.new.locationIsOk=Пасуючае месца для тваёй скарбніцы
+### Password
+addvaultwizard.new.createVaultBtn=Стварыць скарбніцу
+addvaultwizard.new.generateRecoveryKeyChoice=Бяз гэтага пароля ты ня зможаш атрымаць доступ да сваіх даных. Ці хочаш ты мець ключ аднаўлення на выпадак, калі ты згубіш свой пароль?
+addvaultwizard.new.generateRecoveryKeyChoice.yes=Так, калі ласка, сцеражонага і бог сцеражэ
+addvaultwizard.new.generateRecoveryKeyChoice.no=Не, дзякуй, я не згублю мой пароль
+### Information
+addvault.new.readme.storageLocation.fileName=VAZNA.rtf
+addvault.new.readme.storageLocation.1=⚠️ ФАЙЛЫ СКАРБНІЦЫ ⚠️
+addvault.new.readme.storageLocation.2=Гэта месца, дзе захоўваецца твая скарбніца.
+addvault.new.readme.storageLocation.3=ШТО НЕЛЬГА РАБІЦЬ:
+addvault.new.readme.storageLocation.4=• змяняць файлы ў гэтай тэчцы, альбо
+addvault.new.readme.storageLocation.5=• устаўляць сюды файлы, што трэба зашыфраваць.
+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.accessLocation.fileName=VITAJEM.rtf
+addvault.new.readme.accessLocation.1=🔐️ ЗАШЫФРАВАНАЯ ПРАСТОРА 🔐️
+addvault.new.readme.accessLocation.2=Гэта месца дуступу да тваёй скарбніцы.
+addvault.new.readme.accessLocation.3=Любы дададзены сюды файл будзе зашыфраваны праз Cryptomator. Ты можаш працаваць тут як са звычайнаю тэчкаю альбо дыскам. Гэта толькі расшыфраваны агляд кантэнту, самі файлы заўжды захоўваюцца зашыфраванымі на тваім цвёрдым дыску.
+addvault.new.readme.accessLocation.4=Ты можаш выдаліць гэты файл.
+## Existing
+addvaultwizard.existing.chooseBtn=Абраць…
+addvaultwizard.existing.filePickerTitle=Абяры файл скарбніцы
+addvaultwizard.existing.filePickerMimeDesc=Скрабніца Cryptomator
+## Success
+addvaultwizard.success.unlockNow=Разамкнуць зараз
+
+# Remove Vault
+removeVault.title=Выдаліць "%s"
+removeVault.message=Ці выдаліць скарбніцу?
+removeVault.confirmBtn=Выдаліць скарбніцу
+
+# Change Password
+changepassword.title=Змяніць пароль
+changepassword.enterOldPassword=Увядзі бягучы пароль ад "%s"
+changepassword.finalConfirmation=Я разумею, што калі забудуся на пароль, то згублю доступ да сваех даных
+
+# Forget Password
+forgetPassword.title=Забыўся на пароль
+forgetPassword.message=Забыўся на захаваны пароль?
+forgetPassword.confirmBtn=Забыўся на пароль
+
+# Unlock
+unlock.title=Разамкнуць "%s"
+unlock.passwordPrompt=Увядзі пароль да "%s":
+unlock.savePassword=Захоўваць пароль
+unlock.unlockBtn=Адамкнуць
+## Select
+unlock.chooseMasterkey.message=Файл майстра ключоў ня знойдзены
+unlock.chooseMasterkey.filePickerTitle=Абяры файл masterkey
+unlock.chooseMasterkey.filePickerMimeDesc=Майстар ключоў Cryptomator
+## Success
+unlock.success.message=Паспяховае размыканне
+unlock.success.rememberChoice=Запомні мой выбар і больш не пытай
+unlock.success.revealBtn=Паказаць дыск
+## Failure
+unlock.error.message=Немагчыма разамкнуць скарбніцу
+### Invalid Mount Point
+
+# Lock
+## Force
+lock.forced.message=Замыканне не атрымалася
+lock.forced.retryBtn=Паспрабаваць ізноў
+lock.forced.forceBtn=Замкнуць прымусова
+## Failure
+lock.fail.message=Не атрымалася замкнуць скарбніцу
+
+# Migration
+migration.title=Абнавіць скарбніцу
+## Start
+migration.start.confirm=Так, мая скарбніца цалкам сінхранавана
+## Run
+migration.run.enterPassword=Увядзіце пароль да "%s"
+migration.run.startMigrationBtn=Перамясціць скарбніцу
+migration.run.progressHint=Гэта можа заняць пэўны час…
+## Success
+migration.success.unlockNow=Разамкнуць зараз
+## Missing file system capabilities
+migration.error.missingFileSystemCapabilities.title=Файлавая сістэма не падтрымліваецца
+migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=Файлавая сістэма не падтрымлівае доўгія назвы файлаў.
+migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=Файлавая сістэма не падтрымлівае доўгія сцежкі.
+migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=Файлавая сістэма не дазваляе чытаць у ёй.
+migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=Файлавая сістэма не дазваляе пісаць у яе.
+## Impossible
+migration.impossible.heading=Не мажліва перанесці скарбніцу
+
+# Health Check
+## Start
+health.intro.remarkBackup=Калі даныя пашкоджаныя, дапаможа толькі рэзервовая копія.
+## Start Failure
+health.fail.moreInfo=Падрабязней
+## Check Selection
+health.checkList.selectAllButton=Вылучыць усе элементы
+health.checkList.deselectAllButton=Адрабіць вылучэнне ўсіх элементаў
+health.check.runBatchBtn=Выканаць вылучаныя элементы
+## Detail view
+## Fix Application
+
+# Preferences
+preferences.title=Налады
+## General
+## Interface
+preferences.interface.theme.dark=Цёмная
+preferences.interface.theme.light=Светлая
+preferences.interface.language=Мова (спатрэбуецца перазапуск)
+preferences.interface.interfaceOrientation.ltr=Злева ўправа
+preferences.interface.interfaceOrientation.rtl=Справа ўлева
+## Volume
+## Updates
+preferences.updates=Абнаўленні
+preferences.updates.currentVersion=Бягучая версія: %s
+preferences.updates.autoUpdateCheck=Правяраць наяўнасць абнаўленняў аўтаматычна
+preferences.updates.checkNowBtn=Праверыць зараз
+preferences.updates.updateAvailable=Даступна абнаўленне да версіі %s
+## Contribution
+preferences.contribute=Падтрымай нас
+#<-- Add entries for donations and code/translation/documentation contribution -->
+
+## About
+preferences.about=Пра нас
+
+# Vault Statistics
+## Read
+## Write
+
+# Main Window
+main.closeBtn.tooltip=Зачыніць
+main.preferencesBtn.tooltip=Налады
+## Drag 'n' Drop
+## Vault List
+main.vaultlist.contextMenu.remove=Выдаліць…
+main.vaultlist.contextMenu.lock=Замкнуць
+main.vaultlist.contextMenu.unlock=Адамкнуць…
+main.vaultlist.contextMenu.unlockNow=Разамкнуць зараз
+main.vaultlist.contextMenu.vaultoptions=Паказаць параметры скарбніцы
+main.vaultlist.contextMenu.reveal=Паказаць дыск
+main.vaultlist.addVaultBtn=Дадаць скарбніцу
+## Vault Detail
+### Welcome
+### Locked
+main.vaultDetail.lockedStatus=ЗАМКНЁНА
+main.vaultDetail.unlockBtn=Адамкнуць…
+main.vaultDetail.unlockNowBtn=Разамкнуць зараз
+### Unlocked
+main.vaultDetail.unlockedStatus=РАЗАМКНЁНА
+main.vaultDetail.revealBtn=Паказаць дыск
+main.vaultDetail.lockBtn=Замкнуць
+### Missing
+### Needs Migration
+main.vaultDetail.migrateButton=Абнавіць скарбніцу
+### Error
+
+# Wrong File Alert
+
+# Vault Options
+## General
+vaultOptions.general.vaultName=Назва скарбніцы
+vaultOptions.general.actionAfterUnlock.reveal=Паказаць дыск
+
+## Mount
+vaultOptions.mount.mountPoint.directoryPickerButton=Абраць…
+## Master Key
+vaultOptions.masterkey.changePasswordBtn=Змяніць пароль
+
+
+# Recovery Key
+## Display Recovery Key
+recoveryKey.display.StorageHints=Захоўвай іх у бяспечным месцы, напрыклад:\n • Выкарыстоўваючы мэнэджар пароляў\n • На USB-флэшцы\n • Раздрукаванымі на паперы
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
+
+# New Password
+passwordStrength.messageLabel.1=Слабы
+passwordStrength.messageLabel.2=Нармалёвы
+passwordStrength.messageLabel.3=Моцны
+passwordStrength.messageLabel.4=Вельмі моцны
+
+# Quit
+quit.title=Пакінуць праграму
+quit.message=Існуюць разамкнёныя скарбніцы
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_bn.properties b/src/main/resources/i18n/strings_bn.properties
index 3d9494838..10843d0f7 100644
--- a/src/main/resources/i18n/strings_bn.properties
+++ b/src/main/resources/i18n/strings_bn.properties
@@ -6,18 +6,20 @@ generic.button.apply=প্রয়োগ করুন
generic.button.back=পিছনে
generic.button.cancel=বাতিল করুন
generic.button.change=পরিবর্তন করুন
+generic.button.choose=নির্বাচন করুন…
generic.button.close=বন্ধ করুন
generic.button.copy=কপি
generic.button.copied=কপি হয়েছে!
generic.button.done=সম্পন্ন হয়েছে
generic.button.next=পরবর্তী
generic.button.print=প্রিন্ট
-## Error
-generic.error.title=ত্রুটি %s
-generic.error.instruction=ওহো! ক্রিপ্টোমেটর এটা যে হবে তা আশা করেনি. আপনি এই ত্রুটির সমাধানটি খুঁজে দেখুন. ত্রুটিটি সম্পর্কে যদি বিবরণ না পান, আপনি সেটি রিপোর্ট করতে পারেন.
-generic.error.hyperlink.lookup=ত্রুটিটি খুঁজে দেখুন
-generic.error.hyperlink.report=ত্রুটিটি রিপোর্ট করুন
-generic.error.technicalDetails=বিস্তারিত:
+
+# Error
+error.message=ত্রুটি %s
+error.description=ওহো! ক্রিপ্টোমেটর এটা যে হবে তা আশা করেনি. আপনি এই ত্রুটির সমাধানটি খুঁজে দেখুন. ত্রুটিটি সম্পর্কে যদি বিবরণ না পান, আপনি সেটি রিপোর্ট করতে পারেন.
+error.hyperlink.lookup=ত্রুটিটি খুঁজে দেখুন
+error.hyperlink.report=ত্রুটিটি রিপোর্ট করুন
+error.technicalDetails=বিস্তারিত:
# Defaults
defaults.vault.vaultName=ভোল্ট
@@ -47,7 +49,6 @@ addvaultwizard.new.directoryPickerTitle=ডিরেক্টরি নির্
addvaultwizard.new.locationDoesNotExist=নিদিষ্ট করা পথে একটি ডিরেক্টরি বিদ্যমান নয় অথবা প্রবেশ করা যাচ্ছে না
addvaultwizard.new.locationIsNotWritable=নিদিষ্ট করা পথে কোনো কিছু পরিবর্তন করার অনুমতি নেই
addvaultwizard.new.locationIsOk=আপনার ভোল্টের জন্য উপযুক্ত ঠিকানা
-addvaultwizard.new.invalidName=ভোল্টের নাম অনুপযুক্ত. অনুগ্রহ করে ভোল্টের জন্য একটি সাধারণ নাম ব্যবহার করুন.
### Password
addvaultwizard.new.createVaultBtn=ভোল্ট তৈরি করুন
addvaultwizard.new.generateRecoveryKeyChoice=পাসওয়ার্ড ছাড়া আপনি আপনার তথ্যগুলো ব্যবহার করতে পারবেন না. তাই আপনি কি একটি পুনরুদ্ধার চাবি চান যদি আপনি পাসওয়ার্ড হারিয়ে ফেলেন?
@@ -76,7 +77,6 @@ addvaultwizard.existing.chooseBtn=নির্বাচন করুন…
# Unlock
unlock.unlockBtn=আনলক করুন
## Select
-unlock.chooseMasterkey.chooseBtn=নির্বাচন করুন…
## Success
## Failure
### Invalid Mount Point
@@ -141,7 +141,14 @@ vaultOptions.mount.mountPoint.directoryPickerButton=নির্বাচন ক
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_bs.properties b/src/main/resources/i18n/strings_bs.properties
index fe927dcd4..63ddef343 100644
--- a/src/main/resources/i18n/strings_bs.properties
+++ b/src/main/resources/i18n/strings_bs.properties
@@ -6,13 +6,16 @@ generic.button.apply=Primjeni
generic.button.back=Nazad
generic.button.cancel=Odustani
generic.button.change=Izmjeni
+generic.button.choose=Odaberi…
generic.button.close=Zatvori
generic.button.copy=Kopiraj
generic.button.copied=Kopirano!
generic.button.done=Gotovo
generic.button.next=Sljedeće
generic.button.print=Ispis
-## Error
+
+# Error
+error.message=Došlo je do greške
# Defaults
defaults.vault.vaultName=Sef
@@ -46,7 +49,6 @@ addvaultwizard.new.fileAlreadyExists=Upozorenje: Fajl ili mapa s tim nazivom ve
addvaultwizard.new.locationDoesNotExist=Direktorij u navedenoj putanji ne postoji ili mu se ne može pristupiti
addvaultwizard.new.locationIsNotWritable=Nije moguće izvršiti operaciju pisanja na navedenoj putanji
addvaultwizard.new.locationIsOk=Pogodno mjesto za vaš sef
-addvaultwizard.new.invalidName=Naziv sefa neispravan. Molimo razmislite o drugom nazivu.
### Password
addvaultwizard.new.createVaultBtn=Kreiraj novi sef
addvaultwizard.new.generateRecoveryKeyChoice=Nećete moći pristupiti svojim podacima bez lozinke. Želite li ključ za oporavak u slučaju da izgubite lozinku?
@@ -77,7 +79,7 @@ addvaultwizard.success.unlockNow=Otključaj sada
# Remove Vault
removeVault.title=Ukloni Sef
-removeVault.information=Ovo će samo natjerati Cryptomator da zaboravi na ovaj sef. Možete ga dodati ponovo kasnije. Nijedna enkriptovana datoteka neće se izbrisati s vašeg diska.
+removeVault.description=Ovo će samo natjerati Cryptomator da zaboravi na ovaj sef. Možete ga dodati ponovo kasnije. Nijedna enkriptovana datoteka neće se izbrisati s vašeg diska.
removeVault.confirmBtn=Ukloni Sef
# Change Password
@@ -87,7 +89,7 @@ changepassword.finalConfirmation=Razumijem da neću moći pristupiti svojim poda
# Forget Password
forgetPassword.title=Zaboravili ste šifru
-forgetPassword.information=Ovo će izbrisati sačuvanu lozinku ovog sefa iz vaše sistemske pohrane.
+forgetPassword.description=Ovo će izbrisati sačuvanu lozinku ovog sefa iz vaše sistemske pohrane.
forgetPassword.confirmBtn=Zaboravili ste šifru
# Unlock
@@ -95,24 +97,23 @@ unlock.passwordPrompt=Unesite lozinku za "%s":
unlock.savePassword=Zapamti šifru
unlock.unlockBtn=Otključaj
## Select
-unlock.chooseMasterkey.chooseBtn=Odaberi…
unlock.chooseMasterkey.filePickerTitle=Odaberite Masterkey Datoteku
## Success
-unlock.success.message=Uspješno ste otključali "%s"! Vaš sef je sada dostupan putem svog virtualnog diska.
+unlock.success.description=Uspješno ste otključali "%s"! Vaš sef je sada dostupan putem svog virtualnog diska.
unlock.success.rememberChoice=Zapamtite izbor, ne pokazujte ovo ponovo
unlock.success.revealBtn=Otkrij pogon
## Failure
-unlock.error.heading=Sef nije moguće otključati
+unlock.error.message=Sef nije moguće otključati
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Tačka postavljanja "%s" nije direktorij, nije prazna ili ne postoji.
unlock.error.invalidMountPoint.existing=Tačka povezivanja "%s" već postoji ili nadređeni folder nedostaje.
# Lock
## Force
-lock.forced.message=Zaključavanje "%s" blokirano je operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid U / I-a može rezultirati gubitkom nespremljenih podataka.
+lock.forced.description=Zaključavanje "%s" blokirano je operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid U / I-a može rezultirati gubitkom nespremljenih podataka.
## Failure
-lock.fail.heading=Zaključavanje sefa nije uspjelo.
-lock.fail.message=Sef "%s" nije moguće zaključati. Osigurajte da je nespremljeni rad sačuvan negdje drugdje i da su važne operacije čitanja / pisanja završene. Da biste zatvorili sef, zaustavite Cryptomator proces.
+lock.fail.message=Zaključavanje sefa nije uspjelo.
+lock.fail.description=Sef "%s" nije moguće zaključati. Osigurajte da je nespremljeni rad sačuvan negdje drugdje i da su važne operacije čitanja / pisanja završene. Da biste zatvorili sef, zaustavite Cryptomator proces.
# Migration
migration.title=Nadogradi sef
@@ -209,7 +210,7 @@ main.closeBtn.tooltip=Zatvori
main.minimizeBtn.tooltip=Minimiziraj
main.preferencesBtn.tooltip=Postavke
main.debugModeEnabled.tooltip=Omogućen je mod otklanjanja pogrešaka
-main.donationKeyMissing.tooltip=Molimo razmislite o doniranju
+main.supporterCertificateMissing.tooltip=Molimo razmislite o doniranju
## Drag 'n' Drop
main.dropZone.dropVault=Dodajte ovaj sef
main.dropZone.unknownDragboardContent=Ako želite dodati sef, povucite ga u ovaj prozor
@@ -254,8 +255,8 @@ main.vaultDetail.migratePrompt=Da biste mogli pristupiti svom sefu, morate ga na
# Wrong File Alert
wrongFileAlert.title=Kako enkriptovati podatke
-wrongFileAlert.header.title=Da li ste pokušali enkriptovati ove datoteke?
-wrongFileAlert.header.lead=U tu svrhu Cryptomator kreira volumen u vašem upravljačkom sistemu.
+wrongFileAlert.message=Da li ste pokušali enkriptovati ove datoteke?
+wrongFileAlert.description=U tu svrhu Cryptomator kreira volumen u vašem upravljačkom sistemu.
wrongFileAlert.instruction.0=Da biste enkriptovali datoteke, slijedite ove korake:
wrongFileAlert.instruction.1=1. Otključajte sef.
wrongFileAlert.instruction.2=2. Kliknite "Otkrivanje" da biste otvorili volumen u vašem upravitelju datotekama.
@@ -289,17 +290,20 @@ vaultOptions.masterkey.changePasswordBtn=Promjeni lozinku
vaultOptions.masterkey.forgetSavedPasswordBtn=Zaborav spremljenu šifru
vaultOptions.masterkey.recoveryKeyExplanation=Ključ za oporavak je vaše jedino sredstvo za vraćanje pristupa sefu ako izgubite lozinku.
vaultOptions.masterkey.showRecoveryKeyBtn=Pokaži ključ za oporavak
-vaultOptions.masterkey.recoverPasswordBtn=Povrati šifru
# Recovery Key
-recoveryKey.title=Ključ za oporavak
-recoveryKey.enterPassword.prompt=Unesite šifru da biste prikazali ključ za oporavak za "%s":
-recoveryKey.display.message=Sljedeći ključ za oporavak može se koristiti za vraćanje pristupa "%s":
+## Display Recovery Key
+recoveryKey.create.description=Unesite šifru da biste prikazali ključ za oporavak za "%s":
+recoveryKey.display.description=Sljedeći ključ za oporavak može se koristiti za vraćanje pristupa "%s":
recoveryKey.display.StorageHints=Pohranite ga negdje vrlo sigurno, npr.:\n • Spremite ga pomoću menadžera lozinki\n • Spremite ga na USB disk\n • Odštampajte ga na papiru
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Unesite ključ za oporavak za "%s":
recoveryKey.recover.validKey=Ključ za oporavak je ispravan
recoveryKey.printout.heading=Cryptomator Ključ za oporavak za \n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Unesi novu šifru
@@ -314,5 +318,6 @@ passwordStrength.messageLabel.3=Sigurno
passwordStrength.messageLabel.4=Veoma sigurno
# Quit
-quit.prompt=Zatvoriti prijavu? Postoje otključani sefovi.
-quit.lockAndQuit=Zaključaj i zatvori
+quit.lockAndQuitBtn=Zaključaj i zatvori
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_ca.properties b/src/main/resources/i18n/strings_ca.properties
index 34bf6416f..083483587 100644
--- a/src/main/resources/i18n/strings_ca.properties
+++ b/src/main/resources/i18n/strings_ca.properties
@@ -6,18 +6,20 @@ generic.button.apply=Aplica
generic.button.back=Enrere
generic.button.cancel=Cancel·la
generic.button.change=Canvia
+generic.button.choose=Trieu…
generic.button.close=Tanca
generic.button.copy=Copia
generic.button.copied=Copiat!
generic.button.done=Fet
generic.button.next=Següent
generic.button.print=Imprimeix
-## Error
-generic.error.title=Error %s
-generic.error.instruction=Ui! Cryptomator no esperava que passés això. Podeu cercar alguna de les solucions existents per a aquest error. Si no ha estat reportat encara, sentiu-vos lliure de fer-ho vós mateix.
-generic.error.hyperlink.lookup=Cerca aquest error
-generic.error.hyperlink.report=Notifica un error
-generic.error.technicalDetails=Detalls:
+
+# Error
+error.message=Error %s
+error.description=Ui! Cryptomator no esperava que passés això. Podeu cercar alguna de les solucions existents per a aquest error. Si no ha estat reportat encara, sentiu-vos lliure de fer-ho vós mateix.
+error.hyperlink.lookup=Cerca aquest error
+error.hyperlink.report=Notifica un error
+error.technicalDetails=Detalls:
# Defaults
defaults.vault.vaultName=Caixa forta
@@ -51,7 +53,6 @@ addvaultwizard.new.fileAlreadyExists=Ja existeix un fitxer o un directori amb el
addvaultwizard.new.locationDoesNotExist=Un directori de la ruta especificada no existeix o no s'hi pot accedir
addvaultwizard.new.locationIsNotWritable=No teniu permís d'escriptura en la ruta especificada
addvaultwizard.new.locationIsOk=Localització per a la vostra caixa forta
-addvaultwizard.new.invalidName=El nom de la caixa forta no és vàlid. Si us plau, escribiu un mom de directori amb caràcters estàndard.
### Password
addvaultwizard.new.createVaultBtn=Crea la caixa forta
addvaultwizard.new.generateRecoveryKeyChoice=No podreu accedir a les vostres dades sense la contrasenya. Voleu crear una clau de recuperació en cas perdre la vostra contrasenya?
@@ -84,7 +85,7 @@ addvaultwizard.success.unlockNow=Desbloqueja ara
# Remove Vault
removeVault.title=Elimina la caixa forta
-removeVault.information=Cryptomator simplement deixarà de mostrar la caixa forta. Podeu tornar a afegir-la més endavant. Cap fitxer xifrat serà eliminat del disc dur.
+removeVault.description=Cryptomator simplement deixarà de mostrar la caixa forta. Podeu tornar a afegir-la més endavant. Cap fitxer xifrat serà eliminat del disc dur.
removeVault.confirmBtn=Elimina la caixa forta
# Change Password
@@ -94,7 +95,8 @@ changepassword.finalConfirmation=Entenc que no podré accedir les meves dades si
# Forget Password
forgetPassword.title=He oblidat la contrasenya
-forgetPassword.information=Això eliminarà la contrasenya desada d'aquesta caixa forta del vostre clauer.
+forgetPassword.message=Contrasenya oblidada?
+forgetPassword.description=Això eliminarà la contrasenya desada d'aquesta caixa forta del vostre clauer.
forgetPassword.confirmBtn=He oblidat la contrasenya
# Unlock
@@ -103,28 +105,30 @@ unlock.passwordPrompt=Introduïu la contrasenya de "%s":
unlock.savePassword=Recorda la contrasenya
unlock.unlockBtn=Desbloqueja
## Select
-unlock.chooseMasterkey.prompt=No es pot trobar el fitxer de clau mestra per aquesta bòveda a la ubicació esperada. Escull el fixer manualment.
-unlock.chooseMasterkey.chooseBtn=Trieu…
+unlock.chooseMasterkey.message=L'arxiu de contrasenyes no s'ha pogut trobar
+unlock.chooseMasterkey.description=No es pot trobar el fitxer de clau mestra per aquesta bòveda a la ubicació esperada. Escull el fixer manualment.
unlock.chooseMasterkey.filePickerTitle=Seleccioneu el fitxer de Clau Mestra
## Success
-unlock.success.message=S'ha desblocat %s correctament! Podeu accedir a la vostra caixa forta a través de la unitat virtual.
+unlock.success.message=Desbloqueig satisfactori
+unlock.success.description=S'ha desblocat %s correctament! Podeu accedir a la vostra caixa forta a través de la unitat virtual.
unlock.success.rememberChoice=Recorda l'elecció. No ho tornis a mostrar.
unlock.success.revealBtn=Mostra la unitat
## Failure
-unlock.error.heading=No ha estat possible desblocar la caixa forta
+unlock.error.message=No ha estat possible desblocar la caixa forta
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=El punt de muntatge no és un directori buit, o no existeix: %s
unlock.error.invalidMountPoint.existing=El punt de muntatge o la carpeta ja existeix, o no es pot accedir al directori superior: %s
+unlock.error.invalidMountPoint.driveLetterOccupied=La unitat o arxiu "%s" ja està en ús.
# Lock
## Force
-lock.forced.heading=El bloqueig ha fallat
-lock.forced.message=No s'ha blocat "%s" perquè hi ha operacions pendents o fitxers oberts. Podeu forçar-ne el blocatge però heu de saber que interrompre l'entrada/sortida pot produir la pèrdua de dades.
+lock.forced.message=El bloqueig ha fallat
+lock.forced.description=No s'ha blocat "%s" perquè hi ha operacions pendents o fitxers oberts. Podeu forçar-ne el blocatge però heu de saber que interrompre l'entrada/sortida pot produir la pèrdua de dades.
lock.forced.retryBtn=Reintenta
lock.forced.forceBtn=Forçar bloqueig
## Failure
-lock.fail.heading=Ha fallat el blocatge de la caixa forta.
-lock.fail.message=La caixa forta "%s" no s'ha pogut blocar. Assegureu-vos que el treball s'ha desat en algun altre lloc i que les operacions de lectura/escriptura han acabat. Per tal de tancar la caixa, mateu el procés Cryptomator.
+lock.fail.message=Ha fallat el blocatge de la caixa forta.
+lock.fail.description=La caixa forta "%s" no s'ha pogut blocar. Assegureu-vos que el treball s'ha desat en algun altre lloc i que les operacions de lectura/escriptura han acabat. Per tal de tancar la caixa, mateu el procés Cryptomator.
# Migration
migration.title=Actualitza la caixa forta
@@ -189,13 +193,24 @@ preferences.title=Preferències
## General
preferences.general=General
preferences.general.startHidden=Amaga la finestra quan s'inicia Cryptomator
+preferences.general.autoCloseVaults=Bloquejar les caixes fortes automàticament quan surti de l'aplicació
preferences.general.debugLogging=Habilita el registre de depuració
preferences.general.debugDirectory=Mostra els fitxers de registres
preferences.general.autoStart=Executa Cryptomator en engegar el sistema
preferences.general.keychainBackend=Desar contrasenyes amb
## Interface
+preferences.interface=Interfície
+preferences.interface.theme=Aparença
+preferences.interface.theme.automatic=Automàtic
preferences.interface.theme.dark=Fosc
preferences.interface.theme.light=Clar
+preferences.interface.unlockThemes=Desbloquejar el tema fosc
+preferences.interface.language=Idioma (cal reiniciar)
+preferences.interface.language.auto=Valor predeterminat del sistema
+preferences.interface.interfaceOrientation=Orientació de la interfície
+preferences.interface.interfaceOrientation.ltr=Esquerra a dreta
+preferences.interface.interfaceOrientation.rtl=Dreta a esquerra
+preferences.interface.showMinimizeButton=Mostra el botó 'minimitzar'
## Volume
preferences.volume=Unitat virtual
preferences.volume.type=Tipus de volum
@@ -253,7 +268,7 @@ main.closeBtn.tooltip=Tanca
main.minimizeBtn.tooltip=Minimitza
main.preferencesBtn.tooltip=Preferències
main.debugModeEnabled.tooltip=Mode depuració activat
-main.donationKeyMissing.tooltip=Si us plau, considereu fer una donació
+main.supporterCertificateMissing.tooltip=Si us plau, considereu fer una donació
## Drag 'n' Drop
main.dropZone.dropVault=Afegeix aquesta caixa forta
main.dropZone.unknownDragboardContent=Si voleu afegir una caixa forta, arrossegueu-la a aquesta finestra
@@ -301,8 +316,8 @@ main.vaultDetail.error.windowTitle=Error en carregar la caixa forta
# Wrong File Alert
wrongFileAlert.title=Com xifrar fitxers
-wrongFileAlert.header.title=Heu intentat xifrar aquests fitxers?
-wrongFileAlert.header.lead=Per aconseguir tal fi, Cryptomator crea un volum en el vostre gestor de fitxers del sistema.
+wrongFileAlert.message=Heu intentat xifrar aquests fitxers?
+wrongFileAlert.description=Per aconseguir tal fi, Cryptomator crea un volum en el vostre gestor de fitxers del sistema.
wrongFileAlert.instruction.0=Sigau aquests pasos per xifrar fitxers:
wrongFileAlert.instruction.1=1. Desbloquejeu la caixa forta.
wrongFileAlert.instruction.2=2. Feu clic en "Mostrar" per obrir el volum en el vostre gestor de fitxers.
@@ -339,17 +354,26 @@ vaultOptions.masterkey.changePasswordBtn=Canvi de contrasenya
vaultOptions.masterkey.forgetSavedPasswordBtn=Oblida la contrasenya desada
vaultOptions.masterkey.recoveryKeyExplanation=La clau de recuperació és l'unic mitjà de restaurar l'accès a la caixa forta en cas de perdre la contrasenya.
vaultOptions.masterkey.showRecoveryKeyBtn=Mostra la clau de recuperació
-vaultOptions.masterkey.recoverPasswordBtn=Recupera la contrasenya
+vaultOptions.masterkey.recoverPasswordBtn=Canviar contrasenya
# Recovery Key
-recoveryKey.title=Clau de recuperació
-recoveryKey.enterPassword.prompt=Introduïu la vostra clau per mostrar la clau de recuperació de "%s":
-recoveryKey.display.message=Utilitzeu la següent clau de recuperació per restaurar l'accès a "%s":
+## Display Recovery Key
+recoveryKey.display.title=Veure clau de recuperació
+recoveryKey.create.message=La contrasenya és obligatòria
+recoveryKey.create.description=Introduïu la vostra clau per mostrar la clau de recuperació de "%s":
+recoveryKey.display.description=Utilitzeu la següent clau de recuperació per restaurar l'accès a "%s":
recoveryKey.display.StorageHints=Conserveu-la en un lloc molt segur. P. ex.:\n • Emmagatzemeu-la utilitzant un gestor de claus\n • Deseu-la en una memòria USB\n • Imprimiu-la en paper
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Canviar contrasenya
recoveryKey.recover.prompt=Introduïu la vostra clau de recuperació de "%s":
recoveryKey.recover.validKey=La clau de recuperació és vàlida
recoveryKey.printout.heading=Clau de recuperació de Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=S'ha modificat la contrasenya correctament
+recoveryKey.recover.resetSuccess.description=Pots desbloquejar la caixa forta amb la nova contrasenya.
# New Password
newPassword.promptText=Introdueix una contrasenya nova
@@ -364,5 +388,12 @@ passwordStrength.messageLabel.3=Segura
passwordStrength.messageLabel.4=Molt segura
# Quit
-quit.prompt=Sortir de l'aplicació? Hi ha voltes debloquejades.
-quit.lockAndQuit=Bloqueja i surt
+quit.title=Sortir de l’aplicació
+quit.message=Teniu caixes fortes desbloquejades
+quit.description=Si us plau, confirmi que desitja sortir de l'aplicació. Cryptomator bloquejarà les caixes fortes de manera automàtica per tal d'evitar cap pèrdua de dades.
+quit.lockAndQuitBtn=Bloqueja i surt
+
+# Forced Quit
+quit.forced.message=Algunes caixes fortes no s'han pogut bloquejar
+quit.forced.description=No s'ha pogut blocar la caixa forta perquè hi ha operacions pendents o fitxers oberts. Podeu forçar-ne el blocatge, però heu de saber que interrompre l'entrada/sortida pot produir la pèrdua de dades.
+quit.forced.forceAndQuitBtn=Forçar i sortir
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_cs.properties b/src/main/resources/i18n/strings_cs.properties
index 398791f74..ecd23f085 100644
--- a/src/main/resources/i18n/strings_cs.properties
+++ b/src/main/resources/i18n/strings_cs.properties
@@ -6,18 +6,20 @@ generic.button.apply=Použít
generic.button.back=Zpět
generic.button.cancel=Zrušit
generic.button.change=Změnit
+generic.button.choose=Vybrat...
generic.button.close=Zavřít
generic.button.copy=Kopírovat
generic.button.copied=Zkopírováno!
generic.button.done=Hotovo
generic.button.next=Další
generic.button.print=Tisk
-## Error
-generic.error.title=Chyba %s
-generic.error.instruction=Jejda! Tohle Cryptomator nečekal. Můžete najít již existující řešení pro tuto chybu. Nebo pokud ještě nebyla nahlášena, neváhejte tak učinit.
-generic.error.hyperlink.lookup=Vyhledat tuto chybu
-generic.error.hyperlink.report=Nahlásit tuto chybu
-generic.error.technicalDetails=Podrobnosti:
+
+# Error
+error.message=Chyba %s
+error.description=Jejda! Tohle Cryptomator nečekal. Můžete najít již existující řešení pro tuto chybu. Nebo pokud ještě nebyla nahlášena, neváhejte tak učinit.
+error.hyperlink.lookup=Vyhledat tuto chybu
+error.hyperlink.report=Nahlásit tuto chybu
+error.technicalDetails=Podrobnosti:
# Defaults
defaults.vault.vaultName=Trezor
@@ -51,7 +53,6 @@ addvaultwizard.new.fileAlreadyExists=Soubor nebo složka s tímto názvem trezor
addvaultwizard.new.locationDoesNotExist=Složka v zadané cestě neexistuje nebo není přístupná
addvaultwizard.new.locationIsNotWritable=Není možné zapisovat na zadané cestě
addvaultwizard.new.locationIsOk=Vhodné umístění pro váš trezor
-addvaultwizard.new.invalidName=Neplatné jméno trezoru. Prosím změňte jméno adresáře.
### Password
addvaultwizard.new.createVaultBtn=Vytvořit trezor
addvaultwizard.new.generateRecoveryKeyChoice=Nebudete mít přístup k datům bez hesla. Chcete recovery klíč pro případ, že ztratíte heslo?
@@ -78,13 +79,14 @@ addvault.new.readme.accessLocation.4=Tento soubor můžete odstranit.
addvaultwizard.existing.instruction=Vyberte soubor "vault.cryptomator" z existujícího trezoru. Pokud existuje pouze soubor s názvem "masterkey.cryptomator", vyberte jej.
addvaultwizard.existing.chooseBtn=Vybrat...
addvaultwizard.existing.filePickerTitle=Vyberte soubor trezoru
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator trezor
## Success
addvaultwizard.success.nextStepsInstructions=Vytvořen trezor "%s".\nNejprve odemkněte tento trezor, pak do něj můžete přidat svůj obsah. Nebo jej můžete odemknout kdykoliv v budoucnu.
addvaultwizard.success.unlockNow=Odemknout nyní
# Remove Vault
removeVault.title=Odstranit trezor
-removeVault.information=Toto jen umožní Cryptomatoru zapomenout tento trezor. Později jej můžete opět přidat. Žádné šifrované soubory nebudou z vašeho disku smazány.
+removeVault.description=Toto jen umožní Cryptomatoru zapomenout tento trezor. Později jej můžete opět přidat. Žádné šifrované soubory nebudou z vašeho disku smazány.
removeVault.confirmBtn=Odstranit trezor
# Change Password
@@ -94,7 +96,7 @@ changepassword.finalConfirmation=Chápu, že pokud zapomenu své heslo, nebudu m
# Forget Password
forgetPassword.title=Zapomenout heslo
-forgetPassword.information=Toto smaže uložené heslo pro tento trezor.
+forgetPassword.description=Toto smaže uložené heslo pro tento trezor.
forgetPassword.confirmBtn=Zapomenout heslo
# Unlock
@@ -103,16 +105,15 @@ unlock.passwordPrompt=Zadejte heslo pro "%s":
unlock.savePassword=Zapamatovat heslo
unlock.unlockBtn=Odemknout
## Select
-unlock.chooseMasterkey.title=Vyberte soubor s hlavním klíčem "%s"
-unlock.chooseMasterkey.prompt=Nepodařilo se najít soubor hlavního klíče pro tento trezor v očekávaném umístění. Vyberte prosím soubor klíče ručně.
-unlock.chooseMasterkey.chooseBtn=Vybrat...
+unlock.chooseMasterkey.description=Nepodařilo se najít soubor hlavního klíče pro tento trezor v očekávaném umístění. Vyberte prosím soubor klíče ručně.
unlock.chooseMasterkey.filePickerTitle=Vyberte soubor s hlavním klíčem
+unlock.chooseMasterkey.filePickerMimeDesc=Hlavní klíč Cryptomatoru
## Success
-unlock.success.message=Trezor "%s" byl úspěšně odemčen a nyní je dostupný jako virtuální jednotka.
+unlock.success.description=Trezor "%s" byl úspěšně odemčen a nyní je dostupný jako virtuální jednotka.
unlock.success.rememberChoice=Pamatovat si volbu, nezobrazovat to znovu
unlock.success.revealBtn=Zobrazit jednotku
## Failure
-unlock.error.heading=Nelze odemknout trezor
+unlock.error.message=Nelze odemknout trezor
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Připojovací bod %s není složkou, není prázdný nebo neexistuje.
unlock.error.invalidMountPoint.existing=Připojovací bod %s již existuje nebo nadřazená složka chybí.
@@ -120,13 +121,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Písmeno „%s“ už je pou
# Lock
## Force
-lock.forced.heading=Zamknutí se nezdařilo
-lock.forced.message=Uzamčení "%s" bylo zablokováno nevyřízenými operacemi nebo otevřenými soubory. Můžete vynutit uzamčení tohoto trezoru, ale přerušení I/O může mít za následek ztrátu neuložených dat.
+lock.forced.message=Zamknutí se nezdařilo
+lock.forced.description=Uzamčení "%s" bylo zablokováno nevyřízenými operacemi nebo otevřenými soubory. Můžete vynutit uzamčení tohoto trezoru, ale přerušení I/O může mít za následek ztrátu neuložených dat.
lock.forced.retryBtn=Opakovat
lock.forced.forceBtn=Přesto uzamknout
## Failure
-lock.fail.heading=Uzamčení trezoru selhalo.
-lock.fail.message=Trezor "%s" nelze uzamknout. Ujistěte se, že je neuložená práce uložena jinde a že jsou dokončeny důležité operace čtení/zápis. Za účelem uzavření trezoru ukončte proces Cryptomatoru.
+lock.fail.message=Uzamčení trezoru selhalo.
+lock.fail.description=Trezor "%s" nelze uzamknout. Ujistěte se, že je neuložená práce uložena jinde a že jsou dokončeny důležité operace čtení/zápis. Za účelem uzavření trezoru ukončte proces Cryptomatoru.
# Migration
migration.title=Upgrade trezoru
@@ -266,7 +267,7 @@ main.closeBtn.tooltip=Zavřít
main.minimizeBtn.tooltip=Minimalizovat
main.preferencesBtn.tooltip=Nastavení
main.debugModeEnabled.tooltip=Režim ladění je povolen
-main.donationKeyMissing.tooltip=Prosím, zvažte darování
+main.supporterCertificateMissing.tooltip=Prosím, zvažte darování
## Drag 'n' Drop
main.dropZone.dropVault=Přidat tento trezor
main.dropZone.unknownDragboardContent=Pokud chcete přidat trezor, přetáhněte jej do tohoto okna
@@ -314,8 +315,8 @@ main.vaultDetail.error.windowTitle=Chyba při načítání trezoru
# Wrong File Alert
wrongFileAlert.title=Jak šifrovat soubory
-wrongFileAlert.header.title=Pokusili jste se tyto soubory zašifrovat?
-wrongFileAlert.header.lead=Pro tento účel Cryptomator vytvoří jednotku ve vašem systémovém správci souborů.
+wrongFileAlert.message=Pokusili jste se tyto soubory zašifrovat?
+wrongFileAlert.description=Pro tento účel Cryptomator vytvoří jednotku ve vašem systémovém správci souborů.
wrongFileAlert.instruction.0=Pro zašifrování souborů postupujte následovně:
wrongFileAlert.instruction.1=1. Odemkni svůj trezor.
wrongFileAlert.instruction.2=2. Klikněte na "Zobrazit" pro otevření jednotky ve správci souborů.
@@ -352,17 +353,20 @@ vaultOptions.masterkey.changePasswordBtn=Změnit heslo
vaultOptions.masterkey.forgetSavedPasswordBtn=Zapomenout uložené heslo
vaultOptions.masterkey.recoveryKeyExplanation=Obnovovací klíč je váš jediný způsob, jak obnovit přístup k trezoru, pokud ztratíte své heslo.
vaultOptions.masterkey.showRecoveryKeyBtn=Zobrazit klíč k obnově
-vaultOptions.masterkey.recoverPasswordBtn=Obnovit heslo
# Recovery Key
-recoveryKey.title=Klíč k obnově
-recoveryKey.enterPassword.prompt=Zadejte své heslo pro zobrazení obnovovacího klíče pro "%s":
-recoveryKey.display.message=Následující obnovovací klíč může být použit k obnovení přístupu k "%s":
+## Display Recovery Key
+recoveryKey.create.description=Zadejte své heslo pro zobrazení obnovovacího klíče pro "%s":
+recoveryKey.display.description=Následující obnovovací klíč může být použit k obnovení přístupu k "%s":
recoveryKey.display.StorageHints=Uchovejte ho někde velmi bezpečně, např.\n • Uložit pomocí správce hesel\n • Uložit na USB flash disk\n • Vytisknout na papír
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Zadejte váš obnovovací klíč pro "%s":
recoveryKey.recover.validKey=Toto je platný obnovovací klíč
recoveryKey.printout.heading=Obnovovací klíč Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Zadejte nové heslo
@@ -377,5 +381,6 @@ passwordStrength.messageLabel.3=silné
passwordStrength.messageLabel.4=velmi silné
# Quit
-quit.prompt=Uzavřít aplikaci? Máte nezamčené trezory.
-quit.lockAndQuit=Uzamknout a zavřít
+quit.lockAndQuitBtn=Uzamknout a zavřít
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_de.properties b/src/main/resources/i18n/strings_de.properties
index 44127ce52..20ea485cf 100644
--- a/src/main/resources/i18n/strings_de.properties
+++ b/src/main/resources/i18n/strings_de.properties
@@ -6,18 +6,20 @@ generic.button.apply=Übernehmen
generic.button.back=Zurück
generic.button.cancel=Abbrechen
generic.button.change=Ändern
+generic.button.choose=Durchsuchen …
generic.button.close=Schließen
generic.button.copy=Kopieren
generic.button.copied=Kopiert!
generic.button.done=Fertig
generic.button.next=Weiter
generic.button.print=Drucken
-## Error
-generic.error.title=Fehler %s
-generic.error.instruction=Ups! Das hat sich Cryptomator anders vorgestellt. Du kannst Lösungen für diesen Fehler nachschlagen oder einen neuen Fehlerbericht einreichen.
-generic.error.hyperlink.lookup=Diesen Fehler nachschlagen
-generic.error.hyperlink.report=Diesen Fehler melden
-generic.error.technicalDetails=Details:
+
+# Error
+error.message=Ein Fehler ist aufgetreten
+error.description=Ups! Das hat sich Cryptomator anders vorgestellt. Du kannst Lösungen für diesen Fehler nachschlagen oder einen neuen Fehlerbericht einreichen.
+error.hyperlink.lookup=Diesen Fehler nachschlagen
+error.hyperlink.report=Diesen Fehler melden
+error.technicalDetails=Details:
# Defaults
defaults.vault.vaultName=Tresor
@@ -44,14 +46,19 @@ addvaultwizard.new.namePrompt=Tresorname
addvaultwizard.new.locationInstruction=Wo soll Cryptomator die verschlüsselten Dateien deines Tresors ablegen?
addvaultwizard.new.locationLabel=Speicherort
addvaultwizard.new.locationPrompt=…
-addvaultwizard.new.directoryPickerLabel=Benutzerdefinierter Ort
+addvaultwizard.new.directoryPickerLabel=Eigener Ort
addvaultwizard.new.directoryPickerButton=Durchsuchen …
addvaultwizard.new.directoryPickerTitle=Verzeichnis auswählen
addvaultwizard.new.fileAlreadyExists=Eine Datei oder ein Ordner dieses Namens besteht bereits
addvaultwizard.new.locationDoesNotExist=Ein Ordner im angegebenen Pfad existiert nicht oder kann nicht geöffnet werden
addvaultwizard.new.locationIsNotWritable=Kein Schreibzugriff auf den angegebenen Pfad
addvaultwizard.new.locationIsOk=Geeigneter Ort für deinen Tresor
-addvaultwizard.new.invalidName=Ungültiger Tresorname. Bitte wähle einen regulären Namen, mit dem auch Verzeichnisse erstellt werden können.
+addvaultwizard.new.invalidName=Ungültiger Tresorname
+addvaultwizard.new.validName=Gültiger Tresorname
+addvaultwizard.new.validCharacters.message=Der Tresorname darf folgende Zeichen enthalten:
+addvaultwizard.new.validCharacters.chars=Wortzeichen (z.B. a, ж oder 수)
+addvaultwizard.new.validCharacters.numbers=Zahlen
+addvaultwizard.new.validCharacters.dashes=Bindestrich (%s) oder Unterstrich (%s)
### Password
addvaultwizard.new.createVaultBtn=Tresor erstellen
addvaultwizard.new.generateRecoveryKeyChoice=Ohne dieses Passwort kannst du auf deine Daten nicht mehr zugreifen. Möchtest du für den Fall eines Passwortverlusts einen Wiederherstellungsschlüssel erstellen?
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=Du kannst diese Datei löschen.
addvaultwizard.existing.instruction=Wähle die Datei „vault.cryptomator“ deines bestehenden Tresors aus. Falls nur eine Datei mit der Bezeichnung „masterkey.cryptomator“ vorhanden ist, nutze stattdessen diese.
addvaultwizard.existing.chooseBtn=Durchsuchen …
addvaultwizard.existing.filePickerTitle=Tresordatei auswählen
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator-Tresor
## Success
addvaultwizard.success.nextStepsInstructions=Tresor „%s“ wurde hinzugefügt.\nUm auf Inhalte zuzugreifen oder welche hinzuzufügen, musst du den Tresor entsperren. Du kannst ihn aber auch zu jedem späteren Zeitpunkt entsperren.
addvaultwizard.success.unlockNow=Jetzt entsperren
# Remove Vault
-removeVault.title=Tresor entfernen
-removeVault.information=Dieser Tresor wird nur aus der Tresorliste entfernt. Du kannst den Tresor später jederzeit wieder hinzufügen. Es werden keine verschlüsselten Daten gelöscht.
+removeVault.title=„%s“ entfernen
+removeVault.message=Tresor entfernen?
+removeVault.description=Dieser Tresor wird nur aus der Tresorliste entfernt. Du kannst den Tresor später jederzeit wieder hinzufügen. Es werden keine verschlüsselten Daten gelöscht.
removeVault.confirmBtn=Tresor entfernen
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=Mir ist bewusst, dass ich bei Verlust meines Pa
# Forget Password
forgetPassword.title=Passwort vergessen
-forgetPassword.information=Dies löscht das gespeicherte Passwort dieses Tresors aus dem Schlüsselbund deines Betriebssystems.
+forgetPassword.message=Gespeichertes Kennwort löschen?
+forgetPassword.description=Dies löscht das gespeicherte Passwort dieses Tresors aus dem Schlüsselbund deines Betriebssystems.
forgetPassword.confirmBtn=Passwort vergessen
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt=Gib das Passwort für „%s“ ein:
unlock.savePassword=Passwort merken
unlock.unlockBtn=Entsperren
## Select
-unlock.chooseMasterkey.title=Masterkey von „%s“ auswählen
-unlock.chooseMasterkey.prompt=Die Masterkey-Datei dieses Tresors konnte nicht gefunden werden. Bitte wähle die Masterkey-Datei manuell aus.
-unlock.chooseMasterkey.chooseBtn=Durchsuchen …
+unlock.chooseMasterkey.message=Masterkey-Datei nicht gefunden
+unlock.chooseMasterkey.description=Cryptomator konnte die Masterkey-Datei des Tresors „%s“ nicht finden. Bitte wähle die Datei manuell aus.
unlock.chooseMasterkey.filePickerTitle=Masterkey-Datei auswählen
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator-Masterkey
## Success
-unlock.success.message=„%s“ erfolgreich entsperrt! Du kannst nun über das virtuelle Laufwerk auf deinen Tresor zugreifen.
-unlock.success.rememberChoice=Auswahl speichern und nicht mehr anzeigen
+unlock.success.message=Entsperren erfolgreich
+unlock.success.description=Der Inhalt des Tresors „%s“ ist nun über dessen Einhängepunkt erreichbar.
+unlock.success.rememberChoice=Auswahl merken und nicht mehr fragen
unlock.success.revealBtn=Laufwerk anzeigen
## Failure
-unlock.error.heading=Tresor konnte nicht entsperrt werden
+unlock.error.message=Tresor konnte nicht entsperrt werden
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Einhängepunkt „%s“ ist kein leeres Verzeichnis oder existiert nicht.
unlock.error.invalidMountPoint.existing=Einhängepunkt „%s“ besteht bereits oder übergeordneter Ordner fehlt.
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Laufwerksbuchstabe „%s“ w
# Lock
## Force
-lock.forced.heading=Sperren fehlgeschlagen
-lock.forced.message=Aufgrund von Zugriffen laufender Prozesse oder geöffneter Dateien konnte „%s“ nicht gesperrt werden. Du kannst das Sperren dieses Tresors erzwingen, allerdings kann dies zum Verlust ungespeicherter Daten führen.
+lock.forced.message=Sperren fehlgeschlagen
+lock.forced.description=Das Sperren von „%s“ wurde durch anstehende Operationen oder geöffnete Dateien blockiert. Du kannst das Sperren dieses Tresors erzwingen, allerdings kann dies zum Verlust ungesicherter Daten führen.
lock.forced.retryBtn=Wiederholen
lock.forced.forceBtn=Erzwingen
## Failure
-lock.fail.heading=Tresor konnte nicht gesperrt werden.
-lock.fail.message=Der Tresor „%s“ konnte nicht gesperrt werden. Stelle sicher, dass du deine ungespeicherte Arbeit an anderer Stelle speicherst und wichtige Lese-/Schreibvorgänge abgeschlossen sind. Um den Tresor zu schließen, beende den Cryptomator-Prozess.
+lock.fail.message=Tresor konnte nicht gesperrt werden
+lock.fail.description=Der Tresor „%s“ konnte nicht gesperrt werden. Stelle sicher, dass du deine ungespeicherte Arbeit an anderer Stelle speicherst und wichtige Lese-/Schreibvorgänge abgeschlossen sind. Um den Tresor zu schließen, beende den Cryptomator-Prozess.
# Migration
migration.title=Tresor upgraden
@@ -167,7 +178,7 @@ health.fail.ioError=Beim Lesezugriff auf die Konfigurationsdatei ist ein Fehler
health.fail.parseError=Beim Parsen der Tresorkonfiguration ist ein Fehler aufgetreten.
health.fail.moreInfo=Weitere Informationen
## Check Selection
-health.checkList.description=Markiere Prüfungen in der linken Liste oder benutze die Schaltflächen darunter.
+health.checkList.description=Wähle die gewünschten Prüfungen links in der Liste aus oder verwende die Schaltflächen unten.
health.checkList.selectAllButton=Alle Prüfungen auswählen
health.checkList.deselectAllButton=Alle Prüfungen abwählen
health.check.runBatchBtn=Ausgewählte Prüfungen ausführen
@@ -191,6 +202,7 @@ preferences.title=Einstellungen
## General
preferences.general=Allgemein
preferences.general.startHidden=Cryptomator im Hintergrund starten
+preferences.general.autoCloseVaults=Geöffnete Tresore automatisch beim Schließen sperren
preferences.general.debugLogging=Diagnoseprotokoll aktivieren
preferences.general.debugDirectory=Protokolldateien anzeigen
preferences.general.autoStart=Cryptomator beim Systemstart starten
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=Schließen
main.minimizeBtn.tooltip=Minimieren
main.preferencesBtn.tooltip=Einstellungen
main.debugModeEnabled.tooltip=Diagnosemodus ist aktiviert
-main.donationKeyMissing.tooltip=Zieh bitte eine Spende in Betracht
+main.supporterCertificateMissing.tooltip=Zieh bitte eine Spende in Betracht
## Drag 'n' Drop
main.dropZone.dropVault=Diesen Tresor hinzufügen
main.dropZone.unknownDragboardContent=Falls du einen Tresor hinzufügen möchtest, zieh ihn in dieses Fenster
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=Fehler beim Laden des Tresors
# Wrong File Alert
wrongFileAlert.title=Verschlüsseln von Dateien
-wrongFileAlert.header.title=Hast du versucht, diese Dateien zu verschlüsseln?
-wrongFileAlert.header.lead=Zu diesem Zweck stellt Cryptomator ein Laufwerk in deinem System-Dateimanager zur Verfügung.
+wrongFileAlert.message=Hast du versucht, diese Dateien zu verschlüsseln?
+wrongFileAlert.description=Zu diesem Zweck stellt Cryptomator ein Laufwerk in deinem System-Dateimanager zur Verfügung.
wrongFileAlert.instruction.0=Folge diesen Schritten, um Dateien zu verschlüsseln:
wrongFileAlert.instruction.1=1. Entsperre deinen Tresor.
wrongFileAlert.instruction.2=2. Klicke auf „Anzeigen“, um das Laufwerk in deinem Dateimanager zu öffnen.
@@ -352,17 +364,27 @@ vaultOptions.masterkey.changePasswordBtn=Passwort ändern
vaultOptions.masterkey.forgetSavedPasswordBtn=Gespeichertes Passwort vergessen
vaultOptions.masterkey.recoveryKeyExplanation=Ein Wiederherstellungsschlüssel ist bei Passwortverlust deine einzige Möglichkeit, den Zugriff auf einen Tresor wiederherzustellen.
vaultOptions.masterkey.showRecoveryKeyBtn=Wiederherstellungsschlüssel anzeigen
-vaultOptions.masterkey.recoverPasswordBtn=Passwort wiederherstellen
+vaultOptions.masterkey.recoverPasswordBtn=Passwort zurücksetzen
# Recovery Key
-recoveryKey.title=Wiederherstellungsschlüssel
-recoveryKey.enterPassword.prompt=Geben Sie Ihr Passwort ein, um den Wiederherstellungsschlüssel für "%s" anzuzeigen:
-recoveryKey.display.message=Der folgende Wiederherstellungsschlüssel kann verwendet werden, um den Zugriff auf "%s" wiederherzustellen:
+## Display Recovery Key
+recoveryKey.display.title=Wiederherstellungsschlüssel anzeigen
+recoveryKey.create.message=Passwort erforderlich
+recoveryKey.create.description=Gib das Passwort für „%s“ ein, um dessen Wiederherstellungsschlüssel anzuzeigen.
+recoveryKey.display.description=Mit folgendem Wiederherstellungsschlüssel kannst du den Zugriff auf „%s“ wiederherstellen:
recoveryKey.display.StorageHints=Bewahre ihn möglichst sicher auf, z. B.\n • in einem Passwortmanager\n • auf einem USB-Speicherstick\n • auf Papier ausgedruckt
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Passwort zurücksetzen
recoveryKey.recover.prompt=Gib deinen Wiederherstellungsschlüssel für „%s“ ein:
recoveryKey.recover.validKey=Dies ist ein gültiger Wiederherstellungsschlüssel
recoveryKey.printout.heading=Cryptomator-Wiederherstellungsschlüssel\n„%s“\n
+### Reset Password
+recoveryKey.recover.resetBtn=Zurücksetzen
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Passwort erfolgreich zurückgesetzt
+recoveryKey.recover.resetSuccess.description=Der Tresor kann mit dem neuen Passwort entsperrt werden.
# New Password
newPassword.promptText=Gib ein neues Passwort ein
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=Stark
passwordStrength.messageLabel.4=Sehr stark
# Quit
-quit.prompt=Cryptomator beenden? Es sind noch Tresore entsperrt.
-quit.lockAndQuit=Sperren und beenden
+quit.title=Programm beenden
+quit.message=Entsperrte Tresore vorhanden
+quit.description=Bitte bestätige, dass du das Programm beenden möchtest. Cryptomator sperrt alle entsperrten Tresore, um Datenverluste zu vermeiden.
+quit.lockAndQuitBtn=Sperren und beenden
+
+# Forced Quit
+quit.forced.message=Einige Tresore konnten nicht gesperrt werden
+quit.forced.description=Ausstehende Operationen oder geöffnete Dateien verhindern das Sperren von Tresoren. Das Schließen der verbleibenden Tresore kann erzwungen werden, wobei die Unterbrechung von I/O-Vorgängen zum Verlust ungespeicherter Daten führen kann.
+quit.forced.forceAndQuitBtn=Erzwingen und beenden
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_el.properties b/src/main/resources/i18n/strings_el.properties
index eae3cd798..470e85d2f 100644
--- a/src/main/resources/i18n/strings_el.properties
+++ b/src/main/resources/i18n/strings_el.properties
@@ -6,18 +6,20 @@ generic.button.apply=Εφαρμογή
generic.button.back=Πίσω
generic.button.cancel=Ακύρωση
generic.button.change=Αλλαγή
+generic.button.choose=Επιλογή…
generic.button.close=Κλείσιμο
generic.button.copy=Αντιγραφή
generic.button.copied=Αντιγράφηκε!
generic.button.done=Κλείσιμο
generic.button.next=Επόμενο
generic.button.print=Εκτύπωση
-## Error
-generic.error.title=Σφάλμα %s
-generic.error.instruction=Ωχ! Το Cryptomator δεν περίμενε να συμβεί αυτό. Μπορείτε να αναζητήσετε υπάρχουσες λύσεις για αυτό το σφάλμα. Ή εάν δεν έχει αναφερθεί ακόμα, μη διστάσετε να το κάνετε.
-generic.error.hyperlink.lookup=Αναζήτηση αυτού του σφάλματος
-generic.error.hyperlink.report=Αναφέρετε αυτό το σφάλμα
-generic.error.technicalDetails=Λεπτομέρειες:
+
+# Error
+error.message=Παρουσιάστηκε σφάλμα
+error.description=Ωχ! Το Cryptomator δεν περίμενε να συμβεί αυτό. Μπορείτε να αναζητήσετε υπάρχουσες λύσεις για αυτό το σφάλμα. Ή εάν δεν έχει αναφερθεί ακόμα, μη διστάσετε να το κάνετε.
+error.hyperlink.lookup=Αναζήτηση αυτού του σφάλματος
+error.hyperlink.report=Αναφέρετε αυτό το σφάλμα
+error.technicalDetails=Λεπτομέρειες:
# Defaults
defaults.vault.vaultName=Κρύπτη
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=Ένα αρχείο ή φάκελος με
addvaultwizard.new.locationDoesNotExist=Στην καθορισμένη διαδρομή δεν υπάρχει ή δεν μπορεί να προσπελαστεί ένας φάκελος
addvaultwizard.new.locationIsNotWritable=Δεν υπάρχει πρόσβαση εγγραφής στην καθορισμένη διαδρομή
addvaultwizard.new.locationIsOk=Κατάλληλη τοποθεσία για την κρύπτη σας
-addvaultwizard.new.invalidName=Λάθος όνομα κρύπτης. Παρακαλώ χρησιμοποιείστε ένα κανονικό όνομα φακέλου.
+addvaultwizard.new.invalidName=Μη έγκυρο όνομα κρύπτης
+addvaultwizard.new.validName=Έγκυρο όνομα κρύπτης
+addvaultwizard.new.validCharacters.message=Το όνομα κρύπτης μπορεί να περιέχει τους ακόλουθους χαρακτήρες:
+addvaultwizard.new.validCharacters.chars=Χαρακτήρες λέξεων (πχ, a, ж or 수)
+addvaultwizard.new.validCharacters.numbers=Αριθμοί
+addvaultwizard.new.validCharacters.dashes=Παύλα (%s) ή κάτω παύλα (%s)
### Password
addvaultwizard.new.createVaultBtn=Δημιουργία Κρύπτης
addvaultwizard.new.generateRecoveryKeyChoice=Δεν θα μπορείτε να έχετε πρόσβαση στα δεδομένα σας χωρίς τον κωδικό σας. Θέλετε να δημιουργηθεί ένα κλειδί ανάκτησης στην περίπτωση που χάσετε τον κωδικό σας;
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=Μπορείτε ελεύθερα να αφ
addvaultwizard.existing.instruction=Επιλέξτε το αρχείο "vault.cryptomator" της υπάρχοντος κρύπτης. Αν υπάρχει μόνο ένα αρχείο με όνομα "masterkey.cryptomator", επιλέξτε αυτό.
addvaultwizard.existing.chooseBtn=Επιλογή…
addvaultwizard.existing.filePickerTitle=Επιλέξτε Αρχείο Κρύπτης
+addvaultwizard.existing.filePickerMimeDesc=Κρύπτη Cryptomator
## Success
addvaultwizard.success.nextStepsInstructions=Προστέθηκε το vault "%s".\nΠρέπει να ξεκλειδώσετε αυτό το vault για να έχετε πρόσβαση ή να προσθέσετε περιεχόμενο. Εναλλακτικά μπορείτε να το ξεκλειδώσετε κάποια άλλη στιγμή.
addvaultwizard.success.unlockNow=Ξεκλείδωμα τώρα
# Remove Vault
-removeVault.title=Διαγραφή Vault
-removeVault.information=Το Cryptomator θα ξεχάσει αυτό το vault. Μπορείτε να το προσθέσετε ξανά αργότερα. Δεν θα διαγραφούν τα κωδικοποιημένα αρχεία σας από τον σκληρό σας δίσκο.
+removeVault.title=Διαγραφή "%s"
+removeVault.message=Διαγραφή κρύπτης;
+removeVault.description=Αυτό θα κάνει το Cryptomator να ξεχάσει αυτή την κρύπτη. Μπορείτε να την προσθέσετε ξανά. Κανένα κρυπτογραφημένο αρχείο δε θα διαγραφεί από τον σκληρό σας δίσκο.
removeVault.confirmBtn=Διαγραφή Κρύπτης
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=Κατανοώ πως δεν θα μπορώ ν
# Forget Password
forgetPassword.title=Ξέχασα τον κωδικό πρόσβασης
-forgetPassword.information=Ο αποθηκευμένος κωδικός αυτού του vault θα διαγραφεί από το σύστημα σας.
+forgetPassword.message=Ξεχάστε τον αποθηκευμένο κωδικό πρόσβασης;
+forgetPassword.description=Αυτό θα διαγράψει τον αποθηκευμένο κωδικό πρόσβασης αυτής της κρύπτης από το συστήματός σας.
forgetPassword.confirmBtn=Ξέχασα τον κωδικό πρόσβασης
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt=Εισάγετε τον κωδικό για "%s":
unlock.savePassword=Απομνημόνευση κωδικού πρόσβασης
unlock.unlockBtn=Ξεκλείδωμα
## Select
-unlock.chooseMasterkey.title=Επιλέξτε το Masterkey του "%s"
-unlock.chooseMasterkey.prompt=Αδυναμία εύρεσης του αρχείου masterkey για αυτό το vault στην αναμενόμενη τοποθεσία. Παρακαλώ επιλέξτε το αρχείο χειροκίνητα.
-unlock.chooseMasterkey.chooseBtn=Επιλογή…
+unlock.chooseMasterkey.message=Το αρχείο Masterkey δεν βρέθηκε
+unlock.chooseMasterkey.description=Το Cryptomator δεν μπόρεσε να βρει το αρχείο masterkey για την κρύπτη "%s". Επιλέξτε το αρχείο κλειδιού με μη αυτόματο τρόπο.
unlock.chooseMasterkey.filePickerTitle=Επιλέξτε το αρχείο Masterkey
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator Masterkey
## Success
-unlock.success.message=Ξεκλειδώθηκε "%s" επιτυχώς! Το vault σας είναι διαθέσιμο μέσω του εικονικού δίσκου του.
-unlock.success.rememberChoice=Απομνημόνευση επιλογής, μην ρωτήσεις ξανά
+unlock.success.message=Επιτυχές ξεκλείδωμα
+unlock.success.description=Το περιεχόμενο στην κρύπτη "%s" είναι πλέον προσβάσιμο μέσω του εικονικού δίσκου του.
+unlock.success.rememberChoice=Απομνημόνευση επιλογής, μη ρωτήσεις ξανά
unlock.success.revealBtn=Αποκάλυψη εικονικού δίσκου
## Failure
-unlock.error.heading=Αδυναμία ξεκλειδώματος vault
+unlock.error.message=Αδυναμία ξεκλειδώματος κρύπτης
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Το σημείο προσάρτησης δεν είναι κενός φάκελος ή δεν υπάρχει: %s
unlock.error.invalidMountPoint.existing=Το σημείο/φάκελος προσάρτησης υπάρχει ήδη ή ο γονικός φάκελος λείπει: %s
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Το Γράμμα Δίσκο
# Lock
## Force
-lock.forced.heading=Το κλείδωμα απέτυχε
-lock.forced.message=Το κλείδωμα "%s" μπλοκαρίστηκε από εκκρεμείς διεργασίες ή ανοιχτά αρχεία. Μπορείτε να εξαναγκάσετε το κλείδωμα του vault, αλλά η διακοπή Ι/Ο ενδέχεται να οδηγήσει σε απώλεια μη αποθηκευμένων δεδομένων.
+lock.forced.message=Το κλείδωμα απέτυχε
+lock.forced.description=Το κλείδωμα "%s" μπλοκαρίστηκε από εκκρεμείς διεργασίες ή ανοιχτά αρχεία. Μπορείτε να εξαναγκάσετε το κλείδωμα της κρύπτης, αλλά η διακοπή Ι/Ο ενδέχεται να οδηγήσει σε απώλεια μη αποθηκευμένων δεδομένων.
lock.forced.retryBtn=Επανάληψη
lock.forced.forceBtn=Εξαναγκασμός Κλειδώματος
## Failure
-lock.fail.heading=Το κλείδωμα του vault απέτυχε.
-lock.fail.message=Το Vault "%s" δεν κλειδώθηκε. Εξασφαλίστε την αποθήκευση της εργασίας σε άλλο σημείο και πως οι σημαντικές διεργασίας Ανάγνωσης/Εγγραφής έχουν ολοκληρωθεί. Για να κλείσετε το vault, τερματίστε τη διεργασία του Cryptomator.
+lock.fail.message=Το κλείδωμα της κρύπτης απέτυχε
+lock.fail.description=Η κρυπτη "%s" δεν ήταν δυνατό να κλειδωθεί. Εξασφαλίστε την αποθήκευση της εργασίας σε άλλο σημείο και πως οι σημαντικές διεργασίας Ανάγνωσης/Εγγραφής έχουν ολοκληρωθεί. Για να κλείσετε την κρύπτη, τερματίστε τη διεργασία του Cryptomator.
# Migration
migration.title=Αναβάθμιση Vault
@@ -191,6 +202,7 @@ preferences.title=Προτιμήσεις
## General
preferences.general=Γενικά
preferences.general.startHidden=Απόκρυψη παραθύρου όταν ξεκινά το Cryptomator
+preferences.general.autoCloseVaults=Αυτόματο κλείδωμα ανοιγμένης κρύπτης κατά την έξοδο της εφαρμογής
preferences.general.debugLogging=Ενεργοποίηση καταγραφής σφαλμάτων
preferences.general.debugDirectory=Αποκάλυψη αρχείων καταγραφής
preferences.general.autoStart=Εκκίνηση Cryptomator στην εκκίνηση του συστήματος
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=Κλείσιμο
main.minimizeBtn.tooltip=Ελαχιστοποίηση
main.preferencesBtn.tooltip=Προτιμήσεις
main.debugModeEnabled.tooltip=Έχει ενεργοποιηθεί η λειτουργία αποσφαλμάτωσης
-main.donationKeyMissing.tooltip=Παρακαλώ σκεφτείτε τη δωρεά
+main.supporterCertificateMissing.tooltip=Παρακαλούμε σκεφτείτε να κάνετε δωρεά
## Drag 'n' Drop
main.dropZone.dropVault=Προσθήκη vault
main.dropZone.unknownDragboardContent=Αν θέλετε να προσθέσετε ένα vault, σύρετε το σε αυτό το παράθυρο
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=Σφάλμα φόρτωσης κρύπτης
# Wrong File Alert
wrongFileAlert.title=Πως να κωδικοποιήσετε αρχεία
-wrongFileAlert.header.title=Προσπαθήσατε να κωδικοποιήσετε αυτά τα αρχεία;
-wrongFileAlert.header.lead=Για αυτό τον λόγο, το Cryptomator παρέχει ένα εικονικό δίσκο στην εξερεύνηση των αρχείων σας.
+wrongFileAlert.message=Προσπαθήσατε να κρυπτογραφήσετε αυτά τα αρχεία;
+wrongFileAlert.description=Για αυτό τον λόγο, το Cryptomator παρέχει έναν εικονικό δίσκο στην εξερεύνηση των αρχείων σας.
wrongFileAlert.instruction.0=Για να κωδικοποιήσετε τα αρχεία, ακολουθείστε αυτά τα βήματα:
wrongFileAlert.instruction.1=1. Ξεκλειδώστε το vault σας.
wrongFileAlert.instruction.2=2. Κάντε κλικ στο "Αποκάλυψη" για να ανοίξετε τον εικονικό δίσκο στην εξερεύνηση αρχείων.
@@ -352,17 +364,27 @@ vaultOptions.masterkey.changePasswordBtn=Αλλαγή κωδικού πρόσβ
vaultOptions.masterkey.forgetSavedPasswordBtn=Διαγραφή αποθηκευμένου κωδικού
vaultOptions.masterkey.recoveryKeyExplanation=Το κλειδί ασφαλείας είναι ο μόνος τρόπος ανάκτησης πρόσβασης σε ένα vault αν χάσετε τον κωδικό σας.
vaultOptions.masterkey.showRecoveryKeyBtn=Προβολή κλειδιού ανάκτησης
-vaultOptions.masterkey.recoverPasswordBtn=Ανάκτηση κωδικού
+vaultOptions.masterkey.recoverPasswordBtn=Επαναφορά Κωδικού Πρόσβασης
# Recovery Key
-recoveryKey.title=Κλειδί Ανάκτησης
-recoveryKey.enterPassword.prompt=Εισάγετε τον κωδικό σας για να δείτε το κλειδί ανάκτησης για "%s":
-recoveryKey.display.message=Το παρακάτω κλειδί ανάκτησης μπορεί να χρησιμοποιηθεί για επαναφορά πρόσβασης στο "%s":
+## Display Recovery Key
+recoveryKey.display.title=Εμφάνιση Κλειδιού Ανάκτησης
+recoveryKey.create.message=Απαιτείται κωδικός πρόσβασης
+recoveryKey.create.description=Εισαγάγετε τον κωδικό πρόσβασης για "%s" για να εμφανιστεί το κλειδί ανάκτησης.
+recoveryKey.display.description=Το παρακάτω κλειδί ανάκτησης μπορεί να χρησιμοποιηθεί για επαναφορά πρόσβασης στο "%s":
recoveryKey.display.StorageHints=Φυλάξτε κάπου που θα είναι ασφαλές, π.χ.:\nΑποθήκευση σε πρόγραμμα διαχείρισης κωδικών\nΑποθήκευση σε USB δίσκο\nΤυπώστε το σε χαρτί
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Επαναφορά Κωδικού Πρόσβασης
recoveryKey.recover.prompt=Εισάγετε το κλειδί ανάκτησης για "%s":
recoveryKey.recover.validKey=Αυτό είναι ένα έγκυρο κλειδί ανάκτησης
recoveryKey.printout.heading=Κλειδί ανάκτησης Cryptomator\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=Επαναφορά
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Επιτυχής επαναφορά κωδικού πρόσβασης
+recoveryKey.recover.resetSuccess.description=Μπορείτε να ξεκλειδώσετε την κρύπτη σας με το νέο κωδικό πρόσβασης.
# New Password
newPassword.promptText=Εισάγετε ένα νέο κωδικό
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=Δυνατός
passwordStrength.messageLabel.4=Πολύ δυνατός
# Quit
-quit.prompt=Κλείσιμο εφαρμογής; Υπάρχουν ξεκλείδωτα vault.
-quit.lockAndQuit=Κλείδωμα και Έξοδος
+quit.title=Έξοδος Εφαρμογής
+quit.message=Υπάρχουν ξεκλείδωτες κρύπτες
+quit.description=Παρακαλώ επιβεβαιώστε ότι θέλετε να αποχωρήσετε. Το Cryptomator θα κλειδώσει με χάρη όλες τις ξεκλείδωτες κρύπτες για να αποτρέψει την απώλεια δεδομένων.
+quit.lockAndQuitBtn=Κλείδωμα και Έξοδος
+
+# Forced Quit
+quit.forced.message=Δεν ήταν δυνατό να κλειδωθούν ορισμένες κρύπτες
+quit.forced.description=Το κλείδωμα κρυπτών αποκλείστηκε από εκκρεμείς ενέργειες ή από ανοιχτά αρχεία. Μπορείτε να αναγκάσετε το κλείδωμα εναπομείναντων θησαυροφυλάκων, ωστόσο η διακοπή I/O μπορεί να οδηγήσει στην απώλεια μη αποθηκευμένων δεδομένων.
+quit.forced.forceAndQuitBtn=Εξαναγκασμός και Έξοδος
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_es.properties b/src/main/resources/i18n/strings_es.properties
index 296be8965..192525c70 100644
--- a/src/main/resources/i18n/strings_es.properties
+++ b/src/main/resources/i18n/strings_es.properties
@@ -6,18 +6,20 @@ generic.button.apply=Aplicar
generic.button.back=Volver
generic.button.cancel=Cancelar
generic.button.change=Modificar
+generic.button.choose=Elegir…
generic.button.close=Cerrar
generic.button.copy=Copiar
generic.button.copied=¡Copiado!
generic.button.done=Hecho
generic.button.next=Continuar
generic.button.print=Imprimir
-## Error
-generic.error.title=Error %s
-generic.error.instruction=¡Ups! Cryptomator no esperaba que esto sucediera. Puede buscar soluciones existentes para este error. O si aún no se ha notiicado, siéntase libre de hacerlo.
-generic.error.hyperlink.lookup=Buscar este error
-generic.error.hyperlink.report=Notificar este error
-generic.error.technicalDetails=Detalles:
+
+# Error
+error.message=Error %s
+error.description=¡Ups! Cryptomator no esperaba que esto sucediera. Puede buscar soluciones existentes para este error. O si aún no se ha notiicado, siéntase libre de hacerlo.
+error.hyperlink.lookup=Buscar este error
+error.hyperlink.report=Notificar este error
+error.technicalDetails=Detalles:
# Defaults
defaults.vault.vaultName=Bóveda
@@ -51,7 +53,6 @@ addvaultwizard.new.fileAlreadyExists=Ya existe un archivo o directorio con el no
addvaultwizard.new.locationDoesNotExist=No existe un directorio en la ruta especificada o no se puede acceder
addvaultwizard.new.locationIsNotWritable=Sin acceso de escritura en la ruta especificada
addvaultwizard.new.locationIsOk=Ubicación adecuada para la bóveda
-addvaultwizard.new.invalidName=Nombre de bóveda inválido. Considere un nombre de directorio regular.
### Password
addvaultwizard.new.createVaultBtn=Crear bóveda
addvaultwizard.new.generateRecoveryKeyChoice=No podrá acceder a sus datos sin su contraseña. ¿Desea una clave de recuperación en caso de que pierda su contraseña?
@@ -78,13 +79,15 @@ addvault.new.readme.accessLocation.4=No dude en eliminar este archivo.
addvaultwizard.existing.instruction=Elija el archivo "vault.cryptomator" de su bóveda existente. Si solo existe un archivo llamado "masterkey.cryptomator", selecciónelo en su lugar.
addvaultwizard.existing.chooseBtn=Elegir…
addvaultwizard.existing.filePickerTitle=Seleccionar archivo de bóveda
+addvaultwizard.existing.filePickerMimeDesc=Bóveda de Cryptomator
## Success
addvaultwizard.success.nextStepsInstructions=Bóveda "%s" añadida.\nSe necesita desbloquear esta bóveda para acceder o añadir contenido. Alternativamente se \n puede desbloquear en otro momento.
addvaultwizard.success.unlockNow=Desbloquear ahora
# Remove Vault
removeVault.title=Eliminar bóveda
-removeVault.information=Esto sólo hará que Cryptomator olvide la bóveda. Se la puede añadir de nuevo más tarde. Los archivos cifrados no se eliminarán del disco duro.
+removeVault.message=¿Eliminar bóveda?
+removeVault.description=Esto sólo hará que Cryptomator olvide la bóveda. Se la puede añadir de nuevo más tarde. Los archivos cifrados no se eliminarán del disco duro.
removeVault.confirmBtn=Eliminar bóveda
# Change Password
@@ -94,8 +97,9 @@ changepassword.finalConfirmation=Entiendo que no podré acceder a mis datos si o
# Forget Password
forgetPassword.title=Olvidar contraseña
-forgetPassword.information=Esto eliminará la contraseña guardada de esta bóveda de su cadena de claves del sistema.
-forgetPassword.confirmBtn=Olvidar contraseña
+forgetPassword.message=¿Olvidar contraseña guardada?
+forgetPassword.description=Esto eliminará la contraseña guardada de esta bóveda de su cadena de claves del sistema.
+forgetPassword.confirmBtn=No recuerdo la contraseña
# Unlock
unlock.title=Desbloquear "%s"
@@ -103,16 +107,17 @@ unlock.passwordPrompt=Ingresar contraseña para "%s":
unlock.savePassword=Recordar contraseña
unlock.unlockBtn=Desbloquear
## Select
-unlock.chooseMasterkey.title=Seleccionar clave maestra de "%s"
-unlock.chooseMasterkey.prompt=No se pudo encontrar el archivo de la clave maestra de esta bóveda en la ubicación esperada. Por favor, elija manualmente el archivo de la clave.
-unlock.chooseMasterkey.chooseBtn=Elegir…
+unlock.chooseMasterkey.message=Archivo masterkey no encontrado
+unlock.chooseMasterkey.description=No se pudo encontrar el archivo de la clave maestra de esta bóveda en la ubicación esperada. Por favor, elija manualmente el archivo de la clave.
unlock.chooseMasterkey.filePickerTitle=Seleccione el archivo de la clave maestra
+unlock.chooseMasterkey.filePickerMimeDesc=Clave maestra de Cryptomator
## Success
-unlock.success.message=¡Desbloqueo de "%s" exitoso! Su bóveda ahora es accesible a través de su unidad virtual.
+unlock.success.message=Desbloqueo exitoso
+unlock.success.description=¡Desbloqueo de "%s" exitoso! Su bóveda ahora es accesible a través de su unidad virtual.
unlock.success.rememberChoice=Recordar opción y no mostrar de nuevo
unlock.success.revealBtn=Revelar unidad
## Failure
-unlock.error.heading=No se puede desbloquear la bóveda
+unlock.error.message=No se puede desbloquear la bóveda
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=El punto de montaje "%s"no es un directorio, no está vacío o no existe.
unlock.error.invalidMountPoint.existing=El punto de montaje "%s" ya existe o falta la carpeta padre.
@@ -120,13 +125,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=La letra de unidad "%s" ya es
# Lock
## Force
-lock.forced.heading=Error al bloquear
-lock.forced.message=El bloqueo de "%s" fue bloqueado por operaciones pendientes o archivos abiertos. Puede forzar el bloqueo de esta bóveda, sin embargo, interrumpir la I/O puede provocar la pérdida de datos no guardados.
+lock.forced.message=Error al bloquear
+lock.forced.description=El bloqueo de "%s" fue bloqueado por operaciones pendientes o archivos abiertos. Puede forzar el bloqueo de esta bóveda, sin embargo, interrumpir la I/O puede provocar la pérdida de datos no guardados.
lock.forced.retryBtn=Reintentar
lock.forced.forceBtn=Forzar bloqueo
## Failure
-lock.fail.heading=Error al bloquear la bóveda.
-lock.fail.message=No se pudo bloquear la bóveda "%s". Asegúrese de que el trabajo no guardado se ha guardado en otro lugar y las operaciones de lectura/escritura importantes han finalizado. Para cerrar la bóveda termine el proceso de Cryptomator.
+lock.fail.message=Error al bloquear la bóveda.
+lock.fail.description=No se pudo bloquear la bóveda "%s". Asegúrese de que el trabajo no guardado se ha guardado en otro lugar y las operaciones de lectura/escritura importantes han finalizado. Para cerrar la bóveda termine el proceso de Cryptomator.
# Migration
migration.title=Actualizar bóveda
@@ -191,6 +196,7 @@ preferences.title=Preferencias
## General
preferences.general=General
preferences.general.startHidden=Ocultar ventana al iniciar Cryptomator
+preferences.general.autoCloseVaults=Bloquear automáticamente las bóvedas abiertas al salir de la aplicación
preferences.general.debugLogging=Habilitar registro de depuración
preferences.general.debugDirectory=Revelar archivos de registro
preferences.general.autoStart=Cargar Cryptomator al iniciar el sistema
@@ -266,7 +272,7 @@ main.closeBtn.tooltip=Cerrar
main.minimizeBtn.tooltip=Minimizar
main.preferencesBtn.tooltip=Preferencias
main.debugModeEnabled.tooltip=Modo de depuración activado
-main.donationKeyMissing.tooltip=Por favor, considere donar
+main.supporterCertificateMissing.tooltip=Por favor, considere donar
## Drag 'n' Drop
main.dropZone.dropVault=Añadir esta bóveda
main.dropZone.unknownDragboardContent=Si desea añadir una bóveda, arrástrela a esta ventana
@@ -314,8 +320,8 @@ main.vaultDetail.error.windowTitle=Error al cargar la bóveda
# Wrong File Alert
wrongFileAlert.title=Cómo cifrar archivos
-wrongFileAlert.header.title=¿Intenta cifrar estos archivos?
-wrongFileAlert.header.lead=Para este propósito, Cryptomator proporciona un volumen en su administrador de archivos del sistema.
+wrongFileAlert.message=¿Intenta cifrar estos archivos?
+wrongFileAlert.description=Para este propósito, Cryptomator proporciona un volumen en su administrador de archivos del sistema.
wrongFileAlert.instruction.0=Para cifrar archivos, siga estos pasos:
wrongFileAlert.instruction.1=1. Desbloquee su bóveda.
wrongFileAlert.instruction.2=2. Haga clic en "Revelar" para abrir el volumen en el administrador de archivos.
@@ -352,17 +358,26 @@ vaultOptions.masterkey.changePasswordBtn=Cambiar contraseña
vaultOptions.masterkey.forgetSavedPasswordBtn=Olvidar contraseña guardada
vaultOptions.masterkey.recoveryKeyExplanation=Una clave de recuperación es el único medio para restaurar el acceso a una bóveda si pierde su contraseña.
vaultOptions.masterkey.showRecoveryKeyBtn=Mostrar clave de recuperación
-vaultOptions.masterkey.recoverPasswordBtn=Recuperar contraseña
+vaultOptions.masterkey.recoverPasswordBtn=Restablecer contraseña
# Recovery Key
-recoveryKey.title=Clave de recuperación
-recoveryKey.enterPassword.prompt=Ingresar la contraseña para mostrar la clave de recuperación para "%s":
-recoveryKey.display.message=La siguiente clave de recuperación puede usarse para restaurar el acceso a "%s":
+## Display Recovery Key
+recoveryKey.display.title=Mostrar clave de recuperación
+recoveryKey.create.message=Contraseña requerida
+recoveryKey.create.description=Ingresar la contraseña para mostrar la clave de recuperación para "%s":
+recoveryKey.display.description=La siguiente clave de recuperación puede usarse para restaurar el acceso a "%s":
recoveryKey.display.StorageHints=Manténgala en algún lugar seguro, p.ej.:\n • Almacenarla en un administrador de contraseñas\n • Guardarla en una llave USB\n • Imprimirla en un papel
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Restablecer contraseña
recoveryKey.recover.prompt=Ingresar la clave de recuperación para "%s":
recoveryKey.recover.validKey=Esta es una clave de recuperación válida
recoveryKey.printout.heading=Clave de recuperación de Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Contraseña restablecida con éxito
+recoveryKey.recover.resetSuccess.description=Puede desbloquear su bóveda con la contraseña nueva.
# New Password
newPassword.promptText=Ingrese una contraseña nueva
@@ -377,5 +392,12 @@ passwordStrength.messageLabel.3=Fuerte
passwordStrength.messageLabel.4=Muy fuerte
# Quit
-quit.prompt=¿Salir de la aplicación? Hay bóvedas desbloqueadas.
-quit.lockAndQuit=Bloquear y salir
+quit.title=Salir de la aplicación
+quit.message=Hay bóvedas desbloqueadas
+quit.description=Confirme que desea salir. Cryptomator bloqueará con facilidad todas las bóvedas desbloqueadas para evitar la pérdida de datos.
+quit.lockAndQuitBtn=Bloquear y salir
+
+# Forced Quit
+quit.forced.message=Algunas bóvedas no pudieron ser bloqueadas
+quit.forced.description=El bloqueo de las bóvedas fue impedido por operaciones pendientes o archivos abiertos. Puede forzar a bloquear las bóvedas restantes, sin embargo, la interrupción de E/S puede resultar en la pérdida de datos sin guardar.
+quit.forced.forceAndQuitBtn=Forzar y salir
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_fa.properties b/src/main/resources/i18n/strings_fa.properties
index 071ee28f0..8f7de851e 100644
--- a/src/main/resources/i18n/strings_fa.properties
+++ b/src/main/resources/i18n/strings_fa.properties
@@ -9,7 +9,8 @@ generic.button.copy=کپی
generic.button.copied=کپی شد!
generic.button.next=بعدی
generic.button.print=چاپ
-## Error
+
+# Error
# Defaults
@@ -76,6 +77,7 @@ unlock.unlockBtn=بازکردن قفل
## Write
# Main Window
+main.supporterCertificateMissing.tooltip=لطفا کمک مالی در نظر بگیرند
## Drag 'n' Drop
## Vault List
main.vaultlist.contextMenu.lock=قفل
@@ -98,7 +100,14 @@ main.vaultDetail.lockBtn=قفل
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_fil.properties b/src/main/resources/i18n/strings_fil.properties
index 432ca8bd9..7013660f6 100644
--- a/src/main/resources/i18n/strings_fil.properties
+++ b/src/main/resources/i18n/strings_fil.properties
@@ -6,18 +6,20 @@ generic.button.apply=I-apply
generic.button.back=Bumalik
generic.button.cancel=Kanselahin
generic.button.change=Baguhin
+generic.button.choose=Mamili…
generic.button.close=Isara
generic.button.copy=Kopyahin
generic.button.copied=Nakopya na!
generic.button.done=Tapos na
generic.button.next=Sunod
generic.button.print=I-print
-## Error
-generic.error.title=Error %s
-generic.error.instruction=Oops! Hindi inaasahan ng Cryptomator na ito'y mangyari. Maaari kang humanap ng umiiral na solusyon sa problemang ito. Maaaring i-report ito kung hindi pa umiiral.
-generic.error.hyperlink.lookup=Hanapin ang solusyon
-generic.error.hyperlink.report=I-report ang problema
-generic.error.technicalDetails=Mga detalye:
+
+# Error
+error.message=Error %s
+error.description=Oops! Hindi inaasahan ng Cryptomator na ito'y mangyari. Maaari kang humanap ng umiiral na solusyon sa problemang ito. Maaaring i-report ito kung hindi pa umiiral.
+error.hyperlink.lookup=Hanapin ang solusyon
+error.hyperlink.report=I-report ang problema
+error.technicalDetails=Mga detalye:
# Defaults
defaults.vault.vaultName=Vault
@@ -62,7 +64,6 @@ addvaultwizard.existing.chooseBtn=Mamili…
# Unlock
unlock.unlockBtn=I-unlock
## Select
-unlock.chooseMasterkey.chooseBtn=Mamili…
## Success
## Failure
### Invalid Mount Point
@@ -131,7 +132,14 @@ vaultOptions.mount.mountPoint.directoryPickerButton=Mamili…
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_fr.properties b/src/main/resources/i18n/strings_fr.properties
index 23f68a343..6d981168c 100644
--- a/src/main/resources/i18n/strings_fr.properties
+++ b/src/main/resources/i18n/strings_fr.properties
@@ -6,18 +6,20 @@ generic.button.apply=Appliquer
generic.button.back=Précédent
generic.button.cancel=Annuler
generic.button.change=Modifier
+generic.button.choose=Choisir…
generic.button.close=Fermer
generic.button.copy=Copier
generic.button.copied=Copié !
-generic.button.done=Ok
+generic.button.done=OK
generic.button.next=Suivant
generic.button.print=Imprimer
-## Error
-generic.error.title=Erreur : %s
-generic.error.instruction=Oups ! Cryptomator ne s'attendait pas à ce que cela se produise. Vous pouvez rechercher des solutions existantes pour cette erreur. Ou si elle n'a pas encore été signalée, n'hésitez pas à le faire.
-generic.error.hyperlink.lookup=Rechercher cette erreur
-generic.error.hyperlink.report=Signaler cette erreur
-generic.error.technicalDetails=Détails :
+
+# Error
+error.message=Une erreur s'est produite
+error.description=Oups ! Cryptomator ne s'attendait pas à ce que cela se produise. Vous pouvez rechercher des solutions existantes pour cette erreur. Ou si elle n'a pas encore été signalée, n'hésitez pas à le faire.
+error.hyperlink.lookup=Rechercher cette erreur
+error.hyperlink.report=Signaler cette erreur
+error.technicalDetails=Détails :
# Defaults
defaults.vault.vaultName=Coffre
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=Un fichier ou un répertoire avec ce nom ex
addvaultwizard.new.locationDoesNotExist=Un répertoire dans le chemin spécifié n'existe pas ou n'est pas accessible
addvaultwizard.new.locationIsNotWritable=Pas d'accès en écriture au chemin spécifié
addvaultwizard.new.locationIsOk=Lieu approprié pour votre coffre
-addvaultwizard.new.invalidName=Nom de coffre invalide. Préférez un nom de répertoire habituel.
+addvaultwizard.new.invalidName=Nom de coffre incorrect
+addvaultwizard.new.validName=Nom de coffre correct
+addvaultwizard.new.validCharacters.message=Le nom du coffre ne peut contenir que les caractères suivants :
+addvaultwizard.new.validCharacters.chars=Caractères de mot (par exemple a, ж ou 수)
+addvaultwizard.new.validCharacters.numbers=Nombres
+addvaultwizard.new.validCharacters.dashes=Tiret (%s) ou tiret du bas (%s)
### Password
addvaultwizard.new.createVaultBtn=Créer un coffre
addvaultwizard.new.generateRecoveryKeyChoice=Il sera impossible d’accéder à vos données sans mot de passe. Souhaitez-vous créer une clé de secours en cas d'oubli du mot passe ?
@@ -62,7 +69,7 @@ addvault.new.readme.storageLocation.fileName=IMPORTANT.rtf
addvault.new.readme.storageLocation.1=Fichiers de coffre-fort
addvault.new.readme.storageLocation.2=Ceci est le chemin de votre coffre-fort.
addvault.new.readme.storageLocation.3=NE PAS
-addvault.new.readme.storageLocation.4=Modifier n'importe quel fichier dans ce répertoire ou
+addvault.new.readme.storageLocation.4=• modifier les fichiers dans ce répertoire ni
addvault.new.readme.storageLocation.5=• coller de fichier à chiffrer dans ce répertoire.
addvault.new.readme.storageLocation.6=Si vous voulez chiffrer les fichiers et afficher le contenu du coffre, faites ce qui suit :
addvault.new.readme.storageLocation.7=1. Ajouter ce coffre à Cryptomator.
@@ -75,16 +82,18 @@ addvault.new.readme.accessLocation.2=Ceci est le chemin d'accès de votre coffre
addvault.new.readme.accessLocation.3=Tous les fichiers ajoutés à ce volume seront chiffrés par Cryptomator. Vous pouvez l'utiliser comme n'importe quel lecteur/répertoire. Ceci est seulement une vue déchiffrée de son contenu, vos fichiers restent chiffrés dans votre disque dur en permanence.
addvault.new.readme.accessLocation.4=Vous pouvez supprimer ce fichier.
## Existing
-addvaultwizard.existing.instruction=Choisissez le fichier "vault.cryptomator" de votre coffre existant. S'il existe seulement un fichier "masterkey.cryptomator", sélectionnez celui-ci.
+addvaultwizard.existing.instruction=Choisissez le fichier "vault.cryptomator" de votre volume existant. Si seul le fichier "masterkey.cryptomator" est présent, sélectionnez celui-là.
addvaultwizard.existing.chooseBtn=Choisir...
-addvaultwizard.existing.filePickerTitle=Sélectionnez le fichier du coffre
+addvaultwizard.existing.filePickerTitle=Sélectionnez le fichier correspondant au volume chiffré
+addvaultwizard.existing.filePickerMimeDesc=Coffre-fort Cryptomator
## Success
addvaultwizard.success.nextStepsInstructions=Coffre “%s” ajouté.\nIl faudra déverrouiller ce coffre afin d’y accéder ou d’y ajouter du contenu. Cette action peut être réalisée ultérieurement.
addvaultwizard.success.unlockNow=Déverrouiller
# Remove Vault
-removeVault.title=Supprimer le coffre
-removeVault.information=Ceci ne fera que retirer ce coffre de Cryptomator. Vous pourrez l’ajouter à nouveau plus tard. Aucun fichier chiffré ne sera supprimé de votre disque dur.
+removeVault.title=Supprimer "%s"
+removeVault.message=Supprimer le coffre ?
+removeVault.description=Ceci ne fera que retirer ce coffre de Cryptomator. Vous pourrez l’ajouter à nouveau plus tard. Aucun fichier chiffré ne sera supprimé de votre disque dur.
removeVault.confirmBtn=Supprimer le coffre
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=Je comprends que je ne pourrai pas récupérer
# Forget Password
forgetPassword.title=Mot de passe oublié
-forgetPassword.information=Ceci supprimera le mot de passe enregistré pour ce coffre de votre chaîne de clés système.
+forgetPassword.message=Oublier le mot de passe enregistré ?
+forgetPassword.description=Cela supprimera le mot de passe enregistré de cet espace chiffré de votre trousseau système.
forgetPassword.confirmBtn=Oublier le mot de passe
# Unlock
@@ -103,30 +113,31 @@ unlock.passwordPrompt=Entrez le mot de passe pour “%s” :
unlock.savePassword=Mémoriser le mot de passe
unlock.unlockBtn=Déverrouiller
## Select
-unlock.chooseMasterkey.title=Sélectionner la clé principale de "%s"
-unlock.chooseMasterkey.prompt=Impossible de trouver le fichier clef à l'adresse attendue pour ce coffre. Veuillez sélectionner le fichier clef manuellement.
-unlock.chooseMasterkey.chooseBtn=Choisir...
+unlock.chooseMasterkey.message=Fichier Masterkey introuvable
+unlock.chooseMasterkey.description=Impossible de trouver le fichier clef à l'adresse attendue pour l'espace chiffré "%s". Veuillez sélectionner le fichier clef manuellement.
unlock.chooseMasterkey.filePickerTitle=Sélectionner le fichier clef
+unlock.chooseMasterkey.filePickerMimeDesc=\ clé principale Cryptomator
## Success
-unlock.success.message=“%s” déverrouillé ! Le contenu de votre coffre est maintenant accessible par son lecteur virtuel.
-unlock.success.rememberChoice=Se souvenir de mon choix et ne plus me demander
+unlock.success.message=Déverrouillage réussi
+unlock.success.description=“%s” déverrouillé ! Le contenu de votre espace chiffré est maintenant accessible par son lecteur virtuel.
+unlock.success.rememberChoice=Se souvenir de mon choix et ne plus me le demander
unlock.success.revealBtn=Révéler le lecteur
## Failure
-unlock.error.heading=Impossible de déverrouiller le coffre
+unlock.error.message=Impossible de déverrouiller l'espace chiffré
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Le point de montage «%s» n'est pas un répertoire, n'est pas vide ou n'existe pas.
unlock.error.invalidMountPoint.existing=Le point de montage/le répertoire existe déjà ou le répertoire parent est manquant: %s
-unlock.error.invalidMountPoint.driveLetterOccupied=Le lecteur "%s" est en déjà utilisé.
+unlock.error.invalidMountPoint.driveLetterOccupied=Le lecteur "%s" est déjà utilisé.
# Lock
## Force
-lock.forced.heading=Échec du verrouillage
-lock.forced.message=Le verrouillage de «%s» a été bloqué par des opérations en attente ou des fichiers ouverts. Vous pouvez forcer le verrouillage de ce coffre, mais l'interruption d'E/S peut entraîner la perte de données non enregistrées.
+lock.forced.message=Échec du verrouillage
+lock.forced.description=Le verrouillage de «%s» a été bloqué par des opérations en attente ou des fichiers ouverts. Vous pouvez forcer le verrouillage de cet espace chiffré, mais l'interruption d'E/S peut entraîner la perte de données non enregistrées.
lock.forced.retryBtn=Réessayer
lock.forced.forceBtn=Forcer le verrouillage
## Failure
-lock.fail.heading=Le verrouillage du coffre a échoué.
-lock.fail.message=Le coffre-fort "%s" n'a pas pu être verrouillé. Assurez-vous que le travail non sauvegardé est sauvegardé ailleurs et que les opérations importantes de lecture/écriture sont bien terminées. Pour fermer le coffre-fort, tuez le processus Cryptomator.
+lock.fail.message=Le verrouillage de l'espace chiffré a échoué
+lock.fail.description=L'espace chiffré "%s" n'a pas pu être verrouillé. Assurez-vous que le travail non sauvegardé est sauvegardé ailleurs et que les opérations importantes de lecture/écriture sont bien terminées. Pour fermer l'espace chiffré, tuez le processus Cryptomator.
# Migration
migration.title=Mettre à jour le coffre
@@ -156,41 +167,42 @@ migration.impossible.moreInfo=Le coffre-fort peut encore être ouvert avec une v
## Start
health.title=Vérifier l'état de "%s"
health.intro.header=Vérifier l'état
-health.intro.text=Le bilan de santé est une série de vérifications pour détecter et corriger d'éventuels problèmes de structure interne au coffre. Rappelez-vous :
+health.intro.text=La vérification de l'état est une série de tests pour détecter et corriger d'éventuels problèmes de structure interne au volume. Rappelez-vous :
health.intro.remarkSync=S'assurer que tous les appareils sont complètement synchronisés résout la plupart des problèmes.
health.intro.remarkFix=Certains problèmes ne peuvent pas être corrigés.
health.intro.remarkBackup=Si des données sont corrompues, la seule solution est une sauvegarde.
health.intro.affirmation=J'ai lu et compris les informations ci-dessus
## Start Failure
-health.fail.header=Erreur lors du chargement de la configuration du coffre
+health.fail.header=Erreur lors du chargement de la configuration du volume chiffré
health.fail.ioError=Une erreur s'est produite lors de l'accès et de la lecture du fichier de configuration.
-health.fail.parseError=Une erreur est survenue pendant la lecture de la configuration du coffre.
+health.fail.parseError=Une erreur est survenue pendant la lecture de la configuration du volume.
health.fail.moreInfo=Plus d'informations
## Check Selection
-health.checkList.description=Sélectionnez les contrôles dans la liste de gauche ou utilisez les boutons ci-dessous.
-health.checkList.selectAllButton=Sélectionner toutes les vérifications
-health.checkList.deselectAllButton=Désélectionner toutes les vérifications
-health.check.runBatchBtn=Exécuter les vérifications sélectionnées
+health.checkList.description=Sélectionnez les tests dans la liste de gauche ou utilisez les boutons ci-dessous.
+health.checkList.selectAllButton=Sélectionner tous les tests
+health.checkList.deselectAllButton=Désélectionner tous les tests
+health.check.runBatchBtn=Exécuter les tests sélectionnés
## Detail view
health.check.detail.noSelectedCheck=Pour les résultats, sélectionnez un bilan de santé terminé dans la liste de gauche.
health.check.detail.checkScheduled=La vérification est programmée.
health.check.detail.checkRunning=Vérification en cours d'exécution…
-health.check.detail.checkSkipped=La vérification n'a pas été sélectionnée pour être exécutée.
+health.check.detail.checkSkipped=Le test n'a pas été sélectionné pour être exécuté.
health.check.detail.checkFinished=La vérification s'est terminée avec succès.
-health.check.detail.checkFinishedAndFound=La vérification s'est terminée. Veuillez vérifier les résultats.
+health.check.detail.checkFinishedAndFound=Le test est terminé. Veuillez vérifier les résultats.
health.check.detail.checkFailed=La vérification s'est arrêtée en raison d'une erreur.
health.check.detail.checkCancelled=Vérification annulée.
health.check.exportBtn=Exporter le rapport
## Fix Application
health.fix.fixBtn=Réparer
health.fix.successTip=Réparation réussie
-health.fix.failTip=Correction échouée, voir le journal pour plus de détails
+health.fix.failTip=Réparation ratée, voir le journal pour plus de détails
# Preferences
preferences.title=Préférences
## General
preferences.general=Général
preferences.general.startHidden=Démarrer Cryptomator en mode caché
+preferences.general.autoCloseVaults=Verrouiller automatiquement les coffres ouverts en quittant l'application
preferences.general.debugLogging=Activer les logs debug
preferences.general.debugDirectory=Afficher le journal
preferences.general.autoStart=Lancer Cryptomator au démarrage du système
@@ -207,7 +219,7 @@ preferences.interface.language.auto=Valeur du système
preferences.interface.interfaceOrientation=Orientation de l'interface
preferences.interface.interfaceOrientation.ltr=De gauche à droite
preferences.interface.interfaceOrientation.rtl=De droite à gauche
-preferences.interface.showMinimizeButton=Afficher le bouton de réduction
+preferences.interface.showMinimizeButton=Afficher le bouton Réduire
preferences.interface.showTrayIcon=Montrer l'icône de service (redémarrage nécessaire)
## Volume
preferences.volume=Disque virtuel
@@ -217,7 +229,7 @@ preferences.volume.webdav.scheme=Schéma WebDAV
## Updates
preferences.updates=Mises à jour
preferences.updates.currentVersion=Version actuelle : “%s”
-preferences.updates.autoUpdateCheck=Vérifier automatiquement si des formations sont disponibles
+preferences.updates.autoUpdateCheck=Vérifier automatiquement si des mises à jour sont disponibles
preferences.updates.checkNowBtn=Vérifier maintenant
preferences.updates.updateAvailable=Mise à jour “%s” disponible.
## Contribution
@@ -266,79 +278,79 @@ main.closeBtn.tooltip=Fermer
main.minimizeBtn.tooltip=Réduire
main.preferencesBtn.tooltip=Préférences
main.debugModeEnabled.tooltip=Le mode débogage est activé
-main.donationKeyMissing.tooltip=Merci d'envisager un don
+main.supporterCertificateMissing.tooltip=Merci d'envisager un don
## Drag 'n' Drop
-main.dropZone.dropVault=Ajouter ce coffre
-main.dropZone.unknownDragboardContent=Si vous voulez ajouter un coffre, faites-le glisser dans cette fenêtre
+main.dropZone.dropVault=Ajouter ce volume chiffré
+main.dropZone.unknownDragboardContent=Si vous voulez ajouter un volume chiffré, faites-le glisser dans cette fenêtre
## Vault List
-main.vaultlist.emptyList.onboardingInstruction=Cliquez ici pour ajouter un coffre
+main.vaultlist.emptyList.onboardingInstruction=Cliquez ici pour ajouter un volume chiffré
main.vaultlist.contextMenu.remove=Retirer…
main.vaultlist.contextMenu.lock=Verrouiller
main.vaultlist.contextMenu.unlock=Déverrouiller…
main.vaultlist.contextMenu.unlockNow=Déverrouiller maintenant
-main.vaultlist.contextMenu.vaultoptions=Afficher les options du coffre
-main.vaultlist.contextMenu.reveal=Révéler le lecteur
-main.vaultlist.addVaultBtn=Ajouter un coffre
+main.vaultlist.contextMenu.vaultoptions=Afficher les options du volume chiffré
+main.vaultlist.contextMenu.reveal=Afficher le lecteur
+main.vaultlist.addVaultBtn=Ajouter un volume chiffré
## Vault Detail
### Welcome
main.vaultDetail.welcomeOnboarding=Merci d'avoir choisi Cryptomateur pour protéger vos fichiers. Si vous avez besoin d'aide, consultez nos guides de démarrage :
### Locked
main.vaultDetail.lockedStatus=VERROUILLÉ
main.vaultDetail.unlockBtn=Déverrouiller…
-main.vaultDetail.unlockNowBtn=Déverouiller
-main.vaultDetail.optionsBtn=Option du coffre
+main.vaultDetail.unlockNowBtn=Déverrouiller maintenant
+main.vaultDetail.optionsBtn=Options du volume chiffré
main.vaultDetail.passwordSavedInKeychain=Mot de passe enregistré
### Unlocked
main.vaultDetail.unlockedStatus=DÉVERROUILLÉ
main.vaultDetail.accessLocation=Le contenu de votre coffre est accessible ici :
-main.vaultDetail.revealBtn=Révéler le lecteur
+main.vaultDetail.revealBtn=Afficher le lecteur
main.vaultDetail.lockBtn=Verrouiller
main.vaultDetail.bytesPerSecondRead=Lecture :
main.vaultDetail.bytesPerSecondWritten=Écriture:
main.vaultDetail.throughput.idle=inactif
-main.vaultDetail.throughput.kbps=%.1fkB/s
-main.vaultDetail.throughput.mbps=%.1fMB/s
-main.vaultDetail.stats=Statistiques du coffre
+main.vaultDetail.throughput.kbps=%.1f Ko/s
+main.vaultDetail.throughput.mbps=%.1f Mo/s
+main.vaultDetail.stats=Statistiques du volume chiffré
### Missing
-main.vaultDetail.missing.info=Cryptomateur n'a pas pu trouver de coffre-fort dans ce chemin d'accès.
+main.vaultDetail.missing.info=Cryptomator n'a pas pu trouver de volume chiffré 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…
+main.vaultDetail.missing.remove=Retirer de la liste des volumes…
+main.vaultDetail.missing.changeLocation=Changer l'emplacement du volume…
### Needs Migration
-main.vaultDetail.migrateButton=Mettre à jour le coffre
+main.vaultDetail.migrateButton=Mettre le volume à jour
main.vaultDetail.migratePrompt=Votre coffre doit être converti dans un nouveau format avant d'y accéder
### Error
-main.vaultDetail.error.info=Une erreur s'est produite lors du chargement du coffre depuis le disque.
+main.vaultDetail.error.info=Une erreur s'est produite lors du chargement du volume depuis le disque.
main.vaultDetail.error.reload=Actualiser
-main.vaultDetail.error.windowTitle=Erreur lors du chargement du coffre
+main.vaultDetail.error.windowTitle=Erreur lors du chargement du volume
# Wrong File Alert
wrongFileAlert.title=Comment chiffrer ses données
-wrongFileAlert.header.title=Avez-vous tenté de chiffrer ces fichiers ?
-wrongFileAlert.header.lead=Pour faire cela, Cryptomateur fournit un volume dans votre gestionnaire système de fichiers.
+wrongFileAlert.message=Avez-vous tenté de chiffrer ces fichiers ?
+wrongFileAlert.description=Pour faire cela, Cryptomator fournit un volume dans le gestionnaire de fichiers de votre système.
wrongFileAlert.instruction.0=Pour chiffrer des fichiers, suivez ces étapes :
-wrongFileAlert.instruction.1=1. Déverrouillez votre coffre.
-wrongFileAlert.instruction.2=2. Cliquez sur "Révéler" pour ouvrir le volume dans votre gestionnaire de fichiers.
+wrongFileAlert.instruction.1=1. Déverrouillez votre volume chiffré.
+wrongFileAlert.instruction.2=2. Cliquez sur "Montrer" pour ouvrir le volume dans le Finder.
wrongFileAlert.instruction.3=3. Ajoutez vos fichiers à ce volume.
wrongFileAlert.link=Pour toute aide supplémentaire, visitez
# Vault Options
## General
vaultOptions.general=Général
-vaultOptions.general.vaultName=Nom du coffre-fort
+vaultOptions.general.vaultName=Nom du volume chiffré
vaultOptions.general.autoLock.lockAfterTimePart1=Verrouiler en cas d'inactivité pendant
vaultOptions.general.autoLock.lockAfterTimePart2=minutes
-vaultOptions.general.unlockAfterStartup=Déverrouiller le coffre au démarrage
+vaultOptions.general.unlockAfterStartup=Déverrouiller le volume chiffré au démarrage
vaultOptions.general.actionAfterUnlock=Après un déverrouillage réussi
vaultOptions.general.actionAfterUnlock.ignore=Ne rien faire
-vaultOptions.general.actionAfterUnlock.reveal=Afficher le disque
+vaultOptions.general.actionAfterUnlock.reveal=Afficher le volume
vaultOptions.general.actionAfterUnlock.ask=Demander
-vaultOptions.general.startHealthCheckBtn=Commencer le contrôle de santé
+vaultOptions.general.startHealthCheckBtn=Commencer la vérification de l'état
## Mount
vaultOptions.mount=Montage
vaultOptions.mount.readonly=Lecture seule
-vaultOptions.mount.customMountFlags=Drapeau de montage personnalisé
+vaultOptions.mount.customMountFlags=Paramètres personnalisés de montage
vaultOptions.mount.winDriveLetterOccupied=occupé
vaultOptions.mount.mountPoint=Point de montage
vaultOptions.mount.mountPoint.auto=Choisir automatiquement un emplacement approprié
@@ -350,19 +362,29 @@ vaultOptions.mount.mountPoint.directoryPickerTitle=Choisir un répertoire vide
vaultOptions.masterkey=Mot de passe
vaultOptions.masterkey.changePasswordBtn=Modifier le mot de passe
vaultOptions.masterkey.forgetSavedPasswordBtn=Oublier le mot de passe enregistré
-vaultOptions.masterkey.recoveryKeyExplanation=Une clé de récupération est votre seul moyen de rétablir l'accès à un coffre-fort, si vous perdez votre mot de passe.
+vaultOptions.masterkey.recoveryKeyExplanation=Une clé de récupération est votre seul moyen de rétablir l'accès à un volume chiffré, si vous perdez votre mot de passe.
vaultOptions.masterkey.showRecoveryKeyBtn=Afficher la clé de récupération
-vaultOptions.masterkey.recoverPasswordBtn=Récupération du mot de passe
+vaultOptions.masterkey.recoverPasswordBtn=Réinitialiser le mot de passe
# Recovery Key
-recoveryKey.title=Clé de récupération
-recoveryKey.enterPassword.prompt=Entrez votre mot de passe pour afficher la clé de récupération pour "%s":
-recoveryKey.display.message=La clé de récupération suivante peut être utilisée pour restaurer l'accès à "%s " :
-recoveryKey.display.StorageHints=Gardez-le quelque part de façon très sûr, par ex. :\n • Stockez le en utilisant un gestionnaire de mot de passe\n • Enregistrez-le sur une clé USB\n • Imprimez-le sur papier
+## Display Recovery Key
+recoveryKey.display.title=Montrer la clé de récupération
+recoveryKey.create.message=Mot de passe requis
+recoveryKey.create.description=Entrer le mot de passe de "%s" pour afficher sa clé de récupération.
+recoveryKey.display.description=La clé de récupération suivante peut être utilisée pour restaurer l'accès à "%s " :
+recoveryKey.display.StorageHints=Gardez-la dans un endroit sûr, par ex. :\n • Stockez-la en utilisant un gestionnaire de mot de passe\n • Enregistrez-la sur une clé USB\n • Imprimez-la
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Réinitialiser le mot de passe
recoveryKey.recover.prompt=Entrez votre clé de récupération pour "%s":
recoveryKey.recover.validKey=Cette clé de récupération est valide
-recoveryKey.printout.heading=Clé de récupération Cryptomateur\n"%s"\n
+recoveryKey.printout.heading=Clé de récupération Cryptomator "%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=Réinitialiser
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Réinitialisation du mot de passe réussie
+recoveryKey.recover.resetSuccess.description=Vous pouvez déverrouiller votre coffre avec le nouveau mot de passe.
# New Password
newPassword.promptText=Entrer un nouveau mot de passe
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=Fort
passwordStrength.messageLabel.4=Très fort
# Quit
-quit.prompt=Quitter l'application ? Il y a des coffres déverrouillées.
-quit.lockAndQuit=Verrouiller et quitter
+quit.title=Quitter l’application
+quit.message=Il y a des espaces chiffrés déverrouillés
+quit.description=Veuillez confirmer que vous voulez quitter. Cryptomator verrouillera préventivement tous les espaces chiffrés déverrouillés pour éviter la perte de données.
+quit.lockAndQuitBtn=Verrouiller et quitter
+
+# Forced Quit
+quit.forced.message=Certains coffres n'ont pas pu être verrouillés
+quit.forced.description=Le verrouillage des coffres a été bloqué par des opérations en attente ou des fichiers ouverts. Vous pouvez forcer le verrouillage des coffres restants, mais l'interruption d'E/S peut entraîner la perte de données non enregistrées.
+quit.forced.forceAndQuitBtn=Forcer et Quitter
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_gl.properties b/src/main/resources/i18n/strings_gl.properties
index cc2855822..52f38bfcd 100644
--- a/src/main/resources/i18n/strings_gl.properties
+++ b/src/main/resources/i18n/strings_gl.properties
@@ -2,7 +2,9 @@
# Generics
## Button
-## Error
+
+# Error
+error.message=Produciuse un erro
# Defaults
@@ -84,7 +86,14 @@ lock.forced.retryBtn=Tentar de novo
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_he.properties b/src/main/resources/i18n/strings_he.properties
index 573316fd2..24ba4984f 100644
--- a/src/main/resources/i18n/strings_he.properties
+++ b/src/main/resources/i18n/strings_he.properties
@@ -6,18 +6,20 @@ generic.button.apply=החל
generic.button.back=חזור
generic.button.cancel=ביטול
generic.button.change=שנה
+generic.button.choose=בחירה…
generic.button.close=סגור
generic.button.copy=העתק
generic.button.copied=הועתק!
generic.button.done=סיום
-generic.button.next=המשך
+generic.button.next=הבא
generic.button.print=הדפס
-## Error
-generic.error.title=שגיאה %s
-generic.error.instruction=אופס! Cryptomator לא ציפה שזה יקרה. את/ה יכול/ה לחפש פתרונות קיימים לשגיאה זו. או שבמקרה והשגיאה לא דווחה עדיין, תרגיש/י בנוח לעשות זאת.
-generic.error.hyperlink.lookup=חפש שגיאה זו
-generic.error.hyperlink.report=דווח על שגיאה זו
-generic.error.technicalDetails=פרטים:
+
+# Error
+error.message=אירעה שגיאה
+error.description=Cryptomator לא ציפתה שזה יקרה. ניתן לחפש פתרונות קיימים לשגיאה זו, או במקרה והשגיאה לא דווחה עדיין נשמח לקבל דיווח עליה.
+error.hyperlink.lookup=חיפוש שגיאה
+error.hyperlink.report=דיווח על שגיאה
+error.technicalDetails=פרטים:
# Defaults
defaults.vault.vaultName=כספת
@@ -26,19 +28,19 @@ defaults.vault.vaultName=כספת
traymenu.showMainWindow=הצג
traymenu.showPreferencesWindow=העדפות
traymenu.lockAllVaults=נעל הכל
-traymenu.quitApplication=צא
+traymenu.quitApplication=יציאה
traymenu.vault.unlock=בטל נעילה
traymenu.vault.lock=נעילה
traymenu.vault.reveal=חשוף
# Add Vault Wizard
-addvaultwizard.title=יצירת כספת
+addvaultwizard.title=הוספת כספת
## Welcome
addvaultwizard.welcome.newButton=צור כספת חדשה
-addvaultwizard.welcome.existingButton=פתח כספת קיימת
+addvaultwizard.welcome.existingButton=פתיחת כספת קיימת
## New
### Name
-addvaultwizard.new.nameInstruction=בחר שם עבור הכספת שלך
+addvaultwizard.new.nameInstruction=בחירת שם עבור הכספת
addvaultwizard.new.namePrompt=שם הכספת
### Location
addvaultwizard.new.locationInstruction=היכן Cryptomator צריך לשמור את הקבצים המוצפנים של הכספת שלך?
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=שם הקובץ או שם התיקייה ע
addvaultwizard.new.locationDoesNotExist=מחיצה בנתיב הנקוב לא קיימת או אין אפשרות לקבל אליה גישה
addvaultwizard.new.locationIsNotWritable=אין הרשאת כתיבה בנתיב הנקוב
addvaultwizard.new.locationIsOk=מיקום מתאים לכספת שלך
-addvaultwizard.new.invalidName=שם כספת שגוי. אנא שקול שם מחיצה רגיל.
+addvaultwizard.new.invalidName=שם כספת לא תקין
+addvaultwizard.new.validName=שם כספת תקין
+addvaultwizard.new.validCharacters.message=שם כספת יכול לכלול את התווים הבאים:
+addvaultwizard.new.validCharacters.chars=תווי מילים (למשל: a, ж or 수)
+addvaultwizard.new.validCharacters.numbers=מספרים
+addvaultwizard.new.validCharacters.dashes=מקף (%s) או קו תחתון (%s)
### Password
addvaultwizard.new.createVaultBtn=צור כספת חדשה
addvaultwizard.new.generateRecoveryKeyChoice=לא תיהיה אפשרות לקבל גישה למידע שלך בלי הסיסמה שלך. האם תרצה/י מפתח שחזור למקרה ותאבד/י את הסיסמה שלך?
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=תרגיש/י בנוח להסיר את הק
addvaultwizard.existing.instruction=בחר את קובץ "vault.cryptomator" של כספת קיימת. אם קיים קובץ בשם "masterkey.cryptomator" בלבד, בחר/י אותו במקום.
addvaultwizard.existing.chooseBtn=בחר...
addvaultwizard.existing.filePickerTitle=בחר קובץ כספת
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator Vault
## Success
addvaultwizard.success.nextStepsInstructions=נוספה כספת "%s".\nהנך צריך/ה לבטל נעילת כספת זו בכדי לקבל גישה או להוסיף קבצים. לחילופין תוכל/י לבטל נעילה בכל נקודת זמן מאוחרת יותר.
addvaultwizard.success.unlockNow=בטל נעילה כעת
# Remove Vault
removeVault.title=הסר כספת
-removeVault.information=זה יגרום ל-Cryptomator לשכוח מהכספת הזו. תוכל/י להוסיף אותה שוב מאוחר יותר. קבצים מוצפנים לא ימחקו מהכונן שלך.
+removeVault.message=להסיר את ה vault?
+removeVault.description=זה יגרום ל-Cryptomator לשכוח מהכספת הזו. תוכל/י להוסיף אותה שוב מאוחר יותר. קבצים מוצפנים לא ימחקו מהכונן שלך.
removeVault.confirmBtn=הסר כספת
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=אני מבין/ה שלא אוכל לגשת ל
# Forget Password
forgetPassword.title=שכח סיסמה
-forgetPassword.information=זה ימחק את הסיסמה השמורה של הכספת הזו ממחזיק מפתחות המערכת.
+forgetPassword.message=להסיר ססמא שמורה?
+forgetPassword.description=זה ימחק את הסיסמה השמורה של הכספת הזו ממחזיק מפתחות המערכת.
forgetPassword.confirmBtn=שכח סיסמה
# Unlock
@@ -103,25 +113,26 @@ unlock.passwordPrompt=הכנס/י סיסמה ל-"%s":
unlock.savePassword=זכור סיסמה
unlock.unlockBtn=בטל נעילה
## Select
-unlock.chooseMasterkey.title=בחר/י מפתח מאסטר של "%s"
-unlock.chooseMasterkey.prompt=מפתח מאסטר של כספת זו לא נמצא במיקום הצפוי. בחר/י בבקשה את המפתח באופן ידני.
-unlock.chooseMasterkey.chooseBtn=בחר...
+unlock.chooseMasterkey.message=לא נמצא קובץ Masterkey
+unlock.chooseMasterkey.description=מפתח מאסטר של כספת זו לא נמצא במיקום הצפוי. בחר/י בבקשה את המפתח באופן ידני.
unlock.chooseMasterkey.filePickerTitle=בחר/י קובץ מפתח מאסטר
+unlock.chooseMasterkey.filePickerMimeDesc=מפתח ראשי של Cryptomator
## Success
-unlock.success.message=הנעילה ל-"%s" בוטלה בהצלחה! הכספת שלך נגישה כעת דרך כונן ווירטואלי.
+unlock.success.message=פתיחה הושלמה בהצלחה
+unlock.success.description=הנעילה ל-"%s" בוטלה בהצלחה! הכספת שלך נגישה כעת דרך כונן ווירטואלי.
unlock.success.rememberChoice=זכור בחירה, אל תראה שוב
unlock.success.revealBtn=חשוף את הכונן
## Failure
-unlock.error.heading=לא מתאפשר לבטל נעילת הכספת
+unlock.error.message=לא מתאפשר לבטל נעילת הכספת
### Invalid Mount Point
# Lock
## Force
-lock.forced.heading=הנעילה נכשלה
+lock.forced.message=הנעילה נכשלה
lock.forced.retryBtn=נסה שנית
lock.forced.forceBtn=הכרח נעילה
## Failure
-lock.fail.heading=נעילת הכספת נשכלה.
+lock.fail.message=נעילת הכספת נשכלה.
# Migration
migration.title=שדרג הכספת
@@ -146,34 +157,71 @@ migration.impossible.heading=לא יכול להעביר את הכספת
# Health Check
## Start
+health.intro.header=בדיקת תקינות
## Start Failure
+health.fail.moreInfo=מידע נוסף
## Check Selection
## Detail view
+health.check.detail.checkFinished=הבדיקה הסתיימה בהצלחה.
+health.check.detail.checkFinishedAndFound=הבדיקה הסתיימה. ניתן לבחון את התוצאות.
+health.check.detail.checkFailed=הבדיקה נכשלה בשל שגיאה.
+health.check.detail.checkCancelled=הבדיקה בוטלה.
+health.check.exportBtn=יצוא דוחות
## Fix Application
+health.fix.fixBtn=תיקון
# Preferences
preferences.title=העדפות
## General
+preferences.general=כללי
+preferences.general.startHidden=הסתר את החלון בהפעלת Cryptomator
+preferences.general.autoCloseVaults=נעל vaults פתוחים באופן אוטומטי בעת יציאה מהאפליקציה
preferences.general.debugLogging=אפשר רישום יומן באגים
+preferences.general.debugDirectory=הצג קבצי יומן
+preferences.general.autoStart=הפעלת Cryptomator עם הפעלת המערכת
preferences.general.keychainBackend=שמור סיסמה באמצעות
## Interface
+preferences.interface=ממשק
+preferences.interface.theme=מראה כללי
+preferences.interface.theme.automatic=אוטומטי
preferences.interface.theme.dark=כהה
preferences.interface.theme.light=בהיר
+preferences.interface.unlockThemes=הפעל מצב כהה
+preferences.interface.language=שפה (נדרשת הפעלה מחדש)
+preferences.interface.language.auto=ברירת המחדל של המערכת
+preferences.interface.interfaceOrientation=כיוון ממשק
+preferences.interface.interfaceOrientation.ltr=משמאל לימין
+preferences.interface.interfaceOrientation.rtl=מימין לשמאל
+preferences.interface.showMinimizeButton=הצג כפתור מזעור
## Volume
+preferences.volume=כונן וירטואלי
+preferences.volume.webdav.port=יציאה WebDAV
## Updates
preferences.updates=עדכונים
## Contribution
+preferences.contribute=תמוך בנו
+preferences.contribute.registeredFor=אישור על תמיכה על שם %s
+preferences.contribute.noCertificate=תמכו ב-Cryptomator וקבלו תעודת תמיכה. זה כמו מפתח רישוי רק לאנשים מדהימים שמשתמשים בתוכנה חופשית. ;-)
+preferences.contribute.getCertificate=עדיין אין לכם אחד? לימדו כיצד אתם יכולים להשיג אותו.
#<-- Add entries for donations and code/translation/documentation contribution -->
## About
+preferences.about=אודות
# Vault Statistics
+stats.title=סטטיסטיקה עבור %s
+stats.cacheHitRate=אחוז שימוש במטמון
## Read
+stats.read.throughput.idle=קריאה: ללא פעילות
+stats.read.throughput.kibs=קריאה: %.2f kiB/s
+stats.read.throughput.mibs=קריאה: %.2f MiB/s
+stats.read.total.data.none=מידע שנקרא: -
## Write
# Main Window
main.closeBtn.tooltip=סגור
main.preferencesBtn.tooltip=העדפות
+main.supporterCertificateMissing.tooltip=תרומתך תתקבל בברכה
## Drag 'n' Drop
## Vault List
main.vaultlist.contextMenu.lock=נעילה
@@ -191,22 +239,63 @@ main.vaultDetail.lockBtn=נעילה
### Needs Migration
main.vaultDetail.migrateButton=שדרג הכספת
### Error
+main.vaultDetail.error.reload=ריענון
+main.vaultDetail.error.windowTitle=שגיאה בטעינת הכספת
# Wrong File Alert
+wrongFileAlert.message=האם ניסית להצפין את הקבצים האלו?
+wrongFileAlert.instruction.1=1. פתחו את הכספת.
# Vault Options
## General
+vaultOptions.general=כללי
vaultOptions.general.vaultName=שם הכספת
+vaultOptions.general.autoLock.lockAfterTimePart1=נעילה לאחר חוסר שימוש של
+vaultOptions.general.autoLock.lockAfterTimePart2=דקות
vaultOptions.general.actionAfterUnlock.reveal=חשוף את הכונן
## Mount
+vaultOptions.mount.readonly=קריאה בלבד
+vaultOptions.mount.winDriveLetterOccupied=בשימוש
+vaultOptions.mount.mountPoint=נקודת עיגון
+vaultOptions.mount.mountPoint.custom=תיקייה מותאמת אישית
vaultOptions.mount.mountPoint.directoryPickerButton=בחר...
+vaultOptions.mount.mountPoint.directoryPickerTitle=בחירת ספרייה ריקה
## Master Key
+vaultOptions.masterkey=סיסמה
vaultOptions.masterkey.changePasswordBtn=שנה סיסמה
+vaultOptions.masterkey.forgetSavedPasswordBtn=שכח סיסמה שמורה
+vaultOptions.masterkey.recoverPasswordBtn=איפוס סיסמה
# Recovery Key
+## Display Recovery Key
+recoveryKey.display.title=הצגת מפתח השחזור
+recoveryKey.create.message=דרושה סיסמה
+recoveryKey.create.description=נא להזין את הססמא ל "%s" בכדי להציג את מפתח השחזור.
+recoveryKey.display.description=המפתח שחזור שלהלן ניתן לשימוש בכדי לשחזר גישה ל "%s":
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=איפוס סיסמה
+recoveryKey.printout.heading=מפתח שחזור של Cryptomator\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=איפוס
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=איפוס סיסמה הצליח
+recoveryKey.recover.resetSuccess.description=ניתן לפתוח את הכספת עם הסיסמה החדשה.
# New Password
+passwordStrength.messageLabel.0=חלשה מאוד
+passwordStrength.messageLabel.1=חלשה
+passwordStrength.messageLabel.2=סבירה
+passwordStrength.messageLabel.3=חזקה
+passwordStrength.messageLabel.4=חזקה מאוד
# Quit
+quit.title=יציאה
+quit.message=קיימים vaults פתוחים
+quit.lockAndQuitBtn=נעילה ויציאה
+
+# Forced Quit
+quit.forced.message=חלק מה vaults לא היו ניתנים לנעילה
+quit.forced.forceAndQuitBtn=נעילה בכח ויציאה
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_hi.properties b/src/main/resources/i18n/strings_hi.properties
index bbe6aa512..fc901da49 100644
--- a/src/main/resources/i18n/strings_hi.properties
+++ b/src/main/resources/i18n/strings_hi.properties
@@ -6,16 +6,23 @@ generic.button.apply=लागू करें
generic.button.back=पीछे जाएं
generic.button.cancel=रद्द करें
generic.button.change=बदलें
+generic.button.choose=चुनें…
generic.button.close=बंद करें
generic.button.copy=कॉपी करें
generic.button.copied=कॉपी हुआ!
generic.button.done=हो गया
generic.button.next=अगला
generic.button.print=प्रिंट करें
-## Error
+
+# Error
+error.message=एक त्रुटि पाई गई
+error.description=क्रिप्टोमेटर ने ऐसा होने की उम्मीद नहीं की थी| आप इस त्रुटि के लिए मौजूदा समाधान देख सकते हैं| यदि कोई समाधान नहीं है तो बेझिझक इस त्रुटि को रिपोर्ट करिये
+error.hyperlink.lookup=इस त्रुटि को ढूंढिए
+error.hyperlink.report=त्रुटि रिपोर्ट करें
+error.technicalDetails=अधिक जानकारी:
# Defaults
-defaults.vault.vaultName=गुप्त तिजोरी
+defaults.vault.vaultName=वॉल्ट
# Tray Menu
traymenu.showMainWindow=दिखाएँ
@@ -42,7 +49,7 @@ addvaultwizard.new.locationPrompt=…
addvaultwizard.new.directoryPickerLabel=अपने पसंद की जगह डालें
addvaultwizard.new.directoryPickerButton=चुनें…
addvaultwizard.new.directoryPickerTitle=निर्देशिका चुनें
-addvaultwizard.new.invalidName=अमान्य वॉल्ट नाम। कृपया एक नियमित निर्देशिका नाम पर विचार करें।
+addvaultwizard.new.fileAlreadyExists=वॉल्ट के वही नाम से एक फाइल या फोल्डर पहले से मौजूद है
### Password
addvaultwizard.new.createVaultBtn=वॉल्ट बनाएं
addvaultwizard.new.generateRecoveryKeyChoice=आप अपने पासवर्ड के बिना अपने डेटा तक नहीं पहुंच पाएंगे। क्या आप उस वक़्त के लिए एक पुनर्प्राप्ति कुंजी चाहते हैं जब आप अपना पासवर्ड खो देते हैं?
@@ -55,28 +62,50 @@ addvault.new.readme.storageLocation.2=यह आपकी तिजोरी क
addvault.new.readme.storageLocation.3=ऐसा न करें
addvault.new.readme.storageLocation.4=• इस निर्देशिका के भीतर किसी भी फाइल को बदल दें या
addvault.new.readme.storageLocation.5=• • इस डायरेक्टरी में एन्क्रिप्शन के लिए कोई भी फाइल पेस्ट करें।
+addvault.new.readme.storageLocation.6=अगर आप फाइल्स एन्क्रिप्ट करना और वॉल्ट के अंदर सामान देखना चाहते हैं, तोह ऐसा करिये:
+addvault.new.readme.storageLocation.7=1. इस वॉल्ट को क्रिप्टोमैटोर में डालें।
+addvault.new.readme.storageLocation.8=2. वॉल्ट को क्रिप्टोमैटोर में अनलॉक करें।
+addvault.new.readme.storageLocation.10=अगर आपको सहायता चाहिए, तो प्रलेखन देखे: %s
+addvault.new.readme.accessLocation.fileName=WELCOME.rtf
+addvault.new.readme.accessLocation.1=🔐️ एन्क्रिप्टेड वॉल्यूम 🔐️
+addvault.new.readme.accessLocation.2=आप अपनी वॉल्ट यहाँ से इस्तेमाल कर सकते हैं।
+addvault.new.readme.accessLocation.3=इस वॉल्यूम में कोई नई फाइल डालने पर क्रिप्टोमैटोर उसे एन्क्रिप्ट करदेगा। आप इसे कोई भी सामान्य फोल्डर की तरह समझ के काम कर सकते हैं। यह सिर्फ डेक्रिप्टेड व्यू है, हार्ड डिस्क पर आपकी फाइल्स हर समय एन्क्रिप्टेड रहेंगी।
+addvault.new.readme.accessLocation.4=आप इस फाइल को बेझिझक डिलीट कर सकते हैं।
## Existing
addvaultwizard.existing.chooseBtn=चुनें…
+addvaultwizard.existing.filePickerMimeDesc=क्रिप्टोमेटर वॉल्ट
## Success
addvaultwizard.success.unlockNow=अब अनलॉक करें
# Remove Vault
+removeVault.title=वॉल्ट हटाए
+removeVault.message=वॉल्ट हटाए?
+removeVault.description=यह करने से सिर्फ क्रिप्टोमेटर इस वॉल्ट के बारे में भूल जाएगा। आप इस वॉल्ट को वापस ऐड कर पाएंगे। कोई भी एन्क्रिप्टेड फाइल आपकी हार्ड डिस्क से नहीं डिलीट होगी।
+removeVault.confirmBtn=वॉल्ट हटाए
# Change Password
changepassword.title=पासवर्ड बदलें
+changepassword.enterOldPassword="%s" का वर्तमान पासवर्ड दर्ज करें
# Forget Password
# Unlock
+unlock.title=अनलॉक "%s"
+unlock.passwordPrompt="%s" का पासवर्ड दर्ज करें:
+unlock.savePassword=पासवर्ड याद रखें
unlock.unlockBtn=अनलॉक करें
## Select
-unlock.chooseMasterkey.chooseBtn=चुनें…
+unlock.chooseMasterkey.description=क्रिप्टोमेटर "%s" की मास्टर-चाबी नहीं ढूंढ पाया। कृपया उस फाइल को हाथ से ढूंढे।
## Success
+unlock.success.message=अनलॉक सफल हुआ
+unlock.success.rememberChoice=विकल्प याद रखें, दोबारा ना दिखाएं
## Failure
+unlock.error.message=वॉल्ट को अनलॉक करना असफल हुआ
### Invalid Mount Point
# Lock
## Force
+lock.forced.message=लॉक करना विफल हुआ
lock.forced.retryBtn=पुन: प्रयास करें
## Failure
@@ -84,6 +113,8 @@ lock.forced.retryBtn=पुन: प्रयास करें
migration.title=वाउल्ट को अपग्रेड करें
## Start
## Run
+migration.run.enterPassword="%s" का पासवर्ड दर्ज करें:
+migration.run.progressHint=इसमें थोड़ा समय लग सकता है...
## Success
migration.success.unlockNow=अब अनलॉक करें
## Missing file system capabilities
@@ -100,10 +131,16 @@ migration.success.unlockNow=अब अनलॉक करें
preferences.title=प्राथमिकताएं
## General
preferences.general=सामान्य
+preferences.general.autoCloseVaults=एप्लीकेशन बंद करते समय खुली हुई वॉल्ट्स को अपने आप लॉक करें
+preferences.general.autoStart=क्रिप्टोमेटर को सिस्टम स्टार्ट पे खोले
## Interface
+preferences.interface.theme.automatic=ऑटोमैटिक
+preferences.interface.interfaceOrientation.ltr=बाएं से दाएं
+preferences.interface.interfaceOrientation.rtl=दाएं से बाएं
## Volume
## Updates
## Contribution
+preferences.contribute=हमें सपोर्ट करें
#<-- Add entries for donations and code/translation/documentation contribution -->
## About
@@ -115,25 +152,35 @@ preferences.general=सामान्य
# Main Window
main.closeBtn.tooltip=बंद करें
main.preferencesBtn.tooltip=प्राथमिकताएं
+main.supporterCertificateMissing.tooltip=कृपया दान पर विचार करें।
## Drag 'n' Drop
## Vault List
+main.vaultlist.emptyList.onboardingInstruction=वॉल्ट को डालने के लिए यहाँ क्लिक करें।
+main.vaultlist.contextMenu.remove=हटाएँ...
main.vaultlist.contextMenu.lock=लॉक करें
+main.vaultlist.contextMenu.unlock=अनलॉक करें...
main.vaultlist.contextMenu.unlockNow=अब अनलॉक करें
+main.vaultlist.contextMenu.vaultoptions=वॉल्ट के विकल्प दिखाए
main.vaultlist.addVaultBtn=वाउल्ट डालें
## Vault Detail
### Welcome
+main.vaultDetail.welcomeOnboarding=Cryptomator को अपनी फाइल्स सिराक्षित रखने को चुनने के लिए धन्यवाद। अगर आपको सहायता चाइये, तो हमारी गेटिंग स्टार्टेड गाइगाइड्स देखिये:
### Locked
+main.vaultDetail.unlockBtn=अनलॉक करें...
main.vaultDetail.unlockNowBtn=अब अनलॉक करें
main.vaultDetail.optionsBtn=वॉल्ट के विकल्प
### Unlocked
main.vaultDetail.accessLocation=आपके वॉल्ट की चीजें यहाँ एक्सेस कर सकतें हैं:
main.vaultDetail.lockBtn=लॉक करें
+main.vaultDetail.stats=वॉल्ट के आंकड़े
### Missing
+main.vaultDetail.missing.remove=वॉल्ट की सूची से हटाए।
### Needs Migration
main.vaultDetail.migrateButton=वाउल्ट को अपग्रेड करें
### Error
# Wrong File Alert
+wrongFileAlert.title=फाइल्स को कैसे एन्क्रिप्ट करें
wrongFileAlert.instruction.1=अपना वाउल्ट खोलें।
wrongFileAlert.link=और मदद के लिए, यह जाएं
@@ -141,6 +188,7 @@ wrongFileAlert.link=और मदद के लिए, यह जाएं
## General
vaultOptions.general=सामान्य
vaultOptions.general.vaultName=वॉल्ट का नाम
+vaultOptions.general.actionAfterUnlock.ignore=कुछ न करें
## Mount
vaultOptions.mount=माउंट हो रहा है
@@ -157,6 +205,12 @@ vaultOptions.masterkey.changePasswordBtn=पासवर्ड बदलें
# Recovery Key
+## Display Recovery Key
+recoveryKey.create.description=रिकवरी-की दिखाने के लिए "%s" का पासवर्ड दर्ज करें।
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=नया पासवर्ड दर्ज करें
@@ -168,4 +222,7 @@ passwordStrength.messageLabel.3=मजबूत
passwordStrength.messageLabel.4=बहुत मजबूत
# Quit
-quit.prompt=एप्लीकशन से बहार जाएं? खुले वॉल्ट्स मैजूद हैं।
+quit.title=एप्लीकेशन को बंद करें
+
+# Forced Quit
+quit.forced.message=कुछ वॉल्ट्स लॉक नहीं हो पायी
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_hr.properties b/src/main/resources/i18n/strings_hr.properties
index c62921658..9b17a8785 100644
--- a/src/main/resources/i18n/strings_hr.properties
+++ b/src/main/resources/i18n/strings_hr.properties
@@ -6,18 +6,20 @@ generic.button.apply=Primijeni
generic.button.back=Nazad
generic.button.cancel=Odustani
generic.button.change=Promijeni
+generic.button.choose=Odaberite…
generic.button.close=Zatvori
generic.button.copy=Kopiraj
generic.button.copied=Kopirano!
generic.button.done=Gotovo
generic.button.next=Sljedeći
generic.button.print=Ispiši
-## Error
-generic.error.title=Greška: %s
-generic.error.instruction=Opa! Cryptomator nije očekivao da će se ovo dogoditi. Možete pogledati postojeća rješenja za ovu grešku. Ili, ako još nije prijavljena, slobodno to učinite.
-generic.error.hyperlink.lookup=Pogledaj ovu grešku
-generic.error.hyperlink.report=Prijavi ovu grešku
-generic.error.technicalDetails=Detalji:
+
+# Error
+error.message=Greška: %s
+error.description=Opa! Cryptomator nije očekivao da će se ovo dogoditi. Možete pogledati postojeća rješenja za ovu grešku. Ili, ako još nije prijavljena, slobodno to učinite.
+error.hyperlink.lookup=Pogledaj ovu grešku
+error.hyperlink.report=Prijavi ovu grešku
+error.technicalDetails=Detalji:
# Defaults
defaults.vault.vaultName=Trezor
@@ -34,7 +36,7 @@ traymenu.vault.reveal=Otkrij
# Add Vault Wizard
addvaultwizard.title=Dodaj trezor
## Welcome
-addvaultwizard.welcome.newButton=Napravi novi trezor
+addvaultwizard.welcome.newButton=Izradi novi trezor
addvaultwizard.welcome.existingButton=Otvori postojeći trezor
## New
### Name
@@ -51,10 +53,9 @@ addvaultwizard.new.fileAlreadyExists=Datoteka ili mapa s nazivom trezora već po
addvaultwizard.new.locationDoesNotExist=Mapa u navedenoj putanji ne postoji ili joj se ne može pristupiti
addvaultwizard.new.locationIsNotWritable=Nemate pravo pisanja u navedenu mapu
addvaultwizard.new.locationIsOk=Prikladna lokacija za Vaš trezor
-addvaultwizard.new.invalidName=Neispravan naziv trezora. Razmislite o uobičajenom nazivu mape.
### Password
-addvaultwizard.new.createVaultBtn=Stvori trezor
-addvaultwizard.new.generateRecoveryKeyChoice=Nećete moći pristupiti svojim podacima bez lozinke. Želite li ključ za oporavak za slučaj da izgubite lozinku?
+addvaultwizard.new.createVaultBtn=Izradi trezor
+addvaultwizard.new.generateRecoveryKeyChoice=Nećete moći pristupiti svojim podacima bez lozinke. Želite li ključ za oporavak za slučaj gubitka lozinke?
addvaultwizard.new.generateRecoveryKeyChoice.yes=Da molim, bolje spriječiti nego liječiti
addvaultwizard.new.generateRecoveryKeyChoice.no=Ne hvala, neću izgubiti lozinku
### Information
@@ -78,13 +79,14 @@ addvault.new.readme.accessLocation.4=Slobodno uklonite ovu datoteku.
addvaultwizard.existing.instruction=Odaberite "vault.cryptomator" datoteku postojećeg trezora. Ako postoji samo datoteka "masterkey.cryptomator", odaberite nju umjesto toga.
addvaultwizard.existing.chooseBtn=Odaberite…
addvaultwizard.existing.filePickerTitle=Odaberite datoteku trezora
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator trezor
## Success
addvaultwizard.success.nextStepsInstructions=Dodajte trezor "%s".\nMorate otključati ovaj trezor kako biste pristupili ili dodavali sadržaje. Alternativno, možete ga otključati u bilo koje drugo vrijeme.
addvaultwizard.success.unlockNow=Otključaj sada
# Remove Vault
removeVault.title=Ukloni trezor
-removeVault.information=Ovo će jedino učiniti da Cryptomator zaboravi trezor. Možete ga kasnije ponovno dodati. Niti jedna šifrirana datoteka neće biti uklonjena s Vašeg tvrdog diska.
+removeVault.description=Ovo će jedino učiniti da Cryptomator zaboravi trezor. Možete ga kasnije ponovno dodati. Niti jedna šifrirana datoteka neće biti uklonjena s Vašeg tvrdog diska.
removeVault.confirmBtn=Ukloni trezor
# Change Password
@@ -94,7 +96,7 @@ changepassword.finalConfirmation=Razumijem da neću moći pristupiti svojim poda
# Forget Password
forgetPassword.title=Zaboravi lozinku
-forgetPassword.information=Ovo će ukloniti pohranjenu lozinku ovog trezora iz privjeska za ključeve Vašeg sustava.
+forgetPassword.description=Ovo će ukloniti pohranjenu lozinku ovog trezora iz privjeska za ključeve Vašeg sustava.
forgetPassword.confirmBtn=Zaboravi lozinku
# Unlock
@@ -103,16 +105,15 @@ unlock.passwordPrompt=Unesite lozinku za "%s":
unlock.savePassword=Zapamti lozinku
unlock.unlockBtn=Otključaj
## Select
-unlock.chooseMasterkey.title=Odaberi glavni ključ za "%s"
-unlock.chooseMasterkey.prompt=Nije moguće pronaći datoteku glavnog ključa za ovaj trezor na njegovoj očekivanoj lokaciji. Molimo da ručno odaberete datoteku ključa.
-unlock.chooseMasterkey.chooseBtn=Odaberite…
+unlock.chooseMasterkey.description=Nije moguće pronaći datoteku glavnog ključa za ovaj trezor na njegovoj očekivanoj lokaciji. Molimo da ručno odaberete datoteku ključa.
unlock.chooseMasterkey.filePickerTitle=Odaberi datoteku glavnog ključa
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator glavni ključ
## Success
-unlock.success.message=Uspješno otključan "%s"! Vaš trezor je sada dostupan kroz svoj virtualni pogon.
+unlock.success.description=Uspješno otključan "%s"! Vaš trezor je sada dostupan kroz svoj virtualni pogon.
unlock.success.rememberChoice=Zapamti izbor, ne prikazuj ovo više
unlock.success.revealBtn=Otkrij pogon
## Failure
-unlock.error.heading=Nije moguće otključati trezor
+unlock.error.message=Nije moguće otključati trezor
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Točka montiranja "%s" nije mapa, nije prazna ili ne postoji.
unlock.error.invalidMountPoint.existing=Točka montiranja "%s" već postoji ili nedostaje nadređena mapa.
@@ -120,13 +121,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Slovna oznaka pogona "%s" se
# Lock
## Force
-lock.forced.heading=Zaključavanje neuspješno
-lock.forced.message=Zaključavanje "%s" je blokirano operacijama u tijeku ili otvorenim datotekama. Možete prisilno zaključati trezor, međutim prekidanje U/I može rezultirati gubitkom nepohranjenih podataka.
+lock.forced.message=Zaključavanje neuspješno
+lock.forced.description=Zaključavanje "%s" je blokirano operacijama u tijeku ili otvorenim datotekama. Možete prisilno zaključati trezor, međutim prekidanje U/I može rezultirati gubitkom nepohranjenih podataka.
lock.forced.retryBtn=Pokušaj ponovno
lock.forced.forceBtn=Prisilno zaključaj
## Failure
-lock.fail.heading=Zaključavanje trezora neuspješno.
-lock.fail.message=Trezor "%s" ne može se zaključati. Osigurajte da je nepohranjeni rad pohranjen negdje drugdje i da su važne čitanje/pisanje operacije završene. Kako biste zatvorili trezor, zaustavite Cryptomator proces.
+lock.fail.message=Zaključavanje trezora neuspješno.
+lock.fail.description=Trezor "%s" ne može se zaključati. Osigurajte da je nepohranjeni rad pohranjen negdje drugdje i da su važne čitanje/pisanje operacije završene. Kako biste zatvorili trezor, zaustavite Cryptomator proces.
# Migration
migration.title=Nadogradi trezor
@@ -194,7 +195,7 @@ preferences.general.startHidden=Sakrij prozor kod pokretanja Cryptomator-a
preferences.general.debugLogging=Omogući zapisivanje otklanjanja pogrešaka
preferences.general.debugDirectory=Prikaži datoteke zapisa
preferences.general.autoStart=Pokreni Cryptomator kod pokretanja sustava
-preferences.general.keychainBackend=Pohrani lozinka s
+preferences.general.keychainBackend=Pohrani lozinke s
## Interface
preferences.interface=Sučelje
preferences.interface.theme=Izgled i Osjećaj
@@ -266,7 +267,7 @@ main.closeBtn.tooltip=Zatvori
main.minimizeBtn.tooltip=Smanji
main.preferencesBtn.tooltip=Postavke
main.debugModeEnabled.tooltip=Način otklanjanja pogrešaka je omogućen
-main.donationKeyMissing.tooltip=Molimo razmislite o doniranju
+main.supporterCertificateMissing.tooltip=Molimo razmislite o doniranju
## Drag 'n' Drop
main.dropZone.dropVault=Dodaj ovaj trezor
main.dropZone.unknownDragboardContent=Ako želite dodati trezor, povucite ga u ovaj prozor
@@ -314,8 +315,8 @@ main.vaultDetail.error.windowTitle=Greška pri učitavanju trezora
# Wrong File Alert
wrongFileAlert.title=Kako šifrirati datoteke
-wrongFileAlert.header.title=Jeste li pokušali šifrirati ove datoteke?
-wrongFileAlert.header.lead=Za ovu svrhu, Cryptomator daje volumen u upravitelju datoteka Vašeg sustava.
+wrongFileAlert.message=Jeste li pokušali šifrirati ove datoteke?
+wrongFileAlert.description=Za ovu svrhu, Cryptomator daje volumen u upravitelju datoteka Vašeg sustava.
wrongFileAlert.instruction.0=Za šifriranje datoteka, pratite ove korake:
wrongFileAlert.instruction.1=1. Otključajte svoj trezor.
wrongFileAlert.instruction.2=2. Pritisnite na "Otkrij" za otvaranje volumena u Vašem upravitelju datoteka.
@@ -350,19 +351,22 @@ vaultOptions.mount.mountPoint.directoryPickerTitle=Odaberi praznu mapu
vaultOptions.masterkey=Lozinka
vaultOptions.masterkey.changePasswordBtn=Promijeni lozinku
vaultOptions.masterkey.forgetSavedPasswordBtn=Zaboravi pohranjenu lozinku
-vaultOptions.masterkey.recoveryKeyExplanation=Ključ za oporavak je jedini način povrata pristupa trezoru u slučaju da izgubite lozinku.
+vaultOptions.masterkey.recoveryKeyExplanation=Ključ za oporavak je jedini način povrata pristupa trezoru u slučaju gubitka lozinke.
vaultOptions.masterkey.showRecoveryKeyBtn=Prikaži ključ za oporavak
-vaultOptions.masterkey.recoverPasswordBtn=Obnovi lozinku
# Recovery Key
-recoveryKey.title=Ključ za oporavak
-recoveryKey.enterPassword.prompt=Unesite lozinku za prikaz ključa za oporavak za "%s":
-recoveryKey.display.message=Slijedeći ključ za oporavak može se koristiti za obnovu pristupa u "%s":
+## Display Recovery Key
+recoveryKey.create.description=Unesite lozinku za prikaz ključa za oporavak za "%s":
+recoveryKey.display.description=Slijedeći ključ za oporavak može se koristiti za obnovu pristupa u "%s":
recoveryKey.display.StorageHints=Držite ga na sigurnom mjestu, npr.:\n • Pohranite ga koristeći upravitelja lozinki\n • Sačuvajte ga na USB prijenosnom pogonu\n • Ispišite ga na papir
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Unesite ključ za oporavak za "%s":
recoveryKey.recover.validKey=Ovo je valjani ključ za oporavak
recoveryKey.printout.heading=Cryptomator-ov ključ za oporavak\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Unesite novu lozinku
@@ -377,5 +381,6 @@ passwordStrength.messageLabel.3=Jaka
passwordStrength.messageLabel.4=Vrlo jaka
# Quit
-quit.prompt=Napustiti aplikaciju? Postoje otključani trezori.
-quit.lockAndQuit=Zaključaj i napusti
+quit.lockAndQuitBtn=Zaključaj i napusti
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_hu.properties b/src/main/resources/i18n/strings_hu.properties
index c2ec84bdf..4412810ef 100644
--- a/src/main/resources/i18n/strings_hu.properties
+++ b/src/main/resources/i18n/strings_hu.properties
@@ -6,18 +6,20 @@ generic.button.apply=Alkalmaz
generic.button.back=Vissza
generic.button.cancel=Mégse
generic.button.change=Változtat
+generic.button.choose=Választás…
generic.button.close=Bezár
generic.button.copy=Másolás
generic.button.copied=Másolva!
generic.button.done=Kész
generic.button.next=Következő
generic.button.print=Nyomtatás
-## Error
-generic.error.title=Hiba: %s
-generic.error.instruction=Upsz! A Cryptomator nem számított rá, hogy ez megtörténik. Keressen meglévő megoldást erre a hibára. Vagy ha még nem jelentették, bátran tegye ezt meg.
-generic.error.hyperlink.lookup=Hiba okának keresése
-generic.error.hyperlink.report=Hiba jelentése
-generic.error.technicalDetails=Részletek:
+
+# Error
+error.message=Hiba: %s
+error.description=Upsz! A Cryptomator nem számított rá, hogy ez megtörténik. Keressen meglévő megoldást erre a hibára. Vagy ha még nem jelentették, bátran tegye ezt meg.
+error.hyperlink.lookup=Hiba okának keresése
+error.hyperlink.report=Hiba jelentése
+error.technicalDetails=Részletek:
# Defaults
defaults.vault.vaultName=Széf
@@ -51,7 +53,6 @@ addvaultwizard.new.fileAlreadyExists=Már létezik fájl/könyvtár ezzel a trez
addvaultwizard.new.locationDoesNotExist=A megadott elérési úton lévő könyvtár nem létezik, vagy nem érhető el
addvaultwizard.new.locationIsNotWritable=Nincs írási hozzáférés a megadott elérési úthoz
addvaultwizard.new.locationIsOk=Megfelelő hely a trezornak
-addvaultwizard.new.invalidName=Érvénytelen széf elnevezés. Kérjük vegye figyelembe a szabályos könyvtárelnevezésre vonatkozó szabályokat.
### Password
addvaultwizard.new.createVaultBtn=Új széf létrehozása
addvaultwizard.new.generateRecoveryKeyChoice=Nem fog tudni hozzáférni az adataihoz a jelszó nélkül. Akar egy visszaállítási kulcsot arra az esetre, ha elveszíti a jelszavát?
@@ -84,7 +85,7 @@ addvaultwizard.success.unlockNow=Azonnali feloldás
# Remove Vault
removeVault.title=Széf eltávolitása
-removeVault.information=Ez kizárolag a Cryptomator-ból távolitja el ezt a széfet. Később hozzáadhatja újra. A titkosított fájlokat nem törli a merevlemezről.
+removeVault.description=Ez kizárolag a Cryptomator-ból távolitja el ezt a széfet. Később hozzáadhatja újra. A titkosított fájlokat nem törli a merevlemezről.
removeVault.confirmBtn=Széf eltávolitása
# Change Password
@@ -94,7 +95,7 @@ changepassword.finalConfirmation=Megértettem, hogy nem fogok hozzáférni az ad
# Forget Password
forgetPassword.title=Jelszó elfelejtése
-forgetPassword.information=Eltávolítja a széf mentett jelszavát a rendszere kulcstartójából.
+forgetPassword.description=Eltávolítja a széf mentett jelszavát a rendszere kulcstartójából.
forgetPassword.confirmBtn=Jelszó elfelejtése
# Unlock
@@ -103,16 +104,14 @@ unlock.passwordPrompt=Írja be a jelszavát a következő széfhez "%s":
unlock.savePassword=Jelszó megjegyzése
unlock.unlockBtn=Feloldás
## Select
-unlock.chooseMasterkey.title=Válassza ki "%s" kulcsfájlját
-unlock.chooseMasterkey.prompt=Nem található a tároló kulcsfájlja a várt helyen. Kérjük válassza ki a kulcsfájlt manuálisan.
-unlock.chooseMasterkey.chooseBtn=Választás…
+unlock.chooseMasterkey.description=Nem található a tároló kulcsfájlja a várt helyen. Kérjük válassza ki a kulcsfájlt manuálisan.
unlock.chooseMasterkey.filePickerTitle=Kulcsfájl kiválasztása
## Success
-unlock.success.message="%s" sikreresen feloldásra került! Mostmár hozzáférhet a virtuális trezorhoz.
+unlock.success.description="%s" sikreresen feloldásra került! Mostmár hozzáférhet a virtuális trezorhoz.
unlock.success.rememberChoice=Jegyezze meg a választást és ne mutassa többet
unlock.success.revealBtn=Széf megjelenítése
## Failure
-unlock.error.heading=Nem lehet feloldani a széfet
+unlock.error.message=Nem lehet feloldani a széfet
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=A csatolási pont "%s" nem egy könyvtár, nem üres vagy nem létezik.
unlock.error.invalidMountPoint.existing=A csatolási pont "%s" már létezik vagy a already exists or szülőmappa hiányzik.
@@ -120,13 +119,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=A "%s" meghajtó betűjel má
# Lock
## Force
-lock.forced.heading=A lezárás sikertelen volt
-lock.forced.message=A „%s” zárolását függőben lévő műveletek vagy megnyitott fájlok blokkolták. Kényszerítheti a tároló zárolását, bár az I/O megszakítása a nem mentett adatok elvesztéséhez vezethet.
+lock.forced.message=A lezárás sikertelen volt
+lock.forced.description=A „%s” zárolását függőben lévő műveletek vagy megnyitott fájlok blokkolták. Kényszerítheti a tároló zárolását, bár az I/O megszakítása a nem mentett adatok elvesztéséhez vezethet.
lock.forced.retryBtn=Újra
lock.forced.forceBtn=Lezárás kényszerítése
## Failure
-lock.fail.heading=Zárolás sikertelen.
-lock.fail.message=A "%s" tárolót nem lehetett zárolni. Győződjön meg arról, hogy a nem mentett munkát máshová menti, és a fontos olvasási/írási műveletek befejeződtek. A trezor bezárásához szakítsa meg a Cryptomator folyamatot.
+lock.fail.message=Zárolás sikertelen.
+lock.fail.description=A "%s" tárolót nem lehetett zárolni. Győződjön meg arról, hogy a nem mentett munkát máshová menti, és a fontos olvasási/írási műveletek befejeződtek. A trezor bezárásához szakítsa meg a Cryptomator folyamatot.
# Migration
migration.title=Széf frissítése
@@ -266,7 +265,7 @@ main.closeBtn.tooltip=Bezárás
main.minimizeBtn.tooltip=Minimalizálás
main.preferencesBtn.tooltip=Beállítások
main.debugModeEnabled.tooltip=A hibakeresési mód aktiválva van
-main.donationKeyMissing.tooltip=Kérjük, fontolja meg az adományozást
+main.supporterCertificateMissing.tooltip=Kérjük, fontolja meg az adományozást
## Drag 'n' Drop
main.dropZone.dropVault=Adja hozzá ezt a széfet
main.dropZone.unknownDragboardContent=Ha egy széfet szeretne hozzáadni, akkor húzza át erre az ablakra.
@@ -314,8 +313,8 @@ main.vaultDetail.error.windowTitle=Hiba az adatok betöltése közben
# Wrong File Alert
wrongFileAlert.title=Hogyan lehet fájlokat titkosítani
-wrongFileAlert.header.title=Próbálta ezeket a fájlokat titkosítani?
-wrongFileAlert.header.lead=Erre a célra a Cryptomator egy kötetet biztosít a rendszer fájlkezelőjében.
+wrongFileAlert.message=Próbálta ezeket a fájlokat titkosítani?
+wrongFileAlert.description=Erre a célra a Cryptomator egy kötetet biztosít a rendszer fájlkezelőjében.
wrongFileAlert.instruction.0=Hogy titkosítsa a fájlokat kövesse a következő lépéseket:
wrongFileAlert.instruction.1=1. Oldja fel a széfet.
wrongFileAlert.instruction.2=2. Kattintson a "Megjelenítés" gombra, hogy megnyissa a kötetet a fájlkezelőjében.
@@ -352,17 +351,20 @@ vaultOptions.masterkey.changePasswordBtn=Jelszó megváltoztatása
vaultOptions.masterkey.forgetSavedPasswordBtn=Mentett jelszó törlése
vaultOptions.masterkey.recoveryKeyExplanation=A helyreállítási kulcs az egyetlen módja annak, hogy visszaállítsa a széfhez való hozzáférést, ha elveíti a jelszavát.
vaultOptions.masterkey.showRecoveryKeyBtn=Visszaállítási kulcs megjelenítése
-vaultOptions.masterkey.recoverPasswordBtn=Jelszó visszaállítása
# Recovery Key
-recoveryKey.title=Visszaállítási kulcs
-recoveryKey.enterPassword.prompt=Írja be a jelszavát a "%s" visszaállítási kulcsának megjelenítéséhez:
-recoveryKey.display.message=A következő helyreállítási kulcs használható a "%s" hozzáférésének visszaállítására:
+## Display Recovery Key
+recoveryKey.create.description=Írja be a jelszavát a "%s" visszaállítási kulcsának megjelenítéséhez:
+recoveryKey.display.description=A következő helyreállítási kulcs használható a "%s" hozzáférésének visszaállítására:
recoveryKey.display.StorageHints=Tartsa nagyon biztonságos helyen. pl.:\n •Tárolja egy jelszókezelővel\n •Mentse el egy USB meghajtóra\n •Nyomtassa egy papírra
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Írja be a visszaállítási kulcsát a következőhöz "%s":
recoveryKey.recover.validKey=Ez egy érvényes visszaállítási kulcs
recoveryKey.printout.heading=Cryptomator visszaállítási kulcs\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Adjon meg egy új jelszót
@@ -377,5 +379,6 @@ passwordStrength.messageLabel.3=Erős
passwordStrength.messageLabel.4=Nagyon erős
# Quit
-quit.prompt=Kilép az alkalmazásból? Vannak még lezáratlan széfek.
-quit.lockAndQuit=Zárolás és kilépés
+quit.lockAndQuitBtn=Zárolás és kilépés
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_id.properties b/src/main/resources/i18n/strings_id.properties
index 1db96379f..c05cbe346 100644
--- a/src/main/resources/i18n/strings_id.properties
+++ b/src/main/resources/i18n/strings_id.properties
@@ -6,18 +6,20 @@ generic.button.apply=Terapkan
generic.button.back=Kembali
generic.button.cancel=Batalkan
generic.button.change=Ganti
+generic.button.choose=Pilih…
generic.button.close=Tutup
generic.button.copy=Salin
generic.button.copied=Tersalin!
generic.button.done=Selesai
generic.button.next=Lanjut
generic.button.print=Cetak
-## Error
-generic.error.title=Error %s
-generic.error.instruction=Ups! Cryptomator tidak menyangka hal ini terjadi. Anda dapat mencari solusi yang tersedia untuk error ini. Atau jika error ini belum pernah dilaporkan, tidak perlu sungkan untuk melaporkannya.
-generic.error.hyperlink.lookup=Cari error berikut
-generic.error.hyperlink.report=Laporkan error berikut
-generic.error.technicalDetails=Rincian:
+
+# Error
+error.message=Error %s
+error.description=Ups! Cryptomator tidak menyangka hal ini terjadi. Anda dapat mencari solusi yang tersedia untuk error ini. Atau jika error ini belum pernah dilaporkan, tidak perlu sungkan untuk melaporkannya.
+error.hyperlink.lookup=Cari error berikut
+error.hyperlink.report=Laporkan error berikut
+error.technicalDetails=Rincian:
# Defaults
defaults.vault.vaultName=Vault
@@ -51,7 +53,6 @@ addvaultwizard.new.fileAlreadyExists=Sudah ada file atau direktori dengan nama v
addvaultwizard.new.locationDoesNotExist=Direktori pada path yang dipilih tidak tersedia atau tidak dapat diakses
addvaultwizard.new.locationIsNotWritable=Anda tidak memiliki hak akses untuk menulis pada path yang dipilih
addvaultwizard.new.locationIsOk=Lokasi yang sesuai dengan vault Anda
-addvaultwizard.new.invalidName=Nama vault tidak sesuai. Harap pilih nama direktori yang umum digunakan.
### Password
addvaultwizard.new.createVaultBtn=Buat Vault
addvaultwizard.new.generateRecoveryKeyChoice=Anda tidak dapat mengakses data tanpa kata sandi yang Anda miliki. Apa Anda ingin sebuah kunci pemulihan untuk berjaga-jaga jika seandainya Anda kehilangan kata sandi?
@@ -78,13 +79,14 @@ addvault.new.readme.accessLocation.4=Anda dapat menghapus file ini.
addvaultwizard.existing.instruction=Pilih file "vault.cryptomator" Anda dari vault yang ada. Jika hanya ada file bernama "masterkey.cryptomator", pilih file tersebut.
addvaultwizard.existing.chooseBtn=Pilih…
addvaultwizard.existing.filePickerTitle=Pilih File Vault
+addvaultwizard.existing.filePickerMimeDesc=Vault Cryptomator
## Success
addvaultwizard.success.nextStepsInstructions=Vault "%s" telah dibuat.\nAnda harus membuka kunci vault ini untuk mengakses atau menambahkan konten. Anda juga dapat membuka kunci vault ini kapan saja di kemudian hari.
addvaultwizard.success.unlockNow=Buka Kunci Sekarang
# Remove Vault
removeVault.title=Hapus Vault
-removeVault.information=Tindakan ini hanya akan membuat Cryptomator melupakan vault ini. Anda dapat menambahkan vault ini lagi nanti. File yang telah dienkripsi tidak akan dihapus dari hard drive Anda.
+removeVault.description=Tindakan ini hanya akan membuat Cryptomator melupakan vault ini. Anda dapat menambahkan vault ini lagi nanti. File yang telah dienkripsi tidak akan dihapus dari hard drive Anda.
removeVault.confirmBtn=Hapus Vault
# Change Password
@@ -94,7 +96,7 @@ changepassword.finalConfirmation=Saya mengerti bahwa saya tidak akan dapat menga
# Forget Password
forgetPassword.title=Lupa Kata Sandi
-forgetPassword.information=Tindakan ini akan menghapus kata sandi vault berikut yang tersimpan dari sistem keychain Anda.
+forgetPassword.description=Tindakan ini akan menghapus kata sandi vault berikut yang tersimpan dari sistem keychain Anda.
forgetPassword.confirmBtn=Lupa Kata Sandi
# Unlock
@@ -103,16 +105,15 @@ unlock.passwordPrompt=Masukkan kata sandi "%s":
unlock.savePassword=Ingat Kata Sandi
unlock.unlockBtn=Buka Kunci
## Select
-unlock.chooseMasterkey.title=Pilih Masterkey of "%s"
-unlock.chooseMasterkey.prompt=Tidak dapat menemukan file masterkey untuk vault ini pada lokasi yang dicari. Mohon pilih file kunci secara manual.
-unlock.chooseMasterkey.chooseBtn=Pilih…
+unlock.chooseMasterkey.description=Tidak dapat menemukan file masterkey untuk vault ini pada lokasi yang dicari. Mohon pilih file kunci secara manual.
unlock.chooseMasterkey.filePickerTitle=Pilih File Masterkey
+unlock.chooseMasterkey.filePickerMimeDesc=MasterKey Cryptomator
## Success
-unlock.success.message="%s" berhasil dibuka! Vault Anda sekarang dapat diakses melalui drive virtual.
+unlock.success.description="%s" berhasil dibuka! Vault Anda sekarang dapat diakses melalui drive virtual.
unlock.success.rememberChoice=Ingat pilihan saya, jangan perlihatkan lagi
unlock.success.revealBtn=Tampilkan Drive
## Failure
-unlock.error.heading=Tidak dapat membuka vault
+unlock.error.message=Tidak dapat membuka vault
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Mount point "%s" bukanlah sebuah direktori, tidak sedang kosong, atau bahkan tidak ada sama sekali.
unlock.error.invalidMountPoint.existing=Mount point "%s" sudah ada atau folder induknya tidak ditemukan.
@@ -120,13 +121,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Drive Letter "%s" sedang digu
# Lock
## Force
-lock.forced.heading=Gagal mengunci
-lock.forced.message=Penguncian "%s" terblokir oleh operasi yang sedang berjalan atau file yang masih terbuka. Anda dapat mengunci paksa vault ini, namun ada kemungkinan mengganggu I/O yang berakibat kehilangan data yang belum disimpan.
+lock.forced.message=Gagal mengunci
+lock.forced.description=Penguncian "%s" terblokir oleh operasi yang sedang berjalan atau file yang masih terbuka. Anda dapat mengunci paksa vault ini, namun ada kemungkinan mengganggu I/O yang berakibat kehilangan data yang belum disimpan.
lock.forced.retryBtn=Coba lagi
lock.forced.forceBtn=Paksa Kunci
## Failure
-lock.fail.heading=Gagal mengunci vault.
-lock.fail.message=Vault "%s" tidak dapat dikunci. Pastikan bahwa file yang belum tersimpan telah disimpan di lokasi lain, dan operasi Baca/Tulis telah selesai dilakukan. Untuk menutup vault ini, matikan proses Cryptomator.
+lock.fail.message=Gagal mengunci vault.
+lock.fail.description=Vault "%s" tidak dapat dikunci. Pastikan bahwa file yang belum tersimpan telah disimpan di lokasi lain, dan operasi Baca/Tulis telah selesai dilakukan. Untuk menutup vault ini, matikan proses Cryptomator.
# Migration
migration.title=Tingkatkan Vault
@@ -266,7 +267,7 @@ main.closeBtn.tooltip=Tutup
main.minimizeBtn.tooltip=Perkecil
main.preferencesBtn.tooltip=Preferensi
main.debugModeEnabled.tooltip=Mode Debug diaktifkan
-main.donationKeyMissing.tooltip=Tolong pertimbangkan untuk melakukan donasi
+main.supporterCertificateMissing.tooltip=Tolong pertimbangkan untuk melakukan donasi
## Drag 'n' Drop
main.dropZone.dropVault=Tambah vault ini
main.dropZone.unknownDragboardContent=Jika Anda ingin menambahkan vault, seret ke jendela ini
@@ -278,7 +279,7 @@ main.vaultlist.contextMenu.unlock=Buka Kunci…
main.vaultlist.contextMenu.unlockNow=Buka Kunci Sekarang
main.vaultlist.contextMenu.vaultoptions=Tampilkan Opsi Vault
main.vaultlist.contextMenu.reveal=Buka Drive
-main.vaultlist.addVaultBtn=Tambah Brankas
+main.vaultlist.addVaultBtn=Tambah Vault
## Vault Detail
### Welcome
main.vaultDetail.welcomeOnboarding=Terima kasih telah memilih Cryptomator untuk melindungi file Anda. Jika Anda memerlukan bantuan, lihat panduan awal kami:
@@ -314,8 +315,8 @@ main.vaultDetail.error.windowTitle=Terjadi kesalahan saat memuat vault
# Wrong File Alert
wrongFileAlert.title=Cara Mengenkripsi File
-wrongFileAlert.header.title=Apakah Anda mencoba mengenkripsi file-file ini?
-wrongFileAlert.header.lead=Untuk itu, Cryptomator menyediakan volume di sistem file manager Anda.
+wrongFileAlert.message=Apakah Anda mencoba mengenkripsi file-file ini?
+wrongFileAlert.description=Untuk itu, Cryptomator menyediakan volume di sistem file manager Anda.
wrongFileAlert.instruction.0=Untuk mengenkripsi file, ikuti langkah-langkah berikut:
wrongFileAlert.instruction.1=1. Membuka vault Anda.
wrongFileAlert.instruction.2=Klik "Reveal" untuk membuka volume di file manager Anda.
@@ -325,7 +326,7 @@ wrongFileAlert.link=Untuk bantuan lebih lanjut, kunjungi
# Vault Options
## General
vaultOptions.general=Umum
-vaultOptions.general.vaultName=Nama Brankas
+vaultOptions.general.vaultName=Nama Vault
vaultOptions.general.autoLock.lockAfterTimePart1=Kunci saat idle untuk
vaultOptions.general.autoLock.lockAfterTimePart2=menit
vaultOptions.general.unlockAfterStartup=Buka vault saat memulai Cryptomator
@@ -352,17 +353,20 @@ vaultOptions.masterkey.changePasswordBtn=Ubah Kata Sandi
vaultOptions.masterkey.forgetSavedPasswordBtn=Lupa Kata Sandi
vaultOptions.masterkey.recoveryKeyExplanation=Kunci pemulihan adalah satu-satunya cara Anda untuk memulihkan akses ke vault jika Anda kehilangan kata sandi.
vaultOptions.masterkey.showRecoveryKeyBtn=Tampilkan Kunci Pemulihan
-vaultOptions.masterkey.recoverPasswordBtn=Pemulihan Kata Sandi
# Recovery Key
-recoveryKey.title=Kunci Pemulihan
-recoveryKey.enterPassword.prompt=Masukkan kata sandi untuk menampilkan kunci pemulikan untuk "%s":
-recoveryKey.display.message=Kunci pemulihan berikut dapat digunakan untuk memulihkan akses ke "%s":
+## Display Recovery Key
+recoveryKey.create.description=Masukkan kata sandi untuk menampilkan kunci pemulikan untuk "%s":
+recoveryKey.display.description=Kunci pemulihan berikut dapat digunakan untuk memulihkan akses ke "%s":
recoveryKey.display.StorageHints=Simpan di tempat yang sangat aman, misal.:\n • Simpan menggunakan password manager\n • Simpan di USB\n • cetak di kertas
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Masukkan kunci pemulihan untuk "%s":
recoveryKey.recover.validKey=Ini adalah kunci pemulihan yang valid
recoveryKey.printout.heading=Kunci Pemulihan Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Masukkan kata sandi baru
@@ -377,5 +381,6 @@ passwordStrength.messageLabel.3=Kuat
passwordStrength.messageLabel.4=Sangat kuat
# Quit
-quit.prompt=Keluar aplikasi? Masih ada vault yg belum dikunci.
-quit.lockAndQuit=Kunci dan Keluar
+quit.lockAndQuitBtn=Kunci dan Keluar
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_it.properties b/src/main/resources/i18n/strings_it.properties
index 60e76b0e4..261be778e 100644
--- a/src/main/resources/i18n/strings_it.properties
+++ b/src/main/resources/i18n/strings_it.properties
@@ -5,31 +5,33 @@
generic.button.apply=Applica
generic.button.back=Indietro
generic.button.cancel=Annulla
-generic.button.change=Modifica
+generic.button.change=Aggiorna
+generic.button.choose=Scegli…
generic.button.close=Chiudi
generic.button.copy=Copia
generic.button.copied=Copiato!
generic.button.done=Fatto
generic.button.next=Avanti
generic.button.print=Stampa
-## Error
-generic.error.title=Errore %s
-generic.error.instruction=Ops! Cryptomator non si aspettava che ciò succedesse. Puoi cercare le soluzioni esistenti per questo errore. O se non è stato ancora segnalato, sentiti libero di farlo.
-generic.error.hyperlink.lookup=Cerca questo errore
-generic.error.hyperlink.report=Segnala questo errore
-generic.error.technicalDetails=Dettagli:
+
+# Error
+error.message=Errore %s
+error.description=Oops! Cryptomator non si aspettava che ciò accadesse. Puoi cercare soluzioni esistenti per questo errore. Oppure se non è ancora stato segnalato, sentitevi liberi di farlo.
+error.hyperlink.lookup=Cerca questo errore
+error.hyperlink.report=Segnala questo errore
+error.technicalDetails=Dettagli:
# Defaults
defaults.vault.vaultName=Cassaforte
# Tray Menu
-traymenu.showMainWindow=Mostra
+traymenu.showMainWindow=Visualizza
traymenu.showPreferencesWindow=Preferenze
traymenu.lockAllVaults=Blocca Tutto
traymenu.quitApplication=Esci
traymenu.vault.unlock=Sblocca
traymenu.vault.lock=Blocca
-traymenu.vault.reveal=Rivela
+traymenu.vault.reveal=Mostra
# Add Vault Wizard
addvaultwizard.title=Aggiungi Cassaforte
@@ -41,17 +43,16 @@ addvaultwizard.welcome.existingButton=Apri Cassaforte Esistente
addvaultwizard.new.nameInstruction=Scegli un nome per la cassaforte
addvaultwizard.new.namePrompt=Nome della Cassaforte
### Location
-addvaultwizard.new.locationInstruction=Dove Cryptomator dovrebbe memorizzare i file crittografati della tua cassaforte?
-addvaultwizard.new.locationLabel=Posizione d'archiviazione
+addvaultwizard.new.locationInstruction=Dove dovrebbe memorizzare Cryptomator i file crittografati della tua cassaforte?
+addvaultwizard.new.locationLabel=Posizione archivio
addvaultwizard.new.locationPrompt=…
addvaultwizard.new.directoryPickerLabel=Posizione Personalizzata
addvaultwizard.new.directoryPickerButton=Scegli…
-addvaultwizard.new.directoryPickerTitle=Seleziona la Cartella
+addvaultwizard.new.directoryPickerTitle=Seleziona Cartella
addvaultwizard.new.fileAlreadyExists=Un file o una cartella con il nome della cassaforte esiste già
addvaultwizard.new.locationDoesNotExist=Una cartella nel percorso specificato non esiste o non è accessibile
-addvaultwizard.new.locationIsNotWritable=Nessun accesso di scrittura al percorso specificato
+addvaultwizard.new.locationIsNotWritable=Nessun accesso in scrittura nel percorso specificato
addvaultwizard.new.locationIsOk=Posizione idonea per la tua cassaforte
-addvaultwizard.new.invalidName=Nome della cassaforte non valido. Sei pregato di considerare un nome della cartella regolare.
### Password
addvaultwizard.new.createVaultBtn=Crea Cassaforte
addvaultwizard.new.generateRecoveryKeyChoice=Non potrai accedere ai tuoi dati senza la tua password. Desideri una chiave di recupero nel caso dovessi perdere la password?
@@ -62,9 +63,9 @@ addvault.new.readme.storageLocation.fileName=IMPORTANTE.rtf
addvault.new.readme.storageLocation.1=⚠️ FILE DELLA CASSAFORTE ⚠️
addvault.new.readme.storageLocation.2=Questa è la posizione d'archiviazione della tua cassaforte.
addvault.new.readme.storageLocation.3=NON
-addvault.new.readme.storageLocation.4=• alterare alcun file in questa cartella o
+addvault.new.readme.storageLocation.4=• alterare nessun file in questa cartella o
addvault.new.readme.storageLocation.5=• incollare alcun file per la crittografia in questa cartella.
-addvault.new.readme.storageLocation.6=Se vuoi crittografare i file e visualizzare il contenuto della cassaforte, fa quanto segue:
+addvault.new.readme.storageLocation.6=Se si desidera crittografare i file e visualizzare il contenuto della cassaforte, effettuare le seguenti operazioni:
addvault.new.readme.storageLocation.7=1. Aggiungi questa cassaforte a Cryptomator.
addvault.new.readme.storageLocation.8=2. Sblocca la cassaforte su Cryptomator.
addvault.new.readme.storageLocation.9=3. Apri la posizione d'accesso cliccando sul pulsante "Rivela".
@@ -78,13 +79,14 @@ addvault.new.readme.accessLocation.4=Sentiti libero di rimuovere questo file.
addvaultwizard.existing.instruction=Scegliere il file "vault.cryptomator" della tua cassaforte. Se esiste solo un file chiamato "masterkey.cryptomator", allora scegli quello.
addvaultwizard.existing.chooseBtn=Scegli…
addvaultwizard.existing.filePickerTitle=Seleziona file cassaforte
+addvaultwizard.existing.filePickerMimeDesc=Cassaforte di Cryptomator
## Success
addvaultwizard.success.nextStepsInstructions=Cassaforte "%s" aggiunta.\nDevi sbloccare questa cassaforte per accedere o aggiungere contenuti. Altrimenti, puoi sbloccarla in qualsiasi momento successivo.
addvaultwizard.success.unlockNow=Sblocca Ora
# Remove Vault
removeVault.title=Rimuovi Cassaforte
-removeVault.information=Questo farà solo dimenticare questa cassaforte a Cryptomator. Puoi aggiungerla nuovamente in seguito. Nessun file crittografato sarà eliminato dal tuo disco rigido.
+removeVault.description=Questo farà solo dimenticare questa cassaforte a Cryptomator. Puoi aggiungerla nuovamente in seguito. Nessun file crittografato sarà eliminato dal tuo disco rigido.
removeVault.confirmBtn=Rimuovi Cassaforte
# Change Password
@@ -94,7 +96,7 @@ changepassword.finalConfirmation=Capisco che non potrò accedere ai miei dati se
# Forget Password
forgetPassword.title=Dimentica la Password
-forgetPassword.information=Questo eliminerà la password salvata di questa cassaforte dal portachiavi del tuo sistema.
+forgetPassword.description=Questo eliminerà la password salvata di questa cassaforte dal portachiavi del tuo sistema.
forgetPassword.confirmBtn=Dimentica Password
# Unlock
@@ -103,16 +105,15 @@ unlock.passwordPrompt=Inserisci la password per "%s":
unlock.savePassword=Ricorda la Password
unlock.unlockBtn=Sblocca
## Select
-unlock.chooseMasterkey.title=Seleziona Masterkey di "%s"
-unlock.chooseMasterkey.prompt=Impossibile trovare il file Masterkey per questa cassaforte alla sua posizione prevista. Sei pregato di sceglierlo manualmente.
-unlock.chooseMasterkey.chooseBtn=Scegli…
+unlock.chooseMasterkey.description=Impossibile trovare il file Masterkey per questa cassaforte alla sua posizione prevista. Sei pregato di sceglierlo manualmente.
unlock.chooseMasterkey.filePickerTitle=Seleziona il File Masterkey
+unlock.chooseMasterkey.filePickerMimeDesc=Chiave principale di Cryptomator
## Success
-unlock.success.message="%s" sbloccato correttamente! La tua cassaforte è ora accessibile tramite la sua unità virtuale.
+unlock.success.description="%s" sbloccato correttamente! La tua cassaforte è ora accessibile tramite la sua unità virtuale.
unlock.success.rememberChoice=Ricorda la scelta, non mostrarmelo più
unlock.success.revealBtn=Rivela l'Unità
## Failure
-unlock.error.heading=Impossibile sbloccare la cassaforte
+unlock.error.message=Impossibile sbloccare la cassaforte
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Il punto di montaggio "%s" non è una cartella, non è vuoto o non esiste.
unlock.error.invalidMountPoint.existing=Il punto di montaggio "%s" esiste già o la cartella madre è mancante.
@@ -120,13 +121,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=La lettera di unità "%s" è
# Lock
## Force
-lock.forced.heading=Blocco non riuscito
-lock.forced.message=Il bloccaggio di "%s" è stato impedito dalle operazioni in sospeso o dai file aperti. Puoi forzare il blocco di questa cassaforte, tuttavia, interrompere I/O potrebbe risultare nella perdita dei dati non salvati.
+lock.forced.message=Blocco non riuscito
+lock.forced.description=Il bloccaggio di "%s" è stato impedito dalle operazioni in sospeso o dai file aperti. Puoi forzare il blocco di questa cassaforte, tuttavia, interrompere I/O potrebbe risultare nella perdita dei dati non salvati.
lock.forced.retryBtn=Riprova
lock.forced.forceBtn=Forza Blocco
## Failure
-lock.fail.heading=Blocco della cassaforte fallito.
-lock.fail.message=Impossibile bloccare la cassaforte "%s". Assicurati che il lavoro non salvato sia salvato altrove e che le importanti operazioni di Lettura/Scrittura siano terminate. Per chiudere la cassaforte, termina il processo di Cryptomator.
+lock.fail.message=Blocco della cassaforte fallito.
+lock.fail.description=Impossibile bloccare la cassaforte "%s". Assicurati che il lavoro non salvato sia salvato altrove e che le importanti operazioni di Lettura/Scrittura siano terminate. Per chiudere la cassaforte, termina il processo di Cryptomator.
# Migration
migration.title=Aggiorna la Cassaforte
@@ -266,7 +267,7 @@ main.closeBtn.tooltip=Chiudi
main.minimizeBtn.tooltip=Minimizza
main.preferencesBtn.tooltip=Preferenze
main.debugModeEnabled.tooltip=La modalità di debug è abilitata
-main.donationKeyMissing.tooltip=Sei pregato di considerare di donare
+main.supporterCertificateMissing.tooltip=Per favore, considera le donazioni
## Drag 'n' Drop
main.dropZone.dropVault=Aggiungi questa cassaforte
main.dropZone.unknownDragboardContent=Se desideri aggiungere una cassaforte, trascinala a questa finestra
@@ -314,8 +315,8 @@ main.vaultDetail.error.windowTitle=Errore nel caricare la cassaforte
# Wrong File Alert
wrongFileAlert.title=Come Crittografare i File
-wrongFileAlert.header.title=Hai tentato di crittografare questi file?
-wrongFileAlert.header.lead=Per questo scopo, Cryptomator fornisce un volume nel gestore dei tuoi file di sistema.
+wrongFileAlert.message=Hai tentato di crittografare questi file?
+wrongFileAlert.description=Per questo scopo, Cryptomator fornisce un volume nel gestore dei tuoi file di sistema.
wrongFileAlert.instruction.0=Per crittografare i file, segui questi passi:
wrongFileAlert.instruction.1=1. Sblocca la tua cassaforte.
wrongFileAlert.instruction.2=2. Clicca su "Rivela" per aprire il volume nel gestore dei tuoi file.
@@ -352,17 +353,20 @@ vaultOptions.masterkey.changePasswordBtn=Modifica password
vaultOptions.masterkey.forgetSavedPasswordBtn=Dimentica Password Salvata
vaultOptions.masterkey.recoveryKeyExplanation=Una chiave di recupero è il tuo unico mezzo per ripristinare l'accesso a una cassaforte se perdi la tua password.
vaultOptions.masterkey.showRecoveryKeyBtn=Visualizza la chiave di recupero
-vaultOptions.masterkey.recoverPasswordBtn=Recupera password
# Recovery Key
-recoveryKey.title=Chiave di recupero
-recoveryKey.enterPassword.prompt=Inserisci la password per visualizzare la chiave di recupero per "%s":
-recoveryKey.display.message=La seguente chiave di recupero può essere utilizzata per ripristinare l'accesso a %s":
+## Display Recovery Key
+recoveryKey.create.description=Inserisci la password per visualizzare la chiave di recupero per "%s":
+recoveryKey.display.description=La seguente chiave di recupero può essere utilizzata per ripristinare l'accesso a %s":
recoveryKey.display.StorageHints=Mantienilo da qualche parte molto sicuro, ad es.\n • Archivialo usando un gestore di password\n • Salvarlo su un'unità flash USB\n • Stamparlo su carta
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Inserisci la tua chiave di recupero per "%s":
recoveryKey.recover.validKey=Questa è una chiave di recupero valida
recoveryKey.printout.heading=Chiave di recupero Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Inserisci una nuova password
@@ -377,5 +381,6 @@ passwordStrength.messageLabel.3=Forte
passwordStrength.messageLabel.4=Molto forte
# Quit
-quit.prompt=Chiudere l'applicazione? Ci sono depositi sbloccati.
-quit.lockAndQuit=Blocca ed Esci
+quit.lockAndQuitBtn=Blocca ed Esci
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_ja.properties b/src/main/resources/i18n/strings_ja.properties
index cae5162b3..d0e0bd592 100644
--- a/src/main/resources/i18n/strings_ja.properties
+++ b/src/main/resources/i18n/strings_ja.properties
@@ -6,18 +6,20 @@ generic.button.apply=適用
generic.button.back=戻る
generic.button.cancel=キャンセル
generic.button.change=変更
+generic.button.choose=選択...
generic.button.close=閉じる
generic.button.copy=コピー
generic.button.copied=コピー完了!
generic.button.done=完了
generic.button.next=次へ
generic.button.print=印刷
-## Error
-generic.error.title=エラー %s
-generic.error.instruction=Cryptomator で予期できない問題が発生しました! 。このエラーの解決方法を検索することができ、まだ報告されていない場合は、報告を行うことができます。
-generic.error.hyperlink.lookup=このエラーを検索する
-generic.error.hyperlink.report=このエラーを報告する
-generic.error.technicalDetails=詳細:
+
+# Error
+error.message=エラー %s
+error.description=Cryptomator で予期できない問題が発生しました! 。このエラーの解決方法を検索することができ、まだ報告されていない場合は、報告を行うことができます。
+error.hyperlink.lookup=このエラーを検索する
+error.hyperlink.report=このエラーを報告する
+error.technicalDetails=詳細:
# Defaults
defaults.vault.vaultName=金庫
@@ -35,7 +37,7 @@ traymenu.vault.reveal=表示
addvaultwizard.title=金庫を追加
## Welcome
addvaultwizard.welcome.newButton=新しい金庫を作成
-addvaultwizard.welcome.existingButton=既存の金庫を開く
+addvaultwizard.welcome.existingButton=すでにある金庫を開く
## New
### Name
addvaultwizard.new.nameInstruction=金庫の名前を入力してください
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=金庫名と同じ名前のファイルま
addvaultwizard.new.locationDoesNotExist=指定されたパスのディレクトリが存在しないかアクセスできません
addvaultwizard.new.locationIsNotWritable=指定されたパスに書き込み権限がありません
addvaultwizard.new.locationIsOk=金庫に適した場所
-addvaultwizard.new.invalidName=使用できない金庫の名前です。一般的なディレクトリの名前にしてください。
+addvaultwizard.new.invalidName=無効な金庫の名前
+addvaultwizard.new.validName=有効な金庫の名前
+addvaultwizard.new.validCharacters.message=金庫の名前には次の文字が含まれています:
+addvaultwizard.new.validCharacters.chars=単語文字 (例: a、ж、수)
+addvaultwizard.new.validCharacters.numbers=数字
+addvaultwizard.new.validCharacters.dashes=ハイフン (%s) またはアンダースコア (%s)
### Password
addvaultwizard.new.createVaultBtn=金庫を作成
addvaultwizard.new.generateRecoveryKeyChoice=データにアクセスするにはパスワードが必須です。パスワードを紛失したときのためにリカバリーキーは必要ですか?
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=このファイルはいつでも削除で
addvaultwizard.existing.instruction=すでにある金庫の "vault.cryptomator" ファイルを選択してください。"masterkey.cryptomator" という名前のファイルだけが存在する場合は、このファイルを代わりに選択してください。
addvaultwizard.existing.chooseBtn=選択...
addvaultwizard.existing.filePickerTitle=金庫のファイルを選択
+addvaultwizard.existing.filePickerMimeDesc=Cryptomatorの金庫
## Success
addvaultwizard.success.nextStepsInstructions=金庫 "%s" を追加しました。\n金庫にアクセスしたり、コンテンツを追加したりするには、金庫を解錠する必要があります。あるいは、後で解錠することが可能です。
addvaultwizard.success.unlockNow=今すぐ解錠
# Remove Vault
removeVault.title=金庫を削除
-removeVault.information=この操作で Cryptomator がこの金庫を認識しなくなります。あとで再度追加することが可能です。暗号化されたファイルがドライブから削除されることはありません。
+removeVault.message=金庫を削除しますか?
+removeVault.description=この操作で Cryptomator がこの金庫を認識しなくなります。あとで再度追加することが可能です。暗号化されたファイルがドライブから削除されることはありません。
removeVault.confirmBtn=金庫を削除
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=パスワードを忘れた場合は、デー
# Forget Password
forgetPassword.title=パスワードを削除
-forgetPassword.information=システムから金庫の保存済みパスワードを削除します。
+forgetPassword.message=保存したパスワードを削除しますか?
+forgetPassword.description=システムから金庫の保存済みパスワードを削除します。
forgetPassword.confirmBtn=パスワードを削除
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt="%s" のパスワードを入力してください:
unlock.savePassword=パスワードを記憶させる
unlock.unlockBtn=解錠
## Select
-unlock.chooseMasterkey.title="%s" の Masterkey ファイルを選択
-unlock.chooseMasterkey.prompt=必要な場所にこの金庫の masterkey ファイルがありませんでした。ファイルを手動で選択してください。
-unlock.chooseMasterkey.chooseBtn=選択...
+unlock.chooseMasterkey.message=Masterkey ファイルが見つかりません
+unlock.chooseMasterkey.description=必要な場所にこの金庫の masterkey ファイルがありませんでした。ファイルを手動で選択してください。
unlock.chooseMasterkey.filePickerTitle=Masterkey ファイルを選択
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomatorのマスターキー
## Success
-unlock.success.message="%s" の解錠に成功しました! 仮想ドライブから金庫にアクセス可能です。
+unlock.success.message=解錠に成功しました
+unlock.success.description="%s" の解錠に成功しました! 仮想ドライブから金庫にアクセス可能です。
unlock.success.rememberChoice=選択を記憶させて、再度表示しない
unlock.success.revealBtn=金庫内を表示
## Failure
-unlock.error.heading=金庫の解錠に失敗
+unlock.error.message=金庫の解錠に失敗
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=マウントポイントが空のディレクトリか存在していません: %s
unlock.error.invalidMountPoint.existing=マウント ポイント "%s" が既に存在するか、親フォルダーがありません。
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=ドライブレター「%s」
# Lock
## Force
-lock.forced.heading=施錠に失敗
-lock.forced.message=保留中の操作または、開かれたファイルによって、"%s" の施錠が中断されました。この金庫を強制的に施錠することはできますが、I/O を中断すると保存されていないデータを失う可能性があります。
+lock.forced.message=施錠に失敗
+lock.forced.description=保留中の操作または、開かれたファイルによって、"%s" の施錠が中断されました。この金庫を強制的に施錠することはできますが、I/O を中断すると保存されていないデータを失う可能性があります。
lock.forced.retryBtn=再試行
lock.forced.forceBtn=強制的に施錠
## Failure
-lock.fail.heading=金庫の施錠に失敗しました。
-lock.fail.message=金庫 "%s" を施錠できませんでした。保存されていないデータがほかの場所に保存され、重要な読み込み/書き込み操作が完了していることを確認してください。金庫を閉じるには、Cryptomator のプロセスを強制終了してください。
+lock.fail.message=金庫の施錠に失敗しました。
+lock.fail.description=金庫 "%s" を施錠できませんでした。保存されていないデータがほかの場所に保存され、重要な読み込み/書き込み操作が完了していることを確認してください。金庫を閉じるには、Cryptomator のプロセスを強制終了してください。
# Migration
migration.title=金庫をアップグレード
@@ -191,9 +202,10 @@ preferences.title=設定
## General
preferences.general=基本設定
preferences.general.startHidden=Cryptomator を開始したときウィンドウを隠す
+preferences.general.autoCloseVaults=アプリケーションを終了するときに自動的に開いている金庫を施錠する
preferences.general.debugLogging=ログを有効にする
preferences.general.debugDirectory=ログファイルを表示
-preferences.general.autoStart=システム開始時にCryptomatorを起動する
+preferences.general.autoStart=システム開始時に Cryptomator を起動する
preferences.general.keychainBackend=次を利用してパスワードを保存する
## Interface
preferences.interface=インターフェース
@@ -222,10 +234,10 @@ preferences.updates.checkNowBtn=今すぐ確認
preferences.updates.updateAvailable=利用可能なバージョン %s に更新します。
## Contribution
preferences.contribute=支援する
-preferences.contribute.registeredFor=サポーター証明書が %s に登録されました
-preferences.contribute.noCertificate=Cryptomator を支援し、サポーター証明書を受け取りましょう。ライセンスキーに似ていますが自由ソフトウェアを使う寄付者向けのキーです。 ;-)
+preferences.contribute.registeredFor=サポート証明書 (%s) が登録されました
+preferences.contribute.noCertificate=Cryptomator を支援し、サポーター証明書を受け取りましょう。ライセンスキーに似ていますがフリーソフトを使う寄付者向けのキーです。 ;-)
preferences.contribute.getCertificate=まだ証明書を手に入れていませんか? 詳細はこちらから確認できます。
-preferences.contribute.promptText=サポーター証明書をここに貼り付け
+preferences.contribute.promptText=サポーター証明書をここに張り付けてください
#<-- Add entries for donations and code/translation/documentation contribution -->
## About
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=閉じる
main.minimizeBtn.tooltip=最小化
main.preferencesBtn.tooltip=設定
main.debugModeEnabled.tooltip=デバッグモードが有効です
-main.donationKeyMissing.tooltip=寄付をお願いします
+main.supporterCertificateMissing.tooltip=寄付をお願いします
## Drag 'n' Drop
main.dropZone.dropVault=この金庫を追加
main.dropZone.unknownDragboardContent=このウィンドウにドラッグして、金庫を追加
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=金庫の読み込みエラー
# Wrong File Alert
wrongFileAlert.title=ファイルを暗号化するには
-wrongFileAlert.header.title=ファイルを暗号化しようとしましたか?
-wrongFileAlert.header.lead=この操作には、Cryptomator がシステムのファイルマネージャーに提供するボリュームをお使いください。
+wrongFileAlert.message=ファイルを暗号化しようとしましたか?
+wrongFileAlert.description=この操作には、Cryptomator がシステムのファイルマネージャーに提供するボリュームをお使いください。
wrongFileAlert.instruction.0=ファイルを暗号化するには、次の手段に従います:
wrongFileAlert.instruction.1=1. 金庫を解錠する。
wrongFileAlert.instruction.2=2. "表示(Reveal)" をクリックしてファイルマネージャーのボリュームを開く。
@@ -352,17 +364,27 @@ vaultOptions.masterkey.changePasswordBtn=パスワードの変更
vaultOptions.masterkey.forgetSavedPasswordBtn=保存したパスワードを削除する
vaultOptions.masterkey.recoveryKeyExplanation=回復キーはパスワードを忘れてしまった場合に、金庫へのアクセスを回復する唯一の手段です。
vaultOptions.masterkey.showRecoveryKeyBtn=回復キーを表示
-vaultOptions.masterkey.recoverPasswordBtn=パスワードの回復
+vaultOptions.masterkey.recoverPasswordBtn=パスワードをリセット
# Recovery Key
-recoveryKey.title=回復キー
-recoveryKey.enterPassword.prompt="%s" の回復キーを表示するためのパスワードを入力してください:
-recoveryKey.display.message="%s" へのアクセス権限を復元する回復キー:
+## Display Recovery Key
+recoveryKey.display.title=回復キーを表示
+recoveryKey.create.message=パスワードが必要です
+recoveryKey.create.description="%s" の回復キーを表示するためのパスワードを入力してください:
+recoveryKey.display.description="%s" へのアクセス権限を復元する回復キー:
recoveryKey.display.StorageHints=十分に安全な場所に保存してください。例えば:\n • パスワード管理ソフトに保存\n • USB フラッシュドライブに保存\n • 紙に印刷
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=パスワードをリセット
recoveryKey.recover.prompt="%s" の回復キーを入力してください:
recoveryKey.recover.validKey=有効な回復キー
recoveryKey.printout.heading=Cryptomator 回復キー\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=リセット
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=パスワードをリセットしました
+recoveryKey.recover.resetSuccess.description=新しいパスワードで金庫の施錠ができます。
# New Password
newPassword.promptText=新しいパスワードを入力してください
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=強い
passwordStrength.messageLabel.4=非常に強い
# Quit
-quit.prompt=アプリケーションを終了しますか? 施錠していない金庫が残っています。
-quit.lockAndQuit=施錠して終了
+quit.title=アプリケーションを終了する
+quit.message=施錠されていない金庫があります
+quit.description=終了しようとしていることにご注意ください。Cryptomator はデータの損失を防ぐために、静かにすべての金庫を施錠します。
+quit.lockAndQuitBtn=施錠して終了
+
+# Forced Quit
+quit.forced.message=一部の金庫を施錠できませんでした
+quit.forced.description=保留中の操作か、開かれたファイルによって、金庫の施錠が中断されました。残りの金庫を強制的に施錠することはできますが、I/O を中断すると保存されていないデータを失う可能性があります。
+quit.forced.forceAndQuitBtn=強制的に終了
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_ko.properties b/src/main/resources/i18n/strings_ko.properties
index 1fc246733..2a6cd33df 100644
--- a/src/main/resources/i18n/strings_ko.properties
+++ b/src/main/resources/i18n/strings_ko.properties
@@ -6,16 +6,18 @@ generic.button.apply=적용
generic.button.back=이전
generic.button.cancel=취소
generic.button.change=변경
+generic.button.choose=선택
generic.button.close=닫기
generic.button.copy=복사
generic.button.copied=복사됨!
generic.button.done=완료
generic.button.next=다음
generic.button.print=인쇄
-## Error
-generic.error.title=에러 %s
-generic.error.hyperlink.report=에러 보고하기
-generic.error.technicalDetails=세부정보:
+
+# Error
+error.message=에러 %s
+error.hyperlink.report=에러 보고하기
+error.technicalDetails=세부정보:
# Defaults
defaults.vault.vaultName=Vault
@@ -49,7 +51,6 @@ addvaultwizard.new.fileAlreadyExists=Vault 내에 이미 존재하는 파일 또
addvaultwizard.new.locationDoesNotExist=지정된 디렉터리가 존재하지 않거나 접근 할 수 없습니다.
addvaultwizard.new.locationIsNotWritable=지정된 경로에 쓰기 권한이 없습니다.
addvaultwizard.new.locationIsOk=Vault에 적당한 위치
-addvaultwizard.new.invalidName=유효하지 않은 Vault 이름입니다. 일반적인 디렉터리 이름으로 지정해주십시요.
### Password
addvaultwizard.new.createVaultBtn=Vault 생성
addvaultwizard.new.generateRecoveryKeyChoice=비밀번호가 없으면 데이터에 접근할 수 없습니다. 비밀번호를 잊으신 경우 복구 키를 원하십니까?
@@ -80,7 +81,7 @@ addvaultwizard.success.unlockNow=지금 잠금해제
# Remove Vault
removeVault.title=Vault 제거
-removeVault.information=이 행위는 단지 Cryptomator에서 이 Vault를 잊게합니다. 나중에 다시 추가 할 수 있습니다. 암호화된 파일은 하드디스크에서 삭제되지 않을 것입니다.
+removeVault.description=이 행위는 단지 Cryptomator에서 이 Vault를 잊게합니다. 나중에 다시 추가 할 수 있습니다. 암호화된 파일은 하드디스크에서 삭제되지 않을 것입니다.
removeVault.confirmBtn=Vault 제거
# Change Password
@@ -90,7 +91,7 @@ changepassword.finalConfirmation=비밀번호를 잊어버리면, 데이터에
# Forget Password
forgetPassword.title=비밀번호 분실
-forgetPassword.information=시스템 키체인에서 이 Vault의 저장된 비밀번호가 삭제될 것입니다.
+forgetPassword.description=시스템 키체인에서 이 Vault의 저장된 비밀번호가 삭제될 것입니다.
forgetPassword.confirmBtn=비밀번호 분실
# Unlock
@@ -99,26 +100,25 @@ unlock.passwordPrompt="%s"의 비밀번호를 입력하십시요.
unlock.savePassword=비밀번호 기억
unlock.unlockBtn=잠금해제
## Select
-unlock.chooseMasterkey.prompt=추정되는 위치에서 이 Vault의 마스터 키를 찾지 못했습니다. 마스터 키 위치를 수동으로 선택하여 주십시요.
-unlock.chooseMasterkey.chooseBtn=선택
+unlock.chooseMasterkey.description=추정되는 위치에서 이 Vault의 마스터 키를 찾지 못했습니다. 마스터 키 위치를 수동으로 선택하여 주십시요.
unlock.chooseMasterkey.filePickerTitle=마스터키 파일 선택
## Success
-unlock.success.message="%s"이(가) 성공적으로 잠금해제되었습니다. 이제 이 Vault를 가상드라이브로 접근할 수 있습니다.
+unlock.success.description="%s"이(가) 성공적으로 잠금해제되었습니다. 이제 이 Vault를 가상드라이브로 접근할 수 있습니다.
unlock.success.rememberChoice=선택 기억함, 다시 묻지 않음
unlock.success.revealBtn=드라이브 표시
## Failure
-unlock.error.heading=Vault 잠금을 해제 할 수 없습니다.
+unlock.error.message=Vault 잠금을 해제 할 수 없습니다.
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=구성지점이 존재하지 않거나 빈 디렉터리가 아닙니다: %s
unlock.error.invalidMountPoint.existing=구성지점/폴더가 이미 존재하거나 부모 폴더가 없습니다: %s
# Lock
## Force
-lock.forced.message=대기 중인 작동이나 파일이 열려있어 "%s"를 잠그는데 실패하였습니다. 이 Vault를 강제로 잠글 수 있으나, 입/출력의 중단은 저장되지 않은 데이터의 유실을 초래할 수 있습니다.
+lock.forced.description=대기 중인 작동이나 파일이 열려있어 "%s"를 잠그는데 실패하였습니다. 이 Vault를 강제로 잠글 수 있으나, 입/출력의 중단은 저장되지 않은 데이터의 유실을 초래할 수 있습니다.
lock.forced.retryBtn=재시도
## Failure
-lock.fail.heading=Vault 잠금에 실패하였습니다.
-lock.fail.message="%s" Vault를 잠글 수 없습니다. 저장되지 않은 작업이 다른 곳에 저장된 것과 중요한 읽기/쓰기 동작이 완료되었는지 확인 하십시요. Vault를 닫기 위해, Cryptomator 프로세스를 강제로 종료 하십시요.
+lock.fail.message=Vault 잠금에 실패하였습니다.
+lock.fail.description="%s" Vault를 잠글 수 없습니다. 저장되지 않은 작업이 다른 곳에 저장된 것과 중요한 읽기/쓰기 동작이 완료되었는지 확인 하십시요. Vault를 닫기 위해, Cryptomator 프로세스를 강제로 종료 하십시요.
# Migration
migration.title=Vault 업그레이드
@@ -241,7 +241,7 @@ main.closeBtn.tooltip=닫기
main.minimizeBtn.tooltip=최소화
main.preferencesBtn.tooltip=환경설정
main.debugModeEnabled.tooltip=디버그 모드가 활성화됨.
-main.donationKeyMissing.tooltip=기부를 부탁드립니다.
+main.supporterCertificateMissing.tooltip=기부를 부탁드립니다.
## Drag 'n' Drop
main.dropZone.dropVault=이 Vault를 추가
main.dropZone.unknownDragboardContent=Vault를 추가하려면, 이 창에 드래그 하십시요.
@@ -286,8 +286,8 @@ main.vaultDetail.migratePrompt=Vault에 접근하기 전, 새로운 포멧으로
# Wrong File Alert
wrongFileAlert.title=파일 암호화 방법
-wrongFileAlert.header.title=이 파일들을 암호화하려고 하십니까?
-wrongFileAlert.header.lead=이 목적을 위해, Cryptomator는 파일 관리자에 볼륨을 제공합니다.
+wrongFileAlert.message=이 파일들을 암호화하려고 하십니까?
+wrongFileAlert.description=이 목적을 위해, Cryptomator는 파일 관리자에 볼륨을 제공합니다.
wrongFileAlert.instruction.0=파일을 암호화 하려면, 다음의 3단계를 따르십시요:
wrongFileAlert.instruction.1=1. Vault의 잠금해제
wrongFileAlert.instruction.2=2. 파일 관리자에서 열람된 볼륨의 "표시" 버튼 클릭
@@ -324,17 +324,20 @@ vaultOptions.masterkey.changePasswordBtn=비밀번호 변경
vaultOptions.masterkey.forgetSavedPasswordBtn=저장된 비밀번호 삭제
vaultOptions.masterkey.recoveryKeyExplanation=복구 키는 비밀번호를 잊어버렸을 때, Vault의 접근을 복원 할 수 있는 유일한 방법입니다.
vaultOptions.masterkey.showRecoveryKeyBtn=복구 키 표시
-vaultOptions.masterkey.recoverPasswordBtn=비밀번호 복구
# Recovery Key
-recoveryKey.title=복구 키
-recoveryKey.enterPassword.prompt="%s"의 복구 키를 표시하려면 비밀번호를 입력해 주세요.
-recoveryKey.display.message="%s" 데이터 접근을 복원하는데 사용 할 수 있는 복구 키 입니다:
+## Display Recovery Key
+recoveryKey.create.description="%s"의 복구 키를 표시하려면 비밀번호를 입력해 주세요.
+recoveryKey.display.description="%s" 데이터 접근을 복원하는데 사용 할 수 있는 복구 키 입니다:
recoveryKey.display.StorageHints=매우 안전한곳에 보관하십시요. 예시:\n • 비밀번호 관리자를 사용하여 저장\n • USB 플래시 드라이브에 저장\n • 종이에 출력
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt="%s"의 복구키를 입력하십시요:
recoveryKey.recover.validKey=올바른 복구 키 입니다.
recoveryKey.printout.heading=Cryptomator 복구 키\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=새 비밀번호를 입력하세요
@@ -349,5 +352,6 @@ passwordStrength.messageLabel.3=강함
passwordStrength.messageLabel.4=매우 강함
# Quit
-quit.prompt=애플리케이션을 종료하시겠습니까? Vault가 잠금해제된 상태입니다.
-quit.lockAndQuit=Vault 잠금 후 종료하기
+quit.lockAndQuitBtn=Vault 잠금 후 종료하기
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_lv.properties b/src/main/resources/i18n/strings_lv.properties
index 561e50f88..0d69c4677 100644
--- a/src/main/resources/i18n/strings_lv.properties
+++ b/src/main/resources/i18n/strings_lv.properties
@@ -6,15 +6,23 @@ generic.button.apply=Pielietot
generic.button.back=Atpakaļ
generic.button.cancel=Atcelt
generic.button.change=Mainīt
+generic.button.choose=Izvēlies...
generic.button.close=Aizvērt
generic.button.copy=Kopēt
generic.button.copied=Nokopēts!
generic.button.done=Darīts
generic.button.next=Tālāk
generic.button.print=Drukāt
-## Error
+
+# Error
+error.message=Radās kļūda
+error.description=Cryptomator negaidīja, ka tas notiks. Varat meklēt esošos šīs kļūdas risinājumus. Vai arī, ja par to vēl nav ziņots, droši dariet to.
+error.hyperlink.lookup=Meklējiet šo kļūdu
+error.hyperlink.report=Ziņojiet par šo kļūdu
+error.technicalDetails=Detaļas:
# Defaults
+defaults.vault.vaultName=Glabātava
# Tray Menu
traymenu.showMainWindow=Rādīt
@@ -41,7 +49,12 @@ addvaultwizard.new.locationPrompt=…
addvaultwizard.new.directoryPickerLabel=Pielāgota atrašanās vieta
addvaultwizard.new.directoryPickerButton=Izvēlies...
addvaultwizard.new.directoryPickerTitle=Izvēlēties mapi
-addvaultwizard.new.invalidName=Nederīgs glabātuves nosaukums. Lūdzu izvēlieties vienkāršu mapes nosaukumu.
+addvaultwizard.new.invalidName=Nederīgs krātuves nosaukums
+addvaultwizard.new.validName=Derīgs krātuves nosaukums
+addvaultwizard.new.validCharacters.message=Krātuves nosaukums var saturēt šādas rakstzīmes:
+addvaultwizard.new.validCharacters.chars=Burtus (piemēram: a, ж vai 수)
+addvaultwizard.new.validCharacters.numbers=Skaitļus
+addvaultwizard.new.validCharacters.dashes=Defise (%s) vai pasvītra (%s)
### Password
addvaultwizard.new.createVaultBtn=Izveidot glabātuvi
addvaultwizard.new.generateRecoveryKeyChoice=Jūs nevarēsiet piekļūt saviem datiem bez paroles. Vai vēlaties atkopšanas atslēgu gadījumam, kad esat pazaudējis paroli?
@@ -72,7 +85,7 @@ addvaultwizard.success.unlockNow=Atslēgt tagad
# Remove Vault
removeVault.title=Noņemt glabātuvi
-removeVault.information=Šis tikai liks Cryptomator aizmirst šo glabātuvi. Jūs to variet pievienot vēlāk atkārtoti. Nekādi šifrētie dati no diska netiks dzēsti.
+removeVault.description=Šis tikai liks Cryptomator aizmirst šo glabātuvi. Jūs to variet pievienot vēlāk atkārtoti. Nekādi šifrētie dati no diska netiks dzēsti.
removeVault.confirmBtn=Noņemt glabātuvi
# Change Password
@@ -82,14 +95,13 @@ changepassword.finalConfirmation=Es saprotu, ka paroles aizmiršanas gadījumā,
# Forget Password
forgetPassword.title=Aizmirst paroli
-forgetPassword.information=Tas dzēsīs saglabāto glabātuves paroli no jūsu sistēmas atslēgu krātuves.
+forgetPassword.description=Tas dzēsīs saglabāto glabātuves paroli no jūsu sistēmas atslēgu krātuves.
forgetPassword.confirmBtn=Aizmirst paroli
# Unlock
unlock.passwordPrompt=Ievadiet "%s" paroli:
unlock.unlockBtn=Atslēgt
## Select
-unlock.chooseMasterkey.chooseBtn=Izvēlies...
unlock.chooseMasterkey.filePickerTitle=Atlasīt galveno atslēgas datni
## Success
unlock.success.revealBtn=Atklāt disku
@@ -162,7 +174,7 @@ preferences.about=Par lietotni
main.closeBtn.tooltip=Aizvērt
main.minimizeBtn.tooltip=Minimizēt
main.preferencesBtn.tooltip=Iestatījumi
-main.donationKeyMissing.tooltip=Lūdzu apsveriet iespēju ziedot
+main.supporterCertificateMissing.tooltip=Lūdzu apsveriet iespēju ziedot
## Drag 'n' Drop
main.dropZone.dropVault=Pievienot šo glabātuvi
main.dropZone.unknownDragboardContent=Ja jūs vēlaties pievienot glabātuvi, velciet to uz šo logu
@@ -197,8 +209,8 @@ main.vaultDetail.migratePrompt=Lai jūsu varētu piekļūt glabātuvei to ir nep
# Wrong File Alert
wrongFileAlert.title=Kā šifrēt datnes
-wrongFileAlert.header.title=Vai jūs mēģinājāt šifrēt šīs datnes?
-wrongFileAlert.header.lead=Šim nolūkam Cryptomator jūsu sistēmas datņu pārvaldniekā nodrošina sējumus.
+wrongFileAlert.message=Vai jūs mēģinājāt šifrēt šīs datnes?
+wrongFileAlert.description=Šim nolūkam Cryptomator jūsu sistēmas datņu pārvaldniekā nodrošina sējumus.
wrongFileAlert.instruction.0=Lai šifrētu datnes, sekojiet šiem soļiem:
wrongFileAlert.instruction.1=1. Atslēdziet jūsu glabātuvi.
wrongFileAlert.instruction.2=2. Spiediet uz "Atklāt", lai atvērtu sējumu jūsu datņu pārvaldniekā.
@@ -228,17 +240,21 @@ vaultOptions.masterkey=Parole
vaultOptions.masterkey.changePasswordBtn=Mainīt paroli
vaultOptions.masterkey.recoveryKeyExplanation=Atkopšanas atslēga ir jūsu vienīgais līdzeklis, lai atjaunotu piekļuvi glabātuvei, ja pazaudējat paroli.
vaultOptions.masterkey.showRecoveryKeyBtn=Rādīt atkopšanas atslēgu
-vaultOptions.masterkey.recoverPasswordBtn=Atjaunot paroli
# Recovery Key
-recoveryKey.title=Atjaunošanas atslēga
-recoveryKey.enterPassword.prompt=Lai parādītu "%s" atjaunošanas atslēgu, ievadiet paroli:
-recoveryKey.display.message=Šī atjaunošanas atslēga var tikt izmantota, lai atjaunotu "%s":
+## Display Recovery Key
+recoveryKey.create.description=Lai parādītu "%s" atjaunošanas atslēgu, ievadiet paroli:
+recoveryKey.display.description=Šī atjaunošanas atslēga var tikt izmantota, lai atjaunotu "%s":
recoveryKey.display.StorageHints=Glabājiet to drošā vietā, piemēram:\n • Uzglabājiet to, izmantojot paroļu pārvaldnieku\n • Saglabājiet to USB zibatmiņā\n • Izdrukājiet to uz papīra
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Ievadiet "%s" atjaunošanas atslēgu:
recoveryKey.recover.validKey=Šī ir derīga atjaunošanas atslēga
recoveryKey.printout.heading=Cryptomator atjaunošanas atslēga\n"%s" \n
+### Reset Password
+recoveryKey.recover.resetBtn=Atiestatīt
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Ievadiet jauno paroli
@@ -253,5 +269,6 @@ passwordStrength.messageLabel.3=Stipra
passwordStrength.messageLabel.4=Ļoti stipra
# Quit
-quit.prompt=Aizvērt lietotni? Ir atslēgtas glabātuves.
-quit.lockAndQuit=Aizslēgt un aizvērt
+quit.lockAndQuitBtn=Aizslēgt un aizvērt
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_mk.properties b/src/main/resources/i18n/strings_mk.properties
index c3f3f35e6..17395b3de 100644
--- a/src/main/resources/i18n/strings_mk.properties
+++ b/src/main/resources/i18n/strings_mk.properties
@@ -2,7 +2,8 @@
# Generics
## Button
-## Error
+
+# Error
# Defaults
@@ -83,7 +84,14 @@
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_nb.properties b/src/main/resources/i18n/strings_nb.properties
index 046c2db4f..038497ea7 100644
--- a/src/main/resources/i18n/strings_nb.properties
+++ b/src/main/resources/i18n/strings_nb.properties
@@ -6,18 +6,20 @@ generic.button.apply=Bruk
generic.button.back=Tilbake
generic.button.cancel=Avbryt
generic.button.change=Endre
+generic.button.choose=Velg…
generic.button.close=Lukk
generic.button.copy=Kopier
generic.button.copied=Kopiert!
generic.button.done=Ferdig
generic.button.next=Neste
generic.button.print=Skriv ut
-## Error
-generic.error.title=Feilkode %s
-generic.error.instruction=Oops! Cryptomator forventet ikke at dette skulle skje. Du kan slå opp mulige løsninger for denne feilen. Hvis feilen ikke er rapportert så kan du gjerne gjøre det.
-generic.error.hyperlink.lookup=Slå opp denne feilen
-generic.error.hyperlink.report=Rapporter denne feilen
-generic.error.technicalDetails=Detaljer:
+
+# Error
+error.message=Feilkode %s
+error.description=Oops! Cryptomator forventet ikke at dette skulle skje. Du kan slå opp mulige løsninger for denne feilen. Hvis feilen ikke er rapportert så kan du gjerne gjøre det.
+error.hyperlink.lookup=Slå opp denne feilen
+error.hyperlink.report=Rapporter denne feilen
+error.technicalDetails=Detaljer:
# Defaults
defaults.vault.vaultName=Hvelv
@@ -51,7 +53,6 @@ addvaultwizard.new.fileAlreadyExists=En fil eller mappe med det hvelvnavnet finn
addvaultwizard.new.locationDoesNotExist=En mappe i den angitte stien finnes ikke eller kan ikke nås
addvaultwizard.new.locationIsNotWritable=Ingen skrivetilgang på den angitte stien
addvaultwizard.new.locationIsOk=Egnet sted for hvelvet ditt
-addvaultwizard.new.invalidName=Ugyldig navn på hvelvet. Vennligst vurder et vanlig mappenavn.
### Password
addvaultwizard.new.createVaultBtn=Opprett hvelv
addvaultwizard.new.generateRecoveryKeyChoice=Du vil ikke kunne få tilgang til dataene dine uten passordet. Vil du ha en gjenopprettingsnøkkel i tilefelle du mister passordet ditt?
@@ -84,7 +85,7 @@ addvaultwizard.success.unlockNow=Lås opp nå
# Remove Vault
removeVault.title=Fjern hvelvet
-removeVault.information=Dette vil kun få Cryptomator til å glemme dette hvelvet. Du kan legge til hvelvet senere igjen. Ingen krypterte filer blir slettet fra harddisken.
+removeVault.description=Dette vil kun få Cryptomator til å glemme dette hvelvet. Du kan legge til hvelvet senere igjen. Ingen krypterte filer blir slettet fra harddisken.
removeVault.confirmBtn=Fjern hvelvet
# Change Password
@@ -94,7 +95,7 @@ changepassword.finalConfirmation=Jeg forstår at jeg ikke vil kunne få tilgang
# Forget Password
forgetPassword.title=Glem passord
-forgetPassword.information=Dette vil slette det lagrede passordet til dette hvelvet fra systemnøkkelringen min.
+forgetPassword.description=Dette vil slette det lagrede passordet til dette hvelvet fra systemnøkkelringen min.
forgetPassword.confirmBtn=Glem passord
# Unlock
@@ -103,26 +104,28 @@ unlock.passwordPrompt=Skriv inn passordet for "%s":
unlock.savePassword=Husk passord
unlock.unlockBtn=Lås opp
## Select
-unlock.chooseMasterkey.chooseBtn=Velg…
+unlock.chooseMasterkey.description=Kunne ikke finne hovednøkkelfilen for dette hvelvet på forventet sted. Venligst velg nøkkelfilen manuelt.
unlock.chooseMasterkey.filePickerTitle=Velg hovednøkkelfil
## Success
+unlock.success.description=Vellykket opplåsing av "%s"! Hvelvet ditt er nå tilgjengelig via sin virtuelle stasjon.
unlock.success.rememberChoice=Husk valget - ikke vis dette igjen
unlock.success.revealBtn=Gjør enheten synlig
## Failure
-unlock.error.heading=Klarer ikke å låse opp hvelvet
+unlock.error.message=Klarer ikke å låse opp hvelvet
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Monteringspunktet "%s" er enten ikke en mappe, ikke tom eller eksisterer ikke.
unlock.error.invalidMountPoint.existing=Monteringspunktet "%s" finnes enten allerede eller at overordnet mappe mangler.
+unlock.error.invalidMountPoint.driveLetterOccupied=Stasjonsbokstav "%s" er allerede i bruk.
# Lock
## Force
-lock.forced.heading=Låsing mislyktes
-lock.forced.message=Låsing "%s" ble blokkert av ventende operasjoner eller åpne filer. Du kan tvinge låsing av dette hvelvet, men avbrytelse av I/O kan føre til tap av ulagrede data.
+lock.forced.message=Låsing mislyktes
+lock.forced.description=Låsing "%s" ble blokkert av ventende operasjoner eller åpne filer. Du kan tvinge låsing av dette hvelvet, men avbrytelse av I/O kan føre til tap av ulagrede data.
lock.forced.retryBtn=Prøv igjen
lock.forced.forceBtn=Tving låsing
## Failure
-lock.fail.heading=Låsing av hvelvet mislyktes.
-lock.fail.message=Hvelvet "%s" kunne ikke låses. Forsikre deg om at ulagrede arbeider lagres andre steder, og at viktige lese/skrive-operasjoner er fullført. For å lukke hvelvet må du avbryte Cryptomatorprosessen.
+lock.fail.message=Låsing av hvelvet mislyktes.
+lock.fail.description=Hvelvet "%s" kunne ikke låses. Forsikre deg om at ulagrede arbeider lagres andre steder, og at viktige lese/skrive-operasjoner er fullført. For å lukke hvelvet må du avbryte Cryptomatorprosessen.
# Migration
migration.title=Oppgrader hvelv
@@ -150,11 +153,32 @@ migration.impossible.moreInfo=Hvelvet kan fortsatt åpnes hvis du bruker en eldr
# Health Check
## Start
+health.title=Helsesjekk av "%s"
+health.intro.header=Helsesjekk
+health.intro.text=Helsesjekk er en samling av kontroller for å detektere og muligens fikse problemer i den interne strukturen av hvelvet ditt. Vennligst husk:
+health.intro.remarkSync=Sørg for at alle enheter er helt synkronisert, dette løser de fleste problemer.
health.intro.remarkFix=Ikke alle problemer kan løses.
+health.intro.remarkBackup=Hvis data er korrupt, kan bare en sikkerhetskopi hjelpe.
+health.intro.affirmation=Jeg har lest og forstått informasjonen ovenfor
## Start Failure
+health.fail.header=Feil ved lasting av konfigurasjon til hvelvet
+health.fail.ioError=En feil oppstod ved tilgang og lesing av konfigurasjonsfilen.
+health.fail.parseError=En feil oppstod ved analysering av konfigurasjonen til hvelvet.
health.fail.moreInfo=Mer informasjon
## Check Selection
+health.checkList.description=Velg sjekker i listen til venstre eller bruk knappene nedenfor.
+health.checkList.selectAllButton=Velg Alle Sjekkene
+health.checkList.deselectAllButton=Fjern valget av alle sjekkene
+health.check.runBatchBtn=Kjør de valgte sjekkene
## Detail view
+health.check.detail.noSelectedCheck=For å se resultater, velg en fullført helsesjekk i listen til venstre.
+health.check.detail.checkScheduled=Helsesjekken er planlagt.
+health.check.detail.checkRunning=Helsesjekken kjører for øyeblikket…
+health.check.detail.checkSkipped=Helsesjekken ble ikke valgt for å kjøre.
+health.check.detail.checkFinished=Helsesjekken ble fullført vellyket.
+health.check.detail.checkFinishedAndFound=Helsesjekken er ferdig å kjøre. Vennligst se resultatene.
+health.check.detail.checkFailed=Helsesjekken avsluttet på grunn av en feil.
+health.check.detail.checkCancelled=Helsesjekken ble avbrutt.
health.check.exportBtn=Eksporter rapport
## Fix Application
health.fix.fixBtn=Reparer
@@ -171,8 +195,19 @@ preferences.general.debugDirectory=Vis loggfiler
preferences.general.autoStart=Start Cryptomator ved systemstart
preferences.general.keychainBackend=Lagre passord med
## Interface
+preferences.interface=Grensesnitt
+preferences.interface.theme=Utseende og preg
+preferences.interface.theme.automatic=Automatisk
preferences.interface.theme.dark=Mørk
preferences.interface.theme.light=Lys
+preferences.interface.unlockThemes=Lås opp mørk modus
+preferences.interface.language=Språk (krever omstart)
+preferences.interface.language.auto=Systemstandard
+preferences.interface.interfaceOrientation=Grensesnittorientering
+preferences.interface.interfaceOrientation.ltr=Fra venstre til høyre
+preferences.interface.interfaceOrientation.rtl=Fra høyre til venstre
+preferences.interface.showMinimizeButton=Vis minimer knapp
+preferences.interface.showTrayIcon=Vis verktøykasseikon (krever omstart)
## Volume
preferences.volume=Virtuell enhet
preferences.volume.type=Volumtype
@@ -186,6 +221,10 @@ preferences.updates.checkNowBtn=Sjekk nå
preferences.updates.updateAvailable=Oppdatering til versjon %s er tilgjengelig.
## Contribution
preferences.contribute=Støtt oss
+preferences.contribute.registeredFor=Supporter sertifikat registrert for %s
+preferences.contribute.noCertificate=Støtt Cryptomator og motta et supporter sertifikat. Det er som en lisensnøkkel, men for fantastiske mennesker som bruker fri programvare. ;-)
+preferences.contribute.getCertificate=Har du ikke en allerede? Lær hvordan du kan skaffe den.
+preferences.contribute.promptText=Lim inn supporter sertifikatkoden her
#<-- Add entries for donations and code/translation/documentation contribution -->
## About
@@ -226,7 +265,7 @@ main.closeBtn.tooltip=Lukk
main.minimizeBtn.tooltip=Minimer
main.preferencesBtn.tooltip=Innstillinger
main.debugModeEnabled.tooltip=Feilsøkingsmodus er aktivert
-main.donationKeyMissing.tooltip=Gjerne vurdér en donasjon
+main.supporterCertificateMissing.tooltip=Gjerne vurdér en donasjon
## Drag 'n' Drop
main.dropZone.dropVault=Legg til dette hvelvet
main.dropZone.unknownDragboardContent=Hvis du vil legge til et hvelv, kan du dra det til dette vinduet
@@ -236,6 +275,7 @@ main.vaultlist.contextMenu.remove=Fjern…
main.vaultlist.contextMenu.lock=Lås
main.vaultlist.contextMenu.unlock=Lås opp…
main.vaultlist.contextMenu.unlockNow=Lås opp nå
+main.vaultlist.contextMenu.vaultoptions=Alternativer for hvelvet
main.vaultlist.contextMenu.reveal=Gjør enheten synlig
main.vaultlist.addVaultBtn=Legg til hvelv
## Vault Detail
@@ -267,11 +307,14 @@ main.vaultDetail.missing.changeLocation=Endre hvelvplassering…
main.vaultDetail.migrateButton=Oppgrader hvelv
main.vaultDetail.migratePrompt=Hvelvet ditt må oppgraderes til et nytt format før du kan få tilgang til det
### Error
+main.vaultDetail.error.info=Det oppstod en feil under lasting av hvelvet fra stasjonen.
+main.vaultDetail.error.reload=Last på nytt
+main.vaultDetail.error.windowTitle=Feil ved lasting av hvelvet
# Wrong File Alert
wrongFileAlert.title=Slik krypterer du filer
-wrongFileAlert.header.title=Forsøkte du å kryptere disse filene?
-wrongFileAlert.header.lead=For dette formålet gir Cryptomator et volum i systemfilbehandleren.
+wrongFileAlert.message=Forsøkte du å kryptere disse filene?
+wrongFileAlert.description=For dette formålet gir Cryptomator et volum i systemfilbehandleren.
wrongFileAlert.instruction.0=Følg disse trinnene for å kryptere filer:
wrongFileAlert.instruction.1=1. Lås opp hvelvet ditt.
wrongFileAlert.instruction.2=2. Klikk på "Gjør synlig" for å åpne volumet i filbehandleren din.
@@ -282,12 +325,14 @@ wrongFileAlert.link=For ytterligere hjelp, besøk
## General
vaultOptions.general=Generelt
vaultOptions.general.vaultName=Navn på hvelvet
+vaultOptions.general.autoLock.lockAfterTimePart1=Lås når inaktiv i
vaultOptions.general.autoLock.lockAfterTimePart2=minutter
vaultOptions.general.unlockAfterStartup=Lås opp hvelvet når du starter Cryptomator
vaultOptions.general.actionAfterUnlock=Etter vellykket opplåsing
vaultOptions.general.actionAfterUnlock.ignore=Ikke gjør noe
vaultOptions.general.actionAfterUnlock.reveal=Gjør enheten synlig
vaultOptions.general.actionAfterUnlock.ask=Spør
+vaultOptions.general.startHealthCheckBtn=Start helsesjekk
## Mount
vaultOptions.mount=Montering
@@ -306,17 +351,20 @@ vaultOptions.masterkey.changePasswordBtn=Endre passord
vaultOptions.masterkey.forgetSavedPasswordBtn=Glem passord
vaultOptions.masterkey.recoveryKeyExplanation=En gjenopprettingsnøkkel er den eneste måten å gjenopprette tilgangen til et hvelv på hvis du mister passordet.
vaultOptions.masterkey.showRecoveryKeyBtn=Vis gjenopprettingsnøkkelen
-vaultOptions.masterkey.recoverPasswordBtn=Gjenopprett passord
# Recovery Key
-recoveryKey.title=Gjenopprettingsnøkkel
-recoveryKey.enterPassword.prompt=Skriv inn passordet ditt for å vise gjenopprettingsnøkkelen for "%s":
-recoveryKey.display.message=Følgende gjenopprettingsnøkkel kan brukes til å gjenopprette tilgang til "%s":
+## Display Recovery Key
+recoveryKey.create.description=Skriv inn passordet ditt for å vise gjenopprettingsnøkkelen for "%s":
+recoveryKey.display.description=Følgende gjenopprettingsnøkkel kan brukes til å gjenopprette tilgang til "%s":
recoveryKey.display.StorageHints=Oppbevar den et veldig sikkert sted, f.eks. ved å:\n • Lagre den ved hjelp av et passordhvelv\n • Lagre den på en USB-minnepenn\n • Skrive den ut på papir
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Skriv inn gjenopprettingsnøkkelen for "%s":
recoveryKey.recover.validKey=Dette er en gyldig gjenopprettingsnøkkel
recoveryKey.printout.heading=Cryptomator-gjenopprettingsnøkkel\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Skriv inn et nytt passord
@@ -331,5 +379,6 @@ passwordStrength.messageLabel.3=Sterkt
passwordStrength.messageLabel.4=Veldig sterkt
# Quit
-quit.prompt=Ønsker du å avslutte programmet? Det finnes ulåste hvelv.
-quit.lockAndQuit=Lås og avslutt
+quit.lockAndQuitBtn=Lås og avslutt
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_nl.properties b/src/main/resources/i18n/strings_nl.properties
index 37f6a1a62..0f868a12c 100644
--- a/src/main/resources/i18n/strings_nl.properties
+++ b/src/main/resources/i18n/strings_nl.properties
@@ -6,18 +6,20 @@ generic.button.apply=Toepassen
generic.button.back=Terug
generic.button.cancel=Annuleren
generic.button.change=Wijzig
+generic.button.choose=Kies…
generic.button.close=Sluiten
generic.button.copy=Kopieer
generic.button.copied=Gekopieerd!
generic.button.done=Klaar
generic.button.next=Volgende
generic.button.print=Afdrukken
-## Error
-generic.error.title=Fout %s
-generic.error.instruction=Oeps! Cryptomator verwachtte niet dat dit zou gebeuren. U kunt bestaande oplossingen opzoeken voor deze fout, of indien er nog geen melding van deze fout is gemaakt mag u dit ook gerust doen.
-generic.error.hyperlink.lookup=Deze fout opzoeken
-generic.error.hyperlink.report=Deze fout melden
-generic.error.technicalDetails=Details:
+
+# Error
+error.message=Fout %s
+error.description=Oeps! Cryptomator verwachtte niet dat dit zou gebeuren. U kunt bestaande oplossingen opzoeken voor deze fout, of indien er nog geen melding van deze fout is gemaakt mag u dit ook gerust doen.
+error.hyperlink.lookup=Deze fout opzoeken
+error.hyperlink.report=Deze fout melden
+error.technicalDetails=Details:
# Defaults
defaults.vault.vaultName=Kluis
@@ -51,7 +53,11 @@ addvaultwizard.new.fileAlreadyExists=Er bestaat al een bestand of map met dezelf
addvaultwizard.new.locationDoesNotExist=Een map in het opgegeven pad bestaat niet of kan niet worden geopend
addvaultwizard.new.locationIsNotWritable=Geen schrijftoegang op het opgegeven pad
addvaultwizard.new.locationIsOk=Geschikte locatie voor je kluis
-addvaultwizard.new.invalidName=Ongeldige kluisnaam. Overweeg een standaard mapnaam.
+addvaultwizard.new.invalidName=Ongeldige kluisnaam
+addvaultwizard.new.validName=Geldige kluisnaam
+addvaultwizard.new.validCharacters.message=De kluisnaam mag de volgende karakters bevatten:
+addvaultwizard.new.validCharacters.numbers=Nummers
+addvaultwizard.new.validCharacters.dashes=Koppelteken (%s) of lage streep (%s)
### Password
addvaultwizard.new.createVaultBtn=Kluis aanmaken
addvaultwizard.new.generateRecoveryKeyChoice=Zonder wachtwoord hebt u geen toegang tot uw data. Wilt u een herstelsleutel voor het geval u uw wachtwoord verliest?
@@ -78,13 +84,15 @@ addvault.new.readme.accessLocation.4=Voel je vrij om dit bestand te verwijderen.
addvaultwizard.existing.instruction=Kies het "vault.cryptomator"-bestand van uw bestaande kluis. Indien er enkel een bestand genaamd "masterkey.cryptomator" anwezig is, kies deze dan in de plaats.
addvaultwizard.existing.chooseBtn=Kies…
addvaultwizard.existing.filePickerTitle=Kies kluisbestand
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator kluis
## Success
addvaultwizard.success.nextStepsInstructions=Toegevoegde kluis "%s".\nOntgrendel deze kluis om toegang te krijgen tot of om inhoud toe te voegen. Optioneel kunt u deze op elk later tijdstip ontgrendelen.
addvaultwizard.success.unlockNow=Nu Ontgrendelen
# Remove Vault
removeVault.title=Verwijder Kluis
-removeVault.information=Dit laat Cryptomator enkel deze kluis vergeten. U kunt deze later opnieuw toevoegen. Er worden geen versleutelde bestanden van uw harde schijf verwijderd.
+removeVault.message=Kluis verwijderen?
+removeVault.description=Dit laat Cryptomator enkel deze kluis vergeten. U kunt deze later opnieuw toevoegen. Er worden geen versleutelde bestanden van uw harde schijf verwijderd.
removeVault.confirmBtn=Verwijder Kluis
# Change Password
@@ -94,7 +102,8 @@ changepassword.finalConfirmation=Ik begrijp dat ik mijn bestanden niet kan herst
# Forget Password
forgetPassword.title=Wachtwoord vergeten
-forgetPassword.information=Dit zal het opgeslagen wachtwoord van deze kluis uit uw systeem wissen.
+forgetPassword.message=Opgeslagen wachtwoord vergeten?
+forgetPassword.description=Dit zal het opgeslagen wachtwoord van deze kluis uit uw systeem wissen.
forgetPassword.confirmBtn=Wachtwoord vergeten
# Unlock
@@ -103,16 +112,15 @@ unlock.passwordPrompt=Voer wachtwoord voor "%s" in:
unlock.savePassword=Wachtwoord Onthouden
unlock.unlockBtn=Ontgrendel
## Select
-unlock.chooseMasterkey.title=Selecteer Masterkey van "%s"
-unlock.chooseMasterkey.prompt=Kon het sleutelbestand voor deze kluis niet vinden op de gewenste locatie. Kies het sleutelbestand handmatig.
-unlock.chooseMasterkey.chooseBtn=Kies…
+unlock.chooseMasterkey.description=Kon het sleutelbestand voor deze kluis niet vinden op de gewenste locatie. Kies het sleutelbestand handmatig.
unlock.chooseMasterkey.filePickerTitle=Selecteer het Masterkey-bestand
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator Masterkey
## Success
-unlock.success.message="%s" is met succes ontgrendeld! Uw kluis is nu toegankelijk via zijn virtuele schijf.
+unlock.success.description="%s" is met succes ontgrendeld! Uw kluis is nu toegankelijk via zijn virtuele schijf.
unlock.success.rememberChoice=Keuze onthouden en dit niet opnieuw tonen
unlock.success.revealBtn=Toon Schijf
## Failure
-unlock.error.heading=Kan kluis niet ontgrendelen
+unlock.error.message=Kan kluis niet ontgrendelen
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Koppelpunt "%s" is geen map, is niet leeg of bestaat niet.
unlock.error.invalidMountPoint.existing=Koppelpunt "%s" bestaat reeds of de bovenliggende map ontbreekt.
@@ -120,13 +128,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Schijf "%s" is al in gebruik.
# Lock
## Force
-lock.forced.heading=Vergrendelen mislukt
-lock.forced.message=Het vergrendelen van "%s" werd voorkomen door lopende processen of geopende bestanden. U kunt de vergrendeling op deze kluis forceren, maar dit kan leiden tot het verlies van niet-opgeslagen gegevens.
+lock.forced.message=Vergrendelen mislukt
+lock.forced.description=Het vergrendelen van "%s" werd voorkomen door lopende processen of geopende bestanden. U kunt de vergrendeling op deze kluis forceren, maar dit kan leiden tot het verlies van niet-opgeslagen gegevens.
lock.forced.retryBtn=Opnieuw proberen
lock.forced.forceBtn=Forceer vergrendeling
## Failure
-lock.fail.heading=Kluis kan niet vergrendeld worden.
-lock.fail.message=Kluis "%s" kan niet vergrendeld worden. Zorg ervoor dat u uw niet-opgeslagen werk ergens anders opslaat en belangrijke lees-/schrijfbewerkingen hebt voltooid. Om de kluis te sluiten, beëindigt u het Cryptomator-proces.
+lock.fail.message=Kluis kan niet vergrendeld worden.
+lock.fail.description=Kluis "%s" kan niet vergrendeld worden. Zorg ervoor dat u uw niet-opgeslagen werk ergens anders opslaat en belangrijke lees-/schrijfbewerkingen hebt voltooid. Om de kluis te sluiten, beëindigt u het Cryptomator-proces.
# Migration
migration.title=Kluis upgraden
@@ -191,6 +199,7 @@ preferences.title=Voorkeuren
## General
preferences.general=Algemeen
preferences.general.startHidden=Verberg venster bij het opstarten van Cryptomator
+preferences.general.autoCloseVaults=Open kluizen automatisch vergrendelen bij het afsluiten van de applicatie
preferences.general.debugLogging=Debug logging aanzetten
preferences.general.debugDirectory=Logboekbestanden bekijken
preferences.general.autoStart=Start Cryptomator als het systeem opstart
@@ -266,7 +275,7 @@ main.closeBtn.tooltip=Sluiten
main.minimizeBtn.tooltip=Minimaliseer
main.preferencesBtn.tooltip=Voorkeuren
main.debugModeEnabled.tooltip=Foutopsporingsmodus is ingeschakeld
-main.donationKeyMissing.tooltip=Overweeg alstublieft om een donatie te doen
+main.supporterCertificateMissing.tooltip=Overweeg alstublieft om te doneren
## Drag 'n' Drop
main.dropZone.dropVault=Voeg deze kluis toe
main.dropZone.unknownDragboardContent=Als u een kluis wilt toevoegen, sleep deze dan naar dit venster
@@ -314,8 +323,8 @@ main.vaultDetail.error.windowTitle=Fout bij laden van kluis
# Wrong File Alert
wrongFileAlert.title=Hoe bestanden te versleutelen
-wrongFileAlert.header.title=Heeft u geprobeerd deze bestanden te versleutelen?
-wrongFileAlert.header.lead=Hiervoor biedt Cryptomator een volume in uw systeembestandsbeheer.
+wrongFileAlert.message=Heeft u geprobeerd deze bestanden te versleutelen?
+wrongFileAlert.description=Hiervoor biedt Cryptomator een volume in uw systeembestandsbeheer.
wrongFileAlert.instruction.0=Volg de volgende stappen om bestanden te versleutelen:
wrongFileAlert.instruction.1=1. Ontgrendel je kluis.
wrongFileAlert.instruction.2=2. Klik op "Toon" om het volume in uw bestandsbeheerder te openen.
@@ -352,17 +361,20 @@ vaultOptions.masterkey.changePasswordBtn=Wijzig wachtwoord
vaultOptions.masterkey.forgetSavedPasswordBtn=Opgeslagen wachtwoord vergeten
vaultOptions.masterkey.recoveryKeyExplanation=Een herstelsleutel is je enige manier om de toegang tot een kluis te herstellen als je je wachtwoord kwijtraakt.
vaultOptions.masterkey.showRecoveryKeyBtn=Toon herstelsleutel
-vaultOptions.masterkey.recoverPasswordBtn=Wachtwoord herstellen
# Recovery Key
-recoveryKey.title=Herstelsleutel
-recoveryKey.enterPassword.prompt=Voer uw wachtwoord in om de herstelsleutel voor "%s" te tonen:
-recoveryKey.display.message=De volgende herstelsleutel kan worden gebruikt om "%s" te herstellen:
+## Display Recovery Key
+recoveryKey.create.description=Voer uw wachtwoord in om de herstelsleutel voor "%s" te tonen:
+recoveryKey.display.description=De volgende herstelsleutel kan worden gebruikt om "%s" te herstellen:
recoveryKey.display.StorageHints=Bewaar het op een veilige plek, bv:\n • Bewaar het in een wachtwoordmanager\n • Sla het op op een USB-stick\n • Print het op papier
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Voer uw herstelsleutel in voor "%s":
recoveryKey.recover.validKey=Dit is een geldige herstelsleutel
recoveryKey.printout.heading=Cryptomator herstelsleutel\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Voer een nieuw wachtwoord in
@@ -377,5 +389,7 @@ passwordStrength.messageLabel.3=Sterk
passwordStrength.messageLabel.4=Zeer sterk
# Quit
-quit.prompt=Applicatie afsluiten? Er zijn kluizen ontgrendeld.
-quit.lockAndQuit=Vergrendelen en Afsluiten
+quit.title=Applicatie afsluiten
+quit.lockAndQuitBtn=Vergrendelen en Afsluiten
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_nn.properties b/src/main/resources/i18n/strings_nn.properties
index 374c3a9c4..bfbec2d2a 100644
--- a/src/main/resources/i18n/strings_nn.properties
+++ b/src/main/resources/i18n/strings_nn.properties
@@ -6,13 +6,15 @@ generic.button.apply=Bruk
generic.button.back=Tilbake
generic.button.cancel=Avbryt
generic.button.change=Endre
+generic.button.choose=Vel…
generic.button.close=Lukk
generic.button.copy=Kopiera
generic.button.copied=Kopiert!
generic.button.done=Ferdig
generic.button.next=Neste
generic.button.print=Skriv ut
-## Error
+
+# Error
# Defaults
@@ -41,7 +43,6 @@ addvaultwizard.new.locationPrompt=…
addvaultwizard.new.directoryPickerLabel=Tilpassa lagringsstad
addvaultwizard.new.directoryPickerButton=Vel…
addvaultwizard.new.directoryPickerTitle=Vel mappe
-addvaultwizard.new.invalidName=Ugyldig namn på kvelven. Ver vennleg og vurder eit vanleg mappenamn.
### Password
addvaultwizard.new.createVaultBtn=Opprett kvelven
addvaultwizard.new.generateRecoveryKeyChoice=Du vil ikkje kunna få tilgang til dataa dine utan passordet. Vil du ha ein gjenopprettingsnøkkel i tilfelle du mistar passordet ditt?
@@ -72,7 +73,7 @@ addvaultwizard.success.unlockNow=Lås opp no
# Remove Vault
removeVault.title=Fjern kvelv
-removeVault.information=Dette vil berre få Cryptomator til å gløyma denne kvelven. Du kan legga til kvelven seinare igjen. Ingen krypterte filer blir sletta frå harddisken.
+removeVault.description=Dette vil berre få Cryptomator til å gløyma denne kvelven. Du kan legga til kvelven seinare igjen. Ingen krypterte filer blir sletta frå harddisken.
removeVault.confirmBtn=Fjern kvelv
# Change Password
@@ -82,14 +83,13 @@ changepassword.finalConfirmation=Eg forstår at eg ikkje kan få tilgang til dat
# Forget Password
forgetPassword.title=Gløym passord
-forgetPassword.information=Dette vil sletta det lagra passordet til denne kvelven frå systemnøkkelringen min.
+forgetPassword.description=Dette vil sletta det lagra passordet til denne kvelven frå systemnøkkelringen min.
forgetPassword.confirmBtn=Gløym passord
# Unlock
unlock.passwordPrompt=Skriv inn passordet for "%s":
unlock.unlockBtn=Låse opp
## Select
-unlock.chooseMasterkey.chooseBtn=Vel…
unlock.chooseMasterkey.filePickerTitle=Vel hovudnøkkelfil
## Success
unlock.success.rememberChoice=Hugs valet - ikkje vis dette igjen
@@ -168,7 +168,7 @@ preferences.about=Om
main.closeBtn.tooltip=Lukk
main.minimizeBtn.tooltip=Minimer
main.preferencesBtn.tooltip=Innstillingar
-main.donationKeyMissing.tooltip=Ver vennleg og vurder å donera
+main.supporterCertificateMissing.tooltip=Ver vennleg og vurder å donera
## Drag 'n' Drop
main.dropZone.dropVault=Legg til denne kvelven
main.dropZone.unknownDragboardContent=Viss du vil legga til ein kvelv, kan du dra det til dette vindauget
@@ -207,8 +207,8 @@ main.vaultDetail.migratePrompt=Kvelven din må oppgraderast til eit nytt format
# Wrong File Alert
wrongFileAlert.title=Slik krypterer du filer
-wrongFileAlert.header.title=Prøvde du å kryptera desse filene?
-wrongFileAlert.header.lead=For dette formålet gir Cryptomator eit volum i systemfilbehandlaren.
+wrongFileAlert.message=Prøvde du å kryptera desse filene?
+wrongFileAlert.description=For dette formålet gir Cryptomator eit volum i systemfilbehandlaren.
wrongFileAlert.instruction.0=Følg desse trinna for å kryptera filer:
wrongFileAlert.instruction.1=1. Lås opp kvelven din.
wrongFileAlert.instruction.2=2. Klikk på "Gjør synleg" for å opna volumet i filbehandlaren din.
@@ -242,17 +242,20 @@ vaultOptions.masterkey.changePasswordBtn=Byt passord
vaultOptions.masterkey.forgetSavedPasswordBtn=Gløym passord
vaultOptions.masterkey.recoveryKeyExplanation=Ein "retta opp igjen"-nøkkel er den einaste måten å retta opp igjen tilgangen til ein kvelv på viss du mistar passordet.
vaultOptions.masterkey.showRecoveryKeyBtn=Vis 'Retta opp igjen'-nøkkelen
-vaultOptions.masterkey.recoverPasswordBtn=Rett opp igjen passord
# Recovery Key
-recoveryKey.title='Retta opp igjen'-nøkkel
-recoveryKey.enterPassword.prompt=Skriv inn passordet ditt for å visa 'Retta opp igjen'-nøkkelen for "%s":
-recoveryKey.display.message=Følgjande gjenopprettingsnøkkel kan brukast til å retta opp igjen tilgang til "%s":
+## Display Recovery Key
+recoveryKey.create.description=Skriv inn passordet ditt for å visa 'Retta opp igjen'-nøkkelen for "%s":
+recoveryKey.display.description=Følgjande gjenopprettingsnøkkel kan brukast til å retta opp igjen tilgang til "%s":
recoveryKey.display.StorageHints=Ta vare på han ein veldig sikker stad, t.d. ved å:\n • Lagre han ved hjelp av ein passordkvelv\n • Lagre han på ein USB-minnepenn\n • Skrive han ut på papir
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Skriv inn gjenopprettingsnøkkelen for "%s":
recoveryKey.recover.validKey=Dette er ein gyldig gjenopprettingsnøkkel
recoveryKey.printout.heading=Cryptomator-gjenopprettingsnøkkel\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Skriv inn eit nytt passord
@@ -267,5 +270,6 @@ passwordStrength.messageLabel.3=Sterkt
passwordStrength.messageLabel.4=Veldig sterkt
# Quit
-quit.prompt=Ønsker du å avslutta programmet? Det finst ulåste kvelv.
-quit.lockAndQuit=Lås og avslutt
+quit.lockAndQuitBtn=Lås og avslutt
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_pa.properties b/src/main/resources/i18n/strings_pa.properties
index acf145580..28d215446 100644
--- a/src/main/resources/i18n/strings_pa.properties
+++ b/src/main/resources/i18n/strings_pa.properties
@@ -6,13 +6,15 @@ generic.button.apply=ਲਾਗੂ ਕਰੋ
generic.button.back=ਪਿੱਛੇ
generic.button.cancel=ਰੱਦ ਕਰੋ
generic.button.change=ਬਦਲੋ
+generic.button.choose=…ਚੁਣੋ
generic.button.close=ਬੰਦ ਕਰੋ
generic.button.copy=ਕਾਪੀ ਕਰੋ
generic.button.copied=ਕਾਪੀ ਕੀਤਾ!
generic.button.done=ਮੁਕੰਮਲ
generic.button.next=ਅੱਗੇ
generic.button.print=ਪਰਿੰਟ ਕਰੋ
-## Error
+
+# Error
# Defaults
defaults.vault.vaultName=ਵਾਲਟ
@@ -42,7 +44,6 @@ addvaultwizard.new.locationPrompt=…
addvaultwizard.new.directoryPickerLabel=ਪਸੰਦੀਦਾ ਟਿਕਾਣਾ
addvaultwizard.new.directoryPickerButton=…ਚੁਣੋ
addvaultwizard.new.directoryPickerTitle=ਡਾਇਰੈਕਟਰੀ ਚੁਣੋ
-addvaultwizard.new.invalidName=ਵਾਲਟ ਦਾ ਨਾਂ ਗਲਤ ਹੈ। ਨਿਯਮਤ ਡਾਇਰੈਕਟਰੀ ਨਾਂ ਦੇਣ ਬਾਰੇ ਵਿਚਾਰੋ।
### Password
addvaultwizard.new.createVaultBtn=ਵਾਲਟ ਬਣਾਓ
addvaultwizard.new.generateRecoveryKeyChoice=ਤੁਸੀਂ ਬਿਨਾਂ ਪਾਸਵਰਡ ਦੇ ਆਪਣੇ ਡਾਟੇ ਨੂੰ ਇਸਤੇਮਾਲ ਨਹੀਂ ਕਰ ਸਕੋਗੇ। ਕੀ ਤੁਸੀਂ ਰਿਕਵਰੀ ਕੁੰਜੀ ਚਾਹੋਗੇ, ਜੇ ਕਿਤੇ ਤੁਸੀਂ ਆਪਣਾ ਪਾਸਵਰਡ ਭੁੱਲ ਜਾਓ?
@@ -73,7 +74,7 @@ addvaultwizard.success.unlockNow=ਹੁਣੇ ਅਣ-ਲਾਕ ਕਰੋ
# Remove Vault
removeVault.title=ਵਾਲਟ ਹਟਾਓ
-removeVault.information=ਇਸ ਸਿਰਫ਼ Cryptomator ਨੂੰ ਇਹ ਵਾਲਟ ਭੁਲਾਏਗਾ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਵੀ ਜੋੜ ਸਕਦੇ ਹੋ। ਕੋਈ ਵੀ ਇੰਕ੍ਰਿਪਟ ਕੀਤੀ ਫਾਇਲ ਤੁਹਾਡੀ ਹਾਰਡ ਡਰਾਇਵ ਉਤੋਂ ਹਟਾਈ ਨਹੀਂ ਜਾਵੇਗੀ।
+removeVault.description=ਇਸ ਸਿਰਫ਼ Cryptomator ਨੂੰ ਇਹ ਵਾਲਟ ਭੁਲਾਏਗਾ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਵੀ ਜੋੜ ਸਕਦੇ ਹੋ। ਕੋਈ ਵੀ ਇੰਕ੍ਰਿਪਟ ਕੀਤੀ ਫਾਇਲ ਤੁਹਾਡੀ ਹਾਰਡ ਡਰਾਇਵ ਉਤੋਂ ਹਟਾਈ ਨਹੀਂ ਜਾਵੇਗੀ।
removeVault.confirmBtn=ਵਾਲਟ ਹਟਾਓ
# Change Password
@@ -83,7 +84,7 @@ changepassword.finalConfirmation=ਮੈਂ ਸਮਝਦਾ/ਸਮਝਦੀ ਹ
# Forget Password
forgetPassword.title=ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ
-forgetPassword.information=ਇਹ ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੇ ਕੀ-ਚੇਨ ਵਿੱਚੋਂ ਇਸ ਵਾਲਟ ਦੇ ਸੰਭਾਲੇ ਪਾਸਵਰਡ ਨੂੰ ਹਟਾਏਗਾ।
+forgetPassword.description=ਇਹ ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੇ ਕੀ-ਚੇਨ ਵਿੱਚੋਂ ਇਸ ਵਾਲਟ ਦੇ ਸੰਭਾਲੇ ਪਾਸਵਰਡ ਨੂੰ ਹਟਾਏਗਾ।
forgetPassword.confirmBtn=ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ
# Unlock
@@ -91,23 +92,22 @@ unlock.passwordPrompt="%s" ਲਈ ਪਾਸਵਰਡ ਦਿਓ:
unlock.savePassword=ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੋ
unlock.unlockBtn=ਅਣ-ਲਾਕ ਕਰੋ
## Select
-unlock.chooseMasterkey.chooseBtn=…ਚੁਣੋ
unlock.chooseMasterkey.filePickerTitle=ਮਾਸਟਰ-ਕੁੰਜੀ ਫਾਇਲ ਚੁਣੋ
## Success
unlock.success.rememberChoice=ਚੋਣਾਂ ਯਾਦ ਰੱਖੋ, ਇਹ ਮੁੜ ਕੇ ਨਾ ਵੇਖਾਓ
unlock.success.revealBtn=ਡਰਾਇਵ ਦਿਖਾਓ
## Failure
-unlock.error.heading=ਵਾਲਟ ਅਣ-ਲਾਕ ਕਰਨ ਲਈ ਅਸਮਰੱਥ
+unlock.error.message=ਵਾਲਟ ਅਣ-ਲਾਕ ਕਰਨ ਲਈ ਅਸਮਰੱਥ
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting="%s" ਮਾਊਂਟ ਪੁਆਇੰਟ ਡਾਇਰੈਕਟਰੀ ਨਹੀਂ, ਖਾਲੀ ਨਹੀਂ ਜਾਂ ਮੌਜੂਦ ਹੀ ਨਹੀਂ ਹੈ।
unlock.error.invalidMountPoint.existing="%s" ਮਾਊਂਟ ਪੁਆਇੰਟ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ ਜਾਂ ਉਸ ਦਾ ਮੂਲ ਫੋਲਡਰ ਗੁੰਮ ਹੈ।
# Lock
## Force
-lock.forced.message=ਬਾਕੀ ਰਹਿੰਦੀਆਂ ਕਾਰਵਾਈਆਂ ਜਾਂ ਫ਼ਾਈਲਾਂ ਖੁੱਲ੍ਹਣ ਕਰਕੇ "%s" ਲਾਕ ਕਰਨ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ। ਤੁਸੀਂ ਇਸ ਵਾਲਟ ਨੂੰ ਧੱਕੇ ਨਾਲ ਲਾਕ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ I/O ਵਿੱਚ ਰੁਕਾਵਟ ਪਾਉਣ ਨਾਲ ਨਾ-ਸੰਭਾਲਿਆ ਡਾਟਾ ਖਤਮ ਹੋ ਜਾ ਸਕਦਾ ਹੈ।
+lock.forced.description=ਬਾਕੀ ਰਹਿੰਦੀਆਂ ਕਾਰਵਾਈਆਂ ਜਾਂ ਫ਼ਾਈਲਾਂ ਖੁੱਲ੍ਹਣ ਕਰਕੇ "%s" ਲਾਕ ਕਰਨ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ। ਤੁਸੀਂ ਇਸ ਵਾਲਟ ਨੂੰ ਧੱਕੇ ਨਾਲ ਲਾਕ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ I/O ਵਿੱਚ ਰੁਕਾਵਟ ਪਾਉਣ ਨਾਲ ਨਾ-ਸੰਭਾਲਿਆ ਡਾਟਾ ਖਤਮ ਹੋ ਜਾ ਸਕਦਾ ਹੈ।
## Failure
-lock.fail.heading=ਵਾਲਟ ਲਾਕ ਕਰਨਾ ਅਸਫ਼ਲ ਹੈ।
-lock.fail.message=ਵਾਲਟ "%s" ਨੂੰ ਲਾਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਨਾ-ਸੰਭਾਲੇ ਕੰਮ ਨੂੰ ਹੋਰ ਥਾਂ ਸੰਭਾਲ ਲਿਆ ਹੈ ਅਤੇ ਖਾਸ ਪੜ੍ਹਨ/ਲਿਖਣ ਕਾਰਵਾਈਆਂ ਪੂਰੀਆਂ ਹੋਈਆਂ ਹਨ। ਵਾਲਟ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ Cryptomator ਕਾਰਵਾਈ ਨੂੰ ਖਤਮ ਕਰੋ।
+lock.fail.message=ਵਾਲਟ ਲਾਕ ਕਰਨਾ ਅਸਫ਼ਲ ਹੈ।
+lock.fail.description=ਵਾਲਟ "%s" ਨੂੰ ਲਾਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਨਾ-ਸੰਭਾਲੇ ਕੰਮ ਨੂੰ ਹੋਰ ਥਾਂ ਸੰਭਾਲ ਲਿਆ ਹੈ ਅਤੇ ਖਾਸ ਪੜ੍ਹਨ/ਲਿਖਣ ਕਾਰਵਾਈਆਂ ਪੂਰੀਆਂ ਹੋਈਆਂ ਹਨ। ਵਾਲਟ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ Cryptomator ਕਾਰਵਾਈ ਨੂੰ ਖਤਮ ਕਰੋ।
# Migration
migration.title=ਵਾਲਟ ਅੱਪਗਰੇਡ ਕਰੋ
@@ -204,7 +204,7 @@ main.closeBtn.tooltip=ਬੰਦ ਕਰੋ
main.minimizeBtn.tooltip=ਘੱਟੋ-ਘੱਟ
main.preferencesBtn.tooltip=ਮੇਰੀ ਪਸੰਦ
main.debugModeEnabled.tooltip=ਡੀਬੱਗ ਮੋਡ ਚਾਲੂ ਹੈ
-main.donationKeyMissing.tooltip=ਦਾਨ ਦੇਣ ਬਾਰੇ ਵਿਚਾਰ ਕਰੋ ਜੀ
+main.supporterCertificateMissing.tooltip=ਦਾਨ ਦੇਣ ਬਾਰੇ ਵਿਚਾਰ ਕਰੋ ਜੀ
## Drag 'n' Drop
main.dropZone.dropVault=ਇਹ ਵਾਲਟ ਜੋੜੋ
main.dropZone.unknownDragboardContent=ਜੇ ਤੁਸੀਂ ਵਾਲਟ ਜੋੜਨਾ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਇਸ ਨੂੰ ਬੰਦ ਵਿੰਡੋ ਉੱਤੇ ਖਿੱਚੋ
@@ -247,8 +247,8 @@ main.vaultDetail.migratePrompt=ਤੁਹਾਡੇ ਵਾਲਟ ਨੂੰ ਵਰ
# Wrong File Alert
wrongFileAlert.title=ਫਾਇਲਾਂ ਇੰਕ੍ਰਿਪਟ ਕਿਵੇਂ ਹੁੰਦੀਆਂ ਹਨ
-wrongFileAlert.header.title=ਕੀ ਤੁਸੀਂ ਇਹ ਫਾਇਲਾਂ ਨੂੰ ਇੰਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਕੀਤੀ ਸੀ?
-wrongFileAlert.header.lead=ਇਸ ਮਕਸਦ ਲਈ Cryptomator ਤੁਹਾਡੇ ਸਿਸਟਮ ਫਾਇਲ ਮੈਨੇਜਰ ਵਿੱਚ ਵਾਲੀਅਮ ਦਿੰਦਾ ਹੈ।
+wrongFileAlert.message=ਕੀ ਤੁਸੀਂ ਇਹ ਫਾਇਲਾਂ ਨੂੰ ਇੰਕ੍ਰਿਪਟ ਕਰਨ ਦੀ ਕੀਤੀ ਸੀ?
+wrongFileAlert.description=ਇਸ ਮਕਸਦ ਲਈ Cryptomator ਤੁਹਾਡੇ ਸਿਸਟਮ ਫਾਇਲ ਮੈਨੇਜਰ ਵਿੱਚ ਵਾਲੀਅਮ ਦਿੰਦਾ ਹੈ।
wrongFileAlert.instruction.0=ਫਾਇਲਾਂ ਇੰਕ੍ਰਿਪਟ ਕਰਨ ਲਈ, ਅੱਗੇ ਦਿੱਤੇ ਪੜਾਅ ਹਨ:
wrongFileAlert.instruction.1=1. ਆਪਣੇ ਵਾਲਟ ਨੂੰ ਅਣ-ਲਾਕ ਕਰੋ।
wrongFileAlert.instruction.2=2. ਆਪਣੇ ਫਾਇਲ ਮੈਨੇਜਰ ਵਿੱਚ ਵਾਲੀਅਮ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ "ਦਿਖਾਓ" ਨੂੰ ਕਲਿੱਕ ਕਰੋ।
@@ -282,17 +282,20 @@ vaultOptions.masterkey.changePasswordBtn=ਪਾਸਵਰਡ ਬਦਲੋ
vaultOptions.masterkey.forgetSavedPasswordBtn=ਸੰਭਾਲਿਆ ਪਾਸਵਰਡ ਭੁੱਲੋ
vaultOptions.masterkey.recoveryKeyExplanation=ਜੇ ਤੁਸੀਂ ਆਪਣਾ ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ ਹੋ ਤਾਂ ਤੁਹਾਡੇ ਵਾਲਟ ਲਈ ਪਹੁੰਚ ਬਹਾਲ ਕਰਨ ਵਾਸਤੇ ਸਿਰਫ਼ ਰਿਕਵਰੀ ਕੁੰਜੀ ਹੀ ਹੈ।
vaultOptions.masterkey.showRecoveryKeyBtn=ਰਿਕਰਵੀ ਕੁੰਜੀ ਦਿਖਾਓ
-vaultOptions.masterkey.recoverPasswordBtn=ਪਾਸਵਰਡ ਰਿਕਵਰ ਕਰੋ
# Recovery Key
-recoveryKey.title=ਰਿਕਵਰੀ ਕੁੰਜੀ
-recoveryKey.enterPassword.prompt="%s" ਲਈ ਰਿਕਵਰੀ ਕੁੰਜੀ ਵੇਖਣ ਵਾਸਤੇ ਆਪਣਾ ਪਾਸਵਰਡ ਦਿਓ:
-recoveryKey.display.message="%s" ਲਈ ਪਹੁੰਚ ਬਹਾਲ ਕਰਨ ਵਾਸਤੇ ਹੇਠਲੀ ਰਿਕਵਰੀ ਕੁੰਜੀ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ:
+## Display Recovery Key
+recoveryKey.create.description="%s" ਲਈ ਰਿਕਵਰੀ ਕੁੰਜੀ ਵੇਖਣ ਵਾਸਤੇ ਆਪਣਾ ਪਾਸਵਰਡ ਦਿਓ:
+recoveryKey.display.description="%s" ਲਈ ਪਹੁੰਚ ਬਹਾਲ ਕਰਨ ਵਾਸਤੇ ਹੇਠਲੀ ਰਿਕਵਰੀ ਕੁੰਜੀ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ:
recoveryKey.display.StorageHints=ਇਸ ਨੂੰ ਕਿਸੇ ਥਾਂ ਬਹੁਤ ਹੀ ਸੰਭਾਲ ਕੇ ਰੱਖੋ.:\n • ਇਸ ਨੂੰ ਪਾਸਵਰਡ ਮੈਨੇਜਰ ਵਰਤ ਕੇ ਸੰਭਾਲੋ\n • ਇਸ ਨੂੰ USB ਫਲੈਸ਼ ਡਰਾਇਵ ਉੱਤੇ ਸੰਭਾਲੋ\n • ਇਸ ਨੂੰ ਪੇਪਰ ਉੱਤੇ ਛਪ ਲਵੋ
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt='%s" ਲਈ ਆਪਣਾ ਰਿਕਵਰੀ ਕੁੰਜੀ ਦਿਓ:
recoveryKey.recover.validKey=ਇਹ ਜਾਇਜ਼ ਰਿਕਰਵੀ ਕੁੰਜੀ ਹੈ
recoveryKey.printout.heading=Cryptomator ਰਿਕਵਰੀ ਕੁੰਜੀ\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=ਨਵਾਂ ਪਾਸਵਰਡ ਦਿਓ
@@ -307,5 +310,6 @@ passwordStrength.messageLabel.3=ਮਜ਼ਬੂਤ
passwordStrength.messageLabel.4=ਬਹੁਤ ਮਜ਼ਬੂਤ
# Quit
-quit.prompt=ਐਪਲੀਕੇਸ਼ਨ ਬੰਦ ਕਰਨੀ ਹੈ? ਅਣ-ਲਾਕ ਕੀਤੇ ਵਾਲਟ ਹਨ।
-quit.lockAndQuit=ਲਾਕ ਕਰੋ ਤੇ ਬਾਹਰ ਜਾਓ
+quit.lockAndQuitBtn=ਲਾਕ ਕਰੋ ਤੇ ਬਾਹਰ ਜਾਓ
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_pl.properties b/src/main/resources/i18n/strings_pl.properties
index 1af8dffc1..a15286e35 100644
--- a/src/main/resources/i18n/strings_pl.properties
+++ b/src/main/resources/i18n/strings_pl.properties
@@ -6,18 +6,20 @@ generic.button.apply=Zastosuj
generic.button.back=Wstecz
generic.button.cancel=Anuluj
generic.button.change=Zmień
+generic.button.choose=Wybierz…
generic.button.close=Zamknij
generic.button.copy=Skopiuj
-generic.button.copied=Skopiowane!
+generic.button.copied=Skopiowano!
generic.button.done=Gotowe
generic.button.next=Dalej
generic.button.print=Drukuj
-## Error
-generic.error.title=Błąd %s
-generic.error.instruction=Ups! Cryptomator nie spodziewał się czegoś takiego. Możesz wyszukać istniejące rozwiązania dla tego błędu. Lub, jeśli nie został on jeszcze zgłoszony, możesz sam to zrobić.
-generic.error.hyperlink.lookup=Wyszukaj ten błąd
-generic.error.hyperlink.report=Zgłoś ten błąd
-generic.error.technicalDetails=Szczegóły:
+
+# Error
+error.message=Błąd %s
+error.description=Cryptomator nie spodziewał się czegoś takiego. Możesz wyszukać istniejące rozwiązania dla tego błędu. Jeśli nie został on jeszcze zgłoszony, możesz sam to zrobić.
+error.hyperlink.lookup=Wyszukaj ten błąd
+error.hyperlink.report=Zgłoś ten błąd
+error.technicalDetails=Szczegóły:
# Defaults
defaults.vault.vaultName=Sejf
@@ -26,10 +28,10 @@ defaults.vault.vaultName=Sejf
traymenu.showMainWindow=Wyświetl
traymenu.showPreferencesWindow=Ustawienia
traymenu.lockAllVaults=Blokuj wszystko
-traymenu.quitApplication=Wyjście
+traymenu.quitApplication=Wyjdź
traymenu.vault.unlock=Odblokuj
traymenu.vault.lock=Blokuj
-traymenu.vault.reveal=Pokaż
+traymenu.vault.reveal=Odkryj
# Add Vault Wizard
addvaultwizard.title=Dodaj sejf
@@ -47,11 +49,10 @@ addvaultwizard.new.locationPrompt=…
addvaultwizard.new.directoryPickerLabel=Własna lokalizacja
addvaultwizard.new.directoryPickerButton=Wybierz…
addvaultwizard.new.directoryPickerTitle=Wybierz katalog
-addvaultwizard.new.fileAlreadyExists=Plik lub katalog z nazwą sejfu już istnieje
+addvaultwizard.new.fileAlreadyExists=Plik lub katalog z nazwą tą sejfu już istnieje
addvaultwizard.new.locationDoesNotExist=Katalog w określonej ścieżce nie istnieje lub nie można uzyskać dostępu
-addvaultwizard.new.locationIsNotWritable=Brak możliwości zapisu w określonej ścieżce
+addvaultwizard.new.locationIsNotWritable=Brak możliwości zapisu w podanej ścieżce
addvaultwizard.new.locationIsOk=Odpowiednia lokalizacja dla Twojego sejfu
-addvaultwizard.new.invalidName=Nieprawidłowa nazwa sejfu. Proszę spróbować prawidłową nazwę dla katalogu.
### Password
addvaultwizard.new.createVaultBtn=Utwórz sejf
addvaultwizard.new.generateRecoveryKeyChoice=Nie będziesz mógł uzyskać dostępu do swoich danych bez hasła. Czy chciałbyś klucz odzyskiwania w przypadku utraty hasła?
@@ -78,13 +79,15 @@ addvault.new.readme.accessLocation.4=Jeśli chcesz możesz spokojnie usunąć te
addvaultwizard.existing.instruction=Wybierz plik "vault.cryptomator" w istniejącym sejfie. Jeśli istnieje tylko plik "masterkey.cryptomator", wybierz ten plik.
addvaultwizard.existing.chooseBtn=Wybierz…
addvaultwizard.existing.filePickerTitle=Wybierz plik sejfu
+addvaultwizard.existing.filePickerMimeDesc=Sejf Cryptomator-a
## Success
addvaultwizard.success.nextStepsInstructions=Dodano sejf "%s".\nMusisz odblokować ten sejf, aby uzyskać dostęp lub dodać zawartość. Możesz go również odblokować kiedy indziej.
addvaultwizard.success.unlockNow=Odblokuj teraz
# Remove Vault
removeVault.title=Usuń sejf
-removeVault.information=To tylko sprawi, że Cryptomator nie będzie widział tego sejfu. Możesz dodać go ponownie później. Żadne zaszyfrowane pliki nie zostaną usunięte z dysku twardego.
+removeVault.message=Usunąć sejf?
+removeVault.description=To tylko sprawi, że Cryptomator nie będzie widział tego sejfu. Możesz dodać go ponownie później. Żadne zaszyfrowane pliki nie zostaną usunięte z dysku twardego.
removeVault.confirmBtn=Usuń sejf
# Change Password
@@ -94,7 +97,8 @@ changepassword.finalConfirmation=Jestem świadomy tego, że nie będę mógł uz
# Forget Password
forgetPassword.title=Zapomnij hasło
-forgetPassword.information=To spowoduje usunięcie zapisanego hasła z systemowego menadżera haseł.
+forgetPassword.message=Usunąć zapamiętane hasło?
+forgetPassword.description=To spowoduje usunięcie zapisanego hasła z systemowego menadżera haseł.
forgetPassword.confirmBtn=Zapomnij hasło
# Unlock
@@ -103,16 +107,17 @@ unlock.passwordPrompt=Wprowadź hasło dla "%s":
unlock.savePassword=Zapamiętaj hasło
unlock.unlockBtn=Odblokuj
## Select
-unlock.chooseMasterkey.title=Wybierz Masterkey z "%s"
-unlock.chooseMasterkey.prompt=Brak pliku Masterkey dla tego sejfu w oczekiwanej lokalizacji. Proszę wybrać plik klucza ręcznie.
-unlock.chooseMasterkey.chooseBtn=Wybierz…
+unlock.chooseMasterkey.message=Nie znaleziono pliku klucza głównego
+unlock.chooseMasterkey.description=Brak pliku Masterkey dla tego sejfu w oczekiwanej lokalizacji. Proszę wybrać plik klucza ręcznie.
unlock.chooseMasterkey.filePickerTitle=Wybierz plik Masterkey
+unlock.chooseMasterkey.filePickerMimeDesc=Klucz główny Cryptomator-a
## Success
-unlock.success.message=Odblokowano "%s" pomyślnie! Twój sejf jest teraz dostępny za pomocą dysku wirtualnego.
+unlock.success.message=Odblokowanie powiodło się
+unlock.success.description=Odblokowano "%s" pomyślnie! Twój sejf jest teraz dostępny za pomocą dysku wirtualnego.
unlock.success.rememberChoice=Zapamiętaj wybór, nie pokazuj tego ponownie
unlock.success.revealBtn=Pokaż Dysk
## Failure
-unlock.error.heading=Nie można odblokować sejfu
+unlock.error.message=Nie można odblokować sejfu
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Punkt montowania nie jest pustym katalogiem lub nie istnieje: %s
unlock.error.invalidMountPoint.existing=Punkt montowania już istnieje lub brakuje katalogu nadrzędnego: %s
@@ -120,13 +125,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Litera dysku "%s" jest już w
# Lock
## Force
-lock.forced.heading=Nieudana próba blokady
-lock.forced.message=Zamknięcie "%s" zostało zablokowane przez oczekujące operacje lub otwarte pliki. Możesz wymusić zamknięcie tego sejfu, ale może to spowodować utratę niezapisanych danych.
+lock.forced.message=Nieudana próba blokady
+lock.forced.description=Zamknięcie "%s" zostało zablokowane przez oczekujące operacje lub otwarte pliki. Możesz wymusić zamknięcie tego sejfu, ale może to spowodować utratę niezapisanych danych.
lock.forced.retryBtn=Ponów
lock.forced.forceBtn=Wymuś blokowanie
## Failure
-lock.fail.heading=Błąd blokowania sejfu.
-lock.fail.message=Nie można zablokować sejfu "%s". Zapisz wszelkie zmiany w bezpiecznym miejscu i upewnij się, że nie ma żadnych ważnych oczekujących operacji odczytu/zapisu. W celu zamknięcia sejfu ubij Cryptomator.
+lock.fail.message=Błąd blokowania sejfu.
+lock.fail.description=Nie można zablokować sejfu "%s". Zapisz wszelkie zmiany w bezpiecznym miejscu i upewnij się, że nie ma żadnych ważnych oczekujących operacji odczytu/zapisu. W celu zamknięcia sejfu ubij Cryptomator.
# Migration
migration.title=Aktualizuj sejf
@@ -191,13 +196,25 @@ preferences.title=Ustawienia
## General
preferences.general=Ogólne
preferences.general.startHidden=Ukryj okno podczas uruchamiania programu Cryptomator
+preferences.general.autoCloseVaults=Zablokuj automatycznie otwarte sejfy podczas zamykania aplikacji
preferences.general.debugLogging=Włącz logowanie w trybie debug
preferences.general.debugDirectory=Pokaż pliki logowania
preferences.general.autoStart=Uruchom Cryptomator po uruchomieniu systemu
preferences.general.keychainBackend=Przechowuj hasła za pomocą
## Interface
+preferences.interface=Interfejs
+preferences.interface.theme=Wygląd
+preferences.interface.theme.automatic=Automatyczny
preferences.interface.theme.dark=Ciemny
preferences.interface.theme.light=Jasny
+preferences.interface.unlockThemes=Odblokuj ciemny tryb
+preferences.interface.language=Język (wymaga restartu)
+preferences.interface.language.auto=Domyślny z systemu
+preferences.interface.interfaceOrientation=Układ interfejsu
+preferences.interface.interfaceOrientation.ltr=Od lewej do prawej
+preferences.interface.interfaceOrientation.rtl=Od prawej do lewej
+preferences.interface.showMinimizeButton=Pokaż przycisk minimalizacji
+preferences.interface.showTrayIcon=Pokaż ikonę zasobnika (wymaga restartu)
## Volume
preferences.volume=Dysk wirtualny
preferences.volume.type=Typ udziału
@@ -255,7 +272,7 @@ main.closeBtn.tooltip=Zamknij
main.minimizeBtn.tooltip=Minimalizuj
main.preferencesBtn.tooltip=Ustawienia
main.debugModeEnabled.tooltip=Tryb debugowania jest włączony
-main.donationKeyMissing.tooltip=Rozważ proszę donację
+main.supporterCertificateMissing.tooltip=Rozważ proszę donację
## Drag 'n' Drop
main.dropZone.dropVault=Dodaj ten sejf
main.dropZone.unknownDragboardContent=Jeśli chcesz dodać sejf, przeciągnij go do tego okna
@@ -303,8 +320,8 @@ main.vaultDetail.error.windowTitle=Błąd ładowania sejfu
# Wrong File Alert
wrongFileAlert.title=Jak szyfrować pliki
-wrongFileAlert.header.title=Czy chciałeś zaszyfrować te pliki?
-wrongFileAlert.header.lead=W tym celu Cryptomator zapewnia udział dostępny w menedżerze plików.
+wrongFileAlert.message=Czy chciałeś zaszyfrować te pliki?
+wrongFileAlert.description=W tym celu Cryptomator zapewnia udział dostępny w menedżerze plików.
wrongFileAlert.instruction.0=Aby zaszyfrować pliki, wykonaj następujące kroki:
wrongFileAlert.instruction.1=1. Odblokuj swój sejf.
wrongFileAlert.instruction.2=2. Kliknij na "Otwórz lokalizację", aby otworzyć udział w menedżerze plików.
@@ -341,17 +358,26 @@ vaultOptions.masterkey.changePasswordBtn=Zmiana Hasła
vaultOptions.masterkey.forgetSavedPasswordBtn=Zapomnij zapamiętane hasło
vaultOptions.masterkey.recoveryKeyExplanation=Klucz odzyskiwania jest twoim jedynym sposobem przywrócenia dostępu do sejfu w przypadku utraty hasła.
vaultOptions.masterkey.showRecoveryKeyBtn=Wyświetl klucz odzyskiwania
-vaultOptions.masterkey.recoverPasswordBtn=Odzyskaj hasło
+vaultOptions.masterkey.recoverPasswordBtn=Resetuj hasło
# Recovery Key
-recoveryKey.title=Klucz odzyskiwania
-recoveryKey.enterPassword.prompt=Wprowadź hasło, aby pokazać klucz odzyskiwania dla "%s":
-recoveryKey.display.message=Poniższy klucz odzyskiwania służy do przywrócenia dostępu do "%s":
+## Display Recovery Key
+recoveryKey.display.title=Wyświetl kod odzyskiwania
+recoveryKey.create.message=Hasło jest wymagane
+recoveryKey.create.description=Wprowadź hasło, aby pokazać klucz odzyskiwania dla "%s":
+recoveryKey.display.description=Poniższy klucz odzyskiwania służy do przywrócenia dostępu do "%s":
recoveryKey.display.StorageHints=Trzymaj go w bezpiecznym miejscu, np.\n • Przechowuj go za pomocą menedżera haseł\n • Zapisz go na przenośnej pamięci USB\n • Wydrukuj na papierze
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Resetuj hasło
recoveryKey.recover.prompt=Wprowadź swój klucz odzyskiwania dla "%s":
recoveryKey.recover.validKey=To jest prawidłowy klucz odzyskiwania
recoveryKey.printout.heading=Cryptomator - Klucz odzyskiwania "%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Hasło zostało zresetowane
+recoveryKey.recover.resetSuccess.description=Możesz odblokować sejf przy użyciu nowego hasła.
# New Password
newPassword.promptText=Wprowadź nowe hasło
@@ -366,5 +392,12 @@ passwordStrength.messageLabel.3=Silne
passwordStrength.messageLabel.4=Bardzo silne
# Quit
-quit.prompt=Zamknąć aplikację? Niektore sejfy są odblokowane.
-quit.lockAndQuit=Zablokuj i wyjdź
+quit.title=Zakończ program
+quit.message=Część sejfów odblokowana
+quit.description=Potwierdź, że chcesz wyjść. Cryptomator zablokuje wszystkie odblokowane sejfy aby zapobiec utracie danych.
+quit.lockAndQuitBtn=Zablokuj i wyjdź
+
+# Forced Quit
+quit.forced.message=Niektóre sejfy nie mogą być zablokowane
+quit.forced.description=Blokowanie sejfów zostało zablokowane przez oczekujące operacje lub otwarte pliki. Możesz wymusić zablokowanie pozostałych sejfów, jednak przerwanie I/O może spowodować utratę niezapisanych danych.
+quit.forced.forceAndQuitBtn=Wymuś i wyjdź
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_pt.properties b/src/main/resources/i18n/strings_pt.properties
index 28f1893a2..d7e26f33e 100644
--- a/src/main/resources/i18n/strings_pt.properties
+++ b/src/main/resources/i18n/strings_pt.properties
@@ -6,18 +6,20 @@ generic.button.apply=Aplicar
generic.button.back=Anterior
generic.button.cancel=Cancelar
generic.button.change=Alterar
+generic.button.choose=Escolher…
generic.button.close=Fechar
generic.button.copy=Copiar
generic.button.copied=Copiado!
generic.button.done=Ok
generic.button.next=Seguinte
generic.button.print=Imprimir
-## Error
-generic.error.title=Erro %s
-generic.error.instruction=Opa! Cryptomator não esperava que isto acontecesse. Pode procurar as soluções existentes para este erro. Ou se ainda não tiver sido relatado, sinta-se à vontade para o fazer.
-generic.error.hyperlink.lookup=Procure este erro
-generic.error.hyperlink.report=Relatar este erro
-generic.error.technicalDetails=Detalhes:
+
+# Error
+error.message=Erro %s
+error.description=Opa! Cryptomator não esperava que isto acontecesse. Pode procurar as soluções existentes para este erro. Ou se ainda não tiver sido relatado, sinta-se à vontade para o fazer.
+error.hyperlink.lookup=Procure este erro
+error.hyperlink.report=Relatar este erro
+error.technicalDetails=Detalhes:
# Defaults
defaults.vault.vaultName=Cofre
@@ -51,7 +53,6 @@ addvaultwizard.new.fileAlreadyExists=Aviso: Já existe um Ficheiro ou Diretório
addvaultwizard.new.locationDoesNotExist=Um diretório no caminho especificado não existe ou não pode ser acessado
addvaultwizard.new.locationIsNotWritable=Sem acesso de escrita no caminho especificado
addvaultwizard.new.locationIsOk=Localização adequada para o seu cofre
-addvaultwizard.new.invalidName=Nome de cofre inválido. Por favor considere um nome de diretório regular.
### Password
addvaultwizard.new.createVaultBtn=Criar Cofre
addvaultwizard.new.generateRecoveryKeyChoice=Não será capaz de aceder aos seus dados sem a sua senha. Você quer uma chave de recuperação para caso perca a sua senha?
@@ -72,15 +73,19 @@ addvault.new.readme.storageLocation.10=Se precisar de ajuda, visite a documenta
addvault.new.readme.accessLocation.fileName=BEM-VINDO.rtf
addvault.new.readme.accessLocation.1=🔐 VOLUME CRIPTOGRAFADO 🔐
addvault.new.readme.accessLocation.2=Este é o local de acesso do seu cofre.
+addvault.new.readme.accessLocation.3=Qualquer ficheiro adicionado a este volume será encriptado pelo Cryptomator. Poderá trabalhar nestes normalmente como em qualquer outra unidade/pasta. Esta é apenas uma visualização desencriptada do seu conteúdo, os seus ficheiros continuam encriptados no seu disco rígido.
addvault.new.readme.accessLocation.4=Sinta-se livre para remover este ficheiro.
## Existing
+addvaultwizard.existing.instruction=Escolha o ficheiro "vault.cryptomator" do seu cofre. Se encontrar unicamente o ficheiro "masterkey.cryptomator", selecione-o.
addvaultwizard.existing.chooseBtn=Escolher…
+addvaultwizard.existing.filePickerTitle=Selecionar o ficheiro do cofre
## Success
addvaultwizard.success.nextStepsInstructions=Adicionado cofre "%s".\nPrecisa de destrancar este cofre para aceder ou adicionar conteúdo. Como alternativa, pode destrancá-lo a qualquer momento mais tarde.
addvaultwizard.success.unlockNow=Destrancar agora
# Remove Vault
removeVault.title=Remover Cofre
+removeVault.description=Isto fará unicamente com que o Cryptomator esqueça este cofre. Poderá adicioná-lo novamente mais tarde. Nenhum ficheiro encriptado será apagado do seu disco rígido.
removeVault.confirmBtn=Remover Cofre
# Change Password
@@ -90,44 +95,88 @@ changepassword.finalConfirmation=Eu entendo que não poderei aceder aos meus dad
# Forget Password
forgetPassword.title=Esqueci a Senha
+forgetPassword.description=Isto irá apagar a palavra-passe deste cofre guardada no porta-chaves do seu sistema.
forgetPassword.confirmBtn=Esqueci a Senha
# Unlock
+unlock.title=Desbloquear "%s"
unlock.passwordPrompt=Insira a senha para "%s":
+unlock.savePassword=Recordar a palavra-passe
unlock.unlockBtn=Destrancar
## Select
-unlock.chooseMasterkey.title=Selecione a Masterkey de "%s"
-unlock.chooseMasterkey.chooseBtn=Escolher…
+unlock.chooseMasterkey.description=Não foi possível encontrar o ficheiro masterkey no local predefinido para este cofre. Por favor, escolha o ficheiro chave manualmente.
unlock.chooseMasterkey.filePickerTitle=Selecionar ficheiro MasterKey
## Success
+unlock.success.description="%s" desbloqueado com sucesso! O seu cofre está agora acessível na correspondente unidade virtual.
unlock.success.rememberChoice=Lembrar escolha, não mostrar isto novamente
+unlock.success.revealBtn=Revelar unidade
## Failure
+unlock.error.message=Não foi possível desbloquear o cofre
### Invalid Mount Point
+unlock.error.invalidMountPoint.notExisting=O ponto de montagem "%s" não é um diretório, não está vazio ou não existe.
+unlock.error.invalidMountPoint.existing=O ponto de montagem "%s" já existe ou a pasta antecedente está em falta.
unlock.error.invalidMountPoint.driveLetterOccupied=A letra de unidade "%s" já está sendo usada.
# Lock
## Force
-lock.forced.heading=Cadeado falhou\nOr\nBloqueio falhou
+lock.forced.message=Cadeado falhou\nOr\nBloqueio falhou
+lock.forced.description=Bloquear "%s" foi impossibilitado por operações pendentes ou ficheiros abertos. Poderá forçar o bloqueio deste cofre, sob a possiblidade da perda de dados não guardados.
lock.forced.retryBtn=Tente novamente
lock.forced.forceBtn=Forçar bloqueio
## Failure
+lock.fail.message=O bloqueio do cofre falhou.
+lock.fail.description=O cofre "%s" não pode ser bloqueado. Certifique-se de que o trabalho não guardado está a salvo noutro lugar e operações importantes de leitura/escrita finalizaram. Para fechar o cofre, termine o processo do Cryptomator.
# Migration
migration.title=Atualizar Cofre
## Start
+migration.start.prompt=O seu cofre "%s" precisa de ser atualizado para um formato mais recente. Antes de prosseguir, certifique-se de que não existe nenhuma sincronização pendente neste cofre.
+migration.start.confirm=Sim, o meu cofre está completamente sincronizado
## Run
+migration.run.enterPassword=Introduza a palavra-passe de "%s"
migration.run.startMigrationBtn=Migrar Cofre
migration.run.progressHint=Isso pode levar algum tempo…
## Success
+migration.success.nextStepsInstructions="%s" foi migrado com sucesso.\nPoderá desbloquear o seu cofre agora.
migration.success.unlockNow=Destrancar agora
## Missing file system capabilities
+migration.error.missingFileSystemCapabilities.title=Sistema de ficheiros não suportado
+migration.error.missingFileSystemCapabilities.description=O processo de migração não foi iniciado, porque o seu cofre está localizado num sistema de ficheiros inadequado.
+migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=O sistema de ficheiros não suporta nomes de ficheiro longos.
+migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=O sistema de ficheiros não suporta nomes de caminho longos.
+migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=O sistema de ficheiros não permite a sua leitura.
+migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=O sistema de ficheiros não permite ser guardado.
## Impossible
+migration.impossible.heading=Não foi possível migrar o cofre
+migration.impossible.reason=Não foi possível migrar o cofre automaticamente porque a sua localização de armazenamento ou o ponto de acesso não é compatível.
+migration.impossible.moreInfo=O cofre poderá ser aberto com uma versão mais antiga. Para instruções sobre como migrar um cofre manualmente, visite
# Health Check
## Start
+health.title=Análise da saúde de "%s"
+health.intro.header=Análise de saúde
+health.intro.text=A análise de saúde é uma coleção de verificações para detetar e potencialmente corrigir problemas na estrutura interna do seu cofre. Lembre-se de:
+health.intro.remarkSync=Certifique-se de que todos os dispositivos estejam completamente sincronizados, pois isto resolve a maioria dos problemas.
+health.intro.remarkFix=Nem todos os problemas podem ser corrigidos.
+health.intro.remarkBackup=Se os dados estiverem corrompidos, apenas um backup prévio poderá ajudar.
+health.intro.affirmation=Li e entendi as informações acima
## Start Failure
+health.fail.header=Erro ao carregar a configuração do cofre
+health.fail.ioError=Ocorreu um erro ao aceder e ler o arquivo de configuração.
+health.fail.parseError=Ocorreu um erro ao analisar a configuração do cofre.
+health.fail.moreInfo=Mais informações
## Check Selection
+health.checkList.description=Selecione as verificações na lista esquerda ou use os botões abaixo.
+health.checkList.selectAllButton=Selecionar Todas as Verificações
+health.checkList.deselectAllButton=Desmarcar Todas as Verificações
+health.check.runBatchBtn=Executar as Verificações Selecionadas
## Detail view
+health.check.detail.noSelectedCheck=Para resultados, selecione uma análise de saúde terminada na lista à esquerda.
+health.check.detail.checkScheduled=A verificação está programada.
+health.check.detail.checkRunning=A verificação está atualmente a decorrer…
+health.check.detail.checkSkipped=A verificação não foi selecionada para ser executada.
+health.check.detail.checkFinished=A verificação foi concluída com sucesso.
+health.check.detail.checkFinishedAndFound=A verificação concluiu. Por favor, reveja os resultados.
## Fix Application
# Preferences
@@ -158,16 +207,19 @@ preferences.about=Sobre
main.closeBtn.tooltip=Fechar
main.minimizeBtn.tooltip=Minimizar
main.preferencesBtn.tooltip=Preferências
+main.supporterCertificateMissing.tooltip=Por favor, considere doar
## Drag 'n' Drop
## Vault List
main.vaultlist.contextMenu.lock=Trancar
main.vaultlist.contextMenu.unlockNow=Destrancar agora
+main.vaultlist.contextMenu.reveal=Revelar unidade
main.vaultlist.addVaultBtn=Adicionar Cofre
## Vault Detail
### Welcome
### Locked
main.vaultDetail.unlockNowBtn=Destrancar agora
### Unlocked
+main.vaultDetail.revealBtn=Revelar unidade
main.vaultDetail.lockBtn=Trancar
main.vaultDetail.throughput.idle=inativo
main.vaultDetail.throughput.kbps=%.1f kiB/s
@@ -181,7 +233,7 @@ main.vaultDetail.migratePrompt=O cofre precisa de ser atualizado para um novo fo
# Wrong File Alert
wrongFileAlert.title=Como criptografar arquivos
-wrongFileAlert.header.title=Você tentou criptografar esses arquivos?
+wrongFileAlert.message=Você tentou criptografar esses arquivos?
wrongFileAlert.instruction.1=1. Desbloqueie o seu cofre.
wrongFileAlert.instruction.3=3. Adicione ficheiros a este volume.
wrongFileAlert.link=Para obter assistência, visite
@@ -192,6 +244,7 @@ vaultOptions.general=Geral
vaultOptions.general.vaultName=Nome do Cofre
vaultOptions.general.unlockAfterStartup=Destrancar o cofre ao iniciar o Cryptomator
vaultOptions.general.actionAfterUnlock=Após destrancar com sucesso
+vaultOptions.general.actionAfterUnlock.reveal=Revelar unidade
vaultOptions.general.actionAfterUnlock.ask=Perguntar
## Mount
@@ -203,15 +256,20 @@ vaultOptions.masterkey.changePasswordBtn=Alterar Senha
vaultOptions.masterkey.forgetSavedPasswordBtn=Esqueça a senha salva
vaultOptions.masterkey.recoveryKeyExplanation=Uma chave de recuperação é a única forma de restaurar o acesso a um cofre se perder a senha.
vaultOptions.masterkey.showRecoveryKeyBtn=Exibir Chave de Recuperação
-vaultOptions.masterkey.recoverPasswordBtn=Recuperar Senha
# Recovery Key
-recoveryKey.title=Chave de Recuperação
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
passwordStrength.messageLabel.3=Forte
passwordStrength.messageLabel.4=Muito forte
# Quit
-quit.lockAndQuit=Bloquear e Sair
+quit.lockAndQuitBtn=Bloquear e Sair
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_pt_BR.properties b/src/main/resources/i18n/strings_pt_BR.properties
index 7404197fd..b806a0609 100644
--- a/src/main/resources/i18n/strings_pt_BR.properties
+++ b/src/main/resources/i18n/strings_pt_BR.properties
@@ -6,18 +6,20 @@ generic.button.apply=Aplicar
generic.button.back=Voltar
generic.button.cancel=Cancelar
generic.button.change=Alterar
+generic.button.choose=Escolher…
generic.button.close=Fechar
generic.button.copy=Copiar
generic.button.copied=Copiado!
generic.button.done=Concluído
generic.button.next=Próximo
generic.button.print=Imprimir
-## Error
-generic.error.title=Erro %s
-generic.error.instruction=Oops! Cryptomator não esperava que isso acontecesse. Você pode procurar soluções existentes para este erro. Ou se isso ainda não foi reportado, fique à vontade para fazê-lo.
-generic.error.hyperlink.lookup=Procure este erro
-generic.error.hyperlink.report=Reportar este erro
-generic.error.technicalDetails=Detalhes:
+
+# Error
+error.message=Erro %s
+error.description=Oops! Cryptomator não esperava que isso acontecesse. Você pode procurar soluções existentes para este erro. Ou se isso ainda não foi reportado, fique à vontade para fazê-lo.
+error.hyperlink.lookup=Procure este erro
+error.hyperlink.report=Reportar este erro
+error.technicalDetails=Detalhes:
# Defaults
defaults.vault.vaultName=Cofre
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=Um arquivo ou diretório com o nome do cofr
addvaultwizard.new.locationDoesNotExist=Um diretório no caminho especificado não existe ou não pode ser acessado
addvaultwizard.new.locationIsNotWritable=Sem acesso de escrita no caminho especificado
addvaultwizard.new.locationIsOk=Localização adequada para o seu cofre
-addvaultwizard.new.invalidName=Nome de cofre inválido. Por favor considere usar um nome de diretório comum.
+addvaultwizard.new.invalidName=Nome do cofre inválido
+addvaultwizard.new.validName=Nome do cofre válido
+addvaultwizard.new.validCharacters.message=O nome do cofre pode conter os seguintes caracteres:
+addvaultwizard.new.validCharacters.chars=Caracteres de palavra (por exemplo, a, ж or 수)
+addvaultwizard.new.validCharacters.numbers=Números
+addvaultwizard.new.validCharacters.dashes=Hífen (%s) ou sublinhado (%s)
### Password
addvaultwizard.new.createVaultBtn=Criar Cofre
addvaultwizard.new.generateRecoveryKeyChoice=Você não será capaz de acessar seus dados sem sua senha. Você quer uma chave de recuperação para o caso de perder sua senha?
@@ -72,19 +79,21 @@ addvault.new.readme.storageLocation.10=Se precisar de ajuda, visite a documenta
addvault.new.readme.accessLocation.fileName=BEM-VINDO.rtf
addvault.new.readme.accessLocation.1=🔐️ VOLUME ENCRIPTADO 🔐️
addvault.new.readme.accessLocation.2=Este é o local de acesso ao seu cofre.
-addvault.new.readme.accessLocation.3=Todos os arquivos adicionados a este volume serão encriptados pelo Cryptomator. Você pode trabalhar nele tal como em qualquer outra unidade/pasta. Esta é apenas uma visão desencriptada do seu conteúdo, seus arquivos ficam encriptados em seu disco rígido o tempo todo.
-addvault.new.readme.accessLocation.4=Sinta-se livre para apagar este arquivo.
+addvault.new.readme.accessLocation.3=Todos os arquivos adicionados a este volume serão encriptados pelo Cryptomator. Você pode trabalhar nele tal como em qualquer outra unidade/pasta. Esta é apenas uma visão não encriptada do seu conteúdo, seus arquivos permanecem encriptados em seu disco rígido o tempo todo.
+addvault.new.readme.accessLocation.4=Fique à vontade para apagar este arquivo.
## Existing
addvaultwizard.existing.instruction=Escolha o arquivo "vault.cryptomator" do seu cofre existente. Se existir apenas um arquivo chamado "masterkey.cryptomator", selecione outro.
addvaultwizard.existing.chooseBtn=Selecionar…
addvaultwizard.existing.filePickerTitle=Selecionar arquivo do Cofre
+addvaultwizard.existing.filePickerMimeDesc=Cofre Cryptomator
## Success
addvaultwizard.success.nextStepsInstructions=Cofre "%s" adicionado.\nVocê precisa desbloquear este cofre para acessar ou adicionar conteúdo. Você também pode desbloqueá-lo a qualquer momento.
addvaultwizard.success.unlockNow=Desbloquear Agora
# Remove Vault
removeVault.title=Remover Cofre
-removeVault.information=Isso apenas fará que o Cryptomator esqueça este cofre. Você pode adicioná--lo novamente. Nenhum arquivo encriptado será apagado do seu disco rígido.
+removeVault.message=Remover Cofre?
+removeVault.description=Isso apenas fará que o Cryptomator esqueça este cofre. Você pode adicioná--lo novamente. Nenhum arquivo encriptado será apagado do seu disco rígido.
removeVault.confirmBtn=Remover Cofre
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=Eu entendo que não poderei acessar os meus dad
# Forget Password
forgetPassword.title=Esquecer Senha
-forgetPassword.information=Isso removerá a senha salva deste cofre do chaveiro do seu sistema.
+forgetPassword.message=Esqueceu sua senha?
+forgetPassword.description=Isso removerá a senha salva deste cofre do chaveiro do seu sistema.
forgetPassword.confirmBtn=Esquecer Senha
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt=Digite a senha para "%s":
unlock.savePassword=Lembrar Senha
unlock.unlockBtn=Desbloquear
## Select
-unlock.chooseMasterkey.title=Selecione o Masterkey de "%s"
-unlock.chooseMasterkey.prompt=Não foi possível encontrar o arquivo Masterkey deste cofre no local esperado. Por favor selecione o arquivo chave manualmente.
-unlock.chooseMasterkey.chooseBtn=Escolher…
+unlock.chooseMasterkey.message=Arquivo Masterkey não encontrado
+unlock.chooseMasterkey.description=Não foi possível encontrar o arquivo Masterkey deste cofre no local esperado. Por favor selecione manualmente o arquivo contendo a chave.
unlock.chooseMasterkey.filePickerTitle=Selecionar Arquivo Masterkey
+unlock.chooseMasterkey.filePickerMimeDesc=Chave mestra do Cryptomator
## Success
-unlock.success.message="%s" desbloqueado com êxito! Seu cofre agora está acessível na unidade virtual.
+unlock.success.message=Desbloqueado com sucesso
+unlock.success.description="%s" desbloqueado com êxito! Seu cofre agora está acessível na unidade virtual.
unlock.success.rememberChoice=Lembrar opção escolhida, não mostrar isto novamente
unlock.success.revealBtn=Revelar Volume
## Failure
-unlock.error.heading=Não foi possível desbloquear o cofre
+unlock.error.message=Não foi possível desbloquear o cofre
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=O ponto de montagem não é um diretório vazio ou não existe: %s
unlock.error.invalidMountPoint.existing=Ponto de montagem/pasta já existe ou a pasta pai está faltando: %s
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Letra de unidade "%s" já est
# Lock
## Force
-lock.forced.heading=Bloqueio falhou
-lock.forced.message=Trancar "%s" foi bloqueado por operações pendentes ou arquivos abertos. Você pode forçar o bloqueio deste cofre, no entanto, a interrupção pode resultar em perda de dados não salvos.
+lock.forced.message=Bloqueio falhou
+lock.forced.description=Trancar "%s" foi bloqueado por operações pendentes ou arquivos abertos. Você pode forçar o bloqueio deste cofre, no entanto, a interrupção pode resultar em perda de dados não salvos.
lock.forced.retryBtn=Tentar Novamente
lock.forced.forceBtn=Forçar Bloqueio
## Failure
-lock.fail.heading=O bloqueio do cofre falhou.
-lock.fail.message=Cofre "%s" não pôde ser bloqueado. Certifique-se de que o trabalho não salvo está salvo em outro lugar e que operações de Leitura/Escrita importantes sejam concluídas. Para fechar o cofre, encerre o processo do Cryptomator.
+lock.fail.message=O bloqueio do cofre falhou.
+lock.fail.description=Cofre "%s" não pôde ser bloqueado. Certifique-se de que o trabalho não salvo está salvo em outro lugar e que operações de Leitura/Escrita importantes sejam concluídas. Para fechar o cofre, encerre o processo do Cryptomator.
# Migration
migration.title=Atualizar Cofre
@@ -191,6 +202,7 @@ preferences.title=Preferências
## General
preferences.general=Geral
preferences.general.startHidden=Ocultar janela ao iniciar o Cryptomator
+preferences.general.autoCloseVaults=Bloquear cofres abertos automaticamente ao sair do aplicativo
preferences.general.debugLogging=Ativar log de debug
preferences.general.debugDirectory=Mostrar arquivos de log
preferences.general.autoStart=Iniciar o Cryptomator durante inicialização do sistema
@@ -223,7 +235,7 @@ preferences.updates.updateAvailable=Atualizar para versão %s disponível.
## Contribution
preferences.contribute=Nos Apoie
preferences.contribute.registeredFor=Certificado de apoiador registrado para %s
-preferences.contribute.noCertificate=Apoie o Cryptomator e receba um certificado de apoiador. Ele é uma chave de licença mas é para pessoas maravilhosas que usam software livre. ;-)
+preferences.contribute.noCertificate=Apoie o Cryptomator e receba um certificado de apoiador. Ele é como uma chave de licença para pessoas maravilhosas que usam software livre. ;-)
preferences.contribute.getCertificate=Não tem um ainda? Saiba como obtê-lo.
preferences.contribute.promptText=Cole o código do certificado de apoiador aqui
#<-- Add entries for donations and code/translation/documentation contribution -->
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=Fechar
main.minimizeBtn.tooltip=Minimizar
main.preferencesBtn.tooltip=Preferências
main.debugModeEnabled.tooltip=Modo de depuração ativado
-main.donationKeyMissing.tooltip=Por favor, considere uma doação
+main.supporterCertificateMissing.tooltip=Por favor, considere doar para esse projeto
## Drag 'n' Drop
main.dropZone.dropVault=Adicionar este cofre
main.dropZone.unknownDragboardContent=Se você quer adicionar um cofre, arraste-o para esta janela
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=Erro ao carregar cofre
# Wrong File Alert
wrongFileAlert.title=Como Encriptar Arquivos
-wrongFileAlert.header.title=Você tentou encriptar esses arquivos?
-wrongFileAlert.header.lead=Para este propósito, o Cryptomator fornece um volume no seu gerenciador de arquivos do sistema.
+wrongFileAlert.message=Você tentou encriptar esses arquivos?
+wrongFileAlert.description=Para este propósito, o Cryptomator fornece um volume no seu gerenciador de arquivos do sistema.
wrongFileAlert.instruction.0=Para encriptar arquivos, siga estes passos:
wrongFileAlert.instruction.1=1. Desbloqueie o seu cofre.
wrongFileAlert.instruction.2=2. Clique em "Revelar" para abrir o volume no seu gerenciador de arquivos.
@@ -352,17 +364,27 @@ vaultOptions.masterkey.changePasswordBtn=Alterar Senha
vaultOptions.masterkey.forgetSavedPasswordBtn=Esquecer a senha salva
vaultOptions.masterkey.recoveryKeyExplanation=Se você perder a sua senha, a única forma de restaurar acesso a um cofre é através de uma chave de recuperação.
vaultOptions.masterkey.showRecoveryKeyBtn=Exibir chave de recuperação
-vaultOptions.masterkey.recoverPasswordBtn=Recuperar Senha
+vaultOptions.masterkey.recoverPasswordBtn=Redefinir Senha
# Recovery Key
-recoveryKey.title=Chave de recuperação
-recoveryKey.enterPassword.prompt=Digite sua senha para mostrar a chave de recuperação de "%s":
-recoveryKey.display.message=A seguinte chave de recuperação pode ser usada para restaurar o acesso a "%s":
+## Display Recovery Key
+recoveryKey.display.title=Mostrar Chave de Recuperação
+recoveryKey.create.message=Senha obrigatória
+recoveryKey.create.description=Digite sua senha para mostrar a chave de recuperação de "%s":
+recoveryKey.display.description=A seguinte chave de recuperação pode ser usada para restaurar o acesso a "%s":
recoveryKey.display.StorageHints=Mantenha-a em um lugar bem seguro, por exemplo:\n • Guarde num gerenciador de senhas\n • Grave num flash drive USB\n • Imprima, ou escreva, num papel
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Redefinir Senha
recoveryKey.recover.prompt=Digite sua chave de recuperação para "%s":
recoveryKey.recover.validKey=Esta é uma chave de recuperação válida
recoveryKey.printout.heading=Chave de Recuperação do Cryptomator\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=Redefinir
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Senha redefinida com sucesso
+recoveryKey.recover.resetSuccess.description=Você pode desbloquear o seu cofre com a nova senha.
# New Password
newPassword.promptText=Digite a nova senha
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=Forte
passwordStrength.messageLabel.4=Muito forte
# Quit
-quit.prompt=Sair da aplicação? Existem cofres desbloqueados.
-quit.lockAndQuit=Bloquear e Sair
+quit.title=Sair da aplicação
+quit.message=Existem cofres desbloqueados
+quit.description=Por favor, confirme que você deseja sair. O Cryptomador irá bloquear cuidadosamente todos os cofres abertos para evitar a perda de dados.
+quit.lockAndQuitBtn=Bloquear e Sair
+
+# Forced Quit
+quit.forced.message=Alguns cofres não puderam ser trancados
+quit.forced.description=O bloqueio de cofres foi bloqueado por operações pendentes ou arquivos abertos. Você pode forçar o bloqueio dos cofres restantes, no entanto interromper o I/O pode resultar na perda de dados não salvos.
+quit.forced.forceAndQuitBtn=Forçar e Sair
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_ro.properties b/src/main/resources/i18n/strings_ro.properties
index cf59d1046..42b5acc5a 100644
--- a/src/main/resources/i18n/strings_ro.properties
+++ b/src/main/resources/i18n/strings_ro.properties
@@ -6,13 +6,16 @@ generic.button.apply=Aplică
generic.button.back=Înapoi
generic.button.cancel=Anulează
generic.button.change=Modifică
+generic.button.choose=Alege…
generic.button.close=Închide
generic.button.copy=Copiază
generic.button.copied=Copiat!
generic.button.done=Terminat
generic.button.next=Următorul
generic.button.print=Tipărește
-## Error
+
+# Error
+error.message=A apărut o eroare
# Defaults
defaults.vault.vaultName=Seif
@@ -46,7 +49,6 @@ addvaultwizard.new.fileAlreadyExists=Există deja un fișier sau un dosar cu num
addvaultwizard.new.locationDoesNotExist=Dosarul în calea specificată nu există sau nu poate fi accesat
addvaultwizard.new.locationIsNotWritable=Nu există acces la scriere la calea specificată
addvaultwizard.new.locationIsOk=Locația potrivită pentru seiful dumneavoastră
-addvaultwizard.new.invalidName=Nume seif invalid. Vă rugăm sa luați în considerare un nume de dosar obișnuit.
### Password
addvaultwizard.new.createVaultBtn=Crează seif
addvaultwizard.new.generateRecoveryKeyChoice=Nu veți putea accesa datele dvs. fără parolă. Doriți o cheie de recuperare pentru cazul în care vă pierdeți parola?
@@ -77,7 +79,7 @@ addvaultwizard.success.unlockNow=Deblochează acum
# Remove Vault
removeVault.title=Eliminați seiful
-removeVault.information=Acest lucru va face Cryptomator să uite de acest seif. Îl puteţi adăuga din nou mai târziu. Nici un fişier criptat nu va fi şters din hard disk-ul dvs.
+removeVault.description=Acest lucru va face Cryptomator să uite de acest seif. Îl puteţi adăuga din nou mai târziu. Nici un fişier criptat nu va fi şters din hard disk-ul dvs.
removeVault.confirmBtn=Eliminați seiful
# Change Password
@@ -87,7 +89,7 @@ changepassword.finalConfirmation=Înțeleg că nu voi putea accesa datele mele d
# Forget Password
forgetPassword.title=Parolă uitată
-forgetPassword.information=Această acțiune va șterge parola salvată a acestui seif din keychain-ul sistemului de operare.
+forgetPassword.description=Această acțiune va șterge parola salvată a acestui seif din keychain-ul sistemului de operare.
forgetPassword.confirmBtn=Parolă uitată
# Unlock
@@ -96,26 +98,25 @@ unlock.passwordPrompt=Introduceți parola pentru "%s":
unlock.savePassword=Memorează parola
unlock.unlockBtn=Deblocați
## Select
-unlock.chooseMasterkey.prompt=Nu s-a putut găsi fișierul masterkey pentru acest seif la locația așteptată. Vă rugăm să alegeți manual fișierul cheie.
-unlock.chooseMasterkey.chooseBtn=Alege…
+unlock.chooseMasterkey.description=Nu s-a putut găsi fișierul masterkey pentru acest seif la locația așteptată. Vă rugăm să alegeți manual fișierul cheie.
unlock.chooseMasterkey.filePickerTitle=Selectaţi fişierul Masterkey
## Success
-unlock.success.message=Deblocat "%s" cu succes! Seiful dvs. este acum accesibil prin unitatea sa virtuală.
+unlock.success.description=Deblocat "%s" cu succes! Seiful dvs. este acum accesibil prin unitatea sa virtuală.
unlock.success.rememberChoice=Ține minte alegerea, nu mai arăta asta din nou
unlock.success.revealBtn=Dezvăluie unitatea
## Failure
-unlock.error.heading=Imposibil de deblocat seiful
+unlock.error.message=Imposibil de deblocat seiful
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Punctul de montare "%s" nu este un dosar, nu este gol sau nu există.
unlock.error.invalidMountPoint.existing=Punctul de montare "%s" există deja sau dosarul părinte lipsește.
# Lock
## Force
-lock.forced.message=Blocarea "%s" a fost blocată de operațiile în așteptare sau de fișierele deschise. Puteți forța blocarea acestui seif, dar întreruperea I/O poate duce la pierderea datelor nesalvate.
+lock.forced.description=Blocarea "%s" a fost blocată de operațiile în așteptare sau de fișierele deschise. Puteți forța blocarea acestui seif, dar întreruperea I/O poate duce la pierderea datelor nesalvate.
lock.forced.retryBtn=Încercați din nou
## Failure
-lock.fail.heading=Blocarea seifului a eșuat.
-lock.fail.message=Seiful "%s" nu a putut fi blocat. Asigurați-vă că lucrările nesalvate sunt salvate altundeva și că operațiunile importante de citire/scriere sunt terminate. Pentru a închide seiful omoară procesul Cryptomator.
+lock.fail.message=Blocarea seifului a eșuat.
+lock.fail.description=Seiful "%s" nu a putut fi blocat. Asigurați-vă că lucrările nesalvate sunt salvate altundeva și că operațiunile importante de citire/scriere sunt terminate. Pentru a închide seiful omoară procesul Cryptomator.
# Migration
migration.title=Îmbunătățește seiful
@@ -244,7 +245,7 @@ main.closeBtn.tooltip=Închide
main.minimizeBtn.tooltip=Minimizează
main.preferencesBtn.tooltip=Preferințe
main.debugModeEnabled.tooltip=Modul de depanare este activat
-main.donationKeyMissing.tooltip=Vă rugăm să luați în considerare o donație
+main.supporterCertificateMissing.tooltip=Vă rugăm să luați în considerare o donație
## Drag 'n' Drop
main.dropZone.dropVault=Adaugă acest seif
main.dropZone.unknownDragboardContent=Dacă doriţi să adăugaţi un seif, trageţi-l în această fereastră
@@ -289,8 +290,8 @@ main.vaultDetail.migratePrompt=Înainte de a-l putea accesa, seiful dumneavoastr
# Wrong File Alert
wrongFileAlert.title=Cum să criptați fișierele
-wrongFileAlert.header.title=Ați încercat să criptați aceste fișiere?
-wrongFileAlert.header.lead=În acest scop, Cryptomator oferă un volum în managerul de fișiere al sistemului dumneavoastră.
+wrongFileAlert.message=Ați încercat să criptați aceste fișiere?
+wrongFileAlert.description=În acest scop, Cryptomator oferă un volum în managerul de fișiere al sistemului dumneavoastră.
wrongFileAlert.instruction.0=Pentru a cripta fișierele, urmați acești pași:
wrongFileAlert.instruction.1=1. Deblocați seiful dvs.
wrongFileAlert.instruction.2=2. Apăsați pe butonul "Afişare" pentru a deschide volumul în managerul de fișiere.
@@ -327,17 +328,20 @@ vaultOptions.masterkey.changePasswordBtn=Schimbați parola
vaultOptions.masterkey.forgetSavedPasswordBtn=Parolă salvată uitată
vaultOptions.masterkey.recoveryKeyExplanation=O cheie de recuperare este singurul mijloc de a restabili accesul la un seif în caz că vă pierdeți parola.
vaultOptions.masterkey.showRecoveryKeyBtn=Afișează cheia de recuperare
-vaultOptions.masterkey.recoverPasswordBtn=Recuperează parola
# Recovery Key
-recoveryKey.title=Cheia de recuperare
-recoveryKey.enterPassword.prompt=Introduceți parola pentru a afișa cheia de recuperare pentru "%s:
-recoveryKey.display.message=Următoarea cheie de recuperare poate fi folosită pentru a restabili accesul la "%s":
+## Display Recovery Key
+recoveryKey.create.description=Introduceți parola pentru a afișa cheia de recuperare pentru "%s:
+recoveryKey.display.description=Următoarea cheie de recuperare poate fi folosită pentru a restabili accesul la "%s":
recoveryKey.display.StorageHints=Păstrați cheia de recuperare undeva foarte sigur, de ex.\n • Păstrați-o folosind un manager de parole\n • Salvați-o pe un flash USB stick\n • Imprimați-o pe hârtie
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Introduceți cheia de recuperare pentru "%s:
recoveryKey.recover.validKey=Aceasta este o cheie de recuperare validă
recoveryKey.printout.heading=Cheia de recuperare Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Introduceți o parolă nouă
@@ -352,5 +356,6 @@ passwordStrength.messageLabel.3=Puternică
passwordStrength.messageLabel.4=Foarte puternică
# Quit
-quit.prompt=Părăsiți aplicația? Există seifuri deblocate.
-quit.lockAndQuit=Blocați și ieșiți
+quit.lockAndQuitBtn=Blocați și ieșiți
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_ru.properties b/src/main/resources/i18n/strings_ru.properties
index a8da5de2f..0ad2424bb 100644
--- a/src/main/resources/i18n/strings_ru.properties
+++ b/src/main/resources/i18n/strings_ru.properties
@@ -6,18 +6,20 @@ generic.button.apply=Применить
generic.button.back=Назад
generic.button.cancel=Отмена
generic.button.change=Изменить
+generic.button.choose=Выбрать…
generic.button.close=Закрыть
generic.button.copy=Скопировать
generic.button.copied=Скопировано!
generic.button.done=Готово
generic.button.next=Далее
generic.button.print=Печать
-## Error
-generic.error.title=Ошибка: %s
-generic.error.instruction=Произошла непредвиденная ситуация. Попробуйте найти уже имеющиеся решения этой ошибки. Если об этой ошибке ещё не сообщали, то сообщите вы.
-generic.error.hyperlink.lookup=Найти ошибку
-generic.error.hyperlink.report=Сообщить об ошибке
-generic.error.technicalDetails=Подробности:
+
+# Error
+error.message=Ошибка: %s
+error.description=Произошла непредвиденная ситуация. Попробуйте найти уже имеющиеся решения этой ошибки. Если об этой ошибке ещё не сообщали, то сообщите вы.
+error.hyperlink.lookup=Найти ошибку
+error.hyperlink.report=Сообщить об ошибке
+error.technicalDetails=Подробности:
# Defaults
defaults.vault.vaultName=Хранилище
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=Файл или папка с именем
addvaultwizard.new.locationDoesNotExist=Папка с указанным адресом не существует или недоступна
addvaultwizard.new.locationIsNotWritable=Указанный адрес - только для чтения
addvaultwizard.new.locationIsOk=Подходящее расположение для вашего хранилища
-addvaultwizard.new.invalidName=Неверное имя хранилища. Укажите корректное имя папки.
+addvaultwizard.new.invalidName=Неверное имя хранилища
+addvaultwizard.new.validName=Допустимое имя хранилища
+addvaultwizard.new.validCharacters.message=Имя хранилища может содержать следующие символы:
+addvaultwizard.new.validCharacters.chars=Буквы (например a, ж или 수)
+addvaultwizard.new.validCharacters.numbers=Цифры
+addvaultwizard.new.validCharacters.dashes=Дефис (%s) или подчёркивание (%s)
### Password
addvaultwizard.new.createVaultBtn=Создать хранилище
addvaultwizard.new.generateRecoveryKeyChoice=Вы не сможете получить доступ к своим данным без пароля. Хотите создать ключ для восстановления на случай утери пароля?
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=Этот файл можно удалить
addvaultwizard.existing.instruction=Выберите файл "vault.cryptomator" существующего хранилища. Если имеется только файл "masterkey.cryptomator", выберите его.
addvaultwizard.existing.chooseBtn=Выбрать…
addvaultwizard.existing.filePickerTitle=Выберите файл хранилища
+addvaultwizard.existing.filePickerMimeDesc=Хранилище Cryptomator
## Success
addvaultwizard.success.nextStepsInstructions=Добавлено хранилище "%s".\nДля добавления данных или доступа к содержимому нужно разблокировать хранилище. Его можно разблокировать и позже.
addvaultwizard.success.unlockNow=Разблокировать
# Remove Vault
removeVault.title=Удалить хранилище
-removeVault.information=Cryptomator просто забудет это хранилище. Позже вы можете добавить его снова. Зашифрованные файлы не будут удалены с жёсткого диска.
+removeVault.message=Удалить хранилище?
+removeVault.description=Cryptomator просто забудет это хранилище. Позже вы можете добавить его снова. Зашифрованные файлы не будут удалены с жёсткого диска.
removeVault.confirmBtn=Удалить хранилище
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=Я понимаю, что не смогу по
# Forget Password
forgetPassword.title=Забыть пароль
-forgetPassword.information=Сохранённый пароль от этого хранилища будет удалён из вашей связки ключей.
+forgetPassword.message=Забыли сохранённый пароль?
+forgetPassword.description=Сохранённый пароль от этого хранилища будет удалён из вашей связки ключей.
forgetPassword.confirmBtn=Забыть пароль
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt=Введите пароль для "%s"
unlock.savePassword=Запомнить пароль
unlock.unlockBtn=Разблокировать
## Select
-unlock.chooseMasterkey.title=Выберите файл MasterKey для "%s"
-unlock.chooseMasterkey.prompt=Не удалось найти файл MasterKey для этого хранилища в ожидаемом месте. Выберите ключевой файл вручную.
-unlock.chooseMasterkey.chooseBtn=Выбрать…
+unlock.chooseMasterkey.message=Файл Masterkey не найден
+unlock.chooseMasterkey.description=Не удалось найти файл MasterKey для этого хранилища в ожидаемом месте. Выберите ключевой файл вручную.
unlock.chooseMasterkey.filePickerTitle=Выберите файл MasterKey
+unlock.chooseMasterkey.filePickerMimeDesc=Мастер-ключ Cryptomator
## Success
-unlock.success.message=Разблокировка "%s" успешно выполнена! Доступ в хранилище открыт через его виртуальный диск.
+unlock.success.message=Разблокировка прошла успешно
+unlock.success.description=Разблокировка "%s" успешно выполнена! Доступ в хранилище открыт через его виртуальный диск.
unlock.success.rememberChoice=Запомнить выбор и больше не спрашивать
unlock.success.revealBtn=Показать диск
## Failure
-unlock.error.heading=Невозможно разблокировать хранилище
+unlock.error.message=Невозможно разблокировать хранилище
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Точка монтирования %s - не папка, не пуста или не существует.
unlock.error.invalidMountPoint.existing=Точка монтирования %s уже существует, либо отсутствует родительская папка.
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Буква диска "%s" у
# Lock
## Force
-lock.forced.heading=Не удалось заблокировать
-lock.forced.message=Блокировка "%s" невозможна из-за незавершённых операций или открытых файлов. Вы можете заблокировать это хранилище принудительно, однако прерывание ввода-вывода может привести к потере несохранённых данных.
+lock.forced.message=Не удалось заблокировать
+lock.forced.description=Блокировка "%s" невозможна из-за незавершённых операций или открытых файлов. Вы можете заблокировать это хранилище принудительно, однако прерывание ввода-вывода может привести к потере несохранённых данных.
lock.forced.retryBtn=Повторить
lock.forced.forceBtn=Принудительная блокировка
## Failure
-lock.fail.heading=Не удалось заблокировать хранилище.
-lock.fail.message=Хранилище "%s" не удалось заблокировать. Убедитесь, что несохранённые данные сохранены в другом месте и завершены важные операции чтения/записи. Чтобы закрыть хранилище, завершите процесс Cryptomator.
+lock.fail.message=Не удалось заблокировать хранилище.
+lock.fail.description=Хранилище "%s" не удалось заблокировать. Убедитесь, что несохранённые данные сохранены в другом месте и завершены важные операции чтения/записи. Чтобы закрыть хранилище, завершите процесс Cryptomator.
# Migration
migration.title=Обновить хранилище
@@ -191,6 +202,7 @@ preferences.title=Настройки
## General
preferences.general=Общие
preferences.general.startHidden=Скрывать окно при запуске Cryptomator
+preferences.general.autoCloseVaults=Автоблокировка открытых хранилищ при выходе из приложения
preferences.general.debugLogging=Вести журнал отладки
preferences.general.debugDirectory=Показать файлы журнала
preferences.general.autoStart=Запускать Cryptomator при старте системы
@@ -201,7 +213,7 @@ preferences.interface.theme=Отображение
preferences.interface.theme.automatic=Автоматически
preferences.interface.theme.dark=Тёмная
preferences.interface.theme.light=Светлая
-preferences.interface.unlockThemes=Разблокировать тёмнцю тему
+preferences.interface.unlockThemes=Разблокировать тёмную тему
preferences.interface.language=Язык (требуется перезапуск)
preferences.interface.language.auto=Настройки системы по умолчанию
preferences.interface.interfaceOrientation=Ориентация интерфейса
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=Закрыть
main.minimizeBtn.tooltip=Свернуть
main.preferencesBtn.tooltip=Настройки
main.debugModeEnabled.tooltip=Включён режим отладки
-main.donationKeyMissing.tooltip=Мы будем рады финансовой помощи
+main.supporterCertificateMissing.tooltip=Мы будем рады финансовой помощи
## Drag 'n' Drop
main.dropZone.dropVault=Добавить это хранилище
main.dropZone.unknownDragboardContent=Если вы хотите добавить хранилище, перетащите его в это окно
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=Ошибка загрузки хранили
# Wrong File Alert
wrongFileAlert.title=Как шифровать файлы
-wrongFileAlert.header.title=Вы пытались зашифровать эти файлы?
-wrongFileAlert.header.lead=Для этого Cryptomator создаёт том в системном диспетчере файлов.
+wrongFileAlert.message=Вы пытались зашифровать эти файлы?
+wrongFileAlert.description=Для этого Cryptomator создаёт том в системном диспетчере файлов.
wrongFileAlert.instruction.0=Чтобы зашифровать файлы, выполните следующее:
wrongFileAlert.instruction.1=1. Разблокируйте хранилище.
wrongFileAlert.instruction.2=2. Нажмите кнопку "Показать", чтобы открыть том в диспетчере файлов.
@@ -352,17 +364,27 @@ vaultOptions.masterkey.changePasswordBtn=Изменить пароль
vaultOptions.masterkey.forgetSavedPasswordBtn=Забыть сохранённый пароль
vaultOptions.masterkey.recoveryKeyExplanation=При утере пароля восстановить доступ к хранилищу можно только с помощью ключа восстановления.
vaultOptions.masterkey.showRecoveryKeyBtn=Показать ключ восстановления
-vaultOptions.masterkey.recoverPasswordBtn=Восстановить пароль
+vaultOptions.masterkey.recoverPasswordBtn=Сброс пароля
# Recovery Key
-recoveryKey.title=Ключ восстановления
-recoveryKey.enterPassword.prompt=Введите пароль, чтобы показать ключ для "%s":
-recoveryKey.display.message=Ключ для восстановления доступа к "%s":
+## Display Recovery Key
+recoveryKey.display.title=Показать ключ восстановления
+recoveryKey.create.message=Требуется пароль
+recoveryKey.create.description=Введите пароль, чтобы показать ключ для "%s":
+recoveryKey.display.description=Ключ для восстановления доступа к "%s":
recoveryKey.display.StorageHints=Храните его в надёжном месте, например:\n • в диспетчере паролей\n • на флеш-накопителе USB\n • распечатанным на бумаге
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Сброс пароля
recoveryKey.recover.prompt=Введите ключ восстановления для "%s":
recoveryKey.recover.validKey=Это действительный ключ восстановления
recoveryKey.printout.heading=Ключ восстановления Cryptomator\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=Сброс
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Пароль успешно сброшен
+recoveryKey.recover.resetSuccess.description=Вы можете разблокировать хранилище новым паролем.
# New Password
newPassword.promptText=Введите новый пароль
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=Сильный
passwordStrength.messageLabel.4=Очень сильный
# Quit
-quit.prompt=Выйти из приложения? Есть незаблокированные хранилища.
-quit.lockAndQuit=Заблокировать и выйти
+quit.title=Выйти из приложения
+quit.message=Есть открытые хранилища
+quit.description=Пожалуйста, подтвердите, что вы хотите выйти. Криптоматор корректно заблокирует все разблокированные хранилища для предотвращения потери данных.
+quit.lockAndQuitBtn=Заблокировать и выйти
+
+# Forced Quit
+quit.forced.message=Некоторые хранилища не могут быть заблокированы
+quit.forced.description=Блокировка хранилищ была прервана из-за отложенной операции или открытых файлов. Вы можете заблокировать оставшиеся хранилища принудительно, однако прерывание ввода-вывода может привести к потере несохранённых данных.
+quit.forced.forceAndQuitBtn=Заблокировать и выйти
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_si.properties b/src/main/resources/i18n/strings_si.properties
new file mode 100644
index 000000000..6bd3176c3
--- /dev/null
+++ b/src/main/resources/i18n/strings_si.properties
@@ -0,0 +1,114 @@
+# Locale Specific CSS files such as CJK, RTL,...
+
+# Generics
+## Button
+generic.button.apply=යොදන්න
+generic.button.back=ආපසු
+generic.button.cancel=අවලංගු
+generic.button.change=වෙනස් කරන්න
+generic.button.close=වසන්න
+generic.button.copy=පිටපත් කරන්න
+generic.button.copied=පිටපත් කිරීම සම්පූර්ණයි!
+generic.button.done=සම්පූර්ණයි
+generic.button.next=ඊළඟ
+generic.button.print=මුද්රණය කරන්න
+
+# Error
+error.message=දෝෂය: %s
+error.technicalDetails=විස්තර:
+
+# Defaults
+
+# Tray Menu
+traymenu.showMainWindow=පෙන්වන්න
+traymenu.vault.unlock=අගුළුහරින්න
+
+# Add Vault Wizard
+## Welcome
+## New
+### Name
+### Location
+addvaultwizard.new.locationPrompt=…
+### Password
+### Information
+## Existing
+## Success
+
+# Remove Vault
+
+# Change Password
+
+# Forget Password
+
+# Unlock
+unlock.unlockBtn=අගුළුහරින්න
+## Select
+## Success
+## Failure
+### Invalid Mount Point
+
+# Lock
+## Force
+## Failure
+
+# Migration
+## Start
+## Run
+## Success
+## Missing file system capabilities
+## Impossible
+
+# Health Check
+## Start
+## Start Failure
+## Check Selection
+## Detail view
+## Fix Application
+
+# Preferences
+## General
+## Interface
+## Volume
+## Updates
+## Contribution
+#<-- Add entries for donations and code/translation/documentation contribution -->
+
+## About
+
+# Vault Statistics
+## Read
+## Write
+
+# Main Window
+main.closeBtn.tooltip=වසන්න
+## Drag 'n' Drop
+## Vault List
+## Vault Detail
+### Welcome
+### Locked
+### Unlocked
+### Missing
+### Needs Migration
+### Error
+
+# Wrong File Alert
+
+# Vault Options
+## General
+
+## Mount
+## Master Key
+
+
+# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
+
+# New Password
+
+# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_sk.properties b/src/main/resources/i18n/strings_sk.properties
index 3fdfa80b4..fcd8ffa02 100644
--- a/src/main/resources/i18n/strings_sk.properties
+++ b/src/main/resources/i18n/strings_sk.properties
@@ -6,18 +6,20 @@ generic.button.apply=Použiť
generic.button.back=Späť
generic.button.cancel=Zrušiť
generic.button.change=Zmeniť
+generic.button.choose=Vybrať…
generic.button.close=Zavrieť
generic.button.copy=Kopírovať
generic.button.copied=Skopírované!
generic.button.done=Hotovo
generic.button.next=Ďalej
generic.button.print=Tlač
-## Error
-generic.error.title=Chyba %s
-generic.error.instruction=Ejha! Cryptomator toto neočakával. Môžte nahliadnuť do existujúcich riešení tejto chyby. Alebo v prípade že zatiaľ nebola nahlásená, môžte to slobodne urobiť.
-generic.error.hyperlink.lookup=Vyhľadať túto chybu
-generic.error.hyperlink.report=Nahlásiť túto chybu
-generic.error.technicalDetails=Podrobnosti:
+
+# Error
+error.message=Vyskytla sa chyba
+error.description=Cryptomator toto neočakával. Môžte nahliadnuť do existujúcich riešení tejto chyby. Alebo v prípade že zatiaľ nebola nahlásená, môžte to slobodne urobiť.
+error.hyperlink.lookup=Vyhľadať túto chybu
+error.hyperlink.report=Nahlásiť túto chybu
+error.technicalDetails=Podrobnosti:
# Defaults
defaults.vault.vaultName=Trezor
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=Súbor alebo adresár s menom trezoru už e
addvaultwizard.new.locationDoesNotExist=Adresár na danej ceste neexistuje alebo nie je dostupný
addvaultwizard.new.locationIsNotWritable=Nie je umožnený zápis na danej ceste
addvaultwizard.new.locationIsOk=Vhodné umiestnenie pre Váš trezor
-addvaultwizard.new.invalidName=Neplatný názov trezoru. Zvážte bežný názov adresára.
+addvaultwizard.new.invalidName=Neplatné meno trezora
+addvaultwizard.new.validName=Platné meno trezora
+addvaultwizard.new.validCharacters.message=Meno trezora smie obsahovať nasledujúce znaky:
+addvaultwizard.new.validCharacters.chars=Slovné znaky (napr. a, ж alebo 수)
+addvaultwizard.new.validCharacters.numbers=Čísla
+addvaultwizard.new.validCharacters.dashes=Pomlčka (%s) alebo podčiarnik (%s)
### Password
addvaultwizard.new.createVaultBtn=Vytvoriť trezor
addvaultwizard.new.generateRecoveryKeyChoice=Bez hesla nebudete mať prístup k svojim údajom. Chcete obnovovací kľúč pre prípad straty hesla?
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=Tento súbor môžete kedykoľvek odstráni
addvaultwizard.existing.instruction=Zvoľte "vault.cryptomator" súbor Vášho existujúceho trezora. Ak existuje iba súbor s menom "masterkey.cryptomator", vyberte ho namiesto.
addvaultwizard.existing.chooseBtn=Vybrať…
addvaultwizard.existing.filePickerTitle=Zvoľte súbor trezora
+addvaultwizard.existing.filePickerMimeDesc=Trezor Cryptomátora
## Success
addvaultwizard.success.nextStepsInstructions=Pridaný trezor "%s".\nAk chcete získať prístup alebo pridať obsah, musíte tento trezor odomknúť. Prípadne ju môžete odomknúť kedykoľvek neskôr.
addvaultwizard.success.unlockNow=Odomknúť teraz
# Remove Vault
-removeVault.title=Odstrániť trezor
-removeVault.information=To spôsobí, že Cryptomator iba zabudne na tento trezor. Môžete ho pridať znova neskôr. Z pevného disku sa neodstránia žiadne šifrované súbory.
+removeVault.title=Odstrániť "%s"
+removeVault.message=Odstrániť trezor?
+removeVault.description=To spôsobí, že Cryptomator iba zabudne na tento trezor. Môžete ho pridať znova neskôr. Z pevného disku sa neodstránia žiadne šifrované súbory.
removeVault.confirmBtn=Odstrániť trezor
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=Chápem, že ak zabudnem svoje heslo, nebudem m
# Forget Password
forgetPassword.title=Zabudnuté heslo
-forgetPassword.information=Týmto vymažete uložené heslo tohto trezoru z vášho systému kľúčov.
+forgetPassword.message=Zabudnúť uložené heslo?
+forgetPassword.description=Týmto vymažete uložené heslo tohto trezoru z vášho systému kľúčov.
forgetPassword.confirmBtn=Zabudnuté heslo
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt=Zadajte heslo pre "%s":
unlock.savePassword=Odomknúť.uložiťHeslo
unlock.unlockBtn=Odomknúť
## Select
-unlock.chooseMasterkey.title=Vyberte súbor s hlavným kľúčom "%s"
-unlock.chooseMasterkey.prompt=Nemožno nájsť hlavný kľúčový súbor pre tento trezor na jeho očakávanom mieste. Prosím zvoľte kľúčový súbor manuálne.
-unlock.chooseMasterkey.chooseBtn=Vybrať…
+unlock.chooseMasterkey.message=Súbor hlavného kľúča nenájdený
+unlock.chooseMasterkey.description=Nemožno nájsť hlavný kľúčový súbor pre tento trezor na jeho očakávanom mieste. Prosím zvoľte kľúčový súbor manuálne.
unlock.chooseMasterkey.filePickerTitle=Zvoľte hlavný kľúčový súbor
+unlock.chooseMasterkey.filePickerMimeDesc=Hlavný kľúč Cryptomátora
## Success
-unlock.success.message=Odomknutie "%s" úspešné! Váš trezor je už prístupný cez jeho virtuálny disk.
+unlock.success.message=Odomknutie úspešné
+unlock.success.description=Odomknutie "%s" úspešné! Váš trezor je už prístupný cez jeho virtuálny disk.
unlock.success.rememberChoice=Zapamätať voľbu, už viac nezobrazovať
unlock.success.revealBtn=Odkryť disk
## Failure
-unlock.error.heading=Nie je možné odomknúť trezor
+unlock.error.message=Nie je možné odomknúť trezor
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Bod pripojenia "%s" nie je adresár, nie je prázdny alebo neexistuje.
unlock.error.invalidMountPoint.existing=Bod pripojenia "%s" už existuje alebo chýba nadradený adresár.
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Písmeno disku %s sa už pou
# Lock
## Force
-lock.forced.heading=Uzamknutie zlyhalo
-lock.forced.message=Zamknutie "%s" bolo zablokované prebiehajúcimi operáciami alebo otvorenými súbormi. Smiete vynútiť uzamknutie tohto trezoru, ale prerušením I/O môže viesť k strate alebo neuloženiu dát.
+lock.forced.message=Uzamknutie zlyhalo
+lock.forced.description=Zamknutie "%s" bolo zablokované prebiehajúcimi operáciami alebo otvorenými súbormi. Smiete vynútiť uzamknutie tohto trezoru, ale prerušením I/O môže viesť k strate alebo neuloženiu dát.
lock.forced.retryBtn=Skúsiť znovu
lock.forced.forceBtn=Vynútené uzamknutie
## Failure
-lock.fail.heading=Uzatváranie trezoru zlyhalo.
-lock.fail.message=Trezor "%s" nie je možné uzamknúť. Uistite sa že neuložená páca je uložená inde a dôležité Read/Write operácie sú ukončené. Ináč uzavretím trezoru, ukončíte proces Cryptomator-a.
+lock.fail.message=Uzatváranie trezoru zlyhalo.
+lock.fail.description=Trezor "%s" nie je možné uzamknúť. Uistite sa že neuložená páca je uložená inde a dôležité Read/Write operácie sú ukončené. Ináč uzavretím trezoru, ukončíte proces Cryptomator-a.
# Migration
migration.title=Aktualizácia trezora
@@ -191,6 +202,7 @@ preferences.title=Predvoľby
## General
preferences.general=Hlavné
preferences.general.startHidden=Skryť okno počas štartu Cryptomator-a
+preferences.general.autoCloseVaults=Uzamknúť otvorené trezory pri ukončovaní aplikácie
preferences.general.debugLogging=Povoliť logovanie chýb
preferences.general.debugDirectory=Ukázať súbory logov
preferences.general.autoStart=Spustiť Cryptomator pri štarte systému
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=Zavrieť
main.minimizeBtn.tooltip=Minimalizovať
main.preferencesBtn.tooltip=Predvoľby
main.debugModeEnabled.tooltip=Debagovací mód je aktivovaný
-main.donationKeyMissing.tooltip=Prosím zvážte obdarovanie
+main.supporterCertificateMissing.tooltip=Prosím zvážte obdarovanie
## Drag 'n' Drop
main.dropZone.dropVault=Pridať tento trezor
main.dropZone.unknownDragboardContent=Ak chcete pridať tento trezor, potiahnite ho do tohto okna
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=Chyba pri načítavaní trezora
# Wrong File Alert
wrongFileAlert.title=Ako zašifrovať súbory
-wrongFileAlert.header.title=Pokúšate sa dešifrovať tieto súbory?
-wrongFileAlert.header.lead=Pre tento účel Cryptomator poskytuje zväzok vo Vašom súborovom menežérovi.
+wrongFileAlert.message=Pokúšate sa dešifrovať tieto súbory?
+wrongFileAlert.description=Pre tento účel Cryptomator poskytuje zväzok vo Vašom súborovom menežérovi.
wrongFileAlert.instruction.0=Pre zašifrovanie súborov - postupujte týmito krokmi:
wrongFileAlert.instruction.1=1. Odomknúť Váš trezor.
wrongFileAlert.instruction.2=2. Kliknúť na "Odkryť" pre otvorenie zväzku v súborovom menežérovi.
@@ -352,17 +364,27 @@ vaultOptions.masterkey.changePasswordBtn=Zmeniť heslo
vaultOptions.masterkey.forgetSavedPasswordBtn=Zabudnúť uložené heslo
vaultOptions.masterkey.recoveryKeyExplanation=Kľúč pre obnovu je Vašou jedinou cestou k obnove prístupu do trezoru v prípade straty hesla.
vaultOptions.masterkey.showRecoveryKeyBtn=Ukázať klúč obnovy
-vaultOptions.masterkey.recoverPasswordBtn=Odkryť heslo
+vaultOptions.masterkey.recoverPasswordBtn=Resetovanie hesla
# Recovery Key
-recoveryKey.title=Kľúč obnovy
-recoveryKey.enterPassword.prompt=Zadajte Vaše heslo pre zobrazenie kľúča obnovy k "%s":
-recoveryKey.display.message=Nasledujúci kľúč obnovy slúži k prístupu k "%s":
+## Display Recovery Key
+recoveryKey.display.title=Ukázať kľúč obnovenia
+recoveryKey.create.message=Požadované heslo
+recoveryKey.create.description=Zadajte Vaše heslo pre zobrazenie kľúča obnovy k "%s":
+recoveryKey.display.description=Nasledujúci kľúč obnovy slúži k prístupu k "%s":
recoveryKey.display.StorageHints=Uchovávajte ho na bezpečnom mieste, ako napr.:\n- v menežérovi hesiel\n- uložené na USB kľúči\n- vytlačené na papiery
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Resetovanie hesla
recoveryKey.recover.prompt=Zadajte Váš kľúč obnovy pre "%s":
recoveryKey.recover.validKey=Toto je platný kľúč obnovy
recoveryKey.printout.heading=Kľúč obnovy Cryptomator-a\n "%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=Resetovať
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Heslo úspešne zresetované
+recoveryKey.recover.resetSuccess.description=Môžte odomknúť trezor s novým heslom.
# New Password
newPassword.promptText=Zadajte nové heslo
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=Silné
passwordStrength.messageLabel.4=Veľmi silné
# Quit
-quit.prompt=Ukončiť aplikáciu? Sú tu odomknuté trezory.
-quit.lockAndQuit=Zamknúť a Skončiť
+quit.title=Ukončiť aplikáciu
+quit.message=Sú tam odomknuté trezory
+quit.description=Prosím potvrďte, že chcete skončiť. Cryptomator uzamkne všetky odomknuté trezory aby predišiel strate dát.
+quit.lockAndQuitBtn=Zamknúť a Skončiť
+
+# Forced Quit
+quit.forced.message=Niektoré trezory nemožno uzamknúť
+quit.forced.description=Uzavretie trezorov bolo blokované prebiehajúcou operáciou alebo otvorenými súbormi. Môžte vynútiť uzamknutie ostávajúcich trezorov, čo preruší I/O a to môže viesť k strate neuložených dát.
+quit.forced.forceAndQuitBtn=Vynútiť a skončiť
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_sr.properties b/src/main/resources/i18n/strings_sr.properties
index 41802dbe7..346ace354 100644
--- a/src/main/resources/i18n/strings_sr.properties
+++ b/src/main/resources/i18n/strings_sr.properties
@@ -2,141 +2,141 @@
# Generics
## Button
-generic.button.apply=Примени
-generic.button.back=Назад
-generic.button.cancel=Откажи
-generic.button.change=Измени
-generic.button.close=Затвори
-generic.button.copy=Копирај
-generic.button.copied=Копирано!
-generic.button.done=Завршено
-generic.button.next=Даље
-generic.button.print=Штампај
-## Error
+generic.button.apply=Primeni
+generic.button.back=Nazad
+generic.button.cancel=Otkaži
+generic.button.change=Izmeni
+generic.button.choose=Izaberi…
+generic.button.close=Zatvori
+generic.button.copy=Kopiraj
+generic.button.copied=Kopirano!
+generic.button.done=Završeno
+generic.button.next=Dalje
+generic.button.print=Štampaj
+
+# Error
# Defaults
-defaults.vault.vaultName=Сеф
+defaults.vault.vaultName=Sef
# Tray Menu
-traymenu.showMainWindow=Прикажи
-traymenu.showPreferencesWindow=Подешавања
-traymenu.lockAllVaults=Закључај све
-traymenu.quitApplication=Излаз
-traymenu.vault.unlock=Откључај
-traymenu.vault.lock=Закључај
-traymenu.vault.reveal=Откриј
+traymenu.showMainWindow=Prikaži
+traymenu.showPreferencesWindow=Podešavanja
+traymenu.lockAllVaults=Zaključaj sve
+traymenu.quitApplication=Izlaz
+traymenu.vault.unlock=Otključaj
+traymenu.vault.lock=Zaključaj
+traymenu.vault.reveal=Otkrij
# Add Vault Wizard
-addvaultwizard.title=Додавање сефа
+addvaultwizard.title=Dodavanje safa
## Welcome
-addvaultwizard.welcome.newButton=Направи нови сеф
-addvaultwizard.welcome.existingButton=Отвори постојећи сеф
+addvaultwizard.welcome.newButton=Napravi novi sef
+addvaultwizard.welcome.existingButton=Otvori postojeći sef
## New
### Name
-addvaultwizard.new.nameInstruction=Одабери назив за сеф
-addvaultwizard.new.namePrompt=Назив сефа
+addvaultwizard.new.nameInstruction=Odaberi naziv za sef
+addvaultwizard.new.namePrompt=Naziv sefa
### Location
-addvaultwizard.new.locationInstruction=Где Cryptomator да складишти шифроване датотеке вашег сефа?
-addvaultwizard.new.locationLabel=Локација складишта
+addvaultwizard.new.locationInstruction=Gde Cryptomator da skladišti šifrovane datoteke vašeg sefa?
+addvaultwizard.new.locationLabel=Lokacija skladišta
addvaultwizard.new.locationPrompt=…
-addvaultwizard.new.directoryPickerLabel=Друга локација
-addvaultwizard.new.directoryPickerButton=Изабери…
-addvaultwizard.new.directoryPickerTitle=Изабери директоријум
-addvaultwizard.new.fileAlreadyExists=Датотека или директоријум са овим именом сефа већ постоји
-addvaultwizard.new.locationDoesNotExist=Директоријум на датој локацији не постоји или му се не може приступити
-addvaultwizard.new.locationIsNotWritable=Немате приступ писању на датој локацији
-addvaultwizard.new.locationIsOk=Прикладна локација за ваш сеф
-addvaultwizard.new.invalidName=Неважеће име сефа. Молимо вас за одабир обичног имена директоријума.
+addvaultwizard.new.directoryPickerLabel=Druga lokacija
+addvaultwizard.new.directoryPickerButton=Izaberi…
+addvaultwizard.new.directoryPickerTitle=Izaberi direktorijum
+addvaultwizard.new.fileAlreadyExists=Datoteka ili direktorijum sa ovim imenom sefa već postoji
+addvaultwizard.new.locationDoesNotExist=Direktorijum na datoj lokaciji ne postoji ili mu se ne može pristupiti
+addvaultwizard.new.locationIsNotWritable=Nemate pristup pisanju na datoj lokaciji
+addvaultwizard.new.locationIsOk=Prikladna lokacija za vaš sef
### Password
-addvaultwizard.new.createVaultBtn=Направи сеф
-addvaultwizard.new.generateRecoveryKeyChoice=Нећете моћи да приступите вашим подацима без ваше лозинке. Да ли желите резервни кључ у случају губитка лозинке?
-addvaultwizard.new.generateRecoveryKeyChoice.yes=Да молим, увек је добро имати резерву
-addvaultwizard.new.generateRecoveryKeyChoice.no=Не хвала, нећу изгубити своју лозинку
+addvaultwizard.new.createVaultBtn=Napravi sef
+addvaultwizard.new.generateRecoveryKeyChoice=Nećete moći da pristupite vašim podacima bez vaše lozinke. Da li želite rezervni ključ u slučaju gubitka lozinke?
+addvaultwizard.new.generateRecoveryKeyChoice.yes=Da molim, uvek je dobro imati rezervu
+addvaultwizard.new.generateRecoveryKeyChoice.no=Ne hvala, neću izgubiti svoju lozinku
### Information
-addvault.new.readme.storageLocation.fileName=ВАЖНО.rtf
-addvault.new.readme.storageLocation.1=⚠️ ДОКУМЕНТИ СЕФА ⚠️
-addvault.new.readme.storageLocation.2=Ово је локација где је складиштен ваш сеф.
-addvault.new.readme.storageLocation.3=НИ У КОМ СЛУЧАЈУ НЕМОЈТЕ
-addvault.new.readme.storageLocation.4=• мењати било коју датотеку у овом директоријуму или
-addvault.new.readme.storageLocation.5=• стављати било коју датотеку који желите да заштитите директно у овај директоријум.
-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.accessLocation.fileName=ДОБРОДОШЛИ.rtf
-addvault.new.readme.accessLocation.1=🔐️ ШИФРОВАНА ПАРТИЦИЈА 🔐️
-addvault.new.readme.accessLocation.2=Ово је приступна локација вашег сефа.
-addvault.new.readme.accessLocation.3=Било која датотека додата у ову партицију биће шифровани са Cryptomator. Можете да радите у њој баш као у било којој другој партицији или директоријуму. Ово је само дешифрован преглед њеног садржаја, ваше датотеке остају шифроване на вашем тврдом диску све време.
-addvault.new.readme.accessLocation.4=Слободно можете да обришете ову датотеку.
+addvault.new.readme.storageLocation.fileName=VAŽNO.rtf
+addvault.new.readme.storageLocation.1=⚠️ DOKUMENTI SEFA ⚠️
+addvault.new.readme.storageLocation.2=Ovo je lokacija gde je skladišten vaš sef.
+addvault.new.readme.storageLocation.3=NI U KOM SLUČAJU NEMOJTE
+addvault.new.readme.storageLocation.4=• menjati bilo koju datoteku u ovom direktorijumu ili
+addvault.new.readme.storageLocation.5=• stavljati bilo koju datoteku koji želite da zaštitite direktno u ovaj direktorijum.
+addvault.new.readme.storageLocation.6=Ako želite da zaštitite dokumente ili pregledate sadržaj sefa, uradite sledeće:
+addvault.new.readme.storageLocation.7=1. Dodajte ovaj sef u Cryptomator.
+addvault.new.readme.storageLocation.8=2. Otključajte sef u Cryptomator.
+addvault.new.readme.storageLocation.9=3. Otvorite lokaciju sefa pritiskom na dugme "Otkrij".
+addvault.new.readme.storageLocation.10=Ako vam je potrebna pomoć, pročitajte dokumentaciju: %s
+addvault.new.readme.accessLocation.fileName=DOBRODOŠLI.rtf
+addvault.new.readme.accessLocation.1=🔐️ ŠIFROVANA PARTICIJA 🔐️
+addvault.new.readme.accessLocation.2=Ovo je pristupna lokacija vašeg sefa.
+addvault.new.readme.accessLocation.3=Bilo koja datoteka dodata u ovu particiju biće šifrovana sa Cryptomator. Možete da radite u njoj baš kao i u bilo kojoj drugoj particiji ili direktorijumu. Ovo je samo dešifrovan pregled njenog sadržaja, vaše datoteke ostaju šifrovane na vašem tvrdom disku sve vreme.
+addvault.new.readme.accessLocation.4=Slobodno možete da obrišete ovu datoteku.
## Existing
-addvaultwizard.existing.chooseBtn=Изабери…
+addvaultwizard.existing.chooseBtn=Izaberi…
## Success
-addvaultwizard.success.nextStepsInstructions=Додат је сеф "%s".\nМорате да откључате овај сеф да бисте приступили или додали садржај. Такође можете да га откључате касније у било ком тренутку.
-addvaultwizard.success.unlockNow=Откључај сада
+addvaultwizard.success.nextStepsInstructions=Dodat je sef "%s".\nMorate da otključate ovaj sef da biste pristupili ili dodali sadržaj. Takođe možete da ga otključate kasnije u bilo kom trenutku.
+addvaultwizard.success.unlockNow=Otključaj sada
# Remove Vault
-removeVault.title=Уклони сеф
-removeVault.information=Ово ће урадити да Cryptomator заборави ваш сеф. Увек га поново можете додати касније. Шифроване датотеке неће бити обрисане са вашег тврдог диска.
-removeVault.confirmBtn=Уклони сеф
+removeVault.title=Ukloni sef
+removeVault.description=Ovo će uraditi da Cryptomator zaboravi vaš sef. Uvek ga ponovo možete dodati kasnije. Šifrovane datoteke neće biti obrisane sa vašeg tvrdog diska.
+removeVault.confirmBtn=Ukloni sef
# Change Password
-changepassword.title=Промена лозинке
-changepassword.enterOldPassword=Унеси тренутну лозинку за "%s"
-changepassword.finalConfirmation=Разумем да нећу моћи приступити својим подацима уколико заборавим лозинку
+changepassword.title=Promena lozinke
+changepassword.enterOldPassword=Unesi trenutnu lozinku za "%s"
+changepassword.finalConfirmation=Razumem da neću moći pristupiti svojim podacima ukoliko zaboravim lozinku
# Forget Password
-forgetPassword.title=Заборави лозинку
-forgetPassword.information=Ово ће избрисати сачувану лозинку овог сефа из вашег системског менаџера лозинки.
-forgetPassword.confirmBtn=Заборави лозинку
+forgetPassword.title=Zaboravi lozinku
+forgetPassword.description=Ovo će izbrisati sačuvanu lozinku ovog sefa iz vašeg sistemskog menadžera lozinki.
+forgetPassword.confirmBtn=Zaboravi lozinku
# Unlock
-unlock.passwordPrompt=Унесите лозинку за "%s":
-unlock.savePassword=Запамти лозинку
-unlock.unlockBtn=Откључај
+unlock.passwordPrompt=Unesite lozinku za "%s":
+unlock.savePassword=Zapamti lozinku
+unlock.unlockBtn=Otključaj
## Select
-unlock.chooseMasterkey.chooseBtn=Изабери…
-unlock.chooseMasterkey.filePickerTitle=Изабери "Masterkey" датотеку
+unlock.chooseMasterkey.filePickerTitle=Izaberi "Masterkey" datoteku
## Success
-unlock.success.message=Успешно сте откључали "%s"! Ваш сеф је сада доступан путем свог виртуелног диска.
-unlock.success.rememberChoice=Запамти избор, не приказуј ово поново
-unlock.success.revealBtn=Отвори диск
+unlock.success.description=Uspešno ste otključali "%s"! Vaš sef je sada dostupan putem ovog virtuelnog diska.
+unlock.success.rememberChoice=Zapamti izbor, ne prikazuj ovo ponovo
+unlock.success.revealBtn=Otvori disk
## Failure
-unlock.error.heading=Сеф није могуће откључати
+unlock.error.message=Sef nije moguće otključati
### Invalid Mount Point
-unlock.error.invalidMountPoint.notExisting=Тачка везивања "%s" није директоријум, није празна или не постоји.
-unlock.error.invalidMountPoint.existing=Тачка везивања "%s" већ постоји или је надређени директоријум непостојећи.
+unlock.error.invalidMountPoint.notExisting=Tačka vezivanja "%s" nije direktorijum, nije prazna ili ne postoji.
+unlock.error.invalidMountPoint.existing=Tačka vezivanja "%s" već postoji ili je nadređeni direktorijum nepostojeći.
# Lock
## Force
-lock.forced.message=Закључавање "%s" је блокирано операцијама на чекању или отвореним датотекама. Можете присилно закључати овај сеф, међутим прекид "I/O" операција може резултирати губитком несачуваних података.
+lock.forced.description=Zaključavanje "%s" je blokirano operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid "I/O" operacija može rezultirati gubitkom nesačuvanih podataka.
## Failure
-lock.fail.heading=Закључавање сефа није успело.
-lock.fail.message=Сеф "%s" није могуће закључати. Будите сигурни да је несачувани рад сачуван негде другде и да су важне операције читања/писања завршене. Како бисте затворили сеф, зауставите Cryptomator процес у систему.
+lock.fail.message=Zaključavanje sefa nije uspelo.
+lock.fail.description=Sef "%s" nije moguće zaključati. Budite sigurni da je nesačuvani rad sačuvan negde drugde i da su važne operacije čitanja/pisanja završene. Kako biste zatvorili sef, zaustavite Cryptomator proces u sistemu.
# Migration
-migration.title=Надогради сеф
+migration.title=Nadogradi sef
## Start
-migration.start.prompt=Ваш сеф "%s" мора бити ажуриран на новији формат. Пре наставка, проверите да нема синхронизације на чекању која утиче на овај сеф.
-migration.start.confirm=Да, мој сеф је у потпуности синхронизован
+migration.start.prompt=Vaš sef "%s" mora biti ažuriran na noviji format. Pre nastavka, proverite da nema sinhronizacije na čekanju koja utiče na ovaj sef.
+migration.start.confirm=Da moj sef je u potpunosti sinhronizovan
## Run
-migration.run.enterPassword=Унесите лозинку за "%s"
-migration.run.startMigrationBtn=Преместите сеф
-migration.run.progressHint=Ово би могло потрајати…
+migration.run.enterPassword=Unesite lozinku za "%s"
+migration.run.startMigrationBtn=Premestite sef
+migration.run.progressHint=Ovo bi moglo potrajati…
## Success
-migration.success.nextStepsInstructions="%s" је успешно премештен. Сада можете да откључате ваш сеф.
-migration.success.unlockNow=Откључај сада
+migration.success.nextStepsInstructions="%s" je uspešno premešten. Sada možete da otključate vaš šef.
+migration.success.unlockNow=Otključaj sada
## Missing file system capabilities
-migration.error.missingFileSystemCapabilities.title=Неподржан фајл систем
-migration.error.missingFileSystemCapabilities.description=Премештање није започето, јер се ваш сеф налази на неадекватном фајл систему.
-migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=Фајл систем не подржава дугачка имена датотека.
-migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=Фајл систем не подржава дугачке адресе локација.
-migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=Фајл систем не дозвољава читање.
-migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=Фајл систем не дозвољава писање.
+migration.error.missingFileSystemCapabilities.title=Nepodržan fajl sistem
+migration.error.missingFileSystemCapabilities.description=Premeštanje nije započeto, jer se vaš sef nalazi na neadekvatnom fajl sistemu.
+migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=Fajl sistem ne podržava dugačka imena datoteka.
+migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=Fajl sistem ne podržava dugačke adrese lokacija.
+migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=Fajl sistem ne dozvoljava čitanje.
+migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=Fajl sistem ne dozvoljava pisanje.
## Impossible
-migration.impossible.heading=Сеф не може да се премести
-migration.impossible.reason=Сеф се не може аутоматски преместити јер је његова складишна локација или тачка приступа некомпатибилна.
-migration.impossible.moreInfo=Сеф се и даље може отворити са старијом верзијом. За упутства како ручно преместити сеф, посетите
+migration.impossible.heading=Sef ne može da se premesti
+migration.impossible.reason=Sef se ne može automatski premestiti jer je njegova skladišna lokacija ili tačka pristupa nekompatibilna.
+migration.impossible.moreInfo=Sef se i dalje može otvoriti sa starijom verzijom. Za uputstva kako ručno premestiti sef, posetite
# Health Check
## Start
@@ -146,54 +146,54 @@ migration.impossible.moreInfo=Сеф се и даље може отворити
## Fix Application
# Preferences
-preferences.title=Подешавања
+preferences.title=Podešavanja
## General
-preferences.general=Опште
-preferences.general.startHidden=Сакриј прозор приликом покретања Cryptomator
-preferences.general.debugLogging=Омогући евиденцију отклањања грешака
-preferences.general.debugDirectory=Прикажи датотеке евиденције
-preferences.general.autoStart=Покрени Cryptomator при покретању система
-preferences.general.keychainBackend=Похрани лозинке са
+preferences.general=Opšte
+preferences.general.startHidden=Sakrij prozor prilikom pokretanja Cryptomator
+preferences.general.debugLogging=Omogući evidenciju otklanjanja grešaka
+preferences.general.debugDirectory=Prikaži datoteke evidencije
+preferences.general.autoStart=Pokreni Cryptomator pri pokretanju sistema
+preferences.general.keychainBackend=Pohrani lozinke sa
## Interface
-preferences.interface.theme.dark=Тамна
-preferences.interface.theme.light=Светла
+preferences.interface.theme.dark=Tamna
+preferences.interface.theme.light=Svetla
## Volume
-preferences.volume=Виртуелни Диск
-preferences.volume.type=Тип партиције
+preferences.volume=Virtuelni Disk
+preferences.volume.type=Tip particije
preferences.volume.webdav.port=WebDAV Порт
-preferences.volume.webdav.scheme=WebDAV Шема
+preferences.volume.webdav.scheme=WebDAV Šema
## Updates
-preferences.updates=Ажурирања
-preferences.updates.currentVersion=Тренутна верзија: %s
-preferences.updates.autoUpdateCheck=Аутоматска провера доступних ажурирања
-preferences.updates.checkNowBtn=Провери сада
-preferences.updates.updateAvailable=Ажурирање на верзију %s је доступно.
+preferences.updates=Ažuriranja
+preferences.updates.currentVersion=Trenutna verzija: %s
+preferences.updates.autoUpdateCheck=Automatska provera dostupnih ažuriranja
+preferences.updates.checkNowBtn=Proveri sada
+preferences.updates.updateAvailable=Ažuriranje na verziju %s je dostupno.
## Contribution
-preferences.contribute=Подржите Нас
-preferences.contribute.registeredFor=Сертификат "Пријатељ Пројекта" регистрован на %s
-preferences.contribute.noCertificate=Подржите Cryptomator и добићете сертификат "Пријатељ Пројекта". Нешто као лиценцни кључ али за сјајне људе који користе и подржавају бесплатан софтвер. ;-)
-preferences.contribute.getCertificate=Немате сертификат? Сазнајте како га можете прибавити.
-preferences.contribute.promptText=Унесите ваш "Пријатељ Пројекта" код овде
+preferences.contribute=Podržite Nas
+preferences.contribute.registeredFor=Sertifikat "Prijatelj Projekta" registrovan je na %s
+preferences.contribute.noCertificate=Podržite Cryptomator i dobićete sertifikat "Prijatelj Projekta". Nešto kao licencni ključ ali za sjajne ljude koji koriste i podržavaju besplatan softver. ;-)
+preferences.contribute.getCertificate=Nemate sertifikat? Saznajte kako ga možete pribaviti.
+preferences.contribute.promptText=Unesite vaš "Prijatelj Projekta" kod ovde
#<-- Add entries for donations and code/translation/documentation contribution -->
## About
-preferences.about=О програму
+preferences.about=O programu
# Vault Statistics
-stats.title=Статистика за %s
-stats.cacheHitRate=Фреквентност кеш меморије
+stats.title=Statistika za %s
+stats.cacheHitRate=Frekventnost keš memorije
## Read
-stats.read.throughput.idle=Читање: у приправности
-stats.read.throughput.kibs=Читање: %.2f kiB/s
-stats.read.throughput.mibs=Читање: %.2f MiB/s
-stats.read.total.data.none=Учитано података: -
-stats.read.total.data.kib=Учитано података: %.1f kiB
-stats.read.total.data.mib=Учитано података: %.1f MiB
-stats.read.total.data.gib=Учитано података: %.1f GiB
-stats.decr.total.data.none=Дешифровано података: -
-stats.decr.total.data.kib=Дешифровано података: %.1f kiB
-stats.decr.total.data.mib=Дешифровано података: %.1f MiB
-stats.decr.total.data.gib=Дешифровано података: %.1f GiB
+stats.read.throughput.idle=Čitanje: u pripravnosti
+stats.read.throughput.kibs=Čitanje: %.2f kiB/s
+stats.read.throughput.mibs=Čitanje: %.2f MiB/s
+stats.read.total.data.none=Učitano podataka: -
+stats.read.total.data.kib=Učitano podataka: %.1f kiB
+stats.read.total.data.mib=Učitano podataka: %.1f MiB
+stats.read.total.data.gib=Učitano podataka: %.1f GiB
+stats.decr.total.data.none=Dešifrovano podataka: -
+stats.decr.total.data.kib=Dešifrovano podataka: %.1f kiB
+stats.decr.total.data.mib=Dešifrovano podataka: %.1f MiB
+stats.decr.total.data.gib=Dešifrovano podataka: %.1f GiB
stats.read.accessCount=Укупно учитано: %d
## Write
stats.write.throughput.idle=Писање: у приправности
@@ -210,37 +210,37 @@ stats.encr.total.data.gib=Шифровано података: %.1f GiB
stats.write.accessCount=Укупно уписано: %d
# Main Window
-main.closeBtn.tooltip=Затвори
+main.closeBtn.tooltip=Zatvori
main.minimizeBtn.tooltip=Умањи
-main.preferencesBtn.tooltip=Подешавања
+main.preferencesBtn.tooltip=Podešavanja
main.debugModeEnabled.tooltip=Омогућен је режим отклањања грешака
-main.donationKeyMissing.tooltip=Молимо Вас размислите о донацији пројекту
+main.supporterCertificateMissing.tooltip=Молимо Вас размислите о донацији пројекту
## Drag 'n' Drop
main.dropZone.dropVault=Додај овај сеф
main.dropZone.unknownDragboardContent=Ако желите додати сеф, превуците га у овај прозор
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Кликните овде да додате сеф
main.vaultlist.contextMenu.remove=Уклони…
-main.vaultlist.contextMenu.lock=Закључај
+main.vaultlist.contextMenu.lock=Zaključaj
main.vaultlist.contextMenu.unlock=Откључај…
-main.vaultlist.contextMenu.unlockNow=Откључај сада
+main.vaultlist.contextMenu.unlockNow=Otključaj sada
main.vaultlist.contextMenu.vaultoptions=Прикажи опције сефа
-main.vaultlist.contextMenu.reveal=Прикажи диск
-main.vaultlist.addVaultBtn=Додај сеф
+main.vaultlist.contextMenu.reveal=Otvori disk
+main.vaultlist.addVaultBtn=Dodavanje safa
## Vault Detail
### Welcome
main.vaultDetail.welcomeOnboarding=Хвала вам што сте одабрали Cryptomator за заштиту ваших података. Ако вам је потребна помоћ, прегледајте наше корисничко упутство:
### Locked
main.vaultDetail.lockedStatus=ЗАКЉУЧАНО
main.vaultDetail.unlockBtn=Откључај…
-main.vaultDetail.unlockNowBtn=Откључај сада
+main.vaultDetail.unlockNowBtn=Otključaj sada
main.vaultDetail.optionsBtn=Опције сефа
main.vaultDetail.passwordSavedInKeychain=Лозинка је сачувана
### Unlocked
main.vaultDetail.unlockedStatus=ОТКЉУЧАНО
main.vaultDetail.accessLocation=Садржај Вашег сефа је доступан овде:
-main.vaultDetail.revealBtn=Прикажи диск
-main.vaultDetail.lockBtn=Закључај
+main.vaultDetail.revealBtn=Otvori disk
+main.vaultDetail.lockBtn=Zaključaj
main.vaultDetail.bytesPerSecondRead=Читање:
main.vaultDetail.bytesPerSecondWritten=Писање:
main.vaultDetail.throughput.idle=у стању мировања
@@ -253,14 +253,14 @@ main.vaultDetail.missing.recheck=Провери поново
main.vaultDetail.missing.remove=Удаљи са листе сефова…
main.vaultDetail.missing.changeLocation=Промени локацију сефа…
### Needs Migration
-main.vaultDetail.migrateButton=Надогради сеф
+main.vaultDetail.migrateButton=Nadogradi sef
main.vaultDetail.migratePrompt=Да бисте приступили вашем сефу, он мора бити надограђен на нови формат
### Error
# Wrong File Alert
wrongFileAlert.title=Како шифровати датотеке
-wrongFileAlert.header.title=Да ли сте покушали да шифрујете ове датотеке?
-wrongFileAlert.header.lead=У ту сврху, Cryptomator вам пружа партицију унутар вашег системског менаџера датотека.
+wrongFileAlert.message=Да ли сте покушали да шифрујете ове датотеке?
+wrongFileAlert.description=У ту сврху, Cryptomator вам пружа партицију унутар вашег системског менаџера датотека.
wrongFileAlert.instruction.0=Да бисте шифрирали датотеке, пратите следеће кораке:
wrongFileAlert.instruction.1=1. Откључајте Ваш сеф.
wrongFileAlert.instruction.2=2. Кликните на "Откриј" да бисте отворили партицију унутар вашег менаџера датотека.
@@ -269,12 +269,12 @@ wrongFileAlert.link=За даљу подршку, посетите
# Vault Options
## General
-vaultOptions.general=Опште
-vaultOptions.general.vaultName=Назив сефа
+vaultOptions.general=Opšte
+vaultOptions.general.vaultName=Naziv sefa
vaultOptions.general.unlockAfterStartup=Откључај сеф при покретању Cryptomator
vaultOptions.general.actionAfterUnlock=Након успешног откључавања
vaultOptions.general.actionAfterUnlock.ignore=Не ради ништа
-vaultOptions.general.actionAfterUnlock.reveal=Прикажи диск
+vaultOptions.general.actionAfterUnlock.reveal=Otvori disk
vaultOptions.general.actionAfterUnlock.ask=Питај
## Mount
@@ -286,25 +286,28 @@ vaultOptions.mount.mountPoint=Монтажна тачка
vaultOptions.mount.mountPoint.auto=Аутоматски одабери погодну локацију
vaultOptions.mount.mountPoint.driveLetter=Користи додељено слово диска
vaultOptions.mount.mountPoint.custom=Друга локација
-vaultOptions.mount.mountPoint.directoryPickerButton=Изабери…
+vaultOptions.mount.mountPoint.directoryPickerButton=Izaberi…
vaultOptions.mount.mountPoint.directoryPickerTitle=Изаберите празан директоријум
## Master Key
vaultOptions.masterkey=Лозинка
-vaultOptions.masterkey.changePasswordBtn=Промена лозинке
+vaultOptions.masterkey.changePasswordBtn=Promena lozinke
vaultOptions.masterkey.forgetSavedPasswordBtn=Заборави сачувану лозинку
vaultOptions.masterkey.recoveryKeyExplanation=Резервни кључ је Ваш једини начин да вратите приступ сефу уколико изгубите лозинку.
vaultOptions.masterkey.showRecoveryKeyBtn=Прикажи Резервни Кључ
-vaultOptions.masterkey.recoverPasswordBtn=Обнови лозинку
# Recovery Key
-recoveryKey.title=Резервни Кључ
-recoveryKey.enterPassword.prompt=Унесите Вашу лозинку како бисте приказали резервни кључ за %s:
-recoveryKey.display.message=Следећи резервни кључ може се користити за враћање приступа "%s":
+## Display Recovery Key
+recoveryKey.create.description=Унесите Вашу лозинку како бисте приказали резервни кључ за %s:
+recoveryKey.display.description=Следећи резервни кључ може се користити за враћање приступа "%s":
recoveryKey.display.StorageHints=Чувајте га на веома сигурном месту, нпр.:\n • Похраните га унутар менаџера лозинки\n • Сачувајте га на екстерни диск\n • Одштампајте га на папиру
+## Reset Password
+### Enter Recovery Key
recoveryKey.recover.prompt=Унесите резервни кључ за "%s":
recoveryKey.recover.validKey=Ово је исправан резервни кључ
recoveryKey.printout.heading=Cryptomator Резервни Кључ\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=Унесите нову лозинку
@@ -319,5 +322,6 @@ passwordStrength.messageLabel.3=Jakа
passwordStrength.messageLabel.4=Веома јака
# Quit
-quit.prompt=Затворити програм? Имате откључаних сефова.
-quit.lockAndQuit=Закључај и Изађи
+quit.lockAndQuitBtn=Zaključaj i Izađi
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_sr_Latn.properties b/src/main/resources/i18n/strings_sr_Latn.properties
index 86a2f3c79..1d775d4c6 100644
--- a/src/main/resources/i18n/strings_sr_Latn.properties
+++ b/src/main/resources/i18n/strings_sr_Latn.properties
@@ -6,13 +6,15 @@ generic.button.apply=Primeni
generic.button.back=Nazad
generic.button.cancel=Otkaži
generic.button.change=Izmeni
+generic.button.choose=Izaberi…
generic.button.close=Zatvori
generic.button.copy=Kopiraj
generic.button.copied=Kopirano!
generic.button.done=Završeno
generic.button.next=Dalje
generic.button.print=Štampaj
-## Error
+
+# Error
# Defaults
defaults.vault.vaultName=Sef
@@ -39,14 +41,12 @@ addvaultwizard.new.namePrompt=Naziv sefa
addvaultwizard.new.locationInstruction=Gde Cryptomator da skladišti šifrovane datoteke vašeg sefa?
addvaultwizard.new.locationLabel=Lokacija skladišta
addvaultwizard.new.locationPrompt=…
-addvaultwizard.new.directoryPickerLabel=Druga lokacija
addvaultwizard.new.directoryPickerButton=Izaberi…
addvaultwizard.new.directoryPickerTitle=Izaberi direktorijum
addvaultwizard.new.fileAlreadyExists=Datoteka ili direktorijum sa ovim imenom sefa već postoji
addvaultwizard.new.locationDoesNotExist=Direktorijum na datoj lokaciji ne postoji ili mu se ne može pristupiti
addvaultwizard.new.locationIsNotWritable=Nemate pristup pisanju na datoj lokaciji
addvaultwizard.new.locationIsOk=Prikladna lokacija za vaš sef
-addvaultwizard.new.invalidName=Nevažeće ime sefa. Molimo vas za odabir običnog imena direktorijuma.
### Password
addvaultwizard.new.createVaultBtn=Napravi sef
addvaultwizard.new.generateRecoveryKeyChoice=Nećete moći da pristupite vašim podacima bez vaše lozinke. Da li želite rezervni ključ u slučaju gubitka lozinke?
@@ -76,8 +76,6 @@ addvaultwizard.success.nextStepsInstructions=Dodat je sef "%s".\nMorate da otklj
addvaultwizard.success.unlockNow=Otključaj sada
# Remove Vault
-removeVault.title=Ukloni sef
-removeVault.information=Ovo će uraditi da Cryptomator zaboravi vaš sef. Uvek ga ponovo možete dodati kasnije. Šifrovane datoteke neće biti obrisane sa vašeg tvrdog diska.
removeVault.confirmBtn=Ukloni sef
# Change Password
@@ -87,32 +85,23 @@ changepassword.finalConfirmation=Razumem da neću moći pristupiti svojim podaci
# Forget Password
forgetPassword.title=Zaboravi lozinku
-forgetPassword.information=Ovo će izbrisati sačuvanu lozinku ovog sefa iz vašeg sistemskog menadžera lozinki.
forgetPassword.confirmBtn=Zaboravi lozinku
# Unlock
unlock.passwordPrompt=Unesite lozinku za "%s":
-unlock.savePassword=Zapamti lozinku
unlock.unlockBtn=Otključaj
## Select
-unlock.chooseMasterkey.chooseBtn=Izaberi…
unlock.chooseMasterkey.filePickerTitle=Izaberi "Masterkey" datoteku
## Success
-unlock.success.message=Uspešno ste otključali "%s"! Vaš sef je sada dostupan putem ovog virtuelnog diska.
-unlock.success.rememberChoice=Zapamti izbor, ne prikazuj ovo ponovo
unlock.success.revealBtn=Otvori disk
## Failure
-unlock.error.heading=Sef nije moguće otključati
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Tačka vezivanja "%s" nije direktorijum, nije prazna ili ne postoji.
unlock.error.invalidMountPoint.existing=Tačka vezivanja "%s" već postoji ili je nadređeni direktorijum nepostojeći.
# Lock
## Force
-lock.forced.message=Zaključavanje "%s" je blokirano operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid "I/O" operacija može rezultirati gubitkom nesačuvanih podataka.
## Failure
-lock.fail.heading=Zaključavanje sefa nije uspelo.
-lock.fail.message=Sef "%s" nije moguće zaključati. Budite sigurni da je nesačuvani rad sačuvan negde drugde i da su važne operacije čitanja/pisanja završene. Kako biste zatvorili sef, zaustavite Cryptomator proces u sistemu.
# Migration
migration.title=Nadogradi sef
@@ -232,8 +221,14 @@ vaultOptions.masterkey.changePasswordBtn=Promena lozinke
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
-quit.lockAndQuit=Zaključaj i Izađi
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_sv.properties b/src/main/resources/i18n/strings_sv.properties
index f4d0a94a8..4022678c1 100644
--- a/src/main/resources/i18n/strings_sv.properties
+++ b/src/main/resources/i18n/strings_sv.properties
@@ -6,18 +6,20 @@ generic.button.apply=Verkställ
generic.button.back=Bakåt
generic.button.cancel=Avbryt
generic.button.change=Ändra
+generic.button.choose=Välj…
generic.button.close=Stäng
generic.button.copy=Kopiera
generic.button.copied=Kopierad!
generic.button.done=Klar
generic.button.next=Nästa
generic.button.print=Skriv ut
-## Error
-generic.error.title=Fel: %s
-generic.error.instruction=Hoppsan! Cryptomator stötte på något oväntat. Du kan leta upp befintliga lösningar för detta fel. Om det inte har rapporterats ännu får du gärna rapportera in felet.
-generic.error.hyperlink.lookup=Slå upp detta fel
-generic.error.hyperlink.report=Rapportera fel
-generic.error.technicalDetails=Detaljer:
+
+# Error
+error.message=Fel: %s
+error.description=Hoppsan! Cryptomator stötte på något oväntat. Du kan leta upp befintliga lösningar för detta fel. Om det inte har rapporterats ännu får du gärna rapportera in felet.
+error.hyperlink.lookup=Slå upp detta fel
+error.hyperlink.report=Rapportera fel
+error.technicalDetails=Detaljer:
# Defaults
defaults.vault.vaultName=Valv
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=Varning: En fil eller mapp med samma namn f
addvaultwizard.new.locationDoesNotExist=En katalog i den angivna sökvägen finns inte eller är oåtkomlig
addvaultwizard.new.locationIsNotWritable=Ingen skrivbehörighet på angiven sökväg
addvaultwizard.new.locationIsOk=Lämplig plats för ditt valv
-addvaultwizard.new.invalidName=Felaktigt namn på valvet. Vänligen ange ett vanligt katalognamn.
+addvaultwizard.new.invalidName=Ogiltigt valvnamn
+addvaultwizard.new.validName=Giltigt valvnamn
+addvaultwizard.new.validCharacters.message=Valvets namn kan innehålla följande tecken:
+addvaultwizard.new.validCharacters.chars=Ordtecken (t ex. a, ж or 수)
+addvaultwizard.new.validCharacters.numbers=Siffror
+addvaultwizard.new.validCharacters.dashes=Bindestreck (%s) eller understrykningstecken (%s)
### Password
addvaultwizard.new.createVaultBtn=Skapa Valv
addvaultwizard.new.generateRecoveryKeyChoice=Du kommer inte ha tillgång till din data utan ditt lösenord. Vill du skapa en återställningsnyckel, ifall du tappar bort ditt lösenord?
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=Du kan ta bort denna fil.
addvaultwizard.existing.instruction=Välj filen "vault.cryptomator" i ditt befintliga valv. Om det endast finns en fil som heter "masterkey.cryptomator", välj den istället.
addvaultwizard.existing.chooseBtn=Välj…
addvaultwizard.existing.filePickerTitle=Välj valvfil
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator valv
## Success
addvaultwizard.success.nextStepsInstructions=Lade till valv "%s".\nDu måste låsa upp detta valv för att komma åt eller lägga till innehåll. Du kan även låsa upp det vid ett senare tillfälle.
addvaultwizard.success.unlockNow=Lås upp nu
# Remove Vault
removeVault.title=Ta bort valv
-removeVault.information=Detta kommer bara ta bort valvet från Cryptomator. Du kan lägga till det igen senare. Inga krypterade filer kommer tas bort från din hårddisk.
+removeVault.message=Ta bort valv?
+removeVault.description=Detta kommer bara ta bort valvet från Cryptomator. Du kan lägga till det igen senare. Inga krypterade filer kommer tas bort från din hårddisk.
removeVault.confirmBtn=Ta bort valv
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=Jag förstår att jag inte kommer kunna återst
# Forget Password
forgetPassword.title=Glöm lösenord
-forgetPassword.information=Detta kommer radera det sparade lösenordet för detta valv från ditt systems lösenordshantering.
+forgetPassword.message=Glöm sparat lösenord?
+forgetPassword.description=Detta kommer radera det sparade lösenordet för detta valv från ditt systems lösenordshantering.
forgetPassword.confirmBtn=Glöm lösenord
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt=Ange lösenord för "%s":
unlock.savePassword=Kom ihåg lösenord
unlock.unlockBtn=Lås upp
## Select
-unlock.chooseMasterkey.title=Välj Masterkey för "%s"
-unlock.chooseMasterkey.prompt=Kunde inte hitta Masterkey-filen för detta valv på förväntad plats. Välj filen manuellt.
-unlock.chooseMasterkey.chooseBtn=Välj…
+unlock.chooseMasterkey.message=Filen med huvudnyckeln hittades inte
+unlock.chooseMasterkey.description=Kunde inte hitta Masterkey-filen för detta valv på förväntad plats. Välj filen manuellt.
unlock.chooseMasterkey.filePickerTitle=Välj Masterkey-fil
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator huvudnyckel
## Success
-unlock.success.message="%s" upplåst! Ditt valv är nu åtkomligt från den virtuella enheten.
+unlock.success.message=Upplåsning lyckades
+unlock.success.description="%s" upplåst! Ditt valv är nu åtkomligt från den virtuella enheten.
unlock.success.rememberChoice=Kom ihåg valet, visa inte detta igen
unlock.success.revealBtn=Visa enhet
## Failure
-unlock.error.heading=Kan inte låsa upp valvet
+unlock.error.message=Kan inte låsa upp valvet
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Monteringspunkten "%s" saknas eller är inte tom.
unlock.error.invalidMountPoint.existing=Monteringspunkten "%s" finns redan eller så saknas överordnad mapp.
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=Enhetsbokstav "%s" används r
# Lock
## Force
-lock.forced.heading=Kunde inte låsa
-lock.forced.message=Låsning av "%s" förhindras av pågående operationer eller öppna filer. Du kan tvinga låsning av detta valv, men det kan resultera i förlust av osparade data.
+lock.forced.message=Kunde inte låsa
+lock.forced.description=Låsning av "%s" förhindras av pågående operationer eller öppna filer. Du kan tvinga låsning av detta valv, men det kan resultera i förlust av osparade data.
lock.forced.retryBtn=Försök igen
lock.forced.forceBtn=Tvinga låsning
## Failure
-lock.fail.heading=Låsning av valv misslyckades.
-lock.fail.message=Valvet "%s" kunde inte låsas. Se till att osparat arbete sparas någon annanstans och viktiga läs- och skrivfunktioner är klara. För att stänga valvet, avsluta Cryptomator-processen.
+lock.fail.message=Låsning av valv misslyckades.
+lock.fail.description=Valvet "%s" kunde inte låsas. Se till att osparat arbete sparas någon annanstans och viktiga läs- och skrivfunktioner är klara. För att stänga valvet, avsluta Cryptomator-processen.
# Migration
migration.title=Uppgradera valv
@@ -191,6 +202,7 @@ preferences.title=Inställningar
## General
preferences.general=Allmänt
preferences.general.startHidden=Dölj fönster när Cryptomator startar
+preferences.general.autoCloseVaults=Lås öppna valv automatiskt när du avslutar programmet
preferences.general.debugLogging=Aktivera loggning för felsökning
preferences.general.debugDirectory=Visa loggfiler
preferences.general.autoStart=Starta Cryptomator vid systemstart
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=Stäng
main.minimizeBtn.tooltip=Minimera
main.preferencesBtn.tooltip=Inställningar
main.debugModeEnabled.tooltip=Felsökningsläget är aktiverat
-main.donationKeyMissing.tooltip=Överväg gärna en donation
+main.supporterCertificateMissing.tooltip=Överväg gärna en donation
## Drag 'n' Drop
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
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=Fel vid inläsning av valv
# Wrong File Alert
wrongFileAlert.title=Hur man krypterar filer
-wrongFileAlert.header.title=Försökte du kryptera dessa filer?
-wrongFileAlert.header.lead=Cryptomator tillhandahåller en volym i din filhanterare för det syftet.
+wrongFileAlert.message=Försökte du kryptera dessa filer?
+wrongFileAlert.description=Cryptomator tillhandahåller en volym i din filhanterare för det syftet.
wrongFileAlert.instruction.0=För att kryptera filer, följ dessa steg:
wrongFileAlert.instruction.1=1. Lås upp ditt valv.
wrongFileAlert.instruction.2=2. Klicka på "Visa" för att öppna volymen i din filhanterare.
@@ -356,13 +368,23 @@ vaultOptions.masterkey.recoverPasswordBtn=Återställ lösenord
# Recovery Key
-recoveryKey.title=Återställningsnyckel
-recoveryKey.enterPassword.prompt=Ange ditt lösenord för att visa återställningsnyckeln för "%s":
-recoveryKey.display.message=Använd denna återställningsnyckel för att återställa åtkomst till "%s":
+## Display Recovery Key
+recoveryKey.display.title=Visa återställningsnyckel
+recoveryKey.create.message=Lösenord krävs
+recoveryKey.create.description=Ange ditt lösenord för att visa återställningsnyckeln för "%s":
+recoveryKey.display.description=Använd denna återställningsnyckel för att återställa åtkomst till "%s":
recoveryKey.display.StorageHints=Spara den på en säker plats, t.ex:\n • I en lösenordshanterare\n • På ett USB-minne (förvara säkert) \n • Skriv ut på ett papper (förvara säkert)
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Återställ lösenord
recoveryKey.recover.prompt=Ange din återställningsnyckel för "%s":
recoveryKey.recover.validKey=Detta är en giltig återställningsnyckel
recoveryKey.printout.heading=Cryptomator återställningsnyckel\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=Återställ
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Lösenord återställt
+recoveryKey.recover.resetSuccess.description=Du kan låsa upp valvet med det nya lösenordet.
# New Password
newPassword.promptText=Ange ett nytt lösenord
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=Starkt
passwordStrength.messageLabel.4=Mycket starkt
# Quit
-quit.prompt=Avsluta applikationen? Det finns olåsta valv.
-quit.lockAndQuit=Lås och avsluta
+quit.title=Avsluta programmet
+quit.message=Det finns olåsta valv
+quit.description=Vänligen bekräfta att du vill avsluta. Cryptomator låser alla olåsta valv på ett ordnat sätt för att förhindra dataförlust.
+quit.lockAndQuitBtn=Lås och avsluta
+
+# Forced Quit
+quit.forced.message=Vissa valv kunde inte låsas
+quit.forced.description=Valvlåsningen blockerades av köade operationer eller öppna filer. Du kan framtvinga låsning av återstående valv, men att störa pågående operationer kan resultera i förlust av osparat data.
+quit.forced.forceAndQuitBtn=Tvinga och avsluta
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_sw.properties b/src/main/resources/i18n/strings_sw.properties
new file mode 100644
index 000000000..52d8facbe
--- /dev/null
+++ b/src/main/resources/i18n/strings_sw.properties
@@ -0,0 +1,383 @@
+# Locale Specific CSS files such as CJK, RTL,...
+
+# Generics
+## Button
+generic.button.apply=Tekeleza
+generic.button.back=Rudi
+generic.button.cancel=Katisha
+generic.button.change=Badilisha
+generic.button.choose=Chagua…
+generic.button.close=Futa
+generic.button.copy=Nakili
+generic.button.copied=Nakiliwa!
+generic.button.done=Tayari
+generic.button.next=Nyingine
+generic.button.print=Chapisha
+
+# Error
+error.message=Kosa %s
+error.description=Lo! Cryptomator haikutarajia hii kutokea. Unaweza kutafuta suluhu zilizopo za kosa hili. Au ikiwa haijaripotiwa bado, jisikie huru kufanya hivyo.
+error.hyperlink.lookup=Angalia kosa hili
+error.hyperlink.report=Ripoti kosa hili
+error.technicalDetails=Maelezo:
+
+# Defaults
+defaults.vault.vaultName=Kuba
+
+# Tray Menu
+traymenu.showMainWindow=Onyesha
+traymenu.showPreferencesWindow=Mapendeleo
+traymenu.lockAllVaults=Funga yote
+traymenu.quitApplication=Aga
+traymenu.vault.unlock=Fungua
+traymenu.vault.lock=Funga
+traymenu.vault.reveal=Kufunua
+
+# Add Vault Wizard
+addvaultwizard.title=Ongeza Kuba
+## Welcome
+addvaultwizard.welcome.newButton=Unda kuba mpya
+addvaultwizard.welcome.existingButton=Fungua Kuba iliyopo
+## New
+### Name
+addvaultwizard.new.nameInstruction=Chagua jina la kuba
+addvaultwizard.new.namePrompt=Jina la kuba
+### Location
+addvaultwizard.new.locationInstruction=Cryptomator inapaswa kuhifadhi wapi mafaili yaliyosimbwa kwa njia fiche za kuba yako?
+addvaultwizard.new.locationLabel=Mahali pa kuhifadhi
+addvaultwizard.new.locationPrompt=…
+addvaultwizard.new.directoryPickerLabel=Mahali Maalum
+addvaultwizard.new.directoryPickerButton=Chagua…
+addvaultwizard.new.directoryPickerTitle=Teua Mpangilio orodha
+addvaultwizard.new.fileAlreadyExists=Faili au saraka iliyo na jina la kuba tayari ipo
+addvaultwizard.new.locationDoesNotExist=Faili au saraka iliyo na jina la kuba tayari ipo
+addvaultwizard.new.locationIsNotWritable=Hakuna ufikivu wa kuandika katika njia iliyobainishwa
+addvaultwizard.new.locationIsOk=Mahali panapofaa kwa kuba yako
+### Password
+addvaultwizard.new.createVaultBtn=Unda Kuba
+addvaultwizard.new.generateRecoveryKeyChoice=Hutaweza kufikia data yako bila neno la siri lako. Unataka ufunguo wa kurejesha kwa kesi unayopoteza neno lako la siri?
+addvaultwizard.new.generateRecoveryKeyChoice.yes=Ndio, tafadhali, salama zaidi kuliko kujuta
+addvaultwizard.new.generateRecoveryKeyChoice.no=Hapana asante, sitapoteza neno langu la siri
+### Information
+addvault.new.readme.storageLocation.fileName=MUHIMU.rtf
+addvault.new.readme.storageLocation.1=⚠️ MAFAILI YA KUBA ⚠️
+addvault.new.readme.storageLocation.2=Hii ni mahali pa kuhifadhi kuba yako.
+addvault.new.readme.storageLocation.3=LA
+addvault.new.readme.storageLocation.4=• kubadilisha faili zozote ndani ya saraka hii au
+addvault.new.readme.storageLocation.5=• ubandike faili zozote za usimbaji fiche kwenye saraka hii.
+addvault.new.readme.storageLocation.6=Ikiwa unataka kusimba faili na kuona maudhui ya kuba, fanya yafuatayo:
+addvault.new.readme.storageLocation.7=1. Ongeza kuba hii kwenye Cryptomator.
+addvault.new.readme.storageLocation.8=2. Fungua kuba katika Cryptomator.
+addvault.new.readme.storageLocation.9=Fungua eneo la ufikiaji kwa kubofya kitufe cha "Reveal".
+addvault.new.readme.storageLocation.10=Ikiwa unahitaji msaada, tembelea nyaraka: %s
+addvault.new.readme.accessLocation.fileName=KARIBU.rtf
+addvault.new.readme.accessLocation.1=🔐️ SAUTI ILIYOSIMBWA KWA NJE FICHE 🔐️
+addvault.new.readme.accessLocation.2=Hii ni eneo la ufikiaji wa kuba yako.
+addvault.new.readme.accessLocation.3=Faili zozote zilizoongezwa kwenye sauti hii zitasimbwa kwa njia fiche na Cryptomator. Unaweza kufanya kazi juu yake kama kwenye kiendeshi/folda nyingine yoyote. Huu ni mwonekano uliosimbwa tu wa maudhui yake, faili zako zinabaki zimesimbwa kwa njia fiche kwenye diski yako kuu wakati wote.
+addvault.new.readme.accessLocation.4=Jisikie huru kuondoa faili hii.
+## Existing
+addvaultwizard.existing.instruction=Chagua faili ya "vault.cryptomator" ya kuba yako iliyopo. Ikiwa faili tu inayoitwa "masterkey.cryptomator" ipo, chagua hiyo badala yake.
+addvaultwizard.existing.chooseBtn=Chagua…
+addvaultwizard.existing.filePickerTitle=Teua Faili ya Kuba
+addvaultwizard.existing.filePickerMimeDesc=Kuba ya Cryptomator
+## Success
+addvaultwizard.success.nextStepsInstructions=Kuba iliyoongezwa "%s".\n Unahitaji kufungua kuba hii ili kufikia au kuongeza yaliyomo. Vinginevyo unaweza kuifungua wakati wowote wa baadaye kwa wakati.
+addvaultwizard.success.unlockNow=Fungua Sasa
+
+# Remove Vault
+removeVault.title=Ondoa Kuba
+removeVault.description=Hii itafanya tu Cryptomator kusahau kuhusu kuba hii. Unaweza kuiongeza tena baadaye. Hakuna faili zilizosimbwa kwa njia fiche zitafutwa kutoka kwenye diski yako kuu.
+removeVault.confirmBtn=Ondoa Kuba
+
+# Change Password
+changepassword.title=Badilisha Neno la siri
+changepassword.enterOldPassword=Ingiza neno la siri la sasa ya "%s"
+changepassword.finalConfirmation=Ninaelewa kuwa sitaweza kufikia data yangu ikiwa nitasahau nenosiri langu
+
+# Forget Password
+forgetPassword.title=Sahau Neno la siri
+forgetPassword.description=Hii itafuta neno la siri iliyohifadhiwa ya kuba hii kutoka kwa kitufe cha mfumo wako.
+forgetPassword.confirmBtn=Sahau Neno la siri
+
+# Unlock
+unlock.title=Fungua "%s"
+unlock.passwordPrompt=Weka neno la siri ya "%s":
+unlock.savePassword=Kumbuka neno la siri
+unlock.unlockBtn=Fungua
+## Select
+unlock.chooseMasterkey.description=Haikuweza kupata faili kuu ya kuba hii katika mahali pake palipotarajiwa. Tafadhali chagua faili muhimu kwa mikono.
+unlock.chooseMasterkey.filePickerTitle=Teua Faili ya Masterkey
+unlock.chooseMasterkey.filePickerMimeDesc=Ufunguo mkuu wan Cryptomator
+## Success
+unlock.success.description=Imefunguliwa "%s" kwa mafanikio! Kuba yako sasa inapatikana kupitia kiendeshi chake cha kawaida.
+unlock.success.rememberChoice=Kumbuka chaguo, usionyeshe hii tena
+unlock.success.revealBtn=Fichua Kiendeshaji
+## Failure
+unlock.error.message=Haiwezi kufungua kuba
+### Invalid Mount Point
+unlock.error.invalidMountPoint.notExisting=Sehemu ya mlima "%s" sio saraka, sio tupu au haipo.
+unlock.error.invalidMountPoint.existing=Sehemu ya mlima "%s" tayari ipo au folda kuu haipo.
+unlock.error.invalidMountPoint.driveLetterOccupied=Barua ya Hifadhi "%s" tayari inatumika.
+
+# Lock
+## Force
+lock.forced.message=Funga imeshindikana
+lock.forced.description=Kufunga "%s" kulizuiwa na shughuli zinazosubiri au kufungua mafaili. Unaweza kulazimisha kufunga kuba hii, hata hivyo kukatiza I/O kunaweza kusababisha upotezaji wa data isiyohifadhiwa.
+lock.forced.retryBtn=Jaribu tena
+lock.forced.forceBtn=Lazimisha Kufunga
+## Failure
+lock.fail.message=Kufunga kuba kumeshindikana.
+lock.fail.description=Kuba "%s" haikuweza kufungwa. Hakikisha kazi isiyohifadhiwa imehifadhiwa mahali pengine na shughuli muhimu za Kusoma/Kuandika zimekamilika. Ili kufunga kuba, kuua mchakato wa Cryptomator.
+
+# Migration
+migration.title=Pandisha daraja Kuba
+## Start
+migration.start.prompt=Kuba yako "%s" inahitaji kusasishwa hadi umbizo jipya zaidi. Kabla ya kuendelea, hakikisha hakuna ulandanishi unaosubiri unaoathiri kuba hii.
+migration.start.confirm=Ndio, kuba yangu imesawazishwa kikamilifu
+## Run
+migration.run.enterPassword=Ingiza neno la siri ya "%s"
+migration.run.startMigrationBtn=Hamisha Kuba
+migration.run.progressHint=Hii inaweza kuchukua muda…
+## Success
+migration.success.nextStepsInstructions=Kuhamia "%s" kwa mafanikio.\nSasa unaweza kufungua kuba yako.
+migration.success.unlockNow=Fungua Sasa
+## Missing file system capabilities
+migration.error.missingFileSystemCapabilities.title=Mfumo wa Faili Usiotegemezwa
+migration.error.missingFileSystemCapabilities.description=Uhamiaji haukuanzishwa, kwa sababu kuba yako iko kwenye mfumo duni wa faili.
+migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=Mfumo wa faili hautegemezi majina marefu ya faili.
+migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=Mfumo wa faili hautegemezi njia ndefu.
+migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=Mfumo wa faili hauruhusu kusomwa.
+migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=Mfumo wa faili hauruhusu kuandikwa.
+## Impossible
+migration.impossible.heading=Haiwezi kuhamisha kuba
+migration.impossible.reason=Kuba haiwezi kuhamishwa kiotomatiki kwa sababu mahali pake pa kuhifadhi au mahali pa ufikivu havioani.
+migration.impossible.moreInfo=Kuba bado inaweza kufunguliwa na toleo la zamani. Kwa maagizo juu ya jinsi ya kuhamisha kuba kwa mikono, tembelea
+
+# Health Check
+## Start
+health.title=Uchunguzi wa afya wa "%s"
+health.intro.header=Uchunguzi wa afya
+health.intro.text=Ukaguzi wa afya ni mkusanyiko wa hundi ili kugundua na uwezekano wa kurekebisha matatizo katika muundo wa ndani wa vault yako. Tafadhali kumbuka:
+health.intro.remarkSync=Hakikisha vifaa vyote vimesawazishwa kabisa, hii inatatua matatizo mengi.
+health.intro.remarkFix=Sio matatizo yote yanaweza kutatuliwa.
+health.intro.remarkBackup=Ikiwa data imeharibika, chelezo tu inaweza kusaidia.
+health.intro.affirmation=Nimesoma na kuelewa habari hapo juu
+## Start Failure
+health.fail.header=Kosa la kupakia Usanidi wa Kuba
+health.fail.ioError=Kosa limetokea wakati wa kufikia na kusoma faili ya usanidi.
+health.fail.parseError=Kosa limetokea wakati wa kupambanua usanidi wa kuba.
+health.fail.moreInfo=Maelezo Zaidi
+## Check Selection
+health.checkList.description=Chagua hundi katika orodha ya kushoto au tumia vitufe hapa chini.
+health.checkList.selectAllButton=Teua Ukaguzi Wote
+health.checkList.deselectAllButton=Ondoa Ukaguzi Wote
+health.check.runBatchBtn=Endesha Ukaguzi Ulioteuliwa
+## Detail view
+health.check.detail.noSelectedCheck=Kwa matokeo chagua ukaguzi wa afya uliomalizika katika orodha ya kushoto.
+health.check.detail.checkScheduled=Ukaguzi umepangwa.
+health.check.detail.checkRunning=Ukaguzi unaendelea kwa sasa…
+health.check.detail.checkSkipped=Ukaguzi haukuteuliwa kuendesha.
+health.check.detail.checkFinished=Ukaguzi umekamilika kwa ufanisi.
+health.check.detail.checkFinishedAndFound=Ukaguzi ulimaliza kukimbia. Tafadhali angalia matokeo.
+health.check.detail.checkFailed=Ukaguzi ulitoka kwa sababu ya kosa.
+health.check.detail.checkCancelled=Ukaguzi ulikatishwa.
+health.check.exportBtn=Hamisha Ripoti
+## Fix Application
+health.fix.fixBtn=Kurekebisha
+health.fix.successTip=Rekebisha imefanikiwa
+health.fix.failTip=Rekebisha imeshindwa, angalia logi kwa maelezo
+
+# Preferences
+preferences.title=Mapendeleo
+## General
+preferences.general=Jumla
+preferences.general.startHidden=Ficha dirisha wakati wa kuanza Cryptomator
+preferences.general.debugLogging=Wezesha utatuzi wa ufunguaji
+preferences.general.debugDirectory=Fichua faili za logi
+preferences.general.autoStart=Zindua Cryptomator kwenye kuanza kwa mfumo
+preferences.general.keychainBackend=Hifadhi neno la siri na
+## Interface
+preferences.interface.theme=Angalia & Jisikie
+preferences.interface.theme.automatic=Otomatiki
+preferences.interface.theme.dark=Giza
+preferences.interface.theme.light=Mwanga
+preferences.interface.unlockThemes=Fungua hali ya giza
+preferences.interface.language=Lugha (inahitaji kuanzisha upya)
+preferences.interface.language.auto=Chaguo-msingi la Mfumo
+preferences.interface.interfaceOrientation=Mwelekeo wa Kiolesura
+preferences.interface.interfaceOrientation.ltr=Kushoto kwenda Kulia
+preferences.interface.interfaceOrientation.rtl=Kulia hadi Kushoto
+preferences.interface.showMinimizeButton=Onyesha kitufe cha kupunguza
+preferences.interface.showTrayIcon=Onyesha ikoni ya trei (inahitaji kuanzisha upya)
+## Volume
+preferences.volume=Kiendeshi pepe
+preferences.volume.type=Aina ya Sauti
+preferences.volume.webdav.port=Kituo tarishi cha WebDAV
+preferences.volume.webdav.scheme=Mpango wa WebDAV
+## Updates
+preferences.updates=Sasishi
+preferences.updates.currentVersion=Toleo la Sasa: %s
+preferences.updates.autoUpdateCheck=Kagua sasishi otomatiki
+preferences.updates.checkNowBtn=Angalia Sasa
+preferences.updates.updateAvailable=Sasisha hadi toleo %s inapatikana.
+## Contribution
+preferences.contribute=Tusaidie
+preferences.contribute.registeredFor=Cheti cha kiungaji mkono kimesajiliwa kwa %s
+preferences.contribute.noCertificate=Msaada Cryptomator na kupokea cheti cha msaidizi. Ni kama ufunguo wa leseni lakini kwa watu wa kushangaza wanaotumia programu ya bure. ;-)
+preferences.contribute.getCertificate=Je, si kuwa na moja tayari? Jifunze jinsi unaweza kupata.
+preferences.contribute.promptText=Bandika msimbo wa cheti cha msaidizi hapa
+#<-- Add entries for donations and code/translation/documentation contribution -->
+
+## About
+preferences.about=Kuhusu
+
+# Vault Statistics
+stats.title=Takwimu za %s
+stats.cacheHitRate=Kiwango cha Hit ya Akiba
+## Read
+stats.read.throughput.idle=Soma: bila kazi
+stats.read.throughput.kibs=Soma:%.2f kiB/s
+stats.read.throughput.mibs=Soma:%.2fMiB/s
+stats.read.total.data.none=Data soma: -
+stats.read.total.data.kib=Data soma:%.1f kiB
+stats.read.total.data.mib=Data soma: %.1f MiB
+stats.read.total.data.gib=Data soma: %.1f GiB
+stats.decr.total.data.none=Data iliyosimbwa kwa njia fiche: -
+stats.decr.total.data.kib=Data iliyosimbwa kwa njia fiche: %.1f kiB
+stats.decr.total.data.mib=Data iliyosimbwa kwa njia fiche: %.1fMiB
+stats.decr.total.data.gib=Data iliyosimbwa kwa njia fiche: %.1f GiB
+stats.read.accessCount=Jumla ya kusoma: %d
+## Write
+stats.write.throughput.idle=Andika: bila kazi
+stats.write.throughput.kibs=Andika:%.2f kiB/s
+stats.write.throughput.mibs=Andika: %.2f MiB/s
+stats.write.total.data.none=Data iliyoandikwa: -
+stats.write.total.data.kib=Data iliyoandikwa: %.1f kiB
+stats.write.total.data.mib=Data iliyoandikwa: %.1f MiB
+stats.write.total.data.gib=Data iliyoandikwa: %.1f GiB
+stats.encr.total.data.none=Data iliyosimbwa kwa njia fiche: -
+stats.encr.total.data.kib=Data iliyosimbwa kwa njia fiche: %.1f kiB
+stats.encr.total.data.mib=Data iliyosimbwa kwa njia fiche: %.1f MiB
+stats.encr.total.data.gib=Data iliyosimbwa kwa njia fiche: %.1f GiB
+stats.write.accessCount=Jumla ya maandishi anaandika: %d
+
+# Main Window
+main.closeBtn.tooltip=Futa
+main.minimizeBtn.tooltip=Kupunguza
+main.preferencesBtn.tooltip=Mapendeleo
+main.debugModeEnabled.tooltip=Hali ya utatuzi imewezeshwa
+main.supporterCertificateMissing.tooltip=Tafadhali fikiria kuchangia
+## Drag 'n' Drop
+main.dropZone.dropVault=Ongeza kuba hii
+main.dropZone.unknownDragboardContent=Ikiwa unataka kuongeza kuba, iburute kwenye dirisha hili
+## Vault List
+main.vaultlist.emptyList.onboardingInstruction=Bofya hapa ili kuongeza kuba
+main.vaultlist.contextMenu.remove=Ondoa…
+main.vaultlist.contextMenu.lock=Funga
+main.vaultlist.contextMenu.unlock=Fungua…
+main.vaultlist.contextMenu.unlockNow=Fungua Sasa
+main.vaultlist.contextMenu.vaultoptions=Onyesha Machaguo ya Kuba
+main.vaultlist.contextMenu.reveal=Fichua Kiendeshaji
+main.vaultlist.addVaultBtn=Ongeza Kuba
+## Vault Detail
+### Welcome
+main.vaultDetail.welcomeOnboarding=Shukrani kwa kuchagua Cryptomator kulinda faili zako. Ikiwa unahitaji msaada wowote, angalia miongozo yetu ya kuanza:
+### Locked
+main.vaultDetail.lockedStatus=IMEFUNGWA
+main.vaultDetail.unlockBtn=Fungua…
+main.vaultDetail.unlockNowBtn=Fungua Sasa
+main.vaultDetail.optionsBtn=Machaguo ya Kuba
+main.vaultDetail.passwordSavedInKeychain=Neno la siri limehifadhiwa
+### Unlocked
+main.vaultDetail.unlockedStatus=IMEFUNGULIWA
+main.vaultDetail.accessLocation=Yaliyomo kwenye kuba yako yanapatikana hapa:
+main.vaultDetail.revealBtn=Fichua Kiendeshaji
+main.vaultDetail.lockBtn=Funga
+main.vaultDetail.bytesPerSecondRead=Soma:
+main.vaultDetail.bytesPerSecondWritten=Andika:
+main.vaultDetail.throughput.idle=imezubaa
+main.vaultDetail.throughput.kbps=%.1f kiB/s
+main.vaultDetail.throughput.mbps=%.1f MiB/s
+main.vaultDetail.stats=Takwimu za Kuba
+### Missing
+main.vaultDetail.missing.info=Cryptomator haikuweza kupata kuba katika njia hii.
+main.vaultDetail.missing.recheck=Kagua upya
+main.vaultDetail.missing.remove=Ondoa kutoka kwenye Orodha ya Kuba…
+main.vaultDetail.missing.changeLocation=Badilisha Mahali pa Kuba…
+### Needs Migration
+main.vaultDetail.migrateButton=Pandisha daraja Kuba
+main.vaultDetail.migratePrompt=Kuba yako inahitaji kuboreshwa hadi umbizo jipya, kabla ya kuipata
+### Error
+main.vaultDetail.error.info=Kosa limetokea kupakia kuba kutoka kwenye diski.
+main.vaultDetail.error.reload=Upya
+main.vaultDetail.error.windowTitle=Kosa la kupakia kuba
+
+# Wrong File Alert
+wrongFileAlert.title=Jinsi ya Kusimba Faili
+wrongFileAlert.message=Ulijaribu kusimba faili hizi?
+wrongFileAlert.description=Kwa kusudi hili, Cryptomator hutoa sauti katika meneja wako wa faili ya mfumo.
+wrongFileAlert.instruction.0=Ili kusimba faili, fuata hatua hizi:
+wrongFileAlert.instruction.1=1. Fungua kuba yako.
+wrongFileAlert.instruction.2=2. Bonyeza "Reveal" ili kufungua sauti katika kidhibiti faili chako.
+wrongFileAlert.instruction.3=3. Ongeza faili zako kwenye sauti hii.
+wrongFileAlert.link=Kwa msaada zaidi, tembelea
+
+# Vault Options
+## General
+vaultOptions.general=Jumla
+vaultOptions.general.vaultName=Jina la kuba
+vaultOptions.general.autoLock.lockAfterTimePart1=Funga wakati haina kazi kwa
+vaultOptions.general.autoLock.lockAfterTimePart2=dakika
+vaultOptions.general.unlockAfterStartup=Fungua kuba wakati wa kuanza Cryptomator
+vaultOptions.general.actionAfterUnlock=Baada ya kufungua mafanikio
+vaultOptions.general.actionAfterUnlock.ignore=Usifanye chochote
+vaultOptions.general.actionAfterUnlock.reveal=Fichua Kiendeshaji
+vaultOptions.general.actionAfterUnlock.ask=Uliza
+vaultOptions.general.startHealthCheckBtn=Anza Ukaguzi wa Afya
+
+## Mount
+vaultOptions.mount.readonly=Soma-Tu
+vaultOptions.mount.customMountFlags=Vipepea Vya Mlima Maalum
+vaultOptions.mount.winDriveLetterOccupied=ulichukua
+vaultOptions.mount.mountPoint.auto=Chagua otomatiki mahali panapofaa
+vaultOptions.mount.mountPoint.driveLetter=Tumia barua kiendeshi kilichopangiwa
+vaultOptions.mount.mountPoint.custom=Kijia maalum
+vaultOptions.mount.mountPoint.directoryPickerButton=Chagua…
+vaultOptions.mount.mountPoint.directoryPickerTitle=Chagua mpangilio orodha tupu
+## Master Key
+vaultOptions.masterkey=Neno la siri
+vaultOptions.masterkey.changePasswordBtn=Badilisha Neno la siri
+vaultOptions.masterkey.forgetSavedPasswordBtn=Kusahau Neno la siri Iliyohifadhiwa
+vaultOptions.masterkey.recoveryKeyExplanation=Ufunguo wa kurejesha ni njia yako pekee ya kurejesha ufikiaji wa kuba ikiwa utapoteza nenosiri lako.
+vaultOptions.masterkey.showRecoveryKeyBtn=Onyesha Ufunguo wa Ufufuzi
+
+
+# Recovery Key
+## Display Recovery Key
+recoveryKey.create.description=Ingiza neno la siri lako ili kuonyesha ufunguo wa kurejesha kwa "%s":
+recoveryKey.display.description=Ufunguo ufuatao wa kurejesha unaweza kutumika kurejesha ufikiaji wa "%s":
+recoveryKey.display.StorageHints=Weka mahali salama sana, kwa mfano:\n • Hifadhi kwa kutumia msimamizi wa nywila\n • Hifadhi kwenye kiendeshi cha USB flash\n • Chapisha kwenye karatasi
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.prompt=Ingiza ufunguo wako wa kurejesha kwa "%s":
+recoveryKey.recover.validKey=Hii ni ufunguo halali wa kurejesha
+recoveryKey.printout.heading=Ufunguo wa Urejeshaji wa Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
+
+# New Password
+newPassword.promptText=Ingiza neno jipya la siri
+newPassword.reenterPassword=Thibitisha neno la siri jipya
+newPassword.passwordsMatch=Maneno ya siri yanaoana!
+newPassword.passwordsDoNotMatch=Maneno ya siri hayaoani
+passwordStrength.messageLabel.tooShort=Tumia angalau %d vibambo
+passwordStrength.messageLabel.0=Dhaifu sana
+passwordStrength.messageLabel.1=Dhaifu
+passwordStrength.messageLabel.2=Haki
+passwordStrength.messageLabel.3=Imara
+passwordStrength.messageLabel.4=Imara sana
+
+# Quit
+quit.lockAndQuitBtn=Funga na Acha
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_ta.properties b/src/main/resources/i18n/strings_ta.properties
index 8b67e3304..ebf983d59 100644
--- a/src/main/resources/i18n/strings_ta.properties
+++ b/src/main/resources/i18n/strings_ta.properties
@@ -2,54 +2,179 @@
# Generics
## Button
-## Error
+generic.button.apply=பயன்படுத்து
+generic.button.back=பின் செல்
+generic.button.cancel=ரத்து செய்
+generic.button.change=மாற்று
+generic.button.choose=தேர்ந்தெடு…
+generic.button.close=மூடு
+generic.button.copy=நகலெடு
+generic.button.copied=நகலெடுக்கப்பட்டது!
+generic.button.done=முடிந்தது
+generic.button.next=அடுத்து
+generic.button.print=அச்சிடு
+
+# Error
+error.message=ஒரு பிழை ஏற்பட்டுள்ளது
+error.description=இது நடக்கும் என்று Cryptomator எதிர்பார்க்கவில்லை. இந்தப் பிழைக்கான ஏற்கனவே உள்ள தீர்வுகளை நீங்கள் காணலாம். அல்லது இது இன்னும் புகாரளிக்கப்படவில்லை என்றால், அவ்வாறு செய்யத் தயங்க வேண்டாம்.
+error.hyperlink.lookup=இந்தப் பிழையைத் தேடு
+error.hyperlink.report=இந்தப் பிழையைப் புகாரளி
+error.technicalDetails=விவரங்கள்:
# Defaults
+defaults.vault.vaultName=பெட்டகம்
# Tray Menu
+traymenu.showMainWindow=காட்டு
+traymenu.showPreferencesWindow=விருப்பங்கள்
+traymenu.lockAllVaults=அனைத்தையும் பூட்டு
+traymenu.quitApplication=வெளியேறு
+traymenu.vault.unlock=பூட்டுநீக்கு
+traymenu.vault.lock=பூட்டு
+traymenu.vault.reveal=தெரியப்படுத்து
# Add Vault Wizard
+addvaultwizard.title=பெட்டகத்தைச் சேர்க்கவும்
## Welcome
+addvaultwizard.welcome.newButton=புதிய பெட்டகத்தை உருவாக்கவும்
+addvaultwizard.welcome.existingButton=இருக்கும் பெட்டகத்தைத் திறக்கவும்
## New
### Name
+addvaultwizard.new.nameInstruction=பெட்டகத்திற்கு ஒரு பெயரைத் தேர்ந்தெடுக்கவும்
+addvaultwizard.new.namePrompt=பெட்டகத்தின் பெயர்
### Location
+addvaultwizard.new.locationInstruction=உங்கள் பெட்டகத்தின் மறைகுறியாக்கப்பட்ட கோப்புகளை Cryptomator எங்கே சேமிக்க வேண்டும்?
+addvaultwizard.new.locationLabel=சேமிப்பு இடம்
+addvaultwizard.new.locationPrompt=…
+addvaultwizard.new.directoryPickerLabel=தனிப்பயன் இருப்பிடம்
+addvaultwizard.new.directoryPickerButton=தேர்ந்தெடு…
+addvaultwizard.new.directoryPickerTitle=கோப்பகத்தைத் தேர்ந்தெடுக்கவும்
+addvaultwizard.new.fileAlreadyExists=பெட்டகம் பெயருடன் ஒரு கோப்பு அல்லது கோப்பகம் ஏற்கனவே உள்ளது
+addvaultwizard.new.locationDoesNotExist=குறிப்பிட்ட பாதையில் ஒரு கோப்பகம் இல்லை அல்லது அணுக முடியாது
+addvaultwizard.new.locationIsNotWritable=குறிப்பிடப்பட்ட பாதையில் எழுதுவதற்கான அணுகல் இல்லை
+addvaultwizard.new.locationIsOk=உங்கள் பெட்டகத்திற்கு ஏற்ற இடம்
### Password
+addvaultwizard.new.createVaultBtn=பெட்டகத்தை உருவாக்கவும்
+addvaultwizard.new.generateRecoveryKeyChoice=உங்கள் கடவுச்சொல் இல்லாமல் உங்கள் தரவை அணுக முடியாது. உங்கள் கடவுச்சொல்லை இழந்தால் மீட்டெடுப்பு விசை தேவையா?
+addvaultwizard.new.generateRecoveryKeyChoice.yes=ஆம், வருந்துவதை விடக் கவனமாக இருப்பது நல்லது
+addvaultwizard.new.generateRecoveryKeyChoice.no=இல்லை நன்றி, நான் என் கடவுச்சொல்லை இழக்க மாட்டேன்
### Information
+addvault.new.readme.storageLocation.fileName=IMPORTANT.rtf
+addvault.new.readme.storageLocation.1=⚠️ பெட்டகம் கோப்புகள் ⚠️
+addvault.new.readme.storageLocation.2=இது உங்கள் பெட்டகத்தின் சேமிப்பு இடம்.
+addvault.new.readme.storageLocation.3=வேண்டாம்
+addvault.new.readme.storageLocation.4=• இந்தக் கோப்பகத்தில் உள்ள கோப்புகளை மாற்றவும் அல்லது
+addvault.new.readme.storageLocation.5=• இந்தக் கோப்பகத்தில் குறியாக்கத்திற்கான ஏதேனும் கோப்புகளை ஒட்டவும்.
+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.accessLocation.fileName=WELCOME.rtf
+addvault.new.readme.accessLocation.1=🔐️ மறைகுறியாக்கப்பட்ட தொகுதி 🔐️
+addvault.new.readme.accessLocation.2=இது உங்கள் பெட்டகத்தின் அணுகல் இடம்.
+addvault.new.readme.accessLocation.3=இந்தத் தொகுதியில் சேர்க்கப்படும் எந்தக் கோப்புகளும் Cryptomator -ஆல் குறியாக்கம் செய்யப்படும். வேறு எந்த இயக்கி/கோப்புறைப் போலவே நீங்கள் இதில் வேலை செய்யலாம். இது அதன் உள்ளடக்கத்தின் மறைகுறியாக்கப்பட்ட காட்சி மட்டுமே, உங்கள் கோப்புகள் உங்கள் வன்வட்டில் எப்போதும் என்க்ரிப்ட் செய்யப்பட்டிருக்கும்.
+addvault.new.readme.accessLocation.4=இந்த கோப்பை நீக்க தயங்க வேண்டாம்.
## Existing
+addvaultwizard.existing.instruction=உங்கள் தற்போதைய பெட்டகத்தின் "பெட்டகம்.cryptomator" கோப்பைத் தேர்ந்தெடுக்கவும். "தலைமைவிசை.cryptomator" என்ற கோப்பு மட்டும் இருந்தால், அதற்குப் பதிலாக அதைத் தேர்ந்தெடுக்கவும்.
+addvaultwizard.existing.chooseBtn=தேர்ந்தெடு…
+addvaultwizard.existing.filePickerTitle=பெட்டகம் கோப்பைத் தேர்ந்தெடுக்கவும்பெட்டகம்
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator பெட்டகம்
## Success
+addvaultwizard.success.nextStepsInstructions="%s" பெட்டகம் சேர்க்கப்பட்டது. உள்ளடக்கங்களை அணுக அல்லது சேர்க்க இந்தப் பெட்டகத்தைத் திறக்க வேண்டும். மாற்றாக நீங்கள் எந்த நேரத்திலும் அதைத் திறக்கலாம்.
+addvaultwizard.success.unlockNow=இப்போது திறக்கவும்
# Remove Vault
+removeVault.title="%s" ஐ அகற்று
+removeVault.message=பெட்டகத்தை அகற்றவா?
+removeVault.description=இது Cryptomator -ஐ இந்தப் பெட்டகத்தை மறக்க மட்டும் செய்யும். நீங்கள் அதை மீண்டும் சேர்க்கலாம். உங்கள் ஹார்ட் டிரைவிலிருந்து குறியாக்கம் செய்யப்பட்ட கோப்புகள் எதுவும் நீக்கப்படாது.
+removeVault.confirmBtn=பெட்டகத்தை அகற்றவும்
# Change Password
+changepassword.title=கடவுச்சொல்லை மாற்று
+changepassword.enterOldPassword="%s"க்கான தற்போதைய கடவுச்சொல்லை உள்ளிடவும்
+changepassword.finalConfirmation=எனது கடவுச்சொல்லை மறந்துவிட்டால், எனது தரவை அணுக முடியாது என்பதை நான் புரிந்துகொள்கிறேன்
# Forget Password
+forgetPassword.title=கடவுச்சொல் மறந்துவிட்டது
+forgetPassword.message=சேமித்த கடவுச்சொல்லை மறந்துவிட்டீர்களா?
+forgetPassword.description=இது இந்தப் பெட்டகத்தின் சேமிக்கப்பட்ட கடவுச்சொல்லை உங்கள் கணினி சாவிக்கொத்திலிருந்து நீக்கிவிடும்.
+forgetPassword.confirmBtn=கடவுச்சொல் மறந்துவிட்டது
# Unlock
+unlock.title="%s"ஐத் திறக்கவும்
+unlock.passwordPrompt="%s"க்கான கடவுச்சொல்லை உள்ளிடவும்:
+unlock.savePassword=கடவுச்சொல்லை நினைவுகொள்
+unlock.unlockBtn=பூட்டுநீக்கு
## Select
+unlock.chooseMasterkey.message=தலைமைவிசை கோப்பு கிடைக்கவில்லை
+unlock.chooseMasterkey.description=Cryptomator -ஆல் வால்ட் "%s"க்கான தலைமைவிசை கோப்பைக் கண்டுபிடிக்க முடியவில்லை. முக்கிய கோப்பை கைமுறையாகத் தேர்வு செய்யவும்.
+unlock.chooseMasterkey.filePickerTitle=தலைமைவிசை கோப்பைத் தேர்ந்தெடுக்கவும்
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator தலைமைவிசை
## Success
+unlock.success.message=வெற்றிகரமாகத் திறக்கப்பட்டது
+unlock.success.description="%s" பெட்டகத்தில் உள்ள உள்ளடக்கம் இப்போது அதன் ஏற்றப் புள்ளியில் அணுகக்கூடியது.
+unlock.success.rememberChoice=என் விருப்பத்தை நினைவில் வையுங்கள், மீண்டும் கேட்க வேண்டாம்
+unlock.success.revealBtn=இயக்ககத்தை வெளிப்படுத்து
## Failure
+unlock.error.message=பெட்டகத்தைத் திறக்க முடியவில்லை
### Invalid Mount Point
+unlock.error.invalidMountPoint.notExisting=ஏற்றப் புள்ளி "%s" என்பது ஒரு கோப்பகம் அல்ல, காலியாக இல்லை அல்லது இல்லை.
+unlock.error.invalidMountPoint.existing=ஏற்றப் புள்ளி "%s" ஏற்கனவே உள்ளது அல்லது பெற்றோர் கோப்புறை இல்லை.
+unlock.error.invalidMountPoint.driveLetterOccupied=இயக்கி எழுத்து "%s" ஏற்கனவே பயன்பாட்டில் உள்ளது.
# Lock
## Force
+lock.forced.message=பூட்டுதல் தோல்வியடைந்தது
+lock.forced.description=நிலுவையில் உள்ள செயல்பாடுகள் அல்லது திறந்த கோப்புகளால் "%s" பூட்டுதல் தடுக்கப்பட்டது. இந்தப் பெட்டகத்தை நீங்கள் கட்டாயப்படுத்தி பூட்டலாம், இருப்பினும் I/O குறுக்கிடுவதால் சேமிக்கப்படாத தரவு இழக்க நேரிடலாம்.
lock.forced.retryBtn=மீண்டும் முயற்சிக்கவும்
+lock.forced.forceBtn=கட்டாயப்படுத்தி பூட்டு
## Failure
+lock.fail.message=பெட்டகத்தை பூட்ட முடியவில்லை
+lock.fail.description="%s" பெட்டகத்தை பூட்ட முடியவில்லை. சேமிக்கப்படாத வேலை வேறு இடத்தில் சேமிக்கப்பட்டிருப்பதையும், முக்கியமான படிக்க/எழுத செயல்பாடுகள் முடிந்ததையும் உறுதிசெய்யவும்.
# Migration
+migration.title=பெட்டகத்தை மேம்படுத்து
## Start
+migration.start.prompt=உங்கள் பெட்டகம் "%s" புதிய வடிவமைப்பிற்கு புதுப்பிக்கப்பட வேண்டும். தொடர்வதற்கு முன், இந்தப் பெட்டகத்தை பாதிக்கும் ஒத்திசைவு நிலுவையில் இல்லை என்பதை உறுதிப்படுத்தவும்.
+migration.start.confirm=ஆம், எனது பெட்டகம் முழுமையாக ஒத்திசைக்கப்பட்டுள்ளது
## Run
+migration.run.enterPassword="%s"க்கான கடவுச்சொல்லை உள்ளிடவும்
+migration.run.startMigrationBtn=பெட்டகதை நகர்த்தவும்
+migration.run.progressHint=இதற்கு சிறிது நேரம் ஆகலாம்…
## Success
+migration.success.nextStepsInstructions="%s" வெற்றிகரமாக நகர்த்தப்பட்டது. நீங்கள் இப்போது உங்கள் பெட்டகத்தைத் திறக்கலாம்.
+migration.success.unlockNow=இப்போது திறக்கவும்
## Missing file system capabilities
+migration.error.missingFileSystemCapabilities.title=ஆதரிக்கப்படாத கோப்பு முறைமை
+migration.error.missingFileSystemCapabilities.description=இடம்பெயர்வு தொடங்கப்படவில்லை, ஏனெனில் உங்கள் பெட்டகம் போதுமான கோப்பு முறைமையில் இல்லை.
+migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=கோப்பு முறைமை நீண்ட கோப்புப் பெயர்களை ஆதரிக்காது.
+migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=கோப்பு முறைமை நீண்ட பாதைகளை ஆதரிக்காது.
+migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=கோப்பு முறைமை படிக்க அனுமதிக்காது.
+migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=கோப்பு முறைமை எழுத அனுமதிக்காது.
## Impossible
+migration.impossible.heading=பெட்டகத்தை நகர்த்த முடியவில்லை
+migration.impossible.reason=பெட்டகத்தை தானாகவே நகர்த்த முடியாது, ஏனெனில் அதன் சேமிப்பக இருப்பிடம் அல்லது அணுகல் புள்ளி இணக்கமாக இல்லை.
+migration.impossible.moreInfo=பெட்டகத்தை இன்னும் பழைய பதிப்பில் திறக்க முடியும். பெட்டகத்தை எவ்வாறு கைமுறையாக நகர்த்துவது என்பது குறித்த வழிமுறைகளுக்கு, பார்வையிடவும்
# Health Check
## Start
+health.title="%s" இன் ஆரோக்கியச் சரிபார்ப்பு
+health.intro.header=ஆரோக்கியச் சரிபார்ப்பு
+health.intro.text=ஆரோக்கியச் சரிபார்ப்பு என்பது உங்கள் பெட்டகத்தின் உள் அமைப்பில் உள்ள சிக்கல்களைக் கண்டறிந்து சரிசெய்வதற்கான சரிபார்பு தொகுப்பாகும். தயவுசெய்து நினைவில் கொள்ளுங்கள்:
+health.intro.remarkSync=எல்லா சாதனங்களும் முழுமையாக ஒத்திசைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்தவும், இது பெரும்பாலான சிக்கல்களைத் தீர்க்கிறது.
+health.intro.remarkFix=எல்லா பிரச்சனைகளையும் சரி செய்துவிட முடியாது.
+health.intro.remarkBackup=தரவு சிதைந்தால், காப்புப்பிரதி மட்டுமே உதவும்.
+health.intro.affirmation=மேலே உள்ள தகவல்களைப் படித்துப் புரிந்து கொண்டேன்
## Start Failure
+health.fail.header=பெட்டகம் கட்டமைப்பை ஏற்றுவதில் பிழை
## Check Selection
## Detail view
## Fix Application
+health.fix.fixBtn=சரிசெய்
# Preferences
+preferences.title=விருப்பங்கள்
## General
## Interface
preferences.interface.theme.dark=இருள்
@@ -60,33 +185,119 @@ preferences.interface.theme.light=வெளிச்சம்
#<-- Add entries for donations and code/translation/documentation contribution -->
## About
+preferences.about=இதைப் பற்றி
# Vault Statistics
+stats.title=%s க்கான புள்ளிவிவரங்கள்
+stats.cacheHitRate=தற்காலிக சேமிப்பு வீதம்
## Read
+stats.read.throughput.idle=படிக்கப்பட்டது: செயலற்றது
+stats.read.throughput.kibs=படிக்கப்பட்டது: %.2f kiB/s
+stats.read.throughput.mibs=படிக்கப்பட்டது: %.2f MiB/s
+stats.read.total.data.none=படிக்கப்பட்ட தரவு: -
+stats.read.total.data.kib=படிக்கப்பட்ட தரவு: %.1f kiB
+stats.read.total.data.mib=படிக்கப்பட்ட தரவு: %.1f MiB
+stats.read.total.data.gib=படிக்கப்பட்ட தரவு: %.1f GiB
+stats.decr.total.data.none=மறைகுறிநீக்கப்பட்ட தரவு: -
+stats.decr.total.data.kib=மறைகுறிநீக்கப்பட்ட தரவு: %.1f kiB
+stats.decr.total.data.mib=மறைகுறிநீக்கப்பட்ட தரவு: %.1f MiB
+stats.decr.total.data.gib=மறைகுறிநீக்கப்பட்ட தரவு: %.1f GiB
+stats.read.accessCount=மொத்த வாசிப்புகள்: %d
## Write
+stats.write.throughput.idle=எழுதப்பட்டது: செயலற்ற நிலையில்
+stats.write.throughput.kibs=எழுதப்பட்டது: %.2f kiB/s
+stats.write.throughput.mibs=எழுதப்பட்டது: %.2f MiB/s
+stats.write.total.data.none=எழுதப்பட்ட தரவு: -
+stats.write.total.data.kib=எழுதப்பட்ட தரவு: %.1f kiB
+stats.write.total.data.mib=எழுதப்பட்ட தரவு: %.1f MiB
+stats.write.total.data.gib=எழுதப்பட்ட தரவு: %.1f GiB
+stats.encr.total.data.none=குறியாக்கம் செய்யப்பட்ட தரவு: -
+stats.encr.total.data.kib=குறியாக்கம் செய்யப்பட்ட தரவு: %.1f kiB
+stats.encr.total.data.mib=குறியாக்கம் செய்யப்பட்ட தரவு: %.1f MiB
+stats.encr.total.data.gib=குறியாக்கம் செய்யப்பட்ட தரவு: %.1f GiB
+stats.write.accessCount=மொத்த எழுதப்பட்டது: %d
# Main Window
+main.closeBtn.tooltip=மூடு
+main.minimizeBtn.tooltip=சிறிதாக்கு
+main.preferencesBtn.tooltip=விருப்பங்கள்
+main.debugModeEnabled.tooltip=பிழைத்திருத்த பயன்முறை இயக்கப்பட்டது
+main.supporterCertificateMissing.tooltip=நன்கொடை வழங்குவதை கருத்தில் கொள்ளவும்
## Drag 'n' Drop
+main.dropZone.dropVault=இந்தப் பெட்டகத்தைச் சேர்க்கவும்
+main.dropZone.unknownDragboardContent=நீங்கள் ஒரு பெட்டகத்தைச் சேர்க்க விரும்பினால், அதை இந்தச் சாளரத்திற்கு இழுக்கவும்
## Vault List
+main.vaultlist.emptyList.onboardingInstruction=பெட்டகத்தைச் சேர்க்க இங்கே கிளிக் செய்யவும்
+main.vaultlist.contextMenu.remove=அகற்று…
+main.vaultlist.contextMenu.lock=பூட்டு
+main.vaultlist.contextMenu.unlock=பூட்டுநீக்கு…
+main.vaultlist.contextMenu.unlockNow=இப்போது திறக்கவும்
+main.vaultlist.contextMenu.vaultoptions=பெட்டக விருப்பங்களைக் காட்டு
+main.vaultlist.contextMenu.reveal=இயக்ககத்தை வெளிப்படுத்து
+main.vaultlist.addVaultBtn=பெட்டகத்தைச் சேர்க்கவும்
## Vault Detail
### Welcome
+main.vaultDetail.welcomeOnboarding=உங்கள் கோப்புகளைப் பாதுகாக்க Cryptomator -ஐத் தேர்ந்தெடுத்ததற்கு நன்றி. உங்களுக்கு ஏதேனும் உதவி தேவைப்பட்டால், எங்கள் தொடக்க வழிகாட்டிகளைப் பார்க்கவும்:
### Locked
+main.vaultDetail.lockedStatus=பூட்டப்பட்டுள்ளது
+main.vaultDetail.unlockBtn=பூட்டுநீக்கு…
+main.vaultDetail.unlockNowBtn=இப்போது திறக்கவும்
### Unlocked
+main.vaultDetail.revealBtn=இயக்ககத்தை வெளிப்படுத்து
+main.vaultDetail.lockBtn=பூட்டு
### Missing
### Needs Migration
+main.vaultDetail.migrateButton=பெட்டகத்தை மேம்படுத்து
### Error
# Wrong File Alert
+wrongFileAlert.message=இந்தக் கோப்புகளைக் குறியாக்க முயற்சித்தீர்களா?
+wrongFileAlert.description=இந்த நோக்கத்திற்காக, Cryptomator உங்கள் கணினி அமைப்புக் கோப்பு மேலாளரில் ஒரு தொகுதியை வழங்குகிறது.
+wrongFileAlert.instruction.0=கோப்புகளைக் குறியாக்க, இந்த வழிமுறைகளைப் பின்பற்றவும்:
+wrongFileAlert.instruction.1=1. உங்கள் பெட்டகத்தைத் திறக்கவும்.
+wrongFileAlert.instruction.2=2. உங்கள் கோப்பு மேலாளரில் தொகுதியைத் திறக்க "வெளிப்படுத்து" என்பதைக் கிளிக் செய்யவும்.
+wrongFileAlert.instruction.3=3. உங்கள் கோப்புகளை இந்தத் தொகுதியில் சேர்க்கவும்.
+wrongFileAlert.link=மேலும் உதவிக்கு, பார்வையிடவும்
# Vault Options
## General
+vaultOptions.general=பொது
+vaultOptions.general.vaultName=பெட்டகத்தின் பெயர்
+vaultOptions.general.autoLock.lockAfterTimePart1=செயலற்ற நிலையில் இருக்கும்போது பூட்டு
+vaultOptions.general.autoLock.lockAfterTimePart2=நிமிடங்கள்
+vaultOptions.general.unlockAfterStartup=Cryptomator -ஐத் தொடங்கும்போது பெட்டகத்தைத் திறக்கவும்
+vaultOptions.general.actionAfterUnlock=வெற்றிகரமாகத் திறக்கப்பட்ட பிறகு
+vaultOptions.general.actionAfterUnlock.ignore=எதுவும் செய்யாதே
+vaultOptions.general.actionAfterUnlock.reveal=இயக்ககத்தை வெளிப்படுத்து
+vaultOptions.general.actionAfterUnlock.ask=விசாரி
## Mount
+vaultOptions.mount.mountPoint.directoryPickerButton=தேர்ந்தெடு…
## Master Key
+vaultOptions.masterkey.changePasswordBtn=கடவுச்சொல்லை மாற்று
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
+passwordStrength.messageLabel.0=மிகவும் பலவீனமானது
+passwordStrength.messageLabel.1=பலவீனமானது
+passwordStrength.messageLabel.2=சுமார்
+passwordStrength.messageLabel.3=வலுவான
+passwordStrength.messageLabel.4=மிகவும் வலுவான
# Quit
+quit.title=செயலலியிருந்து வெளியேறு
+quit.message=திறக்கப்பட்ட பெட்டகங்கள் உள்ளன
+quit.description=நீங்கள் வெளியேற விரும்புகிறீர்கள் என்பதை உறுதிப்படுத்தவும். தரவு இழப்பைத் தடுக்க Cryptomator அனைத்து திறக்கப்பட்ட பெட்டகங்களையும் அழகாகப் பூட்டும்.
+quit.lockAndQuitBtn=பூட்டு மற்றும் வெளியேறு
+
+# Forced Quit
+quit.forced.message=சில பெட்டகங்களை பூட்ட முடியவில்லை
+quit.forced.description=நிலுவையில் உள்ள செயல்பாடுகள் அல்லது திறந்த கோப்புகளால் பெட்டகங்களைப் பூட்டுவது தடுக்கப்பட்டது. மீதமுள்ள பெட்டகங்களை நீங்கள் கட்டாயப்படுத்தலாம், இருப்பினும் I/O குறுக்கிடுவது சேமிக்கப்படாத தரவை இழக்க நேரிடும்.
+quit.forced.forceAndQuitBtn=கட்டாயப்படுத்தி வெளியேறு
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_te.properties b/src/main/resources/i18n/strings_te.properties
index 2431dd0ab..b51f7dd26 100644
--- a/src/main/resources/i18n/strings_te.properties
+++ b/src/main/resources/i18n/strings_te.properties
@@ -2,7 +2,8 @@
# Generics
## Button
-## Error
+
+# Error
# Defaults
@@ -86,7 +87,14 @@ preferences.interface.theme.light=కాంతి
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_th.properties b/src/main/resources/i18n/strings_th.properties
index 2f6f9ef9e..42b0bc4c2 100644
--- a/src/main/resources/i18n/strings_th.properties
+++ b/src/main/resources/i18n/strings_th.properties
@@ -6,18 +6,20 @@ generic.button.apply=นำไปใช้
generic.button.back=ย้อนกลับ
generic.button.cancel=ยกเลิก
generic.button.change=เปลี่ยน
+generic.button.choose=เลือก...
generic.button.close=ปิด
generic.button.copy=คัดลอก
generic.button.copied=คัดลอกแล้ว!
generic.button.done=เสร็จสิ้น
generic.button.next=ถัดไป
generic.button.print=พิมพ์
-## Error
-generic.error.title=ข้อผิดพลาด: %s
-generic.error.instruction=ไม่นะ! Cryptomator ไม่ได้ต้องการให้สิ่งนี้เกิดขึ้น คุณสามารถค้นหาข้อผิดพลาดนี้ได้ หากค้นหาไม่เจอ โปรดรายงาน
-generic.error.hyperlink.lookup=ค้นหาข้อผิดพลาดนี้
-generic.error.hyperlink.report=รายงานข้อผิดพลาดนี้
-generic.error.technicalDetails=รายละเอียด:
+
+# Error
+error.message=ข้อผิดพลาด: %s
+error.description=ไม่นะ! Cryptomator ไม่ได้ต้องการให้สิ่งนี้เกิดขึ้น คุณสามารถค้นหาข้อผิดพลาดนี้ได้ หากค้นหาไม่เจอ โปรดรายงาน
+error.hyperlink.lookup=ค้นหาข้อผิดพลาดนี้
+error.hyperlink.report=รายงานข้อผิดพลาดนี้
+error.technicalDetails=รายละเอียด:
# Defaults
defaults.vault.vaultName=Vault
@@ -51,7 +53,6 @@ addvaultwizard.new.fileAlreadyExists=คำเตือน: มีชื่อ
addvaultwizard.new.locationDoesNotExist=ไม่มีไดเรกทอรีในตำแหน่งที่คุณเลือก หรือไม่สามารถเข้าถึงได้
addvaultwizard.new.locationIsNotWritable=ไม่มีสิทธิ์ในการเขียนตำแหน่งที่คุณเลือก
addvaultwizard.new.locationIsOk=ตำแหน่งนี้เหมาะสมสำหรับ Vault ของคุณ
-addvaultwizard.new.invalidName=ไม่สามารถใช้ชื่อนี้ได้
### Password
addvaultwizard.new.createVaultBtn=สร้าง Vault
addvaultwizard.new.generateRecoveryKeyChoice=หากคุณลืมรหัสผ่าน คุณจะไม่สามารถเข้าถึงข้อมูลเหล่านี้ได้ คุณต้องการที่จะสร้างรหัสกู้คืนหรือไม่?
@@ -85,7 +86,6 @@ addvaultwizard.existing.chooseBtn=เลือก...
# Unlock
unlock.unlockBtn=ปลดล็อก
## Select
-unlock.chooseMasterkey.chooseBtn=เลือก...
## Success
## Failure
### Invalid Mount Point
@@ -126,6 +126,7 @@ preferences.title=การตั้งค่า
# Main Window
main.closeBtn.tooltip=ปิด
main.preferencesBtn.tooltip=การตั้งค่า
+main.supporterCertificateMissing.tooltip=โปรดพิจารณาเงินบริจาค
## Drag 'n' Drop
## Vault List
main.vaultlist.contextMenu.lock=ล็อก
@@ -151,7 +152,14 @@ vaultOptions.mount.mountPoint.directoryPickerButton=เลือก...
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_tr.properties b/src/main/resources/i18n/strings_tr.properties
index 2243239c5..7446c85ce 100644
--- a/src/main/resources/i18n/strings_tr.properties
+++ b/src/main/resources/i18n/strings_tr.properties
@@ -6,18 +6,20 @@ generic.button.apply=Uygula
generic.button.back=Geri
generic.button.cancel=İptal
generic.button.change=Değiştir
+generic.button.choose=Seç…
generic.button.close=Kapat
generic.button.copy=Kopyala
generic.button.copied=Kopyalandı!
generic.button.done=Tamam
-generic.button.next=Sonraki
+generic.button.next=İleri
generic.button.print=Yazdır
-## Error
-generic.error.title=Hata: %s
-generic.error.instruction=Uups! Cryptomator bunun olmasını beklemiyordu. Bu hata için mevcut çözümlere bakabilirsiniz. Ya da henüz bildirilmediyse, bunu raporlamaktan çekinmeyin.
-generic.error.hyperlink.lookup=Bu hatayı ara
-generic.error.hyperlink.report=Bu hatayı bildir
-generic.error.technicalDetails=Detaylar:
+
+# Error
+error.message=Hata: %s
+error.description=Uups! Cryptomator bunun olmasını beklemiyordu. Bu hata için mevcut çözümlere bakabilirsiniz. Ya da henüz bildirilmediyse, bunu raporlamaktan çekinmeyin.
+error.hyperlink.lookup=Bu hatayı ara
+error.hyperlink.report=Bu hatayı bildir
+error.technicalDetails=Detaylar:
# Defaults
defaults.vault.vaultName=Kasa
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=Kasa adına sahip bir dosya veya dizin zate
addvaultwizard.new.locationDoesNotExist=Belirtilen yoldaki bir dizin mevcut değil veya erişilemez
addvaultwizard.new.locationIsNotWritable=Belirtilen yolda yazma erişimi yok
addvaultwizard.new.locationIsOk=Bu konum, kasanız için uygun
-addvaultwizard.new.invalidName=Kasa adı geçersiz. Lütfen normal bir dizin adı kullanın.
+addvaultwizard.new.invalidName=Geçersiz kasa adı
+addvaultwizard.new.validName=Geçerli kasa adı
+addvaultwizard.new.validCharacters.message=Kasa adı aşağıdaki karakterleri içerebilir:
+addvaultwizard.new.validCharacters.chars=Kelime karakterleri (örn. a, ж veya 수)
+addvaultwizard.new.validCharacters.numbers=Sayılar
+addvaultwizard.new.validCharacters.dashes=Tire (%s) veya alt çizgi (%s)
### Password
addvaultwizard.new.createVaultBtn=Kasa Oluştur
addvaultwizard.new.generateRecoveryKeyChoice=Şifreniz olmadan verilerinize erişemeyeceksiniz. Şifrenizi kaybetmeniz durumunda kullanabileceğiniz bir kurtarma anahtarı ister misiniz?
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=Bu dosyayı silmeye çekinmeyin.
addvaultwizard.existing.instruction=Mevcut kasanızın "vault.cryptomator" dosyasını seçin. Yalnızca "masterkey.cryptomator" adlı bir dosya varsa, bunun yerine onu seçin.
addvaultwizard.existing.chooseBtn=Seç…
addvaultwizard.existing.filePickerTitle=Kasa Dosyasını Seçin
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator Kasası
## Success
addvaultwizard.success.nextStepsInstructions="%s" kasası eklendi.\nİçeriğe erişmek veya içerik eklemek için bu kasanın kilidini açmanız gerekir. Alternatif olarak, daha sonra herhangi bir zamanda kilidini açabilirsiniz.
addvaultwizard.success.unlockNow=Kilidi Şimdi Aç
# Remove Vault
removeVault.title=Kasayı Sil
-removeVault.information=Bu, yalnızca Cryptomator'ın bu kasayı unutmasını sağlar. Daha sonra tekrar ekleyebilirsiniz. Şifrelenmiş hiçbir dosya sabit diskinizden silinmez.
+removeVault.message=Kasa silinsin mi?
+removeVault.description=Bu, yalnızca Cryptomator'ın bu kasayı unutmasını sağlar. Daha sonra tekrar ekleyebilirsiniz. Şifrelenmiş hiçbir dosya sabit diskinizden silinmez.
removeVault.confirmBtn=Kasayı Sil
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=Şifremi unutursam verilerime ulaşamayacağım
# Forget Password
forgetPassword.title=Şifreyi Unut
-forgetPassword.information=Bu, bu kasanın kaydedilmiş şifresini sistem anahtarlığınızdan siler.
+forgetPassword.message=Kaydedilen şifreyi unut?
+forgetPassword.description=Bu, bu kasanın kaydedilmiş şifresini sistem anahtarlığınızdan siler.
forgetPassword.confirmBtn=Şifreyi Unut
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt="%s" için şifre girin:
unlock.savePassword=Şifreyi Hatırla
unlock.unlockBtn=Kilidi Aç
## Select
-unlock.chooseMasterkey.title="%s" ait Ana anahtarı seçin
-unlock.chooseMasterkey.prompt=Bu kasa için masterkey dosyası beklenen konumda bulunamadı. Lütfen anahtar dosyasını manuel olarak seçin.
-unlock.chooseMasterkey.chooseBtn=Seç…
+unlock.chooseMasterkey.message=Ana anahtar dosyası bulunamadı
+unlock.chooseMasterkey.description=Bu kasa için masterkey dosyası beklenen konumda bulunamadı. Lütfen anahtar dosyasını manuel olarak seçin.
unlock.chooseMasterkey.filePickerTitle=Masterkey Dosyasını Seç
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator Ana anahtarı
## Success
-unlock.success.message="%s" 'nin kilidi başarıyla açıldı! Kasanız şimdi sanal sürücüsü ile erişilebilir durumda.
+unlock.success.message=Kilit başarıyla açıldı
+unlock.success.description="%s" 'nin kilidi başarıyla açıldı! Kasanız şimdi sanal sürücüsü ile erişilebilir durumda.
unlock.success.rememberChoice=Seçimi hatırla, bunu bir daha gösterme
unlock.success.revealBtn=Sürücüyü Göster
## Failure
-unlock.error.heading=Kasanın kilidi açılamıyor
+unlock.error.message=Kasanın kilidi açılamıyor
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=Bağlantı noktası boş bir dizin değil veya mevcut değil: %s
unlock.error.invalidMountPoint.existing=Bağlama noktası / klasör zaten var veya ana klasör eksik: %s
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied="%s" sürücü adı zaten kul
# Lock
## Force
-lock.forced.heading=Kilitleme başarısız
-lock.forced.message="%s" nin kilitlenmesi, bekleyen işlemler veya açık dosyalar tarafından engellendi. Bu kasayı zorla kilitleyebilirsiniz, ancak G/Ç'nin kesilmesi kaydedilmemiş verilerin kaybına neden olabilir.
+lock.forced.message=Kilitleme başarısız
+lock.forced.description="%s" nin kilitlenmesi, bekleyen işlemler veya açık dosyalar tarafından engellendi. Bu kasayı zorla kilitleyebilirsiniz, ancak G/Ç'nin kesilmesi kaydedilmemiş verilerin kaybına neden olabilir.
lock.forced.retryBtn=Yeniden dene
lock.forced.forceBtn=Kilitlemeye zorla
## Failure
-lock.fail.heading=Kasa kilitlenemedi.
-lock.fail.message="%s" kasası kilitlenemedi. Kaydedilmemiş çalışmanın başka bir yere kaydedildiğinden ve önemli Okuma / Yazma işlemlerinin tamamlandığından emin olun. Kasayı kapatmak için Cryptomator işlemini sonlandırın.
+lock.fail.message=Kasa kilitlenemedi.
+lock.fail.description="%s" kasası kilitlenemedi. Kaydedilmemiş çalışmanın başka bir yere kaydedildiğinden ve önemli Okuma / Yazma işlemlerinin tamamlandığından emin olun. Kasayı kapatmak için Cryptomator işlemini sonlandırın.
# Migration
migration.title=Kasayı Yükselt
@@ -191,6 +202,7 @@ preferences.title=Seçenekler
## General
preferences.general=Genel
preferences.general.startHidden=Cryptomator'ı başlatırken pencereyi gizle
+preferences.general.autoCloseVaults=Uygulamadan çıkarken açık kasaları otomatik olarak kilitle
preferences.general.debugLogging=Hata ayıklama günlüğünü etkinleştir
preferences.general.debugDirectory=Kayıt dosyalarını göster
preferences.general.autoStart=Cryptomator'u sistem başlangıcında çalıştır
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=Kapat
main.minimizeBtn.tooltip=Simge Durumuna Küçült
main.preferencesBtn.tooltip=Seçenekler
main.debugModeEnabled.tooltip=Hata ayıklama modu etkin
-main.donationKeyMissing.tooltip=Bağış yapmayı düşünmez miydiniz?
+main.supporterCertificateMissing.tooltip=Bağış yapmayı düşünmez miydiniz?
## Drag 'n' Drop
main.dropZone.dropVault=Bu kasayı ekle
main.dropZone.unknownDragboardContent=Bir kasa eklemek istiyorsanız, onu bu pencereye sürükleyin
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=Kasa yüklenirken hata oluştu
# Wrong File Alert
wrongFileAlert.title=Dosyalar Nasıl Şifrelenir
-wrongFileAlert.header.title=Bu dosyaları şifrelemeye çalıştınız mı?
-wrongFileAlert.header.lead=Bu amaçla, Cryptomator sistem dosya yöneticinizde bir birim oluşturur.
+wrongFileAlert.message=Bu dosyaları şifrelemeye çalıştınız mı?
+wrongFileAlert.description=Bu amaçla, Cryptomator sistem dosya yöneticinizde bir birim oluşturur.
wrongFileAlert.instruction.0=Dosyaları şifrelemek için, şu adımları izleyin:
wrongFileAlert.instruction.1=1. Kasanızın kilidini açın.
wrongFileAlert.instruction.2=2. "Sürücüyü Göster"e basarak birimi dosya yöneticinizde açın.
@@ -352,17 +364,27 @@ vaultOptions.masterkey.changePasswordBtn=Şifreyi Değiştir
vaultOptions.masterkey.forgetSavedPasswordBtn=Kaydedilen Şifreyi Unut
vaultOptions.masterkey.recoveryKeyExplanation=Bir kurtarma anahtarı şifrenizi unuttuğunuz takdirde kasanıza ulaşmanın tek yoludur.
vaultOptions.masterkey.showRecoveryKeyBtn=Kurtarma Anahtarını Göster
-vaultOptions.masterkey.recoverPasswordBtn=Parolanızı Kurtarın
+vaultOptions.masterkey.recoverPasswordBtn=Şifreyi Sıfırla
# Recovery Key
-recoveryKey.title=Kurtarma Anahtarı
-recoveryKey.enterPassword.prompt="%s" için kurtarma anahtarını göstermek üzere şifrenizi girin:
-recoveryKey.display.message=Aşağıdaki kurtarma anahtarı "%s" kasasına erişimi kazanmak için kullanılabilir:
+## Display Recovery Key
+recoveryKey.display.title=Kurtarma Anahtarını Göster
+recoveryKey.create.message=Parola gerekli
+recoveryKey.create.description="%s" için kurtarma anahtarını göstermek üzere şifrenizi girin:
+recoveryKey.display.description=Aşağıdaki kurtarma anahtarı "%s" kasasına erişimi kazanmak için kullanılabilir:
recoveryKey.display.StorageHints=Bunu çok güvenli bir yerde saklayın, örneğin:\n • Şifre yöneticisi kullanarak depolayın\n • USB flash belleğe kaydedin\n • Bir sayfaya yazdırın
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Şifreyi Sıfırla
recoveryKey.recover.prompt="%s" için kurtarma anahtarınızı girin:
recoveryKey.recover.validKey=Bu geçerli bir kurtarma anahtarı
recoveryKey.printout.heading=Cryptomator Kurtarma Anahtarı\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=Sıfırla
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Şifre sıfırlama başarılı
+recoveryKey.recover.resetSuccess.description=Yeni şifre ile kasanızın kilidini açabilirsiniz.
# New Password
newPassword.promptText=Yeni bir şifre girin
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=Güçlü
passwordStrength.messageLabel.4=Çok güçlü
# Quit
-quit.prompt=Uygulamadan çıkmak mı istiyorsunuz? Hala kilidi açılmış kasalar var.
-quit.lockAndQuit=Kilitle ve Çık
+quit.title=Uygulamayı Kapat
+quit.message=Kilidi açılmış kasalar var
+quit.description=Lütfen çıkmak istediğinizi onaylayın. Cryptomator, veri kaybını önlemek için kilidi açılmış tüm kasaları dikkatli bir şekilde kilitleyecektir.
+quit.lockAndQuitBtn=Kilitle ve Çık
+
+# Forced Quit
+quit.forced.message=Bazı kasalar kilitlenemedi
+quit.forced.description=Kasaların kilitlenmesi, bekleyen işlemler veya açık dosyalar tarafından engellendi. Kalan kasaları zorla kilitleyebilirsiniz, ancak G/Ç'nin kesilmesi kaydedilmemiş verilerin kaybına neden olabilir.
+quit.forced.forceAndQuitBtn=Zorla ve Çık
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_uk.properties b/src/main/resources/i18n/strings_uk.properties
index 4ec9186f6..abf443e2c 100644
--- a/src/main/resources/i18n/strings_uk.properties
+++ b/src/main/resources/i18n/strings_uk.properties
@@ -6,18 +6,20 @@ generic.button.apply=Застосувати
generic.button.back=Назад
generic.button.cancel=Відмінити
generic.button.change=Змінити
+generic.button.choose=Обрати…
generic.button.close=Закрити
generic.button.copy=Копіювати
generic.button.copied=Скопійовано!
generic.button.done=Готово
generic.button.next=Далі
generic.button.print=Друкувати
-## Error
-generic.error.title=Помилка %s
-generic.error.instruction=Ой! Cryptomator не очікував, що таке трапиться. Ви можете знайти існуючі рішення цієї помилки. Або, якщо про це ще не повідомили, то не соромтеся зробити це.
-generic.error.hyperlink.lookup=Дізнатися більше про цю помилку
-generic.error.hyperlink.report=Повідомити про помилку
-generic.error.technicalDetails=Докладно:
+
+# Error
+error.message=Помилка %s
+error.description=Ой! Cryptomator не очікував, що таке трапиться. Ви можете знайти існуючі рішення цієї помилки. Або, якщо про це ще не повідомили, то не соромтеся зробити це.
+error.hyperlink.lookup=Дізнатися більше про цю помилку
+error.hyperlink.report=Повідомити про помилку
+error.technicalDetails=Докладно:
# Defaults
defaults.vault.vaultName=Сховище
@@ -49,28 +51,43 @@ addvaultwizard.new.directoryPickerButton=Обрати…
addvaultwizard.new.directoryPickerTitle=Оберіть директорію
addvaultwizard.new.fileAlreadyExists=Файл чи папка з іменем сховища вже існує
### Password
+addvaultwizard.new.createVaultBtn=Створити сховище
### Information
+addvault.new.readme.storageLocation.2=Це місце для зберігання вашого сховища.
+addvault.new.readme.storageLocation.3=НЕ
+addvault.new.readme.storageLocation.4=• міняйте будь-які файли в цьому каталозі або
+addvault.new.readme.storageLocation.5=• вставляйте будь-які файли для шифрування до цієї теки.
## Existing
addvaultwizard.existing.chooseBtn=Обрати…
## Success
+addvaultwizard.success.unlockNow=Розблокувати
# Remove Vault
+removeVault.title=Видалити сховище
+removeVault.confirmBtn=Видалити сховище
# Change Password
+changepassword.title=Змінити пароль
+changepassword.enterOldPassword=Поточний пароль для "%s"
+changepassword.finalConfirmation=Я розумію, що не зможу отримати доступ до даних, якщо забуду свій пароль
# Forget Password
+forgetPassword.title=Не пам'ятаю пароль
+forgetPassword.confirmBtn=Не пам'ятаю пароль
# Unlock
+unlock.title=Розблокувати "%s"
+unlock.passwordPrompt=Введіть пароль для "%s":
+unlock.savePassword=Запам'ятати пароль
unlock.unlockBtn=Розблокувати
## Select
-unlock.chooseMasterkey.chooseBtn=Обрати…
## Success
## Failure
### Invalid Mount Point
# Lock
## Force
-lock.forced.heading=Помилка блокування
+lock.forced.message=Помилка блокування
lock.forced.retryBtn=Повторити
lock.forced.forceBtn=Примусове блокування
## Failure
@@ -79,6 +96,7 @@ lock.forced.forceBtn=Примусове блокування
## Start
## Run
## Success
+migration.success.unlockNow=Розблокувати
## Missing file system capabilities
## Impossible
@@ -110,10 +128,12 @@ main.preferencesBtn.tooltip=Властивості
## Drag 'n' Drop
## Vault List
main.vaultlist.contextMenu.lock=Заблокувати
+main.vaultlist.contextMenu.unlockNow=Розблокувати
main.vaultlist.addVaultBtn=Додати сховище
## Vault Detail
### Welcome
### Locked
+main.vaultDetail.unlockNowBtn=Розблокувати
### Unlocked
main.vaultDetail.lockBtn=Заблокувати
### Missing
@@ -129,10 +149,18 @@ vaultOptions.general.vaultName=Назва сховища
## Mount
vaultOptions.mount.mountPoint.directoryPickerButton=Обрати…
## Master Key
+vaultOptions.masterkey.changePasswordBtn=Змінити пароль
# Recovery Key
+## Display Recovery Key
+## Reset Password
+### Enter Recovery Key
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
# Quit
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_vi.properties b/src/main/resources/i18n/strings_vi.properties
new file mode 100644
index 000000000..4b4938288
--- /dev/null
+++ b/src/main/resources/i18n/strings_vi.properties
@@ -0,0 +1,305 @@
+# Locale Specific CSS files such as CJK, RTL,...
+
+# Generics
+## Button
+generic.button.apply=Áp dụng
+generic.button.back=Quay lại
+generic.button.cancel=Hủy
+generic.button.change=Thay đổi
+generic.button.choose=Chọn…
+generic.button.close=Đóng
+generic.button.copy=Sao chép
+generic.button.copied=Đã sao chép!
+generic.button.done=Xong
+generic.button.next=Tiếp
+generic.button.print=In
+
+# Error
+error.message=Lỗi %s
+error.description=Oops! Cryptomator không mong đợi điều này xảy ra. Bạn có thể tra cứu các giải pháp hiện có cho lỗi này. Hoặc nếu lỗi chưa được báo cáo, hãy làm như vậy.
+error.hyperlink.lookup=Tìm kiếm lỗi này
+error.hyperlink.report=Báo cáo lỗi
+error.technicalDetails=Chi tiết:
+
+# Defaults
+defaults.vault.vaultName=Vault
+
+# Tray Menu
+traymenu.showMainWindow=Hiện
+traymenu.showPreferencesWindow=Tùy chỉnh
+traymenu.lockAllVaults=Khóa tất cả
+traymenu.quitApplication=Thoát
+traymenu.vault.unlock=Mở khoá
+traymenu.vault.lock=Khoá
+traymenu.vault.reveal=Hiển thị
+
+# Add Vault Wizard
+addvaultwizard.title=Thêm Vault
+## Welcome
+addvaultwizard.welcome.newButton=Tạo Vault mới
+addvaultwizard.welcome.existingButton=Mở Vault Hiện Có
+## New
+### Name
+addvaultwizard.new.nameInstruction=Chọn tên cho vault
+addvaultwizard.new.namePrompt=Tên Vault
+### Location
+addvaultwizard.new.locationInstruction=Cryptomator nên lưu trữ các tệp được mã hóa trong vault của bạn ở đâu?
+addvaultwizard.new.locationLabel=Nơi lưu trữ
+addvaultwizard.new.locationPrompt=…
+addvaultwizard.new.directoryPickerLabel=Tùy chỉnh vị trí
+addvaultwizard.new.directoryPickerButton=Chọn…
+addvaultwizard.new.directoryPickerTitle=Chọn Thư Mục
+addvaultwizard.new.fileAlreadyExists=Tệp hoặc thư mục có tên vault đã tồn tại
+addvaultwizard.new.locationDoesNotExist=Thư mục trong đường dẫn được chỉ định không tồn tại hoặc không thể truy cập
+addvaultwizard.new.locationIsNotWritable=Không có quyền ghi tại đường dẫn được chỉ định
+addvaultwizard.new.locationIsOk=Vị trí thích hợp cho vault của bạn
+### Password
+addvaultwizard.new.createVaultBtn=Tạo Vault
+addvaultwizard.new.generateRecoveryKeyChoice=Bạn sẽ không thể truy cập dữ liệu của mình nếu không có mật khẩu. Bạn có muốn có khóa khôi phục cho trường hợp mất mật khẩu không?
+addvaultwizard.new.generateRecoveryKeyChoice.yes=Vâng làm ơn, cẩn tắc vô áy náy
+addvaultwizard.new.generateRecoveryKeyChoice.no=Không cảm ơn, tôi sẽ không mất mật khẩu
+### Information
+addvault.new.readme.storageLocation.2=Đây là vị trí truy cập vault của bạn.
+addvault.new.readme.storageLocation.3=ĐỪNG
+addvault.new.readme.storageLocation.4=• thay đổi bất kỳ tệp nào trong thư mục này hoặc
+addvault.new.readme.storageLocation.5=• dán bất kỳ tệp nào để mã hóa vào thư mục này.
+addvault.new.readme.storageLocation.6=Nếu bạn muốn mã hóa tệp và xem nội dung của vault, hãy làm như sau:
+addvault.new.readme.storageLocation.7=1. Thêm vault này vào Cryptomator.
+addvault.new.readme.storageLocation.8=2. Mở khóa vault trong Cryptomator.
+addvault.new.readme.storageLocation.9=3. Mở vị trí truy cập bằng cách nhấp vào nút "Mở".
+addvault.new.readme.storageLocation.10=Nếu cần trợ giúp, hãy truy cập tài liệu: %s
+addvault.new.readme.accessLocation.2=Đây là vị trí truy cập vault của bạn.
+addvault.new.readme.accessLocation.3=Bất kỳ tệp nào được thêm vào đây sẽ được mã hóa bởi Cryptomator. Bạn có thể làm việc trên nó như trên bất kỳ ổ đĩa/thư mục nào khác. Đây chỉ là chế độ xem nội dung được giải mã của nó, các tệp của bạn luôn được mã hóa trên ổ cứng của bạn.
+## Existing
+addvaultwizard.existing.chooseBtn=Chọn…
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator Vault
+## Success
+addvaultwizard.success.nextStepsInstructions=Vault "%s" đã được thêm.\nBạn cần mở khóa vault để truy cập hoặc thêm nội dung. Ngoài ra, bạn có thể mở khóa ở bất kì lúc nào sau đó.
+addvaultwizard.success.unlockNow=Mở khóa bây giờ
+
+# Remove Vault
+removeVault.title=Xóa Vault
+removeVault.description=Điều này sẽ chỉ làm cho Cryptomator quên đi vault này. Bạn có thể thêm lại sau. Không có tệp được mã hóa nào sẽ bị xóa khỏi ổ cứng của bạn.
+removeVault.confirmBtn=Xóa Vault
+
+# Change Password
+changepassword.title=Đổi mật khẩu
+changepassword.enterOldPassword=Nhập mật khẩu hiện tại cho "%s"
+changepassword.finalConfirmation=Tôi hiểu rằng tôi sẽ không thể truy cập dữ liệu của mình nếu quên mật khẩu
+
+# Forget Password
+forgetPassword.title=Quên Mật khẩu
+forgetPassword.message=Quên mật khẩu đã lưu?
+forgetPassword.description=Thao tác này sẽ xóa mật khẩu đã lưu của vault này khỏi chuỗi khóa hệ thống của bạn.
+forgetPassword.confirmBtn=Quên mật khẩu
+
+# Unlock
+unlock.title=Mở "%s"
+unlock.passwordPrompt=Nhập mật khẩu cho "%s":
+unlock.savePassword=Nhớ mật khẩu
+unlock.unlockBtn=Mở khoá
+## Select
+unlock.chooseMasterkey.filePickerMimeDesc=Khóa chính Cryptomator
+## Success
+unlock.success.message=Mở khóa thành công
+unlock.success.rememberChoice=Ghi nhớ lựa chọn, không hiện lại
+unlock.success.revealBtn=Hiển thị Drive
+## Failure
+unlock.error.message=Không thể mở vault
+### Invalid Mount Point
+
+# Lock
+## Force
+lock.forced.message=Khóa thất bại
+lock.forced.retryBtn=Thử lại
+## Failure
+lock.fail.message=Khóa vault thất bại.
+
+# Migration
+migration.title=Nâng cấp Vault
+## Start
+migration.start.prompt=Vault của bạn "%s" cần được cập nhật lên định dạng mới hơn. Trước khi tiếp tục, hãy đảm bảo rằng không có đồng bộ hóa đang chờ xử lý nào ảnh hưởng đến vault này.
+migration.start.confirm=Vâng, vault của tôi đã được đồng bộ
+## Run
+migration.run.enterPassword=Nhập mật khẩu cho "%s"
+migration.run.startMigrationBtn=Chuyển Vault
+migration.run.progressHint=Việc này có thể mất một chút thời gian…
+## Success
+migration.success.unlockNow=Mở khóa bây giờ
+## Missing file system capabilities
+migration.error.missingFileSystemCapabilities.title=Hệ thống tệp không được hỗ trợ
+migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=Hệ thống tệp không hỗ trợ tên tệp dài.
+migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=Hệ thống tệp không hỗ trợ đường dẫn dài.
+migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=Hệ thống tệp không cho phép đọc.
+migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=Hệ thống tệp không cho phép ghi vào.
+## Impossible
+migration.impossible.heading=Không thể di chuyển vault
+
+# Health Check
+## Start
+health.intro.remarkSync=Đảm bảo tất cả các thiết bị được đồng bộ hóa hoàn toàn, điều này giải quyết hầu hết các vấn đề.
+health.intro.remarkFix=Không phải tất cả các vấn đề đều có thể được khắc phục.
+health.intro.remarkBackup=Nếu dữ liệu bị hỏng, chỉ có bản sao lưu mới có thể giúp được.
+health.intro.affirmation=Tôi đã đọc và hiểu thông tin trên
+## Start Failure
+health.fail.ioError=Đã xảy ra lỗi khi truy cập và đọc tệp config.
+## Check Selection
+## Detail view
+health.check.exportBtn=Xuất Báo Cáo
+## Fix Application
+health.fix.fixBtn=Sửa
+health.fix.successTip=Sửa thành công
+health.fix.failTip=Sửa thất bại, xem log để biết thêm chi tiết
+
+# Preferences
+preferences.title=Tùy chỉnh
+## General
+preferences.general=Chung
+preferences.general.startHidden=Ẩn cửa sổ khi khởi động Cryptomator
+preferences.general.autoCloseVaults=Tự động khóa các vault còn đang mở khi thoát ứng dụng
+preferences.general.debugLogging=Bật nhật kí gỡ lỗi
+preferences.general.debugDirectory=Mở file log
+preferences.general.autoStart=Khởi chạy Cryptomator khi khởi động hệ thống
+preferences.general.keychainBackend=Lưu mật khẩu với
+## Interface
+preferences.interface=Giao diện
+preferences.interface.theme.automatic=Tự động
+preferences.interface.theme.dark=Tối
+preferences.interface.theme.light=Sáng
+preferences.interface.language=Ngôn ngữ (yêu cầu khởi động lại)
+preferences.interface.language.auto=Mặc định hệ thống
+preferences.interface.interfaceOrientation=Định hướng giao diện
+preferences.interface.interfaceOrientation.ltr=Trái sang phải
+preferences.interface.interfaceOrientation.rtl=Phải sang trái
+preferences.interface.showMinimizeButton=Hiện nút thu nhỏ
+preferences.interface.showTrayIcon=Hiển thị biểu tượng khay (yêu cầu khởi động lại)
+## Volume
+preferences.volume=Ổ lưu trữ ảo
+## Updates
+preferences.updates=Cập nhật
+preferences.updates.currentVersion=Phiên bản hiện tại: %s
+preferences.updates.autoUpdateCheck=Tự động kiểm tra phiên bản mới
+preferences.updates.checkNowBtn=Kiểm tra ngay
+preferences.updates.updateAvailable=Có bản cập nhật lên phiên bản %s.
+## Contribution
+preferences.contribute=Hỗ trợ chúng tôi
+#<-- Add entries for donations and code/translation/documentation contribution -->
+
+## About
+preferences.about=Giới thiệu
+
+# Vault Statistics
+stats.title=Thống kê về %s
+## Read
+## Write
+
+# Main Window
+main.closeBtn.tooltip=Đóng
+main.minimizeBtn.tooltip=Thu nhỏ
+main.preferencesBtn.tooltip=Tùy chỉnh
+main.debugModeEnabled.tooltip=Chế độ gỡ lỗi được bật
+main.supporterCertificateMissing.tooltip=Hãy xem xét tài trợ
+## Drag 'n' Drop
+main.dropZone.dropVault=Thêm vault này
+main.dropZone.unknownDragboardContent=Nếu bạn muốn thêm một vault, hãy kéo nó vào cửa sổ này
+## Vault List
+main.vaultlist.emptyList.onboardingInstruction=Bấm vào đây để thêm vault
+main.vaultlist.contextMenu.remove=Xóa…
+main.vaultlist.contextMenu.lock=Khoá
+main.vaultlist.contextMenu.unlock=Mở khoá…
+main.vaultlist.contextMenu.unlockNow=Mở khóa bây giờ
+main.vaultlist.contextMenu.vaultoptions=Hiện tùy chọn vault
+main.vaultlist.contextMenu.reveal=Hiển thị Drive
+main.vaultlist.addVaultBtn=Thêm Vault
+## Vault Detail
+### Welcome
+main.vaultDetail.welcomeOnboarding=Cảm ơn bạn đã chọn Cryptomator để bảo vệ tệp của bạn. Nếu bạn cần bất kỳ hỗ trợ nào, hãy xem hướng dẫn bắt đầu của chúng tôi:
+### Locked
+main.vaultDetail.lockedStatus=ĐÃ KHÓA
+main.vaultDetail.unlockBtn=Mở khoá…
+main.vaultDetail.unlockNowBtn=Mở khóa bây giờ
+main.vaultDetail.optionsBtn=Tùy chọn Vault
+main.vaultDetail.passwordSavedInKeychain=Đã lưu mật khẩu
+### Unlocked
+main.vaultDetail.unlockedStatus=ĐÃ MỞ KHÓA
+main.vaultDetail.accessLocation=Nội dung trong vault của bạn có thể truy cập ở đây:
+main.vaultDetail.revealBtn=Hiển thị Drive
+main.vaultDetail.lockBtn=Khoá
+main.vaultDetail.throughput.idle=chờ
+main.vaultDetail.stats=Thống kê Vault
+### Missing
+main.vaultDetail.missing.info=Cryptomator không thể tìm thấy vault tại đường dẫn này.
+main.vaultDetail.missing.recheck=Kiểm tra lại
+main.vaultDetail.missing.remove=Xóa khỏi Danh sách Vault…
+main.vaultDetail.missing.changeLocation=Thay đổi vị trí Vault…
+### Needs Migration
+main.vaultDetail.migrateButton=Nâng cấp Vault
+main.vaultDetail.migratePrompt=Vault của bạn cần được nâng cấp lên một định dạng mới, trước khi bạn có thể truy cập nó
+### Error
+main.vaultDetail.error.info=Đã xảy ra lỗi khi tải vault từ ổ cứng.
+main.vaultDetail.error.reload=Tải lại
+main.vaultDetail.error.windowTitle=Lỗi khi tải dữ liệu
+
+# Wrong File Alert
+wrongFileAlert.title=Cách mã hóa tệp
+wrongFileAlert.message=Bạn đã cố gắng mã hóa các tệp này?
+wrongFileAlert.instruction.0=Để mã hóa tệp, hãy làm theo các bước sau:
+wrongFileAlert.instruction.1=1. Mở Vault của bạn.
+wrongFileAlert.link=Để được hỗ trợ thêm, hãy truy cập
+
+# Vault Options
+## General
+vaultOptions.general=Chung
+vaultOptions.general.vaultName=Tên Vault
+vaultOptions.general.autoLock.lockAfterTimePart1=Khóa khi không hoạt động trong
+vaultOptions.general.autoLock.lockAfterTimePart2=phút
+vaultOptions.general.unlockAfterStartup=Mở khóa vault khi khởi động Cryptomator
+vaultOptions.general.actionAfterUnlock=Sau khi mở khóa thành công
+vaultOptions.general.actionAfterUnlock.ignore=Không làm gì
+vaultOptions.general.actionAfterUnlock.reveal=Hiển thị Drive
+vaultOptions.general.actionAfterUnlock.ask=Hỏi
+
+## Mount
+vaultOptions.mount.readonly=Chỉ đọc
+vaultOptions.mount.winDriveLetterOccupied=Sử dụng
+vaultOptions.mount.mountPoint.custom=Tuỳ chỉnh đường dẫn
+vaultOptions.mount.mountPoint.directoryPickerButton=Chọn…
+vaultOptions.mount.mountPoint.directoryPickerTitle=Chọn đường dẫn trống
+## Master Key
+vaultOptions.masterkey=Mật khẩu
+vaultOptions.masterkey.changePasswordBtn=Đổi mật khẩu
+vaultOptions.masterkey.recoveryKeyExplanation=Khóa khôi phục là cách duy nhất để khôi phục quyền truy cập vào vault nếu bạn mất mật khẩu.
+vaultOptions.masterkey.showRecoveryKeyBtn=Hiện Khóa Khôi Phục
+vaultOptions.masterkey.recoverPasswordBtn=Đặt lại Mật khẩu
+
+
+# Recovery Key
+## Display Recovery Key
+recoveryKey.display.StorageHints=Giữ ở một nơi rất an toàn, ví dụ:\n • Lưu trữ bằng trình quản lý mật khẩu\n • Lưu vào ổ đĩa flash USB\n • In ra giấy
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=Đặt lại Mật khẩu
+recoveryKey.recover.validKey=Đây là khóa khôi phục hợp lệ
+recoveryKey.printout.heading=Khóa Khôi phục Cryptomator\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=Đặt lại mật khẩu thành công
+recoveryKey.recover.resetSuccess.description=Bạn có thể mở khóa vault với mật khẩu mới.
+
+# New Password
+newPassword.promptText=Nhập mật khẩu mới
+newPassword.reenterPassword=Xác nhận mật khẩu mới
+newPassword.passwordsMatch=Khớp mật khẩu!
+newPassword.passwordsDoNotMatch=Mật khẩu không khớp
+passwordStrength.messageLabel.tooShort=Nhập ít nhất %d ký tự
+passwordStrength.messageLabel.0=Rất yếu
+passwordStrength.messageLabel.1=Yếu
+passwordStrength.messageLabel.2=Khá
+passwordStrength.messageLabel.3=Mạnh
+passwordStrength.messageLabel.4=Rất mạnh
+
+# Quit
+quit.title=Thoát ứng dụng
+quit.lockAndQuitBtn=Khóa và Thoát
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_zh.properties b/src/main/resources/i18n/strings_zh.properties
index ffc508a56..eef4153f5 100644
--- a/src/main/resources/i18n/strings_zh.properties
+++ b/src/main/resources/i18n/strings_zh.properties
@@ -6,18 +6,20 @@ generic.button.apply=应用
generic.button.back=返回
generic.button.cancel=取消
generic.button.change=更改
+generic.button.choose=选择...
generic.button.close=关闭
generic.button.copy=复制
generic.button.copied=已复制!
generic.button.done=完成
generic.button.next=下一步
generic.button.print=打印
-## Error
-generic.error.title=错误 %s
-generic.error.instruction=糟糕!Cryptomator 未料到会发生这种情况。您可以查找该错误的现有解决方案;或者,如果是新错误,请随时向我们报告。
-generic.error.hyperlink.lookup=查找该错误
-generic.error.hyperlink.report=报告该错误
-generic.error.technicalDetails=详细信息:
+
+# Error
+error.message=错误 %s
+error.description=糟糕!Cryptomator 未料到会发生这种情况。您可以查找该错误的现有解决方案;或者,如果是新错误,请随时向我们报告。
+error.hyperlink.lookup=查找该错误
+error.hyperlink.report=报告该错误
+error.technicalDetails=详细信息:
# Defaults
defaults.vault.vaultName=保险库
@@ -51,7 +53,12 @@ addvaultwizard.new.fileAlreadyExists=已存在同名文件或文件夹
addvaultwizard.new.locationDoesNotExist=指定路径中的目录不存在或无法访问
addvaultwizard.new.locationIsNotWritable=没有对指定路径的写入权限
addvaultwizard.new.locationIsOk=保险库路径合适
-addvaultwizard.new.invalidName=无效的保险库名称,请考虑一个常规的目录名称
+addvaultwizard.new.invalidName=无效的保险库名称
+addvaultwizard.new.validName=有效的保险库名称
+addvaultwizard.new.validCharacters.message=保险库名称可包含以下字符:
+addvaultwizard.new.validCharacters.chars=字母字符(例如 a、ж 或 수)
+addvaultwizard.new.validCharacters.numbers=位数
+addvaultwizard.new.validCharacters.dashes=连字符 (%s) 或下划线 (%s)
### Password
addvaultwizard.new.createVaultBtn=创建保险库
addvaultwizard.new.generateRecoveryKeyChoice=如果没有密码,您将无法访问您的数据。您想要一个恢复密钥来以防您丢失密码吗?
@@ -78,13 +85,15 @@ addvault.new.readme.accessLocation.4=您可以随时删除此文件。
addvaultwizard.existing.instruction=请选择现有保险库中的“vault.cryptomator”文件。如果只有一个名为“masterkey.cryptomator”的文件,则改为选择该文件。
addvaultwizard.existing.chooseBtn=选择...
addvaultwizard.existing.filePickerTitle=请选择保险库对应文件
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator 保险库
## Success
addvaultwizard.success.nextStepsInstructions=已添加保险库 "%s"\n您需要先解锁此保险库才能访问或添加内容。或者您可以在稍后任何时候再解锁它
addvaultwizard.success.unlockNow=立即解锁
# Remove Vault
removeVault.title=移除保险库
-removeVault.information=这将只会使 Cryptomator 忘记这个保险库,您可以稍后再添加它。任何加密的文件不会从您的硬盘中删除。
+removeVault.message=删除保险库?
+removeVault.description=这将只会使 Cryptomator 忘记这个保险库,您可以稍后再添加它。任何加密的文件不会从您的硬盘中删除。
removeVault.confirmBtn=移除保险库
# Change Password
@@ -94,7 +103,8 @@ changepassword.finalConfirmation=我很清楚,如果忘记了密码,我将
# Forget Password
forgetPassword.title=忘记密码
-forgetPassword.information=这将从您的系统密钥链中删除此保险库保存的密码。
+forgetPassword.message=忘记保存的密码?
+forgetPassword.description=这将从您的系统密钥链中删除此保险库保存的密码。
forgetPassword.confirmBtn=忘记密码
# Unlock
@@ -103,16 +113,17 @@ unlock.passwordPrompt=输入 "%s" 的密码
unlock.savePassword=记住密码
unlock.unlockBtn=解锁
## Select
-unlock.chooseMasterkey.title=选择 %s 的 Masterkey 文件
-unlock.chooseMasterkey.prompt=在指定路径找不到该保险库的 masterkey 文件,请手动选择密钥文件
-unlock.chooseMasterkey.chooseBtn=选择...
+unlock.chooseMasterkey.message=未找到 Masterkey 文件
+unlock.chooseMasterkey.description=在指定路径找不到该保险库的 masterkey 文件,请手动选择密钥文件
unlock.chooseMasterkey.filePickerTitle=选择 Masterkey 文件
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator 主密钥
## Success
-unlock.success.message=已成功解锁 "%s"! 您现在可以通过其虚拟驱动器访问它
+unlock.success.message=解锁成功
+unlock.success.description=已成功解锁 "%s"! 您现在可以通过其虚拟驱动器访问它
unlock.success.rememberChoice=记住选项且不再显示
unlock.success.revealBtn=显示驱动器
## Failure
-unlock.error.heading=无法解锁保险库
+unlock.error.message=无法解锁保险库
### Invalid Mount Point
unlock.error.invalidMountPoint.notExisting=挂载点 "%s" 不是目录、非空或不存在
unlock.error.invalidMountPoint.existing=挂载点 "%s" 已存在或缺少父文件夹
@@ -120,13 +131,13 @@ unlock.error.invalidMountPoint.driveLetterOccupied=驱动器号 %s 已被占用
# Lock
## Force
-lock.forced.heading=锁定失败
-lock.forced.message=锁定 "%s" 被挂起的操作或使用中的文件中断。您可以强制锁定此保险库,不过请注意打断 I/O 可能导致未保存的数据丢失
+lock.forced.message=锁定失败
+lock.forced.description=锁定 "%s" 被挂起的操作或使用中的文件中断。您可以强制锁定此保险库,不过请注意打断 I/O 可能导致未保存的数据丢失
lock.forced.retryBtn=重试
lock.forced.forceBtn=强制锁定
## Failure
-lock.fail.heading=锁定保险库失败
-lock.fail.message=保险库 "%s" 无法锁定。请确保在其他地方保存未保存的工作,以及重要的 "读/写" 操作已完成。为了顺利关闭保险库,请查杀 Cryptomator 进程
+lock.fail.message=锁定保险库失败
+lock.fail.description=保险库 "%s" 无法锁定。请确保在其他地方保存未保存的工作,以及重要的 "读/写" 操作已完成。为了顺利关闭保险库,请查杀 Cryptomator 进程
# Migration
migration.title=升级保险库
@@ -191,6 +202,7 @@ preferences.title=首选项
## General
preferences.general=常规
preferences.general.startHidden=最小化启动 Cryptomator 到系统托盘
+preferences.general.autoCloseVaults=退出程序时自动锁定打开的保险库
preferences.general.debugLogging=启用调试日志
preferences.general.debugDirectory=显示日志文件
preferences.general.autoStart=开机自动启动
@@ -266,7 +278,7 @@ main.closeBtn.tooltip=关闭
main.minimizeBtn.tooltip=最小化
main.preferencesBtn.tooltip=首选项
main.debugModeEnabled.tooltip=调试模式已开启
-main.donationKeyMissing.tooltip=请考虑捐赠
+main.supporterCertificateMissing.tooltip=请考虑捐赠
## Drag 'n' Drop
main.dropZone.dropVault=添加此保险库
main.dropZone.unknownDragboardContent=如果您想要添加一个保险库,将其拖动到此窗口
@@ -314,8 +326,8 @@ main.vaultDetail.error.windowTitle=加载保险库时出错
# Wrong File Alert
wrongFileAlert.title=如何加密文件
-wrongFileAlert.header.title=您试图要加密这些文件吗?
-wrongFileAlert.header.lead=为了实现加密,Cryptomator 在系统文件管理器中提供一个卷
+wrongFileAlert.message=您试图要加密这些文件吗?
+wrongFileAlert.description=为了实现加密,Cryptomator 在系统文件管理器中提供一个卷
wrongFileAlert.instruction.0=要加密文件,请遵循以下步骤:
wrongFileAlert.instruction.1=1. 解锁您的保险库;
wrongFileAlert.instruction.2=2. 点击“显示”以打开您的文件管理器中的卷;
@@ -352,17 +364,27 @@ vaultOptions.masterkey.changePasswordBtn=更改密码
vaultOptions.masterkey.forgetSavedPasswordBtn=忘记保存的密码
vaultOptions.masterkey.recoveryKeyExplanation=忘记密码时,恢复密钥是你恢复保险库访问权限的唯一方式!!!
vaultOptions.masterkey.showRecoveryKeyBtn=显示恢复密钥
-vaultOptions.masterkey.recoverPasswordBtn=恢复密码
+vaultOptions.masterkey.recoverPasswordBtn=重置密码
# Recovery Key
-recoveryKey.title=恢复密钥
-recoveryKey.enterPassword.prompt=输入您的密码以显示"%s"的恢复密钥:
-recoveryKey.display.message=下面的恢复密钥可用于恢复对"%s"的访问:
+## Display Recovery Key
+recoveryKey.display.title=显示恢复密钥
+recoveryKey.create.message=密码是必填的
+recoveryKey.create.description=输入您的密码以显示"%s"的恢复密钥:
+recoveryKey.display.description=下面的恢复密钥可用于恢复对"%s"的访问:
recoveryKey.display.StorageHints=保存它到非常安全的某处,例如:\n • 使用密码管理器来保存\n • 将其保存在USB闪存盘\n • 打印在纸上
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.title=重置密码
recoveryKey.recover.prompt=输入 "%s" 的恢复密钥:
recoveryKey.recover.validKey=这是一个有效的恢复密钥
recoveryKey.printout.heading=Cryptomator 恢复密钥\n"%s"\n
+### Reset Password
+recoveryKey.recover.resetBtn=重置
+### Recovery Key Password Reset Success
+recoveryKey.recover.resetSuccess.message=成功重置密码
+recoveryKey.recover.resetSuccess.description=现在可通过新密码解锁您的保险库了
# New Password
newPassword.promptText=输入新密码
@@ -377,5 +399,12 @@ passwordStrength.messageLabel.3=强
passwordStrength.messageLabel.4=非常强
# Quit
-quit.prompt=退出程序?尚有解锁的保险库。
-quit.lockAndQuit=锁定并退出
+quit.title=退出程序
+quit.message=存在已解锁的保险库
+quit.description=请确认退出动作,Cryptomator 将会温和地锁定所有已解锁的保险库,以防止数据丢失
+quit.lockAndQuitBtn=锁定并退出
+
+# Forced Quit
+quit.forced.message=无法锁定某些保险库
+quit.forced.description=锁定保险库被挂起的操作或使用中的文件中断。您可以强制锁定剩余的保险库,不过请注意打断 I/O 可能导致未保存的数据丢失
+quit.forced.forceAndQuitBtn=强制并退出
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_zh_HK.properties b/src/main/resources/i18n/strings_zh_HK.properties
index c3f3f35e6..dddc451ec 100644
--- a/src/main/resources/i18n/strings_zh_HK.properties
+++ b/src/main/resources/i18n/strings_zh_HK.properties
@@ -2,88 +2,385 @@
# Generics
## Button
-## Error
+generic.button.apply=套用
+generic.button.back=返回
+generic.button.cancel=取消
+generic.button.change=修改
+generic.button.choose=選取…
+generic.button.close=關閉
+generic.button.copy=複製
+generic.button.copied=已複製!
+generic.button.done=完成
+generic.button.next=繼續
+generic.button.print=列印
+
+# Error
+error.message=%s 錯誤
+error.description=糟糕!Cryptomator 發生了預期外的錯誤。你可以嘗試查找這錯誤的現有解決方案,如果是新錯誤,請隨時向我們報告。
+error.hyperlink.lookup=搜尋此錯誤
+error.hyperlink.report=報告此錯誤
+error.technicalDetails=詳情:
# Defaults
+defaults.vault.vaultName=加密庫
# Tray Menu
+traymenu.showMainWindow=顯示
+traymenu.showPreferencesWindow=偏好設定
+traymenu.lockAllVaults=全部鎖定
+traymenu.quitApplication=退出
+traymenu.vault.unlock=解鎖
+traymenu.vault.lock=鎖定
+traymenu.vault.reveal=展示
# Add Vault Wizard
+addvaultwizard.title=新增加密庫
## Welcome
+addvaultwizard.welcome.newButton=建立新的加密庫
+addvaultwizard.welcome.existingButton=開啟現有的加密庫
## New
### Name
+addvaultwizard.new.nameInstruction=為加密庫命名
+addvaultwizard.new.namePrompt=加密庫名稱
### Location
+addvaultwizard.new.locationInstruction=Cryptomator 應該把加密後的檔案儲存在哪裏?
+addvaultwizard.new.locationLabel=儲存位置
+addvaultwizard.new.locationPrompt=…
+addvaultwizard.new.directoryPickerLabel=自訂位置
+addvaultwizard.new.directoryPickerButton=選取…
+addvaultwizard.new.directoryPickerTitle=選取資料夾
+addvaultwizard.new.fileAlreadyExists=已存在與加密庫同名的檔案或資料夾
+addvaultwizard.new.locationDoesNotExist=指定的資料夾不存在或無法存取
+addvaultwizard.new.locationIsNotWritable=沒有指定路徑的寫入權限
+addvaultwizard.new.locationIsOk=適合放置你的加密庫
### Password
+addvaultwizard.new.createVaultBtn=建立加密庫
+addvaultwizard.new.generateRecoveryKeyChoice=若遺失密碼,你將無法存取資料。你是否希望建立一組在遺失密碼時可用作復原的金鑰?
+addvaultwizard.new.generateRecoveryKeyChoice.yes=是的,做好安全措施以免後悔
+addvaultwizard.new.generateRecoveryKeyChoice.no=不用了,我不會弄丟密碼
### Information
+addvault.new.readme.storageLocation.fileName=重要.rtf
+addvault.new.readme.storageLocation.1=⚠️ 加密庫的檔案 ⚠️
+addvault.new.readme.storageLocation.2=這是你加密庫的儲存位置。
+addvault.new.readme.storageLocation.3=不要
+addvault.new.readme.storageLocation.4=• 修改這個資料夾中的任何檔案、或
+addvault.new.readme.storageLocation.5=• 把要加密的檔案放在這個資料夾。
+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.accessLocation.fileName=歡迎.rtf
+addvault.new.readme.accessLocation.1=🔐️ 加密空間 🔐️
+addvault.new.readme.accessLocation.2=這是你加密庫的存取位置。
+addvault.new.readme.accessLocation.3=所有被加進這個空間的檔案都會被 Cryptomator 加密。你可以把它當做磁碟或資料夾使用。這裡僅顯示出解密後內容,而你在此儲存的檔案總會以加密狀態儲存在磁碟中。
+addvault.new.readme.accessLocation.4=你可以放心移除這個檔案。
## Existing
+addvaultwizard.existing.instruction=請選擇現有加密庫中名為「vault.cryptomator」的檔案。如果只有一個名為「masterkey.cryptomator」的檔案,則選擇該檔案。
+addvaultwizard.existing.chooseBtn=選取…
+addvaultwizard.existing.filePickerTitle=選取加密庫檔案
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator 加密庫
## Success
+addvaultwizard.success.nextStepsInstructions=已加入加密庫「%s」。在存取這個加密庫的內容前要先解鎖加密庫,你也可以之後再解鎖。
+addvaultwizard.success.unlockNow=立即解鎖
# Remove Vault
+removeVault.title=移除加密庫
+removeVault.description=這只會讓 Cryptomator 忘記這個加密庫。你可以之後再重新加入。已加密的檔案將不會從硬碟中移除。
+removeVault.confirmBtn=移除加密庫
# Change Password
+changepassword.title=更改密碼
+changepassword.enterOldPassword=輸入「%s」現時的密碼
+changepassword.finalConfirmation=我明白如果忘記密碼將無法存取資料
# Forget Password
+forgetPassword.title=忘記密碼
+forgetPassword.description=這將會從系統鑰匙圈中移除這個加密庫已存的密碼。
+forgetPassword.confirmBtn=忘記密碼
# Unlock
+unlock.title=解鎖「%s」
+unlock.passwordPrompt=輸入「%s」的密碼:
+unlock.savePassword=記住密碼
+unlock.unlockBtn=解鎖
## Select
+unlock.chooseMasterkey.description=無法在其預期位置找到此加密庫的主密鑰檔案。請手動選擇密鑰文件。
+unlock.chooseMasterkey.filePickerTitle=選擇主金鑰檔案
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator 主密鑰
## Success
+unlock.success.description=成功解鎖「%s」!現在可以存取你的加密庫。
+unlock.success.rememberChoice=記得這個決定,不要再顯示
+unlock.success.revealBtn=展示磁碟
## Failure
+unlock.error.message=無法解鎖加密庫
### Invalid Mount Point
+unlock.error.invalidMountPoint.notExisting=掛載點「%s」不是空資料夾或是不存在。
+unlock.error.invalidMountPoint.existing=掛載點「%s」已經存在或其上層資料夾不存在。
+unlock.error.invalidMountPoint.driveLetterOccupied=磁碟代號「%s」已被使用。
# Lock
## Force
+lock.forced.message=鎖定失敗
+lock.forced.description=仍有未完成的操作或有開啟中的檔案以致無法鎖定「%s」。你可以強制鎖定這個加密庫,不過中斷讀寫可能會導致資料遺失或未被儲存。
+lock.forced.retryBtn=重試
+lock.forced.forceBtn=強制鎖定
## Failure
+lock.fail.message=鎖定加密庫失敗。
+lock.fail.description=加密庫「%s」無法被鎖定。請確保未存檔的工作已儲存在別的地方以及重要的讀寫工作都已經完成。為關閉加密庫,請強制結束 Cryptomator 。
# Migration
+migration.title=升級加密庫
## Start
+migration.start.prompt=加密庫「%s」需要升級成新的格式。在開始前請確保不會有檔案同步干擾更新過程。
+migration.start.confirm=是的,我的加密庫已同步完成
## Run
+migration.run.enterPassword=輸入「%s」的密碼
+migration.run.startMigrationBtn=升級加密庫
+migration.run.progressHint=這可能需要一點時間…
## Success
+migration.success.nextStepsInstructions=已成功升級「%s」。\n現在你可以解鎖加密庫了。
+migration.success.unlockNow=立即解鎖
## Missing file system capabilities
+migration.error.missingFileSystemCapabilities.title=不支援的檔案系統
+migration.error.missingFileSystemCapabilities.description=因加密庫位於不支援的檔案系統中,升級沒有開始。
+migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=這檔案系統不支援長檔名。
+migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=這檔案系統不支援長路徑名。
+migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=這檔案系統不允許讀取。
+migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=這檔案系統不允許寫入。
## Impossible
+migration.impossible.heading=無法升級加密庫
+migration.impossible.reason=此加密庫無法自動升級,因為它的儲存位置並不相容。
+migration.impossible.moreInfo=此加密庫仍可以舊版本開啟。如需了解如何手動升級加密庫,請參照
# Health Check
## Start
+health.title=對於「%s」的狀態檢查
+health.intro.header=狀態檢查
+health.intro.text=狀態檢查能用於檢測並修復加密庫內部結構中的問題。請記住:
+health.intro.remarkSync=確保所有設備完全同步,這可以解決大部分問題。
+health.intro.remarkFix=並非所有問題都可以解決。
+health.intro.remarkBackup=如果數據已損壞,則只有備份才有幫助。
+health.intro.affirmation=我已閱讀並理解上述資訊
## Start Failure
+health.fail.header=載入加密庫設定時出錯
+health.fail.ioError=存取設定文件時發生錯誤。
+health.fail.parseError=分析設定文件時發生錯誤。
+health.fail.moreInfo=更多資訊
## Check Selection
+health.checkList.description=在左側列表中選擇檢查或使用以下按鈕。
+health.checkList.selectAllButton=選擇所有檢查
+health.checkList.deselectAllButton=取消所有檢查
+health.check.runBatchBtn=執行選定的檢查
## Detail view
+health.check.detail.noSelectedCheck=請在左側清單中選擇已完成的結果以運行狀態檢查。
+health.check.detail.checkScheduled=已排程檢查。
+health.check.detail.checkRunning=正在執行檢查…
+health.check.detail.checkSkipped=這檢查未被選擇。
+health.check.detail.checkFinished=檢查順利完成。
+health.check.detail.checkFinishedAndFound=檢查結束,請查看結果。
+health.check.detail.checkFailed=檢查發生錯誤並意外退出。
+health.check.detail.checkCancelled=檢查被取消。
+health.check.exportBtn=匯出報告
## Fix Application
+health.fix.fixBtn=修復
+health.fix.successTip=修復成功
+health.fix.failTip=修復失敗,詳情請查看日誌
# Preferences
+preferences.title=偏好設定
## General
+preferences.general=一般
+preferences.general.startHidden=啟動 Cryptomator 時隱藏視窗
+preferences.general.debugLogging=啟用除錯日誌
+preferences.general.debugDirectory=展示日誌檔案
+preferences.general.autoStart=系統啟動時同時啟動 Cryptomator
+preferences.general.keychainBackend=儲存密碼使用
## Interface
+preferences.interface=界面
+preferences.interface.theme=外觀
+preferences.interface.theme.automatic=自動
+preferences.interface.theme.dark=深色
+preferences.interface.theme.light=淺色
+preferences.interface.unlockThemes=解鎖深色模式
+preferences.interface.language=語言 (需重新啟動)
+preferences.interface.language.auto=系統預設
+preferences.interface.interfaceOrientation=界面排列方向
+preferences.interface.interfaceOrientation.ltr=左至右
+preferences.interface.interfaceOrientation.rtl=右至左
+preferences.interface.showMinimizeButton=顯示最小化按鈕
+preferences.interface.showTrayIcon=顯示系統工作列圖示 (需重新啟動)
## Volume
+preferences.volume=虛擬磁碟
+preferences.volume.type=磁區類型
+preferences.volume.webdav.port=WebDAV 埠號(Port)
+preferences.volume.webdav.scheme=WebDAV 協定 (Scheme)
## Updates
+preferences.updates=更新
+preferences.updates.currentVersion=目前版本:%s
+preferences.updates.autoUpdateCheck=勾選以啟用自動更新
+preferences.updates.checkNowBtn=立即檢查
+preferences.updates.updateAvailable=有版本 %s 可更新。
## Contribution
+preferences.contribute=贊助我們
+preferences.contribute.registeredFor=已註冊贊助憑證予 %s
+preferences.contribute.noCertificate=支持 Cryptomator 並取得贊助憑證。它就像授權金鑰,但是給使用自由軟體的大好人的。 ;-)
+preferences.contribute.getCertificate=還沒有嗎?看看如何取得它。
+preferences.contribute.promptText=在這貼上贊助憑證代碼
#<-- Add entries for donations and code/translation/documentation contribution -->
## About
+preferences.about=關於
# Vault Statistics
+stats.title=%s 的統計數據
+stats.cacheHitRate=快取命中率
## Read
+stats.read.throughput.idle=讀取:閒置
+stats.read.throughput.kibs=讀取: %.2f kiB/s
+stats.read.throughput.mibs=讀取: %.2f MiB/s
+stats.read.total.data.none=資料讀取: -
+stats.read.total.data.kib=資料讀取: %.1f kiB
+stats.read.total.data.mib=資料讀取: %.1f MiB
+stats.read.total.data.gib=資料讀取: %.1f GiB
+stats.decr.total.data.none=資料解密: -
+stats.decr.total.data.kib=資料解密: %.1f kiB
+stats.decr.total.data.mib=資料解密: %.1f MiB
+stats.decr.total.data.gib=資料解密: %.1f GiB
+stats.read.accessCount=總讀取: %d
## Write
+stats.write.throughput.idle=寫入:閒置
+stats.write.throughput.kibs=寫入:%.2f kiB/s
+stats.write.throughput.mibs=寫入:%.2f MiB/s
+stats.write.total.data.none=資料寫入:-
+stats.write.total.data.kib=資料寫入:%.1f kiB
+stats.write.total.data.mib=資料寫入:%.1f MiB
+stats.write.total.data.gib=資料寫入:%.1f GiB
+stats.encr.total.data.none=資料加密: -
+stats.encr.total.data.kib=資料加密:%.1f kiB
+stats.encr.total.data.mib=資料加密: %.1f MiB
+stats.encr.total.data.gib=資料加密: %.1f GiB
+stats.write.accessCount=總寫入: %d
# Main Window
+main.closeBtn.tooltip=關閉
+main.minimizeBtn.tooltip=最小化
+main.preferencesBtn.tooltip=偏好設定
+main.debugModeEnabled.tooltip=已啟用除錯模式
+main.supporterCertificateMissing.tooltip=請考慮贊助
## Drag 'n' Drop
+main.dropZone.dropVault=加入這加密庫
+main.dropZone.unknownDragboardContent=如想加入加密庫,請將它拖到這個視窗裏
## Vault List
+main.vaultlist.emptyList.onboardingInstruction=點擊此處以加入加密庫
+main.vaultlist.contextMenu.remove=移除…
+main.vaultlist.contextMenu.lock=鎖定
+main.vaultlist.contextMenu.unlock=解鎖…
+main.vaultlist.contextMenu.unlockNow=立即解鎖
+main.vaultlist.contextMenu.vaultoptions=顯示加密庫選項
+main.vaultlist.contextMenu.reveal=展示磁碟
+main.vaultlist.addVaultBtn=新增加密庫
## Vault Detail
### Welcome
+main.vaultDetail.welcomeOnboarding=感謝選用 Cryptomator 保護你的檔案。如需要任何協助,請參照我們的使用指南:
### Locked
+main.vaultDetail.lockedStatus=已鎖定
+main.vaultDetail.unlockBtn=解鎖…
+main.vaultDetail.unlockNowBtn=立即解鎖
+main.vaultDetail.optionsBtn=加密庫選項
+main.vaultDetail.passwordSavedInKeychain=密碼已儲存
### Unlocked
+main.vaultDetail.unlockedStatus=已解鎖
+main.vaultDetail.accessLocation=加密庫的內容可以在這裏存取
+main.vaultDetail.revealBtn=展示磁碟
+main.vaultDetail.lockBtn=鎖定
+main.vaultDetail.bytesPerSecondRead=讀取:
+main.vaultDetail.bytesPerSecondWritten=寫入:
+main.vaultDetail.throughput.idle=閒置
+main.vaultDetail.throughput.kbps=%.1f kiB/s
+main.vaultDetail.throughput.mbps=%.1f MiB/s
+main.vaultDetail.stats=加密庫統計數據
### 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=你必須先更新加密庫才能存取內容
### Error
+main.vaultDetail.error.info=從磁碟載入加密庫時發生錯誤。
+main.vaultDetail.error.reload=重新載入
+main.vaultDetail.error.windowTitle=載入加密庫時出錯
# Wrong File Alert
+wrongFileAlert.title=如何加密檔案
+wrongFileAlert.message=你在嘗試加密這些檔案嗎?
+wrongFileAlert.description=如果是這樣,Cryptomator 可以在檔案總管裡產生一個磁區。
+wrongFileAlert.instruction.0=請依下列步驟加密檔案:
+wrongFileAlert.instruction.1=1. 解鎖你的加密庫。
+wrongFileAlert.instruction.2=2. 在檔案總管點擊「顯示」以開啟加密空間。
+wrongFileAlert.instruction.3=3. 把檔案加入加密空間。
+wrongFileAlert.link=如需進一步協助,請參照
# Vault Options
## General
+vaultOptions.general=一般
+vaultOptions.general.vaultName=加密庫名稱
+vaultOptions.general.autoLock.lockAfterTimePart1=在空閒時間後鎖定
+vaultOptions.general.autoLock.lockAfterTimePart2=分鐘
+vaultOptions.general.unlockAfterStartup=啟動 Cryptomator 時解鎖加密庫
+vaultOptions.general.actionAfterUnlock=成功解鎖後
+vaultOptions.general.actionAfterUnlock.ignore=不執行任何動作
+vaultOptions.general.actionAfterUnlock.reveal=展示磁碟
+vaultOptions.general.actionAfterUnlock.ask=詢問
+vaultOptions.general.startHealthCheckBtn=開始狀態檢查
## Mount
+vaultOptions.mount=掛載
+vaultOptions.mount.readonly=唯讀
+vaultOptions.mount.customMountFlags=自訂掛載參數
+vaultOptions.mount.winDriveLetterOccupied=已使用
+vaultOptions.mount.mountPoint=掛載點
+vaultOptions.mount.mountPoint.auto=自動選取合適的位置
+vaultOptions.mount.mountPoint.driveLetter=使用指定的磁碟代號
+vaultOptions.mount.mountPoint.custom=自訂路徑
+vaultOptions.mount.mountPoint.directoryPickerButton=選取…
+vaultOptions.mount.mountPoint.directoryPickerTitle=選取一個空的資料夾
## Master Key
+vaultOptions.masterkey=密碼
+vaultOptions.masterkey.changePasswordBtn=更改密碼
+vaultOptions.masterkey.forgetSavedPasswordBtn=清除已儲存密碼
+vaultOptions.masterkey.recoveryKeyExplanation=在您遺失密碼時,僅能以復原金鑰恢復存取。
+vaultOptions.masterkey.showRecoveryKeyBtn=顯示復原金鑰
# Recovery Key
+## Display Recovery Key
+recoveryKey.create.description=請輸入您的密碼以顯示「%s」的復原金鑰:
+recoveryKey.display.description=下方的復原金鑰可用來恢復「%s」的存取:
+recoveryKey.display.StorageHints=請把它保存在非常安全的地方,例如:\n • 使用密碼管理器保管\n • 存在 USB 隨身碟裡\n • 印在紙上
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.prompt=輸入「%s」的復原金鑰:
+recoveryKey.recover.validKey=這是有效的復原金鑰
+recoveryKey.printout.heading=Cryptomator 復原金鑰\n「%s」\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
+newPassword.promptText=輸入新密碼
+newPassword.reenterPassword=確認新密碼
+newPassword.passwordsMatch=密碼相符!
+newPassword.passwordsDoNotMatch=密碼不符
+passwordStrength.messageLabel.tooShort=密碼長度至少需 %d 個字元
+passwordStrength.messageLabel.0=非常弱
+passwordStrength.messageLabel.1=弱
+passwordStrength.messageLabel.2=一般
+passwordStrength.messageLabel.3=強
+passwordStrength.messageLabel.4=非常強
# Quit
+quit.lockAndQuitBtn=鎖定並離開
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/i18n/strings_zh_TW.properties b/src/main/resources/i18n/strings_zh_TW.properties
index 17c7db616..15c6fbc04 100644
--- a/src/main/resources/i18n/strings_zh_TW.properties
+++ b/src/main/resources/i18n/strings_zh_TW.properties
@@ -6,18 +6,20 @@ generic.button.apply=套用
generic.button.back=上一頁
generic.button.cancel=取消
generic.button.change=修改
+generic.button.choose=選取…
generic.button.close=關閉
generic.button.copy=複製
generic.button.copied=已複製!
generic.button.done=完成
generic.button.next=繼續
generic.button.print=列印
-## Error
-generic.error.title=錯誤:%s
-generic.error.instruction=糟糕!Cryptomator 發生了錯誤。您可以嘗試查找該錯誤的現有解決方案,如果是新錯誤,請隨時向我們報告。
-generic.error.hyperlink.lookup=查找該錯誤
-generic.error.hyperlink.report=報告這個錯誤
-generic.error.technicalDetails=詳情:
+
+# Error
+error.message=錯誤:%s
+error.description=糟糕!Cryptomator 發生了預期外的錯誤。您可以嘗試查找該錯誤的現有解決方案,如果是新錯誤,請隨時向我們報告。
+error.hyperlink.lookup=查找該錯誤
+error.hyperlink.report=報告這個錯誤
+error.technicalDetails=詳情:
# Defaults
defaults.vault.vaultName=加密檔案庫
@@ -45,13 +47,12 @@ addvaultwizard.new.locationInstruction=Cryptomator 應該將您加密後的檔
addvaultwizard.new.locationLabel=儲存位置
addvaultwizard.new.locationPrompt=…
addvaultwizard.new.directoryPickerLabel=自訂位置
-addvaultwizard.new.directoryPickerButton=選取
+addvaultwizard.new.directoryPickerButton=選取…
addvaultwizard.new.directoryPickerTitle=選取資料夾
addvaultwizard.new.fileAlreadyExists=存在與加密檔案庫同名的檔案或資料夾
addvaultwizard.new.locationDoesNotExist=指定的目錄不存在或無法存取
addvaultwizard.new.locationIsNotWritable=指定路徑沒有寫入權限
addvaultwizard.new.locationIsOk=可放置您的加密檔案庫
-addvaultwizard.new.invalidName=無效的加密檔案庫名稱。請考慮一般資料夾會使用的名稱。
### Password
addvaultwizard.new.createVaultBtn=新建加密檔案庫
addvaultwizard.new.generateRecoveryKeyChoice=若您遺失密碼將無法存取您的資料。您是否希望建立一組在您遺失密碼時可供復原的金鑰?
@@ -75,58 +76,58 @@ addvault.new.readme.accessLocation.2=這是您加密檔案庫的存取位置。
addvault.new.readme.accessLocation.3=所有被加進這個磁區的檔案都將被 Cryptomator 加密。你可以把它當做磁碟或資料夾使用。這裡式顯示出解密後內容,您的檔案總是以被加密的狀態儲存在磁碟中。
addvault.new.readme.accessLocation.4=您可以放心移除這個檔案。
## Existing
-addvaultwizard.existing.instruction=請選擇現有保險庫中名為「vault.cryptomator」的檔案。如果只有一個名為「masterkey.cryptomator」的檔案,則選擇該檔案。
-addvaultwizard.existing.chooseBtn=選取
-addvaultwizard.existing.filePickerTitle=請選擇保險庫對應檔案
+addvaultwizard.existing.instruction=請選擇現有加密檔案庫中名為「vault.cryptomator」的檔案。如果只有一個名為「masterkey.cryptomator」的檔案,則選擇該檔案。
+addvaultwizard.existing.chooseBtn=選取…
+addvaultwizard.existing.filePickerTitle=選取加密檔案庫的檔案
+addvaultwizard.existing.filePickerMimeDesc=Cryptomator 加密檔案庫
## Success
-addvaultwizard.success.nextStepsInstructions=已加入加密檔案庫 "%s"。您需要將這個加密檔案庫解鎖以存取內容,或是您也可以之後再解鎖。
+addvaultwizard.success.nextStepsInstructions=已加入加密檔案庫「%s」。您需要將這個加密檔案庫解鎖以存取內容,或是您也可以之後再解鎖。
addvaultwizard.success.unlockNow=立即解鎖
# Remove Vault
removeVault.title=移除加密檔案庫
-removeVault.information=這將會讓 Cryptomator 忘記這個加密檔案庫。您未來可以再重新加入。已加密的檔案將不會從您的硬碟中移除。
+removeVault.description=這將會讓 Cryptomator 忘記這個加密檔案庫。您未來可以再重新加入。已加密的檔案將不會從您的硬碟中移除。
removeVault.confirmBtn=移除加密檔案庫
# Change Password
changepassword.title=變更密碼
-changepassword.enterOldPassword=輸入 "%s" 目前的密碼
+changepassword.enterOldPassword=輸入「%s」目前的密碼
changepassword.finalConfirmation=我明白如果忘記密碼將無法存取資料
# Forget Password
forgetPassword.title=忘記密碼
-forgetPassword.information=這將會從系統鑰匙圈中移除這個加密檔案庫已存的密碼。
+forgetPassword.description=這將會從系統鑰匙圈中移除這個加密檔案庫已存的密碼。
forgetPassword.confirmBtn=忘記密碼
# Unlock
unlock.title=解鎖 %s
-unlock.passwordPrompt=輸入 "%s" 的密碼:
+unlock.passwordPrompt=輸入「%s」的密碼:
unlock.savePassword=記住密碼
unlock.unlockBtn=解鎖
## Select
-unlock.chooseMasterkey.title=选择“%s"的主密钥
-unlock.chooseMasterkey.prompt=無法在其預期位置找到此保管庫的主密鑰文件。請手動選擇密鑰文件。
-unlock.chooseMasterkey.chooseBtn=選取
+unlock.chooseMasterkey.description=無法在其預期位置找到此加密檔案庫的主密鑰檔案。請手動選擇密鑰文件。
unlock.chooseMasterkey.filePickerTitle=選擇主金鑰檔案
+unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator 主密鑰
## Success
-unlock.success.message=成功解鎖 "%s"!您現在可以存存取您的加密檔案庫。
+unlock.success.description=成功解鎖「%s」!您現在可以存取您的加密檔案庫。
unlock.success.rememberChoice=記得這個決定,不要再顯示
unlock.success.revealBtn=顯示磁碟
## Failure
-unlock.error.heading=無法解鎖加密檔案庫
+unlock.error.message=無法解鎖加密檔案庫
### Invalid Mount Point
-unlock.error.invalidMountPoint.notExisting=掛載點不是空目錄或是不存在:%s
+unlock.error.invalidMountPoint.notExisting=掛載點不是空資料夾或是不存在:%s
unlock.error.invalidMountPoint.existing=掛載點已經存在或上層資料夾不存在:%s
unlock.error.invalidMountPoint.driveLetterOccupied=磁碟代號 "%s" 已被使用
# Lock
## Force
-lock.forced.heading=鎖定失敗
-lock.forced.message=仍有未完成的操作或開啟中的檔案以致無法鎖定 "%s"。您可以強制鎖定這個加密檔案庫,不過中斷讀寫可能會導致資料遺失或未被儲存。
+lock.forced.message=鎖定失敗
+lock.forced.description=仍有未完成的操作或開啟中的檔案以致無法鎖定 "%s"。您可以強制鎖定這個加密檔案庫,不過中斷讀寫可能會導致資料遺失或未被儲存。
lock.forced.retryBtn=重試
lock.forced.forceBtn=強制鎖定
## Failure
-lock.fail.heading=鎖定加密檔案庫失敗。
-lock.fail.message=加密檔案庫 "%s" 無法被鎖定。請確保未存檔的工作已儲存在別的地方以及重要的讀寫工作都已經完成。請強制結束 Cryptomator 以關閉加密檔案庫。
+lock.fail.message=鎖定加密檔案庫失敗。
+lock.fail.description=加密檔案庫 "%s" 無法被鎖定。請確保未存檔的工作已儲存在別的地方以及重要的讀寫工作都已經完成。請強制結束 Cryptomator 以關閉加密檔案庫。
# Migration
migration.title=升級加密檔案庫
@@ -143,8 +144,8 @@ migration.success.unlockNow=立即解鎖
## Missing file system capabilities
migration.error.missingFileSystemCapabilities.title=不支援的檔案系統
migration.error.missingFileSystemCapabilities.description=因您的加密檔案庫位於不支援的檔案系統中,升級並未開始。
-migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=檔案系統不支援長檔名
-migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=檔案系統不支援長路徑名
+migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=此檔案系統不支援長檔名。
+migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=此檔案系統不支援長路徑名。
migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=此檔案系統不允許讀取。
migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=此檔案系統不允許寫入。
## Impossible
@@ -156,28 +157,28 @@ migration.impossible.moreInfo=此加密檔案庫仍可被舊版本開啟。如
## Start
health.title=對於"%s"的健康檢查
health.intro.header=健康檢查
-health.intro.text=運行狀況檢查用於檢測並修復保管庫內部結構中的問題。請記住:
+health.intro.text=運行狀況檢查用於檢測並修復加密檔案庫內部結構中的問題。請記住:
health.intro.remarkSync=確保所有設備完全同步,這可以解決大部分問題。
health.intro.remarkFix=並非所有問題都可以解決。
health.intro.remarkBackup=如果數據已損壞,則只有備份才有幫助。
health.intro.affirmation=我已閱讀並理解上述資訊
## Start Failure
-health.fail.header=加載Vault配寘時出錯
-health.fail.ioError=訪問和讀取配置文件時發生錯誤。
-health.fail.parseError=分析vault配寘時出錯。
-health.fail.moreInfo=更多信息
+health.fail.header=載入加密檔案庫設定時出錯
+health.fail.ioError=存取設定文件時發生錯誤。
+health.fail.parseError=分析設定文件時發生錯誤。
+health.fail.moreInfo=更多資訊
## Check Selection
health.checkList.description=在左側列表中選擇檢查或使用下面的按鈕。
-health.checkList.selectAllButton=選擇所有選項
-health.checkList.deselectAllButton=取消所有選擇
-health.check.runBatchBtn=運行選定的檢查
+health.checkList.selectAllButton=選擇所有檢查
+health.checkList.deselectAllButton=取消所有檢查
+health.check.runBatchBtn=執行選定的檢查
## Detail view
health.check.detail.noSelectedCheck=請在左側清單中選擇已完成的結果運行狀況檢查。
health.check.detail.checkScheduled=檢查已安排。
health.check.detail.checkRunning=檢查目前正在運行…
health.check.detail.checkSkipped=未選擇運行檢查。
health.check.detail.checkFinished=檢查順利完成。
-health.check.detail.checkFinishedAndFound=檢查結束。請檢查結果。
+health.check.detail.checkFinishedAndFound=檢查結束。請查看結果。
health.check.detail.checkFailed=發生錯誤,檢查意外退出。
health.check.detail.checkCancelled=檢查被取消。
health.check.exportBtn=匯出報告
@@ -196,8 +197,19 @@ preferences.general.debugDirectory=顯示日誌檔
preferences.general.autoStart=系統啟動時同時啟動 Cryptomator
preferences.general.keychainBackend=儲存密碼使用
## Interface
+preferences.interface=介面
+preferences.interface.theme=外觀
+preferences.interface.theme.automatic=自動
preferences.interface.theme.dark=暗色
preferences.interface.theme.light=亮色
+preferences.interface.unlockThemes=解鎖暗色模式
+preferences.interface.language=語言 (需要重新啟動)
+preferences.interface.language.auto=系統預設
+preferences.interface.interfaceOrientation=界面排版方向
+preferences.interface.interfaceOrientation.ltr=由左至右
+preferences.interface.interfaceOrientation.rtl=由右至左
+preferences.interface.showMinimizeButton=顯示最小化按鈕
+preferences.interface.showTrayIcon=顯示系統工作列圖示 (需要重新啟動)
## Volume
preferences.volume=虛擬磁碟
preferences.volume.type=磁區類型
@@ -255,10 +267,10 @@ main.closeBtn.tooltip=關閉
main.minimizeBtn.tooltip=最小化
main.preferencesBtn.tooltip=偏好
main.debugModeEnabled.tooltip=已啟用除錯模式
-main.donationKeyMissing.tooltip=請考慮贊助
+main.supporterCertificateMissing.tooltip=請考慮贊助
## Drag 'n' Drop
main.dropZone.dropVault=加入這個加密檔案庫
-main.dropZone.unknownDragboardContent=如果您想加入一個加密檔案庫,請將他拖到這個視窗裡
+main.dropZone.unknownDragboardContent=如果您想加入一個加密檔案庫,請將它拖到這個視窗裡
## Vault List
main.vaultlist.emptyList.onboardingInstruction=點擊此處以加入加密檔案庫
main.vaultlist.contextMenu.remove=移除…
@@ -297,19 +309,19 @@ main.vaultDetail.missing.changeLocation=更改加密檔案庫位置…
main.vaultDetail.migrateButton=升級加密檔案庫
main.vaultDetail.migratePrompt=您必須先更新加密檔案庫才能存取內容
### Error
-main.vaultDetail.error.info=從磁盤加載保管庫時發生錯誤。
+main.vaultDetail.error.info=從磁盤載入加密檔案庫時發生錯誤。
main.vaultDetail.error.reload=重新載入
main.vaultDetail.error.windowTitle=載入加密檔案庫時出錯
# Wrong File Alert
wrongFileAlert.title=如何加密檔案
-wrongFileAlert.header.title=您試著加密這些檔案嗎?
-wrongFileAlert.header.lead=如果是這樣,Cryptomator 可以在您的檔案總管裡產生一個磁區。
+wrongFileAlert.message=您試著加密這些檔案嗎?
+wrongFileAlert.description=如果是這樣,Cryptomator 可以在您的檔案總管裡產生一個磁區。
wrongFileAlert.instruction.0=請依下列步驟加密檔案:
wrongFileAlert.instruction.1=1. 解鎖您的加密檔案庫。
wrongFileAlert.instruction.2=2. 點擊「顯示」可在檔案總管中檢視磁區。
wrongFileAlert.instruction.3=3. 把您的檔案加入磁區。
-wrongFileAlert.link=如需進一步協助協助,請參照
+wrongFileAlert.link=如需進一步協助,請參照
# Vault Options
## General
@@ -319,7 +331,7 @@ vaultOptions.general.autoLock.lockAfterTimePart1=空閒時鎖定
vaultOptions.general.autoLock.lockAfterTimePart2=分鐘
vaultOptions.general.unlockAfterStartup=啟動 Cryptomator 時解鎖加密檔案庫
vaultOptions.general.actionAfterUnlock=成功解鎖後
-vaultOptions.general.actionAfterUnlock.ignore=無動作
+vaultOptions.general.actionAfterUnlock.ignore=不執行任何動作
vaultOptions.general.actionAfterUnlock.reveal=顯示磁碟
vaultOptions.general.actionAfterUnlock.ask=詢問
vaultOptions.general.startHealthCheckBtn=開始健康檢查
@@ -339,24 +351,27 @@ vaultOptions.mount.mountPoint.directoryPickerTitle=選取一個空的資料夾
vaultOptions.masterkey=密碼
vaultOptions.masterkey.changePasswordBtn=變更密碼
vaultOptions.masterkey.forgetSavedPasswordBtn=清除已存密碼
-vaultOptions.masterkey.recoveryKeyExplanation=復原金鑰僅用於在您遺失密碼時恢復存取能力。
+vaultOptions.masterkey.recoveryKeyExplanation=在您遺失密碼時,僅能以復原金鑰恢復存取。
vaultOptions.masterkey.showRecoveryKeyBtn=顯示復原金鑰
-vaultOptions.masterkey.recoverPasswordBtn=重置密碼
# Recovery Key
-recoveryKey.title=復原金鑰
-recoveryKey.enterPassword.prompt=請輸入您的密碼以顯示 "%s" 的復原金鑰:
-recoveryKey.display.message=下方的復原金鑰可用來恢復 "%s" 的存取能力:
+## Display Recovery Key
+recoveryKey.create.description=請輸入您的密碼以顯示 "%s" 的復原金鑰:
+recoveryKey.display.description=下方的復原金鑰可用來恢復 "%s" 的存取能力:
recoveryKey.display.StorageHints=請把它保存在非常安全的地方,例如:\n • 使用密碼管理器保管\n • 存在 USB 隨身碟裡\n • 印在紙上
-recoveryKey.recover.prompt=輸入 "%s" 的復原金鑰
-recoveryKey.recover.validKey=這是一個合法的復原金鑰
+## Reset Password
+### Enter Recovery Key
+recoveryKey.recover.prompt=輸入 "%s" 的復原金鑰:
+recoveryKey.recover.validKey=這是有效的復原金鑰
recoveryKey.printout.heading=Cryptomator 復原金鑰\n"%s"\n
+### Reset Password
+### Recovery Key Password Reset Success
# New Password
newPassword.promptText=輸入新密碼
newPassword.reenterPassword=確認新密碼
-newPassword.passwordsMatch=密碼相符
+newPassword.passwordsMatch=密碼相符!
newPassword.passwordsDoNotMatch=密碼不符
passwordStrength.messageLabel.tooShort=密碼長度至少需 %d 個字元
passwordStrength.messageLabel.0=非常弱
@@ -366,5 +381,6 @@ passwordStrength.messageLabel.3=強
passwordStrength.messageLabel.4=非常強
# Quit
-quit.prompt=仍然有解鎖中的加密檔案庫,確定要離開?
-quit.lockAndQuit=鎖定並離開
+quit.lockAndQuitBtn=鎖定並離開
+
+# Forced Quit
\ No newline at end of file
diff --git a/src/main/resources/img/bot/bot.png b/src/main/resources/img/logo.png
similarity index 100%
rename from src/main/resources/img/bot/bot.png
rename to src/main/resources/img/logo.png
diff --git a/src/main/resources/img/bot/bot@2x.png b/src/main/resources/img/logo@2x.png
similarity index 100%
rename from src/main/resources/img/bot/bot@2x.png
rename to src/main/resources/img/logo@2x.png
diff --git a/src/main/resources/img/title-logo.png b/src/main/resources/img/title-logo.png
new file mode 100644
index 000000000..fc5375314
Binary files /dev/null and b/src/main/resources/img/title-logo.png differ
diff --git a/src/main/resources/img/title-logo@2x.png b/src/main/resources/img/title-logo@2x.png
new file mode 100644
index 000000000..fdfe8a6bd
Binary files /dev/null and b/src/main/resources/img/title-logo@2x.png differ
diff --git a/src/test/java/org/cryptomator/common/EnvironmentTest.java b/src/test/java/org/cryptomator/common/EnvironmentTest.java
index 52f2ff290..a4c1179b7 100644
--- a/src/test/java/org/cryptomator/common/EnvironmentTest.java
+++ b/src/test/java/org/cryptomator/common/EnvironmentTest.java
@@ -48,9 +48,9 @@ public class EnvironmentTest {
}
@Test
- @DisplayName("cryptomator.keychainPath=~/AppData/Roaming/Cryptomator/keychain.json")
+ @DisplayName("cryptomator.integrationsWin.keychainPaths=~/AppData/Roaming/Cryptomator/keychain.json")
public void testKeychainPath() {
- System.setProperty("cryptomator.keychainPath", "~/AppData/Roaming/Cryptomator/keychain.json");
+ System.setProperty("cryptomator.integrationsWin.keychainPaths", "~/AppData/Roaming/Cryptomator/keychain.json");
List result = env.getKeychainPath().toList();
MatcherAssert.assertThat(result, Matchers.hasSize(1));
diff --git a/src/test/java/org/cryptomator/common/settings/SettingsJsonAdapterTest.java b/src/test/java/org/cryptomator/common/settings/SettingsJsonAdapterTest.java
index a8bc4551a..fc24fdbf1 100644
--- a/src/test/java/org/cryptomator/common/settings/SettingsJsonAdapterTest.java
+++ b/src/test/java/org/cryptomator/common/settings/SettingsJsonAdapterTest.java
@@ -27,6 +27,7 @@ public class SettingsJsonAdapterTest {
{"id": "1", "path": "/vault1", "mountName": "vault1", "winDriveLetter": "X"},
{"id": "2", "path": "/vault2", "mountName": "vault2", "winDriveLetter": "Y"}
],
+ "autoCloseVaults" : true,
"checkForUpdatesEnabled": true,
"port": 8080,
"language": "de-DE",
@@ -40,6 +41,7 @@ public class SettingsJsonAdapterTest {
Assertions.assertTrue(settings.checkForUpdates().get());
Assertions.assertEquals(2, settings.getDirectories().size());
Assertions.assertEquals(8080, settings.port().get());
+ Assertions.assertEquals(true, settings.autoCloseVaults().get());
Assertions.assertEquals("de-DE", settings.languageProperty().get());
Assertions.assertEquals(42, settings.numTrayNotifications().get());
Assertions.assertEquals(WebDavUrlScheme.DAV, settings.preferredGvfsScheme().get());
diff --git a/src/test/java/org/cryptomator/ui/keyloading/hub/JWEHelperTest.java b/src/test/java/org/cryptomator/ui/keyloading/hub/JWEHelperTest.java
new file mode 100644
index 000000000..3d495e8c1
--- /dev/null
+++ b/src/test/java/org/cryptomator/ui/keyloading/hub/JWEHelperTest.java
@@ -0,0 +1,56 @@
+package org.cryptomator.ui.keyloading.hub;
+
+import com.nimbusds.jose.JWEObject;
+import org.cryptomator.cryptolib.api.MasterkeyLoadingFailedException;
+import org.cryptomator.cryptolib.common.P384KeyPair;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
+
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.security.spec.X509EncodedKeySpec;
+import java.text.ParseException;
+import java.util.Arrays;
+import java.util.Base64;
+
+public class JWEHelperTest {
+
+ private static final String JWE = "eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImVwayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0Iiwia2V5X29wcyI6W10sImV4dCI6dHJ1ZSwieCI6IllUcEY3bGtTc3JvZVVUVFdCb21LNzBTN0FhVTJyc0ptMURpZ1ZzbjRMY2F5eUxFNFBabldkYmFVcE9jQVV5a1ciLCJ5IjoiLU5pS3loUktjSk52Nm02Z0ZJUWc4cy1Xd1VXUW9uT3A5dkQ4cHpoa2tUU3U2RzFlU2FUTVlhZGltQ2Q4V0ExMSJ9LCJhcHUiOiIiLCJhcHYiOiIifQ..BECWGzd9UvhHcTJC.znt4TlS-qiNEjxiu2v-du_E1QOBnyBR6LCt865SHxD-kwRc1JwX_Lq9XVoFj2GnK9-9CgxhCLGurg5Jt9g38qv2brGAzWL7eSVeY1fIqdO_kUhLpGslRTN6h2U0NHJi2-iE.WDVI2kOk9Dy3PWHyIg8gKA";
+ private static final String PRIV_KEY = "ME8CAQAwEAYHKoZIzj0CAQYFK4EEACIEODA2AgEBBDEA6QybmBitf94veD5aCLr7nlkF5EZpaXHCfq1AXm57AKQyGOjTDAF9EQB28fMywTDQ";
+ private static final String PUB_KEY = "MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERxQR+NRN6Wga01370uBBzr2NHDbKIC56tPUEq2HX64RhITGhii8Zzbkb1HnRmdF0aq6uqmUy4jUhuxnKxsv59A6JeK7Unn+mpmm3pQAygjoGc9wrvoH4HWJSQYUlsXDu";
+
+ @Test
+ public void testDecrypt() throws ParseException, InvalidKeySpecException {
+ var jwe = JWEObject.parse(JWE);
+ var keyPair = P384KeyPair.create(new X509EncodedKeySpec(Base64.getDecoder().decode(PUB_KEY)), new PKCS8EncodedKeySpec(Base64.getDecoder().decode(PRIV_KEY)));
+
+ var masterkey = JWEHelper.decrypt(jwe, keyPair.getPrivate());
+
+ var expectedEncKey = new byte[32];
+ var expectedMacKey = new byte[32];
+ Arrays.fill(expectedEncKey, (byte) 0x55);
+ Arrays.fill(expectedMacKey, (byte) 0x77);
+ Assertions.assertArrayEquals(expectedEncKey, masterkey.getEncKey().getEncoded());
+ Assertions.assertArrayEquals(expectedMacKey, masterkey.getMacKey().getEncoded());
+ }
+
+ @ParameterizedTest
+ @ValueSource(strings = {
+ "eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImVwayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0Iiwia2V5X29wcyI6W10sImV4dCI6dHJ1ZSwieCI6ImdodGR3VnNoUU8wRGFBdjVBOXBiZ1NCTW0yYzZKWVF4dkloR3p6RVdQTncxczZZcEFYeTRQTjBXRFJUWExtQ2wiLCJ5IjoiN3Rncm1Gd016NGl0ZmVQNzBndkpLcjRSaGdjdENCMEJHZjZjWE9WZ2M0bjVXMWQ4dFgxZ1RQakdrczNVSm1zUiJ9LCJhcHUiOiIiLCJhcHYiOiIifQ..x6JWRGSojUJUJYpp.5BRuzcaV.lLIhGH7Wz0n_iTBAubDFZA", // wrong key
+ "eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImVwayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0Iiwia2V5X29wcyI6W10sImV4dCI6dHJ1ZSwieCI6IkM2bWhsNE5BTHhEdHMwUlFlNXlyZWxQVDQyOGhDVzJNeUNYS3EwdUI0TDFMdnpXRHhVaVk3YTdZcEhJakJXcVoiLCJ5IjoiakM2dWc1NE9tbmdpNE9jUk1hdkNrczJpcFpXQjdkUmotR3QzOFhPSDRwZ2tpQ0lybWNlUnFxTnU3Z0c3Qk1yOSJ9LCJhcHUiOiIiLCJhcHYiOiIifQ..HNJJghL-SvERFz2v.N0z8YwFg.rYw29iX4i8XujdM4P4KKWg", // payload is not json
+ "eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImVwayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0Iiwia2V5X29wcyI6W10sImV4dCI6dHJ1ZSwieCI6InB3R05vcXRnY093MkJ6RDVmSnpBWDJvMzUwSWNsY3A5cFdVTHZ5VDRqRWVCRWdCc3hhTVJXQ1ZyNlJMVUVXVlMiLCJ5IjoiZ2lIVEE5MlF3VU5lbmg1OFV1bWFfb09BX3hnYmFDVWFXSlRnb3Z4WjU4R212TnN4eUlQRElLSm9WV1h5X0R6OSJ9LCJhcHUiOiIiLCJhcHYiOiIifQ..jDbzdI7d67_cUjGD.01BPnMq_tQ.aG_uFA6FYqoPS64QAJ4VBQ", // json payload doesn't contain "key"
+ "eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImVwayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0Iiwia2V5X29wcyI6W10sImV4dCI6dHJ1ZSwieCI6IkJyYm9UQkl5Y0NDUEdJQlBUekU2RjBnbTRzRjRCamZPN1I0a2x0aWlCaThKZkxxcVdXNVdUSVBLN01yMXV5QVUiLCJ5IjoiNUpGVUI0WVJiYjM2RUZpN2Y0TUxMcFFyZXd2UV9Tc3dKNHRVbFd1a2c1ZU04X1ZyM2pkeml2QXI2WThRczVYbSJ9LCJhcHUiOiIiLCJhcHYiOiIifQ..QEq4Z2m6iwBx2ioS.IBo8TbKJTS4pug.61Z-agIIXgP8bX10O_yEMA", // json payload field "key" not a string
+ "eyJhbGciOiJFQ0RILUVTIiwiZW5jIjoiQTI1NkdDTSIsImVwayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0Iiwia2V5X29wcyI6W10sImV4dCI6dHJ1ZSwieCI6ImNZdlVFZm9LYkJjenZySE5zQjUxOGpycUxPMGJDOW5lZjR4NzFFMUQ5dk95MXRqd1piZzV3cFI0OE5nU1RQdHgiLCJ5IjoiaWRJekhCWERzSzR2NTZEeU9yczJOcDZsSG1zb29fMXV0VTlzX3JNdVVkbkxuVXIzUXdLZkhYMWdaVXREM1RKayJ9LCJhcHUiOiIiLCJhcHYiOiIifQ..0VZqu5ei9U3blGtq.eDvhU6drw7mIwvXu6Q.f05QnhI7JWG3IYHvexwdFQ" // json payload field "key" invalid base64 data
+ })
+ public void testDecryptInvalid(String malformed) throws ParseException, InvalidKeySpecException {
+ var jwe = JWEObject.parse(malformed);
+ var keyPair = P384KeyPair.create(new X509EncodedKeySpec(Base64.getDecoder().decode(PUB_KEY)), new PKCS8EncodedKeySpec(Base64.getDecoder().decode(PRIV_KEY)));
+
+ Assertions.assertThrows(MasterkeyLoadingFailedException.class, () -> {
+ JWEHelper.decrypt(jwe, keyPair.getPrivate());
+ });
+ }
+
+}
\ No newline at end of file
diff --git a/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml
new file mode 100644
index 000000000..51bfcac67
--- /dev/null
+++ b/src/test/resources/logback-test.xml
@@ -0,0 +1,11 @@
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
\ No newline at end of file