mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-09-26 18:04:16 +00:00
Merge branch 'release/1.5.13'
This commit is contained in:
@@ -86,6 +86,11 @@ jobs:
|
|||||||
release_name: ${{ github.ref }}
|
release_name: ${{ github.ref }}
|
||||||
body: |
|
body: |
|
||||||
:construction: Work in Progress
|
:construction: Work in Progress
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
* [ ] add Linux appimage, zsync file and signature file
|
||||||
|
* [ ] add Windows installer and signature file
|
||||||
|
* [ ] add MacOs disk image and signature file
|
||||||
draft: true
|
draft: true
|
||||||
prerelease: false
|
prerelease: false
|
||||||
- name: Upload buildkit-linux.zip to GitHub Releases
|
- name: Upload buildkit-linux.zip to GitHub Releases
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.5.12</version>
|
<version>1.5.13</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>buildkit</artifactId>
|
<artifactId>buildkit</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.5.12</version>
|
<version>1.5.13</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>commons</artifactId>
|
<artifactId>commons</artifactId>
|
||||||
<name>Cryptomator Commons</name>
|
<name>Cryptomator Commons</name>
|
||||||
|
|||||||
@@ -68,6 +68,11 @@ public class KeychainManager implements KeychainAccessProvider {
|
|||||||
return keychain.getValue() != null;
|
return keychain.getValue() != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isLocked() {
|
||||||
|
return keychain.getValue() == null || keychain.get().isLocked();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the keychain knows a passphrase for the given key.
|
* Checks if the keychain knows a passphrase for the given key.
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ public enum UiTheme {
|
|||||||
AUTOMATIC("preferences.general.theme.automatic");
|
AUTOMATIC("preferences.general.theme.automatic");
|
||||||
|
|
||||||
public static UiTheme[] applicableValues() {
|
public static UiTheme[] applicableValues() {
|
||||||
if (SystemUtils.IS_OS_MAC) {
|
if (SystemUtils.IS_OS_MAC || SystemUtils.IS_OS_WINDOWS) {
|
||||||
return values();
|
return values();
|
||||||
} else {
|
} else {
|
||||||
return new UiTheme[]{LIGHT, DARK};
|
return new UiTheme[]{LIGHT, DARK};
|
||||||
|
|||||||
@@ -44,4 +44,9 @@ class MapKeychainAccess implements KeychainAccessProvider {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isLocked() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.5.12</version>
|
<version>1.5.13</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>launcher</artifactId>
|
<artifactId>launcher</artifactId>
|
||||||
<name>Cryptomator Launcher</name>
|
<name>Cryptomator Launcher</name>
|
||||||
|
|||||||
+12
-18
@@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.5.12</version>
|
<version>1.5.13</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>Cryptomator</name>
|
<name>Cryptomator</name>
|
||||||
|
|
||||||
@@ -22,16 +22,17 @@
|
|||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<project.jdk.version>14</project.jdk.version>
|
||||||
|
|
||||||
<!-- cryptomator dependencies -->
|
<!-- cryptomator dependencies -->
|
||||||
<cryptomator.cryptofs.version>1.9.13</cryptomator.cryptofs.version>
|
<cryptomator.cryptofs.version>1.9.14</cryptomator.cryptofs.version>
|
||||||
<cryptomator.integrations.version>0.1.6</cryptomator.integrations.version>
|
<cryptomator.integrations.version>1.0.0-beta2</cryptomator.integrations.version>
|
||||||
<cryptomator.integrations.win.version>0.2.1</cryptomator.integrations.win.version>
|
<cryptomator.integrations.win.version>1.0.0-beta2</cryptomator.integrations.win.version>
|
||||||
<cryptomator.integrations.mac.version>0.1.0-beta3</cryptomator.integrations.mac.version>
|
<cryptomator.integrations.mac.version>1.0.0-beta2</cryptomator.integrations.mac.version>
|
||||||
<cryptomator.integrations.linux.version>0.1.1</cryptomator.integrations.linux.version>
|
<cryptomator.integrations.linux.version>1.0.0-beta1</cryptomator.integrations.linux.version>
|
||||||
<cryptomator.fuse.version>1.2.8</cryptomator.fuse.version>
|
<cryptomator.fuse.version>1.2.9</cryptomator.fuse.version>
|
||||||
<cryptomator.dokany.version>1.2.3</cryptomator.dokany.version>
|
<cryptomator.dokany.version>1.2.4</cryptomator.dokany.version>
|
||||||
<cryptomator.webdav.version>1.1.1</cryptomator.webdav.version>
|
<cryptomator.webdav.version>1.1.3</cryptomator.webdav.version>
|
||||||
|
|
||||||
<!-- 3rd party dependencies -->
|
<!-- 3rd party dependencies -->
|
||||||
<javafx.version>15</javafx.version>
|
<javafx.version>15</javafx.version>
|
||||||
@@ -39,7 +40,7 @@
|
|||||||
<jwt.version>3.12.0</jwt.version>
|
<jwt.version>3.12.0</jwt.version>
|
||||||
<easybind.version>2.1.0</easybind.version>
|
<easybind.version>2.1.0</easybind.version>
|
||||||
<guava.version>30.0-jre</guava.version>
|
<guava.version>30.0-jre</guava.version>
|
||||||
<dagger.version>2.29.1</dagger.version>
|
<dagger.version>2.32</dagger.version>
|
||||||
<gson.version>2.8.6</gson.version>
|
<gson.version>2.8.6</gson.version>
|
||||||
<slf4j.version>1.7.30</slf4j.version>
|
<slf4j.version>1.7.30</slf4j.version>
|
||||||
<logback.version>1.2.3</logback.version>
|
<logback.version>1.2.3</logback.version>
|
||||||
@@ -50,13 +51,6 @@
|
|||||||
<hamcrest.version>2.2</hamcrest.version>
|
<hamcrest.version>2.2</hamcrest.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<repositories>
|
|
||||||
<repository>
|
|
||||||
<id>jcenter</id>
|
|
||||||
<url>https://jcenter.bintray.com</url>
|
|
||||||
</repository>
|
|
||||||
</repositories>
|
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<!-- modules -->
|
<!-- modules -->
|
||||||
@@ -437,7 +431,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<release>14</release>
|
<release>${project.jdk.version}</release>
|
||||||
<annotationProcessorPaths>
|
<annotationProcessorPaths>
|
||||||
<path>
|
<path>
|
||||||
<groupId>com.google.dagger</groupId>
|
<groupId>com.google.dagger</groupId>
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.5.12</version>
|
<version>1.5.13</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>ui</artifactId>
|
<artifactId>ui</artifactId>
|
||||||
<name>Cryptomator GUI</name>
|
<name>Cryptomator GUI</name>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dagger.Provides;
|
|||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -43,8 +43,8 @@ public abstract class AddVaultModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@AddVaultWizardWindow
|
@AddVaultWizardWindow
|
||||||
@AddVaultWizardScoped
|
@AddVaultWizardScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -91,50 +91,50 @@ public abstract class AddVaultModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.ADDVAULT_WELCOME)
|
@FxmlScene(FxmlFile.ADDVAULT_WELCOME)
|
||||||
@AddVaultWizardScoped
|
@AddVaultWizardScoped
|
||||||
static Scene provideWelcomeScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideWelcomeScene(@AddVaultWizardWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_WELCOME.getRessourcePathString());
|
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_WELCOME);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.ADDVAULT_EXISTING)
|
@FxmlScene(FxmlFile.ADDVAULT_EXISTING)
|
||||||
@AddVaultWizardScoped
|
@AddVaultWizardScoped
|
||||||
static Scene provideChooseExistingVaultScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideChooseExistingVaultScene(@AddVaultWizardWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_EXISTING.getRessourcePathString());
|
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_EXISTING);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.ADDVAULT_NEW_NAME)
|
@FxmlScene(FxmlFile.ADDVAULT_NEW_NAME)
|
||||||
@AddVaultWizardScoped
|
@AddVaultWizardScoped
|
||||||
static Scene provideCreateNewVaultNameScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideCreateNewVaultNameScene(@AddVaultWizardWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_NAME.getRessourcePathString());
|
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.ADDVAULT_NEW_LOCATION)
|
@FxmlScene(FxmlFile.ADDVAULT_NEW_LOCATION)
|
||||||
@AddVaultWizardScoped
|
@AddVaultWizardScoped
|
||||||
static Scene provideCreateNewVaultLocationScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideCreateNewVaultLocationScene(@AddVaultWizardWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_LOCATION.getRessourcePathString());
|
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_LOCATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.ADDVAULT_NEW_PASSWORD)
|
@FxmlScene(FxmlFile.ADDVAULT_NEW_PASSWORD)
|
||||||
@AddVaultWizardScoped
|
@AddVaultWizardScoped
|
||||||
static Scene provideCreateNewVaultPasswordScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideCreateNewVaultPasswordScene(@AddVaultWizardWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_PASSWORD.getRessourcePathString());
|
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_PASSWORD);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.ADDVAULT_NEW_RECOVERYKEY)
|
@FxmlScene(FxmlFile.ADDVAULT_NEW_RECOVERYKEY)
|
||||||
@AddVaultWizardScoped
|
@AddVaultWizardScoped
|
||||||
static Scene provideCreateNewVaultRecoveryKeyScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideCreateNewVaultRecoveryKeyScene(@AddVaultWizardWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_RECOVERYKEY.getRessourcePathString());
|
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_NEW_RECOVERYKEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.ADDVAULT_SUCCESS)
|
@FxmlScene(FxmlFile.ADDVAULT_SUCCESS)
|
||||||
@AddVaultWizardScoped
|
@AddVaultWizardScoped
|
||||||
static Scene provideCreateNewVaultSuccessScene(@AddVaultWizardWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideCreateNewVaultSuccessScene(@AddVaultWizardWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_SUCCESS.getRessourcePathString());
|
return fxmlLoaders.createScene(FxmlFile.ADDVAULT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -37,8 +37,8 @@ abstract class ChangePasswordModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@ChangePasswordWindow
|
@ChangePasswordWindow
|
||||||
@ChangePasswordScoped
|
@ChangePasswordScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -56,8 +56,8 @@ abstract class ChangePasswordModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.CHANGEPASSWORD)
|
@FxmlScene(FxmlFile.CHANGEPASSWORD)
|
||||||
@ChangePasswordScoped
|
@ChangePasswordScoped
|
||||||
static Scene provideUnlockScene(@ChangePasswordWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideUnlockScene(@ChangePasswordWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/changepassword.fxml");
|
return fxmlLoaders.createScene(FxmlFile.CHANGEPASSWORD);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ import java.util.ResourceBundle;
|
|||||||
abstract class ErrorModule {
|
abstract class ErrorModule {
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -38,8 +38,8 @@ abstract class ErrorModule {
|
|||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.ERROR)
|
@FxmlScene(FxmlFile.ERROR)
|
||||||
static Scene provideErrorScene(FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideErrorScene(FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene(FxmlFile.ERROR.getRessourcePathString());
|
return fxmlLoaders.createScene(FxmlFile.ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ public enum FxmlFile {
|
|||||||
this.ressourcePathString = ressourcePathString;
|
this.ressourcePathString = ressourcePathString;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRessourcePathString() {
|
String getRessourcePathString() {
|
||||||
return ressourcePathString;
|
return ressourcePathString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+7
-3
@@ -11,13 +11,13 @@ import java.util.Map;
|
|||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
public class FXMLLoaderFactory {
|
public class FxmlLoaderFactory {
|
||||||
|
|
||||||
private final Map<Class<? extends FxController>, Provider<FxController>> controllerFactories;
|
private final Map<Class<? extends FxController>, Provider<FxController>> controllerFactories;
|
||||||
private final Function<Parent, Scene> sceneFactory;
|
private final Function<Parent, Scene> sceneFactory;
|
||||||
private final ResourceBundle resourceBundle;
|
private final ResourceBundle resourceBundle;
|
||||||
|
|
||||||
public FXMLLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> controllerFactories, Function<Parent, Scene> sceneFactory, ResourceBundle resourceBundle) {
|
public FxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> controllerFactories, Function<Parent, Scene> sceneFactory, ResourceBundle resourceBundle) {
|
||||||
this.controllerFactories = controllerFactories;
|
this.controllerFactories = controllerFactories;
|
||||||
this.sceneFactory = sceneFactory;
|
this.sceneFactory = sceneFactory;
|
||||||
this.resourceBundle = resourceBundle;
|
this.resourceBundle = resourceBundle;
|
||||||
@@ -48,13 +48,17 @@ public class FXMLLoaderFactory {
|
|||||||
return loader;
|
return loader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Scene createScene(FxmlFile fxmlFile) {
|
||||||
|
return createScene(fxmlFile.getRessourcePathString());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link #load(String) Loads} the FXML file and creates a new Scene containing the loaded ui.
|
* {@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)}).
|
* @param fxmlResourceName Name of the resource (as in {@link Class#getResource(String)}).
|
||||||
* @throws UncheckedIOException wrapping any IOException thrown by {@link #load(String)).
|
* @throws UncheckedIOException wrapping any IOException thrown by {@link #load(String)).
|
||||||
*/
|
*/
|
||||||
public Scene createScene(String fxmlResourceName) {
|
private Scene createScene(String fxmlResourceName) {
|
||||||
final FXMLLoader loader;
|
final FXMLLoader loader;
|
||||||
try {
|
try {
|
||||||
loader = load(fxmlResourceName);
|
loader = load(fxmlResourceName);
|
||||||
@@ -5,7 +5,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -29,8 +29,8 @@ abstract class ForgetPasswordModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@ForgetPasswordWindow
|
@ForgetPasswordWindow
|
||||||
@ForgetPasswordScoped
|
@ForgetPasswordScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -62,8 +62,8 @@ abstract class ForgetPasswordModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.FORGET_PASSWORD)
|
@FxmlScene(FxmlFile.FORGET_PASSWORD)
|
||||||
@ForgetPasswordScoped
|
@ForgetPasswordScoped
|
||||||
static Scene provideForgetPasswordScene(@ForgetPasswordWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideForgetPasswordScene(@ForgetPasswordWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/forget_password.fxml");
|
return fxmlLoaders.createScene(FxmlFile.FORGET_PASSWORD);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -137,13 +137,13 @@ public class FxApplication extends Application {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void appThemeChanged(@SuppressWarnings("unused") ObservableValue<? extends UiTheme> observable, @SuppressWarnings("unused") UiTheme oldValue, UiTheme newValue) {
|
private void appThemeChanged(@SuppressWarnings("unused") ObservableValue<? extends UiTheme> observable, @SuppressWarnings("unused") UiTheme oldValue, UiTheme newValue) {
|
||||||
appearanceProvider.ifPresent(appearanceProvider -> {
|
if (appearanceProvider.isPresent() && oldValue == UiTheme.AUTOMATIC && newValue != UiTheme.AUTOMATIC) {
|
||||||
try {
|
try {
|
||||||
appearanceProvider.removeListener(systemInterfaceThemeListener);
|
appearanceProvider.get().removeListener(systemInterfaceThemeListener);
|
||||||
} catch (UiAppearanceException e) {
|
} catch (UiAppearanceException e) {
|
||||||
LOG.error("Failed to disable automatic theme switching.");
|
LOG.error("Failed to disable automatic theme switching.");
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
loadSelectedStyleSheet(newValue);
|
loadSelectedStyleSheet(newValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dagger.Provides;
|
|||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -40,8 +40,8 @@ abstract class LockModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@LockWindow
|
@LockWindow
|
||||||
@LockScoped
|
@LockScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -63,15 +63,15 @@ abstract class LockModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.LOCK_FORCED)
|
@FxmlScene(FxmlFile.LOCK_FORCED)
|
||||||
@LockScoped
|
@LockScoped
|
||||||
static Scene provideForceLockScene(@LockWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideForceLockScene(@LockWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/lock_forced.fxml");
|
return fxmlLoaders.createScene(FxmlFile.LOCK_FORCED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.LOCK_FAILED)
|
@FxmlScene(FxmlFile.LOCK_FAILED)
|
||||||
@LockScoped
|
@LockScoped
|
||||||
static Scene provideLockFailedScene(@LockWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideLockFailedScene(@LockWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/lock_failed.fxml");
|
return fxmlLoaders.createScene(FxmlFile.LOCK_FAILED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dagger.Provides;
|
|||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.ui.addvaultwizard.AddVaultWizardComponent;
|
import org.cryptomator.ui.addvaultwizard.AddVaultWizardComponent;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -39,8 +39,8 @@ abstract class MainWindowModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@MainWindow
|
@MainWindow
|
||||||
@MainWindowScoped
|
@MainWindowScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, MainWindowSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, MainWindowSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -60,8 +60,8 @@ abstract class MainWindowModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.MAIN_WINDOW)
|
@FxmlScene(FxmlFile.MAIN_WINDOW)
|
||||||
@MainWindowScoped
|
@MainWindowScoped
|
||||||
static Scene provideMainScene(@MainWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideMainScene(@MainWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/main_window.fxml");
|
return fxmlLoaders.createScene(FxmlFile.MAIN_WINDOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
+7
-1
@@ -5,6 +5,7 @@ import org.cryptomator.common.keychain.KeychainManager;
|
|||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.fxapp.FxApplication;
|
import org.cryptomator.ui.fxapp.FxApplication;
|
||||||
|
import org.cryptomator.ui.vaultoptions.SelectedVaultOptionsTab;
|
||||||
import org.cryptomator.ui.vaultoptions.VaultOptionsComponent;
|
import org.cryptomator.ui.vaultoptions.VaultOptionsComponent;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -47,7 +48,12 @@ public class VaultDetailLockedController implements FxController {
|
|||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
public void showVaultOptions() {
|
public void showVaultOptions() {
|
||||||
vaultOptionsWindow.vault(vault.get()).build().showVaultOptionsWindow();
|
vaultOptionsWindow.vault(vault.get()).build().showVaultOptionsWindow(SelectedVaultOptionsTab.ANY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void showKeyVaultOptions() {
|
||||||
|
vaultOptionsWindow.vault(vault.get()).build().showVaultOptionsWindow(SelectedVaultOptionsTab.KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Getter/Setter */
|
/* Getter/Setter */
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package org.cryptomator.ui.mainwindow;
|
package org.cryptomator.ui.mainwindow;
|
||||||
|
|
||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.controls.DraggableListCell;
|
import org.cryptomator.ui.controls.DraggableListCell;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
@@ -17,10 +17,10 @@ import java.io.UncheckedIOException;
|
|||||||
@MainWindowScoped
|
@MainWindowScoped
|
||||||
public class VaultListCellFactory implements Callback<ListView<Vault>, ListCell<Vault>> {
|
public class VaultListCellFactory implements Callback<ListView<Vault>, ListCell<Vault>> {
|
||||||
|
|
||||||
private final FXMLLoaderFactory fxmlLoaders;
|
private final FxmlLoaderFactory fxmlLoaders;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
VaultListCellFactory(@MainWindow FXMLLoaderFactory fxmlLoaders) {
|
VaultListCellFactory(@MainWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
this.fxmlLoaders = fxmlLoaders;
|
this.fxmlLoaders = fxmlLoaders;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dagger.Provides;
|
|||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.cryptofs.common.FileSystemCapabilityChecker;
|
import org.cryptomator.cryptofs.common.FileSystemCapabilityChecker;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -30,8 +30,8 @@ abstract class MigrationModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@MigrationWindow
|
@MigrationWindow
|
||||||
@MigrationScoped
|
@MigrationScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -56,36 +56,36 @@ abstract class MigrationModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.MIGRATION_START)
|
@FxmlScene(FxmlFile.MIGRATION_START)
|
||||||
@MigrationScoped
|
@MigrationScoped
|
||||||
static Scene provideMigrationStartScene(@MigrationWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideMigrationStartScene(@MigrationWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/migration_start.fxml");
|
return fxmlLoaders.createScene(FxmlFile.MIGRATION_START);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.MIGRATION_RUN)
|
@FxmlScene(FxmlFile.MIGRATION_RUN)
|
||||||
@MigrationScoped
|
@MigrationScoped
|
||||||
static Scene provideMigrationRunScene(@MigrationWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideMigrationRunScene(@MigrationWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/migration_run.fxml");
|
return fxmlLoaders.createScene(FxmlFile.MIGRATION_RUN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.MIGRATION_SUCCESS)
|
@FxmlScene(FxmlFile.MIGRATION_SUCCESS)
|
||||||
@MigrationScoped
|
@MigrationScoped
|
||||||
static Scene provideMigrationSuccessScene(@MigrationWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideMigrationSuccessScene(@MigrationWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/migration_success.fxml");
|
return fxmlLoaders.createScene(FxmlFile.MIGRATION_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.MIGRATION_CAPABILITY_ERROR)
|
@FxmlScene(FxmlFile.MIGRATION_CAPABILITY_ERROR)
|
||||||
@MigrationScoped
|
@MigrationScoped
|
||||||
static Scene provideMigrationCapabilityErrorScene(@MigrationWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideMigrationCapabilityErrorScene(@MigrationWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/migration_capability_error.fxml");
|
return fxmlLoaders.createScene(FxmlFile.MIGRATION_CAPABILITY_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.MIGRATION_IMPOSSIBLE)
|
@FxmlScene(FxmlFile.MIGRATION_IMPOSSIBLE)
|
||||||
@MigrationScoped
|
@MigrationScoped
|
||||||
static Scene provideMigrationImpossibleScene(@MigrationWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideMigrationImpossibleScene(@MigrationWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/migration_impossible.fxml");
|
return fxmlLoaders.createScene(FxmlFile.MIGRATION_IMPOSSIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -32,8 +32,8 @@ abstract class PreferencesModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@PreferencesWindow
|
@PreferencesWindow
|
||||||
@PreferencesScoped
|
@PreferencesScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -49,8 +49,8 @@ abstract class PreferencesModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.PREFERENCES)
|
@FxmlScene(FxmlFile.PREFERENCES)
|
||||||
@PreferencesScoped
|
@PreferencesScoped
|
||||||
static Scene providePreferencesScene(@PreferencesWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene providePreferencesScene(@PreferencesWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/preferences.fxml");
|
return fxmlLoaders.createScene(FxmlFile.PREFERENCES);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -25,8 +25,8 @@ abstract class QuitModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@QuitWindow
|
@QuitWindow
|
||||||
@QuitScoped
|
@QuitScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -43,8 +43,8 @@ abstract class QuitModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.QUIT)
|
@FxmlScene(FxmlFile.QUIT)
|
||||||
@QuitScoped
|
@QuitScoped
|
||||||
static Scene provideQuitScene(@QuitWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideQuitScene(@QuitWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/quit.fxml");
|
return fxmlLoaders.createScene(FxmlFile.QUIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dagger.Provides;
|
|||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -33,8 +33,8 @@ abstract class RecoveryKeyModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@RecoveryKeyWindow
|
@RecoveryKeyWindow
|
||||||
@RecoveryKeyScoped
|
@RecoveryKeyScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -69,29 +69,29 @@ abstract class RecoveryKeyModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.RECOVERYKEY_CREATE)
|
@FxmlScene(FxmlFile.RECOVERYKEY_CREATE)
|
||||||
@RecoveryKeyScoped
|
@RecoveryKeyScoped
|
||||||
static Scene provideRecoveryKeyCreationScene(@RecoveryKeyWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideRecoveryKeyCreationScene(@RecoveryKeyWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/recoverykey_create.fxml");
|
return fxmlLoaders.createScene(FxmlFile.RECOVERYKEY_CREATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.RECOVERYKEY_SUCCESS)
|
@FxmlScene(FxmlFile.RECOVERYKEY_SUCCESS)
|
||||||
@RecoveryKeyScoped
|
@RecoveryKeyScoped
|
||||||
static Scene provideRecoveryKeySuccessScene(@RecoveryKeyWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideRecoveryKeySuccessScene(@RecoveryKeyWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/recoverykey_success.fxml");
|
return fxmlLoaders.createScene(FxmlFile.RECOVERYKEY_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.RECOVERYKEY_RECOVER)
|
@FxmlScene(FxmlFile.RECOVERYKEY_RECOVER)
|
||||||
@RecoveryKeyScoped
|
@RecoveryKeyScoped
|
||||||
static Scene provideRecoveryKeyRecoverScene(@RecoveryKeyWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideRecoveryKeyRecoverScene(@RecoveryKeyWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/recoverykey_recover.fxml");
|
return fxmlLoaders.createScene(FxmlFile.RECOVERYKEY_RECOVER);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD)
|
@FxmlScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD)
|
||||||
@RecoveryKeyScoped
|
@RecoveryKeyScoped
|
||||||
static Scene provideRecoveryKeyResetPasswordScene(@RecoveryKeyWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideRecoveryKeyResetPasswordScene(@RecoveryKeyWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/recoverykey_reset_password.fxml");
|
return fxmlLoaders.createScene(FxmlFile.RECOVERYKEY_RESET_PASSWORD);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -26,8 +26,8 @@ abstract class RemoveVaultModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@RemoveVaultWindow
|
@RemoveVaultWindow
|
||||||
@RemoveVaultScoped
|
@RemoveVaultScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -45,8 +45,8 @@ abstract class RemoveVaultModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.REMOVE_VAULT)
|
@FxmlScene(FxmlFile.REMOVE_VAULT)
|
||||||
@RemoveVaultScoped
|
@RemoveVaultScoped
|
||||||
static Scene provideRemoveVaultScene(@RemoveVaultWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideRemoveVaultScene(@RemoveVaultWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/remove_vault.fxml");
|
return fxmlLoaders.createScene(FxmlFile.REMOVE_VAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import javafx.stage.Stage;
|
|||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.common.vaults.VaultState;
|
import org.cryptomator.common.vaults.VaultState;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -29,8 +29,8 @@ abstract class VaultStatisticsModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@VaultStatisticsWindow
|
@VaultStatisticsWindow
|
||||||
@VaultStatisticsScoped
|
@VaultStatisticsScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -60,8 +60,8 @@ abstract class VaultStatisticsModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.VAULT_STATISTICS)
|
@FxmlScene(FxmlFile.VAULT_STATISTICS)
|
||||||
@VaultStatisticsScoped
|
@VaultStatisticsScoped
|
||||||
static Scene provideVaultStatisticsScene(@VaultStatisticsWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideVaultStatisticsScene(@VaultStatisticsWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/stats.fxml");
|
return fxmlLoaders.createScene(FxmlFile.VAULT_STATISTICS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import org.cryptomator.common.keychain.KeychainManager;
|
|||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.integrations.keychain.KeychainAccessException;
|
import org.cryptomator.integrations.keychain.KeychainAccessException;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -78,8 +78,8 @@ abstract class UnlockModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@UnlockWindow
|
@UnlockWindow
|
||||||
@UnlockScoped
|
@UnlockScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -101,22 +101,22 @@ abstract class UnlockModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.UNLOCK)
|
@FxmlScene(FxmlFile.UNLOCK)
|
||||||
@UnlockScoped
|
@UnlockScoped
|
||||||
static Scene provideUnlockScene(@UnlockWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideUnlockScene(@UnlockWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/unlock.fxml");
|
return fxmlLoaders.createScene(FxmlFile.UNLOCK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.UNLOCK_SUCCESS)
|
@FxmlScene(FxmlFile.UNLOCK_SUCCESS)
|
||||||
@UnlockScoped
|
@UnlockScoped
|
||||||
static Scene provideUnlockSuccessScene(@UnlockWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideUnlockSuccessScene(@UnlockWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/unlock_success.fxml");
|
return fxmlLoaders.createScene(FxmlFile.UNLOCK_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.UNLOCK_INVALID_MOUNT_POINT)
|
@FxmlScene(FxmlFile.UNLOCK_INVALID_MOUNT_POINT)
|
||||||
@UnlockScoped
|
@UnlockScoped
|
||||||
static Scene provideInvalidMountPointScene(@UnlockWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideInvalidMountPointScene(@UnlockWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/unlock_invalid_mount_point.fxml");
|
return fxmlLoaders.createScene(FxmlFile.UNLOCK_INVALID_MOUNT_POINT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package org.cryptomator.ui.vaultoptions;
|
||||||
|
|
||||||
|
public enum SelectedVaultOptionsTab {
|
||||||
|
/**
|
||||||
|
* Let the controller decide which tab to show.
|
||||||
|
*/
|
||||||
|
ANY,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show general tab
|
||||||
|
*/
|
||||||
|
GENERAL,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show mounting tab
|
||||||
|
*/
|
||||||
|
MOUNT,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show password tab
|
||||||
|
*/
|
||||||
|
KEY,
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@ import org.cryptomator.common.vaults.Vault;
|
|||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
import org.cryptomator.ui.common.FxmlScene;
|
import org.cryptomator.ui.common.FxmlScene;
|
||||||
|
|
||||||
|
import javafx.beans.property.ObjectProperty;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
@@ -25,7 +26,10 @@ public interface VaultOptionsComponent {
|
|||||||
@FxmlScene(FxmlFile.VAULT_OPTIONS)
|
@FxmlScene(FxmlFile.VAULT_OPTIONS)
|
||||||
Lazy<Scene> scene();
|
Lazy<Scene> scene();
|
||||||
|
|
||||||
default void showVaultOptionsWindow() {
|
ObjectProperty<SelectedVaultOptionsTab> selectedTabProperty();
|
||||||
|
|
||||||
|
default void showVaultOptionsWindow(SelectedVaultOptionsTab selectedTab) {
|
||||||
|
selectedTabProperty().set(selectedTab);
|
||||||
Stage stage = window();
|
Stage stage = window();
|
||||||
stage.setScene(scene().get());
|
stage.setScene(scene().get());
|
||||||
stage.show();
|
stage.show();
|
||||||
|
|||||||
@@ -1,13 +1,67 @@
|
|||||||
package org.cryptomator.ui.vaultoptions;
|
package org.cryptomator.ui.vaultoptions;
|
||||||
|
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
import javafx.beans.property.ObjectProperty;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.control.Tab;
|
||||||
|
import javafx.scene.control.TabPane;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
import javafx.stage.WindowEvent;
|
||||||
|
|
||||||
@VaultOptionsScoped
|
@VaultOptionsScoped
|
||||||
public class VaultOptionsController implements FxController {
|
public class VaultOptionsController implements FxController {
|
||||||
|
|
||||||
|
private static final Logger LOG = LoggerFactory.getLogger(VaultOptionsController.class);
|
||||||
|
|
||||||
|
private final Stage window;
|
||||||
|
private final ObjectProperty<SelectedVaultOptionsTab> selectedTabProperty;
|
||||||
|
public TabPane tabPane;
|
||||||
|
public Tab generalTab;
|
||||||
|
public Tab mountTab;
|
||||||
|
public Tab keyTab;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
VaultOptionsController() {}
|
VaultOptionsController(@VaultOptionsWindow Stage window, ObjectProperty<SelectedVaultOptionsTab> selectedTabProperty) {
|
||||||
|
this.window = window;
|
||||||
|
this.selectedTabProperty = selectedTabProperty;
|
||||||
|
}
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
public void initialize() {
|
||||||
|
window.setOnShowing(this::windowWillAppear);
|
||||||
|
selectedTabProperty.addListener(observable -> this.selectChosenTab());
|
||||||
|
tabPane.getSelectionModel().selectedItemProperty().addListener(observable -> this.selectedTabChanged());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void selectChosenTab() {
|
||||||
|
Tab toBeSelected = getTabToSelect(selectedTabProperty.get());
|
||||||
|
tabPane.getSelectionModel().select(toBeSelected);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Tab getTabToSelect(SelectedVaultOptionsTab selectedTab) {
|
||||||
|
return switch (selectedTab) {
|
||||||
|
case ANY, GENERAL -> generalTab;
|
||||||
|
case MOUNT -> mountTab;
|
||||||
|
case KEY -> keyTab;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private void selectedTabChanged() {
|
||||||
|
Tab selectedTab = tabPane.getSelectionModel().getSelectedItem();
|
||||||
|
try {
|
||||||
|
SelectedVaultOptionsTab selectedVaultOptionsTab = SelectedVaultOptionsTab.valueOf(selectedTab.getId());
|
||||||
|
selectedTabProperty.set(selectedVaultOptionsTab);
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
LOG.error("Unknown vault options tab id: {}", selectedTab.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void windowWillAppear(@SuppressWarnings("unused") WindowEvent windowEvent) {
|
||||||
|
selectChosenTab();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,16 +7,18 @@ import dagger.multibindings.IntoMap;
|
|||||||
import org.cryptomator.common.vaults.Vault;
|
import org.cryptomator.common.vaults.Vault;
|
||||||
import org.cryptomator.ui.changepassword.ChangePasswordComponent;
|
import org.cryptomator.ui.changepassword.ChangePasswordComponent;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxmlScene;
|
import org.cryptomator.ui.common.FxmlScene;
|
||||||
import org.cryptomator.ui.common.StageFactory;
|
import org.cryptomator.ui.common.StageFactory;
|
||||||
import org.cryptomator.ui.mainwindow.MainWindow;
|
import org.cryptomator.ui.mainwindow.MainWindow;
|
||||||
import org.cryptomator.ui.recoverykey.RecoveryKeyComponent;
|
import org.cryptomator.ui.recoverykey.RecoveryKeyComponent;
|
||||||
|
|
||||||
import javax.inject.Provider;
|
import javax.inject.Provider;
|
||||||
|
import javafx.beans.property.ObjectProperty;
|
||||||
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.stage.Modality;
|
import javafx.stage.Modality;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
@@ -26,11 +28,17 @@ import java.util.ResourceBundle;
|
|||||||
@Module(subcomponents = {ChangePasswordComponent.class, RecoveryKeyComponent.class})
|
@Module(subcomponents = {ChangePasswordComponent.class, RecoveryKeyComponent.class})
|
||||||
abstract class VaultOptionsModule {
|
abstract class VaultOptionsModule {
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@VaultOptionsScoped
|
||||||
|
static ObjectProperty<SelectedVaultOptionsTab> provideSelectedTabProperty() {
|
||||||
|
return new SimpleObjectProperty<>(SelectedVaultOptionsTab.ANY);
|
||||||
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@VaultOptionsWindow
|
@VaultOptionsWindow
|
||||||
@VaultOptionsScoped
|
@VaultOptionsScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -50,8 +58,8 @@ abstract class VaultOptionsModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.VAULT_OPTIONS)
|
@FxmlScene(FxmlFile.VAULT_OPTIONS)
|
||||||
@VaultOptionsScoped
|
@VaultOptionsScoped
|
||||||
static Scene provideVaultOptionsScene(@VaultOptionsWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideVaultOptionsScene(@VaultOptionsWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/vault_options.fxml");
|
return fxmlLoaders.createScene(FxmlFile.VAULT_OPTIONS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import dagger.multibindings.IntoMap;
|
import dagger.multibindings.IntoMap;
|
||||||
import org.cryptomator.ui.common.DefaultSceneFactory;
|
import org.cryptomator.ui.common.DefaultSceneFactory;
|
||||||
import org.cryptomator.ui.common.FXMLLoaderFactory;
|
import org.cryptomator.ui.common.FxmlLoaderFactory;
|
||||||
import org.cryptomator.ui.common.FxController;
|
import org.cryptomator.ui.common.FxController;
|
||||||
import org.cryptomator.ui.common.FxControllerKey;
|
import org.cryptomator.ui.common.FxControllerKey;
|
||||||
import org.cryptomator.ui.common.FxmlFile;
|
import org.cryptomator.ui.common.FxmlFile;
|
||||||
@@ -26,8 +26,8 @@ abstract class WrongFileAlertModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@WrongFileAlertWindow
|
@WrongFileAlertWindow
|
||||||
@WrongFileAlertScoped
|
@WrongFileAlertScoped
|
||||||
static FXMLLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
static FxmlLoaderFactory provideFxmlLoaderFactory(Map<Class<? extends FxController>, Provider<FxController>> factories, DefaultSceneFactory sceneFactory, ResourceBundle resourceBundle) {
|
||||||
return new FXMLLoaderFactory(factories, sceneFactory, resourceBundle);
|
return new FxmlLoaderFactory(factories, sceneFactory, resourceBundle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -45,8 +45,8 @@ abstract class WrongFileAlertModule {
|
|||||||
@Provides
|
@Provides
|
||||||
@FxmlScene(FxmlFile.WRONGFILEALERT)
|
@FxmlScene(FxmlFile.WRONGFILEALERT)
|
||||||
@WrongFileAlertScoped
|
@WrongFileAlertScoped
|
||||||
static Scene provideWrongFileAlertScene(@WrongFileAlertWindow FXMLLoaderFactory fxmlLoaders) {
|
static Scene provideWrongFileAlertScene(@WrongFileAlertWindow FxmlLoaderFactory fxmlLoaders) {
|
||||||
return fxmlLoaders.createScene("/fxml/wrongfilealert.fxml");
|
return fxmlLoaders.createScene(FxmlFile.WRONGFILEALERT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------
|
// ------------------
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
|
<?import org.cryptomator.ui.controls.FontAwesome5IconView?>
|
||||||
<?import javafx.scene.control.Button?>
|
<?import javafx.scene.control.Button?>
|
||||||
<?import javafx.scene.control.Hyperlink?>
|
<?import javafx.scene.control.Hyperlink?>
|
||||||
<?import javafx.scene.control.Label?>
|
|
||||||
<?import javafx.scene.layout.HBox?>
|
<?import javafx.scene.layout.HBox?>
|
||||||
<?import javafx.scene.layout.Region?>
|
<?import javafx.scene.layout.Region?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
@@ -25,18 +24,20 @@
|
|||||||
<FontAwesome5IconView glyph="KEY" glyphSize="15"/>
|
<FontAwesome5IconView glyph="KEY" glyphSize="15"/>
|
||||||
</graphic>
|
</graphic>
|
||||||
</Button>
|
</Button>
|
||||||
<Hyperlink text="%main.vaultDetail.optionsBtn" onAction="#showVaultOptions">
|
<Hyperlink text="%main.vaultDetail.passwordSavedInKeychain" visible="${controller.passwordSaved}" onAction="#showKeyVaultOptions">
|
||||||
<graphic>
|
<graphic>
|
||||||
<FontAwesome5IconView glyph="COG"/>
|
<FontAwesome5IconView glyph="LOCK"/>
|
||||||
</graphic>
|
</graphic>
|
||||||
</Hyperlink>
|
</Hyperlink>
|
||||||
|
|
||||||
<Region VBox.vgrow="ALWAYS"/>
|
<Region VBox.vgrow="ALWAYS"/>
|
||||||
<HBox alignment="CENTER_RIGHT" spacing="6">
|
|
||||||
<Label styleClass="label-small,label-muted" text="%main.vaultDetail.passwordSavedInKeychain" visible="${controller.passwordSaved}">
|
<HBox alignment="BOTTOM_RIGHT">
|
||||||
|
<Button text="%main.vaultDetail.optionsBtn" minWidth="120" onAction="#showVaultOptions">
|
||||||
<graphic>
|
<graphic>
|
||||||
<FontAwesome5IconView styleClass="glyph-icon-muted" glyph="LOCK"/>
|
<FontAwesome5IconView glyph="COG"/>
|
||||||
</graphic>
|
</graphic>
|
||||||
</Label>
|
</Button>
|
||||||
</HBox>
|
</HBox>
|
||||||
</children>
|
</children>
|
||||||
</VBox>
|
</VBox>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
tabClosingPolicy="UNAVAILABLE"
|
tabClosingPolicy="UNAVAILABLE"
|
||||||
tabDragPolicy="FIXED">
|
tabDragPolicy="FIXED">
|
||||||
<tabs>
|
<tabs>
|
||||||
<Tab fx:id="generalTab" text="%vaultOptions.general">
|
<Tab fx:id="generalTab" id="GENERAL" text="%vaultOptions.general">
|
||||||
<graphic>
|
<graphic>
|
||||||
<FontAwesome5IconView glyph="WRENCH"/>
|
<FontAwesome5IconView glyph="WRENCH"/>
|
||||||
</graphic>
|
</graphic>
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<fx:include source="/fxml/vault_options_general.fxml"/>
|
<fx:include source="/fxml/vault_options_general.fxml"/>
|
||||||
</content>
|
</content>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab fx:id="mountTab" text="%vaultOptions.mount">
|
<Tab fx:id="mountTab" id="MOUNT" text="%vaultOptions.mount">
|
||||||
<graphic>
|
<graphic>
|
||||||
<FontAwesome5IconView glyph="HDD"/>
|
<FontAwesome5IconView glyph="HDD"/>
|
||||||
</graphic>
|
</graphic>
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
<fx:include source="/fxml/vault_options_mount.fxml"/>
|
<fx:include source="/fxml/vault_options_mount.fxml"/>
|
||||||
</content>
|
</content>
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab fx:id="keyTab" text="%vaultOptions.masterkey">
|
<Tab fx:id="keyTab" id="KEY" text="%vaultOptions.masterkey">
|
||||||
<graphic>
|
<graphic>
|
||||||
<FontAwesome5IconView glyph="KEY"/>
|
<FontAwesome5IconView glyph="KEY"/>
|
||||||
</graphic>
|
</graphic>
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ forgetPassword.confirmBtn=Forget Password
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Unlock Vault
|
unlock.title=Unlock Vault
|
||||||
unlock.passwordPrompt=Enter password for "%s":
|
unlock.passwordPrompt=Enter password for "%s":
|
||||||
unlock.savePassword=Save Password
|
unlock.savePassword=Remember Password
|
||||||
unlock.unlockBtn=Unlock
|
unlock.unlockBtn=Unlock
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Unlocked "%s" successfully! Your vault is now accessible.
|
unlock.success.message=Unlocked "%s" successfully! Your vault is now accessible.
|
||||||
@@ -203,7 +203,7 @@ stats.read.accessCount=Total reads: %d
|
|||||||
stats.write.throughput.idle=Write: idle
|
stats.write.throughput.idle=Write: idle
|
||||||
stats.write.throughput.kibs=Write: %.2f kiB/s
|
stats.write.throughput.kibs=Write: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Write: %.2f MiB/s
|
stats.write.throughput.mibs=Write: %.2f MiB/s
|
||||||
stats.write.total.data.none=Data read: -
|
stats.write.total.data.none=Data written: -
|
||||||
stats.write.total.data.kib=Data written: %.1f kiB
|
stats.write.total.data.kib=Data written: %.1f kiB
|
||||||
stats.write.total.data.mib=Data written: %.1f MiB
|
stats.write.total.data.mib=Data written: %.1f MiB
|
||||||
stats.write.total.data.gib=Data written: %.1f GiB
|
stats.write.total.data.gib=Data written: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,6 @@ forgetPassword.confirmBtn=نسيت كلمة المرور
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=افتح الحافظة
|
unlock.title=افتح الحافظة
|
||||||
unlock.passwordPrompt=أدخل كلمة السر لـ "%s":
|
unlock.passwordPrompt=أدخل كلمة السر لـ "%s":
|
||||||
unlock.savePassword=احفظ كلمة المرور
|
|
||||||
unlock.unlockBtn=افتح
|
unlock.unlockBtn=افتح
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=تم فتح المخزن "%s" بنجاح! يمكنك الوصول إليه الآن.
|
unlock.success.message=تم فتح المخزن "%s" بنجاح! يمكنك الوصول إليه الآن.
|
||||||
|
|||||||
@@ -95,7 +95,6 @@ forgetPassword.confirmBtn=Zaboravili ste šifru
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Otključaj sef
|
unlock.title=Otključaj sef
|
||||||
unlock.passwordPrompt=Unesite lozinku za "%s":
|
unlock.passwordPrompt=Unesite lozinku za "%s":
|
||||||
unlock.savePassword=Snimi lozinku
|
|
||||||
unlock.unlockBtn=Otključaj
|
unlock.unlockBtn=Otključaj
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Uspješno ste otključali "%s"! Vaš sef je sada dostupan.
|
unlock.success.message=Uspješno ste otključali "%s"! Vaš sef je sada dostupan.
|
||||||
@@ -105,61 +104,214 @@ unlock.success.revealBtn=Otkrij sef
|
|||||||
unlock.error.heading=Sef nije moguće otključati
|
unlock.error.heading=Sef nije moguće otključati
|
||||||
### Invalid Mount Point
|
### Invalid Mount Point
|
||||||
unlock.error.invalidMountPoint.notExisting=Tačka postavljanja "%s" nije direktorij, nije prazna ili ne postoji.
|
unlock.error.invalidMountPoint.notExisting=Tačka postavljanja "%s" nije direktorij, nije prazna ili ne postoji.
|
||||||
|
unlock.error.invalidMountPoint.existing=Tačka povezivanja "%s" već postoji ili nadređeni folder nedostaje.
|
||||||
|
|
||||||
# Lock
|
# Lock
|
||||||
## Force
|
## Force
|
||||||
|
lock.forced.heading=Zaključavanje nije uspjelo
|
||||||
|
lock.forced.message=Zaključavanje "%s" blokirano je operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid U / I-a može rezultirati gubitkom nespremljenih podataka.
|
||||||
|
lock.forced.confirmBtn=Prisilno zaključaj
|
||||||
## Failure
|
## Failure
|
||||||
|
lock.fail.heading=Zaključavanje sefa nije uspjelo.
|
||||||
|
lock.fail.message=Sef "%s" nije moguće zaključati. Osigurajte da je nespremljeni rad sačuvan negdje drugdje i da su važne operacije čitanja / pisanja završene. Da biste zatvorili sef, zaustavite Cryptomator proces.
|
||||||
|
|
||||||
# Migration
|
# Migration
|
||||||
|
migration.title=Nadogradi sef
|
||||||
## Start
|
## Start
|
||||||
|
migration.start.prompt=Sef "%s" treba ažurirati na noviji format. Prije nastavka, provjerite da nije na čekanju sinkronizacija koja utječe na ovaj sef.
|
||||||
|
migration.start.confirm=Da, moj sef je u potpunosti sinhroniziran
|
||||||
## Run
|
## Run
|
||||||
|
migration.run.enterPassword=Unesite lozinku za "%s"
|
||||||
|
migration.run.startMigrationBtn=Nadogradi sef
|
||||||
|
migration.run.progressHint=Ovo bi moglo potrajati…
|
||||||
## Sucess
|
## Sucess
|
||||||
|
migration.success.nextStepsInstructions="%s" je uspješno nadograđen.\nSada možete otključati svoj sef.
|
||||||
migration.success.unlockNow=Otključaj sada
|
migration.success.unlockNow=Otključaj sada
|
||||||
## Missing file system capabilities
|
## Missing file system capabilities
|
||||||
|
migration.error.missingFileSystemCapabilities.title=Nepodržan tip datoteke
|
||||||
|
migration.error.missingFileSystemCapabilities.description=Migracija nije započeta, jer se vaš sef nalazi u neadekvatnom sistemu datoteka.
|
||||||
|
migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=Sistem datoteka ne podržava duga imena datoteka.
|
||||||
|
migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=Sistem datoteka ne podržava duga imena datoteka.
|
||||||
|
migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=Sistem datoteka ne dozvoljava čitanje.
|
||||||
|
migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=Sistem datoteka ne dozvoljava pisanje.
|
||||||
## Impossible
|
## Impossible
|
||||||
|
migration.impossible.heading=Sef se ne može nadograditi
|
||||||
|
migration.impossible.reason=Sef se ne može automatski migrirati jer njegovo mjesto za pohranu ili pristupna točka nisu kompatibilni.
|
||||||
|
migration.impossible.moreInfo=Sef se i dalje može otvoriti sa starijom verzijom. Za upute o ručnom migriranju sefa posjetite
|
||||||
|
|
||||||
# Preferences
|
# Preferences
|
||||||
preferences.title=Postavke
|
preferences.title=Postavke
|
||||||
## General
|
## General
|
||||||
|
preferences.general=Generalno
|
||||||
|
preferences.general.theme=Izgled
|
||||||
|
preferences.general.theme.automatic=Automatski
|
||||||
|
preferences.general.theme.light=Svijetlo
|
||||||
|
preferences.general.theme.dark=Tamno
|
||||||
|
preferences.general.unlockThemes=Otključaj tamni mod
|
||||||
|
preferences.general.showMinimizeButton=Pokaži dugme za minimiziranje
|
||||||
|
preferences.general.showTrayIcon=Prikaži tray ikonu (potrebnan restart)
|
||||||
|
preferences.general.startHidden=Sakrij prozor prilikom pokretanja Cryptomatora
|
||||||
|
preferences.general.debugLogging=Omogući evidenciju otklanjanja pogrešaka
|
||||||
|
preferences.general.debugDirectory=Pokaži dnevnik podataka
|
||||||
|
preferences.general.autoStart=Pokreni Cryptomator pri pokretanju sistema
|
||||||
|
preferences.general.keychainBackend=Pohrani lozinku sa
|
||||||
|
preferences.general.keychainBackend.org.cryptomator.linux.keychain.SecretServiceKeychainAccess=Gnome Keyring
|
||||||
|
preferences.general.keychainBackend.org.cryptomator.linux.keychain.KDEWalletKeychainAccess=KDE Wallet
|
||||||
|
preferences.general.keychainBackend.org.cryptomator.macos.keychain.MacSystemKeychainAccess=macOS Keychain Access
|
||||||
|
preferences.general.keychainBackend.org.cryptomator.windows.keychain.WindowsProtectedKeychainAccess=Windows Data Protection
|
||||||
|
preferences.general.interfaceOrientation=Orijentacija Interfejsa
|
||||||
|
preferences.general.interfaceOrientation.ltr=S lijeva ka desno
|
||||||
|
preferences.general.interfaceOrientation.rtl=Sa desna ka lijevo
|
||||||
## Volume
|
## Volume
|
||||||
|
preferences.volume=Virtuelni pogon
|
||||||
|
preferences.volume.type=Tip volumena
|
||||||
|
preferences.volume.webdav.port=WebDAV Port
|
||||||
|
preferences.volume.webdav.scheme=WebDAV Scheme
|
||||||
## Updates
|
## Updates
|
||||||
|
preferences.updates=Ažuriranja
|
||||||
|
preferences.updates.currentVersion=Trenutna verzija: %s
|
||||||
|
preferences.updates.autoUpdateCheck=Automatski provjeri ima li ažuriranja
|
||||||
|
preferences.updates.checkNowBtn=Provjeri sada
|
||||||
|
preferences.updates.updateAvailable=Dostupno ažuriranje na verziju %s.
|
||||||
## Donation Key
|
## Donation Key
|
||||||
|
preferences.donationKey=Donacija
|
||||||
|
preferences.donationKey.registeredFor=Registrovan za %s
|
||||||
|
preferences.donationKey.noDonationKey=Nije pronađen važeći ključ za donaciju. To je poput licence, ali za sjajne ljude koji koriste besplatni softver. ;-)
|
||||||
|
preferences.donationKey.getDonationKey=Nabavite ključ za donaciju
|
||||||
## About
|
## About
|
||||||
|
preferences.about=O programu
|
||||||
|
|
||||||
# Vault Statistics
|
# Vault Statistics
|
||||||
|
stats.title=Statistika za %s
|
||||||
|
stats.cacheHitRate=Brzina učitavanja u predmemoriju
|
||||||
## Read
|
## Read
|
||||||
|
stats.read.throughput.idle=Čitaj: U pripravnosti
|
||||||
|
stats.read.throughput.kibs=Čitanje: %.2f kiB/s
|
||||||
|
stats.read.throughput.mibs=Čitanje: %.2f MiB/s
|
||||||
|
stats.read.total.data.none=Pročitano podataka: -
|
||||||
|
stats.read.total.data.kib=Pročitano podataka: %.1f kiB
|
||||||
|
stats.read.total.data.mib=Pročitano podataka: %.1f MiB
|
||||||
|
stats.read.total.data.gib=Pročitano podataka: %.1f GiB
|
||||||
|
stats.decr.total.data.none=Otključani podaci: -
|
||||||
|
stats.decr.total.data.kib=Otključano podataka: %.1f kiB
|
||||||
|
stats.decr.total.data.mib=Otključano podataka: %.1f MiB
|
||||||
|
stats.decr.total.data.gib=Otključano podataka: %.1f GiB
|
||||||
|
stats.read.accessCount=Ukupno pročitano: %d
|
||||||
## Write
|
## Write
|
||||||
|
stats.write.throughput.idle=Pisanje: U pripravnosti
|
||||||
|
stats.write.throughput.kibs=Upisano: %.2f kiB/s
|
||||||
|
stats.write.throughput.mibs=Upisano: %.2f MiB/s
|
||||||
|
stats.write.total.data.none=Podaci su upisani:-
|
||||||
|
stats.write.total.data.kib=Upisano podataka: %.1f kiB
|
||||||
|
stats.write.total.data.mib=Upisano podataka: %.1f MiB
|
||||||
|
stats.write.total.data.gib=Upisano podataka: %.1f GiB
|
||||||
|
stats.encr.total.data.none=Otključano podataka: -
|
||||||
|
stats.encr.total.data.kib=Otključano podataka: %.1f kiB
|
||||||
|
stats.encr.total.data.mib=Otključano podataka: %.1f MiB
|
||||||
|
stats.encr.total.data.gib=Otključano podataka: %.1f GiB
|
||||||
|
stats.write.accessCount=Ukupno upisano: %d
|
||||||
|
|
||||||
# Main Window
|
# Main Window
|
||||||
main.closeBtn.tooltip=Zatvori
|
main.closeBtn.tooltip=Zatvori
|
||||||
|
main.minimizeBtn.tooltip=Minimiziraj
|
||||||
main.preferencesBtn.tooltip=Postavke
|
main.preferencesBtn.tooltip=Postavke
|
||||||
|
main.debugModeEnabled.tooltip=Omogućen je mod otklanjanja pogrešaka
|
||||||
|
main.donationKeyMissing.tooltip=Molimo razmislite o doniranju
|
||||||
## Drag 'n' Drop
|
## Drag 'n' Drop
|
||||||
|
main.dropZone.dropVault=Dodajte ovaj sef
|
||||||
|
main.dropZone.unknownDragboardContent=Ako želite dodati sef, povucite ga u ovaj prozor
|
||||||
## Vault List
|
## Vault List
|
||||||
|
main.vaultlist.emptyList.onboardingInstruction=Kliknite ovdje da dodate sef
|
||||||
|
main.vaultlist.contextMenu.remove=Ukloni Sef…
|
||||||
main.vaultlist.addVaultBtn=Dodaj sef
|
main.vaultlist.addVaultBtn=Dodaj sef
|
||||||
## Vault Detail
|
## Vault Detail
|
||||||
### Welcome
|
### Welcome
|
||||||
|
main.vaultDetail.welcomeOnboarding=Hvala što ste izabrali Cryptomator za zaštitu podataka. Ako vam je potrebna pomoć, pogledajte naše vodiče za početak:
|
||||||
### Locked
|
### Locked
|
||||||
|
main.vaultDetail.lockedStatus=ZAKLJUČANO
|
||||||
|
main.vaultDetail.unlockBtn=Otključaj…
|
||||||
main.vaultDetail.unlockNowBtn=Otključaj sada
|
main.vaultDetail.unlockNowBtn=Otključaj sada
|
||||||
|
main.vaultDetail.optionsBtn=Opcije sefa
|
||||||
|
main.vaultDetail.passwordSavedInKeychain=Šifra sačuvana
|
||||||
### Unlocked
|
### Unlocked
|
||||||
|
main.vaultDetail.unlockedStatus=OTKLJUČANO
|
||||||
|
main.vaultDetail.accessLocation=Sadržaj Vašeg sefa je dostupan ovdje:
|
||||||
|
main.vaultDetail.revealBtn=Otkrij pogon
|
||||||
main.vaultDetail.lockBtn=Zaključaj
|
main.vaultDetail.lockBtn=Zaključaj
|
||||||
main.vaultDetail.bytesPerSecondRead=Čitaj:
|
main.vaultDetail.bytesPerSecondRead=Čitaj:
|
||||||
main.vaultDetail.bytesPerSecondWritten=Piši:
|
main.vaultDetail.bytesPerSecondWritten=Piši:
|
||||||
|
main.vaultDetail.throughput.idle=u stanju mirovanja
|
||||||
|
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||||
|
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||||
main.vaultDetail.stats=Statistika sefa
|
main.vaultDetail.stats=Statistika sefa
|
||||||
### Missing
|
### Missing
|
||||||
|
main.vaultDetail.missing.info=Cryptomator nije mogao pronaći disk na ovoj lokaciji.
|
||||||
|
main.vaultDetail.missing.recheck=Provjeri ponovo
|
||||||
|
main.vaultDetail.missing.remove=Ukloni sa liste sefova…
|
||||||
|
main.vaultDetail.missing.changeLocation=Promijeni lokaciju sefa…
|
||||||
### Needs Migration
|
### Needs Migration
|
||||||
|
main.vaultDetail.migrateButton=Nadogradi sef
|
||||||
|
main.vaultDetail.migratePrompt=Da biste mogli pristupiti svom sefu, morate ga nadograditi na novi format
|
||||||
|
|
||||||
# Wrong File Alert
|
# Wrong File Alert
|
||||||
|
wrongFileAlert.title=Kako enkriptovati podatke
|
||||||
|
wrongFileAlert.header.title=Da li ste pokušali enkriptovati ove datoteke?
|
||||||
|
wrongFileAlert.header.lead=U tu svrhu Cryptomator kreira volumen u vašem upravljačkom sistemu.
|
||||||
|
wrongFileAlert.instruction.0=Da biste enkriptovali datoteke, slijedite ove korake:
|
||||||
|
wrongFileAlert.instruction.1=1. Otključajte sef.
|
||||||
|
wrongFileAlert.instruction.2=2. Kliknite "Otkrivanje" da biste otvorili volumen u vašem upravitelju datotekama.
|
||||||
|
wrongFileAlert.instruction.3=3. Dodajte datoteke u ovaj disk.
|
||||||
|
wrongFileAlert.link=Za dalju podršku, posjetite
|
||||||
|
|
||||||
# Vault Options
|
# Vault Options
|
||||||
## General
|
## General
|
||||||
|
vaultOptions.general=Generalno
|
||||||
vaultOptions.general.vaultName=Ime sefa
|
vaultOptions.general.vaultName=Ime sefa
|
||||||
|
vaultOptions.general.unlockAfterStartup=Otključaj sef pri pokretanju Cryptomatora
|
||||||
|
vaultOptions.general.actionAfterUnlock=Nakon uspješnog otključavanja
|
||||||
|
vaultOptions.general.actionAfterUnlock.ignore=Ne radi ništa
|
||||||
|
vaultOptions.general.actionAfterUnlock.reveal=Otkrij pogon
|
||||||
|
vaultOptions.general.actionAfterUnlock.ask=Pitaj
|
||||||
## Mount
|
## Mount
|
||||||
|
vaultOptions.mount=Povezivanje
|
||||||
|
vaultOptions.mount.readonly=Samo čitanje
|
||||||
|
vaultOptions.mount.customMountFlags=Prilagođena obilježja povezivanja
|
||||||
|
vaultOptions.mount.winDriveLetterOccupied=zauzeto
|
||||||
|
vaultOptions.mount.mountPoint=Tačka povezivanja
|
||||||
|
vaultOptions.mount.mountPoint.auto=Automatski odaberi pogodnu lokaciju
|
||||||
|
vaultOptions.mount.mountPoint.driveLetter=Koristi dodjeljeno slovo (oznaku) diska
|
||||||
|
vaultOptions.mount.mountPoint.custom=Prilagođena adresa
|
||||||
vaultOptions.mount.mountPoint.directoryPickerButton=Odaberi…
|
vaultOptions.mount.mountPoint.directoryPickerButton=Odaberi…
|
||||||
|
vaultOptions.mount.mountPoint.directoryPickerTitle=Izaberi praznu mapu
|
||||||
## Master Key
|
## Master Key
|
||||||
|
vaultOptions.masterkey=Šifra
|
||||||
vaultOptions.masterkey.changePasswordBtn=Promjeni lozinku
|
vaultOptions.masterkey.changePasswordBtn=Promjeni lozinku
|
||||||
|
vaultOptions.masterkey.forgetSavedPasswordBtn=Zaborav spremljenu šifru
|
||||||
|
vaultOptions.masterkey.recoveryKeyExpanation=Ključ za oporavak je vaše jedino sredstvo za vraćanje pristupa sefu ako izgubite lozinku.
|
||||||
|
vaultOptions.masterkey.showRecoveryKeyBtn=Pokaži ključ za oporavak
|
||||||
|
vaultOptions.masterkey.recoverPasswordBtn=Povrati šifru
|
||||||
|
|
||||||
# Recovery Key
|
# Recovery Key
|
||||||
|
recoveryKey.title=Ključ za oporavak
|
||||||
|
recoveryKey.enterPassword.prompt=Unesite šifru da biste prikazali ključ za oporavak za "%s":
|
||||||
|
recoveryKey.display.message=Sljedeći ključ za oporavak može se koristiti za vraćanje pristupa "%s":
|
||||||
|
recoveryKey.display.StorageHints=Pohranite ga negdje vrlo sigurno, npr.:\n • Spremite ga pomoću menadžera lozinki\n • Spremite ga na USB disk\n • Odštampajte ga na papiru
|
||||||
|
recoveryKey.recover.prompt=Unesite ključ za oporavak za "%s":
|
||||||
|
recoveryKey.recover.validKey=Ključ za oporavak je ispravan
|
||||||
|
recoveryKey.printout.heading=Cryptomator Ključ za oporavak za \n"%s"\n
|
||||||
|
|
||||||
# New Password
|
# New Password
|
||||||
|
newPassword.promptText=Unesi novu šifru
|
||||||
|
newPassword.reenterPassword=Potvrdi novu šifru
|
||||||
|
newPassword.passwordsMatch=Šifra odgovara!
|
||||||
|
newPassword.passwordsDoNotMatch=Šifre se ne poklapaju
|
||||||
|
passwordStrength.messageLabel.tooShort=Upotrijebite najmanje %d znakova
|
||||||
|
passwordStrength.messageLabel.0=Veoma slabo
|
||||||
|
passwordStrength.messageLabel.1=Slabo
|
||||||
|
passwordStrength.messageLabel.2=Dovoljno
|
||||||
|
passwordStrength.messageLabel.3=Sigurno
|
||||||
|
passwordStrength.messageLabel.4=Veoma sigurno
|
||||||
|
|
||||||
# Quit
|
# Quit
|
||||||
|
quit.prompt=Zatvoriti prijavu? Postoje otključani sefovi.
|
||||||
|
quit.lockAndQuit=Zaključaj i zatvori
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ stats.read.accessCount=Lectures en total: %d
|
|||||||
stats.write.throughput.idle=Escriu: inactiu
|
stats.write.throughput.idle=Escriu: inactiu
|
||||||
stats.write.throughput.kibs=Escriu: %.2f kiB/s
|
stats.write.throughput.kibs=Escriu: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Escriu: %.2f MiB/s
|
stats.write.throughput.mibs=Escriu: %.2f MiB/s
|
||||||
stats.write.total.data.none=Dades llegides: -
|
stats.write.total.data.none=Dades escrites
|
||||||
stats.write.total.data.kib=Dades escrites: %.1f kiB
|
stats.write.total.data.kib=Dades escrites: %.1f kiB
|
||||||
stats.write.total.data.mib=Dades escrites: %.1f MiB
|
stats.write.total.data.mib=Dades escrites: %.1f MiB
|
||||||
stats.write.total.data.gib=Dades escrites: %.1f GiB
|
stats.write.total.data.gib=Dades escrites: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Zapomenout heslo
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Odemknout trezor
|
unlock.title=Odemknout trezor
|
||||||
unlock.passwordPrompt=Zadejte heslo pro "%s":
|
unlock.passwordPrompt=Zadejte heslo pro "%s":
|
||||||
unlock.savePassword=Uložit heslo
|
unlock.savePassword=Zapamatovat heslo
|
||||||
unlock.unlockBtn=Odemknout
|
unlock.unlockBtn=Odemknout
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Trezor "%s" byl úspěšně odemčen a nyní je dostupný.
|
unlock.success.message=Trezor "%s" byl úspěšně odemčen a nyní je dostupný.
|
||||||
@@ -197,7 +197,7 @@ stats.read.accessCount=Celkem přečteno: %d
|
|||||||
stats.write.throughput.idle=Zápis: nečinný
|
stats.write.throughput.idle=Zápis: nečinný
|
||||||
stats.write.throughput.kibs=Zápis: %.2f kiB/s
|
stats.write.throughput.kibs=Zápis: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Zápis: %.2f MiB/s
|
stats.write.throughput.mibs=Zápis: %.2f MiB/s
|
||||||
stats.write.total.data.none=Přečteno: -
|
stats.write.total.data.none=Zapsaná data: -
|
||||||
stats.write.total.data.kib=Zapsáno: %.1f kiB
|
stats.write.total.data.kib=Zapsáno: %.1f kiB
|
||||||
stats.write.total.data.mib=Zapsáno: %.1f MiB
|
stats.write.total.data.mib=Zapsáno: %.1f MiB
|
||||||
stats.write.total.data.gib=Zapsáno: %.1f GiB
|
stats.write.total.data.gib=Zapsáno: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Passwort vergessen
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Tresor entsperren
|
unlock.title=Tresor entsperren
|
||||||
unlock.passwordPrompt=Gib das Passwort für „%s“ ein:
|
unlock.passwordPrompt=Gib das Passwort für „%s“ ein:
|
||||||
unlock.savePassword=Passwort speichern
|
unlock.savePassword=Passwort merken
|
||||||
unlock.unlockBtn=Entsperren
|
unlock.unlockBtn=Entsperren
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=„%s“ erfolgreich entsperrt! Nun kannst du auf deinen Tresor zugreifen.
|
unlock.success.message=„%s“ erfolgreich entsperrt! Nun kannst du auf deinen Tresor zugreifen.
|
||||||
@@ -189,28 +189,28 @@ stats.cacheHitRate=Cache-Trefferrate
|
|||||||
stats.read.throughput.idle=Lesen: Leerlauf
|
stats.read.throughput.idle=Lesen: Leerlauf
|
||||||
stats.read.throughput.kibs=Lesen: %.2f kiB/s
|
stats.read.throughput.kibs=Lesen: %.2f kiB/s
|
||||||
stats.read.throughput.mibs=Lesen: %.2f MiB/s
|
stats.read.throughput.mibs=Lesen: %.2f MiB/s
|
||||||
stats.read.total.data.none=Daten gelesen: -
|
stats.read.total.data.none=Gelesen: -
|
||||||
stats.read.total.data.kib=Daten gelesen: %.1f kiB
|
stats.read.total.data.kib=Gelesen: %.1f kiB
|
||||||
stats.read.total.data.mib=Daten gelesen: %.1f MiB
|
stats.read.total.data.mib=Gelesen: %.1f MiB
|
||||||
stats.read.total.data.gib=Daten gelesen: %.1f GiB
|
stats.read.total.data.gib=Gelesen: %.1f GiB
|
||||||
stats.decr.total.data.none=Daten entschlüsselt: -
|
stats.decr.total.data.none=Entschlüsselt: -
|
||||||
stats.decr.total.data.kib=Daten entschlüsselt: %.1f kiB
|
stats.decr.total.data.kib=Entschlüsselt: %.1f kiB
|
||||||
stats.decr.total.data.mib=Daten entschlüsselt: %.1f MiB
|
stats.decr.total.data.mib=Entschlüsselt: %.1f MiB
|
||||||
stats.decr.total.data.gib=Daten entschlüsselt: %.1f GiB
|
stats.decr.total.data.gib=Entschlüsselt: %.1f GiB
|
||||||
stats.read.accessCount=Gesamt gelesen: %d
|
stats.read.accessCount=Lesezugriffe: %d
|
||||||
## Write
|
## Write
|
||||||
stats.write.throughput.idle=Schreiben: Leerlauf
|
stats.write.throughput.idle=Schreiben: Leerlauf
|
||||||
stats.write.throughput.kibs=Schreiben: %.2f kiB/s
|
stats.write.throughput.kibs=Schreiben: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Schreiben: %.2f MiB/s
|
stats.write.throughput.mibs=Schreiben: %.2f MiB/s
|
||||||
stats.write.total.data.none=Daten gelesen: -
|
stats.write.total.data.none=Geschrieben: -
|
||||||
stats.write.total.data.kib=Daten geschrieben: %.1f kiB
|
stats.write.total.data.kib=Geschrieben: %.1f kiB
|
||||||
stats.write.total.data.mib=Daten geschrieben: %.1f MiB
|
stats.write.total.data.mib=Geschrieben: %.1f MiB
|
||||||
stats.write.total.data.gib=Daten geschrieben: %.1f GiB
|
stats.write.total.data.gib=Geschrieben: %.1f GiB
|
||||||
stats.encr.total.data.none=Daten verschlüsselt: -
|
stats.encr.total.data.none=Verschlüsselt: -
|
||||||
stats.encr.total.data.kib=Daten verschlüsselt: %.1f kiB
|
stats.encr.total.data.kib=Verschlüsselt: %.1f kiB
|
||||||
stats.encr.total.data.mib=Datenverschlüsselt: %.1f MiB
|
stats.encr.total.data.mib=Verschlüsselt: %.1f MiB
|
||||||
stats.encr.total.data.gib=Daten verschlüsselt: %.1f GiB
|
stats.encr.total.data.gib=Verschlüsselt: %.1f GiB
|
||||||
stats.write.accessCount=Gesamt geschrieben: %d
|
stats.write.accessCount=Schreibzugriffe: %d
|
||||||
|
|
||||||
# Main Window
|
# Main Window
|
||||||
main.closeBtn.tooltip=Schließen
|
main.closeBtn.tooltip=Schließen
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Ξέχασα τον κωδικό πρόσβασης
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Ξεκλείδωμα Vault
|
unlock.title=Ξεκλείδωμα Vault
|
||||||
unlock.passwordPrompt=Εισάγετε τον κωδικό για "%s":
|
unlock.passwordPrompt=Εισάγετε τον κωδικό για "%s":
|
||||||
unlock.savePassword=Αποθήκευση κωδικού
|
unlock.savePassword=Απομνημόνευση κωδικού πρόσβασης
|
||||||
unlock.unlockBtn=Ξεκλείδωμα
|
unlock.unlockBtn=Ξεκλείδωμα
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" ξεκλειδώθηκε επιτυχώς! Το vault σας είναι διαθέσιμο.
|
unlock.success.message="%s" ξεκλειδώθηκε επιτυχώς! Το vault σας είναι διαθέσιμο.
|
||||||
@@ -149,6 +149,8 @@ preferences.general.theme.automatic=Αυτόματα
|
|||||||
preferences.general.theme.light=Ανοιχτό
|
preferences.general.theme.light=Ανοιχτό
|
||||||
preferences.general.theme.dark=Σκούρο
|
preferences.general.theme.dark=Σκούρο
|
||||||
preferences.general.unlockThemes=Ξεκλείδωσε το σκούρο θέμα
|
preferences.general.unlockThemes=Ξεκλείδωσε το σκούρο θέμα
|
||||||
|
preferences.general.showMinimizeButton=Εμφάνιση κουμπιού ελαχιστοποίησης
|
||||||
|
preferences.general.showTrayIcon=Εμφάνιση εικονιδίου κοντά στο ρολόι (απαιτεί επανεκκίνηση)
|
||||||
preferences.general.startHidden=Απόκρυψη παραθύρου όταν ξεκινά το Cryptomator
|
preferences.general.startHidden=Απόκρυψη παραθύρου όταν ξεκινά το Cryptomator
|
||||||
preferences.general.debugLogging=Ενεργοποίηση καταγραφής σφαλμάτων
|
preferences.general.debugLogging=Ενεργοποίηση καταγραφής σφαλμάτων
|
||||||
preferences.general.debugDirectory=Αποκάλυψη αρχείων καταγραφής
|
preferences.general.debugDirectory=Αποκάλυψη αρχείων καταγραφής
|
||||||
@@ -200,7 +202,7 @@ stats.read.accessCount=Συνολικές αναγνώσεις: %d
|
|||||||
stats.write.throughput.idle=Εγγραφή: ηρεμία
|
stats.write.throughput.idle=Εγγραφή: ηρεμία
|
||||||
stats.write.throughput.kibs=Εγγραφή: %.2f kiB/s
|
stats.write.throughput.kibs=Εγγραφή: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Εγγραφή: %.2f MiB/s
|
stats.write.throughput.mibs=Εγγραφή: %.2f MiB/s
|
||||||
stats.write.total.data.none=Ανάγνωση δεδομένων: -
|
stats.write.total.data.none=Δεδομένα που γράφηκαν: -
|
||||||
stats.write.total.data.kib=Δεδομένα που γράφτηκαν: %.1f kiB
|
stats.write.total.data.kib=Δεδομένα που γράφτηκαν: %.1f kiB
|
||||||
stats.write.total.data.mib=Δεδομένα που γράφτηκαν: %.1f MiB
|
stats.write.total.data.mib=Δεδομένα που γράφτηκαν: %.1f MiB
|
||||||
stats.write.total.data.gib=Δεδομένα που γράφτηκαν: %.1f GiB
|
stats.write.total.data.gib=Δεδομένα που γράφτηκαν: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Olvidar contraseña
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Desbloquear bóveda
|
unlock.title=Desbloquear bóveda
|
||||||
unlock.passwordPrompt=Ingresar contraseña para "%s":
|
unlock.passwordPrompt=Ingresar contraseña para "%s":
|
||||||
unlock.savePassword=Guardar contraseña
|
unlock.savePassword=Recordar contraseña
|
||||||
unlock.unlockBtn=Desbloquear
|
unlock.unlockBtn=Desbloquear
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=¡"%s" se desbloqueó con éxito! La bóveda ya es accesible.
|
unlock.success.message=¡"%s" se desbloqueó con éxito! La bóveda ya es accesible.
|
||||||
@@ -202,7 +202,7 @@ stats.read.accessCount=Total leídos: %d
|
|||||||
stats.write.throughput.idle=Escritura: inactivo
|
stats.write.throughput.idle=Escritura: inactivo
|
||||||
stats.write.throughput.kibs=Escritura: %.2f kiB/s
|
stats.write.throughput.kibs=Escritura: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Escritura: %.2f MiB/s
|
stats.write.throughput.mibs=Escritura: %.2f MiB/s
|
||||||
stats.write.total.data.none=Datos leídos: -
|
stats.write.total.data.none=Datos escritos:-
|
||||||
stats.write.total.data.kib=Datos escritos: %.1f kiB
|
stats.write.total.data.kib=Datos escritos: %.1f kiB
|
||||||
stats.write.total.data.mib=Datos escritos: %.1f MiB
|
stats.write.total.data.mib=Datos escritos: %.1f MiB
|
||||||
stats.write.total.data.gib=Datos escritos: %.1f GiB
|
stats.write.total.data.gib=Datos escritos: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Oublier le mot de passe
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Déverrouiller le coffre
|
unlock.title=Déverrouiller le coffre
|
||||||
unlock.passwordPrompt=Entrez le mot de passe pour “%s” :
|
unlock.passwordPrompt=Entrez le mot de passe pour “%s” :
|
||||||
unlock.savePassword=Enregistrer le mot de passe
|
unlock.savePassword=Mémoriser le mot de passe
|
||||||
unlock.unlockBtn=Déverrouiller
|
unlock.unlockBtn=Déverrouiller
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=“%s” déverrouillé ! Le contenu de votre coffre est maintenant accessible.
|
unlock.success.message=“%s” déverrouillé ! Le contenu de votre coffre est maintenant accessible.
|
||||||
@@ -202,7 +202,7 @@ stats.read.accessCount=Total des lectures: %d
|
|||||||
stats.write.throughput.idle=Écriture : inactif
|
stats.write.throughput.idle=Écriture : inactif
|
||||||
stats.write.throughput.kibs=Écriture : %.2f kiO/s
|
stats.write.throughput.kibs=Écriture : %.2f kiO/s
|
||||||
stats.write.throughput.mibs=Écriture : %.2f Mo/s
|
stats.write.throughput.mibs=Écriture : %.2f Mo/s
|
||||||
stats.write.total.data.none=Lecture des données : -
|
stats.write.total.data.none=Données écrites : -
|
||||||
stats.write.total.data.kib=Données écrites : %.1f kiO
|
stats.write.total.data.kib=Données écrites : %.1f kiO
|
||||||
stats.write.total.data.mib=Données écrites : %.1f MiO
|
stats.write.total.data.mib=Données écrites : %.1f MiO
|
||||||
stats.write.total.data.gib=Données écrites : %.1f GiO
|
stats.write.total.data.gib=Données écrites : %.1f GiO
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# Locale Specific CSS files such as CJK, RTL,...
|
# Locale Specific CSS files such as CJK, RTL,...
|
||||||
additionalStyleSheets=
|
|
||||||
|
|
||||||
# Generics
|
# Generics
|
||||||
## Button
|
## Button
|
||||||
@@ -41,7 +40,6 @@ addvaultwizard.new.namePrompt=A széf neve
|
|||||||
### Location
|
### Location
|
||||||
addvaultwizard.new.locationInstruction=Hova mentse a Cryptomator a széf titkosított fájljait?
|
addvaultwizard.new.locationInstruction=Hova mentse a Cryptomator a széf titkosított fájljait?
|
||||||
addvaultwizard.new.locationLabel=Tárolási hely
|
addvaultwizard.new.locationLabel=Tárolási hely
|
||||||
addvaultwizard.new.locationPrompt=…
|
|
||||||
addvaultwizard.new.directoryPickerLabel=Egyedi hely
|
addvaultwizard.new.directoryPickerLabel=Egyedi hely
|
||||||
addvaultwizard.new.directoryPickerButton=Választás…
|
addvaultwizard.new.directoryPickerButton=Választás…
|
||||||
addvaultwizard.new.directoryPickerTitle=Könyvtár kiválasztása
|
addvaultwizard.new.directoryPickerTitle=Könyvtár kiválasztása
|
||||||
@@ -49,7 +47,7 @@ addvaultwizard.new.fileAlreadyExists=Nem lehet a széfet létrehozni ezen a hely
|
|||||||
addvaultwizard.new.locationDoesNotExist=Nem lehet a széfet létrehozni ezen a helyen, mert az útvonal legalább egy darabja nem létezik.
|
addvaultwizard.new.locationDoesNotExist=Nem lehet a széfet létrehozni ezen a helyen, mert az útvonal legalább egy darabja nem létezik.
|
||||||
addvaultwizard.new.invalidName=Érvénytelen széf elnevezés. Kérjük vegye figyelembe a szabályos könyvtárelnevezésre vonatkozó szabályokat.
|
addvaultwizard.new.invalidName=Érvénytelen széf elnevezés. Kérjük vegye figyelembe a szabályos könyvtárelnevezésre vonatkozó szabályokat.
|
||||||
### Password
|
### Password
|
||||||
addvaultwizard.new.createVaultBtn=Széf létrehozása
|
addvaultwizard.new.createVaultBtn=Új széf létrehozása
|
||||||
addvaultwizard.new.generateRecoveryKeyChoice=Nem fog tudni hozzáférni az adataihoz a jelszó nélkül. Akar egy visszaállítási kulcsot arra az esetre, ha elveszíti a jelszavát?
|
addvaultwizard.new.generateRecoveryKeyChoice=Nem fog tudni hozzáférni az adataihoz a jelszó nélkül. Akar egy visszaállítási kulcsot arra az esetre, ha elveszíti a jelszavát?
|
||||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=Igen kérem, jobb félni, mint megijedni.
|
addvaultwizard.new.generateRecoveryKeyChoice.yes=Igen kérem, jobb félni, mint megijedni.
|
||||||
addvaultwizard.new.generateRecoveryKeyChoice.no=Nem köszönöm, nem fogom elveszíteni a jelszavam.
|
addvaultwizard.new.generateRecoveryKeyChoice.no=Nem köszönöm, nem fogom elveszíteni a jelszavam.
|
||||||
@@ -96,7 +94,6 @@ forgetPassword.confirmBtn=Jelszó elfelejtése
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Széf feloldása
|
unlock.title=Széf feloldása
|
||||||
unlock.passwordPrompt=Írja be a jelszavát a következő széfhez "%s":
|
unlock.passwordPrompt=Írja be a jelszavát a következő széfhez "%s":
|
||||||
unlock.savePassword=Jelszó mentése
|
|
||||||
unlock.unlockBtn=Feloldás
|
unlock.unlockBtn=Feloldás
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" sikreresen feloldásra került! Mostmár hozzáférhet a széféhez.
|
unlock.success.message="%s" sikreresen feloldásra került! Mostmár hozzáférhet a széféhez.
|
||||||
@@ -108,6 +105,10 @@ unlock.error.heading=Nem lehet feloldani a széfet
|
|||||||
unlock.error.invalidMountPoint.notExisting=A csatolási pont "%s" nem egy könyvtár, nem üres vagy nem létezik.
|
unlock.error.invalidMountPoint.notExisting=A csatolási pont "%s" nem egy könyvtár, nem üres vagy nem létezik.
|
||||||
unlock.error.invalidMountPoint.existing=A csatolási pont "%s" már létezik vagy a already exists or szülőmappa hiányzik.
|
unlock.error.invalidMountPoint.existing=A csatolási pont "%s" már létezik vagy a already exists or szülőmappa hiányzik.
|
||||||
|
|
||||||
|
# Lock
|
||||||
|
## Force
|
||||||
|
## Failure
|
||||||
|
|
||||||
# Migration
|
# Migration
|
||||||
migration.title=Széf frissítése
|
migration.title=Széf frissítése
|
||||||
## Start
|
## Start
|
||||||
@@ -115,7 +116,7 @@ migration.start.prompt=A "%s" széf formátuma frissítésre szorul. A folytatá
|
|||||||
migration.start.confirm=Igen, a széfem teljes mértékben szinkronizálva van
|
migration.start.confirm=Igen, a széfem teljes mértékben szinkronizálva van
|
||||||
## Run
|
## Run
|
||||||
migration.run.enterPassword=Írja be a jelszót a következőhöz Enter the password for "%s"
|
migration.run.enterPassword=Írja be a jelszót a következőhöz Enter the password for "%s"
|
||||||
migration.run.startMigrationBtn=Széf migrációja
|
migration.run.startMigrationBtn=Széf frissítése
|
||||||
migration.run.progressHint=Ez eltarthat egy darabig…
|
migration.run.progressHint=Ez eltarthat egy darabig…
|
||||||
## Sucess
|
## Sucess
|
||||||
migration.success.nextStepsInstructions=A "%s" sikeresen migrálva. \nMost már feloldhatja a széfet.
|
migration.success.nextStepsInstructions=A "%s" sikeresen migrálva. \nMost már feloldhatja a széfet.
|
||||||
@@ -146,18 +147,12 @@ preferences.general.debugLogging=Hibakeresési naplózás engedélyezése
|
|||||||
preferences.general.debugDirectory=Naplófájlok megjelenítése
|
preferences.general.debugDirectory=Naplófájlok megjelenítése
|
||||||
preferences.general.autoStart=Cryptomator indítása a rendszerrel együtt
|
preferences.general.autoStart=Cryptomator indítása a rendszerrel együtt
|
||||||
preferences.general.keychainBackend=Itt tárolja a jelszavakat
|
preferences.general.keychainBackend=Itt tárolja a jelszavakat
|
||||||
preferences.general.keychainBackend.org.cryptomator.linux.keychain.SecretServiceKeychainAccess=Gnome Keyring
|
|
||||||
preferences.general.keychainBackend.org.cryptomator.linux.keychain.KDEWalletKeychainAccess=KDE Wallet
|
|
||||||
preferences.general.keychainBackend.org.cryptomator.macos.keychain.MacSystemKeychainAccess=macOS Keychain Access
|
|
||||||
preferences.general.keychainBackend.org.cryptomator.windows.keychain.WindowsProtectedKeychainAccess=Windows Data Protection
|
|
||||||
preferences.general.interfaceOrientation=Felhasználói felület orientációja
|
preferences.general.interfaceOrientation=Felhasználói felület orientációja
|
||||||
preferences.general.interfaceOrientation.ltr=Balról jobbra
|
preferences.general.interfaceOrientation.ltr=Balról jobbra
|
||||||
preferences.general.interfaceOrientation.rtl=Jobbról balra
|
preferences.general.interfaceOrientation.rtl=Jobbról balra
|
||||||
## Volume
|
## Volume
|
||||||
preferences.volume=Virtuális meghajtó
|
preferences.volume=Virtuális meghajtó
|
||||||
preferences.volume.type=Kötet tipusa
|
preferences.volume.type=Kötet tipusa
|
||||||
preferences.volume.webdav.port=WebDAV Port
|
|
||||||
preferences.volume.webdav.scheme=WebDAV Scheme
|
|
||||||
## Updates
|
## Updates
|
||||||
preferences.updates=Frissítések
|
preferences.updates=Frissítések
|
||||||
preferences.updates.currentVersion=Jelenlegi verzió: %s
|
preferences.updates.currentVersion=Jelenlegi verzió: %s
|
||||||
@@ -192,7 +187,6 @@ stats.read.accessCount=Összes olvasás: %d
|
|||||||
stats.write.throughput.idle=Írás: tétlen
|
stats.write.throughput.idle=Írás: tétlen
|
||||||
stats.write.throughput.kibs=Írás: %.2f kiB/s
|
stats.write.throughput.kibs=Írás: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Írás: %.2f MiB/s
|
stats.write.throughput.mibs=Írás: %.2f MiB/s
|
||||||
stats.write.total.data.none=Írott adat: -
|
|
||||||
stats.write.total.data.kib=Írott adat: %.1f kiB
|
stats.write.total.data.kib=Írott adat: %.1f kiB
|
||||||
stats.write.total.data.mib=Írott adat: %.1f MiB
|
stats.write.total.data.mib=Írott adat: %.1f MiB
|
||||||
stats.write.total.data.gib=Írott adat: %.1f GiB
|
stats.write.total.data.gib=Írott adat: %.1f GiB
|
||||||
@@ -232,8 +226,6 @@ main.vaultDetail.lockBtn=Zárolás
|
|||||||
main.vaultDetail.bytesPerSecondRead=Olvasás:
|
main.vaultDetail.bytesPerSecondRead=Olvasás:
|
||||||
main.vaultDetail.bytesPerSecondWritten=Írás:
|
main.vaultDetail.bytesPerSecondWritten=Írás:
|
||||||
main.vaultDetail.throughput.idle=tétlen
|
main.vaultDetail.throughput.idle=tétlen
|
||||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
|
||||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
|
||||||
main.vaultDetail.stats=Széf statisztika
|
main.vaultDetail.stats=Széf statisztika
|
||||||
### Missing
|
### Missing
|
||||||
main.vaultDetail.missing.info=A Cryptomator nem talált széfet ezen az útvonalon.
|
main.vaultDetail.missing.info=A Cryptomator nem talált széfet ezen az útvonalon.
|
||||||
@@ -262,22 +254,22 @@ vaultOptions.general.unlockAfterStartup=A széf feloldása a Cryptomator indít
|
|||||||
vaultOptions.general.actionAfterUnlock=Sikeres feloldás után
|
vaultOptions.general.actionAfterUnlock=Sikeres feloldás után
|
||||||
vaultOptions.general.actionAfterUnlock.ignore=Ne tegyen semmit
|
vaultOptions.general.actionAfterUnlock.ignore=Ne tegyen semmit
|
||||||
vaultOptions.general.actionAfterUnlock.reveal=Jelenítse meg a kötetet
|
vaultOptions.general.actionAfterUnlock.reveal=Jelenítse meg a kötetet
|
||||||
vaultOptions.general.actionAfterUnlock.ask=Kérdezzen
|
vaultOptions.general.actionAfterUnlock.ask=Kérdez
|
||||||
## Mount
|
## Mount
|
||||||
vaultOptions.mount=Csatolás
|
vaultOptions.mount=Felcsatolás
|
||||||
vaultOptions.mount.readonly=Csak olvasható
|
vaultOptions.mount.readonly=Csak-olvasható
|
||||||
vaultOptions.mount.customMountFlags=Egyedi csatolási paraméterek
|
vaultOptions.mount.customMountFlags=Egyedi csatolási paraméterek
|
||||||
vaultOptions.mount.winDriveLetterOccupied=foglalt
|
vaultOptions.mount.winDriveLetterOccupied=foglalt
|
||||||
vaultOptions.mount.mountPoint=Csatolási pont
|
vaultOptions.mount.mountPoint=Csatolási pont
|
||||||
vaultOptions.mount.mountPoint.auto=Válasszon egy megfelelő helyet autómatikusan
|
vaultOptions.mount.mountPoint.auto=Válasszon egy megfelelő helyet automatikusan
|
||||||
vaultOptions.mount.mountPoint.driveLetter=Használja a kiválasztott meghajtó betűjelét
|
vaultOptions.mount.mountPoint.driveLetter=Használja a kiválasztott meghajtó betűjelét
|
||||||
vaultOptions.mount.mountPoint.custom=Egyedi útvonal
|
vaultOptions.mount.mountPoint.custom=Egyedi útvonal
|
||||||
vaultOptions.mount.mountPoint.directoryPickerButton=Kiválasztás…
|
vaultOptions.mount.mountPoint.directoryPickerButton=Kiválaszt…
|
||||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Válasszon egy üres könyvtárat
|
vaultOptions.mount.mountPoint.directoryPickerTitle=Válasszon egy üres könyvtárat
|
||||||
## Master Key
|
## Master Key
|
||||||
vaultOptions.masterkey=Jelszó
|
vaultOptions.masterkey=Jelszó
|
||||||
vaultOptions.masterkey.changePasswordBtn=Jelszó megváltoztatása
|
vaultOptions.masterkey.changePasswordBtn=Jelszó megváltoztatása
|
||||||
vaultOptions.masterkey.forgetSavedPasswordBtn=Elmentett jelszó elfelejtése
|
vaultOptions.masterkey.forgetSavedPasswordBtn=Mentett jelszó törlése
|
||||||
vaultOptions.masterkey.recoveryKeyExpanation=A helyreállítási kulcs az egyetlen módja annak, hogy visszaállítsa a széfhez való hozzáférést, ha elveíti a jelszavát.
|
vaultOptions.masterkey.recoveryKeyExpanation=A helyreállítási kulcs az egyetlen módja annak, hogy visszaállítsa a széfhez való hozzáférést, ha elveíti a jelszavát.
|
||||||
vaultOptions.masterkey.showRecoveryKeyBtn=Visszaállítási kulcs megjelenítése
|
vaultOptions.masterkey.showRecoveryKeyBtn=Visszaállítási kulcs megjelenítése
|
||||||
vaultOptions.masterkey.recoverPasswordBtn=Jelszó visszaállítása
|
vaultOptions.masterkey.recoverPasswordBtn=Jelszó visszaállítása
|
||||||
@@ -292,8 +284,8 @@ recoveryKey.recover.validKey=Ez egy érvényes visszaállítási kulcs
|
|||||||
recoveryKey.printout.heading=Cryptomator visszaállítási kulcs\n"%s"\n
|
recoveryKey.printout.heading=Cryptomator visszaállítási kulcs\n"%s"\n
|
||||||
|
|
||||||
# New Password
|
# New Password
|
||||||
newPassword.promptText=Írja be az új jelszavát
|
newPassword.promptText=Adjon meg egy új jelszót
|
||||||
newPassword.reenterPassword=Erősítse meg az új jelszavát
|
newPassword.reenterPassword=Az új jelszó megerősítése
|
||||||
newPassword.passwordsMatch=A jelszavak megegyeznek!
|
newPassword.passwordsMatch=A jelszavak megegyeznek!
|
||||||
newPassword.passwordsDoNotMatch=A jelszavak nem egyeznek meg
|
newPassword.passwordsDoNotMatch=A jelszavak nem egyeznek meg
|
||||||
passwordStrength.messageLabel.tooShort=Használjon legalább %d karaktert
|
passwordStrength.messageLabel.tooShort=Használjon legalább %d karaktert
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Password dimenticata
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Sblocca Cassaforte
|
unlock.title=Sblocca Cassaforte
|
||||||
unlock.passwordPrompt=Inserisci la password per "%s":
|
unlock.passwordPrompt=Inserisci la password per "%s":
|
||||||
unlock.savePassword=Salva password
|
unlock.savePassword=Ricorda la Password
|
||||||
unlock.unlockBtn=Sblocca
|
unlock.unlockBtn=Sblocca
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Sbloccato "%s" con successo! La tua cassaforte è ora accessibile.
|
unlock.success.message=Sbloccato "%s" con successo! La tua cassaforte è ora accessibile.
|
||||||
@@ -200,7 +200,7 @@ stats.read.accessCount=Totale lettura: %d
|
|||||||
stats.write.throughput.idle=Scrivi: inattivo
|
stats.write.throughput.idle=Scrivi: inattivo
|
||||||
stats.write.throughput.kibs=Scrittura: %.2f kiB/s
|
stats.write.throughput.kibs=Scrittura: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Scrittura: %.2f MiB/s
|
stats.write.throughput.mibs=Scrittura: %.2f MiB/s
|
||||||
stats.write.total.data.none=Dati letti: -
|
stats.write.total.data.none=Dati scritti: -
|
||||||
stats.write.total.data.kib=Dati scritti: %.1f kiB
|
stats.write.total.data.kib=Dati scritti: %.1f kiB
|
||||||
stats.write.total.data.mib=Dati scritti: %.1f MiB
|
stats.write.total.data.mib=Dati scritti: %.1f MiB
|
||||||
stats.write.total.data.gib=Dati scritti: %.1f GiB
|
stats.write.total.data.gib=Dati scritti: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=パスワードを削除
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=金庫を解錠
|
unlock.title=金庫を解錠
|
||||||
unlock.passwordPrompt="%s" のパスワードを入力してください:
|
unlock.passwordPrompt="%s" のパスワードを入力してください:
|
||||||
unlock.savePassword=パスワードを保存
|
unlock.savePassword=パスワードを記憶させる
|
||||||
unlock.unlockBtn=解錠
|
unlock.unlockBtn=解錠
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" の解錠に成功しました! 金庫にアクセス可能です。
|
unlock.success.message="%s" の解錠に成功しました! 金庫にアクセス可能です。
|
||||||
@@ -202,7 +202,7 @@ stats.read.accessCount=合計読み取り: %d
|
|||||||
stats.write.throughput.idle=書き込み: アイドル状態
|
stats.write.throughput.idle=書き込み: アイドル状態
|
||||||
stats.write.throughput.kibs=書き込み: %.2f kiB/s
|
stats.write.throughput.kibs=書き込み: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=書き込み: %.2f MiB/s
|
stats.write.throughput.mibs=書き込み: %.2f MiB/s
|
||||||
stats.write.total.data.none=データ読み込み: -
|
stats.write.total.data.none=書き込み済みデータ: -
|
||||||
stats.write.total.data.kib=書き込み済みデータ: %.1f kiB
|
stats.write.total.data.kib=書き込み済みデータ: %.1f kiB
|
||||||
stats.write.total.data.mib=書き込み済みデータ: %.1f MiB
|
stats.write.total.data.mib=書き込み済みデータ: %.1f MiB
|
||||||
stats.write.total.data.gib=書き込み済みデータ: %.1f GiB
|
stats.write.total.data.gib=書き込み済みデータ: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=비밀번호 분실
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Vault 잠금해제
|
unlock.title=Vault 잠금해제
|
||||||
unlock.passwordPrompt="%s"의 비밀번호를 입력하십시요.
|
unlock.passwordPrompt="%s"의 비밀번호를 입력하십시요.
|
||||||
unlock.savePassword=비밀번호 저장
|
unlock.savePassword=비밀번호 기억
|
||||||
unlock.unlockBtn=잠금해제
|
unlock.unlockBtn=잠금해제
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s"의 잠금해제가 성공적으로 수행되었습니다! 이제 이 Vault의 접근이 가능합니다.
|
unlock.success.message="%s"의 잠금해제가 성공적으로 수행되었습니다! 이제 이 Vault의 접근이 가능합니다.
|
||||||
@@ -149,6 +149,8 @@ preferences.general.theme.automatic=자동
|
|||||||
preferences.general.theme.light=밝게
|
preferences.general.theme.light=밝게
|
||||||
preferences.general.theme.dark=어둡게
|
preferences.general.theme.dark=어둡게
|
||||||
preferences.general.unlockThemes=다크모드 해제
|
preferences.general.unlockThemes=다크모드 해제
|
||||||
|
preferences.general.showMinimizeButton=최소화 버튼 표시
|
||||||
|
preferences.general.showTrayIcon=트레이 아이콘 보기 (재시작 필요)
|
||||||
preferences.general.startHidden=Cryptomator를 시작할 때 창 숨김
|
preferences.general.startHidden=Cryptomator를 시작할 때 창 숨김
|
||||||
preferences.general.debugLogging=디버그 로그기록을 사용하도록 설정
|
preferences.general.debugLogging=디버그 로그기록을 사용하도록 설정
|
||||||
preferences.general.debugDirectory=Log 파일 표시
|
preferences.general.debugDirectory=Log 파일 표시
|
||||||
@@ -200,7 +202,7 @@ stats.read.accessCount=총 읽기 횟수: %d
|
|||||||
stats.write.throughput.idle=쓰기: 대기중
|
stats.write.throughput.idle=쓰기: 대기중
|
||||||
stats.write.throughput.kibs=쓰기: %.2f kiB/s
|
stats.write.throughput.kibs=쓰기: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=쓰기: %.2f MiB/s
|
stats.write.throughput.mibs=쓰기: %.2f MiB/s
|
||||||
stats.write.total.data.none=데이터 읽기: -
|
stats.write.total.data.none=데이터 기록됨: -
|
||||||
stats.write.total.data.kib=데이터 쓰기: %.1f kiB
|
stats.write.total.data.kib=데이터 쓰기: %.1f kiB
|
||||||
stats.write.total.data.mib=데이터 쓰기: %.1f MiB
|
stats.write.total.data.mib=데이터 쓰기: %.1f MiB
|
||||||
stats.write.total.data.gib=데이터 쓰기: %.1f GiB
|
stats.write.total.data.gib=데이터 쓰기: %.1f GiB
|
||||||
|
|||||||
@@ -93,7 +93,6 @@ forgetPassword.confirmBtn=Aizmirst paroli
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Atslēgt glabātuvi
|
unlock.title=Atslēgt glabātuvi
|
||||||
unlock.passwordPrompt=Ievadiet "%s" paroli:
|
unlock.passwordPrompt=Ievadiet "%s" paroli:
|
||||||
unlock.savePassword=Saglabāt paroli
|
|
||||||
unlock.unlockBtn=Atslēgt
|
unlock.unlockBtn=Atslēgt
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" sekmīgi atslēgts! Jūsu glabātuve tagad ir pieejama.
|
unlock.success.message="%s" sekmīgi atslēgts! Jūsu glabātuve tagad ir pieejama.
|
||||||
|
|||||||
@@ -95,7 +95,6 @@ forgetPassword.confirmBtn=Glem passord
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Lås opp hvelvet
|
unlock.title=Lås opp hvelvet
|
||||||
unlock.passwordPrompt=Skriv inn passordet for "%s":
|
unlock.passwordPrompt=Skriv inn passordet for "%s":
|
||||||
unlock.savePassword=Lagre passord
|
|
||||||
unlock.unlockBtn=Lås opp
|
unlock.unlockBtn=Lås opp
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Vellykket opplåsning av "%s"! Hvelvet ditt er nå tilgjengelig.
|
unlock.success.message=Vellykket opplåsning av "%s"! Hvelvet ditt er nå tilgjengelig.
|
||||||
@@ -202,7 +201,6 @@ stats.read.accessCount=Lesninger totalt: %d
|
|||||||
stats.write.throughput.idle=Skrive: inaktiv
|
stats.write.throughput.idle=Skrive: inaktiv
|
||||||
stats.write.throughput.kibs=Skriver: %.2f kiB/s
|
stats.write.throughput.kibs=Skriver: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Skriver: %.2f MiB/s
|
stats.write.throughput.mibs=Skriver: %.2f MiB/s
|
||||||
stats.write.total.data.none=Data lest: -
|
|
||||||
stats.write.total.data.kib=Data skrevet: %.1f kiB
|
stats.write.total.data.kib=Data skrevet: %.1f kiB
|
||||||
stats.write.total.data.mib=Data skrevet: %.1f MiB
|
stats.write.total.data.mib=Data skrevet: %.1f MiB
|
||||||
stats.write.total.data.gib=Data skrevet: %.1f GiB
|
stats.write.total.data.gib=Data skrevet: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,6 @@ forgetPassword.confirmBtn=Wachtwoord vergeten
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Kluis ontgrendelen
|
unlock.title=Kluis ontgrendelen
|
||||||
unlock.passwordPrompt=Voer wachtwoord voor "%s" in:
|
unlock.passwordPrompt=Voer wachtwoord voor "%s" in:
|
||||||
unlock.savePassword=Wachtwoord Opslaan
|
|
||||||
unlock.unlockBtn=Ontgrendel
|
unlock.unlockBtn=Ontgrendel
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" is met succes ontgrendeld! Uw kluis is nu toegankelijk.
|
unlock.success.message="%s" is met succes ontgrendeld! Uw kluis is nu toegankelijk.
|
||||||
@@ -202,7 +201,6 @@ stats.read.accessCount=Totaal gelezen: %d
|
|||||||
stats.write.throughput.idle=Schrijven: inactief
|
stats.write.throughput.idle=Schrijven: inactief
|
||||||
stats.write.throughput.kibs=Schrijven: %.2f kiB/s
|
stats.write.throughput.kibs=Schrijven: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Schrijven: %.2f MiB/s
|
stats.write.throughput.mibs=Schrijven: %.2f MiB/s
|
||||||
stats.write.total.data.none=Gegevens gelezen: -
|
|
||||||
stats.write.total.data.kib=Gegevens geschreven: %.1f kiB
|
stats.write.total.data.kib=Gegevens geschreven: %.1f kiB
|
||||||
stats.write.total.data.mib=Gegevens geschreven: %.1f MiB
|
stats.write.total.data.mib=Gegevens geschreven: %.1f MiB
|
||||||
stats.write.total.data.gib=Gegevens geschreven: %.1f GiB
|
stats.write.total.data.gib=Gegevens geschreven: %.1f GiB
|
||||||
|
|||||||
@@ -94,7 +94,6 @@ forgetPassword.confirmBtn=Gløym passord
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Lås opp kvelven
|
unlock.title=Lås opp kvelven
|
||||||
unlock.passwordPrompt=Skriv inn passordet for "%s":
|
unlock.passwordPrompt=Skriv inn passordet for "%s":
|
||||||
unlock.savePassword=Lagre passordet
|
|
||||||
unlock.unlockBtn=Låse opp
|
unlock.unlockBtn=Låse opp
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Vellykka opplåsning av "%s"! Kvelven din er no tilgjengeleg.
|
unlock.success.message=Vellykka opplåsning av "%s"! Kvelven din er no tilgjengeleg.
|
||||||
|
|||||||
@@ -95,7 +95,6 @@ forgetPassword.confirmBtn=ਪਾਸਵਰਡ ਭੁੱਲ ਗਏ
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=ਵਾਲਟ ਅਣ-ਲਾਕ ਕਰੋ
|
unlock.title=ਵਾਲਟ ਅਣ-ਲਾਕ ਕਰੋ
|
||||||
unlock.passwordPrompt="%s" ਲਈ ਪਾਸਵਰਡ ਦਿਓ:
|
unlock.passwordPrompt="%s" ਲਈ ਪਾਸਵਰਡ ਦਿਓ:
|
||||||
unlock.savePassword=ਪਾਸਵਰਡ ਸੰਭਾਲੋ
|
|
||||||
unlock.unlockBtn=ਅਣ-ਲਾਕ ਕਰੋ
|
unlock.unlockBtn=ਅਣ-ਲਾਕ ਕਰੋ
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" ਕਾਮਯਾਬੀ ਨਾਲ ਅਣ-ਲਾਕ ਕੀਤਾ! ਤੁਹਾਡਾ ਵਾਲਟ ਹੁਣ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
|
unlock.success.message="%s" ਕਾਮਯਾਬੀ ਨਾਲ ਅਣ-ਲਾਕ ਕੀਤਾ! ਤੁਹਾਡਾ ਵਾਲਟ ਹੁਣ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
|
||||||
@@ -149,6 +148,8 @@ preferences.general.theme.automatic=ਆਟੋਮੈਟਿਕ
|
|||||||
preferences.general.theme.light=ਹਲਕਾ
|
preferences.general.theme.light=ਹਲਕਾ
|
||||||
preferences.general.theme.dark=ਗੂੜ੍ਹਾ
|
preferences.general.theme.dark=ਗੂੜ੍ਹਾ
|
||||||
preferences.general.unlockThemes=ਗੂੜ੍ਹਾ ਢੰਗ ਅਣ-ਲਾਕ ਕਰੋ
|
preferences.general.unlockThemes=ਗੂੜ੍ਹਾ ਢੰਗ ਅਣ-ਲਾਕ ਕਰੋ
|
||||||
|
preferences.general.showMinimizeButton=ਘੱਟੋ-ਘੱਟ ਬਟਨ ਦਿਖਾਓ
|
||||||
|
preferences.general.showTrayIcon=ਟਰੇ ਆਈਕਾਨ ਵੇਖਾਓ (ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ)
|
||||||
preferences.general.startHidden=ਜਦੋਂ Cryptomator ਸ਼ੁਰੂ ਹੋਵੇ ਤਾਂ ਵਿੰਡੋ ਲੁਕਾਓ
|
preferences.general.startHidden=ਜਦੋਂ Cryptomator ਸ਼ੁਰੂ ਹੋਵੇ ਤਾਂ ਵਿੰਡੋ ਲੁਕਾਓ
|
||||||
preferences.general.debugLogging=ਡੀਬੱਗ ਲਾਗ ਸਮਰੱਥ ਕਰੋ
|
preferences.general.debugLogging=ਡੀਬੱਗ ਲਾਗ ਸਮਰੱਥ ਕਰੋ
|
||||||
preferences.general.debugDirectory=ਲਾਗ ਫਾਇਲਾਂ ਦਿਖਾਓ
|
preferences.general.debugDirectory=ਲਾਗ ਫਾਇਲਾਂ ਦਿਖਾਓ
|
||||||
@@ -200,7 +201,6 @@ stats.read.accessCount=ਕੁੱਲ ਪੜ੍ਹੇ: %d
|
|||||||
stats.write.throughput.idle=ਲਿਖੇ: ਵੇਹਲ
|
stats.write.throughput.idle=ਲਿਖੇ: ਵੇਹਲ
|
||||||
stats.write.throughput.kibs=ਲਿਖੇ: %.2f kiB/s
|
stats.write.throughput.kibs=ਲਿਖੇ: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=ਲਿਖੇ: %.2f MiB/s
|
stats.write.throughput.mibs=ਲਿਖੇ: %.2f MiB/s
|
||||||
stats.write.total.data.none=ਡਾਟਾ ਪੜ੍ਹਿਆ: -
|
|
||||||
stats.write.total.data.kib=ਡਾਟਾ ਲਿਖਿਆ: %.1f kiB
|
stats.write.total.data.kib=ਡਾਟਾ ਲਿਖਿਆ: %.1f kiB
|
||||||
stats.write.total.data.mib=ਡਾਟਾ ਲਿਖਿਆ: %.1f MiB
|
stats.write.total.data.mib=ਡਾਟਾ ਲਿਖਿਆ: %.1f MiB
|
||||||
stats.write.total.data.gib=ਡਾਟਾ ਲਿਖਿਆ: %.1f GiB
|
stats.write.total.data.gib=ਡਾਟਾ ਲਿਖਿਆ: %.1f GiB
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ stats.read.accessCount=Całkowite odczyty: %d
|
|||||||
stats.write.throughput.idle=Zapis: bezczynny
|
stats.write.throughput.idle=Zapis: bezczynny
|
||||||
stats.write.throughput.kibs=Zapis: %.2f kiB/s
|
stats.write.throughput.kibs=Zapis: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Zapis: %.2f kiB/s
|
stats.write.throughput.mibs=Zapis: %.2f kiB/s
|
||||||
stats.write.total.data.none=Dane odczytywane: -
|
stats.write.total.data.none=Zapisane dane: -
|
||||||
stats.write.total.data.kib=Zapisane dane: %.1f kiB
|
stats.write.total.data.kib=Zapisane dane: %.1f kiB
|
||||||
stats.write.total.data.mib=Zapisane dane: %.1f MiB
|
stats.write.total.data.mib=Zapisane dane: %.1f MiB
|
||||||
stats.write.total.data.gib=Zapisane dane: %.1f kiB
|
stats.write.total.data.gib=Zapisane dane: %.1f kiB
|
||||||
|
|||||||
@@ -86,7 +86,6 @@ forgetPassword.confirmBtn=Esqueci a Senha
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Destrancar Cofre
|
unlock.title=Destrancar Cofre
|
||||||
unlock.passwordPrompt=Insira a senha para "%s":
|
unlock.passwordPrompt=Insira a senha para "%s":
|
||||||
unlock.savePassword=Lembrar Senha
|
|
||||||
unlock.unlockBtn=Destrancar
|
unlock.unlockBtn=Destrancar
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Desbloqueado "%s" com sucesso! O seu cofre está agora acessível.
|
unlock.success.message=Desbloqueado "%s" com sucesso! O seu cofre está agora acessível.
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Esquecer Senha
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Desbloquear Cofre
|
unlock.title=Desbloquear Cofre
|
||||||
unlock.passwordPrompt=Digite a senha para "%s":
|
unlock.passwordPrompt=Digite a senha para "%s":
|
||||||
unlock.savePassword=Salvar Senha
|
unlock.savePassword=Lembrar Senha
|
||||||
unlock.unlockBtn=Desbloquear
|
unlock.unlockBtn=Desbloquear
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" foi desbloqueado com sucesso! Seu cofre agora está acessível.
|
unlock.success.message="%s" foi desbloqueado com sucesso! Seu cofre agora está acessível.
|
||||||
@@ -202,7 +202,6 @@ stats.read.accessCount=Total de leituras: %d
|
|||||||
stats.write.throughput.idle=Escrita: ociosa
|
stats.write.throughput.idle=Escrita: ociosa
|
||||||
stats.write.throughput.kibs=Escrita: %.2f kiB/s
|
stats.write.throughput.kibs=Escrita: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Escrita: %.2f MiB/s
|
stats.write.throughput.mibs=Escrita: %.2f MiB/s
|
||||||
stats.write.total.data.none=Dados lidos: -
|
|
||||||
stats.write.total.data.kib=Dados gravados: %.1f kiB
|
stats.write.total.data.kib=Dados gravados: %.1f kiB
|
||||||
stats.write.total.data.mib=Dados gravados: %.1f MiB
|
stats.write.total.data.mib=Dados gravados: %.1f MiB
|
||||||
stats.write.total.data.gib=Dados gravados: %.1f GiB
|
stats.write.total.data.gib=Dados gravados: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Не помню пароль
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Разблокировать хранилище
|
unlock.title=Разблокировать хранилище
|
||||||
unlock.passwordPrompt=Введите пароль для "%s"
|
unlock.passwordPrompt=Введите пароль для "%s"
|
||||||
unlock.savePassword=Сохранить пароль
|
unlock.savePassword=Запомнить пароль
|
||||||
unlock.unlockBtn=Разблокировать
|
unlock.unlockBtn=Разблокировать
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Разблокировка "%s" успешно выполнена! Доступ в хранилище открыт.
|
unlock.success.message=Разблокировка "%s" успешно выполнена! Доступ в хранилище открыт.
|
||||||
@@ -202,7 +202,7 @@ stats.read.accessCount=Всего операций чтения: %d
|
|||||||
stats.write.throughput.idle=Запись: бездействие
|
stats.write.throughput.idle=Запись: бездействие
|
||||||
stats.write.throughput.kibs=Запись: %.2f КиБ/с
|
stats.write.throughput.kibs=Запись: %.2f КиБ/с
|
||||||
stats.write.throughput.mibs=Запись: %.2f МиБ/с
|
stats.write.throughput.mibs=Запись: %.2f МиБ/с
|
||||||
stats.write.total.data.none=Прочитано: -
|
stats.write.total.data.none=Записано данных: -
|
||||||
stats.write.total.data.kib=Записано: %.1f КиБ
|
stats.write.total.data.kib=Записано: %.1f КиБ
|
||||||
stats.write.total.data.mib=Записано: %.1f МиБ
|
stats.write.total.data.mib=Записано: %.1f МиБ
|
||||||
stats.write.total.data.gib=Записано: %.1f ГиБ
|
stats.write.total.data.gib=Записано: %.1f ГиБ
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ forgetPassword.confirmBtn=Zabudnuté heslo
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Odomknúť trezor
|
unlock.title=Odomknúť trezor
|
||||||
unlock.passwordPrompt=Zadajte heslo pre "%s":
|
unlock.passwordPrompt=Zadajte heslo pre "%s":
|
||||||
unlock.savePassword=Uložiť heslo
|
unlock.savePassword=Odomknúť.uložiťHeslo
|
||||||
unlock.unlockBtn=Odomknúť
|
unlock.unlockBtn=Odomknúť
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=Úspešne sa odomkol "%s"! Váš trezor je teraz prístupný.
|
unlock.success.message=Úspešne sa odomkol "%s"! Váš trezor je teraz prístupný.
|
||||||
@@ -125,6 +125,8 @@ migration.success.unlockNow=Odomknúť teraz
|
|||||||
preferences.title=Predvoľby
|
preferences.title=Predvoľby
|
||||||
## General
|
## General
|
||||||
preferences.general.theme.automatic=Automaticky
|
preferences.general.theme.automatic=Automaticky
|
||||||
|
preferences.general.showMinimizeButton=Predvoľba.hlavná.ukážMinimalizujTlačítko
|
||||||
|
preferences.general.showTrayIcon=Predvoľba.hlavná.ukážIkonaSytémovejlišty
|
||||||
preferences.general.keychainBackend.org.cryptomator.linux.keychain.SecretServiceKeychainAccess=Gnome klúčenka
|
preferences.general.keychainBackend.org.cryptomator.linux.keychain.SecretServiceKeychainAccess=Gnome klúčenka
|
||||||
preferences.general.keychainBackend.org.cryptomator.linux.keychain.KDEWalletKeychainAccess=KDE účet
|
preferences.general.keychainBackend.org.cryptomator.linux.keychain.KDEWalletKeychainAccess=KDE účet
|
||||||
preferences.general.keychainBackend.org.cryptomator.macos.keychain.MacSystemKeychainAccess=maccOS reťazový prístup
|
preferences.general.keychainBackend.org.cryptomator.macos.keychain.MacSystemKeychainAccess=maccOS reťazový prístup
|
||||||
@@ -154,7 +156,7 @@ stats.read.accessCount=Spolu načítané: %d
|
|||||||
stats.write.throughput.idle=Zápis: nečinnosť
|
stats.write.throughput.idle=Zápis: nečinnosť
|
||||||
stats.write.throughput.kibs=Zápis: %.2f KiB/s
|
stats.write.throughput.kibs=Zápis: %.2f KiB/s
|
||||||
stats.write.throughput.mibs=Zápis: %.2f MiB/s
|
stats.write.throughput.mibs=Zápis: %.2f MiB/s
|
||||||
stats.write.total.data.none=Čítanie dát: -
|
stats.write.total.data.none=štatistika.zápis.celkové.dáta.nič
|
||||||
stats.write.total.data.kib=Zapísaných dát: %.1f kiB
|
stats.write.total.data.kib=Zapísaných dát: %.1f kiB
|
||||||
stats.write.total.data.mib=Zapísaných dát: %.1f MiB
|
stats.write.total.data.mib=Zapísaných dát: %.1f MiB
|
||||||
stats.write.total.data.gib=Zapísaných dát: %.1f GiB
|
stats.write.total.data.gib=Zapísaných dát: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Glöm lösenord
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Lås upp valv
|
unlock.title=Lås upp valv
|
||||||
unlock.passwordPrompt=Ange lösenord för "%s":
|
unlock.passwordPrompt=Ange lösenord för "%s":
|
||||||
unlock.savePassword=Spara lösenord
|
unlock.savePassword=Kom ihåg lösenord
|
||||||
unlock.unlockBtn=Lås upp
|
unlock.unlockBtn=Lås upp
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" upplåst! Ditt valv är nu åtkomligt.
|
unlock.success.message="%s" upplåst! Ditt valv är nu åtkomligt.
|
||||||
@@ -109,7 +109,12 @@ unlock.error.invalidMountPoint.existing=Monteringspunkten "%s" finns redan eller
|
|||||||
|
|
||||||
# Lock
|
# Lock
|
||||||
## Force
|
## Force
|
||||||
|
lock.forced.heading=Normal låsning misslyckades
|
||||||
|
lock.forced.message=Låsning av "%s" förhindras av pågående operationer eller öppna filer. Du kan tvinga låsning av detta valv, men det kan resultera i förlust av osparade data.
|
||||||
|
lock.forced.confirmBtn=Tvinga låsning
|
||||||
## Failure
|
## Failure
|
||||||
|
lock.fail.heading=Låsning av valv misslyckades.
|
||||||
|
lock.fail.message=Valvet "%s" kunde inte låsas. Se till att osparat arbete sparas någon annanstans och viktiga läs- och skrivfunktioner är klara. För att stänga valvet, avsluta Cryptomator-processen.
|
||||||
|
|
||||||
# Migration
|
# Migration
|
||||||
migration.title=Uppgradera valv
|
migration.title=Uppgradera valv
|
||||||
@@ -144,6 +149,8 @@ preferences.general.theme.automatic=Automatiskt
|
|||||||
preferences.general.theme.light=Ljust
|
preferences.general.theme.light=Ljust
|
||||||
preferences.general.theme.dark=Mörkt
|
preferences.general.theme.dark=Mörkt
|
||||||
preferences.general.unlockThemes=Lås upp mörkt läge
|
preferences.general.unlockThemes=Lås upp mörkt läge
|
||||||
|
preferences.general.showMinimizeButton=Visa minimera knappen
|
||||||
|
preferences.general.showTrayIcon=Visa tray-ikon (kräver omstart)
|
||||||
preferences.general.startHidden=Dölj fönster när Cryptomator startar
|
preferences.general.startHidden=Dölj fönster när Cryptomator startar
|
||||||
preferences.general.debugLogging=Aktivera loggning för felsökning
|
preferences.general.debugLogging=Aktivera loggning för felsökning
|
||||||
preferences.general.debugDirectory=Visa loggfiler
|
preferences.general.debugDirectory=Visa loggfiler
|
||||||
@@ -195,7 +202,7 @@ stats.read.accessCount=Totalt läst: %d
|
|||||||
stats.write.throughput.idle=Skriv: inaktiv
|
stats.write.throughput.idle=Skriv: inaktiv
|
||||||
stats.write.throughput.kibs=Skriv: %.2f kiB/s
|
stats.write.throughput.kibs=Skriv: %.2f kiB/s
|
||||||
stats.write.throughput.mibs=Skriv: %.2f MiB/s
|
stats.write.throughput.mibs=Skriv: %.2f MiB/s
|
||||||
stats.write.total.data.none=Data läst: -
|
stats.write.total.data.none=Data skrivet: -
|
||||||
stats.write.total.data.kib=Data skrivet: %.1f kiB
|
stats.write.total.data.kib=Data skrivet: %.1f kiB
|
||||||
stats.write.total.data.mib=Data skrivet: %.1f MiB
|
stats.write.total.data.mib=Data skrivet: %.1f MiB
|
||||||
stats.write.total.data.gib=Data skrivet: %.1f GiB
|
stats.write.total.data.gib=Data skrivet: %.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ forgetPassword.confirmBtn=Şifreyi Unut
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=Kasa Kilidini Aç
|
unlock.title=Kasa Kilidini Aç
|
||||||
unlock.passwordPrompt="%s" için şifre girin:
|
unlock.passwordPrompt="%s" için şifre girin:
|
||||||
unlock.savePassword=Şifreyi Kaydet
|
unlock.savePassword=Şifreyi Hatırla
|
||||||
unlock.unlockBtn=Kilidi Aç
|
unlock.unlockBtn=Kilidi Aç
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message="%s" 'nin kilidi başarıyla açıldı! Kasanız şimdi erişilebilir durumda.
|
unlock.success.message="%s" 'nin kilidi başarıyla açıldı! Kasanız şimdi erişilebilir durumda.
|
||||||
@@ -202,7 +202,7 @@ stats.read.accessCount=Toplam okuma: %d
|
|||||||
stats.write.throughput.idle=Yazma: boşta
|
stats.write.throughput.idle=Yazma: boşta
|
||||||
stats.write.throughput.kibs=Yazma: %.2f kB/s
|
stats.write.throughput.kibs=Yazma: %.2f kB/s
|
||||||
stats.write.throughput.mibs=Yazma: %.2f MB/s
|
stats.write.throughput.mibs=Yazma: %.2f MB/s
|
||||||
stats.write.total.data.none=Yazılan veri: -
|
stats.write.total.data.none=Yazılmış veri: -
|
||||||
stats.write.total.data.kib=Yazılan veri: %.1f kB
|
stats.write.total.data.kib=Yazılan veri: %.1f kB
|
||||||
stats.write.total.data.mib=Yazılan veri: %.1f MB
|
stats.write.total.data.mib=Yazılan veri: %.1f MB
|
||||||
stats.write.total.data.gib=Yazılan veri: %.1f GB
|
stats.write.total.data.gib=Yazılan veri: %.1f GB
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ stats.read.accessCount=读取总数:%d
|
|||||||
stats.write.throughput.idle=写入:空闲
|
stats.write.throughput.idle=写入:空闲
|
||||||
stats.write.throughput.kibs=写入:%.2f kiB/s
|
stats.write.throughput.kibs=写入:%.2f kiB/s
|
||||||
stats.write.throughput.mibs=写入:%.2f MiB/s
|
stats.write.throughput.mibs=写入:%.2f MiB/s
|
||||||
stats.write.total.data.none=已读取数据:-
|
stats.write.total.data.none=已写入数据: -
|
||||||
stats.write.total.data.kib=已写入数据:%.1f kiB
|
stats.write.total.data.kib=已写入数据:%.1f kiB
|
||||||
stats.write.total.data.mib=已写入数据:%.1f MiB
|
stats.write.total.data.mib=已写入数据:%.1f MiB
|
||||||
stats.write.total.data.gib=已写入数据:%.1f GiB
|
stats.write.total.data.gib=已写入数据:%.1f GiB
|
||||||
|
|||||||
@@ -95,7 +95,6 @@ forgetPassword.confirmBtn=忘記密碼
|
|||||||
# Unlock
|
# Unlock
|
||||||
unlock.title=解鎖加密檔案庫
|
unlock.title=解鎖加密檔案庫
|
||||||
unlock.passwordPrompt=輸入 "%s" 的密碼:
|
unlock.passwordPrompt=輸入 "%s" 的密碼:
|
||||||
unlock.savePassword=儲存密碼
|
|
||||||
unlock.unlockBtn=解鎖
|
unlock.unlockBtn=解鎖
|
||||||
## Success
|
## Success
|
||||||
unlock.success.message=成功解鎖 "%s"!您現在可以存取您的加密檔案庫。
|
unlock.success.message=成功解鎖 "%s"!您現在可以存取您的加密檔案庫。
|
||||||
@@ -202,7 +201,7 @@ stats.read.accessCount=總讀取:%d
|
|||||||
stats.write.throughput.idle=寫入:閒置
|
stats.write.throughput.idle=寫入:閒置
|
||||||
stats.write.throughput.kibs=寫入:%.2f kiB/s
|
stats.write.throughput.kibs=寫入:%.2f kiB/s
|
||||||
stats.write.throughput.mibs=寫入:%.2f MiB/s
|
stats.write.throughput.mibs=寫入:%.2f MiB/s
|
||||||
stats.write.total.data.none=資料讀取:無
|
stats.write.total.data.none=已寫入資料:-
|
||||||
stats.write.total.data.kib=資料寫入:%.1f kiB
|
stats.write.total.data.kib=資料寫入:%.1f kiB
|
||||||
stats.write.total.data.mib=資料寫入:%.1f MiB
|
stats.write.total.data.mib=資料寫入:%.1f MiB
|
||||||
stats.write.total.data.gib=資料寫入:%.1f GiB
|
stats.write.total.data.gib=資料寫入:%.1f GiB
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Cryptomator uses 46 third-party dependencies under the following licenses:
|
|||||||
- jnr-ffi (com.github.jnr:jnr-ffi:2.1.12 - http://github.com/jnr/jnr-ffi)
|
- jnr-ffi (com.github.jnr:jnr-ffi:2.1.12 - http://github.com/jnr/jnr-ffi)
|
||||||
- FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.2 - http://findbugs.sourceforge.net/)
|
- FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.2 - http://findbugs.sourceforge.net/)
|
||||||
- Gson (com.google.code.gson:gson:2.8.6 - https://github.com/google/gson/gson)
|
- Gson (com.google.code.gson:gson:2.8.6 - https://github.com/google/gson/gson)
|
||||||
- Dagger (com.google.dagger:dagger:2.29.1 - https://github.com/google/dagger)
|
- Dagger (com.google.dagger:dagger:2.32 - https://github.com/google/dagger)
|
||||||
- error-prone annotations (com.google.errorprone:error_prone_annotations:2.3.4 - http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotations)
|
- error-prone annotations (com.google.errorprone:error_prone_annotations:2.3.4 - http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotations)
|
||||||
- Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - https://github.com/google/guava/failureaccess)
|
- Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - https://github.com/google/guava/failureaccess)
|
||||||
- Guava: Google Core Libraries for Java (com.google.guava:guava:30.0-jre - https://github.com/google/guava/guava)
|
- Guava: Google Core Libraries for Java (com.google.guava:guava:30.0-jre - https://github.com/google/guava/guava)
|
||||||
@@ -27,20 +27,20 @@ Cryptomator uses 46 third-party dependencies under the following licenses:
|
|||||||
- J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - https://github.com/google/j2objc/)
|
- J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - https://github.com/google/j2objc/)
|
||||||
- Apache Commons CLI (commons-cli:commons-cli:1.4 - http://commons.apache.org/proper/commons-cli/)
|
- Apache Commons CLI (commons-cli:commons-cli:1.4 - http://commons.apache.org/proper/commons-cli/)
|
||||||
- javax.inject (javax.inject:javax.inject:1 - http://code.google.com/p/atinject/)
|
- javax.inject (javax.inject:javax.inject:1 - http://code.google.com/p/atinject/)
|
||||||
- Java Native Access (net.java.dev.jna:jna:5.6.0 - https://github.com/java-native-access/jna)
|
- Java Native Access (net.java.dev.jna:jna:5.7.0 - https://github.com/java-native-access/jna)
|
||||||
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.5.0 - https://github.com/java-native-access/jna)
|
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.7.0 - https://github.com/java-native-access/jna)
|
||||||
- Apache Commons Lang (org.apache.commons:commons-lang3:3.11 - https://commons.apache.org/proper/commons-lang/)
|
- Apache Commons Lang (org.apache.commons:commons-lang3:3.11 - https://commons.apache.org/proper/commons-lang/)
|
||||||
- Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.13 - http://hc.apache.org/httpcomponents-core-ga)
|
- Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.13 - http://hc.apache.org/httpcomponents-core-ga)
|
||||||
- Jackrabbit WebDAV Library (org.apache.jackrabbit:jackrabbit-webdav:2.21.3 - http://jackrabbit.apache.org/jackrabbit-webdav/)
|
- Jackrabbit WebDAV Library (org.apache.jackrabbit:jackrabbit-webdav:2.21.3 - http://jackrabbit.apache.org/jackrabbit-webdav/)
|
||||||
- Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-http)
|
- Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-http)
|
||||||
- Jetty :: IO Utility (org.eclipse.jetty:jetty-io:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-io)
|
- Jetty :: IO Utility (org.eclipse.jetty:jetty-io:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-io)
|
||||||
- Jetty :: Security (org.eclipse.jetty:jetty-security:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-security)
|
- Jetty :: Security (org.eclipse.jetty:jetty-security:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-security)
|
||||||
- Jetty :: Server Core (org.eclipse.jetty:jetty-server:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-server)
|
- Jetty :: Server Core (org.eclipse.jetty:jetty-server:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-server)
|
||||||
- Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-servlet)
|
- Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-servlet)
|
||||||
- Jetty :: Utilities (org.eclipse.jetty:jetty-util:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-util)
|
- Jetty :: Utilities (org.eclipse.jetty:jetty-util:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-util)
|
||||||
- Jetty :: Utilities :: Ajax(JSON) (org.eclipse.jetty:jetty-util-ajax:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-util-ajax)
|
- Jetty :: Utilities :: Ajax(JSON) (org.eclipse.jetty:jetty-util-ajax:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-util-ajax)
|
||||||
- Jetty :: Webapp Application Support (org.eclipse.jetty:jetty-webapp:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-webapp)
|
- Jetty :: Webapp Application Support (org.eclipse.jetty:jetty-webapp:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-webapp)
|
||||||
- Jetty :: XML utilities (org.eclipse.jetty:jetty-xml:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-xml)
|
- Jetty :: XML utilities (org.eclipse.jetty:jetty-xml:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-xml)
|
||||||
BSD:
|
BSD:
|
||||||
- asm (org.ow2.asm:asm:7.1 - http://asm.ow2.org/)
|
- asm (org.ow2.asm:asm:7.1 - http://asm.ow2.org/)
|
||||||
- asm-analysis (org.ow2.asm:asm-analysis:7.1 - http://asm.ow2.org/)
|
- asm-analysis (org.ow2.asm:asm-analysis:7.1 - http://asm.ow2.org/)
|
||||||
@@ -48,15 +48,15 @@ Cryptomator uses 46 third-party dependencies under the following licenses:
|
|||||||
- asm-tree (org.ow2.asm:asm-tree:7.1 - http://asm.ow2.org/)
|
- asm-tree (org.ow2.asm:asm-tree:7.1 - http://asm.ow2.org/)
|
||||||
- asm-util (org.ow2.asm:asm-util:7.1 - http://asm.ow2.org/)
|
- asm-util (org.ow2.asm:asm-util:7.1 - http://asm.ow2.org/)
|
||||||
Eclipse Public License - Version 1.0:
|
Eclipse Public License - Version 1.0:
|
||||||
- Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-http)
|
- Jetty :: Http Utility (org.eclipse.jetty:jetty-http:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-http)
|
||||||
- Jetty :: IO Utility (org.eclipse.jetty:jetty-io:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-io)
|
- Jetty :: IO Utility (org.eclipse.jetty:jetty-io:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-io)
|
||||||
- Jetty :: Security (org.eclipse.jetty:jetty-security:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-security)
|
- Jetty :: Security (org.eclipse.jetty:jetty-security:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-security)
|
||||||
- Jetty :: Server Core (org.eclipse.jetty:jetty-server:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-server)
|
- Jetty :: Server Core (org.eclipse.jetty:jetty-server:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-server)
|
||||||
- Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-servlet)
|
- Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-servlet)
|
||||||
- Jetty :: Utilities (org.eclipse.jetty:jetty-util:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-util)
|
- Jetty :: Utilities (org.eclipse.jetty:jetty-util:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-util)
|
||||||
- Jetty :: Utilities :: Ajax(JSON) (org.eclipse.jetty:jetty-util-ajax:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-util-ajax)
|
- Jetty :: Utilities :: Ajax(JSON) (org.eclipse.jetty:jetty-util-ajax:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-util-ajax)
|
||||||
- Jetty :: Webapp Application Support (org.eclipse.jetty:jetty-webapp:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-webapp)
|
- Jetty :: Webapp Application Support (org.eclipse.jetty:jetty-webapp:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-webapp)
|
||||||
- Jetty :: XML utilities (org.eclipse.jetty:jetty-xml:9.4.35.v20201120 - https://eclipse.org/jetty/jetty-xml)
|
- Jetty :: XML utilities (org.eclipse.jetty:jetty-xml:9.4.36.v20210114 - https://eclipse.org/jetty/jetty-xml)
|
||||||
Eclipse Public License - v 2.0:
|
Eclipse Public License - v 2.0:
|
||||||
- jnr-posix (com.github.jnr:jnr-posix:3.0.54 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix)
|
- jnr-posix (com.github.jnr:jnr-posix:3.0.54 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix)
|
||||||
GPLv2:
|
GPLv2:
|
||||||
@@ -69,12 +69,12 @@ Cryptomator uses 46 third-party dependencies under the following licenses:
|
|||||||
- javafx-graphics (org.openjfx:javafx-graphics:15 - https://openjdk.java.net/projects/openjfx/javafx-graphics/)
|
- javafx-graphics (org.openjfx:javafx-graphics:15 - https://openjdk.java.net/projects/openjfx/javafx-graphics/)
|
||||||
LGPL 2.1:
|
LGPL 2.1:
|
||||||
- jnr-posix (com.github.jnr:jnr-posix:3.0.54 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix)
|
- jnr-posix (com.github.jnr:jnr-posix:3.0.54 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix)
|
||||||
- Java Native Access (net.java.dev.jna:jna:5.6.0 - https://github.com/java-native-access/jna)
|
- Java Native Access (net.java.dev.jna:jna:5.7.0 - https://github.com/java-native-access/jna)
|
||||||
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.5.0 - https://github.com/java-native-access/jna)
|
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.7.0 - https://github.com/java-native-access/jna)
|
||||||
MIT License:
|
MIT License:
|
||||||
- java jwt (com.auth0:java-jwt:3.12.0 - https://github.com/auth0/java-jwt)
|
- java jwt (com.auth0:java-jwt:3.12.0 - https://github.com/auth0/java-jwt)
|
||||||
- jnr-x86asm (com.github.jnr:jnr-x86asm:1.0.2 - http://github.com/jnr/jnr-x86asm)
|
- jnr-x86asm (com.github.jnr:jnr-x86asm:1.0.2 - http://github.com/jnr/jnr-x86asm)
|
||||||
- jnr-fuse (com.github.serceman:jnr-fuse:0.5.4 - no url defined)
|
- jnr-fuse (com.github.serceman:jnr-fuse:0.5.5 - https://github.com/SerCeMan/jnr-fuse)
|
||||||
- zxcvbn4j (com.nulab-inc:zxcvbn:1.3.0 - https://github.com/nulab/zxcvbn4j)
|
- zxcvbn4j (com.nulab-inc:zxcvbn:1.3.0 - https://github.com/nulab/zxcvbn4j)
|
||||||
- Checker Qual (org.checkerframework:checker-qual:3.5.0 - https://checkerframework.org)
|
- Checker Qual (org.checkerframework:checker-qual:3.5.0 - https://checkerframework.org)
|
||||||
- SLF4J API Module (org.slf4j:slf4j-api:1.7.30 - http://www.slf4j.org)
|
- SLF4J API Module (org.slf4j:slf4j-api:1.7.30 - http://www.slf4j.org)
|
||||||
|
|||||||
Reference in New Issue
Block a user