mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-14 08:41:28 +00:00
Compare commits
17 Commits
1.6.0-beta
...
1.6.0-rc1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f868304e4 | ||
|
|
813c69f6ac | ||
|
|
0d240cdb2d | ||
|
|
1ef3e948be | ||
|
|
2200a100e0 | ||
|
|
f5822fc568 | ||
|
|
126201506c | ||
|
|
c7d8cf5465 | ||
|
|
6415c29e3e | ||
|
|
c1965086f3 | ||
|
|
c8b9deccb9 | ||
|
|
9586e4e65a | ||
|
|
0fb5867bd8 | ||
|
|
3cc1bef4a6 | ||
|
|
907d097e2c | ||
|
|
c9907d6085 | ||
|
|
5eac665a93 |
11
.github/workflows/release.yml
vendored
11
.github/workflows/release.yml
vendored
@@ -590,11 +590,12 @@ jobs:
|
||||
env:
|
||||
GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
|
||||
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
|
||||
- id: checksums
|
||||
name: Compute SHA256 checksums of release artifacts
|
||||
- name: Compute SHA256 checksums of release artifacts
|
||||
run: |
|
||||
SHA256_SUMS=`find . -name "*.AppImage" -o -name "*.dmg" -o -name "*.msi" -name "*.tar.gz" | xargs sha256sum`
|
||||
echo "::set-output name=SHA256_SUMS::${SHA256_SUMS}"
|
||||
SHA256_SUMS=`find . -name "*.AppImage" -o -name "*.dmg" -o -name "*.msi" -o -name "*.tar.gz" | xargs sha256sum`
|
||||
echo "SHA256_SUMS<<EOF" >> $GITHUB_ENV
|
||||
echo "${SHA256_SUMS}" >> $GITHUB_ENV
|
||||
echo "EOF" >> $GITHUB_ENV
|
||||
continue-on-error: true
|
||||
- name: Create release draft
|
||||
uses: softprops/action-gh-release@v1
|
||||
@@ -618,4 +619,4 @@ jobs:
|
||||
:scroll: A complete list of closed issues is available [here](LINK)
|
||||
---
|
||||
Checksums of release artifacts:
|
||||
${{ steps.checksums.outputs.SHA256_SUMS }}"
|
||||
${{ env.SHA256_SUMS }}
|
||||
|
||||
@@ -28,7 +28,7 @@ export LD_PRELOAD=lib/app/libjffi.so
|
||||
-cp "lib/app/*" \
|
||||
-Dfile.encoding="utf-8" \
|
||||
-Dcryptomator.logDir="~/.local/share/Cryptomator/logs" \
|
||||
-Dcryptomator.pluginDir="~/.local/share/Cryptomator/plugins"
|
||||
-Dcryptomator.pluginDir="~/.local/share/Cryptomator/plugins" \
|
||||
-Dcryptomator.mountPointsDir="~/.local/share/Cryptomator/mnt" \
|
||||
-Dcryptomator.settingsPath="~/.config/Cryptomator/settings.json:~/.Cryptomator/settings.json" \
|
||||
-Dcryptomator.ipcSocketPath="~/.config/Cryptomator/ipc.socket" \
|
||||
|
||||
3
dist/mac/dmg/.gitignore
vendored
Normal file
3
dist/mac/dmg/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# created during build
|
||||
runtime/
|
||||
*.app/
|
||||
96
dist/mac/dmg/build.sh
vendored
Executable file
96
dist/mac/dmg/build.sh
vendored
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/bin/bash
|
||||
|
||||
# parse options
|
||||
usage() { echo "Usage: $0 [-s <codesign-identity>]" 1>&2; exit 1; }
|
||||
while getopts ":s:" o; do
|
||||
case "${o}" in
|
||||
s)
|
||||
CODESIGN_IDENTITY=${OPTARG}
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
shift "$((OPTIND-1))"
|
||||
|
||||
# prepare working dir and variables
|
||||
cd $(dirname $0)
|
||||
rm -rf runtime *.app
|
||||
REVISION_NO=`git rev-list --count HEAD`
|
||||
VERSION_NO=`mvn -f../../../pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout | sed -rn 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/p'`
|
||||
|
||||
# check preconditions
|
||||
if [ -z "${JAVA_HOME}" ]; then echo "JAVA_HOME not set. Run using JAVA_HOME=/path/to/jdk ./build.sh"; exit 1; fi
|
||||
command -v mvn >/dev/null 2>&1 || { echo >&2 "mvn not found."; exit 1; }
|
||||
if [ -n "${CODESIGN_IDENTITY}" ]; then
|
||||
command -v codesign >/dev/null 2>&1 || { echo >&2 "codesign not found. Fix by 'xcode-select --install'."; exit 1; }
|
||||
if [[ ! `security find-identity -v -p codesigning | grep -w "${CODESIGN_IDENTITY}"` ]]; then echo "Given codesign identity is invalid."; exit 1; fi
|
||||
fi
|
||||
|
||||
# compile
|
||||
mvn -B -f../../../pom.xml clean package -DskipTests -Pmac
|
||||
cp ../../../target/cryptomator-*.jar ../../../target/mods
|
||||
|
||||
# add runtime
|
||||
${JAVA_HOME}/bin/jlink \
|
||||
--output runtime \
|
||||
--module-path "${JAVA_HOME}/jmods" \
|
||||
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility \
|
||||
--no-header-files \
|
||||
--no-man-pages \
|
||||
--strip-debug \
|
||||
--compress=1
|
||||
|
||||
# create app dir
|
||||
${JAVA_HOME}/bin/jpackage \
|
||||
--verbose \
|
||||
--type app-image \
|
||||
--runtime-image runtime \
|
||||
--input ../../../target/libs \
|
||||
--module-path ../../../target/mods \
|
||||
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator \
|
||||
--dest . \
|
||||
--name Cryptomator \
|
||||
--vendor "Skymatic GmbH" \
|
||||
--copyright "(C) 2016 - 2021 Skymatic GmbH" \
|
||||
--java-options "-Xss5m" \
|
||||
--java-options "-Xmx256m" \
|
||||
--java-options "-Dcryptomator.appVersion=\"${VERSION_NO}\"" \
|
||||
--app-version "${VERSION_NO}" \
|
||||
--java-options "-Dfile.encoding=\"utf-8\"" \
|
||||
--java-options "-Dcryptomator.logDir=\"~/Library/Logs/Cryptomator\"" \
|
||||
--java-options "-Dcryptomator.pluginDir=\"~/Library/Application Support/Cryptomator/Plugins\"" \
|
||||
--java-options "-Dcryptomator.settingsPath=\"~/Library/Application Support/Cryptomator/settings.json\"" \
|
||||
--java-options "-Dcryptomator.ipcSocketPath=\"~/Library/Application Support/Cryptomator/ipc.socket\"" \
|
||||
--java-options "-Dcryptomator.showTrayIcon=true" \
|
||||
--java-options "-Dcryptomator.buildNumber=\"dmg-${REVISION_NO}\"" \
|
||||
--mac-package-identifier org.cryptomator \
|
||||
--resource-dir ../resources
|
||||
|
||||
# transform app dir
|
||||
cp ../resources/Cryptomator-Vault.icns Cryptomator.app/Contents/Resources/
|
||||
sed -i '' "s|###BUNDLE_SHORT_VERSION_STRING###|${VERSION_NO}|g" Cryptomator.app/Contents/Info.plist
|
||||
sed -i '' "s|###BUNDLE_VERSION###|${REVISION_NO}|g" Cryptomator.app/Contents/Info.plist
|
||||
|
||||
# codesign
|
||||
if [ -n "${CODESIGN_IDENTITY}" ]; then
|
||||
find Cryptomator.app/Contents/runtime/Contents/MacOS -name '*.dylib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
|
||||
for JAR_PATH in `find Cryptomator.app -name "*.jar"`; do
|
||||
if [[ `unzip -l ${JAR_PATH} | grep '.dylib\|.jnilib'` ]]; then
|
||||
JAR_FILENAME=$(basename ${JAR_PATH})
|
||||
OUTPUT_PATH=${JAR_PATH%.*}
|
||||
echo "Codesigning libs in ${JAR_FILENAME}..."
|
||||
unzip -q ${JAR_PATH} -d ${OUTPUT_PATH}
|
||||
find ${OUTPUT_PATH} -name '*.dylib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
|
||||
find ${OUTPUT_PATH} -name '*.jnilib' -exec codesign --force -s ${CODESIGN_IDENTITY} {} \;
|
||||
rm ${JAR_PATH}
|
||||
pushd ${OUTPUT_PATH} > /dev/null
|
||||
zip -qr ../${JAR_FILENAME} *
|
||||
popd > /dev/null
|
||||
rm -r ${OUTPUT_PATH}
|
||||
fi
|
||||
done
|
||||
echo "Codesigning Cryptomator.app..."
|
||||
codesign --force --deep --entitlements ../Cryptomator.entitlements -o runtime -s ${CODESIGN_IDENTITY} Cryptomator.app
|
||||
fi
|
||||
17
pom.xml
17
pom.xml
@@ -31,7 +31,7 @@
|
||||
<cryptomator.integrations.version>1.0.0</cryptomator.integrations.version>
|
||||
<cryptomator.integrations.win.version>1.0.0-rc1</cryptomator.integrations.win.version>
|
||||
<cryptomator.integrations.mac.version>1.0.0-rc1</cryptomator.integrations.mac.version>
|
||||
<cryptomator.integrations.linux.version>1.0.0-rc1</cryptomator.integrations.linux.version>
|
||||
<cryptomator.integrations.linux.version>1.0.0-rc2</cryptomator.integrations.linux.version>
|
||||
<cryptomator.fuse.version>1.3.2</cryptomator.fuse.version>
|
||||
<cryptomator.dokany.version>1.3.3</cryptomator.dokany.version>
|
||||
<cryptomator.webdav.version>1.2.6</cryptomator.webdav.version>
|
||||
@@ -42,7 +42,7 @@
|
||||
<jwt.version>3.18.2</jwt.version>
|
||||
<easybind.version>2.2</easybind.version>
|
||||
<guava.version>31.0-jre</guava.version>
|
||||
<dagger.version>2.38.1</dagger.version>
|
||||
<dagger.version>2.39</dagger.version>
|
||||
<gson.version>2.8.8</gson.version>
|
||||
<zxcvbn.version>1.5.2</zxcvbn.version>
|
||||
<slf4j.version>1.7.32</slf4j.version>
|
||||
@@ -222,19 +222,6 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>maven-central</id>
|
||||
<name>Maven Central Repo</name>
|
||||
<url>https://repo.maven.apache.org/maven2</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>google-maven</id>
|
||||
<name>Google Maven Repo</name>
|
||||
<url>https://maven.google.com</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
package org.cryptomator.ui.health;
|
||||
|
||||
import com.tobiasdiez.easybind.EasyBind;
|
||||
import com.tobiasdiez.easybind.Subscription;
|
||||
import org.cryptomator.ui.common.FxController;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.beans.binding.Binding;
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.scene.control.CheckBox;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CheckListCellController implements FxController {
|
||||
|
||||
@@ -18,26 +16,26 @@ public class CheckListCellController implements FxController {
|
||||
private final ObjectProperty<Check> check;
|
||||
private final Binding<String> checkName;
|
||||
private final Binding<Boolean> checkRunnable;
|
||||
private final List<Subscription> subscriptions;
|
||||
|
||||
/* FXML */
|
||||
public CheckBox forRunSelectedCheckBox;
|
||||
public CheckBox checkbox;
|
||||
|
||||
@Inject
|
||||
public CheckListCellController() {
|
||||
check = new SimpleObjectProperty<>();
|
||||
checkRunnable = EasyBind.wrapNullable(check).mapObservable(Check::stateProperty).map(Check.CheckState.RUNNABLE::equals).orElse(false);
|
||||
checkName = EasyBind.wrapNullable(check).map(Check::getName).orElse("");
|
||||
subscriptions = new ArrayList<>();
|
||||
}
|
||||
|
||||
public void initialize() {
|
||||
subscriptions.add(EasyBind.subscribe(check, c -> {
|
||||
forRunSelectedCheckBox.selectedProperty().unbind();
|
||||
if (c != null) {
|
||||
forRunSelectedCheckBox.selectedProperty().bindBidirectional(c.chosenForExecutionProperty());
|
||||
check.addListener((observable, oldVal, newVal) -> {
|
||||
if (oldVal != null) {
|
||||
Bindings.unbindBidirectional(checkbox.selectedProperty(), oldVal.chosenForExecutionProperty());
|
||||
}
|
||||
}));
|
||||
if (newVal != null) {
|
||||
Bindings.bindBidirectional(checkbox.selectedProperty(), newVal.chosenForExecutionProperty());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public ObjectProperty<Check> checkProperty() {
|
||||
|
||||
@@ -42,7 +42,6 @@ abstract class PreferencesModule {
|
||||
static Stage provideStage(StageFactory factory, ResourceBundle resourceBundle) {
|
||||
Stage stage = factory.create();
|
||||
stage.setTitle(resourceBundle.getString("preferences.title"));
|
||||
stage.setResizable(false);
|
||||
return stage;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import javafx.stage.DirectoryChooser;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.util.StringConverter;
|
||||
import java.io.File;
|
||||
import java.nio.file.InvalidPathException;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.Set;
|
||||
@@ -94,7 +95,9 @@ public class MountOptionsController implements FxController {
|
||||
driveLetterSelection.setConverter(new WinDriveLetterLabelConverter(windowsDriveLetters, resourceBundle));
|
||||
driveLetterSelection.setValue(vault.getVaultSettings().winDriveLetter().get());
|
||||
|
||||
if (vault.getVaultSettings().useCustomMountPath().get() && !getRestrictToStableFuseOnWindows() /* to prevent invalid states */) {
|
||||
if (vault.getVaultSettings().useCustomMountPath().get()
|
||||
&& vault.getVaultSettings().getCustomMountPath().isPresent()
|
||||
&& !getRestrictToStableFuseOnWindows() /* to prevent invalid states */) {
|
||||
mountPoint.selectToggle(mountPointCustomDir);
|
||||
} else if (!Strings.isNullOrEmpty(vault.getVaultSettings().winDriveLetter().get())) {
|
||||
mountPoint.selectToggle(mountPointWinDriveLetter);
|
||||
@@ -125,25 +128,30 @@ public class MountOptionsController implements FxController {
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void chooseCustomMountPoint() {
|
||||
public void chooseCustomMountPoint() {
|
||||
chooseCustomMountPointOrReset(mountPointCustomDir);
|
||||
}
|
||||
|
||||
private void chooseCustomMountPointOrReset(Toggle previousMountToggle) {
|
||||
DirectoryChooser directoryChooser = new DirectoryChooser();
|
||||
directoryChooser.setTitle(resourceBundle.getString("vaultOptions.mount.mountPoint.directoryPickerTitle"));
|
||||
try {
|
||||
directoryChooser.setInitialDirectory(Path.of(System.getProperty("user.home")).toFile());
|
||||
} catch (Exception e) {
|
||||
//NO-OP
|
||||
var initialDir = vault.getVaultSettings().getCustomMountPath().orElse(System.getProperty("user.home"));
|
||||
directoryChooser.setInitialDirectory(Path.of(initialDir).toFile());
|
||||
} catch (InvalidPathException e) {
|
||||
// no-op
|
||||
}
|
||||
File file = directoryChooser.showDialog(window);
|
||||
if (file != null) {
|
||||
vault.getVaultSettings().customMountPath().set(file.getAbsolutePath());
|
||||
} else {
|
||||
vault.getVaultSettings().customMountPath().set(null);
|
||||
mountPoint.selectToggle(previousMountToggle);
|
||||
}
|
||||
}
|
||||
|
||||
private void toggleMountPoint(@SuppressWarnings("unused") ObservableValue<? extends Toggle> observable, @SuppressWarnings("unused") Toggle oldValue, Toggle newValue) {
|
||||
private void toggleMountPoint(@SuppressWarnings("unused") ObservableValue<? extends Toggle> observable, Toggle oldValue, Toggle newValue) {
|
||||
if (mountPointCustomDir.equals(newValue) && Strings.isNullOrEmpty(vault.getVaultSettings().customMountPath().get())) {
|
||||
chooseCustomMountPoint();
|
||||
chooseCustomMountPointOrReset(oldValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ButtonBar?>
|
||||
<?import javafx.scene.control.CheckBox?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ListView?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
@@ -27,7 +26,7 @@
|
||||
<ListView fx:id="checksListView" VBox.vgrow="ALWAYS" minWidth="175" maxWidth="175"/>
|
||||
<VBox alignment="CENTER" visible="${!controller.mainRunStarted}" managed="${!controller.mainRunStarted}" HBox.hgrow="ALWAYS" spacing="12">
|
||||
<Label text="%health.checkList.description" wrapText="true"/>
|
||||
<HBox alignment="CENTER">
|
||||
<HBox alignment="CENTER" spacing="6">
|
||||
<Button onAction="#selectAllChecks" text="%health.checkList.selectAllButton" />
|
||||
<Button onAction="#deselectAllChecks" text="%health.checkList.deselectAllButton" />
|
||||
</HBox>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</padding>
|
||||
|
||||
<StackPane minWidth="20" minHeight="20" alignment="CENTER">
|
||||
<CheckBox fx:id="forRunSelectedCheckBox" visible="${controller.checkRunnable}" />
|
||||
<CheckBox fx:id="checkbox" visible="${controller.checkRunnable}"/>
|
||||
<CheckStateIconView check="${controller.check}" glyphSize="20" visible="${!controller.checkRunnable}"/>
|
||||
</StackPane>
|
||||
<Label text="${controller.checkName}"/>
|
||||
|
||||
@@ -13,9 +13,14 @@ generic.button.done=Κλείσιμο
|
||||
generic.button.next=Επόμενο
|
||||
generic.button.print=Εκτύπωση
|
||||
## Error
|
||||
generic.error.title=Σφάλμα %s
|
||||
generic.error.instruction=Ωχ! Το Cryptomator δεν περίμενε να συμβεί αυτό. Μπορείτε να αναζητήσετε υπάρχουσες λύσεις για αυτό το σφάλμα. Ή εάν δεν έχει αναφερθεί ακόμα, μη διστάσετε να το κάνετε.
|
||||
generic.error.hyperlink.lookup=Αναζήτηση αυτού του σφάλματος
|
||||
generic.error.hyperlink.report=Αναφέρετε αυτό το σφάλμα
|
||||
generic.error.technicalDetails=Λεπτομέρειες:
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Vault
|
||||
defaults.vault.vaultName=Κρύπτη
|
||||
|
||||
# Tray Menu
|
||||
traymenu.showMainWindow=Εμφάνιση
|
||||
@@ -27,34 +32,34 @@ traymenu.vault.lock=Κλείδωμα
|
||||
traymenu.vault.reveal=Αποκάλυψη
|
||||
|
||||
# Add Vault Wizard
|
||||
addvaultwizard.title=Προσθήκη Vault
|
||||
addvaultwizard.title=Προσθήκη Κρύπτης
|
||||
## Welcome
|
||||
addvaultwizard.welcome.newButton=Δημιουργία νέου Vault
|
||||
addvaultwizard.welcome.existingButton=Άνοιγμα υπάρχοντος Vault
|
||||
addvaultwizard.welcome.newButton=Δημιουργία Νέας Κρύπτης
|
||||
addvaultwizard.welcome.existingButton=Άνοιγμα Υπάρχοντος Κρύπτης
|
||||
## New
|
||||
### Name
|
||||
addvaultwizard.new.nameInstruction=Διαλέξτε ένα όνομα για το vault
|
||||
addvaultwizard.new.namePrompt=Όνομα Vault
|
||||
addvaultwizard.new.nameInstruction=Διαλέξτε ένα όνομα για την κρύπτη
|
||||
addvaultwizard.new.namePrompt=Όνομα Κρύπτης
|
||||
### Location
|
||||
addvaultwizard.new.locationInstruction=Που θα αποθηκεύσει το Cryptomator τα κωδικοποιημένα αρχεία του vault σου;
|
||||
addvaultwizard.new.locationInstruction=Που θα πρέπει να αποθηκεύσει το Cryptomator τα κωδικοποιημένα αρχεία της κρύπτης σου;
|
||||
addvaultwizard.new.locationLabel=Θέση αποθήκευσης
|
||||
addvaultwizard.new.locationPrompt=…
|
||||
addvaultwizard.new.directoryPickerLabel=Προσαρμοσμένη τοποθεσία
|
||||
addvaultwizard.new.directoryPickerButton=Επιλογή…
|
||||
addvaultwizard.new.directoryPickerTitle=Επιλογή φακέλου
|
||||
addvaultwizard.new.fileAlreadyExists=Ένα αρχείο ή φάκελος με το όνομα του vault υπάρχει ήδη
|
||||
addvaultwizard.new.fileAlreadyExists=Ένα αρχείο ή φάκελος με το όνομα της κρύπτης υπάρχει ήδη
|
||||
addvaultwizard.new.locationDoesNotExist=Στην καθορισμένη διαδρομή δεν υπάρχει ή δεν μπορεί να προσπελαστεί ένας φάκελος
|
||||
addvaultwizard.new.locationIsNotWritable=Δεν υπάρχει πρόσβαση εγγραφής στην καθορισμένη διαδρομή
|
||||
addvaultwizard.new.locationIsOk=Κατάλληλη τοποθεσία για το vault σας
|
||||
addvaultwizard.new.invalidName=Λάθος όνομα vault. Παρακαλώ χρησιμοποιείστε ένα κανονικό όνομα φακέλου.
|
||||
addvaultwizard.new.locationIsOk=Κατάλληλη τοποθεσία για την κρύπτη σας
|
||||
addvaultwizard.new.invalidName=Λάθος όνομα κρύπτης. Παρακαλώ χρησιμοποιείστε ένα κανονικό όνομα φακέλου.
|
||||
### Password
|
||||
addvaultwizard.new.createVaultBtn=Δημιουργία Vault
|
||||
addvaultwizard.new.createVaultBtn=Δημιουργία Κρύπτης
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=Δεν θα μπορείτε να έχετε πρόσβαση στα δεδομένα σας χωρίς τον κωδικό σας. Θέλετε να δημιουργηθεί ένα κλειδί ανάκτησης στην περίπτωση που χάσετε τον κωδικό σας;
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=Ναι παρακαλώ, καλύτερα ασφαλής παρά λυπημένος
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=Όχι ευχαριστώ, δεν θα χάσω τον κωδικό μου
|
||||
### Information
|
||||
addvault.new.readme.storageLocation.fileName=ΣΗΜΑΝΤΙΚΟ.rtf
|
||||
addvault.new.readme.storageLocation.1=ΑΡΧΕΙΑ VAULT
|
||||
addvault.new.readme.storageLocation.1=ΑΡΧΕΙΑ ΚΡΥΠΤΗΣ
|
||||
addvault.new.readme.storageLocation.2=Αυτή είναι η τοποθεσία του vault σας.
|
||||
addvault.new.readme.storageLocation.3=ΜΗΝ
|
||||
addvault.new.readme.storageLocation.4=αλλάξετε οποιοδήποτε αρχείο σε αυτό το φάκελο ή
|
||||
@@ -80,7 +85,7 @@ addvaultwizard.success.unlockNow=Ξεκλείδωμα τώρα
|
||||
# Remove Vault
|
||||
removeVault.title=Διαγραφή Vault
|
||||
removeVault.information=Το Cryptomator θα ξεχάσει αυτό το vault. Μπορείτε να το προσθέσετε ξανά αργότερα. Δεν θα διαγραφούν τα κωδικοποιημένα αρχεία σας από τον σκληρό σας δίσκο.
|
||||
removeVault.confirmBtn=Διαγραφή Vault
|
||||
removeVault.confirmBtn=Διαγραφή Κρύπτης
|
||||
|
||||
# Change Password
|
||||
changepassword.title=Αλλαγή κωδικού πρόσβασης
|
||||
@@ -265,7 +270,7 @@ main.vaultlist.contextMenu.unlock=Ξεκλείδωμα…
|
||||
main.vaultlist.contextMenu.unlockNow=Ξεκλείδωμα τώρα
|
||||
main.vaultlist.contextMenu.vaultoptions=Εμφάνιση επιλογών Vault
|
||||
main.vaultlist.contextMenu.reveal=Αποκάλυψη εικονικού δίσκου
|
||||
main.vaultlist.addVaultBtn=Προσθήκη Vault
|
||||
main.vaultlist.addVaultBtn=Προσθήκη Κρύπτης
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Ευχαριστούμε που επιλέξατε το Cryptomator για να προστατεύσετε τα αρχεία σας. Αν χρειάζεστε οποιαδήποτε βοήθεια, ελέγξτε τους οδηγούς για αρχάριους:
|
||||
@@ -308,7 +313,7 @@ wrongFileAlert.link=Για παραπάνω βοήθεια, επισκεφτεί
|
||||
# Vault Options
|
||||
## General
|
||||
vaultOptions.general=Γενικά
|
||||
vaultOptions.general.vaultName=Όνομα Vault
|
||||
vaultOptions.general.vaultName=Όνομα Κρύπτης
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Κλείδωμα όταν παραμένει σε αδράνεια για
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=λεπτά
|
||||
vaultOptions.general.unlockAfterStartup=Ξεκλείδωμα vault όταν ξεκινά το Cryptomator
|
||||
|
||||
@@ -18,7 +18,7 @@ Cryptomator uses 40 third-party dependencies under the following licenses:
|
||||
- jnr-constants (com.github.jnr:jnr-constants:0.9.15 - http://github.com/jnr/jnr-constants)
|
||||
- jnr-ffi (com.github.jnr:jnr-ffi:2.1.12 - http://github.com/jnr/jnr-ffi)
|
||||
- Gson (com.google.code.gson:gson:2.8.8 - https://github.com/google/gson/gson)
|
||||
- Dagger (com.google.dagger:dagger:2.38.1 - https://github.com/google/dagger)
|
||||
- Dagger (com.google.dagger:dagger:2.39 - https://github.com/google/dagger)
|
||||
- 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:31.0-jre - https://github.com/google/guava)
|
||||
- Apache Commons CLI (commons-cli:commons-cli:1.4 - http://commons.apache.org/proper/commons-cli/)
|
||||
|
||||
Reference in New Issue
Block a user