Merge branch 'release/1.5.0-alpha2'

This commit is contained in:
Sebastian Stenzel
2019-10-13 15:41:27 +02:00
113 changed files with 7421 additions and 8449 deletions

5
.crowdin.yml Normal file
View File

@@ -0,0 +1,5 @@
commit_message: "[ci skip]"
escape_special_characters: 0
files:
- source: /main/ui/src/main/resources/i18n/strings.properties
translation: /main/ui/src/main/resources/i18n/strings_%two_letters_code%.properties

2
.github/FUNDING.yml vendored
View File

@@ -1,6 +1,6 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
github: [overheadhunter] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username

View File

@@ -4,7 +4,7 @@
[![Known Vulnerabilities](https://snyk.io/test/github/cryptomator/cryptomator/badge.svg?targetFile=main%2Fpom.xml)](https://snyk.io/test/github/cryptomator/cryptomator?targetFile=main%2Fpom.xml)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/2a0adf3cec6a4143b91035d3924178f1)](https://www.codacy.com/app/cryptomator/cryptomator?utm_source=github.com&utm_medium=referral&utm_content=cryptomator/cryptomator&utm_campaign=Badge_Grade)
[![Twitter](https://img.shields.io/badge/twitter-@Cryptomator-blue.svg?style=flat)](http://twitter.com/Cryptomator)
[![POEditor](https://img.shields.io/badge/POEditor-Help%20Translate-blue.svg?style=flat)](https://poeditor.com/join/project/bHwbvJmx0E)
[![Crowdin](https://badges.crowdin.net/cryptomator/localized.svg)](https://translate.cryptomator.org/)
[![Latest Release](https://img.shields.io/github/release/cryptomator/cryptomator.svg)](https://github.com/cryptomator/cryptomator/releases/latest)
[![Community](https://img.shields.io/badge/help-Community-orange.svg)](https://community.cryptomator.org)

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.cryptomator</groupId>
<artifactId>main</artifactId>
<version>1.5.0-alpha1</version>
<version>1.5.0-alpha2</version>
</parent>
<artifactId>buildkit</artifactId>
<packaging>pom</packaging>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.cryptomator</groupId>
<artifactId>main</artifactId>
<version>1.5.0-alpha1</version>
<version>1.5.0-alpha2</version>
</parent>
<artifactId>commons</artifactId>
<name>Cryptomator Commons</name>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.cryptomator</groupId>
<artifactId>main</artifactId>
<version>1.5.0-alpha1</version>
<version>1.5.0-alpha2</version>
</parent>
<artifactId>keychain</artifactId>
<name>System Keychain Access</name>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.cryptomator</groupId>
<artifactId>main</artifactId>
<version>1.5.0-alpha1</version>
<version>1.5.0-alpha2</version>
</parent>
<artifactId>launcher</artifactId>
<name>Cryptomator Launcher</name>

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.cryptomator</groupId>
<artifactId>main</artifactId>
<version>1.5.0-alpha1</version>
<version>1.5.0-alpha2</version>
<packaging>pom</packaging>
<name>Cryptomator</name>
@@ -24,14 +24,13 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- dependency versions -->
<cryptomator.cryptolib.version>1.2.2</cryptomator.cryptolib.version>
<cryptomator.cryptofs.version>1.9.0-beta1</cryptomator.cryptofs.version>
<cryptomator.cryptofs.version>1.9.0-beta4</cryptomator.cryptofs.version>
<cryptomator.jni.version>2.2.1</cryptomator.jni.version>
<cryptomator.fuse.version>1.2.0</cryptomator.fuse.version>
<cryptomator.dokany.version>1.1.11</cryptomator.dokany.version>
<cryptomator.webdav.version>1.0.10</cryptomator.webdav.version>
<javafx.version>12</javafx.version>
<javafx.version>13</javafx.version>
<commons-io.version>2.6</commons-io.version>
<commons-lang3.version>3.8.1</commons-lang3.version>
@@ -82,11 +81,6 @@
</dependency>
<!-- Cryptomator Libs -->
<dependency>
<groupId>org.cryptomator</groupId>
<artifactId>cryptolib</artifactId>
<version>${cryptomator.cryptolib.version}</version>
</dependency>
<dependency>
<groupId>org.cryptomator</groupId>
<artifactId>cryptofs</artifactId>

View File

@@ -4,7 +4,7 @@
<parent>
<groupId>org.cryptomator</groupId>
<artifactId>main</artifactId>
<version>1.5.0-alpha1</version>
<version>1.5.0-alpha2</version>
</parent>
<artifactId>ui</artifactId>
<name>Cryptomator GUI</name>
@@ -22,10 +22,6 @@
<groupId>org.cryptomator</groupId>
<artifactId>jni</artifactId>
</dependency>
<dependency>
<groupId>org.cryptomator</groupId>
<artifactId>cryptolib</artifactId>
</dependency>
<!-- JavaFx -->
<dependency>

View File

@@ -0,0 +1,51 @@
package org.cryptomator.ui.addvaultwizard;
import dagger.Lazy;
import javafx.beans.binding.Bindings;
import javafx.beans.binding.StringBinding;
import javafx.beans.property.ObjectProperty;
import javafx.fxml.FXML;
import javafx.scene.Scene;
import javafx.stage.Stage;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxmlFile;
import org.cryptomator.ui.common.FxmlScene;
import javax.inject.Inject;
import java.nio.file.Path;
@AddVaultWizardScoped
public class AddVaultFailureExisitingController implements FxController {
private final Stage window;
private final Lazy<Scene> previousScene;
private final StringBinding vaultName;
@Inject
AddVaultFailureExisitingController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_EXISTING) Lazy<Scene> previousScene, ObjectProperty<Path> pathOfFailedVault){
this.window = window;
this.previousScene = previousScene;
this.vaultName = Bindings.createStringBinding(() -> pathOfFailedVault.get().getFileName().toString(),pathOfFailedVault);
}
@FXML
public void close(){
window.close();
}
@FXML
public void back(){
window.setScene(previousScene.get());
}
// Getter & Setter
public StringBinding vaultNameProperty(){
return vaultName;
}
public String getVaultName(){
return vaultName.get();
}
}

View File

@@ -1,24 +1,19 @@
package org.cryptomator.ui.addvaultwizard;
import dagger.Binds;
import dagger.Lazy;
import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoMap;
import dagger.multibindings.IntoSet;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -32,7 +27,6 @@ import java.nio.file.Path;
import java.util.Map;
import java.util.Optional;
import java.util.ResourceBundle;
import java.util.Set;
@Module
public abstract class AddVaultModule {
@@ -40,22 +34,19 @@ public abstract class AddVaultModule {
@Provides
@AddVaultWizardWindow
@AddVaultWizardScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@AddVaultWizardWindow
@AddVaultWizardScoped
static Stage provideStage(@MainWindow Stage owner, ResourceBundle resourceBundle, @Named("windowIcon") Optional<Image> windowIcon, @AddVaultWizardWindow Lazy<Map<KeyCodeCombination, Runnable>> accelerators) {
static Stage provideStage(@MainWindow Stage owner, ResourceBundle resourceBundle, @Named("windowIcon") Optional<Image> windowIcon) {
Stage stage = new Stage();
stage.setTitle(resourceBundle.getString("addvaultwizard.title"));
stage.setResizable(false);
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(owner);
stage.sceneProperty().addListener(observable -> {
stage.getScene().getAccelerators().putAll(accelerators.get());
});
windowIcon.ifPresent(stage.getIcons()::add);
return stage;
}
@@ -67,6 +58,7 @@ public abstract class AddVaultModule {
}
@Provides
@Named("vaultName")
@AddVaultWizardScoped
static StringProperty provideVaultName() {
return new SimpleStringProperty("");
@@ -79,24 +71,11 @@ public abstract class AddVaultModule {
return new SimpleObjectProperty<>();
}
// ------------------
@Provides
@AddVaultWizardWindow
@Named("recoveryKey")
@AddVaultWizardScoped
static Map<KeyCodeCombination, Runnable> provideDefaultAccellerators(@AddVaultWizardWindow Set<Map.Entry<KeyCombination, Runnable>> accelerators) {
return Map.ofEntries(accelerators.toArray(Map.Entry[]::new));
}
@Provides
@IntoSet
@AddVaultWizardWindow
static Map.Entry<KeyCombination, Runnable> provideCloseWindowShortcut(@AddVaultWizardWindow Stage window) {
if (SystemUtils.IS_OS_WINDOWS) {
return Map.entry(new KeyCodeCombination(KeyCode.F4, KeyCombination.ALT_DOWN), window::close);
} else {
return Map.entry(new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN), window::close);
}
static StringProperty provideRecoveryKey() {
return new SimpleStringProperty();
}
// ------------------
@@ -104,48 +83,57 @@ public abstract class AddVaultModule {
@Provides
@FxmlScene(FxmlFile.ADDVAULT_WELCOME)
@AddVaultWizardScoped
static Scene provideWelcomeScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders, @AddVaultWizardWindow Stage window) {
Scene scene = fxmlLoaders.createScene("/fxml/addvault_welcome.fxml");
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdW, window::close);
return scene;
static Scene provideWelcomeScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_WELCOME.getRessourcePathString());
}
@Provides
@FxmlScene(FxmlFile.ADDVAULT_EXISTING)
@AddVaultWizardScoped
static Scene provideChooseExistingVaultScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders, @AddVaultWizardWindow Stage window) {
return fxmlLoaders.createScene("/fxml/addvault_existing.fxml");
static Scene provideChooseExistingVaultScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_EXISTING.getRessourcePathString());
}
@Provides
@FxmlScene(FxmlFile.ADDVAULT_EXISTING_ERROR)
@AddVaultWizardScoped
static Scene provideChooseExistingVaultErrorScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_EXISTING_ERROR.getRessourcePathString());
}
@Provides
@FxmlScene(FxmlFile.ADDVAULT_NEW_NAME)
@AddVaultWizardScoped
static Scene provideCreateNewVaultNameScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders, @AddVaultWizardWindow Stage window) {
return fxmlLoaders.createScene("/fxml/addvault_new_name.fxml");
static Scene provideCreateNewVaultNameScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_NAME.getRessourcePathString());
}
@Provides
@FxmlScene(FxmlFile.ADDVAULT_NEW_LOCATION)
@AddVaultWizardScoped
static Scene provideCreateNewVaultLocationScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders, @AddVaultWizardWindow Stage window) {
return fxmlLoaders.createScene("/fxml/addvault_new_location.fxml");
static Scene provideCreateNewVaultLocationScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_LOCATION.getRessourcePathString());
}
@Provides
@FxmlScene(FxmlFile.ADDVAULT_NEW_PASSWORD)
@AddVaultWizardScoped
static Scene provideCreateNewVaultPasswordScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders, @AddVaultWizardWindow Stage window) {
return fxmlLoaders.createScene("/fxml/addvault_new_password.fxml");
static Scene provideCreateNewVaultPasswordScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_PASSWORD.getRessourcePathString());
}
@Provides
@FxmlScene(FxmlFile.ADDVAULT_NEW_RECOVERYKEY)
@AddVaultWizardScoped
static Scene provideCreateNewVaultRecoveryKeyScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_RECOVERYKEY.getRessourcePathString());
}
@Provides
@FxmlScene(FxmlFile.ADDVAULT_SUCCESS)
@AddVaultWizardScoped
static Scene provideCreateNewVaultSuccessScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders, @AddVaultWizardWindow Stage window) {
return fxmlLoaders.createScene("/fxml/addvault_success.fxml");
static Scene provideCreateNewVaultSuccessScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_SUCCESS.getRessourcePathString());
}
// ------------------
@@ -160,6 +148,11 @@ public abstract class AddVaultModule {
@FxControllerKey(ChooseExistingVaultController.class)
abstract FxController bindChooseExistingVaultController(ChooseExistingVaultController controller);
@Binds
@IntoMap
@FxControllerKey(AddVaultFailureExisitingController.class)
abstract FxController bindAddVaultFailureExistingController(AddVaultFailureExisitingController controller);
@Binds
@IntoMap
@FxControllerKey(CreateNewVaultNameController.class)
@@ -179,4 +172,9 @@ public abstract class AddVaultModule {
@IntoMap
@FxControllerKey(AddVaultSuccessController.class)
abstract FxController bindAddVaultSuccessController(AddVaultSuccessController controller);
@Binds
@IntoMap
@FxControllerKey(CreateNewVaultRecoveryKeyController.class)
abstract FxController bindCreateNewVaultRecoveryKeyController(CreateNewVaultRecoveryKeyController controller);
}

View File

@@ -28,16 +28,18 @@ public class ChooseExistingVaultController implements FxController {
private final Stage window;
private final Lazy<Scene> welcomeScene;
private final Lazy<Scene> successScene;
private final Lazy<Scene> errorScene;
private final ObjectProperty<Path> vaultPath;
private final ObjectProperty<Vault> vault;
private final VaultListManager vaultListManager;
private final ResourceBundle resourceBundle;
@Inject
ChooseExistingVaultController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_WELCOME) Lazy<Scene> welcomeScene, @FxmlScene(FxmlFile.ADDVAULT_SUCCESS) Lazy<Scene> successScene, ObjectProperty<Path> vaultPath, @AddVaultWizardWindow ObjectProperty<Vault> vault, VaultListManager vaultListManager, ResourceBundle resourceBundle) {
ChooseExistingVaultController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_WELCOME) Lazy<Scene> welcomeScene, @FxmlScene(FxmlFile.ADDVAULT_SUCCESS) Lazy<Scene> successScene, @FxmlScene(FxmlFile.ADDVAULT_EXISTING_ERROR) Lazy<Scene> errorScene, ObjectProperty<Path> vaultPath, @AddVaultWizardWindow ObjectProperty<Vault> vault, VaultListManager vaultListManager, ResourceBundle resourceBundle) {
this.window = window;
this.welcomeScene = welcomeScene;
this.successScene = successScene;
this.errorScene = errorScene;
this.vaultPath = vaultPath;
this.vault = vault;
this.vaultListManager = vaultListManager;
@@ -51,20 +53,19 @@ public class ChooseExistingVaultController implements FxController {
@FXML
public void chooseFileAndNext() {
//TODO: error handling & cannot unlock added vault
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle(resourceBundle.getString("addvaultwizard.existing.filePickerTitle"));
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Cryptomator Masterkey", "*.cryptomator"));
File file = fileChooser.showOpenDialog(window);
if (file != null) {
vaultPath.setValue(file.toPath().toAbsolutePath().getParent());
File masterkeyFile = fileChooser.showOpenDialog(window);
if (masterkeyFile != null) {
vaultPath.setValue(masterkeyFile.toPath().toAbsolutePath().getParent());
try {
Vault newVault = vaultListManager.add(vaultPath.get());
vault.set(newVault);
window.setScene(successScene.get());
} catch (NoSuchFileException e) {
LOG.error("Nope", e);
// TODO
LOG.error("Failed to open existing vault.", e);
window.setScene(errorScene.get());
}
}
}

View File

@@ -23,12 +23,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.File;
import java.io.IOException;
import java.nio.file.DirectoryNotEmptyException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ResourceBundle;
@@ -58,7 +57,7 @@ public class CreateNewVaultLocationController implements FxController {
public RadioButton customRadioButton;
@Inject
CreateNewVaultLocationController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_NEW_NAME) Lazy<Scene> chooseNameScene, @FxmlScene(FxmlFile.ADDVAULT_NEW_PASSWORD) Lazy<Scene> choosePasswordScene, LocationPresets locationPresets, ObjectProperty<Path> vaultPath, StringProperty vaultName, ResourceBundle resourceBundle) {
CreateNewVaultLocationController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_NEW_NAME) Lazy<Scene> chooseNameScene, @FxmlScene(FxmlFile.ADDVAULT_NEW_PASSWORD) Lazy<Scene> choosePasswordScene, LocationPresets locationPresets, ObjectProperty<Path> vaultPath, @Named("vaultName") StringProperty vaultName, ResourceBundle resourceBundle) {
this.window = window;
this.chooseNameScene = chooseNameScene;
this.choosePasswordScene = choosePasswordScene;
@@ -115,14 +114,12 @@ public class CreateNewVaultLocationController implements FxController {
Files.delete(createdDir); // assert: dir exists and is empty
window.setScene(choosePasswordScene.get());
} catch (FileAlreadyExistsException e) {
LOG.warn("Can not use already existing vault path: {}", vaultPath.get());
LOG.warn("Can not use already existing vault path {}", vaultPath.get());
warningText.set(resourceBundle.getString("addvaultwizard.new.fileAlreadyExists"));
} catch (NoSuchFileException | DirectoryNotEmptyException e) {
LOG.error("Failed to delete recently created directory.", e);
// TODO show generic error text for unexpected exception
} catch (IOException e) {
LOG.warn("Can not create vault at path: {}", vaultPath.get());
// TODO show generic error text for unexpected exception
LOG.warn("Thrown Exception:", e);
warningText.set(resourceBundle.getString("addvaultwizard.new.ioException"));
}
}

View File

@@ -16,6 +16,7 @@ import org.cryptomator.ui.common.FxmlFile;
import org.cryptomator.ui.common.FxmlScene;
import javax.inject.Inject;
import javax.inject.Named;
import java.nio.file.Path;
import java.util.ResourceBundle;
import java.util.regex.Pattern;
@@ -36,7 +37,7 @@ public class CreateNewVaultNameController implements FxController {
private final StringBinding warningText;
@Inject
CreateNewVaultNameController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_WELCOME) Lazy<Scene> welcomeScene, @FxmlScene(FxmlFile.ADDVAULT_NEW_LOCATION) Lazy<Scene> chooseLocationScene, ObjectProperty<Path> vaultPath, StringProperty vaultName, ResourceBundle resourceBundle) {
CreateNewVaultNameController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_WELCOME) Lazy<Scene> welcomeScene, @FxmlScene(FxmlFile.ADDVAULT_NEW_LOCATION) Lazy<Scene> chooseLocationScene, ObjectProperty<Path> vaultPath, @Named("vaultName") StringProperty vaultName, ResourceBundle resourceBundle) {
this.window = window;
this.welcomeScene = welcomeScene;
this.chooseLocationScene = chooseLocationScene;

View File

@@ -12,7 +12,6 @@ import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.StringProperty;
import javafx.fxml.FXML;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
@@ -28,11 +27,13 @@ import org.cryptomator.ui.common.Tasks;
import org.cryptomator.ui.controls.FontAwesome5IconView;
import org.cryptomator.ui.controls.NiceSecurePasswordField;
import org.cryptomator.ui.common.PasswordStrengthUtil;
import org.cryptomator.ui.recoverykey.RecoveryKeyFactory;
import org.fxmisc.easybind.EasyBind;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.IOException;
import java.io.UncheckedIOException;
import java.nio.channels.WritableByteChannel;
@@ -56,11 +57,13 @@ public class CreateNewVaultPasswordController implements FxController {
private final Stage window;
private final Lazy<Scene> chooseLocationScene;
private final Lazy<Scene> successScene;
private final Lazy<Scene> recoveryKeyScene;
private final ExecutorService executor;
private final StringProperty vaultName;
private final ObjectProperty<Path> vaultPath;
private final ObjectProperty<Vault> vault;
private final RecoveryKeyFactory recoveryKeyFactory;
private final StringProperty vaultNameProperty;
private final ObjectProperty<Path> vaultPathProperty;
private final ObjectProperty<Vault> vaultProperty;
private final StringProperty recoveryKeyProperty;
private final VaultListManager vaultListManager;
private final ResourceBundle resourceBundle;
private final PasswordStrengthUtil strengthRater;
@@ -77,17 +80,18 @@ public class CreateNewVaultPasswordController implements FxController {
public FontAwesome5IconView checkmark;
public FontAwesome5IconView cross;
public Label passwordMatchLabel;
public CheckBox finalConfirmationCheckbox;
@Inject
CreateNewVaultPasswordController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_NEW_LOCATION) Lazy<Scene> chooseLocationScene, @FxmlScene(FxmlFile.ADDVAULT_SUCCESS) Lazy<Scene> successScene, ExecutorService executor, StringProperty vaultName, ObjectProperty<Path> vaultPath, @AddVaultWizardWindow ObjectProperty<Vault> vault, VaultListManager vaultListManager, ResourceBundle resourceBundle, PasswordStrengthUtil strengthRater, ReadmeGenerator readmeGenerator) {
CreateNewVaultPasswordController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_NEW_LOCATION) Lazy<Scene> chooseLocationScene, @FxmlScene(FxmlFile.ADDVAULT_NEW_RECOVERYKEY) Lazy<Scene> recoveryKeyScene, ExecutorService executor, RecoveryKeyFactory recoveryKeyFactory, @Named("vaultName") StringProperty vaultName, ObjectProperty<Path> vaultPath, @AddVaultWizardWindow ObjectProperty<Vault> vault, @Named("recoveryKey") StringProperty recoveryKey, VaultListManager vaultListManager, ResourceBundle resourceBundle, PasswordStrengthUtil strengthRater, ReadmeGenerator readmeGenerator) {
this.window = window;
this.chooseLocationScene = chooseLocationScene;
this.successScene = successScene;
this.recoveryKeyScene = recoveryKeyScene;
this.executor = executor;
this.vaultName = vaultName;
this.vaultPath = vaultPath;
this.vault = vault;
this.recoveryKeyFactory = recoveryKeyFactory;
this.vaultNameProperty = vaultName;
this.vaultPathProperty = vaultPath;
this.vaultProperty = vault;
this.recoveryKeyProperty = recoveryKey;
this.vaultListManager = vaultListManager;
this.resourceBundle = resourceBundle;
this.strengthRater = strengthRater;
@@ -105,7 +109,7 @@ public class CreateNewVaultPasswordController implements FxController {
//binding indicating if the passwords not match
BooleanBinding passwordsMatch = Bindings.createBooleanBinding(() -> CharSequence.compare(passwordField.getCharacters(), reenterField.getCharacters()) == 0, passwordField.textProperty(), reenterField.textProperty());
BooleanBinding reenterFieldNotEmpty = reenterField.textProperty().isNotEmpty();
readyToCreateVault.bind(reenterFieldNotEmpty.and(passwordsMatch).and(finalConfirmationCheckbox.selectedProperty()).and(processing.not()));
readyToCreateVault.bind(reenterFieldNotEmpty.and(passwordsMatch).and(processing.not()));
//make match indicator invisible when passwords do not match or one is empty
passwordMatchBox.visibleProperty().bind(reenterFieldNotEmpty);
checkmark.visibleProperty().bind(passwordsMatch.and(reenterFieldNotEmpty));
@@ -125,7 +129,7 @@ public class CreateNewVaultPasswordController implements FxController {
@FXML
public void next() {
Path pathToVault = vaultPath.get();
Path pathToVault = vaultPathProperty.get();
try {
Files.createDirectory(pathToVault);
@@ -140,8 +144,9 @@ public class CreateNewVaultPasswordController implements FxController {
processing.set(true);
Tasks.create(() -> {
initializeVault(pathToVault, passwordField.getCharacters());
}).onSuccess(() -> {
initializationSucceeded(pathToVault);
return recoveryKeyFactory.createRecoveryKey(pathToVault, passwordField.getCharacters());
}).onSuccess(recoveryKey -> {
initializationSucceeded(pathToVault, recoveryKey);
}).onError(IOException.class, e -> {
// TODO show generic error screen
LOG.error("", e);
@@ -171,11 +176,12 @@ public class CreateNewVaultPasswordController implements FxController {
LOG.info("Created vault at {}", path);
}
private void initializationSucceeded(Path pathToVault) {
private void initializationSucceeded(Path pathToVault, String recoveryKey) {
try {
Vault newVault = vaultListManager.add(pathToVault);
vault.set(newVault);
window.setScene(successScene.get());
vaultProperty.set(newVault);
recoveryKeyProperty.set(recoveryKey);
window.setScene(recoveryKeyScene.get());
} catch (NoSuchFileException e) {
throw new UncheckedIOException(e);
}
@@ -184,11 +190,11 @@ public class CreateNewVaultPasswordController implements FxController {
/* Getter/Setter */
public String getVaultName() {
return vaultName.get();
return vaultNameProperty.get();
}
public StringProperty vaultNameProperty() {
return vaultName;
return vaultNameProperty;
}
public IntegerProperty passwordStrengthProperty() {

View File

@@ -0,0 +1,42 @@
package org.cryptomator.ui.addvaultwizard;
import dagger.Lazy;
import javafx.beans.property.StringProperty;
import javafx.fxml.FXML;
import javafx.scene.Scene;
import javafx.stage.Stage;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxmlFile;
import org.cryptomator.ui.common.FxmlScene;
import javax.inject.Inject;
import javax.inject.Named;
public class CreateNewVaultRecoveryKeyController implements FxController {
private final Stage window;
private final Lazy<Scene> successScene;
private final StringProperty recoveryKeyProperty;
@Inject
CreateNewVaultRecoveryKeyController(@AddVaultWizardWindow Stage window, @FxmlScene(FxmlFile.ADDVAULT_SUCCESS) Lazy<Scene> successScene, @Named("recoveryKey")StringProperty recoveryKey) {
this.window = window;
this.successScene = successScene;
this.recoveryKeyProperty = recoveryKey;
}
@FXML
public void next() {
window.setScene(successScene.get());
}
/* Getter/Setter */
public String getRecoveryKey() {
return recoveryKeyProperty.get();
}
public StringProperty recoveryKeyProperty() {
return recoveryKeyProperty;
}
}

View File

@@ -8,6 +8,7 @@ import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -26,8 +27,8 @@ abstract class ChangePasswordModule {
@Provides
@ChangePasswordWindow
@ChangePasswordScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides

View File

@@ -0,0 +1,49 @@
package org.cryptomator.ui.common;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Stage;
import javafx.stage.Window;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.ui.fxapp.FxApplicationScoped;
import javax.inject.Inject;
import java.util.function.Function;
@FxApplicationScoped
public class DefaultSceneFactory implements Function<Parent, Scene> {
protected static final KeyCodeCombination ALT_F4 = new KeyCodeCombination(KeyCode.F4, KeyCombination.ALT_DOWN);
protected static final KeyCodeCombination SHORTCUT_W = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
@Inject
public DefaultSceneFactory() {}
@Override
public Scene apply(Parent root) {
Scene scene = new Scene(root);
configureScene(scene);
return scene;
}
protected void configureScene(Scene scene) {
scene.windowProperty().addListener(observable -> {
Window window = scene.getWindow();
if (window instanceof Stage) {
setupDefaultAccelerators(scene, (Stage) window);
}
});
}
protected void setupDefaultAccelerators(Scene scene, Stage stage) {
if (SystemUtils.IS_OS_WINDOWS) {
scene.getAccelerators().put(ALT_F4, stage::close);
} else {
scene.getAccelerators().put(SHORTCUT_W, stage::close);
}
}
}

View File

@@ -1,24 +1,28 @@
package org.cryptomator.ui.common;
import com.google.common.base.Splitter;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javax.inject.Provider;
import java.io.IOException;
import java.io.InputStream;
import java.io.UncheckedIOException;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.function.Function;
public class FXMLLoaderFactory {
private final Map<Class<? extends FxController>, Provider<FxController>> factories;
private final Map<Class<? extends FxController>, Provider<FxController>> controllerFactories;
private final Function<Parent, Scene> sceneFactory;
private final ResourceBundle resourceBundle;
public FXMLLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
this.factories = factories;
public FXMLLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> controllerFactories, Function<Parent, Scene> sceneFactory, ResourceBundle resourceBundle) {
this.controllerFactories = controllerFactories;
this.sceneFactory = sceneFactory;
this.resourceBundle = resourceBundle;
}
@@ -34,6 +38,7 @@ public class FXMLLoaderFactory {
/**
* Loads the FXML given fxml resource in a new FXMLLoader instance.
*
* @param fxmlResourceName Name of the resource (as in {@link Class#getResource(String)}).
* @return The FXMLLoader used to load the file
* @throws IOException if an error occurs while loading the FXML file
@@ -48,6 +53,7 @@ public class FXMLLoaderFactory {
/**
* {@link #load(String) Loads} the FXML file and creates a new Scene containing the loaded ui.
*
* @param fxmlResourceName Name of the resource (as in {@link Class#getResource(String)}).
* @throws UncheckedIOException wrapping any IOException thrown by {@link #load(String)).
*/
@@ -59,14 +65,16 @@ public class FXMLLoaderFactory {
throw new UncheckedIOException("Failed to load " + fxmlResourceName, e);
}
Parent root = loader.getRoot();
return new Scene(root);
List<String> addtionalStyleSheets = Splitter.on(',').omitEmptyStrings().splitToList(resourceBundle.getString("additionalStyleSheets"));
addtionalStyleSheets.forEach(styleSheet -> root.getStylesheets().add("/css/" + styleSheet));
return sceneFactory.apply(root);
}
private FxController constructController(Class<?> aClass) {
if (!factories.containsKey(aClass)) {
if (!controllerFactories.containsKey(aClass)) {
throw new IllegalArgumentException("ViewController not registered: " + aClass);
} else {
return factories.get(aClass).get();
return controllerFactories.get(aClass).get();
}
}
}

View File

@@ -3,9 +3,11 @@ package org.cryptomator.ui.common;
public enum FxmlFile {
ADDVAULT_WELCOME("/fxml/addvault_welcome.fxml"), //
ADDVAULT_EXISTING("/fxml/addvault_existing.fxml"), //
ADDVAULT_EXISTING_ERROR("/fxml/addvault_existing_error.fxml"),
ADDVAULT_NEW_NAME("/fxml/addvault_new_name.fxml"), //
ADDVAULT_NEW_LOCATION("/fxml/addvault_new_location.fxml"), //
ADDVAULT_NEW_PASSWORD("/fxml/addvault_new_password.fxml"), //
ADDVAULT_NEW_RECOVERYKEY("/fxml/addvault_new_recoverykey.fxml"), //
ADDVAULT_SUCCESS("/fxml/addvault_success.fxml"), //
CHANGEPASSWORD("/fxml/changepassword.fxml"), //
FORGET_PASSWORD("/fxml/forget_password.fxml"), //
@@ -15,15 +17,21 @@ public enum FxmlFile {
MIGRATION_SUCCESS("/fxml/migration_success.fxml"), //
PREFERENCES("/fxml/preferences.fxml"), //
QUIT("/fxml/quit.fxml"), //
RECOVERYKEY_CREATE("/fxml/recoverykey_create.fxml"), //
RECOVERYKEY_DISPLAY("/fxml/recoverykey_display.fxml"), //
REMOVE_VAULT("/fxml/remove_vault.fxml"), //
UNLOCK("/fxml/unlock2.fxml"), // TODO rename
UNLOCK("/fxml/unlock.fxml"),
UNLOCK_SUCCESS("/fxml/unlock_success.fxml"), //
VAULT_OPTIONS("/fxml/vault_options.fxml"), //
WRONGFILEALERT("/fxml/wrongfilealert.fxml");
private final String filename;
private final String ressourcePathString;
FxmlFile(String filename) {
this.filename = filename;
FxmlFile(String ressourcePathString) {
this.ressourcePathString = ressourcePathString;
}
public String getRessourcePathString(){
return ressourcePathString;
}
}

View File

@@ -31,8 +31,7 @@ public class PasswordStrengthUtil {
public PasswordStrengthUtil(ResourceBundle resourceBundle) {
this.resourceBundle = resourceBundle;
this.zxcvbn = new Zxcvbn();
this.sanitizedInputs = new ArrayList<>();
this.sanitizedInputs.add("cryptomator");
this.sanitizedInputs = List.of("cryptomator");
}
public int computeRate(String password) {

View File

@@ -9,6 +9,7 @@ public enum FontAwesome5Icon {
CHECK("\uF00C"), //
COG("\uF013"), //
COGS("\uF085"), //
EXCLAMATION("\uF12A"),
EXCLAMATION_TRIANGLE("\uF071"), //
EYE("\uF06E"), //
EYE_SLASH("\uF070"), //

View File

@@ -67,6 +67,10 @@ public class NiceSecurePasswordField extends StackPane {
public void requestFocus() {
passwordField.requestFocus();
}
public String getText() {
return passwordField.getText();
}
public StringProperty textProperty() {
return passwordField.textProperty();
@@ -76,6 +80,10 @@ public class NiceSecurePasswordField extends StackPane {
return passwordField.getCharacters();
}
public void setPassword(CharSequence password) {
passwordField.setPassword(password);
}
public void setPassword(char[] password) {
passwordField.setPassword(password);
}

View File

@@ -11,6 +11,7 @@ import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -29,8 +30,8 @@ abstract class ForgetPasswordModule {
@Provides
@ForgetPasswordWindow
@ForgetPasswordScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@@ -46,13 +47,6 @@ abstract class ForgetPasswordModule {
return stage;
}
@Provides
@FxmlScene(FxmlFile.FORGET_PASSWORD)
@ForgetPasswordScoped
static Scene provideForgetPasswordScene(@ForgetPasswordWindow FXMLLoaderFactory fxmlLoaders, @ForgetPasswordWindow Stage window) {
return fxmlLoaders.createScene("/fxml/forget_password.fxml");
}
@Provides
@ForgetPasswordWindow
@ForgetPasswordScoped
@@ -64,6 +58,15 @@ abstract class ForgetPasswordModule {
@ForgetPasswordWindow
@ForgetPasswordScoped
abstract ReadOnlyBooleanProperty bindReadOnlyConfirmedProperty(@ForgetPasswordWindow BooleanProperty confirmedProperty);
// ------------------
@Provides
@FxmlScene(FxmlFile.FORGET_PASSWORD)
@ForgetPasswordScoped
static Scene provideForgetPasswordScene(@ForgetPasswordWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/forget_password.fxml");
}
// ------------------

View File

@@ -8,6 +8,6 @@ import java.lang.annotation.RetentionPolicy;
@Scope
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface ForgetPasswordScoped {
@interface ForgetPasswordScoped {
}

View File

@@ -26,8 +26,6 @@ import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import java.awt.desktop.QuitResponse;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
@FxApplicationScoped
public class FxApplication extends Application {

View File

@@ -1,94 +0,0 @@
/*******************************************************************************
* Copyright (c) 2017 Skymatic UG (haftungsbeschränkt).
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the accompanying LICENSE file.
*******************************************************************************/
package org.cryptomator.ui.l10n;
import com.google.common.collect.Sets;
import org.apache.commons.lang3.StringUtils;
import org.cryptomator.ui.fxapp.FxApplicationScoped;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.UncheckedIOException;
import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Locale;
import java.util.Objects;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
@FxApplicationScoped
public class Localization extends ResourceBundle {
private static final Logger LOG = LoggerFactory.getLogger(Localization.class);
private static final String LOCALIZATION_DEFAULT_FILE = "/localization/en.txt";
private static final String LOCALIZATION_FILENAME_FMT = "/localization/%s.txt";
private final ResourceBundle fallback;
private final ResourceBundle localized;
@Inject
public Localization() {
try {
this.fallback = Objects.requireNonNull(loadLocalizationFile(LOCALIZATION_DEFAULT_FILE));
LOG.debug("Loaded localization default file: {}", LOCALIZATION_DEFAULT_FILE);
String language = Locale.getDefault().getLanguage();
String region = Locale.getDefault().getCountry();
LOG.debug("Detected language \"{}\" and region \"{}\"", language, region);
ResourceBundle localizationBundle = null;
if (StringUtils.isNotEmpty(language) && StringUtils.isNotEmpty(region)) {
String file = String.format(LOCALIZATION_FILENAME_FMT, language + "_" + region);
LOG.trace("Attempting to load localization from: {}", file);
localizationBundle = loadLocalizationFile(file);
}
if (StringUtils.isNotEmpty(language) && localizationBundle == null) {
String file = String.format(LOCALIZATION_FILENAME_FMT, language);
LOG.trace("Attempting to load localization from: {}", file);
localizationBundle = loadLocalizationFile(file);
}
if (localizationBundle == null) {
LOG.debug("No localization found. Falling back to default language.");
localizationBundle = this.fallback;
}
this.localized = Objects.requireNonNull(localizationBundle);
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}
// returns null if no resource for given path
private static ResourceBundle loadLocalizationFile(String resourcePath) throws IOException {
try (InputStream in = Localization.class.getResourceAsStream(resourcePath)) {
if (in != null) {
Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
return new PropertyResourceBundle(reader);
} else {
return null;
}
}
}
@Override
protected Object handleGetObject(String key) {
return localized.containsKey(key) ? localized.getObject(key) : fallback.getObject(key);
}
@Override
public Enumeration<String> getKeys() {
Collection<String> keys = Sets.union(localized.keySet(), fallback.keySet());
return Collections.enumeration(keys);
}
}

View File

@@ -10,7 +10,6 @@ import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.common.vaults.VaultListManager;
import org.cryptomator.ui.common.FontLoader;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.fxapp.FxApplication;
import org.cryptomator.ui.fxapp.UpdateChecker;
@@ -21,18 +20,15 @@ import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.util.Collection;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@MainWindowScoped
public class MainWindowController implements FxController {
private static final String TITLE_FONT = "/css/dosis-bold.ttf";
private static final Logger LOG = LoggerFactory.getLogger(MainWindowController.class);
private static final String MASTERKEY_FILENAME = "masterkey.cryptomator"; // TODO: deduplicate constant declared in multiple classes
@@ -64,7 +60,6 @@ public class MainWindowController implements FxController {
@FXML
public void initialize() {
LOG.debug("init MainWindowController");
loadFont(TITLE_FONT);
titleBar.setOnMousePressed(event -> {
xOffset = event.getSceneX();
yOffset = event.getSceneY();
@@ -115,14 +110,6 @@ public class MainWindowController implements FxController {
return Stream.empty();
}
private void loadFont(String resourcePath) {
try {
FontLoader.load(resourcePath);
} catch (FontLoader.FontLoaderException e) {
LOG.warn("Error loading font from path: " + resourcePath, e);
}
}
@FXML
public void close() {
if (minimizeToSysTray) {

View File

@@ -12,6 +12,7 @@ import javafx.scene.input.KeyCombination;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import org.cryptomator.ui.addvaultwizard.AddVaultWizardComponent;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -34,8 +35,8 @@ abstract class MainWindowModule {
@Provides
@MainWindow
@MainWindowScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, MainWindowSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@@ -57,15 +58,7 @@ abstract class MainWindowModule {
@FxmlScene(FxmlFile.MAIN_WINDOW)
@MainWindowScoped
static Scene provideMainScene(@MainWindow FXMLLoaderFactory fxmlLoaders, MainWindowController mainWindowController, VaultListController vaultListController) {
Scene scene = fxmlLoaders.createScene("/fxml/main_window.fxml");
// still not perfect... cant't we have a global menubar via the AWT tray app?
KeyCombination cmdN = new KeyCodeCombination(KeyCode.N, KeyCombination.SHORTCUT_DOWN);
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdN, vaultListController::didClickAddVault);
scene.getAccelerators().put(cmdW, mainWindowController::close);
return scene;
return fxmlLoaders.createScene("/fxml/main_window.fxml");
}
// ------------------

View File

@@ -0,0 +1,37 @@
package org.cryptomator.ui.mainwindow;
import dagger.Lazy;
import javafx.scene.Scene;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Stage;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.ui.common.DefaultSceneFactory;
import javax.inject.Inject;
@MainWindowScoped
public class MainWindowSceneFactory extends DefaultSceneFactory {
protected static final KeyCodeCombination SHORTCUT_N = new KeyCodeCombination(KeyCode.N, KeyCombination.SHORTCUT_DOWN);
private final Lazy<MainWindowController> mainWindowController;
private final Lazy<VaultListController> vaultListController;
@Inject
public MainWindowSceneFactory(Lazy<MainWindowController> mainWindowController, Lazy<VaultListController> vaultListController) {
this.mainWindowController = mainWindowController;
this.vaultListController = vaultListController;
}
@Override
protected void setupDefaultAccelerators(Scene scene, Stage stage) {
if (SystemUtils.IS_OS_WINDOWS) {
scene.getAccelerators().put(ALT_F4, mainWindowController.get()::close);
} else {
scene.getAccelerators().put(SHORTCUT_W, mainWindowController.get()::close);
}
scene.getAccelerators().put(SHORTCUT_N, vaultListController.get()::didClickAddVault);
}
}

View File

@@ -17,6 +17,7 @@ import org.slf4j.LoggerFactory;
import javax.inject.Inject;
//TODO: Add check if a vault in the list is invalid and add notification & controller
@MainWindowScoped
public class VaultListController implements FxController {
@@ -53,10 +54,6 @@ public class VaultListController implements FxController {
if (c.wasAdded()) {
Vault anyAddedVault = c.getAddedSubList().get(0);
vaultList.getSelectionModel().select(anyAddedVault);
window.setIconified(false);
window.show();
window.toFront();
window.requestFocus(); // TODO: this beeps on macOS if there is a modal child window...
}
}
});

View File

@@ -1,19 +1,14 @@
package org.cryptomator.ui.migration;
import dagger.Binds;
import dagger.Lazy;
import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoMap;
import dagger.multibindings.IntoSet;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.apache.commons.lang3.SystemUtils;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -26,7 +21,6 @@ import javax.inject.Provider;
import java.util.Map;
import java.util.Optional;
import java.util.ResourceBundle;
import java.util.Set;
@Module
abstract class MigrationModule {
@@ -34,29 +28,19 @@ abstract class MigrationModule {
@Provides
@MigrationWindow
@MigrationScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
}
@Provides
@MigrationWindow
@MigrationScoped
static Map<KeyCodeCombination, Runnable> provideDefaultAccellerators(@MigrationWindow Set<Map.Entry<KeyCombination, Runnable>> accelerators) {
return Map.ofEntries(accelerators.toArray(Map.Entry[]::new));
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@MigrationWindow
@MigrationScoped
static Stage provideStage(@MainWindow Stage owner, ResourceBundle resourceBundle, @Named("windowIcon") Optional<Image> windowIcon, @MigrationWindow Lazy<Map<KeyCodeCombination, Runnable>> accelerators) {
static Stage provideStage(@MainWindow Stage owner, ResourceBundle resourceBundle, @Named("windowIcon") Optional<Image> windowIcon) {
Stage stage = new Stage();
stage.setTitle(resourceBundle.getString("migration.title"));
stage.setResizable(false);
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(owner);
stage.sceneProperty().addListener(observable -> {
stage.getScene().getAccelerators().putAll(accelerators.get());
});
windowIcon.ifPresent(stage.getIcons()::add);
return stage;
}
@@ -84,19 +68,6 @@ abstract class MigrationModule {
// ------------------
@Provides
@IntoSet
@MigrationWindow
static Map.Entry<KeyCombination, Runnable> provideCloseWindowShortcut(@MigrationWindow Stage window) {
if (SystemUtils.IS_OS_WINDOWS) {
return Map.entry(new KeyCodeCombination(KeyCode.F4, KeyCombination.ALT_DOWN), window::close);
} else {
return Map.entry(new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN), window::close);
}
}
// ------------------
@Binds
@IntoMap
@FxControllerKey(MigrationStartController.class)

View File

@@ -7,8 +7,13 @@ import javafx.animation.Timeline;
import javafx.beans.binding.Bindings;
import javafx.beans.binding.ObjectBinding;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.ReadOnlyDoubleProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.beans.value.WritableValue;
import javafx.concurrent.ScheduledService;
import javafx.concurrent.Task;
import javafx.fxml.FXML;
import javafx.scene.Scene;
import javafx.scene.control.ContentDisplay;
@@ -17,6 +22,7 @@ import javafx.util.Duration;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.common.vaults.VaultState;
import org.cryptomator.cryptofs.migration.Migrators;
import org.cryptomator.cryptofs.migration.api.MigrationProgressListener;
import org.cryptomator.cryptofs.migration.api.NoApplicableMigratorException;
import org.cryptomator.cryptolib.api.InvalidPassphraseException;
import org.cryptomator.keychain.KeychainAccess;
@@ -39,6 +45,7 @@ public class MigrationRunController implements FxController {
private static final Logger LOG = LoggerFactory.getLogger(MigrationRunController.class);
private static final String MASTERKEY_FILENAME = "masterkey.cryptomator"; // TODO: deduplicate constant declared in multiple classes
private static final Duration MIGRATION_PROGRESS_UPDATE_INTERVAL = Duration.millis(25);
private final Stage window;
private final Vault vault;
@@ -48,6 +55,9 @@ public class MigrationRunController implements FxController {
private final Lazy<Scene> successScene;
private final ObjectBinding<ContentDisplay> migrateButtonContentDisplay;
private final BooleanProperty migrationButtonDisabled;
private final DoubleProperty migrationProgress;
private final ScheduledService<Double> migrationProgressObservationService;
private volatile double volatileMigrationProgress = -1.0;
public NiceSecurePasswordField passwordField;
@Inject
@@ -60,6 +70,10 @@ public class MigrationRunController implements FxController {
this.successScene = successScene;
this.migrateButtonContentDisplay = Bindings.createObjectBinding(this::getMigrateButtonContentDisplay, vault.stateProperty());
this.migrationButtonDisabled = new SimpleBooleanProperty();
this.migrationProgress = new SimpleDoubleProperty(volatileMigrationProgress);
this.migrationProgressObservationService = new MigrationProgressObservationService();
migrationProgressObservationService.setExecutor(executor);
migrationProgressObservationService.setPeriod(MIGRATION_PROGRESS_UPDATE_INTERVAL);
}
public void initialize() {
@@ -79,17 +93,18 @@ public class MigrationRunController implements FxController {
LOG.info("Migrating vault {}", vault.getPath());
CharSequence password = passwordField.getCharacters();
vault.setState(VaultState.PROCESSING);
migrationProgressObservationService.start();
Tasks.create(() -> {
Migrators migrators = Migrators.get();
migrators.migrate(vault.getPath(), MASTERKEY_FILENAME, password);
migrators.migrate(vault.getPath(), MASTERKEY_FILENAME, password, this::migrationProgressChanged);
return migrators.needsMigration(vault.getPath(), MASTERKEY_FILENAME);
}).onSuccess(needsAnotherMigration -> {
LOG.info("Migration of '{}' succeeded.", vault.getDisplayableName());
if (needsAnotherMigration) {
vault.setState(VaultState.NEEDS_MIGRATION);
} else {
vault.setState(VaultState.LOCKED);
passwordField.swipe();
LOG.info("Migration of '{}' succeeded.", vault.getDisplayableName());
window.setScene(successScene.get());
}
}).onError(InvalidPassphraseException.class, e -> {
@@ -105,9 +120,29 @@ public class MigrationRunController implements FxController {
LOG.error("Migration failed for technical reasons.", e);
vault.setState(VaultState.ERROR);
// TODO show generic error screen
}).andFinally(() -> {
migrationProgressObservationService.cancel();
migrationProgressObservationService.reset();
}).runOnce(executor);
}
// Called by a background task. We can not directly modify observable properties from here
private void migrationProgressChanged(MigrationProgressListener.ProgressState state, double progress) {
switch (state) {
case INITIALIZING:
volatileMigrationProgress = -1.0;
break;
case MIGRATING:
volatileMigrationProgress = progress;
break;
case FINALIZING:
volatileMigrationProgress = 1.0;
break;
default:
throw new IllegalStateException("Unexpted state " + state);
}
}
private void loadStoredPassword() {
assert keychainAccess.isPresent();
char[] storedPw = null;
@@ -126,6 +161,27 @@ public class MigrationRunController implements FxController {
}
}
// Sets migrationProgress to volatileMigrationProgress at its configured interval
private class MigrationProgressObservationService extends ScheduledService<Double> {
@Override
protected Task<Double> createTask() {
return new Task<>() {
@Override
protected Double call() {
return volatileMigrationProgress;
}
};
}
@Override
protected void succeeded() {
assert getValue() != null;
migrationProgress.set(getValue());
super.succeeded();
}
}
/* Animations */
private void shakeWindow() {
@@ -180,4 +236,12 @@ public class MigrationRunController implements FxController {
}
}
public ReadOnlyDoubleProperty migrationProgressProperty() {
return migrationProgress;
}
public double getMigrationProgress() {
return migrationProgress.get();
}
}

View File

@@ -6,10 +6,8 @@ import dagger.Provides;
import dagger.multibindings.IntoMap;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Stage;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -28,8 +26,8 @@ abstract class PreferencesModule {
@Provides
@PreferencesWindow
@PreferencesScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@@ -46,13 +44,8 @@ abstract class PreferencesModule {
@Provides
@FxmlScene(FxmlFile.PREFERENCES)
@PreferencesScoped
static Scene providePreferencesScene(@PreferencesWindow FXMLLoaderFactory fxmlLoaders, @PreferencesWindow Stage window) {
Scene scene = fxmlLoaders.createScene("/fxml/preferences.fxml");
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdW, window::close);
return scene;
static Scene providePreferencesScene(@PreferencesWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/preferences.fxml");
}
// ------------------

View File

@@ -11,6 +11,7 @@ import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -29,8 +30,8 @@ abstract class QuitModule {
@Provides
@QuitWindow
@QuitScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@@ -48,13 +49,8 @@ abstract class QuitModule {
@Provides
@FxmlScene(FxmlFile.QUIT)
@QuitScoped
static Scene provideUnlockScene(@QuitWindow FXMLLoaderFactory fxmlLoaders, @QuitWindow Stage window) {
Scene scene = fxmlLoaders.createScene("/fxml/quit.fxml");
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdW, window::close);
return scene;
static Scene provideUnlockScene(@QuitWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/quit.fxml");
}
// ------------------

View File

@@ -0,0 +1,45 @@
package org.cryptomator.ui.recoverykey;
import dagger.BindsInstance;
import dagger.Lazy;
import dagger.Subcomponent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.common.FxmlFile;
import org.cryptomator.ui.common.FxmlScene;
import javax.annotation.Nullable;
import javax.inject.Named;
import java.util.Optional;
@RecoveryKeyScoped
@Subcomponent(modules = {RecoveryKeyModule.class})
public interface RecoveryKeyComponent {
@RecoveryKeyWindow
Stage window();
@FxmlScene(FxmlFile.RECOVERYKEY_CREATE)
Lazy<Scene> scene();
default void showRecoveryKeyCreationWindow() {
Stage stage = window();
stage.setScene(scene().get());
stage.sizeToScene();
stage.show();
}
@Subcomponent.Builder
interface Builder {
@BindsInstance
Builder vault(@RecoveryKeyWindow Vault vault);
@BindsInstance
Builder owner(@Named("keyRecoveryOwner") Stage owner);
RecoveryKeyComponent build();
}
}

View File

@@ -0,0 +1,103 @@
package org.cryptomator.ui.recoverykey;
import dagger.Lazy;
import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.beans.property.ReadOnlyStringProperty;
import javafx.beans.property.StringProperty;
import javafx.beans.value.WritableValue;
import javafx.fxml.FXML;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.util.Duration;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.cryptolib.api.InvalidPassphraseException;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxmlFile;
import org.cryptomator.ui.common.FxmlScene;
import org.cryptomator.ui.common.Tasks;
import org.cryptomator.ui.controls.NiceSecurePasswordField;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.Nullable;
import javax.inject.Inject;
import java.io.IOException;
import java.util.concurrent.ExecutorService;
@RecoveryKeyScoped
public class RecoveryKeyCreationController implements FxController {
private static final Logger LOG = LoggerFactory.getLogger(RecoveryKeyCreationController.class);
private final Stage window;
private final Lazy<Scene> successScene;
private final Vault vault;
private final ExecutorService executor;
private final RecoveryKeyFactory recoveryKeyFactory;
private final StringProperty recoveryKeyProperty;
public NiceSecurePasswordField passwordField;
@Inject
public RecoveryKeyCreationController(@RecoveryKeyWindow Stage window, @FxmlScene(FxmlFile.RECOVERYKEY_DISPLAY) Lazy<Scene> successScene, @RecoveryKeyWindow Vault vault, RecoveryKeyFactory recoveryKeyFactory, ExecutorService executor, @RecoveryKeyWindow StringProperty recoveryKey) {
this.window = window;
this.successScene = successScene;
this.vault = vault;
this.executor = executor;
this.recoveryKeyFactory = recoveryKeyFactory;
this.recoveryKeyProperty = recoveryKey;
}
@FXML
public void createRecoveryKey() {
Tasks.create(() -> {
return recoveryKeyFactory.createRecoveryKey(vault.getPath(), passwordField.getCharacters());
}).onSuccess(result -> {
recoveryKeyProperty.set(result);
window.setScene(successScene.get());
}).onError(IOException.class, e -> {
LOG.error("Creation of recovery key failed.", e);
}).onError(InvalidPassphraseException.class, e -> {
shakeWindow();
}).runOnce(executor);
}
@FXML
public void close() {
window.close();
}
/* Animations */
private void shakeWindow() {
WritableValue<Double> writableWindowX = new WritableValue<>() {
@Override
public Double getValue() {
return window.getX();
}
@Override
public void setValue(Double value) {
window.setX(value);
}
};
Timeline timeline = new Timeline( //
new KeyFrame(Duration.ZERO, new KeyValue(writableWindowX, window.getX())), //
new KeyFrame(new Duration(100), new KeyValue(writableWindowX, window.getX() - 22.0)), //
new KeyFrame(new Duration(200), new KeyValue(writableWindowX, window.getX() + 18.0)), //
new KeyFrame(new Duration(300), new KeyValue(writableWindowX, window.getX() - 14.0)), //
new KeyFrame(new Duration(400), new KeyValue(writableWindowX, window.getX() + 10.0)), //
new KeyFrame(new Duration(500), new KeyValue(writableWindowX, window.getX() - 6.0)), //
new KeyFrame(new Duration(600), new KeyValue(writableWindowX, window.getX() + 2.0)), //
new KeyFrame(new Duration(700), new KeyValue(writableWindowX, window.getX())) //
);
timeline.play();
}
/* Getter/Setter */
public Vault getVault() {
return vault;
}
}

View File

@@ -0,0 +1,44 @@
package org.cryptomator.ui.recoverykey;
import javafx.beans.property.ReadOnlyStringProperty;
import javafx.beans.property.StringProperty;
import javafx.fxml.FXML;
import javafx.stage.Stage;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.common.FxController;
import javax.inject.Inject;
@RecoveryKeyScoped
public class RecoveryKeyDisplayController implements FxController {
private final Stage window;
private final Vault vault;
private final StringProperty recoveryKeyProperty;
@Inject
public RecoveryKeyDisplayController(@RecoveryKeyWindow Stage window, @RecoveryKeyWindow Vault vault, @RecoveryKeyWindow StringProperty recoveryKey) {
this.window = window;
this.vault = vault;
this.recoveryKeyProperty = recoveryKey;
}
@FXML
public void close() {
window.close();
}
/* Getter/Setter */
public Vault getVault() {
return vault;
}
public ReadOnlyStringProperty recoveryKeyProperty() {
return recoveryKeyProperty;
}
public String getRecoveryKey() {
return recoveryKeyProperty.get();
}
}

View File

@@ -0,0 +1,78 @@
package org.cryptomator.ui.recoverykey;
import com.google.common.base.Preconditions;
import com.google.common.hash.Hashing;
import org.cryptomator.cryptofs.CryptoFileSystemProvider;
import org.cryptomator.cryptolib.api.InvalidPassphraseException;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
@Singleton
public class RecoveryKeyFactory {
private static final String MASTERKEY_FILENAME = "masterkey.cryptomator"; // TODO: deduplicate constant declared in multiple classes
private final WordEncoder wordEncoder;
@Inject
public RecoveryKeyFactory(WordEncoder wordEncoder) {
this.wordEncoder = wordEncoder;
}
/**
* @param vaultPath Path to the storage location of a vault
* @param password The vault's password
* @return The recovery key of the vault at the given path
* @throws IOException If the masterkey file could not be read
* @throws InvalidPassphraseException If the provided password is wrong
* @apiNote This is a long-running operation and should be invoked in a background thread
*/
public String createRecoveryKey(Path vaultPath, CharSequence password) throws IOException, InvalidPassphraseException {
byte[] rawKey = CryptoFileSystemProvider.exportRawKey(vaultPath, MASTERKEY_FILENAME, new byte[0], password);
try {
return createRecoveryKey(rawKey);
} finally {
Arrays.fill(rawKey, (byte) 0x00);
}
}
// visible for testing
String createRecoveryKey(byte[] rawKey) {
Preconditions.checkArgument(rawKey.length == 64, "key should be 64 bytes");
byte[] paddedKey = Arrays.copyOf(rawKey, 66);
try {
// copy 16 most significant bits of CRC32(rawKey) to the end of paddedKey:
Hashing.crc32().hashBytes(rawKey).writeBytesTo(paddedKey, 64, 2);
return wordEncoder.encodePadded(paddedKey);
} finally {
Arrays.fill(paddedKey, (byte) 0x00);
}
}
/**
* Checks whether a String is a syntactically correct recovery key with a valid checksum
* @param recoveryKey A word sequence which might be a recovery key
* @return <code>true</code> if this seems to be a legitimate recovery key
*/
public boolean validateRecoveryKey(String recoveryKey) {
final byte[] paddedKey;
try {
paddedKey = wordEncoder.decode(recoveryKey);
} catch (IllegalArgumentException e) {
return false;
}
if (paddedKey.length != 66) {
return false;
}
byte[] rawKey = Arrays.copyOf(paddedKey, 64);
byte[] expectedCrc16 = Arrays.copyOfRange(paddedKey, 64, 66);
byte[] actualCrc32 = Hashing.crc32().hashBytes(rawKey).asBytes();
byte[] actualCrc16 = Arrays.copyOf(actualCrc32, 2);
return Arrays.equals(expectedCrc16, actualCrc16);
}
}

View File

@@ -0,0 +1,84 @@
package org.cryptomator.ui.recoverykey;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import dagger.multibindings.IntoMap;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Modality;
import javafx.stage.Stage;
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.FxmlScene;
import javax.inject.Named;
import javax.inject.Provider;
import java.util.Map;
import java.util.Optional;
import java.util.ResourceBundle;
@Module
abstract class RecoveryKeyModule {
@Provides
@RecoveryKeyWindow
@RecoveryKeyScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@RecoveryKeyWindow
@RecoveryKeyScoped
static Stage provideStage(ResourceBundle resourceBundle, @Named("windowIcon") Optional<Image> windowIcon, @Named("keyRecoveryOwner") Stage owner) {
Stage stage = new Stage();
stage.setTitle(resourceBundle.getString("recoveryKey.title"));
stage.setResizable(false);
stage.initModality(Modality.WINDOW_MODAL);
stage.initOwner(owner);
windowIcon.ifPresent(stage.getIcons()::add);
return stage;
}
@Provides
@RecoveryKeyWindow
@RecoveryKeyScoped
static StringProperty provideRecoveryKeyProperty() {
return new SimpleStringProperty();
}
// ------------------
@Provides
@FxmlScene(FxmlFile.RECOVERYKEY_CREATE)
@RecoveryKeyScoped
static Scene provideRecoveryKeyCreationScene(@RecoveryKeyWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/recoverykey_create.fxml");
}
@Provides
@FxmlScene(FxmlFile.RECOVERYKEY_DISPLAY)
@RecoveryKeyScoped
static Scene provideRecoveryKeyDisplayScene(@RecoveryKeyWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/recoverykey_display.fxml");
}
// ------------------
@Binds
@IntoMap
@FxControllerKey(RecoveryKeyCreationController.class)
abstract FxController bindRecoveryKeyCreationController(RecoveryKeyCreationController controller);
@Binds
@IntoMap
@FxControllerKey(RecoveryKeyDisplayController.class)
abstract FxController bindRecoveryKeyDisplayController(RecoveryKeyDisplayController controller);
}

View File

@@ -0,0 +1,13 @@
package org.cryptomator.ui.recoverykey;
import javax.inject.Scope;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Scope
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface RecoveryKeyScoped {
}

View File

@@ -0,0 +1,14 @@
package org.cryptomator.ui.recoverykey;
import javax.inject.Qualifier;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@Qualifier
@Documented
@Retention(RUNTIME)
@interface RecoveryKeyWindow {
}

View File

@@ -1,8 +1,10 @@
package org.cryptomator.ui.keyrecovery;
package org.cryptomator.ui.recoverykey;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
@@ -14,16 +16,19 @@ import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@Singleton
class WordEncoder {
private static final String DEFAULT_WORD_FILE = "/i18n/4096words_en.txt";
private static final int WORD_COUNT = 4096;
private static final char DELIMITER = ' ';
private final List<String> words;
private final Map<String, Integer> indices;
@Inject
public WordEncoder() {
this("/i18n/4096words_en.txt");
this(DEFAULT_WORD_FILE);
}
public WordEncoder(String wordFile) {

View File

@@ -11,6 +11,7 @@ import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -30,8 +31,8 @@ abstract class RemoveVaultModule {
@Provides
@RemoveVaultWindow
@RemoveVaultScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@@ -50,13 +51,8 @@ abstract class RemoveVaultModule {
@Provides
@FxmlScene(FxmlFile.REMOVE_VAULT)
@RemoveVaultScoped
static Scene provideRemoveVaultScene(@RemoveVaultWindow FXMLLoaderFactory fxmlLoaders, @RemoveVaultWindow Stage window) {
Scene scene = fxmlLoaders.createScene("/fxml/remove_vault.fxml");
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdW, window::close);
return scene;
static Scene provideRemoveVaultScene(@RemoveVaultWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/remove_vault.fxml");
}
// ------------------

View File

@@ -6,11 +6,9 @@ import dagger.Provides;
import dagger.multibindings.IntoMap;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -24,14 +22,14 @@ import java.util.Map;
import java.util.Optional;
import java.util.ResourceBundle;
@Module(subcomponents={ForgetPasswordComponent.class})
@Module(subcomponents = {ForgetPasswordComponent.class})
abstract class UnlockModule {
@Provides
@UnlockWindow
@UnlockScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@@ -49,25 +47,15 @@ abstract class UnlockModule {
@Provides
@FxmlScene(FxmlFile.UNLOCK)
@UnlockScoped
static Scene provideUnlockScene(@UnlockWindow FXMLLoaderFactory fxmlLoaders, @UnlockWindow Stage window) {
Scene scene = fxmlLoaders.createScene("/fxml/unlock2.fxml"); // TODO rename fxml file
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdW, window::close);
return scene;
static Scene provideUnlockScene(@UnlockWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/unlock.fxml");
}
@Provides
@FxmlScene(FxmlFile.UNLOCK_SUCCESS)
@UnlockScoped
static Scene provideUnlockSuccessScene(@UnlockWindow FXMLLoaderFactory fxmlLoaders, @UnlockWindow Stage window) {
Scene scene = fxmlLoaders.createScene("/fxml/unlock_success.fxml");
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdW, window::close);
return scene;
static Scene provideUnlockSuccessScene(@UnlockWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/unlock_success.fxml");
}

View File

@@ -5,6 +5,7 @@ import javafx.stage.Stage;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.changepassword.ChangePasswordComponent;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.recoverykey.RecoveryKeyComponent;
import javax.inject.Inject;
@@ -14,12 +15,14 @@ public class GeneralVaultOptionsController implements FxController {
private final Vault vault;
private final Stage window;
private final ChangePasswordComponent.Builder changePasswordWindow;
private final RecoveryKeyComponent.Builder recoveryKeyWindow;
@Inject
GeneralVaultOptionsController(@VaultOptionsWindow Vault vault, @VaultOptionsWindow Stage window, ChangePasswordComponent.Builder changePasswordWindow) {
GeneralVaultOptionsController(@VaultOptionsWindow Vault vault, @VaultOptionsWindow Stage window, ChangePasswordComponent.Builder changePasswordWindow, RecoveryKeyComponent.Builder recoveryKeyWindow) {
this.vault = vault;
this.window = window;
this.changePasswordWindow = changePasswordWindow;
this.recoveryKeyWindow = recoveryKeyWindow;
}
@FXML
@@ -27,4 +30,9 @@ public class GeneralVaultOptionsController implements FxController {
changePasswordWindow.vault(vault).owner(window).build().showChangePasswordWindow();
}
@FXML
public void showRecoveryKey() {
recoveryKeyWindow.vault(vault).owner(window).build().showRecoveryKeyCreationWindow();
}
}

View File

@@ -6,20 +6,18 @@ import dagger.Provides;
import dagger.multibindings.IntoMap;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import org.cryptomator.common.vaults.Vault;
import org.cryptomator.ui.changepassword.ChangePasswordComponent;
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.FxmlScene;
import org.cryptomator.ui.mainwindow.MainWindow;
import org.cryptomator.ui.recoverykey.RecoveryKeyComponent;
import javax.inject.Named;
import javax.inject.Provider;
@@ -27,14 +25,14 @@ import java.util.Map;
import java.util.Optional;
import java.util.ResourceBundle;
@Module(subcomponents = {ChangePasswordComponent.class})
@Module(subcomponents = {ChangePasswordComponent.class, RecoveryKeyComponent.class})
abstract class VaultOptionsModule {
@Provides
@VaultOptionsWindow
@VaultOptionsScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@@ -53,13 +51,8 @@ abstract class VaultOptionsModule {
@Provides
@FxmlScene(FxmlFile.VAULT_OPTIONS)
@VaultOptionsScoped
static Scene provideVaultOptionsScene(@VaultOptionsWindow FXMLLoaderFactory fxmlLoaders, @VaultOptionsWindow Stage window) {
Scene scene = fxmlLoaders.createScene("/fxml/vault_options.fxml");
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdW, window::close);
return scene;
static Scene provideVaultOptionsScene(@VaultOptionsWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/vault_options.fxml");
}
// ------------------

View File

@@ -6,11 +6,9 @@ import dagger.Provides;
import dagger.multibindings.IntoMap;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.cryptomator.ui.common.DefaultSceneFactory;
import org.cryptomator.ui.common.FXMLLoaderFactory;
import org.cryptomator.ui.common.FxController;
import org.cryptomator.ui.common.FxControllerKey;
@@ -29,8 +27,8 @@ abstract class WrongFileAlertModule {
@Provides
@WrongFileAlertWindow
@WrongFileAlertScoped
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, resourceBundle);
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
}
@Provides
@@ -48,13 +46,8 @@ abstract class WrongFileAlertModule {
@Provides
@FxmlScene(FxmlFile.WRONGFILEALERT)
@WrongFileAlertScoped
static Scene provideWrongFileAlertScene(@WrongFileAlertWindow FXMLLoaderFactory fxmlLoaders, @WrongFileAlertWindow Stage window) {
Scene scene = fxmlLoaders.createScene("/fxml/wrongfilealert.fxml"); // TODO rename fxml file
KeyCombination cmdW = new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN);
scene.getAccelerators().put(cmdW, window::close);
return scene;
static Scene provideWrongFileAlertScene(@WrongFileAlertWindow FXMLLoaderFactory fxmlLoaders) {
return fxmlLoaders.createScene("/fxml/wrongfilealert.fxml");
}
// ------------------

View File

@@ -1 +0,0 @@
apple.applescript.AppleScriptEngineFactory

View File

@@ -16,6 +16,10 @@
src: url('opensans-bold.ttf');
}
@font-face {
src: url('dosis-bold.ttf');
}
/*******************************************************************************
* *
* Root Styling & Colors *
@@ -76,6 +80,7 @@
INDICATOR_BG: RED_5;
PROGRESS_INDICATOR_BEGIN: GRAY_7;
PROGRESS_INDICATOR_END: GRAY_5;
PROGRESS_BAR_BG: GRAY_2;
PASSWORD_STRENGTH_INDICATOR_BG: GRAY_3;
PASSWORD_STRENGTH_INDICATOR_BG_STRENGTH_0: RED_5;
PASSWORD_STRENGTH_INDICATOR_BG_STRENGTH_1: ORANGE_5;
@@ -460,6 +465,42 @@
-fx-padding: 4px 6px 4px 0;
}
/*******************************************************************************
* *
* Text Areas *
* *
******************************************************************************/
.text-area {
-fx-cursor: default;
-fx-background-color: CONTROL_BORDER_NORMAL, CONTROL_BG_NORMAL;
-fx-background-insets: 0, 1px;
-fx-background-radius: 4px;
-fx-padding: 0;
}
.text-input:focused {
-fx-background-color: CONTROL_BORDER_FOCUSED, CONTROL_BG_NORMAL;
}
.text-input:disabled {
-fx-text-fill: TEXT_FILL_SECONDARY;
-fx-background-color: CONTROL_BORDER_DISABLED, CONTROL_BG_DISABLED;
}
.text-area > .scroll-pane > .scroll-bar {
-fx-padding: 2px;
}
.text-area .content {
-fx-padding: 0.2em 0.5em 0.2em 0.5em;
-fx-cursor: text;
-fx-text-fill: TEXT_FILL;
-fx-highlight-fill: PRIMARY_BG;
-fx-prompt-text-fill: TEXT_FILL_SECONDARY;
-fx-background-color: null;
}
/*******************************************************************************
* *
* Buttons *
@@ -776,3 +817,31 @@
.progress-indicator:indeterminate .segment11 {
-fx-shape:"m 14.321262,6.5816808 c -0.824944,0.3797564 -0.10368,1.8484772 0.718513,1.3544717 L 18.786514,5.9486042 C 19.644992,5.4932031 18.92648,4.1387308 18.068001,4.5941315 z";
}
/*******************************************************************************
* *
* ProgressBar *
* *
******************************************************************************/
.progress-bar {
-fx-indeterminate-bar-length: 100;
-fx-indeterminate-bar-escape: true;
-fx-indeterminate-bar-flip: true;
-fx-indeterminate-bar-animation-time: 2;
}
.progress-bar > .bar {
-fx-background-color: CONTROL_PRIMARY_BG_NORMAL;
-fx-background-radius: 4px;
-fx-padding: 0.5em;
}
.progress-bar:indeterminate > .bar {
-fx-background-color: linear-gradient(to left, transparent, CONTROL_PRIMARY_BG_NORMAL);
}
.progress-bar > .track {
-fx-background-color: PROGRESS_BAR_BG;
-fx-background-radius: 4px;
}

View File

@@ -16,6 +16,10 @@
src: url('opensans-bold.ttf');
}
@font-face {
src: url('dosis-bold.ttf');
}
/*******************************************************************************
* *
* Root Styling & Colors *
@@ -76,6 +80,7 @@
INDICATOR_BG: RED_5;
PROGRESS_INDICATOR_BEGIN: GRAY_2;
PROGRESS_INDICATOR_END: GRAY_4;
PROGRESS_BAR_BG: GRAY_8;
PASSWORD_STRENGTH_INDICATOR_BG: GRAY_5;
PASSWORD_STRENGTH_INDICATOR_BG_STRENGTH_0: RED_5;
PASSWORD_STRENGTH_INDICATOR_BG_STRENGTH_1: ORANGE_5;
@@ -460,6 +465,42 @@
-fx-padding: 4px 6px 4px 0;
}
/*******************************************************************************
* *
* Text Areas *
* *
******************************************************************************/
.text-area {
-fx-cursor: default;
-fx-background-color: CONTROL_BORDER_NORMAL, CONTROL_BG_NORMAL;
-fx-background-insets: 0, 1px;
-fx-background-radius: 4px;
-fx-padding: 0;
}
.text-input:focused {
-fx-background-color: CONTROL_BORDER_FOCUSED, CONTROL_BG_NORMAL;
}
.text-input:disabled {
-fx-text-fill: TEXT_FILL_SECONDARY;
-fx-background-color: CONTROL_BORDER_DISABLED, CONTROL_BG_DISABLED;
}
.text-area > .scroll-pane > .scroll-bar {
-fx-padding: 2px;
}
.text-area .content {
-fx-padding: 0.2em 0.5em 0.2em 0.5em;
-fx-cursor: text;
-fx-text-fill: TEXT_FILL;
-fx-highlight-fill: PRIMARY_BG;
-fx-prompt-text-fill: TEXT_FILL_SECONDARY;
-fx-background-color: null;
}
/*******************************************************************************
* *
* Buttons *
@@ -776,3 +817,31 @@
.progress-indicator:indeterminate .segment11 {
-fx-shape:"m 14.321262,6.5816808 c -0.824944,0.3797564 -0.10368,1.8484772 0.718513,1.3544717 L 18.786514,5.9486042 C 19.644992,5.4932031 18.92648,4.1387308 18.068001,4.5941315 z";
}
/*******************************************************************************
* *
* ProgressBar *
* *
******************************************************************************/
.progress-bar {
-fx-indeterminate-bar-length: 100;
-fx-indeterminate-bar-escape: true;
-fx-indeterminate-bar-flip: true;
-fx-indeterminate-bar-animation-time: 2;
}
.progress-bar > .bar {
-fx-background-color: CONTROL_PRIMARY_BG_NORMAL;
-fx-background-radius: 4px;
-fx-padding: 0.5em;
}
.progress-bar:indeterminate > .bar {
-fx-background-color: linear-gradient(to left, transparent, CONTROL_PRIMARY_BG_NORMAL);
}
.progress-bar > .track {
-fx-background-color: PROGRESS_BAR_BG;
-fx-background-radius: 4px;
}

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Circle?>
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<?import org.cryptomator.ui.controls.FormattedLabel?>
<VBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="org.cryptomator.ui.addvaultwizard.AddVaultFailureExisitingController"
minWidth="400"
maxWidth="400"
minHeight="145"
spacing="12">
<padding>
<Insets topRightBottomLeft="12"/>
</padding>
<children>
<HBox spacing="12" alignment="CENTER_LEFT" VBox.vgrow="ALWAYS">
<StackPane alignment="CENTER" HBox.hgrow="NEVER">
<Circle styleClass="glyph-icon-primary" radius="24"/>
<FontAwesome5IconView styleClass="glyph-icon-white" glyph="EXCLAMATION" glyphSize="24"/>
</StackPane>
<FormattedLabel format="%addvaultwizard.existing.error" arg1="${controller.vaultName}" wrapText="true"/>
</HBox>
<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
<ButtonBar buttonMinWidth="120" buttonOrder="B+C">
<buttons>
<Button text="%generic.button.back" ButtonBar.buttonData="BACK_PREVIOUS" onAction="#back"/>
<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" defaultButton="true" cancelButton="true" onAction="#close"/>
</buttons>
</ButtonBar>
</VBox>
</children>
</VBox>

View File

@@ -10,9 +10,8 @@
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.VBox?>
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<?import org.cryptomator.ui.controls.PasswordStrengthIndicator?>
<?import org.cryptomator.ui.controls.SecurePasswordField?>
<?import org.cryptomator.ui.controls.NiceSecurePasswordField?>
<?import org.cryptomator.ui.controls.PasswordStrengthIndicator?>
<VBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="org.cryptomator.ui.addvaultwizard.CreateNewVaultPasswordController"
@@ -41,7 +40,6 @@
<Label fx:id="passwordMatchLabel" styleClass="label-secondary" labelFor="$reenterField"/>
</HBox>
</VBox>
<CheckBox fx:id="finalConfirmationCheckbox" text="%addvaultwizard.new.finalConfirmation" wrapText="true"/>
<Region VBox.vgrow="ALWAYS"/>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.VBox?>
<VBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="org.cryptomator.ui.addvaultwizard.CreateNewVaultRecoveryKeyController"
prefWidth="400"
prefHeight="400"
spacing="12"
alignment="CENTER_LEFT">
<padding>
<Insets topRightBottomLeft="24"/>
</padding>
<children>
<Region VBox.vgrow="ALWAYS"/>
<Label text="%addvaultwizard.new.recoveryKeyInstruction" wrapText="true"/>
<TextArea editable="false" text="${controller.recoveryKey}" wrapText="true"/>
<CheckBox fx:id="finalConfirmationCheckbox" text="%addvaultwizard.new.recoveryKeySavedCheckbox" wrapText="true"/>
<Region VBox.vgrow="ALWAYS"/>
<ButtonBar buttonMinWidth="120" buttonOrder="+X">
<buttons>
<Button text="%generic.button.next" ButtonBar.buttonData="NEXT_FORWARD" onAction="#next" defaultButton="true" disable="${!finalConfirmationCheckbox.selected}"/>
</buttons>
</ButtonBar>
</children>
</VBox>

View File

@@ -3,6 +3,7 @@
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.ProgressBar?>
<?import javafx.scene.control.ProgressIndicator?>
<?import javafx.scene.layout.VBox?>
<?import org.cryptomator.ui.controls.FormattedLabel?>
@@ -23,6 +24,8 @@
<NiceSecurePasswordField fx:id="passwordField"/>
</VBox>
<ProgressBar progress="${controller.migrationProgress}" prefWidth="Infinity" visible="${controller.vault.processing}"/>
<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
<ButtonBar buttonMinWidth="120" buttonOrder="B+X">
<buttons>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import org.cryptomator.ui.controls.FormattedLabel?>
<?import org.cryptomator.ui.controls.NiceSecurePasswordField?>
<VBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="org.cryptomator.ui.recoverykey.RecoveryKeyCreationController"
minWidth="400"
maxWidth="400"
minHeight="145"
spacing="12"
alignment="TOP_CENTER">
<padding>
<Insets topRightBottomLeft="12"/>
</padding>
<children>
<VBox spacing="6">
<FormattedLabel format="%recoveryKey.enterPassword.prompt" arg1="${controller.vault.displayableName}" wrapText="true"/>
<NiceSecurePasswordField fx:id="passwordField" HBox.hgrow="ALWAYS"/>
</VBox>
<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
<ButtonBar buttonMinWidth="120" buttonOrder="C+X">
<buttons>
<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#close" />
<Button text="%generic.button.next" ButtonBar.buttonData="NEXT_FORWARD" defaultButton="true" onAction="#createRecoveryKey" disable="${passwordField.text.empty}"/>
</buttons>
</ButtonBar>
</VBox>
</children>
</VBox>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Circle?>
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<?import org.cryptomator.ui.controls.FormattedLabel?>
<VBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="org.cryptomator.ui.recoverykey.RecoveryKeyDisplayController"
minWidth="400"
maxWidth="400"
minHeight="145"
maxHeight="180"
spacing="12"
alignment="TOP_CENTER">
<padding>
<Insets topRightBottomLeft="12"/>
</padding>
<children>
<HBox spacing="12" alignment="CENTER_LEFT" VBox.vgrow="ALWAYS">
<StackPane alignment="CENTER" HBox.hgrow="NEVER">
<Circle styleClass="glyph-icon-primary" radius="24"/>
<FontAwesome5IconView styleClass="glyph-icon-white" glyph="CHECK" glyphSize="24"/>
</StackPane>
<VBox spacing="6" HBox.hgrow="ALWAYS">
<FormattedLabel format="%recoveryKey.display.message" arg1="${controller.vault.displayableName}" wrapText="true" VBox.vgrow="NEVER"/>
<TextArea editable="false" text="${controller.recoveryKey}" wrapText="true" VBox.vgrow="ALWAYS"/>
</VBox>
</HBox>
<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
<ButtonBar buttonMinWidth="120" buttonOrder="+C">
<buttons>
<Button text="%generic.button.done" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#close"/>
</buttons>
</ButtonBar>
</VBox>
</children>
</VBox>

View File

@@ -2,7 +2,6 @@
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.VBox?>
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
<?import javafx.scene.control.Label?>
<VBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="org.cryptomator.ui.mainwindow.VaultDetailNeedsMigrationController"
@@ -12,9 +11,7 @@
<Insets topRightBottomLeft="24"/>
</padding>
<children>
<!-- TODO -->
<Label text="Migration disabled during Alpha"/>
<Button styleClass="button-large" text="TODO Upgrade Vault" minWidth="120" onAction="#showVaultMigrator" disable="true">
<Button styleClass="button-large" text="TODO Upgrade Vault" minWidth="120" onAction="#showVaultMigrator">
<graphic>
<FontAwesome5IconView glyph="FILE_IMPORT" glyphSize="15"/>
</graphic>

View File

@@ -32,7 +32,7 @@
<Arc styleClass="onboarding-overlay-arc" AnchorPane.bottomAnchor="5" type="OPEN" centerX="-10" centerY="0" radiusY="100" radiusX="60" startAngle="0" length="-60" strokeWidth="1"/>
</AnchorPane>
</StackPane>
<Button styleClass="toolbar-button" text="%main.vaultlist.addVaultBtn" onAction="#didClickAddVault" alignment="BASELINE_CENTER" maxWidth="Infinity" mnemonicParsing="false">
<Button styleClass="toolbar-button" text="%main.vaultlist.addVaultBtn" onAction="#didClickAddVault" alignment="BASELINE_CENTER" maxWidth="Infinity">
<graphic>
<FontAwesome5IconView glyph="PLUS"/>
</graphic>

View File

@@ -12,5 +12,6 @@
</padding>
<children>
<Button text="%vaultOptions.general.changePasswordBtn" onAction="#changePassword"/>
<Button text="%vaultOptions.general.showRecoveryKeyBtn" onAction="#showRecoveryKey"/>
</children>
</VBox>

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,6 @@
# Locale Specific CSS files such as CJK, RTL,...
additionalStyleSheets=
# Generics
## Button
generic.button.apply=Apply
@@ -21,8 +24,10 @@ addvaultwizard.title=Add Vault
addvaultwizard.welcome.newButton=Create New Vault
addvaultwizard.welcome.existingButton=Open Existing Vault
## New
### Name
addvaultwizard.new.nameInstruction=Choose a name for the vault
addvaultwizard.new.namePrompt=Vault Name
### Location
addvaultwizard.new.locationInstruction=Where should Cryptomator store the encrypted files of your vault?
addvaultwizard.new.locationLabel=Storage location
addvaultwizard.new.locationPrompt=
@@ -32,11 +37,15 @@ addvaultwizard.new.directoryPickerTitle=Select Directory
addvaultwizard.new.enterPassword=Enter a password for the vault
addvaultwizard.new.fileAlreadyExists=Vault can not be created at this path because some object already exists.
addvaultwizard.new.invalidName=Invalid vault name. Please consider a regular directory name.
addvaultwizard.new.ioException=Selected directory failed a basic test. Make sure to have the appropiate access rights and nothing interferes with Cryptomator.
### Password
addvaultwizard.new.reenterPassword=Confirm the password
addvaultwizard.new.passwordsMatch=Passwords match!
addvaultwizard.new.passwordsDoNotMatch=Passwords do not match
addvaultwizard.new.finalConfirmation=I understand that I will not be able to recover my data if I forget my password
addvaultwizard.new.createVaultBtn=Create Vault
addvaultwizard.new.recoveryKeyInstruction=This is your recovery key. Keep it safe, it is your only chance to recover your data if you lose your password.
addvaultwizard.new.recoveryKeySavedCheckbox=Yes, I've made a secure backup of this recovery key
### Information
addvault.new.readme.storageLocation.fileName=WHAT IS THIS DIRECTORY.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ VAULT FILES ⚠️
addvault.new.readme.storageLocation.2=This is your vault's storage location. {\\b DO NOT} alter any files within this directory.
@@ -50,6 +59,7 @@ addvault.new.readme.accessLocation.3=Feel free to remove this file.
addvaultwizard.existing.instruction=Choose the "masterkey.cryptomator" file of your existing vault.
addvaultwizard.existing.chooseBtn=Choose…
addvaultwizard.existing.filePickerTitle=Select Masterkey File
addvaultwizard.existing.error=Unable to add vault "%s": Not a valid vault. Please look into the log for more information.
## 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
@@ -142,11 +152,17 @@ wrongFileAlert.information=You have tried to add a file or folder that does not
# Vault Options
vaultOptions.general=General
vaultOptions.general.changePasswordBtn=Change Password
vaultOptions.general.showRecoveryKeyBtn=Display Recovery Key
vaultOptions.mount=Mounting
vaultOptions.mount.readonly=Read-Only
vaultOptions.mount.driveName=Drive Name
vaultOptions.mount.customMountFlags=Custom Mount Flags
# Recovery Key
recoveryKey.title=Recovery Key
recoveryKey.enterPassword.prompt=Enter your password to show the recovery key for "%s":
recoveryKey.display.message=Recovery Key for "%s":
# Misc
passwordStrength.messageLabel.0=Very weak
passwordStrength.messageLabel.1=Weak

View File

@@ -0,0 +1,166 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Použít
generic.button.back=Zpět
generic.button.cancel=Zrušit
generic.button.change=Změnit
generic.button.done=Hotovo
generic.button.next=Další
# Tray Menu
traymenu.showMainWindow=Zobrazit
traymenu.showPreferencesWindow=Nastavení
traymenu.quitApplication=Ukončit
traymenu.vault.unlock=Odemknout
traymenu.vault.lock=Zamknout
traymenu.vault.reveal=Zobrazit
# Add Vault Wizard
addvaultwizard.title=Přidat trezor
## Welcome
addvaultwizard.welcome.newButton=Vytvořit nový trezor
addvaultwizard.welcome.existingButton=Otevřít existující trezor
## New
### Name
addvaultwizard.new.nameInstruction=Zvolte jméno trezoru
addvaultwizard.new.namePrompt=Jméno trezoru
### Location
addvaultwizard.new.locationInstruction=Kde by měl Cryptomator ukládat šifrované soubory vašeho trezoru?
addvaultwizard.new.locationLabel=Umístění úložiště
addvaultwizard.new.locationPrompt=...
addvaultwizard.new.directoryPickerLabel=Vlastní umístění
addvaultwizard.new.directoryPickerButton=Vybrat...
addvaultwizard.new.directoryPickerTitle=Vyberte adresář
addvaultwizard.new.enterPassword=Zadejte heslo pro trezor
addvaultwizard.new.fileAlreadyExists=Trezor nemůže být vytvořen na tomto umístění, protože stejný objekt již existuje.
addvaultwizard.new.invalidName=Neplatné jméno trezoru. Prosím změňte jméno adresáře.
### Password
addvaultwizard.new.reenterPassword=Potvrďte heslo
addvaultwizard.new.passwordsMatch=Hesla se shodují!
addvaultwizard.new.passwordsDoNotMatch=Hesla se neshodují
addvaultwizard.new.createVaultBtn=Vytvořit trezor
### Information
addvault.new.readme.storageLocation.fileName=CO JE TOTO ZA ADRESÁŘ.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ OBSAH TREZORU ⚠️
addvault.new.readme.storageLocation.2=Toto je umístění vašeho trezoru. NEMĚŇTE žádné soubory uvnitř adresáře.
addvault.new.readme.storageLocation.3=Pokud chcete zašifrovat soubory pomocí Cryptomatoru, odemkněte trezor a použijte přidělený disk.
addvault.new.readme.storageLocation.4=Pokud potřebujete pomoc, zkuste %s.
addvault.new.readme.accessLocation.fileName=Vítej ve svém novém trezoru.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ ZAŠIFROVANÁ JEDNOTKA 🔐️
addvault.new.readme.accessLocation.2=Toto je přístup k vašemu trezoru. Všechny soubory přidané do této jednotky budou šifrovány pomocí Cryptomatoru. Pro přístup k této jednotce kdykoliv v budoucnu ji jednoduše opět odemkněte pomocí Cryptomatoru.
addvault.new.readme.accessLocation.3=Tento soubor můžete odstranit.
## Existing
addvaultwizard.existing.instruction=Vyberte soubor "masterkey.cryptomator" z vašeho stávajícího trezoru.
addvaultwizard.existing.chooseBtn=Vybrat...
addvaultwizard.existing.filePickerTitle=Vyberte Masterkey soubor
## 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.confirmBtn=Odstranit trezor
# Change Password
changepassword.title=Změnit heslo
changepassword.enterOldPassword=Zadejte současné heslo pro "%s"
changepassword.enterNewPassword=Zadejte nové heslo pro váš trezor
changepassword.reenterNewPassword=Potvrď nové heslo
changepassword.passwordsMatch=Hesla se shodují!
changepassword.passwordsDoNotMatch=Hesla se neshodují
changepassword.finalConfirmation=UPOZORNĚNÍ: Pokud heslo zapomenete/ztratíte, nenávratně příjdete o přístup ke svému obsahu!
# Forget Password
forgetPassword.title=Zapomenout heslo
forgetPassword.information=Toto smaže uložené heslo pro tento trezor.
forgetPassword.confirmBtn=Zapomenout heslo
# Unlock
unlock.title=Odemknout trezor
unlock.passwordPrompt=Zadejte heslo pro "%s":
unlock.savePassword=Uložit heslo
unlock.unlockBtn=Odemknout
## Success
unlock.success.message=Trezor "%s" byl úspěšně odemčen a nyní je dostupný.
unlock.success.revealBtn=Zobrazit trezor
# Migration
migration.title=Upgrade trezoru
## Start
migration.start.prompt=Váš trezor "%s" musí být aktualizován na nový formát.\nNež začnete, ujistěte se, že není žádná probíhající či čekající synchronizace na tomto trezoru.
migration.start.confirm=Ano, můj trezor je plně synchronizován.
## Run
migration.run.enterPassword=Zadejte heslo pro "%s"
migration.run.startMigrationBtn=Migrovat trezor
## Sucess
migration.success.nextStepsInstructions=Migrace "%s" byla úspěšná.\nNyní můžete svůj trezor odemknout.
migration.success.unlockNow=Odemknout nyní
# Preferences
preferences.title=Nastavení
## General
preferences.general=Obecné
preferences.general.theme=Vzhled
preferences.general.startHidden=Skrýt okno Cryptomatoru při spuštění
preferences.general.debugLogging=Ladicí režim
## Volume
preferences.volume=Virtuální jednotky
preferences.volume.type=Typ připojení
preferences.volume.webdav.port=WebDAV Port
preferences.volume.webdav.scheme=WebDAV schéma
## Updates
preferences.updates=Aktualizace
preferences.updates.currentVersion=Aktuální verze: %s
preferences.updates.autoUpdateCheck=Automaticky kontrolovat aktualizace
preferences.updates.checkNowBtn=Zkontrolovat nyní
preferences.updates.updateAvailable=Dostupná nová verze %s.
# Main Window
main.closeBtn.tooltip=Zavřít
main.preferencesBtn.tooltip=Nastavení
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klikněte sem pro přidání nového trezoru
main.vaultlist.contextMenu.remove=Odstranit trezor
main.vaultlist.addVaultBtn=Přidat trezor
## Vault Detail
main.vaultDetail.lockedStatus=UZAMKNUTO
main.vaultDetail.unlockedStatus=ODEMKNUTO
main.vaultDetail.unlockBtn=Odemknout
main.vaultDetail.optionsBtn=Možnosti trezoru
main.vaultDetail.accessLocation=Obsah vašeho trezoru je dostupný:
main.vaultDetail.revealBtn=Zobrazit jednotku
main.vaultDetail.lockBtn=Zamknout
main.vaultDetail.bytesPerSecondRead=přečteno:
main.vaultDetail.bytesPerSecondWritten=zapsáno:
main.vaultDetail.throughput.idle=nečinný
main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
# Wrong File Alert
wrongFileAlert.title=neznámý soubor
wrongFileAlert.btn=OK
wrongFileAlert.information=Zkoušíte přidat soubor či adresář, který zřejmě není trezorem Cryptomatoru. Pro zašifrování vašich dat vytvořte a odemkněte trezor.
# Vault Options
vaultOptions.general=Obecné
vaultOptions.general.changePasswordBtn=Změnit heslo
vaultOptions.mount=Připojení
vaultOptions.mount.readonly=Pouze pro čtení
vaultOptions.mount.driveName=Jméno jednotky
vaultOptions.mount.customMountFlags=Vlastní parametry
# Recovery Key
# Misc
passwordStrength.messageLabel.0=velmi slabé
passwordStrength.messageLabel.1=slabé
passwordStrength.messageLabel.2=dostatečné
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

View File

@@ -1,3 +1,5 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Übernehmen
@@ -21,22 +23,28 @@ addvaultwizard.title=Tresor hinzufügen
addvaultwizard.welcome.newButton=Neuen Tresor erstellen
addvaultwizard.welcome.existingButton=Existierenden Tresor öffnen
## New
### Name
addvaultwizard.new.nameInstruction=Wähle einen Namen für den Tresor
addvaultwizard.new.namePrompt=Tresorname
### Location
addvaultwizard.new.locationInstruction=Wo soll Cryptomator die verschlüsselten Daten deines Tresors ablegen?
addvaultwizard.new.locationLabel=Speicherort
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=Eigenen Ort wählen…
addvaultwizard.new.directoryPickerLabel=Eigener Ort
addvaultwizard.new.directoryPickerButton=Durchsuchen…
addvaultwizard.new.directoryPickerTitle=Wähle ein Verzeichnis
addvaultwizard.new.enterPassword=Vergib ein Passwort für den Tresor
addvaultwizard.new.fileAlreadyExists=Der Tresor konnte nicht erstellt werden, da der Speicherort bereits belegt ist.
addvaultwizard.new.invalidName=Ungültiger Tresorname. Tresore müssen wie Verzeichnisse benannt werden.
addvaultwizard.new.ioException=Auf das ausgewählte Verzeichnis kann nicht zugegriffen werden. Prüfe die Zugriffsrechte und stelle sicher, dass Cryptomator nicht von einer anderen Anwendung blockiert wird.
### Password
addvaultwizard.new.reenterPassword=Bestätige das Passwort
addvaultwizard.new.passwordsMatch=Passwörter stimmen überein!
addvaultwizard.new.passwordsDoNotMatch=Passwörter stimmen nicht überein
addvaultwizard.new.finalConfirmation=Mir ist bewusst, dass ich den Tresor ohne das Passwort NICHT mehr öffnen kann.
addvaultwizard.new.passwordsDoNotMatch=Passwörter unterscheiden sich
addvaultwizard.new.createVaultBtn=Tresor erstellen
addvaultwizard.new.recoveryKeyInstruction=Dies ist dein Wiederherstellungsschlüssel. Bewahre ihn sicher auf. Ohne ihn gibt es keine Möglichkeit deine Daten wiederherzustellen, wenn du dein Kennwort verloren hast.
addvaultwizard.new.recoveryKeySavedCheckbox=Ja, ich habe eine Datensicherung diese Wiederherstellungsschlüssels durchgeführt
### Information
addvault.new.readme.storageLocation.fileName=WAS BEDEUTET DIESER ORDNER.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ TRESORDATEIEN ⚠️
addvault.new.readme.storageLocation.2=Dies ist der Speicherort deines Tresor. Ändere {\\b KEINE} Dateien in diesem Verzeichnis.
@@ -47,9 +55,10 @@ addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ VERSCHLÜSSELTES LAUFWE
addvault.new.readme.accessLocation.2=Dies ist dein Tresorlaufwerk. Alle Dateien, die zu diesem Laufwerk hinzugefügt werden, werden mit Cryptomator verschlüsselt. Um zu einem späteren Zeitpunkt auf dieses Laufwerk zuzugreifen, entsperre es einfach wieder aus der Cryptomator-Anwendung heraus.
addvault.new.readme.accessLocation.3=Diese Datei kannst du löschen.
## Existing
addvaultwizard.existing.instruction=Bitte wähle die Datei "masterkey.cryptomator" des exsitierenden Tresors aus.
addvaultwizard.existing.chooseBtn=Dursuchen…
addvaultwizard.existing.instruction=Bitte wähle die Datei "masterkey.cryptomator" des existierenden Tresors aus.
addvaultwizard.existing.chooseBtn=Durchsuchen…
addvaultwizard.existing.filePickerTitle=Masterkey-Datei auswählen
addvaultwizard.existing.error=Der Tresor „%s“ ist kein gültiger Tresor und kann nicht hinzugefügt werden. Weitere Informationen findest du im Log.
## Success
addvaultwizard.success.nextStepsInstructions=Tresor "%s" hinzugefügt.\nEntsperre diesen Tresor jetzt, um auf die Inhalte zugreifen oder welche hinzufügen zu können. Andernfalls entsperre diesen Tresor zu einem späteren Zeitpunkt.
addvaultwizard.success.unlockNow=Jetzt entsperren
@@ -61,27 +70,44 @@ removeVault.confirmBtn=Tresor entfernen
# Change Password
changepassword.title=Password ändern
changepassword.enterOldPassword=Gib dein altes Passwort ein
changepassword.enterOldPassword=Gib dein derzeitiges Passwort für "%s" ein
changepassword.enterNewPassword=Vergib ein neues Passwort
changepassword.reenterNewPassword=Bestätige das neue Passwort
changepassword.passwordsMatch=Passwörter stimmen überein!
changepassword.passwordsDoNotMatch=Passwörter stimmen nicht überein
changepassword.finalConfirmation=Mir ist bewusst, dass ich den Tresor ohne das Passwort NICHT mehr öffnen kann.
changepassword.finalConfirmation=Mir ist bewusst, dass ich den Tresor ohne das Passwort NICHT mehr öffnen kann
# Forget Password
forgetPassword.title=Passwort vergessen
forgetPassword.information=Dies löscht das gespeicherte Passwort dieses Tresors aus dem Schlüsselbund deines Betriebssystems.
forgetPassword.confirmBtn=Passwort vergessen
# Unlock
unlock.title=Tresor öffnen
unlock.passwordPrompt=Gib das Passwort für den Tresor "%s" ein
unlock.passwordPrompt=Gib das Passwort für "%s" ein:
unlock.savePassword=Passwort speichern
unlock.unlockBtn=Entsperren
## Success
unlock.success.message="%s" erfolgreich ensperrt!
unlock.success.message="%s" erfolgreich entsperrt!
unlock.success.revealBtn=Tresor anzeigen
# Migration
migration.title=Tresor aktualisieren
## Start
migration.start.prompt=Dein Tresor "%s" muss auf ein neueres Format aktualisiert werden. Stell bitte sicher, dass dieser Tresor vollständig synchronisiert ist.
migration.start.confirm=Ja, mein Tresor ist vollständig synchronisiert
## Run
migration.run.enterPassword=Gib das Passwort für "%s" ein
migration.run.startMigrationBtn=Tresor migrieren
## Sucess
migration.success.nextStepsInstructions="%s" erfolgreich migriert.\nDu kannst den Tresor jetzt entsperren.
migration.success.unlockNow=Jetzt entsperren
# Preferences
preferences.title=Einstellungen
## General
preferences.general=Allgemein
preferences.general.theme=Look & Feel
preferences.general.theme=Erscheinungsbild
preferences.general.startHidden=Cryptomator im Hintergrund starten
preferences.general.debugLogging=Debug-Protokollierung
## Volume
@@ -101,7 +127,6 @@ main.closeBtn.tooltip=Schließen
main.preferencesBtn.tooltip=Einstellungen
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klicke hier, um einen Tresor hinzuzufügen
main.vaultlist.contextMenu.add=Tresor hinzufügen
main.vaultlist.contextMenu.remove=Tresor entfernen
main.vaultlist.addVaultBtn=Tresor hinzufügen
## Vault Detail
@@ -114,18 +139,29 @@ main.vaultDetail.revealBtn=Laufwerk anzeigen
main.vaultDetail.lockBtn=Sperren
main.vaultDetail.bytesPerSecondRead=gelesen:
main.vaultDetail.bytesPerSecondWritten=geschrieben:
main.vaultDetail.throughput.idle=idle
main.vaultDetail.throughput.idle=Leerlauf
main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
# Wrong File Alert
wrongFileAlert.title=Unbekannte Datei
wrongFileAlert.btn=OK
wrongFileAlert.information=Du hast versucht, eine Datei oder einen Ordner hinzuzufügen, der scheinbar kein Cryptomator-Tresor ist. Um Dateien zu verschlüsseln, erstelle und entsperre einen Tresor.
# Vault Options
vaultOptions.general=Allgemein
vaultOptions.general.changePasswordBtn=Passwort ändern
vaultOptions.general.showRecoveryKeyBtn=Wiederherstellungsschlüssel anzeigen
vaultOptions.mount=Laufwerk
vaultOptions.mount.readonly=Schreibgeschützt
vaultOptions.mount.driveName=Laufwerksname
vaultOptions.mount.customMountFlags=Benutzerdefinierte Mount-Flags
# Recovery Key
recoveryKey.title=Wiederherstellungsschlüssel
recoveryKey.enterPassword.prompt=Gib Dein Kennwort ein um den Wiederherstellungsschlüssel für „%s“ anzuzeigen:
recoveryKey.display.message=Wiederherstellungsschlüssel für „%s“:
# Misc
passwordStrength.messageLabel.0=Sehr schwach
passwordStrength.messageLabel.1=Schwach

View File

@@ -0,0 +1,49 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
# Tray Menu
# Add Vault Wizard
## Welcome
## New
### Name
### Location
### Password
### Information
## Existing
## Success
# Remove Vault
# Change Password
# Forget Password
# Unlock
## Success
# Migration
## Start
## Run
## Sucess
# Preferences
## General
## Volume
## Updates
# Main Window
## Vault List
## Vault Detail
# Wrong File Alert
# Vault Options
# Recovery Key
# Misc
# Quit

View File

@@ -0,0 +1,174 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Aplicar
generic.button.back=Volver
generic.button.cancel=Cancelar
generic.button.change=Modificar
generic.button.done=Hecho
generic.button.next=Continuar
# Tray Menu
traymenu.showMainWindow=Mostrar
traymenu.showPreferencesWindow=Preferencias
traymenu.quitApplication=Salir
traymenu.vault.unlock=Desbloquear
traymenu.vault.lock=Bloquear
traymenu.vault.reveal=Revelar
# Add Vault Wizard
addvaultwizard.title=Añadir bóveda
## Welcome
addvaultwizard.welcome.newButton=Crear bóveda nueva
addvaultwizard.welcome.existingButton=Abrir bóveda existente
## New
### Name
addvaultwizard.new.nameInstruction=Elegir un nombre para la bóveda
addvaultwizard.new.namePrompt=Nombre de la bóveda
### Location
addvaultwizard.new.locationInstruction=¿Dónde se deben almacenar los archivos cifrados de la bóveda?
addvaultwizard.new.locationLabel=Lugar de almacenamiento
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=Ubicación personalizada
addvaultwizard.new.directoryPickerButton=Elegir…
addvaultwizard.new.directoryPickerTitle=Seleccionar directorio
addvaultwizard.new.enterPassword=Ingresar una contraseña para la bóveda
addvaultwizard.new.fileAlreadyExists=La bóveda no puede crearse en esta ruta porque ya existe un objeto.
addvaultwizard.new.invalidName=Nombre de bóveda inválido. Considere un nombre de directorio regular.
addvaultwizard.new.ioException=El directorio seleccionado falló una prueba básica. Asegurarse de tener los derechos de acceso apropiados y que nada interfiere con Cryptomator.
### Password
addvaultwizard.new.reenterPassword=Confirmar la contraseña
addvaultwizard.new.passwordsMatch=¡Las contraseñas coinciden!
addvaultwizard.new.passwordsDoNotMatch=Las contraseñas no coinciden
addvaultwizard.new.createVaultBtn=Crear bóveda
addvaultwizard.new.recoveryKeyInstruction=Esta es la clave de recuperación. Se debe mantener segura, es la única oportunidad de recuperar los datos si se pierde la contraseña.
addvaultwizard.new.recoveryKeySavedCheckbox=Sí, he hecho una copia de seguridad de esta clave de recuperación
### Information
addvault.new.readme.storageLocation.fileName=QUÉ ES ESTE DIRECTORIO.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ ARCHIVOS DE LA BÓVEDA ⚠️
addvault.new.readme.storageLocation.2=Esta es la ubicación del almacenamiento de su bóveda. {\\b NO} altere ningún archivo dentro de este directorio.
addvault.new.readme.storageLocation.3=Si se desea cifrar archivos usando Cryptomator, desbloquear la bóveda y utilizar la unidad proporcionada.
addvault.new.readme.storageLocation.4=Si se necesita ayuda, probar %s.
addvault.new.readme.accessLocation.fileName=BIENVENIDO A SU BÓVEDA.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ VOLUMEN CIFRADO 🔐️
addvault.new.readme.accessLocation.2=Esta es el lugar de acceso de la bóveda. Cualquier archivo añadido a este volumen será cifrado por Cryptomator. Para acceder a este volumen en otro momento, es necesario desbloquearlo otra vez desde la aplicación de Cryptomator.
addvault.new.readme.accessLocation.3=No dude en eliminar este archivo.
## Existing
addvaultwizard.existing.instruction=Elegir el archivo "masterkey.cryptomator" de la bóveda existente.
addvaultwizard.existing.chooseBtn=Elegir…
addvaultwizard.existing.filePickerTitle=Seleccionar archivo Masterkey
addvaultwizard.existing.error=No se puede añadir la bóveda "%s": No es una bóveda válida. Verificar el registro para más información.
## 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.confirmBtn=Eliminar bóveda
# Change Password
changepassword.title=Cambiar contraseña
changepassword.enterOldPassword=Ingresar la contraseña actual para "%s"
changepassword.enterNewPassword=Ingresar una contraseña nueva para la bóveda
changepassword.reenterNewPassword=Confirmar la contraseña nueva
changepassword.passwordsMatch=¡Las contraseñas coinciden!
changepassword.passwordsDoNotMatch=Las contraseñas no coinciden
changepassword.finalConfirmation=Entiendo que no podré recuperar mis datos si olvido mi contraseña
# 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
# Unlock
unlock.title=Desbloquear bóveda
unlock.passwordPrompt=Ingresar contraseña para "%s":
unlock.savePassword=Guardar contraseña
unlock.unlockBtn=Desbloquear
## Success
unlock.success.message=¡"%s" se desbloqueó con éxito! La bóveda ya es accesible.
unlock.success.revealBtn=Revelar bóveda
# Migration
migration.title=Mejorar bóveda
## Start
migration.start.prompt=La bóveda "%s" necesita ser actualizada a un formato más nuevo. Antes de continuar, asegurarse de que no haya ninguna sincronización pendiente afectando esta bóveda.
migration.start.confirm=Sí, mi bóveda está sincronizada
## Run
migration.run.enterPassword=Ingresar la contraseña para "%s"
migration.run.startMigrationBtn=Migrar bóveda
## Sucess
migration.success.nextStepsInstructions="%s" se migró con éxito.\nYa se puede desbloquear la bóveda.
migration.success.unlockNow=Desbloquear ahora
# Preferences
preferences.title=Preferencias
## General
preferences.general=General
preferences.general.theme=Apariencia
preferences.general.startHidden=Ocultar ventana al iniciar Cryptomator
preferences.general.debugLogging=Habilitar registro de depuración
## Volume
preferences.volume=Unidad virtual
preferences.volume.type=Tipo de volumen
preferences.volume.webdav.port=Puerto WebDAV
preferences.volume.webdav.scheme=Esquema WebDAV
## Updates
preferences.updates=Actualizaciones
preferences.updates.currentVersion=Versión actual: %s
preferences.updates.autoUpdateCheck=Buscar actualizaciones automáticamente
preferences.updates.checkNowBtn=Buscar ahora
preferences.updates.updateAvailable=Actualización a la versión %s disponible.
# Main Window
main.closeBtn.tooltip=Cerrar
main.preferencesBtn.tooltip=Preferencias
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Hacer clic aquí para añadir una bóveda
main.vaultlist.contextMenu.remove=Eliminar bóveda
main.vaultlist.addVaultBtn=Añadir bóveda
## Vault Detail
main.vaultDetail.lockedStatus=BLOQUEADO
main.vaultDetail.unlockedStatus=DESBLOQUEADO
main.vaultDetail.unlockBtn=Desbloquear
main.vaultDetail.optionsBtn=Opciones de la bóveda
main.vaultDetail.accessLocation=El contenido de la bóveda es accesible aquí:
main.vaultDetail.revealBtn=Revelar unidad
main.vaultDetail.lockBtn=Bloquear
main.vaultDetail.bytesPerSecondRead=leído:
main.vaultDetail.bytesPerSecondWritten=escrito:
main.vaultDetail.throughput.idle=inactivo
main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
# Wrong File Alert
wrongFileAlert.title=Archivo desconocido
wrongFileAlert.btn=Ok
wrongFileAlert.information=Se ha intentado añadir un archivo o carpeta que no parece ser una bóveda de Cryptomator. Para cifrar los datos, crear y desbloquear una bóveda.
# Vault Options
vaultOptions.general=General
vaultOptions.general.changePasswordBtn=Cambiar contraseña
vaultOptions.general.showRecoveryKeyBtn=Mostrar la clave de recuperación
vaultOptions.mount=Montaje
vaultOptions.mount.readonly=Sólo lectura
vaultOptions.mount.driveName=Nombre de la unidad
vaultOptions.mount.customMountFlags=Opciones de montaje personalizadas
# 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=Clave de recuperación para "%s":
# Misc
passwordStrength.messageLabel.0=Muy débil
passwordStrength.messageLabel.1=Débil
passwordStrength.messageLabel.2=Aceptable
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

View File

@@ -0,0 +1,174 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Appliquer
generic.button.back=Précédent
generic.button.cancel=Annuler
generic.button.change=Modifier
generic.button.done=Terminé
generic.button.next=Suivant
# Tray Menu
traymenu.showMainWindow=Montrer
traymenu.showPreferencesWindow=Préférences
traymenu.quitApplication=Quitter
traymenu.vault.unlock=Déverrouiller
traymenu.vault.lock=Verrouiller
traymenu.vault.reveal=Révéler
# Add Vault Wizard
addvaultwizard.title=Ajouter un coffre
## Welcome
addvaultwizard.welcome.newButton=Créer un nouveau coffre
addvaultwizard.welcome.existingButton=Ouvrir un coffre existant
## New
### Name
addvaultwizard.new.nameInstruction=Choisissez un nom pour le coffre
addvaultwizard.new.namePrompt=Nom du coffre
### Location
addvaultwizard.new.locationInstruction=Où Cryptomator doit-il stocker les fichiers chiffrés de votre coffre ?
addvaultwizard.new.locationLabel=Emplacement de stockage
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=Emplacement personnalisé
addvaultwizard.new.directoryPickerButton=Choisir...
addvaultwizard.new.directoryPickerTitle=Choisissez le répertoire
addvaultwizard.new.enterPassword=Saisissez un mot de passe pour le coffre
addvaultwizard.new.fileAlreadyExists=Le coffre ne peut pas être créé sur ce chemin car un objet existe déjà.
addvaultwizard.new.invalidName=Nom de coffre invalide. Préférez un nom de répertoire habituel.
addvaultwizard.new.ioException=Le répertoire sélectionné a échoué à un test basique. Assurez-vous d'avoir les droits d'accès appropriés et que rien n'interfère avec Cryptomator.
### Password
addvaultwizard.new.reenterPassword=Confirmez le mot de passe
addvaultwizard.new.passwordsMatch=Mots de passe identiques !
addvaultwizard.new.passwordsDoNotMatch=Les mots de passe ne correspondent pas
addvaultwizard.new.createVaultBtn=Créer un coffre
addvaultwizard.new.recoveryKeyInstruction=C'est votre clé de récupération. Gardez-la en sécurité, c'est votre seule chance de récupérer vos données si vous perdez votre mot de passe.
addvaultwizard.new.recoveryKeySavedCheckbox=Oui, j'ai fait une sauvegarde sécurisée de cette clé de récupération
### Information
addvault.new.readme.storageLocation.fileName=QUEL EST CE RÉPERTOIRE.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ FICHIERS DU COFFRE ⚠️
addvault.new.readme.storageLocation.2=Ceci est l'emplacement de stockage de votre coffre. {\\b NE PAS} modifier les fichiers dans ce répertoire.
addvault.new.readme.storageLocation.3=Si vous voulez chiffrer des fichiers en utilisant Cryptomator, déverrouillez le coffre et utilisez le lecteur fourni.
addvault.new.readme.storageLocation.4=Si vous avez besoin d'aide, essayez %s.
addvault.new.readme.accessLocation.fileName=BIENVENUE DANS VOTRE COFFRE.rft
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ VOLUME CHIFFRÉ 🔐️
addvault.new.readme.accessLocation.2=Ceci est l'emplacement d'accès à votre coffre. Tous les fichiers ajoutés à ce volume seront chiffrés par Cryptomator. Pour accéder à ce volume plus tard, il suffit de le déverrouiller de nouveau à partir de l'application Cryptomator.
addvault.new.readme.accessLocation.3=Vous pouvez supprimer ce fichier.
## Existing
addvaultwizard.existing.instruction=Selectionner le fichier "masterkey.cryptomator" de votre coffre existant.
addvaultwizard.existing.chooseBtn=Choisir...
addvaultwizard.existing.filePickerTitle=Sélectionner le fichier clef
addvaultwizard.existing.error=Impossible d'ajouter le coffre "%s" : le coffre nest pas valide. Veuillez consulter le journal pour plus d'informations.
## Success
addvaultwizard.success.nextStepsInstructions=Coffre “%s” ajouté.\nIl faudra déverrouiller ce coffre afin dy accéder ou dy ajouter du contenu. Cette action na pas à être effectuée immédiatement.
addvaultwizard.success.unlockNow=Déverouiller
# Remove Vault
removeVault.title=Supprimer le coffre
removeVault.information=Ceci ne fera que retirer ce coffre de Cryptomator. Vous pourrez lajouter à nouveau plus tard. Aucun fichier chiffré ne sera supprimé de votre disque dur.
removeVault.confirmBtn=Supprimer le coffre
# Change Password
changepassword.title=Modifier le mot de passe
changepassword.enterOldPassword=Entrez le mot de passe actuel pour "%s"
changepassword.enterNewPassword=Entrez un nouveau mot de passe pour votre coffre
changepassword.reenterNewPassword=Confirmez le nouveau mot de passe
changepassword.passwordsMatch=Mots de passe identiques !
changepassword.passwordsDoNotMatch=Les mots de passe ne correspondent pas
changepassword.finalConfirmation=Je comprends que je ne pourrai pas récupérer mes données si j'oublie mon mot de passe
# Forget Password
forgetPassword.title=Oublier le mot de passe
forgetPassword.information=Ceci supprimera le mot de passe enregistré pour ce coffre de votre chaîne de clés système.
forgetPassword.confirmBtn=Oublier le mot de passe
# Unlock
unlock.title=Déverrouiller le coffre
unlock.passwordPrompt=Entrez le mot de passe pour “%s” :
unlock.savePassword=Enregistrer le mot de passe
unlock.unlockBtn=Déverrouiller
## Success
unlock.success.message=“%s” déverrouillé ! Le contenu de votre coffre est maintenant accessible.
unlock.success.revealBtn=Révéler le coffre
# Migration
migration.title=Mettre à jour le coffre
## Start
migration.start.prompt=Le coffre “%s” doit être mis à jour. Assurez-vous quaucune synchronisation nest en cours sur ce coffre avant de continuer.
migration.start.confirm=Ce coffre est bien synchronisé
## Run
migration.run.enterPassword=Entrez le mot de passe pour %s
migration.run.startMigrationBtn=Migrer le coffre
## Sucess
migration.success.nextStepsInstructions=“%s” migré.\nVous pouvez à présent déverrouiller ce coffre.
migration.success.unlockNow=Déverouiller
# Preferences
preferences.title=Préférences
## General
preferences.general=Général
preferences.general.theme=Apparence
preferences.general.startHidden=Démarrer Cryptomator en mode caché
preferences.general.debugLogging=Activer les logs debug
## Volume
preferences.volume=Disque virtuel
preferences.volume.type=Type de volume
preferences.volume.webdav.port=port WebDav
preferences.volume.webdav.scheme=Schéma WebDAV
## Updates
preferences.updates=Mises à jour
preferences.updates.currentVersion=Version actuelle : “%s”
preferences.updates.autoUpdateCheck=Vérifier automatiquement lexistence de mise à jour
preferences.updates.checkNowBtn=Vérifier maintenant
preferences.updates.updateAvailable=Mise à jour “%s” disponible.
# Main Window
main.closeBtn.tooltip=Fermer
main.preferencesBtn.tooltip=Préférences
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Cliquez ici pour ajouter un coffre
main.vaultlist.contextMenu.remove=Supprimer le coffre
main.vaultlist.addVaultBtn=Ajouter un coffre
## Vault Detail
main.vaultDetail.lockedStatus=VERROUILLÉ
main.vaultDetail.unlockedStatus=DÉVERROUILLÉ
main.vaultDetail.unlockBtn=Déverrouiller
main.vaultDetail.optionsBtn=Option du coffre
main.vaultDetail.accessLocation=Le contenu de votre coffre est accessible ici :
main.vaultDetail.revealBtn=Révéler 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
# Wrong File Alert
wrongFileAlert.title=Fichier inconnu
wrongFileAlert.btn=Ok
wrongFileAlert.information=Vous avez essayé dajouter un fichier ou un dossier qui ne semble pas être un coffre Cryptomator. Pour chiffrer vos données, créez un coffre et déverrouillez-le.
# Vault Options
vaultOptions.general=Général
vaultOptions.general.changePasswordBtn=Modifier le mot de passe
vaultOptions.general.showRecoveryKeyBtn=Afficher la clé de récupération
vaultOptions.mount=Montage
vaultOptions.mount.readonly=Lecture seule
vaultOptions.mount.driveName=Nom du lecteur
vaultOptions.mount.customMountFlags=Drapeau de montage personnalisé
# 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=Clé de récupération pour "%s":
# Misc
passwordStrength.messageLabel.0=Très faible
passwordStrength.messageLabel.1=Faible
passwordStrength.messageLabel.2=Satisfaisant
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

View File

@@ -0,0 +1,49 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
# Tray Menu
# Add Vault Wizard
## Welcome
## New
### Name
### Location
### Password
### Information
## Existing
## Success
# Remove Vault
# Change Password
# Forget Password
# Unlock
## Success
# Migration
## Start
## Run
## Sucess
# Preferences
## General
## Volume
## Updates
# Main Window
## Vault List
## Vault Detail
# Wrong File Alert
# Vault Options
# Recovery Key
# Misc
# Quit

View File

@@ -0,0 +1,174 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Applica
generic.button.back=Indietro
generic.button.cancel=Annulla
generic.button.change=Modifica
generic.button.done=Fatto
generic.button.next=Avanti
# Tray Menu
traymenu.showMainWindow=Visualizza
traymenu.showPreferencesWindow=Impostazioni
traymenu.quitApplication=Esci
traymenu.vault.unlock=Sblocca
traymenu.vault.lock=Blocca
traymenu.vault.reveal=Mostra
# Add Vault Wizard
addvaultwizard.title=Aggiungi Cassaforte
## Welcome
addvaultwizard.welcome.newButton=Crea Nuova Cassaforte
addvaultwizard.welcome.existingButton=Apri Cassaforte Esistente
## New
### Name
addvaultwizard.new.nameInstruction=Scegli un nome per la tua cassaforte
addvaultwizard.new.namePrompt=Nome Cassaforte
### Location
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 cartella
addvaultwizard.new.enterPassword=Inserisci una password per la cassaforte
addvaultwizard.new.fileAlreadyExists=La cassaforte non può essere creata in questo percorso perché un oggetto esiste già.
addvaultwizard.new.invalidName=Nome della cassaforte non valido. Si prega di considerare un nome di directory regolare.
addvaultwizard.new.ioException=La cartella selezionata non ha avuto successo per un test di base. Assicurati di avere i diritti di accesso adeguati e che nulla interferisca con Cryptomator.
### Password
addvaultwizard.new.reenterPassword=Conferma Password
addvaultwizard.new.passwordsMatch=Le password corrispondono!
addvaultwizard.new.passwordsDoNotMatch=Le password non corrispondono
addvaultwizard.new.createVaultBtn=Crea Cassaforte
addvaultwizard.new.recoveryKeyInstruction=Questa è la tua chiave di recupero. Tienilo al sicuro, è la tua unica possibilità di recuperare i tuoi dati se perdi la password.
addvaultwizard.new.recoveryKeySavedCheckbox=Sì, ho fatto un backup sicuro di questa chiave di recupero
### Information
addvault.new.readme.storageLocation.fileName=CHE COSA È QUESTA DIRECTORY.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ FILE CASSAFORTE ⚠️
addvault.new.readme.storageLocation.2=Questa è la posizione di archiviazione della tua cassaforte. {\\b NON} modifica qualsiasi file all'interno di questa cartella.
addvault.new.readme.storageLocation.3=Se vuoi crittografare i file usando Cryptomator, sblocca la cassaforte e usa l'unità fornita.
addvault.new.readme.storageLocation.4=Se hai bisogno di aiuto, prova %s.
addvault.new.readme.accessLocation.fileName=BENVENUTO NELLA TUA CASSAFORTE.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ VOLUME CRIPTATO 🔐️
addvault.new.readme.accessLocation.2=Questa è la posizione di accesso del tuo caveau. Tutti i file aggiunti a questo volume verranno crittografati da Cryptomator. Per accedere a questo volume in un secondo momento, è sufficiente sbloccarlo nuovamente dall'applicazione Cryptomator.
addvault.new.readme.accessLocation.3=Sei libero di rimuovere questo file.
## Existing
addvaultwizard.existing.instruction=Scegliere il file "masterkey.cryptomator" del deposito esistente.
addvaultwizard.existing.chooseBtn=Scegli…
addvaultwizard.existing.filePickerTitle=Seleziona file Masterkey
addvaultwizard.existing.error=Impossibile aggiungere cassaforte "%s": Non è una cassaforte valida. Per favore, controlla il log per maggiori informazioni.
## Success
addvaultwizard.success.nextStepsInstructions=Aggiunta cassaforte"%s".\nÈ necessario sbloccare questa cassaforte per accedere o aggiungere contenuti. In alternativa puoi sbloccarla in qualsiasi momento successivo.
addvaultwizard.success.unlockNow=Sblocca adesso
# Remove Vault
removeVault.title=Rimuovi Cassaforte
removeVault.information=Questo farà dimenticare Cryptomator a questo vault. Puoi aggiungerlo di nuovo in seguito. Nessun file crittografato verrà eliminato dal tuo disco rigido.
removeVault.confirmBtn=Rimuovi Cassaforte
# Change Password
changepassword.title=Modifica password
changepassword.enterOldPassword=Inserisci la password attuale per "%s"
changepassword.enterNewPassword=Inserisci una nuova password per la tua cassaforte
changepassword.reenterNewPassword=Conferma la nuova password
changepassword.passwordsMatch=Le password corrispondono!
changepassword.passwordsDoNotMatch=Le password non corrispondono
changepassword.finalConfirmation=Ho capito che non potrò recuperare i miei dati se dimentico la mia password
# Forget Password
forgetPassword.title=Password dimenticata
forgetPassword.information=Questo cancellerà la password salvata di questa cassaforte dal tuo portachiavi di sistema.
forgetPassword.confirmBtn=Password dimenticata
# Unlock
unlock.title=Sblocca Cassaforte
unlock.passwordPrompt=Inserisci la password per "%s":
unlock.savePassword=Salva password
unlock.unlockBtn=Sblocca
## Success
unlock.success.message=Sbloccato "%s" con successo! La tua cassaforte è ora accessibile.
unlock.success.revealBtn=Rivela Cassaforte
# Migration
migration.title=Aggiorna Cassaforte
## Start
migration.start.prompt=La tua cassaforte "%s" deve essere aggiornata a un formato più recente. Prima di procedere, assicurati che non ci sia nessuna sincronizzazione in sospeso che influisca su questa cassaforte.
migration.start.confirm=Sì, la mia cassaforte è completamente sincronizzata
## Run
migration.run.enterPassword=Immettere la password per "%s"
migration.run.startMigrationBtn=Migra Cassaforte
## Sucess
migration.success.nextStepsInstructions=Migrato "%s" con successo.\nOra puoi sbloccare la tua cassaforte.
migration.success.unlockNow=Sblocca adesso
# Preferences
preferences.title=Impostazioni
## General
preferences.general=Generali
preferences.general.theme=Aspetto
preferences.general.startHidden=Nascondi la finestra all'avvio di Cryptomator
preferences.general.debugLogging=Abilita i registri di debug
## Volume
preferences.volume=Drive virtuale
preferences.volume.type=Tipo volume
preferences.volume.webdav.port=Porta WebDAV
preferences.volume.webdav.scheme=Schema WebDAV
## Updates
preferences.updates=Aggiornamenti
preferences.updates.currentVersion=Versione attuale %s
preferences.updates.autoUpdateCheck=Controlla automaticamente la presenza di aggiornamenti
preferences.updates.checkNowBtn=Controlla adesso
preferences.updates.updateAvailable=Disponibile aggiornamento alla versione %s.
# Main Window
main.closeBtn.tooltip=Chiudi
main.preferencesBtn.tooltip=Impostazioni
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Clicca qui per aggiungere una cassaforte
main.vaultlist.contextMenu.remove=Rimuovi Cassaforte
main.vaultlist.addVaultBtn=Aggiungi Cassaforte
## Vault Detail
main.vaultDetail.lockedStatus=BLOCCATO
main.vaultDetail.unlockedStatus=SBLOCCATO
main.vaultDetail.unlockBtn=Sblocca
main.vaultDetail.optionsBtn=Opzioni Cassaforte
main.vaultDetail.accessLocation=I contenuti della tua cassaforte sono accessibili qui:
main.vaultDetail.revealBtn=Visualizza disco
main.vaultDetail.lockBtn=Blocca
main.vaultDetail.bytesPerSecondRead=lettura:
main.vaultDetail.bytesPerSecondWritten=scrittura:
main.vaultDetail.throughput.idle=inattivo
main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
# Wrong File Alert
wrongFileAlert.title=File sconosciuto
wrongFileAlert.btn=OK
wrongFileAlert.information=Hai provato ad aggiungere un file o una cartella che non sembra essere una cassaforte di Cryptomator. Per crittografare i tuoi dati, creare e sbloccare una cassaforte.
# Vault Options
vaultOptions.general=Generali
vaultOptions.general.changePasswordBtn=Modifica password
vaultOptions.general.showRecoveryKeyBtn=Visualizza la chiave di recupero
vaultOptions.mount=Montaggio
vaultOptions.mount.readonly=Sola lettura
vaultOptions.mount.driveName=Nome drive
vaultOptions.mount.customMountFlags=Opzioni personalizzate
# Recovery Key
recoveryKey.title=Chiave di recupero
recoveryKey.enterPassword.prompt=Inserisci la password per visualizzare la chiave di recupero per "%s":
recoveryKey.display.message=Chiave di recupero per "%s":
# Misc
passwordStrength.messageLabel.0=Molto debole
passwordStrength.messageLabel.1=Debole
passwordStrength.messageLabel.2=Sufficiente
passwordStrength.messageLabel.3=Forte
passwordStrength.messageLabel.4=Molto forte
# Quit
quit.prompt=Chiudere l'applicazione? Ci sono depositi sbloccati.
quit.lockAndQuit=Blocca ed Esci

View File

@@ -0,0 +1,174 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=適用
generic.button.back=戻る
generic.button.cancel=キャンセル
generic.button.change=変更
generic.button.done=完了
generic.button.next=次へ
# Tray Menu
traymenu.showMainWindow=表示
traymenu.showPreferencesWindow=設定
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=金庫の暗号化済みファイルをどの場所に保存しますか?
addvaultwizard.new.locationLabel=保存場所
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=ユーザー設定
addvaultwizard.new.directoryPickerButton=選択...
addvaultwizard.new.directoryPickerTitle=ディレクトリを選択
addvaultwizard.new.enterPassword=金庫のパスワードを入力してください
addvaultwizard.new.fileAlreadyExists=いくつかのオブジェクトが既に存在しているため、このパスに金庫を作成することはできません。
addvaultwizard.new.invalidName=無効な金庫の名前です。一般的なディレクトリの名前を検討してください。
addvaultwizard.new.ioException=選択したディレクトリは、基本的なテストに失敗しました。適切なアクセス権限があることを確認し、Cryptomator に干渉しないようにしてください。
### Password
addvaultwizard.new.reenterPassword=パスワードの確認
addvaultwizard.new.passwordsMatch=パスワードが一致しました!
addvaultwizard.new.passwordsDoNotMatch=パスワードが一致しません
addvaultwizard.new.createVaultBtn=金庫を作成
addvaultwizard.new.recoveryKeyInstruction=これは、あなたの回復キーです。大切に保管してください、パスワードを忘れてしまった場合でもデータを復元できる唯一の方法です。
addvaultwizard.new.recoveryKeySavedCheckbox=はい、回復キーを大切に保管しました
### Information
addvault.new.readme.storageLocation.fileName=このディレクトリについて.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ 金庫ファイル ⚠️
addvault.new.readme.storageLocation.2=ここは、金庫のストレージ先です。このディレクトリーのいずれに対しても変更を、{\\b 加えないでください} 。
addvault.new.readme.storageLocation.3=Cryptomator を利用してファイルを暗号化するには、金庫を施錠して表示されるドライブを使用してください。
addvault.new.readme.storageLocation.4=ヘルプが必要であれば、%s をお試しください。
addvault.new.readme.accessLocation.fileName=金庫へようこそ.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ 暗号ボリューム 🔐️
addvault.new.readme.accessLocation.2=ここは、金庫のアクセス先です。Cryptomator により、このボリュームに追加したファイルが暗号化されます。これからは、Cryptomator アプリケーションから解錠してこのボリュームにアクセスしてください。
addvault.new.readme.accessLocation.3=このファイルはいつでも削除できます。
## Existing
addvaultwizard.existing.instruction=既存の金庫の "masterkey.cryptomator" ファイルを選択してください。
addvaultwizard.existing.chooseBtn=選択...
addvaultwizard.existing.filePickerTitle=Masterkey ファイルを選択
addvaultwizard.existing.error=金庫 "%s" を追加できませんでした。不正な金庫です。詳細情報についてはログをご覧ください。
## Success
addvaultwizard.success.nextStepsInstructions=金庫 "%s" を追加しました。\n金庫にアクセスしたり、コンテンツを追加したりするには、金庫を解錠する必要があります。あるいは、後で解錠することが可能です。
addvaultwizard.success.unlockNow=今すぐ解錠
# Remove Vault
removeVault.title=金庫を削除
removeVault.information=この操作で、Cryptomator がこの金庫を認識しなくなります。あとで、再度追加することが可能です。暗号化されたファイルが、ドライブから削除されることはありません。
removeVault.confirmBtn=金庫を削除
# Change Password
changepassword.title=パスワードの変更
changepassword.enterOldPassword="%s" の現在のパスワードを入力してください
changepassword.enterNewPassword=金庫の新しいパスワードを入力してください
changepassword.reenterNewPassword=新しいパスワードの確認
changepassword.passwordsMatch=パスワードが一致しました!
changepassword.passwordsDoNotMatch=パスワードが一致しません
changepassword.finalConfirmation=パスワードを忘れた場合に、データを復元できないことを理解しました
# Forget Password
forgetPassword.title=パスワードを削除
forgetPassword.information=システムから金庫の保存済みパスワードを削除します。
forgetPassword.confirmBtn=パスワードを削除
# Unlock
unlock.title=金庫を解錠
unlock.passwordPrompt="%s" のパスワードを入力してください:
unlock.savePassword=パスワードを保存
unlock.unlockBtn=解錠
## Success
unlock.success.message="%s" の解錠に成功しました! 金庫にアクセス可能です。
unlock.success.revealBtn=金庫を表示
# Migration
migration.title=金庫をアップグレード
## Start
migration.start.prompt="%s" を新しいフォーマットに更新する必要があります。続行する前に、この金庫に影響する保留中の同期がないことをご確認ください。
migration.start.confirm=はい。同期が完了しています
## Run
migration.run.enterPassword="%s" のパスワードを入力してください
migration.run.startMigrationBtn=金庫を移行
## Sucess
migration.success.nextStepsInstructions="%s" の移行が成功しました。\n金庫を解錠できるようになりました。
migration.success.unlockNow=今すぐ解錠
# Preferences
preferences.title=設定
## General
preferences.general=基本設定
preferences.general.theme=外見 & 操作性
preferences.general.startHidden=Cryptomator を開始したとき、ウィンドウを隠す
preferences.general.debugLogging=ログを有効にする
## Volume
preferences.volume=仮想ドライブ
preferences.volume.type=マウント方法
preferences.volume.webdav.port=WebDAV ポート
preferences.volume.webdav.scheme=WebDAV スキーム
## Updates
preferences.updates=更新
preferences.updates.currentVersion=現在のバージョン: %s
preferences.updates.autoUpdateCheck=自動的に更新を確認する
preferences.updates.checkNowBtn=今すぐ確認
preferences.updates.updateAvailable=利用可能なバージョン %s に更新します。
# Main Window
main.closeBtn.tooltip=閉じる
main.preferencesBtn.tooltip=設定
## Vault List
main.vaultlist.emptyList.onboardingInstruction=ここをクリックして金庫を追加
main.vaultlist.contextMenu.remove=金庫を削除
main.vaultlist.addVaultBtn=金庫を追加
## Vault Detail
main.vaultDetail.lockedStatus=施錠済み
main.vaultDetail.unlockedStatus=解錠済み
main.vaultDetail.unlockBtn=解錠
main.vaultDetail.optionsBtn=金庫のオプション
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
# Wrong File Alert
wrongFileAlert.title=不明なファイル
wrongFileAlert.btn=Ok
wrongFileAlert.information=Cryptomator の金庫ではない、ファイルかフォルダーを追加しようとしました。データを暗号化するには、金庫を作成して施錠してください。
# Vault Options
vaultOptions.general=基本設定
vaultOptions.general.changePasswordBtn=パスワードの変更
vaultOptions.general.showRecoveryKeyBtn=回復キーを表示
vaultOptions.mount=マウント
vaultOptions.mount.readonly=読み取り専用
vaultOptions.mount.driveName=ドライブ名
vaultOptions.mount.customMountFlags=カスタム マウント フラグ
# Recovery Key
recoveryKey.title=回復キー
recoveryKey.enterPassword.prompt="%s" の回復キーを表示するために、パスワードを入力してください:
recoveryKey.display.message="%s" の回復キー:
# Misc
passwordStrength.messageLabel.0=非常に弱い
passwordStrength.messageLabel.1=弱い
passwordStrength.messageLabel.2=普通
passwordStrength.messageLabel.3=強い
passwordStrength.messageLabel.4=非常に強い
# Quit
quit.prompt=アプリケーションを終了しますか? 施錠していない金庫が残っています。
quit.lockAndQuit=施錠して終了

View File

@@ -0,0 +1,174 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=적용
generic.button.back=뒤로
generic.button.cancel=취소
generic.button.change=변경
generic.button.done=완료
generic.button.next=다음
# Tray Menu
traymenu.showMainWindow=보기
traymenu.showPreferencesWindow=환경설정
traymenu.quitApplication=종료
traymenu.vault.unlock=잠금해제
traymenu.vault.lock=잠금
traymenu.vault.reveal=표시
# Add Vault Wizard
addvaultwizard.title=Vault 추가
## Welcome
addvaultwizard.welcome.newButton=새 Vault 생성
addvaultwizard.welcome.existingButton=기존 Vault 열기
## New
### Name
addvaultwizard.new.nameInstruction=새 Vault의 이름을 입력하십시요.
addvaultwizard.new.namePrompt=Vault 이름
### Location
addvaultwizard.new.locationInstruction=Cryptomator Vault 내 암호화 파일을 어느 경로에 저장하시겠습니까?
addvaultwizard.new.locationLabel=저장소 위치
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=사용자 지정 위치
addvaultwizard.new.directoryPickerButton=선택
addvaultwizard.new.directoryPickerTitle=디렉터리 선택
addvaultwizard.new.enterPassword=Vault의 비밀번호를 입력하십시요.
addvaultwizard.new.fileAlreadyExists=이미 다른 객체가 존재하고 있어 해당 경로에 Vault를 생성할 수 없습니다.
addvaultwizard.new.invalidName=유효하지 않은 Vault 이름입니다. 일반적인 디렉터리 이름으로 지정해주십시요.
addvaultwizard.new.ioException=선택된 디렉터리가 기본테스트에 실패하였습니다. Cryptomator가 적절한 권한을 가지고 있는지, 간섭을 받는 것은 없는지 확인하여 주십시요.
### Password
addvaultwizard.new.reenterPassword=비밀번호 확인
addvaultwizard.new.passwordsMatch=비밀번호 일치!
addvaultwizard.new.passwordsDoNotMatch=비밀번호가 일치하지 않습니다.
addvaultwizard.new.createVaultBtn=Vault 생성
addvaultwizard.new.recoveryKeyInstruction=이것은 복구키입니다. 만일 비밀번호를 분실하셨을 때,데이터를 복구 할 수 있는 유일한 방법이므로, 안전하게 보관하시기 바랍니다.
addvaultwizard.new.recoveryKeySavedCheckbox=예, 이 복구키를 안전하게 백업해두었습니다.
### Information
addvault.new.readme.storageLocation.fileName=이 디렉터리에 대해.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ VAULT 파일 ⚠️
addvault.new.readme.storageLocation.2=이곳은 Vault 파일 저장경로입니다. {\\b 절대로} 이 디렉터리의 파일을 임의로 교체하거나 수정하지 마십시요.
addvault.new.readme.storageLocation.3=Cryptomator를 사용하여 파일을 암호화하고 싶으시면, Vault를 잠금해제하고 준비된 드라이브에 사용하십시요.
addvault.new.readme.storageLocation.4=도움이 필요하시면, %s를 시도하여 보십시요.
addvault.new.readme.accessLocation.fileName=Vault에 오신것을 환영합니다.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ 암호화된 볼륨 🔐️
addvault.new.readme.accessLocation.2=이곳은 Vault의 접근장소입니다. 이 볼륨에 추가된 파일은 Cryptomator로 암호화 될 것입니다. 나중에 이 볼륨에 접근하기 위해서는, 단순히 Cryptomator 애플리케이션 내에서 잠금해제하여 주십시요.
addvault.new.readme.accessLocation.3=이 파일은 지우셔도 무방합니다.
## Existing
addvaultwizard.existing.instruction=기존 Vault 의 "masterkey.cryptomator" 파일을 선택하여 주십시요.
addvaultwizard.existing.chooseBtn=선택
addvaultwizard.existing.filePickerTitle=마스터키 파일 선택
addvaultwizard.existing.error="%s" Vault를 추가할 수 없습니다: Vault가 유효하지 않습니다. 자세한 내용은 로그를 참조하여 주십시요.
## Success
addvaultwizard.success.nextStepsInstructions="%s" Vault가 추가되었습니다.\n이 Vault를 접근하거나 컨텐츠를 추가하려면 잠금해제가 필요합니다. 그렇지만 언제든지 잠금해제가 가능합니다.
addvaultwizard.success.unlockNow=지금 잠금해제
# Remove Vault
removeVault.title=Vault 제거
removeVault.information=이 행위는 단지 Cryptomator에서 이 Vault를 잊게합니다. 나중에 다시 추가 할 수 있습니다. 암호화된 파일은 하드디스크에서 삭제되지 않을 것입니다.
removeVault.confirmBtn=Vault 제거
# Change Password
changepassword.title=비밀번호 변경
changepassword.enterOldPassword="%s"의 비밀번호를 입력하여 주십시요.
changepassword.enterNewPassword=Vault의 새 비밀번호를 입력하십시요.
changepassword.reenterNewPassword=새 비밀번호 확인
changepassword.passwordsMatch=비밀번호 일치!
changepassword.passwordsDoNotMatch=비밀번호가 일치하지 않습니다.
changepassword.finalConfirmation=지정한 비밀번호를 잊어버리면 데이터를 복구할 수 없음을 알고있습니다.
# Forget Password
forgetPassword.title=비밀번호 분실
forgetPassword.information=시스템 키체인에서 이 Vault의 저장된 비밀번호가 삭제될 것입니다.
forgetPassword.confirmBtn=비밀번호 분실
# Unlock
unlock.title=Vault 잠금해제
unlock.passwordPrompt="%s"의 비밀번호를 입력하십시요.
unlock.savePassword=비밀번호 저장
unlock.unlockBtn=잠금해제
## Success
unlock.success.message="%s"의 잠금해제가 성공적으로 수행되었습니다! 이제 이 Vault의 접근이 가능합니다.
unlock.success.revealBtn=Vault 표시
# Migration
migration.title=Vault 업그레이드
## Start
migration.start.prompt="%s" vault는 새로운 포멧으로 업데이트가 필요합니다. 작업 전, 이 Vault에 영향을 줄만한 동기화가 보류중인지 확인하여 주십시요.
migration.start.confirm=네, 이 Vault는 동기화가 완전히 된 상태입니다.
## Run
migration.run.enterPassword="%s"의 비밀번호를 입력하십시요.
migration.run.startMigrationBtn=Vault 마이그레이션
## Sucess
migration.success.nextStepsInstructions="%s" 의 마이그레이션이 성공적으로 완료되었습니다. 이제 Vault를 잠금해제할 수 있습니다.
migration.success.unlockNow=지금 잠금해제
# Preferences
preferences.title=환경설정
## General
preferences.general=일반
preferences.general.theme=테마설정
preferences.general.startHidden=Cryptomator를 시작할 때 창 숨김
preferences.general.debugLogging=디버그 로그기록을 사용하도록 설정
## Volume
preferences.volume=가상 드라이브
preferences.volume.type=볼륨 유형
preferences.volume.webdav.port=WebDAV 포트
preferences.volume.webdav.scheme=WebDAV 스킴
## Updates
preferences.updates=업데이트
preferences.updates.currentVersion=현재 버전: %s
preferences.updates.autoUpdateCheck=자동으로 업데이트 확인
preferences.updates.checkNowBtn=지금 확인
preferences.updates.updateAvailable=버전 %s의 업데이트가 가능합니다.
# Main Window
main.closeBtn.tooltip=닫기
main.preferencesBtn.tooltip=환경설정
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Vault를 추가하기 위해 이곳을 클릭합니다.
main.vaultlist.contextMenu.remove=Vault 제거
main.vaultlist.addVaultBtn=Vault 추가
## Vault Detail
main.vaultDetail.lockedStatus=잠김
main.vaultDetail.unlockedStatus=잠금해제됨
main.vaultDetail.unlockBtn=잠금해제
main.vaultDetail.optionsBtn=Vault 옵션
main.vaultDetail.accessLocation=이 Vault의 내용은 다음의 경로에서 접근할 수 있습니다:
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
# Wrong File Alert
wrongFileAlert.title=알 수 없는 파일
wrongFileAlert.btn=확인
wrongFileAlert.information=Cryptomator vault에 없는 파일이나 폴더를 추가하려고 하신 것 같습니다. 데이터를 암호화하기 위해 Vault를 생성하시고 잠금해제하시기 바랍니다.
# Vault Options
vaultOptions.general=일반
vaultOptions.general.changePasswordBtn=비밀번호 변경
vaultOptions.general.showRecoveryKeyBtn=복구 키 출력
vaultOptions.mount=드라이브 구성
vaultOptions.mount.readonly=읽기 전용
vaultOptions.mount.driveName=드라이브 이름
vaultOptions.mount.customMountFlags=사용자 정의 매개변수 사용
# Recovery Key
recoveryKey.title=복구 키
recoveryKey.enterPassword.prompt="%s"의 복구 키를 표시하려면 비밀번호를 입력하여 주십시요.
recoveryKey.display.message="%s"의 복구 키
# Misc
passwordStrength.messageLabel.0=매우 취약함
passwordStrength.messageLabel.1=취약함
passwordStrength.messageLabel.2=보통
passwordStrength.messageLabel.3=강함
passwordStrength.messageLabel.4=매우 강함
# Quit
quit.prompt=애플리케이션을 종료하시겠습니까? Vault가 잠금해제된 상태입니다.
quit.lockAndQuit=Vault 잠금 후 종료하기

View File

@@ -0,0 +1,174 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Toepassen
generic.button.back=Terug
generic.button.cancel=Annuleren
generic.button.change=Wijzig
generic.button.done=Klaar
generic.button.next=Volgende
# Tray Menu
traymenu.showMainWindow=Toon
traymenu.showPreferencesWindow=Voorkeuren
traymenu.quitApplication=Afsluiten
traymenu.vault.unlock=Ontgrendel
traymenu.vault.lock=Vergrendel
traymenu.vault.reveal=Laat zien
# Add Vault Wizard
addvaultwizard.title=Kluis toevoegen
## Welcome
addvaultwizard.welcome.newButton=Nieuwe Kluis Aanmaken
addvaultwizard.welcome.existingButton=Open Bestaande Kluis
## New
### Name
addvaultwizard.new.nameInstruction=Kies een naam voor de kluis
addvaultwizard.new.namePrompt=Kluisnaam
### Location
addvaultwizard.new.locationInstruction=Waar moet Cryptomator de versleutelde bestanden van je kluis opslaan?
addvaultwizard.new.locationLabel=Opslaglocatie
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=Andere locatie
addvaultwizard.new.directoryPickerButton=Kies…
addvaultwizard.new.directoryPickerTitle=Selecteer map
addvaultwizard.new.enterPassword=Voer een wachtwoord voor de kluis in
addvaultwizard.new.fileAlreadyExists=Er kan op deze locatie geen kluis aangemaakt worden, omdat er een bepaald object bestaat.
addvaultwizard.new.invalidName=Ongeldige kluisnaam. Overweeg een standaard mapnaam.
addvaultwizard.new.ioException=De geselecteerde map heeft een basistest niet gehaald. Zorg dat de map de juiste rechten heeft, en dat er niets conflicteert met Cryptomator.
### Password
addvaultwizard.new.reenterPassword=Bevestig het wachtwoord
addvaultwizard.new.passwordsMatch=Wachtwoorden komen overeen!
addvaultwizard.new.passwordsDoNotMatch=Wachtwoorden komen niet overeen
addvaultwizard.new.createVaultBtn=Kluis aanmaken
addvaultwizard.new.recoveryKeyInstruction=Dit is uw herstelsleutel. Bewaar deze goed, het is de enige mogelijkheid om uw data te herstellen als u uw wachtwoord verliest.
addvaultwizard.new.recoveryKeySavedCheckbox=Ja, ik heb een beveiligde back-up gemaakt van deze herstelsleutel
### Information
addvault.new.readme.storageLocation.fileName=WAT IS DEZE MAP.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ KLUIS BESTANDEN ⚠️
addvault.new.readme.storageLocation.2=Dit is de opslaglocatie van uw kluis. Wijzig {\\b GEEN} bestanden binnen deze map.
addvault.new.readme.storageLocation.3=Als u bestanden wilt versleutelen met Cryptomator, ontgrendel dan de kluis en gebruik de opgegeven schijf.
addvault.new.readme.storageLocation.4=Als je hulp nodig hebt, probeer %s.
addvault.new.readme.accessLocation.fileName=WELKOM IN UW KLUIS.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐 VERSLEUTELD VOLUME 🔐
addvault.new.readme.accessLocation.2=Dit is de toegangslocatie van uw kluis. Alle bestanden die aan dit volume worden toegevoegd zullen worden versleuteld door Cryptomator. Om dit volume op een later tijdstip te kunnen gebruiken, ontgrendelt u het gewoon opnieuw vanuit de Cryptomator applicatie.
addvault.new.readme.accessLocation.3=Voel je vrij om dit bestand te verwijderen.
## Existing
addvaultwizard.existing.instruction=Kies het "masterkey.cryptomator" bestand van uw bestaande kluis.
addvaultwizard.existing.chooseBtn=Kies…
addvaultwizard.existing.filePickerTitle=Selecteer het Masterkey-bestand
addvaultwizard.existing.error=Kluis "%s" kan niet toegevoegd worden: Geen geldige kluis. Kijk in het logbestand voor verdere informatie.
## 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.confirmBtn=Verwijder Kluis
# Change Password
changepassword.title=Wijzig wachtwoord
changepassword.enterOldPassword=Voer het huidige wachtwoord voor "%s" in
changepassword.enterNewPassword=Voer een nieuw wachtwoord voor de kluis in
changepassword.reenterNewPassword=Bevestig het nieuwe wachtwoord
changepassword.passwordsMatch=Wachtwoorden komen overeen!
changepassword.passwordsDoNotMatch=Wachtwoorden komen niet overeen
changepassword.finalConfirmation=Ik begrijp dat ik mijn gegevens niet kan herstellen als ik mijn wachtwoord vergeet
# Forget Password
forgetPassword.title=Wachtwoord vergeten
forgetPassword.information=Dit zal het opgeslagen wachtwoord van deze kluis uit uw systeem wissen.
forgetPassword.confirmBtn=Wachtwoord vergeten
# Unlock
unlock.title=Kluis ontgrendelen
unlock.passwordPrompt=Voer wachtwoord voor "%s" in:
unlock.savePassword=Wachtwoord Opslaan
unlock.unlockBtn=Ontgrendel
## Success
unlock.success.message="%s" is met succes ontgrendeld! Uw kluis is nu toegankelijk.
unlock.success.revealBtn=Toon kluis
# Migration
migration.title=Kluis upgraden
## Start
migration.start.prompt=Uw kluis "%s" moet worden bijgewerkt naar een nieuw formaat. Zorg dat er geen lopende synchronisaties zijn voordat u doorgaat.
migration.start.confirm=Ja, mijn kluis is volledig gesynchroniseerd
## Run
migration.run.enterPassword=Voer wachtwoord voor "%s" in
migration.run.startMigrationBtn=Kluis migreren
## Sucess
migration.success.nextStepsInstructions="%s" is succesvol gemigreerd.\nU kunt nu uw kluis ontgrendelen.
migration.success.unlockNow=Nu Ontgrendelen
# Preferences
preferences.title=Voorkeuren
## General
preferences.general=Algemeen
preferences.general.theme=Uiterlijk
preferences.general.startHidden=Verberg venster bij het opstarten van Cryptomator
preferences.general.debugLogging=Debug logging aanzetten
## Volume
preferences.volume=Virtuele schijf
preferences.volume.type=Type volume
preferences.volume.webdav.port=WebDAV Poort
preferences.volume.webdav.scheme=WebDAV Schema
## Updates
preferences.updates=Updates
preferences.updates.currentVersion=Huidige Versie: "%s"
preferences.updates.autoUpdateCheck=Automatisch controleren op updates
preferences.updates.checkNowBtn=Controleer nu
preferences.updates.updateAvailable=Update naar versie "%s" beschikbaar.
# Main Window
main.closeBtn.tooltip=Sluiten
main.preferencesBtn.tooltip=Voorkeuren
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klik hier om een kluis toe te voegen
main.vaultlist.contextMenu.remove=Verwijder Kluis
main.vaultlist.addVaultBtn=Kluis toevoegen
## Vault Detail
main.vaultDetail.lockedStatus=VERGRENDELD
main.vaultDetail.unlockedStatus=ONTGRENDELD
main.vaultDetail.unlockBtn=Ontgrendel
main.vaultDetail.optionsBtn=Kluis-instellingen
main.vaultDetail.accessLocation=De inhoud van uw kluis is hier toegankelijk:
main.vaultDetail.revealBtn=Toon Schijf
main.vaultDetail.lockBtn=Vergrendel
main.vaultDetail.bytesPerSecondRead=lezen:
main.vaultDetail.bytesPerSecondWritten=schrijven:
main.vaultDetail.throughput.idle=inactief
main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
# Wrong File Alert
wrongFileAlert.title=Onbekend bestand
wrongFileAlert.btn=Oké
wrongFileAlert.information=U hebt geprobeerd om een bestand of een map toe te voegen die geen Cryptomator kluis is. Maak en ontgrendel een kluis om uw gegevens te versleutelen.
# Vault Options
vaultOptions.general=Algemeen
vaultOptions.general.changePasswordBtn=Wijzig wachtwoord
vaultOptions.general.showRecoveryKeyBtn=Toon herstelsleutel
vaultOptions.mount=Aankoppelen
vaultOptions.mount.readonly=Alleen-Lezen
vaultOptions.mount.driveName=Schijfnaam
vaultOptions.mount.customMountFlags=Aangepaste Aankoppel Parameters
# Recovery Key
recoveryKey.title=Herstelsleutel
recoveryKey.enterPassword.prompt=Voer uw wachtwoord in om de herstelsleutel voor "%s" te tonen:
recoveryKey.display.message=Herstelsleutel voor "%s":
# Misc
passwordStrength.messageLabel.0=Zeer zwak
passwordStrength.messageLabel.1=Zwak
passwordStrength.messageLabel.2=Redelijk
passwordStrength.messageLabel.3=Sterk
passwordStrength.messageLabel.4=Zeer sterk
# Quit
quit.prompt=Applicatie afsluiten? Er zijn kluizen ontgrendeld.
quit.lockAndQuit=Vergrendelen en Afsluiten

View File

@@ -0,0 +1,49 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
# Tray Menu
# Add Vault Wizard
## Welcome
## New
### Name
### Location
### Password
### Information
## Existing
## Success
# Remove Vault
# Change Password
# Forget Password
# Unlock
## Success
# Migration
## Start
## Run
## Sucess
# Preferences
## General
## Volume
## Updates
# Main Window
## Vault List
## Vault Detail
# Wrong File Alert
# Vault Options
# Recovery Key
# Misc
# Quit

View File

@@ -0,0 +1,174 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Aplicar
generic.button.back=Voltar
generic.button.cancel=Cancelar
generic.button.change=Alterar
generic.button.done=Pronto
generic.button.next=Próximo
# Tray Menu
traymenu.showMainWindow=Exibir
traymenu.showPreferencesWindow=Preferências
traymenu.quitApplication=Sair
traymenu.vault.unlock=Desbloquear
traymenu.vault.lock=Bloquear
traymenu.vault.reveal=Exibir
# Add Vault Wizard
addvaultwizard.title=Adicionar Cofre
## Welcome
addvaultwizard.welcome.newButton=Criar Um Novo Cofre
addvaultwizard.welcome.existingButton=Abrir Um Cofre Existente
## New
### Name
addvaultwizard.new.nameInstruction=Escolha um nome para o cofre
addvaultwizard.new.namePrompt=Nome do Cofre
### Location
addvaultwizard.new.locationInstruction=Onde o Cryptomator deve armazenar os arquivos criptografados do seu cofre?
addvaultwizard.new.locationLabel=Localização do armazenamento
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=Local Personalizado
addvaultwizard.new.directoryPickerButton=Escolher…
addvaultwizard.new.directoryPickerTitle=Selecionar Diretório
addvaultwizard.new.enterPassword=Digite uma senha para o cofre
addvaultwizard.new.fileAlreadyExists=O cofre não pode ser criado neste local porque algum objeto já existe.
addvaultwizard.new.invalidName=Nome de cofre inválido. Por favor considere usar um nome de diretório comum.
addvaultwizard.new.ioException=O diretório selecionado falhou em um teste básico. Certifique-se de ter os direitos de acesso apropriados e que nada interfira com o Cryptomator.
### Password
addvaultwizard.new.reenterPassword=Confirme a senha
addvaultwizard.new.passwordsMatch=As senhas são idênticas!
addvaultwizard.new.passwordsDoNotMatch=As senhas são diferentes
addvaultwizard.new.createVaultBtn=Criar Cofre
addvaultwizard.new.recoveryKeyInstruction=Esta é a sua chave de recuperação. Mantenha-a segura, é sua única chance de recuperar seus dados se você perder sua senha.
addvaultwizard.new.recoveryKeySavedCheckbox=Sim, fiz um backup seguro desta chave de recuperação
### Information
addvault.new.readme.storageLocation.fileName=O QUE É ESTE DIRETÓRIO.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ ARQUIVOS DO COFRE ⚠️
addvault.new.readme.storageLocation.2=Esta é a localização do seu cofre. {\\b NÃO} altere arquivos neste diretório.
addvault.new.readme.storageLocation.3=Se você quiser criptografar seus arquivos usando o Cryptomator, desbloqueie o cofre e use o local de armazenamento provido.
addvault.new.readme.storageLocation.4=Se precisar de ajuda, tente %s.
addvault.new.readme.accessLocation.fileName=BEM VINDO AO SEU COFRE.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ VOLUME CRIPTOGRAFADO 🔐️
addvault.new.readme.accessLocation.2=Este é o local de acesso do seu cofre. Qualquer arquivo que você adicionar a este volume será criptografado pelo Cryptomator. Para acessar este volume posteriormente, simplesmente desbloqueie novamente o cofre na aplicação do Cryptomator.
addvault.new.readme.accessLocation.3=Sinta-se livre para apagar este arquivo.
## Existing
addvaultwizard.existing.instruction=Selecione o arquivo "masterkey.cryptomator" do seu cofre existente.
addvaultwizard.existing.chooseBtn=Selecionar…
addvaultwizard.existing.filePickerTitle=Selecionar Arquivo Masterkey
addvaultwizard.existing.error=Não foi possível adicionar o cofre "%s": Não é um cofre válido. Por favor, procure no log para mais informações.
## 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 criptografado será apagado do seu disco rígido.
removeVault.confirmBtn=Remover Cofre
# Change Password
changepassword.title=Alterar Senha
changepassword.enterOldPassword=Digite a senha atual para "%s"
changepassword.enterNewPassword=Digite uma nova senha para o seu cofre
changepassword.reenterNewPassword=Confirme a nova senha
changepassword.passwordsMatch=As senhas são idênticas!
changepassword.passwordsDoNotMatch=As senhas são diferentes
changepassword.finalConfirmation=Eu entendo que não poderei recuperar meus dados se esquecer minha senha
# Forget Password
forgetPassword.title=Esquecer Senha
forgetPassword.information=Isso removerá a senha salva deste cofre do chaveiro do seu sistema.
forgetPassword.confirmBtn=Esquecer Senha
# Unlock
unlock.title=Desbloquear Cofre
unlock.passwordPrompt=Digite a senha para "%s":
unlock.savePassword=Salvar Senha
unlock.unlockBtn=Desbloquear
## Success
unlock.success.message="%s" foi desbloqueado com sucesso! Seu cofre agora está acessível.
unlock.success.revealBtn=Revelar Cofre
# Migration
migration.title=Atualizar Cofre
## Start
migration.start.prompt=Seu cofre "%s" precisa ser atualizado para um novo formato. Antes de prosseguir, certifique-se de que nenhuma sincronização pendente está afetando este cofre.
migration.start.confirm=Sim, meu cofre está completamente sincronizado
## Run
migration.run.enterPassword=Digite a senha para "%s"
migration.run.startMigrationBtn=Migrar Cofre
## Sucess
migration.success.nextStepsInstructions="%s" migrado com sucesso.\nVocê agora pode desbloquear este cofre.
migration.success.unlockNow=Desbloquear Agora
# Preferences
preferences.title=Preferências
## General
preferences.general=Geral
preferences.general.theme=Aparência
preferences.general.startHidden=Ocultar janela ao iniciar o Cryptomator
preferences.general.debugLogging=Ativar log de debug
## Volume
preferences.volume=Volume Virtual
preferences.volume.type=Tipo de Volume
preferences.volume.webdav.port=Porta WebDAV
preferences.volume.webdav.scheme=Esquema WebDAV
## Updates
preferences.updates=Atualizações
preferences.updates.currentVersion=Versão atual: %s
preferences.updates.autoUpdateCheck=Buscar atualizações automaticamente
preferences.updates.checkNowBtn=Buscar Agora
preferences.updates.updateAvailable=Atualizar para versão %s disponível.
# Main Window
main.closeBtn.tooltip=Fechar
main.preferencesBtn.tooltip=Preferências
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Clique aqui para adicionar um cofre
main.vaultlist.contextMenu.remove=Remover Cofre
main.vaultlist.addVaultBtn=Adicionar Cofre
## Vault Detail
main.vaultDetail.lockedStatus=BLOQUEADO
main.vaultDetail.unlockedStatus=DESBLOQUEADO
main.vaultDetail.unlockBtn=Desbloquear
main.vaultDetail.optionsBtn=Opções de Cofre
main.vaultDetail.accessLocation=O conteúdo do seu cofre está disponível aqui:
main.vaultDetail.revealBtn=Revelar Volume
main.vaultDetail.lockBtn=Bloquear
main.vaultDetail.bytesPerSecondRead=leitura:
main.vaultDetail.bytesPerSecondWritten=gravação:
main.vaultDetail.throughput.idle=ocioso
main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
# Wrong File Alert
wrongFileAlert.title=Arquivo Desconhecido
wrongFileAlert.btn=Ok
wrongFileAlert.information=Você tentou adicionar um arquivo ou diretório que não aparenta ser um cofre do Cryptomator. Para criptografar seus dados, crie e desbloqueie um cofre.
# Vault Options
vaultOptions.general=Geral
vaultOptions.general.changePasswordBtn=Alterar Senha
vaultOptions.general.showRecoveryKeyBtn=Exibir chave de recuperação
vaultOptions.mount=Montagem
vaultOptions.mount.readonly=Somente Leitura
vaultOptions.mount.driveName=Nome do Volume
vaultOptions.mount.customMountFlags=Flags Personalizadas de Montagem
# 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=Chave de recuperação de "%s":
# Misc
passwordStrength.messageLabel.0=Muito fraca
passwordStrength.messageLabel.1=Fraca
passwordStrength.messageLabel.2=Média
passwordStrength.messageLabel.3=Forte
passwordStrength.messageLabel.4=Muito forte
# Quit
quit.prompt=Sair da aplicação? Existem cofres desbloqueados.
quit.lockAndQuit=Bloquear e Sair

View File

@@ -0,0 +1,174 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Применить
generic.button.back=Назад
generic.button.cancel=Отменить
generic.button.change=Изменить
generic.button.done=Готово
generic.button.next=Вперед
# Tray Menu
traymenu.showMainWindow=Показать
traymenu.showPreferencesWindow=Настройки
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.enterPassword=Введите пароль для хранилища
addvaultwizard.new.fileAlreadyExists=Хранилище не может быть создано по этому пути, потому что некоторые объекты уже существуют.
addvaultwizard.new.invalidName=Неверное имя хранилища. Пожалуйста, выберите стандартное название каталога.
addvaultwizard.new.ioException=Выбранный каталог не прошел начальную проверку. Убедитесь, что у вас есть права доступа и ничего не мешает Cryptomator.
### Password
addvaultwizard.new.reenterPassword=Подтвердите пароль
addvaultwizard.new.passwordsMatch=Пароли совпадают!
addvaultwizard.new.passwordsDoNotMatch=Пароли не совпадают
addvaultwizard.new.createVaultBtn=Создать хранилище
addvaultwizard.new.recoveryKeyInstruction=Это ваш ключ восстановления. Держите его в безопасности, это единственный шанс восстановить ваши данные, если вы потеряете пароль.
addvaultwizard.new.recoveryKeySavedCheckbox=Да, я сделал резервную копию этого ключа восстановления
### Information
addvault.new.readme.storageLocation.fileName=ЧТО ЗА КАТАЛОГ.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ ФАЙЛЫ ХРАНИЛИЩА ⚠️
addvault.new.readme.storageLocation.2=Это место хранения вашего хранилища. {\\b НЕ} изменяйте никакие файлы в этом каталоге.
addvault.new.readme.storageLocation.3=Если вы хотите зашифровать файлы с помощью Cryptomator, разблокируйте хранилище и используйте предоставленный диск.
addvault.new.readme.storageLocation.4=Если вам нужна помощь, попробуйте %s.
addvault.new.readme.accessLocation.fileName=ДОБРО ПОЖАЛОВАТЬ В ВАШЕ ХРАНИЛИЩЕ.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ ЗАШИФРОВАННОЕ ХРАНИЛИЩЕ 🔐️
addvault.new.readme.accessLocation.2=Это место доступа в хранилище. Любые файлы, добавленные в этот том, будут зашифрованы Cryptomator. Чтобы получить доступ к этому тому позже, просто разблокируйте его из приложения Cryptomator.
addvault.new.readme.accessLocation.3=Можете удалить этот файл.
## Existing
addvaultwizard.existing.instruction=Выберите файл "masterkey.cryptomator" от существующего хранилища.
addvaultwizard.existing.chooseBtn=Выбрать…
addvaultwizard.existing.filePickerTitle=Выберите файл MasterKey
addvaultwizard.existing.error=Не удается добавить хранилище "%s": Недопустимое хранилище. Пожалуйста, просмотрите журнал событий для получения дополнительной информации.
## Success
addvaultwizard.success.nextStepsInstructions=Добавлено хранилище "%s".\nДля добавления или доступа к контенту вам необходимо разблокировать хранилище. Кроме того, вы можете разблокировать его в любое время позже.
addvaultwizard.success.unlockNow=Разблокировать сейчас
# Remove Vault
removeVault.title=Удалить хранилище
removeVault.information=Cryptomator просто забудет это хранилище. Вы можете добавить его снова позже. Зашифрованные файлы не будут удалены с жесткого диска.
removeVault.confirmBtn=Удалить хранилище
# Change Password
changepassword.title=Изменить пароль
changepassword.enterOldPassword=Введите текущий пароль для "%s"
changepassword.enterNewPassword=Введите новый пароль для хранилища
changepassword.reenterNewPassword=Подтвердите новый пароль
changepassword.passwordsMatch=Пароли совпадают!
changepassword.passwordsDoNotMatch=Пароли не совпадают
changepassword.finalConfirmation=Я понимаю, что не смогу восстановить свои данные, если забуду свой пароль
# Forget Password
forgetPassword.title=Забыл пароль
forgetPassword.information=Это удалит сохраненный пароль от этого хранилища из вашего хранилища ключей.
forgetPassword.confirmBtn=Забыл пароль
# Unlock
unlock.title=Разблокировать хранилище
unlock.passwordPrompt=Введите пароль для %s
unlock.savePassword=Сохранить пароль
unlock.unlockBtn=Разблокировать
## Success
unlock.success.message="%s" успешно разблокировано! Ваше хранилище теперь доступно.
unlock.success.revealBtn=Показать хранилище
# Migration
migration.title=Обновить хранилище
## Start
migration.start.prompt=Ваше хранилище "%s" должно быть обновлено до более нового формата. Перед тем, как продолжить, убедитесь в отсутствии отложенной синхронизации, которая может повлиять на хранилище.
migration.start.confirm=Да, мое хранилище полностью синхронизировано
## Run
migration.run.enterPassword=Введите пароль для %s
migration.run.startMigrationBtn=Перенести хранилище
## Sucess
migration.success.nextStepsInstructions="%s" перенесено успешно.\nТеперь вы можете разблокировать хранилище.
migration.success.unlockNow=Разблокировать сейчас
# Preferences
preferences.title=Настройки
## General
preferences.general=Общее
preferences.general.theme=Внешний вид
preferences.general.startHidden=Скрыть окно при запуске Cryptomator
preferences.general.debugLogging=Включить ведение журнала отладки
## Volume
preferences.volume=Виртуальный диск
preferences.volume.type=Тип тома
preferences.volume.webdav.port=Порт WebDAV
preferences.volume.webdav.scheme=Схема WebDAV
## Updates
preferences.updates=Обновления
preferences.updates.currentVersion=Текущая версия: %s
preferences.updates.autoUpdateCheck=Автоматически проверять наличие обновлений
preferences.updates.checkNowBtn=Проверить сейчас
preferences.updates.updateAvailable=Доступно обновление до версии %s.
# Main Window
main.closeBtn.tooltip=Закрыть
main.preferencesBtn.tooltip=Настройки
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Нажмите здесь для добавления хранилища
main.vaultlist.contextMenu.remove=Удалить хранилище
main.vaultlist.addVaultBtn=Добавить хранилище
## Vault Detail
main.vaultDetail.lockedStatus=ЗАБЛОКИРОВАНО
main.vaultDetail.unlockedStatus=РАЗБЛОКИРОВАНО
main.vaultDetail.unlockBtn=Разблокировать
main.vaultDetail.optionsBtn=Параметры хранилища
main.vaultDetail.accessLocation=Содержимое вашего хранилища доступно здесь:
main.vaultDetail.revealBtn=Показать диск
main.vaultDetail.lockBtn=Заблокировать
main.vaultDetail.bytesPerSecondRead=прочитано:
main.vaultDetail.bytesPerSecondWritten=записано:
main.vaultDetail.throughput.idle=бездействие
main.vaultDetail.throughput.kbps=%.1f Кб/с
main.vaultDetail.throughput.mbps=%.1f Мб/с
# Wrong File Alert
wrongFileAlert.title=Неизвестный файл
wrongFileAlert.btn=ОК
wrongFileAlert.information=Вы пытались добавить файл или папку, которые, похоже, не являются хранилищем Cryptomator. Чтобы зашифровать ваши данные, создайте и разблокируйте хранилище.
# Vault Options
vaultOptions.general=Общее
vaultOptions.general.changePasswordBtn=Изменить пароль
vaultOptions.general.showRecoveryKeyBtn=Отобразить ключ восстановления
vaultOptions.mount=Монтирование
vaultOptions.mount.readonly=Только чтение
vaultOptions.mount.driveName=Имя диска
vaultOptions.mount.customMountFlags=Пользовательские флаги монтирования
# Recovery Key
recoveryKey.title=Ключ восстановления
recoveryKey.enterPassword.prompt=Введите пароль для отображения ключа восстановления для "%s":
recoveryKey.display.message=Ключ восстановления для "%s":
# Misc
passwordStrength.messageLabel.0=Очень слабый
passwordStrength.messageLabel.1=Слабый
passwordStrength.messageLabel.2=Хороший
passwordStrength.messageLabel.3=Сильный
passwordStrength.messageLabel.4=Очень сильный
# Quit
quit.prompt=Выйти из приложения? Есть разблокированные хранилища.
quit.lockAndQuit=Заблокировать и выйти

View File

@@ -0,0 +1,173 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Verkställ
generic.button.back=Bakåt
generic.button.cancel=Avbryt
generic.button.change=Ändra
generic.button.done=Klar
generic.button.next=Nästa
# Tray Menu
traymenu.showMainWindow=Visa
traymenu.showPreferencesWindow=Inställningar
traymenu.quitApplication=Avsluta
traymenu.vault.unlock=Lås upp
traymenu.vault.lock=Lås
traymenu.vault.reveal=Visa
# Add Vault Wizard
addvaultwizard.title=Lägg till valv
## Welcome
addvaultwizard.welcome.newButton=Skapa nytt valv
addvaultwizard.welcome.existingButton=Öppna befintligt valv
## New
### Name
addvaultwizard.new.nameInstruction=Välj namn för valvet
addvaultwizard.new.namePrompt=Valvets namn
### Location
addvaultwizard.new.locationInstruction=Var ska Cryptomator lagra de krypterade filerna för ditt valv?
addvaultwizard.new.locationLabel=Lagringsplats
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=Anpassad plats
addvaultwizard.new.directoryPickerButton=Välj…
addvaultwizard.new.directoryPickerTitle=Välj katalog
addvaultwizard.new.enterPassword=Ange ett lösenord för valvet
addvaultwizard.new.fileAlreadyExists=Valvet kan inte skapas på denna plats då vissa filer redan finns.
addvaultwizard.new.invalidName=Felaktigt namn på valvet. Vänligen ange ett vanligt katalognamn.
addvaultwizard.new.ioException=En inledande kontroll av angiven katalog misslyckades. Kontrollera att du har tillräcklig åtkomst till den, och att inget stör Cryptomator.
### Password
addvaultwizard.new.reenterPassword=Bekräfta lösenordet
addvaultwizard.new.passwordsMatch=Lösenorden stämmer överens!
addvaultwizard.new.passwordsDoNotMatch=Lösenorden stämmer inte överens
addvaultwizard.new.createVaultBtn=Skapa Valv
addvaultwizard.new.recoveryKeyInstruction=Detta är din återställningsnyckel. Förvara den väl, den är din enda chans att återställa din data om du tappar bort ditt lösenord.
addvaultwizard.new.recoveryKeySavedCheckbox=Ja, jag har säkerhetskopierat återställningsnyckeln
### Information
addvault.new.readme.storageLocation.fileName=VAD ÄR DETTA FÖR KATALOG.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ VALV-FILER ⚠️
addvault.new.readme.storageLocation.2=Detta är ditt valvs lagringsplats. {\\b ÄNDRA INTE} någon fil i denna katalog.
addvault.new.readme.storageLocation.3=Om du vill kryptera filer med Cryptomator, lås upp valvet och använd angiven enhet.
addvault.new.readme.storageLocation.4=Om du behöver hjälp, prova %s.
addvault.new.readme.accessLocation.fileName=VÄLKOMMEN TILL DITT VALV.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ KRYPTERAD VOLYM 🔐️
addvault.new.readme.accessLocation.2=Detta är ditt valvs åtkomstplats. Filer som läggs till i denna volym kommer att krypteras av Cryptomator. För att komma åt denna volym senare, lås bara upp den igen från Cryptomator-programmet.
addvault.new.readme.accessLocation.3=Du kan ta bort denna fil.
## Existing
addvaultwizard.existing.instruction=Välj "masterkey.cryptomator" för ditt befintliga valv.
addvaultwizard.existing.chooseBtn=Välj…
addvaultwizard.existing.filePickerTitle=Välj Masterkey-fil
## Success
addvaultwizard.success.nextStepsInstructions=Lade till valv "%s".\nDu behöver 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.confirmBtn=Ta bort valv
# Change Password
changepassword.title=Ändra lösenord
changepassword.enterOldPassword=Ange nuvarande lösenord för "%s"
changepassword.enterNewPassword=Ange ett nytt lösenord för ditt valv
changepassword.reenterNewPassword=Bekräfta det nya lösenordet
changepassword.passwordsMatch=Lösenorden stämmer överens!
changepassword.passwordsDoNotMatch=Lösenorden stämmer inte överens
changepassword.finalConfirmation=Jag förstår att jag inte kommer kunna återställa mitt data om jag glömmer mitt lösenord
# 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.confirmBtn=Glöm lösenord
# Unlock
unlock.title=Lås upp valv
unlock.passwordPrompt=Ange lösenord för "%s":
unlock.savePassword=Spara lösenord
unlock.unlockBtn=Lås upp
## Success
unlock.success.message="%s" upplåst! Ditt valv är nu åtkomligt.
unlock.success.revealBtn=Visa valv
# Migration
migration.title=Uppgradera valv
## Start
migration.start.prompt=Ditt valv "%s" behöver uppdateras till ett nyare format. Säkerställ att ingen filsynkronisering kommer påverka valvet innan du fortsätter.
migration.start.confirm=Ja, mitt valv är synkroniserat
## Run
migration.run.enterPassword=Ange lösenordet för "%s"
migration.run.startMigrationBtn=Migrera valv
## Sucess
migration.success.nextStepsInstructions="%s" migrerades fullständigt.\nDu kan nu låsa upp ditt valv.
migration.success.unlockNow=Lås upp nu
# Preferences
preferences.title=Inställningar
## General
preferences.general=Allmänt
preferences.general.theme=Utseende
preferences.general.startHidden=Dölj fönster när Cryptomator startar
preferences.general.debugLogging=Aktivera debug loggning
## Volume
preferences.volume=Virtuell enhet
preferences.volume.type=Volym-typ
preferences.volume.webdav.port=WebDAV Port
preferences.volume.webdav.scheme=WebDAV Schema
## Updates
preferences.updates=Uppdateringar
preferences.updates.currentVersion=Nuvarande version: %s
preferences.updates.autoUpdateCheck=Kontrollera uppdateringar automatiskt
preferences.updates.checkNowBtn=Kontrollera nu
preferences.updates.updateAvailable=Uppdatering till version %s finns tillgänglig.
# Main Window
main.closeBtn.tooltip=Stäng
main.preferencesBtn.tooltip=Inställningar
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Klicka här för att lägga till valv
main.vaultlist.contextMenu.remove=Ta bort valv
main.vaultlist.addVaultBtn=Lägg till valv
## Vault Detail
main.vaultDetail.lockedStatus=LÅST
main.vaultDetail.unlockedStatus=UPPLÅST
main.vaultDetail.unlockBtn=Lås upp
main.vaultDetail.optionsBtn=Valv-inställningar
main.vaultDetail.accessLocation=Ditt valv's innehåll kan nås härifrån:
main.vaultDetail.revealBtn=Visa enhet
main.vaultDetail.lockBtn=Lås
main.vaultDetail.bytesPerSecondRead=läst:
main.vaultDetail.bytesPerSecondWritten=skrivet:
main.vaultDetail.throughput.idle=inaktiv
main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
# Wrong File Alert
wrongFileAlert.title=Okänd fil
wrongFileAlert.btn=Ok
wrongFileAlert.information=Du försöker lägga till en fil eller katalog som inte verkar vara ett Cryptomator-valv. För att kryptera din data, skapa och lås upp ett valv.
# Vault Options
vaultOptions.general=Allmänt
vaultOptions.general.changePasswordBtn=Ändra lösenord
vaultOptions.general.showRecoveryKeyBtn=Visa Återsällningsnyckel
vaultOptions.mount=Montering
vaultOptions.mount.readonly=Skrivskyddad
vaultOptions.mount.driveName=Enhetsnamn
vaultOptions.mount.customMountFlags=Egna monterings-flaggor
# 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=Återställningsnyckel för "%s":
# Misc
passwordStrength.messageLabel.0=Mycket svagt
passwordStrength.messageLabel.1=Svagt
passwordStrength.messageLabel.2=Skapligt
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

View File

@@ -0,0 +1,168 @@
# Locale Specific CSS files such as CJK, RTL,...
# Generics
## Button
generic.button.apply=Uygula
generic.button.back=Geri
generic.button.cancel=İptal
generic.button.change=Değiştir
generic.button.done=Bitti
generic.button.next=İleri
# Tray Menu
traymenu.showMainWindow=Göster
traymenu.showPreferencesWindow=Seçenekler
traymenu.quitApplication=Çık
traymenu.vault.unlock=Kilidi Aç
traymenu.vault.lock=Kilitle
traymenu.vault.reveal=Göster
# Add Vault Wizard
addvaultwizard.title=Kasa Ekle
## Welcome
addvaultwizard.welcome.newButton=Yeni Kasa Oluştur
addvaultwizard.welcome.existingButton=Varolan Kasayı
## New
### Name
addvaultwizard.new.nameInstruction=Kasa için bir isim seç
addvaultwizard.new.namePrompt=Kasa Adı
### Location
addvaultwizard.new.locationInstruction=Cryptomator kasanızın şifreli dosyalarını nerede depolasın?
addvaultwizard.new.locationLabel=Depolama yeri
addvaultwizard.new.locationPrompt=
addvaultwizard.new.directoryPickerLabel=Özel Konum
addvaultwizard.new.directoryPickerButton=Seç…
addvaultwizard.new.directoryPickerTitle=Dizin Seç
addvaultwizard.new.enterPassword=Kasa için bir şifre girin
addvaultwizard.new.fileAlreadyExists=Bazı nesneler varolduğu için kasa bu yolda oluşturulamıyor.
addvaultwizard.new.invalidName=Geçersiz kasa adı. Lütfen normal bir dizin adı kullanın.
### Password
addvaultwizard.new.reenterPassword=Şifreyi onayla
addvaultwizard.new.passwordsMatch=Şifreler eşleşti!
addvaultwizard.new.passwordsDoNotMatch=Şifreler eşleşmiyor
addvaultwizard.new.createVaultBtn=Kasa Oluştur
addvaultwizard.new.recoveryKeyInstruction=111/5000\nBu senin kurtarma anahtarın. Güvende tutun, şifrenizi kaybederseniz verilerinizi kurtarmak için tek şansınız bu.
addvaultwizard.new.recoveryKeySavedCheckbox=Evet, bu kurtarma anahtarının güvenli bir şekilde yedeğini aldım
### Information
addvault.new.readme.storageLocation.fileName=BU DİZİN NEDİR.rtf
addvault.new.readme.storageLocation.1=\\fs40\\qc ⚠️ KASA DOSYALARI ⚠️
addvault.new.readme.storageLocation.2=Bu kasanızın depolama yeri. Bu dizindeki herhangi bir dosyayı asla {\\b DEĞİŞTİRMEYİN}.
addvault.new.readme.storageLocation.3=Dosyaları Cryptomator kullanarak şifrelemek istiyorsanız kasanın kilidini açın ve verilen sürücüyü kullanın.
addvault.new.readme.storageLocation.4=Eğer yardıma ihtiyacınız varsa, %s 'ı deneyin.
addvault.new.readme.accessLocation.fileName=KASANIZA HOŞGELDİNİZ.rtf
addvault.new.readme.accessLocation.1=\\fs40\\qc 🔐️ ŞİFRELENMİŞ BİRİM 🔐️
addvault.new.readme.accessLocation.2=Bu kasanızın erişim yeri. Bu birime eklenen dosyalar Cryptomator tarafından şifrelenir. Bu birime daha sonra bir daha erişmek için Cryptomator uygulamasından tekrar kilidini kaldırmanız yeterlidir.
addvault.new.readme.accessLocation.3=Bu dosyayı silmeye çekinmeyin.
## Existing
addvaultwizard.existing.instruction=Varolan kasanızın "masterkey.cryptomator" dosyasını seçin.
addvaultwizard.existing.chooseBtn=Seç…
addvaultwizard.existing.filePickerTitle=Masterkey Dosyasını Seç
## 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.confirmBtn=Kasayı Sil
# Change Password
changepassword.title=Şifreyi Değiştir
changepassword.enterOldPassword="%s" için şuanki şifreyi gir
changepassword.enterNewPassword=Kasanız için yeni bir şifre girin
changepassword.reenterNewPassword=Yeni şifreyi onaylayın
changepassword.passwordsMatch=Şifreler eşleşti!
changepassword.passwordsDoNotMatch=Şifreler eşleşmiyor
changepassword.finalConfirmation=Şifremi unutursam verilerimi kurtaramayacağımın farkındayım
# Forget Password
forgetPassword.title=Şifreyi Unut
forgetPassword.information=Bu, bu kasanın kaydedilmiş şifresini sistem anahtarlığınızdan siler.
forgetPassword.confirmBtn=Şifreyi Unut
# Unlock
unlock.title=Kasa Kilidini Aç
unlock.passwordPrompt="%s" için şifre girin:
unlock.savePassword=Şifreyi Kaydet
unlock.unlockBtn=Kilidi Aç
## Success
unlock.success.message="%s" 'nin kilidi başarıyla açıldı! Kasanız şimdi erişilebilir durumda.
unlock.success.revealBtn=Kasayı Göster
# Migration
migration.title=Kasayı Güncelle
## Start
migration.start.prompt="%s" kasanızın daha yeni bir biçime güncellenmesi gerekiyor. Devam etmeden önce, bu kasayı etkileyen bekleyen bir senkronizasyon olmadığından emin olun.
migration.start.confirm=Evet, kasam tamamen senkronize edildi
## Run
migration.run.enterPassword="%s" için şifre girin
migration.run.startMigrationBtn=Kasayı Taşı
## Sucess
migration.success.nextStepsInstructions="%s" başarıyla taşındı.\nKasanızın kilidini şimdi kaldırabilirsiniz.
migration.success.unlockNow=Kilidi Şimdi Aç
# Preferences
preferences.title=Seçenekler
## General
preferences.general=Genel
preferences.general.theme=Görünüş ve Davranış
preferences.general.startHidden=Cryptomator'ı başlatırken pencereyi gizle
preferences.general.debugLogging=Hata ayıklama günlüğünü etkinleştir
## Volume
preferences.volume=Sanal Sürücü
preferences.volume.type=Birim Tipi
preferences.volume.webdav.port=WebDAV Portu
preferences.volume.webdav.scheme=WebDAV Düzeni
## Updates
preferences.updates=Güncellemeler
preferences.updates.currentVersion=Şuanki Sürüm: %s
preferences.updates.autoUpdateCheck=Güncellemeleri otomatik kontrol et
preferences.updates.checkNowBtn=Şimdi Kontrol Et
preferences.updates.updateAvailable=%s sürümüne güncelleme mevcut.
# Main Window
main.closeBtn.tooltip=Kapat
main.preferencesBtn.tooltip=Seçenekler
## Vault List
main.vaultlist.emptyList.onboardingInstruction=Kasa eklemek için buraya tıklayın
main.vaultlist.contextMenu.remove=Kasayı Sil
main.vaultlist.addVaultBtn=Kasa Ekle
## Vault Detail
main.vaultDetail.lockedStatus=KİLİTLİ
main.vaultDetail.unlockedStatus=KİLİDİ AÇIK
main.vaultDetail.unlockBtn=Kilidi Aç
main.vaultDetail.optionsBtn=Kasa Ayarları
main.vaultDetail.accessLocation=Kasa içeriğinize buradan erişilebilir:
main.vaultDetail.revealBtn=Sürücüyü Göster
main.vaultDetail.lockBtn=Kilitle
main.vaultDetail.bytesPerSecondRead=okuma:
main.vaultDetail.bytesPerSecondWritten=yazma:
main.vaultDetail.throughput.idle=boşta
main.vaultDetail.throughput.kbps=%.1f kiB/s
main.vaultDetail.throughput.mbps=%.1f MiB/s
# Wrong File Alert
wrongFileAlert.title=Bilinmeyen Dosya
wrongFileAlert.btn=Tamam
wrongFileAlert.information=Cryptomator kasası gibi görünmeyen bir dosya veya klasör eklemeye çalıştınız. Verilerinizi şifrelemek için bir kasa oluşturun ve kilidini açın.
# Vault Options
vaultOptions.general=Genel
vaultOptions.general.changePasswordBtn=Şifreyi Değiştir
vaultOptions.mount=Bağlantı
vaultOptions.mount.readonly=Salt-Okunur
vaultOptions.mount.driveName=Sürücü Adı
vaultOptions.mount.customMountFlags=Özel Bağlantı Parametreleri
# Recovery Key
# Misc
passwordStrength.messageLabel.0=Çok zayıf
passwordStrength.messageLabel.1=Zayıf
passwordStrength.messageLabel.2=Orta
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

View File

@@ -1,126 +0,0 @@
app.name = كريبتوماتور
# main.fxml
main.emptyListInstructions = اضغط هنا لاضافة محفظة
main.directoryList.contextMenu.remove = ازل من القائمة
main.directoryList.contextMenu.changePassword = تغيير كلمة المرور
main.addDirectory.contextMenu.new = انشاء محفظة جديدة
main.addDirectory.contextMenu.open = افتح محفظة موجوده
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = فحص التحديثات
welcome.newVersionMessage = يمكنك الان تحميل الاصدار رقم %1$s\nالاصدار الحالي %2$s
# initialize.fxml
initialize.label.password = كلمة المرور
initialize.label.retypePassword = اعد كتابة كلمة المرور
initialize.button.ok = انشاء محفظة
initialize.messageLabel.alreadyInitialized = لقد تم تهيئة المحفظة
initialize.messageLabel.initializationFailed = تعذر تهيئة المحفظة . يرجي مراجعة ملف التفاصيل ( log file )
# notfound.fxml
notfound.label = تعذر العثور علي المحفظه , هل قمت بنقلها ؟
# upgrade.fxml
upgrade.button = ترقية المحفظة
upgrade.version3dropBundleExtension.msg = This vault needs to be migrated to a newer format.\n"%1$s" will be renamed to "%2$s".\nPlease make sure synchronization has finished before proceeding.
upgrade.version3dropBundleExtension.err.alreadyExists = Automatic migration failed.\n"%s" already exists.
# unlock.fxml
unlock.label.password = كلمة المرور
unlock.label.mountName = Drive Name
unlock.label.winDriveLetter = Custom Drive Letter
unlock.label.downloadsPageLink = جميع اصدارات كريبتوماتور
unlock.label.advancedHeading = خيارات اضافية
unlock.button.unlock = افتح المحفظة
unlock.button.advancedOptions.show = خيارات اكثر
unlock.button.advancedOptions.hide = خيارات اقل
unlock.choicebox.winDriveLetter.auto = دخول تلقائي
unlock.errorMessage.wrongPassword = كلمة مرور خاطئة
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = محفظة غير مدعومة . هذه المحفظة تم انشاؤها بواسطة اصدار اقدم من كريبتوماتور
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = محفظة غير مدعومة . هذه المحفظة تم انشاؤها بواسطة اصدار احدث من كريبتوماتور
# change_password.fxml
changePassword.label.oldPassword = كلمة المرور القديمة
changePassword.label.newPassword = كلمة المرور الجديدة
changePassword.label.retypePassword = اعد كتابة كلمة المرور
changePassword.label.downloadsPageLink = جميع اصدارات كريبتوماتور
changePassword.button.change = تغيير كلمة المرور
changePassword.errorMessage.wrongPassword = كلمة مرور خاطئة
changePassword.errorMessage.decryptionFailed = فشل فك التشفير
# unlocked.fxml
unlocked.button.lock = اغلاق المحفظة
unlocked.moreOptions.reveal = Reveal Drive
unlocked.label.revealFailed = Command failed
unlocked.label.unmountFailed = Ejecting drive failed
unlocked.label.statsEncrypted = مشفر
unlocked.label.statsDecrypted = غير مشفر
unlocked.ioGraph.yAxis.label = Throughput (MiB/s)
# settings.fxml
settings.version.label = الاصدار %s
settings.checkForUpdates.label = افحص التحديثات
# tray icon
tray.menu.open = فتح
tray.menu.quit = اغلاق
tray.infoMsg.title = لا يزال مستخدم
tray.infoMsg.msg = Cryptomator is still alive. Quit it from the tray icon.
tray.infoMsg.msg.osx = Cryptomator is still alive. Quit it from the menu bar icon.
initialize.messageLabel.passwordStrength.0 = ضعيف جدا
initialize.messageLabel.passwordStrength.1 = ضعيف
initialize.messageLabel.passwordStrength.2 = عادي
initialize.messageLabel.passwordStrength.3 = قوي
initialize.messageLabel.passwordStrength.4 = قوي جدا
initialize.label.doNotForget = هام \: في حالة نسيانك لكلمة المرور , لا يوجد طريقة لاستعادتها مره اخري
main.directoryList.remove.confirmation.title = ازالة المحفظة
main.directoryList.remove.confirmation.header = هل تريد فعلا ازالة المحفظة ؟
main.directoryList.remove.confirmation.content = The vault will only be removed from the list. To permanently delete it, please delete the vault from your filesystem.
upgrade.version3to4.msg = This vault needs to be migrated to a newer format.\nEncrypted folder names will be updated.\nPlease make sure synchronization has finished before proceeding.
upgrade.version3to4.err.io = Migration failed due to an I/O Exception. See log file for details.
# upgrade.fxml
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
unlock.label.savePassword = حفظ كلمة المرور
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
unlock.savePassword.delete.confirmation.title = حذف كلمة المرور المحفوظة
unlock.savePassword.delete.confirmation.header = Do you really want to delete the saved password of this vault?
unlock.savePassword.delete.confirmation.content = The saved password of this vault will be immediately deleted from your system keychain. If you'd like to save your password again, you'd have to unlock your vault with the "Save Password" option enabled.
settings.debugMode.label = Debug Mode
upgrade.version3dropBundleExtension.title = Vault Version 3 Upgrade (Drop Bundle Extension)
upgrade.version3to4.title = Vault Version 3 to 4 Upgrade
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
unlock.label.revealAfterMount = Reveal Drive
unlocked.lock.force.confirmation.title = Locking of %1$s failed
unlocked.lock.force.confirmation.header = Do you want to force locking?
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
upgrade.version5toX.title = Vault Version Upgrade
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
main.createVault.nonEmptyDir.title = Creating vault failed
main.createVault.nonEmptyDir.header = Chosen directory is not empty
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
settings.webdav.port.label = WebDAV Port
settings.webdav.port.prompt = 0 \= Choose automatically
settings.webdav.port.apply = Apply
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
settings.volume.label = Preferred Volume Type
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Vault was successfully created.
unlock.successLabel.passwordChanged = Password was successfully changed.
unlock.successLabel.upgraded = Vault was successfully upgraded.
unlock.label.useOwnMountPath = Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try Again
main.gracefulShutdown.button.forceShutdown = Force Shutdown
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Криптоматор
# main.fxml
main.emptyListInstructions = Натиснете тук за добавяне на сейф
main.directoryList.contextMenu.remove = Премахване от листата
main.directoryList.contextMenu.changePassword = Смяна на парола
main.addDirectory.contextMenu.new = Създаване на нов сейф
main.addDirectory.contextMenu.open = Отворяне на съществуващ сейф
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Проверка за обновления...
welcome.newVersionMessage = Версия %1$s може да бъде свалена.\nТази е %2$s.
# initialize.fxml
initialize.label.password = Парола
initialize.label.retypePassword = Повторете паролата
initialize.button.ok = Създаване на сейф
initialize.messageLabel.alreadyInitialized = Сейфа е вече активен
initialize.messageLabel.initializationFailed = Неуспешно активиране на сейф. Проверете лог файловете за повече информация.
# notfound.fxml
notfound.label = Сейфа не може да бъде намерен. Може би е бил преместен?
# upgrade.fxml
upgrade.button = Обновете сейфа
upgrade.version3dropBundleExtension.msg = Този сейф трябва да бъде променен към новия формат.\n"%1$s" ще бъде преименуван в "%2$s".\nМоля, уверете се, че синхронизацията е преключила преди да продължите.
upgrade.version3dropBundleExtension.err.alreadyExists = Автоматичната промяна е неуспешна. "%s" вече съществува.
# unlock.fxml
unlock.label.password = Парола
unlock.label.mountName = Име на диск
# Fuzzy
unlock.label.winDriveLetter = Инициали на диск
unlock.label.downloadsPageLink = Всички версии на Криптоматор
unlock.label.advancedHeading = Опции за напреднали
unlock.button.unlock = Отключване на сейф
unlock.button.advancedOptions.show = Повече опции
unlock.button.advancedOptions.hide = По-малко опции
unlock.choicebox.winDriveLetter.auto = Автоматично наименование на диска
unlock.errorMessage.wrongPassword = Неправилна парола
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Неподържана версия. Този сейф е бил създаден със стара версия на Криптоматор.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Неподържана версия. Този сейф е бил създаден с по-нова версия на Криптоматор.
# change_password.fxml
changePassword.label.oldPassword = Стара парола
changePassword.label.newPassword = Нова парола
changePassword.label.retypePassword = Повторете паролата
changePassword.label.downloadsPageLink = Всички версии на Криптоматор
changePassword.button.change = Смени паролата
changePassword.errorMessage.wrongPassword = Неправилна парола
changePassword.errorMessage.decryptionFailed = Неуспешно декриптиране
# unlocked.fxml
unlocked.button.lock = Заключване на Сейфа
unlocked.moreOptions.reveal = Покажи диска
unlocked.label.revealFailed = Командата е неуспешна
unlocked.label.unmountFailed = Изваждането на диска е неуспешно
unlocked.label.statsEncrypted = криптирано
unlocked.label.statsDecrypted = декрептирано
unlocked.ioGraph.yAxis.label = Скорост (MB/s)
# settings.fxml
settings.version.label = Версия %s
settings.checkForUpdates.label = Проверка за обновления
# tray icon
tray.menu.open = Отворяне
tray.menu.quit = Изход
tray.infoMsg.title = Все още върви
tray.infoMsg.msg = Криптоматор все още върви. Излезте от иконата в трея.
tray.infoMsg.msg.osx = Криптоматор все още върви. Излезте от иконата в менюто.
initialize.messageLabel.passwordStrength.0 = Прекалено слаба
initialize.messageLabel.passwordStrength.1 = Слаба
initialize.messageLabel.passwordStrength.2 = Добра
initialize.messageLabel.passwordStrength.3 = Силна
initialize.messageLabel.passwordStrength.4 = Много силна
initialize.label.doNotForget = ВАЖНО\: Ако забравите паролата, няма начин да възстановите данните.
main.directoryList.remove.confirmation.title = Премахване на сейф
main.directoryList.remove.confirmation.header = Наистина ли искате да премахнете този сейф?
main.directoryList.remove.confirmation.content = Този сейф ще бъде премахнат само от листа. За да го изтриете напълно, моля, изтрийте сейфа от файл системата.
upgrade.version3to4.msg = Този сейф трябва да бъде преместен към по-нов формат.\nКриптираните имена на папки ще бъдат обновени.\nМоля, проверете дали сихронизацията е приключила преди да продължите.
upgrade.version3to4.err.io = Преместването е отменено поради грешка в диска. Вижте лог файла за детайли.
# upgrade.fxml
upgrade.confirmation.label = Да, сигурен съм, че сихронизацията е приключила
unlock.label.savePassword = Запазване на парола
unlock.errorMessage.unauthenticVersionMac = Неуспешна оторизация на MAC версията
unlock.savePassword.delete.confirmation.title = Изтриване на запазената парола
unlock.savePassword.delete.confirmation.header = Неистина ли искате да изтриете запазената парола за този сейф?
unlock.savePassword.delete.confirmation.content = Запазената парола за този сейф ще бъде незабавно премахната от Вашата система. Ако желаете да запазите паролата отново, трябва да отключите сейса с пусната опция "Запазване на павола".
settings.debugMode.label = Режим за отстраняване на грешки
upgrade.version3dropBundleExtension.title = Обновяване до сейф версия 3
upgrade.version3to4.title = Обновяване на сейф от 3-та до 4-та версия
upgrade.version4to5.title = Обновяване на сейф от 4-та до 5-та версия
upgrade.version4to5.msg = Този сейф трябва да бъде променен към по-нов формат.\nКриптираните файлове ще бъдат обновени.\nМоля, проверете дали сихронизацията е приключила преди да продължите.\n\nЗабележка\: Датата на промяна на всички файлове ще бъде обновена до момента.
upgrade.version4to5.err.io = Преместването провалено поради грешка в диска. Вижте лог файла за детайли.
unlock.label.revealAfterMount = Показване на диска
unlocked.lock.force.confirmation.title = Заключването на %1$s провалено
unlocked.lock.force.confirmation.header = Желаете ли принудително заключване?
unlocked.lock.force.confirmation.content = Това е може би защото други програми все още използват файловете в сейфа или защото има някакъв друг проблем.\n\nПрограмите, имащи достъп до файловете, може да не работят правилно и информацията, незаписана от тези програми, може да бъде изгубена.
unlock.label.unlockAfterStartup = Автоматично отключване при стартиране (Експериментално)
unlock.errorMessage.unlockFailed = Грешка при отключване. Вижте лог файла за детайли.
upgrade.version5toX.title = Обновяване на версията на сейфа
upgrade.version5toX.msg = Този сейф трябва да бъде обновен до по-нов формат.\nМоля, уверете се, че сихронизацията е приключила, преди да продължите.
main.createVault.nonEmptyDir.title = Неуспешно създаване на сейф
main.createVault.nonEmptyDir.header = Избраната директория не е празна
main.createVault.nonEmptyDir.content = Избраната директория съдържа файлове /може би скрити/. Сейфът може да бъде създаден само в празна директория
settings.webdav.port.label = WebCAM порт
settings.webdav.port.prompt = 0 \= Автоматично избиране
settings.webdav.port.apply = Приложи
settings.webdav.prefGvfsScheme.label = WebDAV схема
settings.volume.label = Метод за точка
settings.volume.webdav = WebDAV
settings.volume.fuse = Предпазител
unlock.successLabel.vaultCreated = Сейфът беше създаден успешно
unlock.successLabel.passwordChanged = Паролата беше сменена успешно
unlock.successLabel.upgraded = Криптоматор беше обновен
# Fuzzy
unlock.label.useOwnMountPath = Използвайте собствена точка за монтиране
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try Again
main.gracefulShutdown.button.forceShutdown = Force Shutdown
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Feu click ací per afegir una caixa forta
main.directoryList.contextMenu.remove = Elimina de la llista
main.directoryList.contextMenu.changePassword = Canvia la contrasenya
main.addDirectory.contextMenu.new = Crea una caixa forta nova
main.addDirectory.contextMenu.open = Obri una caixa forta existent
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Comprovant actualitzacions
welcome.newVersionMessage = La versió %1$s és disponible per descarregar.\nLa versió actual és %2$s.
# initialize.fxml
initialize.label.password = Contrasenya
initialize.label.retypePassword = Torneu a escriure la contrasenya
initialize.button.ok = Crea una caixa forta
initialize.messageLabel.alreadyInitialized = La caixa forta ja està inicialitzada
initialize.messageLabel.initializationFailed = No s'ha pogut inicialitzar la caixa forta. Consulteu l'arxiu de registre per a més informació.
# notfound.fxml
notfound.label = No s'ha trobat la caixa forta. S'ha mogut a altre lloc?
# upgrade.fxml
upgrade.button = Actualitza la caixa forta
upgrade.version3dropBundleExtension.msg = Esta caixa forta es deu actualitzar a un format més modern.\nEs va a canviar el nom de "%1$s" a "%2$s".\nAssegureu-vos de que la sincronització ha acabat abans d'iniciar el procés.
upgrade.version3dropBundleExtension.err.alreadyExists = Error en la migració automàtica.\n"%s" ja existeix.
# unlock.fxml
unlock.label.password = Contrasenya
unlock.label.mountName = Nom de la unitat
# Fuzzy
unlock.label.winDriveLetter = Lletra de la unitat
unlock.label.downloadsPageLink = Totes les versions de Cryptomator
unlock.label.advancedHeading = Opcions avançades
unlock.button.unlock = Debloqueja la caixa forta
unlock.button.advancedOptions.show = Més opcions
unlock.button.advancedOptions.hide = Menys opcions
unlock.choicebox.winDriveLetter.auto = Assigna automàticament
unlock.errorMessage.wrongPassword = Contrasenya incorrecta
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = La caixa forta no és compatible. Aquesta caixa forta s'ha creat amb una versió anterior de Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = La caixa forta no és compatible. Aquesta caixa forta s'ha creat amb una versió més nova de Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Contrasenya antiga
changePassword.label.newPassword = Contrasenya nova
changePassword.label.retypePassword = Torneu a escriure la contrasenya
changePassword.label.downloadsPageLink = Totes les versions de Cryptomator
changePassword.button.change = Canvia la contrasenya
changePassword.errorMessage.wrongPassword = Contrasenya incorrecta
changePassword.errorMessage.decryptionFailed = Ha fallat el desencriptatge
# unlocked.fxml
unlocked.button.lock = Bloqueja la caixa forta
unlocked.moreOptions.reveal = Mostra la unitat
unlocked.label.revealFailed = L'ordre ha fallat
unlocked.label.unmountFailed = Error al expulsar la unidad
unlocked.label.statsEncrypted = xifrat
unlocked.label.statsDecrypted = desxifrat
unlocked.ioGraph.yAxis.label = Velocitat de transferència de dades (MiB/s)
# settings.fxml
settings.version.label = Versió %s
settings.checkForUpdates.label = Comprova si hi ha actualitzacions
# tray icon
tray.menu.open = Obri
tray.menu.quit = Surt
tray.infoMsg.title = Encara s'està executant
tray.infoMsg.msg = Cryptomator encara està executant-se. Sortiu des de la icona de la safata.
tray.infoMsg.msg.osx = Cryptomator encara està executant-se. Sortiu des de la icona de la barra de menú
initialize.messageLabel.passwordStrength.0 = Molt dèbil
initialize.messageLabel.passwordStrength.1 = Dèbil
initialize.messageLabel.passwordStrength.2 = Acceptable
initialize.messageLabel.passwordStrength.3 = Forta
initialize.messageLabel.passwordStrength.4 = Molt forta
initialize.label.doNotForget = IMPORTANT\: No hi ha manera de recuperar les dades si oblideu la contrasenya.
main.directoryList.remove.confirmation.title = Suprimeix la caixa forta
main.directoryList.remove.confirmation.header = ¿Esteu segur que voleu suprimir aquesta caixa forta?
main.directoryList.remove.confirmation.content = La caixa forta només es suprimeix de la llista. Per tal de eliminar-la permanentment esborreu la caixa forta del vostre sistema de fitxers.
upgrade.version3to4.msg = S'ha de migrar la caixa forta a un format més nou.\nS'actualitzaran els noms xifrats de les carpetes.\nAssegureu-vos que la sincronització ha acabat abans de continuar.
upgrade.version3to4.err.io = Error en la migració degut a una excepció de E/S. Comproveu el registre per veure'n els detalls.\n
# upgrade.fxml
upgrade.confirmation.label = Sí, m'he assegurat que la sincronització hagi acabat
unlock.label.savePassword = Desa la contrasenya
unlock.errorMessage.unauthenticVersionMac = No s'ha pogut autenticar la versió de MAC.
unlock.savePassword.delete.confirmation.title = Elimina la contrasenya desada
unlock.savePassword.delete.confirmation.header = Esteu segur que voleu eliminar la contrasenya desada d'aquesta unitat?
unlock.savePassword.delete.confirmation.content = La contrasenya desada d'aquesta caixa forta va a ser eliminada inmediatament del clauer del seu sistema. Si voleu tornar a desar la contrasenya haureu de tornar a desbloquejar la vostra caixa forta i activar l'opció "Desa la contrasenya".
settings.debugMode.label = Mode de depuració
upgrade.version3dropBundleExtension.title = Actualitza la caixa forta a la versió 3 (Drop Bundle Extension)
upgrade.version3to4.title = Actualitza la caixa forta de la versió 3 a la 4
upgrade.version4to5.title = Actualitza la caixa forta de la versió 4 a la 5
upgrade.version4to5.msg = S'ha de migrar la caixa forta a un format més nou.\nS'actualitzaran els fitxers xifrats.\nAssegureu-vos que la sincronització ha acabat abans de continuar.\n\nNota\: la data de modificació de tots els fitxers es canviarà a la data/hora del procés.
upgrade.version4to5.err.io = La migració ha fallat a causa d'una excepció d'E/S. Comproveu el registre per veure'n els detalls.
unlock.label.revealAfterMount = Mostra la unitat
unlocked.lock.force.confirmation.title = Ha fallat el bloqueig de %1$s
unlocked.lock.force.confirmation.header = Voleu forçar el bloqueig?
unlocked.lock.force.confirmation.content = Això pot ser perquè altres programes encara estan accedint als fitxers de la caixa forta o perquè s'ha produït un altre problema.\n\nEls programes què encara estan accedint als fitxers poden funcionar incorrectament i les dades què aquests programes no hagin escrit es poden perdre.
unlock.label.unlockAfterStartup = Desbloqueig automàtic al iniciar (experimental)
unlock.errorMessage.unlockFailed = Ha fallat el desbloqueig. Comproveu el registre per veure'n els detalls.
upgrade.version5toX.title = Actualització de la versió de la caixa forta
upgrade.version5toX.msg = S'ha de migrar la caixa forta a un format més nou.\nAssegureu-vos que la sincronització ha acabat abans de continuar.
main.createVault.nonEmptyDir.title = Ha fallat la creació de la caixa forta
main.createVault.nonEmptyDir.header = El directori seleccionat no és buit
main.createVault.nonEmptyDir.content = Hi ha fitxers (possibement ocults) al directori seleccionat. Només es pot crear una caixa forta a un directori buit.
settings.webdav.port.label = Port WebDAV
settings.webdav.port.prompt = 0 \= Tria automàticament
settings.webdav.port.apply = Aplica
settings.webdav.prefGvfsScheme.label = Esquema de WebDAV
settings.volume.label = Tipus de volum preferit
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = La caixa forta s'ha creat correctament.
unlock.successLabel.passwordChanged = La contrasenya s'ha canviat correctament.
unlock.successLabel.upgraded = Cryptomator s'ha actualitzat correctament.
# Fuzzy
unlock.label.useOwnMountPath = Utilitza un punt de muntatge personalitzat
welcome.askForUpdateCheck.dialog.title = Comprovació d'actualizacions
welcome.askForUpdateCheck.dialog.header = Activo la comprovació automàtica d'actualitzacions?
welcome.askForUpdateCheck.dialog.content = Recomanat\: Activa la comprovació d'actualitzacions per assegurar-vos que sempre teniu la darrera versió de Cryptomator instal·lada amb totes les actualitzacions de seguretat.\n\nPodeu canviar aquesta opció des de la configuració en qualsevol moment.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Ha fallat el bloqueig de la caixa(es) forta(es)
main.gracefulShutdown.dialog.header = La caixa(es) forta(es) és(són) en ús
main.gracefulShutdown.dialog.content = Hi ha programes encara estan utilitzant una caixa forta o més d'una. Tanqueu-los per permetre que Cryptomator es tanqui correctament i, a continuació, torneu-ho a intentar.\n\nSi això no funciona, es pot forçar l'aturada de Cryptomator tot i que no es recomana, donç pot comportar pèrdua de dades.
main.gracefulShutdown.button.tryAgain = Torna-ho a intentar
main.gracefulShutdown.button.forceShutdown = Força l'aturada
unlock.pendingMessage.unlocking = La caixa forta s'està desbloquejant...
unlock.failedDialog.title = El desbloqueig ha fallat
unlock.failedDialog.header = El desbloqueig ha fallat
unlock.failedDialog.content.mountPathNonExisting = El punt de muntatge no existeix.
unlock.failedDialog.content.mountPathNotEmpty = El punt de muntatge no és buit
unlock.label.useReadOnlyMode = Només de lectura
unlock.label.chooseMountPath = Trieu un directori buit...
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,130 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Trezor přidáte kliknutím zde\n
main.directoryList.contextMenu.remove = Odstranit ze seznamu
main.directoryList.contextMenu.changePassword = Změnit heslo
main.addDirectory.contextMenu.new = Vytvořit nový trezor
main.addDirectory.contextMenu.open = Otevřít existující trezor
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Hledání aktualizací...
welcome.newVersionMessage = Ke stažení je verze %1$s.\nNyní je nainstalovaná %2$s.
# initialize.fxml
initialize.label.password = Heslo
initialize.label.retypePassword = Zopakování hesla
initialize.button.ok = Vytvořit trezor
initialize.messageLabel.alreadyInitialized = Trezor je už připravený
initialize.messageLabel.initializationFailed = Trezor se nepodařilo připravit. Podrobnosti naleznete v souboru se záznamem událostí (log).
# notfound.fxml
notfound.label = Trezor nebyl nalezen. Možná byl přesunut?
# upgrade.fxml
upgrade.button = Přechod na novější verzi trezoru
upgrade.version3dropBundleExtension.msg = Tento trezor je třeba aktualizovat na novější formát.\n„%1$s“ bude přejmenováno na „%2$s“.\nNež budete pokračovat ověřte, že synchronizace byla dokončena.
upgrade.version3dropBundleExtension.err.alreadyExists = Automatický převod se nezdařil.\n„%s“ už existuje.
# unlock.fxml
unlock.label.password = Heslo
unlock.label.mountName = Název jednotky
# Fuzzy
unlock.label.winDriveLetter = Písmeno jednotky
unlock.label.downloadsPageLink = Všechny verze Cryptomator
unlock.label.advancedHeading = Pokročilé volby
unlock.button.unlock = Odemknout trezor
unlock.button.advancedOptions.show = Více možností
unlock.button.advancedOptions.hide = Méně možností
unlock.choicebox.winDriveLetter.auto = Přiřadit automaticky
unlock.errorMessage.wrongPassword = Chybné heslo
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Nepodporovaná verze trezoru. Byl vytvořen ve starším Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Nepodporovaná verze trezoru. Byl vytvořen v novějším Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Původní heslo
changePassword.label.newPassword = Nové heslo
changePassword.label.retypePassword = Zopakujte heslo
changePassword.label.downloadsPageLink = Všechny verze Cryptomator
changePassword.button.change = Změnit heslo
changePassword.errorMessage.wrongPassword = Chybné heslo
changePassword.errorMessage.decryptionFailed = Nepodařilo se rozšifrovat
# unlocked.fxml
unlocked.button.lock = Uzamknout trezor
unlocked.moreOptions.reveal = Odkrýt jednotku
unlocked.label.revealFailed = Vykonání příkazu se nezdařilo
unlocked.label.unmountFailed = Odpojení jednotky se nezdařilo
unlocked.label.statsEncrypted = zašifrováno
unlocked.label.statsDecrypted = rozšifrováno
unlocked.ioGraph.yAxis.label = Propustnost (MiB/s)
# settings.fxml
settings.version.label = Verze %s
settings.checkForUpdates.label = Zjistit případné aktualizace
# tray icon
tray.menu.open = Otevřít
tray.menu.quit = Ukončit
tray.infoMsg.title = Stále ještě spuštěné
tray.infoMsg.msg = Cryptomator je pořád ještě spuštěný. Ukončete ho přes ikonu v oznamovací oblasti.
tray.infoMsg.msg.osx = Cryptomator je pořád ještě spuštěný. Ukončete ho z ikony v liště nabídek.
initialize.messageLabel.passwordStrength.0 = Velmi slabé
initialize.messageLabel.passwordStrength.1 = Slabé
initialize.messageLabel.passwordStrength.2 = Dobré
initialize.messageLabel.passwordStrength.3 = Silné
# Easter egg for Czech users.
initialize.messageLabel.passwordStrength.4 = Velmi silné
initialize.label.doNotForget = DŮLEŽITÉ\: Pokud heslo ztratíte/zapomenete, nenávratně přijdete o přístup k datům\!
main.directoryList.remove.confirmation.title = Odebrat trezor
main.directoryList.remove.confirmation.header = Opravdu chcete tento trezor odebrat?
main.directoryList.remove.confirmation.content = Trezor bude pouze odebrán ze seznamu v Cryptomator. Končené odstranění provedete až smazáním jeho složky na souborovém systému.
upgrade.version3to4.msg = Tento trezor je třeba aktualizovat na novější formát.\nNázvy šifrovaných složek budou aktualizovány.\nNež budete pokračovat ověřte, že byla dokončena synchronizace.
upgrade.version3to4.err.io = Převod se nezdařil kvůli výjimce na vst./výst. Podrobnosti naleznete v souboru se záznamem událostí (log).
# upgrade.fxml
upgrade.confirmation.label = Ano, je ověřeno, že synchronizace byla dokončena
unlock.label.savePassword = Uložit heslo
unlock.errorMessage.unauthenticVersionMac = Nedaří se ověřit MAC funkci verze.
unlock.savePassword.delete.confirmation.title = Smazat uložené heslo
unlock.savePassword.delete.confirmation.header = Opravdu chcete smazat uložené heslo pro tento trezor?
unlock.savePassword.delete.confirmation.content = Uložené heslo k tomuto trezoru bude okamžitě vymazáno ze systémové klíčenky. Pokud ho tam budete chtít znovu uložit, bude třeba trezor odemknout se zapnutou volbou „Uložit heslo“.
settings.debugMode.label = Ladící režim
# Extension of what please? File, protocol, aplication extension for example? And bundle of what with what? Thanks :)
upgrade.version3dropBundleExtension.title = Přechod z verze 3 trezoru na novější (odebrat příp. .cryptomator a registraci bundle v macOS)
upgrade.version3to4.title = Aktualizace trezoru z verze 3 na 4
upgrade.version4to5.title = Aktualizace trezoru z verze 4 na 5
upgrade.version4to5.msg = Tento trezor je třeba aktualizovat na novější formát.\nZašifrované soubory budou aktualizovány.\nNež budete pokračovat ověřte, že synchronizace byla dokončena.\n\nPozn.\: Datum úpravy bude v rámci toho u všech dotčených souborů změněn na aktuální datum a čas.
upgrade.version4to5.err.io = Převod se nezdařil kvůli chybě na vstupu nebo výstupu. Podrobnosti naleznete v souboru se záznamem událostí (log).
unlock.label.revealAfterMount = Odkrýt jednotku
unlocked.lock.force.confirmation.title = Zamykání %1$s se nezdařilo
unlocked.lock.force.confirmation.header = Chcete vynutit uzamčení?
unlocked.lock.force.confirmation.content = Toto může být způsobeno tím, že ostatní aplikace stále ještě přistupují k souborům v trezoru nebo došlo k nějakému jinému problému.\n\nMůže se ovšem stát, že aplikace které stáje ještě pracují se soubory z trezoru to nemusí ustát a může dojít ke ztrátě ještě neuložených dat.
unlock.label.unlockAfterStartup = Automatické odemknutí při spuštění (experimentální)
unlock.errorMessage.unlockFailed = Odemknutí se nezdařilo. Podrobnosti naleznete v souboru se záznamem událostí (log).
upgrade.version5toX.title = Aktualizace verze trezoru
upgrade.version5toX.msg = Tento trezor je třeba aktualizovat na novější formát.\nNež budete pokračovat ověřte, že byla dokončena synchronizace.
main.createVault.nonEmptyDir.title = Vytvoření trezoru se nezdařilo
main.createVault.nonEmptyDir.header = Zvolená složka není prázdná
main.createVault.nonEmptyDir.content = Zvolená složka už obsahuje soubory (možná skryté). Trezor je možné vytvořit pouze v prázdné složce.
settings.webdav.port.label = Port WebDAV
settings.webdav.port.prompt = 0 \= zvolit automaticky
settings.webdav.port.apply = Použít
settings.webdav.prefGvfsScheme.label = WebDAV schéma
settings.volume.label = Způsob připojení (mount)
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Trezor byl úspěšně vytvořen.
unlock.successLabel.passwordChanged = Heslo bylo úspěšně změněno.
unlock.successLabel.upgraded = Cryptomator byl úspěšně povýšen na novou verzi.
# Fuzzy
unlock.label.useOwnMountPath = Použít vlastní přípojný bod
welcome.askForUpdateCheck.dialog.title = Zjišťování aktualizací
welcome.askForUpdateCheck.dialog.header = Zjišťovat automaticky nové verze?
welcome.askForUpdateCheck.dialog.content = Ke zjištění aktualizací, Cryptomator stáhne aktuální verzi z instalačních serverů a zobrazí nápovědu, když je k dispozici novější verze, než je nainstalovaná.\n\nDoporučujeme zapnout zjišťování aktualizací a zajistit tak, že vždy budete mít nejnovější verzi Cryptomator, se všemi opravami zabezpečení nainstalovanými. Pokud automatické zjišťování nezapnete, je možné ručně stahovat nejnovější verzi z https\://cryptomator.org/downloads/.\n\nToto nastavení je možné kdykoli změnit v nastavení aplikace.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Zamčení trezorů se nezdařilo
main.gracefulShutdown.dialog.header = Trezory v používání
main.gracefulShutdown.dialog.content = Jeden nebo více trezorů je stále v používání ostatními programy. Ukončete je aby se Cryptomator mohl správně vypnout a zkuste to znovu.\n\nPokud to nezabere, Cryptomator je možné vypnout vynuceně, ale to může vést ke ztrátě dat a není proto doporučeno.
main.gracefulShutdown.button.tryAgain = Zkusit znovu
main.gracefulShutdown.button.forceShutdown = Vynutit vypnutí
unlock.pendingMessage.unlocking = Odemykání trezoru…
unlock.failedDialog.title = Odemknutí se nezdařilo
unlock.failedDialog.header = Odemknutí se nezdařilo
unlock.failedDialog.content.mountPathNonExisting = Přípojný bod neexistuje.
unlock.failedDialog.content.mountPathNotEmpty = Přípojný bod není prázdný.
unlock.label.useReadOnlyMode = Pouze pro čtení
unlock.label.chooseMountPath = Zvolte prázdnou složku…
ctrl.secPasswordField.nonPrintableChars = Heslo obsahuje řídící znaky.\nDoporučení\: Odeberete je kvůli kompatibilitě s ostatními klienty.
ctrl.secPasswordField.capsLocked = Je zapnutá klávesa Caps Lock.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,127 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Tryk her for at tilføje en ny Vault
main.directoryList.contextMenu.remove = Fjern fra listen
main.directoryList.contextMenu.changePassword = Skift adgangskode
main.addDirectory.contextMenu.new = Opret ny Vault
main.addDirectory.contextMenu.open = Åben en eksisterende Vault
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Tjek for opdateringer
welcome.newVersionMessage = Version %1$s kan nu hentes.\nDette er %2$s.
# initialize.fxml
initialize.label.password = Adgangskode
initialize.label.retypePassword = Gentag Adgangskode
initialize.button.ok = Opret Vault
initialize.messageLabel.alreadyInitialized = Vault er allerede initialiseret
initialize.messageLabel.initializationFailed = Kunne ikke initialisere Vault. Se logfilen for yderligere detaljer.
# notfound.fxml
notfound.label = Vault'en kunne ikke findes. Er den blevet flyttet?
# upgrade.fxml
upgrade.button = Opgradér Vault
upgrade.version3dropBundleExtension.msg = Denne Vault skal migreres til et nyere format.\n"%1$s" vil blive omdøbt til "%2$s".\nVent venligst til al synkronisering er gennemført, inden du fortsætter.
upgrade.version3dropBundleExtension.err.alreadyExists = Automatisk migrering fejlede.\n"%s" eksisterer allerede.
# unlock.fxml
unlock.label.password = Adgangskode
unlock.label.mountName = Drev navn
# Fuzzy
unlock.label.winDriveLetter = Drev bogstav
unlock.label.downloadsPageLink = Alle Cryptomator versioner
unlock.label.advancedHeading = Avancerede Indstillinger
unlock.button.unlock = Lås op for Vault
unlock.button.advancedOptions.show = Flere valgmuligheder
unlock.button.advancedOptions.hide = Færre valgmuligheder
unlock.choicebox.winDriveLetter.auto = Tildel automatisk
unlock.errorMessage.wrongPassword = Forkert adgangskode
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Ikke-understøttet Vault. Denne Vault er blevet oprettet med en ældre version af Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Ikke-understøttet Vault. Denne Vault er blevet oprettet med en nyere version af Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Gammel adgangskode
changePassword.label.newPassword = Ny adgangskode
changePassword.label.retypePassword = Gentag adgangskode
changePassword.label.downloadsPageLink = Alle Cryptomator versioner
changePassword.button.change = Skift adgangskode
changePassword.errorMessage.wrongPassword = Forkert adgangskode
changePassword.errorMessage.decryptionFailed = Dekryptering fejlede
# unlocked.fxml
unlocked.button.lock = Lås Vault
unlocked.moreOptions.reveal = Vis drev
unlocked.label.revealFailed = Kommando fejlede
unlocked.label.unmountFailed = Afmontering af drev fejlede
unlocked.label.statsEncrypted = Krypteret
unlocked.label.statsDecrypted = Dekrypteret
unlocked.ioGraph.yAxis.label = Throughput (MiB/s)
# settings.fxml
settings.version.label = Version %s
settings.checkForUpdates.label = Tjek for opdateringer
# tray icon
tray.menu.open = Åbn
tray.menu.quit = Afslut
tray.infoMsg.title = Kører Stadig
tray.infoMsg.msg = Cryptomator kører stadig. Afslut programmet fra tray-ikonet.
tray.infoMsg.msg.osx = Cryptomator kører stadig. Afslut programmet fra menu-baren.
initialize.messageLabel.passwordStrength.0 = Meget svag
initialize.messageLabel.passwordStrength.1 = Svag
initialize.messageLabel.passwordStrength.2 = Mellem
initialize.messageLabel.passwordStrength.3 = Stærk
initialize.messageLabel.passwordStrength.4 = Meget stærk
initialize.label.doNotForget = VIGTIGT\: Hvis du glemmer dit password, er der ingen måde hvorpå data kan genskabes.
main.directoryList.remove.confirmation.title = Slet Vault
main.directoryList.remove.confirmation.header = Er du sikker på at du vil slette denne Vault?
main.directoryList.remove.confirmation.content = Valgte Vault vil kun blive slettet fra listen. For at slette denne permanent, skal du slette filerne fra dit filsystem.
upgrade.version3to4.msg = Denne Vault skal migreres til et nyere format.\nDe krypterede foldernavne vil blive opdateret.\nVent venligst til al synkronisering er gennemført, inden du fortsætter.
upgrade.version3to4.err.io = Migrering fejlede pga. en I/O fejl. Se logfilen for yderligere detaljer.
# upgrade.fxml
upgrade.confirmation.label = Ja, jeg har sikret mig at al synkronisering er gennemført.
unlock.label.savePassword = Gem adgangskode
unlock.errorMessage.unauthenticVersionMac = Kunne ikke autentificere versions-MAC
unlock.savePassword.delete.confirmation.title = Slet gemt adgangskode
unlock.savePassword.delete.confirmation.header = Er du sikker på at du vil slette den til Vault'en gemte adgangskode?
unlock.savePassword.delete.confirmation.content = Den til Vault'en gemte adgangskode vil blive slettet fra dit systems keychain med øjeblikkelig virkning. Hvis du vil gemme din adgangskode på ny, skal du låse din Vault op med indstillingen "Gem adgangskode" slået til.
settings.debugMode.label = Debug Tilstand
upgrade.version3dropBundleExtension.title = Vault Version 3 Opgradering (Drop Bundle Extension)
upgrade.version3to4.title = Vault Version 3 til 4 Opgradering
upgrade.version4to5.title = Vault Version 4 til 5 Opgradering
upgrade.version4to5.msg = Denne Vault skal migreres til et nyere format.\nDe krypterede filer vil blive opdateret.\nVent venligst til al synkronisering er gennemført, inden du fortsætter.\n\nNote\: Denne proces vil påvirke ændringsdato og -tidspunkt for samtlige filer.
upgrade.version4to5.err.io = Migrering fejlede pga. en I/O fejl. Se logfilen for yderligere detaljer.
unlock.label.revealAfterMount = Vis drev
unlocked.lock.force.confirmation.title = Locking of %1$s failed
unlocked.lock.force.confirmation.header = Do you want to force locking?
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
upgrade.version5toX.title = Vault Version Upgrade
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
main.createVault.nonEmptyDir.title = Creating vault failed
main.createVault.nonEmptyDir.header = Chosen directory is not empty
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
settings.webdav.port.label = WebDAV Port
settings.webdav.port.prompt = 0 \= Choose automatically
settings.webdav.port.apply = Apply
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
settings.volume.label = Preferred Volume Type
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Vault was successfully created.
unlock.successLabel.passwordChanged = Password was successfully changed.
unlock.successLabel.upgraded = Vault was successfully upgraded.
unlock.label.useOwnMountPath = Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try Again
main.gracefulShutdown.button.forceShutdown = Force Shutdown
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,126 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Klicken Sie hier, um neue Tresore hinzuzufügen
main.directoryList.contextMenu.remove = Aus Liste entfernen
main.directoryList.contextMenu.changePassword = Passwort ändern
main.addDirectory.contextMenu.new = Tresor erstellen
main.addDirectory.contextMenu.open = Tresor öffnen
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Prüfe auf Updates...
welcome.newVersionMessage = Version %1$s kann heruntergeladen werden.\nInstallierte Version %2$s.
# initialize.fxml
initialize.label.password = Passwort
initialize.label.retypePassword = Passwort bestätigen
initialize.button.ok = Tresor erstellen
initialize.messageLabel.alreadyInitialized = Tresor bereits vorhanden
initialize.messageLabel.initializationFailed = Fehler beim Initialisieren. Details in der Log-Datei.
# notfound.fxml
notfound.label = Tresor konnte nicht gefunden werden.\nWurde er verschoben?
# upgrade.fxml
upgrade.button = Tresor aktualisieren
upgrade.version3dropBundleExtension.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\n"%1$s" wird in "%2$s" umbenannt.\nStellen Sie bitte sicher, dass derzeit keine Synchronisation stattfindet.
upgrade.version3dropBundleExtension.err.alreadyExists = Migration fehlgeschlagen.\n"%s" existiert bereits.
# unlock.fxml
unlock.label.password = Passwort
unlock.label.mountName = Laufwerksname
unlock.label.winDriveLetter = Eigener Laufwerksbuchstabe
unlock.label.downloadsPageLink = Alle Cryptomator Versionen
unlock.label.advancedHeading = Erweiterte Optionen
unlock.button.unlock = Tresor entsperren
unlock.button.advancedOptions.show = Weitere Optionen
unlock.button.advancedOptions.hide = Weniger Optionen
unlock.choicebox.winDriveLetter.auto = Automatisch ermitteln
unlock.errorMessage.wrongPassword = Falsches Passwort
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Tresor nicht unterstützt. Der Tresor wurde mit einer älteren Version von Cryptomator erstellt.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Tresor nicht unterstützt. Der Tresor wurde mit einer neueren Version von Cryptomator erstellt.
# change_password.fxml
changePassword.label.oldPassword = Altes Passwort
changePassword.label.newPassword = Neues Passwort
changePassword.label.retypePassword = Passwort bestätigen
changePassword.label.downloadsPageLink = Alle Cryptomator Versionen
changePassword.button.change = Passwort ändern
changePassword.errorMessage.wrongPassword = Falsches Passwort
changePassword.errorMessage.decryptionFailed = Entschlüsselung fehlgeschlagen
# unlocked.fxml
unlocked.button.lock = Tresor sperren
unlocked.moreOptions.reveal = Laufwerk anzeigen
unlocked.label.revealFailed = Befehl fehlgeschlagen
unlocked.label.unmountFailed = Trennen des Laufwerks fehlgeschlagen
unlocked.label.statsEncrypted = verschlüsselt
unlocked.label.statsDecrypted = entschlüsselt
unlocked.ioGraph.yAxis.label = Durchsatz (MiB/s)
# settings.fxml
settings.version.label = Version %s
settings.checkForUpdates.label = Auf Updates prüfen
# tray icon
tray.menu.open = Öffnen
tray.menu.quit = Beenden
tray.infoMsg.title = Cryptomator läuft noch
tray.infoMsg.msg = Cryptomator läuft noch. Mit dem Tray-Icon beenden.
tray.infoMsg.msg.osx = Cryptomator läuft noch. Über die Menüleiste beenden.
initialize.messageLabel.passwordStrength.0 = Sehr schwach
initialize.messageLabel.passwordStrength.1 = Schwach
initialize.messageLabel.passwordStrength.2 = Mittel
initialize.messageLabel.passwordStrength.3 = Stark
initialize.messageLabel.passwordStrength.4 = Sehr stark
initialize.label.doNotForget = WICHTIG\: Falls Sie Ihr Passwort vergessen, gibt es keine Möglichkeit Ihre Daten wiederherzustellen.
main.directoryList.remove.confirmation.title = Tresor entfernen
main.directoryList.remove.confirmation.header = Möchten Sie diesen Tresor wirklich entfernen?
main.directoryList.remove.confirmation.content = Dieser Tresor wird nur aus der Liste entfernt. Um den Tresor unwiderruflich zu löschen, entfernen Sie bitte den Tresor aus Ihrem Dateisystem.
upgrade.version3to4.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\nVerschlüsselte Ordnernamen werden dabei aktualisiert.\nStellen Sie bitte sicher, dass derzeit keine Synchronisation stattfindet.
upgrade.version3to4.err.io = Migration aufgrund eines I/O-Fehlers fehlgeschlagen.\nWeitere Informationen in der Log-Datei.
# upgrade.fxml
upgrade.confirmation.label = Ja, die Synchronisation ist abgeschlossen
unlock.label.savePassword = Passwort speichern
unlock.errorMessage.unauthenticVersionMac = Versions-MAC konnte nicht authentifiziert werden.
unlock.savePassword.delete.confirmation.title = Gespeichertes Passwort löschen
unlock.savePassword.delete.confirmation.header = Möchten Sie das gespeicherte Passwort von diesem Tresor wirklich löschen?
unlock.savePassword.delete.confirmation.content = Das gespeicherte Passwort von diesem Tresor wird sofort aus Ihrem System-Schlüsselbund gelöscht. Falls Sie das Passwort erneut speichern möchten, müssen Sie den Tresor entsperren und dabei die "Passwort speichern"-Option aktiviert haben.
settings.debugMode.label = Debug-Modus
upgrade.version3dropBundleExtension.title = Upgrade Tresor-Version 3 (Entfall der Bundle-Extension)
upgrade.version3to4.title = Upgrade Tresor-Version 3 zu 4
upgrade.version4to5.title = Upgrade Tresor-Version 4 zu 5
upgrade.version4to5.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\nVerschlüsselte Dateien werden dabei aktualisiert.\nStellen Sie sicher, dass keine Synchronisation stattfindet, bevor Sie fortfahren.\n\nHinweis\: Beim Upgrade wird das Änderungsdatum aller Dateien auf das aktuelle Datum geändert.
upgrade.version4to5.err.io = Migration aufgrund eines I/O-Fehlers fehlgeschlagen.\nWeitere Informationen in der Log-Datei.
unlock.label.revealAfterMount = Laufwerk anzeigen
unlocked.lock.force.confirmation.title = Sperren von %1$s fehlgeschlagen
unlocked.lock.force.confirmation.header = Möchten Sie das Sperren erzwingen?
unlocked.lock.force.confirmation.content = Dies kann passieren, wenn andere Programme weiterhin auf Dateien im Tresor zugreifen. Oder es ist ein anderes Problem aufgetreten.\n\nProgramme, die weiterhin auf die Dateien zugreifen, könnten nicht mehr richtig funktionieren, oder Daten, die durch diese Programme noch nicht geschrieben wurden, könnten verloren gehen.
unlock.label.unlockAfterStartup = Automatisch entsperren beim Start (Experimentell)
unlock.errorMessage.unlockFailed = Entsperren fehlgeschlagen. Siehe Log-Datei für Details.
upgrade.version5toX.title = Upgrade Tresor-Version 5 zu X
upgrade.version5toX.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\nStellen Sie sicher, dass keine Synchronisation stattfindet, bevor Sie fortfahren.
main.createVault.nonEmptyDir.title = Erstellung des Tresors fehlgeschlagen
main.createVault.nonEmptyDir.header = Ausgewählter Ordner ist nicht leer
main.createVault.nonEmptyDir.content = Der ausgewählte Ordner enthält bereits Dateien (möglicherweise unsichtbar). Ein Tresor kann nur innerhalb eines leeren Ordners erstellt werden.
settings.webdav.port.label = WebDAV-Port
settings.webdav.port.prompt = 0 \= automatische Auswahl
settings.webdav.port.apply = Anwenden
settings.webdav.prefGvfsScheme.label = WebDAV URL Schema
settings.volume.label = Laufwerkseinbindung
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Der Tresor wurde erfolgreich erstellt.
unlock.successLabel.passwordChanged = Das Passwort wurde erfolgreich geändert.
unlock.successLabel.upgraded = Der Tresor wurde erfolgreich aktualisiert.
unlock.label.useOwnMountPath = Eigenes Laufwerksverzeichnis
welcome.askForUpdateCheck.dialog.title = Auf Updates prüfen
welcome.askForUpdateCheck.dialog.header = Eingebaute Update-Prüfung aktivieren?
welcome.askForUpdateCheck.dialog.content = Empfehlung\: Aktivieren Sie die Update-Prüfung, um sicherzustellen, dass Sie stets die neueste Cryptomator-Version mit allen Sicherheits-Patches verwenden.\n\nDiese Einstellung können Sie jederzeit im Einstellungs-Menü ändern.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Sperren des Tresors gescheitert
main.gracefulShutdown.dialog.header = Tresor in Gebrauch
main.gracefulShutdown.dialog.content = Ein oder mehrere Tresore werden noch von anderen Programmen genutzt. Bitte schliessen Sie die Programme um es Cryptomator zu ermöglichen richtig herunter zu fahren. Versuchen Sie es danach erneut.\n\nFalls dies nicht klappt, kann Cryptomator das Beenden erzwingen. Dies kann zu einem Datenverlust führen und ist nicht empfohlen.
main.gracefulShutdown.button.tryAgain = Versuchen Sie es erneut
main.gracefulShutdown.button.forceShutdown = Herunterfahren erzwingen
unlock.pendingMessage.unlocking = Entsperre Tresor...
unlock.failedDialog.title = Entsperren fehlgeschlagen
unlock.failedDialog.header = Entsperren fehlgeschlagen
unlock.failedDialog.content.mountPathNonExisting = Laufwerksverzeichnis existiert nicht.
unlock.failedDialog.content.mountPathNotEmpty = Laufwerksverzeichnis ist nicht leer.
unlock.label.useReadOnlyMode = Nur lesend
unlock.label.chooseMountPath = Leeren Ordner auswählen…
ctrl.secPasswordField.nonPrintableChars = Das Passwort enthält Steuerzeichen.\nEmpfehlung\: Entfernen Sie diese, um die Kompatibilität mit anderen Clients sicherzustellen.
ctrl.secPasswordField.capsLocked = Die Feststelltaste ist aktiviert.
unlock.label.useCustomMountFlags = Eigene Laufwerksoptionen
unlock.choicebox.winDriveLetter.occupied = belegt

View File

@@ -1,147 +0,0 @@
# Copyright (c) 2016 The Cryptomator Contributors
# This file is licensed under the terms of the MIT license.
# See the LICENSE.txt file for more info.
#
# Contributors:
# Sebastian Stenzel - initial translation
app.name=Cryptomator
ctrl.secPasswordField.nonPrintableChars=Password contains control characters.\nRecommendation: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked=Caps Lock is activated.
# main.fxml
main.emptyListInstructions=Click here to add a vault
main.directoryList.contextMenu.remove=Remove from List
main.directoryList.contextMenu.changePassword=Change Password
main.addDirectory.contextMenu.new=Create New Vault
main.addDirectory.contextMenu.open=Open Existing Vault
main.directoryList.remove.confirmation.title=Remove Vault
main.directoryList.remove.confirmation.header=Do you really want to remove this vault?
main.directoryList.remove.confirmation.content=The vault will only be removed from the list. To permanently delete it, please delete the vault from your filesystem.
main.createVault.nonEmptyDir.title=Creating vault failed
main.createVault.nonEmptyDir.header=Chosen directory is not empty
main.createVault.nonEmptyDir.content=The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
main.gracefulShutdown.dialog.title=Locking vault(s) failed
main.gracefulShutdown.dialog.header=Vault(s) in use
main.gracefulShutdown.dialog.content=One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain=Try Again
main.gracefulShutdown.button.forceShutdown=Force Shutdown
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking=Checking for Updates...
welcome.newVersionMessage=Version %1$s can be downloaded.\nThis is %2$s.
welcome.askForUpdateCheck.dialog.title=Update check
welcome.askForUpdateCheck.dialog.header=Enable the integrated update check?
welcome.askForUpdateCheck.dialog.content=Recommended: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
# initialize.fxml
initialize.label.password=Password
initialize.label.retypePassword=Retype Password
initialize.button.ok=Create Vault
initialize.messageLabel.alreadyInitialized=Vault already initialized
initialize.messageLabel.initializationFailed=Could not initialize vault. See log file for details.
initialize.messageLabel.passwordStrength.0=Very weak
initialize.messageLabel.passwordStrength.1=Weak
initialize.messageLabel.passwordStrength.2=Fair
initialize.messageLabel.passwordStrength.3=Strong
initialize.messageLabel.passwordStrength.4=Very strong
initialize.label.doNotForget=IMPORTANT: If you forget your password, there is no way to recover your data.
# notfound.fxml
notfound.label=Vault couldn't be found. Has it been moved?
# upgrade.fxml
upgrade.confirmation.label=Yes, I've made sure that synchronization has finished
upgrade.button=Upgrade Vault
upgrade.version3dropBundleExtension.title=Vault Version 3 Upgrade (Drop Bundle Extension)
upgrade.version3dropBundleExtension.msg=This vault needs to be migrated to a newer format.\n"%1$s" will be renamed to "%2$s".\nPlease make sure synchronization has finished before proceeding.
upgrade.version3dropBundleExtension.err.alreadyExists=Automatic migration failed.\n"%s" already exists.
upgrade.version3to4.title=Vault Version 3 to 4 Upgrade
upgrade.version3to4.msg=This vault needs to be migrated to a newer format.\nEncrypted folder names will be updated.\nPlease make sure synchronization has finished before proceeding.
upgrade.version3to4.err.io=Migration failed due to an I/O Exception. See log file for details.
upgrade.version4to5.title=Vault Version 4 to 5 Upgrade
upgrade.version4to5.msg=This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote: Modification date of all files will be changed to the current date/time in the process.
upgrade.version4to5.err.io=Migration failed due to an I/O Exception. See log file for details.
upgrade.version5toX.title=Vault Version Upgrade
upgrade.version5toX.msg=This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
# unlock.fxml
unlock.label.password=Password
unlock.label.savePassword=Save Password
unlock.label.mountName=Drive Name
unlock.label.useCustomMountFlags=Custom Mount Flags
unlock.label.unlockAfterStartup=Auto-Unlock on Start (Experimental)
unlock.label.revealAfterMount=Reveal Drive
unlock.label.useReadOnlyMode=Read-Only
unlock.label.winDriveLetter=Custom Drive Letter
unlock.label.useOwnMountPath=Custom Mount Point
unlock.label.chooseMountPath=Choose empty directory…
unlock.label.downloadsPageLink=All Cryptomator versions
unlock.button.unlock=Unlock Vault
unlock.button.advancedOptions.show=More Options
unlock.button.advancedOptions.hide=Less Options
unlock.savePassword.delete.confirmation.title=Delete Saved Password
unlock.savePassword.delete.confirmation.header=Do you really want to delete the saved password of this vault?
unlock.savePassword.delete.confirmation.content=The saved password of this vault will be immediately deleted from your system keychain. If you'd like to save your password again, you'd have to unlock your vault with the "Save Password" option enabled.
unlock.choicebox.winDriveLetter.auto=Assign automatically
unlock.choicebox.winDriveLetter.occupied=occupied
unlock.errorMessage.wrongPassword=Wrong password
unlock.errorMessage.unlockFailed=Unlock failed. See log file for details.
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware=Unsupported vault. This vault has been created with an older version of Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault=Unsupported vault. This vault has been created with a newer version of Cryptomator.
unlock.errorMessage.unauthenticVersionMac=Could not authenticate version MAC.
unlock.successLabel.vaultCreated=Vault was successfully created.
unlock.successLabel.passwordChanged=Password was successfully changed.
unlock.successLabel.upgraded=Vault was successfully upgraded.
unlock.failedDialog.title=Unlock failed
unlock.failedDialog.header=Unlock failed
unlock.failedDialog.content.mountPathNonExisting=Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty=Mount point is not empty.
# change_password.fxml
changePassword.label.oldPassword=Old Password
changePassword.label.newPassword=New Password
changePassword.label.retypePassword=Retype Password
changePassword.label.downloadsPageLink=All Cryptomator versions
changePassword.button.change=Change Password
changePassword.errorMessage.wrongPassword=Wrong password
changePassword.errorMessage.decryptionFailed=Decryption failed
# unlocked.fxml
unlocked.button.lock=Lock Vault
unlocked.moreOptions.reveal=Reveal Drive
unlocked.label.revealFailed=Command failed
unlocked.label.unmountFailed=Ejecting drive failed
unlocked.label.statsEncrypted=encrypted
unlocked.label.statsDecrypted=decrypted
unlocked.ioGraph.yAxis.label=Throughput (MiB/s)
unlocked.lock.force.confirmation.title=Locking of %1$s failed
unlocked.lock.force.confirmation.header=Do you want to force locking?
unlocked.lock.force.confirmation.content=This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
# settings.fxml
settings.version.label=Version %s
settings.checkForUpdates.label=Check for Updates
settings.webdav.port.label=WebDAV Port
settings.webdav.port.prompt=0 = Choose automatically
settings.webdav.port.apply=Apply
settings.webdav.prefGvfsScheme.label=WebDAV Scheme
settings.debugMode.label=Debug Mode
settings.volume.label=Preferred Volume Type
settings.volume.webdav=WebDAV
settings.volume.fuse=FUSE
settings.volume.dokany=Dokany
# tray icon
tray.menu.open=Open
tray.menu.quit=Quit
tray.infoMsg.title=Still Running
tray.infoMsg.msg=Cryptomator is still alive. Quit it from the tray icon.
tray.infoMsg.msg.osx=Cryptomator is still alive. Quit it from the menu bar icon.

View File

@@ -1,130 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Haga clic aquí para añadir una caja fuerte
# should it be imperative?
main.directoryList.contextMenu.remove = Eliminar de la lista
main.directoryList.contextMenu.changePassword = Cambiar la contraseña
main.addDirectory.contextMenu.new = Crear una nueva caja fuerte
main.addDirectory.contextMenu.open = Abrir una caja fuerte existente
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Comprobando actualizaciones...
welcome.newVersionMessage = La versión %1$s está disponible para descargar.\nLa versión actual es %2$s.
# initialize.fxml
initialize.label.password = Contraseña
initialize.label.retypePassword = Repetir contraseña
initialize.button.ok = Crear caja fuerte
initialize.messageLabel.alreadyInitialized = La caja fuerte ya está inicializada
initialize.messageLabel.initializationFailed = No se ha podido inicializar la caja fuerte. Consulte el archivo de registro para más información.
# notfound.fxml
notfound.label = No se ha encontrado la caja fuerte. ¿Se movió a otro lugar?
# upgrade.fxml
upgrade.button = Actualizar caja fuerte
upgrade.version3dropBundleExtension.msg = Este caja fuerte se debe actualizar a un formato más moderno.\n"%1$s" se renombrará a "%2$s".\nAsegúrese de que la sincronización ha terminado antes de iniciar el proceso.
upgrade.version3dropBundleExtension.err.alreadyExists = Error en la migración automática.\n"%s" ya existe.
# unlock.fxml
unlock.label.password = Contraseña
unlock.label.mountName = Nombre de la unidad
# Fuzzy
unlock.label.winDriveLetter = Letra de la unidad
unlock.label.downloadsPageLink = Todas las versiones de Cryptomator
unlock.label.advancedHeading = Opciones avanzadas
unlock.button.unlock = Desbloquear caja fuerte
unlock.button.advancedOptions.show = Más opciones
unlock.button.advancedOptions.hide = Menos opciones
unlock.choicebox.winDriveLetter.auto = Asignar automáticamente
unlock.errorMessage.wrongPassword = Contraseña incorrecta
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Caja fuerte no soportada. Esta caja se ha creado con una versión anterior de Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Caja fuerte no soportada. Esta caja se ha creado con una versión más moderna de Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Contraseña antigua
# Can also use "current password" = "contraseña actual"
changePassword.label.newPassword = Nueva contraseña
changePassword.label.retypePassword = Repetir contraseña
changePassword.label.downloadsPageLink = Todas las versiones de Cryptomator
changePassword.button.change = Cambiar contraseña
changePassword.errorMessage.wrongPassword = Contraseña incorrecta
changePassword.errorMessage.decryptionFailed = Error en el descifrado
# unlocked.fxml
unlocked.button.lock = Bloquear caja fuerte
unlocked.moreOptions.reveal = Revelar unidad
unlocked.label.revealFailed = La orden ha fallado
unlocked.label.unmountFailed = Error al expulsar la unidad
unlocked.label.statsEncrypted = encriptado
unlocked.label.statsDecrypted = desencriptado
unlocked.ioGraph.yAxis.label = Rendimiento (MiB/s)
# settings.fxml
settings.version.label = Versión %s
settings.checkForUpdates.label = Comprobar actualizaciones
# tray icon
tray.menu.open = Abrir
tray.menu.quit = Salir
tray.infoMsg.title = Todavía en ejecución
tray.infoMsg.msg = Cryptomator todavía está en ejecución. Para salir use el icono de la bandeja.
tray.infoMsg.msg.osx = Cryptomator todavía está en ejecución. Para salir use el icono de la barra del menú.
initialize.messageLabel.passwordStrength.0 = Muy débil
initialize.messageLabel.passwordStrength.1 = Débil
initialize.messageLabel.passwordStrength.2 = Suficiente
initialize.messageLabel.passwordStrength.3 = Fuerte
initialize.messageLabel.passwordStrength.4 = Muy fuerte
initialize.label.doNotForget = IMPORTANTE\: Si olvida la contraseña, no habrá ninguna manera de recuperar los datos.
main.directoryList.remove.confirmation.title = Borrar caja fuerte
main.directoryList.remove.confirmation.header = ¿Quiere de realmente eliminar esta caja fuerte?
main.directoryList.remove.confirmation.content = La caja fuerte solo se elimina de la lista. Para borrarla permanente elimine los datos de su sistema de archivos.
upgrade.version3to4.msg = Este caja fuerte se debe migrar a un formato más moderno.\nLos nombres de las carpetas cifradas se actualizarán.\nAsegúrese de que la sincronización ha terminado antes de continuar.
upgrade.version3to4.err.io = Error en la migración debido a una excepción de E/S. Consulte el archivo de registro para más información.
# upgrade.fxml
upgrade.confirmation.label = Sí, me he asegurado de que la sincronización ha terminado
unlock.label.savePassword = Guardar contraseña
unlock.errorMessage.unauthenticVersionMac = No se pudo autentificar la versión de MAC.
unlock.savePassword.delete.confirmation.title = Borrar contraseña guardada
unlock.savePassword.delete.confirmation.header = ¿Quiere realmente borrar la contraseña guardada de esta unidad?
unlock.savePassword.delete.confirmation.content = La contraseña guardada de esta caja fuerte, será borrada inmediatamente del sistema de claves. Si quiere guardar su contraseña de nuevo, tiene que volver a desbloquear la caja fuerte marcando la opción de "Guardar contraseña".
settings.debugMode.label = Modo depuración
upgrade.version3dropBundleExtension.title = Actualizar caja fuerte a la versión 3 (Drop Bundle Extension)
upgrade.version3to4.title = Actualizar caja fuerte de versión 3 a 4
upgrade.version4to5.title = Actualizar caja fuerte de versión 4 a 5
upgrade.version4to5.msg = Esta caja fuerte tiene que ser migrada a un formato más moderno.\nLos archivos encriptados se actualizarán.\nAsegúrese de que la sincronización ha terminado antes de iniciar el proceso.\n\nNota\: las fechas de modificación de todos los archivos, se cambiarán a la fecha actual.
upgrade.version4to5.err.io = Error en la migración debido a una excepción E/S. Consulte el archivo de registro para más información.
unlock.label.revealAfterMount = Revelar unidad
unlocked.lock.force.confirmation.title = Error al bloquear %1$s
unlocked.lock.force.confirmation.header = ¿Quiere forzar el bloqueo?
unlocked.lock.force.confirmation.content = Esto puede ser debido a que otros programas estén todavía accediendo a la caja fuerte o porque se ha producido algún otro problema.\n\nLos programas que estén todavía accediendo a los archivos pueden no funcionar correctamente y se pueden perder los datos pendientes de escribir por estos programas.
unlock.label.unlockAfterStartup = Autodesbloqueo al arrancar (experimental)
unlock.errorMessage.unlockFailed = Error al desbloquear. Consulte el archivo de registro para más información.
upgrade.version5toX.title = Actualizar la versión de la caja fuerte
upgrade.version5toX.msg = Esta caja fuerte debe ser migrada a un formato más moderno.\nAsegúrese de que la sincronización ha terminado antes de iniciar el proceso.
main.createVault.nonEmptyDir.title = Error en la creación de la bóveda
main.createVault.nonEmptyDir.header = El directorio elegido no está vacío
main.createVault.nonEmptyDir.content = El directorio seleccionado ya contiene archivos (posiblemente ocultos). Una bóveda sólo puede crearse en un directorio vacío.
settings.webdav.port.label = Puerto WebDAV
settings.webdav.port.prompt = 0 \= Elige automáticamente
settings.webdav.port.apply = Aplicar
settings.webdav.prefGvfsScheme.label = Esquema de WebDAV
settings.volume.label = Método de montaje
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = La caja fuerte fue creada exitosamente.
unlock.successLabel.passwordChanged = La contraseña ha sido cambiada con éxito.
unlock.successLabel.upgraded = Cryptomator fue actualizado exitosamente.
# Fuzzy
unlock.label.useOwnMountPath = Usar Punto de montaje propio
welcome.askForUpdateCheck.dialog.title = Buscar actualización
welcome.askForUpdateCheck.dialog.header = ¿Habilitar la búsqueda de actualizaciones automática?
welcome.askForUpdateCheck.dialog.content = Para buscar actualizaciones, Cryptomator buscará la versión actual en los servidores de Cryptomator y le mostrará una sugerencia si hay una versión más nueva disponible.\n\nRecomendamos habilitar la comprobación de actualización para asegurarse siempre de que tiene instalada la versión más reciente de Cryptomator, con todos los parches de seguridad. Si no habilita la verificación de actualización, puede verificar y descargar la versión actual desde https\://cryptomator.org/downloads/.\n\nPuede cambiar esto en cualquier momento desde dentro de la configuración.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = No fue posible cerrar la(s) caja(s) fuerte(s)
main.gracefulShutdown.dialog.header = Caja(s) Fuertes(s) en uso
main.gracefulShutdown.dialog.content = Una o más cajas fuertes están siendo utilizadas por otros programas. Por favor ciérrelos para permitir a Cryptomator cerrarse adecuadamente, e intente de nuevo.\n\nSi esto no funciona, Cryptomator puede cerrarse forzosamente, pero esta vía puede provocar pérdida de información y no es recomendada.
main.gracefulShutdown.button.tryAgain = Intente de nuevo
main.gracefulShutdown.button.forceShutdown = Forzar apagado
unlock.pendingMessage.unlocking = Desbloqueando la caja fuerte...
unlock.failedDialog.title = Falló el desbloqueo
unlock.failedDialog.header = Falló el desbloqueo
unlock.failedDialog.content.mountPathNonExisting = El punto de montaje no existe.
unlock.failedDialog.content.mountPathNotEmpty = El punto de montaje no está vacío.
unlock.label.useReadOnlyMode = Sólo lectura
unlock.label.chooseMountPath = Elija un directorio vacío...
ctrl.secPasswordField.nonPrintableChars = La contraseña contiene caracteres de control.\nRecomendación\: elimínelos para asegurar la compatibilidad con otros clientes.
ctrl.secPasswordField.capsLocked = Las mayúsculas están activadas.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,131 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Cliquer ici pour ajouter un coffre-fort
main.directoryList.contextMenu.remove = Retirer de la liste
main.directoryList.contextMenu.changePassword = Changer le mot de passe
main.addDirectory.contextMenu.new = Créer un nouveau coffre-fort
main.addDirectory.contextMenu.open = Ouvrir un coffre-fort existant
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Rechercher les mises à jour...
welcome.newVersionMessage = La version %1$s peut-être téléchargée.\nLa version installée est la %2$s.
# initialize.fxml
initialize.label.password = Mot de passe
initialize.label.retypePassword = Confirmation
initialize.button.ok = Créer le coffre-fort
initialize.messageLabel.alreadyInitialized = Coffre-fort déjà initialisé
initialize.messageLabel.initializationFailed = Impossible d'initialiser le coffre-fort. Vérifiez le fichier de log pour plus de détails.
# notfound.fxml
notfound.label = Coffre-fort introuvable. A-t-il été déplacé?
# upgrade.fxml
upgrade.button = Mettre à jour
upgrade.version3dropBundleExtension.msg = Ce coffre-fort doit être converti dans un format plus récent.\n"%1$s" sera renommé en "%2$s".\nAssurez-vous que la synchronisation est terminée avant de continuer.
upgrade.version3dropBundleExtension.err.alreadyExists = La conversion automatique a échoué.\n"%s" existe déjà.
# unlock.fxml
unlock.label.password = Mot de passe
unlock.label.mountName = Nom du lecteur
# Fuzzy
unlock.label.winDriveLetter = Lettre du lecteur
unlock.label.downloadsPageLink = Toutes les versions de Cryptomator
unlock.label.advancedHeading = Options avancées
unlock.button.unlock = Déverrouiller le coffre-fort
unlock.button.advancedOptions.show = Plus d'options
unlock.button.advancedOptions.hide = Moins d'options
unlock.choicebox.winDriveLetter.auto = Assigner automatiquement
unlock.errorMessage.wrongPassword = Mot de passe incorrect
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Coffre-fort non supporté. Ce coffre a été créé avec une ancienne version de Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Coffre-fort non supporté. Ce coffre a été créé avec une version de Cryptomator plus récente.
# change_password.fxml
changePassword.label.oldPassword = Ancien mot de passe
changePassword.label.newPassword = Nouveau mot de passe
changePassword.label.retypePassword = Vérification
changePassword.label.downloadsPageLink = Toutes les versions de Cryptomator
changePassword.button.change = Modification du mot de masse
changePassword.errorMessage.wrongPassword = Mot de passe incorrect
# En français, on dit déchiffrement lorsque la clé est connue
changePassword.errorMessage.decryptionFailed = Echec du déchiffrement
# unlocked.fxml
unlocked.button.lock = Verrouiller le coffre-fort
unlocked.moreOptions.reveal = Voir le lecteur
unlocked.label.revealFailed = Echec de la commande
unlocked.label.unmountFailed = Echec de l'éjection du lecteur
# Crypter n'existe pas en français.
unlocked.label.statsEncrypted = chiffré
# Décryptage signifie récupérer les données en clair tout en ne connaissant pas la clé
unlocked.label.statsDecrypted = déchiffré
unlocked.ioGraph.yAxis.label = Débit (MiB/s)
# settings.fxml
settings.version.label = Version %s
settings.checkForUpdates.label = Vérifier les mises à jour
# tray icon
tray.menu.open = Ouvrir
tray.menu.quit = Quitter
tray.infoMsg.title = Action en cours
tray.infoMsg.msg = Cryptomator est toujours en fonctionnement. Utiliser l'icône de la barre des tâches pour quitter.
tray.infoMsg.msg.osx = Cryptomator est toujours en fonctionnement. Utilisez la barre de menu pour quitter.
initialize.messageLabel.passwordStrength.0 = Très faible
initialize.messageLabel.passwordStrength.1 = Faible
initialize.messageLabel.passwordStrength.2 = Correct
initialize.messageLabel.passwordStrength.3 = Fort
initialize.messageLabel.passwordStrength.4 = Très fort
initialize.label.doNotForget = ATTENTION \: Si vous oubliez votre mot de passe, il n'y aura aucun moyen de récupérer vos données.
main.directoryList.remove.confirmation.title = Supprimer le coffre-fort
main.directoryList.remove.confirmation.header = Voulez-vous vraiment supprimer ce coffre-fort ?
main.directoryList.remove.confirmation.content = Le coffre-fort sera seulement retiré de la liste. Pour le supprimer complètement, supprimez les fichiers depuis votre système de fichiers.
upgrade.version3to4.msg = Ce coffre-fort doit être converti dans un nouveau format. \nLes noms des dossiers chiffrés seront mis à jour.\nMerci de vous assurer que la synchronisation est terminée avant de continuer.
upgrade.version3to4.err.io = La migration a échoué à cause d'une erreur d'entrée/sortie. Vérifiez le fichier de log pour plus de détails.
# upgrade.fxml
upgrade.confirmation.label = Oui, je suis certain que la synchronisation est terminée
unlock.label.savePassword = Se souvenir du mot de passe
unlock.errorMessage.unauthenticVersionMac = Impossible d'authentifier la version MAC
unlock.savePassword.delete.confirmation.title = Supprimer le mot de passe sauvegardé
unlock.savePassword.delete.confirmation.header = Voulez vous vraiment oublier le mot de passe de ce coffre-fort ?
unlock.savePassword.delete.confirmation.content = Le mot de passe de ce coffre sera supprimé immédiatement du trousseau. Si vous voulez le sauvegarder à nouveau, vous devrez cocher la case "Se souvenir du mot de passe" lors du déverrouillage du coffre.
settings.debugMode.label = Mode Débug
upgrade.version3dropBundleExtension.title = Mise à jour du coffre-fort (en version 3 extension "Drop Bundle")
upgrade.version3to4.title = Mise à jour de la version du coffre-fort (v3 à v4)
upgrade.version4to5.title = Mise à jour de la version du coffre-fort (v4 à v5)
upgrade.version4to5.msg = Ce coffre-fort doit être migré vers un format plus récent.\nLes fichiers chiffrés seront mis à jour.\nVeuillez vérifier que la synchronisation est terminée avant de commencer.\n\nNote \: la date de modification des fichiers sera mise à jour avec la date courante.
upgrade.version4to5.err.io = La migration a échoué à cause d'une erreur d'entrée/sortie. Vérifiez le fichier de log pour plus de détails.
unlock.label.revealAfterMount = Voir le lecteur
unlocked.lock.force.confirmation.title = Le verrouillage de %1$s a échoué
unlocked.lock.force.confirmation.header = Voulez-vous forcer le verrouillage ?
unlocked.lock.force.confirmation.content = D'autres programmes sont peut être en train d'accéder à des fichiers dans le coffre-fort ou un autre problème s'est produit.\n\nLes programmes accédant encore aux fichiers pourraient ne pas fonctionner normalement et les données pas encore sauvegardées par ces programmes pourraient être perdues.
unlock.label.unlockAfterStartup = Déverouiller automatiquement au démarrage (experimental)
unlock.errorMessage.unlockFailed = Le déverouillage a échoué. Référez-vous au fichier log pour plus de détails.
upgrade.version5toX.title = Mise à jour du coffre-fort
upgrade.version5toX.msg = Ce coffre-fort doit être converti dans un format plus récent. \nVeuillez-vous assurez que la synchronisation est achevée avant de continuer.
main.createVault.nonEmptyDir.title = Echec de création du coffre-fort
main.createVault.nonEmptyDir.header = Le répertoire sélectionné n'est pas vide
main.createVault.nonEmptyDir.content = Le répertoire sélectionné contient déjà des fichiers (potentiellement cachés). Un coffre-fort ne peut être créé que dans un répertoire vide.
settings.webdav.port.label = Port de WebDAV
settings.webdav.port.prompt = 0 \= choisir automatiquement
settings.webdav.port.apply = Appliquer
settings.webdav.prefGvfsScheme.label = stratagème webdav
settings.volume.label = méthode de montage
settings.volume.webdav = WebDAV
settings.volume.fuse = limite
unlock.successLabel.vaultCreated = Le coffre-fort a été créé avec succès
unlock.successLabel.passwordChanged = Le mot de passe a été changé avec succès
unlock.successLabel.upgraded = Cryptomator a été mise à jour avec succès
# Fuzzy
unlock.label.useOwnMountPath = Utiliser son propre point de montage
welcome.askForUpdateCheck.dialog.title = vérification de la mise à jour
welcome.askForUpdateCheck.dialog.header = Activer le contrôle de mise à jour intégré ?
welcome.askForUpdateCheck.dialog.content = Pour vérifier les mises à jour, Cryptomator récupère la version actuelle sur les serveurs Cryptomator et vous donne un aperçu si une nouvelle version est disponible.\n\nNous vous recommandons d'activer la vérification de mise à jour pour vous assurer que vous avez toujours la dernière version de Cryptomator, avec tous les correctifs de sécurité, installés. Si vous n'activez pas le contrôle de mise à jour, vous pouvez vérifier et télécharger la version actuelle à partir de https\://cryptomator.org/downloads/.\n\nVous pouvez le modifier à tout moment à partir des paramètres.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Échec en fermant le coffre-fort.
main.gracefulShutdown.dialog.header = Coffre-fort est en cours d'utilisation.
main.gracefulShutdown.dialog.content = Un ou plusieurs coffre-forts sont en cours d'utilisation par d'autres logiciels. S'il vous plait, fermer-les pour permettre à Cryptomator de finir proprement.\n\nSi ça ne marche pas, Cryptomator peut fermer par force, mais cela peut résulter d'une perte de vos fichiers (non recommandé).
main.gracefulShutdown.button.tryAgain = Réessayez
main.gracefulShutdown.button.forceShutdown = Arrêt forcé
unlock.pendingMessage.unlocking = Déverrouillage du coffre-fort ...
unlock.failedDialog.title = Déverrouillage a échoué
unlock.failedDialog.header = Déverrouillage a échoué
unlock.failedDialog.content.mountPathNonExisting = Le point de montage n'existe pas.
unlock.failedDialog.content.mountPathNotEmpty = Le point de montage n'est pas vide.
unlock.label.useReadOnlyMode = Lecture Seulement
unlock.label.chooseMountPath = Choisissez un répertoire vide…
ctrl.secPasswordField.nonPrintableChars = Le mot de passe contient des caractères non imprimables.\nRecommandation\: Supprimez-les pour assurer la compatibilité avec d'autres clients.
ctrl.secPasswordField.capsLocked = Le verrouillage des majuscules est activé.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomateur
# main.fxml
main.emptyListInstructions = Cliquez ici pour ajouter un coffre-fort
main.directoryList.contextMenu.remove = Retirer de la liste
main.directoryList.contextMenu.changePassword = Modifier le mot de passe
main.addDirectory.contextMenu.new = Créer un nouveau coffre-fort
main.addDirectory.contextMenu.open = Ouvrir un coffre-fort existant
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Vérification des mise à jour en cours ...
welcome.newVersionMessage = La version %1$s peut être téléchargée.\nCeci est %2$s.
# initialize.fxml
initialize.label.password = Mot de passe
initialize.label.retypePassword = Resaisir le mot de passe
initialize.button.ok = Créer un coffre-fort
initialize.messageLabel.alreadyInitialized = Coffre-fort déjà initialisé
initialize.messageLabel.initializationFailed = Incapable d'initialiser le coffre-fort. Voir le fichier journal pour plus de détails.
# notfound.fxml
notfound.label = Le coffre-fort n'a pu être trouvé. A t-il été déplacé ?
# upgrade.fxml
upgrade.button = Mise à jour coffre-fort
upgrade.version3dropBundleExtension.msg = Ce coffre-fort doit être migrer vers un format plus récent. "%1$s" sera renommé en "%2$s".\nVeuillez vous assurer que la synchronisation soit terminé avant de continuer.
upgrade.version3dropBundleExtension.err.alreadyExists = La migration automatique a échouée.\n"%s" existe déjà.
# unlock.fxml
unlock.label.password = Mot de passe
unlock.label.mountName = Nom du lecteur
# Fuzzy
unlock.label.winDriveLetter = Lettre du lecteur
unlock.label.downloadsPageLink = Toutes les version de Cryptomateur
unlock.label.advancedHeading = Options avancées
unlock.button.unlock = Déverrouiller le coffre-fort
unlock.button.advancedOptions.show = Plus d'options
unlock.button.advancedOptions.hide = Moins d'options
unlock.choicebox.winDriveLetter.auto = Assigner automatiquement
unlock.errorMessage.wrongPassword = Mauvais mot de passe
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Coffre-fort non pris en charge. Ce coffre-fort a été créé avec une ancienne version de Cryptomateur.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Coffre-fort non pris en charge. Ce coffre-fort a été créé avec une version plus récente de Cryptomateur.
# change_password.fxml
changePassword.label.oldPassword = Ancient mot de passe
changePassword.label.newPassword = Nouveau mot de passe
changePassword.label.retypePassword = Resaisir mot de passe
changePassword.label.downloadsPageLink = Toutes les versions de Cryptomateur
changePassword.button.change = Modifier mot de passe
changePassword.errorMessage.wrongPassword = Mauvais mot de passe
changePassword.errorMessage.decryptionFailed = Le déchiffrement a échoué
# unlocked.fxml
unlocked.button.lock = Verrouiller coffre-fort
unlocked.moreOptions.reveal = Dévoiler le lecteur
unlocked.label.revealFailed = La commande a échoué
unlocked.label.unmountFailed = L'éjection du lecteur a échoué
unlocked.label.statsEncrypted = chiffré
unlocked.label.statsDecrypted = déchiffré
unlocked.ioGraph.yAxis.label = Débit (MiB/s)
# settings.fxml
settings.version.label = Version %s
settings.checkForUpdates.label = Rechercher les mises à jour
# tray icon
tray.menu.open = Ouvrir
tray.menu.quit = Quitter
tray.infoMsg.title = Toujours en cours
tray.infoMsg.msg = Crytomateur est encore actif. Quitter en utilisant de la zone de notification.
tray.infoMsg.msg.osx = Crytomateur est encore actif. Quitter en utilisant le menu de la barre d'icone.
initialize.messageLabel.passwordStrength.0 = Très faible
initialize.messageLabel.passwordStrength.1 = Faible
initialize.messageLabel.passwordStrength.2 = Bon
initialize.messageLabel.passwordStrength.3 = Fort
initialize.messageLabel.passwordStrength.4 = Très fort
initialize.label.doNotForget = IMPROTANT \: Si vous oubliez votre mot de passe, il n'y a aucun moyen de récupérer vos données.
main.directoryList.remove.confirmation.title = Retirer le coffre-fort
main.directoryList.remove.confirmation.header = Voulez-vous vraiment retirer le coffre-fort ?
main.directoryList.remove.confirmation.content = Ce coffre-fort sera seulement retirer de la liste. Pour le supprimer définitivement, veuillez le supprimer de votre système de fichiers.
upgrade.version3to4.msg = Ce coffre-fort doit être migrer vers un format plus récent.\nLe nom des répertoires chiffrés sera mis à jour.\nVeuillez vous assurer que la synchronisation soit terminé avant de continuer.
upgrade.version3to4.err.io = La migration a échoué à cause d'un Exception E/S. Voir le fichier journal pour plus de détails.
# upgrade.fxml
upgrade.confirmation.label = Oui, je me suis assuré que la synchronisation est terminé
unlock.label.savePassword = Sauvegarder le mot de passe
unlock.errorMessage.unauthenticVersionMac = Incapable d'authentifier la version MAC.
unlock.savePassword.delete.confirmation.title = Supprimer le mot de passe sauvegardé
unlock.savePassword.delete.confirmation.header = Etes-vous certain de vouloir supprimer le mot de passe sauvegardé pour ce coffre-fort ?
unlock.savePassword.delete.confirmation.content = Le mot de passe sauvegardé pour ce coffre-fort sera supprimé immédiatement de votre trousseau système. Si vous voulez sauvegarder votre mot de passe de nouveau, vous devez déverrouiller votre coffre-fort avec loption « Sauvegarder mot de passe » activée.
settings.debugMode.label = Mode débogage
upgrade.version3dropBundleExtension.title = Vault Version 3 Upgrade (Drop Bundle Extension)
upgrade.version3to4.title = Mise à jour de la version 3 à 4 du coffre-fort
upgrade.version4to5.title = Mise à jour de la version 4 à 5 du coffre-fort
upgrade.version4to5.msg = Ce coffre-fort doit être migrer vers un format plus récent.\nLes fichiers chiffrés seront mis à jour.\nVeuillez vous assurer que la synchronisation soit terminé avant de continuer.\n\nNote \: Lors du processus les dates de modification des fichiers seront modifiés à la date/heure courante.
upgrade.version4to5.err.io = La migration a échoué à cause d'un Exception E/S. Voir le fichier journal pour plus de détails.
unlock.label.revealAfterMount = Révéler le lecteur
unlocked.lock.force.confirmation.title = Le vérouillage de %1$s a échoué
unlocked.lock.force.confirmation.header = Voulez-vous forcer le vérouillage ?
unlocked.lock.force.confirmation.content = Ceci est peut-être dû au fait que d'autres programmes sont encore en train d'accéder aux fichiers dans le coffre-fort ou à cause d'un autre problème.\n\nLes programmes qui accèdent encore aux fichiers peuvent ne pas fonctionner correctement et les données non écrites par ces programmes peuvent être perdus.
unlock.label.unlockAfterStartup = Déverouillage automatique au lancement (Expérimantal)
unlock.errorMessage.unlockFailed = Déverouillage échoué. Voir le fichier journal pour plus de détails.
upgrade.version5toX.title = Mise à jour de la version du coffre-fort
upgrade.version5toX.msg = Ce coffre-fort doit être migrer vers un format plus récent.\nVeuillez vous assurer que la synchronisation soit terminé avant de continuer.
main.createVault.nonEmptyDir.title = La création du coffre-fort a échoué
main.createVault.nonEmptyDir.header = Le répertoire choisi n'est pas vide
main.createVault.nonEmptyDir.content = Le répertoire sélectionné contient déjà des fichiers (peut-être cachés). Un coffre-fort ne peut être créé que dans un répertoire vide.
settings.webdav.port.label = Port WebDAV
settings.webdav.port.prompt = 0 \= Coisir automatiquement
settings.webdav.port.apply = Appliquer
settings.webdav.prefGvfsScheme.label = Schema WebDAV
settings.volume.label = Type de volume préféré
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Le coffre-fort a été créé avec succès.
unlock.successLabel.passwordChanged = Mot de passe mis à jour avec succès.
unlock.successLabel.upgraded = Cryptomateur a été mis à jour avec succès.
# Fuzzy
unlock.label.useOwnMountPath = Utiliser point de montage personalisé
welcome.askForUpdateCheck.dialog.title = Vérifier mise à jour
welcome.askForUpdateCheck.dialog.header = Activer la vérification de mise à jour intégré ?
welcome.askForUpdateCheck.dialog.content = Afin de vérifier les mises à jour, Crytomateur ira chercher la version courante sur les serveurs de Cryptomateur et affichera une indication si une version plus récente est disponible.\n\nNous reccommandons d'activer l'option de vérification des mises à jour afin de vous assurer de disposer de la version la plus récente de Cryptomateur avec tous les correctifs de sécurité installés. Si vous n'activez pas l'option de vérification des mises à jour, vous pouvez véridier et télécharger la version courante à partir de https\://cryptomator.org/downloads/.\n\nVous pouvez modifier cela à tout moment dans les paramètres.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Vérouillage de(s) coffre-fort(s) a échoué(s)
main.gracefulShutdown.dialog.header = Coffre-fort(s) en cours d'utilisation
main.gracefulShutdown.dialog.content = Un ou plusieurs coffre-forts sont en cours d'utilisation par d'autres programmes. Veuillez les fermer afin de permettre à Cryptomateur de se fermer correctement, puis essayez de nouveau.\n\nSi cela ne fonctionne pas, Cryptomateur peut se fermer de manière forcé, mais cela peut provoquer des pertes de données et n'est pas recommandé.
main.gracefulShutdown.button.tryAgain = Essayez de nouveau
main.gracefulShutdown.button.forceShutdown = Fermeture forcée
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Cliquez ici pour ajouter un coffre-fort
main.directoryList.contextMenu.remove = Retirer de la liste
main.directoryList.contextMenu.changePassword = Changer le mot de passe
main.addDirectory.contextMenu.new = Créer un nouveau coffre-fort
main.addDirectory.contextMenu.open = Ouvrir le coffre-fort existant
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Vérification des mises à jour ...
welcome.newVersionMessage = La version %1$s peut être téléchargée.\nC'est %2$s.
# initialize.fxml
initialize.label.password = Mot de passe
initialize.label.retypePassword = Retaper le mot de passe
initialize.button.ok = Créer un coffre-fort
initialize.messageLabel.alreadyInitialized = Coffre-fort déjà initialisé
initialize.messageLabel.initializationFailed = Impossible d'initialiser le coffre-fort. Voir le fichier journal pour plus de détails.
# notfound.fxml
notfound.label = Le coffre-fort n'a pu être trouvée. A-t-il été déplacé?
# upgrade.fxml
upgrade.button = Mise à niveau du coffre-fort
upgrade.version3dropBundleExtension.msg = Ce coffre-fort doit être migré vers un nouveau format.\n"%1$s" sera renommé "%2$s".\nAssurez-vous que la synchronisation est terminée avant de continuer.
upgrade.version3dropBundleExtension.err.alreadyExists = La migration automatique a échoué.\n"%s" existe déjà.
# unlock.fxml
unlock.label.password = Mot de passe
unlock.label.mountName = Nom du lecteur
# Fuzzy
unlock.label.winDriveLetter = Lettre du lecteur
unlock.label.downloadsPageLink = Toutes les versions de Cryptomator
unlock.label.advancedHeading = Options avancées
unlock.button.unlock = Déverrouiller le coffre-fort
unlock.button.advancedOptions.show = Plus d'options
unlock.button.advancedOptions.hide = Moins d'options
unlock.choicebox.winDriveLetter.auto = Attribuer automatiquement
unlock.errorMessage.wrongPassword = Mauvais mot de passe
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Coffre-fort non pris en charge. Ce coffre-fort a été créé avec une version plus ancienne de Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Coffre-fort non pris en charge. Ce coffre-fort a été créé avec une version plus récente de Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Ancien mot de passe
changePassword.label.newPassword = Nouveau mot de passe
changePassword.label.retypePassword = Retaper le mot de passe
changePassword.label.downloadsPageLink = Toutes les versions de Cryptomator
changePassword.button.change = Changer le mot de passe
changePassword.errorMessage.wrongPassword = Mauvais mot de passe
changePassword.errorMessage.decryptionFailed = Le déchiffrement a échoué
# unlocked.fxml
unlocked.button.lock = Barrer le Coffre-Fort
unlocked.moreOptions.reveal = Monter le lecteur
unlocked.label.revealFailed = La commande a échoué
unlocked.label.unmountFailed = Éjection du disque en panne
unlocked.label.statsEncrypted = crypté
unlocked.label.statsDecrypted = déchiffré
unlocked.ioGraph.yAxis.label = Débit (MiB / s)
# settings.fxml
settings.version.label = Version %s
settings.checkForUpdates.label = Vérifier les mises à jour
# tray icon
tray.menu.open = Ouvrir
tray.menu.quit = Quitter
tray.infoMsg.title = Toujours en Exécution
tray.infoMsg.msg = Cryptomator est toujours en vie. Quittez-le à partir de l'icône de la barre de menus.
tray.infoMsg.msg.osx = Cryptomator est toujours en vie. Quittez-le à partir de l'icône de la barre de menus.
initialize.messageLabel.passwordStrength.0 = Très faible
initialize.messageLabel.passwordStrength.1 = Faible
initialize.messageLabel.passwordStrength.2 = Juste
initialize.messageLabel.passwordStrength.3 = Fort
initialize.messageLabel.passwordStrength.4 = Très fort
initialize.label.doNotForget = IMPORTANT\: Si vous oubliez votre mot de passe, il ny a aucun moyen de récupérer vos données.
main.directoryList.remove.confirmation.title = Supprimer le coffre-fort
main.directoryList.remove.confirmation.header = Voulez-vous vraiment supprimer ce coffre-fort?
main.directoryList.remove.confirmation.content = Le coffre-fort ne sera supprimé de la liste. Pour le supprimer définitivement, veuillez supprimer le coffre-fort de votre système de fichiers.
upgrade.version3to4.msg = Ce coffre-fort doit être migré vers un nouveau format.\nLes noms de dossiers cryptés seront mis à jour.\nAssurez-vous que la synchronisation est terminée avant de continuer.
upgrade.version3to4.err.io = La migration a échoué en raison d'une exception d'E / S. Voir le fichier journal pour plus de détails.
# upgrade.fxml
upgrade.confirmation.label = Oui, je me suis assuré que la synchronisation est terminée
unlock.label.savePassword = Sauvegarder le mot de passe
unlock.errorMessage.unauthenticVersionMac = Impossible d'authentifier la version MAC.
unlock.savePassword.delete.confirmation.title = Supprimer le mot de passe enregistré
unlock.savePassword.delete.confirmation.header = Voulez-vous vraiment supprimer le mot de passe enregistré de ce coffre-fort?
unlock.savePassword.delete.confirmation.content = Le mot de passe enregistré de ce coffre-fort sera immédiatement supprimé de votre trousseau de clés système. Si vous souhaitez enregistrer votre mot de passe à nouveau, vous devez déverrouiller votre coffre-fort avec l'option "Enregistrer le mot de passe" activée.
settings.debugMode.label = Mode débogage
upgrade.version3dropBundleExtension.title = Mise à niveau de Vault Version 3 (Drop Bundle Extension)
upgrade.version3to4.title = Mise à niveau de Vault Version 3 à 4
upgrade.version4to5.title = Mise à niveau de Vault Version 4 à 5
upgrade.version4to5.msg = Ce coffre-fort doit être migré vers un nouveau format.\nLes fichiers cryptés seront mis à jour.\nAssurez-vous que la synchronisation est terminée avant de continuer.\n\nRemarque\: La date de modification de tous les fichiers sera remplacée par la date / heure actuelle du processus.
upgrade.version4to5.err.io = La migration a échoué en raison d'une exception d'E / S. Voir le fichier journal pour plus de détails.
unlock.label.revealAfterMount = Montrer Lecteur
unlocked.lock.force.confirmation.title = Le verrouillage de %1$s a échoué
unlocked.lock.force.confirmation.header = Voulez-vous forcer le verrouillage?
unlocked.lock.force.confirmation.content = Cela peut être dû au fait que d'autres programmes accèdent toujours aux fichiers du coffre-fort ou à un autre problème.\n\nLes programmes qui accèdent toujours aux fichiers risquent de ne pas fonctionner correctement et les données non écrites par ces programmes risquent d'être perdues.
unlock.label.unlockAfterStartup = Auto-déverrouillage au démarrage (expérimental)
unlock.errorMessage.unlockFailed = Déverrouillage a échoué. Voir le fichier journal pour plus de détails.
upgrade.version5toX.title = Mise à niveau de la version du coffre-fort
upgrade.version5toX.msg = Ce coffre-fort doit être migré vers un nouveau format.\nAssurez-vous que la synchronisation est terminée avant de continuer.
main.createVault.nonEmptyDir.title = La création du coffre-fort a échoué
main.createVault.nonEmptyDir.header = Le répertoire choisi n'est pas vide
main.createVault.nonEmptyDir.content = Le répertoire sélectionné contient déjà des fichiers (éventuellement cachés). Un coffre-fort ne peut être créé que dans un répertoire vide.
settings.webdav.port.label = Port WebDAV
settings.webdav.port.prompt = 0 \= Choisir automatiquement
settings.webdav.port.apply = Appliquer
settings.webdav.prefGvfsScheme.label = Schéma WebDAV
settings.volume.label = Type de volume préféré
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Le coffre-fort a été créé avec succès.
unlock.successLabel.passwordChanged = Le mot de passe a été changé avec succès.
unlock.successLabel.upgraded = Cryptomator a été mis à niveau avec succès.
# Fuzzy
unlock.label.useOwnMountPath = Utiliser un point de montage personnalisé
welcome.askForUpdateCheck.dialog.title = Vérification de la mise à jour
welcome.askForUpdateCheck.dialog.header = Activer la vérification de mise à jour intégrée?
welcome.askForUpdateCheck.dialog.content = Pour vérifier les mises à jour, Cryptomator récupérera la version actuelle des serveurs Cryptomator et vous montrera un indice si une version plus récente est disponible.\n\nNous vous recommandons d'activer la vérification de la mise à jour pour vous assurer de toujours avoir la dernière version de Cryptomator, avec tous les correctifs de sécurité, installée. Si vous n'activez pas la vérification de mise à jour, vous pouvez vérifier et télécharger la version actuelle à l'adresse https\://cryptomator.org/downloads/.\n\nVous pouvez modifier cela à tout moment depuis les paramètres.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Le verrouillage des coffres a échoué
main.gracefulShutdown.dialog.header = Coffre en usage
main.gracefulShutdown.dialog.content = Un ou plusieurs coffres sont encore utilisés par d'autres programmes. Veuillez les fermer pour permettre à Cryptomator de séteindre correctement, puis réessayez.\n\nSi cela ne fonctionne pas, Cryptomator peut s'arrêter de force, mais cela peut entraîner une perte de données et n'est pas recommandé.
main.gracefulShutdown.button.tryAgain = Réessayer
main.gracefulShutdown.button.forceShutdown = Forcer l'arrêt
unlock.pendingMessage.unlocking = Déverrouillage du coffre-fort
unlock.failedDialog.title = Échec du déverrouillage
unlock.failedDialog.header = Échec du déverrouillage
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Lecture seulement
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Le mot de passe contiens des caractères restreins.\nRecommandation\: Retirer les pour maintenir la comptabilité avec les autres clients
ctrl.secPasswordField.capsLocked = Touche majuscule activée
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,127 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Kattints ide egy széf létrehozásához
main.directoryList.contextMenu.remove = Eltávolítás listából
main.directoryList.contextMenu.changePassword = Jelszó megváltoztatása
main.addDirectory.contextMenu.new = Új széf létrehozása
main.addDirectory.contextMenu.open = Létező széf megnyitása
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Frissítések keresése...
welcome.newVersionMessage = Új verzió érhető el\: %1$s.\nJelenlegi verzió\: %2$s.
# initialize.fxml
initialize.label.password = Jelszó
initialize.label.retypePassword = Jelszó ismét
initialize.button.ok = Széf létrehozása
initialize.messageLabel.alreadyInitialized = A széf már meg van nyitva
initialize.messageLabel.initializationFailed = Nem sikerült megnyitni a széfet. További információ a naplófájlban.
# notfound.fxml
notfound.label = Széf nem található. Lehetséges, hogy áthelyezésre került?
# upgrade.fxml
upgrade.button = Széf frissítése
upgrade.version3dropBundleExtension.msg = A széf új verzióra történő migrációja szükséges. "%1$s" a következőre lesz átnevezve\: "%2$s". Kérlek győződj meg a szinkronizáció befejeztéről, mielőtt más műveletet végeznél.
upgrade.version3dropBundleExtension.err.alreadyExists = Automatikus migráció meghíusúlt. "%s" már létezik.
# unlock.fxml
unlock.label.password = Jelszó
unlock.label.mountName = Meghajtó neve
# Fuzzy
unlock.label.winDriveLetter = Meghajtó betűjele
unlock.label.downloadsPageLink = Összes Cryptomator verzió
unlock.label.advancedHeading = Haladó beállítások
unlock.button.unlock = Széf feloldása
unlock.button.advancedOptions.show = További beállítások
unlock.button.advancedOptions.hide = Alapbeállítások
unlock.choicebox.winDriveLetter.auto = Automatikus hozzárendelés
unlock.errorMessage.wrongPassword = Hibás jelszó
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Nem támogatott széf. Ez a széf a Cryptomator egy korábbi verziójával került létrehozásra.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Nem támogatott széf. Ez a széf a Cryptomator egy újabb verziójával került létrehozásra.
# change_password.fxml
changePassword.label.oldPassword = Régi jelszó
changePassword.label.newPassword = Új jelszó
changePassword.label.retypePassword = Új jelszó ismét
changePassword.label.downloadsPageLink = Összes Cryptomator verzió
changePassword.button.change = Jelszó megváltoztatása
changePassword.errorMessage.wrongPassword = Hibás jelszó
changePassword.errorMessage.decryptionFailed = A titkosítás feloldása meghíusúlt
# unlocked.fxml
unlocked.button.lock = Széf lezárása
unlocked.moreOptions.reveal = Meghajtó felfedése
unlocked.label.revealFailed = Parancs meghíusúlt
unlocked.label.unmountFailed = Meghajtó leválasztása sikertelen
unlocked.label.statsEncrypted = titkosított
unlocked.label.statsDecrypted = titkosítás feloldva
unlocked.ioGraph.yAxis.label = Teljesítmény (MiB/s)
# settings.fxml
settings.version.label = Verzió\: %s
settings.checkForUpdates.label = Frissítések keresése
# tray icon
tray.menu.open = Megnyit
tray.menu.quit = Kilépés
tray.infoMsg.title = Művelet folyamatban
tray.infoMsg.msg = Cryptomator még fut. A tálcán található ikon segítségével bezárhatod.
tray.infoMsg.msg.osx = Cryptomator még fut. A menüsávban található ikon segítségével bezárhatod.
initialize.messageLabel.passwordStrength.0 = Nagyon gyenge
initialize.messageLabel.passwordStrength.1 = Gyenge
initialize.messageLabel.passwordStrength.2 = Megfelelő
initialize.messageLabel.passwordStrength.3 = Erős
initialize.messageLabel.passwordStrength.4 = Nagyon erős
initialize.label.doNotForget = FONTOS\: Ha elfelejted a jelszavadat, akkor nincs lehetőség az adataid visszaállítására.
main.directoryList.remove.confirmation.title = Széf eltávolítása
main.directoryList.remove.confirmation.header = Tényleg törölni akarod ezt a széfet?
main.directoryList.remove.confirmation.content = A széf csak a listából lesz eltávolítva. Végleges törléshez kérlek töröld a merevlemezen tárolt fájlokat.
upgrade.version3to4.msg = Ennek a széfnek egy újabb formátumra való migrációja szükséges. A titkosított könyvtárnevek frissítve lesznek. Kérlek, győződj meg a szinkronizáció befejeztéről mielőtt továbblépnél.
upgrade.version3to4.err.io = Migráció meghíusúlt egy I/O kivétel miatt. Kérlek nézd meg a naplófájlt a további részletekért.
# upgrade.fxml
upgrade.confirmation.label = Igen, meggyőződtem a szinkronizáció befejeztéről
unlock.label.savePassword = Jelszó mentése
unlock.errorMessage.unauthenticVersionMac = Nem lehet a MAC verziót azonosítani.
unlock.savePassword.delete.confirmation.title = Mentett jelszó törlése
unlock.savePassword.delete.confirmation.header = Biztosan el akarod távolítani a széfhez tartozó mentett jelszót?
unlock.savePassword.delete.confirmation.content = A széf mentett jelszava rögtön törlése kerül. Ha újra el szeretnéd menteni a jelszavad, a széfet a "Jelszó mentése" opció engedélyezése mellett kell feloldani.
settings.debugMode.label = Hibakeresési mód
upgrade.version3dropBundleExtension.title = Vault Version 3 Upgrade (Drop Bundle Extension)
upgrade.version3to4.title = Széf verziófrissítése 3-ról 4-re
upgrade.version4to5.title = Széf verziófrissítése 4-ről 5-re
upgrade.version4to5.msg = Ennek a széfnek egy újabb formátumra való migrációja szükséges. A titkosított könyvtárnevek frissítve lesznek. Kérlek, győződj meg a szinkronizáció befejeztéről mielőtt továbblépnél.\n\nMegjegyzés\: A összes fájl módosításának dátuma az aktuális időre fog módosulni
upgrade.version4to5.err.io = Migráció meghíusúlt egy I/O kivétel miatt. Kérlek nézd meg a naplófájlt a további részletekért.
unlock.label.revealAfterMount = Meghajtó megnyitása
unlocked.lock.force.confirmation.title = Sikertelen lezárás a következőnél\: %1$s
unlocked.lock.force.confirmation.header = Szeretné erőltetni a lezárást?
unlocked.lock.force.confirmation.content = Ez amiatt lehet, mert más programok még mindig használják a széfben lévő fájlokat vagy valamilyen egyéb probléma lépett fel.\n\nA programok, amik használják ezeket a fájlokat, nem működhetnek megfelelően vagy akár adatvesztés is előfordulhat.
unlock.label.unlockAfterStartup = Automatikus feloldás indításnál (kísérleti funkció)
unlock.errorMessage.unlockFailed = A feloldás nem sikerült. Nézze meg a naplófájlokat.
upgrade.version5toX.title = Széf verziófrissítés
upgrade.version5toX.msg = A széf új verzióra történő migrációja szükséges.\nKérlek győződj meg a szinkronizáció befejeztéről, mielőtt más műveletet végeznél.
main.createVault.nonEmptyDir.title = A széf létrehozása sikertelen
main.createVault.nonEmptyDir.header = A kiválasztott mappa nem üres
main.createVault.nonEmptyDir.content = A kiválasztott mappa már tartalmaz fájlokat (valószínűleg rejtett). A széf csak üres mappában hozható létre.
settings.webdav.port.label = WebDAV Port
settings.webdav.port.prompt = 0 \= Automatikus választás
settings.webdav.port.apply = Alkalmaz
settings.webdav.prefGvfsScheme.label = WebDAV séma
settings.volume.label = Csatlakoztatási mód
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = A széf sikeresen létrehozva.
unlock.successLabel.passwordChanged = A jelszó sikeresen megváltoztatva.
unlock.successLabel.upgraded = A Cryptomator sikeresen frissítésre került.
unlock.label.useOwnMountPath = Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Próbáld újra
main.gracefulShutdown.button.forceShutdown = Force Shutdown
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Klik di sini untuk menambahkan brankas
main.directoryList.contextMenu.remove = Hapus dari Daftar
main.directoryList.contextMenu.changePassword = Ubah Kata Sandi
main.addDirectory.contextMenu.new = Buat Brankas Baru
main.addDirectory.contextMenu.open = Buka Brankas yang Ada
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Memeriksa Pembaruan...
welcome.newVersionMessage = Versi %1$s dapat diunduh. Ini %2$s.
# initialize.fxml
initialize.label.password = Kata Sandi
initialize.label.retypePassword = Ketik Ulang Kata Sandi
initialize.button.ok = Buat Brankas
initialize.messageLabel.alreadyInitialized = Brankas sudah dilakukan inisialisasi.
initialize.messageLabel.initializationFailed = Tidak dapat melakukan inisialisasi brankas. Lihat berkas log untuk detailnya.
# notfound.fxml
notfound.label = Brankas tidak dapat ditemukan. Apakah sudah dipindahkan?
# upgrade.fxml
upgrade.button = Tingkatkan Brankas
upgrade.version3dropBundleExtension.msg = Brankas ini perlu dimigrasi ke format baru.\n"%1$s" akan diubah namanya menjadi "%2$s".\nPastikan sinkronisasi telah selesai sebelum melanjutkan.
upgrade.version3dropBundleExtension.err.alreadyExists = Migrasi otomatis gagal.\n"%s" sudah ada.
# unlock.fxml
unlock.label.password = Kata Sandi
unlock.label.mountName = Nama Drive
# Fuzzy
unlock.label.winDriveLetter = Abjad Drive
unlock.label.downloadsPageLink = Semua versi Cryptomator
unlock.label.advancedHeading = Opsi Lanjutan
unlock.button.unlock = Buka Brankas
unlock.button.advancedOptions.show = Lebih Banyak Opsi
unlock.button.advancedOptions.hide = Lebih Sedikit Opsi
unlock.choicebox.winDriveLetter.auto = Tetapkan secara otomatis
unlock.errorMessage.wrongPassword = Kata sandi salah
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Brankas tidak didukung. Brankas ini dibuat dengan Cryptomator versi lama.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Brankas tidak didukung. Brankas ini dibuat dengan Cryptomator versi baru.
# change_password.fxml
changePassword.label.oldPassword = Kata Sandi Lama
changePassword.label.newPassword = Kata Sandi Baru
changePassword.label.retypePassword = Ketik Ulang Kata Sandi
changePassword.label.downloadsPageLink = Semua versi Cryptomator
changePassword.button.change = Ubah Kata Sandi
changePassword.errorMessage.wrongPassword = Kata sandi salah
changePassword.errorMessage.decryptionFailed = Dekripsi gagal
# unlocked.fxml
unlocked.button.lock = Kunci Brankas
unlocked.moreOptions.reveal = Tampilkan Drive
unlocked.label.revealFailed = Perintah gagal
unlocked.label.unmountFailed = Gagal melepaskan drive
unlocked.label.statsEncrypted = terenkripsi
unlocked.label.statsDecrypted = terdekripsi
unlocked.ioGraph.yAxis.label = Lebar Pita Aktual (MiB/s)\n
# settings.fxml
settings.version.label = Versi %s
settings.checkForUpdates.label = Periksa Pembaruan
# tray icon
tray.menu.open = Buka
tray.menu.quit = Hentikan
tray.infoMsg.title = Masih Berjalan
tray.infoMsg.msg = Cryptomator masih aktif. Hentikan melalui ikon di baki sistem.
tray.infoMsg.msg.osx = Cryptomator masih aktif. Hentikan melalui ikon di bilah menu.
initialize.messageLabel.passwordStrength.0 = Sangat lemah
initialize.messageLabel.passwordStrength.1 = Lemah
initialize.messageLabel.passwordStrength.2 = Sedang
initialize.messageLabel.passwordStrength.3 = Kuat
initialize.messageLabel.passwordStrength.4 = Sangat kuat
initialize.label.doNotForget = PENTING\: Jika Anda lupa kata sandi, data Anda tidak akan dapat dipulihkan.
main.directoryList.remove.confirmation.title = Hapus Brankas
main.directoryList.remove.confirmation.header = Anda yakin ingin menghapus brankas ini?
main.directoryList.remove.confirmation.content = Brankas hanya akan dihapus dari daftar. Untuk menghapusnya secara permanen, silakan menghapus brankas dari sistem berkas Anda.
upgrade.version3to4.msg = Brankas ini perlu dimigrasi ke format baru.\nNama folder yang dienkripsi akan diperbarui.\nPastikan bahwa sinkronisasi telah selesai sebelum melanjutkan.
upgrade.version3to4.err.io = Migrasi gagal karena IOException. Lihat berkas log untuk detailnya.
# upgrade.fxml
upgrade.confirmation.label = Ya, saya pastikan bahwa sinkronisasi telah selesai
unlock.label.savePassword = Simpan Kata Sandi
unlock.errorMessage.unauthenticVersionMac = Tidak dapat mengautentikasi versi MAC.
unlock.savePassword.delete.confirmation.title = Hapus Kata Sandi Tersimpan
unlock.savePassword.delete.confirmation.header = Anda yakin ingin menghapus kata sandi tersimpan untuk brankas ini?
unlock.savePassword.delete.confirmation.content = Kata sandi tersimpan untuk brankas ini akan segera dihapus dari rantai kunci sistem Anda. Jika Anda ingin menyimpan kata sandi lagi, Anda harus membuka berkas Anda dengan mengaktifkan opsi "Simpan Kata Sandi".
settings.debugMode.label = Mode Pengawakutuan
upgrade.version3dropBundleExtension.title = Peningkatan Brankas Versi 3 (Ekstensi Bundel Drop)
upgrade.version3to4.title = Peningkatan Brankas Versi 3 ke 4
upgrade.version4to5.title = Peningkatan Brankas Versi 4 ke 5
upgrade.version4to5.msg = Brankas ini perlu dimigrasi ke format baru.\nBerkas yang dienkripsi akan diperbarui.\nPastikan bahwa sinkronisasi telah selesai sebelum melanjutkan.\n\nCatatan\: Tanggal modifikasi semua berkas akan diubah ke tanggal/waktu aktual dalam prosesnya.
upgrade.version4to5.err.io = Migrasi gagal karena IOException. Lihat berkas log untuk detailnya.
unlock.label.revealAfterMount = Tampilkan Drive
unlocked.lock.force.confirmation.title = Gagal mengunci %1$s\n
unlocked.lock.force.confirmation.header = Anda ingin memaksakan penguncian?
unlocked.lock.force.confirmation.content = Ini mungkin dikarenakan program lain masih mengakses berkas di dalam brankas atau juga karena masalah lainnya.\n\nProgram yang masih mengakses berkas mungkin tidak berfungsi dengan semestinya, dan data yang belum ditulis oleh program tersebut kemungkinan hilang.
unlock.label.unlockAfterStartup = Buka Otomatis saat Mulai (Eksperimental)
unlock.errorMessage.unlockFailed = Gagal membuka. Lihat berkas log untuk detailnya.
upgrade.version5toX.title = Peningkatan Versi Brankas
upgrade.version5toX.msg = Brankas ini perlu dimigrasi ke format baru.\nPastikan bahwa sinkronisasi telah selesai sebelum melanjutkan.
main.createVault.nonEmptyDir.title = Gagal membuat brankas
main.createVault.nonEmptyDir.header = Direktori yang dipilih tidak kosong
main.createVault.nonEmptyDir.content = Direktori yang dipilih sudah berisi berkas (mungkin disembunyikan). Brankas hanya dapat dibuat di direktori kosong.
settings.webdav.port.label = Porta WebDAV
settings.webdav.port.prompt = 0 \= Pilih secara otomatis
settings.webdav.port.apply = Terapkan
settings.webdav.prefGvfsScheme.label = Skema WebDAV
settings.volume.label = Jenis Volume yang diutamakan
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Brankas berhasil dibuat.
unlock.successLabel.passwordChanged = Kata sandi berhasil diubah.
unlock.successLabel.upgraded = Cryptomator berhasil ditingkatkan.
# Fuzzy
unlock.label.useOwnMountPath = Gunakan Titik Kait Kustom
welcome.askForUpdateCheck.dialog.title = Pemeriksaan pembaruan
welcome.askForUpdateCheck.dialog.header = Aktifkan pemeriksaan pembaruan terintegrasi?
welcome.askForUpdateCheck.dialog.content = Disarankan\: Aktifkan pemeriksaan pembaruan untuk memastikan bahwa Anda selalu menginstal Cryptomator versi terbaru dengan segala tambalan keamanan.\n\nAnda dapat mengubahnya kapan pun dari dalam pengaturan.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Gagal mengunci berkas
main.gracefulShutdown.dialog.header = Brankas yang digunakan
main.gracefulShutdown.dialog.content = Satu atau beberapa brankas masih digunakan oleh program lain. Silakan tutup semuanya agar Cryptomator dapat dimatikan dengan benar, kemudian coba lagi.\n\nCryptomator dapat dimatikan dengan paksa jika tidak berhasil. Namun, hal ini tidak disarankan karena data bisa hilang.
main.gracefulShutdown.button.tryAgain = Coba lagi
main.gracefulShutdown.button.forceShutdown = Matikan paksa
unlock.pendingMessage.unlocking = Membuka brankas...
unlock.failedDialog.title = Gagal membuka
unlock.failedDialog.header = Gagal membuka
unlock.failedDialog.content.mountPathNonExisting = Titik kait tidak ada.
unlock.failedDialog.content.mountPathNotEmpty = Titik kait tidak kosong.
unlock.label.useReadOnlyMode = Hanya-Baca
unlock.label.chooseMountPath = Pilih direktori kosong...
ctrl.secPasswordField.nonPrintableChars = Kata sandi mengandung karakter kontrol.\nSaran\: Hapus karakter itu untuk memastikan kompatibilitas dengan klien lain.
ctrl.secPasswordField.capsLocked = Caps Lock diaktifkan.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,127 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Clicca qui per aggiungere un vault
main.directoryList.contextMenu.remove = Rimuovi dalla lista
main.directoryList.contextMenu.changePassword = Cambio password
main.addDirectory.contextMenu.new = Crea un nuovo vault
main.addDirectory.contextMenu.open = Apri un vault
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Verifica aggiornamenti...
welcome.newVersionMessage = La versione %1$s può essere scaricata.\nQuesta è %2$s
# initialize.fxml
initialize.label.password = Password
initialize.label.retypePassword = Conferma password
initialize.button.ok = Crea Vault
initialize.messageLabel.alreadyInitialized = Vault già inizializzato
initialize.messageLabel.initializationFailed = Non è possibile inizializzare il vault. Controlla il file di log per dettagli.
# notfound.fxml
notfound.label = Il vault non può essere trovato. E' stato rimosso?
# upgrade.fxml
upgrade.button = Aggiorna vault
upgrade.version3dropBundleExtension.msg = Questo vault deve essere migrato ad un nuovo formato.\n"%1$s" verrà rinominato in "%2$s".\nPer favore verifica che la sincronizzazione sia finita prima di procedere
upgrade.version3dropBundleExtension.err.alreadyExists = Migrazione automatica fallita.\n"%s" esiste già.
# unlock.fxml
unlock.label.password = Password
unlock.label.mountName = nome del drive
# Fuzzy
unlock.label.winDriveLetter = lettera del drive
unlock.label.downloadsPageLink = Tutte le versioni di Cryptomator
unlock.label.advancedHeading = Opzioni avanzate
unlock.button.unlock = Sblocca vault
unlock.button.advancedOptions.show = Più opzioni
unlock.button.advancedOptions.hide = Meno opzioni
unlock.choicebox.winDriveLetter.auto = Assegna automaticamente
unlock.errorMessage.wrongPassword = Password errata
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Vault non supportato. Questo vault è stato creato con una versione di Cryptomator più vecchia.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Vault non supportato. Questo vault è stato creato con una versione di Cryptomator più recente.
# change_password.fxml
changePassword.label.oldPassword = Vecchia password
changePassword.label.newPassword = Nuova password
changePassword.label.retypePassword = Conferma password
changePassword.label.downloadsPageLink = Tutte le versioni di Cryptomator
changePassword.button.change = Cambia la password
changePassword.errorMessage.wrongPassword = Password errata
changePassword.errorMessage.decryptionFailed = Decriptaggio fallito
# unlocked.fxml
unlocked.button.lock = Blocca vault
unlocked.moreOptions.reveal = Apri il disco
unlocked.label.revealFailed = Comando fallito
unlocked.label.unmountFailed = Espulsione disco fallita
unlocked.label.statsEncrypted = criptato
unlocked.label.statsDecrypted = decriptato
unlocked.ioGraph.yAxis.label = Volume dati (MiB/s)
# settings.fxml
settings.version.label = Versione %s
settings.checkForUpdates.label = Verifica aggiornamenti
# tray icon
tray.menu.open = Apri
tray.menu.quit = Chiudi
tray.infoMsg.title = Ancora in esecuzione
tray.infoMsg.msg = Cryptomator è ancora in esecuzione. Chiudilo utilizzando l'icona nel menù di stato.
tray.infoMsg.msg.osx = Cryptomator è ancora in esecuzione. Chiudilo utilizzando l'icona nella barra del menù.
initialize.messageLabel.passwordStrength.0 = Molto debole
initialize.messageLabel.passwordStrength.1 = Debole
initialize.messageLabel.passwordStrength.2 = Buona
initialize.messageLabel.passwordStrength.3 = Sicura
initialize.messageLabel.passwordStrength.4 = Molto sicura
initialize.label.doNotForget = IMPORTANTE\: Se dimentichi la password, non c'è modo di recuperare i tuoi dati.
main.directoryList.remove.confirmation.title = Rimuovi vault
main.directoryList.remove.confirmation.header = Vuoi davvero rimuovere questo vault?
main.directoryList.remove.confirmation.content = Il vault sarà rimosso solo dalla lista. Per eliminarlo definitivamente, elimina per favore i file dal tuo hard disk.
upgrade.version3to4.msg = Il vault deve ha bisogno di essere migrato in un nuovo formato. I nome delle cartelle criptate saranno aggiornati. Per favore assicurati che la sincronizzazione sia terminata prima di procedere.
upgrade.version3to4.err.io = Migrazione fallita a causa di una eccezione I/O. Verificare i file di log per i dettagli.
# upgrade.fxml
upgrade.confirmation.label = Si, sono sicuro che la sincronizzazione e' terminata
unlock.label.savePassword = Salva Password
unlock.errorMessage.unauthenticVersionMac = Non riesco ad autenticare la versione MAC.
unlock.savePassword.delete.confirmation.title = Cancella la password salvata
unlock.savePassword.delete.confirmation.header = Vuoi veramente cancellare le password salvate in questo vault?
unlock.savePassword.delete.confirmation.content = Le password salvate in questo vault saranno immediatamente cancellate dal sistema di chiavi. Se vuoi salvare nuovamente la tua password, devi sbloccare il tuo vault con l'opzione "Salva password" abilitata.
settings.debugMode.label = Modalita' debug
upgrade.version3dropBundleExtension.title = Aggiornamento Vault versione 3 ( Estensione Drop bundle )
upgrade.version3to4.title = Aggiornamento Vault da versione 3 a 4
upgrade.version4to5.title = Aggiornamento da versione 4 a 5
upgrade.version4to5.msg = Questo vault ha bisogno di essere migrato ad un formato piu' recente. Tutti i files criptati saranno aggiornati. Per favore assicurati che la sincronizzazione sia terminata prima di procedere.\n\nNota\: la data di modifica di tutti i files cambiera' alla data/ora attuale del processo.
upgrade.version4to5.err.io = Migrazione fallita a causa di una eccezione I/O. Verifica il file di log per i dettagli.
unlock.label.revealAfterMount = Mostra il disco
unlocked.lock.force.confirmation.title = Il blocco di %1$s è fallito
unlocked.lock.force.confirmation.header = Vuoi forzare il blocco?
unlocked.lock.force.confirmation.content = E' accaduto questo perchè altri programmi stanno ancora utilizzando i dati nel vault o perchè è accaduto un altro problema
unlock.label.unlockAfterStartup = Blocco automatico all'avvio (Sperimentale)
unlock.errorMessage.unlockFailed = Sblocco fallito. Guarda il file log per i dettagli.
upgrade.version5toX.title = Aggiornamento di versione del Vault
upgrade.version5toX.msg = Questo vault deve migrare ad un nuovo formato.\nAssicurati che la sincronizzazione sia terminata prima di procedere.
main.createVault.nonEmptyDir.title = Creazione del vaul fallita
main.createVault.nonEmptyDir.header = La directory scelta non è vuota
main.createVault.nonEmptyDir.content = La directory selezionata contiene già dei file (forse nascosti). Un vault può essere creato solo in una directory vuota.
settings.webdav.port.label = WebDAV Port
settings.webdav.port.prompt = 0 \= Scelta automatica
settings.webdav.port.apply = Applica
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
settings.volume.label = Mount-Methode
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Vaul creato con successo.
unlock.successLabel.passwordChanged = Password modificata con successo.
unlock.successLabel.upgraded = Cryptomator aggiornato con successo.
unlock.label.useOwnMountPath = Custom Mount Point
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
welcome.askForUpdateCheck.dialog.content = Recommended\: Enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed.\n\nYou can change this from within the settings at any time.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Locking vault(s) failed
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Try Again
main.gracefulShutdown.button.forceShutdown = Force Shutdown
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = ここをクリックして金庫を追加
main.directoryList.contextMenu.remove = リストから削除
main.directoryList.contextMenu.changePassword = パスワードの変更
main.addDirectory.contextMenu.new = 新しい金庫を作成
main.addDirectory.contextMenu.open = 既存の金庫を開く
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = アップデートを確認しています...
welcome.newVersionMessage = バージョン %1$s がダウンロード可能です。\n現在のバージョンは %2$s です。
# initialize.fxml
initialize.label.password = パスワード
initialize.label.retypePassword = パスワードの再入力
initialize.button.ok = 金庫を作成
initialize.messageLabel.alreadyInitialized = 金庫は既に初期化されています
initialize.messageLabel.initializationFailed = 金庫の初期化ができませんでした。詳細はログファイルをご覧ください。
# notfound.fxml
notfound.label = 金庫が見つかりません。移動しましたか?
# upgrade.fxml
upgrade.button = 金庫をアップグレード
upgrade.version3dropBundleExtension.msg = この金庫を新しい形式に移行する必要があります。\n"%1$s" は "%2$s" に変更されます。\n続行する前に同期が完了していることをご確認ください。
upgrade.version3dropBundleExtension.err.alreadyExists = 自動移行が失敗しました。\n"%s" はすでに存在します。
# unlock.fxml
unlock.label.password = パスワード
unlock.label.mountName = ドライブ名
# Fuzzy
unlock.label.winDriveLetter = ドライブ文字
unlock.label.downloadsPageLink = すべての Cryptomator バージョン
unlock.label.advancedHeading = 詳細オプション
unlock.button.unlock = 金庫を解錠
unlock.button.advancedOptions.show = オプションを表示
unlock.button.advancedOptions.hide = オプションを非表示
unlock.choicebox.winDriveLetter.auto = 自動的に割り当てる
unlock.errorMessage.wrongPassword = パスワードが無効です
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = サポートされない金庫です。この金庫は古いバージョンの Cryptomator を使用して作成されました。
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = サポートされない金庫です。この金庫は新しいバージョンの Cryptomator を使用して作成されました。
# change_password.fxml
changePassword.label.oldPassword = 古いパスワード
changePassword.label.newPassword = 新しいパスワード
changePassword.label.retypePassword = パスワードの再入力
changePassword.label.downloadsPageLink = すべての Cryptomator バージョン
changePassword.button.change = パスワードの変更
changePassword.errorMessage.wrongPassword = パスワードが無効です
changePassword.errorMessage.decryptionFailed = 復号に失敗しました。
# unlocked.fxml
unlocked.button.lock = 金庫の施錠
unlocked.moreOptions.reveal = ドライブの表示
unlocked.label.revealFailed = 入力エラー
unlocked.label.unmountFailed = ドライブの取り出しに失敗
unlocked.label.statsEncrypted = 暗号化済み
unlocked.label.statsDecrypted = 復号済み
unlocked.ioGraph.yAxis.label = スループット (MiB/s)
# settings.fxml
settings.version.label = バージョン %s
settings.checkForUpdates.label = 最新版のチェック
# tray icon
tray.menu.open = 開く
tray.menu.quit = 閉じる
tray.infoMsg.title = バックグラウンドで実行中
tray.infoMsg.msg = まだ Cryptomator は実行中です。トレイアイコンのアイコンから閉じてください。
tray.infoMsg.msg.osx = まだ Cryptomator は実行中です。メニューバーのアイコンから閉じてください。
initialize.messageLabel.passwordStrength.0 = 非常に弱い
initialize.messageLabel.passwordStrength.1 = 弱い
initialize.messageLabel.passwordStrength.2 = 普通
initialize.messageLabel.passwordStrength.3 = 強い
initialize.messageLabel.passwordStrength.4 = 非常に強い
initialize.label.doNotForget = 重要\: パスワードを忘れると、データの復旧はできません。
main.directoryList.remove.confirmation.title = 金庫を削除
main.directoryList.remove.confirmation.header = この金庫を本当に削除しますか?
main.directoryList.remove.confirmation.content = 金庫はリストのみで削除されます。完全に削除するには、ファイルシステムからファイルを削除してください。
upgrade.version3to4.msg = この金庫は新しいフォーマットに移行する必要があります。\n暗号化されたフォルダの名前は更新されます。\n続行する前に同期が完了していることをご確認ください。
upgrade.version3to4.err.io = I/O の例外で移行に失敗しました。詳細はログをご確認ください。
# upgrade.fxml
upgrade.confirmation.label = はい、同期が完了していることを確認しました。
unlock.label.savePassword = パスワードを保存
unlock.errorMessage.unauthenticVersionMac = MAC バージョンを認証できません。
unlock.savePassword.delete.confirmation.title = 保存済みのパスワードを削除
unlock.savePassword.delete.confirmation.header = 本当にこの金庫の保存済みパスワードを削除しますか?
unlock.savePassword.delete.confirmation.content = この金庫の保存済みパスワードは、直ちにシステムのキーチェーンから削除されます。もう一度パスワードを保存するには、"Save Password" オプションを有効にして金庫を解錠する必要があります。
settings.debugMode.label = デバッグモード
upgrade.version3dropBundleExtension.title = 金庫をバージョン 3 にアップグレード(Drop Bundle Extension)
upgrade.version3to4.title = 金庫をバージョン 3 から 4 にアップグレード
upgrade.version4to5.title = 金庫をバージョン 4 から 5 にアップグレード
upgrade.version4to5.msg = この金庫は新しいフォーマットに移行する必要があります。\n暗号化されたファイルは更新されます。\n続行する前に同期が完了していることをご確認ください。\n\n注意すべてのファイルの変更日は、現在の日付・時刻に変わります。
upgrade.version4to5.err.io = I/O の例外で移行に失敗しました。詳細はログをご確認ください。
unlock.label.revealAfterMount = ドライブの表示
unlocked.lock.force.confirmation.title = %1$s の施錠に失敗しました
unlocked.lock.force.confirmation.header = 強制的にロックしますか?
unlocked.lock.force.confirmation.content = これは恐らく他のプログラムがこの金庫のファイルをまだアクセスしているか、あるいは別の問題が発生したためです。\n\nまだファイルにアクセスしているプログラムが正しく動作しない可能性があり、それらのプログラムによってまだ書き込まれていないデータが失われる可能性があります。
unlock.label.unlockAfterStartup = 起動時に解錠 (実験的)
unlock.errorMessage.unlockFailed = 施錠に失敗しました。詳細をログファイルで確認してください。
upgrade.version5toX.title = 金庫のバージョンをアップグレード
upgrade.version5toX.msg = この金庫を新しいバージョンに移行する必要があります。\n進行する前に同期が完了していることをご確認ください。
main.createVault.nonEmptyDir.title = 金庫の作成が失敗しました
main.createVault.nonEmptyDir.header = 選択したディレクトリが空ではありません
main.createVault.nonEmptyDir.content = 選択したディレクトリには、既にファイルがあります (非表示になっている可能性があります)。金庫は空のディレクトリにのみ作成可能です。
settings.webdav.port.label = WebDAV ポート
settings.webdav.port.prompt = 0 \= 自動的に選択
settings.webdav.port.apply = 適用
settings.webdav.prefGvfsScheme.label = WebDAV スキーム
settings.volume.label = マウント方法
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = 金庫が正常に作成されました。
unlock.successLabel.passwordChanged = パスワードが正常に変更されました。
unlock.successLabel.upgraded = 金庫が正常にアップグレードされました。
# Fuzzy
unlock.label.useOwnMountPath = カスタムマウントポイントを使う
welcome.askForUpdateCheck.dialog.title = アップデート確認
welcome.askForUpdateCheck.dialog.header = 統合アップデート確認を有効にしますか?
welcome.askForUpdateCheck.dialog.content = 推奨事項\: 更新プログラムのチェックを有効にして、常にすべてのセキュリティ パッチが適応された Cryptomator の最新バージョンを利用してください。\n\nこの設定はいつでも設定から変更できます。
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = 金庫のロックに失敗しました。
main.gracefulShutdown.dialog.header = 金庫が使用中です。
main.gracefulShutdown.dialog.content = 金庫が複数のプログラムによって使用されています。Cryptomator を正常に終了できるようにプログラムを閉じてから、もう一度やり直してください。\n\n閉じなくても Cryptomator を強制的に終了することはできますが、データの損失を発生しかねないためお勧めできません。
main.gracefulShutdown.button.tryAgain = やり直す
main.gracefulShutdown.button.forceShutdown = 強制終了
unlock.pendingMessage.unlocking = 金庫を解錠しています...
unlock.failedDialog.title = 解錠に失敗しました
unlock.failedDialog.header = 解錠に失敗しました
unlock.failedDialog.content.mountPathNonExisting = マウントポイントが存在しません。
unlock.failedDialog.content.mountPathNotEmpty = マウントポイントが空ではありません。
unlock.label.useReadOnlyMode = 読み取り専用
unlock.label.chooseMountPath = 空のディレクトリを選択...
ctrl.secPasswordField.nonPrintableChars = パスワードに制御文字が含まれています。\n推奨事項\: 他のクライアントとの互換性のために、制御文字は削除してください。
ctrl.secPasswordField.capsLocked = Caps Lock が有効です。
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = 여기를 클릭하여 보관함 추가하기
main.directoryList.contextMenu.remove = 목록에서 삭제
main.directoryList.contextMenu.changePassword = 비밀번호 변경
main.addDirectory.contextMenu.new = 새 보관함 만들기
main.addDirectory.contextMenu.open = 기존 보관함 열기
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = 업데이트 확인 중...
welcome.newVersionMessage = %1$s 버전이 새로 다운로드 가능합니다.\n지금 버전은 %2$s 입니다.
# initialize.fxml
initialize.label.password = 비밀번호
initialize.label.retypePassword = 비밀번호 재입력
initialize.button.ok = 보관함 만들기
initialize.messageLabel.alreadyInitialized = 이미 보관함이 초기화되었습니다.
initialize.messageLabel.initializationFailed = 보관함을 초기화할 수 없습니다. 자세한 사항은 로그 파일을 참조하세요.
# notfound.fxml
notfound.label = 보관함을 찾을 수 없습니다. 옮겨졌는지 확인해 주세요.
# upgrade.fxml
upgrade.button = 보관함 업그레이드
upgrade.version3dropBundleExtension.msg = 이 보관함은 새로운 형식으로 다시 바뀔 필요가 있습니다. "%1$s"의 이름은 "%2$s"로 바뀔 것입니다. 진행하기 전에 동기화가 완료되었는지 다시 한 번 확인해주시기 바랍니다.
upgrade.version3dropBundleExtension.err.alreadyExists = 자동 마이그레이션 실패. "%s"가 이미 존재합니다.
# unlock.fxml
unlock.label.password = 비밀번호
unlock.label.mountName = 드라이브 이름
# Fuzzy
unlock.label.winDriveLetter = 드라이브 문자
unlock.label.downloadsPageLink = 모든 Cryptomator 버전
unlock.label.advancedHeading = 고급 옵션
unlock.button.unlock = 보관함 해제
unlock.button.advancedOptions.show = 더 많은 옵션
unlock.button.advancedOptions.hide = 기본 옵션
unlock.choicebox.winDriveLetter.auto = 자동으로 할당
unlock.errorMessage.wrongPassword = 잘못된 비밀번호
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = 지원되지 않는 보관함. 이 보관함은 이전 버전의 Cryptomator에서 생성되었습니다.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = 지원되지 않는 보관함. 이 보관함은 상위 버전의 Cryptomator에서 생성되었습니다.
# change_password.fxml
changePassword.label.oldPassword = 이전 비밀번호
changePassword.label.newPassword = 새로운 비밀번호
changePassword.label.retypePassword = 비밀번호 재입력
changePassword.label.downloadsPageLink = 모든 Cryptomator 버전
changePassword.button.change = 비밀번호 변경
changePassword.errorMessage.wrongPassword = 잘못된 비밀번호
changePassword.errorMessage.decryptionFailed = 암호화 해제 실패
# unlocked.fxml
unlocked.button.lock = 보관함 잠그기
unlocked.moreOptions.reveal = 드라이브 표시
unlocked.label.revealFailed = 명령 실패
unlocked.label.unmountFailed = 드라이브 꺼내기 실패
unlocked.label.statsEncrypted = 암호화
unlocked.label.statsDecrypted = 복호화
unlocked.ioGraph.yAxis.label = 처리량 (MiB/s)
# settings.fxml
settings.version.label = 버전 %s
settings.checkForUpdates.label = 업데이트 확인
# tray icon
tray.menu.open = 열기
tray.menu.quit = 종료
tray.infoMsg.title = 계속 실행 중입니다.
tray.infoMsg.msg = Cryptomator가 계속 실행 중입니다. 종료는 트레이 아이콘에서 해주세요.
tray.infoMsg.msg.osx = Cryptomator가 계속 실행중입니다. 종료는 메뉴바 아이콘에서 해주세요.
initialize.messageLabel.passwordStrength.0 = 매우 약함
initialize.messageLabel.passwordStrength.1 = 약함
initialize.messageLabel.passwordStrength.2 = 괜찮음
initialize.messageLabel.passwordStrength.3 = 강력함
initialize.messageLabel.passwordStrength.4 = 매우 강력함
initialize.label.doNotForget = 중요\: 만약 비밀번호를 잊으셨다면, 여러분의 데이터를 복구할 수 없습니다.
main.directoryList.remove.confirmation.title = 보관함 삭제
main.directoryList.remove.confirmation.header = 정말 이 보관함을 삭제하시겠습니까?
main.directoryList.remove.confirmation.content = 보관함이 목록에서만 제거되었습니다. 데이터를 완전히 제거하시려면, 사용자의 파일시스템이서 제거해 주시기 바랍니다.
upgrade.version3to4.msg = 이 보관함은 새로운 형식으로 이전되어야 합니다. 암호화된 폴더 이름이 업데이트 될 것입니다. 진행하기 전에 동기화가 완료되었는지 확인하기 바랍니다.
upgrade.version3to4.err.io = I/O 예외 문제로 마이그레이션이 실패하였습니다. 자세한 사항은 로그 파일을 확인하세요.
# upgrade.fxml
upgrade.confirmation.label = 네. 동기화가 완료되었음을 확인하였습니다.
unlock.label.savePassword = 비밀번호 저장
unlock.errorMessage.unauthenticVersionMac = 인증할 수 없는 버전의 MAC(Message Authentication Code)입니다
unlock.savePassword.delete.confirmation.title = 저장된 비밀번호 삭제
unlock.savePassword.delete.confirmation.header = 정말로 이 보관함의 저장된 비밀번호를 지우시겠습니까?
unlock.savePassword.delete.confirmation.content = 이 보관함의 저장된 비밀번호는 당신의 시스템 키체인에서 즉시 삭제될 것입니다. 다시 비밀번호를 저장하고 싶으시다면, 보관함을 열 때 "비밀번호 저장" 옵션을 활성화해야 합니다
settings.debugMode.label = 디버그 모드
upgrade.version3dropBundleExtension.title = 버전 3 보관함 업그레이드 (Drop Bundle Extension)
upgrade.version3to4.title = 보관함 버전 3에서 4로 업그레이드
upgrade.version4to5.title = 보관함 버전 4에서 5로 업그레이드
upgrade.version4to5.msg = 이 보관함은 새로운 형식으로 이전되어야 합니다.\n암호화된 파일들은 업데이트 될 것입니다.\n진행하기 전에 동기화가 완료되었는지 확인해주세요.\n\n참고\: 모든 파일의 수정 날짜는 과정 진행 중에 현재 날짜/시간으로 바뀔 것입니다.
upgrade.version4to5.err.io = I/O 예외에 의해 마이그레이션 실패. 자세한 사항은 로그 파일을 참조하세요.
unlock.label.revealAfterMount = 드라이브 공개
unlocked.lock.force.confirmation.title = %1$s 잠그기 실패
unlocked.lock.force.confirmation.header = 강제로 잠그시겠습니까?
unlocked.lock.force.confirmation.content = 이는 다른 프로그램이 보관함 내의 파일을 접근하고 있거나, 다른 문제가 발생했기 때문일 수 있습니다.\n\n파일을 접근하고 있는 프로그램이 제대로 동작하지 않을 수 있으며, 프로그램이 쓰지 않은 데이터는 손실될 수 있습니다.
unlock.label.unlockAfterStartup = 시작 시 자동 잠금 해제 (실험적)
unlock.errorMessage.unlockFailed = 잠금 해제 실패. 자세한 사항은 로그 파일을 참조하세요.
upgrade.version5toX.title = 보관함 버전 업그레이드
upgrade.version5toX.msg = 이 보관함은 새로운 버전으로 이전되어야 합니다.\n진행하기 전에 동기화가 완료되었는지 확인해주세요.
main.createVault.nonEmptyDir.title = 보관함 생성 실패
main.createVault.nonEmptyDir.header = 선택된 디렉토리가 비어있지 않습니다
main.createVault.nonEmptyDir.content = 선택된 디렉토리가 이미 파일을 포함하고 있습니다 (숨겨져 있을 수도 있습니다). 보관함은 비어있는 디렉토리에만 생성할 수 있습니다.
settings.webdav.port.label = WebDAV 포트
settings.webdav.port.prompt = 0 \= 자동으로 선택
settings.webdav.port.apply = 적용
settings.webdav.prefGvfsScheme.label = WebDAV 스킴
settings.volume.label = 마운트-방법
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = 보관함이 성공적으로 생성되었습니다.
unlock.successLabel.passwordChanged = 비밀번호가 성공적으로 변경되었습니다.
unlock.successLabel.upgraded = Cryptomator가 성공적으로 업그레이드 되었습니다.
# Fuzzy
unlock.label.useOwnMountPath = 커스텀 마운트 지점 사용
welcome.askForUpdateCheck.dialog.title = 업데이트 확인
welcome.askForUpdateCheck.dialog.header = 통합 업데이트 확인을 활성화 하겠습니까?
welcome.askForUpdateCheck.dialog.content = 추천\: 모든 보안 패치가 적용된 최신 버전의 Cryptomator를 유지하기 위해 업데이트 확인을 활성화 하십시오.\n설정에서 언제든지 바꿀 수 있습니다.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = 보관함 잠그기 실패
main.gracefulShutdown.dialog.header = 보관함이 사용중입니다.
main.gracefulShutdown.dialog.content = 하나 이상의 보관함을 다른 프로그램이 사용하고 있습니다. Cryptomator를 올바르게 종료하려면 프로그램을 먼저 종료하고 다시 시도해 주세요.
main.gracefulShutdown.button.tryAgain = 다시 시도
main.gracefulShutdown.button.forceShutdown = 강제 종료
unlock.pendingMessage.unlocking = 보관함 여는 중
unlock.failedDialog.title = 잠금 해제 실패
unlock.failedDialog.header = 잠금 해제 실패
unlock.failedDialog.content.mountPathNonExisting = 마운트 지점이 존재하지 않습니다.
unlock.failedDialog.content.mountPathNotEmpty = 마운트 지점이 비어있지 않습니다.
unlock.label.useReadOnlyMode = 읽기 전용
unlock.label.chooseMountPath = 빈 디렉토리 선택
ctrl.secPasswordField.nonPrintableChars = 패스워드에 특수문자가 포함되어 있습니다.\n권장사항 \: 다른 클라이언트와의 호환성을 보증하기 위해 해당하는 문자를 제거하시기 바랍니다.
ctrl.secPasswordField.capsLocked = Caps Lock 키가 활성화 되어있습니다.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,129 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Noklikšķiniet šeit, lai pievienotu glabātuvi
main.directoryList.contextMenu.remove = Noņemt no saraksta
main.directoryList.contextMenu.changePassword = Mainīt paroli
main.addDirectory.contextMenu.new = Izveidot jaunu glabātuvi
main.addDirectory.contextMenu.open = Atvērt esošu glabātuvi
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Pārbauda atjauninājumus...
welcome.newVersionMessage = Lejupielādei pieejama versija %1$s.\nŠī ir %2$s.
# initialize.fxml
initialize.label.password = Parole
initialize.label.retypePassword = Atkārto paroli
initialize.button.ok = Izveidot glabātuvi
initialize.messageLabel.alreadyInitialized = Glabātuve jau ir inicializēta
initialize.messageLabel.initializationFailed = Nevarēja inicializēt glabātuvi. Sīkāku informāciju skaties žurnālā.
# notfound.fxml
notfound.label = Nevar atrast glabātuvi. Vai tā ir pārvietota?
# upgrade.fxml
upgrade.button = Atjaunināt glabātuvi
upgrade.version3dropBundleExtension.msg = Šī glabātuve ir jāmigrē uz jaunākas versijas formātu.\n"%1$s" tiks pārsaukta par "%2$s".\nPirms palaišanas pārliecinies, ka ir beigusies sinhronizācija.
upgrade.version3dropBundleExtension.err.alreadyExists = Automātiskā migrācija neizdevās.\n"%s" jau eksistē.
# unlock.fxml
unlock.label.password = Parole
unlock.label.mountName = Diska nosaukums
# Fuzzy
unlock.label.winDriveLetter = Diska burts
unlock.label.downloadsPageLink = Visas Cryptomator versijas
unlock.label.advancedHeading = Papildus opcijas
unlock.button.unlock = Atslēgt glabātuvi
unlock.button.advancedOptions.show = Vairāk opcijas
unlock.button.advancedOptions.hide = Mazāk opcijas
unlock.choicebox.winDriveLetter.auto = Piešķirt automātiski
unlock.errorMessage.wrongPassword = Nepareiza parole
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Neatbastīta glabātuve. Šī glabātuve ir veidota ar vecāku Cryptomator versiju.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Neatbastīta glabātuve. Šī glabātuve ir veidota ar jaunāku Cryptomator versiju.
# change_password.fxml
changePassword.label.oldPassword = Vecā parole
changePassword.label.newPassword = Jaunā parole
changePassword.label.retypePassword = Atkārto paroli
changePassword.label.downloadsPageLink = Visas Cryptomator versijas
changePassword.button.change = Mainīt paroli
changePassword.errorMessage.wrongPassword = Nepareiza parole
changePassword.errorMessage.decryptionFailed = Atšifrēšana neizdevās
# unlocked.fxml
unlocked.button.lock = Aizslēgt glabātuvi
unlocked.moreOptions.reveal = Atklāt disku
unlocked.label.revealFailed = Komunikācija neizdevās
unlocked.label.unmountFailed = Diska izgrūšana neizdevās
unlocked.label.statsEncrypted = šifrēts
unlocked.label.statsDecrypted = atšifrēts
unlocked.ioGraph.yAxis.label = Caurlaidība (MiB/s)
# settings.fxml
settings.version.label = Versija %s
settings.checkForUpdates.label = Meklēt atjauninājumus
# tray icon
tray.menu.open = Atvērt
tray.menu.quit = Iziet
tray.infoMsg.title = Joprojām darbojās
# Fuzzy
tray.infoMsg.msg = Cryptomator joprojām darbojās. Iziet var no statusa ikonas.
tray.infoMsg.msg.osx = Cryptomator is still alive. joprojām darbojās. Iziet var no izvēlnes ikonas.
initialize.messageLabel.passwordStrength.0 = Ļoti vāja
initialize.messageLabel.passwordStrength.1 = Vāja
initialize.messageLabel.passwordStrength.2 = Vidēja
initialize.messageLabel.passwordStrength.3 = Stipra
initialize.messageLabel.passwordStrength.4 = Ļoti stipra
initialize.label.doNotForget = SVARĪGI\: Ja tu aizmirsti paroli, nav ceļa datu atjaunošanai
main.directoryList.remove.confirmation.title = Noņemt glabātuvi
main.directoryList.remove.confirmation.header = Vai tiešām vēlie noņemt šo glabātuvi?
main.directoryList.remove.confirmation.content = Glabātuve tiks noņemta tikai no saraksta. Lai to dzēstu pilnībā, lūdzu nodzēs to no datņu sistēmas.
upgrade.version3to4.msg = Šī glabātuve ir jāmigrē uz jaunāku formāta versiju. Sifrētie mapju nosaukumi tiks atjaunināti. Pirms palaišanas lūdzu pārliecinies, ka ir pabeigusies sinhronizācija.
upgrade.version3to4.err.io = Migrācija neizdevās dēļ I/O izņēmuma. Sīkāku informāciju skaties žurnālā.
# upgrade.fxml
upgrade.confirmation.label = Jā, esmu pārliecinājies, ka sinhronizācija ir pabeigta.
unlock.label.savePassword = Saglabāt paroli
unlock.errorMessage.unauthenticVersionMac = Nevar autentificēt versijas MAC
unlock.savePassword.delete.confirmation.title = Dzēst saglabāto paroli
unlock.savePassword.delete.confirmation.header = Vai tiešām vēlies dzēst saglabāto paroli šai glabātuvei?
unlock.savePassword.delete.confirmation.content = Saglabātā parole nekavējoties tiks izdzēsta. Ja vēlēsies paroli atkārtoti saglabāt, tev būs jāatslēdz glabātuve ar ieslēgtu opciju "Saglabāt paroli".
settings.debugMode.label = Atkļūdošanas režīms
upgrade.version3dropBundleExtension.title = Glabātuves 3 versijas atjauninājums (atmet paplašinājumu)
upgrade.version3to4.title = Glabātuves versijas 3 uz 4 atjauninājums
upgrade.version4to5.title = Glabātuves versijas 4 uz 5 atjauninājums
upgrade.version4to5.msg = Šo glabātuvi nepieciešams migrēt uz jaunāku versiju.\nŠifrētās datnes tiks atjauninātas.\nPirms apstiprini, pārliecinies, ka ir beigusies sinhronizācija.\n\nPiezīme\: Visām datnēm modificēšanas datums tiks izmainīts uz šodienas datumu.
upgrade.version4to5.err.io = Migrācijas kļūda dēļ I/O izņēmuma. Sīkāku informāciju skaties žurnālā.
unlock.label.revealAfterMount = Atklāt disku
unlocked.lock.force.confirmation.title = %1$s aizslēgšana neizdevās
unlocked.lock.force.confirmation.header = Vai jūs vēlaties piespiest aizslēgšanu?
unlocked.lock.force.confirmation.content = Tas varētu notikt, jo citas programmas joprojām izmanto glabātuves datnes vai arī ir kādas citas problēmas.\n\nProgrammas, kuras turpina izmantot datnes var nedarboties korekti un dati, kas nav ierakstīti glabātuvē, var tikt pazaudēti.
unlock.label.unlockAfterStartup = Automātiski atslēgt pie startēšanas (eksperimentāls)
unlock.errorMessage.unlockFailed = Atslēgšana neizdevās. Sīkāku informāciju skaties žurnālā.
upgrade.version5toX.title = Glabātuves versijas atjaunināšana
upgrade.version5toX.msg = Šo glabātuvi nepieciešams migrēt uz jaunāku versiju.\nLūdzu pārliecinieties, ka ir pabeigts sinhronizācijas process.
main.createVault.nonEmptyDir.title = Glabātuves izveide neizdevās
main.createVault.nonEmptyDir.header = Izvēlētā mape nav tukša
main.createVault.nonEmptyDir.content = Izvēlētā mape jau satur datnes (iespējams paslēptas). Glabātuve var tikt izveidota tikai tukšā mapē.
settings.webdav.port.label = WebDAV ports
settings.webdav.port.prompt = 0 \= izvēlās automātiski
settings.webdav.port.apply = Pielietot
settings.webdav.prefGvfsScheme.label = WebDAV shēma
settings.volume.label = Vēlamais sējuma tips
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Glabātuve tika veiksmīgi izveidota.
unlock.successLabel.passwordChanged = Parole tika veiksmīgi nomainīta.
unlock.successLabel.upgraded = Glabātuve tika veiksmīgi atjaunināta.
# Fuzzy
unlock.label.useOwnMountPath = Izmantot citu montēšanas vietu
welcome.askForUpdateCheck.dialog.title = Atjauninājuma pārbaude
welcome.askForUpdateCheck.dialog.header = Ieslēgt integrēto atjauninājumu pārbaudi?
welcome.askForUpdateCheck.dialog.content = Rekomendācija\: Ieslēdziet atjauninājumu pārbaudi, lai vienmēr esiet drošs, ka instalēta jaunākā Cryptomator versija ar visiem drošības ielāpiem.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Glabātuve(s) aizslēgšana neizdevās
main.gracefulShutdown.dialog.header = Izmantotā(s) glabātuve(s)
main.gracefulShutdown.dialog.content = Vienu vai vairākas glabātuves joprojām izmanto citas programmas. Lūdzu, aizveriet tās, lai ļautu Cryptomator pareizi aizvērties, tad mēģiniet vēlreiz.\n\nJa tas nedarbojas, Cryptomator var piespiedu aizvērt, taču tas var izraisīt datu zudumu un nav ieteicams.
main.gracefulShutdown.button.tryAgain = Mēģini vēlreiz
main.gracefulShutdown.button.forceShutdown = Piespiest izslēgšanu
unlock.pendingMessage.unlocking = Atslēdz glabātuvi...
unlock.failedDialog.title = Atslēgšana neizdevās
unlock.failedDialog.header = Atslēgšana neizdevās
unlock.failedDialog.content.mountPathNonExisting = Montēšanas vieta neeksistē.
unlock.failedDialog.content.mountPathNotEmpty = Montēšanas vieta nav tukša.
unlock.label.useReadOnlyMode = Tikai lasīt
unlock.label.chooseMountPath = Izvēlieties tukšu mapi...
ctrl.secPasswordField.nonPrintableChars = Parole satur kontroles rakstzīmes.\nRekomentācija\: Noņemiet tās, lai nodrošinātu saderību ar citiem klientiem.
ctrl.secPasswordField.capsLocked = Caps Lock ir aktivizēts.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,130 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Klik hier om een kluis toe te voegen
main.directoryList.contextMenu.remove = Verwijder van lijst
# The current Dutch translation of this string (and other, similar contexts) is not in accordance with Windows convention, which is to translate options like this with infinitivies and not imperatives, so "Wachtwoord wijzigen," not "Wijzig wachtwoord." MacOS uses imperatives in Dutch, not Windows.
main.directoryList.contextMenu.changePassword = Verander Wachtwoord
main.addDirectory.contextMenu.new = Maak Nieuwe Kluis
main.addDirectory.contextMenu.open = Open Bestaande Kluis
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Controleren op updates...
welcome.newVersionMessage = Versie %1$s kan worden gedownload.\nDit is %2$s.
# initialize.fxml
initialize.label.password = Wachtwoord
initialize.label.retypePassword = Voer wachtwoord opnieuw in
# This is not in accordance with Dutch conventions. Not only does it use an imperative, but 'create' is generally translated as 'maken' or 'aanmaken', not 'creëren'. So "Kluis maken."
initialize.button.ok = Creëer kluis
initialize.messageLabel.alreadyInitialized = Kluis reeds geïnitialiseerd
initialize.messageLabel.initializationFailed = Kon kluis niet initialiseren. Zie logbestand voor details.
# notfound.fxml
notfound.label = Kluis kon niet gevonden worden. Is hij verplaatst?
# upgrade.fxml
upgrade.button = Upgrade Kluis
upgrade.version3dropBundleExtension.msg = Deze kluis dient te worden gemigreerd naar een nieuwer type.\n"%1$s" zal worden hernoemd naar "%2$s".\nZorg ervoor dat de synchronisatie voltooid is alvorens door te gaan.
upgrade.version3dropBundleExtension.err.alreadyExists = Automatische migratie mislukt.\n"%s" bestaat al.
# unlock.fxml
unlock.label.password = Wachtwoord
unlock.label.mountName = Schijfnaam
# Fuzzy
unlock.label.winDriveLetter = Schijfletter
unlock.label.downloadsPageLink = Alle Cryptomator versies
unlock.label.advancedHeading = Geavanceerde Opties
unlock.button.unlock = Ontgrendel Kluis
unlock.button.advancedOptions.show = Meer Opties
unlock.button.advancedOptions.hide = Minder Opties
unlock.choicebox.winDriveLetter.auto = Automatisch toekennen
unlock.errorMessage.wrongPassword = Verkeerd wachtwoord
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Niet ondersteunde kluis. Deze kluis is gemaakt met een nieuwere versie van Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Niet ondersteunde kluis. Deze kluis is gemaakt met een nieuwere versie van Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Huidig Wachtwoord
changePassword.label.newPassword = Nieuw Wachtwoord
changePassword.label.retypePassword = Herhaal Wachtwoord
changePassword.label.downloadsPageLink = Alle Cryptomator versies
changePassword.button.change = Verander Wachtwoord
changePassword.errorMessage.wrongPassword = Alle Cryptomator versies
changePassword.errorMessage.decryptionFailed = Decoderen mislukt
# unlocked.fxml
unlocked.button.lock = Vergrendel kluis
unlocked.moreOptions.reveal = Maak schijf zichtbaar
unlocked.label.revealFailed = Opdracht mislukt
unlocked.label.unmountFailed = Uitwerpen schijf mislukt
unlocked.label.statsEncrypted = versleuteld
unlocked.label.statsDecrypted = gedecodeerd
unlocked.ioGraph.yAxis.label = Doorvoer (MiB/s)
# settings.fxml
settings.version.label = Versie %s
settings.checkForUpdates.label = Controleer op updates
# tray icon
tray.menu.open = Open
tray.menu.quit = Afsluiten
tray.infoMsg.title = Nog Steeds Actief
tray.infoMsg.msg = Cryptomator is nog steeds actief. Sluit af via het icoon in het systeemvak.
tray.infoMsg.msg.osx = Cryptomator is nog steeds actief. Sluit af via het icoon op de menubalk.
initialize.messageLabel.passwordStrength.0 = Zeer zwak
initialize.messageLabel.passwordStrength.1 = Zwak
initialize.messageLabel.passwordStrength.2 = Redelijk
initialize.messageLabel.passwordStrength.3 = Sterk
initialize.messageLabel.passwordStrength.4 = Zeer sterk
initialize.label.doNotForget = BELANGRIJK\: Indien je het wachtwoord vergeet, is er geen manier om je data te herstellen.
main.directoryList.remove.confirmation.title = Verwijder Kluis
main.directoryList.remove.confirmation.header = Weet je zeker dat je deze kluis wilt verwijderen?
main.directoryList.remove.confirmation.content = De kluis zal alleen van de lijst worden verwijdert. Verwijder de bestanden van het bestandssysteem voor permanente verwijdering.
upgrade.version3to4.msg = Deze kluis dient gemigreerd te worden naar een nieuwer type. \nVersleutelde mapnamen zullen worden geüpdatet. \nZorg ervoor dat de synchronisatie voltooid is alvorens door te gaan.
upgrade.version3to4.err.io = I/O Exception\: migratie mislukt. Zie logbestand voor details.
# upgrade.fxml
upgrade.confirmation.label = Ja, ik heb geverifieerd dat de synchronisatie voltooid is
unlock.label.savePassword = Wachtwoord Opslaan
unlock.errorMessage.unauthenticVersionMac = MAC authenticatie mislukt
unlock.savePassword.delete.confirmation.title = Verwijder Opgeslagen Wachtwoord
unlock.savePassword.delete.confirmation.header = Ben je zeker dat je het opgeslagen wachtwoord van deze kluis wilt verwijderen?
unlock.savePassword.delete.confirmation.content = Het opgeslagen wachtwoord van deze kluis zal onmiddellijk verwijderd worden van je systeem sleutelhanger. Als je opnieuw je wachtwoord wilt opslaan, zal je je kluis moeten ontgrendelen met de optie "Sla wachtwoord op" aan.
settings.debugMode.label = Debug Mode
upgrade.version3dropBundleExtension.title = Kluis Versie 3 Upgrade (Drop Bundel Extensie)
upgrade.version3to4.title = Kluis Versie 3 naar 4 Upgrade
upgrade.version4to5.title = Kluis Versie 4 naar 5 Upgrade
upgrade.version4to5.msg = Deze kluis moet gemigreerd worden naar een nieuw formaat.\nVersleutelde bestanden zullen bijgewerkt worden.\nZorg ervoor dat synchronisatie voltooid is alvorens verder te gaan.\n\nLet op\: Tijdens dit proces zal de wijzigingsdatum van alle bestanden gewijzigd worden naar de huidige datum/tijd.
upgrade.version4to5.err.io = Migratie mislukt door een I/O Exception. Bekijk log file voor details.
unlock.label.revealAfterMount = Maak schijf zichtbaar
unlocked.lock.force.confirmation.title = Blokkeren van %1$s is mislukt
unlocked.lock.force.confirmation.header = Wil je vergrendelen forceren?
unlocked.lock.force.confirmation.content = Dit kan komen omdat er nog andere programma's de bestanden in de kluis gebruik hebben, of door een ander probleem.\n\nProgramma's die de bestanden nog in gebruik hebben werken mogelijk niet goed, en gegevens die nog niet opgeslagen zijn gaan mogelijk verloren.
unlock.label.unlockAfterStartup = Auto-ontgrendelen bij starten (Expirimenteel)
unlock.errorMessage.unlockFailed = Ontgrendelen mislukt. Zie log file voor details.
upgrade.version5toX.title = Upgraden versie kluis
upgrade.version5toX.msg = Deze kluis moet gemigreerd worden naar een nieuwer formaat. Zorg dat de synchronisatie klaar is alvorens verder te gaan.
main.createVault.nonEmptyDir.title = Kluis aanmaken mislukt
main.createVault.nonEmptyDir.header = De gekozen map is niet leeg
main.createVault.nonEmptyDir.content = De geselecteerde map bevat al bestanden (mogelijk verborgen). Een klluis kan alleen worden aangemaakt in een lege map.
settings.webdav.port.label = WebDAV Poort
settings.webdav.port.prompt = 0 \= Automatisch kiezen
settings.webdav.port.apply = Toepassen
settings.webdav.prefGvfsScheme.label = WebDAV Schema
settings.volume.label = Voorkeurs Volume Type
settings.volume.webdav = WebDAV
settings.volume.fuse = STOP
unlock.successLabel.vaultCreated = Kluis was succesvol gecreeerd
unlock.successLabel.passwordChanged = Wachtwoord is succesvol aangepast
unlock.successLabel.upgraded = Cryptomator succesvol vernieuwd.
# Fuzzy
unlock.label.useOwnMountPath = Gebruik een eigen koppelpunt
welcome.askForUpdateCheck.dialog.title = Update check
welcome.askForUpdateCheck.dialog.header = Geintegreerde update check aanzetten
welcome.askForUpdateCheck.dialog.content = Om te controleren op updates haalt Cryptomator het huidige versienummer van de Cryptomatorservers en toont een hint indien een nieuwere versie beschikbaar is.\n\nWe raden aan om de geintegreerde update check aan te zetten om zeker te weten dat je de nieuwste versie van Cryptomator met alle beveiligings aanpassingen hebt geinstalleerd. Indien je deze niet aanzet kun je zelf de versie controleren en downloaden van https\://cryptomatr.org/downloads/.\n\n\nJe kan dit te allen tijden bij instellingen aanpassen.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Vergrendelen kluis/kluizen mislukt
main.gracefulShutdown.dialog.header = Vault(s) in use
main.gracefulShutdown.dialog.content = One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
main.gracefulShutdown.button.tryAgain = Probeer opnieuw
main.gracefulShutdown.button.forceShutdown = Geforceerd afsluiten
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Kliknij tutaj, aby utworzyć nowy portfel
main.directoryList.contextMenu.remove = Usuń z listy
main.directoryList.contextMenu.changePassword = Zmień Hasło
main.addDirectory.contextMenu.new = Utwórz Nowy Portfel
main.addDirectory.contextMenu.open = Otwórz istniejący portfel
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Sprawdzanie aktualizacji...
welcome.newVersionMessage = Nowa wersja %1$s jest dostępna do pobrania.\nObecnie używana wersja to %2$s.
# initialize.fxml
initialize.label.password = Hasło
initialize.label.retypePassword = Powtórz Hasło
initialize.button.ok = Utwórz Portfel
initialize.messageLabel.alreadyInitialized = Portfel został utworzony
initialize.messageLabel.initializationFailed = Nie można zainicjować portfela. Zobacz plik dziennika, aby poznać szczegóły.
# notfound.fxml
notfound.label = Nie znaleziono portfela. Może został przeniesiony?
# upgrade.fxml
upgrade.button = Zaktualizuj Portfel
upgrade.version3dropBundleExtension.msg = Portfel musi zostać zaktualizowany do nowszego formatu.\n"%1$s" zostanie zmienione na "%2$s".\nPrzed kontynuowaniem upewnij się, że synchronizacja została zakończona.
upgrade.version3dropBundleExtension.err.alreadyExists = Automatyczna migracja nie powiodła się.\n"%s" już istnieje.
# unlock.fxml
unlock.label.password = Hasło
unlock.label.mountName = Nazwa Napędu
# Fuzzy
unlock.label.winDriveLetter = Litera Napędu
unlock.label.downloadsPageLink = Wszystkie wersje Cryptomatora
unlock.label.advancedHeading = Opcje Zaawansowane
unlock.button.unlock = Odblokuj Portfel
unlock.button.advancedOptions.show = Więcej Opcji
unlock.button.advancedOptions.hide = Mniej Opcji
unlock.choicebox.winDriveLetter.auto = Przydziel automatycznie
unlock.errorMessage.wrongPassword = Nieprawidłowe hasło
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Nieobsługiwana wersja portfela. Ten portfel został utworzony przez starszą wersję Cryptomatora.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Nieobsługiwana wersja portfela. Ten portfel został utworzony przez nowszą wersję Cryptomatora.
# change_password.fxml
changePassword.label.oldPassword = Stare Hasło
changePassword.label.newPassword = Nowe Hasło
changePassword.label.retypePassword = Powtórz Hasło
changePassword.label.downloadsPageLink = Wszystkie wersje Cryptomatora
changePassword.button.change = Zmień Hasło
changePassword.errorMessage.wrongPassword = Nieprawidłowe hasło
changePassword.errorMessage.decryptionFailed = Błąd odszyfrowywania
# unlocked.fxml
unlocked.button.lock = Blokuj Portfel
unlocked.moreOptions.reveal = Odkryj Napęd
unlocked.label.revealFailed = Polecenie nie powiodło się
unlocked.label.unmountFailed = Wysuwanie napędu nie powiodło się
unlocked.label.statsEncrypted = szyfrowane
unlocked.label.statsDecrypted = nieszyfrowywane
unlocked.ioGraph.yAxis.label = Wydajność (MiB/s)
# settings.fxml
settings.version.label = Wersja %s
settings.checkForUpdates.label = Sprawdź aktualizacje
# tray icon
tray.menu.open = Otwórz
tray.menu.quit = Wyjdź
tray.infoMsg.title = Nadal Uruchomiony
tray.infoMsg.msg = Cryptomator jest nadal uruchomiony. Zamknij go z ikony z paska zadań.
tray.infoMsg.msg.osx = Cryptomator jest nadal uruchomiony. Zamknij go z ikony z paska menu.
initialize.messageLabel.passwordStrength.0 = Bardzo słabe
initialize.messageLabel.passwordStrength.1 = Słabe
initialize.messageLabel.passwordStrength.2 = Dostateczne
initialize.messageLabel.passwordStrength.3 = Mocne
initialize.messageLabel.passwordStrength.4 = Bardzo mocne
initialize.label.doNotForget = WAŻNE\: Jeśli zapomnisz hasło, nie ma żadnej innej możliwości odzyskania twoich danych.
main.directoryList.remove.confirmation.title = Usuń Portfel
main.directoryList.remove.confirmation.header = Czy na pewno chcesz usunąć ten portfel?
main.directoryList.remove.confirmation.content = Ten portfel zostanie usunięty tylko z listy. Jeśli chcesz trwale go usunąć, usuń pliki portfela ze swojego systemu plików.
upgrade.version3to4.msg = Ten portfel wymaga migracji do nowszego formatu.\nZaszyfrowane nazwy folderów zostaną zaktualizowane.\nPrzed kontynuowaniem upewnij się, że synchronizacja została zakończona.
upgrade.version3to4.err.io = Migracja nie powiodła się z powodu wyjątku I/O. Zobacz plik dziennika, aby poznać szczegóły.
# upgrade.fxml
upgrade.confirmation.label = Tak, upewniłem się że synchronizacja plików została ukończona.
unlock.label.savePassword = Zapisz Hasło
unlock.errorMessage.unauthenticVersionMac = Nie udało się uwierzytelnić wersji MAC
unlock.savePassword.delete.confirmation.title = Usuń Zapisane Hasło
unlock.savePassword.delete.confirmation.header = Czy na pewno chcesz usunąć zapisane hasło do tego portfela?
unlock.savePassword.delete.confirmation.content = Zapisane hasło do tego portfela zostanie natychmiast usunięte z systemowego pęku kluczy. Jeśli chcesz ponownie zapisać hasło, musisz odblokować portfel z włączoną opcją "Zapisz hasło".
settings.debugMode.label = Tryb Debugowania
upgrade.version3dropBundleExtension.title = Aktualizacja portfela do wersji 3 (Drop Bundle Extension)
upgrade.version3to4.title = Aktualizacja portfela z wersji 3 do 4
upgrade.version4to5.title = Aktualizacja portfela z wersji 4 do 5
upgrade.version4to5.msg = Ten portfel wymaga migracji do nowszego formatu.\nZaszyfrowane pliki zostaną zaktualizowane.\nPrzed kontynuowaniem upewnij się, że synchronizacja została zakończona..\n\nUwaga\: Data modyfikacji wszystkich plików zostanie zmieniona w procesie na bieżącą datę/czas.
upgrade.version4to5.err.io = Migracja nie powiodła się z powodu wyjątku I/O. Szczegóły błędu znajdziesz w dzienniku.
unlock.label.revealAfterMount = Pokaż Napęd
unlocked.lock.force.confirmation.title = Zablokowywanie %1$s nie powiodło się
unlocked.lock.force.confirmation.header = Czy chcesz wymusić zablokowanie?
unlocked.lock.force.confirmation.content = Może się tak dziać dlatego, że inne programy wciąż korzystają z plików z portfela lub wystąpił inny problem.\n\nProgramy wciąż korzystające z plików mogą przestać działać poprawnie, a nie zapisane przez nie dane mogą zostać utracone.
unlock.label.unlockAfterStartup = Auto-odblokowywanie podczas uruchamiania (Eksperymentalne)
unlock.errorMessage.unlockFailed = Błąd odblokowywania. Szczegóły błędu znajdziesz w dzienniku.
upgrade.version5toX.title = Aktualizacja Wersji Portfela
upgrade.version5toX.msg = Ten portfel wymaga migracji do nowszego formatu.\nZanim rozpoczniesz migrację upewnij się, że synchronizacja plików została zakończona.
main.createVault.nonEmptyDir.title = Błąd podczas tworzenia portfela
main.createVault.nonEmptyDir.header = Wybrany katalog nie jest pusty
main.createVault.nonEmptyDir.content = Wybrany katalog zawiera już pliki (prawdopodobnie ukryte). Portfel mozna utworzyć wyłącznie w pustym katalogu.
settings.webdav.port.label = Port WebDAV
settings.webdav.port.prompt = 0 \= Wybierz automatycznie
settings.webdav.port.apply = Zastosuj
settings.webdav.prefGvfsScheme.label = System WebDAV
settings.volume.label = Preferowany Typ Woluminu
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Portfel został pomyślnie utworzony.
unlock.successLabel.passwordChanged = Hasło zostało pomyślnie zmienione.
unlock.successLabel.upgraded = Cryptomator został pomyślnie zaktualizowany.
# Fuzzy
unlock.label.useOwnMountPath = Użyj indywidualnego punktu montowania
welcome.askForUpdateCheck.dialog.title = Sprawdź aktualizację
welcome.askForUpdateCheck.dialog.header = Włącz zintegrowane sprawdzenie aktualizacji?
welcome.askForUpdateCheck.dialog.content = Aby sprawdzić dostępność aktualizacji, Cryptomator pobierze bieżącą wersję z serwerów Cryptomator i wyświetli podpowiedź, jeśli dostępna będzie nowsza wersja.\n\nZalecamy włączenie sprawdzania aktualizacji, aby zawsze mieć pewność, że zainstalowana jest najnowsza wersja Cryptomatora ze wszystkimi poprawkami zabezpieczeń. Jeśli nie włączysz sprawdzania aktualizacji, możesz sprawdzić i pobrać aktualną wersję z https\://cryptomator.org/downloads/.\n\nMożesz to zmienić w dowolnym momencie, korzystając z ustawień.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Nie udało się zablokować porfela(i)
main.gracefulShutdown.dialog.header = Portfel(e) w użyciu
main.gracefulShutdown.dialog.content = Jedna lub więcej porfelii jest nadal używana przez inne programy. Zamknij je, aby umożliwić prawidłowe zamknięcie Cryptomator, a następnie spróbuj ponownie.\n\nJeśli to nie zadziała, Cryptomator może zamknąć na siłę, ale może to spowodować utratę danych i nie jest zalecane.
main.gracefulShutdown.button.tryAgain = Spróbuj ponownie
main.gracefulShutdown.button.forceShutdown = Wymuś zamknięcie
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Clique aqui para adicionar um cofre
main.directoryList.contextMenu.remove = Remover da lista
main.directoryList.contextMenu.changePassword = Alterar senha
main.addDirectory.contextMenu.new = Criar um novo cofre
main.addDirectory.contextMenu.open = Abrir um cofre já existente
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Buscando por atualizações...
welcome.newVersionMessage = Versão %1$s pode ser baixada. Esta é a versão %2$s.
# initialize.fxml
initialize.label.password = Senha
initialize.label.retypePassword = Redigite a senha
initialize.button.ok = Criar cofre
initialize.messageLabel.alreadyInitialized = Cofre já inicializado
initialize.messageLabel.initializationFailed = Não pôde inicializar o cofre. Veja o arquivo de log para mais detalhes.
# notfound.fxml
notfound.label = O cofre não pode ser encontrado. Pode ter sido movido?
# upgrade.fxml
upgrade.button = Atualizar cofre
upgrade.version3dropBundleExtension.msg = Esse cofre necessita ser migrado para um novo formato. "%1$s" será renomeado para "%2$s". Por favor assegure que a sincronização esta finalizada antes de proceder com a migração.
upgrade.version3dropBundleExtension.err.alreadyExists = A migração automática falhou. "%s" já existe.
# unlock.fxml
unlock.label.password = Senha
unlock.label.mountName = Nome do drive
# Fuzzy
unlock.label.winDriveLetter = Letra do drive
unlock.label.downloadsPageLink = Todas as versões do Cryptomator
unlock.label.advancedHeading = Opções avançadas
unlock.button.unlock = Abrir cofre
unlock.button.advancedOptions.show = Mais opções
unlock.button.advancedOptions.hide = Menos opções
unlock.choicebox.winDriveLetter.auto = Atribuir automaticamente
unlock.errorMessage.wrongPassword = Senha incorreta
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Cofre não suportado. Esse cofre foi criado por uma versão mais antiga do Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Cofre não suportado. Esse cofre foi criado por uma versão mais nova do Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Senha antiga
changePassword.label.newPassword = Senha Nova
changePassword.label.retypePassword = Redigitar senha
changePassword.label.downloadsPageLink = Todas as versões do Cryptomator
changePassword.button.change = Alterar senha
changePassword.errorMessage.wrongPassword = Senha incorreta
changePassword.errorMessage.decryptionFailed = Falha ao descriptografar
# unlocked.fxml
unlocked.button.lock = Fechar cofre
unlocked.moreOptions.reveal = Mostrar drive
unlocked.label.revealFailed = Falha de comando
unlocked.label.unmountFailed = Falha ao ejetar drive
unlocked.label.statsEncrypted = Criptografado
unlocked.label.statsDecrypted = Descriptografado
unlocked.ioGraph.yAxis.label = Taxa de transferência (Mbps)
# settings.fxml
settings.version.label = Versão %s
settings.checkForUpdates.label = Verificar por atualizações
# tray icon
tray.menu.open = Abrir
tray.menu.quit = Sair
tray.infoMsg.title = Ainda em execução
tray.infoMsg.msg = Cryptomator ainda está ativo. Finalize-o a partir do ícone da bandeja.
tray.infoMsg.msg.osx = Cryptomator ainda está ativo. Finalize-o a partir do ícone da barra de menu.
initialize.messageLabel.passwordStrength.0 = Muito fraca
initialize.messageLabel.passwordStrength.1 = Fraca
initialize.messageLabel.passwordStrength.2 = Razoável
initialize.messageLabel.passwordStrength.3 = Forte
initialize.messageLabel.passwordStrength.4 = Muito forte
initialize.label.doNotForget = IMPORTANTE\: se você esquecer a sua senha, não haverá como recuperar os seus dados.
main.directoryList.remove.confirmation.title = Remover cofre
main.directoryList.remove.confirmation.header = Você realmente quer remover esse cofre?
main.directoryList.remove.confirmation.content = O cofre somente será removido da lista. Para apagá-lo permanentemente, por favor apagar os arquivos do seu sistema de arquivos.
upgrade.version3to4.msg = Esse cofre tem que ser migrado a um novo formato. Os nomes das pastas criptografadas serão atualizados. Por favor, assegure que a sincronização do cofre foi finalizada antes de iniciar procedimento de migração.
upgrade.version3to4.err.io = Falha na migração devido a um erro de E/S. Veja o arquivo de log para mais detalhes.
# upgrade.fxml
upgrade.confirmation.label = Sim, tenho certeza de que a sincronização foi concluída
unlock.label.savePassword = Salvar senha
unlock.errorMessage.unauthenticVersionMac = Não foi possível autenticar a versão do MAC.
unlock.savePassword.delete.confirmation.title = Apagar a senha armazenada
unlock.savePassword.delete.confirmation.header = Você realmente quer apagar a senha armazenada deste cofre?
unlock.savePassword.delete.confirmation.content = A senha deste cofre que se encontra armazenada será imediatamente apagada de seu sistema. Se você quiser novamente armazenar sua senha, abra o seu cofre com a opção "Armazenar Senha" habilitada.
settings.debugMode.label = Modo de Debug
upgrade.version3dropBundleExtension.title = Atualização para a versão 3 do cofre (Drop Bundle Extension)
upgrade.version3to4.title = Atualização do cofre da versão 3 para 4
upgrade.version4to5.title = Atualização do cofre da versão 4 para 5
upgrade.version4to5.msg = Este cofre precisa ser migrado a um novo formato.\nOs arquivos criptografados serão atualizados.\nPor favor, assegure que a sincronização do cofre esteja finalizada antes de proceder com a migração para o novo formato.\n\nNota\: A data de modificação de todos os arquivos do cofre será alterada durante o processo para a data e hora corrente.
upgrade.version4to5.err.io = A migração falhou devido a uma exceção de I/O. Ver arquivo de log para mais detalhes.
unlock.label.revealAfterMount = Mostrar o Drive
unlocked.lock.force.confirmation.title = O bloqueio do %1$s falhou
unlocked.lock.force.confirmation.header = Você quer forçar o bloqueio?
unlocked.lock.force.confirmation.content = Isto pode ser causado por outros programas que seguem acessando arquivos no cofre ou porque algum outro problema ocorreu.\n\nProgramas que seguem acessando os arquivos podem não funcionar corretamente e os dados ainda não gravados por estes programas podem ser perdidos.
unlock.label.unlockAfterStartup = Auto-desbloqueio ao Iniciar (Experimental)
unlock.errorMessage.unlockFailed = O desbloqueio falhou. Veja o log para mais detalhes.
upgrade.version5toX.title = Atualização da Versão do Cofre
upgrade.version5toX.msg = Este cofre precisa ser migrado a um novo formato. Por favor assegure que a sincronização foi finalizada antes de proceder.
main.createVault.nonEmptyDir.title = Falha ao criar o cofre
main.createVault.nonEmptyDir.header = O diretório escolhido não se encontra vazio
main.createVault.nonEmptyDir.content = O diretório selecionado contém arquivos (possivelmente ocultos). Um cofre só pode ser criado num diretório vazio.
settings.webdav.port.label = WebDAV Porta
settings.webdav.port.prompt = 0 \= Escolha Automática
settings.webdav.port.apply = Aplicar
settings.webdav.prefGvfsScheme.label = WebDAV schema
settings.volume.label = Método de Montagem
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Cofre criado com sucesso
unlock.successLabel.passwordChanged = Senha modificada com sucesso
unlock.successLabel.upgraded = Crytomator atualizado com sucesso
# Fuzzy
unlock.label.useOwnMountPath = Usar Ponto de Montagem Personalizado
welcome.askForUpdateCheck.dialog.title = Verificação de atualização
welcome.askForUpdateCheck.dialog.header = Habilitar a verificação de atualização integrada?
welcome.askForUpdateCheck.dialog.content = Para verificar atualizações, Cryptomator vai buscar a versão atual dos servidores e exibirá uma dica para você se uma nova versão estiver disponível.\n\nNós recomendamos que habilite a verificação de atualização para que sempre tenha certeza de que está usando a última versão do Crytomator, com todos os pacotes de segurança instalados. Se você não habilitar a verificação de atualização, você pode verificar e baixar a versão atual em https\://cryptomator.org/downloads/.\n\nVocê pode mudar isso a qualquer momento através das configurações.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Falha no bloqueio do(s) cofre(s)
main.gracefulShutdown.dialog.header = Cofre(s) em uso
main.gracefulShutdown.dialog.content = Um ou mais cofres ainda estão em uso por outros programas. Por favor, feche-os para permitir que Cryptomator encerre corretamente, em seguida, tente novamente.\n\nSe isso não funcionar, Cryptomator pode forçar o desligamento, mas isso pode causar perda de dados e não é recomendado.
main.gracefulShutdown.button.tryAgain = Tente novamente
main.gracefulShutdown.button.forceShutdown = Forçar desligamento
unlock.pendingMessage.unlocking = Unlocking vault...
unlock.failedDialog.title = Unlock failed
unlock.failedDialog.header = Unlock failed
unlock.failedDialog.content.mountPathNonExisting = Mount point does not exist.
unlock.failedDialog.content.mountPathNotEmpty = Mount point is not empty.
unlock.label.useReadOnlyMode = Read-Only
unlock.label.chooseMountPath = Choose empty directory…
ctrl.secPasswordField.nonPrintableChars = Password contains control characters.\nRecommendation\: Remove them to ensure compatibility with other clients.
ctrl.secPasswordField.capsLocked = Caps Lock is activated.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,128 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Clique para adicionar um cofre
main.directoryList.contextMenu.remove = Remover da lista
main.directoryList.contextMenu.changePassword = Mudar senha
main.addDirectory.contextMenu.new = Criar novo cofre
main.addDirectory.contextMenu.open = Abrir um Cofre existente
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Verificando Atualizações...
welcome.newVersionMessage = A versão %1$s pode ser baixada.\nVocê está na %2$s.
# initialize.fxml
initialize.label.password = Senha
initialize.label.retypePassword = Repita a Senha
initialize.button.ok = Criar Cofre
initialize.messageLabel.alreadyInitialized = Cofre já inicializado
initialize.messageLabel.initializationFailed = Cofre não inicializado. Veja os arquivos de log para mais detalhes.
# notfound.fxml
notfound.label = Cofre não encontrado. Ele foi movido?
# upgrade.fxml
upgrade.button = Atualizar Cofre
upgrade.version3dropBundleExtension.msg = O Cofre precisa ser migrado para o novo formato.\n%1$s" será renomeado para "%2$s".\nPor favor certifique que a sincronização está finalizada antes de prosseguir.
upgrade.version3dropBundleExtension.err.alreadyExists = A Migração automática falhou.\n"%s" já existe.
# unlock.fxml
unlock.label.password = Senha
unlock.label.mountName = Nome do Volume
# Fuzzy
unlock.label.winDriveLetter = Letra do Volume
unlock.label.downloadsPageLink = Todas as versões do Cryptomator
unlock.label.advancedHeading = Opções Avançadas
unlock.button.unlock = Destravar Cofre
unlock.button.advancedOptions.show = Mais Opções
unlock.button.advancedOptions.hide = Menos Opções
unlock.choicebox.winDriveLetter.auto = Atribuir automaticamente
unlock.errorMessage.wrongPassword = Senha errada
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Cofre não suportado. Esse Cofre foi criado em uma versão antiga do Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Cofre não suportado. Esse Cofre foi criado em uma versão mais recente do Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Senha antiga
changePassword.label.newPassword = Nova senha
changePassword.label.retypePassword = Repita a senha
changePassword.label.downloadsPageLink = Todas as versões do Cyptomator
changePassword.button.change = Alterar senha
changePassword.errorMessage.wrongPassword = Senha errada
changePassword.errorMessage.decryptionFailed = Descriptografia falhou
# unlocked.fxml
unlocked.button.lock = Trancar Cofre
unlocked.moreOptions.reveal = Mostrar volume
unlocked.label.revealFailed = Falha no comando
unlocked.label.unmountFailed = A ejeção do volume falhou
unlocked.label.statsEncrypted = criptografado
unlocked.label.statsDecrypted = descriptografado
unlocked.ioGraph.yAxis.label = Transferência (Mbps)
# settings.fxml
settings.version.label = Versão %s
settings.checkForUpdates.label = Procurar por atualizações
# tray icon
tray.menu.open = Abrir
tray.menu.quit = Sair
tray.infoMsg.title = Ainda em Execução
tray.infoMsg.msg = O Cryptomator ainda está ativo. Feche-o através do icone da bandeja.
tray.infoMsg.msg.osx = O Cryptomator ainda está ativo. Feche-o através do menu da barra de ícones.
initialize.messageLabel.passwordStrength.0 = Muito fraca
initialize.messageLabel.passwordStrength.1 = Fraca
initialize.messageLabel.passwordStrength.2 = Razoável
initialize.messageLabel.passwordStrength.3 = Forte
initialize.messageLabel.passwordStrength.4 = Muito forte
initialize.label.doNotForget = IMPORTANTE\: Se você esqueceu sua senha, não há como recuperar sua informação.
main.directoryList.remove.confirmation.title = Remover Cofre
main.directoryList.remove.confirmation.header = Você realmente quer remover esse Cofre?
main.directoryList.remove.confirmation.content = O Cofre será removido somente da listagem. Para apagá-lo permanentemente é necessario apagá-lo de seu arquivo de sistema.
upgrade.version3to4.msg = Esse Cofre precisa ser migrado para o novo formato.\nOs nomes das pastas criptografadas serão atualizados.\nPor favor tenha certeza que a sincronização está finalizada antes de prosseguir.
upgrade.version3to4.err.io = A migração falhou devido a uma falha de entrada e saída. Veja o arquivo de log para mais detalhes.
# upgrade.fxml
upgrade.confirmation.label = Sim, tenho certeza que a sincronização terminou
unlock.label.savePassword = Salvar senha
unlock.errorMessage.unauthenticVersionMac = Não foi possível autenticar a versão MAC
unlock.savePassword.delete.confirmation.title = Apaga senha salva
unlock.savePassword.delete.confirmation.header = Você realmente quer apagar a senha salva para esse Cofre?
unlock.savePassword.delete.confirmation.content = A senha salva para esse Cofre será imediatamente apagada. Para salvar a senha novamente destrave o Cofre com a opção "Salvar senha" ativada.
settings.debugMode.label = Modo Debug
upgrade.version3dropBundleExtension.title = Atualização do Cofre v3 (Drop Bundle Extension)
upgrade.version3to4.title = Atualização do Cofre v3 para v4
upgrade.version4to5.title = Atualização do Cofre v4 para v5
upgrade.version4to5.msg = Este Cofre precisa ser migrado para o novo formato.\nOs arquivos criptografados serão atualizados.\nPor favor tenha certeza que a sincronização está finalizada antes de prosseguir. \n\nNota\: A data de modificação de todos os arquivos serão alteradas para a data/hora atual no processo.
upgrade.version4to5.err.io = A migração falhou devido a uma falha de entrada e saída. Veja o arquivo de log para mais detalhes.
unlock.label.revealAfterMount = Abrir Volume
unlocked.lock.force.confirmation.title = O Travamento para %1$s falhou
unlocked.lock.force.confirmation.header = Deseja forçar o travamento?
unlocked.lock.force.confirmation.content = Isso pode está ocorrendo porque arquivos no Cofre ainda estão sendo acessados ou algum outro problema ocorreu.\n\nProgramas que ainda estão acessando os arquivos podem não funcionar corretamente e os dados não gravados podem ser perdidos.
unlock.label.unlockAfterStartup = Desbloquear ao iniciar (Experimental)
unlock.errorMessage.unlockFailed = Desbloqueio falhou. Consulte o arquivo de log para obter mais detalhes.
upgrade.version5toX.title = Atualização da Versão do Cofre
upgrade.version5toX.msg = Esse Cofre precisa ser migrado para o novo formato.\nPor favor certifique que a sincronização está finalizada antes de prosseguir.
main.createVault.nonEmptyDir.title = Criação do cofre falhou
main.createVault.nonEmptyDir.header = O diretório escolhido não está vazio
main.createVault.nonEmptyDir.content = O diretório selecionado já contém arquivos (possivelmente ocultos). Um cofre só pode ser criado em um diretório vazio.
settings.webdav.port.label = WebDAV Porta
settings.webdav.port.prompt = 0 \= Escolher automaticamente
settings.webdav.port.apply = Aplicar
settings.webdav.prefGvfsScheme.label = WebDAV Esquema
settings.volume.label = Método de Montagem
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Cofre foi criado com sucesso.
unlock.successLabel.passwordChanged = Senha for trocada com sucesso.
unlock.successLabel.upgraded = Cryptomator foi atualizado com sucesso.
# Fuzzy
unlock.label.useOwnMountPath = Usar ponto de montagem individual
welcome.askForUpdateCheck.dialog.title = Checar atualizações
welcome.askForUpdateCheck.dialog.header = Ativar a checagem por atualizações?
welcome.askForUpdateCheck.dialog.content = Para checar as atualizações, Cryptomator irá verificar a versão mais recente em nossos servidores e avisará se existe uma versão disponível.\n\nRecomendamos ativar a checagem por novas atualizações para ter certeza que se tenha a versão mais recente do Cryptomator, com todas as correções de segurança. Se não ativar as atualizações é possivel checar e baixa-las a versão mais recente em https\://cryptomator.org/downloads/.\n\nVocê pode alterar as configurações a qualquer hora.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Falha ao trancar o cofre
main.gracefulShutdown.dialog.header = Cofre(s) em uso
main.gracefulShutdown.dialog.content = Um ou mais cofres ainda estão em uso por outros programas. Por favor feche-os para permitir ao Cryptomator encerrar apropriadamente, então tente novamente.\n\n\nSe isso não funcionar direito, Cryptomator pode ser forçado a desligar, mas isso pode causar perda de dados e não é recomendado.
main.gracefulShutdown.button.tryAgain = Tente novamente
main.gracefulShutdown.button.forceShutdown = Forçar Desligamento
unlock.pendingMessage.unlocking = Destravando Cofre...
unlock.failedDialog.title = Desbloquear falhou
unlock.failedDialog.header = Desbloquear falhou
unlock.failedDialog.content.mountPathNonExisting = Ponto de montagem não existe
unlock.failedDialog.content.mountPathNotEmpty = Ponto de montagem está vazio
unlock.label.useReadOnlyMode = Somente leitura
unlock.label.chooseMountPath = Escolha um diretório vazio
ctrl.secPasswordField.nonPrintableChars = Senha contém caracteres de controle.\nRecomendação\: Retire-os para assegurar a compatibilidade com outros clientes.
ctrl.secPasswordField.capsLocked = Caps Lock está ativado.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

View File

@@ -1,135 +0,0 @@
app.name = Cryptomator
# main.fxml
main.emptyListInstructions = Нажмите здесь, чтобы добавить хранилище
main.directoryList.contextMenu.remove = Удалить из списка
main.directoryList.contextMenu.changePassword = Сменить пароль
main.addDirectory.contextMenu.new = Создать новое хранилище
main.addDirectory.contextMenu.open = Открыть имеющееся хранилище
# welcome.fxml
welcome.checkForUpdates.label.currentlyChecking = Проверка обновлений...
# Does the first %s mean the new version number, and the second %s - the current version user has?
welcome.newVersionMessage = Версия %1$s доступна для загрузки.\nТекущая версия %2$s.
# initialize.fxml
initialize.label.password = Пароль
initialize.label.retypePassword = Введите пароль ещё раз
initialize.button.ok = Создать хранилище
initialize.messageLabel.alreadyInitialized = Хранилище уже инициализировано
initialize.messageLabel.initializationFailed = Невозможно инициализировать хранилище. См. подробности в файле журнала.
# notfound.fxml
notfound.label = Хранилище не найдено. Оно было перемещено?
# upgrade.fxml
upgrade.button = Обновить хранилище
upgrade.version3dropBundleExtension.msg = Это хранилище необходимо преобразовать в новый формат.\n"%1$s" будет переименовано в "%2$s".\nПрежде чем продолжить, убедитесь, что синхронизация завершена.
upgrade.version3dropBundleExtension.err.alreadyExists = Автоматическое преобразование не выполнено.\n"%s" уже существует.
# unlock.fxml
unlock.label.password = Пароль
unlock.label.mountName = Имя диска
# Fuzzy
unlock.label.winDriveLetter = Буква диска
unlock.label.downloadsPageLink = Все версии Cryptomator
# Дополнительные параметры
unlock.label.advancedHeading = Дополнительно
unlock.button.unlock = Разблокировать хранилище
unlock.button.advancedOptions.show = Больше опций
unlock.button.advancedOptions.hide = Меньше опций
unlock.choicebox.winDriveLetter.auto = Автоназначение
unlock.errorMessage.wrongPassword = Неверный пароль
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Неподдерживаемое хранилище. Оно было создано в более старой версии Cryptomator.
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Неподдерживаемое хранилище. Оно было создано в более новой версии Cryptomator.
# change_password.fxml
changePassword.label.oldPassword = Старый пароль
changePassword.label.newPassword = Новый пароль
changePassword.label.retypePassword = Повторите ввод пароля
changePassword.label.downloadsPageLink = Все версии Cryptomator
changePassword.button.change = Сменить пароль
changePassword.errorMessage.wrongPassword = Неверный пароль
changePassword.errorMessage.decryptionFailed = Ошибка дешифрования
# unlocked.fxml
unlocked.button.lock = Заблокировать хранилище
# Does it mean "open" drive?
unlocked.moreOptions.reveal = Открыть диск
unlocked.label.revealFailed = Не удалось выполнить команду
unlocked.label.unmountFailed = Ошибка извлечения диска
unlocked.label.statsEncrypted = зашифровано
unlocked.label.statsDecrypted = расшифровано
unlocked.ioGraph.yAxis.label = Пропускная способность (МиБ/с)
# settings.fxml
settings.version.label = Версия %s
settings.checkForUpdates.label = Проверка обновлений
# tray icon
tray.menu.open = Открыть
tray.menu.quit = Выход
tray.infoMsg.title = Всё ещё выполняется
# Не нужно использовать жаргонизмы, а также прибегать к вкусовой правке.
tray.infoMsg.msg = Cryptomator всё ещё работает. Выйдите c помощью значка в области уведомлений.
tray.infoMsg.msg.osx = Cryptomator всё ещё работает. Выйдите с помощью значка в строке меню.
initialize.messageLabel.passwordStrength.0 = Очень слабый
initialize.messageLabel.passwordStrength.1 = Слабый
initialize.messageLabel.passwordStrength.2 = Приемлемый
initialize.messageLabel.passwordStrength.3 = Сложный
initialize.messageLabel.passwordStrength.4 = Очень сложный
initialize.label.doNotForget = ВАЖНО\: Если вы забудете свой пароль, то восстановить данные будет невозможно.
main.directoryList.remove.confirmation.title = Удаление хранилища
main.directoryList.remove.confirmation.header = Вы действительно хотите удалить это хранилище?
main.directoryList.remove.confirmation.content = Хранилище будет удалено только из списка. Чтобы стереть его окончательно, удалите файлы из файловой системы.
upgrade.version3to4.msg = Это хранилище требуется преобразовать в новый формат.\nИмена зашифрованных папок будут обновлены.\nПеред продолжением убедитесь, что синхронизация завершена.
upgrade.version3to4.err.io = Преобразование не выполнено из-за ошибки ввода-вывода. См. подробности в файле журнала.
# upgrade.fxml
upgrade.confirmation.label = Да, синхронизация завершена
unlock.label.savePassword = Сохранить пароль
unlock.errorMessage.unauthenticVersionMac = Не удалось проверить подлинность версии MAC.
# А как назвать эту правку? Пожалуйста, перестаньте портить перевод.
unlock.savePassword.delete.confirmation.title = Удалить сохранённый пароль
unlock.savePassword.delete.confirmation.header = Вы действительно хотите удалить сохранённый пароль этого хранилища?
unlock.savePassword.delete.confirmation.content = Сохранённый пароль этого хранилища будет немедленно удалён из вашей системной связки ключей. Если вы снова захотите сохранить пароль, вам придётся разблокировать хранилище с включённым параметром "Сохранить пароль".
settings.debugMode.label = Режим отладки
upgrade.version3dropBundleExtension.title = Обновление хранилища версии 3 (расширение пакета)
upgrade.version3to4.title = Обновление хранилища с версии 3 на 4
upgrade.version4to5.title = Обновление хранилища с версии 4 на 5
upgrade.version4to5.msg = Это хранилище нужно преобразовать в более новый формат.\nЗашифрованные файлы будут обновлены.\nПрежде чем продолжить, убедитесь, что завершена синхронизация.\n\nПримечание\: дата и время изменения всех файлов будут изменены на текущие на момент обработки.
upgrade.version4to5.err.io = Преобразование не выполнено из-за ошибки ввода-вывода. См. подробности в файле журнала.
unlock.label.revealAfterMount = Открыть диск
unlocked.lock.force.confirmation.title = Ошибка блокировки %1$s
unlocked.lock.force.confirmation.header = Заблокировать принудительно?
unlocked.lock.force.confirmation.content = Возможно, к файлам в хранилище всё ещё обращаются другие программы, либо возникла иная проблема. Такие программы могут работать неправильно, а не записанные ими данные могут быть потеряны.
# Авторазблокировка при старте (экспериментально)
unlock.label.unlockAfterStartup = Авторазблокировка при запуске (экспериментально)
unlock.errorMessage.unlockFailed = Ошибка разблокировки. См. подробности в файле журнала.
upgrade.version5toX.title = Обновление версии хранилища
upgrade.version5toX.msg = Это хранилище нужно преобразовать в новый формат. Прежде чем продолжить, убедитесь, что завершена синхронизация.
main.createVault.nonEmptyDir.title = Ошибка создания хранилища
main.createVault.nonEmptyDir.header = Выбранная папка не пуста
# Выбранная папка уже содержит файлы (возможно скрытые). Хранилище может быть создано только в пустой папке.
main.createVault.nonEmptyDir.content = В выбранной папке уже есть файлы (возможно, скрытые). Хранилище можно создавать только в пустой папке.
settings.webdav.port.label = Порт WebDAV
settings.webdav.port.prompt = 0 \= автовыбор
settings.webdav.port.apply = Применить
settings.webdav.prefGvfsScheme.label = Схема WebDAV
settings.volume.label = Метод монтирования
settings.volume.webdav = WebDAV
settings.volume.fuse = FUSE
unlock.successLabel.vaultCreated = Хранилище успешно создано.
unlock.successLabel.passwordChanged = Пароль успешно изменён.
unlock.successLabel.upgraded = Обновление Cryptomator успешно выполнено.
# Fuzzy
unlock.label.useOwnMountPath = Своя точка монтирования
welcome.askForUpdateCheck.dialog.title = Проверка обновлений
welcome.askForUpdateCheck.dialog.header = Включить встроенную проверку обновлений?
welcome.askForUpdateCheck.dialog.content = Для проверки наличия обновлений Cryptomator будет получать номер текущей версии со своих серверов и показывать подсказку, что доступна более новая версия.\n\nРекомендуем включить проверку обновлений, чтобы быть уверенным, что у вас всегда новейшая версия программы, содержащая все патчи безопасности. Если вы не хотите включать проверку обновлений, то проверить наличие новой версии и загрузить её можно по адресу https\://cryptomator.org/downloads/\n\nЭтот параметр можно всегда изменить в настройках программы.
settings.volume.dokany = Dokany
main.gracefulShutdown.dialog.title = Ошибка блокировки хранилища
main.gracefulShutdown.dialog.header = Используемые хранилища
main.gracefulShutdown.dialog.content = Одно или несколько хранилищ всё ещё используются другими программами. Закройте их, чтобы Cryptomator мог корректно завершить работу, и повторите попытку.\n\nЕсли это не поможет, Cryptomator может завершить работу принудительно, но с риском потери данных, и потому это не рекомендуется.
main.gracefulShutdown.button.tryAgain = Попробовать снова
main.gracefulShutdown.button.forceShutdown = Принудительно завершить работу
unlock.pendingMessage.unlocking = Открываем хранилище...
unlock.failedDialog.title = Разблокировка не удалась
unlock.failedDialog.header = Разблокировка не удалась
unlock.failedDialog.content.mountPathNonExisting = Точка монтирования не существует.
unlock.failedDialog.content.mountPathNotEmpty = Точка монтирования не пуста.
unlock.label.useReadOnlyMode = Только для чтения
unlock.label.chooseMountPath = Выберите пустую папку...
ctrl.secPasswordField.nonPrintableChars = Пароль содержит управляющие символы.\nРекомендация\: Удалите их для совместимости с другими платформами.
ctrl.secPasswordField.capsLocked = Caps Lock включен.
unlock.label.useCustomMountFlags = Custom Mount Flags
unlock.choicebox.winDriveLetter.occupied = occupied

Some files were not shown because too many files have changed in this diff Show More