mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-09-22 16:04:28 +00:00
Compare commits
25
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
29038a679f | ||
|
|
2e042423d0 | ||
|
|
e08c2b7dc3 | ||
|
|
d5d0589dec | ||
|
|
a760edcab9 | ||
|
|
a759455473 | ||
|
|
50d2f16f71 | ||
|
|
8afa09007b | ||
|
|
194f373c08 | ||
|
|
5f11e1aa8b | ||
|
|
0ac1b406b7 | ||
|
|
ade2db7cc0 | ||
|
|
eb911aeb6c | ||
|
|
a58259d4f0 | ||
|
|
963a731202 | ||
|
|
5ea0fc4b6f | ||
|
|
4becdf7e1e | ||
|
|
8ab8798381 | ||
|
|
c3f8fa1662 | ||
|
|
59d019f34a | ||
|
|
ee99e9994e | ||
|
|
019b7ac643 | ||
|
|
7392a99da5 | ||
|
|
e909269ae0 | ||
|
|
0ddd6d767d |
+25
-53
@@ -2,70 +2,49 @@ language: java
|
|||||||
sudo: false
|
sudo: false
|
||||||
jdk:
|
jdk:
|
||||||
- oraclejdk10
|
- oraclejdk10
|
||||||
branches:
|
|
||||||
except:
|
|
||||||
- continuous # To avoid infinite loops, as this tag is created by this Travis config
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
- $HOME/.m2
|
- $HOME/.m2
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- secure: "IfYURwZaDWuBDvyn47n0k1Zod/IQw1FF+CS5nnV08Q+NfC3vGGJMwV8m59XnbfwnWGxwvCaAbk4qP6s6+ijgZNKkvgfFMo3rfTok5zt43bIqgaFOANYV+OC/1c59gYD6ZUxhW5iNgMgU3qdsRtJuwSmfkVv/jKyLGfAbS4kN8BA=" # COVERITY_SCAN_TOKEN
|
|
||||||
- secure: "lV9OwUbHMrMpLUH1CY+Z4puLDdFXytudyPlG1eGRsesdpuG6KM3uQVz6uAtf6lrU8DRbMM/T7ML+PmvQ4UoPPYLdLxESLLBat2qUPOIVBOhTSlCc7I0DmGy04CSvkeMy8dPaQC0ukgNiR7zwoNzfcpGRN/U9S8tziDruuHoZSrg=" # BINTRAY_API_KEY
|
- secure: "lV9OwUbHMrMpLUH1CY+Z4puLDdFXytudyPlG1eGRsesdpuG6KM3uQVz6uAtf6lrU8DRbMM/T7ML+PmvQ4UoPPYLdLxESLLBat2qUPOIVBOhTSlCc7I0DmGy04CSvkeMy8dPaQC0ukgNiR7zwoNzfcpGRN/U9S8tziDruuHoZSrg=" # BINTRAY_API_KEY
|
||||||
- secure: "oWFgRTVP6lyTa7qVxlvkpm20MtVc3BtmsNXQJS6bfg2A0o/iCQMNx7OD59BaafCLGRKvCcJVESiC8FlSylVMS7CDSyYu0gg70NUiIuHp4NBM5inFWYCy/PdQsCTzr5uvNG+rMFQpMFRaCV0FrfM3tLondcVkhsHL68l93Xoexx4=" # CODACY_PROJECT_TOKEN
|
- secure: "oWFgRTVP6lyTa7qVxlvkpm20MtVc3BtmsNXQJS6bfg2A0o/iCQMNx7OD59BaafCLGRKvCcJVESiC8FlSylVMS7CDSyYu0gg70NUiIuHp4NBM5inFWYCy/PdQsCTzr5uvNG+rMFQpMFRaCV0FrfM3tLondcVkhsHL68l93Xoexx4=" # CODACY_PROJECT_TOKEN
|
||||||
- secure: "zJxgytA2Ks5Xzv+7kUaUq+EBFNQw9Qec63lcMJVuXVWczjL16nKW1EzzV515ag+OWL46z3lEPForDhufw0VtFnNmaX68jkO0mp01eLrHApc1llN2Y/U8GBXfNNazN4+Kom4H+z/AO+wJr8EsKMMUczCdQ3APgd9uVI0hzXw/Z3M=" # GITHUB_API_KEY
|
- secure: "zJxgytA2Ks5Xzv+7kUaUq+EBFNQw9Qec63lcMJVuXVWczjL16nKW1EzzV515ag+OWL46z3lEPForDhufw0VtFnNmaX68jkO0mp01eLrHApc1llN2Y/U8GBXfNNazN4+Kom4H+z/AO+wJr8EsKMMUczCdQ3APgd9uVI0hzXw/Z3M=" # GITHUB_API_KEY
|
||||||
- secure: "PiH/o9MLOyPdjIwECIEfj3TuUxx7QB0CIs3o1WXjqb1PbDdHDbQyvswYit6xDw9NrJp/A+ov2k00jq+n+8fLTSd4AY21y5WiJN/ccCTWUuUiFhGxOyM37aeWAPAn4rUp7D7o8jLxEdpGZAfglIzaz+GCEQYxfV/w3FDwztViXgQ=" # GPG_PASSPHRASE
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- haveged
|
- haveged
|
||||||
coverity_scan:
|
|
||||||
project:
|
|
||||||
name: "cryptomator/cryptomator"
|
|
||||||
notification_email: sebastian.stenzel@cryptomator.org
|
|
||||||
build_command: "mvn -fmain/pom.xml clean test -DskipTests"
|
|
||||||
branch_pattern: release.*
|
|
||||||
install:
|
install:
|
||||||
- curl -o $HOME/.m2/settings.xml https://gist.githubusercontent.com/cryptobot/cf5fbd909c4782aaeeeb7c7f4a1a43da/raw/e60ee486e34ee0c79f89f947abe2c83b4290c6bb/settings.xml
|
- curl -o $HOME/.m2/settings.xml https://gist.githubusercontent.com/cryptobot/cf5fbd909c4782aaeeeb7c7f4a1a43da/raw/e60ee486e34ee0c79f89f947abe2c83b4290c6bb/settings.xml
|
||||||
- mvn -fmain/pom.xml clean install -DskipTests org.codehaus.mojo:versions-maven-plugin:help dependency:go-offline -Pcoverage,release # "clean install" needed until we can exclude artifacts currently in the reactor, see https://maven.apache.org/plugins/maven-dependency-plugin/go-offline-mojo.html#excludeReactor and https://issues.apache.org/jira/browse/MDEP-568
|
- mvn -fmain/pom.xml clean install -DskipTests org.codehaus.mojo:versions-maven-plugin:help dependency:go-offline -Pcoverage,release # "clean install" needed until we can exclude artifacts currently in the reactor, see https://maven.apache.org/plugins/maven-dependency-plugin/go-offline-mojo.html#excludeReactor and https://issues.apache.org/jira/browse/MDEP-568
|
||||||
script:
|
script:
|
||||||
- mvn --update-snapshots -fmain/pom.xml clean test verify -Pcoverage
|
- mvn --update-snapshots -fmain/pom.xml clean test verify -Pcoverage
|
||||||
|
after_success:
|
||||||
|
- curl -o ~/codacy-coverage-reporter.jar https://oss.sonatype.org/service/local/repositories/releases/content/com/codacy/codacy-coverage-reporter/4.0.2/codacy-coverage-reporter-4.0.2-assembly.jar
|
||||||
|
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/commons/target/site/jacoco/jacoco.xml --partial
|
||||||
|
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/keychain/target/site/jacoco/jacoco.xml --partial
|
||||||
|
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/ui/target/site/jacoco/jacoco.xml --partial
|
||||||
|
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar report -l Java -r main/launcher/target/site/jacoco/jacoco.xml --partial
|
||||||
|
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter.jar final
|
||||||
before_deploy:
|
before_deploy:
|
||||||
- |
|
|
||||||
if [[ $TRAVIS_BRANCH == "develop" ]] && [[ $TRAVIS_PULL_REQUEST == "false" ]]; then
|
|
||||||
CONTINUOUS_RELEASE_URL=`curl -s https://api.github.com/repos/cryptomator/cryptomator/releases/tags/continuous | jq -re '.url'`
|
|
||||||
echo "Existing continuous release: ${CONTINUOUS_RELEASE_URL}"
|
|
||||||
if [[ $CONTINUOUS_RELEASE_URL == http* ]]; then
|
|
||||||
curl -u cryptobot:$GITHUB_API_KEY -X DELETE $CONTINUOUS_RELEASE_URL
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
- |
|
- |
|
||||||
if [[ -n "$TRAVIS_TAG" ]]; then
|
if [[ -n "$TRAVIS_TAG" ]]; then
|
||||||
mvn -fmain/pom.xml org.codehaus.mojo:versions-maven-plugin:set -DnewVersion=$TRAVIS_TAG
|
mvn -fmain/pom.xml org.codehaus.mojo:versions-maven-plugin:set -DnewVersion=$TRAVIS_TAG
|
||||||
elif [[ $TRAVIS_BRANCH == "develop" ]] && [[ $TRAVIS_PULL_REQUEST == "false" ]]; then
|
elif [[ $TRAVIS_BRANCH == "develop" ]] && [[ $TRAVIS_PULL_REQUEST == "false" ]]; then
|
||||||
mvn -fmain/pom.xml org.codehaus.mojo:versions-maven-plugin:set -DnewVersion=SNAPSHOT-$(echo $TRAVIS_COMMIT | head -c7)
|
mvn -fmain/pom.xml org.codehaus.mojo:versions-maven-plugin:set -DnewVersion=SNAPSHOT-$(echo $TRAVIS_COMMIT | head -c7)
|
||||||
git tag -f continuous
|
|
||||||
git remote add gh https://cryptobot:${GITHUB_API_KEY}@github.com/cryptomator/cryptomator.git
|
|
||||||
git push -f gh continuous
|
|
||||||
git remote remove gh
|
|
||||||
fi
|
fi
|
||||||
- mvn -fmain/pom.xml clean package -Prelease -DskipTests
|
- mvn -fmain/pom.xml clean package -Prelease -DskipTests
|
||||||
- gpg --import 34C80F11.gpg
|
|
||||||
- gpg --detach-sign -a -u 34C80F11 --batch --passphrase ${GPG_PASSPHRASE} main/ant-kit/target/antkit.zip
|
|
||||||
deploy:
|
deploy:
|
||||||
- provider: releases # CONTINUOUS
|
- provider: script # SNAPSHOTS
|
||||||
prerelease: true
|
|
||||||
api-key: $GITHUB_API_KEY
|
|
||||||
tag_name: continuous
|
|
||||||
overwrite: true
|
|
||||||
file_glob: true
|
|
||||||
file:
|
|
||||||
- "main/uber-jar/target/Cryptomator-*.jar"
|
|
||||||
- "main/ant-kit/target/antkit.zip"
|
|
||||||
- "main/ant-kit/target/antkit.zip.asc"
|
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
name: Cryptomator continuous build
|
script: >-
|
||||||
body: Automatically built on $(date +'%F %T %Z').
|
curl -T main/ant-kit/target/antkit.zip
|
||||||
|
-u cryptobot:${BINTRAY_API_KEY}
|
||||||
|
-H "X-Bintray-Package:ant-kit"
|
||||||
|
-H "X-Bintray-Version:continuous"
|
||||||
|
-H "X-Bintray-Override:1"
|
||||||
|
-H "X-Bintray-Publish:1"
|
||||||
|
https://api.bintray.com/content/cryptomator/cryptomator/antkit-continuous.zip
|
||||||
on:
|
on:
|
||||||
repo: cryptomator/cryptomator
|
repo: cryptomator/cryptomator
|
||||||
branch: develop
|
branch: develop
|
||||||
@@ -75,27 +54,20 @@ deploy:
|
|||||||
api_key: $GITHUB_API_KEY
|
api_key: $GITHUB_API_KEY
|
||||||
file:
|
file:
|
||||||
- "main/uber-jar/target/Cryptomator-$TRAVIS_TAG.jar"
|
- "main/uber-jar/target/Cryptomator-$TRAVIS_TAG.jar"
|
||||||
- "main/ant-kit/target/antkit.zip"
|
|
||||||
- "main/ant-kit/target/antkit.zip.asc"
|
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
on:
|
on:
|
||||||
repo: cryptomator/cryptomator
|
repo: cryptomator/cryptomator
|
||||||
tags: true
|
tags: true
|
||||||
- provider: script
|
- provider: script
|
||||||
script: "curl -X POST -u cryptobot:${BINTRAY_API_KEY} -H 'Content-Type: application/json' -d '{\"name\": \"${TRAVIS_TAG}\", \"vcs_tag\": \"${TRAVIS_TAG}\"}' https://api.bintray.com/packages/cryptomator/cryptomator/cryptomator-win/versions"
|
skip_cleanup: true
|
||||||
|
script: >-
|
||||||
|
curl -T main/ant-kit/target/antkit.zip
|
||||||
|
-u cryptobot:${BINTRAY_API_KEY}
|
||||||
|
-H "X-Bintray-Package:ant-kit"
|
||||||
|
-H "X-Bintray-Version:${TRAVIS_TAG}"
|
||||||
|
-H "X-Bintray-Override:1"
|
||||||
|
-H "X-Bintray-Publish:1"
|
||||||
|
https://api.bintray.com/content/cryptomator/cryptomator/antkit-${TRAVIS_TAG}.zip
|
||||||
on:
|
on:
|
||||||
repo: cryptomator/cryptomator
|
repo: cryptomator/cryptomator
|
||||||
tags: true
|
tags: true
|
||||||
- provider: script
|
|
||||||
script: "curl -X POST -u cryptobot:${BINTRAY_API_KEY} -H 'Content-Type: application/json' -d '{\"name\": \"${TRAVIS_TAG}\", \"vcs_tag\": \"${TRAVIS_TAG}\"}' https://api.bintray.com/packages/cryptomator/cryptomator/cryptomator-osx/versions"
|
|
||||||
on:
|
|
||||||
repo: cryptomator/cryptomator
|
|
||||||
tags: true
|
|
||||||
after_script:
|
|
||||||
- jdk_switcher use oraclejdk8
|
|
||||||
- curl -o ~/codacy-coverage-reporter-assembly-latest.jar https://oss.sonatype.org/service/local/repositories/releases/content/com/codacy/codacy-coverage-reporter/4.0.1/codacy-coverage-reporter-4.0.1-assembly.jar
|
|
||||||
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter-assembly-latest.jar report -l Java -r main/commons/target/site/jacoco/jacoco.xml --partial
|
|
||||||
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter-assembly-latest.jar report -l Java -r main/keychain/target/site/jacoco/jacoco.xml --partial
|
|
||||||
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter-assembly-latest.jar report -l Java -r main/ui/target/site/jacoco/jacoco.xml --partial
|
|
||||||
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter-assembly-latest.jar report -l Java -r main/launcher/target/site/jacoco/jacoco.xml --partial
|
|
||||||
- $JAVA_HOME/bin/java -jar ~/codacy-coverage-reporter-assembly-latest.jar final
|
|
||||||
|
|||||||
@@ -1,57 +0,0 @@
|
|||||||
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
|
||||||
Version: GnuPG v1
|
|
||||||
|
|
||||||
lQc+BFdtLXQBEACzObgsAnfD2JInQ2J7BDv0kARpfDLaNIbQJxdnSUZxJk7yOGge
|
|
||||||
64juAzkIDBq4jE5fy3ErZCHaEceDj/mVaAvIlygrQ5KZGzFCi9dZXWjKW/VBvVm0
|
|
||||||
hPUbr0NWTEMnZSXCAL03L1LVjHjfSMRAwl9gClwlff9eKW8gVIG+2gww+wQO0xnY
|
|
||||||
y6DO6xEtfxxz+hoHsygEDh+qpONSoffEWhoTdn6qh6jJ72sOi6azGqFA30mxWM6i
|
|
||||||
YNp3zrH0q8IrjS1KqzaVg7frfeok5CtPZCgdfDNBDZA/Dfbu1BxpRWEleDMLJ6zz
|
|
||||||
lh4MIKC6RqDLjkzpygP+r7XKPve/hJ6nhH9FQZqASlrjn8KheaOcLqRgScDmC9Bq
|
|
||||||
VbxgieBUpVfjj8KclxiQh51jYHPIp/1QIgwvGEY5R1Wb8QzLnNkIxWzLDKzAG5XB
|
|
||||||
F1jb5JMmwoK9dwv+X9jiPh/xZpu6dh/5o13NQoSS6/p7AdlRXyDiaNtij0VOP1Jt
|
|
||||||
UlSCPp01peyLlKr8cDdI1UQadYpbmOzMplDKD2Yf+QSiyYdIYPPrfn8tNUyhbZH8
|
|
||||||
jATI26l1ctL133Gd9o0SYoBleNPNiQqhk9T0AcaOHujQDH/dM0+9c5w/zgPkDFpQ
|
|
||||||
S/uMFEq4yMok4AARd8qBRATrGYL2sFtB4HKEXtQw/SlaaGL41EJyvpZnbwARAQAB
|
|
||||||
/gMDAoX3Q3p+1aU3YKQDwxMDDPerrO0eT7bUGdo9A3usVEHSZ/uG2hcIHYpgW/j3
|
|
||||||
nNmaoLVDEgkbpPub7tlCr6+e26J53otqYXmLSWxx0jmFGivSVRi6nyZz+HUKObCE
|
|
||||||
qi70z3fEZ8rdL6Rj24UnIHvu+9RvoW8GeoNZoy7G/hC60mPSQUvU0DE9NfMUiZVx
|
|
||||||
nxXqLlR/rwOOIMmW5FFPCFRe18oRuLZ/+AcN+COjciGE3Fj7fpCybc2rKHKsKIO9
|
|
||||||
OkMYhuHZSSxjh8Dsfaen7XOwp5S+UashEhV5d9NaSvpEgdCtH+JwAHrXOlJrUU4x
|
|
||||||
faRkJsFoej6DXdRL/vr91d2eB60A5Qtg3H+/9n/TQW/Low487h/j6Lod6JxoeYKj
|
|
||||||
L+UmIGprSn4WZYwJiLfBB/v3T33e4cHGwMiGyU4aR8KhMsv5c8UmgDqpFkeY7Sqw
|
|
||||||
accRDujoaIZviSlPgLG7UneqVk8+WR4LFtCwKXFyObTpx9JyzPYUgIj49WzHDAK+
|
|
||||||
TnYJROiC+HGetaRRG0lSS6o6eoBe+YXBl0y84+htQ8YPojDdOZ68tNbfrWKbbxG7
|
|
||||||
uOWquP30+Z+J8tlL/3o4cK3x9rYNkroreR1dA9He9Jev3/z3GzuuZAmLSIRlh6Cd
|
|
||||||
yPbn1kOfEl3L03Ty5sriJwSgdindDm3wiem0E+lkUSIYvrGnCVOPTZsTqe9+0DJz
|
|
||||||
KW5bzzIJRaCylT0ec9GTSqGvMIpqoFH8yuf5k0w0pkjhLUqDEKxgnvn2lp79eKjn
|
|
||||||
W22VHecGv98867IS7Y150ch6YSHCAcfT2D2LFD8B9NmSI3ue8BOwfq5nLEtGYmyb
|
|
||||||
+PBHKUGxU77xlaywVyxA451ok/3plg9fiGwCU605zdpAfoO1TToIi9/m3EDoJ6iv
|
|
||||||
rmV+Ox9O30W7B5hdHNgt4Lkf1LmQNatokzTcKjNIOJiWpQLgu619tMEEtIuHE7rF
|
|
||||||
lQZsVBYLHpmAZo1oQ5AqCQXlTdAp6l/ZzSh2sU5dATAxAy3hCM8zs2AawBrr9jdP
|
|
||||||
Xsj1A5aSQN/V4cbRg0VS4C0i/Z5t3Q2r+casMv3KCe+4wIwfkzeMPxRCzC4svMvp
|
|
||||||
FjnwbBUi+I3PvrOpFtIQo0hXM5wNZFujqR2nR6A+NcvfDyM30UaAs8KeSDvrDZrk
|
|
||||||
bt4W4NOfDxJrQLEeej9lMuZdI1SaoRFM2C8DO1045FKcGBeQWj5rfG9szbF2Bjp5
|
|
||||||
ZXY7yJiBi4bnl7FlJbcB6yO1N21wDmzfULx7XyyNAxQNyfId0Mcd6QKgNBsHnWsq
|
|
||||||
YPxfyCuP21G4Rhfg+Dsp4N5EUdczKFfAz+JyMkLp902OE+dM6y8Qim5HgLWsfKnO
|
|
||||||
5A6O18um2aMSSC01hmSZB6bAVH2yF66K+eBp2B1QkStNOKBel4xM0XmXfPfSxyrF
|
|
||||||
+cjTtyThstjZWUGCujGCmNyvN49/ouMkLLvLrKcN/ecZN6+ZsJokIdo1KJ2RPNbm
|
|
||||||
2I5lEKh3piZLMAim5aWQClS+GfF9UVR1jpGisQlw//cE8Afax1XASOaAiXWa7PzR
|
|
||||||
dss9SfASndOjWiB2FAyDsvqtn5vyDE/1UQHxkyNZyrA8IhPk5ytn7WTz+rczM6ZQ
|
|
||||||
cME1EMdwBVsftS/S/oTDRX9ms/78QLMbBA7qB+aQ5atQGvsV9TrIWeAv2AlYa/f7
|
|
||||||
3AFhPPY1XmmhNo1IwHQmVMoUFCI73X8LZnHHIXVV6zyGFfC/+2EwFu/c1wm9y2ct
|
|
||||||
wvHXLSm1cQNAFvSSNMeeLhpXImy1UFwbUulYZ44d//zQtDZDcnlwdG9ib3QgKFJl
|
|
||||||
bGVhc2UgTWFuYWdlcikgPHJlbGVhc2VzQGNyeXB0b21hdG9yLm9yZz6JAj4EEwEC
|
|
||||||
ACgFAldtLXQCGwMFCQWjmoAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEFCc
|
|
||||||
nWM0yA8RW44P/2tDxJz5Ps4xYRIZie2gXZuK0Q6mpQATYX+5IZyAPBUdO5PmvwnI
|
|
||||||
CWI4uGxosJxtM9eL6iiOMIN6cxQdOMDQtdmeOW/CYM731TjtSNseIre/8Kc4O9uE
|
|
||||||
JxeeoT3Os7QUNUHMxLhfAI1gaJcYsSAJqvmLpiyOoH20n7FVxKv8B4JqG9b4zK8H
|
|
||||||
Ol9oQXMnfZA9XIYciOE2EpVD4xLg2+v4qbFaLM86ogA6xjdsImD+HqMO0icnh+Vo
|
|
||||||
Bf2EiwUieWemX6kBh37zuoQWWX1O+9BWvJ0Rk8xDWUM6dGU7Z/+cwXzz7UuXOxWT
|
|
||||||
YQlYLLgaC8HexyhrDAkOvcKOQpBYQIL0etovhzc1ZIrhBJeVE/5XsxdbLzc+adqB
|
|
||||||
SXhtrKeROklyyxaZng3nhNWGeIjPfBwXCXD7w/vbdX5KWIBhQg35s+sN3rnY099p
|
|
||||||
7eYmNS5+C/x/iTNi5rZpOKw7tvTMZxWXANYDBbfxEhecLF0C/K2oR7pelUIVGdJD
|
|
||||||
XprHXJj12FmCsfIRzbbJ7pLUy8wVDZBVjcKqo4Z4zlVDrISo74MD/hs91SWwa86f
|
|
||||||
aAt44g1aWKjXcqXjNvgKGe1GIadp6qjQT1z5kw/mg0xp0s2Plq12Z05q0zv38kcj
|
|
||||||
ynE4o6vDZcXMBHF02jH8QknXfhvQRyq/CHaQoV9pATCvuJBLML9udRd4
|
|
||||||
=BRSB
|
|
||||||
-----END PGP PRIVATE KEY BLOCK-----
|
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.4.0-beta2</version>
|
<version>1.4.0-beta3</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>ant-kit</artifactId>
|
<artifactId>ant-kit</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.4.0-beta2</version>
|
<version>1.4.0-beta3</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>commons</artifactId>
|
<artifactId>commons</artifactId>
|
||||||
<name>Cryptomator Commons</name>
|
<name>Cryptomator Commons</name>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import java.util.Arrays;
|
|||||||
public enum VolumeImpl {
|
public enum VolumeImpl {
|
||||||
WEBDAV("WebDAV"),
|
WEBDAV("WebDAV"),
|
||||||
FUSE("FUSE"),
|
FUSE("FUSE"),
|
||||||
DOKANY("DOKANY");
|
DOKANY("Dokany");
|
||||||
|
|
||||||
private String displayName;
|
private String displayName;
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.4.0-beta2</version>
|
<version>1.4.0-beta3</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>keychain</artifactId>
|
<artifactId>keychain</artifactId>
|
||||||
<name>System Keychain Access</name>
|
<name>System Keychain Access</name>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.4.0-beta2</version>
|
<version>1.4.0-beta3</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>launcher</artifactId>
|
<artifactId>launcher</artifactId>
|
||||||
<name>Cryptomator Launcher</name>
|
<name>Cryptomator Launcher</name>
|
||||||
|
|||||||
@@ -5,25 +5,23 @@
|
|||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.cryptomator.launcher;
|
package org.cryptomator.launcher;
|
||||||
|
|
||||||
|
import javafx.application.Application;
|
||||||
|
import javafx.stage.Stage;
|
||||||
import org.cryptomator.ui.controllers.MainController;
|
import org.cryptomator.ui.controllers.MainController;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import javafx.application.Application;
|
|
||||||
import javafx.application.Platform;
|
|
||||||
import javafx.fxml.FXMLLoader;
|
|
||||||
import javafx.stage.Stage;
|
|
||||||
|
|
||||||
public class MainApplication extends Application {
|
public class MainApplication extends Application {
|
||||||
|
|
||||||
private static final Logger LOG = LoggerFactory.getLogger(MainApplication.class);
|
private static final Logger LOG = LoggerFactory.getLogger(MainApplication.class);
|
||||||
private Stage primaryStage;
|
private Stage primaryStage;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) throws Exception {
|
public void start(Stage primaryStage) {
|
||||||
LOG.info("JavaFX application started.");
|
LOG.info("JavaFX application started.");
|
||||||
this.primaryStage = primaryStage;
|
this.primaryStage = primaryStage;
|
||||||
setupFXMLClassLoader();
|
primaryStage.setMinWidth(652.0);
|
||||||
|
primaryStage.setMinHeight(440.0);
|
||||||
|
|
||||||
LauncherModule launcherModule = new LauncherModule(this, primaryStage);
|
LauncherModule launcherModule = new LauncherModule(this, primaryStage);
|
||||||
LauncherComponent launcherComponent = DaggerLauncherComponent.builder() //
|
LauncherComponent launcherComponent = DaggerLauncherComponent.builder() //
|
||||||
@@ -34,30 +32,14 @@ public class MainApplication extends Application {
|
|||||||
|
|
||||||
MainController mainCtrl = launcherComponent.fxmlLoader().load("/fxml/main.fxml");
|
MainController mainCtrl = launcherComponent.fxmlLoader().load("/fxml/main.fxml");
|
||||||
mainCtrl.initStage(primaryStage);
|
mainCtrl.initStage(primaryStage);
|
||||||
|
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void stop() throws Exception {
|
public void stop() {
|
||||||
assert primaryStage != null;
|
assert primaryStage != null;
|
||||||
primaryStage.hide();
|
primaryStage.hide();
|
||||||
LOG.info("JavaFX application stopped.");
|
LOG.info("JavaFX application stopped.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// fix discussed in https://github.com/cryptomator/cryptomator/pull/29
|
|
||||||
private void setupFXMLClassLoader() {
|
|
||||||
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
|
|
||||||
FXMLLoader.setDefaultClassLoader(contextClassLoader);
|
|
||||||
Platform.runLater(() -> {
|
|
||||||
/*
|
|
||||||
* This fixes a bug on OSX where the magic file open handler leads to no context class loader being set in the AppKit (event)
|
|
||||||
* thread if the application is not started opening a file.
|
|
||||||
*/
|
|
||||||
if (Thread.currentThread().getContextClassLoader() == null) {
|
|
||||||
Thread.currentThread().setContextClassLoader(contextClassLoader);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-15
@@ -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.4.0-beta2</version>
|
<version>1.4.0-beta3</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>Cryptomator</name>
|
<name>Cryptomator</name>
|
||||||
|
|
||||||
@@ -24,20 +24,20 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
|
||||||
<!-- dependency versions -->
|
<!-- dependency versions -->
|
||||||
<cryptomator.cryptolib.version>1.2.0</cryptomator.cryptolib.version>
|
<cryptomator.cryptolib.version>1.2.1</cryptomator.cryptolib.version>
|
||||||
<cryptomator.cryptofs.version>1.5.2</cryptomator.cryptofs.version>
|
<cryptomator.cryptofs.version>1.6.0</cryptomator.cryptofs.version>
|
||||||
<cryptomator.jni.version>2.0.0</cryptomator.jni.version>
|
<cryptomator.jni.version>2.0.0</cryptomator.jni.version>
|
||||||
<cryptomator.fuse.version>0.1.5</cryptomator.fuse.version>
|
<cryptomator.fuse.version>1.0.0</cryptomator.fuse.version>
|
||||||
<cryptomator.dokany.version>0.1.2</cryptomator.dokany.version>
|
<cryptomator.dokany.version>1.0.0</cryptomator.dokany.version>
|
||||||
<cryptomator.webdav.version>1.0.4</cryptomator.webdav.version>
|
<cryptomator.webdav.version>1.0.5</cryptomator.webdav.version>
|
||||||
|
|
||||||
<commons-io.version>2.5</commons-io.version>
|
<commons-io.version>2.5</commons-io.version>
|
||||||
<commons-lang3.version>3.6</commons-lang3.version>
|
<commons-lang3.version>3.6</commons-lang3.version>
|
||||||
|
|
||||||
<easybind.version>1.0.3</easybind.version>
|
<easybind.version>1.0.3</easybind.version>
|
||||||
|
|
||||||
<guava.version>25.1-jre</guava.version>
|
<guava.version>26.0-jre</guava.version>
|
||||||
<dagger.version>2.16</dagger.version>
|
<dagger.version>2.17</dagger.version>
|
||||||
<gson.version>2.8.5</gson.version>
|
<gson.version>2.8.5</gson.version>
|
||||||
|
|
||||||
<slf4j.version>1.7.25</slf4j.version>
|
<slf4j.version>1.7.25</slf4j.version>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
<junit.version>4.12</junit.version>
|
<junit.version>4.12</junit.version>
|
||||||
<junit.hierarchicalrunner.version>4.12.1</junit.hierarchicalrunner.version>
|
<junit.hierarchicalrunner.version>4.12.1</junit.hierarchicalrunner.version>
|
||||||
<mockito.version>2.19.0</mockito.version>
|
<mockito.version>2.23.0</mockito.version>
|
||||||
<hamcrest.version>1.3</hamcrest.version> <!-- keep in sync with version required by JUnit -->
|
<hamcrest.version>1.3</hamcrest.version> <!-- keep in sync with version required by JUnit -->
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
@@ -288,7 +288,7 @@
|
|||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.jacoco</groupId>
|
<groupId>org.jacoco</groupId>
|
||||||
<artifactId>jacoco-maven-plugin</artifactId>
|
<artifactId>jacoco-maven-plugin</artifactId>
|
||||||
<version>0.8.1</version>
|
<version>0.8.2</version>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
<id>prepare-agent</id>
|
<id>prepare-agent</id>
|
||||||
@@ -315,15 +315,11 @@
|
|||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.7.0</version>
|
<version>3.8.0</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>10</source>
|
<source>10</source>
|
||||||
<target>10</target>
|
<target>10</target>
|
||||||
<release>10</release>
|
<release>10</release>
|
||||||
<compilerArgs>
|
|
||||||
<arg>--add-modules</arg>
|
|
||||||
<arg>jdk.incubator.httpclient</arg>
|
|
||||||
</compilerArgs>
|
|
||||||
<annotationProcessorPaths>
|
<annotationProcessorPaths>
|
||||||
<path>
|
<path>
|
||||||
<groupId>com.google.dagger</groupId>
|
<groupId>com.google.dagger</groupId>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.4.0-beta2</version>
|
<version>1.4.0-beta3</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>uber-jar</artifactId>
|
<artifactId>uber-jar</artifactId>
|
||||||
<name>Single über jar with all dependencies</name>
|
<name>Single über jar with all dependencies</name>
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.cryptomator</groupId>
|
<groupId>org.cryptomator</groupId>
|
||||||
<artifactId>main</artifactId>
|
<artifactId>main</artifactId>
|
||||||
<version>1.4.0-beta2</version>
|
<version>1.4.0-beta3</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>ui</artifactId>
|
<artifactId>ui</artifactId>
|
||||||
<name>Cryptomator GUI</name>
|
<name>Cryptomator GUI</name>
|
||||||
|
|||||||
@@ -217,7 +217,22 @@ public class MainController implements ViewController {
|
|||||||
|
|
||||||
private void gracefulShutdown() {
|
private void gracefulShutdown() {
|
||||||
vaults.filtered(Vault.NOT_LOCKED).forEach(Vault::prepareForShutdown);
|
vaults.filtered(Vault.NOT_LOCKED).forEach(Vault::prepareForShutdown);
|
||||||
Platform.runLater(Platform::exit);
|
if (!vaults.filtered(Vault.NOT_LOCKED).isEmpty()) {
|
||||||
|
ButtonType tryAgainButtonType = new ButtonType(localization.getString("main.gracefulShutdown.button.tryAgain"));
|
||||||
|
ButtonType forceShutdownButtonType = new ButtonType(localization.getString("main.gracefulShutdown.button.forceShutdown"));
|
||||||
|
Alert gracefulShutdownDialog = DialogBuilderUtil.buildGracefulShutdownDialog(
|
||||||
|
localization.getString("main.gracefulShutdown.dialog.title"), localization.getString("main.gracefulShutdown.dialog.header"), localization.getString("main.gracefulShutdown.dialog.content"),
|
||||||
|
forceShutdownButtonType, forceShutdownButtonType, tryAgainButtonType);
|
||||||
|
|
||||||
|
Optional<ButtonType> choice = gracefulShutdownDialog.showAndWait();
|
||||||
|
choice.ifPresent(btnType -> {
|
||||||
|
if (tryAgainButtonType.equals(btnType)) {
|
||||||
|
gracefulShutdown();
|
||||||
|
} else if (forceShutdownButtonType.equals(btnType)) {
|
||||||
|
Platform.runLater(Platform::exit);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadFont(String resourcePath) {
|
private void loadFont(String resourcePath) {
|
||||||
|
|||||||
@@ -8,17 +8,13 @@
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
package org.cryptomator.ui.controllers;
|
package org.cryptomator.ui.controllers;
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import javax.inject.Named;
|
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
import com.google.common.base.CharMatcher;
|
import com.google.common.base.CharMatcher;
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
|
import javafx.beans.Observable;
|
||||||
import javafx.beans.binding.Bindings;
|
import javafx.beans.binding.Bindings;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.Group;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.CheckBox;
|
import javafx.scene.control.CheckBox;
|
||||||
@@ -26,13 +22,18 @@ import javafx.scene.control.ChoiceBox;
|
|||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.input.KeyEvent;
|
import javafx.scene.input.KeyEvent;
|
||||||
import javafx.scene.layout.GridPane;
|
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.util.StringConverter;
|
import javafx.util.StringConverter;
|
||||||
import org.apache.commons.lang3.SystemUtils;
|
import org.apache.commons.lang3.SystemUtils;
|
||||||
import org.cryptomator.common.settings.VolumeImpl;
|
|
||||||
import org.cryptomator.common.settings.Settings;
|
import org.cryptomator.common.settings.Settings;
|
||||||
|
import org.cryptomator.common.settings.VolumeImpl;
|
||||||
import org.cryptomator.ui.l10n.Localization;
|
import org.cryptomator.ui.l10n.Localization;
|
||||||
|
import org.cryptomator.ui.model.Volume;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Named;
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class SettingsController implements ViewController {
|
public class SettingsController implements ViewController {
|
||||||
@@ -48,16 +49,13 @@ public class SettingsController implements ViewController {
|
|||||||
this.localization = localization;
|
this.localization = localization;
|
||||||
this.settings = settings;
|
this.settings = settings;
|
||||||
this.applicationVersion = applicationVersion;
|
this.applicationVersion = applicationVersion;
|
||||||
|
this.webdavSettings = new Group();
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private CheckBox checkForUpdatesCheckbox;
|
private CheckBox checkForUpdatesCheckbox;
|
||||||
|
|
||||||
@FXML
|
private Group webdavSettings;
|
||||||
private GridPane webdavVolume;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
private GridPane fuseVolume;
|
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private Label portFieldLabel;
|
private Label portFieldLabel;
|
||||||
@@ -93,18 +91,21 @@ public class SettingsController implements ViewController {
|
|||||||
checkForUpdatesCheckbox.setSelected(settings.checkForUpdates().get() && !areUpdatesManagedExternally());
|
checkForUpdatesCheckbox.setSelected(settings.checkForUpdates().get() && !areUpdatesManagedExternally());
|
||||||
|
|
||||||
//NIOADAPTER
|
//NIOADAPTER
|
||||||
volume.getItems().addAll(getSupportedAdapters());
|
volume.getItems().addAll(Volume.getCurrentSupportedAdapters());
|
||||||
volume.setValue(settings.preferredVolumeImpl().get());
|
volume.setValue(settings.preferredVolumeImpl().get());
|
||||||
volume.setConverter(new NioAdapterImplStringConverter());
|
volume.setConverter(new NioAdapterImplStringConverter());
|
||||||
|
volume.valueProperty().addListener(this::setVisibilityGvfsElements);
|
||||||
|
|
||||||
//WEBDAV
|
//WEBDAV
|
||||||
webdavVolume.visibleProperty().bind(volume.valueProperty().isEqualTo(VolumeImpl.WEBDAV));
|
webdavSettings.visibleProperty().bind(volume.valueProperty().isEqualTo(VolumeImpl.WEBDAV));
|
||||||
webdavVolume.managedProperty().bind(webdavVolume.visibleProperty());
|
webdavSettings.managedProperty().bind(webdavSettings.visibleProperty());
|
||||||
prefGvfsScheme.managedProperty().bind(webdavVolume.visibleProperty());
|
prefGvfsScheme.managedProperty().bind(webdavSettings.visibleProperty());
|
||||||
prefGvfsSchemeLabel.managedProperty().bind(webdavVolume.visibleProperty());
|
prefGvfsSchemeLabel.managedProperty().bind(webdavSettings.visibleProperty());
|
||||||
portFieldLabel.managedProperty().bind(webdavVolume.visibleProperty());
|
portFieldLabel.managedProperty().bind(webdavSettings.visibleProperty());
|
||||||
changePortButton.managedProperty().bind(webdavVolume.visibleProperty());
|
portFieldLabel.visibleProperty().bind(webdavSettings.visibleProperty());
|
||||||
portField.managedProperty().bind(webdavVolume.visibleProperty());
|
changePortButton.managedProperty().bind(webdavSettings.visibleProperty());
|
||||||
|
portField.managedProperty().bind(webdavSettings.visibleProperty());
|
||||||
|
portField.visibleProperty().bind(webdavSettings.visibleProperty());
|
||||||
portField.setText(String.valueOf(settings.port().intValue()));
|
portField.setText(String.valueOf(settings.port().intValue()));
|
||||||
portField.addEventFilter(KeyEvent.KEY_TYPED, this::filterNumericKeyEvents);
|
portField.addEventFilter(KeyEvent.KEY_TYPED, this::filterNumericKeyEvents);
|
||||||
changePortButton.visibleProperty().bind(settings.port().asString().isNotEqualTo(portField.textProperty()));
|
changePortButton.visibleProperty().bind(settings.port().asString().isNotEqualTo(portField.textProperty()));
|
||||||
@@ -115,10 +116,6 @@ public class SettingsController implements ViewController {
|
|||||||
prefGvfsSchemeLabel.setVisible(SystemUtils.IS_OS_LINUX);
|
prefGvfsSchemeLabel.setVisible(SystemUtils.IS_OS_LINUX);
|
||||||
prefGvfsScheme.setVisible(SystemUtils.IS_OS_LINUX);
|
prefGvfsScheme.setVisible(SystemUtils.IS_OS_LINUX);
|
||||||
|
|
||||||
//FUSE
|
|
||||||
fuseVolume.visibleProperty().bind(volume.valueProperty().isEqualTo(VolumeImpl.FUSE));
|
|
||||||
fuseVolume.managedProperty().bind(fuseVolume.visibleProperty());
|
|
||||||
|
|
||||||
debugModeCheckbox.setSelected(settings.debugMode().get());
|
debugModeCheckbox.setSelected(settings.debugMode().get());
|
||||||
|
|
||||||
settings.checkForUpdates().bind(checkForUpdatesCheckbox.selectedProperty());
|
settings.checkForUpdates().bind(checkForUpdatesCheckbox.selectedProperty());
|
||||||
@@ -127,11 +124,6 @@ public class SettingsController implements ViewController {
|
|||||||
settings.debugMode().bind(debugModeCheckbox.selectedProperty());
|
settings.debugMode().bind(debugModeCheckbox.selectedProperty());
|
||||||
}
|
}
|
||||||
|
|
||||||
private VolumeImpl[] getSupportedAdapters() {
|
|
||||||
// TODO: filter depending on supported drivers
|
|
||||||
return VolumeImpl.values();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Parent getRoot() {
|
public Parent getRoot() {
|
||||||
return root;
|
return root;
|
||||||
@@ -167,6 +159,11 @@ public class SettingsController implements ViewController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setVisibilityGvfsElements(Observable obs, Object oldValue, Object newValue) {
|
||||||
|
prefGvfsSchemeLabel.setVisible(SystemUtils.IS_OS_LINUX && ((VolumeImpl) newValue).getDisplayName().equals("WebDAV"));
|
||||||
|
prefGvfsScheme.setVisible(SystemUtils.IS_OS_LINUX && ((VolumeImpl) newValue).getDisplayName().equals("WebDAV"));
|
||||||
|
}
|
||||||
|
|
||||||
private boolean areUpdatesManagedExternally() {
|
private boolean areUpdatesManagedExternally() {
|
||||||
return Boolean.parseBoolean(System.getProperty("cryptomator.updatesManagedExternally", "false"));
|
return Boolean.parseBoolean(System.getProperty("cryptomator.updatesManagedExternally", "false"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,10 +9,6 @@
|
|||||||
package org.cryptomator.ui.controllers;
|
package org.cryptomator.ui.controllers;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.InvalidPathException;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.nio.file.Paths;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -22,7 +18,6 @@ import java.util.concurrent.ExecutorService;
|
|||||||
import com.google.common.base.CharMatcher;
|
import com.google.common.base.CharMatcher;
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.beans.binding.Bindings;
|
|
||||||
import javafx.beans.value.ChangeListener;
|
import javafx.beans.value.ChangeListener;
|
||||||
import javafx.beans.value.ObservableValue;
|
import javafx.beans.value.ObservableValue;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
@@ -39,7 +34,6 @@ import javafx.scene.control.ProgressIndicator;
|
|||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.input.KeyEvent;
|
import javafx.scene.input.KeyEvent;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.HBox;
|
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import javafx.util.StringConverter;
|
import javafx.util.StringConverter;
|
||||||
import org.apache.commons.lang3.CharUtils;
|
import org.apache.commons.lang3.CharUtils;
|
||||||
@@ -51,6 +45,7 @@ import org.cryptomator.cryptolib.api.InvalidPassphraseException;
|
|||||||
import org.cryptomator.cryptolib.api.UnsupportedVaultFormatException;
|
import org.cryptomator.cryptolib.api.UnsupportedVaultFormatException;
|
||||||
import org.cryptomator.frontend.webdav.ServerLifecycleException;
|
import org.cryptomator.frontend.webdav.ServerLifecycleException;
|
||||||
import org.cryptomator.keychain.KeychainAccess;
|
import org.cryptomator.keychain.KeychainAccess;
|
||||||
|
import org.cryptomator.ui.model.InvalidSettingsException;
|
||||||
import org.cryptomator.ui.controls.SecPasswordField;
|
import org.cryptomator.ui.controls.SecPasswordField;
|
||||||
import org.cryptomator.ui.l10n.Localization;
|
import org.cryptomator.ui.l10n.Localization;
|
||||||
import org.cryptomator.ui.model.Vault;
|
import org.cryptomator.ui.model.Vault;
|
||||||
@@ -122,18 +117,12 @@ public class UnlockController implements ViewController {
|
|||||||
@FXML
|
@FXML
|
||||||
private CheckBox useOwnMountPath;
|
private CheckBox useOwnMountPath;
|
||||||
|
|
||||||
@FXML
|
|
||||||
private HBox mountPathBox;
|
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private Label mountPathLabel;
|
private Label mountPathLabel;
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private TextField mountPath;
|
private TextField mountPath;
|
||||||
|
|
||||||
@FXML
|
|
||||||
private Button changeMountPathButton;
|
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
private ProgressIndicator progressIndicator;
|
private ProgressIndicator progressIndicator;
|
||||||
|
|
||||||
@@ -161,13 +150,10 @@ public class UnlockController implements ViewController {
|
|||||||
savePassword.setDisable(!keychainAccess.isPresent());
|
savePassword.setDisable(!keychainAccess.isPresent());
|
||||||
unlockAfterStartup.disableProperty().bind(savePassword.disabledProperty().or(savePassword.selectedProperty().not()));
|
unlockAfterStartup.disableProperty().bind(savePassword.disabledProperty().or(savePassword.selectedProperty().not()));
|
||||||
|
|
||||||
mountPathLabel.setVisible(false);
|
mountPathLabel.visibleProperty().bind(useOwnMountPath.selectedProperty());
|
||||||
mountPathBox.visibleProperty().bind(mountPathLabel.visibleProperty());
|
mountPath.visibleProperty().bind(useOwnMountPath.selectedProperty());
|
||||||
mountPathBox.managedProperty().bind(mountPathLabel.managedProperty());
|
mountPath.managedProperty().bind(useOwnMountPath.selectedProperty());
|
||||||
mountPath.visibleProperty().bind(mountPathLabel.visibleProperty());
|
mountPath.textProperty().addListener(this::mountPathDidChange);
|
||||||
mountPath.managedProperty().bind(mountPathLabel.managedProperty());
|
|
||||||
changeMountPathButton.visibleProperty().bind(mountPathLabel.visibleProperty());
|
|
||||||
changeMountPathButton.managedProperty().bind(mountPathLabel.managedProperty());
|
|
||||||
|
|
||||||
if (SystemUtils.IS_OS_WINDOWS) {
|
if (SystemUtils.IS_OS_WINDOWS) {
|
||||||
winDriveLetter.setConverter(new WinDriveLetterLabelConverter());
|
winDriveLetter.setConverter(new WinDriveLetterLabelConverter());
|
||||||
@@ -175,7 +161,7 @@ public class UnlockController implements ViewController {
|
|||||||
useOwnMountPath.setManaged(false);
|
useOwnMountPath.setManaged(false);
|
||||||
mountPathLabel.setManaged(false);
|
mountPathLabel.setManaged(false);
|
||||||
//dirty cheat
|
//dirty cheat
|
||||||
mountPathBox.setMouseTransparent(true);
|
mountPath.setMouseTransparent(true);
|
||||||
} else {
|
} else {
|
||||||
winDriveLetterLabel.setVisible(false);
|
winDriveLetterLabel.setVisible(false);
|
||||||
winDriveLetterLabel.setManaged(false);
|
winDriveLetterLabel.setManaged(false);
|
||||||
@@ -187,10 +173,9 @@ public class UnlockController implements ViewController {
|
|||||||
mountPathLabel.setManaged(false);
|
mountPathLabel.setManaged(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
changeMountPathButton.disableProperty().bind(Bindings.createBooleanBinding(this::isDirVaild, mountPath.textProperty()).not());
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Parent getRoot() {
|
public Parent getRoot() {
|
||||||
return root;
|
return root;
|
||||||
@@ -252,11 +237,8 @@ public class UnlockController implements ViewController {
|
|||||||
vaultSubs = vaultSubs.and(EasyBind.subscribe(revealAfterMount.selectedProperty(), vaultSettings.revealAfterMount()::set));
|
vaultSubs = vaultSubs.and(EasyBind.subscribe(revealAfterMount.selectedProperty(), vaultSettings.revealAfterMount()::set));
|
||||||
vaultSubs = vaultSubs.and(EasyBind.subscribe(useOwnMountPath.selectedProperty(), vaultSettings.usesIndividualMountPath()::set));
|
vaultSubs = vaultSubs.and(EasyBind.subscribe(useOwnMountPath.selectedProperty(), vaultSettings.usesIndividualMountPath()::set));
|
||||||
|
|
||||||
changeMountPathButton.visibleProperty().bind(
|
|
||||||
vaultSettings.individualMountPath().isNotEqualTo(mountPath.textProperty())
|
|
||||||
);
|
|
||||||
mountPath.textProperty().setValue(vaultSettings.individualMountPath().getValueSafe());
|
mountPath.textProperty().setValue(vaultSettings.individualMountPath().getValueSafe());
|
||||||
mountPathLabel.visibleProperty().bind(useOwnMountPath.selectedProperty());
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,28 +266,6 @@ public class UnlockController implements ViewController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
|
||||||
private void didClickchangeMountPathButton(ActionEvent event) {
|
|
||||||
assert isDirVaild();
|
|
||||||
vault.setMountPath(mountPath.getText());
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isDirVaild() {
|
|
||||||
try {
|
|
||||||
if (!mountPath.textProperty().isEmpty().get()) {
|
|
||||||
Path p = Paths.get(mountPath.textProperty().get());
|
|
||||||
return Files.isDirectory(p) && Files.isReadable(p) && Files.isWritable(p) && Files.isExecutable(p);
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (InvalidPathException e) {
|
|
||||||
LOG.info("Invalid path");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private void filterAlphanumericKeyEvents(KeyEvent t) {
|
private void filterAlphanumericKeyEvents(KeyEvent t) {
|
||||||
if (!Strings.isNullOrEmpty(t.getCharacter()) && !ALPHA_NUMERIC_MATCHER.matchesAllOf(t.getCharacter())) {
|
if (!Strings.isNullOrEmpty(t.getCharacter()) && !ALPHA_NUMERIC_MATCHER.matchesAllOf(t.getCharacter())) {
|
||||||
t.consume();
|
t.consume();
|
||||||
@@ -321,6 +281,10 @@ public class UnlockController implements ViewController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void mountPathDidChange(ObservableValue<? extends String> property, String oldValue, String newValue) {
|
||||||
|
vault.setIndividualMountPath(newValue);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts 'C' to "C:" to translate between model and GUI.
|
* Converts 'C' to "C:" to translate between model and GUI.
|
||||||
*/
|
*/
|
||||||
@@ -420,6 +384,7 @@ public class UnlockController implements ViewController {
|
|||||||
@FXML
|
@FXML
|
||||||
private void didClickUnlockButton(ActionEvent event) {
|
private void didClickUnlockButton(ActionEvent event) {
|
||||||
advancedOptions.setDisable(true);
|
advancedOptions.setDisable(true);
|
||||||
|
advancedOptions.setVisible(false);
|
||||||
progressIndicator.setVisible(true);
|
progressIndicator.setVisible(true);
|
||||||
|
|
||||||
CharSequence password = passwordField.getCharacters();
|
CharSequence password = passwordField.getCharacters();
|
||||||
@@ -432,6 +397,10 @@ public class UnlockController implements ViewController {
|
|||||||
messageText.setText(null);
|
messageText.setText(null);
|
||||||
downloadsPageLink.setVisible(false);
|
downloadsPageLink.setVisible(false);
|
||||||
listener.ifPresent(lstnr -> lstnr.didUnlock(vault));
|
listener.ifPresent(lstnr -> lstnr.didUnlock(vault));
|
||||||
|
}).onError(InvalidSettingsException.class, e -> {
|
||||||
|
messageText.setText(localization.getString("unlock.errorMessage.invalidMountPath"));
|
||||||
|
advancedOptions.setVisible(true);
|
||||||
|
mountPath.setStyle("-fx-border-color: red;");
|
||||||
}).onError(InvalidPassphraseException.class, e -> {
|
}).onError(InvalidPassphraseException.class, e -> {
|
||||||
messageText.setText(localization.getString("unlock.errorMessage.wrongPassword"));
|
messageText.setText(localization.getString("unlock.errorMessage.wrongPassword"));
|
||||||
passwordField.selectAll();
|
passwordField.selectAll();
|
||||||
@@ -451,14 +420,17 @@ public class UnlockController implements ViewController {
|
|||||||
LOG.error("Unlock failed for technical reasons.", e);
|
LOG.error("Unlock failed for technical reasons.", e);
|
||||||
messageText.setText(localization.getString("unlock.errorMessage.unlockFailed"));
|
messageText.setText(localization.getString("unlock.errorMessage.unlockFailed"));
|
||||||
}).onError(Exception.class, e -> {
|
}).onError(Exception.class, e -> {
|
||||||
LOG.error("Unlock failed for technical reasons.", e);
|
LOG.error("Unlock failed for technical reasons.", e);
|
||||||
messageText.setText(localization.getString("unlock.errorMessage.unlockFailed"));
|
messageText.setText(localization.getString("unlock.errorMessage.unlockFailed"));
|
||||||
}).andFinally(() -> {
|
}).andFinally(() -> {
|
||||||
if (!savePassword.isSelected()) {
|
if (!savePassword.isSelected()) {
|
||||||
passwordField.swipe();
|
passwordField.swipe();
|
||||||
}
|
}
|
||||||
advancedOptions.setDisable(false);
|
advancedOptions.setDisable(false);
|
||||||
progressIndicator.setVisible(false);
|
progressIndicator.setVisible(false);
|
||||||
|
if (advancedOptions.isVisible()) { //dirty programming, but otherwise the focus is wrong
|
||||||
|
mountPath.requestFocus();
|
||||||
|
}
|
||||||
}).runOnce(executor);
|
}).runOnce(executor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
package org.cryptomator.ui.model;
|
package org.cryptomator.ui.model;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import java.util.Iterator;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
|
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
import org.cryptomator.common.settings.VaultSettings;
|
import org.cryptomator.common.settings.VaultSettings;
|
||||||
import org.cryptomator.cryptofs.CryptoFileSystem;
|
import org.cryptomator.cryptofs.CryptoFileSystem;
|
||||||
import org.cryptomator.frontend.dokany.Mount;
|
import org.cryptomator.frontend.dokany.Mount;
|
||||||
import org.cryptomator.frontend.dokany.MountFactory;
|
import org.cryptomator.frontend.dokany.MountFactory;
|
||||||
|
import org.cryptomator.frontend.dokany.MountFailedException;
|
||||||
|
|
||||||
public class DokanyVolume implements Volume {
|
public class DokanyVolume implements Volume {
|
||||||
|
|
||||||
@@ -28,7 +31,7 @@ public class DokanyVolume implements Volume {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSupported() {
|
public boolean isSupported() {
|
||||||
return MountFactory.isApplicable();
|
return DokanyVolume.isSupportedStatic();
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: Drive letter 'A' as mount point is invalid in dokany. maybe we should do already here something against it
|
//TODO: Drive letter 'A' as mount point is invalid in dokany. maybe we should do already here something against it
|
||||||
@@ -39,22 +42,21 @@ public class DokanyVolume implements Volume {
|
|||||||
driveLetter = vaultSettings.winDriveLetter().get().charAt(0);
|
driveLetter = vaultSettings.winDriveLetter().get().charAt(0);
|
||||||
} else {
|
} else {
|
||||||
//auto assign drive letter
|
//auto assign drive letter
|
||||||
//TODO: can we assume the we have at least one free drive letter?
|
if (!windowsDriveLetters.getAvailableDriveLetters().isEmpty()) {
|
||||||
|
//this is a temporary fix for 'A' being an invalid drive letter
|
||||||
//this is a temporary fix for 'A' being an invalid drive letter
|
Set<Character> availableLettersWithoutA = Sets.difference(windowsDriveLetters.getAvailableDriveLetters(), Set.of('A'));
|
||||||
if(!windowsDriveLetters.getAvailableDriveLetters().isEmpty()){
|
driveLetter = availableLettersWithoutA.iterator().next();
|
||||||
Iterator<Character> winDriveLetterIt = windowsDriveLetters.getAvailableDriveLetters().iterator();
|
|
||||||
do{
|
|
||||||
driveLetter = winDriveLetterIt.next();
|
|
||||||
}while (winDriveLetterIt.hasNext() && driveLetter == 65);
|
|
||||||
// if (!windowsDriveLetters.getAvailableDriveLetters().isEmpty()) {
|
|
||||||
// driveLetter = windowsDriveLetters.getAvailableDriveLetters().iterator().next();
|
// driveLetter = windowsDriveLetters.getAvailableDriveLetters().iterator().next();
|
||||||
} else {
|
} else {
|
||||||
throw new VolumeException("No free drive letter available.");
|
throw new VolumeException("No free drive letter available.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String mountName = vaultSettings.mountName().get();
|
String mountName = vaultSettings.mountName().get();
|
||||||
this.mount = mountFactory.mount(fs.getPath("/"), driveLetter, mountName, FS_TYPE_NAME);
|
try {
|
||||||
|
this.mount = mountFactory.mount(fs.getPath("/"), Paths.get(driveLetter + ":\\") , mountName, FS_TYPE_NAME);
|
||||||
|
} catch (MountFailedException e) {
|
||||||
|
throw new VolumeException("Unable to mount Filesystem", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -69,4 +71,8 @@ public class DokanyVolume implements Volume {
|
|||||||
public void unmount() {
|
public void unmount() {
|
||||||
mount.close();
|
mount.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isSupportedStatic() {
|
||||||
|
return MountFactory.isApplicable();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,11 +60,10 @@ public class FuseVolume implements Volume {
|
|||||||
private String createDirIfNotExist(String prefix, String dirName) throws IOException {
|
private String createDirIfNotExist(String prefix, String dirName) throws IOException {
|
||||||
Path p = Paths.get(prefix, dirName + vaultSettings.getId());
|
Path p = Paths.get(prefix, dirName + vaultSettings.getId());
|
||||||
if (Files.isDirectory(p)) {
|
if (Files.isDirectory(p)) {
|
||||||
try(DirectoryStream<Path> emptyCheck = Files.newDirectoryStream(p)){
|
try (DirectoryStream<Path> emptyCheck = Files.newDirectoryStream(p)) {
|
||||||
if(emptyCheck.iterator().hasNext()){
|
if (emptyCheck.iterator().hasNext()) {
|
||||||
throw new DirectoryNotEmptyException("Mount point is not empty.");
|
throw new DirectoryNotEmptyException("Mount point is not empty.");
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
LOG.info("Directory already exists and is empty. Using it as mount point.");
|
LOG.info("Directory already exists and is empty. Using it as mount point.");
|
||||||
return p.toString();
|
return p.toString();
|
||||||
}
|
}
|
||||||
@@ -119,6 +118,10 @@ public class FuseVolume implements Volume {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSupported() {
|
public boolean isSupported() {
|
||||||
|
return FuseVolume.isSupportedStatic();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isSupportedStatic() {
|
||||||
return (SystemUtils.IS_OS_MAC_OSX || SystemUtils.IS_OS_LINUX) && FuseMountFactory.isFuseSupported();
|
return (SystemUtils.IS_OS_MAC_OSX || SystemUtils.IS_OS_LINUX) && FuseMountFactory.isFuseSupported();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package org.cryptomator.ui.model;
|
||||||
|
|
||||||
|
public class InvalidSettingsException extends RuntimeException {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -5,8 +5,8 @@
|
|||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.cryptomator.ui.model;
|
package org.cryptomator.ui.model;
|
||||||
|
|
||||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Singleton;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.FileVisitOption;
|
import java.nio.file.FileVisitOption;
|
||||||
import java.nio.file.FileVisitResult;
|
import java.nio.file.FileVisitResult;
|
||||||
@@ -19,11 +19,7 @@ import java.util.EnumSet;
|
|||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import com.google.common.io.BaseEncoding;
|
||||||
import javax.inject.Singleton;
|
|
||||||
|
|
||||||
import org.apache.commons.codec.binary.Base32;
|
|
||||||
import org.apache.commons.codec.binary.BaseNCodec;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.cryptomator.cryptolib.Cryptors;
|
import org.cryptomator.cryptolib.Cryptors;
|
||||||
import org.cryptomator.cryptolib.api.Cryptor;
|
import org.cryptomator.cryptolib.api.Cryptor;
|
||||||
@@ -32,6 +28,8 @@ import org.cryptomator.ui.l10n.Localization;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains the collective knowledge of all creatures who were alive during the development of vault format 3.
|
* Contains the collective knowledge of all creatures who were alive during the development of vault format 3.
|
||||||
* This class uses no external classes from the crypto or shortening layer by purpose, so we don't need legacy code inside these.
|
* This class uses no external classes from the crypto or shortening layer by purpose, so we don't need legacy code inside these.
|
||||||
@@ -50,7 +48,7 @@ class UpgradeVersion3to4 extends UpgradeStrategy {
|
|||||||
private static final String NEW_FOLDER_PREFIX = "0";
|
private static final String NEW_FOLDER_PREFIX = "0";
|
||||||
|
|
||||||
private final MessageDigest sha1 = MessageDigestSupplier.SHA1.get();
|
private final MessageDigest sha1 = MessageDigestSupplier.SHA1.get();
|
||||||
private final BaseNCodec base32 = new Base32();
|
private final BaseEncoding base32 = BaseEncoding.base32();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public UpgradeVersion3to4(Localization localization) {
|
public UpgradeVersion3to4(Localization localization) {
|
||||||
@@ -155,7 +153,7 @@ class UpgradeVersion3to4 extends UpgradeStrategy {
|
|||||||
String oldLongName = new String(Files.readAllBytes(oldMetadataFile), UTF_8);
|
String oldLongName = new String(Files.readAllBytes(oldMetadataFile), UTF_8);
|
||||||
if (oldLongName.endsWith(OLD_FOLDER_SUFFIX)) {
|
if (oldLongName.endsWith(OLD_FOLDER_SUFFIX)) {
|
||||||
String newLongName = NEW_FOLDER_PREFIX + StringUtils.removeEnd(oldLongName, OLD_FOLDER_SUFFIX);
|
String newLongName = NEW_FOLDER_PREFIX + StringUtils.removeEnd(oldLongName, OLD_FOLDER_SUFFIX);
|
||||||
String newCanonicalBase32 = base32.encodeAsString(sha1.digest(newLongName.getBytes(UTF_8)));
|
String newCanonicalBase32 = base32.encode(sha1.digest(newLongName.getBytes(UTF_8)));
|
||||||
String newCanonicalName = newCanonicalBase32 + LONG_FILENAME_EXT;
|
String newCanonicalName = newCanonicalBase32 + LONG_FILENAME_EXT;
|
||||||
Path newMetadataFile = metadataDir.resolve(newCanonicalName.substring(0, 2)).resolve(newCanonicalName.substring(2, 4)).resolve(newCanonicalName);
|
Path newMetadataFile = metadataDir.resolve(newCanonicalName.substring(0, 2)).resolve(newCanonicalName.substring(2, 4)).resolve(newCanonicalName);
|
||||||
String newName = newCanonicalBase32 + oldNameSuffix + LONG_FILENAME_EXT;
|
String newName = newCanonicalBase32 + oldNameSuffix + LONG_FILENAME_EXT;
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import javafx.beans.binding.Binding;
|
|||||||
import javafx.beans.property.ObjectProperty;
|
import javafx.beans.property.ObjectProperty;
|
||||||
import javafx.beans.property.ReadOnlyObjectProperty;
|
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import javafx.beans.property.StringProperty;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.SystemUtils;
|
import org.apache.commons.lang3.SystemUtils;
|
||||||
import org.cryptomator.common.LazyInitializer;
|
import org.cryptomator.common.LazyInitializer;
|
||||||
@@ -99,9 +98,12 @@ public class Vault {
|
|||||||
CryptoFileSystemProvider.changePassphrase(getPath(), MASTERKEY_FILENAME, oldPassphrase, newPassphrase);
|
CryptoFileSystemProvider.changePassphrase(getPath(), MASTERKEY_FILENAME, oldPassphrase, newPassphrase);
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void unlock(CharSequence passphrase) throws CryptoException, IOException, Volume.VolumeException {
|
public synchronized void unlock(CharSequence passphrase) throws InvalidSettingsException, CryptoException, IOException, Volume.VolumeException {
|
||||||
Platform.runLater(() -> state.set(State.PROCESSING));
|
Platform.runLater(() -> state.set(State.PROCESSING));
|
||||||
try {
|
try {
|
||||||
|
if (vaultSettings.usesIndividualMountPath().and(vaultSettings.individualMountPath().isEmpty()).get()) {
|
||||||
|
throw new InvalidSettingsException();
|
||||||
|
}
|
||||||
CryptoFileSystem fs = getCryptoFileSystem(passphrase);
|
CryptoFileSystem fs = getCryptoFileSystem(passphrase);
|
||||||
volume = volumeProvider.get();
|
volume = volumeProvider.get();
|
||||||
volume.mount(fs);
|
volume.mount(fs);
|
||||||
@@ -239,11 +241,11 @@ public class Vault {
|
|||||||
return vaultSettings.mountName().get();
|
return vaultSettings.mountName().get();
|
||||||
}
|
}
|
||||||
|
|
||||||
public StringProperty getMountPathProperty() {
|
public String getIndividualMountPath() {
|
||||||
return vaultSettings.individualMountPath();
|
return vaultSettings.individualMountPath().getValueSafe();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMountPath(String mountPath) {
|
public void setIndividualMountPath(String mountPath) {
|
||||||
vaultSettings.individualMountPath().set(mountPath);
|
vaultSettings.individualMountPath().set(mountPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
package org.cryptomator.ui.model;
|
package org.cryptomator.ui.model;
|
||||||
|
|
||||||
|
import org.cryptomator.common.settings.VolumeImpl;
|
||||||
import org.cryptomator.cryptofs.CryptoFileSystem;
|
import org.cryptomator.cryptofs.CryptoFileSystem;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Takes a Volume and usess it to mount an unlocked vault
|
* Takes a Volume and usess it to mount an unlocked vault
|
||||||
@@ -11,12 +13,12 @@ public interface Volume {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks in constant time whether this volume type is supported on the system running Cryptomator.
|
* Checks in constant time whether this volume type is supported on the system running Cryptomator.
|
||||||
|
*
|
||||||
* @return true if this volume can be mounted
|
* @return true if this volume can be mounted
|
||||||
*/
|
*/
|
||||||
boolean isSupported();
|
boolean isSupported();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @param fs
|
* @param fs
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
@@ -36,6 +38,21 @@ public interface Volume {
|
|||||||
throw new VolumeException("Operation not supported.");
|
throw new VolumeException("Operation not supported.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VolumeImpl[] getCurrentSupportedAdapters() {
|
||||||
|
return Stream.of(VolumeImpl.values()).filter(impl -> {
|
||||||
|
switch (impl) {
|
||||||
|
case WEBDAV:
|
||||||
|
return WebDavVolume.isSupportedStatic();
|
||||||
|
case DOKANY:
|
||||||
|
return DokanyVolume.isSupportedStatic();
|
||||||
|
case FUSE:
|
||||||
|
return FuseVolume.isSupportedStatic();
|
||||||
|
default:
|
||||||
|
return false;//throw new IllegalStateException("Adapter not implemented.");
|
||||||
|
}
|
||||||
|
}).toArray(VolumeImpl[]::new);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception thrown when a volume-specific command such as mount/unmount/reveal failed.
|
* Exception thrown when a volume-specific command such as mount/unmount/reveal failed.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -116,11 +116,16 @@ public class WebDavVolume implements Volume {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isSupported() {
|
public boolean isSupported() {
|
||||||
return true;
|
return WebDavVolume.isSupportedStatic();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean supportsForcedUnmount() {
|
public boolean supportsForcedUnmount() {
|
||||||
return mount != null && mount.forced().isPresent();
|
return mount != null && mount.forced().isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static boolean isSupportedStatic() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,10 @@ public class DialogBuilderUtil {
|
|||||||
return buildDialog(title, header, content, Alert.AlertType.CONFIRMATION, defaultButton, ButtonType.YES, ButtonType.NO);
|
return buildDialog(title, header, content, Alert.AlertType.CONFIRMATION, defaultButton, ButtonType.YES, ButtonType.NO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Alert buildGracefulShutdownDialog(String title, String header, String content, ButtonType defaultButton, ButtonType... buttons) {
|
||||||
|
return buildDialog(title, header, content, Alert.AlertType.WARNING, defaultButton, buttons);
|
||||||
|
}
|
||||||
|
|
||||||
private static Alert buildDialog(String title, String header, String content, Alert.AlertType type, ButtonType defaultButton, ButtonType... buttons) {
|
private static Alert buildDialog(String title, String header, String content, Alert.AlertType type, ButtonType defaultButton, ButtonType... buttons) {
|
||||||
Text contentText = new Text(content);
|
Text contentText = new Text(content);
|
||||||
contentText.setWrappingWidth(360.0);
|
contentText.setWrappingWidth(360.0);
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
Contributors:
|
Contributors:
|
||||||
Sebastian Stenzel - initial API and implementation
|
Sebastian Stenzel - initial API and implementation
|
||||||
-->
|
-->
|
||||||
<?import java.net.URL?>
|
|
||||||
<?import javafx.scene.layout.GridPane?>
|
<?import javafx.scene.layout.GridPane?>
|
||||||
<?import javafx.geometry.Insets?>
|
<?import javafx.geometry.Insets?>
|
||||||
<?import javafx.scene.layout.ColumnConstraints?>
|
<?import javafx.scene.layout.ColumnConstraints?>
|
||||||
@@ -45,21 +44,15 @@
|
|||||||
<ChoiceBox GridPane.rowIndex="2" GridPane.columnIndex="1" fx:id="volume" cacheShape="true" cache="true" />
|
<ChoiceBox GridPane.rowIndex="2" GridPane.columnIndex="1" fx:id="volume" cacheShape="true" cache="true" />
|
||||||
|
|
||||||
<!-- Row 3 Alt 1-->
|
<!-- Row 3 Alt 1-->
|
||||||
<GridPane fx:id="webdavVolume" vgap="12.0" hgap="12.0" GridPane.rowIndex="3" GridPane.columnIndex="0" GridPane.columnSpan="2" visible="true" cacheShape="true" cache="true">
|
<Label fx:id="portFieldLabel" GridPane.rowIndex="3" GridPane.columnIndex="0" text="%settings.webdav.port.label" cacheShape="true" cache="true" />
|
||||||
<Label fx:id="portFieldLabel" GridPane.rowIndex="3" GridPane.columnIndex="0" text="%settings.webdav.port.label" cacheShape="true" cache="true" />
|
<HBox GridPane.rowIndex="3" GridPane.columnIndex="1" spacing="6.0">
|
||||||
<HBox GridPane.rowIndex="3" GridPane.columnIndex="1" spacing="6.0">
|
<TextField fx:id="portField" cacheShape="true" cache="true" promptText="%settings.webdav.port.prompt" />
|
||||||
<TextField fx:id="portField" cacheShape="true" cache="true" promptText="%settings.webdav.port.prompt" />
|
<Button text="%settings.webdav.port.apply" fx:id="changePortButton" onAction="#changePort"/>
|
||||||
<Button text="%settings.webdav.port.apply" fx:id="changePortButton" onAction="#changePort"/>
|
</HBox>
|
||||||
</HBox>
|
|
||||||
|
|
||||||
<!-- Row 4 -->
|
<!-- Row 4 -->
|
||||||
<Label GridPane.rowIndex="4" GridPane.columnIndex="0" fx:id="prefGvfsSchemeLabel" text="%settings.webdav.prefGvfsScheme.label" cacheShape="true" cache="true" />
|
<Label GridPane.rowIndex="4" GridPane.columnIndex="0" fx:id="prefGvfsSchemeLabel" text="%settings.webdav.prefGvfsScheme.label" cacheShape="true" cache="true" />
|
||||||
<ChoiceBox GridPane.rowIndex="4" GridPane.columnIndex="1" fx:id="prefGvfsScheme" GridPane.hgrow="ALWAYS" maxWidth="Infinity" cacheShape="true" cache="true" />
|
<ChoiceBox GridPane.rowIndex="4" GridPane.columnIndex="1" fx:id="prefGvfsScheme" GridPane.hgrow="ALWAYS" maxWidth="Infinity" cacheShape="true" cache="true" />
|
||||||
</GridPane>
|
|
||||||
|
|
||||||
<!-- Row 3 Alt 2-->
|
|
||||||
<GridPane fx:id="fuseVolume" vgap="12.0" hgap="12.0" GridPane.rowIndex="3" GridPane.columnIndex="0" GridPane.columnSpan="2" visible="false" cacheShape="true" cache="true">
|
|
||||||
</GridPane>
|
|
||||||
|
|
||||||
</children>
|
</children>
|
||||||
</GridPane>
|
</GridPane>
|
||||||
|
|||||||
@@ -88,14 +88,10 @@
|
|||||||
<ChoiceBox GridPane.rowIndex="5" GridPane.columnIndex="1" fx:id="winDriveLetter" GridPane.hgrow="ALWAYS" maxWidth="Infinity" cacheShape="true" cache="true" />
|
<ChoiceBox GridPane.rowIndex="5" GridPane.columnIndex="1" fx:id="winDriveLetter" GridPane.hgrow="ALWAYS" maxWidth="Infinity" cacheShape="true" cache="true" />
|
||||||
|
|
||||||
<!-- Row 3.5 Alt2 -->
|
<!-- Row 3.5 Alt2 -->
|
||||||
<CheckBox GridPane.rowIndex="5" GridPane.columnIndex="0" fx:id="useOwnMountPath" text="%unlock.label.useOwnMountPath" cacheShape="true" cache="true" />
|
<CheckBox GridPane.rowIndex="5" GridPane.columnIndex="0" GridPane.columnSpan="2" fx:id="useOwnMountPath" text="%unlock.label.useOwnMountPath" cacheShape="true" cache="true" />
|
||||||
|
|
||||||
<Label GridPane.rowIndex="6" GridPane.columnIndex="0" fx:id="mountPathLabel" text="%unlock.label.mountPath" cacheShape="true" cache="true" />
|
<Label GridPane.rowIndex="6" GridPane.columnIndex="0" fx:id="mountPathLabel" text="%unlock.label.mountPath" cacheShape="true" cache="true" />
|
||||||
|
<TextField GridPane.rowIndex="6" GridPane.columnIndex="1" fx:id="mountPath" GridPane.hgrow="ALWAYS" maxWidth="Infinity" cacheShape="true" cache="true" />
|
||||||
<HBox GridPane.rowIndex="6" GridPane.columnIndex="1" fx:id="mountPathBox" spacing="6.0">
|
|
||||||
<TextField fx:id="mountPath" cacheShape="true" cache="true" />
|
|
||||||
<Button text="%unlock.label.mountPathButton" fx:id="changeMountPathButton" onAction="#didClickchangeMountPathButton"/>
|
|
||||||
</HBox>
|
|
||||||
|
|
||||||
</GridPane>
|
</GridPane>
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = فشل فك التشفير
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = اغلاق المحفظة
|
unlocked.button.lock = اغلاق المحفظة
|
||||||
unlocked.moreOptions.reveal = Reveal Drive
|
unlocked.moreOptions.reveal = Reveal Drive
|
||||||
unlocked.moreOptions.copyUrl = نسخ رابط ويب داف ( WebDAV )
|
|
||||||
unlocked.label.revealFailed = Command failed
|
unlocked.label.revealFailed = Command failed
|
||||||
unlocked.label.unmountFailed = Ejecting drive failed
|
unlocked.label.unmountFailed = Ejecting drive failed
|
||||||
unlocked.label.statsEncrypted = مشفر
|
unlocked.label.statsEncrypted = مشفر
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Vault Version 3 to 4 Upgrade
|
|||||||
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
||||||
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
||||||
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
||||||
unlock.label.mountAfterUnlock = Mount Drive
|
|
||||||
unlock.label.revealAfterMount = Reveal Drive
|
unlock.label.revealAfterMount = Reveal Drive
|
||||||
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
||||||
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
||||||
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
||||||
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
upgrade.version5toX.title = Vault Version Upgrade
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Creating vault failed
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Неуспешно декрипт
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Заключване на Сейфа
|
unlocked.button.lock = Заключване на Сейфа
|
||||||
unlocked.moreOptions.reveal = Покажи диска
|
unlocked.moreOptions.reveal = Покажи диска
|
||||||
unlocked.moreOptions.copyUrl = Копиране адреса на WebDAV
|
|
||||||
unlocked.label.revealFailed = Командата е неуспешна
|
unlocked.label.revealFailed = Командата е неуспешна
|
||||||
unlocked.label.unmountFailed = Изваждането на диска е неуспешно
|
unlocked.label.unmountFailed = Изваждането на диска е неуспешно
|
||||||
unlocked.label.statsEncrypted = криптирано
|
unlocked.label.statsEncrypted = криптирано
|
||||||
@@ -57,7 +56,7 @@ settings.checkForUpdates.label = Проверка за обновления
|
|||||||
settings.requiresRestartLabel = * Криптоматор трябва да се рестартира
|
settings.requiresRestartLabel = * Криптоматор трябва да се рестартира
|
||||||
# tray icon
|
# tray icon
|
||||||
tray.menu.open = Отворяне
|
tray.menu.open = Отворяне
|
||||||
tray.menu.quit = Излизане
|
tray.menu.quit = Изход
|
||||||
tray.infoMsg.title = Все още върви
|
tray.infoMsg.title = Все още върви
|
||||||
tray.infoMsg.msg = Криптоматор все още върви. Излезте от иконата в трея.
|
tray.infoMsg.msg = Криптоматор все още върви. Излезте от иконата в трея.
|
||||||
tray.infoMsg.msg.osx = Криптоматор все още върви. Излезте от иконата в менюто.
|
tray.infoMsg.msg.osx = Криптоматор все още върви. Излезте от иконата в менюто.
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Обновяване на сейф от 3-та до
|
|||||||
upgrade.version4to5.title = Обновяване на сейф от 4-та до 5-та версия
|
upgrade.version4to5.title = Обновяване на сейф от 4-та до 5-та версия
|
||||||
upgrade.version4to5.msg = Този сейф трябва да бъде променен към по-нов формат.\nКриптираните файлове ще бъдат обновени.\nМоля, проверете дали сихронизацията е приключила преди да продължите.\n\nЗабележка\: Датата на промяна на всички файлове ще бъде обновена до момента.
|
upgrade.version4to5.msg = Този сейф трябва да бъде променен към по-нов формат.\nКриптираните файлове ще бъдат обновени.\nМоля, проверете дали сихронизацията е приключила преди да продължите.\n\nЗабележка\: Датата на промяна на всички файлове ще бъде обновена до момента.
|
||||||
upgrade.version4to5.err.io = Преместването провалено поради грешка в диска. Вижте лог файла за детайли.
|
upgrade.version4to5.err.io = Преместването провалено поради грешка в диска. Вижте лог файла за детайли.
|
||||||
unlock.label.mountAfterUnlock = Закачане на диска
|
|
||||||
unlock.label.revealAfterMount = Показване на диска
|
unlock.label.revealAfterMount = Показване на диска
|
||||||
unlocked.lock.force.confirmation.title = Заключването на %1$s провалено
|
unlocked.lock.force.confirmation.title = Заключването на %1$s провалено
|
||||||
unlocked.lock.force.confirmation.header = Желаете ли принудително заключване?
|
unlocked.lock.force.confirmation.header = Желаете ли принудително заключване?
|
||||||
unlocked.lock.force.confirmation.content = Това е може би защото други програми все още използват файловете в сейфа или защото има някакъв друг проблем.\n\nПрограмите, имащи достъп до файловете, може да не работят правилно и информацията, незаписана от тези програми, може да бъде изгубена.
|
unlocked.lock.force.confirmation.content = Това е може би защото други програми все още използват файловете в сейфа или защото има някакъв друг проблем.\n\nПрограмите, имащи достъп до файловете, може да не работят правилно и информацията, незаписана от тези програми, може да бъде изгубена.
|
||||||
unlock.label.unlockAfterStartup = Автоматично отключване при стартиране (Експериментално)
|
unlock.label.unlockAfterStartup = Автоматично отключване при стартиране (Експериментално)
|
||||||
unlock.errorMessage.unlockFailed = Грешка при отключване. Вижте лог файла за детайли.
|
unlock.errorMessage.unlockFailed = Грешка при отключване. Вижте лог файла за детайли.
|
||||||
unlocked.moreOptions.mount = Закачане на диск
|
|
||||||
unlocked.moreOptions.unmount = Изваждане на диск
|
|
||||||
upgrade.version5toX.title = Обновяване на версията на сейфа
|
upgrade.version5toX.title = Обновяване на версията на сейфа
|
||||||
upgrade.version5toX.msg = Този сейф трябва да бъде обновен до по-нов формат.\nМоля, уверете се, че сихронизацията е приключила, преди да продължите.
|
upgrade.version5toX.msg = Този сейф трябва да бъде обновен до по-нов формат.\nМоля, уверете се, че сихронизацията е приключила, преди да продължите.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Неуспешно създаване на сейф
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = Избраната директория не е празна
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = Избраната директория съдържа файлове /може би скрити/. Сейфът може да бъде създаден само в празна директория
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Път за монтиране
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Приложи
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebCAM порт
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Автоматично избиране
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Приложи
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV схема
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Метод за точка
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = Предпазител
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Сейфът беше създаден успешно
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Паролата беше сменена успешно
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Криптоматор беше обновен
|
||||||
|
unlock.label.useOwnMountPath = Използвайте собствена точка за монтиране
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Nepodařilo se rozšifrovat
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Uzamknout trezor
|
unlocked.button.lock = Uzamknout trezor
|
||||||
unlocked.moreOptions.reveal = Odkrýt jednotku
|
unlocked.moreOptions.reveal = Odkrýt jednotku
|
||||||
unlocked.moreOptions.copyUrl = Zkopírovat WebDAV odkaz
|
|
||||||
unlocked.label.revealFailed = Vykonání příkazu se nezdařilo
|
unlocked.label.revealFailed = Vykonání příkazu se nezdařilo
|
||||||
unlocked.label.unmountFailed = Odpojení jednotky se nezdařilo
|
unlocked.label.unmountFailed = Odpojení jednotky se nezdařilo
|
||||||
unlocked.label.statsEncrypted = zašifrováno
|
unlocked.label.statsEncrypted = zašifrováno
|
||||||
@@ -88,29 +87,32 @@ upgrade.version3to4.title = Aktualizace trezoru z verze 3 na 4
|
|||||||
upgrade.version4to5.title = Aktualizace trezoru z verze 4 na 5
|
upgrade.version4to5.title = Aktualizace trezoru z verze 4 na 5
|
||||||
upgrade.version4to5.msg = Tento trezor je třeba aktualizovat na novější formát.\nZašifrované soubory budou aktualizovány.\nNež budete pokračovat ověřte, že synchronizace byla dokončena.\n\nPozn.\: Datum úpravy bude v rámci toho u všech dotčených souborů změněn na aktuální datum a čas.
|
upgrade.version4to5.msg = Tento trezor je třeba aktualizovat na novější formát.\nZašifrované soubory budou aktualizovány.\nNež budete pokračovat ověřte, že synchronizace byla dokončena.\n\nPozn.\: Datum úpravy bude v rámci toho u všech dotčených souborů změněn na aktuální datum a čas.
|
||||||
upgrade.version4to5.err.io = Převod se nezdařil kvůli chybě na vstupu nebo výstupu. Podrobnosti naleznete v souboru se záznamem událostí (log).
|
upgrade.version4to5.err.io = Převod se nezdařil kvůli chybě na vstupu nebo výstupu. Podrobnosti naleznete v souboru se záznamem událostí (log).
|
||||||
unlock.label.mountAfterUnlock = Připojit (mount) jednotku
|
|
||||||
unlock.label.revealAfterMount = Odkrýt jednotku
|
unlock.label.revealAfterMount = Odkrýt jednotku
|
||||||
unlocked.lock.force.confirmation.title = Zamykání %1$s se nezdařilo
|
unlocked.lock.force.confirmation.title = Zamykání %1$s se nezdařilo
|
||||||
unlocked.lock.force.confirmation.header = Chcete vynutit uzamčení?
|
unlocked.lock.force.confirmation.header = Chcete vynutit uzamčení?
|
||||||
unlocked.lock.force.confirmation.content = Toto může být způsobeno tím, že ostatní aplikace stále ještě přistupují k souborům v trezoru nebo došlo k nějakému jinému problému.\n\nMůže se ovšem stát, že aplikace které stáje ještě pracují se soubory z trezoru to nemusí ustát a může dojít ke ztrátě ještě neuložených dat.
|
unlocked.lock.force.confirmation.content = Toto může být způsobeno tím, že ostatní aplikace stále ještě přistupují k souborům v trezoru nebo došlo k nějakému jinému problému.\n\nMůže se ovšem stát, že aplikace které stáje ještě pracují se soubory z trezoru to nemusí ustát a může dojít ke ztrátě ještě neuložených dat.
|
||||||
unlock.label.unlockAfterStartup = Automatické odemknutí při spuštění (experimentální)
|
unlock.label.unlockAfterStartup = Automatické odemknutí při spuštění (experimentální)
|
||||||
unlock.errorMessage.unlockFailed = Odemknutí se nezdařilo. Podrobnosti naleznete v souboru se záznamem událostí (log).
|
unlock.errorMessage.unlockFailed = Odemknutí se nezdařilo. Podrobnosti naleznete v souboru se záznamem událostí (log).
|
||||||
unlocked.moreOptions.mount = Připojit jednotku
|
|
||||||
unlocked.moreOptions.unmount = Odpojit jednotku
|
|
||||||
upgrade.version5toX.title = Aktualizace verze trezoru
|
upgrade.version5toX.title = Aktualizace verze trezoru
|
||||||
upgrade.version5toX.msg = Tento trezor je třeba aktualizovat na novější formát.\nNež budete pokračovat ověřte, že byla dokončena synchronizace.
|
upgrade.version5toX.msg = Tento trezor je třeba aktualizovat na novější formát.\nNež budete pokračovat ověřte, že byla dokončena synchronizace.
|
||||||
main.createVault.nonEmptyDir.title = Vytvoření trezoru se nezdařilo
|
main.createVault.nonEmptyDir.title = Vytvoření trezoru se nezdařilo
|
||||||
main.createVault.nonEmptyDir.header = Zvolená složka není prázdná
|
main.createVault.nonEmptyDir.header = Zvolená složka není prázdná
|
||||||
main.createVault.nonEmptyDir.content = Zvolená složka už obsahuje soubory (možná skryté). Trezor je možné vytvořit pouze v prázdné složce.
|
main.createVault.nonEmptyDir.content = Zvolená složka už obsahuje soubory (možná skryté). Trezor je možné vytvořit pouze v prázdné složce.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Popis umístění přípojného bodu
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Použít
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = Port WebDAV
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= zvolit automaticky
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Použít
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV schéma
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Způsob připojení (mount)
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Trezor byl úspěšně vytvořen.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Heslo bylo úspěšně změněno.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator byl úspěšně povýšen na novou verzi.
|
||||||
|
unlock.label.useOwnMountPath = Použít vlastní přípojný bod
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Zjišťování aktualizací
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Zjišťovat automaticky nové verze?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = Ke zjištění aktualizací, Cryptomator stáhne aktuální verzi z instalačních serverů a zobrazí nápovědu, když je k dispozici novější verze, než je nainstalovaná.\n\nDoporučujeme zapnout zjišťování aktualizací a zajistit tak, že vždy budete mít nejnovější verzi Cryptomator, se všemi opravami zabezpečení nainstalovanými. Pokud automatické zjišťování nezapnete, je možné ručně stahovat nejnovější verzi z https\://cryptomator.org/downloads/.\n\nToto nastavení je možné kdykoli změnit v nastavení aplikace.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individuální přípojný bod není nastaven
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Dekryptering fejlede
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Lås Vault
|
unlocked.button.lock = Lås Vault
|
||||||
unlocked.moreOptions.reveal = Vis drev
|
unlocked.moreOptions.reveal = Vis drev
|
||||||
unlocked.moreOptions.copyUrl = Kopier WebDAV URL
|
|
||||||
unlocked.label.revealFailed = Kommando fejlede
|
unlocked.label.revealFailed = Kommando fejlede
|
||||||
unlocked.label.unmountFailed = Afmontering af drev fejlede
|
unlocked.label.unmountFailed = Afmontering af drev fejlede
|
||||||
unlocked.label.statsEncrypted = Krypteret
|
unlocked.label.statsEncrypted = Krypteret
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Vault Version 3 til 4 Opgradering
|
|||||||
upgrade.version4to5.title = Vault Version 4 til 5 Opgradering
|
upgrade.version4to5.title = Vault Version 4 til 5 Opgradering
|
||||||
upgrade.version4to5.msg = Denne Vault skal migreres til et nyere format.\nDe krypterede filer vil blive opdateret.\nVent venligst til al synkronisering er gennemført, inden du fortsætter.\n\nNote\: Denne proces vil påvirke ændringsdato og -tidspunkt for samtlige filer.
|
upgrade.version4to5.msg = Denne Vault skal migreres til et nyere format.\nDe krypterede filer vil blive opdateret.\nVent venligst til al synkronisering er gennemført, inden du fortsætter.\n\nNote\: Denne proces vil påvirke ændringsdato og -tidspunkt for samtlige filer.
|
||||||
upgrade.version4to5.err.io = Migrering fejlede pga. en I/O fejl. Se logfilen for yderligere detaljer.
|
upgrade.version4to5.err.io = Migrering fejlede pga. en I/O fejl. Se logfilen for yderligere detaljer.
|
||||||
unlock.label.mountAfterUnlock = Monter drev
|
|
||||||
unlock.label.revealAfterMount = Vis drev
|
unlock.label.revealAfterMount = Vis drev
|
||||||
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
||||||
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
||||||
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
||||||
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
upgrade.version5toX.title = Vault Version Upgrade
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Creating vault failed
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -7,7 +7,7 @@ main.addDirectory.contextMenu.new = Tresor erstellen
|
|||||||
main.addDirectory.contextMenu.open = Tresor öffnen
|
main.addDirectory.contextMenu.open = Tresor öffnen
|
||||||
# welcome.fxml
|
# welcome.fxml
|
||||||
welcome.checkForUpdates.label.currentlyChecking = Prüfe auf Updates...
|
welcome.checkForUpdates.label.currentlyChecking = Prüfe auf Updates...
|
||||||
welcome.newVersionMessage = Version %1$s kann heruntergeladen werden.\nMomentane Version %2$s.
|
welcome.newVersionMessage = Version %1$s kann heruntergeladen werden.\nInstallierte Version %2$s.
|
||||||
# initialize.fxml
|
# initialize.fxml
|
||||||
initialize.label.password = Passwort
|
initialize.label.password = Passwort
|
||||||
initialize.label.retypePassword = Passwort bestätigen
|
initialize.label.retypePassword = Passwort bestätigen
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Entschlüsselung fehlgeschlagen
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Tresor sperren
|
unlocked.button.lock = Tresor sperren
|
||||||
unlocked.moreOptions.reveal = Laufwerk anzeigen
|
unlocked.moreOptions.reveal = Laufwerk anzeigen
|
||||||
unlocked.moreOptions.copyUrl = WebDAV-URL kopieren
|
|
||||||
unlocked.label.revealFailed = Befehl fehlgeschlagen
|
unlocked.label.revealFailed = Befehl fehlgeschlagen
|
||||||
unlocked.label.unmountFailed = Trennen des Laufwerks fehlgeschlagen
|
unlocked.label.unmountFailed = Trennen des Laufwerks fehlgeschlagen
|
||||||
unlocked.label.statsEncrypted = verschlüsselt
|
unlocked.label.statsEncrypted = verschlüsselt
|
||||||
@@ -86,15 +85,12 @@ upgrade.version3to4.title = Upgrade Tresor-Version 3 zu 4
|
|||||||
upgrade.version4to5.title = Upgrade Tresor-Version 4 zu 5
|
upgrade.version4to5.title = Upgrade Tresor-Version 4 zu 5
|
||||||
upgrade.version4to5.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\nVerschlüsselte Dateien werden dabei aktualisiert.\nStellen Sie sicher, dass keine Synchronisation stattfindet, bevor Sie fortfahren.\n\nHinweis\: Beim Upgrade wird das Änderungsdatum aller Dateien auf das aktuelle Datum geändert.
|
upgrade.version4to5.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\nVerschlüsselte Dateien werden dabei aktualisiert.\nStellen Sie sicher, dass keine Synchronisation stattfindet, bevor Sie fortfahren.\n\nHinweis\: Beim Upgrade wird das Änderungsdatum aller Dateien auf das aktuelle Datum geändert.
|
||||||
upgrade.version4to5.err.io = Migration aufgrund eines I/O-Fehlers fehlgeschlagen.\nWeitere Informationen in der Log-Datei.
|
upgrade.version4to5.err.io = Migration aufgrund eines I/O-Fehlers fehlgeschlagen.\nWeitere Informationen in der Log-Datei.
|
||||||
unlock.label.mountAfterUnlock = Laufwerk verbinden
|
|
||||||
unlock.label.revealAfterMount = Laufwerk anzeigen
|
unlock.label.revealAfterMount = Laufwerk anzeigen
|
||||||
unlocked.lock.force.confirmation.title = Sperren von %1$s fehlgeschlagen
|
unlocked.lock.force.confirmation.title = Sperren von %1$s fehlgeschlagen
|
||||||
unlocked.lock.force.confirmation.header = Möchten Sie das Sperren erzwingen?
|
unlocked.lock.force.confirmation.header = Möchten Sie das Sperren erzwingen?
|
||||||
unlocked.lock.force.confirmation.content = Dies kann passieren, wenn andere Programme weiterhin auf Dateien im Tresor zugreifen. Oder es ist ein anderes Problem aufgetreten.\n\nProgramme, die weiterhin auf die Dateien zugreifen, könnten nicht mehr richtig funktionieren, oder Daten, die durch diese Programme noch nicht geschrieben wurden, könnten verloren gehen.
|
unlocked.lock.force.confirmation.content = Dies kann passieren, wenn andere Programme weiterhin auf Dateien im Tresor zugreifen. Oder es ist ein anderes Problem aufgetreten.\n\nProgramme, die weiterhin auf die Dateien zugreifen, könnten nicht mehr richtig funktionieren, oder Daten, die durch diese Programme noch nicht geschrieben wurden, könnten verloren gehen.
|
||||||
unlock.label.unlockAfterStartup = Automatisch entsperren beim Start (Experimentell)
|
unlock.label.unlockAfterStartup = Automatisch entsperren beim Start (Experimentell)
|
||||||
unlock.errorMessage.unlockFailed = Entsperren fehlgeschlagen. Siehe Log-Datei für Details.
|
unlock.errorMessage.unlockFailed = Entsperren fehlgeschlagen. Siehe Log-Datei für Details.
|
||||||
unlocked.moreOptions.mount = Laufwerk verbinden
|
|
||||||
unlocked.moreOptions.unmount = Laufwerk auswerfen
|
|
||||||
upgrade.version5toX.title = Upgrade Tresor-Version 5 zu X
|
upgrade.version5toX.title = Upgrade Tresor-Version 5 zu X
|
||||||
upgrade.version5toX.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\nStellen Sie sicher, dass keine Synchronisation stattfindet, bevor Sie fortfahren.
|
upgrade.version5toX.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\nStellen Sie sicher, dass keine Synchronisation stattfindet, bevor Sie fortfahren.
|
||||||
main.createVault.nonEmptyDir.title = Erstellung des Tresors fehlgeschlagen
|
main.createVault.nonEmptyDir.title = Erstellung des Tresors fehlgeschlagen
|
||||||
@@ -102,13 +98,19 @@ main.createVault.nonEmptyDir.header = Ausgewählter Ordner ist nicht leer
|
|||||||
main.createVault.nonEmptyDir.content = Der ausgewählte Ordner enthält bereits Dateien (möglicherweise unsichtbar). Ein Tresor kann nur innerhalb eines leeren Ordners erstellt werden.
|
main.createVault.nonEmptyDir.content = Der ausgewählte Ordner enthält bereits Dateien (möglicherweise unsichtbar). Ein Tresor kann nur innerhalb eines leeren Ordners erstellt werden.
|
||||||
unlock.label.mountPath = Verzeichnis
|
unlock.label.mountPath = Verzeichnis
|
||||||
unlock.label.mountPathButton = Anwenden
|
unlock.label.mountPathButton = Anwenden
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV-Port
|
||||||
settings.webdav.port.prompt = 0 \= automatische Auswahl
|
settings.webdav.port.prompt = 0 \= automatische Auswahl
|
||||||
settings.webdav.port.apply = Anwenden
|
settings.webdav.port.apply = Anwenden
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV URL Schema
|
settings.webdav.prefGvfsScheme.label = WebDAV URL Schema
|
||||||
settings.volume.label = Laufwerkseinbindung
|
settings.volume.label = Laufwerkseinbindung *
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Der Tresor wurde erfolgreich erstellt.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Das Passwort wurde erfolgreich geändert.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Das Cryptomator Upgrade wurde erfolgreich abgeschlossen.
|
||||||
|
unlock.label.useOwnMountPath = Eigenes Laufwerksverzeichnis nutzen
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Auf Updates prüfen
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Eingebaute Update-Prüfung aktivieren?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = Zur Überprüfung, ob Updates verfügbar sind, lädt Cryptomator die aktuelle Versionsnummer von den Cryptomator-Servern und zeigt Ihnen einen Hinweis an, wenn eine aktuellere Version verfügbar ist.\n\nWir empfehlen, die Update-Prüfung zu aktivieren, damit Sie sicher sein können, dass Sie stets die neueste Cryptomator-Version mit allen Sicherheits-Patches verwenden. Wenn Sie die Update-Prüfung nicht aktivieren können Sie stattdessen auf https\://cryptomator.org/downloads/ selbst die aktuelle Version ermitteln und herunterladen.\n\nDiese Einstellung können Sie jederzeit im Einstellungs-Menü ändern.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -19,6 +19,11 @@ main.directoryList.remove.confirmation.content=The vault will only be removed fr
|
|||||||
main.createVault.nonEmptyDir.title=Creating vault failed
|
main.createVault.nonEmptyDir.title=Creating vault failed
|
||||||
main.createVault.nonEmptyDir.header=Chosen directory is not empty
|
main.createVault.nonEmptyDir.header=Chosen directory is not empty
|
||||||
main.createVault.nonEmptyDir.content=The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content=The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
|
main.gracefulShutdown.dialog.title=Locking vault(s) failed
|
||||||
|
main.gracefulShutdown.dialog.header=Vault(s) in use
|
||||||
|
main.gracefulShutdown.dialog.content=One or more vaults are still in use by other programs. Please close them to allow Cryptomator to shut down properly, then try again.\n\nIf this doesn't work, Cryptomator can shut down forcefully, but this can incur data loss and is not recommended.
|
||||||
|
main.gracefulShutdown.button.tryAgain=Try again
|
||||||
|
main.gracefulShutdown.button.forceShutdown=Force shutdown
|
||||||
|
|
||||||
# welcome.fxml
|
# welcome.fxml
|
||||||
welcome.checkForUpdates.label.currentlyChecking=Checking for Updates...
|
welcome.checkForUpdates.label.currentlyChecking=Checking for Updates...
|
||||||
@@ -69,8 +74,8 @@ unlock.label.mountName=Drive Name
|
|||||||
unlock.label.unlockAfterStartup=Auto-Unlock on Start (Experimental)
|
unlock.label.unlockAfterStartup=Auto-Unlock on Start (Experimental)
|
||||||
unlock.label.revealAfterMount=Reveal Drive
|
unlock.label.revealAfterMount=Reveal Drive
|
||||||
unlock.label.winDriveLetter=Drive Letter
|
unlock.label.winDriveLetter=Drive Letter
|
||||||
unlock.label.useOwnMountPath=Use own Mount point
|
unlock.label.useOwnMountPath=Use Custom Mount Point
|
||||||
unlock.label.mountPath=Mount Path
|
unlock.label.mountPath=Mount path
|
||||||
unlock.label.mountPathButton=Apply
|
unlock.label.mountPathButton=Apply
|
||||||
unlock.label.downloadsPageLink=All Cryptomator versions
|
unlock.label.downloadsPageLink=All Cryptomator versions
|
||||||
unlock.label.advancedHeading=Advanced Options
|
unlock.label.advancedHeading=Advanced Options
|
||||||
@@ -82,6 +87,8 @@ unlock.savePassword.delete.confirmation.header=Do you really want to delete the
|
|||||||
unlock.savePassword.delete.confirmation.content=The saved password of this vault will be immediately deleted from your system keychain. If you'd like to save your password again, you'd have to unlock your vault with the "Save Password" option enabled.
|
unlock.savePassword.delete.confirmation.content=The saved password of this vault will be immediately deleted from your system keychain. If you'd like to save your password again, you'd have to unlock your vault with the "Save Password" option enabled.
|
||||||
unlock.choicebox.winDriveLetter.auto=Assign automatically
|
unlock.choicebox.winDriveLetter.auto=Assign automatically
|
||||||
unlock.errorMessage.wrongPassword=Wrong password
|
unlock.errorMessage.wrongPassword=Wrong password
|
||||||
|
unlock.errorMessage.wrongPassword=Wrong Password
|
||||||
|
unlock.errorMessage.invalidMountPath=Individual mount path is not set.
|
||||||
unlock.errorMessage.unlockFailed=Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed=Unlock failed. See log file for details.
|
||||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware=Unsupported vault. This vault has been created with an older version of Cryptomator.
|
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware=Unsupported vault. This vault has been created with an older version of Cryptomator.
|
||||||
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault=Unsupported vault. This vault has been created with a newer version of Cryptomator.
|
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault=Unsupported vault. This vault has been created with a newer version of Cryptomator.
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ changePassword.errorMessage.decryptionFailed = Error en el descifrado
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Bloquear caja fuerte
|
unlocked.button.lock = Bloquear caja fuerte
|
||||||
unlocked.moreOptions.reveal = Revelar unidad
|
unlocked.moreOptions.reveal = Revelar unidad
|
||||||
unlocked.moreOptions.copyUrl = Copiar URL de WebDAV
|
|
||||||
unlocked.label.revealFailed = La orden ha fallado
|
unlocked.label.revealFailed = La orden ha fallado
|
||||||
unlocked.label.unmountFailed = Error al expulsar la unidad
|
unlocked.label.unmountFailed = Error al expulsar la unidad
|
||||||
unlocked.label.statsEncrypted = cifrado
|
unlocked.label.statsEncrypted = cifrado
|
||||||
@@ -88,29 +87,32 @@ upgrade.version3to4.title = Actualizar caja fuerte de versión 3 a 4
|
|||||||
upgrade.version4to5.title = Actualizar caja fuerte de versión 4 a 5
|
upgrade.version4to5.title = Actualizar caja fuerte de versión 4 a 5
|
||||||
upgrade.version4to5.msg = Esta caja fuerte tiene que ser migrada a un formato más moderno.\nLos archivos cifrados se actualizarán.\nAsegúrese de que la sincronización ha terminado antes de iniciar el proceso.\n\nNota\: las fechas de modificación de todos los archivos, se cambiarán a la fecha actual.
|
upgrade.version4to5.msg = Esta caja fuerte tiene que ser migrada a un formato más moderno.\nLos archivos cifrados se actualizarán.\nAsegúrese de que la sincronización ha terminado antes de iniciar el proceso.\n\nNota\: las fechas de modificación de todos los archivos, se cambiarán a la fecha actual.
|
||||||
upgrade.version4to5.err.io = Error en la migración debido a una excepción E/S. Consulte el archivo de registro para más información.
|
upgrade.version4to5.err.io = Error en la migración debido a una excepción E/S. Consulte el archivo de registro para más información.
|
||||||
unlock.label.mountAfterUnlock = Montar unidad
|
|
||||||
unlock.label.revealAfterMount = Revelar unidad
|
unlock.label.revealAfterMount = Revelar unidad
|
||||||
unlocked.lock.force.confirmation.title = Error al bloquear %1$s
|
unlocked.lock.force.confirmation.title = Error al bloquear %1$s
|
||||||
unlocked.lock.force.confirmation.header = ¿Quiere forzar el bloqueo?
|
unlocked.lock.force.confirmation.header = ¿Quiere forzar el bloqueo?
|
||||||
unlocked.lock.force.confirmation.content = Esto puede ser debido a que otros programas estén todavía accediendo a la caja fuerte o porque se ha producido algún otro problema.\n\nLos programas que estén todavía accediendo a los archivos pueden no funcionar correctamente y se pueden perder los datos pendientes de escribir por estos programas.
|
unlocked.lock.force.confirmation.content = Esto puede ser debido a que otros programas estén todavía accediendo a la caja fuerte o porque se ha producido algún otro problema.\n\nLos programas que estén todavía accediendo a los archivos pueden no funcionar correctamente y se pueden perder los datos pendientes de escribir por estos programas.
|
||||||
unlock.label.unlockAfterStartup = Autodesbloqueo al arrancar (experimental)
|
unlock.label.unlockAfterStartup = Autodesbloqueo al arrancar (experimental)
|
||||||
unlock.errorMessage.unlockFailed = Error al desbloquear. Consulte el archivo de registro para más información.
|
unlock.errorMessage.unlockFailed = Error al desbloquear. Consulte el archivo de registro para más información.
|
||||||
unlocked.moreOptions.mount = Montar unidad
|
|
||||||
unlocked.moreOptions.unmount = Expulsar unidad
|
|
||||||
upgrade.version5toX.title = Actualizar la versión de la caja fuerte
|
upgrade.version5toX.title = Actualizar la versión de la caja fuerte
|
||||||
upgrade.version5toX.msg = Esta caja fuerte debe ser migrada a un formato más moderno.\nAsegúrese de que la sincronización ha terminado antes de iniciar el proceso.
|
upgrade.version5toX.msg = Esta caja fuerte debe ser migrada a un formato más moderno.\nAsegúrese de que la sincronización ha terminado antes de iniciar el proceso.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Error en la creación de la bóveda
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = El directorio elegido no está vacío
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = El directorio seleccionado ya contiene archivos (posiblemente ocultos). Una bóveda sólo puede crearse en un directorio vacío.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Punto de montaje
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Aplicar
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Elige automáticamente
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Aplicar
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = Esquema de WebDAV
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Método de montaje *
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = La caja fuerte fue creado exitosamente.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = La contraseña ha sido cambiada con éxito.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator fue actualizado exitosamente.
|
||||||
|
unlock.label.useOwnMountPath = Usar Punto de montaje propio
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -46,7 +46,6 @@ changePassword.errorMessage.decryptionFailed = Echec du déchiffrement
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Verrouiller le coffre-fort
|
unlocked.button.lock = Verrouiller le coffre-fort
|
||||||
unlocked.moreOptions.reveal = Voir le lecteur
|
unlocked.moreOptions.reveal = Voir le lecteur
|
||||||
unlocked.moreOptions.copyUrl = Copier l'URL WebDAV
|
|
||||||
unlocked.label.revealFailed = Echec de la commande
|
unlocked.label.revealFailed = Echec de la commande
|
||||||
unlocked.label.unmountFailed = Echec de l'éjection du lecteur
|
unlocked.label.unmountFailed = Echec de l'éjection du lecteur
|
||||||
# Crypter n'existe pas en français.
|
# Crypter n'existe pas en français.
|
||||||
@@ -89,29 +88,32 @@ upgrade.version3to4.title = Mise à jour de la version du coffre-fort (v3 à v4)
|
|||||||
upgrade.version4to5.title = Mise à jour de la version du coffre-fort (v4 à v5)
|
upgrade.version4to5.title = Mise à jour de la version du coffre-fort (v4 à v5)
|
||||||
upgrade.version4to5.msg = Ce coffre-fort doit être migré vers un format plus récent.\nLes fichiers chiffrés seront mis à jour.\nVeuillez vérifier que la synchronisation est terminée avant de commencer.\n\nNote \: la date de modification des fichiers sera mise à jour avec la date courante.
|
upgrade.version4to5.msg = Ce coffre-fort doit être migré vers un format plus récent.\nLes fichiers chiffrés seront mis à jour.\nVeuillez vérifier que la synchronisation est terminée avant de commencer.\n\nNote \: la date de modification des fichiers sera mise à jour avec la date courante.
|
||||||
upgrade.version4to5.err.io = La migration a échoué à cause d'une erreur d'entrée/sortie. Vérifiez le fichier de log pour plus de détails.
|
upgrade.version4to5.err.io = La migration a échoué à cause d'une erreur d'entrée/sortie. Vérifiez le fichier de log pour plus de détails.
|
||||||
unlock.label.mountAfterUnlock = Monter le lecteur
|
|
||||||
unlock.label.revealAfterMount = Voir le lecteur
|
unlock.label.revealAfterMount = Voir le lecteur
|
||||||
unlocked.lock.force.confirmation.title = Le verrouillage de %1$s a échoué
|
unlocked.lock.force.confirmation.title = Le verrouillage de %1$s a échoué
|
||||||
unlocked.lock.force.confirmation.header = Voulez-vous forcer le verrouillage ?
|
unlocked.lock.force.confirmation.header = Voulez-vous forcer le verrouillage ?
|
||||||
unlocked.lock.force.confirmation.content = D'autres programmes sont peut être en train d'accéder à des fichiers dans le coffre-fort ou un autre problème s'est produit.\n\nLes programmes accédant encore aux fichiers pourraient ne pas fonctionner normalement et les données pas encore sauvegardées par ces programmes pourraient être perdues.
|
unlocked.lock.force.confirmation.content = D'autres programmes sont peut être en train d'accéder à des fichiers dans le coffre-fort ou un autre problème s'est produit.\n\nLes programmes accédant encore aux fichiers pourraient ne pas fonctionner normalement et les données pas encore sauvegardées par ces programmes pourraient être perdues.
|
||||||
unlock.label.unlockAfterStartup = Déverouiller automatiquement au démarrage (experimental)
|
unlock.label.unlockAfterStartup = Déverouiller automatiquement au démarrage (experimental)
|
||||||
unlock.errorMessage.unlockFailed = Le déverouillage a échoué. Référez-vous au fichier log pour plus de détails.
|
unlock.errorMessage.unlockFailed = Le déverouillage a échoué. Référez-vous au fichier log pour plus de détails.
|
||||||
unlocked.moreOptions.mount = Monter le disque
|
|
||||||
unlocked.moreOptions.unmount = Ejecter le disque
|
|
||||||
upgrade.version5toX.title = Mise à jour du coffre-fort
|
upgrade.version5toX.title = Mise à jour du coffre-fort
|
||||||
upgrade.version5toX.msg = Ce coffre-fort doit être converti dans un format plus récent. \nVeuillez-vous assurez que la synchronisation est achevée avant de continuer.
|
upgrade.version5toX.msg = Ce coffre-fort doit être converti dans un format plus récent. \nVeuillez-vous assurez que la synchronisation est achevée avant de continuer.
|
||||||
main.createVault.nonEmptyDir.title = Echec de création du coffre-fort
|
main.createVault.nonEmptyDir.title = Echec de création du coffre-fort
|
||||||
main.createVault.nonEmptyDir.header = Le répertoire sélectionné n'est pas vide
|
main.createVault.nonEmptyDir.header = Le répertoire sélectionné n'est pas vide
|
||||||
main.createVault.nonEmptyDir.content = Le répertoire sélectionné contient déjà des fichiers (potentiellement cachés). Un coffre-fort ne peut être créé que dans un répertoire vide.
|
main.createVault.nonEmptyDir.content = Le répertoire sélectionné contient déjà des fichiers (potentiellement cachés). Un coffre-fort ne peut être créé que dans un répertoire vide.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Chemin de montage
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Appliquer
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = Port de WebDAV
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= choisir automatiquement
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Appliquer
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = stratagème webdav
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = méthode de montage
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = limite
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Le coffre-fort a été créé avec succès
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Le mot de passe a été changé avec succès
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator a été mise à jour avec succès
|
||||||
|
unlock.label.useOwnMountPath = Utiliser son propre point de montage
|
||||||
|
welcome.askForUpdateCheck.dialog.title = vérification de la mise à jour
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Activer le contrôle de mise à jour intégré ?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = Pour vérifier les mises à jour, Cryptomator récupère la version actuelle sur les serveurs Cryptomator et vous donne un aperçu si une nouvelle version est disponible.\n\nNous vous recommandons d'activer la vérification de mise à jour pour vous assurer que vous avez toujours la dernière version de Cryptomator, avec tous les correctifs de sécurité, installés. Si vous n'activez pas le contrôle de mise à jour, vous pouvez vérifier et télécharger la version actuelle à partir de https\://cryptomator.org/downloads/.\n\nVous pouvez le modifier à tout moment à partir des paramètres.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = A titkosítás feloldása meghíu
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Széf lezárása
|
unlocked.button.lock = Széf lezárása
|
||||||
unlocked.moreOptions.reveal = Meghajtó felfedése
|
unlocked.moreOptions.reveal = Meghajtó felfedése
|
||||||
unlocked.moreOptions.copyUrl = WebDAV URL másolása
|
|
||||||
unlocked.label.revealFailed = Parancs meghíusúlt
|
unlocked.label.revealFailed = Parancs meghíusúlt
|
||||||
unlocked.label.unmountFailed = Meghajtó leválasztása sikertelen
|
unlocked.label.unmountFailed = Meghajtó leválasztása sikertelen
|
||||||
unlocked.label.statsEncrypted = titkosított
|
unlocked.label.statsEncrypted = titkosított
|
||||||
@@ -75,7 +74,7 @@ upgrade.version3to4.err.io = Migráció meghíusúlt egy I/O kivétel miatt. Ké
|
|||||||
# upgrade.fxml
|
# upgrade.fxml
|
||||||
upgrade.confirmation.label = Igen, meggyőződtem a szinkronizáció befejeztéről
|
upgrade.confirmation.label = Igen, meggyőződtem a szinkronizáció befejeztéről
|
||||||
unlock.label.savePassword = Jelszó mentése
|
unlock.label.savePassword = Jelszó mentése
|
||||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
unlock.errorMessage.unauthenticVersionMac = Nem lehet a MAC verziót azonosítani.
|
||||||
unlocked.label.mountFailed = Meghajtó csatlakoztatása sikertelen
|
unlocked.label.mountFailed = Meghajtó csatlakoztatása sikertelen
|
||||||
unlock.savePassword.delete.confirmation.title = Mentett jelszó törlése
|
unlock.savePassword.delete.confirmation.title = Mentett jelszó törlése
|
||||||
unlock.savePassword.delete.confirmation.header = Biztosan el akarod távolítani a széfhez tartozó mentett jelszót?
|
unlock.savePassword.delete.confirmation.header = Biztosan el akarod távolítani a széfhez tartozó mentett jelszót?
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Széf verziófrissítése 3-ról 4-re
|
|||||||
upgrade.version4to5.title = Széf verziófrissítése 4-ről 5-re
|
upgrade.version4to5.title = Széf verziófrissítése 4-ről 5-re
|
||||||
upgrade.version4to5.msg = Ennek a széfnek egy újabb formátumra való migrációja szükséges. A titkosított könyvtárnevek frissítve lesznek. Kérlek, győződj meg a szinkronizáció befejeztéről mielőtt továbblépnél.\n\nMegjegyzés\: A összes fájl módosításának dátuma az aktuális időre fog módosulni
|
upgrade.version4to5.msg = Ennek a széfnek egy újabb formátumra való migrációja szükséges. A titkosított könyvtárnevek frissítve lesznek. Kérlek, győződj meg a szinkronizáció befejeztéről mielőtt továbblépnél.\n\nMegjegyzés\: A összes fájl módosításának dátuma az aktuális időre fog módosulni
|
||||||
upgrade.version4to5.err.io = Migráció meghíusúlt egy I/O kivétel miatt. Kérlek nézd meg a naplófájlt a további részletekért.
|
upgrade.version4to5.err.io = Migráció meghíusúlt egy I/O kivétel miatt. Kérlek nézd meg a naplófájlt a további részletekért.
|
||||||
unlock.label.mountAfterUnlock = Mount Drive
|
unlock.label.revealAfterMount = Meghajtó megnyitása
|
||||||
unlock.label.revealAfterMount = Reveal Drive
|
unlocked.lock.force.confirmation.title = Sikertelen lezárás a következőnél\: %1$s
|
||||||
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
unlocked.lock.force.confirmation.header = Szeretné erőltetni a lezárást?
|
||||||
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
unlocked.lock.force.confirmation.content = Ez amiatt lehet, mert más programok még mindig használják a széfben lévő fájlokat vagy valamilyen egyéb probléma lépett fel.\n\nA programok, amik használják ezeket a fájlokat, nem működhetnek megfelelően vagy akár adatvesztés is előfordulhat.
|
||||||
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
unlock.label.unlockAfterStartup = Automatikus feloldás indításnál (kísérleti funkció)
|
||||||
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
unlock.errorMessage.unlockFailed = A feloldás nem sikerült. Nézze meg a naplófájlokat.
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
upgrade.version5toX.title = Széf verziófrissítés
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
upgrade.version5toX.msg = A széf új verzióra történő migrációja szükséges.\nKérlek győződj meg a szinkronizáció befejeztéről, mielőtt más műveletet végeznél.
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
main.createVault.nonEmptyDir.title = A széf létrehozása sikertelen
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
main.createVault.nonEmptyDir.header = A kiválasztott mappa nem üres
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
main.createVault.nonEmptyDir.content = A kiválasztott mappa már tartalmaz fájlokat (valószínűleg rejtett). A széf csak üres mappában hozható létre.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
unlock.label.mountPath = Elérési út csatlakoztatása
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
unlock.label.mountPathButton = Alkalmaz
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
|
||||||
unlock.label.mountPath = Mount Path
|
|
||||||
unlock.label.mountPathButton = Apply
|
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Automatikus választás
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Alkalmaz
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV séma
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Csatlakoztatási mód
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = A széf sikeresen létrehozva.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = A jelszó sikeresen megváltoztatva.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = A Cryptomator sikeresen frissítésre került.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Decriptaggio fallito
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Blocca vault
|
unlocked.button.lock = Blocca vault
|
||||||
unlocked.moreOptions.reveal = Apri il disco
|
unlocked.moreOptions.reveal = Apri il disco
|
||||||
unlocked.moreOptions.copyUrl = Copia url WebDAV
|
|
||||||
unlocked.label.revealFailed = Comando fallito
|
unlocked.label.revealFailed = Comando fallito
|
||||||
unlocked.label.unmountFailed = Espulsione disco fallita
|
unlocked.label.unmountFailed = Espulsione disco fallita
|
||||||
unlocked.label.statsEncrypted = criptato
|
unlocked.label.statsEncrypted = criptato
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Aggiornamento Vault da versione 3 a 4
|
|||||||
upgrade.version4to5.title = Aggiornamento da versione 4 a 5
|
upgrade.version4to5.title = Aggiornamento da versione 4 a 5
|
||||||
upgrade.version4to5.msg = Questo vault ha bisogno di essere migrato ad un formato piu' recente. Tutti i files criptati saranno aggiornati. Per favore assicurati che la sincronizzazione sia terminata prima di procedere.\n\nNota\: la data di modifica di tutti i files cambiera' alla data/ora attuale del processo.
|
upgrade.version4to5.msg = Questo vault ha bisogno di essere migrato ad un formato piu' recente. Tutti i files criptati saranno aggiornati. Per favore assicurati che la sincronizzazione sia terminata prima di procedere.\n\nNota\: la data di modifica di tutti i files cambiera' alla data/ora attuale del processo.
|
||||||
upgrade.version4to5.err.io = Migrazione fallita a causa di una eccezione I/O. Verifica il file di log per i dettagli.
|
upgrade.version4to5.err.io = Migrazione fallita a causa di una eccezione I/O. Verifica il file di log per i dettagli.
|
||||||
unlock.label.mountAfterUnlock = Monta il disco
|
|
||||||
unlock.label.revealAfterMount = Mostra il disco
|
unlock.label.revealAfterMount = Mostra il disco
|
||||||
unlocked.lock.force.confirmation.title = Il blocco di %1$s è fallito
|
unlocked.lock.force.confirmation.title = Il blocco di %1$s è fallito
|
||||||
unlocked.lock.force.confirmation.header = Vuoi forzare il blocco?
|
unlocked.lock.force.confirmation.header = Vuoi forzare il blocco?
|
||||||
unlocked.lock.force.confirmation.content = E' accaduto questo perchè altri programmi stanno ancora utilizzando i dati nel vault o perchè è accaduto un altro problema
|
unlocked.lock.force.confirmation.content = E' accaduto questo perchè altri programmi stanno ancora utilizzando i dati nel vault o perchè è accaduto un altro problema
|
||||||
unlock.label.unlockAfterStartup = Blocco automatico all'avvio (Sperimentale)
|
unlock.label.unlockAfterStartup = Blocco automatico all'avvio (Sperimentale)
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed = Sblocco fallito. Guarda il file log per i dettagli.
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
upgrade.version5toX.title = Aggiornamento di versione del Vault
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
upgrade.version5toX.msg = Questo vault deve migrare ad un nuovo formato.\nAssicurati che la sincronizzazione sia terminata prima di procedere.
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
main.createVault.nonEmptyDir.title = Creazione del vaul fallita
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
main.createVault.nonEmptyDir.header = La directory scelta non è vuota
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.content = La directory selezionata contiene già dei file (forse nascosti). Un vault può essere creato solo in una directory vuota.
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
unlock.label.mountPath = Monta il percorso
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
unlock.label.mountPathButton = Applica
|
||||||
unlock.label.mountPath = Mount Path
|
|
||||||
unlock.label.mountPathButton = Apply
|
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Scelta automatica
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Applica
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Mount-Methode *
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vaul creato con successo.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password modificata con successo.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator aggiornato con successo.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = 復号に失敗しました。
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = 金庫の施錠
|
unlocked.button.lock = 金庫の施錠
|
||||||
unlocked.moreOptions.reveal = ドライブの表示
|
unlocked.moreOptions.reveal = ドライブの表示
|
||||||
unlocked.moreOptions.copyUrl = WebDAV URL のコピー
|
|
||||||
unlocked.label.revealFailed = 入力エラー
|
unlocked.label.revealFailed = 入力エラー
|
||||||
unlocked.label.unmountFailed = ドライブの取り出しに失敗
|
unlocked.label.unmountFailed = ドライブの取り出しに失敗
|
||||||
unlocked.label.statsEncrypted = 暗号化済み
|
unlocked.label.statsEncrypted = 暗号化済み
|
||||||
@@ -86,15 +85,12 @@ upgrade.version3to4.title = 金庫をバージョン 3 から 4 にアップグ
|
|||||||
upgrade.version4to5.title = 金庫をバージョン 4 から 5 にアップグレード
|
upgrade.version4to5.title = 金庫をバージョン 4 から 5 にアップグレード
|
||||||
upgrade.version4to5.msg = この金庫は新しいフォーマットに移行する必要があります。\n暗号化されたファイルは更新されます。\n続行する前に同期が完了していることをご確認ください。\n\n注意:すべてのファイルの変更日は、現在の日付・時刻に変わります。
|
upgrade.version4to5.msg = この金庫は新しいフォーマットに移行する必要があります。\n暗号化されたファイルは更新されます。\n続行する前に同期が完了していることをご確認ください。\n\n注意:すべてのファイルの変更日は、現在の日付・時刻に変わります。
|
||||||
upgrade.version4to5.err.io = I/O の例外で移行に失敗しました。詳細はログをご確認ください。
|
upgrade.version4to5.err.io = I/O の例外で移行に失敗しました。詳細はログをご確認ください。
|
||||||
unlock.label.mountAfterUnlock = ドライブをマウント
|
|
||||||
unlock.label.revealAfterMount = ドライブの表示
|
unlock.label.revealAfterMount = ドライブの表示
|
||||||
unlocked.lock.force.confirmation.title = %1$s の施錠に失敗しました
|
unlocked.lock.force.confirmation.title = %1$s の施錠に失敗しました
|
||||||
unlocked.lock.force.confirmation.header = 強制的にロックしますか?
|
unlocked.lock.force.confirmation.header = 強制的にロックしますか?
|
||||||
unlocked.lock.force.confirmation.content = これは恐らく他のプログラムがこの金庫のファイルをまだアクセスしているか、あるいは別の問題が発生したためです。\n\nまだファイルにアクセスしているプログラムが正しく動作しない可能性があり、それらのプログラムによってまだ書き込まれていないデータが失われる可能性があります。
|
unlocked.lock.force.confirmation.content = これは恐らく他のプログラムがこの金庫のファイルをまだアクセスしているか、あるいは別の問題が発生したためです。\n\nまだファイルにアクセスしているプログラムが正しく動作しない可能性があり、それらのプログラムによってまだ書き込まれていないデータが失われる可能性があります。
|
||||||
unlock.label.unlockAfterStartup = 起動時に解錠 (実験的)
|
unlock.label.unlockAfterStartup = 起動時に解錠 (実験的)
|
||||||
unlock.errorMessage.unlockFailed = 施錠に失敗しました。詳細をログファイルで確認してください。
|
unlock.errorMessage.unlockFailed = 施錠に失敗しました。詳細をログファイルで確認してください。
|
||||||
unlocked.moreOptions.mount = ドライブのマウント
|
|
||||||
unlocked.moreOptions.unmount = ドライブの取り出し
|
|
||||||
upgrade.version5toX.title = 金庫のバージョンをアップグレード
|
upgrade.version5toX.title = 金庫のバージョンをアップグレード
|
||||||
upgrade.version5toX.msg = この金庫を新しいバージョンに移行する必要があります。\n進行する前に同期が完了していることをご確認ください。
|
upgrade.version5toX.msg = この金庫を新しいバージョンに移行する必要があります。\n進行する前に同期が完了していることをご確認ください。
|
||||||
main.createVault.nonEmptyDir.title = 金庫の作成が失敗しました
|
main.createVault.nonEmptyDir.title = 金庫の作成が失敗しました
|
||||||
@@ -109,6 +105,12 @@ settings.webdav.prefGvfsScheme.label = WebDAV スキーム
|
|||||||
settings.volume.label = マウント方法 *
|
settings.volume.label = マウント方法 *
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = 金庫が正常に作成されました。
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = パスワードが正常に変更されました。
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator が正常にアップグレードされました。
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = 암호화 해제 실패
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = 보관함 잠그기
|
unlocked.button.lock = 보관함 잠그기
|
||||||
unlocked.moreOptions.reveal = 드라이브 표시
|
unlocked.moreOptions.reveal = 드라이브 표시
|
||||||
unlocked.moreOptions.copyUrl = WebDAV 주소 복사
|
|
||||||
unlocked.label.revealFailed = 명령 실패
|
unlocked.label.revealFailed = 명령 실패
|
||||||
unlocked.label.unmountFailed = 드라이브 꺼내기 실패
|
unlocked.label.unmountFailed = 드라이브 꺼내기 실패
|
||||||
unlocked.label.statsEncrypted = 암호화
|
unlocked.label.statsEncrypted = 암호화
|
||||||
@@ -86,15 +85,12 @@ upgrade.version3to4.title = 보관함 버전 3에서 4로 업그레이드
|
|||||||
upgrade.version4to5.title = 보관함 버전 4에서 5로 업그레이드
|
upgrade.version4to5.title = 보관함 버전 4에서 5로 업그레이드
|
||||||
upgrade.version4to5.msg = 이 보관함은 새로운 형식으로 이전되어야 합니다.\n암호화된 파일들은 업데이트 될 것입니다.\n진행하기 전에 동기화가 완료되었는지 확인해주세요.\n\n참고\: 모든 파일의 수정 날짜는 과정 진행 중에 현재 날짜/시간으로 바뀔 것입니다.
|
upgrade.version4to5.msg = 이 보관함은 새로운 형식으로 이전되어야 합니다.\n암호화된 파일들은 업데이트 될 것입니다.\n진행하기 전에 동기화가 완료되었는지 확인해주세요.\n\n참고\: 모든 파일의 수정 날짜는 과정 진행 중에 현재 날짜/시간으로 바뀔 것입니다.
|
||||||
upgrade.version4to5.err.io = I/O 예외에 의해 마이그레이션 실패. 자세한 사항은 로그 파일을 참조하세요.
|
upgrade.version4to5.err.io = I/O 예외에 의해 마이그레이션 실패. 자세한 사항은 로그 파일을 참조하세요.
|
||||||
unlock.label.mountAfterUnlock = 드라이브 마운트
|
|
||||||
unlock.label.revealAfterMount = 드라이브 공개
|
unlock.label.revealAfterMount = 드라이브 공개
|
||||||
unlocked.lock.force.confirmation.title = %1$s 잠그기 실패
|
unlocked.lock.force.confirmation.title = %1$s 잠그기 실패
|
||||||
unlocked.lock.force.confirmation.header = 강제로 잠그시겠습니까?
|
unlocked.lock.force.confirmation.header = 강제로 잠그시겠습니까?
|
||||||
unlocked.lock.force.confirmation.content = 이는 다른 프로그램이 보관함 내의 파일을 접근하고 있거나, 다른 문제가 발생했기 때문일 수 있습니다.\n\n파일을 접근하고 있는 프로그램이 제대로 동작하지 않을 수 있으며, 프로그램이 쓰지 않은 데이터는 손실될 수 있습니다.
|
unlocked.lock.force.confirmation.content = 이는 다른 프로그램이 보관함 내의 파일을 접근하고 있거나, 다른 문제가 발생했기 때문일 수 있습니다.\n\n파일을 접근하고 있는 프로그램이 제대로 동작하지 않을 수 있으며, 프로그램이 쓰지 않은 데이터는 손실될 수 있습니다.
|
||||||
unlock.label.unlockAfterStartup = 시작 시 자동 잠금 해제 (실험적)
|
unlock.label.unlockAfterStartup = 시작 시 자동 잠금 해제 (실험적)
|
||||||
unlock.errorMessage.unlockFailed = 잠금 해제 실패. 자세한 사항은 로그 파일을 참조하세요.
|
unlock.errorMessage.unlockFailed = 잠금 해제 실패. 자세한 사항은 로그 파일을 참조하세요.
|
||||||
unlocked.moreOptions.mount = 드라이브 마운트
|
|
||||||
unlocked.moreOptions.unmount = 드라이브 꺼내기
|
|
||||||
upgrade.version5toX.title = 보관함 버전 업그레이드
|
upgrade.version5toX.title = 보관함 버전 업그레이드
|
||||||
upgrade.version5toX.msg = 이 보관함은 새로운 버전으로 이전되어야 합니다.\n진행하기 전에 동기화가 완료되었는지 확인해주세요.
|
upgrade.version5toX.msg = 이 보관함은 새로운 버전으로 이전되어야 합니다.\n진행하기 전에 동기화가 완료되었는지 확인해주세요.
|
||||||
main.createVault.nonEmptyDir.title = 보관함 생성 실패
|
main.createVault.nonEmptyDir.title = 보관함 생성 실패
|
||||||
@@ -112,3 +108,9 @@ settings.volume.fuse = FUSE
|
|||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Atšifrēšana neizdevās
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Aizslēgt glabātuvi
|
unlocked.button.lock = Aizslēgt glabātuvi
|
||||||
unlocked.moreOptions.reveal = Atklāt disku
|
unlocked.moreOptions.reveal = Atklāt disku
|
||||||
unlocked.moreOptions.copyUrl = Kopēt WebDAV saiti
|
|
||||||
unlocked.label.revealFailed = Komunikācija neizdevās
|
unlocked.label.revealFailed = Komunikācija neizdevās
|
||||||
unlocked.label.unmountFailed = Diska izgrūšana neizdevās
|
unlocked.label.unmountFailed = Diska izgrūšana neizdevās
|
||||||
unlocked.label.statsEncrypted = šifrēts
|
unlocked.label.statsEncrypted = šifrēts
|
||||||
@@ -87,29 +86,32 @@ upgrade.version3to4.title = Glabātuves versijas 3 uz 4 atjauninājums
|
|||||||
upgrade.version4to5.title = Glabātuves versijas 4 uz 5 atjauninājums
|
upgrade.version4to5.title = Glabātuves versijas 4 uz 5 atjauninājums
|
||||||
upgrade.version4to5.msg = Šo glabātuvi nepieciešams migrēt uz jaunāku versiju.\nŠifrētās datnes tiks atjauninātas.\nPirms apstiprini, pārliecinies, ka ir beigusies sinhronizācija.\n\nPiezīme\: Visām datnēm modificēšanas datums tiks izmainīts uz šodienas datumu.
|
upgrade.version4to5.msg = Šo glabātuvi nepieciešams migrēt uz jaunāku versiju.\nŠifrētās datnes tiks atjauninātas.\nPirms apstiprini, pārliecinies, ka ir beigusies sinhronizācija.\n\nPiezīme\: Visām datnēm modificēšanas datums tiks izmainīts uz šodienas datumu.
|
||||||
upgrade.version4to5.err.io = Migrācijas kļīda dēļ I/O izņēmuma. Sīkāku informāciju skaties žurnālā.
|
upgrade.version4to5.err.io = Migrācijas kļīda dēļ I/O izņēmuma. Sīkāku informāciju skaties žurnālā.
|
||||||
unlock.label.mountAfterUnlock = Mount Drive
|
|
||||||
unlock.label.revealAfterMount = Reveal Drive
|
unlock.label.revealAfterMount = Reveal Drive
|
||||||
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
||||||
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
||||||
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
||||||
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
upgrade.version5toX.title = Vault Version Upgrade
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Creating vault failed
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -47,7 +47,6 @@ changePassword.errorMessage.decryptionFailed = Decoderen mislukt
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Vergrendel kluis
|
unlocked.button.lock = Vergrendel kluis
|
||||||
unlocked.moreOptions.reveal = Maak schijf zichtbaar
|
unlocked.moreOptions.reveal = Maak schijf zichtbaar
|
||||||
unlocked.moreOptions.copyUrl = Kopieer WebDAV URL
|
|
||||||
unlocked.label.revealFailed = Opdracht mislukt
|
unlocked.label.revealFailed = Opdracht mislukt
|
||||||
unlocked.label.unmountFailed = Uitwerpen schijf mislukt
|
unlocked.label.unmountFailed = Uitwerpen schijf mislukt
|
||||||
unlocked.label.statsEncrypted = versleuteld
|
unlocked.label.statsEncrypted = versleuteld
|
||||||
@@ -88,29 +87,32 @@ upgrade.version3to4.title = Kluis Versie 3 naar 4 Upgrade
|
|||||||
upgrade.version4to5.title = Kluis Versie 4 naar 5 Upgrade
|
upgrade.version4to5.title = Kluis Versie 4 naar 5 Upgrade
|
||||||
upgrade.version4to5.msg = Deze kluis moet gemigreerd worden naar een nieuw formaat.\nVersleutelde bestanden zullen bijgewerkt worden.\nZorg ervoor dat synchronisatie voltooid is alvorens verder te gaan.\n\nLet op\: Tijdens dit proces zal de wijzigingsdatum van alle bestanden gewijzigd worden naar de huidige datum/tijd.
|
upgrade.version4to5.msg = Deze kluis moet gemigreerd worden naar een nieuw formaat.\nVersleutelde bestanden zullen bijgewerkt worden.\nZorg ervoor dat synchronisatie voltooid is alvorens verder te gaan.\n\nLet op\: Tijdens dit proces zal de wijzigingsdatum van alle bestanden gewijzigd worden naar de huidige datum/tijd.
|
||||||
upgrade.version4to5.err.io = Migratie mislukt door een I/O Exception. Bekijk log file voor details.
|
upgrade.version4to5.err.io = Migratie mislukt door een I/O Exception. Bekijk log file voor details.
|
||||||
unlock.label.mountAfterUnlock = Schijf mounten
|
|
||||||
unlock.label.revealAfterMount = Maak schijf zichtbaar
|
unlock.label.revealAfterMount = Maak schijf zichtbaar
|
||||||
unlocked.lock.force.confirmation.title = Blokkeren van %1$s is mislukt
|
unlocked.lock.force.confirmation.title = Blokkeren van %1$s is mislukt
|
||||||
unlocked.lock.force.confirmation.header = Wil je vergrendelen forceren?
|
unlocked.lock.force.confirmation.header = Wil je vergrendelen forceren?
|
||||||
unlocked.lock.force.confirmation.content = Dit kan komen omdat er nog andere programma's de bestanden in de kluis gebruik hebben, of door een ander probleem.\n\nProgramma's die de bestanden nog in gebruik hebben werken mogelijk niet goed, en gegevens die nog niet opgeslagen zijn gaan mogelijk verloren.
|
unlocked.lock.force.confirmation.content = Dit kan komen omdat er nog andere programma's de bestanden in de kluis gebruik hebben, of door een ander probleem.\n\nProgramma's die de bestanden nog in gebruik hebben werken mogelijk niet goed, en gegevens die nog niet opgeslagen zijn gaan mogelijk verloren.
|
||||||
unlock.label.unlockAfterStartup = Auto-ontgrendelen bij starten (Expirimenteel)
|
unlock.label.unlockAfterStartup = Auto-ontgrendelen bij starten (Expirimenteel)
|
||||||
unlock.errorMessage.unlockFailed = Ontgrendelen mislukt. Zie log file voor details.
|
unlock.errorMessage.unlockFailed = Ontgrendelen mislukt. Zie log file voor details.
|
||||||
unlocked.moreOptions.mount = Schijf mounten
|
|
||||||
unlocked.moreOptions.unmount = Schijf uitwerpen
|
|
||||||
upgrade.version5toX.title = Upgraden versie kluis
|
upgrade.version5toX.title = Upgraden versie kluis
|
||||||
upgrade.version5toX.msg = Deze kluis moet gemigreerd worden naar een nieuwer formaat. Zorg dat de synchronisatie klaar is alvorens verder te gaan.
|
upgrade.version5toX.msg = Deze kluis moet gemigreerd worden naar een nieuwer formaat. Zorg dat de synchronisatie klaar is alvorens verder te gaan.
|
||||||
main.createVault.nonEmptyDir.title = Kluis aanmaken mislukt
|
main.createVault.nonEmptyDir.title = Kluis aanmaken mislukt
|
||||||
main.createVault.nonEmptyDir.header = De gekozen map is niet leeg
|
main.createVault.nonEmptyDir.header = De gekozen map is niet leeg
|
||||||
main.createVault.nonEmptyDir.content = De geselecteerde map bevat al bestanden (mogelijk verborgen). Een klluis kan alleen worden aangemaakt in een lege map.
|
main.createVault.nonEmptyDir.content = De geselecteerde map bevat al bestanden (mogelijk verborgen). Een klluis kan alleen worden aangemaakt in een lege map.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount pad
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Toepassen
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Poort
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Automatisch kiezen
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Toepassen
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Schema
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Voorkeurs Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = STOP
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Kluis was succesvol gecreeerd
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Wachtwoord is succesvol aangepast
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator succesvol vernieuwd.
|
||||||
|
unlock.label.useOwnMountPath = Gebruik een eigen koppelpunt
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Geintegreerde update check aanzetten
|
||||||
|
welcome.askForUpdateCheck.dialog.content = Om te controleren op updates haalt Cryptomator het huidige versienummer van de Cryptomatorservers en toont een hint indien een nieuwere versie beschikbaar is.\n\nWe raden aan om de geintegreerde update check aan te zetten om zeker te weten dat je de nieuwste versie van Cryptomator met alle beveiligings aanpassingen hebt geinstalleerd. Indien je deze niet aanzet kun je zelf de versie controleren en downloaden van https\://cryptomatr.org/downloads/.\n\n\nJe kan dit te allen tijden bij instellingen aanpassen.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Eigen koppel pad is niet ingevuld.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Błąd odszyfrowywania
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Zabezpiecz portfel
|
unlocked.button.lock = Zabezpiecz portfel
|
||||||
unlocked.moreOptions.reveal = Odkryj wolumen
|
unlocked.moreOptions.reveal = Odkryj wolumen
|
||||||
unlocked.moreOptions.copyUrl = Skopiuj URL WebDAV
|
|
||||||
unlocked.label.revealFailed = Błąd odkrywania wolumenu
|
unlocked.label.revealFailed = Błąd odkrywania wolumenu
|
||||||
unlocked.label.unmountFailed = Błąd odłączania wolumenu
|
unlocked.label.unmountFailed = Błąd odłączania wolumenu
|
||||||
unlocked.label.statsEncrypted = szyfrowane
|
unlocked.label.statsEncrypted = szyfrowane
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Aktualizacja portfela z wersji 3 do 4
|
|||||||
upgrade.version4to5.title = Aktualizacja portfela z wersji 4 do 5
|
upgrade.version4to5.title = Aktualizacja portfela z wersji 4 do 5
|
||||||
upgrade.version4to5.msg = Ten portfel wymaga aktualizacji do nowszej wersji. \nZaszyfrowane nazwy folderów zostaną zmienione.\nZanim rozpoczniesz migracje, upewnij się, że synchronizacja plików została ukończona.\n\nUwaga\: W procesie aktualizacji data modyfikacji wszystkich plików zmieni się na biezącą datę/czas.
|
upgrade.version4to5.msg = Ten portfel wymaga aktualizacji do nowszej wersji. \nZaszyfrowane nazwy folderów zostaną zmienione.\nZanim rozpoczniesz migracje, upewnij się, że synchronizacja plików została ukończona.\n\nUwaga\: W procesie aktualizacji data modyfikacji wszystkich plików zmieni się na biezącą datę/czas.
|
||||||
upgrade.version4to5.err.io = Błąd aktualizacji z powodu problemów z odczytem/zapisem. Szczegóły błędu znajdziesz w logach.
|
upgrade.version4to5.err.io = Błąd aktualizacji z powodu problemów z odczytem/zapisem. Szczegóły błędu znajdziesz w logach.
|
||||||
unlock.label.mountAfterUnlock = Zamontuj dysk
|
|
||||||
unlock.label.revealAfterMount = Pokaż dysk
|
unlock.label.revealAfterMount = Pokaż dysk
|
||||||
unlocked.lock.force.confirmation.title = Zablokowywanie %1$s nie powiodło się
|
unlocked.lock.force.confirmation.title = Zablokowywanie %1$s nie powiodło się
|
||||||
unlocked.lock.force.confirmation.header = Czy chcesz wymusić zablokowanie?
|
unlocked.lock.force.confirmation.header = Czy chcesz wymusić zablokowanie?
|
||||||
unlocked.lock.force.confirmation.content = Może się tak dziać dlatego, że inne programy wciąż korzystają z plików z portfela lub wystąpił inny problem.\n\nProgramy wciąż korzystające z plików mogą przestać działać poprawnie, a nie zapisane przez nie dane mogą zostać utracone.
|
unlocked.lock.force.confirmation.content = Może się tak dziać dlatego, że inne programy wciąż korzystają z plików z portfela lub wystąpił inny problem.\n\nProgramy wciąż korzystające z plików mogą przestać działać poprawnie, a nie zapisane przez nie dane mogą zostać utracone.
|
||||||
unlock.label.unlockAfterStartup = Auto-odblokowywanie podczas uruchamiania (Eksperymentalne)
|
unlock.label.unlockAfterStartup = Auto-odblokowywanie podczas uruchamiania (Eksperymentalne)
|
||||||
unlock.errorMessage.unlockFailed = Błąd odblokowywania. Szczegóły błędu znajdziesz w logach.
|
unlock.errorMessage.unlockFailed = Błąd odblokowywania. Szczegóły błędu znajdziesz w logach.
|
||||||
unlocked.moreOptions.mount = Podłącz dysk
|
|
||||||
unlocked.moreOptions.unmount = Odłącz dysk
|
|
||||||
upgrade.version5toX.title = Aktualizacja wersji portfela
|
upgrade.version5toX.title = Aktualizacja wersji portfela
|
||||||
upgrade.version5toX.msg = Ten portfel wymaga aktualizacji do nowszej wersji.\nZanim rozpoczniesz migracje upewnij się, że synchronizacja plików została ukończona.
|
upgrade.version5toX.msg = Ten portfel wymaga aktualizacji do nowszej wersji.\nZanim rozpoczniesz migracje upewnij się, że synchronizacja plików została ukończona.
|
||||||
main.createVault.nonEmptyDir.title = Błąd podczas tworzenia portfela
|
main.createVault.nonEmptyDir.title = Błąd podczas tworzenia portfela
|
||||||
main.createVault.nonEmptyDir.header = Wybrany katalog nie jest pusty
|
main.createVault.nonEmptyDir.header = Wybrany katalog nie jest pusty
|
||||||
main.createVault.nonEmptyDir.content = Wybrany katalog aktualnie zawiera pliki (prawdopodobnie ukryte). Portfel mozna utworzyć wyłącznie w puatym katalogu.
|
main.createVault.nonEmptyDir.content = Wybrany katalog aktualnie zawiera pliki (prawdopodobnie ukryte). Portfel mozna utworzyć wyłącznie w puatym katalogu.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Falha ao descriptografar
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Fechar cofre
|
unlocked.button.lock = Fechar cofre
|
||||||
unlocked.moreOptions.reveal = Mostrar drive
|
unlocked.moreOptions.reveal = Mostrar drive
|
||||||
unlocked.moreOptions.copyUrl = Copiar URL WebDAV
|
|
||||||
unlocked.label.revealFailed = Falha de comando
|
unlocked.label.revealFailed = Falha de comando
|
||||||
unlocked.label.unmountFailed = Falha ao ejetar drive
|
unlocked.label.unmountFailed = Falha ao ejetar drive
|
||||||
unlocked.label.statsEncrypted = Criptografado
|
unlocked.label.statsEncrypted = Criptografado
|
||||||
@@ -86,15 +85,12 @@ upgrade.version3to4.title = Atualização do cofre da versão 3 para 4
|
|||||||
upgrade.version4to5.title = Atualização do cofre da versão 4 para 5
|
upgrade.version4to5.title = Atualização do cofre da versão 4 para 5
|
||||||
upgrade.version4to5.msg = Este cofre precisa ser migrado a um novo formato.\nOs arquivos criptografados serão atualizados.\nPor favor, assegure que a sincronização do cofre esteja finalizada antes de proceder com a migração para o novo formato.\n\nNota\: A data de modificação de todos os arquivos do cofre será alterada durante o processo para a data e hora corrente.
|
upgrade.version4to5.msg = Este cofre precisa ser migrado a um novo formato.\nOs arquivos criptografados serão atualizados.\nPor favor, assegure que a sincronização do cofre esteja finalizada antes de proceder com a migração para o novo formato.\n\nNota\: A data de modificação de todos os arquivos do cofre será alterada durante o processo para a data e hora corrente.
|
||||||
upgrade.version4to5.err.io = A migração falhou devido a uma exceção de I/O. Ver arquivo de log para mais detalhes.
|
upgrade.version4to5.err.io = A migração falhou devido a uma exceção de I/O. Ver arquivo de log para mais detalhes.
|
||||||
unlock.label.mountAfterUnlock = Montar o Drive
|
|
||||||
unlock.label.revealAfterMount = Mostrar o Drive
|
unlock.label.revealAfterMount = Mostrar o Drive
|
||||||
unlocked.lock.force.confirmation.title = O bloqueio do %1$s falhou
|
unlocked.lock.force.confirmation.title = O bloqueio do %1$s falhou
|
||||||
unlocked.lock.force.confirmation.header = Você quer forçar o bloqueio?
|
unlocked.lock.force.confirmation.header = Você quer forçar o bloqueio?
|
||||||
unlocked.lock.force.confirmation.content = Isto pode ser causado por outros programas que seguem acessando arquivos no cofre ou porque algum outro problema ocorreu.\n\nProgramas que seguem acessando os arquivos podem não funcionar corretamente e os dados ainda não gravados por estes programas podem ser perdidos.
|
unlocked.lock.force.confirmation.content = Isto pode ser causado por outros programas que seguem acessando arquivos no cofre ou porque algum outro problema ocorreu.\n\nProgramas que seguem acessando os arquivos podem não funcionar corretamente e os dados ainda não gravados por estes programas podem ser perdidos.
|
||||||
unlock.label.unlockAfterStartup = Auto-desbloqueio ao Iniciar (Experimental)
|
unlock.label.unlockAfterStartup = Auto-desbloqueio ao Iniciar (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = O desbloqueio falhou. Veja o log para mais detalhes.
|
unlock.errorMessage.unlockFailed = O desbloqueio falhou. Veja o log para mais detalhes.
|
||||||
unlocked.moreOptions.mount = Montar o Drive
|
|
||||||
unlocked.moreOptions.unmount = Ejetar o Drive
|
|
||||||
upgrade.version5toX.title = Atualização da Versão do Cofre
|
upgrade.version5toX.title = Atualização da Versão do Cofre
|
||||||
upgrade.version5toX.msg = Este cofre precisa ser migrado a um novo formato. Por favor assegure que a sincronização foi finalizada antes de proceder.
|
upgrade.version5toX.msg = Este cofre precisa ser migrado a um novo formato. Por favor assegure que a sincronização foi finalizada antes de proceder.
|
||||||
main.createVault.nonEmptyDir.title = Falha ao criar o cofre
|
main.createVault.nonEmptyDir.title = Falha ao criar o cofre
|
||||||
@@ -112,3 +108,9 @@ settings.volume.fuse = FUSE
|
|||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -18,7 +18,7 @@ initialize.messageLabel.initializationFailed = Cofre não inicializado. Veja os
|
|||||||
notfound.label = Cofre não encontrado. Ele foi movido?
|
notfound.label = Cofre não encontrado. Ele foi movido?
|
||||||
# upgrade.fxml
|
# upgrade.fxml
|
||||||
upgrade.button = Atualizar Cofre
|
upgrade.button = Atualizar Cofre
|
||||||
upgrade.version3dropBundleExtension.msg = O Cofre precisa ser migrado para o novo formato.\n%1$s" será renomeado para "%2$s".\nPor favor tenha certeza que a sincronização está finalizada antes de prosseguir.
|
upgrade.version3dropBundleExtension.msg = O Cofre precisa ser migrado para o novo formato.\n%1$s" será renomeado para "%2$s".\nPor favor certifique que a sincronização está finalizada antes de prosseguir.
|
||||||
upgrade.version3dropBundleExtension.err.alreadyExists = A Migração automática falhou.\n"%s" já existe.
|
upgrade.version3dropBundleExtension.err.alreadyExists = A Migração automática falhou.\n"%s" já existe.
|
||||||
# unlock.fxml
|
# unlock.fxml
|
||||||
unlock.label.password = Senha
|
unlock.label.password = Senha
|
||||||
@@ -32,7 +32,7 @@ unlock.button.advancedOptions.hide = Menos Opções
|
|||||||
unlock.choicebox.winDriveLetter.auto = Atribuir automaticamente
|
unlock.choicebox.winDriveLetter.auto = Atribuir automaticamente
|
||||||
unlock.errorMessage.wrongPassword = Senha errada
|
unlock.errorMessage.wrongPassword = Senha errada
|
||||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Cofre não suportado. Esse Cofre foi criado em uma versão antiga do Cryptomator.
|
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Cofre não suportado. Esse Cofre foi criado em uma versão antiga do Cryptomator.
|
||||||
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Cofre não suportado. Esse Cofre foi criado em uma versão mais nova do Cryptomator.
|
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Cofre não suportado. Esse Cofre foi criado em uma versão mais recente do Cryptomator.
|
||||||
unlock.messageLabel.startServerFailed = A inicialização do servidor WebDAV falhou.
|
unlock.messageLabel.startServerFailed = A inicialização do servidor WebDAV falhou.
|
||||||
# change_password.fxml
|
# change_password.fxml
|
||||||
changePassword.label.oldPassword = Senha antiga
|
changePassword.label.oldPassword = Senha antiga
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Descriptografia falhou
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Travar Cofre
|
unlocked.button.lock = Travar Cofre
|
||||||
unlocked.moreOptions.reveal = Mostrar volume
|
unlocked.moreOptions.reveal = Mostrar volume
|
||||||
unlocked.moreOptions.copyUrl = Copiar URL do arquivo de sistema
|
|
||||||
unlocked.label.revealFailed = Falha no comando
|
unlocked.label.revealFailed = Falha no comando
|
||||||
unlocked.label.unmountFailed = A ejeção do volume falhou
|
unlocked.label.unmountFailed = A ejeção do volume falhou
|
||||||
unlocked.label.statsEncrypted = criptografado
|
unlocked.label.statsEncrypted = criptografado
|
||||||
@@ -66,10 +65,10 @@ initialize.messageLabel.passwordStrength.1 = Fraca
|
|||||||
initialize.messageLabel.passwordStrength.2 = Razoável
|
initialize.messageLabel.passwordStrength.2 = Razoável
|
||||||
initialize.messageLabel.passwordStrength.3 = Forte
|
initialize.messageLabel.passwordStrength.3 = Forte
|
||||||
initialize.messageLabel.passwordStrength.4 = Muito forte
|
initialize.messageLabel.passwordStrength.4 = Muito forte
|
||||||
initialize.label.doNotForget = IMPORTANTE\: Se você perder a sua senha, não haverá maneira alguma de recuperar seus dados.
|
initialize.label.doNotForget = IMPORTANTE\: NÂO existe maneira alguma de recuperar seus dados se você perder a sua senha,
|
||||||
main.directoryList.remove.confirmation.title = Remover Cofre
|
main.directoryList.remove.confirmation.title = Remover Cofre
|
||||||
main.directoryList.remove.confirmation.header = Você realmente quer remover esse Cofre?
|
main.directoryList.remove.confirmation.header = Você realmente quer remover esse Cofre?
|
||||||
main.directoryList.remove.confirmation.content = O Cofre será removido somente da listagem. Para apagá-lo permanentemente, por favor apague o cofre do arquivo de sistemas.
|
main.directoryList.remove.confirmation.content = O Cofre será removido somente da listagem. Para apagá-lo permanentemente é necessario apagá-lo de seu arquivo de sistema.
|
||||||
upgrade.version3to4.msg = Esse Cofre precisa ser migrado para o novo formato.\nOs nomes das pastas criptografadas serão atualizados.\nPor favor tenha certeza que a sincronização está finalizada antes de prosseguir.
|
upgrade.version3to4.msg = Esse Cofre precisa ser migrado para o novo formato.\nOs nomes das pastas criptografadas serão atualizados.\nPor favor tenha certeza que a sincronização está finalizada antes de prosseguir.
|
||||||
upgrade.version3to4.err.io = A migração falhou devido a uma falha de entrada e saída. Veja o arquivo de log para mais detalhes.
|
upgrade.version3to4.err.io = A migração falhou devido a uma falha de entrada e saída. Veja o arquivo de log para mais detalhes.
|
||||||
# upgrade.fxml
|
# upgrade.fxml
|
||||||
@@ -79,24 +78,21 @@ unlock.errorMessage.unauthenticVersionMac = Não foi possível autenticar a vers
|
|||||||
unlocked.label.mountFailed = Conexão do volume falhou
|
unlocked.label.mountFailed = Conexão do volume falhou
|
||||||
unlock.savePassword.delete.confirmation.title = Apaga senha salva
|
unlock.savePassword.delete.confirmation.title = Apaga senha salva
|
||||||
unlock.savePassword.delete.confirmation.header = Você realmente quer apagar a senha salva para esse Cofre?
|
unlock.savePassword.delete.confirmation.header = Você realmente quer apagar a senha salva para esse Cofre?
|
||||||
unlock.savePassword.delete.confirmation.content = A senha salva para esse Cofre será imediatamente apagada do chaveiro do sistema. Se você quiser salvar a senha novamente, é preciso destravar o Cofre com a opção "Salvar senha" ativada.
|
unlock.savePassword.delete.confirmation.content = A senha salva para esse Cofre será imediatamente apagada. Para salvar a senha novamente destrave o Cofre com a opção "Salvar senha" ativada.
|
||||||
settings.debugMode.label = Modo Debug *
|
settings.debugMode.label = Modo Debug *
|
||||||
upgrade.version3dropBundleExtension.title = Atualização do Cofre v3 (Drop Bundle Extension)
|
upgrade.version3dropBundleExtension.title = Atualização do Cofre v3 (Drop Bundle Extension)
|
||||||
upgrade.version3to4.title = Atualização do Cofre v3 para v4
|
upgrade.version3to4.title = Atualização do Cofre v3 para v4
|
||||||
upgrade.version4to5.title = Atualização do Cofre v4 para v5
|
upgrade.version4to5.title = Atualização do Cofre v4 para v5
|
||||||
upgrade.version4to5.msg = Este Cofre precisa ser migrado para o novo formato.\nOs arquivos criptografados serão atualizados.\nPor favor tenha certeza que a sincronização está finalizada antes de prosseguir. \n\nNota\: A data de modificação de todos os arquivos serão alteradas para a data/hora atual no processo.
|
upgrade.version4to5.msg = Este Cofre precisa ser migrado para o novo formato.\nOs arquivos criptografados serão atualizados.\nPor favor tenha certeza que a sincronização está finalizada antes de prosseguir. \n\nNota\: A data de modificação de todos os arquivos serão alteradas para a data/hora atual no processo.
|
||||||
upgrade.version4to5.err.io = A migração falhou devido a uma falha de entrada e saída. Veja o arquivo de log para mais detalhes.
|
upgrade.version4to5.err.io = A migração falhou devido a uma falha de entrada e saída. Veja o arquivo de log para mais detalhes.
|
||||||
unlock.label.mountAfterUnlock = Montar Volume
|
|
||||||
unlock.label.revealAfterMount = Abrir Volume
|
unlock.label.revealAfterMount = Abrir Volume
|
||||||
unlocked.lock.force.confirmation.title = O Travamento para %1$s falhou
|
unlocked.lock.force.confirmation.title = O Travamento para %1$s falhou
|
||||||
unlocked.lock.force.confirmation.header = Deseja forçar o travamento?
|
unlocked.lock.force.confirmation.header = Deseja forçar o travamento?
|
||||||
unlocked.lock.force.confirmation.content = Isso pode está ocorrendo porque arquivos no Cofre ainda estão sendo acessados ou algum outro problema ocorreu.\n\nProgramas que ainda estão acessando os arquivos podem não funcionar corretamente e os dados não gravados podem ser perdidos.
|
unlocked.lock.force.confirmation.content = Isso pode está ocorrendo porque arquivos no Cofre ainda estão sendo acessados ou algum outro problema ocorreu.\n\nProgramas que ainda estão acessando os arquivos podem não funcionar corretamente e os dados não gravados podem ser perdidos.
|
||||||
unlock.label.unlockAfterStartup = Desbloquear ao iniciar (Experimental)
|
unlock.label.unlockAfterStartup = Desbloquear ao iniciar (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = Desbloqueio falhou. Consulte o arquivo de log para obter mais detalhes.
|
unlock.errorMessage.unlockFailed = Desbloqueio falhou. Consulte o arquivo de log para obter mais detalhes.
|
||||||
unlocked.moreOptions.mount = Montar Volume
|
|
||||||
unlocked.moreOptions.unmount = Ejetar Volume
|
|
||||||
upgrade.version5toX.title = Atualização da Versão do Cofre
|
upgrade.version5toX.title = Atualização da Versão do Cofre
|
||||||
upgrade.version5toX.msg = Esse Cofre precisa ser migrado para o novo formato.\nPor favor tenha certeza que a sincronização está finalizada antes de prosseguir.
|
upgrade.version5toX.msg = Esse Cofre precisa ser migrado para o novo formato.\nPor favor certifique que a sincronização está finalizada antes de prosseguir.
|
||||||
main.createVault.nonEmptyDir.title = Criação do cofre falhou
|
main.createVault.nonEmptyDir.title = Criação do cofre falhou
|
||||||
main.createVault.nonEmptyDir.header = O diretório escolhido não está vazio
|
main.createVault.nonEmptyDir.header = O diretório escolhido não está vazio
|
||||||
main.createVault.nonEmptyDir.content = O diretório selecionado já contém arquivos (possivelmente ocultos). Um cofre só pode ser criado em um diretório vazio.
|
main.createVault.nonEmptyDir.content = O diretório selecionado já contém arquivos (possivelmente ocultos). Um cofre só pode ser criado em um diretório vazio.
|
||||||
@@ -109,6 +105,12 @@ settings.webdav.prefGvfsScheme.label = WebDAV Esquema
|
|||||||
settings.volume.label = Método de Montagem *
|
settings.volume.label = Método de Montagem *
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Cofre foi criado com sucesso.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Senha for trocada com sucesso.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator foi atualizado com sucesso.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -11,7 +11,7 @@ welcome.checkForUpdates.label.currentlyChecking = Проверка обновл
|
|||||||
welcome.newVersionMessage = Версия %1$s доступна для загрузки.\nТекущая версия %2$s.
|
welcome.newVersionMessage = Версия %1$s доступна для загрузки.\nТекущая версия %2$s.
|
||||||
# initialize.fxml
|
# initialize.fxml
|
||||||
initialize.label.password = Пароль
|
initialize.label.password = Пароль
|
||||||
initialize.label.retypePassword = Повторите ввод пароля
|
initialize.label.retypePassword = Введите пароль ещё раз
|
||||||
initialize.button.ok = Создать хранилище
|
initialize.button.ok = Создать хранилище
|
||||||
initialize.messageLabel.alreadyInitialized = Хранилище уже инициализировано
|
initialize.messageLabel.alreadyInitialized = Хранилище уже инициализировано
|
||||||
initialize.messageLabel.initializationFailed = Невозможно инициализировать хранилище. См. подробности в файле журнала.
|
initialize.messageLabel.initializationFailed = Невозможно инициализировать хранилище. См. подробности в файле журнала.
|
||||||
@@ -29,8 +29,8 @@ unlock.label.downloadsPageLink = Все версии Cryptomator
|
|||||||
# Дополнительные параметры
|
# Дополнительные параметры
|
||||||
unlock.label.advancedHeading = Дополнительно
|
unlock.label.advancedHeading = Дополнительно
|
||||||
unlock.button.unlock = Разблокировать хранилище
|
unlock.button.unlock = Разблокировать хранилище
|
||||||
unlock.button.advancedOptions.show = Дополнительные опции
|
unlock.button.advancedOptions.show = Больше опций
|
||||||
unlock.button.advancedOptions.hide = Убрать настройки
|
unlock.button.advancedOptions.hide = Меньше опций
|
||||||
unlock.choicebox.winDriveLetter.auto = Автоназначение
|
unlock.choicebox.winDriveLetter.auto = Автоназначение
|
||||||
unlock.errorMessage.wrongPassword = Неверный пароль
|
unlock.errorMessage.wrongPassword = Неверный пароль
|
||||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Неподдерживаемое хранилище. Оно было создано в более старой версии Cryptomator.
|
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Неподдерживаемое хранилище. Оно было создано в более старой версии Cryptomator.
|
||||||
@@ -48,7 +48,6 @@ changePassword.errorMessage.decryptionFailed = Ошибка дешифрован
|
|||||||
unlocked.button.lock = Заблокировать хранилище
|
unlocked.button.lock = Заблокировать хранилище
|
||||||
# Does it mean "open" drive?
|
# Does it mean "open" drive?
|
||||||
unlocked.moreOptions.reveal = Открыть диск
|
unlocked.moreOptions.reveal = Открыть диск
|
||||||
unlocked.moreOptions.copyUrl = Скопировать URL-адрес WebDAV
|
|
||||||
unlocked.label.revealFailed = Не удалось выполнить команду
|
unlocked.label.revealFailed = Не удалось выполнить команду
|
||||||
unlocked.label.unmountFailed = Ошибка извлечения диска
|
unlocked.label.unmountFailed = Ошибка извлечения диска
|
||||||
unlocked.label.statsEncrypted = зашифровано
|
unlocked.label.statsEncrypted = зашифровано
|
||||||
@@ -61,10 +60,10 @@ settings.requiresRestartLabel = * Требуется перезапуск Crypto
|
|||||||
# tray icon
|
# tray icon
|
||||||
tray.menu.open = Открыть
|
tray.menu.open = Открыть
|
||||||
tray.menu.quit = Выход
|
tray.menu.quit = Выход
|
||||||
tray.infoMsg.title = Все еще выполняется
|
tray.infoMsg.title = Всё ещё выполняется
|
||||||
# Не нужно использовать жаргонизмы, а также прибегать к вкусовой правке.
|
# Не нужно использовать жаргонизмы, а также прибегать к вкусовой правке.
|
||||||
tray.infoMsg.msg = Cryptomator еще работает. Выйдите при помощи иконки в трее.
|
tray.infoMsg.msg = Cryptomator всё ещё работает. Выйдите c помощью значка в области уведомлений.
|
||||||
tray.infoMsg.msg.osx = Cryptomator еще работает. Выйдите при помощи значка в строке меню.
|
tray.infoMsg.msg.osx = Cryptomator всё ещё работает. Выйдите с помощью значка в строке меню.
|
||||||
initialize.messageLabel.passwordStrength.0 = Очень слабый
|
initialize.messageLabel.passwordStrength.0 = Очень слабый
|
||||||
initialize.messageLabel.passwordStrength.1 = Слабый
|
initialize.messageLabel.passwordStrength.1 = Слабый
|
||||||
initialize.messageLabel.passwordStrength.2 = Приемлемый
|
initialize.messageLabel.passwordStrength.2 = Приемлемый
|
||||||
@@ -82,25 +81,22 @@ unlock.label.savePassword = Сохранить пароль
|
|||||||
unlock.errorMessage.unauthenticVersionMac = Не удалось проверить подлинность версии MAC.
|
unlock.errorMessage.unauthenticVersionMac = Не удалось проверить подлинность версии MAC.
|
||||||
unlocked.label.mountFailed = Ошибка подключения к диску
|
unlocked.label.mountFailed = Ошибка подключения к диску
|
||||||
# А как назвать эту правку? Пожалуйста, перестаньте портить перевод.
|
# А как назвать эту правку? Пожалуйста, перестаньте портить перевод.
|
||||||
unlock.savePassword.delete.confirmation.title = Удалить сохраненный пароль
|
unlock.savePassword.delete.confirmation.title = Удалить сохранённый пароль
|
||||||
unlock.savePassword.delete.confirmation.header = Вы действительно хотите удалить сохраненный пароль этого хранилища?
|
unlock.savePassword.delete.confirmation.header = Вы действительно хотите удалить сохранённый пароль этого хранилища?
|
||||||
unlock.savePassword.delete.confirmation.content = Сохраненный пароль этого хранилища будет немедленно удален из вашей системной связки ключей. Если вы снова захотите сохранить пароль, вам придется разблокировать хранилище с включенным параметром "Сохранить пароль".
|
unlock.savePassword.delete.confirmation.content = Сохранённый пароль этого хранилища будет немедленно удалён из вашей системной связки ключей. Если вы снова захотите сохранить пароль, вам придётся разблокировать хранилище с включённым параметром "Сохранить пароль".
|
||||||
settings.debugMode.label = Режим отладки *
|
settings.debugMode.label = Режим отладки *
|
||||||
upgrade.version3dropBundleExtension.title = Обновление хранилища версии 3 (расширение пакета)
|
upgrade.version3dropBundleExtension.title = Обновление хранилища версии 3 (расширение пакета)
|
||||||
upgrade.version3to4.title = Обновление хранилища с версии 3 на 4
|
upgrade.version3to4.title = Обновление хранилища с версии 3 на 4
|
||||||
upgrade.version4to5.title = Обновление хранилища с версии 4 на 5
|
upgrade.version4to5.title = Обновление хранилища с версии 4 на 5
|
||||||
upgrade.version4to5.msg = Это хранилище нужно преобразовать в более новый формат.\nЗашифрованные файлы будут обновлены.\nПрежде чем продолжить, убедитесь, что завершена синхронизация.\n\nПримечание\: дата и время изменения всех файлов будут изменены на текущие на момент обработки.
|
upgrade.version4to5.msg = Это хранилище нужно преобразовать в более новый формат.\nЗашифрованные файлы будут обновлены.\nПрежде чем продолжить, убедитесь, что завершена синхронизация.\n\nПримечание\: дата и время изменения всех файлов будут изменены на текущие на момент обработки.
|
||||||
upgrade.version4to5.err.io = Преобразование не выполнено из-за ошибки ввода-вывода. См. подробности в файле журнала.
|
upgrade.version4to5.err.io = Преобразование не выполнено из-за ошибки ввода-вывода. См. подробности в файле журнала.
|
||||||
unlock.label.mountAfterUnlock = Смонтировать диск
|
|
||||||
unlock.label.revealAfterMount = Открыть диск
|
unlock.label.revealAfterMount = Открыть диск
|
||||||
unlocked.lock.force.confirmation.title = Ошибка блокировки %1$s
|
unlocked.lock.force.confirmation.title = Ошибка блокировки %1$s
|
||||||
unlocked.lock.force.confirmation.header = Заблокировать принудительно?
|
unlocked.lock.force.confirmation.header = Заблокировать принудительно?
|
||||||
unlocked.lock.force.confirmation.content = Это может быть вызвано тем, что другие программы по-прежнему обращаются к файлам в хранилище или из-за некоторых других проблем.\n\nТакие программы могут работать неправильно, а данные, которые еще не были записаны могут быть потеряны.
|
unlocked.lock.force.confirmation.content = Возможно, к файлам в хранилище всё ещё обращаются другие программы, либо возникла иная проблема. Такие программы могут работать неправильно, а не записанные ими данные могут быть потеряны.
|
||||||
# Авторазблокировка при старте (экспериментально)
|
# Авторазблокировка при старте (экспериментально)
|
||||||
unlock.label.unlockAfterStartup = Авторазблокировка при запуске (экспериментально)
|
unlock.label.unlockAfterStartup = Авторазблокировка при запуске (экспериментально)
|
||||||
unlock.errorMessage.unlockFailed = Ошибка разблокировки. См. подробности в файле журнала.
|
unlock.errorMessage.unlockFailed = Ошибка разблокировки. См. подробности в файле журнала.
|
||||||
unlocked.moreOptions.mount = Смонтировать диск
|
|
||||||
unlocked.moreOptions.unmount = Извлечь диск
|
|
||||||
upgrade.version5toX.title = Обновление версии хранилища
|
upgrade.version5toX.title = Обновление версии хранилища
|
||||||
upgrade.version5toX.msg = Это хранилище нужно преобразовать в новый формат. Прежде чем продолжить, убедитесь, что завершена синхронизация.
|
upgrade.version5toX.msg = Это хранилище нужно преобразовать в новый формат. Прежде чем продолжить, убедитесь, что завершена синхронизация.
|
||||||
main.createVault.nonEmptyDir.title = Ошибка создания хранилища
|
main.createVault.nonEmptyDir.title = Ошибка создания хранилища
|
||||||
@@ -116,6 +112,12 @@ settings.webdav.prefGvfsScheme.label = Схема WebDAV
|
|||||||
settings.volume.label = Метод монтирования*
|
settings.volume.label = Метод монтирования*
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Хранилище успешно создано.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Пароль успешно изменён.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Обновление Cryptomator успешно выполнено.
|
||||||
|
unlock.label.useOwnMountPath = Своя точка монтирования
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Проверка обновлений
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Включить встроенную проверку обновлений?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = Для проверки наличия обновлений Cryptomator будет получать номер текущей версии со своих серверов и показывать подсказку, что доступна более новая версия.\n\nРекомендуем включить проверку обновлений, чтобы быть уверенным, что у вас всегда новейшая версия программы, содержащая все патчи безопасности. Если вы не хотите включать проверку обновлений, то проверить наличие новой версии и загрузить её можно по адресу https\://cryptomator.org/downloads/\n\nЭтот параметр можно всегда изменить в настройках программы.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Не установлен индивидуальный путь монтирования.
|
||||||
@@ -48,7 +48,6 @@ changePassword.errorMessage.decryptionFailed = Dešifrovanie zlyhalo.
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Zamknúť trezor
|
unlocked.button.lock = Zamknúť trezor
|
||||||
unlocked.moreOptions.reveal = Odhaliť jednotku
|
unlocked.moreOptions.reveal = Odhaliť jednotku
|
||||||
unlocked.moreOptions.copyUrl = Kopírovať WebDAV URL
|
|
||||||
unlocked.label.revealFailed = Príkaz zlyhal
|
unlocked.label.revealFailed = Príkaz zlyhal
|
||||||
unlocked.label.unmountFailed = Odpájanie jednotky zlyhalo
|
unlocked.label.unmountFailed = Odpájanie jednotky zlyhalo
|
||||||
unlocked.label.statsEncrypted = zašifrované
|
unlocked.label.statsEncrypted = zašifrované
|
||||||
@@ -89,29 +88,32 @@ upgrade.version3to4.title = Vault Version 3 to 4 Upgrade
|
|||||||
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
||||||
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
||||||
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
||||||
unlock.label.mountAfterUnlock = Mount Drive
|
|
||||||
unlock.label.revealAfterMount = Reveal Drive
|
unlock.label.revealAfterMount = Reveal Drive
|
||||||
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
||||||
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
||||||
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
||||||
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
upgrade.version5toX.title = Vault Version Upgrade
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Creating vault failed
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = การถอดรหัสล
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = ล็อคกล่องข้อมูล
|
unlocked.button.lock = ล็อคกล่องข้อมูล
|
||||||
unlocked.moreOptions.reveal = โชว์ไดรฟ์
|
unlocked.moreOptions.reveal = โชว์ไดรฟ์
|
||||||
unlocked.moreOptions.copyUrl = คัดลอก WebDEV ลิ้งค์
|
|
||||||
unlocked.label.revealFailed = คำสั่งล้มเหลว
|
unlocked.label.revealFailed = คำสั่งล้มเหลว
|
||||||
unlocked.label.unmountFailed = Eject ไดรว์ล้มเหลว
|
unlocked.label.unmountFailed = Eject ไดรว์ล้มเหลว
|
||||||
unlocked.label.statsEncrypted = เข้ารหัสแล้ว
|
unlocked.label.statsEncrypted = เข้ารหัสแล้ว
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = อัพเกรดกล่องข้อมู
|
|||||||
upgrade.version4to5.title = อัพเกรดกล่องข้อมูลเวอร์ชั่น 4 ไปยัง 5
|
upgrade.version4to5.title = อัพเกรดกล่องข้อมูลเวอร์ชั่น 4 ไปยัง 5
|
||||||
upgrade.version4to5.msg = กล่องข้อมูลนี้ต้องการอัพเกรดเป็นเวอร์ชั่นใหม่\nไฟล์เข้ารหัสจะได้รับการอัพเกรด\nกรุณารอการอัพเกรดให้เสร็จสิ้นก่อนเริ่มใช้งาน\n\nเพิ่มเติม\: วันที่ Modification ของไฟล์จะถูกเปลี่ยนเป็นเวลา ณ ปัจจุบัน
|
upgrade.version4to5.msg = กล่องข้อมูลนี้ต้องการอัพเกรดเป็นเวอร์ชั่นใหม่\nไฟล์เข้ารหัสจะได้รับการอัพเกรด\nกรุณารอการอัพเกรดให้เสร็จสิ้นก่อนเริ่มใช้งาน\n\nเพิ่มเติม\: วันที่ Modification ของไฟล์จะถูกเปลี่ยนเป็นเวลา ณ ปัจจุบัน
|
||||||
upgrade.version4to5.err.io = อัพเกรดล้มเหลวเนื่องจากข้อยกเว้น I/O ดูรายละเอียดได้ใน Log ไฟล์
|
upgrade.version4to5.err.io = อัพเกรดล้มเหลวเนื่องจากข้อยกเว้น I/O ดูรายละเอียดได้ใน Log ไฟล์
|
||||||
unlock.label.mountAfterUnlock = เมาท์ไดรฟ์
|
|
||||||
unlock.label.revealAfterMount = ไปยังไดรฟ์
|
unlock.label.revealAfterMount = ไปยังไดรฟ์
|
||||||
unlocked.lock.force.confirmation.title = ล็อค %1$s ล้มเหลว
|
unlocked.lock.force.confirmation.title = ล็อค %1$s ล้มเหลว
|
||||||
unlocked.lock.force.confirmation.header = คุณต้องการล็อคแบบ Force หรือไม่ ?
|
unlocked.lock.force.confirmation.header = คุณต้องการล็อคแบบ Force หรือไม่ ?
|
||||||
unlocked.lock.force.confirmation.content = เนื่องจากบางโปรแกรมกำลังเรียกใช้ไฟล์ในกล่องข้อมูลอยู่ในขณะนี้ หรือเนื่องจากปัญหาอื่นๆ\n\nโปรแกรมที่เรียกใช้ไฟล์อาจทำงานได้ไม่สมบูรณ์ ข้อมูลอาจสูญหายได้
|
unlocked.lock.force.confirmation.content = เนื่องจากบางโปรแกรมกำลังเรียกใช้ไฟล์ในกล่องข้อมูลอยู่ในขณะนี้ หรือเนื่องจากปัญหาอื่นๆ\n\nโปรแกรมที่เรียกใช้ไฟล์อาจทำงานได้ไม่สมบูรณ์ ข้อมูลอาจสูญหายได้
|
||||||
unlock.label.unlockAfterStartup = ปลดล็อคอัตโนมัติตอนเปิดคอม (Experimental)
|
unlock.label.unlockAfterStartup = ปลดล็อคอัตโนมัติตอนเปิดคอม (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = ปลดล็อคล้มเหลว ดูรายละเอียดได้ใน Log ไฟล์
|
unlock.errorMessage.unlockFailed = ปลดล็อคล้มเหลว ดูรายละเอียดได้ใน Log ไฟล์
|
||||||
unlocked.moreOptions.mount = เมาท์ไดรฟ์
|
|
||||||
unlocked.moreOptions.unmount = Eject ไดรฟ์
|
|
||||||
upgrade.version5toX.title = อัพเกรดเวอร์ชั่นกล่องข้อมูล
|
upgrade.version5toX.title = อัพเกรดเวอร์ชั่นกล่องข้อมูล
|
||||||
upgrade.version5toX.msg = กล่องข้อมูลต้องการอัพเกรดเป็นเวอร์ชั่นใหม่\nกรุณารอการอัพเกรดให้เสร็จสิ้นก่อนเริ่มใช้งาน
|
upgrade.version5toX.msg = กล่องข้อมูลต้องการอัพเกรดเป็นเวอร์ชั่นใหม่\nกรุณารอการอัพเกรดให้เสร็จสิ้นก่อนเริ่มใช้งาน
|
||||||
main.createVault.nonEmptyDir.title = การสร้างกล่องข้อมูลล้มเหลว
|
main.createVault.nonEmptyDir.title = การสร้างกล่องข้อมูลล้มเหลว
|
||||||
main.createVault.nonEmptyDir.header = โฟลเดอร์ที่เลือกมีไฟล์อยู่
|
main.createVault.nonEmptyDir.header = โฟลเดอร์ที่เลือกมีไฟล์อยู่
|
||||||
main.createVault.nonEmptyDir.content = โฟลเดอที่เลือกมีไฟล์อยู่ (อาจจะซ่อนอยู่)\nกล่องข้อมูลสามารถสร้างได้จากโฟลเดอร์เปล่าเท่านั้น
|
main.createVault.nonEmptyDir.content = โฟลเดอที่เลือกมีไฟล์อยู่ (อาจจะซ่อนอยู่)\nกล่องข้อมูลสามารถสร้างได้จากโฟลเดอร์เปล่าเท่านั้น
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Şifre çözme başarısız
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Kasayı kilitle
|
unlocked.button.lock = Kasayı kilitle
|
||||||
unlocked.moreOptions.reveal = Sürücüyü göster
|
unlocked.moreOptions.reveal = Sürücüyü göster
|
||||||
unlocked.moreOptions.copyUrl = WebDAV URl'sini kopyala
|
|
||||||
unlocked.label.revealFailed = Komut başarısız
|
unlocked.label.revealFailed = Komut başarısız
|
||||||
unlocked.label.unmountFailed = Sürücü çıkarma başarısız
|
unlocked.label.unmountFailed = Sürücü çıkarma başarısız
|
||||||
unlocked.label.statsEncrypted = şifrelenmiş
|
unlocked.label.statsEncrypted = şifrelenmiş
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Vault Version 3 to 4 Upgrade
|
|||||||
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
||||||
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
||||||
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
||||||
unlock.label.mountAfterUnlock = Mount Drive
|
|
||||||
unlock.label.revealAfterMount = Reveal Drive
|
unlock.label.revealAfterMount = Reveal Drive
|
||||||
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
||||||
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
||||||
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
||||||
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
upgrade.version5toX.title = Vault Version Upgrade
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Creating vault failed
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = Розшифрування нев
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = Заблокувати сховище
|
unlocked.button.lock = Заблокувати сховище
|
||||||
unlocked.moreOptions.reveal = Відкрити накопичувач
|
unlocked.moreOptions.reveal = Відкрити накопичувач
|
||||||
unlocked.moreOptions.copyUrl = Копіювати URL-адресу WebDAV
|
|
||||||
unlocked.label.revealFailed = Команда невдала
|
unlocked.label.revealFailed = Команда невдала
|
||||||
unlocked.label.unmountFailed = Вилучення диска невдале
|
unlocked.label.unmountFailed = Вилучення диска невдале
|
||||||
unlocked.label.statsEncrypted = зашифровано
|
unlocked.label.statsEncrypted = зашифровано
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Vault Version 3 to 4 Upgrade
|
|||||||
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
||||||
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
||||||
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
||||||
unlock.label.mountAfterUnlock = Mount Drive
|
|
||||||
unlock.label.revealAfterMount = Reveal Drive
|
unlock.label.revealAfterMount = Reveal Drive
|
||||||
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
||||||
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
||||||
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
||||||
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
upgrade.version5toX.title = Vault Version Upgrade
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Creating vault failed
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = 解密失败
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = 锁定资料库
|
unlocked.button.lock = 锁定资料库
|
||||||
unlocked.moreOptions.reveal = 打开驱动器
|
unlocked.moreOptions.reveal = 打开驱动器
|
||||||
unlocked.moreOptions.copyUrl = 复制 WebDAV 网址
|
|
||||||
unlocked.label.revealFailed = 指令无法执行
|
unlocked.label.revealFailed = 指令无法执行
|
||||||
unlocked.label.unmountFailed = 无法弹出驱动器
|
unlocked.label.unmountFailed = 无法弹出驱动器
|
||||||
unlocked.label.statsEncrypted = 已加密
|
unlocked.label.statsEncrypted = 已加密
|
||||||
@@ -87,29 +86,32 @@ upgrade.version3to4.title = 升级资料库到第四版
|
|||||||
upgrade.version4to5.title = 升级资料库到第五版
|
upgrade.version4to5.title = 升级资料库到第五版
|
||||||
upgrade.version4to5.msg = 此资料库需要升级至最新版本,\n已加密的数据将被更新。\n请确保同步完成后再继续操作。
|
upgrade.version4to5.msg = 此资料库需要升级至最新版本,\n已加密的数据将被更新。\n请确保同步完成后再继续操作。
|
||||||
upgrade.version4to5.err.io = 升级因 I/O 错误失败。请查看日志来获得详细信息。
|
upgrade.version4to5.err.io = 升级因 I/O 错误失败。请查看日志来获得详细信息。
|
||||||
unlock.label.mountAfterUnlock = 装载驱动器
|
|
||||||
unlock.label.revealAfterMount = 显示驱动器
|
unlock.label.revealAfterMount = 显示驱动器
|
||||||
unlocked.lock.force.confirmation.title = 无法锁定 %1$s
|
unlocked.lock.force.confirmation.title = 无法锁定 %1$s
|
||||||
unlocked.lock.force.confirmation.header = 要强制锁定吗?
|
unlocked.lock.force.confirmation.header = 要强制锁定吗?
|
||||||
unlocked.lock.force.confirmation.content = 此错误可能是因为其他应用程序仍在使用此资料库中的文件,或遇到了其他问题。\n\n如强制锁定,正在使用文件的应用程序可能会出错并丢失部分还没有保存的资料。
|
unlocked.lock.force.confirmation.content = 此错误可能是因为其他应用程序仍在使用此资料库中的文件,或遇到了其他问题。\n\n如强制锁定,正在使用文件的应用程序可能会出错并丢失部分还没有保存的资料。
|
||||||
unlock.label.unlockAfterStartup = 启动时自动解锁(试验功能)
|
unlock.label.unlockAfterStartup = 启动时自动解锁(试验功能)
|
||||||
unlock.errorMessage.unlockFailed = 无法解锁。请查看日志来获得详细信息。
|
unlock.errorMessage.unlockFailed = 无法解锁。请查看日志来获得详细信息。
|
||||||
unlocked.moreOptions.mount = 装载驱动器
|
|
||||||
unlocked.moreOptions.unmount = 弹出驱动器
|
|
||||||
upgrade.version5toX.title = 资料库版本升级
|
upgrade.version5toX.title = 资料库版本升级
|
||||||
upgrade.version5toX.msg = 此资料库需要升级至最新版本,\n请确保同步完成后再继续操作。
|
upgrade.version5toX.msg = 此资料库需要升级至最新版本,\n请确保同步完成后再继续操作。
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = 创建资料库失败
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = 选择的目录不为空
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = 选择的目录含有文件(可能是隐藏的)。资料库只能创建在空目录
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = 挂载路径
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = 设定
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = webDav端口
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0\=自动选择WebDav端口
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = 设定
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV计划
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = 首选卷类型
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = 资料库成功创建
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = 密码成功更改
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator 成功升级
|
||||||
|
unlock.label.useOwnMountPath = 无效的挂载点
|
||||||
|
welcome.askForUpdateCheck.dialog.title = 检查更新
|
||||||
|
welcome.askForUpdateCheck.dialog.header = 启用更新检查?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = 启用检查更新,Cryptomator将从Cryptomator服务器获取当前版本,并在有新版本时提示。\n我们建议您启用更新检查,以确保安装了最新版的Cryptomator,并安装了所有安全补丁。如果您未启用更新检查,则需要您自己到https\://cryptomator.org/downloads/ 检查并下载最新版本。\n你可以随时在设置中更改此设置。
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = 未设置单独的挂载路径
|
||||||
@@ -1,53 +1,52 @@
|
|||||||
app.name = Cryptomator
|
app.name = Cryptomator
|
||||||
# main.fxml
|
# main.fxml
|
||||||
main.emptyListInstructions = 按這裡新增檔案庫
|
main.emptyListInstructions = 撳呢度新增檔案夾萬
|
||||||
main.directoryList.contextMenu.remove = 從清單移除
|
main.directoryList.contextMenu.remove = 由清單移除
|
||||||
main.directoryList.contextMenu.changePassword = 變更密碼
|
main.directoryList.contextMenu.changePassword = 改密碼
|
||||||
main.addDirectory.contextMenu.new = 建立新的檔案庫
|
main.addDirectory.contextMenu.new = 建立新嘅檔案夾萬
|
||||||
main.addDirectory.contextMenu.open = 打開現有的檔案庫
|
main.addDirectory.contextMenu.open = 開啓現有嘅檔案夾萬
|
||||||
# welcome.fxml
|
# welcome.fxml
|
||||||
welcome.checkForUpdates.label.currentlyChecking = 檢查更新...
|
welcome.checkForUpdates.label.currentlyChecking = 檢查更新...
|
||||||
welcome.newVersionMessage = 版本%1$s可下載。這是%2$s。
|
welcome.newVersionMessage = 可以下載版本%1$s。呢個係%2$s。
|
||||||
# initialize.fxml
|
# initialize.fxml
|
||||||
initialize.label.password = 密碼
|
initialize.label.password = 密碼
|
||||||
initialize.label.retypePassword = 重新輸入密碼
|
initialize.label.retypePassword = 重新輸入密碼
|
||||||
initialize.button.ok = 建立檔案庫
|
initialize.button.ok = 建立檔案夾萬
|
||||||
initialize.messageLabel.alreadyInitialized = 已初始化檔案庫
|
initialize.messageLabel.alreadyInitialized = 檔案夾萬已初始化
|
||||||
initialize.messageLabel.initializationFailed = 無法初始化檔案庫。取得詳細資訊,請查看紀錄。
|
initialize.messageLabel.initializationFailed = 初始化唔到檔案夾萬。詳細資訊請睇記錄檔。
|
||||||
# notfound.fxml
|
# notfound.fxml
|
||||||
notfound.label = 無法找到檔案庫。已經移置別的地方?
|
notfound.label = 搵唔到檔案夾萬。係咪轉移咗去其他地方?
|
||||||
# upgrade.fxml
|
# upgrade.fxml
|
||||||
upgrade.button = 升級檔案庫
|
upgrade.button = 升級檔案夾萬
|
||||||
upgrade.version3dropBundleExtension.msg = 這個檔案庫需要被轉移到新的格式。\n"%1$s"將會重新命名為"%2$s"。\n在進行之前,請確認同步已完成。
|
upgrade.version3dropBundleExtension.msg = 這個檔案夾萬要轉換做新格式。\n"%1$s"將會改名為"%2$s"。\n請確認檔案同步完再繼續。
|
||||||
upgrade.version3dropBundleExtension.err.alreadyExists = 自動轉移失敗。\n"%s"已存在。
|
upgrade.version3dropBundleExtension.err.alreadyExists = 自動轉移失敗。\n"%s"已存在。
|
||||||
# unlock.fxml
|
# unlock.fxml
|
||||||
unlock.label.password = 密碼
|
unlock.label.password = 密碼
|
||||||
unlock.label.mountName = 磁碟名稱
|
unlock.label.mountName = 磁碟名
|
||||||
unlock.label.winDriveLetter = 磁碟代號
|
unlock.label.winDriveLetter = 磁碟代號
|
||||||
unlock.label.downloadsPageLink = 所有的Cryptomator版本
|
unlock.label.downloadsPageLink = 所有Cryptomator版本
|
||||||
unlock.label.advancedHeading = 進階選項
|
unlock.label.advancedHeading = 進階選項
|
||||||
unlock.button.unlock = 解鎖檔案庫
|
unlock.button.unlock = 解鎖檔案夾萬
|
||||||
unlock.button.advancedOptions.show = 更多選項
|
unlock.button.advancedOptions.show = 更多選項
|
||||||
unlock.button.advancedOptions.hide = 更少選項
|
unlock.button.advancedOptions.hide = 更少選項
|
||||||
unlock.choicebox.winDriveLetter.auto = 自動指定
|
unlock.choicebox.winDriveLetter.auto = 自動指定
|
||||||
unlock.errorMessage.wrongPassword = 錯誤的密碼
|
unlock.errorMessage.wrongPassword = 密碼錯誤
|
||||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = 不支援的檔案庫。這個檔案庫是由舊版本的Cryptomator所建立的。
|
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = 呢個檔案夾萬係由舊版Cryptomator創建嘅,並唔支援。
|
||||||
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = 不支援的檔案庫。這個檔案庫是由新版本的Cryptomator所建立的。
|
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = 呢個檔案夾萬係由新版Cryptomator創建嘅,並唔支援。
|
||||||
unlock.messageLabel.startServerFailed = 啟動WebDAV的伺服器失敗。
|
unlock.messageLabel.startServerFailed = 啓動唔到WebDAV嘅伺服器。
|
||||||
# change_password.fxml
|
# change_password.fxml
|
||||||
changePassword.label.oldPassword = 舊密碼
|
changePassword.label.oldPassword = 舊密碼
|
||||||
changePassword.label.newPassword = 新密碼
|
changePassword.label.newPassword = 新密碼
|
||||||
changePassword.label.retypePassword = 重新輸入密碼
|
changePassword.label.retypePassword = 重新輸入密碼
|
||||||
changePassword.label.downloadsPageLink = 所有的Cryptomator版本
|
changePassword.label.downloadsPageLink = 所有Cryptomator版本
|
||||||
changePassword.button.change = 變更密碼
|
changePassword.button.change = 改密碼
|
||||||
changePassword.errorMessage.wrongPassword = 錯誤的密碼
|
changePassword.errorMessage.wrongPassword = 密碼錯誤
|
||||||
changePassword.errorMessage.decryptionFailed = 解密失敗
|
changePassword.errorMessage.decryptionFailed = 解密失敗
|
||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = 鎖住檔案庫
|
unlocked.button.lock = 鎖起檔案夾萬
|
||||||
unlocked.moreOptions.reveal = 打開磁碟
|
unlocked.moreOptions.reveal = 打開磁碟
|
||||||
unlocked.moreOptions.copyUrl = 複製WebDAV的網址
|
|
||||||
unlocked.label.revealFailed = 指令錯誤
|
unlocked.label.revealFailed = 指令錯誤
|
||||||
unlocked.label.unmountFailed = 插入磁碟錯誤
|
unlocked.label.unmountFailed = 移除磁碟錯誤
|
||||||
unlocked.label.statsEncrypted = 加密的
|
unlocked.label.statsEncrypted = 加密的
|
||||||
unlocked.label.statsDecrypted = 解密的
|
unlocked.label.statsDecrypted = 解密的
|
||||||
unlocked.ioGraph.yAxis.label = 傳輸量(MIB / S)
|
unlocked.ioGraph.yAxis.label = 傳輸量(MIB / S)
|
||||||
@@ -56,9 +55,9 @@ settings.version.label = 版本%s
|
|||||||
settings.checkForUpdates.label = 檢查更新
|
settings.checkForUpdates.label = 檢查更新
|
||||||
settings.requiresRestartLabel = * Cryptomator需要更新
|
settings.requiresRestartLabel = * Cryptomator需要更新
|
||||||
# tray icon
|
# tray icon
|
||||||
tray.menu.open = 打開
|
tray.menu.open = 開啓
|
||||||
tray.menu.quit = 離開
|
tray.menu.quit = 離開
|
||||||
tray.infoMsg.title = 仍然在執行
|
tray.infoMsg.title = 仲運作緊
|
||||||
tray.infoMsg.msg = Cryptomator仍然在運作。從工具列的圖示點選離開。
|
tray.infoMsg.msg = Cryptomator仍然在運作。從工具列的圖示點選離開。
|
||||||
tray.infoMsg.msg.osx = Cryptomator仍然在運作。從選單列上點選離開。
|
tray.infoMsg.msg.osx = Cryptomator仍然在運作。從選單列上點選離開。
|
||||||
initialize.messageLabel.passwordStrength.0 = 非常弱的
|
initialize.messageLabel.passwordStrength.0 = 非常弱的
|
||||||
@@ -76,8 +75,8 @@ upgrade.version3to4.err.io = 由於I/O的例外,轉移失敗。取得詳細資
|
|||||||
upgrade.confirmation.label = 是的,請確認同步已完成。
|
upgrade.confirmation.label = 是的,請確認同步已完成。
|
||||||
unlock.label.savePassword = 儲存密碼
|
unlock.label.savePassword = 儲存密碼
|
||||||
unlock.errorMessage.unauthenticVersionMac = 無法認證消息驗證碼版本。
|
unlock.errorMessage.unauthenticVersionMac = 無法認證消息驗證碼版本。
|
||||||
unlocked.label.mountFailed = Connecting drive failed
|
unlocked.label.mountFailed = 連接唔到磁碟
|
||||||
unlock.savePassword.delete.confirmation.title = Delete Saved Password
|
unlock.savePassword.delete.confirmation.title = 刪除儲存咗嘅密碼
|
||||||
unlock.savePassword.delete.confirmation.header = Do you really want to delete the saved password of this vault?
|
unlock.savePassword.delete.confirmation.header = Do you really want to delete the saved password of this vault?
|
||||||
unlock.savePassword.delete.confirmation.content = The saved password of this vault will be immediately deleted from your system keychain. If you'd like to save your password again, you'd have to unlock your vault with the "Save Password" option enabled.
|
unlock.savePassword.delete.confirmation.content = The saved password of this vault will be immediately deleted from your system keychain. If you'd like to save your password again, you'd have to unlock your vault with the "Save Password" option enabled.
|
||||||
settings.debugMode.label = Debug Mode *
|
settings.debugMode.label = Debug Mode *
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = Vault Version 3 to 4 Upgrade
|
|||||||
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
upgrade.version4to5.title = Vault Version 4 to 5 Upgrade
|
||||||
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
upgrade.version4to5.msg = This vault needs to be migrated to a newer format.\nEncrypted files will be updated.\nPlease make sure synchronization has finished before proceeding.\n\nNote\: Modification date of all files will be changed to the current date/time in the process.
|
||||||
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
upgrade.version4to5.err.io = Migration failed due to an I/O Exception. See log file for details.
|
||||||
unlock.label.mountAfterUnlock = Mount Drive
|
|
||||||
unlock.label.revealAfterMount = Reveal Drive
|
unlock.label.revealAfterMount = Reveal Drive
|
||||||
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
unlocked.lock.force.confirmation.title = Locking of %1$s failed
|
||||||
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
unlocked.lock.force.confirmation.header = Do you want to force locking?
|
||||||
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
unlocked.lock.force.confirmation.content = This may be because other programs are still accessing files in the vault or because some other problem occurred.\n\nPrograms still accessing the files may not work correctly and data not already written by those programs may be lost.
|
||||||
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
unlock.label.unlockAfterStartup = Auto-Unlock on Start (Experimental)
|
||||||
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
unlock.errorMessage.unlockFailed = Unlock failed. See log file for details.
|
||||||
unlocked.moreOptions.mount = Mount Drive
|
|
||||||
unlocked.moreOptions.unmount = Eject Drive
|
|
||||||
upgrade.version5toX.title = Vault Version Upgrade
|
upgrade.version5toX.title = Vault Version Upgrade
|
||||||
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
upgrade.version5toX.msg = This vault needs to be migrated to a newer format.\nPlease make sure synchronization has finished before proceeding.
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = Creating vault failed
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = Mount path
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = Apply
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= Choose automatically
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = Apply
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = Vault was successfully created.
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = Password was successfully changed.
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
||||||
|
unlock.label.useOwnMountPath = Use individual mount point
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
@@ -45,7 +45,6 @@ changePassword.errorMessage.decryptionFailed = 解密失敗
|
|||||||
# unlocked.fxml
|
# unlocked.fxml
|
||||||
unlocked.button.lock = 鎖住檔案庫
|
unlocked.button.lock = 鎖住檔案庫
|
||||||
unlocked.moreOptions.reveal = 打開磁碟
|
unlocked.moreOptions.reveal = 打開磁碟
|
||||||
unlocked.moreOptions.copyUrl = 複製 WebDAV 網址
|
|
||||||
unlocked.label.revealFailed = 指令錯誤
|
unlocked.label.revealFailed = 指令錯誤
|
||||||
unlocked.label.unmountFailed = 插入磁碟錯誤
|
unlocked.label.unmountFailed = 插入磁碟錯誤
|
||||||
unlocked.label.statsEncrypted = 加密的
|
unlocked.label.statsEncrypted = 加密的
|
||||||
@@ -86,29 +85,32 @@ upgrade.version3to4.title = 檔案庫版本 3 到 4 升級
|
|||||||
upgrade.version4to5.title = 檔案庫版本 4 到 5 升級
|
upgrade.version4to5.title = 檔案庫版本 4 到 5 升級
|
||||||
upgrade.version4to5.msg = 這個檔案庫需要被遷移到新的格式。\n加密的檔案將會被更新。\n在處理前,請確保同步已經完成。\n\n註記:所有檔案的更改日期將會被變更為目前處理的日期/時間。
|
upgrade.version4to5.msg = 這個檔案庫需要被遷移到新的格式。\n加密的檔案將會被更新。\n在處理前,請確保同步已經完成。\n\n註記:所有檔案的更改日期將會被變更為目前處理的日期/時間。
|
||||||
upgrade.version4to5.err.io = 由於 I/O 異常導致遷移失敗。詳細請見日誌檔。
|
upgrade.version4to5.err.io = 由於 I/O 異常導致遷移失敗。詳細請見日誌檔。
|
||||||
unlock.label.mountAfterUnlock = 掛載磁碟
|
|
||||||
unlock.label.revealAfterMount = 打開磁碟
|
unlock.label.revealAfterMount = 打開磁碟
|
||||||
unlocked.lock.force.confirmation.title = %1$s 鎖定失敗
|
unlocked.lock.force.confirmation.title = %1$s 鎖定失敗
|
||||||
unlocked.lock.force.confirmation.header = 你想要強制鎖定?
|
unlocked.lock.force.confirmation.header = 你想要強制鎖定?
|
||||||
unlocked.lock.force.confirmation.content = 這可能是因為其他軟體仍在存取這個檔案庫,或者發生其他問題。\n\n仍然在存取檔案的軟體可能無法正常運作,而且會造成寫入的資料遺失。
|
unlocked.lock.force.confirmation.content = 這可能是因為其他軟體仍在存取這個檔案庫,或者發生其他問題。\n\n仍然在存取檔案的軟體可能無法正常運作,而且會造成寫入的資料遺失。
|
||||||
unlock.label.unlockAfterStartup = 啟動時,自動解鎖(實驗中)
|
unlock.label.unlockAfterStartup = 啟動時,自動解鎖(實驗中)
|
||||||
unlock.errorMessage.unlockFailed = 解鎖失敗。詳請查看日誌檔。
|
unlock.errorMessage.unlockFailed = 解鎖失敗。詳請查看日誌檔。
|
||||||
unlocked.moreOptions.mount = 掛載硬碟
|
|
||||||
unlocked.moreOptions.unmount = 退出硬碟
|
|
||||||
upgrade.version5toX.title = 檔案庫版本升級
|
upgrade.version5toX.title = 檔案庫版本升級
|
||||||
upgrade.version5toX.msg = 這個檔案庫需要轉移到新的格式。\n進行前,請確認已經完成所有同步。
|
upgrade.version5toX.msg = 這個檔案庫需要轉移到新的格式。\n進行前,請確認已經完成所有同步。
|
||||||
main.createVault.nonEmptyDir.title = Creating vault failed
|
main.createVault.nonEmptyDir.title = 建立vault時發生錯誤
|
||||||
main.createVault.nonEmptyDir.header = Chosen directory is not empty
|
main.createVault.nonEmptyDir.header = 選擇的資料夾並不是空的
|
||||||
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
main.createVault.nonEmptyDir.content = The selected directory already contains files (possibly hidden). A vault can only be created in an empty directory.
|
||||||
unlock.label.mountPath = Mount Path
|
unlock.label.mountPath = 掛載路徑
|
||||||
unlock.label.mountPathButton = Apply
|
unlock.label.mountPathButton = 套用
|
||||||
settings.webdav.port.label = WebDAV Port
|
settings.webdav.port.label = WebDAV Port
|
||||||
settings.webdav.port.prompt = 0 \= Choose automatically
|
settings.webdav.port.prompt = 0 \= 自動選擇
|
||||||
settings.webdav.port.apply = Apply
|
settings.webdav.port.apply = 套用
|
||||||
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
settings.webdav.prefGvfsScheme.label = WebDAV Scheme
|
||||||
settings.volume.label = Mount-Methode *
|
settings.volume.label = Preferred Volume Type
|
||||||
settings.volume.webdav = WebDAV
|
settings.volume.webdav = WebDAV
|
||||||
settings.volume.fuse = FUSE
|
settings.volume.fuse = FUSE
|
||||||
unlock.successLabel.vaultCreated = Vault was successfully created.
|
unlock.successLabel.vaultCreated = 成功建立vault
|
||||||
unlock.successLabel.passwordChanged = Password was successfully changed.
|
unlock.successLabel.passwordChanged = 密碼變更成功
|
||||||
unlock.successLabel.upgraded = Cryptomator was successfully upgraded.
|
unlock.successLabel.upgraded = Cryptomator成功的更新了
|
||||||
|
unlock.label.useOwnMountPath = 自訂掛載點
|
||||||
|
welcome.askForUpdateCheck.dialog.title = Update check
|
||||||
|
welcome.askForUpdateCheck.dialog.header = Enable the integrated update check?
|
||||||
|
welcome.askForUpdateCheck.dialog.content = To check for updates, Cryptomator will fetch the current version from the Cryptomator servers and display a hint to you if a newer version is available.\n\nWe recommend to enable the update check to always be sure you have the newest version of Cryptomator, with all security patches, installed. If you do not enable the update check you may check and download the current version from https\://cryptomator.org/downloads/.\n\nYou can change this at any time from within the settings.
|
||||||
|
settings.volume.dokany = Dokany
|
||||||
|
unlock.errorMessage.invalidMountPath = Individual mount path is not set.
|
||||||
Reference in New Issue
Block a user