mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-09-21 23:44:42 +00:00
Compare commits
84
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dcfdb5ad21 | ||
|
|
77bc60fe5b | ||
|
|
9f633a1ecb | ||
|
|
fcf59d12a8 | ||
|
|
6721075831 | ||
|
|
4bb0026415 | ||
|
|
bebae14744 | ||
|
|
997315eaf5 | ||
|
|
16d677c40f | ||
|
|
42a1913c17 | ||
|
|
c3f6655e48 | ||
|
|
fa1b0f2de8 | ||
|
|
385574a618 | ||
|
|
a67477bf3b | ||
|
|
7a0d255bd3 | ||
|
|
228fa099cb | ||
|
|
a60ff20f15 | ||
|
|
2328a5e3a8 | ||
|
|
e7e181b1a5 | ||
|
|
f3e7c08b43 | ||
|
|
2a41afcfa9 | ||
|
|
5bf38a328c | ||
|
|
f983b29034 | ||
|
|
4bc217e489 | ||
|
|
b24f52a4ec | ||
|
|
91e7fa3de3 | ||
|
|
1365efab3f | ||
|
|
852963b785 | ||
|
|
c47d4eaf02 | ||
|
|
36da26c6b9 | ||
|
|
33e1cb3131 | ||
|
|
ed4b433df0 | ||
|
|
d2ece543c8 | ||
|
|
4bb2df7d8f | ||
|
|
4d5c6ca29a | ||
|
|
f0d597ba73 | ||
|
|
310329d0b5 | ||
|
|
30f86a7f2a | ||
|
|
5237dc8cae | ||
|
|
67ff4da05b | ||
|
|
947eb11198 | ||
|
|
c6a9af1a04 | ||
|
|
0ddf221e26 | ||
|
|
3f2b5ccde9 | ||
|
|
3d0b6dde28 | ||
|
|
45534b0a2b | ||
|
|
6d906beeb8 | ||
|
|
e577c64c35 | ||
|
|
b848e78372 | ||
|
|
39e9395b4b | ||
|
|
ca3157cc70 | ||
|
|
f94c1f07d6 | ||
|
|
d43f197c11 | ||
|
|
67e566832c | ||
|
|
6f5a88af1d | ||
|
|
210b891616 | ||
|
|
20e820c903 | ||
|
|
5307e93c1b | ||
|
|
e221019b57 | ||
|
|
eeaaced976 | ||
|
|
d246b54268 | ||
|
|
e94572960e | ||
|
|
2d1c59bea9 | ||
|
|
921cbd6439 | ||
|
|
f811144ffa | ||
|
|
2ecc711f50 | ||
|
|
cfcc8782ef | ||
|
|
a1379bac40 | ||
|
|
fe3f2b5bd3 | ||
|
|
7fc07ae02c | ||
|
|
2a70e2f0f4 | ||
|
|
ffe0302fba | ||
|
|
c5b86bc355 | ||
|
|
5f86473e3e | ||
|
|
a91c74b6eb | ||
|
|
76949d6ccb | ||
|
|
71a09eae67 | ||
|
|
8087fcecfb | ||
|
|
29c73e1bc8 | ||
|
|
8bbdb69cda | ||
|
|
e9ee15dcd5 | ||
|
|
03f6e0a33c | ||
|
|
c5b21b0d8c | ||
|
|
c5c5e297b7 |
@@ -38,7 +38,7 @@ body:
|
||||
attributes:
|
||||
label: Volume Type
|
||||
description: What volume type is selected under Settings → Virtual Drive?
|
||||
value: |
|
||||
options:
|
||||
- WinFsp
|
||||
- WinFsp (Local Drive)
|
||||
- FUSE-T
|
||||
@@ -49,7 +49,7 @@ body:
|
||||
- WebDAV (HTTP Address)
|
||||
- Dokany (1.5)
|
||||
validations:
|
||||
required: true
|
||||
required: false
|
||||
- type: textarea
|
||||
id: reproduction-steps
|
||||
attributes:
|
||||
|
||||
@@ -20,8 +20,8 @@ on:
|
||||
|
||||
env:
|
||||
JAVA_VERSION: 19
|
||||
OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/19/openjfx-19_linux-x64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/19/openjfx-19_linux-aarch64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/19.0.2.1/openjfx-19.0.2.1_linux-x64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/19.0.2.1/openjfx-19.0.2.1_linux-aarch64_bin-jmods.zip'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
@@ -30,10 +30,12 @@ jobs:
|
||||
architecture: x64
|
||||
output-suffix: x64
|
||||
xcode-path: '/Applications/Xcode_13.2.1.app'
|
||||
fuse-lib: macFUSE
|
||||
- os: [self-hosted, macOS, ARM64]
|
||||
architecture: aarch64
|
||||
output-suffix: arm64
|
||||
xcode-path: '/Applications/Xcode_13.2.1.app'
|
||||
fuse-lib: FUSE-T
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup Java
|
||||
@@ -177,7 +179,7 @@ jobs:
|
||||
run: |
|
||||
mkdir dmg
|
||||
mv Cryptomator.app dmg
|
||||
cp dist/mac/dmg/resources/macFUSE.webloc dmg
|
||||
cp dist/mac/dmg/resources/${{ matrix.fuse-lib }}.webloc dmg
|
||||
ls -l dmg
|
||||
- name: Install create-dmg
|
||||
run: |
|
||||
@@ -188,14 +190,14 @@ jobs:
|
||||
create-dmg
|
||||
--volname Cryptomator
|
||||
--volicon "dist/mac/dmg/resources/Cryptomator-Volume.icns"
|
||||
--background "dist/mac/dmg/resources/Cryptomator-background.tiff"
|
||||
--background "dist/mac/dmg/resources/Cryptomator-${{ matrix.fuse-lib }}-background.tiff"
|
||||
--window-pos 400 100
|
||||
--window-size 640 694
|
||||
--icon-size 128
|
||||
--icon "Cryptomator.app" 128 245
|
||||
--hide-extension "Cryptomator.app"
|
||||
--icon "macFUSE.webloc" 320 501
|
||||
--hide-extension "macFUSE.webloc"
|
||||
--icon "${{ matrix.fuse-lib }}.webloc" 320 501
|
||||
--hide-extension "${{ matrix.fuse-lib }}.webloc"
|
||||
--app-drop-link 512 245
|
||||
--eula "dist/mac/dmg/resources/license.rtf"
|
||||
--icon ".background" 128 758
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
steps:
|
||||
- name: Download source tarball
|
||||
run: |
|
||||
curl -L -H "Accept: application/vnd.github+json" ${{ github.event.release.tarball_url }} --output cryptomator-${{ github.event.release.tag_name }}.tar.gz
|
||||
curl -L -H "Accept: application/vnd.github+json" https://github.com/cryptomator/cryptomator/archive/refs/tags/${{ github.event.release.tag_name }}.tar.gz --output cryptomator-${{ github.event.release.tag_name }}.tar.gz
|
||||
- name: Sign source tarball with key 615D449FE6E6A235
|
||||
run: |
|
||||
echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import
|
||||
|
||||
@@ -203,15 +203,6 @@ jobs:
|
||||
*.msi
|
||||
*.asc
|
||||
|
||||
call-winget-flow:
|
||||
needs: [get-version, build-msi]
|
||||
if: github.event.action == 'published' && needs.get-version.outputs.versionType == 'stable'
|
||||
uses: ./.github/workflows/winget.yml
|
||||
with:
|
||||
releaseTag: ${{ github.event.release.tag_name }}
|
||||
secrets: inherit
|
||||
|
||||
|
||||
build-exe:
|
||||
name: Build .exe installer
|
||||
runs-on: windows-latest
|
||||
@@ -243,13 +234,14 @@ jobs:
|
||||
shell: pwsh
|
||||
- name: Download WinFsp
|
||||
run: |
|
||||
$winfspUrl= (Select-String -Path ".\dist\win\bundle\resources\winfsp-download.url" -Pattern 'https:.*').Matches.Value
|
||||
$winfspUrl = (Select-String -Path ".\dist\win\bundle\resources\winFspMetaData.wxi" -Pattern '<\?define BundledWinFspDownloadLink="(.+)".*?>').Matches.Groups[1].Value
|
||||
curl --output dist/win/bundle/resources/winfsp.msi -L $winfspUrl
|
||||
shell: pwsh
|
||||
- name: Compile to wixObj file
|
||||
run: >
|
||||
"${WIX}/bin/candle.exe" dist/win/bundle/bundleWithWinfsp.wxs
|
||||
-ext WixBalExtension
|
||||
-ext WixUtilExtension
|
||||
-out dist/win/bundle/
|
||||
-dBundleVersion="${{ needs.get-version.outputs.semVerNum }}.${{ needs.get-version.outputs.revNum }}"
|
||||
-dBundleVendor="Skymatic GmbH"
|
||||
@@ -261,6 +253,7 @@ jobs:
|
||||
run: >
|
||||
"${WIX}/bin/light.exe" -b dist/win/ dist/win/bundle/bundleWithWinfsp.wixobj
|
||||
-ext WixBalExtension
|
||||
-ext WixUtilExtension
|
||||
-out installer/unsigned/Cryptomator-Installer.exe
|
||||
- name: Detach burn engine in preparation to sign
|
||||
run: >
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
name: Release to Winget
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
releaseTag:
|
||||
required: true
|
||||
type: string
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
releaseTag:
|
||||
description: 'Release tag name'
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
publish-winget:
|
||||
name: Publish on winget repo
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Get download url for release assets
|
||||
id: get-release-assets
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
const query =`query($tag:String!) {
|
||||
repository(owner:"cryptomator", name:"cryptomator"){
|
||||
release(tagName: $tag) {
|
||||
releaseAssets(first:20) {
|
||||
nodes {
|
||||
name
|
||||
downloadUrl
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
const variables = {
|
||||
tag: "${{ inputs.releaseTag }}"
|
||||
}
|
||||
return await github.graphql(query, variables)
|
||||
- name: Submit package to Windows Package Manager Community Repository
|
||||
id: submit-winget
|
||||
run: |
|
||||
iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe
|
||||
$releaseAssets = (ConvertFrom-Json '${{ steps.get-release-assets.outputs.result }}').repository.release.releaseAssets.nodes
|
||||
$installerUrl = $releaseAssets | Where-Object -Property name -match '^Cryptomator-.*\.msi$' | Select -ExpandProperty downloadUrl -First 1
|
||||
.\wingetcreate.exe update Cryptomator.Cryptomator -s -v "${{ inputs.releaseTag }}" -u "$installerUrl" -t ${{ secrets.CRYPTOBOT_WINGET_TOKEN }}
|
||||
shell: pwsh
|
||||
Generated
+6
-4
@@ -14,10 +14,10 @@
|
||||
<option name="dagger.fastInit" value="enabled" />
|
||||
<option name="dagger.formatGeneratedSource" value="enabled" />
|
||||
<processorPath useClasspath="false">
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-compiler/2.44/dagger-compiler-2.44.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger/2.44/dagger-2.44.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-compiler/2.45/dagger-compiler-2.45.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger/2.45/dagger-2.45.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/javax/inject/javax.inject/1/javax.inject-1.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-producers/2.44/dagger-producers-2.44.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-producers/2.45/dagger-producers-2.45.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar" />
|
||||
@@ -26,14 +26,16 @@
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-spi/2.44/dagger-spi-2.44.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/dagger/dagger-spi/2.45/dagger-spi-2.45.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/devtools/ksp/symbol-processing-api/1.7.0-1.0.6/symbol-processing-api-1.7.0-1.0.6.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.7.0/kotlin-stdlib-1.7.0.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.7.0/kotlin-stdlib-common-1.7.0.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/squareup/javapoet/1.13.0/javapoet-1.13.0.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/squareup/kotlinpoet/1.11.0/kotlinpoet-1.11.0.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.7.0/kotlin-stdlib-jdk8-1.7.0.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.7.0/kotlin-stdlib-jdk7-1.7.0.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-reflect/1.6.10/kotlin-reflect-1.6.10.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/googlejavaformat/google-java-format/1.5/google-java-format-1.5.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/com/google/errorprone/javac-shaded/9-dev-r4023-3/javac-shaded-9-dev-r4023-3.jar" />
|
||||
<entry name="$MAVEN_REPOSITORY$/net/ltgt/gradle/incap/incap/0.2/incap-0.2.jar" />
|
||||
|
||||
@@ -21,7 +21,6 @@ Cryptomator is provided free of charge as an open-source project despite the hig
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://www.gee-whiz.de/"><img src="https://cryptomator.org/img/sponsors/geewhiz.svg" alt="gee-whiz" height="80"></a></td>
|
||||
<td><a href="https://proxy-hub.com/"><img src="https://cryptomator.org/img/sponsors/proxyhub.svg" alt="Proxy-Hub" height="80"></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -32,7 +31,6 @@ Cryptomator is provided free of charge as an open-source project despite the hig
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://mowcapital.com/"><img src="https://cryptomator.org/img/sponsors/mowcapital.svg" alt="Mow Capital" height="40"></a></td>
|
||||
<td><a href="https://www.easeus.com/"><img src="https://cryptomator.org/img/sponsors/easeus.png" alt="EaseUS" height="40"></a></td>
|
||||
<td><a href="https://www.hassmann-it-forensik.de/"><img src="https://cryptomator.org/img/sponsors/hassmannitforensik.png" alt="Hassmann IT-Forensik" height="40"></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -74,7 +72,7 @@ Download native binaries of Cryptomator on [cryptomator.org](https://cryptomator
|
||||
|
||||
### Consistency
|
||||
|
||||
- HMAC over file contents to recognize changed ciphertext before decryption
|
||||
- Authenticated encryption is used for file content to recognize changed ciphertext before decryption
|
||||
- I/O operations are transactional and atomic, if the filesystems support it
|
||||
- Each file contains all information needed for decryption (except for the key of course), no common metadata means no [SPOF](http://en.wikipedia.org/wiki/Single_point_of_failure)
|
||||
|
||||
|
||||
@@ -66,6 +66,10 @@
|
||||
</content_rating>
|
||||
|
||||
<releases>
|
||||
<release date="2023-03-15" version="1.7.3"/>
|
||||
<release date="2023-03-07" version="1.7.2"/>
|
||||
<release date="2023-03-03" version="1.7.1"/>
|
||||
<release date="2023-03-01" version="1.7.0"/>
|
||||
<release date="2022-12-14" version="1.6.17"/>
|
||||
<release date="2022-12-06" version="1.6.16"/>
|
||||
<release date="2022-10-06" version="1.6.15"/>
|
||||
|
||||
Vendored
+1
-1
@@ -12,7 +12,7 @@ Package: cryptomator
|
||||
Architecture: any
|
||||
Section: utils
|
||||
Priority: optional
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libfuse3-3
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, fuse3
|
||||
Recommends: gvfs-backends, gvfs-fuse, gnome-keyring
|
||||
XB-AppName: Cryptomator
|
||||
XB-Category: Utility;Security;FileTools;
|
||||
|
||||
Vendored
+5
-4
@@ -27,6 +27,7 @@ MAIN_JAR_GLOB="cryptomator-*.jar"
|
||||
MODULE_AND_MAIN_CLASS="org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator"
|
||||
REVISION_NO=`git rev-list --count HEAD`
|
||||
VERSION_NO=`mvn -f../../../pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout | sed -rn 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/p'`
|
||||
FUSE_LIB="FUSE-T"
|
||||
|
||||
# check preconditions
|
||||
if [ -z "${JAVA_HOME}" ]; then echo "JAVA_HOME not set. Run using JAVA_HOME=/path/to/jdk ./build.sh"; exit 1; fi
|
||||
@@ -125,20 +126,20 @@ fi
|
||||
# prepare dmg contents
|
||||
mkdir dmg
|
||||
mv ${APP_NAME}.app dmg
|
||||
cp resources/macFUSE.webloc dmg
|
||||
cp resources/${FUSE_LIB}.webloc dmg
|
||||
|
||||
# create dmg
|
||||
create-dmg \
|
||||
--volname ${APP_NAME} \
|
||||
--volicon "resources/${APP_NAME}-Volume.icns" \
|
||||
--background "resources/${APP_NAME}-background.tiff" \
|
||||
--background "resources/${APP_NAME}-${FUSE_LIB}-background.tiff" \
|
||||
--window-pos 400 100 \
|
||||
--window-size 640 694 \
|
||||
--icon-size 128 \
|
||||
--icon "${APP_NAME}.app" 128 245 \
|
||||
--hide-extension "${APP_NAME}.app" \
|
||||
--icon "macFUSE.webloc" 320 501 \
|
||||
--hide-extension "macFUSE.webloc" \
|
||||
--icon "${FUSE_LIB}.webloc" 320 501 \
|
||||
--hide-extension "${FUSE_LIB}.webloc" \
|
||||
--app-drop-link 512 245 \
|
||||
--eula "resources/license.rtf" \
|
||||
--icon ".background" 128 758 \
|
||||
|
||||
Binary file not shown.
Vendored
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>URL</key>
|
||||
<string>https://www.fuse-t.org/</string>
|
||||
</dict>
|
||||
</plist>
|
||||
Vendored
+3
-3
@@ -153,7 +153,7 @@ $Env:JP_WIXWIZARD_RESOURCES = "$buildDir\resources"
|
||||
# download Winfsp
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||
$ProgressPreference = 'SilentlyContinue' # disables Invoke-WebRequest's progress bar, which slows down downloads to a few bytes/s
|
||||
$winfspMsiUrl= (Select-String -Path ".\bundle\resources\winfsp-download.url" -Pattern 'https:.*').Matches.Value
|
||||
$winfspMsiUrl= (Select-String -Path ".\bundle\resources\winFspMetaData.wxi" -Pattern '<\?define BundledWinFspDownloadLink="(.+)".*?>').Matches.Groups[1].Value
|
||||
Write-Output "Downloading ${winfspMsiUrl}..."
|
||||
Invoke-WebRequest $winfspMsiUrl -OutFile ".\bundle\resources\winfsp.msi" # redirects are followed by default
|
||||
|
||||
@@ -161,11 +161,11 @@ Invoke-WebRequest $winfspMsiUrl -OutFile ".\bundle\resources\winfsp.msi" # redir
|
||||
Copy-Item ".\installer\$AppName-*.msi" -Destination ".\bundle\resources\$AppName.msi"
|
||||
|
||||
# create bundle including winfsp
|
||||
& "$env:WIX\bin\candle.exe" .\bundle\bundleWithWinfsp.wxs -ext WixBalExtension -out bundle\ `
|
||||
& "$env:WIX\bin\candle.exe" .\bundle\bundleWithWinfsp.wxs -ext WixBalExtension -ext WixUtilextension -out bundle\ `
|
||||
-dBundleVersion="$semVerNo.$revisionNo" `
|
||||
-dBundleVendor="$Vendor" `
|
||||
-dBundleCopyright="$copyright" `
|
||||
-dAboutUrl="$AboutUrl" `
|
||||
-dHelpUrl="$HelpUrl" `
|
||||
-dUpdateUrl="$UpdateUrl"
|
||||
& "$env:WIX\bin\light.exe" -b . .\bundle\BundlewithWinfsp.wixobj -ext WixBalExtension -out installer\$AppName-Installer.exe
|
||||
& "$env:WIX\bin\light.exe" -b . .\bundle\BundlewithWinfsp.wixobj -ext WixBalExtension -ext WixUtilextension -out installer\$AppName-Installer.exe
|
||||
Vendored
+19
-1
@@ -1,13 +1,31 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||
<!-- see https://wixtoolset.org/documentation/manual/v3/xsd/wix/bundle.html-->
|
||||
<!-- Attributes explicitly not used:
|
||||
Condition - the single msi files have their own install conditions, no need to copy them here
|
||||
-->
|
||||
|
||||
<Bundle Name="Cryptomator" UpgradeCode="29eea626-2e5b-4449-b5f8-4602925ddf7b" Version="$(var.BundleVersion)" Manufacturer="$(var.BundleVendor)"
|
||||
AboutUrl="$(var.AboutUrl)" HelpUrl="$(var.HelpUrl)" UpdateUrl="$(var.UpdateUrl)" Copyright="$(var.BundleCopyright)" IconSourceFile="bundle\resources\Cryptomator.ico">
|
||||
|
||||
<!-- detect outdated WinFsp installations -->
|
||||
<?include "resources\winFspMetaData.wxi" ?>
|
||||
<util:ProductSearch
|
||||
Variable="InstalledWinFspVersion"
|
||||
Result="version"
|
||||
UpgradeCode="82F812D9-4083-4EF1-8BC8-0F1EDA05B46B"
|
||||
/>
|
||||
<!-- Note: The bundle engine takes the Message format literaly -->
|
||||
<bal:Condition Message=
|
||||
"The WinFsp driver used by Cryptomator is outdated and must be removed before the installation.
|
||||
|
||||
1. Open the view of installed apps
|
||||
2. Search for "WinFsp"
|
||||
3. Uninstall the listed application
|
||||
4. Reboot your device
|
||||
5. Restart this installer">(InstalledWinFspVersion = v0.0.0.0) OR ($(var.BundledWinFspVersion) <= InstalledWinFspVersion)</bal:Condition>
|
||||
|
||||
<!-- for definition of the standard themes, see https://github.com/wixtoolset/wix3/blob/master/src/ext/BalExtension/wixstdba/Resources/-->
|
||||
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLargeLicense">
|
||||
<!-- see https://wixtoolset.org/documentation/manual/v3/xsd/bal/wixstandardbootstrapperapplication.html -->
|
||||
|
||||
+2
-1
@@ -10,6 +10,7 @@
|
||||
<Font Id="2" Height="-22" Weight="500" Foreground="666666">Segoe UI</Font>
|
||||
<Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||
<Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>
|
||||
<Font Id="5" Height="-12" Weight="700" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
|
||||
|
||||
<Image X="11" Y="11" Width="64" Height="64" ImageFile="logo.png" />
|
||||
<Text X="80" Y="11" Width="-11" Height="64" FontId="1" DisablePrefix="yes">#(loc.Title)</Text>
|
||||
@@ -82,7 +83,7 @@
|
||||
<Text Name="FailureUninstallHeader" X="185" Y="50" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureUninstallHeader)</Text>
|
||||
<Text Name="FailureRepairHeader" X="185" Y="50" Width="-11" Height="30" FontId="2" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRepairHeader)</Text>
|
||||
<Hypertext Name="FailureLogFileLink" X="185" Y="121" Width="-11" Height="68" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
|
||||
<Hypertext Name="FailureMessageText" X="185" Y="-115" Width="-11" Height="80" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
|
||||
<Hypertext Name="FailureMessageText" X="185" Y="-80" Width="-11" Height="140" FontId="5" TabStop="yes" HideWhenDisabled="yes" />
|
||||
<Text Name="FailureRestartText" X="185" Y="-57" Width="-11" Height="80" FontId="3" HideWhenDisabled="yes" DisablePrefix="yes">#(loc.FailureRestartText)</Text>
|
||||
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
|
||||
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<!-- A version number MUST be prefixed with letter "v", otherwise it is considered a normal string -->
|
||||
<?define BundledWinFspVersion="v1.12.22339" ?>
|
||||
<?define BundledWinFspDownloadLink="https://github.com/winfsp/winfsp/releases/download/v1.12.22339/winfsp-1.12.22339.msi" ?> <!-- Only used by external build scripts -->
|
||||
</Include>
|
||||
@@ -1,2 +0,0 @@
|
||||
[InternetShortcut]
|
||||
URL=https://github.com/winfsp/winfsp/releases/download/v1.12/winfsp-1.12.22301.msi
|
||||
+3
-13
@@ -7,19 +7,9 @@
|
||||
|
||||
#Get all active, local user profiles
|
||||
$profileList = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList'
|
||||
$localUsers = Get-LocalUser | Where-Object {$_.Enabled} | ForEach-Object { $_.Name}
|
||||
|
||||
Get-ChildItem $profileList | ForEach-Object { $_.GetValue("ProfileImagePath") } | Where-Object {
|
||||
$profileNameMatches = ($_ | Select-String -Pattern "\\([^\\]+)$").Matches
|
||||
if($profileNameMatches.Count -eq 1) {
|
||||
#check if the last path part is contained in the local user name list
|
||||
#otherwise do not touch it
|
||||
return $localUsers.Contains($profileNameMatches[0].Groups[1].Value)
|
||||
} else {
|
||||
return $false;
|
||||
}
|
||||
} | ForEach-Object {
|
||||
$settingsPath = "$_\AppData\Roaming\Cryptomator\settings.json"
|
||||
Get-ChildItem $profileList | ForEach-Object {
|
||||
$profilePath = $_.GetValue("ProfileImagePath")
|
||||
$settingsPath = "$profilePath\AppData\Roaming\Cryptomator\settings.json"
|
||||
if(!(Test-Path -Path $settingsPath -PathType Leaf)) {
|
||||
#No settings file, nothing to do.
|
||||
return;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.cryptomator</groupId>
|
||||
<artifactId>cryptomator</artifactId>
|
||||
<version>1.7.0-SNAPSHOT</version>
|
||||
<version>1.8.0-SNAPSHOT</version>
|
||||
<name>Cryptomator Desktop App</name>
|
||||
|
||||
<organization>
|
||||
@@ -17,6 +17,11 @@
|
||||
<email>sebastian.stenzel@gmail.com</email>
|
||||
<timezone>+1</timezone>
|
||||
</developer>
|
||||
<developer>
|
||||
<name>Armin Schrenk</name>
|
||||
<email>armin.schrenk+dev@mailbox.org</email>
|
||||
<timezone>+1</timezone>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<properties>
|
||||
@@ -28,49 +33,42 @@
|
||||
<nonModularGroupIds>org.ow2.asm,org.apache.jackrabbit,org.apache.httpcomponents,de.swiesend,org.purejava,com.github.hypfvieh</nonModularGroupIds>
|
||||
|
||||
<!-- cryptomator dependencies -->
|
||||
<cryptomator.cryptolib.version>2.1.1</cryptomator.cryptolib.version>
|
||||
<cryptomator.cryptofs.version>2.6.1</cryptomator.cryptofs.version>
|
||||
<cryptomator.integrations.version>1.2.0-beta4</cryptomator.integrations.version>
|
||||
<cryptomator.integrations.win.version>1.2.0-beta3</cryptomator.integrations.win.version>
|
||||
<cryptomator.integrations.mac.version>1.2.0-beta2</cryptomator.integrations.mac.version>
|
||||
<cryptomator.integrations.linux.version>1.2.0-beta2</cryptomator.integrations.linux.version>
|
||||
<cryptomator.fuse.version>2.0.0-beta5</cryptomator.fuse.version>
|
||||
<cryptomator.dokany.version>2.0.0-beta2</cryptomator.dokany.version>
|
||||
<cryptomator.webdav.version>2.0.0-beta5</cryptomator.webdav.version>
|
||||
<cryptomator.cryptofs.version>2.6.2</cryptomator.cryptofs.version>
|
||||
<cryptomator.integrations.version>1.2.0</cryptomator.integrations.version>
|
||||
<cryptomator.integrations.win.version>1.2.0</cryptomator.integrations.win.version>
|
||||
<cryptomator.integrations.mac.version>1.2.0</cryptomator.integrations.mac.version>
|
||||
<cryptomator.integrations.linux.version>1.2.0</cryptomator.integrations.linux.version>
|
||||
<cryptomator.fuse.version>2.1.0-SNAPSHOT</cryptomator.fuse.version>
|
||||
<cryptomator.dokany.version>2.0.0</cryptomator.dokany.version>
|
||||
<cryptomator.webdav.version>2.0.2</cryptomator.webdav.version>
|
||||
|
||||
<!-- 3rd party dependencies -->
|
||||
<commons-lang3.version>3.12.0</commons-lang3.version>
|
||||
<dagger.version>2.44</dagger.version>
|
||||
<dagger.version>2.45</dagger.version>
|
||||
<easybind.version>2.2</easybind.version>
|
||||
<guava.version>31.1-jre</guava.version>
|
||||
<gson.version>2.9.1</gson.version>
|
||||
<javafx.version>19</javafx.version>
|
||||
<jwt.version>4.2.1</jwt.version>
|
||||
<nimbus-jose.version>9.25.4</nimbus-jose.version>
|
||||
<logback.version>1.4.4</logback.version>
|
||||
<slf4j.version>2.0.3</slf4j.version>
|
||||
<gson.version>2.10.1</gson.version>
|
||||
<javafx.version>19.0.2.1</javafx.version>
|
||||
<jwt.version>4.3.0</jwt.version>
|
||||
<nimbus-jose.version>9.31</nimbus-jose.version>
|
||||
<logback.version>1.4.5</logback.version>
|
||||
<slf4j.version>2.0.6</slf4j.version>
|
||||
<tinyoauth2.version>0.5.1</tinyoauth2.version>
|
||||
<zxcvbn.version>1.7.0</zxcvbn.version>
|
||||
|
||||
<!-- test dependencies -->
|
||||
<junit.jupiter.version>5.9.1</junit.jupiter.version>
|
||||
<mockito.version>4.8.0</mockito.version>
|
||||
<junit.jupiter.version>5.9.2</junit.jupiter.version>
|
||||
<mockito.version>5.1.1</mockito.version>
|
||||
<hamcrest.version>2.2</hamcrest.version>
|
||||
|
||||
<!-- build-time dependencies -->
|
||||
<jetbrains.annotations.version>23.0.0</jetbrains.annotations.version>
|
||||
<dependency-check.version>7.4.4</dependency-check.version>
|
||||
<dependency-check.version>8.1.0</dependency-check.version>
|
||||
<jacoco.version>0.8.8</jacoco.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- Cryptomator Libs -->
|
||||
<dependency>
|
||||
<!-- needed due to https://github.com/cryptomator/cryptolib/issues/34-->
|
||||
<groupId>org.cryptomator</groupId>
|
||||
<artifactId>cryptolib</artifactId>
|
||||
<version>${cryptomator.cryptolib.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.cryptomator</groupId>
|
||||
<artifactId>cryptofs</artifactId>
|
||||
|
||||
@@ -2,6 +2,10 @@ package org.cryptomator.common.mount;
|
||||
|
||||
public class MountPointPreparationException extends RuntimeException {
|
||||
|
||||
public MountPointPreparationException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
|
||||
public MountPointPreparationException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
@@ -51,8 +51,19 @@ public final class MountWithinParentUtil {
|
||||
if (SystemUtils.IS_OS_WINDOWS) {
|
||||
Files.setAttribute(hideaway, WIN_HIDDEN_ATTR, true, LinkOption.NOFOLLOW_LINKS);
|
||||
}
|
||||
int attempts = 0;
|
||||
while (!Files.notExists(mountPoint)) {
|
||||
if (attempts >= 10) {
|
||||
throw new MountPointPreparationException("Path " + mountPoint + " could not be cleared");
|
||||
}
|
||||
Thread.sleep(1000);
|
||||
attempts++;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
throw new MountPointPreparationException(e);
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
throw new MountPointPreparationException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,13 @@ public class Mounter {
|
||||
builder.setMountFlags(mountFlags);
|
||||
}
|
||||
}
|
||||
case VOLUME_ID -> builder.setVolumeId(vaultSettings.getId());
|
||||
case VOLUME_ID -> {
|
||||
if(vaultSettings.usesVaultIdAsVolumeId().get()) {
|
||||
builder.setVolumeId(vaultSettings.getId()+"\\test");
|
||||
} else {
|
||||
builder.setVolumeId(vaultSettings.mountName().get());
|
||||
}
|
||||
}
|
||||
case VOLUME_NAME -> builder.setVolumeName(vaultSettings.mountName().get());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,30 +37,30 @@ public class SettingsJsonAdapter extends TypeAdapter<Settings> {
|
||||
@Override
|
||||
public void write(JsonWriter out, Settings value) throws IOException {
|
||||
out.beginObject();
|
||||
out.name("lastWrittenByVersion").value(env.getAppVersion()+env.getBuildNumber().map("-"::concat).orElse(""));
|
||||
out.name("writtenByVersion").value(env.getAppVersion() + env.getBuildNumber().map("-"::concat).orElse(""));
|
||||
out.name("directories");
|
||||
writeVaultSettingsArray(out, value.getDirectories());
|
||||
out.name("askedForUpdateCheck").value(value.askedForUpdateCheck().get());
|
||||
out.name("checkForUpdatesEnabled").value(value.checkForUpdates().get());
|
||||
out.name("startHidden").value(value.startHidden().get());
|
||||
out.name("autoCloseVaults").value(value.autoCloseVaults().get());
|
||||
out.name("port").value(value.port().get());
|
||||
out.name("numTrayNotifications").value(value.numTrayNotifications().get());
|
||||
out.name("checkForUpdatesEnabled").value(value.checkForUpdates().get());
|
||||
out.name("debugMode").value(value.debugMode().get());
|
||||
out.name("theme").value(value.theme().get().name());
|
||||
out.name("uiOrientation").value(value.userInterfaceOrientation().get().name());
|
||||
out.name("displayConfiguration").value((value.displayConfigurationProperty().get()));
|
||||
out.name("keychainProvider").value(value.keychainProvider().get());
|
||||
out.name("useKeychain").value(value.useKeychain().get());
|
||||
out.name("language").value((value.languageProperty().get()));
|
||||
out.name("licenseKey").value(value.licenseKey().get());
|
||||
out.name("mountService").value(value.mountService().get());
|
||||
out.name("numTrayNotifications").value(value.numTrayNotifications().get());
|
||||
out.name("port").value(value.port().get());
|
||||
out.name("showMinimizeButton").value(value.showMinimizeButton().get());
|
||||
out.name("showTrayIcon").value(value.showTrayIcon().get());
|
||||
out.name("startHidden").value(value.startHidden().get());
|
||||
out.name("theme").value(value.theme().get().name());
|
||||
out.name("uiOrientation").value(value.userInterfaceOrientation().get().name());
|
||||
out.name("useKeychain").value(value.useKeychain().get());
|
||||
out.name("windowHeight").value((value.windowHeightProperty().get()));
|
||||
out.name("windowWidth").value((value.windowWidthProperty().get()));
|
||||
out.name("windowXPosition").value((value.windowXPositionProperty().get()));
|
||||
out.name("windowYPosition").value((value.windowYPositionProperty().get()));
|
||||
out.name("windowWidth").value((value.windowWidthProperty().get()));
|
||||
out.name("windowHeight").value((value.windowHeightProperty().get()));
|
||||
out.name("displayConfiguration").value((value.displayConfigurationProperty().get()));
|
||||
out.name("language").value((value.languageProperty().get()));
|
||||
out.name("mountService").value(value.mountService().get());
|
||||
out.endObject();
|
||||
}
|
||||
|
||||
@@ -82,33 +82,34 @@ public class SettingsJsonAdapter extends TypeAdapter<Settings> {
|
||||
while (in.hasNext()) {
|
||||
String name = in.nextName();
|
||||
switch (name) {
|
||||
case "writtenByVersion" -> in.skipValue(); //noop
|
||||
case "directories" -> settings.getDirectories().addAll(readVaultSettingsArray(in));
|
||||
case "askedForUpdateCheck" -> settings.askedForUpdateCheck().set(in.nextBoolean());
|
||||
case "checkForUpdatesEnabled" -> settings.checkForUpdates().set(in.nextBoolean());
|
||||
case "startHidden" -> settings.startHidden().set(in.nextBoolean());
|
||||
case "autoCloseVaults" -> settings.autoCloseVaults().set(in.nextBoolean());
|
||||
case "port" -> settings.port().set(in.nextInt());
|
||||
case "numTrayNotifications" -> settings.numTrayNotifications().set(in.nextInt());
|
||||
case "checkForUpdatesEnabled" -> settings.checkForUpdates().set(in.nextBoolean());
|
||||
case "debugMode" -> settings.debugMode().set(in.nextBoolean());
|
||||
case "theme" -> settings.theme().set(parseUiTheme(in.nextString()));
|
||||
case "uiOrientation" -> settings.userInterfaceOrientation().set(parseUiOrientation(in.nextString()));
|
||||
case "keychainProvider" -> settings.keychainProvider().set(in.nextString());
|
||||
case "useKeychain" -> settings.useKeychain().set(in.nextBoolean());
|
||||
case "licenseKey" -> settings.licenseKey().set(in.nextString());
|
||||
case "showMinimizeButton" -> settings.showMinimizeButton().set(in.nextBoolean());
|
||||
case "showTrayIcon" -> settings.showTrayIcon().set(in.nextBoolean());
|
||||
case "windowXPosition" -> settings.windowXPositionProperty().set(in.nextInt());
|
||||
case "windowYPosition" -> settings.windowYPositionProperty().set(in.nextInt());
|
||||
case "windowWidth" -> settings.windowWidthProperty().set(in.nextInt());
|
||||
case "windowHeight" -> settings.windowHeightProperty().set(in.nextInt());
|
||||
case "displayConfiguration" -> settings.displayConfigurationProperty().set(in.nextString());
|
||||
case "keychainProvider" -> settings.keychainProvider().set(in.nextString());
|
||||
case "language" -> settings.languageProperty().set(in.nextString());
|
||||
case "licenseKey" -> settings.licenseKey().set(in.nextString());
|
||||
case "mountService" -> {
|
||||
var token = in.peek();
|
||||
if (JsonToken.STRING == token) {
|
||||
settings.mountService().set(in.nextString());
|
||||
}
|
||||
}
|
||||
case "numTrayNotifications" -> settings.numTrayNotifications().set(in.nextInt());
|
||||
case "port" -> settings.port().set(in.nextInt());
|
||||
case "showMinimizeButton" -> settings.showMinimizeButton().set(in.nextBoolean());
|
||||
case "showTrayIcon" -> settings.showTrayIcon().set(in.nextBoolean());
|
||||
case "startHidden" -> settings.startHidden().set(in.nextBoolean());
|
||||
case "theme" -> settings.theme().set(parseUiTheme(in.nextString()));
|
||||
case "uiOrientation" -> settings.userInterfaceOrientation().set(parseUiOrientation(in.nextString()));
|
||||
case "useKeychain" -> settings.useKeychain().set(in.nextBoolean());
|
||||
case "windowHeight" -> settings.windowHeightProperty().set(in.nextInt());
|
||||
case "windowWidth" -> settings.windowWidthProperty().set(in.nextInt());
|
||||
case "windowXPosition" -> settings.windowXPositionProperty().set(in.nextInt());
|
||||
case "windowYPosition" -> settings.windowYPositionProperty().set(in.nextInt());
|
||||
//1.6.x legacy
|
||||
case "preferredVolumeImpl" -> volumeImpl = in.nextString();
|
||||
//legacy end
|
||||
@@ -134,7 +135,7 @@ public class SettingsJsonAdapter extends TypeAdapter<Settings> {
|
||||
if (volumeImpl.equals("Dokany")) {
|
||||
return "org.cryptomator.frontend.dokany.mount.DokanyMountProvider";
|
||||
} else if (volumeImpl.equals("FUSE")) {
|
||||
if(SystemUtils.IS_OS_WINDOWS) {
|
||||
if (SystemUtils.IS_OS_WINDOWS) {
|
||||
return "org.cryptomator.frontend.fuse.mount.WinFspNetworkMountProvider";
|
||||
} else if (SystemUtils.IS_OS_MAC) {
|
||||
return "org.cryptomator.frontend.fuse.mount.MacFuseMountProvider";
|
||||
@@ -142,7 +143,7 @@ public class SettingsJsonAdapter extends TypeAdapter<Settings> {
|
||||
return "org.cryptomator.frontend.fuse.mount.LinuxFuseMountProvider";
|
||||
}
|
||||
} else {
|
||||
if(SystemUtils.IS_OS_WINDOWS) {
|
||||
if (SystemUtils.IS_OS_WINDOWS) {
|
||||
return "org.cryptomator.frontend.webdav.mount.WindowsMounter";
|
||||
} else if (SystemUtils.IS_OS_MAC) {
|
||||
return "org.cryptomator.frontend.webdav.mount.MacAppleScriptMounter";
|
||||
|
||||
@@ -42,6 +42,7 @@ public class VaultSettings {
|
||||
private final String id;
|
||||
private final ObjectProperty<Path> path = new SimpleObjectProperty<>();
|
||||
private final StringProperty displayName = new SimpleStringProperty();
|
||||
private final BooleanProperty vaultIdAsVolumeId = new SimpleBooleanProperty(false);
|
||||
private final BooleanProperty unlockAfterStartup = new SimpleBooleanProperty(DEFAULT_UNLOCK_AFTER_STARTUP);
|
||||
private final BooleanProperty revealAfterMount = new SimpleBooleanProperty(DEFAULT_REVEAL_AFTER_MOUNT);
|
||||
private final BooleanProperty usesReadOnlyMode = new SimpleBooleanProperty(DEFAULT_USES_READONLY_MODE);
|
||||
@@ -127,6 +128,10 @@ public class VaultSettings {
|
||||
return mountPoint;
|
||||
}
|
||||
|
||||
public BooleanProperty usesVaultIdAsVolumeId() {
|
||||
return vaultIdAsVolumeId;
|
||||
}
|
||||
|
||||
public BooleanProperty usesReadOnlyMode() {
|
||||
return usesReadOnlyMode;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import javafx.application.Platform;
|
||||
import javafx.collections.ObservableList;
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
@@ -40,6 +41,7 @@ public class AutoLocker {
|
||||
private void autolock(Vault vault) {
|
||||
try {
|
||||
vault.lock(false);
|
||||
Platform.runLater(() -> vault.stateProperty().set(VaultState.Value.LOCKED));
|
||||
LOG.info("Autolocked {} after idle timeout", vault.getDisplayName());
|
||||
} catch (UnmountFailedException | IOException e) {
|
||||
LOG.error("Autolocking failed.", e);
|
||||
|
||||
@@ -316,18 +316,29 @@ public class Vault {
|
||||
|
||||
/**
|
||||
* Gets from the cleartext path its ciphertext counterpart.
|
||||
* The cleartext path has to start from the vault root (by starting with "/").
|
||||
*
|
||||
* @return Local os path to the ciphertext resource
|
||||
* @throws IOException if an I/O error occurs
|
||||
* @throws IllegalStateException if the vault is not unlocked
|
||||
*/
|
||||
public Path getCiphertextPath(String cleartextPath) throws IOException {
|
||||
if (!cleartextPath.startsWith("/")) {
|
||||
throw new IllegalArgumentException("Input path must be absolute from vault root by starting with \"/\".");
|
||||
public Path getCiphertextPath(Path cleartextPath) throws IOException {
|
||||
if (!state.getValue().equals(VaultState.Value.UNLOCKED)) {
|
||||
throw new IllegalStateException("Vault is not unlocked");
|
||||
}
|
||||
var fs = cryptoFileSystem.get();
|
||||
var cryptoPath = fs.getPath(cleartextPath);
|
||||
return fs.getCiphertextPath(cryptoPath);
|
||||
var osPathSeparator = cleartextPath.getFileSystem().getSeparator();
|
||||
var cryptoFsPathSeparator = fs.getSeparator();
|
||||
|
||||
if (getMountPoint() instanceof Mountpoint.WithPath mp) {
|
||||
var absoluteCryptoFsPath = cryptoFsPathSeparator + mp.path().relativize(cleartextPath).toString();
|
||||
if (!cryptoFsPathSeparator.equals(osPathSeparator)) {
|
||||
absoluteCryptoFsPath = absoluteCryptoFsPath.replace(osPathSeparator, cryptoFsPathSeparator);
|
||||
}
|
||||
var cryptoPath = fs.getPath(absoluteCryptoFsPath);
|
||||
return fs.getCiphertextPath(cryptoPath);
|
||||
} else {
|
||||
throw new UnsupportedOperationException("URI mount points not supported.");
|
||||
}
|
||||
}
|
||||
|
||||
public VaultConfigCache getVaultConfigCache() {
|
||||
|
||||
@@ -29,9 +29,13 @@ public class ErrorController implements FxController {
|
||||
OS: %s / %s
|
||||
App: %s / %s
|
||||
|
||||
<!-- ✏️ Please describe what happened as accurately as possible. -->
|
||||
<!-- ✏ Please describe what happened as accurately as possible. -->
|
||||
|
||||
<!-- 📋 Please also copy and paste the detail text from the error window. -->
|
||||
|
||||
<!-- ℹ Text enclosed like this (chevrons, exclamation mark, two dashes) is not visible to others! -->
|
||||
|
||||
<!-- ❗ If the description or the detail text is missing, the discussion will be deleted. -->
|
||||
""";
|
||||
|
||||
private final Application application;
|
||||
|
||||
@@ -15,7 +15,7 @@ public enum FxmlFile {
|
||||
HEALTH_CHECK_LIST("/fxml/health_check_list.fxml"), //
|
||||
HUB_NO_KEYCHAIN("/fxml/hub_no_keychain.fxml"), //
|
||||
HUB_AUTH_FLOW("/fxml/hub_auth_flow.fxml"), //
|
||||
HUB_LICENSE_EXCEEDED("/fxml/hub_license_exceeded.fxml"), //
|
||||
HUB_INVALID_LICENSE("/fxml/hub_invalid_license.fxml"), //
|
||||
HUB_RECEIVE_KEY("/fxml/hub_receive_key.fxml"), //
|
||||
HUB_REGISTER_DEVICE("/fxml/hub_register_device.fxml"), //
|
||||
HUB_REGISTER_SUCCESS("/fxml/hub_register_success.fxml"), //
|
||||
|
||||
@@ -102,10 +102,10 @@ public abstract class HubKeyLoadingModule {
|
||||
}
|
||||
|
||||
@Provides
|
||||
@FxmlScene(FxmlFile.HUB_LICENSE_EXCEEDED)
|
||||
@FxmlScene(FxmlFile.HUB_INVALID_LICENSE)
|
||||
@KeyLoadingScoped
|
||||
static Scene provideLicenseExceededScene(@KeyLoading FxmlLoaderFactory fxmlLoaders) {
|
||||
return fxmlLoaders.createScene(FxmlFile.HUB_LICENSE_EXCEEDED);
|
||||
static Scene provideInvalidLicenseScene(@KeyLoading FxmlLoaderFactory fxmlLoaders) {
|
||||
return fxmlLoaders.createScene(FxmlFile.HUB_INVALID_LICENSE);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@@ -162,8 +162,8 @@ public abstract class HubKeyLoadingModule {
|
||||
|
||||
@Binds
|
||||
@IntoMap
|
||||
@FxControllerKey(LicenseExceededController.class)
|
||||
abstract FxController bindLicenseExceededController(LicenseExceededController controller);
|
||||
@FxControllerKey(InvalidLicenseController.class)
|
||||
abstract FxController bindInvalidLicenseController(InvalidLicenseController controller);
|
||||
|
||||
@Binds
|
||||
@IntoMap
|
||||
|
||||
+2
-2
@@ -7,12 +7,12 @@ import javax.inject.Inject;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
public class LicenseExceededController implements FxController {
|
||||
public class InvalidLicenseController implements FxController {
|
||||
|
||||
private final Stage window;
|
||||
|
||||
@Inject
|
||||
public LicenseExceededController(@KeyLoading Stage window) {
|
||||
public InvalidLicenseController(@KeyLoading Stage window) {
|
||||
this.window = window;
|
||||
}
|
||||
|
||||
@@ -42,11 +42,11 @@ public class ReceiveKeyController implements FxController {
|
||||
private final Lazy<Scene> registerDeviceScene;
|
||||
private final Lazy<Scene> unauthorizedScene;
|
||||
private final URI vaultBaseUri;
|
||||
private final Lazy<Scene> licenseExceededScene;
|
||||
private final Lazy<Scene> invalidLicenseScene;
|
||||
private final HttpClient httpClient;
|
||||
|
||||
@Inject
|
||||
public ReceiveKeyController(@KeyLoading Vault vault, ExecutorService executor, @KeyLoading Stage window, @Named("deviceId") String deviceId, @Named("bearerToken") AtomicReference<String> tokenRef, CompletableFuture<JWEObject> result, @FxmlScene(FxmlFile.HUB_REGISTER_DEVICE) Lazy<Scene> registerDeviceScene, @FxmlScene(FxmlFile.HUB_UNAUTHORIZED_DEVICE) Lazy<Scene> unauthorizedScene, @FxmlScene(FxmlFile.HUB_LICENSE_EXCEEDED) Lazy<Scene> licenseExceededScene) {
|
||||
public ReceiveKeyController(@KeyLoading Vault vault, ExecutorService executor, @KeyLoading Stage window, @Named("deviceId") String deviceId, @Named("bearerToken") AtomicReference<String> tokenRef, CompletableFuture<JWEObject> result, @FxmlScene(FxmlFile.HUB_REGISTER_DEVICE) Lazy<Scene> registerDeviceScene, @FxmlScene(FxmlFile.HUB_UNAUTHORIZED_DEVICE) Lazy<Scene> unauthorizedScene, @FxmlScene(FxmlFile.HUB_INVALID_LICENSE) Lazy<Scene> invalidLicenseScene) {
|
||||
this.window = window;
|
||||
this.deviceId = deviceId;
|
||||
this.bearerToken = Objects.requireNonNull(tokenRef.get());
|
||||
@@ -54,7 +54,7 @@ public class ReceiveKeyController implements FxController {
|
||||
this.registerDeviceScene = registerDeviceScene;
|
||||
this.unauthorizedScene = unauthorizedScene;
|
||||
this.vaultBaseUri = getVaultBaseUri(vault);
|
||||
this.licenseExceededScene = licenseExceededScene;
|
||||
this.invalidLicenseScene = invalidLicenseScene;
|
||||
this.window.addEventHandler(WindowEvent.WINDOW_HIDING, this::windowClosed);
|
||||
this.httpClient = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).executor(executor).build();
|
||||
}
|
||||
@@ -96,7 +96,7 @@ public class ReceiveKeyController implements FxController {
|
||||
}
|
||||
|
||||
private void licenseExceeded() {
|
||||
window.setScene(licenseExceededScene.get());
|
||||
window.setScene(invalidLicenseScene.get());
|
||||
}
|
||||
|
||||
private void needsDeviceRegistration() {
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.tobiasdiez.easybind.EasyBind;
|
||||
import org.apache.commons.lang3.SystemUtils;
|
||||
import org.cryptomator.common.vaults.Vault;
|
||||
import org.cryptomator.integrations.mount.Mountpoint;
|
||||
import org.cryptomator.integrations.revealpath.RevealFailedException;
|
||||
@@ -101,7 +102,11 @@ public class VaultDetailUnlockedController implements FxController {
|
||||
|
||||
private void handleDragEvent(DragEvent event) {
|
||||
if (DragEvent.DRAG_OVER.equals(event.getEventType()) && event.getGestureSource() == null && event.getDragboard().hasFiles()) {
|
||||
event.acceptTransferModes(TransferMode.LINK);
|
||||
if(SystemUtils.IS_OS_WINDOWS || SystemUtils.IS_OS_MAC) {
|
||||
event.acceptTransferModes(TransferMode.LINK);
|
||||
} else {
|
||||
event.acceptTransferModes(TransferMode.ANY);
|
||||
}
|
||||
draggingOver.set(true);
|
||||
} else if (DragEvent.DRAG_DROPPED.equals(event.getEventType()) && event.getGestureSource() == null && event.getDragboard().hasFiles()) {
|
||||
List<Path> ciphertextPaths = event.getDragboard().getFiles().stream().map(File::toPath).map(this::getCiphertextPath).flatMap(Optional::stream).toList();
|
||||
@@ -166,12 +171,7 @@ public class VaultDetailUnlockedController implements FxController {
|
||||
return Optional.empty();
|
||||
}
|
||||
try {
|
||||
var accessPoint = mountPoint.getValue();
|
||||
var cleartextPath = path.toString().substring(accessPoint.length());
|
||||
if (!cleartextPath.startsWith("/")) {
|
||||
cleartextPath = "/" + cleartextPath;
|
||||
}
|
||||
return Optional.of(vault.get().getCiphertextPath(cleartextPath));
|
||||
return Optional.of(vault.get().getCiphertextPath(path));
|
||||
} catch (IOException e) {
|
||||
LOG.warn("Unable to get ciphertext path from path: {}", path, e);
|
||||
return Optional.empty();
|
||||
|
||||
@@ -16,7 +16,7 @@ import javafx.fxml.FXML;
|
||||
public class WelcomeController implements FxController {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(WelcomeController.class);
|
||||
private static final String GETTING_STARTED_URI = "https://docs.cryptomator.org/en/1.6/desktop/getting-started/";
|
||||
private static final String GETTING_STARTED_URI = "https://docs.cryptomator.org/en/1.7/desktop/getting-started/";
|
||||
|
||||
private final Application application;
|
||||
private final BooleanBinding noVaultPresent;
|
||||
|
||||
@@ -10,7 +10,7 @@ import javafx.stage.Stage;
|
||||
|
||||
public class MigrationImpossibleController implements FxController {
|
||||
|
||||
private static final String HELP_URI = "https://docs.cryptomator.org/en/1.6/help/manual-migration/";
|
||||
private static final String HELP_URI = "https://docs.cryptomator.org/en/1.7/help/manual-migration/";
|
||||
|
||||
private final Application application;
|
||||
private final Stage window;
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.ResourceBundle;
|
||||
@PreferencesScoped
|
||||
public class VolumePreferencesController implements FxController {
|
||||
|
||||
private static final String DOCS_MOUNTING_URL = "https://docs.cryptomator.org/en/1.7/desktop/vault-mounting/";
|
||||
private static final String DOCS_MOUNTING_URL = "https://docs.cryptomator.org/en/1.7/desktop/volume-type/";
|
||||
|
||||
private final Settings settings;
|
||||
private final ObservableValue<MountService> selectedMountService;
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.google.common.base.CharMatcher;
|
||||
import com.google.common.base.Strings;
|
||||
import dagger.Lazy;
|
||||
import org.cryptomator.common.Nullable;
|
||||
import org.cryptomator.common.ObservableUtil;
|
||||
import org.cryptomator.common.vaults.Vault;
|
||||
import org.cryptomator.cryptofs.VaultConfig;
|
||||
import org.cryptomator.cryptofs.VaultConfigLoadException;
|
||||
@@ -15,9 +16,10 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.binding.BooleanBinding;
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.beans.property.StringProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.TextArea;
|
||||
@@ -38,11 +40,16 @@ public class RecoveryKeyRecoverController implements FxController {
|
||||
private final Vault vault;
|
||||
private final VaultConfig.UnverifiedVaultConfig unverifiedVaultConfig;
|
||||
private final StringProperty recoveryKey;
|
||||
private final ObservableValue<Boolean> recoveryKeyCorrect;
|
||||
private final ObservableValue<Boolean> recoveryKeyWrong;
|
||||
private final ObservableValue<Boolean> recoveryKeyInvalid;
|
||||
private final RecoveryKeyFactory recoveryKeyFactory;
|
||||
private final BooleanBinding validRecoveryKey;
|
||||
private final ObjectProperty<RecoveryKeyState> recoveryKeyState;
|
||||
private final Lazy<Scene> resetPasswordScene;
|
||||
private final AutoCompleter autoCompleter;
|
||||
|
||||
private volatile boolean isWrongKey;
|
||||
|
||||
public TextArea textarea;
|
||||
|
||||
@Inject
|
||||
@@ -53,14 +60,18 @@ public class RecoveryKeyRecoverController implements FxController {
|
||||
this.unverifiedVaultConfig = unverifiedVaultConfig;
|
||||
this.recoveryKey = recoveryKey;
|
||||
this.recoveryKeyFactory = recoveryKeyFactory;
|
||||
this.validRecoveryKey = Bindings.createBooleanBinding(this::isValidRecoveryKey, recoveryKey);
|
||||
this.resetPasswordScene = resetPasswordScene;
|
||||
this.autoCompleter = new AutoCompleter(recoveryKeyFactory.getDictionary());
|
||||
this.recoveryKeyState = new SimpleObjectProperty<>();
|
||||
this.recoveryKeyCorrect = ObservableUtil.mapWithDefault(recoveryKeyState, RecoveryKeyState.CORRECT::equals, false);
|
||||
this.recoveryKeyWrong = ObservableUtil.mapWithDefault(recoveryKeyState, RecoveryKeyState.WRONG::equals, false);
|
||||
this.recoveryKeyInvalid = ObservableUtil.mapWithDefault(recoveryKeyState, RecoveryKeyState.INVALID::equals, false);
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void initialize() {
|
||||
recoveryKey.bind(textarea.textProperty());
|
||||
textarea.textProperty().addListener(((observable, oldValue, newValue) -> validateRecoveryKey()));
|
||||
}
|
||||
|
||||
private TextFormatter.Change filterTextChange(TextFormatter.Change change) {
|
||||
@@ -107,6 +118,12 @@ public class RecoveryKeyRecoverController implements FxController {
|
||||
window.setScene(resetPasswordScene.get());
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks, if vault config is signed with the given key.
|
||||
*
|
||||
* @param key byte array of possible signing key
|
||||
* @return true, if vault config is signed with this key
|
||||
*/
|
||||
private boolean checkKeyAgainstVaultConfig(byte[] key) {
|
||||
try {
|
||||
var config = unverifiedVaultConfig.verify(key, unverifiedVaultConfig.allegedVaultVersion());
|
||||
@@ -114,6 +131,7 @@ public class RecoveryKeyRecoverController implements FxController {
|
||||
return true;
|
||||
} catch (VaultKeyInvalidException e) {
|
||||
LOG.debug("Provided recovery key does not match vault config signature.");
|
||||
isWrongKey = true;
|
||||
return false;
|
||||
} catch (VaultConfigLoadException e) {
|
||||
LOG.error("Failed to parse vault config", e);
|
||||
@@ -121,25 +139,64 @@ public class RecoveryKeyRecoverController implements FxController {
|
||||
}
|
||||
}
|
||||
|
||||
private void validateRecoveryKey() {
|
||||
isWrongKey = false;
|
||||
var valid = recoveryKeyFactory.validateRecoveryKey(recoveryKey.get(), unverifiedVaultConfig != null ? this::checkKeyAgainstVaultConfig : null);
|
||||
if (valid) {
|
||||
recoveryKeyState.set(RecoveryKeyState.CORRECT);
|
||||
} else if (isWrongKey) { //set via side effect in checkKeyAgainstVaultConfig()
|
||||
recoveryKeyState.set(RecoveryKeyState.WRONG);
|
||||
} else {
|
||||
recoveryKeyState.set(RecoveryKeyState.INVALID);
|
||||
}
|
||||
}
|
||||
|
||||
/* Getter/Setter */
|
||||
|
||||
public Vault getVault() {
|
||||
return vault;
|
||||
}
|
||||
|
||||
public BooleanBinding validRecoveryKeyProperty() {
|
||||
return validRecoveryKey;
|
||||
}
|
||||
|
||||
public boolean isValidRecoveryKey() {
|
||||
if (unverifiedVaultConfig != null) {
|
||||
return recoveryKeyFactory.validateRecoveryKey(recoveryKey.get(), this::checkKeyAgainstVaultConfig);
|
||||
} else {
|
||||
return recoveryKeyFactory.validateRecoveryKey(recoveryKey.get());
|
||||
}
|
||||
}
|
||||
|
||||
public TextFormatter getRecoveryKeyTextFormatter() {
|
||||
return new TextFormatter<>(this::filterTextChange);
|
||||
}
|
||||
|
||||
public ObservableValue<Boolean> recoveryKeyInvalidProperty() {
|
||||
return recoveryKeyInvalid;
|
||||
}
|
||||
|
||||
public boolean isRecoveryKeyInvalid() {
|
||||
return recoveryKeyInvalid.getValue();
|
||||
}
|
||||
|
||||
public ObservableValue<Boolean> recoveryKeyCorrectProperty() {
|
||||
return recoveryKeyCorrect;
|
||||
}
|
||||
|
||||
public boolean isRecoveryKeyCorrect() {
|
||||
return recoveryKeyCorrect.getValue();
|
||||
}
|
||||
|
||||
public ObservableValue<Boolean> recoveryKeyWrongProperty() {
|
||||
return recoveryKeyWrong;
|
||||
}
|
||||
|
||||
public boolean isRecoveryKeyWrong() {
|
||||
return recoveryKeyWrong.getValue();
|
||||
}
|
||||
|
||||
private enum RecoveryKeyState {
|
||||
/**
|
||||
* Recovery key is a valid key and belongs to this vault
|
||||
*/
|
||||
CORRECT,
|
||||
/**
|
||||
* Recovery key is a valid key, but does not belong to this vault
|
||||
*/
|
||||
WRONG,
|
||||
/**
|
||||
* Recovery key is not a valid key.
|
||||
*/
|
||||
INVALID;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ public class MountOptionsController implements FxController {
|
||||
private final ObservableValue<String> defaultMountFlags;
|
||||
private final ObservableValue<Boolean> mountpointDirSupported;
|
||||
private final ObservableValue<Boolean> mountpointDriveLetterSupported;
|
||||
private final ObservableValue<Boolean> volumeIdSupported;
|
||||
private final ObservableValue<Boolean> readOnlySupported;
|
||||
private final ObservableValue<Boolean> mountFlagsSupported;
|
||||
private final ObservableValue<String> directoryPath;
|
||||
@@ -48,6 +49,7 @@ public class MountOptionsController implements FxController {
|
||||
|
||||
//-- FXML objects --
|
||||
public CheckBox readOnlyCheckbox;
|
||||
public CheckBox useVaultIdAsVolumeId;
|
||||
public CheckBox customMountFlagsCheckbox;
|
||||
public TextField mountFlagsField;
|
||||
public ToggleGroup mountPointToggleGroup;
|
||||
@@ -73,6 +75,7 @@ public class MountOptionsController implements FxController {
|
||||
this.mountpointDirSupported = mountService.map(as -> as.service().hasCapability(MountCapability.MOUNT_TO_EXISTING_DIR) || as.service().hasCapability(MountCapability.MOUNT_WITHIN_EXISTING_PARENT));
|
||||
this.mountpointDriveLetterSupported = mountService.map(as -> as.service().hasCapability(MountCapability.MOUNT_AS_DRIVE_LETTER));
|
||||
this.mountFlagsSupported = mountService.map(as -> as.service().hasCapability(MountCapability.MOUNT_FLAGS));
|
||||
this.volumeIdSupported = mountService.map(as -> as.service().hasCapability(MountCapability.VOLUME_ID));
|
||||
this.readOnlySupported = mountService.map(as -> as.service().hasCapability(MountCapability.READ_ONLY));
|
||||
this.directoryPath = vault.getVaultSettings().mountPoint().map(p -> isDriveLetter(p) ? null : p.toString());
|
||||
this.applicationWindows = applicationWindows;
|
||||
@@ -83,6 +86,9 @@ public class MountOptionsController implements FxController {
|
||||
// readonly:
|
||||
readOnlyCheckbox.selectedProperty().bindBidirectional(vaultSettings.usesReadOnlyMode());
|
||||
|
||||
// use volume name as volume id
|
||||
useVaultIdAsVolumeId.selectedProperty().bindBidirectional(vaultSettings.usesVaultIdAsVolumeId());
|
||||
|
||||
// custom mount flags:
|
||||
mountFlagsField.disableProperty().bind(customMountFlagsCheckbox.selectedProperty().not());
|
||||
customMountFlagsCheckbox.setSelected(!Strings.isNullOrEmpty(vaultSettings.mountFlags().getValue()));
|
||||
@@ -267,6 +273,16 @@ public class MountOptionsController implements FxController {
|
||||
return readOnlySupported.getValue();
|
||||
}
|
||||
|
||||
public ObservableValue<Boolean> volumeIdSupportedProperty() {
|
||||
return volumeIdSupported;
|
||||
}
|
||||
|
||||
public boolean getVolumeIdSupported() {
|
||||
return volumeIdSupported.getValue();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public ObservableValue<String> directoryPathProperty() {
|
||||
return directoryPath;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.io.UncheckedIOException;
|
||||
@WrongFileAlertScoped
|
||||
public class WrongFileAlertController implements FxController {
|
||||
|
||||
private static final String DOCUMENTATION_URI = "https://docs.cryptomator.org/en/1.6/desktop/accessing-vaults/";
|
||||
private static final String DOCUMENTATION_URI = "https://docs.cryptomator.org/en/1.7/desktop/accessing-vaults/";
|
||||
|
||||
private final Application app;
|
||||
private final Stage window;
|
||||
|
||||
+3
-3
@@ -13,7 +13,7 @@
|
||||
<?import javafx.scene.shape.Circle?>
|
||||
<HBox xmlns:fx="http://javafx.com/fxml"
|
||||
xmlns="http://javafx.com/javafx"
|
||||
fx:controller="org.cryptomator.ui.keyloading.hub.LicenseExceededController"
|
||||
fx:controller="org.cryptomator.ui.keyloading.hub.InvalidLicenseController"
|
||||
minWidth="400"
|
||||
maxWidth="400"
|
||||
minHeight="145"
|
||||
@@ -33,12 +33,12 @@
|
||||
</StackPane>
|
||||
</Group>
|
||||
<VBox HBox.hgrow="ALWAYS">
|
||||
<Label styleClass="label-large" text="%hub.licenseExceeded.message" wrapText="true" textAlignment="LEFT">
|
||||
<Label styleClass="label-large" text="%hub.invalidLicense.message" wrapText="true" textAlignment="LEFT">
|
||||
<padding>
|
||||
<Insets bottom="6" top="6"/>
|
||||
</padding>
|
||||
</Label>
|
||||
<Label text="%hub.licenseExceeded.description" wrapText="true"/>
|
||||
<Label text="%hub.invalidLicense.description" wrapText="true"/>
|
||||
|
||||
<Region VBox.vgrow="ALWAYS" minHeight="18"/>
|
||||
<ButtonBar buttonMinWidth="120" buttonOrder="+C">
|
||||
@@ -9,6 +9,8 @@
|
||||
<?import javafx.scene.control.TextArea?>
|
||||
<?import javafx.scene.layout.Region?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.layout.StackPane?>
|
||||
<?import javafx.scene.Group?>
|
||||
<VBox xmlns:fx="http://javafx.com/fxml"
|
||||
xmlns="http://javafx.com/javafx"
|
||||
fx:controller="org.cryptomator.ui.recoverykey.RecoveryKeyRecoverController"
|
||||
@@ -25,12 +27,28 @@
|
||||
|
||||
<TextArea wrapText="true" prefRowCount="4" fx:id="textarea" textFormatter="${controller.recoveryKeyTextFormatter}" onKeyPressed="#onKeyPressed"/>
|
||||
|
||||
<!-- TODO: add Label when the recovery key is not valid -->
|
||||
<Label text="%recoveryKey.recover.validKey" graphicTextGap="6" contentDisplay="LEFT" visible="${controller.validRecoveryKey}">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="CHECK"/>
|
||||
</graphic>
|
||||
</Label>
|
||||
<StackPane>
|
||||
<Label text="Just some Filler" visible="false" graphicTextGap="6">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="ANCHOR"/>
|
||||
</graphic>
|
||||
</Label>
|
||||
<Label text="%recoveryKey.recover.correctKey" graphicTextGap="6" contentDisplay="LEFT" visible="${(!textarea.text.empty) && controller.recoveryKeyCorrect}">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="CHECK"/>
|
||||
</graphic>
|
||||
</Label>
|
||||
<Label text="%recoveryKey.recover.wrongKey" graphicTextGap="6" contentDisplay="LEFT" visible="${(!textarea.text.empty) && controller.recoveryKeyWrong}">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="TIMES" styleClass="glyph-icon-red"/>
|
||||
</graphic>
|
||||
</Label>
|
||||
<Label text="%recoveryKey.recover.invalidKey" graphicTextGap="6" contentDisplay="LEFT" visible="${(!textarea.text.empty) && controller.recoveryKeyInvalid}">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="TIMES" styleClass="glyph-icon-red"/>
|
||||
</graphic>
|
||||
</Label>
|
||||
</StackPane>
|
||||
|
||||
<Region VBox.vgrow="ALWAYS"/>
|
||||
|
||||
@@ -38,7 +56,7 @@
|
||||
<ButtonBar buttonMinWidth="120" buttonOrder="+CX">
|
||||
<buttons>
|
||||
<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" cancelButton="true" onAction="#close"/>
|
||||
<Button text="%generic.button.next" ButtonBar.buttonData="NEXT_FORWARD" defaultButton="true" onAction="#recover" disable="${!controller.validRecoveryKey}"/>
|
||||
<Button text="%generic.button.next" ButtonBar.buttonData="NEXT_FORWARD" defaultButton="true" onAction="#recover" disable="${!controller.recoveryKeyCorrect}"/>
|
||||
</buttons>
|
||||
</ButtonBar>
|
||||
</VBox>
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
<?import javafx.scene.control.ToggleGroup?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
<?import javafx.scene.text.TextFlow?>
|
||||
<VBox xmlns:fx="http://javafx.com/fxml"
|
||||
xmlns="http://javafx.com/javafx"
|
||||
@@ -26,11 +25,12 @@
|
||||
</padding>
|
||||
<children>
|
||||
<TextFlow>
|
||||
<Text text="%vaultOptions.mount.info" styleClass="label"/>
|
||||
<Text text=" "/>
|
||||
<Label text="%vaultOptions.mount.info"/>
|
||||
<Label text=" "/>
|
||||
<Hyperlink styleClass="hyperlink-underline" text="%vaultOptions.mount.linkToPreferences" onAction="#openVolumePreferences" wrapText="true"/>
|
||||
</TextFlow>
|
||||
<CheckBox fx:id="readOnlyCheckbox" text="%vaultOptions.mount.readonly" visible="${controller.readOnlySupported}" managed="${controller.readOnlySupported}"/>
|
||||
<CheckBox fx:id="useVaultIdAsVolumeId" text="TODO vault id as volume id" visible="${controller.volumeIdSupported}" managed="${controller.volumeIdSupported}"/>
|
||||
|
||||
<VBox visible="${controller.mountFlagsSupported}" managed="${controller.mountFlagsSupported}">
|
||||
<CheckBox fx:id="customMountFlagsCheckbox" text="%vaultOptions.mount.customMountFlags" onAction="#toggleUseCustomMountFlags"/>
|
||||
|
||||
@@ -155,9 +155,8 @@ hub.registerFailed.description=An error was thrown in the naming process. For mo
|
||||
hub.unauthorized.message=Access denied
|
||||
hub.unauthorized.description=Your device has not yet been authorized to access this vault. Ask the vault owner to authorize it.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=License exceeded
|
||||
hub.licenseExceeded.description=Cryptomator Hub has given access to more users than its license permits. Please contact your Hub admin to upgrade the license or a vault admin to remove users from vaults.
|
||||
|
||||
hub.invalidLicense.message=Hub License invalid
|
||||
hub.invalidLicense.description=Your Cryptomator Hub instance has an invalid license. Please inform a Hub administrator to upgrade or renew the license.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -308,27 +307,27 @@ stats.title=Statistics for %s
|
||||
stats.cacheHitRate=Cache Hit Rate
|
||||
## Read
|
||||
stats.read.throughput.idle=Read: idle
|
||||
stats.read.throughput.kibs=Read: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Read: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Read: %.2f MiB/s
|
||||
stats.read.total.data.none=Data read: -
|
||||
stats.read.total.data.kib=Data read: %.1f kiB
|
||||
stats.read.total.data.kib=Data read: %.1f KiB
|
||||
stats.read.total.data.mib=Data read: %.1f MiB
|
||||
stats.read.total.data.gib=Data read: %.1f GiB
|
||||
stats.decr.total.data.none=Data decrypted: -
|
||||
stats.decr.total.data.kib=Data decrypted: %.1f kiB
|
||||
stats.decr.total.data.kib=Data decrypted: %.1f KiB
|
||||
stats.decr.total.data.mib=Data decrypted: %.1f MiB
|
||||
stats.decr.total.data.gib=Data decrypted: %.1f GiB
|
||||
stats.read.accessCount=Total reads: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Write: idle
|
||||
stats.write.throughput.kibs=Write: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Write: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Write: %.2f MiB/s
|
||||
stats.write.total.data.none=Data written: -
|
||||
stats.write.total.data.kib=Data written: %.1f kiB
|
||||
stats.write.total.data.kib=Data written: %.1f KiB
|
||||
stats.write.total.data.mib=Data written: %.1f MiB
|
||||
stats.write.total.data.gib=Data written: %.1f GiB
|
||||
stats.encr.total.data.none=Data encrypted: -
|
||||
stats.encr.total.data.kib=Data encrypted: %.1f kiB
|
||||
stats.encr.total.data.kib=Data encrypted: %.1f KiB
|
||||
stats.encr.total.data.mib=Data encrypted: %.1f MiB
|
||||
stats.encr.total.data.gib=Data encrypted: %.1f GiB
|
||||
stats.write.accessCount=Total writes: %d
|
||||
@@ -371,7 +370,7 @@ main.vaultDetail.lockBtn=Lock
|
||||
main.vaultDetail.bytesPerSecondRead=Read:
|
||||
main.vaultDetail.bytesPerSecondWritten=Write:
|
||||
main.vaultDetail.throughput.idle=idle
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Vault Statistics
|
||||
main.vaultDetail.locateEncryptedFileBtn=Locate Encrypted File
|
||||
@@ -447,7 +446,9 @@ recoveryKey.display.StorageHints=Keep it somewhere very secure, e.g.:\n • Stor
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Reset Password
|
||||
recoveryKey.recover.prompt=Enter your recovery key for "%s":
|
||||
recoveryKey.recover.validKey=This is a valid recovery key
|
||||
recoveryKey.recover.correctKey=This recovery key is correct
|
||||
recoveryKey.recover.wrongKey=This recovery key belongs to a different vault
|
||||
recoveryKey.recover.invalidKey=This recovery key is not valid
|
||||
recoveryKey.printout.heading=Cryptomator Recovery Key\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Reset
|
||||
|
||||
@@ -113,7 +113,6 @@ hub.register.registerBtn=تأكيد
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.description=تم حظر قفل "%s" بواسطة العمليات المعلقة أو الملفات المفتوحة. يمكنك فرض قفل هذا المخزن، ولكن مقاطعة عمليات الادخال والاخراج I/O قد تؤدي لفقدان البيانات غير المحفوظة.
|
||||
@@ -234,7 +233,6 @@ main.vaultDetail.lockBtn=قفل
|
||||
main.vaultDetail.bytesPerSecondRead=قراءة:
|
||||
main.vaultDetail.bytesPerSecondWritten=كتابة:
|
||||
main.vaultDetail.throughput.idle=خمول
|
||||
main.vaultDetail.throughput.kbps=%.1f كيلوبايت/ث
|
||||
main.vaultDetail.throughput.mbps=%.1f ميجابايت/ث
|
||||
main.vaultDetail.stats=إحصائيات الخزنة
|
||||
main.vaultDetail.locateEncryptedFileBtn=تحديد موقع الملف المشفر
|
||||
@@ -296,7 +294,7 @@ recoveryKey.display.StorageHints=حافظ عليه في مكان ما آمن ج
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt=أدخل مفتاح الاسترداد الخاص لـ "%s":
|
||||
recoveryKey.recover.validKey=هذا مفتاح استرداد صالح
|
||||
recoveryKey.recover.correctKey=هذا مفتاح استرداد صالح
|
||||
recoveryKey.printout.heading=مفتاح استرداد Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -123,7 +123,14 @@ unlock.success.description=Змест скарбніцы "%s" цяпер дас
|
||||
unlock.success.rememberChoice=Запомні мой выбар і больш не пытай
|
||||
unlock.success.revealBtn=Паказаць дыск
|
||||
## Failure
|
||||
unlock.error.customPath.message=Не магчыма змантажаваць скарбніцу да карыстальніцкай сцежкі
|
||||
unlock.error.customPath.description.notSupported=Калі ты надалей жадаеш карыстацца адмысловаю сцежкаю, калі ласка, пайдзі ў налады ды абары там тып тому, які падтрымлівае яе. У іншым выпадку пайдзі ў опцыі скарбніцы ды абяры там пункт мантажавання, які падтрымліваецца.
|
||||
unlock.error.customPath.description.notExists=Адмысловая сцежка мантажавання не існуе. Ствары яе ў сваёй файлавай сістэме, альбо змяні яе ў опцыях скарбніцы.
|
||||
unlock.error.customPath.description.generic=Ты абраў адмысловую сцежку мантажавання для гэтай скарбніцы, але скарыстацца ёю не ўдалося. Вось паведамленне пра памылку: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=Няма доступу да ключа прылады
|
||||
hub.noKeychain.description=Каб разамкнуць скарбніцы Hub, патрэбны ключ прылады, які захаваны ў звязку ключоў. Каб працягнуць, уключы "%s" ды абяры звязак ключоў у наладах.
|
||||
hub.noKeychain.openBtn=Адчыніць налады
|
||||
### Waiting
|
||||
hub.auth.message=Чаканне спраўджання…
|
||||
hub.auth.description=Ты мусіш аўтаматычна перанакіравацца на старонку ўваходу.
|
||||
@@ -147,8 +154,8 @@ hub.registerFailed.description=Падчас прысваення імя адбы
|
||||
hub.unauthorized.message=Адмова ў доступе
|
||||
hub.unauthorized.description=Тваёй прыладзе ў дадзены момант не дазволена мець доступ да гэтай скрабніцы. Запытайся ўладальніка скрабніцы за дазволам.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Ліцэнзія пратэрмінаваная
|
||||
|
||||
hub.invalidLicense.message=Несапраўдная ліцэнзія Hub
|
||||
hub.invalidLicense.description=Твая інстанцыя Cryptomator Hub мае некарэктную ліцэнзію. Калі ласка, паведамі адміністратару Hub пра гэта, каб абнавіць альбо аднавіць ліцэнзію.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -164,6 +171,12 @@ lock.fail.description=Скарбніцу "%s" не мажліва замкнуц
|
||||
migration.title=Абнавіць скарбніцу
|
||||
## Start
|
||||
migration.start.header=Абнавіць скарбніцу
|
||||
migration.start.text=Каб адчыніць тваю скарбніцу "%s" у гэтай новай вэрсіі Cryptomator, скарбніца мусіць быць абноўленая да навейшага фармату. Перад тым, як пачаць, трэба ведаць наступнае:
|
||||
migration.start.remarkUndone=Не магчыма скасаваць гэта абнаўленне.
|
||||
migration.start.remarkVersions=Старэйшыя вэрсіі Cryptomator ня змогуць адчыніць абноўленую скарбніцу.
|
||||
migration.start.remarkCanRun=Ты мусіш упэўніцца, што на кожнай прыладзе, якая мае доступ да скарбніцы, працуе гэта вэрсія Cryptomator.
|
||||
migration.start.remarkSynced=Ты мусіш упэўніцца, што твая скарбніца цалкам сынхранаваная на гэтай ды іншых прыладах, перад тым як пачаць абнаўленне.
|
||||
migration.start.confirm=Я прачытала і зразумела інфармацыю зверху
|
||||
## Run
|
||||
migration.run.enterPassword=Увядзіце пароль да "%s"
|
||||
migration.run.startMigrationBtn=Перамясціць скарбніцу
|
||||
@@ -185,17 +198,47 @@ migration.impossible.heading=Не мажліва перанесці скарбн
|
||||
## Start
|
||||
health.title=Тэст на цэласнасць для "%s"
|
||||
health.intro.header=Тэст на цэласнасць
|
||||
health.intro.remarkFix=Ня ўсе хібы могуць быць выпраўленыя.
|
||||
health.intro.remarkBackup=Калі даныя пашкоджаныя, дапаможа толькі рэзервовая копія.
|
||||
health.intro.affirmation=Я прачытала і зразумела інфармацыю зверху
|
||||
## Start Failure
|
||||
health.fail.header=Падчас загрузкі налад скарбніцы адбылася памылка
|
||||
health.fail.ioError=Здарылася памылка падчас спробы прачытаць канфіґурацыйны файл.
|
||||
health.fail.parseError=Здарылася памылка падчас ператварэння канфіґурацыі скарбніцы.
|
||||
health.fail.moreInfo=Падрабязней
|
||||
## Check Selection
|
||||
health.checkList.description=Абяры тэсты ў левым спісе альбо скарыстайся кнопкамі ўнізе.
|
||||
health.checkList.selectAllButton=Вылучыць усе элементы
|
||||
health.checkList.deselectAllButton=Адрабіць вылучэнне ўсіх элементаў
|
||||
health.check.runBatchBtn=Выканаць вылучаныя элементы
|
||||
## Detail view
|
||||
health.check.detail.noSelectedCheck=Каб праглядзець вынікі, абяры тэсты цэласнасці ў левым спісе.
|
||||
health.check.detail.checkScheduled=Тэст пастаўлены ў чаргу.
|
||||
health.check.detail.checkRunning=Тэст адбываецца ў гэты момант…
|
||||
health.check.detail.checkSkipped=Тэст ня быў абраны для выканання.
|
||||
health.check.detail.checkFinished=Тэст паспяхова скончыўся.
|
||||
health.check.detail.checkFinishedAndFound=Тэст завершаны. Калі ласка, праглядзі вынікі.
|
||||
health.check.detail.checkFailed=Тэст быў спынены з-за памылкі.
|
||||
health.check.detail.checkCancelled=Праверка была скасавана.
|
||||
health.check.detail.listFilters.label=Фільтр
|
||||
health.check.detail.fixAllSpecificBtn=Адрамантаваць усё гэтага тыпу
|
||||
health.check.exportBtn=Экспартаваць справаздачу
|
||||
## Result view
|
||||
health.result.severityFilter.all=Стан – Усе
|
||||
health.result.severityFilter.good=Добра
|
||||
health.result.severityFilter.info=Інфармацыя
|
||||
health.result.severityFilter.warn=Папярэджанне
|
||||
health.result.severityFilter.crit=Крытычна
|
||||
health.result.severityTip.good=Стан: Добры\nНармальная структура скарбніцы.
|
||||
health.result.severityTip.info=Стан: Інфармацыя\nСтруктура скарбніцы непашкоджаная.
|
||||
health.result.severityTip.warn=Стан: Папярэджанне\nСтруктура скарбніцы пашкоджаная, тэрмінова патрабуецца рамонт.
|
||||
health.result.severityTip.crit=Стан: Крытычны\nСтруктура скарбніцы пашкоджаная, выяўлена страта даных.
|
||||
health.result.fixStateFilter.all=Стан выпраўлення – Усе
|
||||
health.result.fixStateFilter.fixable=Папраўны
|
||||
health.result.fixStateFilter.notFixable=Непапраўны
|
||||
health.result.fixStateFilter.fixing=Выпраўленне…
|
||||
health.result.fixStateFilter.fixed=Выпраўлена
|
||||
health.result.fixStateFilter.fixFailed=Няўдача выпраўлення
|
||||
## Fix Application
|
||||
health.fix.fixBtn=Выправіць
|
||||
health.fix.successTip=Паспяхова выпраўлена
|
||||
@@ -227,7 +270,16 @@ preferences.interface.showMinimizeButton=Паказаць кнопку згор
|
||||
preferences.interface.showTrayIcon=Паказваць іконку на інфармацыйнай панэлі (спатрэбіцца перазапуск)
|
||||
## Volume
|
||||
preferences.volume=Віртуальны дыск
|
||||
preferences.volume.type=Тып тому (спатрэбіцца перазапуск)
|
||||
preferences.volume.type.automatic=Аўтаматычна
|
||||
preferences.volume.docsTooltip=Адчыні дакумэнтацыю, каб даведацца больш пра розныя тыпы тому.
|
||||
preferences.volume.tcp.port=Порт TCP
|
||||
preferences.volume.supportedFeatures=Абраны тып тому падтрымлівае наступныя функцыі:
|
||||
preferences.volume.feature.mountAuto=Аўтаматычны выбар пункту мантажавання
|
||||
preferences.volume.feature.mountToDir=Карыстальніцкая тэчка як пункт мантажавання
|
||||
preferences.volume.feature.mountToDriveLetter=Літара тому як пункт мантажавання
|
||||
preferences.volume.feature.mountFlags=Карыстальніцкія опцыі мантажавання
|
||||
preferences.volume.feature.readOnly=Мантажаванне толькі для чытання
|
||||
## Updates
|
||||
preferences.updates=Абнаўленні
|
||||
preferences.updates.currentVersion=Бягучая версія: %s
|
||||
@@ -236,7 +288,10 @@ preferences.updates.checkNowBtn=Праверыць зараз
|
||||
preferences.updates.updateAvailable=Даступна абнаўленне да версіі %s
|
||||
## Contribution
|
||||
preferences.contribute=Падтрымай нас
|
||||
preferences.contribute.registeredFor=Сэртыфікат ахвяравальніка зарэгістраваны на %s
|
||||
preferences.contribute.noCertificate=Ахвяруй на Cryptomator ды атрымай сэртыфікат ахвяравальніка. Гэта штось падобнае на ліцэнзійны ключ, але для цудоўных людзей, якія карыстаюцца бясплатнай праграмай. ;-)
|
||||
preferences.contribute.getCertificate=Яшчэ ня маеш такога? Даведайся, як атрымаць.
|
||||
preferences.contribute.promptText=Устаў код сэртыфікату ахвяравальніка сюды
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
@@ -244,9 +299,10 @@ preferences.about=Пра нас
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Статыстыкі для %s
|
||||
stats.cacheHitRate=Трапнасць кэшу
|
||||
## Read
|
||||
stats.read.throughput.idle=Чытанне: -
|
||||
stats.read.throughput.kibs=Чытанне: %.2f КіБ/с
|
||||
stats.read.throughput.idle=Чытанне: нічога
|
||||
stats.read.throughput.kibs=Чытанне: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Чытанне: %.2f МіБ/с
|
||||
stats.read.total.data.none=Прачытана: -
|
||||
stats.read.total.data.kib=Прачытана: %.1f КіБ
|
||||
@@ -256,9 +312,9 @@ stats.decr.total.data.none=Расшыфравана: -
|
||||
stats.decr.total.data.kib=Расшыфравана: %.1f КіБ
|
||||
stats.decr.total.data.mib=Расшыфравана: %.1f МіБ
|
||||
stats.decr.total.data.gib=Расшыфравана: %.1f ҐіБ
|
||||
stats.read.accessCount=Агульная колькасць чытанняў: %d
|
||||
stats.read.accessCount=Прачытана агулам: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Чытанне: -
|
||||
stats.write.throughput.idle=Пісанне: нічога
|
||||
stats.write.throughput.kibs=Пісанне: %.2f КіБ/с
|
||||
stats.write.throughput.mibs=Пісанне: %.2f МіБ/с
|
||||
stats.write.total.data.none=Напісана: -
|
||||
@@ -269,9 +325,11 @@ stats.encr.total.data.none=Зашыфравана: -
|
||||
stats.encr.total.data.kib=Зашыфравана: %.1f КіБ
|
||||
stats.encr.total.data.mib=Зашыфравана: %.1f МіБ
|
||||
stats.encr.total.data.gib=Зашыфравана: %.1f ҐіБ
|
||||
stats.write.accessCount=Агульная колькасць запісаў: %d
|
||||
stats.write.accessCount=Запісана агулам: %d
|
||||
|
||||
## Accesses
|
||||
stats.access.current=Доступ: %d
|
||||
stats.access.total=Доступы агулам: %d
|
||||
|
||||
|
||||
# Main Window
|
||||
@@ -301,6 +359,7 @@ main.vaultDetail.passwordSavedInKeychain=Пароль захаваны
|
||||
main.vaultDetail.unlockedStatus=РАЗАМКНЁНА
|
||||
main.vaultDetail.accessLocation=Змест тваёй скарбніцы даступны тут:
|
||||
main.vaultDetail.revealBtn=Паказаць дыск
|
||||
main.vaultDetail.copyUri=Скапіяваць URI
|
||||
main.vaultDetail.lockBtn=Замкнуць
|
||||
main.vaultDetail.bytesPerSecondRead=Чытанне:
|
||||
main.vaultDetail.bytesPerSecondWritten=Пісанне:
|
||||
@@ -308,6 +367,10 @@ main.vaultDetail.throughput.idle=бяздзейны
|
||||
main.vaultDetail.throughput.kbps=%.1f КіБ/с
|
||||
main.vaultDetail.throughput.mbps=%.1f МіБ/с
|
||||
main.vaultDetail.stats=Статыстыка скарбніцы
|
||||
main.vaultDetail.locateEncryptedFileBtn=Знайсці зашыфраваны файл
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=Абяры файл у тваёй скрабніцы, каб знайсці ягоны зашыфраваны адпаведнік
|
||||
main.vaultDetail.encryptedPathsCopied=Шлях скапіяваны ў буфер абмену!
|
||||
main.vaultDetail.filePickerTitle=Абраць файл унутры скарбніцы
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator ня змог знайсці скарбніцу па гэтай сцежцы.
|
||||
main.vaultDetail.missing.recheck=Пераправерыць
|
||||
@@ -341,20 +404,26 @@ vaultOptions.general.actionAfterUnlock=Пасля паспяховага раз
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Нічога не рабі
|
||||
vaultOptions.general.actionAfterUnlock.reveal=Паказаць дыск
|
||||
vaultOptions.general.actionAfterUnlock.ask=Запытацца
|
||||
vaultOptions.general.startHealthCheckBtn=Пачаць тэст на цэласнасць
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Мантажаванне
|
||||
vaultOptions.mount.info=Опцыі залежаць ад абранага тыпу тому.
|
||||
vaultOptions.mount.linkToPreferences=Адчыніць налады віртуальнага дыску
|
||||
vaultOptions.mount.readonly=Толькі для чытання
|
||||
vaultOptions.mount.customMountFlags=Карыстальніцкія опцыі мантажавання
|
||||
vaultOptions.mount.winDriveLetterOccupied=занята
|
||||
vaultOptions.mount.mountPoint=Пункт мантажавання
|
||||
vaultOptions.mount.mountPoint.auto=Аўтаматычны выбар пасуючага месцазнаходжання
|
||||
vaultOptions.mount.mountPoint.driveLetter=Назначыць літару для дыску
|
||||
vaultOptions.mount.mountPoint.custom=Выкарыстаць абраную тэчку
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Абраць…
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Абраць тэчку
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Пароль
|
||||
vaultOptions.masterkey.changePasswordBtn=Змяніць пароль
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=Забыцца на захаваны пароль
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Ключ аднаўлення – гэта адзіная мажлівасць аднавіць доступ да тваёй скарбніцы, калі ты згубіш пароль.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Паказаць ключ аднаўлення
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Скінуць пароль
|
||||
|
||||
@@ -370,7 +439,9 @@ recoveryKey.display.StorageHints=Захоўвай іх у бяспечным м
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Скінуць пароль
|
||||
recoveryKey.recover.prompt=Увядзі свой ключ аднаўлення для "%s":
|
||||
recoveryKey.recover.validKey=Гэта валідны ключ аднаўлення
|
||||
recoveryKey.recover.correctKey=Гэта валідны ключ аднаўлення
|
||||
recoveryKey.recover.wrongKey=Гэты ключ аднаўлення належыць іншай скарбніцы
|
||||
recoveryKey.recover.invalidKey=Несапраўдны ключ аднаўлення
|
||||
recoveryKey.printout.heading=Ключ аднаўлення Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Скінуць
|
||||
@@ -398,4 +469,5 @@ quit.lockAndQuitBtn=Замкнуць ды вайсці
|
||||
|
||||
# Forced Quit
|
||||
quit.forced.message=Некаторыя скарбніцы не магчыма замкнуць
|
||||
quit.forced.description=Замыканне скарбніц было заблакавана праз дзеючыя аперацыі альбо праз адчыненыя файлы. Ты можаш прымусова замкнуць скарбніцы, але гэта можа прывесці да страты незахаваных даных.
|
||||
quit.forced.forceAndQuitBtn=Прымусіць і выйсці
|
||||
@@ -97,7 +97,6 @@ hub.register.registerBtn=নিশ্চিত করুন
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=পুনরায় চেষ্টা করুন
|
||||
|
||||
@@ -113,7 +113,6 @@ hub.register.registerBtn=Potvrdi
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.description=Zaključavanje "%s" blokirano je operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid U / I-a može rezultirati gubitkom nespremljenih podataka.
|
||||
@@ -183,27 +182,21 @@ stats.title=Statistika za %s
|
||||
stats.cacheHitRate=Brzina učitavanja u predmemoriju
|
||||
## Read
|
||||
stats.read.throughput.idle=Čitaj: U pripravnosti
|
||||
stats.read.throughput.kibs=Čitanje: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Čitanje: %.2f MiB/s
|
||||
stats.read.total.data.none=Pročitano podataka: -
|
||||
stats.read.total.data.kib=Pročitano podataka: %.1f kiB
|
||||
stats.read.total.data.mib=Pročitano podataka: %.1f MiB
|
||||
stats.read.total.data.gib=Pročitano podataka: %.1f GiB
|
||||
stats.decr.total.data.none=Otključani podaci: -
|
||||
stats.decr.total.data.kib=Otključano podataka: %.1f kiB
|
||||
stats.decr.total.data.mib=Otključano podataka: %.1f MiB
|
||||
stats.decr.total.data.gib=Otključano podataka: %.1f GiB
|
||||
stats.read.accessCount=Ukupno pročitano: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Pisanje: U pripravnosti
|
||||
stats.write.throughput.kibs=Upisano: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Upisano: %.2f MiB/s
|
||||
stats.write.total.data.none=Podaci su upisani:-
|
||||
stats.write.total.data.kib=Upisano podataka: %.1f kiB
|
||||
stats.write.total.data.mib=Upisano podataka: %.1f MiB
|
||||
stats.write.total.data.gib=Upisano podataka: %.1f GiB
|
||||
stats.encr.total.data.none=Otključano podataka: -
|
||||
stats.encr.total.data.kib=Otključano podataka: %.1f kiB
|
||||
stats.encr.total.data.mib=Otključano podataka: %.1f MiB
|
||||
stats.encr.total.data.gib=Otključano podataka: %.1f GiB
|
||||
stats.write.accessCount=Ukupno upisano: %d
|
||||
@@ -243,7 +236,6 @@ main.vaultDetail.lockBtn=Zaključaj
|
||||
main.vaultDetail.bytesPerSecondRead=Čitaj:
|
||||
main.vaultDetail.bytesPerSecondWritten=Piši:
|
||||
main.vaultDetail.throughput.idle=u stanju mirovanja
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Statistika sefa
|
||||
### Missing
|
||||
@@ -301,7 +293,7 @@ recoveryKey.display.StorageHints=Pohranite ga negdje vrlo sigurno, npr.:\n • S
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt=Unesite ključ za oporavak za "%s":
|
||||
recoveryKey.recover.validKey=Ključ za oporavak je ispravan
|
||||
recoveryKey.recover.correctKey=Ključ za oporavak je ispravan
|
||||
recoveryKey.printout.heading=Cryptomator Ključ za oporavak za \n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=S'ha produït un error en el procés de nomenamen
|
||||
hub.unauthorized.message=Accés denegat
|
||||
hub.unauthorized.description=El vostre dispositiu no ha estat encara autoritzat a accedir a aquesta caixa forta. Demaneu autorització al propietari.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Llicència caducada
|
||||
hub.licenseExceeded.description=Cryptomator Hub ha donat accés a més usuaris dels permesos en la llicència. Si us plau contacteu amb l'administrador del Hub per actualitzar la llicència o amb l'administrador de la caixa forta per treure usuaris.
|
||||
|
||||
hub.invalidLicense.message=La llicència del Hub no és vàlida
|
||||
hub.invalidLicense.description=Aquest Cryptomator Hub no té una llicència vàlida. Informa si us plau a l'administrador perquè actualitzi o renovi la llicència.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -277,6 +276,7 @@ preferences.interface.showTrayIcon=Mostra la icona en la barra (cal reiniciar)
|
||||
preferences.volume=Unitat virtual
|
||||
preferences.volume.type=Tipus de volum (requereix reiniciar)
|
||||
preferences.volume.type.automatic=Automàtic
|
||||
preferences.volume.docsTooltip=Obre la documentació per aprendre més sobre els diferents tipus de volums.
|
||||
preferences.volume.tcp.port=Port TCP
|
||||
preferences.volume.supportedFeatures=El tipus de volum escollit suporta les següents característiques:
|
||||
preferences.volume.feature.mountAuto=Selecció automàtica del punt de muntatge
|
||||
@@ -306,27 +306,27 @@ stats.title=Estadístiques per a %s
|
||||
stats.cacheHitRate=Relació d'encerts de la memòria cau
|
||||
## Read
|
||||
stats.read.throughput.idle=Llegit: inactiu
|
||||
stats.read.throughput.kibs=Llegit: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Lectura: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Llegit: %.2f MiB/s
|
||||
stats.read.total.data.none=Dades llegides: -
|
||||
stats.read.total.data.kib=Dades llegides: %.1f kiB
|
||||
stats.read.total.data.kib=Dades llegides: %.1f KiB
|
||||
stats.read.total.data.mib=Dades llegides: %.1f MiB
|
||||
stats.read.total.data.gib=Dades llegides: %.1f GiB
|
||||
stats.decr.total.data.none=Dades desxifrades: -
|
||||
stats.decr.total.data.kib=Dades desxifrades: %.1f kiB
|
||||
stats.decr.total.data.kib=Dades desxifrades: %.1f KiB
|
||||
stats.decr.total.data.mib=Dades desxifrades: %.1f MiB
|
||||
stats.decr.total.data.gib=Dades desxifrades: %.1f GiB
|
||||
stats.read.accessCount=Lectures en total: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Escriu: inactiu
|
||||
stats.write.throughput.kibs=Escriu: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Escriptura: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Escriu: %.2f MiB/s
|
||||
stats.write.total.data.none=Dades escrites
|
||||
stats.write.total.data.kib=Dades escrites: %.1f kiB
|
||||
stats.write.total.data.kib=Dades escrites: %.1f KiB
|
||||
stats.write.total.data.mib=Dades escrites: %.1f MiB
|
||||
stats.write.total.data.gib=Dades escrites: %.1f GiB
|
||||
stats.encr.total.data.none=Dades xifrades: -
|
||||
stats.encr.total.data.kib=Dades xifrades: %.1f kiB
|
||||
stats.encr.total.data.kib=Dades xifrades: %.1f KiB
|
||||
stats.encr.total.data.mib=Dades xifrades: %.1f MiB
|
||||
stats.encr.total.data.gib=Dades xifrades: %.1f GiB
|
||||
stats.write.accessCount=Total escrits: %d
|
||||
@@ -369,7 +369,7 @@ main.vaultDetail.lockBtn=Bloqueja
|
||||
main.vaultDetail.bytesPerSecondRead=Lectura:
|
||||
main.vaultDetail.bytesPerSecondWritten=Escriu:
|
||||
main.vaultDetail.throughput.idle=inactiu
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Estadístiques de la caixa forta
|
||||
main.vaultDetail.locateEncryptedFileBtn=Trobar fitxer xifrat
|
||||
@@ -445,7 +445,9 @@ recoveryKey.display.StorageHints=Conserveu-la en un lloc molt segur. P. ex.:\n
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Canviar contrasenya
|
||||
recoveryKey.recover.prompt=Introduïu la vostra clau de recuperació de "%s":
|
||||
recoveryKey.recover.validKey=La clau de recuperació és vàlida
|
||||
recoveryKey.recover.correctKey=La clau de recuperació és vàlida
|
||||
recoveryKey.recover.wrongKey=Aquesta clau de recuperació pertany a una caixa forta diferent
|
||||
recoveryKey.recover.invalidKey=Aquesta clau de recuperació no és vàlida
|
||||
recoveryKey.printout.heading=Clau de recuperació de Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Reinicia
|
||||
|
||||
@@ -142,9 +142,6 @@ hub.registerFailed.message=Pojmenování zařízení se nezdařilo
|
||||
hub.unauthorized.message=Přístup odepřen
|
||||
hub.unauthorized.description=Vaše zařízení dosud nebylo oprávněno k přístupu k tomuto trezoru. Požádejte vlastníka trezoru, aby jej autorizoval.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licence byla překročena
|
||||
hub.licenseExceeded.description=Cryptomator Hub poskytl přístup více uživatelům, než jsou jeho licenční povolení. Obraťte se na správce Hubu pro aktualizaci licence nebo správce trezoru pro odstranění uživatelů z trezoru.
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -275,27 +272,21 @@ stats.title=Statistika pro %s
|
||||
stats.cacheHitRate=Rychlost dosažené mezipaměti
|
||||
## Read
|
||||
stats.read.throughput.idle=Čtení: nečinné
|
||||
stats.read.throughput.kibs=Čtení: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Čtení: %.2f MiB/s
|
||||
stats.read.total.data.none=Přečteno: -
|
||||
stats.read.total.data.kib=Přečteno: %.1f kiB
|
||||
stats.read.total.data.mib=Přečteno: %.1f MiB
|
||||
stats.read.total.data.gib=Přečteno: %.1f GiB
|
||||
stats.decr.total.data.none=Dešifrováno: -
|
||||
stats.decr.total.data.kib=Dešifrováno: %.1f kiB
|
||||
stats.decr.total.data.mib=Dešifrováno: %.1f MiB
|
||||
stats.decr.total.data.gib=Dešifrováno: %.1f GiB
|
||||
stats.read.accessCount=Celkem přečteno: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Zápis: nečinný
|
||||
stats.write.throughput.kibs=Zápis: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Zápis: %.2f MiB/s
|
||||
stats.write.total.data.none=Zapsaná data: -
|
||||
stats.write.total.data.kib=Zapsáno: %.1f kiB
|
||||
stats.write.total.data.mib=Zapsáno: %.1f MiB
|
||||
stats.write.total.data.gib=Zapsáno: %.1f GiB
|
||||
stats.encr.total.data.none=Zašifrováno: -
|
||||
stats.encr.total.data.kib=Zašifrováno: %.1f kiB
|
||||
stats.encr.total.data.mib=Zašifrováno: %.1f MiB
|
||||
stats.encr.total.data.gib=Zašifrováno: %.1f GiB
|
||||
stats.write.accessCount=Celkem zapsáno: %d
|
||||
@@ -337,7 +328,6 @@ main.vaultDetail.lockBtn=Zamknout
|
||||
main.vaultDetail.bytesPerSecondRead=Přečteno:
|
||||
main.vaultDetail.bytesPerSecondWritten=Zapsáno:
|
||||
main.vaultDetail.throughput.idle=nečinný
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Statistiky trezoru
|
||||
### Missing
|
||||
@@ -405,7 +395,7 @@ recoveryKey.display.StorageHints=Uchovejte ho někde velmi bezpečně, např.\n
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Resetovat heslo
|
||||
recoveryKey.recover.prompt=Zadejte váš obnovovací klíč pro "%s":
|
||||
recoveryKey.recover.validKey=Toto je platný obnovovací klíč
|
||||
recoveryKey.recover.correctKey=Toto je platný obnovovací klíč
|
||||
recoveryKey.printout.heading=Obnovovací klíč Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Resetovat
|
||||
|
||||
@@ -123,6 +123,10 @@ unlock.success.description=Indholdet i boksen "%s" er nu tilgængeligt der hvor
|
||||
unlock.success.rememberChoice=Husk mit valg. Spørg ikke igen
|
||||
unlock.success.revealBtn=Vis drev
|
||||
## Failure
|
||||
unlock.error.customPath.message=Kan ikke montere boks til brugerdefineret sti
|
||||
unlock.error.customPath.description.notSupported=Hvis du ønsker at fortsætte med at bruge den brugerdefinerede sti, skal du gå til præferencer og vælge en type drev der understøtter det. Hvis ikke, skal du gå til boksens indstillinger og vælge et understøttet monteringspunkt.
|
||||
unlock.error.customPath.description.notExists=Den brugerdefinerede monteringssti eksisterer ikke. Opret den enten i dit lokale filsystem eller skift monteringssti i boksens indstillinger.
|
||||
unlock.error.customPath.description.generic=Du har valgt en brugerdefineret monteringssti til denne boks, men det mislykkedes med beskeden: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=Kan ikke tilgå enhedsnøgle
|
||||
hub.noKeychain.description=En enhedsnøgle er påkrævet for at låse Hub bokse op. Enhedsnøglen er sikret i en nøglering. For at fortsætte, aktivér “%s” og vælg en nøglering i indstillingerne.
|
||||
@@ -150,9 +154,6 @@ hub.registerFailed.description=Der opstod en fejl i navngivnings-processen. Kig
|
||||
hub.unauthorized.message=Adgang nægtet
|
||||
hub.unauthorized.description=Din enhed er endnu ikke blevet godkendt til at få adgang til denne boks. Spørg boks-ejeren om godkendelse.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licens overskredet
|
||||
hub.licenseExceeded.description=Cryptomator Hub har givet adgang til flere brugere end licensen tillader. Kontakt venligst din Hub administrator for at opgradere din licens eller en boks administrator for at fjerne brugere fra bokse.
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -251,7 +252,7 @@ preferences.title=Præferencer
|
||||
preferences.general=Generelt
|
||||
preferences.general.startHidden=Skjul vinduet når Cryptomator starter
|
||||
preferences.general.autoCloseVaults=Lås åbne bokse automatisk, når programmet afsluttes
|
||||
preferences.general.debugLogging=Aktiver fejllogning
|
||||
preferences.general.debugLogging=Aktivér fejllogning
|
||||
preferences.general.debugDirectory=Vis logfiler
|
||||
preferences.general.autoStart=Start Cryptomator automatisk ved opstart
|
||||
preferences.general.keychainBackend=Gem adgangskoder med
|
||||
@@ -271,7 +272,15 @@ preferences.interface.showMinimizeButton=Vis knap til minimering
|
||||
preferences.interface.showTrayIcon=Vis ikon i system-bakken (kræver genstart)
|
||||
## Volume
|
||||
preferences.volume=Virtuelt drev
|
||||
preferences.volume.type=Drev type (kræver genstart)
|
||||
preferences.volume.type.automatic=Automatisk
|
||||
preferences.volume.tcp.port=TCP port
|
||||
preferences.volume.supportedFeatures=Den valgte type drev understøtter følgende funktioner:
|
||||
preferences.volume.feature.mountAuto=Automatisk valg af monteringspunkt
|
||||
preferences.volume.feature.mountToDir=Brugerdefineret mappe som monteringspunkt
|
||||
preferences.volume.feature.mountToDriveLetter=Enhedsbogstav som monteringspunkt
|
||||
preferences.volume.feature.mountFlags=Brugerdefinerede monteringsindstillinger
|
||||
preferences.volume.feature.readOnly=Skrivebeskyttet montering
|
||||
## Updates
|
||||
preferences.updates=Opdateringer
|
||||
preferences.updates.currentVersion=Nuværende version: %s
|
||||
@@ -294,27 +303,21 @@ stats.title=Statistik for %s
|
||||
stats.cacheHitRate=Cache effektivitet
|
||||
## Read
|
||||
stats.read.throughput.idle=Læser: afventer
|
||||
stats.read.throughput.kibs=Læser: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Læser: %.2f MiB/s
|
||||
stats.read.total.data.none=Data læst: -
|
||||
stats.read.total.data.kib=Data læst: %.1f kiB
|
||||
stats.read.total.data.mib=Data læst: %.1f MiB
|
||||
stats.read.total.data.gib=Data læst: %.1f GiB
|
||||
stats.decr.total.data.none=Data dekrypteret: -
|
||||
stats.decr.total.data.kib=Data dekrypteret: %.1f kiB
|
||||
stats.decr.total.data.mib=Data dekrypteret: %.1f MiB
|
||||
stats.decr.total.data.gib=Data dekrypteret: %.1f GiB
|
||||
stats.read.accessCount=Totalt antal læsninger: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Skriver: afventer
|
||||
stats.write.throughput.kibs=Skriver: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Skriver: %.2f MiB/s
|
||||
stats.write.total.data.none=Data skrevet: -
|
||||
stats.write.total.data.kib=Data skrevet: %.1f kiB
|
||||
stats.write.total.data.mib=Data skrevet: %.1f MiB
|
||||
stats.write.total.data.gib=Data skrevet: %.1f GiB
|
||||
stats.encr.total.data.none=Data krypteret: -
|
||||
stats.encr.total.data.kib=Data krypteret: %.1f kiB
|
||||
stats.encr.total.data.mib=Data krypteret: %.1f MiB
|
||||
stats.encr.total.data.gib=Data krypteret: %.1f GiB
|
||||
stats.write.accessCount=Totalt antal skrivninger: %d
|
||||
@@ -352,13 +355,17 @@ main.vaultDetail.passwordSavedInKeychain=Adgangskode gemt
|
||||
main.vaultDetail.unlockedStatus=LÅST OP
|
||||
main.vaultDetail.accessLocation=Boksens indhold er tilgængeligt her:
|
||||
main.vaultDetail.revealBtn=Vis drev
|
||||
main.vaultDetail.copyUri=Kopiér URI
|
||||
main.vaultDetail.lockBtn=Lås
|
||||
main.vaultDetail.bytesPerSecondRead=Læser:
|
||||
main.vaultDetail.bytesPerSecondWritten=Skriver:
|
||||
main.vaultDetail.throughput.idle=afventer
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Boks statistik
|
||||
main.vaultDetail.locateEncryptedFileBtn=Find Krypteret Fil
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=Vælg en fil fra din boks for at finde dens krypterede modpart
|
||||
main.vaultDetail.encryptedPathsCopied=Stier kopieret!
|
||||
main.vaultDetail.filePickerTitle=Vælg fil inde i boks
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator kunne ikke finde en boks på denne sti.
|
||||
main.vaultDetail.missing.recheck=Kontrollér igen
|
||||
@@ -373,10 +380,10 @@ main.vaultDetail.error.reload=Genindlæs
|
||||
main.vaultDetail.error.windowTitle=Fejl ved indlæsning af boks
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=Sådan krypteres filer
|
||||
wrongFileAlert.title=Sådan krypterer du filer
|
||||
wrongFileAlert.message=Forsøgte du at kryptere disse filer?
|
||||
wrongFileAlert.description=For kryptering af filer, skal du bruge det drev som Cryptomator har lavet i din stifinder.
|
||||
wrongFileAlert.instruction.0=For at kryptere filer, gør følgende:
|
||||
wrongFileAlert.description=Til dette formål opretter Cryptomator et drev i din filhåndtering.
|
||||
wrongFileAlert.instruction.0=Følg disse trin for at kryptere filer:
|
||||
wrongFileAlert.instruction.1=1. Lås din boks op.
|
||||
wrongFileAlert.instruction.2=2. Klik på "Vis drev" for at åbne drevet i din stifinder.
|
||||
wrongFileAlert.instruction.3=3. Tilføj filer til drevet.
|
||||
@@ -397,13 +404,17 @@ vaultOptions.general.startHealthCheckBtn=Start sunhedstjek
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Montering
|
||||
vaultOptions.mount.info=Valgmulighederne afhænger af den valgte type drev.
|
||||
vaultOptions.mount.linkToPreferences=Åbn virtuelle drev præferencer
|
||||
vaultOptions.mount.readonly=Skrivebeskyttet
|
||||
vaultOptions.mount.customMountFlags=Brugerdefinerede monterings-flag
|
||||
vaultOptions.mount.winDriveLetterOccupied=optaget
|
||||
vaultOptions.mount.mountPoint=Monterings-sted
|
||||
vaultOptions.mount.mountPoint.auto=Vælg automatisk en passende placering
|
||||
vaultOptions.mount.mountPoint.driveLetter=Brug et ledigt drevbogstav
|
||||
vaultOptions.mount.mountPoint.custom=Brug en valgt mappe
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Vælg…
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Vælg en mappe
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Adgangskode
|
||||
vaultOptions.masterkey.changePasswordBtn=Skift adgangskode
|
||||
@@ -424,7 +435,7 @@ recoveryKey.display.StorageHints=Opbevar den et meget sikkert sted, som fx:\n
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Nulstil adgangskode
|
||||
recoveryKey.recover.prompt=Indtast din gendannelsesnøgle for "%s":
|
||||
recoveryKey.recover.validKey=Dette er en gyldig gendannelsesnøgle
|
||||
recoveryKey.recover.correctKey=Dette er en gyldig gendannelsesnøgle
|
||||
recoveryKey.printout.heading=Cryptomator gendannelsesnøgle\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Nulstil
|
||||
@@ -437,11 +448,11 @@ newPassword.promptText=Skriv en ny adgangskode
|
||||
newPassword.reenterPassword=Bekræft ny adgangskode
|
||||
newPassword.passwordsMatch=Adgangskoderne er ens!
|
||||
newPassword.passwordsDoNotMatch=Adgangskoder stemmer ikke overens
|
||||
passwordStrength.messageLabel.tooShort=Angiv mindst %d tegn
|
||||
passwordStrength.messageLabel.0=Meget dårlig
|
||||
passwordStrength.messageLabel.1=Dårlig
|
||||
passwordStrength.messageLabel.tooShort=Brug mindst %d tegn
|
||||
passwordStrength.messageLabel.0=Meget svag
|
||||
passwordStrength.messageLabel.1=Svag
|
||||
passwordStrength.messageLabel.2=Rimelig
|
||||
passwordStrength.messageLabel.3=God
|
||||
passwordStrength.messageLabel.3=Stærk
|
||||
passwordStrength.messageLabel.4=Meget god
|
||||
|
||||
# Quit
|
||||
|
||||
@@ -123,9 +123,13 @@ unlock.success.description=Der Inhalt des Tresors „%s“ ist nun über dessen
|
||||
unlock.success.rememberChoice=Auswahl merken und nicht mehr fragen
|
||||
unlock.success.revealBtn=Laufwerk anzeigen
|
||||
## Failure
|
||||
unlock.error.customPath.message=Tresor kann nicht an benutzerdefinierten Pfad eingehängt werden
|
||||
unlock.error.customPath.description.notSupported=Wenn du den benutzerdefinierten Pfad weiter verwenden möchtest, gehe bitte in die Einstellungen und wähle einen Laufwerkstyp, der ihn unterstützt. Andernfalls gehe zu den Tresoroptionen und wähle einen unterstützten Einhängepunkt.
|
||||
unlock.error.customPath.description.notExists=Der benutzerdefinierte Einhängepfad existiert nicht. Erstelle ihn entweder in deinem lokalen Dateisystem oder ändere ihn in den Tresoreinstellungen.
|
||||
unlock.error.customPath.description.generic=Du hast einen benutzerdefinierten Einhängepfad für diesen Tresor ausgewählt, aber die Verwendung ist fehlgeschlagen. Fehlermeldung: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=Zugriff auf Geräteschlüssel nicht möglich
|
||||
hub.noKeychain.description=Um Hub Tresore zu entsperren, wird ein Geräteschlüssel benötigt, der mit einem Schlüsselbund gesichert ist. Um fortzufahren, aktiviere “%s” und wähle einen Schlüsselbund in den Einstellungen.
|
||||
hub.noKeychain.description=Zum Entsperren von Hub-Tresoren wird ein Geräteschlüssel benötigt, der in einem Schlüsselbund gesichert ist. Um fortzufahren, aktiviere „%s“ und wähle in den Einstellungen einen Schlüsselbund.
|
||||
hub.noKeychain.openBtn=Einstellungen öffnen
|
||||
### Waiting
|
||||
hub.auth.message=Warten auf Authentifizierung …
|
||||
@@ -150,9 +154,8 @@ hub.registerFailed.description=Während der Namensvergabe wurde ein Fehler ausge
|
||||
hub.unauthorized.message=Zugriff verweigert
|
||||
hub.unauthorized.description=Dein Gerät wurde noch nicht für den Zugriff auf diesen Tresor autorisiert. Bitte den Tresorbesitzer, dein Gerät zu autorisieren.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Lizenz überschritten
|
||||
hub.licenseExceeded.description=Im Cryptomator Hub wurden mehr Benutzern Zugriff gewährt, als dessen Lizenz erlaubt. Bitte kontaktiere deinen Hub-Administrator für ein Lizenz-Upgrade oder einen Tresor-Administrator, um Benutzer aus Tresoren zu entfernen.
|
||||
|
||||
hub.invalidLicense.message=Hub-Lizenz ungültig
|
||||
hub.invalidLicense.description=Die Lizenz deiner Cryptomator-Hub-Instanz ist ungültig. Bitte informiere deinen Hub-Administrator, um die Lizenz zu aktualisieren oder zu erneuern.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -241,8 +244,8 @@ health.result.fixStateFilter.fixing=Wird repariert …
|
||||
health.result.fixStateFilter.fixed=Repariert
|
||||
health.result.fixStateFilter.fixFailed=Reparatur gescheitert
|
||||
## Fix Application
|
||||
health.fix.fixBtn=Beheben
|
||||
health.fix.successTip=Fehlerbehebung erfolgreich
|
||||
health.fix.fixBtn=Reparieren
|
||||
health.fix.successTip=Reparatur erfolgreich
|
||||
health.fix.failTip=Reparatur fehlgeschlagen, siehe Protokoll für Details
|
||||
|
||||
# Preferences
|
||||
@@ -270,8 +273,17 @@ preferences.interface.interfaceOrientation.rtl=Von rechts nach links
|
||||
preferences.interface.showMinimizeButton=Schaltfläche zum Minimieren anzeigen
|
||||
preferences.interface.showTrayIcon=Symbol im Infobereich anzeigen (Neustart erforderlich)
|
||||
## Volume
|
||||
preferences.volume=Tresorlaufwerk
|
||||
preferences.volume=Virtuelles Laufwerk
|
||||
preferences.volume.type=Laufwerkstyp (Neustart erforderlich)
|
||||
preferences.volume.type.automatic=Automatisch
|
||||
preferences.volume.docsTooltip=Öffne die Dokumentation, um mehr über die verschiedenen Laufwerkstypen zu erfahren.
|
||||
preferences.volume.tcp.port=TCP-Port
|
||||
preferences.volume.supportedFeatures=Der gewählte Laufwerkstyp unterstützt folgende Funktionen:
|
||||
preferences.volume.feature.mountAuto=Automatische Einhängepunkt Auswahl
|
||||
preferences.volume.feature.mountToDir=Benutzerdefiniertes Verzeichnis als Einhängepunkt
|
||||
preferences.volume.feature.mountToDriveLetter=Laufwerkbuchstaben als Einhängepunkt
|
||||
preferences.volume.feature.mountFlags=Benutzerdefinierte Einhänge-Optionen
|
||||
preferences.volume.feature.readOnly=Schreibgeschütztes Einhängen
|
||||
## Updates
|
||||
preferences.updates=Updates
|
||||
preferences.updates.currentVersion=Aktuelle Version: %s
|
||||
@@ -294,27 +306,27 @@ stats.title=Statistiken für %s
|
||||
stats.cacheHitRate=Cache-Trefferrate
|
||||
## Read
|
||||
stats.read.throughput.idle=Leserate: inaktiv
|
||||
stats.read.throughput.kibs=Leserate: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Leserate: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Leserate: %.2f MiB/s
|
||||
stats.read.total.data.none=Gelesen: -
|
||||
stats.read.total.data.kib=Gelesen: %.1f kiB
|
||||
stats.read.total.data.kib=Gelesen: %.1f KiB
|
||||
stats.read.total.data.mib=Gelesen: %.1f MiB
|
||||
stats.read.total.data.gib=Gelesen: %.1f GiB
|
||||
stats.decr.total.data.none=Entschlüsselt: -
|
||||
stats.decr.total.data.kib=Entschlüsselt: %.1f kiB
|
||||
stats.decr.total.data.kib=Entschlüsselt: %.1f KiB
|
||||
stats.decr.total.data.mib=Entschlüsselt: %.1f MiB
|
||||
stats.decr.total.data.gib=Entschlüsselt: %.1f GiB
|
||||
stats.read.accessCount=Lesezugriffe: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Schreibrate: inaktiv
|
||||
stats.write.throughput.kibs=Schreibrate: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Schreibrate: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Schreibrate: %.2f MiB/s
|
||||
stats.write.total.data.none=Geschrieben: -
|
||||
stats.write.total.data.kib=Geschrieben: %.1f kiB
|
||||
stats.write.total.data.kib=Geschrieben: %.1f KiB
|
||||
stats.write.total.data.mib=Geschrieben: %.1f MiB
|
||||
stats.write.total.data.gib=Geschrieben: %.1f GiB
|
||||
stats.encr.total.data.none=Verschlüsselt: -
|
||||
stats.encr.total.data.kib=Verschlüsselt: %.1f kiB
|
||||
stats.encr.total.data.kib=Verschlüsselt: %.1f KiB
|
||||
stats.encr.total.data.mib=Verschlüsselt: %.1f MiB
|
||||
stats.encr.total.data.gib=Verschlüsselt: %.1f GiB
|
||||
stats.write.accessCount=Schreibzugriffe: %d
|
||||
@@ -352,13 +364,18 @@ main.vaultDetail.passwordSavedInKeychain=Passwort gespeichert
|
||||
main.vaultDetail.unlockedStatus=ENTSPERRT
|
||||
main.vaultDetail.accessLocation=Deine Tresorinhalte sind hier erreichbar:
|
||||
main.vaultDetail.revealBtn=Laufwerk anzeigen
|
||||
main.vaultDetail.copyUri=URI kopieren
|
||||
main.vaultDetail.lockBtn=Sperren
|
||||
main.vaultDetail.bytesPerSecondRead=Leserate:
|
||||
main.vaultDetail.bytesPerSecondWritten=Schreibrate:
|
||||
main.vaultDetail.throughput.idle=inaktiv
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Tresorstatistik
|
||||
main.vaultDetail.locateEncryptedFileBtn=Verschlüsselte Datei finden
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=Wähle eine Datei aus deinem Tresor aus, um das verschlüsselte Gegenstück zu finden
|
||||
main.vaultDetail.encryptedPathsCopied=Pfade in Zwischenablage kopiert!
|
||||
main.vaultDetail.filePickerTitle=Datei im Tresor auswählen
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator konnte keinen Tresor mit diesem Pfad finden.
|
||||
main.vaultDetail.missing.recheck=Erneut prüfen
|
||||
@@ -397,13 +414,17 @@ vaultOptions.general.startHealthCheckBtn=Integritätsprüfung starten
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Laufwerk
|
||||
vaultOptions.mount.info=Die Optionen hängen vom gewählten Laufwerkstyp ab.
|
||||
vaultOptions.mount.linkToPreferences=Einstellungen für virtuelles Laufwerk öffnen
|
||||
vaultOptions.mount.readonly=Schreibgeschützt
|
||||
vaultOptions.mount.customMountFlags=Benutzerdefinierte Einhänge-Optionen
|
||||
vaultOptions.mount.winDriveLetterOccupied=belegt
|
||||
vaultOptions.mount.mountPoint=Einhängepunkt
|
||||
vaultOptions.mount.mountPoint.auto=Automatisch einen geeigneten Ort auswählen
|
||||
vaultOptions.mount.mountPoint.driveLetter=Laufwerksbuchstaben zuweisen
|
||||
vaultOptions.mount.mountPoint.custom=Ausgewähltes Verzeichnis verwenden
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Durchsuchen …
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Verzeichnis wählen
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Passwort
|
||||
vaultOptions.masterkey.changePasswordBtn=Passwort ändern
|
||||
@@ -424,7 +445,9 @@ recoveryKey.display.StorageHints=Bewahre ihn möglichst sicher auf, z. B.\n •
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Passwort zurücksetzen
|
||||
recoveryKey.recover.prompt=Gib deinen Wiederherstellungsschlüssel für „%s“ ein:
|
||||
recoveryKey.recover.validKey=Dies ist ein gültiger Wiederherstellungsschlüssel
|
||||
recoveryKey.recover.correctKey=Dieser Wiederherstellungsschlüssel ist gültig
|
||||
recoveryKey.recover.wrongKey=Dieser Wiederherstellungsschlüssel gehört zu einem anderen Tresor
|
||||
recoveryKey.recover.invalidKey=Dieser Wiederherstellungsschlüssel ist ungültig
|
||||
recoveryKey.printout.heading=Cryptomator-Wiederherstellungsschlüssel\n„%s“\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Zurücksetzen
|
||||
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=Παρουσιάστηκε σφάλμα στη δ
|
||||
hub.unauthorized.message=Δεν επιτρέπεται η πρόσβαση
|
||||
hub.unauthorized.description=Η συσκευή σας δεν έχει ακόμη εξουσιοδοτηθεί να έχει πρόσβαση σε αυτή την κρύπτη. Ζητήστε από τον κάτοχο της κρύπτης να την εξουσιοδοτήσει.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Υπέρβαση άδειας
|
||||
hub.licenseExceeded.description=Το Cryptomator Hub έχει δώσει πρόσβαση σε περισσότερους χρήστες από ότι επιτρέπει η άδειά του. Παρακαλούμε επικοινωνήστε με το Hub admin για να αναβαθμίσετε την άδεια ή έναν διαχειριστή κρύπτης για να αφαιρέσετε τους χρήστες από τις κρύπτες.
|
||||
|
||||
hub.invalidLicense.message=Μη έγκυρη Άδεια Hub
|
||||
hub.invalidLicense.description=Η συνεδρία σας στο Cryptomator Hub έχει μη έγκυρη άδεια χρήσης. Ενημερώστε έναν διαχειριστή του Hub για να αναβαθμίσει ή να ανανεώσει την άδεια χρήσης.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -277,6 +276,7 @@ preferences.interface.showTrayIcon=Εμφάνιση εικονιδίου tray (
|
||||
preferences.volume=Εικονικός δίσκος
|
||||
preferences.volume.type=Τύπος Τόμου (απαιτείται επανεκκίνηση)
|
||||
preferences.volume.type.automatic=Αυτόματα
|
||||
preferences.volume.docsTooltip=Ανοίξτε τις οδηγίες για να μάθετε περισσότερα σχετικά με τους διαφορετικούς τύπους τόμων.
|
||||
preferences.volume.tcp.port=Θύρα TCP
|
||||
preferences.volume.supportedFeatures=Ο επιλεγμένος τύπος τόμου υποστηρίζει τις ακόλουθες δυνατότητες:
|
||||
preferences.volume.feature.mountAuto=Αυτόματη επιλογή σημείου προσάρτησης
|
||||
@@ -306,27 +306,27 @@ stats.title=Στατιστικά για %s
|
||||
stats.cacheHitRate=Ποσοστό χρήσης cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Ανάγνωση: ηρεμία
|
||||
stats.read.throughput.kibs=Ανάγνωση: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Ανάγνωση: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Ανάγνωση: %.2f MiB/s
|
||||
stats.read.total.data.none=Ανάγνωση δεδομένων: -
|
||||
stats.read.total.data.kib=Ανάγνωση δεδομένων: %.1f kiB
|
||||
stats.read.total.data.kib=Ανάγνωση δεδομένων: %.1f KiB
|
||||
stats.read.total.data.mib=Ανάγνωση δεδομένων: %.1f MiB
|
||||
stats.read.total.data.gib=Ανάγνωση δεδομένων: %.1f GiB
|
||||
stats.decr.total.data.none=Δεδομένα που αποκρυπτογραφήθηκαν: -
|
||||
stats.decr.total.data.kib=Δεδομένα που αποκρυπτογραφήθηκαν: %.1f kiB
|
||||
stats.decr.total.data.kib=Δεδομένα που αποκρυπτογραφήθηκαν: %.1f KiB
|
||||
stats.decr.total.data.mib=Δεδομένα που αποκρυπτογραφήθηκαν: %.1f MiB
|
||||
stats.decr.total.data.gib=Δεδομένα που αποκρυπτογραφήθηκαν: %.1f GiB
|
||||
stats.read.accessCount=Συνολικές αναγνώσεις: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Εγγραφή: ηρεμία
|
||||
stats.write.throughput.kibs=Εγγραφή: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Εγγραφή: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Εγγραφή: %.2f MiB/s
|
||||
stats.write.total.data.none=Δεδομένα που γράφηκαν: -
|
||||
stats.write.total.data.kib=Δεδομένα που γράφτηκαν: %.1f kiB
|
||||
stats.write.total.data.kib=Δεδομένα που γράφτηκαν: %.1f KiB
|
||||
stats.write.total.data.mib=Δεδομένα που γράφτηκαν: %.1f MiB
|
||||
stats.write.total.data.gib=Δεδομένα που γράφτηκαν: %.1f GiB
|
||||
stats.encr.total.data.none=Δεδομένα που κρυπτογραφήθηκαν: -
|
||||
stats.encr.total.data.kib=Δεδομένα που κρυπτογραφήθηκαν: %.1f kiB
|
||||
stats.encr.total.data.kib=Δεδομένα που κρυπτογραφήθηκαν: %.1f KiB
|
||||
stats.encr.total.data.mib=Δεδομένα που κρυπτογραφήθηκαν: %.1f MiB
|
||||
stats.encr.total.data.gib=Δεδομένα που κρυπτογραφήθηκαν: %.1f GiB
|
||||
stats.write.accessCount=Συνολικές εγγραφές: %d
|
||||
@@ -369,7 +369,7 @@ main.vaultDetail.lockBtn=Κλείδωμα
|
||||
main.vaultDetail.bytesPerSecondRead=Ανάγνωση:
|
||||
main.vaultDetail.bytesPerSecondWritten=Εγγραφή:
|
||||
main.vaultDetail.throughput.idle=σε αδράνεια
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Στατιστικά Vault
|
||||
main.vaultDetail.locateEncryptedFileBtn=Εντοπισμός Κρυπτογραφημένου Αρχείου
|
||||
@@ -445,7 +445,9 @@ recoveryKey.display.StorageHints=Φυλάξτε κάπου που θα είνα
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Επαναφορά Κωδικού Πρόσβασης
|
||||
recoveryKey.recover.prompt=Εισάγετε το κλειδί ανάκτησης για "%s":
|
||||
recoveryKey.recover.validKey=Αυτό είναι ένα έγκυρο κλειδί ανάκτησης
|
||||
recoveryKey.recover.correctKey=Αυτό το κλειδί ανάκτησης είναι έγκυρο
|
||||
recoveryKey.recover.wrongKey=Αυτό το κλειδί ανάκτησης ανήκει σε διαφορετική κρύπτη
|
||||
recoveryKey.recover.invalidKey=Αυτό το κλειδί ανάκτησης δεν είναι έγκυρο
|
||||
recoveryKey.printout.heading=Κλειδί ανάκτησης Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Επαναφορά
|
||||
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=Ocurrió un error en el nombramiento. Para más d
|
||||
hub.unauthorized.message=Acceso denegado
|
||||
hub.unauthorized.description=Su dispositivo aún no ha sido autorizado para acceder a esta bóveda. Pídale al propietario de la bóveda que lo autorice.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licencia excedida
|
||||
hub.licenseExceeded.description=Cryptomator Hub ha dado acceso a más usuarios de los que permite su licencia. Póngase en contacto con su administrador de Hub para actualizar la licencia o un administrador de la bóveda para eliminar usuarios de la misma.
|
||||
|
||||
hub.invalidLicense.message=Licencia del Hub inválida
|
||||
hub.invalidLicense.description=Su instancia del Hub de Cryptomator tiene una licencia inválida. Informe a un administrador del Hub para actualizar o renovar la licencia.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -277,6 +276,7 @@ preferences.interface.showTrayIcon=Mostrar ícono de bandeja (requiere reiniciar
|
||||
preferences.volume=Unidad virtual
|
||||
preferences.volume.type=Tipo de volumen (requiere reiniciar)
|
||||
preferences.volume.type.automatic=Automático
|
||||
preferences.volume.docsTooltip=Abra la documentación para saber más sobre los diferentes tipos de volumen.
|
||||
preferences.volume.tcp.port=Puerto TCP
|
||||
preferences.volume.supportedFeatures=El tipo de volumen elegido admite las siguientes funciones:
|
||||
preferences.volume.feature.mountAuto=Selección automática del punto de montaje
|
||||
@@ -306,27 +306,27 @@ stats.title=Estadísticas para %s
|
||||
stats.cacheHitRate=La caché alcanzó la tasa
|
||||
## Read
|
||||
stats.read.throughput.idle=Lectura: inactivo
|
||||
stats.read.throughput.kibs=Lectura: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Lectura: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Lectura: %.2f MiB/s
|
||||
stats.read.total.data.none=Datos leídos: -
|
||||
stats.read.total.data.kib=Datos leídos: %.1f kiB
|
||||
stats.read.total.data.kib=Datos leídos: %.1f KiB
|
||||
stats.read.total.data.mib=Datos leídos: %.1f MiB
|
||||
stats.read.total.data.gib=Datos leídos: %.1f GiB
|
||||
stats.decr.total.data.none=Datos descifrados: -
|
||||
stats.decr.total.data.kib=Datos descifrados: %.1f kiB
|
||||
stats.decr.total.data.kib=Datos descifrados: %.1f KiB
|
||||
stats.decr.total.data.mib=Datos descifrados: %.1f MiB
|
||||
stats.decr.total.data.gib=Datos descifrados: %.1f GiB
|
||||
stats.read.accessCount=Total leídos: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Escritura: inactivo
|
||||
stats.write.throughput.kibs=Escritura: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Escritura: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Escritura: %.2f MiB/s
|
||||
stats.write.total.data.none=Datos escritos: -
|
||||
stats.write.total.data.kib=Datos escritos: %.1f kiB
|
||||
stats.write.total.data.kib=Datos escritos: %.1f KiB
|
||||
stats.write.total.data.mib=Datos escritos: %.1f MiB
|
||||
stats.write.total.data.gib=Datos escritos: %.1f GiB
|
||||
stats.encr.total.data.none=Datos cifrados: -
|
||||
stats.encr.total.data.kib=Datos cifrados: %.1f kiB
|
||||
stats.encr.total.data.kib=Datos cifrados: %.1f KiB
|
||||
stats.encr.total.data.mib=Datos cifrados: %.1f MiB
|
||||
stats.encr.total.data.gib=Datos cifrados: %.1f GiB
|
||||
stats.write.accessCount=Total de escrituras: %d
|
||||
@@ -369,7 +369,7 @@ main.vaultDetail.lockBtn=Bloquear
|
||||
main.vaultDetail.bytesPerSecondRead=Lectura:
|
||||
main.vaultDetail.bytesPerSecondWritten=Escritura:
|
||||
main.vaultDetail.throughput.idle=inactivo
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Estadísticas de la bóveda
|
||||
main.vaultDetail.locateEncryptedFileBtn=Ubicar archivo cifrado
|
||||
@@ -445,7 +445,9 @@ recoveryKey.display.StorageHints=Manténgala en algún lugar seguro, p.ej.:\n
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Restablecer contraseña
|
||||
recoveryKey.recover.prompt=Ingresar la clave de recuperación para "%s":
|
||||
recoveryKey.recover.validKey=Esta es una clave de recuperación válida
|
||||
recoveryKey.recover.correctKey=Esta es una clave de recuperación válida
|
||||
recoveryKey.recover.wrongKey=Esta clave de recuperación pertenece a una bóveda diferente
|
||||
recoveryKey.recover.invalidKey=Esta clave de recuperación no es válida
|
||||
recoveryKey.printout.heading=Clave de recuperación de Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=## Reiniciar contraseña\nrecoveryKey.recover.resetBtn
|
||||
|
||||
@@ -69,7 +69,6 @@ unlock.unlockBtn=بازکردن قفل
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=تلاش مجدد
|
||||
|
||||
@@ -75,7 +75,6 @@ unlock.unlockBtn=I-unlock
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=Subukan muli
|
||||
|
||||
@@ -67,7 +67,7 @@ addvaultwizard.new.generateRecoveryKeyChoice.no=Non merci, je n'oublierai pas mo
|
||||
### Information
|
||||
addvault.new.readme.storageLocation.fileName=IMPORTANT.rtf
|
||||
addvault.new.readme.storageLocation.1=Fichiers de coffre-fort
|
||||
addvault.new.readme.storageLocation.2=Ceci est le chemin de votre coffre-fort.
|
||||
addvault.new.readme.storageLocation.2=Ceci est l'emplacement de stockage de votre coffre.
|
||||
addvault.new.readme.storageLocation.3=NE PAS
|
||||
addvault.new.readme.storageLocation.4=• modifier les fichiers dans ce répertoire ni
|
||||
addvault.new.readme.storageLocation.5=• coller de fichier à chiffrer dans ce répertoire.
|
||||
@@ -124,8 +124,8 @@ unlock.success.rememberChoice=Se souvenir de mon choix et ne plus me le demander
|
||||
unlock.success.revealBtn=Révéler le lecteur
|
||||
## Failure
|
||||
unlock.error.customPath.message=Impossible de monter le coffre vers le chemin personnalisé
|
||||
unlock.error.customPath.description.notSupported=Si vous souhaitez continuer à utiliser le chemin personnalisé, veuillez aller dans les préférences et sélectionner un type de volume qui le supporte. Sinon, allez dans les options du coffre et choisissez un point de montage pris en charge.
|
||||
unlock.error.customPath.description.notExists=Le chemin de montage personnalisé n'existe pas. Créez le dans votre système de fichiers local ou modifiez-le dans les options du coffre.
|
||||
unlock.error.customPath.description.notSupported=Si vous souhaitez continuer à utiliser le chemin personnalisé, veuillez aller dans les préférences et sélectionner un type de volume qui le prend en charge. Sinon, allez dans les options du coffre et choisissez un point de montage pris en charge.
|
||||
unlock.error.customPath.description.notExists=Le chemin de montage personnalisé n'existe pas. Créez-le dans votre système de fichiers local ou modifiez-le dans les options du coffre.
|
||||
unlock.error.customPath.description.generic=Vous avez sélectionné un chemin de montage personnalisé pour ce coffre, mais son utilisation a échoué avec le message : %s
|
||||
## Hub
|
||||
hub.noKeychain.message=Impossible d'accéder à la clé du périphérique
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=Le processus de nommage a retourné une erreur. P
|
||||
hub.unauthorized.message=Accès refusé
|
||||
hub.unauthorized.description=Votre appareil n'a pas encore été autorisé à accéder à ce coffre. Demandez au propriétaire du coffre de l'autoriser.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licence dépassée
|
||||
hub.licenseExceeded.description=Cryptomator Hub a donné accès à plus d'utilisateurs qu'autorisé par la licence. Veuillez contacter votre administrateur Hub pour étendre la licence ou un administrateur de coffre pour supprimer des utilisateurs des coffres.
|
||||
|
||||
hub.invalidLicense.message=Licence de Hub invalide
|
||||
hub.invalidLicense.description=Votre instance Cryptomator Hub a une licence invalide. Veuillez informer un administrateur Hub pour la mettre à niveau ou la renouveler.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -275,13 +274,14 @@ preferences.interface.showMinimizeButton=Afficher le bouton Réduire
|
||||
preferences.interface.showTrayIcon=Montrer l'icône de service (redémarrage nécessaire)
|
||||
## Volume
|
||||
preferences.volume=Disque virtuel
|
||||
preferences.volume.type=Type de volume (nécessite un redémarrage)
|
||||
preferences.volume.type=Type de volume (redémarrage requis)
|
||||
preferences.volume.type.automatic=Automatique
|
||||
preferences.volume.docsTooltip=Consultez la documentation pour en savoir plus sur les différents types de volumes.
|
||||
preferences.volume.tcp.port=Port TCP
|
||||
preferences.volume.supportedFeatures=Le type de volume choisi prend en charge les fonctionnalités suivantes :
|
||||
preferences.volume.feature.mountAuto=Sélection automatique de point de montage
|
||||
preferences.volume.feature.mountAuto=Sélection automatique du point de montage
|
||||
preferences.volume.feature.mountToDir=Répertoire personnalisé comme point de montage
|
||||
preferences.volume.feature.mountToDriveLetter=Lettre du lecteur comme point de montage
|
||||
preferences.volume.feature.mountToDriveLetter=Lettre de lecteur comme point de montage
|
||||
preferences.volume.feature.mountFlags=Options de montage personnalisées
|
||||
preferences.volume.feature.readOnly=Montage en lecture seule
|
||||
## Updates
|
||||
@@ -306,27 +306,27 @@ stats.title=Statistiques sur %s
|
||||
stats.cacheHitRate=Taux de réussite du cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Lecture : inactif
|
||||
stats.read.throughput.kibs=Lecture : %.2f kiB/s
|
||||
stats.read.throughput.kibs=Lecture : %.2f Mio/s
|
||||
stats.read.throughput.mibs=Lecture : %.2f Mo/s
|
||||
stats.read.total.data.none=Lecture des données : -
|
||||
stats.read.total.data.kib=Lecture des données : %.1f kiO
|
||||
stats.read.total.data.kib=Lecture des données : %.1f kio
|
||||
stats.read.total.data.mib=Lecture des données : %.1f MiO
|
||||
stats.read.total.data.gib=Lecture des données : %.1f GiO
|
||||
stats.decr.total.data.none=Données déchiffrées: -
|
||||
stats.decr.total.data.kib=Données déchiffrées: %.1f kiO
|
||||
stats.decr.total.data.kib=Données déchiffrées: %.1f kio
|
||||
stats.decr.total.data.mib=Données déchiffrées: %.1f MiO
|
||||
stats.decr.total.data.gib=Données déchiffrées: %.1f GiO
|
||||
stats.read.accessCount=Total des lectures: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Écriture : inactif
|
||||
stats.write.throughput.kibs=Écriture : %.2f kiO/s
|
||||
stats.write.throughput.kibs=Écriture : %.2f kio/s
|
||||
stats.write.throughput.mibs=Écriture : %.2f Mo/s
|
||||
stats.write.total.data.none=Données écrites : -
|
||||
stats.write.total.data.kib=Données écrites : %.1f kiO
|
||||
stats.write.total.data.kib=Données écrites : %.1f kio
|
||||
stats.write.total.data.mib=Données écrites : %.1f MiO
|
||||
stats.write.total.data.gib=Données écrites : %.1f GiO
|
||||
stats.encr.total.data.none=Données chiffrées : -
|
||||
stats.encr.total.data.kib=Données chiffrées: %.1f kiO
|
||||
stats.encr.total.data.kib=Données chiffrées: %.1f kio
|
||||
stats.encr.total.data.mib=Données chiffrées: %.1f MiO
|
||||
stats.encr.total.data.gib=Données chiffrées: %.1f GiO
|
||||
stats.write.accessCount=Total des écritures: %d
|
||||
@@ -353,7 +353,7 @@ main.vaultlist.contextMenu.reveal=Afficher le lecteur
|
||||
main.vaultlist.addVaultBtn=Ajouter un volume chiffré
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Merci d'avoir choisi Cryptomateur pour protéger vos fichiers. Si vous avez besoin d'aide, consultez nos guides de démarrage :
|
||||
main.vaultDetail.welcomeOnboarding=Merci d'avoir choisi Cryptomator pour protéger vos fichiers. Si vous avez besoin d'aide, consultez nos guides de démarrage :
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=VERROUILLÉ
|
||||
main.vaultDetail.unlockBtn=Déverrouiller…
|
||||
@@ -369,7 +369,7 @@ main.vaultDetail.lockBtn=Verrouiller
|
||||
main.vaultDetail.bytesPerSecondRead=Lecture :
|
||||
main.vaultDetail.bytesPerSecondWritten=Écriture:
|
||||
main.vaultDetail.throughput.idle=inactif
|
||||
main.vaultDetail.throughput.kbps=%.1f Ko/s
|
||||
main.vaultDetail.throughput.kbps=%.1f kio/s
|
||||
main.vaultDetail.throughput.mbps=%.1f Mo/s
|
||||
main.vaultDetail.stats=Statistiques du volume chiffré
|
||||
main.vaultDetail.locateEncryptedFileBtn=Localiser le fichier chiffré
|
||||
@@ -424,7 +424,7 @@ vaultOptions.mount.mountPoint.auto=Choisir automatiquement un emplacement approp
|
||||
vaultOptions.mount.mountPoint.driveLetter=Utiliser la lettre du lecteur assignée
|
||||
vaultOptions.mount.mountPoint.custom=Utiliser le répertoire choisi
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Choisir...
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Choisissez un dossier
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Choisissez un répertoire
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Mot de passe
|
||||
vaultOptions.masterkey.changePasswordBtn=Modifier le mot de passe
|
||||
@@ -445,7 +445,9 @@ recoveryKey.display.StorageHints=Gardez-la dans un endroit sûr, par ex. :\n •
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Réinitialiser le mot de passe
|
||||
recoveryKey.recover.prompt=Entrez votre clé de récupération pour "%s":
|
||||
recoveryKey.recover.validKey=Cette clé de récupération est valide
|
||||
recoveryKey.recover.correctKey=Cette clé de récupération est correcte
|
||||
recoveryKey.recover.wrongKey=Cette clé de récupération appartient à un autre coffre
|
||||
recoveryKey.recover.invalidKey=Cette clé de récupération n'est pas valide
|
||||
recoveryKey.printout.heading=Clé de récupération Cryptomator "%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Réinitialiser
|
||||
|
||||
@@ -50,7 +50,6 @@ error.message=Produciuse un erro
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=Tentar de novo
|
||||
|
||||
@@ -123,37 +123,60 @@ unlock.success.description=הנעילה ל-"%s" בוטלה בהצלחה! הכס
|
||||
unlock.success.rememberChoice=זכור בחירה, אל תראה שוב
|
||||
unlock.success.revealBtn=חשוף את הכונן
|
||||
## Failure
|
||||
unlock.error.customPath.message=כשלון בקישור הכספת לנתיב הידני שהוגדר
|
||||
unlock.error.customPath.description.notSupported=אם ברצונך להשתמש בנתיב ידני, אנא גש להעדפות ובחר סוג volume שתומך בכך. אחרת, לך לאפשרויות הכספת ובחר אפשרות יעד קישור נתמך.
|
||||
unlock.error.customPath.description.notExists=יעד הקישור הידני לא קיים. או שתיצור אותו במערכת הקבצים המקומית או שנה אותו באפשרויות הכספת.
|
||||
unlock.error.customPath.description.generic=אתה בחרת באפשרות יעד קישור ידני לכספת זו, אבל השימוש בו נכשל עם ההודעה: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=לא ניתן לגשת למפתח המכשיר
|
||||
hub.noKeychain.description=כדאי לשחרר כספות האב נדרש מפתח מכשיר שיאובטח בצרור מפתחות. כדאי להמשיך, אפשר ״%s״ ובחר את צרור המפתחות בהעדפות.
|
||||
hub.noKeychain.openBtn=פתח העדפות
|
||||
### Waiting
|
||||
hub.auth.message=ממתין לאימות…
|
||||
hub.auth.description=אתה אמור להיות מופנה אוטומטית למסך ההזדהות.
|
||||
hub.auth.loginLink=לא הופנת? לחצן כאן לפתיחה.
|
||||
### Receive Key
|
||||
hub.receive.message=מעבד תשובה…
|
||||
hub.receive.description=Cryptomator מקבל ומעבד את התשובה מה- האב. אנא המתן.
|
||||
### Register Device
|
||||
hub.register.message=שם המכשיר נדרש
|
||||
hub.register.description=נראה שזו הגישה הראשונה ל- האב ממכשיר זה. כדי לזהות אותך למתן הרשאות, עליך לתת שם למכשיר זה.
|
||||
hub.register.nameLabel=שם מכשיר
|
||||
hub.register.occupiedMsg=שם זה נמצא כבר בשימוש
|
||||
hub.register.registerBtn=אישור
|
||||
### Registration Success
|
||||
hub.registerSuccess.message=שם המכשיר
|
||||
hub.registerSuccess.description=כדי לגשת לכספת, המכשיר שלך צריך לקבל הרשאה על ידי בעלי הכספת.
|
||||
### Registration Failed
|
||||
hub.registerFailed.message=הגדרת שם למכשיר נכשלה
|
||||
hub.registerFailed.description=ארעה שגיאה בתהליך עם השם. לפרטים נוספים הסתכל בלוג האפליקציה.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=הגישה נדחתה
|
||||
hub.unauthorized.description=המכשיר שלך טרם אושר לגשת לכספת הזאת. יש לבקש אישור גישה מבעל הכספת.
|
||||
### License Exceeded
|
||||
|
||||
hub.invalidLicense.message=רישיון האב לא תקף
|
||||
hub.invalidLicense.description=הרישיון שמותקן במופע ה- Cryptomator האב שלך אינו תקף. אנא ידע את מנהל ההאב שלך לשדרג או לחדש את הרישיון.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=הנעילה נכשלה
|
||||
lock.forced.description=נעילת ״%s״ נחסמה על ידי פעולות ממתינות או קבצים פתוחים. אתה יכול לנעול את הכספת בכוח, אולם הפרעה לפעולת קריאה וכתיבה עשויה לגרום לאובדן מידע לא שמור.
|
||||
lock.forced.retryBtn=נסה שנית
|
||||
lock.forced.forceBtn=הכרח נעילה
|
||||
## Failure
|
||||
lock.fail.message=נעילת הכספת נשכלה.
|
||||
lock.fail.description=לא ניתן היה לנעול את הכספת ״%s״. וודא שכל העבודה הלא שמורה נשמרת במקום אחר ושפעולות קריאה/כתיבה חשובות מסתיימות. כדי לסגור את הכספת, הרוג את התהליך של Cryptomator.
|
||||
|
||||
# Migration
|
||||
migration.title=שדרג הכספת
|
||||
## Start
|
||||
migration.start.header=שדרג הכספת
|
||||
migration.start.text=כדי לפתוח את הכספת ״%s״ בגרסה החדשה הזו של Cryptomator, צריך לשדרג את הכספת לגרסה חדשה יותר. לפני שתעשה זאת, כדאי שתדע:
|
||||
migration.start.remarkUndone=פעולת השדרוג אינה הפיכה.
|
||||
migration.start.remarkVersions=גרסאות ישנות יותר של Cryptomator לא יוכלו לפתוח את הכספת המשודרגת.
|
||||
migration.start.remarkCanRun=עליך לוודא שכל מכשיר ממנו אתה ניגש לכספת יכול להפעיל את גרסה זו של Cryptomator.
|
||||
migration.start.remarkSynced=עליך לוודא שהכספת שלך מסונכרנת במלואה במכשיר זה ובמכשירים האחרים, לפני שדרוגה.
|
||||
migration.start.confirm=קראתי והבנתי את המידע לעיל
|
||||
## Run
|
||||
migration.run.enterPassword=הכנס/י סיסמה עבור "%s"
|
||||
migration.run.startMigrationBtn=העבר הכספת
|
||||
@@ -170,22 +193,60 @@ migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=מערכת הק
|
||||
migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=מערכת הקבצים אינה מאפשרת את הכתיבה אליה.
|
||||
## Impossible
|
||||
migration.impossible.heading=לא יכול להעביר את הכספת
|
||||
migration.impossible.reason=לא ניתן לבצע מיגרציה אוטומטית של הכספת כי יעד האחסון או הקישור אינם תואמים.
|
||||
migration.impossible.moreInfo=ניתן עדיין לפתוח את כספת זו עם גרסה ישנה יותר. להנחיות כיצד לבצע מיגרציה ידנית של הכספת בקר ב-
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
health.title=בדיקת בריאות של ״%s״
|
||||
health.intro.header=בדיקת תקינות
|
||||
health.intro.text=בדיקת בריאות היא אוסף בדיקות לאיתור, ואולי תיקון, של בעיות במבנה הפנימי של הכספת. שים לב ש:
|
||||
health.intro.remarkSync=ודא שכל המכשירים מסונכרנים באופן מלא, זה פותר את רוב הבעיות.
|
||||
health.intro.remarkFix=לא ניתן לפתור את כל הבעיות.
|
||||
health.intro.remarkBackup=עם המידע משובש, רק גיבוי יכול לעזור.
|
||||
health.intro.affirmation=קראתי והבנתי את המידע לעיל
|
||||
## Start Failure
|
||||
health.fail.header=שגיאה בהעלאת הגדרות הכספת
|
||||
health.fail.ioError=ארעה שגיאה במהלך הגישה והקריאה של קובץ ההגדרות.
|
||||
health.fail.parseError=ארעה שגיאה בעת עיבוד קובץ הגדרות הכספת.
|
||||
health.fail.moreInfo=מידע נוסף
|
||||
## Check Selection
|
||||
health.checkList.description=בחר בדיקות ברשימה בצד שמאל או השתמש בלחצנים מטה.
|
||||
health.checkList.selectAllButton=בחירת כל הבדיקות
|
||||
health.checkList.deselectAllButton=הסר בחירה של כל הבדיקות
|
||||
health.check.runBatchBtn=הרץ את הבדיקות הנבחרות
|
||||
## Detail view
|
||||
health.check.detail.noSelectedCheck=לתוצאות, בחר בדיקת בריאות שהסתיימה ברשימה משמאל.
|
||||
health.check.detail.checkScheduled=הבדיקה מתוזמנת.
|
||||
health.check.detail.checkRunning=הבדיקה רצה כרגע…
|
||||
health.check.detail.checkSkipped=הבדיקה לא נבחרה לרוץ.
|
||||
health.check.detail.checkFinished=הבדיקה הסתיימה בהצלחה.
|
||||
health.check.detail.checkFinishedAndFound=הבדיקה הסתיימה. ניתן לבחון את התוצאות.
|
||||
health.check.detail.checkFailed=הבדיקה נכשלה בשל שגיאה.
|
||||
health.check.detail.checkCancelled=הבדיקה בוטלה.
|
||||
health.check.detail.listFilters.label=סנן
|
||||
health.check.detail.fixAllSpecificBtn=תקן הכל מסוג
|
||||
health.check.exportBtn=יצוא דוחות
|
||||
## Result view
|
||||
health.result.severityFilter.all=חומרה - הכל
|
||||
health.result.severityFilter.good=טוב
|
||||
health.result.severityFilter.info=מידע
|
||||
health.result.severityFilter.warn=אזהרה
|
||||
health.result.severityFilter.crit=קריטי
|
||||
health.result.severityTip.good=חומרה: טוב\nמבנה כספת רגיל.
|
||||
health.result.severityTip.info=חומרה: מידע\nמבנה כספת קיים, תיקון מומלץ.
|
||||
health.result.severityTip.warn=חומרה: אזהרה\nמבנה כספת שגוי, מומלץ מאוד לתקן.
|
||||
health.result.severityTip.crit=חומרה: קריטי\nמבנה כספת שגוי, אומת אובדן מידע.
|
||||
health.result.fixStateFilter.all=מצב תיקון - הכל
|
||||
health.result.fixStateFilter.fixable=בר תיקון
|
||||
health.result.fixStateFilter.notFixable=לא בר תיקון
|
||||
health.result.fixStateFilter.fixing=מתקן…
|
||||
health.result.fixStateFilter.fixed=תוקן
|
||||
health.result.fixStateFilter.fixFailed=התיקון נכשל
|
||||
## Fix Application
|
||||
health.fix.fixBtn=תיקון
|
||||
health.fix.successTip=התיקון הצליח
|
||||
health.fix.failTip=התיקון כשל, ראה את הלוג לפרטים
|
||||
|
||||
# Preferences
|
||||
preferences.title=העדפות
|
||||
@@ -210,16 +271,31 @@ preferences.interface.interfaceOrientation=כיוון ממשק
|
||||
preferences.interface.interfaceOrientation.ltr=משמאל לימין
|
||||
preferences.interface.interfaceOrientation.rtl=מימין לשמאל
|
||||
preferences.interface.showMinimizeButton=הצג כפתור מזעור
|
||||
preferences.interface.showTrayIcon=הצג צלמית בשורה מטה (דורש הפעלה מחדש)
|
||||
## Volume
|
||||
preferences.volume=כונן וירטואלי
|
||||
preferences.volume.type=סוג volume (דורש הפעלה מחדש)
|
||||
preferences.volume.type.automatic=אוטומטי
|
||||
preferences.volume.docsTooltip=בכדי ללמוד עוד על סוגי volume ניתן לקרוא את הדוקומנטציה.
|
||||
preferences.volume.tcp.port=פורט TCP
|
||||
preferences.volume.supportedFeatures=סוג ה- volume שבחרת תומך ביכולות הבאות:
|
||||
preferences.volume.feature.mountAuto=נבחרה בחירת נקודת קישור אוטומטית
|
||||
preferences.volume.feature.mountToDir=הגדרת תיקיה כנקודת קישור
|
||||
preferences.volume.feature.mountToDriveLetter=אות כונן כנקודת קישור
|
||||
preferences.volume.feature.mountFlags=בחירת אפשרויות לקישור
|
||||
preferences.volume.feature.readOnly=קישור במצב קריאה בלבד
|
||||
## Updates
|
||||
preferences.updates=עדכונים
|
||||
preferences.updates.currentVersion=הגרסה הנוכחית: %s
|
||||
preferences.updates.autoUpdateCheck=בצע בדיקת עדכונים אוטומטית
|
||||
preferences.updates.checkNowBtn=בדוק כעת
|
||||
preferences.updates.updateAvailable=שדרוג לגרסה %s זמין.
|
||||
## Contribution
|
||||
preferences.contribute=תמוך בנו
|
||||
preferences.contribute.registeredFor=אישור על תמיכה על שם %s
|
||||
preferences.contribute.noCertificate=תמכו ב-Cryptomator וקבלו תעודת תמיכה. זה כמו מפתח רישוי רק לאנשים מדהימים שמשתמשים בתוכנה חופשית. ;-)
|
||||
preferences.contribute.getCertificate=עדיין אין לכם אחד? לימדו כיצד אתם יכולים להשיג אותו.
|
||||
preferences.contribute.promptText=הדבק את קוד תעודת התומך כאן
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
@@ -230,44 +306,98 @@ stats.title=סטטיסטיקה עבור %s
|
||||
stats.cacheHitRate=אחוז שימוש במטמון
|
||||
## Read
|
||||
stats.read.throughput.idle=קריאה: ללא פעילות
|
||||
stats.read.throughput.kibs=קריאה: %.2f kiB/s
|
||||
stats.read.throughput.kibs=נקרא: %.2f קילובייט/שניה
|
||||
stats.read.throughput.mibs=קריאה: %.2f MiB/s
|
||||
stats.read.total.data.none=מידע שנקרא: -
|
||||
stats.read.total.data.kib=מידע שנקרא: %.1f קילובייט
|
||||
stats.read.total.data.mib=מידע שנקרא: %.1f מגהבייט
|
||||
stats.read.total.data.gib=מידע שנקרא: %.1f גיגהבייט
|
||||
stats.decr.total.data.none=מידע שפוענח: -
|
||||
stats.decr.total.data.kib=מידע שפוענח: %.1f קילובייט
|
||||
stats.decr.total.data.mib=מידע שפוענח: %.1f מגהבייט
|
||||
stats.decr.total.data.gib=מידע שפוענח: %.1f גיגהבייט
|
||||
stats.read.accessCount=מספר קריאות כולל: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=כתיבה: ללא פעילות
|
||||
stats.write.throughput.kibs=נכתב: %.2f קילובייט/שניה
|
||||
stats.write.throughput.mibs=כתיבה: %.2f מגהבייט/שניה
|
||||
stats.write.total.data.none=מידע שנכתב: -
|
||||
stats.write.total.data.kib=מידע שנכתב: %.1f קילובייט
|
||||
stats.write.total.data.mib=מידע שנכתב: %.1f מגהבייט
|
||||
stats.write.total.data.gib=מידע שנכתב: %.1f גיגהבייט
|
||||
stats.encr.total.data.none=מידע שהוצפן: -
|
||||
stats.encr.total.data.kib=מידע שהוצפן: %.1f קילובייט
|
||||
stats.encr.total.data.mib=מידע שהוצפן: %.1f מגהבייט
|
||||
stats.encr.total.data.gib=מידע שהוצפן: %.1f גיגהבייט
|
||||
stats.write.accessCount=מספר כתיבות כולל: %d
|
||||
|
||||
## Accesses
|
||||
stats.access.current=גישה: %d
|
||||
stats.access.total=מספר גישות כולל: %d
|
||||
|
||||
|
||||
# Main Window
|
||||
main.closeBtn.tooltip=סגור
|
||||
main.minimizeBtn.tooltip=מזער
|
||||
main.preferencesBtn.tooltip=העדפות
|
||||
main.debugModeEnabled.tooltip=מצב דיבאג מופעל
|
||||
main.supporterCertificateMissing.tooltip=תרומתך תתקבל בברכה
|
||||
## Vault List
|
||||
main.vaultlist.emptyList.onboardingInstruction=לחץ כאן להוספת כספת
|
||||
main.vaultlist.contextMenu.remove=הסר…
|
||||
main.vaultlist.contextMenu.lock=נעילה
|
||||
main.vaultlist.contextMenu.unlock=שחרר נעילה…
|
||||
main.vaultlist.contextMenu.unlockNow=בטל נעילה כעת
|
||||
main.vaultlist.contextMenu.vaultoptions=הצג את אפשרויות הכספת
|
||||
main.vaultlist.contextMenu.reveal=חשוף את הכונן
|
||||
main.vaultlist.addVaultBtn=יצירת כספת
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=תודה שבחרת ב- Cryptomator להגן על הקבצים שלך. אם אתה זקוק לסיוע, אנא עיין במדריכים שלנו:
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=נעול
|
||||
main.vaultDetail.unlockBtn=שחרר נעילה…
|
||||
main.vaultDetail.unlockNowBtn=בטל נעילה כעת
|
||||
main.vaultDetail.optionsBtn=אפשרויות הכספת
|
||||
main.vaultDetail.passwordSavedInKeychain=הסיסמה נשמרה
|
||||
### Unlocked
|
||||
main.vaultDetail.unlockedStatus=לא נעול
|
||||
main.vaultDetail.accessLocation=תוכן הכספת שלך נגיש כאן:
|
||||
main.vaultDetail.revealBtn=חשוף את הכונן
|
||||
main.vaultDetail.copyUri=העתק קישור כתובת
|
||||
main.vaultDetail.lockBtn=נעילה
|
||||
main.vaultDetail.bytesPerSecondRead=קריאה:
|
||||
main.vaultDetail.bytesPerSecondWritten=כתיבה:
|
||||
main.vaultDetail.throughput.idle=ללא פעילות
|
||||
main.vaultDetail.throughput.kbps=%.1f קילובייט/שניה
|
||||
main.vaultDetail.throughput.mbps=%.1f מגהביט לשניה
|
||||
main.vaultDetail.stats=סטטיסטיקת הכספת
|
||||
main.vaultDetail.locateEncryptedFileBtn=מצא קבצים מוצפנים
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=בחר קובץ מהכספת שלך על מנת לאתר את הקובץ התואם המוצפן
|
||||
main.vaultDetail.encryptedPathsCopied=הנתיבים הועתקו ללוח!
|
||||
main.vaultDetail.filePickerTitle=בחר קובץ בתוך הכספת
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator לא הצליח למצוא כספת בנתיב זה.
|
||||
main.vaultDetail.missing.recheck=בדיקה נוספת
|
||||
main.vaultDetail.missing.remove=הסר מרשימה הכספות…
|
||||
main.vaultDetail.missing.changeLocation=שנה את מיקום הכספת…
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=שדרג הכספת
|
||||
main.vaultDetail.migratePrompt=צריך לשדרג את הכספת שלך לגרסה חדשה לפני שניתן לגשת אליה
|
||||
### Error
|
||||
main.vaultDetail.error.info=ארעה שגיאה בהעלאת הכספת מהדיסק.
|
||||
main.vaultDetail.error.reload=ריענון
|
||||
main.vaultDetail.error.windowTitle=שגיאה בטעינת הכספת
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=איך להצפין קבצים
|
||||
wrongFileAlert.message=האם ניסית להצפין את הקבצים האלו?
|
||||
wrongFileAlert.description=לצורך כך, Cryptomator מספקת volume במנהל הקבצים של המערכת.
|
||||
wrongFileAlert.instruction.0=כדי להצפין את הקבצים, בצע את השלבים הבאים:
|
||||
wrongFileAlert.instruction.1=1. פתחו את הכספת.
|
||||
wrongFileAlert.instruction.2=2. לחץ על ״הצג״ לפתיחת ה- volume במנהל הקבצים.
|
||||
wrongFileAlert.instruction.3=3. הוסף את הקבצים שלך ל- volume הזה.
|
||||
wrongFileAlert.link=לסיוע נוסף, בקר ב-
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
@@ -275,17 +405,32 @@ vaultOptions.general=כללי
|
||||
vaultOptions.general.vaultName=שם הכספת
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=נעילה לאחר חוסר שימוש של
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=דקות
|
||||
vaultOptions.general.unlockAfterStartup=פתח את הכספת בהפעלה של Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=לאחר שחרור נעילה מוצלח
|
||||
vaultOptions.general.actionAfterUnlock.ignore=אל תעשה דבר
|
||||
vaultOptions.general.actionAfterUnlock.reveal=חשוף את הכונן
|
||||
vaultOptions.general.actionAfterUnlock.ask=שאל
|
||||
vaultOptions.general.startHealthCheckBtn=התחל בדיקת בריאות
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=קישור
|
||||
vaultOptions.mount.info=האפשרויות תלויות בסוג ה- volume הנבחר.
|
||||
vaultOptions.mount.linkToPreferences=פתח את העדפות הכונן הוירטואלי
|
||||
vaultOptions.mount.readonly=קריאה בלבד
|
||||
vaultOptions.mount.customMountFlags=דגלים ידנים לקישור
|
||||
vaultOptions.mount.winDriveLetterOccupied=בשימוש
|
||||
vaultOptions.mount.mountPoint=נקודת עיגון
|
||||
vaultOptions.mount.mountPoint.auto=בחר אוטומטית מיקום מתאים
|
||||
vaultOptions.mount.mountPoint.driveLetter=השתמש באות הכונן המוקצאת
|
||||
vaultOptions.mount.mountPoint.custom=השתמש בתיקיה שנבחרה
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=בחר...
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=בחר תיקיה
|
||||
## Master Key
|
||||
vaultOptions.masterkey=סיסמה
|
||||
vaultOptions.masterkey.changePasswordBtn=שנה סיסמה
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=שכח סיסמה שמורה
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=מפתח שחזור הינו הדרך היחידה לשחזור הגישה לכספת אם תאבד את הסיסמה.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=הצג את מפתח השחזור
|
||||
vaultOptions.masterkey.recoverPasswordBtn=איפוס סיסמה
|
||||
|
||||
|
||||
@@ -295,9 +440,14 @@ recoveryKey.display.title=הצגת מפתח השחזור
|
||||
recoveryKey.create.message=דרושה סיסמה
|
||||
recoveryKey.create.description=נא להזין את הססמא ל "%s" בכדי להציג את מפתח השחזור.
|
||||
recoveryKey.display.description=המפתח שחזור שלהלן ניתן לשימוש בכדי לשחזר גישה ל "%s":
|
||||
recoveryKey.display.StorageHints=שמור אותו במקום מאוד בטוח, לדוגמה:\n • שמור אותו במנהל סיסמאות\n • שמור אותו בדיסק און קי\n • הדפס אותו על נייר
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=איפוס סיסמה
|
||||
recoveryKey.recover.prompt=הקש את מפתח השחזור שלך עבור ״%s״:
|
||||
recoveryKey.recover.correctKey=מפתח ה recovery נכון
|
||||
recoveryKey.recover.wrongKey=מפתח ה recovery שייך ל vault אחר
|
||||
recoveryKey.recover.invalidKey=מפתח ה recovery שגוי
|
||||
recoveryKey.printout.heading=מפתח שחזור של Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=איפוס
|
||||
@@ -306,6 +456,11 @@ recoveryKey.recover.resetSuccess.message=איפוס סיסמה הצליח
|
||||
recoveryKey.recover.resetSuccess.description=ניתן לפתוח את הכספת עם הסיסמה החדשה.
|
||||
|
||||
# New Password
|
||||
newPassword.promptText=הקש סיסמה חדשה
|
||||
newPassword.reenterPassword=לאימות, הקש שוב את הסיסמא החדשה
|
||||
newPassword.passwordsMatch=הסיסמאות תואמות!
|
||||
newPassword.passwordsDoNotMatch=הסיסמאות אינם תואמות
|
||||
passwordStrength.messageLabel.tooShort=השתמש בלפחות %d תווים
|
||||
passwordStrength.messageLabel.0=חלשה מאוד
|
||||
passwordStrength.messageLabel.1=חלשה
|
||||
passwordStrength.messageLabel.2=סבירה
|
||||
@@ -315,8 +470,10 @@ passwordStrength.messageLabel.4=חזקה מאוד
|
||||
# Quit
|
||||
quit.title=יציאה
|
||||
quit.message=קיימים vaults פתוחים
|
||||
quit.description=נא אשר שאתה רוצה לצאת. Cryptomator יבצע נעילה מסודרת של כל הכספות הפתוחות למניעת אובדן מידע.
|
||||
quit.lockAndQuitBtn=נעילה ויציאה
|
||||
|
||||
# Forced Quit
|
||||
quit.forced.message=חלק מה vaults לא היו ניתנים לנעילה
|
||||
quit.forced.description=נעילה כספות נחסמה על ידי תהליכים ממתינים או קבצים פתוחים. אתה יכול לנעול את הכספת בכוח, אולם הפרעה לפעולת קריאה וכתיבה עשויה לגרום לאובדן מידע לא שמור.
|
||||
quit.forced.forceAndQuitBtn=נעילה בכח ויציאה
|
||||
@@ -128,7 +128,6 @@ hub.register.registerBtn=पुष्टि करें
|
||||
hub.unauthorized.message=प्रवेश अस्वीकृत
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=लॉक करना विफल हुआ
|
||||
|
||||
@@ -123,7 +123,6 @@ hub.register.registerBtn=Potvrdi
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=Zaključavanje neuspješno
|
||||
@@ -241,27 +240,21 @@ stats.title=Statistika za %s
|
||||
stats.cacheHitRate=Stopa pogodaka predmemorije
|
||||
## Read
|
||||
stats.read.throughput.idle=Čitanje: mirovanje
|
||||
stats.read.throughput.kibs=Čitanje: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Čitanje: %.2f MiB/s
|
||||
stats.read.total.data.none=Podataka pročitano: -
|
||||
stats.read.total.data.kib=Podataka pročitano: %.1f kiB
|
||||
stats.read.total.data.mib=Podataka pročitano: %.1f MiB
|
||||
stats.read.total.data.gib=Podataka pročitano: %.1f GiB
|
||||
stats.decr.total.data.none=Podataka dešifrirano: -
|
||||
stats.decr.total.data.kib=Podataka dešifrirano: %.1f kiB
|
||||
stats.decr.total.data.mib=Podataka dešifrirano: %.1f MiB
|
||||
stats.decr.total.data.gib=Podataka dešifrirano: %.1f GiB
|
||||
stats.read.accessCount=Ukupno čitanja: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Pisanje: mirovanje
|
||||
stats.write.throughput.kibs=Pisanje: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Pisanje: %.2f MiB/s
|
||||
stats.write.total.data.none=Podataka zapisano: -
|
||||
stats.write.total.data.kib=Podataka zapisano: %.1f kiB
|
||||
stats.write.total.data.mib=Podataka zapisano: %.1f MiB
|
||||
stats.write.total.data.gib=Podataka zapisano: %.1f GiB
|
||||
stats.encr.total.data.none=Podataka šifrirano: -
|
||||
stats.encr.total.data.kib=Podataka šifrirano: %.1f kiB
|
||||
stats.encr.total.data.mib=Podataka šifrirano: %.1f MiB
|
||||
stats.encr.total.data.gib=Podataka šifrirano: %.1f GiB
|
||||
stats.write.accessCount=Ukupno pisanja: %d
|
||||
@@ -301,7 +294,6 @@ main.vaultDetail.lockBtn=Zaključaj
|
||||
main.vaultDetail.bytesPerSecondRead=Čitanje:
|
||||
main.vaultDetail.bytesPerSecondWritten=Pisanje:
|
||||
main.vaultDetail.throughput.idle=neaktivan
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Statistika trezora
|
||||
### Missing
|
||||
@@ -365,7 +357,7 @@ recoveryKey.display.StorageHints=Držite ga na sigurnom mjestu, npr.:\n • Pohr
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt=Unesite ključ za oporavak za "%s":
|
||||
recoveryKey.recover.validKey=Ovo je valjani ključ za oporavak
|
||||
recoveryKey.recover.correctKey=Ovo je valjani ključ za oporavak
|
||||
recoveryKey.printout.heading=Cryptomator-ov ključ za oporavak\n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -105,7 +105,7 @@ unlock.savePassword=Jelszó megjegyzése
|
||||
unlock.unlockBtn=Feloldás
|
||||
## Select
|
||||
unlock.chooseMasterkey.description=Nem található a tároló kulcsfájlja a várt helyen. Kérjük válassza ki a kulcsfájlt manuálisan.
|
||||
unlock.chooseMasterkey.filePickerTitle=Kulcsfájl kiválasztása
|
||||
unlock.chooseMasterkey.filePickerTitle=Mesterkulcs fájl kiválasztása
|
||||
## Success
|
||||
unlock.success.description="%s" sikreresen feloldásra került! Mostmár hozzáférhet a virtuális trezorhoz.
|
||||
unlock.success.rememberChoice=Jegyezze meg a választást és ne mutassa többet
|
||||
@@ -115,12 +115,13 @@ unlock.success.revealBtn=Széf megjelenítése
|
||||
### Waiting
|
||||
### Receive Key
|
||||
### Register Device
|
||||
hub.register.occupiedMsg=Ez a név már használatban van
|
||||
hub.register.registerBtn=Megerősítés
|
||||
### Registration Success
|
||||
### Registration Failed
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=A lezárás sikertelen volt
|
||||
@@ -238,27 +239,21 @@ stats.title=Statisztika ehhez %s
|
||||
stats.cacheHitRate=Gyorsítótár találati arány
|
||||
## Read
|
||||
stats.read.throughput.idle=Olvasás: tétlen
|
||||
stats.read.throughput.kibs=Olvasás: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Olvasás: %.2f MiB/s
|
||||
stats.read.total.data.none=Olvasott adat: -
|
||||
stats.read.total.data.kib=Olvasott adat: %.1f kiB
|
||||
stats.read.total.data.mib=Olvasott adat: %.1f MiB
|
||||
stats.read.total.data.gib=Olvasott adat: %.1f GiB
|
||||
stats.decr.total.data.none=Dekódolt adat: -
|
||||
stats.decr.total.data.kib=Dekódolt adat: %.1f kiB
|
||||
stats.decr.total.data.mib=Dekódolt adat: %.1f MiB
|
||||
stats.decr.total.data.gib=Dekódolt adat: %.1f GiB
|
||||
stats.read.accessCount=Összes olvasás: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Írás: tétlen
|
||||
stats.write.throughput.kibs=Írás: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Írás: %.2f MiB/s
|
||||
stats.write.total.data.none=Írva: -
|
||||
stats.write.total.data.kib=Írott adat: %.1f kiB
|
||||
stats.write.total.data.mib=Írott adat: %.1f MiB
|
||||
stats.write.total.data.gib=Írott adat: %.1f GiB
|
||||
stats.encr.total.data.none=Titkosított adat: -
|
||||
stats.encr.total.data.kib=Titkosított adat: %.1f kiB
|
||||
stats.encr.total.data.mib=Titkosított adat: %.1f MiB
|
||||
stats.encr.total.data.gib=Titkosított adat: %.1f GiB
|
||||
stats.write.accessCount=Összes írás: %d
|
||||
@@ -298,7 +293,6 @@ main.vaultDetail.lockBtn=Zárolás
|
||||
main.vaultDetail.bytesPerSecondRead=Olvasás:
|
||||
main.vaultDetail.bytesPerSecondWritten=Írás:
|
||||
main.vaultDetail.throughput.idle=tétlen
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Széf statisztika
|
||||
### Missing
|
||||
@@ -362,7 +356,9 @@ recoveryKey.display.StorageHints=Tartsa nagyon biztonságos helyen. pl.:\n •T
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt=Írja be a visszaállítási kulcsát a következőhöz "%s":
|
||||
recoveryKey.recover.validKey=Ez egy érvényes visszaállítási kulcs
|
||||
recoveryKey.recover.correctKey=Ez a visszaállítási kulcs érvényes
|
||||
recoveryKey.recover.wrongKey=Ez a visszaállítási kulcs egy másik széfhez tartozik
|
||||
recoveryKey.recover.invalidKey=Ez a visszaállítási kulcs nem érvényes
|
||||
recoveryKey.printout.heading=Cryptomator visszaállítási kulcs\n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -123,7 +123,6 @@ hub.register.registerBtn=Konfirmasi
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=Gagal mengunci
|
||||
@@ -241,27 +240,21 @@ stats.title=Statistik untuk %s
|
||||
stats.cacheHitRate=Tingkat Hit Cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Baca: diam
|
||||
stats.read.throughput.kibs=Baca: %.2f kiB/detik
|
||||
stats.read.throughput.mibs=Baca: %.2f MiB/detik
|
||||
stats.read.total.data.none=Data dibaca: -
|
||||
stats.read.total.data.kib=Data dibaca: %.1f kiB
|
||||
stats.read.total.data.mib=Data dibaca: %.1f MiB
|
||||
stats.read.total.data.gib=Data dibaca: %.1f GiB
|
||||
stats.decr.total.data.none=Data terdekripsi: -
|
||||
stats.decr.total.data.kib=Data terdekripsi: %.1f kiB
|
||||
stats.decr.total.data.mib=Data terdeksripsi: %.1f MiB
|
||||
stats.decr.total.data.gib=Data terdeksripsi: %.1f GiB
|
||||
stats.read.accessCount=Total dibaca: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Tulis: diam
|
||||
stats.write.throughput.kibs=Tulis: %.2f kiB/detik
|
||||
stats.write.throughput.mibs=Tulis: %.2f MiB/detik
|
||||
stats.write.total.data.none=Data tertulis: -
|
||||
stats.write.total.data.kib=Data tertulis: %.1f kiB
|
||||
stats.write.total.data.mib=Data tertulis: %.1f MiB
|
||||
stats.write.total.data.gib=Data tertulis: %.1f GiB
|
||||
stats.encr.total.data.none=Data terenkripsi: -
|
||||
stats.encr.total.data.kib=Data terenkripsi: %.1f kiB
|
||||
stats.encr.total.data.mib=Data terenkripsi: %.1f MiB
|
||||
stats.encr.total.data.gib=Data terenkripsi: %.1f GiB
|
||||
stats.write.accessCount=Total ditulis: %d
|
||||
@@ -301,7 +294,6 @@ main.vaultDetail.lockBtn=Gembok
|
||||
main.vaultDetail.bytesPerSecondRead=Read:
|
||||
main.vaultDetail.bytesPerSecondWritten=Write:
|
||||
main.vaultDetail.throughput.idle=idle
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/detik
|
||||
main.vaultDetail.stats=Statistik Vault
|
||||
### Missing
|
||||
@@ -365,7 +357,7 @@ recoveryKey.display.StorageHints=Simpan di tempat yang sangat aman, misal.:\n
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt=Masukkan kunci pemulihan untuk "%s":
|
||||
recoveryKey.recover.validKey=Ini adalah kunci pemulihan yang valid
|
||||
recoveryKey.recover.correctKey=Ini adalah kunci pemulihan yang valid
|
||||
recoveryKey.printout.heading=Kunci Pemulihan Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -154,9 +154,6 @@ hub.registerFailed.description=Si è verificato un errore nel processo di nomina
|
||||
hub.unauthorized.message=Accesso negato
|
||||
hub.unauthorized.description=Il tuo dispositivo non è ancora stato autorizzato ad accedere a questa cassaforte. Chiedi al proprietario della cassaforte di autorizzarlo.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licenza scaduta
|
||||
hub.licenseExceeded.description=Cryptomator Hub ha dato accesso a più utenti rispetto ai suoi permessi di licenza. Contatta il tuo amministratore Hub per aggiornare la licenza o un amministratore del vault per rimuovere gli utenti dalle cassaforte.
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -306,27 +303,27 @@ stats.title=Statistiche per %s
|
||||
stats.cacheHitRate=Frequenza di Raggiungimento della Cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Lettura: inattivo
|
||||
stats.read.throughput.kibs=Lettura: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Lettura: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Lettura: %.2f MiB/s
|
||||
stats.read.total.data.none=Dati letti: -
|
||||
stats.read.total.data.kib=Dati letti: %.1f kiB
|
||||
stats.read.total.data.kib=Dati letti: %.1f KiB
|
||||
stats.read.total.data.mib=Dati letti: %.1f MiB
|
||||
stats.read.total.data.gib=Dati letti: %.1f GiB
|
||||
stats.decr.total.data.none=Dati decrittografati: -
|
||||
stats.decr.total.data.kib=Dati decrittografati: %.1f kiB
|
||||
stats.decr.total.data.kib=Dati decriptati: %.1f KiB
|
||||
stats.decr.total.data.mib=Dati decrittografati: %.1f MiB
|
||||
stats.decr.total.data.gib=Dati decrittografati: %.1f GiB
|
||||
stats.read.accessCount=Letture totali: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Scrittura: inattivo
|
||||
stats.write.throughput.kibs=Scrittura: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Scrittura: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Scrittura: %.2f MiB/s
|
||||
stats.write.total.data.none=Dati scritti: -
|
||||
stats.write.total.data.kib=Dati scritti: %.1f kiB
|
||||
stats.write.total.data.kib=Dati scritti: %.1f KiB
|
||||
stats.write.total.data.mib=Dati scritti: %.1f MiB
|
||||
stats.write.total.data.gib=Dati scritti: %.1f GiB
|
||||
stats.encr.total.data.none=Dati crittografati: -
|
||||
stats.encr.total.data.kib=Dati crittografati: %.1f kiB
|
||||
stats.encr.total.data.kib=Dati criptati: %.1f KiB
|
||||
stats.encr.total.data.mib=Dati crittografati: %.1f MiB
|
||||
stats.encr.total.data.gib=Dati crittografati: %.1f GiB
|
||||
stats.write.accessCount=Scritture totali: %d
|
||||
@@ -369,7 +366,7 @@ main.vaultDetail.lockBtn=Blocca
|
||||
main.vaultDetail.bytesPerSecondRead=Lettura:
|
||||
main.vaultDetail.bytesPerSecondWritten=Scrittura:
|
||||
main.vaultDetail.throughput.idle=inattivo
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Statistiche della Cassaforte
|
||||
main.vaultDetail.locateEncryptedFileBtn=Individua File Crittografato
|
||||
@@ -445,7 +442,7 @@ recoveryKey.display.StorageHints=Mantienilo da qualche parte molto sicuro, ad es
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Reimposta Password
|
||||
recoveryKey.recover.prompt=Inserisci la tua chiave di recupero per "%s":
|
||||
recoveryKey.recover.validKey=Questa è una chiave di recupero valida
|
||||
recoveryKey.recover.correctKey=Questa è una chiave di recupero valida
|
||||
recoveryKey.printout.heading=Chiave di recupero Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Reimposta
|
||||
|
||||
@@ -126,6 +126,7 @@ unlock.success.revealBtn=ドライブを表示
|
||||
unlock.error.customPath.message=カスタム パスに金庫をマウントできません
|
||||
unlock.error.customPath.description.notSupported=カスタム パスを使い続けたい場合、環境設定に移動してサポートしているボリューム タイプを選択してください。もしくは、金庫のオプションに移動してサポートされるマウント ポイントを選択してください。
|
||||
unlock.error.customPath.description.notExists=カスタム マウント パスが存在していません。ローカル ファイルシステムで作成するか、金庫のオプションで変更を加えてください。
|
||||
unlock.error.customPath.description.generic=この金庫のカスタム・マウント・パスを選択しましたが、その使用は次のメッセージで失敗しました: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=デバイス キーにアクセスできません
|
||||
hub.noKeychain.description=ハブ金庫を解錠するには、キーチェーンが保護するデバイス キーが必要です。続行するには、"%s" を有効にし環境設定からキーチェーンを選択します。
|
||||
@@ -153,9 +154,8 @@ hub.registerFailed.description=デバイス名登録中にエラーが発生し
|
||||
hub.unauthorized.message=アクセスが拒否されました
|
||||
hub.unauthorized.description=お使いのデバイスはまだこの金庫にアクセスする権限がありません。金庫のオーナーに権限を与えてもらってください。
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=ライセンス数が不足しています
|
||||
hub.licenseExceeded.description=Cryptomator Hubがライセンスの許可よりも多くのユーザーにアクセス権を与えています。ハブ管理者にライセンスをアップグレードするよう連絡するか,金庫の管理者に金庫からユーザーを削除するよう連絡してください。
|
||||
|
||||
hub.invalidLicense.message=ハブライセンスが無効です
|
||||
hub.invalidLicense.description=Cryptomator ハブインスタンスに無効なライセンスがあります。ライセンスをアップグレードまたは更新するには、ハブ管理者に連絡してください。
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -171,8 +171,11 @@ lock.fail.description=金庫 "%s" を施錠できませんでした。保存さ
|
||||
migration.title=金庫をアップグレード
|
||||
## Start
|
||||
migration.start.header=金庫をアップグレード
|
||||
migration.start.text=Cryptomatorのこの新しいバージョンであなたの金庫「%s」を開くには、金庫を新しい形式にアップグレードする必要があります。これを行う前に、次のことを知っておく必要があります:
|
||||
migration.start.remarkUndone=このアップグレードは取り消すことができません。
|
||||
migration.start.remarkVersions=古い Cryptomator では、アップグレードされた金庫を開くことができなくなります。
|
||||
migration.start.remarkCanRun=あなたが金庫にアクセスするすべてのデバイスは、Cryptomatorのこのバージョンを実行できることを確認する必要があります。
|
||||
migration.start.remarkSynced=アップグレードする前に、このデバイスと他のデバイスで、金庫が完全に同期されていることを確認する必要があります。
|
||||
migration.start.confirm=上記の情報を理解しました。
|
||||
## Run
|
||||
migration.run.enterPassword="%s" のパスワードを入力してください
|
||||
@@ -273,7 +276,12 @@ preferences.interface.showTrayIcon=トレイアイコンを表示 (再起動が
|
||||
preferences.volume=仮想ドライブ
|
||||
preferences.volume.type=ボリューム タイプ (再起動が必要)
|
||||
preferences.volume.type.automatic=自動
|
||||
preferences.volume.docsTooltip=異なるボリュームタイプの詳細については、ドキュメントを確認してください。
|
||||
preferences.volume.tcp.port=TCP ポート
|
||||
preferences.volume.supportedFeatures=選択されたボリュームタイプは、以下の機能をサポートしています。
|
||||
preferences.volume.feature.mountAuto=マウント先の自動選択
|
||||
preferences.volume.feature.mountToDir=カスタムディレクトリをマウント先に指定
|
||||
preferences.volume.feature.mountToDriveLetter=ドライブレターをマウント先に指定
|
||||
preferences.volume.feature.mountFlags=カスタム マウント オプション
|
||||
preferences.volume.feature.readOnly=読み取り専用マウント
|
||||
## Updates
|
||||
@@ -298,27 +306,21 @@ stats.title=%s の統計情報
|
||||
stats.cacheHitRate=キャッシュ ヒット率
|
||||
## Read
|
||||
stats.read.throughput.idle=読み取り: アイドル状態
|
||||
stats.read.throughput.kibs=読み取り: %.2f kiB/s
|
||||
stats.read.throughput.mibs=読み取り: %.2f MiB/s
|
||||
stats.read.total.data.none=データ読み取り: -
|
||||
stats.read.total.data.kib=データ読み取り: %.1f kiB
|
||||
stats.read.total.data.mib=データ読み取り: %.1f MiB
|
||||
stats.read.total.data.gib=データ読み取り: %.1f GiB
|
||||
stats.decr.total.data.none=復号済みデータ: -
|
||||
stats.decr.total.data.kib=復号済みデータ: %.1f kiB
|
||||
stats.decr.total.data.mib=復号済みデータ: %.1f MiB
|
||||
stats.decr.total.data.gib=復号済みデータ: %.1f GiB
|
||||
stats.read.accessCount=合計読み取り: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=書き込み: アイドル状態
|
||||
stats.write.throughput.kibs=書き込み: %.2f kiB/s
|
||||
stats.write.throughput.mibs=書き込み: %.2f MiB/s
|
||||
stats.write.total.data.none=書き込み済みデータ: -
|
||||
stats.write.total.data.kib=書き込み済みデータ: %.1f kiB
|
||||
stats.write.total.data.mib=書き込み済みデータ: %.1f MiB
|
||||
stats.write.total.data.gib=書き込み済みデータ: %.1f GiB
|
||||
stats.encr.total.data.none=暗号化済みデータ: -
|
||||
stats.encr.total.data.kib=暗号化済みデータ: %.1f kiB
|
||||
stats.encr.total.data.mib=暗号化済みデータ: %.1f MiB
|
||||
stats.encr.total.data.gib=暗号化済みデータ: %.1f GiB
|
||||
stats.write.accessCount=合計書き込み: %d
|
||||
@@ -361,12 +363,12 @@ main.vaultDetail.lockBtn=施錠
|
||||
main.vaultDetail.bytesPerSecondRead=読み取り:
|
||||
main.vaultDetail.bytesPerSecondWritten=書き込み:
|
||||
main.vaultDetail.throughput.idle=アイドル
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=金庫の統計情報
|
||||
main.vaultDetail.locateEncryptedFileBtn=暗号化されたファイルの場所
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=暗号化された金庫のファイルを選択してください
|
||||
main.vaultDetail.encryptedPathsCopied=パスをクリップボードにコピーしました!
|
||||
main.vaultDetail.filePickerTitle=金庫内のファイルを選択
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator はこの場所に金庫を見つけることができませんでした。
|
||||
main.vaultDetail.missing.recheck=再確認
|
||||
@@ -405,6 +407,7 @@ vaultOptions.general.startHealthCheckBtn=正常性チェックを開始
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=マウント
|
||||
vaultOptions.mount.info=オプションは、選択されたボリュームタイプによって異なります。
|
||||
vaultOptions.mount.linkToPreferences=仮想ドライブの環境設定を開く
|
||||
vaultOptions.mount.readonly=読み取り専用
|
||||
vaultOptions.mount.customMountFlags=カスタム マウント フラグ
|
||||
@@ -435,7 +438,9 @@ recoveryKey.display.StorageHints=十分に安全な場所に保存してくだ
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=パスワードをリセット
|
||||
recoveryKey.recover.prompt="%s" の回復キーを入力してください:
|
||||
recoveryKey.recover.validKey=有効な回復キー
|
||||
recoveryKey.recover.correctKey=有効な回復キー
|
||||
recoveryKey.recover.wrongKey=この回復キーは別の金庫に属しています
|
||||
recoveryKey.recover.invalidKey=この回復キーは有効ではありません
|
||||
recoveryKey.printout.heading=Cryptomator 回復キー\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=リセット
|
||||
|
||||
@@ -121,7 +121,6 @@ hub.register.registerBtn=확인
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.description=대기 중인 작동이나 파일이 열려있어 "%s"를 잠그는데 실패하였습니다. 이 Vault를 강제로 잠글 수 있으나, 입/출력의 중단은 저장되지 않은 데이터의 유실을 초래할 수 있습니다.
|
||||
@@ -231,27 +230,21 @@ stats.title=%s에 대한 통계
|
||||
stats.cacheHitRate=캐시 히트율
|
||||
## Read
|
||||
stats.read.throughput.idle=읽기: 대기중
|
||||
stats.read.throughput.kibs=읽기: %.2f kiB/s
|
||||
stats.read.throughput.mibs=읽기: %.2f MiB/s
|
||||
stats.read.total.data.none=데이터 읽기: -
|
||||
stats.read.total.data.kib=데이터 읽기: %.1f kiB
|
||||
stats.read.total.data.mib=데이터 읽기: %.1f MiB
|
||||
stats.read.total.data.gib=데이터 읽기: %.1f GiB
|
||||
stats.decr.total.data.none=데이터 복호화: -
|
||||
stats.decr.total.data.kib=데이터 복호화: %.1f kiB
|
||||
stats.decr.total.data.mib=데이터 복호화: %.1f MiB
|
||||
stats.decr.total.data.gib=데이터 복호화: %.1f GiB
|
||||
stats.read.accessCount=총 읽기 횟수: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=쓰기: 대기중
|
||||
stats.write.throughput.kibs=쓰기: %.2f kiB/s
|
||||
stats.write.throughput.mibs=쓰기: %.2f MiB/s
|
||||
stats.write.total.data.none=데이터 기록됨: -
|
||||
stats.write.total.data.kib=데이터 쓰기: %.1f kiB
|
||||
stats.write.total.data.mib=데이터 쓰기: %.1f MiB
|
||||
stats.write.total.data.gib=데이터 쓰기: %.1f GiB
|
||||
stats.encr.total.data.none=데이터 암호화: -
|
||||
stats.encr.total.data.kib=데이터 암호화: %.1f kiB
|
||||
stats.encr.total.data.mib=데이터 암호화: %.1f MiB
|
||||
stats.encr.total.data.gib=데이터 암호화: %.1f GiB
|
||||
stats.write.accessCount=총 쓰기 횟수: %d
|
||||
@@ -291,7 +284,6 @@ main.vaultDetail.lockBtn=잠금
|
||||
main.vaultDetail.bytesPerSecondRead=읽기:
|
||||
main.vaultDetail.bytesPerSecondWritten=쓰기:
|
||||
main.vaultDetail.throughput.idle=대기
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Vault 통계
|
||||
### Missing
|
||||
@@ -352,7 +344,7 @@ recoveryKey.display.StorageHints=매우 안전한곳에 보관하십시요. 예
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt="%s"의 복구키를 입력하십시요:
|
||||
recoveryKey.recover.validKey=올바른 복구 키 입니다
|
||||
recoveryKey.recover.correctKey=올바른 복구 키 입니다
|
||||
recoveryKey.printout.heading=Cryptomator 복구 키\n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -117,7 +117,6 @@ hub.register.registerBtn=Apstiprināt
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
## Failure
|
||||
@@ -205,7 +204,6 @@ main.vaultDetail.revealBtn=Atklāt disku
|
||||
main.vaultDetail.lockBtn=Aizslēgt
|
||||
main.vaultDetail.bytesPerSecondRead=Nolasīts:
|
||||
main.vaultDetail.throughput.idle=dīkstāvē
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator šajā ceļā nevarēja atrast glabātuvi.
|
||||
@@ -255,7 +253,7 @@ recoveryKey.display.StorageHints=Glabājiet to drošā vietā, piemēram:\n
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt=Ievadiet "%s" atjaunošanas atslēgu:
|
||||
recoveryKey.recover.validKey=Šī ir derīga atjaunošanas atslēga
|
||||
recoveryKey.recover.correctKey=Šī ir derīga atjaunošanas atslēga
|
||||
recoveryKey.printout.heading=Cryptomator atjaunošanas atslēga\n"%s" \n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Atiestatīt
|
||||
|
||||
@@ -39,7 +39,6 @@ hub.register.registerBtn=Потврди
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
## Failure
|
||||
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=Under navngivingsprosessen oppsto det en feilmeld
|
||||
hub.unauthorized.message=Ingen tilgang
|
||||
hub.unauthorized.description=Enheten din har ikke blitt autorisert til å få tilgang til dette hvelvet ennå. Spør hvelveieren om å tillate det.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Lisensen overskredet
|
||||
hub.licenseExceeded.description=Cryptomator Hub har gitt tilgang til flere brukere enn lisensen dens tillater. Vennligst kontakt Hub-administratoren din for å få oppgradert lisensen eller få en hvelv-administrator til å fjerne brukere fra hvelv.
|
||||
|
||||
hub.invalidLicense.message=Hub-lisens er ugyldig
|
||||
hub.invalidLicense.description=Cryptomator Hub instansen din har en ugyldig lisens. Vennligst informer en Hub-administrator om å oppgradere eller fornye lisensen.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -277,6 +276,7 @@ preferences.interface.showTrayIcon=Vis verktøykasseikon (krever omstart)
|
||||
preferences.volume=Virtuell enhet
|
||||
preferences.volume.type=Volumtype (krever omstart)
|
||||
preferences.volume.type.automatic=Automatisk
|
||||
preferences.volume.docsTooltip=Åpne dokumentasjonen for å lære mer om de forskjellige volumtypene.
|
||||
preferences.volume.tcp.port=TCP Port
|
||||
preferences.volume.supportedFeatures=Valgt volumtype støtter følgende funksjoner:
|
||||
preferences.volume.feature.mountAuto=Valg av automatisk monteringspunkt
|
||||
@@ -306,27 +306,27 @@ stats.title=Statistikk for %s
|
||||
stats.cacheHitRate=Treffrate på hurtigminnet
|
||||
## Read
|
||||
stats.read.throughput.idle=Les: inaktiv
|
||||
stats.read.throughput.kibs=Lest: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Lest: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Lest: %.2f MiB/s
|
||||
stats.read.total.data.none=Data lest: -
|
||||
stats.read.total.data.kib=Data lest: %.1f kiB
|
||||
stats.read.total.data.kib=Data lest: %.1f KiB
|
||||
stats.read.total.data.mib=Data lest: %.1f MiB
|
||||
stats.read.total.data.gib=Data lest: %.1f GiB
|
||||
stats.decr.total.data.none=Data dekryptert: -
|
||||
stats.decr.total.data.kib=Data dekryptert: %.1f kiB
|
||||
stats.decr.total.data.kib=Data dekryptert: %.1f KiB
|
||||
stats.decr.total.data.mib=Data dekryptert: %.1f MiB
|
||||
stats.decr.total.data.gib=Data dekryptert: %.1f GiB
|
||||
stats.read.accessCount=Lesninger totalt: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Skrive: inaktiv
|
||||
stats.write.throughput.kibs=Skriver: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Skriver: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Skriver: %.2f MiB/s
|
||||
stats.write.total.data.none=Data skrevet: -
|
||||
stats.write.total.data.kib=Data skrevet: %.1f kiB
|
||||
stats.write.total.data.kib=Data skrevet: %.1f KiB
|
||||
stats.write.total.data.mib=Data skrevet: %.1f MiB
|
||||
stats.write.total.data.gib=Data skrevet: %.1f GiB
|
||||
stats.encr.total.data.none=Data kryptert: -
|
||||
stats.encr.total.data.kib=Data kryptert: %.1f kiB
|
||||
stats.encr.total.data.kib=Data kryptert: %.1f KiB
|
||||
stats.encr.total.data.mib=Data kryptert: %.1f MiB
|
||||
stats.encr.total.data.gib=Data kryptert: %.1f GiB
|
||||
stats.write.accessCount=Skrivninger totalt: %d
|
||||
@@ -369,7 +369,7 @@ main.vaultDetail.lockBtn=Lås
|
||||
main.vaultDetail.bytesPerSecondRead=Lesehastighet:
|
||||
main.vaultDetail.bytesPerSecondWritten=Skriv:
|
||||
main.vaultDetail.throughput.idle=inaktiv
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Hvelvstatistikk
|
||||
main.vaultDetail.locateEncryptedFileBtn=Finn kryptert fil
|
||||
@@ -445,7 +445,9 @@ recoveryKey.display.StorageHints=Oppbevar den et veldig sikkert sted, f.eks. ved
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Nullstill passordet
|
||||
recoveryKey.recover.prompt=Skriv inn gjenopprettingsnøkkelen for "%s":
|
||||
recoveryKey.recover.validKey=Dette er en gyldig gjenopprettingsnøkkel
|
||||
recoveryKey.recover.correctKey=Gjenopprettingsnøkkelen er gyldig
|
||||
recoveryKey.recover.wrongKey=Gjenopprettingsnøkkelen tilhører et annet hvelv
|
||||
recoveryKey.recover.invalidKey=Gjennopprettingsnøkkelen er ugyldig
|
||||
recoveryKey.printout.heading=Cryptomator-gjenopprettingsnøkkel\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Nullstill
|
||||
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=Er is een fout in het naamproces geworpen. Kijk i
|
||||
hub.unauthorized.message=Toegang geweigerd
|
||||
hub.unauthorized.description=Uw apparaat is nog niet gemachtigd om toegang te krijgen tot deze kluis. Vraag de eigenaar van de kluis om toestemming te geven.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licentie vervallen
|
||||
hub.licenseExceeded.description=Cryptomator Hub heeft toegang gegeven aan meer gebruikers dan er licentievergunningen zijn. Neem contact op met uw Hub beheerder om de licentie of een kluisbeheerder te upgraden om gebruikers uit kluizen te verwijderen.
|
||||
|
||||
hub.invalidLicense.message=Hub Licentie ongeldig
|
||||
hub.invalidLicense.description=Uw Cryptomator Hub installatie heeft een ongeldige licentie. Informeer een Hub administrator om de licentie te upgraden of te verlengen.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -277,6 +276,7 @@ preferences.interface.showTrayIcon=Pictogram in systeemvak weergeven (herstart v
|
||||
preferences.volume=Virtuele schijf
|
||||
preferences.volume.type=Type Volume (herstart vereist)
|
||||
preferences.volume.type.automatic=Automatisch
|
||||
preferences.volume.docsTooltip=Open de documentatie om meer te weten te komen over de verschillende volume types.
|
||||
preferences.volume.tcp.port=TCP-poort
|
||||
preferences.volume.supportedFeatures=Het gekozen volume type ondersteunt de volgende functies:
|
||||
preferences.volume.feature.mountAuto=Automatische koppelpunt selectie
|
||||
@@ -306,27 +306,27 @@ stats.title=Statistieken voor %s
|
||||
stats.cacheHitRate=Succespercentage van cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Lezen: inactief
|
||||
stats.read.throughput.kibs=Lezen: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Lezen: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Lezen: %.2f MiB/s
|
||||
stats.read.total.data.none=Gegevens gelezen: -
|
||||
stats.read.total.data.kib=Gegevens gelezen: %.1f kiB
|
||||
stats.read.total.data.kib=Gegevens gelezen: %.1f KiB
|
||||
stats.read.total.data.mib=Gegevens gelezen: %.1f MiB
|
||||
stats.read.total.data.gib=Gegevens gelezen: %.1f GiB
|
||||
stats.decr.total.data.none=Gegevens ontsleuteld: -
|
||||
stats.decr.total.data.kib=Gegevens ontsleuteld: %.1f kiB
|
||||
stats.decr.total.data.kib=Gegevens gedecodeerd: %.1f KiB
|
||||
stats.decr.total.data.mib=Gegevens ontsleuteld: %.1f MiB
|
||||
stats.decr.total.data.gib=Gegevens ontsleuteld: %.1f GiB
|
||||
stats.read.accessCount=Totaal gelezen: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Schrijven: inactief
|
||||
stats.write.throughput.kibs=Schrijven: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Schrijf: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Schrijven: %.2f MiB/s
|
||||
stats.write.total.data.none=Gegevens geschreven: -
|
||||
stats.write.total.data.kib=Gegevens geschreven: %.1f kiB
|
||||
stats.write.total.data.kib=Gegevens geschreven: %.1f KiB
|
||||
stats.write.total.data.mib=Gegevens geschreven: %.1f MiB
|
||||
stats.write.total.data.gib=Gegevens geschreven: %.1f GiB
|
||||
stats.encr.total.data.none=Gegevens versleuteld: -
|
||||
stats.encr.total.data.kib=Gegevens versleuteld: %.1f kiB
|
||||
stats.encr.total.data.kib=Gegevens versleuteld: %.1f KiB
|
||||
stats.encr.total.data.mib=Gegevens versleuteld: %.1f MiB
|
||||
stats.encr.total.data.gib=Gegevens versleuteld: %.1f GiB
|
||||
stats.write.accessCount=Totaal geschreven: %d
|
||||
@@ -369,7 +369,7 @@ main.vaultDetail.lockBtn=Vergrendel
|
||||
main.vaultDetail.bytesPerSecondRead=Lezen:
|
||||
main.vaultDetail.bytesPerSecondWritten=Schrijven:
|
||||
main.vaultDetail.throughput.idle=inactief
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Kluisstatistieken
|
||||
main.vaultDetail.locateEncryptedFileBtn=Zoek versleuteld bestand
|
||||
@@ -445,7 +445,9 @@ recoveryKey.display.StorageHints=Bewaar het op een veilige plek, bv:\n • Bewaa
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Wachtwoord resetten
|
||||
recoveryKey.recover.prompt=Voer uw herstelsleutel in voor "%s":
|
||||
recoveryKey.recover.validKey=Dit is een geldige herstelsleutel
|
||||
recoveryKey.recover.correctKey=Deze herstelsleutel is geldig
|
||||
recoveryKey.recover.wrongKey=Deze herstelsleutel behoort tot een andere kluis
|
||||
recoveryKey.recover.invalidKey=Deze herstelsleutel is niet geldig
|
||||
recoveryKey.printout.heading=Cryptomator herstelsleutel\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Resetten
|
||||
|
||||
@@ -104,7 +104,6 @@ unlock.success.revealBtn=Gjer eininga synleg
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
## Failure
|
||||
@@ -200,7 +199,6 @@ main.vaultDetail.revealBtn=Gjer eininga synleg
|
||||
main.vaultDetail.lockBtn=Lås
|
||||
main.vaultDetail.bytesPerSecondRead=Lesafart:
|
||||
main.vaultDetail.throughput.idle=inaktiv
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator kunne ikkje finna ein kvelv på denne søkastien.
|
||||
@@ -255,7 +253,6 @@ recoveryKey.display.StorageHints=Ta vare på han ein veldig sikker stad, t.d. ve
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt=Skriv inn gjenopprettingsnøkkelen for "%s":
|
||||
recoveryKey.recover.validKey=Dette er ein gyldig gjenopprettingsnøkkel
|
||||
recoveryKey.printout.heading=Cryptomator-gjenopprettingsnøkkel\n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -106,7 +106,6 @@ unlock.success.revealBtn=ਡਰਾਇਵ ਦਿਖਾਓ
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.description=ਬਾਕੀ ਰਹਿੰਦੀਆਂ ਕਾਰਵਾਈਆਂ ਜਾਂ ਫ਼ਾਈਲਾਂ ਖੁੱਲ੍ਹਣ ਕਰਕੇ "%s" ਲਾਕ ਕਰਨ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ। ਤੁਸੀਂ ਇਸ ਵਾਲਟ ਨੂੰ ਧੱਕੇ ਨਾਲ ਲਾਕ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ I/O ਵਿੱਚ ਰੁਕਾਵਟ ਪਾਉਣ ਨਾਲ ਨਾ-ਸੰਭਾਲਿਆ ਡਾਟਾ ਖਤਮ ਹੋ ਜਾ ਸਕਦਾ ਹੈ।
|
||||
@@ -176,27 +175,21 @@ stats.title=%s ਲਈ ਅੰਕੜੇ
|
||||
stats.cacheHitRate=ਕੈਸ਼ ਹਿੱਟ ਦਰ
|
||||
## Read
|
||||
stats.read.throughput.idle=ਪੜ੍ਹਨ: ਵੇਹਲਾ
|
||||
stats.read.throughput.kibs=ਪੜ੍ਹਨ: %.2f kiB/s
|
||||
stats.read.throughput.mibs=ਪੜ੍ਹਨ: %.2f MiB/s
|
||||
stats.read.total.data.none=ਡਾਟਾ ਪੜ੍ਹਨ: -
|
||||
stats.read.total.data.kib=ਡਾਟਾ ਪੜ੍ਹਨ: %.1f kiB
|
||||
stats.read.total.data.mib=ਡਾਟਾ ਪੜ੍ਹਨ: %.1f MiB
|
||||
stats.read.total.data.gib=ਡਾਟਾ ਪੜ੍ਹਨ: %.1f GiB
|
||||
stats.decr.total.data.none=ਡਾਟਾ ਡਿ-ਕ੍ਰਿਪਟ ਕੀਤਾ: -
|
||||
stats.decr.total.data.kib=ਡਾਟਾ ਡਿ-ਕ੍ਰਿਪਟ ਕੀਤਾ: %.1f kiB
|
||||
stats.decr.total.data.mib=ਡਾਟਾ ਡਿ-ਕ੍ਰਿਪਟ ਕੀਤਾ: %.1f MiB
|
||||
stats.decr.total.data.gib=ਡਾਟਾ ਡਿ-ਕ੍ਰਿਪਟ ਕੀਤਾ: %.1f GiB
|
||||
stats.read.accessCount=ਕੁੱਲ ਪੜ੍ਹੇ: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=ਲਿਖੇ: ਵੇਹਲ
|
||||
stats.write.throughput.kibs=ਲਿਖੇ: %.2f kiB/s
|
||||
stats.write.throughput.mibs=ਲਿਖੇ: %.2f MiB/s
|
||||
stats.write.total.data.none=ਲਿਖਿਆ ਡਾਟਾ: -
|
||||
stats.write.total.data.kib=ਡਾਟਾ ਲਿਖਿਆ: %.1f kiB
|
||||
stats.write.total.data.mib=ਡਾਟਾ ਲਿਖਿਆ: %.1f MiB
|
||||
stats.write.total.data.gib=ਡਾਟਾ ਲਿਖਿਆ: %.1f GiB
|
||||
stats.encr.total.data.none=ਡਾਟਾ ਇੰਕ੍ਰਿਪਟ ਕੀਤਾ: -
|
||||
stats.encr.total.data.kib=ਡਾਟਾ ਇੰਕ੍ਰਿਪਟ ਕੀਤਾ: %.1f kiB
|
||||
stats.encr.total.data.mib=ਡਾਟਾ ਇੰਕ੍ਰਿਪਟ ਕੀਤਾ: %.1f MiB
|
||||
stats.encr.total.data.gib=ਡਾਟਾ ਇੰਕ੍ਰਿਪਟ ਕੀਤਾ: %.1f GiB
|
||||
stats.write.accessCount=ਕੁੱਲ ਲਿਖੇ: %d
|
||||
@@ -234,7 +227,6 @@ main.vaultDetail.lockBtn=ਲਾਕ ਕਰੋ
|
||||
main.vaultDetail.bytesPerSecondRead=ਪੜ੍ਹਨ:
|
||||
main.vaultDetail.bytesPerSecondWritten=ਲਿਖਣ:
|
||||
main.vaultDetail.throughput.idle=ਵੇਹਲਾ
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=ਵਾਲਟ ਅੰਕੜੇ
|
||||
### Missing
|
||||
@@ -292,7 +284,7 @@ recoveryKey.display.StorageHints=ਇਸ ਨੂੰ ਕਿਸੇ ਥਾਂ ਬਹ
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt='%s" ਲਈ ਆਪਣਾ ਰਿਕਵਰੀ ਕੁੰਜੀ ਦਿਓ:
|
||||
recoveryKey.recover.validKey=ਇਹ ਜਾਇਜ਼ ਰਿਕਰਵੀ ਕੁੰਜੀ ਹੈ
|
||||
recoveryKey.recover.correctKey=ਇਹ ਜਾਇਜ਼ ਰਿਕਰਵੀ ਕੁੰਜੀ ਹੈ
|
||||
recoveryKey.printout.heading=Cryptomator ਰਿਕਵਰੀ ਕੁੰਜੀ\n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -124,7 +124,7 @@ unlock.success.rememberChoice=Zapamiętaj wybór, nie pokazuj tego ponownie
|
||||
unlock.success.revealBtn=Pokaż Dysk
|
||||
## Failure
|
||||
unlock.error.customPath.message=Nie można zamontować sejfu na niestandardowej ścieżce
|
||||
unlock.error.customPath.description.notSupported=Jeśli chcesz nadal używać niestandardowej ścieżki, przejdź do preferencji i wybierz typ woluminu, który ją obsługuje. W przeciwnym razie przejdź do opcji sejfu i wybierz obsługiwany punkt montowania.
|
||||
unlock.error.customPath.description.notSupported=Jeśli chcesz nadal używać niestandardowej ścieżki, przejdź do preferencji i wybierz typ udziału, który ją obsługuje. W przeciwnym razie przejdź do opcji sejfu i wybierz obsługiwany punkt montowania.
|
||||
unlock.error.customPath.description.notExists=Niestandardowa ścieżka montowania nie istnieje. Stwórz ją w lokalnym systemie plików lub zmień ją w opcjach sejfu.
|
||||
unlock.error.customPath.description.generic=Wybrałeś niestandardową ścieżkę montowania dla tego sejfu, ale użycie jej nie powiodło się z wiadomością: %s
|
||||
## Hub
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=Wystąpił błąd podczas ustawiania nazwy. Aby u
|
||||
hub.unauthorized.message=Brak dostępu
|
||||
hub.unauthorized.description=Twoje urządzenie nie zostało jeszcze upoważnione do dostępu do tego sejfu. Poproś właściciela sejfu o autoryzację.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Przekroczono licencję
|
||||
hub.licenseExceeded.description=Cryptomator Hub dał dostęp większej ilości użytkowników, niż pozwala na to licencja. Proszę skontaktować się z administratorem Hub, aby ulepszyć licencję lub z administratorem sejfu, aby usunąć użytkowników z sejfu.
|
||||
|
||||
hub.invalidLicense.message=Nieważna licencja Huba
|
||||
hub.invalidLicense.description=Twoja instancja Hub ma nieprawidłową licencję. Poproś administratora Hub o uaktualnienie lub odnowienie licencji.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -275,10 +274,11 @@ preferences.interface.showMinimizeButton=Pokaż przycisk minimalizacji
|
||||
preferences.interface.showTrayIcon=Pokaż ikonę zasobnika (wymaga restartu)
|
||||
## Volume
|
||||
preferences.volume=Dysk wirtualny
|
||||
preferences.volume.type=Typ woluminu (wymaga ponownego uruchomienia)
|
||||
preferences.volume.type=Typ udziału (wymaga ponownego uruchomienia)
|
||||
preferences.volume.type.automatic=Automatyczny
|
||||
preferences.volume.docsTooltip=Sprawdź dokumentację, aby dowiedzieć się więcej o różnych typach udziałów.
|
||||
preferences.volume.tcp.port=Port TCP
|
||||
preferences.volume.supportedFeatures=Wybrany typ woluminu obsługuje następujące funkcje:
|
||||
preferences.volume.supportedFeatures=Wybrany typ udziału obsługuje następujące funkcje:
|
||||
preferences.volume.feature.mountAuto=Automatyczny wybór punktu montowania
|
||||
preferences.volume.feature.mountToDir=Niestandardowy katalog jako punkt montowania
|
||||
preferences.volume.feature.mountToDriveLetter=Litera dysku jako punkt montowania
|
||||
@@ -306,27 +306,21 @@ stats.title=Statystyki dla %s
|
||||
stats.cacheHitRate=Trafność cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Odczyt: bezczynny
|
||||
stats.read.throughput.kibs=Odczyt: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Odczyt: %.2f kiB/s
|
||||
stats.read.total.data.none=Dane odczytywane: -
|
||||
stats.read.total.data.kib=Odczyt danych: %.1f kiB
|
||||
stats.read.total.data.mib=Odczyt danych: %.1f kiB
|
||||
stats.read.total.data.gib=Odczyt danych: %.1f kiB
|
||||
stats.decr.total.data.none=Dane odszyfrowane: -
|
||||
stats.decr.total.data.kib=Dane odszyfrowane: %.1f kiB
|
||||
stats.decr.total.data.mib=Dane odszyfrowane: %.1f kiB
|
||||
stats.decr.total.data.gib=Dane odszyfrowane: %.1f kiB
|
||||
stats.read.accessCount=Całkowite odczyty: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Zapis: bezczynny
|
||||
stats.write.throughput.kibs=Zapis: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Zapis: %.2f kiB/s
|
||||
stats.write.total.data.none=Zapisane dane: -
|
||||
stats.write.total.data.kib=Zapisane dane: %.1f kiB
|
||||
stats.write.total.data.mib=Zapisane dane: %.1f MiB
|
||||
stats.write.total.data.gib=Zapisane dane: %.1f kiB
|
||||
stats.encr.total.data.none=Dane odszyfrowane: -
|
||||
stats.encr.total.data.kib=Dane odszyfrowane: %.1f kiB
|
||||
stats.encr.total.data.mib=Dane odszyfrowane: %.1f kiB
|
||||
stats.encr.total.data.gib=Dane odszyfrowane: %.1f kiB
|
||||
stats.write.accessCount=Całkowity zapis: %d
|
||||
@@ -369,9 +363,12 @@ main.vaultDetail.lockBtn=Blokuj
|
||||
main.vaultDetail.bytesPerSecondRead=Odczyt:
|
||||
main.vaultDetail.bytesPerSecondWritten=Zapisz:
|
||||
main.vaultDetail.throughput.idle=bezczynny
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Statystyki sejfu
|
||||
main.vaultDetail.locateEncryptedFileBtn=Zlokalizuj zaszyfrowany plik
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=Wybierz plik z sejfu, aby zlokalizować jego zaszyfrowany odpowiednik
|
||||
main.vaultDetail.encryptedPathsCopied=Ścieżki skopiowane do schowka!
|
||||
main.vaultDetail.filePickerTitle=Wybierz plik wewnątrz sejfu
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator nie mógł znaleźć sejfu w tej lokalizacji.
|
||||
main.vaultDetail.missing.recheck=Ponów próbę
|
||||
@@ -410,7 +407,7 @@ vaultOptions.general.startHealthCheckBtn=Rozpocznij Test Spójności
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Montowanie
|
||||
vaultOptions.mount.info=Opcje zależą od wybranego typu woluminu.
|
||||
vaultOptions.mount.info=Opcje zależą od wybranego typu udziału.
|
||||
vaultOptions.mount.linkToPreferences=Otwórz ustawienia dysku wirtualnego
|
||||
vaultOptions.mount.readonly=Tylko do odczytu
|
||||
vaultOptions.mount.customMountFlags=Własne flagi montowania udziału
|
||||
@@ -441,7 +438,9 @@ recoveryKey.display.StorageHints=Trzymaj go w bezpiecznym miejscu, np.\n • Prz
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Resetuj hasło
|
||||
recoveryKey.recover.prompt=Wprowadź swój klucz odzyskiwania dla "%s":
|
||||
recoveryKey.recover.validKey=To jest prawidłowy klucz odzyskiwania
|
||||
recoveryKey.recover.correctKey=To jest prawidłowy klucz odzyskiwania
|
||||
recoveryKey.recover.wrongKey=Ten klucz należy do innego sejfu
|
||||
recoveryKey.recover.invalidKey=Ten klucz jest nieprawidłowy
|
||||
recoveryKey.printout.heading=Cryptomator - Klucz odzyskiwania "%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Resetuj
|
||||
|
||||
@@ -123,6 +123,7 @@ unlock.success.description="%s" desbloqueado com sucesso! O seu cofre está agor
|
||||
unlock.success.rememberChoice=Lembrar escolha, não mostrar isto novamente
|
||||
unlock.success.revealBtn=Revelar unidade
|
||||
## Failure
|
||||
unlock.error.customPath.message=Não é possível montar o cofre no caminho personalizado
|
||||
## Hub
|
||||
hub.noKeychain.message=Não foi possível aceder à chave do dispositivo
|
||||
hub.noKeychain.description=Para desbloquear os cofres do Hub, é necessária uma chave do dispositivo, que é protegida usando um porta-chaves. Para continuar, ative “%s” e selecione um porta-chaves nas preferências.
|
||||
@@ -150,9 +151,8 @@ hub.registerFailed.description=Houve um erro no processo de nomear. Para mais de
|
||||
hub.unauthorized.message=Acesso negado
|
||||
hub.unauthorized.description=O seu dispositivo ainda não foi autorizado a aceder a este cofre. Peça ao proprietário do cofre para o autorizar.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licença excedida
|
||||
hub.licenseExceeded.description=O Hub do Cryptomator deu acesso a mais utilizadores do que as suas licenças de licença. Entre em contacto com o administrador do Hub para atualizar a licença ou um administrador do cofre para remover utilizadores dos cofres.
|
||||
|
||||
hub.invalidLicense.message=Licença Hub inválida
|
||||
hub.invalidLicense.description=O pedido do seu Cryptomator Hub tem uma licença inválida. Informe um administrador do Hub para atualizar ou renovar a licença.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -294,7 +294,6 @@ main.vaultDetail.accessLocation=O conteúdo do seu cofre está acessível aqui:
|
||||
main.vaultDetail.revealBtn=Revelar unidade
|
||||
main.vaultDetail.lockBtn=Trancar
|
||||
main.vaultDetail.throughput.idle=inativo
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.locateEncryptedFileBtn=Localizar Ficheiro Encriptado
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=Escolha um ficheiro do seu cofre para localizar a sua contraparte encriptada
|
||||
|
||||
@@ -154,9 +154,6 @@ hub.registerFailed.description=Ocorreu um erro no processo de nomeação do disp
|
||||
hub.unauthorized.message=Acesso negado
|
||||
hub.unauthorized.description=Seu dispositivo ainda não foi autorizado a acessar este cofre. Peça ao proprietário ou a um administrador deste cofre para autorizá-lo.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=No. de licenças excedido
|
||||
hub.licenseExceeded.description=O Cryptomator Hub deu acesso a mais usuários do que sua licença de uso permite. Entre em contato com o administrador do seu Cryptomator Hub para ele atualizar o número de licenças ou com um administrador do cofre para remover usuários dos cofres.
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -306,27 +303,21 @@ stats.title=Estatísticas para %s
|
||||
stats.cacheHitRate=Taxa de Utilização do Cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Leitura: ociosa
|
||||
stats.read.throughput.kibs=Leitura: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Leitura: %.2f MiB/s
|
||||
stats.read.total.data.none=Dados lidos: -
|
||||
stats.read.total.data.kib=Dados lidos: %.1f kiB
|
||||
stats.read.total.data.mib=Dados lidos: %.1f MiB
|
||||
stats.read.total.data.gib=Dados lidos: %.1f GiB
|
||||
stats.decr.total.data.none=Dados descriptografados: -
|
||||
stats.decr.total.data.kib=Dados descriptografados: %.1f kiB
|
||||
stats.decr.total.data.mib=Dados descriptografados: %.1f MiB
|
||||
stats.decr.total.data.gib=Dados descriptografados: %.1f GiB
|
||||
stats.read.accessCount=Total de leituras: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Escrita: ociosa
|
||||
stats.write.throughput.kibs=Escrita: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Escrita: %.2f MiB/s
|
||||
stats.write.total.data.none=Dados gravados: -
|
||||
stats.write.total.data.kib=Dados gravados: %.1f kiB
|
||||
stats.write.total.data.mib=Dados gravados: %.1f MiB
|
||||
stats.write.total.data.gib=Dados gravados: %.1f GiB
|
||||
stats.encr.total.data.none=Dados criptografados: -
|
||||
stats.encr.total.data.kib=Dados criptografados: %.1f kiB
|
||||
stats.encr.total.data.mib=Dados criptografados: %.1f MiB
|
||||
stats.encr.total.data.gib=Dados criptografados: %.1f GiB
|
||||
stats.write.accessCount=Total gravado: %d
|
||||
@@ -369,7 +360,6 @@ main.vaultDetail.lockBtn=Bloquear
|
||||
main.vaultDetail.bytesPerSecondRead=Leitura:
|
||||
main.vaultDetail.bytesPerSecondWritten=Escrita:
|
||||
main.vaultDetail.throughput.idle=ocioso
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Estatísticas do Cofre
|
||||
main.vaultDetail.locateEncryptedFileBtn=Localizar Arquivo Criptografado
|
||||
@@ -445,7 +435,7 @@ recoveryKey.display.StorageHints=Mantenha-a em um lugar bem seguro, por exemplo:
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Redefinir Senha
|
||||
recoveryKey.recover.prompt=Digite sua chave de recuperação para "%s":
|
||||
recoveryKey.recover.validKey=Esta é uma chave de recuperação válida
|
||||
recoveryKey.recover.correctKey=Esta é uma chave de recuperação válida
|
||||
recoveryKey.printout.heading=Chave de Recuperação do Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Redefinir
|
||||
|
||||
@@ -123,6 +123,10 @@ unlock.success.description=Deblocat "%s" cu succes! Seiful dvs. este acum accesi
|
||||
unlock.success.rememberChoice=Ține minte alegerea, nu mai arăta asta din nou
|
||||
unlock.success.revealBtn=Dezvăluie partiția
|
||||
## Failure
|
||||
unlock.error.customPath.message=Nu se poate monta seiful în locația alesă
|
||||
unlock.error.customPath.description.notSupported=Dacă doriți să continuați să utilizați locația aleasă, vă rugăm să mergeți la preferințe și să selectați o unitate de stocare suportată. În caz contrar, mergeți la opțiunile seifului și alegeți o locație de montare suportată.
|
||||
unlock.error.customPath.description.notExists=Locația de montare aleasă nu există. Creați-o în sistemul de fișiere local sau schimbați-o din opțiunile seifului.
|
||||
unlock.error.customPath.description.generic=Ați selectat o locație de montare pentru acest seif, dar utilizarea ei a eșuat cu mesajul: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=Cheia dispozitivului nu a putut fi accesată
|
||||
hub.noKeychain.description=Pentru a debloca seifele de tip Hub, este necesară o cheie a dispozitivului, care este securizată prin intermediul unui keychain. Pentru a continua, activați „%s” și selectați un keychain în preferințe.
|
||||
@@ -150,9 +154,6 @@ hub.registerFailed.description=O eroare a fost întâmpinata în procesul de den
|
||||
hub.unauthorized.message=Acces respins
|
||||
hub.unauthorized.description=Dispozitivul dvs. nu a fost autorizat să acceseze acest seif. Solicitați proprietarului seifului să va autorizeze accesul.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Numărul de licențe a fost depășit
|
||||
hub.licenseExceeded.description=Cryptomator Hub a permis accesul la mai mulți utilizatori decât licența permite. Vă rugăm să contactați administratorul Hub-ului dumneavoastră pentru a actualiza licența sau un administrator de seif pentru a elimina utilizatorii din seifuri.
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -271,7 +272,10 @@ preferences.interface.showMinimizeButton=Arată butonul de minimizare
|
||||
preferences.interface.showTrayIcon=Arată tray icon (necesită repornire)
|
||||
## Volume
|
||||
preferences.volume=Unitate virtuală
|
||||
preferences.volume.type=Tip unitate de stocare (necesită repornire)
|
||||
preferences.volume.type.automatic=Automat
|
||||
preferences.volume.docsTooltip=Deschideți documentația pentru a afla mai multe despre tipurile diferite de unități de stocare.
|
||||
preferences.volume.tcp.port=Portul TCP
|
||||
## Updates
|
||||
preferences.updates=Actualizări
|
||||
preferences.updates.currentVersion=Versiunea actuală: %s
|
||||
@@ -294,27 +298,21 @@ stats.title=Statistici pentru %s
|
||||
stats.cacheHitRate=Rata de control cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Citire: inactiv
|
||||
stats.read.throughput.kibs=Citire: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Citire: %.2f MiB/s
|
||||
stats.read.total.data.none=Date citite: -
|
||||
stats.read.total.data.kib=Date citite: %.1f kiB
|
||||
stats.read.total.data.mib=Date citite: %.1f MiB
|
||||
stats.read.total.data.gib=Date citite: %.1f GiB
|
||||
stats.decr.total.data.none=Date decriptate: -
|
||||
stats.decr.total.data.kib=Date decriptate: %.1f kiB
|
||||
stats.decr.total.data.mib=Date decriptate: %.1f MiB
|
||||
stats.decr.total.data.gib=Date decriptate: %.1f GiB
|
||||
stats.read.accessCount=Total citit: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Scriere: inactiv
|
||||
stats.write.throughput.kibs=Scrie: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Scrie: %.2f MiB/s
|
||||
stats.write.total.data.none=Date scrise: -
|
||||
stats.write.total.data.kib=Date scrise: %.1f kiB
|
||||
stats.write.total.data.mib=Date scrise: %.1f MiB
|
||||
stats.write.total.data.gib=Date scrise: %.1f GiB
|
||||
stats.encr.total.data.none=Date criptate: -
|
||||
stats.encr.total.data.kib=Date criptate: %.1f kiB
|
||||
stats.encr.total.data.mib=Date criptate: %.1f MiB
|
||||
stats.encr.total.data.gib=Date criptate: %.1f GiB
|
||||
stats.write.accessCount=Total scrieri: %d
|
||||
@@ -356,7 +354,6 @@ main.vaultDetail.lockBtn=Blocaţi
|
||||
main.vaultDetail.bytesPerSecondRead=Citire:
|
||||
main.vaultDetail.bytesPerSecondWritten=Scriere:
|
||||
main.vaultDetail.throughput.idle=inactiv
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Statistici de seif
|
||||
### Missing
|
||||
@@ -424,7 +421,9 @@ recoveryKey.display.StorageHints=Păstrați cheia de recuperare undeva foarte si
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Resetează Parola
|
||||
recoveryKey.recover.prompt=Introduceți cheia de recuperare pentru "%s:
|
||||
recoveryKey.recover.validKey=Aceasta este o cheie de recuperare validă
|
||||
recoveryKey.recover.correctKey=Cheia de recuperare este validă
|
||||
recoveryKey.recover.wrongKey=Cheia de recuperare aparţine unui alt seif
|
||||
recoveryKey.recover.invalidKey=Cheia de recuperare nu este validă
|
||||
recoveryKey.printout.heading=Cheia de recuperare Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Resetează
|
||||
|
||||
@@ -123,7 +123,7 @@ unlock.success.description=Разблокировка "%s" успешно вып
|
||||
unlock.success.rememberChoice=Запомнить выбор и больше не спрашивать
|
||||
unlock.success.revealBtn=Показать диск
|
||||
## Failure
|
||||
unlock.error.customPath.message=Невозможно смонтировать хранилище на указанный путь
|
||||
unlock.error.customPath.message=Невозможно смонтировать хранилище по указанному пути
|
||||
unlock.error.customPath.description.notSupported=Если вы хотите продолжить использование пользовательского пути, перейдите в настройки и выберите тип тома, который его поддерживает. В противном случае, перейдите в настройки хранилища и выберите поддерживаемую точку монтирования.
|
||||
unlock.error.customPath.description.notExists=Пользовательский путь монтирования не существует. Либо создайте его в локальной файловой системе, либо измените в параметрах хранилища.
|
||||
unlock.error.customPath.description.generic=Вы выбрали свой путь монтирования этого хранилища, но его нельзя использовать: %s
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=Ошибка присвоения имени. Б
|
||||
hub.unauthorized.message=Нет доступа
|
||||
hub.unauthorized.description=Устройство ещё не авторизовано для доступа к этому хранилищу. Попросите владельца хранилища разрешить его.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Срок действия лицензии истёк
|
||||
hub.licenseExceeded.description=Cryptomator Hub предоставил доступ большему количеству пользователей, чем разрешено лицензией. Обратитесь к администратору Hub для обновления лицензии или администратора хранилища, чтобы удалить пользователей из хранилищ.
|
||||
|
||||
hub.invalidLicense.message=Лицензия хаба недействительна
|
||||
hub.invalidLicense.description=У вашего хаба Cryptomator неверная лицензия. Попросите администратора хаба обновить или продлить лицензию.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -277,12 +276,13 @@ preferences.interface.showTrayIcon=Показывать значок в пане
|
||||
preferences.volume=Виртуальный диск
|
||||
preferences.volume.type=Тип тома (требуется перезапуск)
|
||||
preferences.volume.type.automatic=Автоматически
|
||||
preferences.volume.docsTooltip=Откройте документацию, чтобы узнать больше о различных типах томов.
|
||||
preferences.volume.tcp.port=Порт TCP
|
||||
preferences.volume.supportedFeatures=Выбранный тип тома поддерживает следующие функции:
|
||||
preferences.volume.feature.mountAuto=Выбор точки автомонтирования
|
||||
preferences.volume.feature.mountToDir=Своя папка как точка монтирования
|
||||
preferences.volume.feature.mountToDriveLetter=Буква диска как точка монтирования
|
||||
preferences.volume.feature.mountFlags=Настройки монтирования
|
||||
preferences.volume.feature.mountFlags=Параметры монтирования
|
||||
preferences.volume.feature.readOnly=Монтирование только для чтения
|
||||
## Updates
|
||||
preferences.updates=Обновления
|
||||
@@ -445,7 +445,9 @@ recoveryKey.display.StorageHints=Храните его в надёжном ме
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Сброс пароля
|
||||
recoveryKey.recover.prompt=Введите ключ восстановления для "%s":
|
||||
recoveryKey.recover.validKey=Это действительный ключ восстановления
|
||||
recoveryKey.recover.correctKey=Это действительный ключ восстановления
|
||||
recoveryKey.recover.wrongKey=Этот ключ восстановления от другого хранилища
|
||||
recoveryKey.recover.invalidKey=Этот ключ восстановления недействителен
|
||||
recoveryKey.printout.heading=Ключ восстановления Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Сброс
|
||||
@@ -468,7 +470,7 @@ passwordStrength.messageLabel.4=Очень сильный
|
||||
# Quit
|
||||
quit.title=Выйти из приложения
|
||||
quit.message=Есть открытые хранилища
|
||||
quit.description=Пожалуйста, подтвердите, что вы хотите выйти. Криптоматор корректно заблокирует все разблокированные хранилища для предотвращения потери данных.
|
||||
quit.description=Подтвердите, что вы хотите выйти. Cryptomator корректно заблокирует все разблокированные хранилища для предотвращения потери данных.
|
||||
quit.lockAndQuitBtn=Заблокировать и выйти
|
||||
|
||||
# Forced Quit
|
||||
|
||||
@@ -54,7 +54,6 @@ unlock.unlockBtn=අගුළුහරින්න
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
## Failure
|
||||
|
||||
@@ -123,6 +123,8 @@ unlock.success.description=Odomknutie "%s" úspešné! Váš trezor je už prís
|
||||
unlock.success.rememberChoice=Zapamätať voľbu, už viac nezobrazovať
|
||||
unlock.success.revealBtn=Odkryť disk
|
||||
## Failure
|
||||
unlock.error.customPath.message=Nie je možné namapovať trezor na uživateĺskej ceste
|
||||
unlock.error.customPath.description.generic=Vybrali ste voliteľnú cestu pripojenia pre tento trezor, ale použiť ho zlyhalo so správou: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=Nemôžem pristúpiť ku kľúču zariadenia
|
||||
hub.noKeychain.description=V poradí odomknutia Hub trezorov, je požadovaný kľúč zariadenia ktorý je zabezpečený použitím keychain. K vykonaniu povoľte "%s" a zvoľte keychain v nastaveniach.
|
||||
@@ -150,9 +152,8 @@ hub.registerFailed.description=Vznikla chyba počas pomenovávacieho procesu. Pr
|
||||
hub.unauthorized.message=Prístup zamietnutý
|
||||
hub.unauthorized.description=Vaše zaradenie zatiaľ ešte nebolo autorizované pre pristúp tohto trezora. Požiadajte majiteľa trezora o autorizovanie.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licencia prekročená
|
||||
hub.licenseExceeded.description=Cryptomator Hub má prístup pre viac užívateľov ako povoľuje licencia. Prosím kontaktujte svojho Hub administrátora pre aktualizovanie licencie alebo admina trezoru pre odstránenie užívateľov z trezorov.
|
||||
|
||||
hub.invalidLicense.message=Neplatná licencia Hub-u
|
||||
hub.invalidLicense.description=Vaša inštancia Cryptomator Hub-u má neplatnú licenciu. Prosím informujte Hub administrátora pre aktualizáciu alebo obnovenie licencie.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -271,8 +272,14 @@ preferences.interface.showMinimizeButton=Ukáž minimalizačné tlačidlo
|
||||
preferences.interface.showTrayIcon=Ukázať ikonu na sytémovej lište (vyžaduje reštart)
|
||||
## Volume
|
||||
preferences.volume=Virtuálny disk
|
||||
preferences.volume.type=Typ oddielu (vyžaduje reštart)
|
||||
preferences.volume.type.automatic=Automaticky
|
||||
preferences.volume.docsTooltip=Pre viac informácií ohľadne iných typov volume otvorte dokumentáciu.
|
||||
preferences.volume.tcp.port=TCP port
|
||||
preferences.volume.supportedFeatures=Zvolený typ oddielu podporuje nasledovné funkcie:
|
||||
preferences.volume.feature.mountAuto=Automatická voľba bodu pripojenia
|
||||
preferences.volume.feature.mountToDir=Voliteľný adresár, ako bod pripojenia
|
||||
preferences.volume.feature.mountToDriveLetter=Písmeno disku, ako bod pripojenia
|
||||
preferences.volume.feature.mountFlags=Vlastné parametre mapovania
|
||||
preferences.volume.feature.readOnly=Mapovanie len na čítanie
|
||||
## Updates
|
||||
@@ -297,14 +304,14 @@ stats.title=Štatistiky pre %s
|
||||
stats.cacheHitRate=Pomer nakešovaných záznamov
|
||||
## Read
|
||||
stats.read.throughput.idle=Čítanie: nečinnosť
|
||||
stats.read.throughput.kibs=Čítanie: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Čítanie: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Čítanie: %.2f MiB/s
|
||||
stats.read.total.data.none=Čítanie dát: -
|
||||
stats.read.total.data.kib=Čítanie dát: %.1f kiB
|
||||
stats.read.total.data.kib=Čítanie dát: %.1f KiB
|
||||
stats.read.total.data.mib=Čítanie dát: %.1f MiB
|
||||
stats.read.total.data.gib=Čítanie dát: %.1f GiB
|
||||
stats.decr.total.data.none=Odkódované dáta: -
|
||||
stats.decr.total.data.kib=Odkódované dáta: %.1f kiB
|
||||
stats.decr.total.data.kib=Odkódované dáta: %.1f KiB
|
||||
stats.decr.total.data.mib=Odkódované dáta: %.1f MiB
|
||||
stats.decr.total.data.gib=Odkódované dáta: %.1f GiB
|
||||
stats.read.accessCount=Spolu načítané: %d
|
||||
@@ -313,11 +320,11 @@ stats.write.throughput.idle=Zápis: nečinnosť
|
||||
stats.write.throughput.kibs=Zápis: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Zápis: %.2f MiB/s
|
||||
stats.write.total.data.none=štatistika.zápis.celkové.dáta.nič
|
||||
stats.write.total.data.kib=Zapísaných dát: %.1f kiB
|
||||
stats.write.total.data.kib=Zapísaných dát: %.1f KiB
|
||||
stats.write.total.data.mib=Zapísaných dát: %.1f MiB
|
||||
stats.write.total.data.gib=Zapísaných dát: %.1f GiB
|
||||
stats.encr.total.data.none=Zapísaných dát: -
|
||||
stats.encr.total.data.kib=Odkódovaných dát: %.1f kiB
|
||||
stats.encr.total.data.kib=Odkódované dáta: %.1f KiB
|
||||
stats.encr.total.data.mib=Odkódovaných dát: %.1f MiB
|
||||
stats.encr.total.data.gib=Odkódovaných dát: %.1f GiB
|
||||
stats.write.accessCount=Suma zápisov: %d
|
||||
@@ -360,7 +367,7 @@ main.vaultDetail.lockBtn=Uzamknúť
|
||||
main.vaultDetail.bytesPerSecondRead=Čítanie:
|
||||
main.vaultDetail.bytesPerSecondWritten=Zápis:
|
||||
main.vaultDetail.throughput.idle=nečinný
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Štatistiky trezora
|
||||
main.vaultDetail.locateEncryptedFileBtn=Lokalizujte zašifrovaný súbor
|
||||
@@ -436,7 +443,9 @@ recoveryKey.display.StorageHints=Uchovávajte ho na bezpečnom mieste, ako napr.
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Resetovanie hesla
|
||||
recoveryKey.recover.prompt=Zadajte Váš kľúč obnovy pre "%s":
|
||||
recoveryKey.recover.validKey=Toto je platný kľúč obnovy
|
||||
recoveryKey.recover.correctKey=Toto je platný kľúč obnovy
|
||||
recoveryKey.recover.wrongKey=Tento kľúč obnovy patrí inému trezoru
|
||||
recoveryKey.recover.invalidKey=Toto je neplatný kľúč obnovy
|
||||
recoveryKey.printout.heading=Kľúč obnovy Cryptomator-a\n "%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Resetovať
|
||||
|
||||
@@ -54,7 +54,6 @@ error.technicalDetails=Podrobnosti:
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=Poizkusi znova
|
||||
@@ -79,6 +78,7 @@ lock.forced.retryBtn=Poizkusi znova
|
||||
## General
|
||||
## Interface
|
||||
## Volume
|
||||
preferences.volume.docsTooltip=Informacije o različnih podatkovnih nosilcih najdete v navodilih.
|
||||
## Updates
|
||||
## Contribution
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
@@ -117,6 +117,9 @@ main.vaultDetail.locateEncryptedFileBtn=Poišči šifrirano datoteko
|
||||
## Display Recovery Key
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.correctKey=Obnovitveni ključ je pravilen
|
||||
recoveryKey.recover.wrongKey=Ta obnovitveni ključ se ujema z drugim trezorjem
|
||||
recoveryKey.recover.invalidKey=Obnovitveni ključ ni pravilen
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
|
||||
@@ -111,7 +111,6 @@ unlock.success.revealBtn=Otvori disk
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.description=Zaključavanje "%s" je blokirano operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid "I/O" operacija može rezultirati gubitkom nesačuvanih podataka.
|
||||
@@ -186,27 +185,21 @@ stats.title=Statistika za %s
|
||||
stats.cacheHitRate=Frekventnost keš memorije
|
||||
## Read
|
||||
stats.read.throughput.idle=Čitanje: u pripravnosti
|
||||
stats.read.throughput.kibs=Čitanje: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Čitanje: %.2f MiB/s
|
||||
stats.read.total.data.none=Učitano podataka: -
|
||||
stats.read.total.data.kib=Učitano podataka: %.1f kiB
|
||||
stats.read.total.data.mib=Učitano podataka: %.1f MiB
|
||||
stats.read.total.data.gib=Učitano podataka: %.1f GiB
|
||||
stats.decr.total.data.none=Dešifrovano podataka: -
|
||||
stats.decr.total.data.kib=Dešifrovano podataka: %.1f kiB
|
||||
stats.decr.total.data.mib=Dešifrovano podataka: %.1f MiB
|
||||
stats.decr.total.data.gib=Dešifrovano podataka: %.1f GiB
|
||||
stats.read.accessCount=Укупно учитано: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Писање: у приправности
|
||||
stats.write.throughput.kibs=Писање: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Писање: %.2f MiB/s
|
||||
stats.write.total.data.none=Уписано података: -
|
||||
stats.write.total.data.kib=Уписано података: %.1f kiB
|
||||
stats.write.total.data.mib=Уписано података: %.1f MiB
|
||||
stats.write.total.data.gib=Уписано података: %.1f GiB
|
||||
stats.encr.total.data.none=Шифровано података: -
|
||||
stats.encr.total.data.kib=Шифровано података: %.1f kiB
|
||||
stats.encr.total.data.mib=Шифровано података: %.1f MiB
|
||||
stats.encr.total.data.gib=Шифровано података: %.1f GiB
|
||||
stats.write.accessCount=Укупно уписано: %d
|
||||
@@ -246,7 +239,6 @@ main.vaultDetail.lockBtn=Zaključaj
|
||||
main.vaultDetail.bytesPerSecondRead=Читање:
|
||||
main.vaultDetail.bytesPerSecondWritten=Писање:
|
||||
main.vaultDetail.throughput.idle=у стању мировања
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Статистика сефа
|
||||
### Missing
|
||||
@@ -304,7 +296,7 @@ recoveryKey.display.StorageHints=Чувајте га на веома сигур
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.prompt=Унесите резервни кључ за "%s":
|
||||
recoveryKey.recover.validKey=Ово је исправан резервни кључ
|
||||
recoveryKey.recover.correctKey=Ово је исправан резервни кључ
|
||||
recoveryKey.printout.heading=Cryptomator Резервни Кључ\n"%s"\n
|
||||
### Reset Password
|
||||
### Recovery Key Password Reset Success
|
||||
|
||||
@@ -104,7 +104,6 @@ unlock.success.revealBtn=Otvori disk
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
## Failure
|
||||
@@ -176,14 +175,11 @@ stats.title=Statistika za %s
|
||||
stats.cacheHitRate=Frekventnost keš memorije
|
||||
## Read
|
||||
stats.read.throughput.idle=Čitanje: u pripravnosti
|
||||
stats.read.throughput.kibs=Čitanje: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Čitanje: %.2f MiB/s
|
||||
stats.read.total.data.none=Učitano podataka: -
|
||||
stats.read.total.data.kib=Učitano podataka: %.1f kiB
|
||||
stats.read.total.data.mib=Učitano podataka: %.1f MiB
|
||||
stats.read.total.data.gib=Učitano podataka: %.1f GiB
|
||||
stats.decr.total.data.none=Dešifrovano podataka: -
|
||||
stats.decr.total.data.kib=Dešifrovano podataka: %.1f kiB
|
||||
stats.decr.total.data.mib=Dešifrovano podataka: %.1f MiB
|
||||
stats.decr.total.data.gib=Dešifrovano podataka: %.1f GiB
|
||||
## Write
|
||||
|
||||
@@ -154,9 +154,8 @@ hub.registerFailed.description=Ett fel uppstod i namngivningsprocessen. För mer
|
||||
hub.unauthorized.message=Åtkomst nekad
|
||||
hub.unauthorized.description=Din enhet har ännu inte behörighet att komma åt detta valv. Be valvägaren att godkänna det.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Licensen överskriden
|
||||
hub.licenseExceeded.description=Cryptomator Hub har gett tillgång till fler användare än licensen medger. Kontakta din Hub-administratör för att uppgradera licensen eller en valvadministratör för att minska antalet användare i valv.
|
||||
|
||||
hub.invalidLicense.message=Din Hub-licens är ogiltig
|
||||
hub.invalidLicense.description=Din Cryptomator Hub-instans har en ogiltig licens. Vänligen informera en Hub administratör för att uppgradera eller förnya licensen.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -277,6 +276,7 @@ preferences.interface.showTrayIcon=Visa ikon i aktivitetsfältet (kräver omstar
|
||||
preferences.volume=Virtuell enhet
|
||||
preferences.volume.type=Volymtyp (kräver omstart)
|
||||
preferences.volume.type.automatic=Automatiskt
|
||||
preferences.volume.docsTooltip=Öppna dokumentationen för att läsa mer om de olika volymtyperna.
|
||||
preferences.volume.tcp.port=TCP-port
|
||||
preferences.volume.supportedFeatures=Den valda volymtypen stöder följande funktioner:
|
||||
preferences.volume.feature.mountAuto=Automatiskt val av monteringspunkt
|
||||
@@ -303,27 +303,27 @@ stats.title=Statistik för %s
|
||||
stats.cacheHitRate=Cache frekvens
|
||||
## Read
|
||||
stats.read.throughput.idle=Läs: inaktiv
|
||||
stats.read.throughput.kibs=Läs: %.2f kiB/s
|
||||
stats.read.throughput.kibs=Läst: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Läs: %.2f kiB/s
|
||||
stats.read.total.data.none=Data läst: -
|
||||
stats.read.total.data.kib=Data läst: %.1f kiB
|
||||
stats.read.total.data.kib=Data läst: %.1f KiB
|
||||
stats.read.total.data.mib=Data läst: %.1f kiB
|
||||
stats.read.total.data.gib=Data läst: %.1f GiB
|
||||
stats.decr.total.data.none=Data dekrypterad: -
|
||||
stats.decr.total.data.kib=Data dekrypterad: %.1f kiB
|
||||
stats.decr.total.data.kib=Dekrypterade data: %.1f KiB
|
||||
stats.decr.total.data.mib=Data dekrypterad: %.1f MiB
|
||||
stats.decr.total.data.gib=Data dekrypterad: %.1f GiB
|
||||
stats.read.accessCount=Totalt läst: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Skriv: inaktiv
|
||||
stats.write.throughput.kibs=Skriv: %.2f kiB/s
|
||||
stats.write.throughput.kibs=Skriv: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Skriv: %.2f MiB/s
|
||||
stats.write.total.data.none=Data skrivet: -
|
||||
stats.write.total.data.kib=Data skrivet: %.1f kiB
|
||||
stats.write.total.data.kib=Data skrivet: %.1f KiB
|
||||
stats.write.total.data.mib=Data skrivet: %.1f MiB
|
||||
stats.write.total.data.gib=Data skrivet: %.1f GiB
|
||||
stats.encr.total.data.none=Data krypterad: -
|
||||
stats.encr.total.data.kib=Data krypterad: %.1f kiB
|
||||
stats.encr.total.data.kib=Krypterade data: %.1f KiB
|
||||
stats.encr.total.data.mib=Data krypterad: %.1f MiB
|
||||
stats.encr.total.data.gib=Data krypterad: %.1f GiB
|
||||
stats.write.accessCount=Totalt skrivet: %d
|
||||
@@ -365,7 +365,7 @@ main.vaultDetail.lockBtn=Lås
|
||||
main.vaultDetail.bytesPerSecondRead=Läs:
|
||||
main.vaultDetail.bytesPerSecondWritten=Skriv:
|
||||
main.vaultDetail.throughput.idle=inaktiv
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Valv Statistik
|
||||
main.vaultDetail.locateEncryptedFileBtn=Leta upp krypterad fil
|
||||
@@ -437,7 +437,9 @@ recoveryKey.display.StorageHints=Spara den på en säker plats, t.ex:\n • I en
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Återställ lösenord
|
||||
recoveryKey.recover.prompt=Ange din återställningsnyckel för "%s":
|
||||
recoveryKey.recover.validKey=Detta är en giltig återställningsnyckel
|
||||
recoveryKey.recover.correctKey=Denna återställningsnyckel är korrekt
|
||||
recoveryKey.recover.wrongKey=Denna återställningsnyckel tillhör ett annat valv
|
||||
recoveryKey.recover.invalidKey=Denna återställningsnyckel är ogiltig
|
||||
recoveryKey.printout.heading=Cryptomator återställningsnyckel\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Återställ
|
||||
|
||||
@@ -123,7 +123,14 @@ unlock.success.description=Imefunguliwa "%s" kwa mafanikio! Kuba yako sasa inapa
|
||||
unlock.success.rememberChoice=Kumbuka chaguo, usionyeshe hii tena
|
||||
unlock.success.revealBtn=Fichua Kiendeshaji
|
||||
## Failure
|
||||
unlock.error.customPath.message=Haiwezi kupachika kuba kwenye njia maalum
|
||||
unlock.error.customPath.description.notSupported=Ikiwa ungependa kuendelea kutumia njia maalum, tafadhali nenda kwa mapendeleo na uchague aina ya sauti inayoitumia. Vinginevyo, nenda kwa chaguo za kuba na uchague sehemu ya kupachika inayotumika.
|
||||
unlock.error.customPath.description.notExists=Njia maalum ya kupachika haipo. Iunde katika mfumo wako wa faili wa karibu au ubadilishe katika chaguzi za kuba.
|
||||
unlock.error.customPath.description.generic=Umechagua njia maalum ya kupachika kwa kuba hii, lakini kuitumia imeshindwa na ujumbe: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=Imeshindwa kufikia ufunguo wa kifaa
|
||||
hub.noKeychain.description=Ili kufungua kuba za Hub, ufunguo wa kifaa unahitajika, ambao hulindwa kwa kutumia mnyororo wa vitufe. Ili kuendelea, washa "%s" na uchague mnyororo wa vitufe katika mapendeleo.
|
||||
hub.noKeychain.openBtn=Fungua Mapendeleo
|
||||
### Waiting
|
||||
hub.auth.message=Inasubiri uthibitishaji…
|
||||
hub.auth.description=Unapaswa kuelekezwa upya kiotomatiki kwa ukurasa wa kuingia.
|
||||
@@ -147,9 +154,8 @@ hub.registerFailed.description=Hitilafu imetupwa katika mchakato wa kumtaja. Kwa
|
||||
hub.unauthorized.message=Ufikiaji umekataliwa
|
||||
hub.unauthorized.description=Kifaa chako bado hakijaidhinishwa kufikia kuba hii. Uliza mwenye kuba aidhinishe.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Leseni imepitwa
|
||||
hub.licenseExceeded.description=Cryptomator Hub imetoa ufikiaji kwa watumiaji zaidi ya vibali vyake vya leseni. Tafadhali wasiliana na msimamizi wako wa Hub ili kuboresha leseni au msimamizi wa kuba ili kuondoa watumiaji kwenye kuba.
|
||||
|
||||
hub.invalidLicense.message=Leseni ya Hub ni batili
|
||||
hub.invalidLicense.description=Mfano wako wa Cryptomator Hub una leseni batili. Tafadhali mjulishe msimamizi wa Hub ili kuboresha au kusasisha leseni.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -165,6 +171,11 @@ lock.fail.description=Kuba "%s" haikuweza kufungwa. Hakikisha kazi isiyohifadhiw
|
||||
migration.title=Pandisha daraja Kuba
|
||||
## Start
|
||||
migration.start.header=Pandisha daraja Kuba
|
||||
migration.start.text=Ili kufungua kuba yako "%s" katika toleo hili jipya la Cryptomator, kuba inahitaji kuboreshwa hadi umbizo jipya zaidi. Kabla ya kufanya hivyo, unapaswa kujua yafuatayo:
|
||||
migration.start.remarkUndone=Uboreshaji huu hauwezi kutenduliwa.
|
||||
migration.start.remarkVersions=Matoleo ya zamani ya Cryptomator hayataweza kufungua kuba iliyosasishwa.
|
||||
migration.start.remarkCanRun=Lazima uwe na uhakika kwamba kila kifaa ambacho unaweza kufikia kubaki kinaweza kutumia toleo hili la Cryptomator.
|
||||
migration.start.remarkSynced=Lazima uhakikishe kuwa kuba yako imesawazishwa kikamilifu kwenye kifaa hiki, na kwenye vifaa vyako vingine, kabla ya kukiboresha.
|
||||
migration.start.confirm=Nimesoma na kuelewa habari hapo juu
|
||||
## Run
|
||||
migration.run.enterPassword=Ingiza neno la siri ya "%s"
|
||||
@@ -213,8 +224,25 @@ health.check.detail.checkFinished=Ukaguzi umekamilika kwa ufanisi.
|
||||
health.check.detail.checkFinishedAndFound=Ukaguzi ulimaliza kukimbia. Tafadhali angalia matokeo.
|
||||
health.check.detail.checkFailed=Ukaguzi ulitoka kwa sababu ya kosa.
|
||||
health.check.detail.checkCancelled=Ukaguzi ulikatishwa.
|
||||
health.check.detail.listFilters.label=Chuja
|
||||
health.check.detail.fixAllSpecificBtn=Rekebisha aina zote
|
||||
health.check.exportBtn=Hamisha Ripoti
|
||||
## Result view
|
||||
health.result.severityFilter.all=Ukali - Yote
|
||||
health.result.severityFilter.good=Nzuri
|
||||
health.result.severityFilter.info=Taarifa
|
||||
health.result.severityFilter.warn=Onyo
|
||||
health.result.severityFilter.crit=Muhimu
|
||||
health.result.severityTip.good=Ukali: Nzuri\nMuundo wa kuba ya kawaida.
|
||||
health.result.severityTip.info=Ukali: Taarifa\nMuundo wa kuba ukiwa mzima, marekebisho yamependekezwa.
|
||||
health.result.severityTip.warn=Ukali: Onyo\nMuundo wa kuba umeharibika, rekebisha inashauriwa sana.
|
||||
health.result.severityTip.crit=Ukali: Muhimu\nMuundo wa kuba umeharibika, upotezaji wa data umebainishwa.
|
||||
health.result.fixStateFilter.all=Rekebisha hali - Yote
|
||||
health.result.fixStateFilter.fixable=Inaweza kurekebishwa
|
||||
health.result.fixStateFilter.notFixable=Haiwezi kurekebishika
|
||||
health.result.fixStateFilter.fixing=Inarekebisha…
|
||||
health.result.fixStateFilter.fixed=Imerekebishwa
|
||||
health.result.fixStateFilter.fixFailed=Imeshindwa kurekebisha
|
||||
## Fix Application
|
||||
health.fix.fixBtn=Kurekebisha
|
||||
health.fix.successTip=Rekebisha imefanikiwa
|
||||
@@ -246,7 +274,15 @@ preferences.interface.showMinimizeButton=Onyesha kitufe cha kupunguza
|
||||
preferences.interface.showTrayIcon=Onyesha ikoni ya trei (inahitaji kuanzisha upya)
|
||||
## Volume
|
||||
preferences.volume=Kiendeshi pepe
|
||||
preferences.volume.type=Aina ya Sauti (inahitaji kuanzishwa upya)
|
||||
preferences.volume.type.automatic=Otomatiki
|
||||
preferences.volume.docsTooltip=Fungua hati ili kujifunza zaidi kuhusu aina tofauti za sauti.
|
||||
preferences.volume.tcp.port=Bandari ya TCP
|
||||
preferences.volume.supportedFeatures=Aina ya sauti iliyochaguliwa inasaidia vipengele vifuatavyo:
|
||||
preferences.volume.feature.mountAuto=Uchaguzi wa sehemu ya kupachika otomatiki
|
||||
preferences.volume.feature.mountToDir=Saraka maalum kama sehemu ya kupachika
|
||||
preferences.volume.feature.mountToDriveLetter=Endesha barua kama sehemu ya kupachika
|
||||
preferences.volume.feature.mountFlags=Chaguzi maalum za kupachika
|
||||
## Updates
|
||||
preferences.updates=Sasishi
|
||||
preferences.updates.currentVersion=Toleo la Sasa: %s
|
||||
@@ -269,32 +305,34 @@ stats.title=Takwimu za %s
|
||||
stats.cacheHitRate=Kiwango cha Hit ya Akiba
|
||||
## Read
|
||||
stats.read.throughput.idle=Soma: bila kazi
|
||||
stats.read.throughput.kibs=Soma:%.2f kiB/s
|
||||
stats.read.throughput.kibs=Soma: %.2f KiB/s
|
||||
stats.read.throughput.mibs=Soma:%.2fMiB/s
|
||||
stats.read.total.data.none=Data soma: -
|
||||
stats.read.total.data.kib=Data soma:%.1f kiB
|
||||
stats.read.total.data.kib=Data imesomwa: %.1f KiB
|
||||
stats.read.total.data.mib=Data soma: %.1f MiB
|
||||
stats.read.total.data.gib=Data soma: %.1f GiB
|
||||
stats.decr.total.data.none=Data iliyosimbwa kwa njia fiche: -
|
||||
stats.decr.total.data.kib=Data iliyosimbwa kwa njia fiche: %.1f kiB
|
||||
stats.decr.total.data.kib=Data imesimbwa: %.1f KiB
|
||||
stats.decr.total.data.mib=Data iliyosimbwa kwa njia fiche: %.1fMiB
|
||||
stats.decr.total.data.gib=Data iliyosimbwa kwa njia fiche: %.1f GiB
|
||||
stats.read.accessCount=Jumla ya kusoma: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Andika: bila kazi
|
||||
stats.write.throughput.kibs=Andika:%.2f kiB/s
|
||||
stats.write.throughput.kibs=Andika: %.2f KiB/s
|
||||
stats.write.throughput.mibs=Andika: %.2f MiB/s
|
||||
stats.write.total.data.none=Data iliyoandikwa: -
|
||||
stats.write.total.data.kib=Data iliyoandikwa: %.1f kiB
|
||||
stats.write.total.data.kib=Data iliyoandikwa: %.1f KiB
|
||||
stats.write.total.data.mib=Data iliyoandikwa: %.1f MiB
|
||||
stats.write.total.data.gib=Data iliyoandikwa: %.1f GiB
|
||||
stats.encr.total.data.none=Data iliyosimbwa kwa njia fiche: -
|
||||
stats.encr.total.data.kib=Data iliyosimbwa kwa njia fiche: %.1f kiB
|
||||
stats.encr.total.data.kib=Data imesimbwa kwa njia fiche: %.1f KiB
|
||||
stats.encr.total.data.mib=Data iliyosimbwa kwa njia fiche: %.1f MiB
|
||||
stats.encr.total.data.gib=Data iliyosimbwa kwa njia fiche: %.1f GiB
|
||||
stats.write.accessCount=Jumla ya maandishi anaandika: %d
|
||||
|
||||
## Accesses
|
||||
stats.access.current=Ufikiaji: %d
|
||||
stats.access.total=Jumla ya ufikiaji: %d
|
||||
|
||||
|
||||
# Main Window
|
||||
@@ -325,13 +363,18 @@ main.vaultDetail.passwordSavedInKeychain=Neno la siri limehifadhiwa
|
||||
main.vaultDetail.unlockedStatus=IMEFUNGULIWA
|
||||
main.vaultDetail.accessLocation=Yaliyomo kwenye kuba yako yanapatikana hapa:
|
||||
main.vaultDetail.revealBtn=Fichua Kiendeshaji
|
||||
main.vaultDetail.copyUri=Nakili URI
|
||||
main.vaultDetail.lockBtn=Funga
|
||||
main.vaultDetail.bytesPerSecondRead=Soma:
|
||||
main.vaultDetail.bytesPerSecondWritten=Andika:
|
||||
main.vaultDetail.throughput.idle=imezubaa
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Takwimu za Kuba
|
||||
main.vaultDetail.locateEncryptedFileBtn=Tafuta Faili Iliyosimbwa kwa Njia Fiche
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=Chagua faili kutoka kwa chumba chako ili kupata mwenza wake uliosimbwa kwa njia fiche
|
||||
main.vaultDetail.encryptedPathsCopied=Njia Zimenakiliwa kwenye Ubao wa kunakili!
|
||||
main.vaultDetail.filePickerTitle=Chagua Faili Ndani ya Kuba
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator haikuweza kupata kuba katika njia hii.
|
||||
main.vaultDetail.missing.recheck=Kagua upya
|
||||
@@ -370,13 +413,17 @@ vaultOptions.general.startHealthCheckBtn=Anza Ukaguzi wa Afya
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Kuweka
|
||||
vaultOptions.mount.info=Chaguzi hutegemea aina ya sauti iliyochaguliwa.
|
||||
vaultOptions.mount.linkToPreferences=Fungua mapendeleo ya hifadhi pepe
|
||||
vaultOptions.mount.readonly=Soma-Tu
|
||||
vaultOptions.mount.customMountFlags=Vipepea Vya Mlima Maalum
|
||||
vaultOptions.mount.winDriveLetterOccupied=ulichukua
|
||||
vaultOptions.mount.mountPoint=Pointi ya kuweka
|
||||
vaultOptions.mount.mountPoint.auto=Chagua otomatiki mahali panapofaa
|
||||
vaultOptions.mount.mountPoint.driveLetter=Tumia barua kiendeshi kilichopangiwa
|
||||
vaultOptions.mount.mountPoint.custom=Tumia saraka iliyochaguliwa
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Chagua…
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Chagua saraka
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Neno la siri
|
||||
vaultOptions.masterkey.changePasswordBtn=Badilisha Neno la siri
|
||||
@@ -397,7 +444,9 @@ recoveryKey.display.StorageHints=Weka mahali salama sana, kwa mfano:\n • Hifad
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Fufua Neno la siri
|
||||
recoveryKey.recover.prompt=Ingiza ufunguo wako wa kurejesha kwa "%s":
|
||||
recoveryKey.recover.validKey=Hii ni ufunguo halali wa kurejesha
|
||||
recoveryKey.recover.correctKey=Hii ni ufunguo halali wa kurejesha
|
||||
recoveryKey.recover.wrongKey=Ufunguo huu wa urejeshaji ni wa kuba tofauti
|
||||
recoveryKey.recover.invalidKey=Ufunguo huu wa kurejesha si sahihi
|
||||
recoveryKey.printout.heading=Ufunguo wa Urejeshaji wa Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Weka upya
|
||||
|
||||
@@ -126,7 +126,6 @@ unlock.success.revealBtn=இயக்ககத்தை வெளிப்பட
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=பூட்டுதல் தோல்வியடைந்தது
|
||||
@@ -197,27 +196,21 @@ stats.title=%s க்கான புள்ளிவிவரங்கள்
|
||||
stats.cacheHitRate=தற்காலிக சேமிப்பு வீதம்
|
||||
## Read
|
||||
stats.read.throughput.idle=படிக்கப்பட்டது: செயலற்றது
|
||||
stats.read.throughput.kibs=படிக்கப்பட்டது: %.2f kiB/s
|
||||
stats.read.throughput.mibs=படிக்கப்பட்டது: %.2f MiB/s
|
||||
stats.read.total.data.none=படிக்கப்பட்ட தரவு: -
|
||||
stats.read.total.data.kib=படிக்கப்பட்ட தரவு: %.1f kiB
|
||||
stats.read.total.data.mib=படிக்கப்பட்ட தரவு: %.1f MiB
|
||||
stats.read.total.data.gib=படிக்கப்பட்ட தரவு: %.1f GiB
|
||||
stats.decr.total.data.none=மறைகுறிநீக்கப்பட்ட தரவு: -
|
||||
stats.decr.total.data.kib=மறைகுறிநீக்கப்பட்ட தரவு: %.1f kiB
|
||||
stats.decr.total.data.mib=மறைகுறிநீக்கப்பட்ட தரவு: %.1f MiB
|
||||
stats.decr.total.data.gib=மறைகுறிநீக்கப்பட்ட தரவு: %.1f GiB
|
||||
stats.read.accessCount=மொத்த வாசிப்புகள்: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=எழுதப்பட்டது: செயலற்ற நிலையில்
|
||||
stats.write.throughput.kibs=எழுதப்பட்டது: %.2f kiB/s
|
||||
stats.write.throughput.mibs=எழுதப்பட்டது: %.2f MiB/s
|
||||
stats.write.total.data.none=எழுதப்பட்ட தரவு: -
|
||||
stats.write.total.data.kib=எழுதப்பட்ட தரவு: %.1f kiB
|
||||
stats.write.total.data.mib=எழுதப்பட்ட தரவு: %.1f MiB
|
||||
stats.write.total.data.gib=எழுதப்பட்ட தரவு: %.1f GiB
|
||||
stats.encr.total.data.none=குறியாக்கம் செய்யப்பட்ட தரவு: -
|
||||
stats.encr.total.data.kib=குறியாக்கம் செய்யப்பட்ட தரவு: %.1f kiB
|
||||
stats.encr.total.data.mib=குறியாக்கம் செய்யப்பட்ட தரவு: %.1f MiB
|
||||
stats.encr.total.data.gib=குறியாக்கம் செய்யப்பட்ட தரவு: %.1f GiB
|
||||
stats.write.accessCount=மொத்த எழுதப்பட்டது: %d
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=మళ్ళీ చేయండి
|
||||
|
||||
@@ -97,7 +97,6 @@ unlock.unlockBtn=ปลดล็อก
|
||||
### Unauthorized
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
## Failure
|
||||
|
||||
@@ -123,6 +123,10 @@ unlock.success.description="%s" 'nin kilidi başarıyla açıldı! Kasanız şim
|
||||
unlock.success.rememberChoice=Seçimi hatırla, bunu bir daha gösterme
|
||||
unlock.success.revealBtn=Sürücüyü Göster
|
||||
## Failure
|
||||
unlock.error.customPath.message=Kasa özel yola bağlanamıyor
|
||||
unlock.error.customPath.description.notSupported=Özel yolu kullanmaya devam etmek istiyorsanız, lütfen tercihlere gidin ve onu destekleyen bir cilt türü seçin. Aksi takdirde kasa seçeneklerine gidin ve desteklenen bir bağlama noktası seçin.
|
||||
unlock.error.customPath.description.notExists=Özel bağlama yolu mevcut değil. Ya yerel dosya sisteminizde oluşturun ya da kasa seçeneklerinde değiştirin.
|
||||
unlock.error.customPath.description.generic=Bu kasa için özel bir bağlama yolu seçtiniz, ancak bunu kullanmak şu mesajla başarısız oldu: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=Cihaz anahtarına erişilemiyor
|
||||
hub.noKeychain.description=Hub kasalarının kilidini açmak için, bir anahtarlık kullanılarak güvenliği sağlanan bir cihaz anahtarı gerekir. Devam etmek için "%s"yi etkinleştirin ve tercihlerde bir anahtarlık seçin.
|
||||
@@ -150,9 +154,8 @@ hub.registerFailed.description=İsimlendirme işleminde bir hata oluştu. Daha f
|
||||
hub.unauthorized.message=Erişim engellendi
|
||||
hub.unauthorized.description=Cihazınıza henüz bu kasaya erişim yetkisi verilmedi. Kasa sahibinden yetkilendirmesini isteyin.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Lisans aşıldı
|
||||
hub.licenseExceeded.description=Cryptomator Hub, lisansının izin verdiğinden daha fazla kullanıcıya erişim sağladı. Lisansı yükseltmek için lütfen Hub yöneticinizle veya kullanıcıları kasalardan kaldırmak için bir kasa yöneticisiyle iletişime geçin.
|
||||
|
||||
hub.invalidLicense.message=Hub Lisansı geçersiz
|
||||
hub.invalidLicense.description=Cryptomator Hub örneğinizde geçersiz bir lisans var. Lisansı yükseltmesi veya yenilemesi için lütfen bir Hub yöneticisini bilgilendirin.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -271,7 +274,16 @@ preferences.interface.showMinimizeButton=Küçültme düğmesini göster
|
||||
preferences.interface.showTrayIcon=Sistem tepsisi simgesini göster (Yeniden başlatma gerekir)
|
||||
## Volume
|
||||
preferences.volume=Sanal Sürücü
|
||||
preferences.volume.type=Birim Türü (yeniden başlatma gerektirir)
|
||||
preferences.volume.type.automatic=Otomatik
|
||||
preferences.volume.docsTooltip=Farklı birim türleri hakkında daha fazla bilgi edinmek için belgeleri açın.
|
||||
preferences.volume.tcp.port=TCP Portu
|
||||
preferences.volume.supportedFeatures=Seçilen birim türü aşağıdaki özellikleri destekler:
|
||||
preferences.volume.feature.mountAuto=Otomatik bağlama noktası seçimi
|
||||
preferences.volume.feature.mountToDir=Bağlama noktası olarak özel dizin
|
||||
preferences.volume.feature.mountToDriveLetter=Bağlama noktası olarak sürücü harfi
|
||||
preferences.volume.feature.mountFlags=Özel bağlama seçenekleri
|
||||
preferences.volume.feature.readOnly=Salt okunur bağlama
|
||||
## Updates
|
||||
preferences.updates=Güncellemeler
|
||||
preferences.updates.currentVersion=Mevcut Sürüm: %s
|
||||
@@ -352,11 +364,12 @@ main.vaultDetail.passwordSavedInKeychain=Şifre kaydedildi
|
||||
main.vaultDetail.unlockedStatus=KİLİDİ AÇIK
|
||||
main.vaultDetail.accessLocation=Kasa içeriğinize buradan erişilebilir:
|
||||
main.vaultDetail.revealBtn=Sürücüyü Göster
|
||||
main.vaultDetail.copyUri=Linki kopyala
|
||||
main.vaultDetail.lockBtn=Kilitle
|
||||
main.vaultDetail.bytesPerSecondRead=Okuma:
|
||||
main.vaultDetail.bytesPerSecondWritten=Yazma:
|
||||
main.vaultDetail.throughput.idle=boşta
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f kB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Kasa İstatistikleri
|
||||
main.vaultDetail.locateEncryptedFileBtn=Şifrelenmiş Dosyayı Bul
|
||||
@@ -401,13 +414,17 @@ vaultOptions.general.startHealthCheckBtn=Sağlık Kontrolünü Başlat
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Bağlantı
|
||||
vaultOptions.mount.info=Seçenekler, seçilen birim tipine bağlıdır.
|
||||
vaultOptions.mount.linkToPreferences=Sanal sürücü tercihlerini aç
|
||||
vaultOptions.mount.readonly=Salt-Okunur
|
||||
vaultOptions.mount.customMountFlags=Özel Bağlantı Parametreleri
|
||||
vaultOptions.mount.winDriveLetterOccupied=meşgul
|
||||
vaultOptions.mount.mountPoint=Bağlantı Noktası
|
||||
vaultOptions.mount.mountPoint.auto=Otomatik uygun yer bul
|
||||
vaultOptions.mount.mountPoint.driveLetter=Bir sürücü harfi kullan
|
||||
vaultOptions.mount.mountPoint.custom=Seçilen dizini kullan
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Seç…
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Dizin seçin
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Şifre
|
||||
vaultOptions.masterkey.changePasswordBtn=Şifreyi Değiştir
|
||||
@@ -428,7 +445,9 @@ recoveryKey.display.StorageHints=Bunu çok güvenli bir yerde saklayın, örneğ
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Şifreyi Sıfırla
|
||||
recoveryKey.recover.prompt="%s" için kurtarma anahtarınızı girin:
|
||||
recoveryKey.recover.validKey=Bu geçerli bir kurtarma anahtarı
|
||||
recoveryKey.recover.correctKey=Bu geçerli bir kurtarma anahtarı
|
||||
recoveryKey.recover.wrongKey=Bu kurtarma anahtarı farklı bir kasaya ait
|
||||
recoveryKey.recover.invalidKey=Bu kurtarma anahtarı geçerli değil
|
||||
recoveryKey.printout.heading=Cryptomator Kurtarma Anahtarı\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Sıfırla
|
||||
|
||||
@@ -146,9 +146,6 @@ hub.registerFailed.description=Виникла помилка у процесі
|
||||
hub.unauthorized.message=У доступі відмовлено
|
||||
hub.unauthorized.description=Ваш пристрій ще не має прав доступу до цього vault. Попросіть власника vault надати їх.
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=Кількість користувачів перевищено
|
||||
hub.licenseExceeded.description=Cryptomator Hub надав доступ більшій кількості користувачів, ніж дозволяє ліцензія. Будь ласка, зверніться до адміністратора вашого Hub, щоб покращити ліцензію або адміністратора vault, щоб видалити користувачів з vaults.
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -268,7 +265,6 @@ main.vaultDetail.lockBtn=Заблокувати
|
||||
main.vaultDetail.bytesPerSecondRead=Зчитування:
|
||||
main.vaultDetail.bytesPerSecondWritten=Запис:
|
||||
main.vaultDetail.throughput.idle=простій
|
||||
main.vaultDetail.throughput.kbps=%.1f КіБ/c
|
||||
main.vaultDetail.throughput.mbps=%.1f МіБ/c
|
||||
main.vaultDetail.stats=Статистика Vault
|
||||
main.vaultDetail.locateEncryptedFileBtn=Знайти Зашифрований Файл
|
||||
|
||||
@@ -145,7 +145,6 @@ hub.unauthorized.message=Truy cập bị từ chối
|
||||
hub.unauthorized.description=Thiết bị của bạn chưa được phép truy cập vault này. Yêu cầu chủ sở hữu cấp phép.
|
||||
### License Exceeded
|
||||
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=Khóa thất bại
|
||||
@@ -250,27 +249,21 @@ stats.title=Thống kê về %s
|
||||
stats.cacheHitRate=Tỷ lệ truy cập bộ nhớ cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Đọc: không có
|
||||
stats.read.throughput.kibs=Đọc: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Đọc: %.2f MiB/s
|
||||
stats.read.total.data.none=Dữ liệu đã đọc: -
|
||||
stats.read.total.data.kib=Dữ liệu đã đọc: %.1f kiB
|
||||
stats.read.total.data.mib=Dữ liệu đã đọc: %.1f MiB
|
||||
stats.read.total.data.gib=Dữ liệu đã đọc: %.1f GiB
|
||||
stats.decr.total.data.none=Dữ liệu được giải mã: -
|
||||
stats.decr.total.data.kib=Dữ liệu được giải mã: %.1f kiB
|
||||
stats.decr.total.data.mib=Dữ liệu được giải mã: %.1f MiB
|
||||
stats.decr.total.data.gib=Dữ liệu được giải mã: %.1f GiB
|
||||
stats.read.accessCount=Tổng đọc: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Ghi: tạm ngưng
|
||||
stats.write.throughput.kibs=Ghi: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Ghi: %.2f MiB/s
|
||||
stats.write.total.data.none=Dữ liệu đã ghi: -
|
||||
stats.write.total.data.kib=Dữ liệu đã ghi: %.1f kiB
|
||||
stats.write.total.data.mib=Dữ liệu đã ghi: %.1f MiB
|
||||
stats.write.total.data.gib=Dữ liệu đã ghi: %.1f GiB
|
||||
stats.encr.total.data.none=Dữ liệu được mã hóa: -
|
||||
stats.encr.total.data.kib=Dữ liệu được mã hóa: %.1f kiB
|
||||
stats.encr.total.data.mib=Dữ liệu được mã hóa: %.1f MiB
|
||||
stats.encr.total.data.gib=Dữ liệu được mã hóa: %.1f GiB
|
||||
stats.write.accessCount=Tổng ghi: %d
|
||||
@@ -310,7 +303,6 @@ main.vaultDetail.lockBtn=Khoá
|
||||
main.vaultDetail.bytesPerSecondRead=Đọc:
|
||||
main.vaultDetail.bytesPerSecondWritten=Ghi:
|
||||
main.vaultDetail.throughput.idle=chờ
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Thống kê Vault
|
||||
### Missing
|
||||
@@ -375,7 +367,7 @@ recoveryKey.display.StorageHints=Giữ ở một nơi rất an toàn, ví dụ:\
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Đặt lại Mật khẩu
|
||||
recoveryKey.recover.prompt=Nhập khóa khôi phục của bạn cho "%s":
|
||||
recoveryKey.recover.validKey=Đây là khóa khôi phục hợp lệ
|
||||
recoveryKey.recover.correctKey=Đây là khóa khôi phục hợp lệ
|
||||
recoveryKey.printout.heading=Khóa Khôi phục Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Đặt lại
|
||||
|
||||
@@ -15,7 +15,7 @@ generic.button.next=下一步
|
||||
generic.button.print=打印
|
||||
|
||||
# Error
|
||||
error.message=错误 %s
|
||||
error.message=发生错误
|
||||
error.description=糟糕!Cryptomator 未料到会发生这种情况。您可以查找该错误的现有解决方案;或者,如果是新错误,请随时向我们报告。
|
||||
error.hyperlink.lookup=查找该错误
|
||||
error.hyperlink.report=报告该错误
|
||||
@@ -61,7 +61,7 @@ addvaultwizard.new.validCharacters.numbers=位数
|
||||
addvaultwizard.new.validCharacters.dashes=连字符 (%s) 或下划线 (%s)
|
||||
### Password
|
||||
addvaultwizard.new.createVaultBtn=创建保险库
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=如果没有密码,您将无法访问您的数据。您想要一个恢复密钥来以防您丢失密码吗?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=如果丢失密码,您将无法访问您的数据。您想要创建一个恢复密钥以防您丢失密码吗?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=好的,有备无患
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=不,谢谢。我不会丢失密码的
|
||||
### Information
|
||||
@@ -72,9 +72,9 @@ addvault.new.readme.storageLocation.3=请勿
|
||||
addvault.new.readme.storageLocation.4=• 更改此目录内的任何文件或者
|
||||
addvault.new.readme.storageLocation.5=• 将任何文件粘贴到此目录内以进行加密
|
||||
addvault.new.readme.storageLocation.6=如果你想要加密文件并查看保险库的内容,请执行以下操作:
|
||||
addvault.new.readme.storageLocation.7=1. 将此保险库添加到Cryptomator
|
||||
addvault.new.readme.storageLocation.8=2. 在Cryptomator中解锁保险库
|
||||
addvault.new.readme.storageLocation.9=3. 通过点击“显示”按钮打开访问路径
|
||||
addvault.new.readme.storageLocation.7=1. 将此保险库添加到Cryptomator;
|
||||
addvault.new.readme.storageLocation.8=2. 在Cryptomator中解锁保险库;
|
||||
addvault.new.readme.storageLocation.9=3. 通过点击“显示”按钮打开访问路径。
|
||||
addvault.new.readme.storageLocation.10=如果您需要帮助,请阅读文档: %s
|
||||
addvault.new.readme.accessLocation.fileName=欢迎.rtf
|
||||
addvault.new.readme.accessLocation.1=🔐️ 加密卷 🔐️
|
||||
@@ -140,33 +140,32 @@ hub.receive.message=正在处理响应…
|
||||
hub.receive.description=Cryptomator 正在接收和处理来自 Hub 的响应,请稍等
|
||||
### Register Device
|
||||
hub.register.message=设备名称(必填)
|
||||
hub.register.description=这似乎是设备的首次 Hub 访问。为了识别它以进行访问授权,您需要命名此设备
|
||||
hub.register.description=这似乎是设备的首次 Hub 访问。为了识别它以进行访问授权,您需要命名此设备。
|
||||
hub.register.nameLabel=设备名称
|
||||
hub.register.occupiedMsg=名称已被占用
|
||||
hub.register.registerBtn=确认
|
||||
hub.register.registerBtn=确定
|
||||
### Registration Success
|
||||
hub.registerSuccess.message=设备命名成功
|
||||
hub.registerSuccess.description=要访问保险库,设备需得到保险库所有者的授权
|
||||
hub.registerSuccess.description=要访问保险库,设备需得到保险库所有者的授权。
|
||||
### Registration Failed
|
||||
hub.registerFailed.message=设备命名失败
|
||||
hub.registerFailed.description=命名过程中出现错误,详情请查看应用程序日志
|
||||
hub.registerFailed.description=命名过程中出现错误,详情请查看应用程序日志。
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=拒绝访问
|
||||
hub.unauthorized.description=您的设备尚未授权访问此保险库,请联系保险库所有者
|
||||
hub.unauthorized.description=您的设备尚未授权访问此保险库,请联系保险库所有者,
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=许可证已逾期
|
||||
hub.licenseExceeded.description=Cryptomator Hub 允许访问的用户数量超过其许可证允许的数量,请联系您的 Hub 管理员升级许可证或联系保险库管理员删除用户
|
||||
|
||||
hub.invalidLicense.message=Hub 许可证无效
|
||||
hub.invalidLicense.description=此 Cryptomator Hub 实例许可证无效,请联系Hub管理员升级或者续订许可证。
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=锁定失败
|
||||
lock.forced.description=锁定 "%s" 被挂起的操作或使用中的文件中断。您可以强制锁定此保险库,不过请注意打断 I/O 可能导致未保存的数据丢失
|
||||
lock.forced.description=锁定 "%s" 因进行中的操作或已打开的文件而被阻止。您可以强制锁定此保险库,不过请注意中断读写可能导致未保存的数据丢失
|
||||
lock.forced.retryBtn=重试
|
||||
lock.forced.forceBtn=强制锁定
|
||||
## Failure
|
||||
lock.fail.message=锁定保险库失败
|
||||
lock.fail.description=保险库 "%s" 无法锁定。请确保在其他地方保存未保存的工作,以及重要的 "读/写" 操作已完成。为了顺利关闭保险库,请查杀 Cryptomator 进程
|
||||
lock.fail.description=保险库 "%s" 无法锁定。请确保已经保存其他地方未保存的工作,以及重要的读写操作已完成。为了顺利关闭保险库,请终止 Cryptomator 进程。
|
||||
|
||||
# Migration
|
||||
migration.title=升级保险库
|
||||
@@ -266,17 +265,18 @@ preferences.interface.theme.automatic=自动
|
||||
preferences.interface.theme.dark=深色
|
||||
preferences.interface.theme.light=浅色
|
||||
preferences.interface.unlockThemes=解锁暗黑模式
|
||||
preferences.interface.language=语言 (需重启)
|
||||
preferences.interface.language=语言(需重启)
|
||||
preferences.interface.language.auto=系统默认
|
||||
preferences.interface.interfaceOrientation=界面方向
|
||||
preferences.interface.interfaceOrientation.ltr=从左到右
|
||||
preferences.interface.interfaceOrientation.rtl=从右到左
|
||||
preferences.interface.showMinimizeButton=显示最小化按钮
|
||||
preferences.interface.showTrayIcon=显示托盘图标 (需重启)
|
||||
preferences.interface.showTrayIcon=显示托盘图标(需重启)
|
||||
## Volume
|
||||
preferences.volume=虚拟磁盘
|
||||
preferences.volume.type=卷类型(需重启)
|
||||
preferences.volume.type.automatic=自动
|
||||
preferences.volume.docsTooltip=打开文档以了解有关不同卷类型的更多信息
|
||||
preferences.volume.tcp.port=TCP 端口
|
||||
preferences.volume.supportedFeatures=选定的卷类型支持以下功能:
|
||||
preferences.volume.feature.mountAuto=自动选择挂载点
|
||||
@@ -292,7 +292,7 @@ preferences.updates.checkNowBtn=立即检查
|
||||
preferences.updates.updateAvailable=可更新到版本 %s
|
||||
## Contribution
|
||||
preferences.contribute=支持我们
|
||||
preferences.contribute.registeredFor=已注册署名 %s 的赞助者证书
|
||||
preferences.contribute.registeredFor=已为 %s 注册支持者证书
|
||||
preferences.contribute.noCertificate=支持 Cryptomator 并获得一份支持者证书。它类似于许可证密钥,特别之处是提供给使用免费软件的牛人的 ;-)
|
||||
preferences.contribute.getCertificate=还没有该证书吗?了解您如何获取
|
||||
preferences.contribute.promptText=在这里粘贴赞助者证书码
|
||||
@@ -306,27 +306,27 @@ stats.title=%s 统计信息
|
||||
stats.cacheHitRate=缓存命中率
|
||||
## Read
|
||||
stats.read.throughput.idle=读取:空闲
|
||||
stats.read.throughput.kibs=读取:%.2f kiB/s
|
||||
stats.read.throughput.mibs=读取:%.2f MiB/s
|
||||
stats.read.throughput.kibs=读取:%.2f KiB/s
|
||||
stats.read.throughput.mibs=读取:%.2f MiB/秒
|
||||
stats.read.total.data.none=已读取数据:-
|
||||
stats.read.total.data.kib=已读取数据:%.1f kiB
|
||||
stats.read.total.data.kib=已读取数据:%.1f KiB
|
||||
stats.read.total.data.mib=已读取数据:%.1f MiB
|
||||
stats.read.total.data.gib=已读取数据:%.1f GiB
|
||||
stats.decr.total.data.none=已解密数据:-
|
||||
stats.decr.total.data.kib=已解密数据:%.1f kiB
|
||||
stats.decr.total.data.kib=已解密数据:%.1f KiB
|
||||
stats.decr.total.data.mib=已解密数据:%.1f MiB
|
||||
stats.decr.total.data.gib=已解密数据:%.1f GiB
|
||||
stats.read.accessCount=读取总数:%d
|
||||
## Write
|
||||
stats.write.throughput.idle=写入:空闲
|
||||
stats.write.throughput.kibs=写入:%.2f kiB/s
|
||||
stats.write.throughput.mibs=写入:%.2f MiB/s
|
||||
stats.write.throughput.kibs=写入:%.2f KiB/s
|
||||
stats.write.throughput.mibs=写入:%.2f MiB/秒
|
||||
stats.write.total.data.none=已写入数据: -
|
||||
stats.write.total.data.kib=已写入数据:%.1f kiB
|
||||
stats.write.total.data.kib=已写入数据:%.1f KiB
|
||||
stats.write.total.data.mib=已写入数据:%.1f MiB
|
||||
stats.write.total.data.gib=已写入数据:%.1f GiB
|
||||
stats.encr.total.data.none=已加密数据:-
|
||||
stats.encr.total.data.kib=已加密数据:%.1f kiB
|
||||
stats.encr.total.data.kib=已加密数据:%.1f KiB
|
||||
stats.encr.total.data.mib=已加密数据:%.1f MiB
|
||||
stats.encr.total.data.gib=已加密数据:%.1f GiB
|
||||
stats.write.accessCount=写入总数:%d
|
||||
@@ -353,7 +353,7 @@ main.vaultlist.contextMenu.reveal=显示驱动器
|
||||
main.vaultlist.addVaultBtn=添加保险库
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=感谢您使用 Cryptomator 来保护您的文件。如果您需要任何帮助,请查看正显示的快速开始指南:
|
||||
main.vaultDetail.welcomeOnboarding=感谢您使用 Cryptomator 来保护您的文件。如果您需要任何帮助,请查看我们的快速开始指南:
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=已锁定
|
||||
main.vaultDetail.unlockBtn=解锁…
|
||||
@@ -369,8 +369,8 @@ main.vaultDetail.lockBtn=锁定
|
||||
main.vaultDetail.bytesPerSecondRead=读取:
|
||||
main.vaultDetail.bytesPerSecondWritten=写入:
|
||||
main.vaultDetail.throughput.idle=空闲
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/秒
|
||||
main.vaultDetail.stats=保险库统计
|
||||
main.vaultDetail.locateEncryptedFileBtn=找出加密后文件
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=选择保险库中的一个文件来找出已加密文件的位置
|
||||
@@ -391,7 +391,7 @@ main.vaultDetail.error.windowTitle=加载保险库时出错
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=如何加密文件
|
||||
wrongFileAlert.message=您试图要加密这些文件吗?
|
||||
wrongFileAlert.message=您想要加密这些文件吗?
|
||||
wrongFileAlert.description=为了实现加密,Cryptomator 在系统文件管理器中提供一个卷
|
||||
wrongFileAlert.instruction.0=要加密文件,请遵循以下步骤:
|
||||
wrongFileAlert.instruction.1=1. 解锁您的保险库;
|
||||
@@ -405,7 +405,7 @@ vaultOptions.general=常规
|
||||
vaultOptions.general.vaultName=保险库名称
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=空闲超时
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=分钟后自动锁定
|
||||
vaultOptions.general.unlockAfterStartup=启动 Cryptomator 时解锁保险库 (此功能需先勾选保存密码)
|
||||
vaultOptions.general.unlockAfterStartup=启动 Cryptomator 时解锁保险库(此功能需先勾选保存密码)
|
||||
vaultOptions.general.actionAfterUnlock=解锁成功后的操作
|
||||
vaultOptions.general.actionAfterUnlock.ignore=什么也不做
|
||||
vaultOptions.general.actionAfterUnlock.reveal=显示驱动器
|
||||
@@ -429,7 +429,7 @@ vaultOptions.mount.mountPoint.directoryPickerTitle=选择目录
|
||||
vaultOptions.masterkey=密码
|
||||
vaultOptions.masterkey.changePasswordBtn=更改密码
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=忘记保存的密码
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=忘记密码时,恢复密钥是你恢复保险库访问权限的唯一方式!!!
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=忘记密码时,恢复密钥是你恢复保险库访问权限的唯一方式!
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=显示恢复密钥
|
||||
vaultOptions.masterkey.recoverPasswordBtn=重置密码
|
||||
|
||||
@@ -440,12 +440,14 @@ recoveryKey.display.title=显示恢复密钥
|
||||
recoveryKey.create.message=密码是必填的
|
||||
recoveryKey.create.description=输入您的密码以显示"%s"的恢复密钥:
|
||||
recoveryKey.display.description=下面的恢复密钥可用于恢复对"%s"的访问:
|
||||
recoveryKey.display.StorageHints=保存它到非常安全的某处,例如:\n • 使用密码管理器来保存\n • 将其保存在USB闪存盘\n • 打印在纸上
|
||||
recoveryKey.display.StorageHints=将它保存到非常安全的地方,例如:\n • 使用密码管理器来保存\n • 将其保存在U盘上\n • 在纸上打印
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=重置密码
|
||||
recoveryKey.recover.prompt=输入 "%s" 的恢复密钥:
|
||||
recoveryKey.recover.validKey=这是一个有效的恢复密钥
|
||||
recoveryKey.recover.correctKey=这是正确的恢复密钥
|
||||
recoveryKey.recover.wrongKey=此恢复密钥属于另一个保管库
|
||||
recoveryKey.recover.invalidKey=此恢复密钥无效
|
||||
recoveryKey.printout.heading=Cryptomator 恢复密钥\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=重置
|
||||
@@ -468,10 +470,10 @@ passwordStrength.messageLabel.4=非常强
|
||||
# Quit
|
||||
quit.title=退出程序
|
||||
quit.message=存在已解锁的保险库
|
||||
quit.description=请确认退出动作,Cryptomator 将会温和地锁定所有已解锁的保险库,以防止数据丢失
|
||||
quit.description=请确认退出动作,Cryptomator 将会适时地锁定所有已解锁的保险库,以防止数据丢失
|
||||
quit.lockAndQuitBtn=锁定并退出
|
||||
|
||||
# Forced Quit
|
||||
quit.forced.message=无法锁定某些保险库
|
||||
quit.forced.description=锁定保险库被挂起的操作或使用中的文件中断。您可以强制锁定剩余的保险库,不过请注意打断 I/O 可能导致未保存的数据丢失
|
||||
quit.forced.description=锁定保险库因进行中的操作或已打开的文件被阻止。您可以强制锁定剩余的保险库,不过请注意中断读写可能导致未保存的数据丢失
|
||||
quit.forced.forceAndQuitBtn=强制并退出
|
||||
@@ -123,7 +123,14 @@ unlock.success.description=成功解鎖「%s」!現在可以存取你的加密
|
||||
unlock.success.rememberChoice=記得這個決定,不要再詢問
|
||||
unlock.success.revealBtn=展示磁碟
|
||||
## Failure
|
||||
unlock.error.customPath.message=無法掛載加密庫於此自定路徑
|
||||
unlock.error.customPath.description.notSupported=若要繼續使用自定路徑,請在設定選取支援此自定路徑的空間/加密空間類型;或者,在加密庫選項中選擇一個受支援的掛載點。
|
||||
unlock.error.customPath.description.notExists=自定路徑不存在。請在本機文件系統指定另一路徑或在加密庫選項中變更。
|
||||
unlock.error.customPath.description.generic=已為加密庫設定了自定路徑,但是運作時出現錯誤:%s
|
||||
## Hub
|
||||
hub.noKeychain.message=無法訪問設備密鑰
|
||||
hub.noKeychain.description=為了解鎖 Hub 加密檔案庫需要一個裝置密鑰,該密鑰已被安全地保管在鑰匙串中。為了繼續進行,請啟用「%s」並在偏好設定中選擇一個鑰匙串。
|
||||
hub.noKeychain.openBtn=開啟偏好設定
|
||||
### Waiting
|
||||
hub.auth.message=等待認證中…
|
||||
hub.auth.description=您將被自動傳送到登入頁面。
|
||||
@@ -147,9 +154,8 @@ hub.registerFailed.description=命名過程中引發錯誤。有關詳細信息
|
||||
hub.unauthorized.message=拒絕存取
|
||||
hub.unauthorized.description=您的設備權限尚未允許存取加密庫,請聯絡加密庫擁有者
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=软件許可已滿額
|
||||
hub.licenseExceeded.description=Cryptomator Hub 的被授予授權的使用者的數量,多於許可證容許的使用者數量。 請聯絡 Cryptomator Hub 管理員升級授權,或聯絡加密庫管理員從加密庫移除使用者。
|
||||
|
||||
hub.invalidLicense.message=Hub 授權無效
|
||||
hub.invalidLicense.description=此 Cryptomator Hub 實例授權無效,請聯繫管理員升級或續訂授權。
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -165,6 +171,11 @@ lock.fail.description=加密庫「%s」無法被鎖定。請確保未存檔的
|
||||
migration.title=升級加密庫
|
||||
## Start
|
||||
migration.start.header=升級加密庫
|
||||
migration.start.text=若要開啟%s加密庫,需要將加密庫升級至新的格式。在此之前,您需要先了解以下的事項:
|
||||
migration.start.remarkUndone=此升級操作無法撤銷或回復。
|
||||
migration.start.remarkVersions=舊版 Cryptomator 將無法開啟已升級的加密庫。
|
||||
migration.start.remarkCanRun=請確認所有可存取此加密檔案庫的裝置都可以運行這個版本的Cryptomator。
|
||||
migration.start.remarkSynced=您必須確保您的檔案庫在升級之前已經完整地同步到此設備及您的其他設備。
|
||||
migration.start.confirm=我已閱讀並理解上述資訊
|
||||
## Run
|
||||
migration.run.enterPassword=輸入「%s」的密碼
|
||||
@@ -213,6 +224,8 @@ health.check.detail.checkFinished=檢查順利完成。
|
||||
health.check.detail.checkFinishedAndFound=檢查結束,請查看結果。
|
||||
health.check.detail.checkFailed=檢查發生錯誤並意外退出。
|
||||
health.check.detail.checkCancelled=檢查被取消。
|
||||
health.check.detail.listFilters.label=過濾
|
||||
health.check.detail.fixAllSpecificBtn=修復所有類型
|
||||
health.check.exportBtn=匯出報告
|
||||
## Result view
|
||||
health.result.severityFilter.all=危良程度 - 全部
|
||||
@@ -261,7 +274,16 @@ preferences.interface.showMinimizeButton=顯示最小化按鈕
|
||||
preferences.interface.showTrayIcon=顯示系統工作列圖示 (需重新啟動)
|
||||
## Volume
|
||||
preferences.volume=虛擬磁碟
|
||||
preferences.volume.type=磁區類別(須重啟)
|
||||
preferences.volume.type.automatic=自動
|
||||
preferences.volume.docsTooltip=閱讀文檔以了解各加密空間類型。
|
||||
preferences.volume.tcp.port=TCP 埠
|
||||
preferences.volume.supportedFeatures=所選擇的磁區空間類別支援下列功能:
|
||||
preferences.volume.feature.mountAuto=自動選擇掛載路徑
|
||||
preferences.volume.feature.mountToDir=使用自訂資料夾路徑來掛載
|
||||
preferences.volume.feature.mountToDriveLetter=將驅動器字母分配為掛載點
|
||||
preferences.volume.feature.mountFlags=自訂掛載選項
|
||||
preferences.volume.feature.readOnly=唯讀掛載
|
||||
## Updates
|
||||
preferences.updates=更新
|
||||
preferences.updates.currentVersion=目前版本:%s
|
||||
@@ -284,27 +306,27 @@ stats.title=%s 的統計數據
|
||||
stats.cacheHitRate=快取命中率
|
||||
## Read
|
||||
stats.read.throughput.idle=讀取:閒置
|
||||
stats.read.throughput.kibs=讀取: %.2f kiB/s
|
||||
stats.read.throughput.kibs=讀取: %.2f KiB/s
|
||||
stats.read.throughput.mibs=讀取: %.2f MiB/s
|
||||
stats.read.total.data.none=資料讀取: -
|
||||
stats.read.total.data.kib=資料讀取: %.1f kiB
|
||||
stats.read.total.data.kib=資料讀取: %.1f KiB
|
||||
stats.read.total.data.mib=資料讀取: %.1f MiB
|
||||
stats.read.total.data.gib=資料讀取: %.1f GiB
|
||||
stats.decr.total.data.none=資料解密: -
|
||||
stats.decr.total.data.kib=資料解密: %.1f kiB
|
||||
stats.decr.total.data.kib=資料解密: %.1f KiB
|
||||
stats.decr.total.data.mib=資料解密: %.1f MiB
|
||||
stats.decr.total.data.gib=資料解密: %.1f GiB
|
||||
stats.read.accessCount=總讀取: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=寫入:閒置
|
||||
stats.write.throughput.kibs=寫入:%.2f kiB/s
|
||||
stats.write.throughput.kibs=寫入:%.2f KiB/s
|
||||
stats.write.throughput.mibs=寫入:%.2f MiB/s
|
||||
stats.write.total.data.none=資料寫入:-
|
||||
stats.write.total.data.kib=資料寫入:%.1f kiB
|
||||
stats.write.total.data.kib=資料寫入:%.1f KiB
|
||||
stats.write.total.data.mib=資料寫入:%.1f MiB
|
||||
stats.write.total.data.gib=資料寫入:%.1f GiB
|
||||
stats.encr.total.data.none=資料加密: -
|
||||
stats.encr.total.data.kib=資料加密:%.1f kiB
|
||||
stats.encr.total.data.kib=資料加密: %.1f KiB
|
||||
stats.encr.total.data.mib=資料加密: %.1f MiB
|
||||
stats.encr.total.data.gib=資料加密: %.1f GiB
|
||||
stats.write.accessCount=總寫入: %d
|
||||
@@ -342,13 +364,18 @@ main.vaultDetail.passwordSavedInKeychain=密碼已儲存
|
||||
main.vaultDetail.unlockedStatus=已解鎖
|
||||
main.vaultDetail.accessLocation=加密庫的內容可以在這裏存取
|
||||
main.vaultDetail.revealBtn=展示磁碟
|
||||
main.vaultDetail.copyUri=複製 URI
|
||||
main.vaultDetail.lockBtn=鎖定
|
||||
main.vaultDetail.bytesPerSecondRead=讀取:
|
||||
main.vaultDetail.bytesPerSecondWritten=寫入:
|
||||
main.vaultDetail.throughput.idle=閒置
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=加密庫統計數據
|
||||
main.vaultDetail.locateEncryptedFileBtn=顯示加密檔案路徑
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=選擇要顯示對應加密檔案路徑的加密檔案庫檔案
|
||||
main.vaultDetail.encryptedPathsCopied=路徑已複製到剪貼簿
|
||||
main.vaultDetail.filePickerTitle=從加密檔案庫中選擇檔案
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator 無法在指定位置找到加密庫。
|
||||
main.vaultDetail.missing.recheck=重新檢查
|
||||
@@ -387,13 +414,17 @@ vaultOptions.general.startHealthCheckBtn=開始狀態檢查
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=掛載
|
||||
vaultOptions.mount.info=選項會依據掛載磁區類別而變更。
|
||||
vaultOptions.mount.linkToPreferences=打開虛擬磁碟偏好設定
|
||||
vaultOptions.mount.readonly=唯讀
|
||||
vaultOptions.mount.customMountFlags=自訂掛載參數
|
||||
vaultOptions.mount.winDriveLetterOccupied=已使用
|
||||
vaultOptions.mount.mountPoint=掛載點
|
||||
vaultOptions.mount.mountPoint.auto=自動選取合適的位置
|
||||
vaultOptions.mount.mountPoint.driveLetter=使用指定的磁碟代號
|
||||
vaultOptions.mount.mountPoint.custom=使用選擇的路徑
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=選取…
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=選擇一個路徑
|
||||
## Master Key
|
||||
vaultOptions.masterkey=密碼
|
||||
vaultOptions.masterkey.changePasswordBtn=更改密碼
|
||||
@@ -414,7 +445,9 @@ recoveryKey.display.StorageHints=請把它保存在非常安全的地方,例
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=重設密碼
|
||||
recoveryKey.recover.prompt=輸入「%s」的復原金鑰:
|
||||
recoveryKey.recover.validKey=這是有效的復原金鑰
|
||||
recoveryKey.recover.correctKey=這是有效的復原金鑰
|
||||
recoveryKey.recover.wrongKey=此復原金鑰屬於另一個加密庫
|
||||
recoveryKey.recover.invalidKey=此復原金鑰無效
|
||||
recoveryKey.printout.heading=Cryptomator 復原金鑰\n「%s」\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=重設
|
||||
|
||||
@@ -6,7 +6,7 @@ generic.button.apply=套用
|
||||
generic.button.back=上一頁
|
||||
generic.button.cancel=取消
|
||||
generic.button.change=修改
|
||||
generic.button.choose=選取…
|
||||
generic.button.choose=选择...
|
||||
generic.button.close=關閉
|
||||
generic.button.copy=複製
|
||||
generic.button.copied=已複製!
|
||||
@@ -15,9 +15,9 @@ generic.button.next=繼續
|
||||
generic.button.print=列印
|
||||
|
||||
# Error
|
||||
error.message=錯誤:%s
|
||||
error.message=出現錯誤
|
||||
error.description=糟糕!Cryptomator 發生了預期外的錯誤。您可以嘗試查找該錯誤的現有解決方案,如果是新錯誤,請隨時向我們報告。
|
||||
error.hyperlink.lookup=查找該錯誤
|
||||
error.hyperlink.lookup=查找錯誤
|
||||
error.hyperlink.report=回報錯誤
|
||||
error.technicalDetails=詳情:
|
||||
|
||||
@@ -62,11 +62,11 @@ addvaultwizard.new.validCharacters.dashes=連字符 (%s) 或下劃線 (%s)
|
||||
### Password
|
||||
addvaultwizard.new.createVaultBtn=新建加密檔案庫
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=若您遺失密碼將無法存取您的資料。您是否希望建立一組在您遺失密碼時可供復原的金鑰?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=是,做好安全措施,以免後悔莫及。
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=否,不用,我不會丟失密碼
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=好的,有備無患
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=否,謝謝,我不會丟失密碼
|
||||
### Information
|
||||
addvault.new.readme.storageLocation.fileName=重要.rtf
|
||||
addvault.new.readme.storageLocation.1=⚠️ 加密檔案庫的檔案 ⚠️
|
||||
addvault.new.readme.storageLocation.1=⚠️ 加密檔案庫文件 ⚠️
|
||||
addvault.new.readme.storageLocation.2=這是您加密檔案庫儲存的位置。
|
||||
addvault.new.readme.storageLocation.3=不要
|
||||
addvault.new.readme.storageLocation.4=• 修改這個資料夾中的任何檔案或是
|
||||
@@ -85,9 +85,9 @@ addvault.new.readme.accessLocation.4=您可以放心移除這個檔案。
|
||||
addvaultwizard.existing.instruction=請選擇現有加密檔案庫中名為「vault.cryptomator」的檔案。如果只有一個名為「masterkey.cryptomator」的檔案,則選擇該檔案。
|
||||
addvaultwizard.existing.chooseBtn=選取…
|
||||
addvaultwizard.existing.filePickerTitle=選取加密檔案庫的檔案
|
||||
addvaultwizard.existing.filePickerMimeDesc=Cryptomator 加密庫
|
||||
addvaultwizard.existing.filePickerMimeDesc=Cryptomator 加密檔案庫
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=已加入加密檔案庫「%s」。您需要將這個加密檔案庫解鎖以存取內容,或是您也可以之後再解鎖。
|
||||
addvaultwizard.success.nextStepsInstructions=已加入加密檔案庫 "%s"。您需要將這個加密檔案庫解鎖以存取內容,或是您也可以之後再解鎖。
|
||||
addvaultwizard.success.unlockNow=立即解鎖
|
||||
|
||||
# Remove Vault
|
||||
@@ -98,7 +98,7 @@ removeVault.confirmBtn=移除加密檔案庫
|
||||
|
||||
# Change Password
|
||||
changepassword.title=變更密碼
|
||||
changepassword.enterOldPassword=輸入「%s」目前的密碼
|
||||
changepassword.enterOldPassword=輸入 "%s" 目前的密碼
|
||||
changepassword.finalConfirmation=我明白如果忘記密碼將無法存取資料
|
||||
|
||||
# Forget Password
|
||||
@@ -109,13 +109,13 @@ forgetPassword.confirmBtn=忘記密碼
|
||||
|
||||
# Unlock
|
||||
unlock.title=解鎖 %s
|
||||
unlock.passwordPrompt=輸入「%s」的密碼:
|
||||
unlock.passwordPrompt=輸入 "%s" 的密碼:
|
||||
unlock.savePassword=記住密碼
|
||||
unlock.unlockBtn=解鎖
|
||||
## Select
|
||||
unlock.chooseMasterkey.message=未找到Masterkey檔案
|
||||
unlock.chooseMasterkey.message=未找到主金鑰文件
|
||||
unlock.chooseMasterkey.description=無法在其預期位置找到此加密檔案庫的主密鑰檔案。請手動選擇密鑰文件。
|
||||
unlock.chooseMasterkey.filePickerTitle=選擇主金鑰檔案
|
||||
unlock.chooseMasterkey.filePickerTitle=选择主金鑰文件
|
||||
unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator 主密鑰
|
||||
## Success
|
||||
unlock.success.message=解鎖成功
|
||||
@@ -123,6 +123,10 @@ unlock.success.description=成功解鎖「%s」!您現在可以存取您的加
|
||||
unlock.success.rememberChoice=記得這個決定,不要再顯示
|
||||
unlock.success.revealBtn=顯示磁碟
|
||||
## Failure
|
||||
unlock.error.customPath.message=無法將檔案庫掛載至自訂路徑
|
||||
unlock.error.customPath.description.notSupported=如果要繼續使用自訂的掛載路徑,必須變更成支援的磁區空間類型,不然就必須使用不同的掛載路徑
|
||||
unlock.error.customPath.description.notExists=自訂的掛載路徑並不存在‧ 請在本機創立該路徑,或者在加密庫選項中更改
|
||||
unlock.error.customPath.description.generic=你選擇使用自訂的路徑來掛載此加密庫,但是掛載失敗,原因: %s
|
||||
## Hub
|
||||
hub.noKeychain.message=無法讀取裝置金鑰
|
||||
hub.noKeychain.description=需要由鑰匙圈保護的裝置金鑰才能解鎖Hub加密檔案庫。請先至偏好設定中啟用「%s」並選擇一組鑰匙圈。
|
||||
@@ -133,10 +137,10 @@ hub.auth.description=您將自動傳送到登入頁面。
|
||||
hub.auth.loginLink=未轉送?點擊這裡打開
|
||||
### Receive Key
|
||||
hub.receive.message=處理著回應…
|
||||
hub.receive.description=Cryptomator正在接收並處理來自Hub的回應。 請等待。
|
||||
hub.receive.description=Cryptomator 正在接收並處理來自 Hub 的回應, 請等待。
|
||||
### Register Device
|
||||
hub.register.message=需要設備名稱
|
||||
hub.register.description=似乎這是第一次Hub訪問此設備。為了識別它以授權讀取,您需要命名此設備。
|
||||
hub.register.description=似乎這是第一次 Hub 訪問此設備。為了辨識它以授權訪問,您需要命名此設備。
|
||||
hub.register.nameLabel=設備名稱
|
||||
hub.register.occupiedMsg=名稱已被使用
|
||||
hub.register.registerBtn=確認
|
||||
@@ -150,9 +154,8 @@ hub.registerFailed.description=命名過程中出現錯誤。更多詳情,請
|
||||
hub.unauthorized.message=拒絕存取
|
||||
hub.unauthorized.description=您的設備權限尚未允許存取檔案庫,請聯絡檔案庫擁有者
|
||||
### License Exceeded
|
||||
hub.licenseExceeded.message=软件許可已滿額
|
||||
hub.licenseExceeded.description=Cryptomator Hub已授權的使用者已超過軟件許可的數量。請聯絡您的Hub管理員升級許可證或聯絡檔案庫管理員移除用戶。
|
||||
|
||||
hub.invalidLicense.message=Hub 授權無效
|
||||
hub.invalidLicense.description=此 Cryptomator Hub 實例授權無效,請聯繫管理員升級或續訂授權。
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
@@ -161,7 +164,7 @@ lock.forced.description=仍有未完成的操作或開啟中的檔案以致無
|
||||
lock.forced.retryBtn=重試
|
||||
lock.forced.forceBtn=強制鎖定
|
||||
## Failure
|
||||
lock.fail.message=鎖定加密檔案庫失敗。
|
||||
lock.fail.message=鎖定加密檔案庫失敗
|
||||
lock.fail.description=加密檔案庫 "%s" 無法被鎖定。請確保未存檔的工作已儲存在別的地方以及重要的讀寫工作都已經完成。請強制結束 Cryptomator 以關閉加密檔案庫。
|
||||
|
||||
# Migration
|
||||
@@ -171,11 +174,12 @@ migration.start.header=升級加密檔案庫
|
||||
migration.start.text=為了在此新版的Cryptomator裡打開"%s"檔案庫,該檔案庫需要升級到新的格式。在此操作之前,您需要知道以下事項:
|
||||
migration.start.remarkUndone=此項升級無法還原。
|
||||
migration.start.remarkVersions=舊版的Cryptomator無法打開升級後的文库。
|
||||
migration.start.remarkCanRun=請確認所有可存取此加密庫的裝置都可以運行這個版本的Cryptomator.
|
||||
migration.start.remarkSynced=您必須確保您的檔案庫在升級之前已經完整地同步到此設備及您的其他設備。
|
||||
migration.start.confirm=我已閱讀並理解上述資訊
|
||||
## Run
|
||||
migration.run.enterPassword=輸入 "%s" 的密碼
|
||||
migration.run.startMigrationBtn=升級加密檔案庫
|
||||
migration.run.startMigrationBtn=迁移加密檔案庫
|
||||
migration.run.progressHint=這可能需要一點時間…
|
||||
## Success
|
||||
migration.success.nextStepsInstructions=已成功升級 "%s"。\n您現在可以解鎖您的加密檔案庫了。
|
||||
@@ -196,7 +200,7 @@ migration.impossible.moreInfo=此加密檔案庫仍可被舊版本開啟。如
|
||||
## Start
|
||||
health.title=對於"%s"的健康檢查
|
||||
health.intro.header=健康檢查
|
||||
health.intro.text=運行狀況檢查用於檢測並修復加密檔案庫內部結構中的問題。請記住:
|
||||
health.intro.text=運行狀況檢查包含一系列用於檢測並修復加密檔案庫內部結構中的問題的檢查。請記住:
|
||||
health.intro.remarkSync=確保所有設備完全同步,這可以解決大部分問題。
|
||||
health.intro.remarkFix=並非所有問題都可以解決。
|
||||
health.intro.remarkBackup=如果數據已損壞,則只有備份才有幫助。
|
||||
@@ -224,11 +228,16 @@ health.check.detail.listFilters.label=過濾
|
||||
health.check.detail.fixAllSpecificBtn=解決全部問題
|
||||
health.check.exportBtn=匯出報告
|
||||
## Result view
|
||||
health.result.severityFilter.all=過濾等級 - 所有
|
||||
health.result.severityFilter.good=良好
|
||||
health.result.severityFilter.info=訊息
|
||||
health.result.severityFilter.warn=警告
|
||||
health.result.severityFilter.crit=狀態嚴重
|
||||
health.result.severityFilter.crit=危急
|
||||
health.result.severityTip.good=程度: 良好\n加密庫結構完整
|
||||
health.result.severityTip.info=程度: 詳細\n加密庫結構完整,建議修復。
|
||||
health.result.severityTip.warn=嚴重性:警告\n檔案庫結構被破壞,強烈建議修復。
|
||||
health.result.severityTip.crit=嚴重性:嚴重\n檔案庫結構被破壞,數據已經丟失。
|
||||
health.result.fixStateFilter.all=修復狀態:全部
|
||||
health.result.fixStateFilter.all=修復狀態 - 全部
|
||||
health.result.fixStateFilter.fixable=可修復
|
||||
health.result.fixStateFilter.notFixable=無法修復
|
||||
health.result.fixStateFilter.fixing=修復中…
|
||||
@@ -258,14 +267,23 @@ preferences.interface.theme.light=亮色
|
||||
preferences.interface.unlockThemes=解鎖暗色模式
|
||||
preferences.interface.language=語言 (需要重新啟動)
|
||||
preferences.interface.language.auto=系統預設
|
||||
preferences.interface.interfaceOrientation=界面排版方向
|
||||
preferences.interface.interfaceOrientation=界面方向
|
||||
preferences.interface.interfaceOrientation.ltr=由左至右
|
||||
preferences.interface.interfaceOrientation.rtl=由右至左
|
||||
preferences.interface.showMinimizeButton=顯示最小化按鈕
|
||||
preferences.interface.showTrayIcon=顯示系統工作列圖示 (需要重新啟動)
|
||||
## Volume
|
||||
preferences.volume=虛擬磁碟
|
||||
preferences.volume.type.automatic=自動
|
||||
preferences.volume.type=磁區類別 (須重啟)
|
||||
preferences.volume.type.automatic=自动
|
||||
preferences.volume.docsTooltip=打開文檔以了解有關不同磁區類型更多信息。
|
||||
preferences.volume.tcp.port=TCP 埠
|
||||
preferences.volume.supportedFeatures=所選擇的磁區空間類別支援下列功能:
|
||||
preferences.volume.feature.mountAuto=自動選擇掛載路徑
|
||||
preferences.volume.feature.mountToDir=使用自訂資料夾路徑來掛載
|
||||
preferences.volume.feature.mountToDriveLetter=使用硬盤符號來當掛載路徑
|
||||
preferences.volume.feature.mountFlags=自訂掛載選項
|
||||
preferences.volume.feature.readOnly=唯讀掛載
|
||||
## Updates
|
||||
preferences.updates=更新
|
||||
preferences.updates.currentVersion=目前版本:%s
|
||||
@@ -288,27 +306,27 @@ stats.title=%s 統計數據
|
||||
stats.cacheHitRate=快取命中率
|
||||
## Read
|
||||
stats.read.throughput.idle=讀取:閒置
|
||||
stats.read.throughput.kibs=讀取:%.2f kiB/s
|
||||
stats.read.throughput.kibs=讀取: %.2f KiB/s
|
||||
stats.read.throughput.mibs=讀取:%.2f MiB/s
|
||||
stats.read.total.data.none=資料讀取:無
|
||||
stats.read.total.data.kib=資料讀取:%.1f kiB
|
||||
stats.read.total.data.kib=資料讀取: %.1f KiB
|
||||
stats.read.total.data.mib=資料讀取:%.1f MiB
|
||||
stats.read.total.data.gib=資料讀取:%.1f GiB
|
||||
stats.decr.total.data.none=資料解密:無
|
||||
stats.decr.total.data.kib=資料解密:%.1f kiB
|
||||
stats.decr.total.data.kib=資料解密: %.1f KiB
|
||||
stats.decr.total.data.mib=資料解密:%.1f MiB
|
||||
stats.decr.total.data.gib=資料解密:%.1f GiB
|
||||
stats.read.accessCount=總讀取:%d
|
||||
## Write
|
||||
stats.write.throughput.idle=寫入:閒置
|
||||
stats.write.throughput.kibs=寫入:%.2f kiB/s
|
||||
stats.write.throughput.kibs=寫入:%.2f KiB/s
|
||||
stats.write.throughput.mibs=寫入:%.2f MiB/s
|
||||
stats.write.total.data.none=已寫入資料:-
|
||||
stats.write.total.data.kib=資料寫入:%.1f kiB
|
||||
stats.write.total.data.kib=資料寫入:%.1f KiB
|
||||
stats.write.total.data.mib=資料寫入:%.1f MiB
|
||||
stats.write.total.data.gib=資料寫入:%.1f GiB
|
||||
stats.encr.total.data.none=資料加密:無
|
||||
stats.encr.total.data.kib=資料加密:%.1f kiB
|
||||
stats.encr.total.data.kib=資料加密: %.1f KiB
|
||||
stats.encr.total.data.mib=資料加密:%.1f MiB
|
||||
stats.encr.total.data.gib=資料加密:%.1f GiB
|
||||
stats.write.accessCount=總寫入:%d
|
||||
@@ -351,11 +369,11 @@ main.vaultDetail.lockBtn=鎖定
|
||||
main.vaultDetail.bytesPerSecondRead=讀取:
|
||||
main.vaultDetail.bytesPerSecondWritten=寫入:
|
||||
main.vaultDetail.throughput.idle=閒置
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=加密檔案庫統計數據
|
||||
main.vaultDetail.stats=加密檔案庫統計
|
||||
main.vaultDetail.locateEncryptedFileBtn=顯示加密檔案路徑
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=從加密檔案庫中選擇一個檔案來顯示相對應的加密檔案路徑
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=選擇要顯示對應加密檔案路徑的加密檔案庫檔案
|
||||
main.vaultDetail.encryptedPathsCopied=路徑已複製到剪貼簿
|
||||
main.vaultDetail.filePickerTitle=從加密檔案庫中選擇檔案
|
||||
### Missing
|
||||
@@ -374,7 +392,7 @@ main.vaultDetail.error.windowTitle=載入加密檔案庫時出錯
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=如何加密檔案
|
||||
wrongFileAlert.message=您試著加密這些檔案嗎?
|
||||
wrongFileAlert.description=如果是這樣,Cryptomator 可以在您的檔案總管裡產生一個磁區。
|
||||
wrongFileAlert.description=为此,Cryptomator 在您的檔案管裡器產生一個磁區。
|
||||
wrongFileAlert.instruction.0=請依下列步驟加密檔案:
|
||||
wrongFileAlert.instruction.1=1. 解鎖您的加密檔案庫。
|
||||
wrongFileAlert.instruction.2=2. 點擊「顯示」可在檔案總管中檢視磁區。
|
||||
@@ -389,13 +407,15 @@ vaultOptions.general.autoLock.lockAfterTimePart1=空閒時鎖定
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=分鐘
|
||||
vaultOptions.general.unlockAfterStartup=啟動 Cryptomator 時解鎖加密檔案庫
|
||||
vaultOptions.general.actionAfterUnlock=成功解鎖後
|
||||
vaultOptions.general.actionAfterUnlock.ignore=不執行任何動作
|
||||
vaultOptions.general.actionAfterUnlock.ignore=無動作
|
||||
vaultOptions.general.actionAfterUnlock.reveal=顯示磁碟
|
||||
vaultOptions.general.actionAfterUnlock.ask=詢問
|
||||
vaultOptions.general.startHealthCheckBtn=開始健康檢查
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=掛載
|
||||
vaultOptions.mount.info=選項會依據掛載磁區類別而變更
|
||||
vaultOptions.mount.linkToPreferences=打開虛擬磁碟偏好設定
|
||||
vaultOptions.mount.readonly=唯讀
|
||||
vaultOptions.mount.customMountFlags=自訂掛載參數
|
||||
vaultOptions.mount.winDriveLetterOccupied=已使用
|
||||
@@ -409,7 +429,7 @@ vaultOptions.mount.mountPoint.directoryPickerTitle=選擇一個路徑
|
||||
vaultOptions.masterkey=密碼
|
||||
vaultOptions.masterkey.changePasswordBtn=變更密碼
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=清除已存密碼
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=在您遺失密碼時,僅能以復原金鑰恢復存取。
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=如果您遺失密碼,恢復金鑰是您唯一恢復對保險箱存取權限的方法。
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=顯示復原金鑰
|
||||
vaultOptions.masterkey.recoverPasswordBtn=重設密碼
|
||||
|
||||
@@ -417,16 +437,18 @@ vaultOptions.masterkey.recoverPasswordBtn=重設密碼
|
||||
# Recovery Key
|
||||
## Display Recovery Key
|
||||
recoveryKey.display.title=顯示恢復金鑰
|
||||
recoveryKey.create.message=需要密碼
|
||||
recoveryKey.create.description=請輸入您的密碼以顯示 "%s" 的復原金鑰:
|
||||
recoveryKey.display.description=下方的復原金鑰可用來恢復 "%s" 的存取能力:
|
||||
recoveryKey.display.StorageHints=請把它保存在非常安全的地方,例如:\n • 使用密碼管理器保管\n • 存在 USB 隨身碟裡\n • 印在紙上
|
||||
recoveryKey.create.message=需要填寫密碼
|
||||
recoveryKey.create.description=請輸入您的密碼以顯示 "%s" 的恢復金鑰:
|
||||
recoveryKey.display.description=下方的恢復金鑰可用來恢復 "%s" 的存取能力:
|
||||
recoveryKey.display.StorageHints=請把它保存在安全的地方,例如:\n • 使用密碼管理器保管\n • 存在 USB 隨身碟裡\n • 列印在紙上
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=重設密碼
|
||||
recoveryKey.recover.prompt=輸入 "%s" 的復原金鑰:
|
||||
recoveryKey.recover.validKey=這是有效的復原金鑰
|
||||
recoveryKey.printout.heading=Cryptomator 復原金鑰\n"%s"\n
|
||||
recoveryKey.recover.prompt=輸入 "%s" 的恢復金鑰:
|
||||
recoveryKey.recover.correctKey=這是一個正確的恢復金鑰
|
||||
recoveryKey.recover.wrongKey=此恢復金鑰屬於不同的加密檔案庫
|
||||
recoveryKey.recover.invalidKey=這是一個無效的恢復金鑰
|
||||
recoveryKey.printout.heading=Cryptomator 恢復金鑰\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=重設
|
||||
### Recovery Key Password Reset Success
|
||||
@@ -437,7 +459,7 @@ recoveryKey.recover.resetSuccess.description=您可以用新設的密碼解鎖
|
||||
newPassword.promptText=輸入新密碼
|
||||
newPassword.reenterPassword=確認新密碼
|
||||
newPassword.passwordsMatch=密碼相符!
|
||||
newPassword.passwordsDoNotMatch=密碼不符
|
||||
newPassword.passwordsDoNotMatch=密碼不符!
|
||||
passwordStrength.messageLabel.tooShort=密碼長度至少需 %d 個字元
|
||||
passwordStrength.messageLabel.0=非常弱
|
||||
passwordStrength.messageLabel.1=弱
|
||||
@@ -446,12 +468,12 @@ passwordStrength.messageLabel.3=強
|
||||
passwordStrength.messageLabel.4=非常強
|
||||
|
||||
# Quit
|
||||
quit.title=結束應用程式
|
||||
quit.message=仍有已啟用的檔案庫
|
||||
quit.description=請確認結束動作。Cryptomator將會鎖定所有已開啟的檔案庫以防止資料流失。
|
||||
quit.title=結束程式
|
||||
quit.message=仍有已解鎖的檔案庫
|
||||
quit.description=請確認結束動作。Cryptomator將會適時地鎖定所有已解鎖的檔案庫以防止資料流失。
|
||||
quit.lockAndQuitBtn=鎖定並離開
|
||||
|
||||
# Forced Quit
|
||||
quit.forced.message=某些檔案庫無法鎖定
|
||||
quit.forced.description=仍有未完成的作業或開啟中的檔案以致無法鎖定。您可以強制鎖定這個檔案庫,不過中斷讀寫可能會導致資料遺失或未被儲存。
|
||||
quit.forced.description=因為進行中的操作或已經打開的檔案被阻止,無法鎖定加密檔案庫。您可以強制鎖定其餘的加密檔案庫,但請注意,中斷讀寫可能導致未保存的數據丟失。
|
||||
quit.forced.forceAndQuitBtn=強制並結束
|
||||
+19
-1
@@ -38,7 +38,7 @@
|
||||
<!-- Apache Commons-cli false positives below -->
|
||||
<suppress>
|
||||
<notes><![CDATA[
|
||||
False positive for commons-cli due, see https://github.com/jeremylong/DependencyCheck/pull/4148
|
||||
False positive for commons-cli due, see https://github.com/jeremylong/DependencyCheck/pull/4148
|
||||
]]></notes>
|
||||
<gav regex="true">^commons\-cli:commons\-cli:.*$</gav>
|
||||
<cpe>cpe:/a:apache:james</cpe>
|
||||
@@ -46,4 +46,22 @@
|
||||
<cpe>cpe:/a:spirit-project:spirit</cpe>
|
||||
<cpe>cpe:/a:apache:commons_net</cpe>
|
||||
</suppress>
|
||||
|
||||
<suppress>
|
||||
<notes><![CDATA[
|
||||
False positive for jackson-core-2.13.4.jar, see https://github.com/jeremylong/DependencyCheck/issues/5502
|
||||
]]></notes>
|
||||
<packageUrl regex="true">^pkg:maven/com\.fasterxml\.jackson\.core/jackson\-core@.*$</packageUrl>
|
||||
<cve>CVE-2022-45688</cve>
|
||||
</suppress>
|
||||
|
||||
<suppress>
|
||||
<notes><![CDATA[
|
||||
Suppress false positive, because com.google.common.io.Files.getTempDir() is not used
|
||||
]]></notes>
|
||||
<packageUrl regex="true">^pkg:maven/com\.google\.guava/guava@.*$</packageUrl>
|
||||
<vulnerabilityName>CVE-2020-8908</vulnerabilityName>
|
||||
<cve>CVE-2020-8908</cve>
|
||||
</suppress>
|
||||
|
||||
</suppressions>
|
||||
Reference in New Issue
Block a user