mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-23 05:01:28 +00:00
Compare commits
2 Commits
1.19.0-rc1
...
ci/windows
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a1f58ffb0e | ||
|
|
f21fae5b47 |
3
.github/dependabot.yml
vendored
3
.github/dependabot.yml
vendored
@@ -14,9 +14,6 @@ updates:
|
||||
versions: ["2.0.1.MR"]
|
||||
- dependency-name: "org.openjfx:*"
|
||||
update-types: ["version-update:semver-major"]
|
||||
# due to https://github.com/fabriciorby/maven-surefire-junit5-tree-reporter/issues/68
|
||||
- dependency-name: "org.apache.maven.plugins:maven-surefire-plugin"
|
||||
versions: [ "3.5.4", "3.5.5" ]
|
||||
groups:
|
||||
java-test-dependencies:
|
||||
patterns:
|
||||
|
||||
120
.github/workflows/appimage.yml
vendored
120
.github/workflows/appimage.yml
vendored
@@ -8,10 +8,6 @@ on:
|
||||
version:
|
||||
description: 'Version'
|
||||
required: false
|
||||
create-pr:
|
||||
description: 'Create a PR for aur-bin repo'
|
||||
type: boolean
|
||||
default: false
|
||||
push:
|
||||
branches-ignore:
|
||||
- 'dependabot/**'
|
||||
@@ -35,22 +31,18 @@ jobs:
|
||||
name: Build AppImage
|
||||
runs-on: ${{ matrix.os }}
|
||||
needs: [get-version]
|
||||
env:
|
||||
SEMVER_STR: ${{ needs.get-version.outputs.semVerStr }}
|
||||
SEMVER_NUM: ${{ needs.get-version.outputs.semVerNum }}
|
||||
REV_NUM: ${{ needs.get-version.outputs.revNum }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-latest
|
||||
arch: x86_64
|
||||
openjfx-url: 'https://download2.gluonhq.com/openjfx/25.0.2/openjfx-25.0.2_linux-x64_bin-jmods.zip'
|
||||
openjfx-sha: 'e0a9c29d8cf3af9b8b48848b43f87b5785bc107c53a951b19668ce05842bba1b'
|
||||
appimage-suffix: x86_64
|
||||
openjfx-url: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_linux-x64_bin-jmods.zip'
|
||||
openjfx-sha: '96e520f48610d8ffb94ca30face1f11ffe8a977ddc1c4ff80b1a9e9f048bd94e'
|
||||
- os: ubuntu-24.04-arm
|
||||
arch: aarch64
|
||||
openjfx-url: 'https://download2.gluonhq.com/openjfx/25.0.2/openjfx-25.0.2_linux-aarch64_bin-jmods.zip'
|
||||
openjfx-sha: 'c3408f818693cce09e59829a8e862a82c7695fdfcd585c41cfd527f5fc3fe646'
|
||||
appimage-suffix: aarch64
|
||||
openjfx-url: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_linux-aarch64_bin-jmods.zip'
|
||||
openjfx-sha: '9ad4ca7b769ca4ee6419f1e99143dd6ff812f8be4fddb46a7d7cacbeea148af4'
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup Java
|
||||
@@ -63,7 +55,7 @@ jobs:
|
||||
- name: Download OpenJFX jmods
|
||||
id: download-jmods
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L ${{ matrix.openjfx-url }} -o openjfx-jmods.zip
|
||||
curl -L ${{ matrix.openjfx-url }} -o openjfx-jmods.zip
|
||||
echo "${{ matrix.openjfx-sha }} openjfx-jmods.zip" | shasum -a256 --check
|
||||
mkdir -p openjfx-jmods
|
||||
unzip -j openjfx-jmods.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d openjfx-jmods
|
||||
@@ -81,7 +73,7 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
- name: Set version
|
||||
run : mvn versions:set -DnewVersion="$SEMVER_STR"
|
||||
run : mvn versions:set -DnewVersion=${{ needs.get-version.outputs.semVerStr }}
|
||||
- name: Run maven
|
||||
run: mvn -B clean package -Plinux -DskipTests
|
||||
- name: Patch target dir
|
||||
@@ -102,15 +94,13 @@ jobs:
|
||||
${JAVA_HOME}/bin/jlink
|
||||
--verbose
|
||||
--output runtime
|
||||
--module-path "${JMOD_PATHS}"
|
||||
--module-path "${{ steps.jep-493-check.outputs.jmod_paths }}"
|
||||
--add-modules java.base,java.desktop,java.instrument,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,javafx.base,javafx.graphics,javafx.controls,javafx.fxml,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.unsupported,jdk.security.auth,jdk.accessibility,jdk.management.jfr,jdk.net,java.compiler
|
||||
--strip-native-commands
|
||||
--no-header-files
|
||||
--no-man-pages
|
||||
--strip-debug
|
||||
--compress zip-0
|
||||
env:
|
||||
JMOD_PATHS: ${{ steps.jep-493-check.outputs.jmod_paths }}
|
||||
- name: Run jpackage
|
||||
run: >
|
||||
${JAVA_HOME}/bin/jpackage
|
||||
@@ -124,12 +114,12 @@ jobs:
|
||||
--name Cryptomator
|
||||
--vendor "Skymatic GmbH"
|
||||
--copyright "(C) 2016 - 2025 Skymatic GmbH"
|
||||
--app-version "${SEMVER_NUM}.${REV_NUM}"
|
||||
--app-version "${{ needs.get-version.outputs.semVerNum }}.${{ needs.get-version.outputs.revNum }}"
|
||||
--java-options "--enable-preview"
|
||||
--java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.linux.amd64,org.cryptomator.jfuse.linux.aarch64,org.purejava.appindicator"
|
||||
--java-options "-Xss5m"
|
||||
--java-options "-Xmx256m"
|
||||
--java-options "-Dcryptomator.appVersion=\"${SEMVER_STR}\""
|
||||
--java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\""
|
||||
--java-options "-Dfile.encoding=\"utf-8\""
|
||||
--java-options "-Djava.net.useSystemProxies=true"
|
||||
--java-options "-Dcryptomator.adminConfigPath=\"/etc/cryptomator/config.properties\""
|
||||
@@ -140,7 +130,7 @@ jobs:
|
||||
--java-options "-Dcryptomator.mountPointsDir=\"@{userhome}/.local/share/Cryptomator/mnt\""
|
||||
--java-options "-Dcryptomator.showTrayIcon=true"
|
||||
--java-options "-Dcryptomator.integrationsLinux.trayIconsDir=\"@{appdir}/usr/share/icons/hicolor/symbolic/apps\""
|
||||
--java-options "-Dcryptomator.buildNumber=\"appimage-${REV_NUM}\""
|
||||
--java-options "-Dcryptomator.buildNumber=\"appimage-${{ needs.get-version.outputs.revNum }}\""
|
||||
--java-options "-Dcryptomator.networking.truststore.p12Path=\"/etc/cryptomator/certs.p12\""
|
||||
--java-options "-XX:ErrorFile=/cryptomator/cryptomator_crash.log"
|
||||
--resource-dir dist/linux/resources
|
||||
@@ -165,7 +155,7 @@ jobs:
|
||||
ln -s bin/cryptomator.sh Cryptomator.AppDir/AppRun
|
||||
- name: Download AppImageKit
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-${{ matrix.arch }}.AppImage" -o appimagetool.AppImage
|
||||
curl -L https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-${{ matrix.appimage-suffix }}.AppImage -o appimagetool.AppImage
|
||||
chmod +x appimagetool.AppImage
|
||||
./appimagetool.AppImage --appimage-extract
|
||||
- name: Prepare GPG-Agent for signing with key 615D449FE6E6A235
|
||||
@@ -177,17 +167,17 @@ jobs:
|
||||
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
|
||||
- name: Build AppImage
|
||||
run: >
|
||||
./squashfs-root/AppRun Cryptomator.AppDir cryptomator-${SEMVER_STR}-${{ matrix.arch }}.AppImage
|
||||
-u "gh-releases-zsync|cryptomator|cryptomator|latest|cryptomator-*-${{ matrix.arch }}.AppImage.zsync"
|
||||
./squashfs-root/AppRun Cryptomator.AppDir cryptomator-${{ needs.get-version.outputs.semVerStr }}-${{ matrix.appimage-suffix }}.AppImage
|
||||
-u "gh-releases-zsync|cryptomator|cryptomator|latest|cryptomator-*-${{ matrix.appimage-suffix }}.AppImage.zsync"
|
||||
--sign --sign-key=615D449FE6E6A235
|
||||
- name: Create detached GPG signatures
|
||||
run: |
|
||||
gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a cryptomator-*.AppImage
|
||||
gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a cryptomator-*.AppImage.zsync
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
|
||||
with:
|
||||
name: appimage-${{ matrix.arch }}
|
||||
name: appimage-${{ matrix.appimage-suffix }}
|
||||
path: |
|
||||
cryptomator-*.AppImage
|
||||
cryptomator-*.AppImage.zsync
|
||||
@@ -206,77 +196,65 @@ jobs:
|
||||
|
||||
create-aur-bin-pr:
|
||||
name: Create PR for aur-bin repo
|
||||
if: github.event_name == 'workflow_dispatch' && inputs.create-pr || github.event_name == 'release' && needs.get-version.outputs.versionType == 'stable'
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build, get-version]
|
||||
container:
|
||||
image: archlinux:base-devel
|
||||
env:
|
||||
SEMVER_STR: ${{ needs.get-version.outputs.semVerStr }}
|
||||
PKGDEST: ${{ github.workspace }}/pkgdest
|
||||
SRCDEST: ${{ github.workspace }}/srcdest
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'release' && needs.get-version.outputs.versionType == 'stable'
|
||||
steps:
|
||||
- name: Prepare pacman
|
||||
- name: Download AppImages
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
|
||||
with:
|
||||
path: downloads/
|
||||
merge-multiple: true
|
||||
- name: Compute sha256 hash of AppImages
|
||||
id: checksums
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman-key --populate archlinux
|
||||
pacman -Syu --noconfirm --needed git base-devel sudo gnupg maven unzip github-cli curl pacman-contrib
|
||||
- name: Checkout cryptomator/aur-bin
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
X64_SHA256=$(sha256sum downloads/cryptomator-*-x86_64.AppImage | cut -d ' ' -f1)
|
||||
echo "x64-sha256sum=${X64_SHA256}" >> "$GITHUB_OUTPUT"
|
||||
AARCH64_SHA256=$(sha256sum downloads/cryptomator-*-aarch64.AppImage | cut -d ' ' -f1)
|
||||
echo "aarch64-sha256sum=${AARCH64_SHA256}" >> "$GITHUB_OUTPUT"
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
repository: 'cryptomator/aur-bin'
|
||||
token: ${{ secrets.CRYPTOBOT_PR_TOKEN }}
|
||||
- name: Create build user
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
useradd -m builder
|
||||
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/builder
|
||||
chown -R builder:builder "$GITHUB_WORKSPACE"
|
||||
install -d -m 0755 -o builder -g builder "$PKGDEST" "$SRCDEST"
|
||||
- name: Import Cryptomator release signing key
|
||||
# try first ubuntu. on failure try openpgp keyservers
|
||||
run: >
|
||||
sudo -u builder gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 58117AFA1F85B3EEC154677D615D449FE6E6A235
|
||||
|| sudo -u builder gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys 58117AFA1F85B3EEC154677D615D449FE6E6A235
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install makepkg pacman-package-manager
|
||||
- name: Checkout release branch
|
||||
run: |
|
||||
git config --global safe.directory '*'
|
||||
git checkout -b "release/${SEMVER_STR}"
|
||||
git checkout -b release/${{ needs.get-version.outputs.semVerStr }}
|
||||
- name: Update build file
|
||||
run: |
|
||||
sed -i -e "s|^pkgver=.*$|pkgver=${SEMVER_STR}|" PKGBUILD
|
||||
sed -i -e 's|^pkgver=.*$|pkgver=${{ needs.get-version.outputs.semVerStr }}|' PKGBUILD
|
||||
sed -i -e 's|^pkgrel=.*$|pkgrel=1|' PKGBUILD
|
||||
sudo -u builder updpkgsums
|
||||
sudo -u builder makepkg --printsrcinfo > .SRCINFO
|
||||
- name: Build package with makepkg
|
||||
run: >
|
||||
sudo -u builder
|
||||
env PKGDEST="$PKGDEST" SRCDEST="$SRCDEST"
|
||||
makepkg --syncdeps --cleanbuild --noconfirm --log
|
||||
sed -i -e "s|^sha256sums_x86_64=.*$|sha256sums_x86_64=('${{ steps.checksums.outputs.x64-sha256sum }}'|" PKGBUILD
|
||||
sed -i -e "s|^sha256sums_aarch64=.*$|sha256sums_aarch64=('${{ steps.checksums.outputs.aarch64-sha256sum}}'|" PKGBUILD
|
||||
makepkg --printsrcinfo > .SRCINFO
|
||||
- name: Commit and push
|
||||
run: |
|
||||
git config user.name "cryptobot"
|
||||
git config user.email "cryptobot@users.noreply.github.com"
|
||||
git config user.name "${{ github.actor }}"
|
||||
git config user.email "${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com"
|
||||
git config push.autoSetupRemote true
|
||||
git stage PKGBUILD .SRCINFO
|
||||
git commit -m "Prepare release ${SEMVER_STR}"
|
||||
git stage .
|
||||
git commit -m "Prepare release ${{needs.get-version.outputs.semVerStr}}"
|
||||
git push
|
||||
- name: Create pull request
|
||||
id: create-pr
|
||||
run: |
|
||||
printf "Created by $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" > pr_body.md
|
||||
PR_URL=$(gh pr create --title "Release ${SEMVER_STR}" --body-file pr_body.md)
|
||||
echo "url=$PR_URL" >> "$GITHUB_OUTPUT"
|
||||
printf "> [!IMPORTANT]\n> Todos:\n> - [ ] Update build instructions\n> - [ ] Check for JDK update\n> - [ ] Check for JFX update" > pr_body.md
|
||||
URL=$(gh pr create --title "Release ${{ needs.get-version.outputs.semVerStr }}" --body-file pr_body.md)
|
||||
echo "PR_URL=$URL" >> "$GITHUB_OUTPUT"
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.CRYPTOBOT_PR_TOKEN }}
|
||||
- name: Slack Notification
|
||||
uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 # v2.3.3
|
||||
env:
|
||||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_CRYPTOMATOR_DESKTOP }}
|
||||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
SLACK_USERNAME: 'Cryptobot'
|
||||
SLACK_ICON: false
|
||||
SLACK_ICON_EMOJI: ':bot:'
|
||||
SLACK_CHANNEL: 'cryptomator-desktop'
|
||||
SLACK_TITLE: "AUR-bin release PR for ${{ github.event.repository.name }} ${{ needs.get-version.outputs.semVerStr }} created."
|
||||
SLACK_MESSAGE: "See <${{ steps.create-pr.outputs.url }}|PR> on how to proceed."
|
||||
SLACK_TITLE: "AUR-bin release PR for ${{ github.event.repository.name }} ${{ github.event.release.tag_name }} created."
|
||||
SLACK_MESSAGE: "See <${{ steps.create-pr.outputs.PR_URL }}|PR> on how to proceed."
|
||||
SLACK_FOOTER: false
|
||||
MSG_MINIMAL: true
|
||||
|
||||
95
.github/workflows/aur.yml
vendored
Normal file
95
.github/workflows/aur.yml
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
name: Create PR for AUR
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: 'Release tag'
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
get-version:
|
||||
uses: ./.github/workflows/get-version.yml
|
||||
with:
|
||||
version: ${{ inputs.tag }}
|
||||
tarball:
|
||||
name: Determines tarball url and compute checksum
|
||||
runs-on: ubuntu-latest
|
||||
needs: [get-version]
|
||||
if: github.event_name == 'workflow_dispatch' || needs.get-version.outputs.versionType == 'stable'
|
||||
env:
|
||||
INPUT_TAG: ${{ inputs.tag }}
|
||||
outputs:
|
||||
url: ${{ steps.url.outputs.url}}
|
||||
sha256: ${{ steps.sha256.outputs.sha256}}
|
||||
steps:
|
||||
- name: Determine tarball url
|
||||
id: url
|
||||
run: |
|
||||
URL="";
|
||||
if [[ -n "${INPUT_TAG}" ]]; then
|
||||
URL="https://github.com/cryptomator/cryptomator/archive/refs/tags/${INPUT_TAG}.tar.gz"
|
||||
else
|
||||
URL="https://github.com/cryptomator/cryptomator/archive/refs/tags/${{ github.event.release.tag_name }}.tar.gz"
|
||||
fi
|
||||
echo "url=${URL}" >> "$GITHUB_OUTPUT"
|
||||
- name: Download source tarball and compute checksum
|
||||
id: sha256
|
||||
run: |
|
||||
curl --silent --fail-with-body -L -H "Accept: application/vnd.github+json" ${{ steps.url.outputs.url }} --output cryptomator.tar.gz
|
||||
TARBALL_SHA256=$(sha256sum cryptomator.tar.gz | cut -d ' ' -f1)
|
||||
echo "sha256=${TARBALL_SHA256}" >> "$GITHUB_OUTPUT"
|
||||
aur:
|
||||
name: Create PR for AUR
|
||||
runs-on: ubuntu-latest
|
||||
needs: [tarball, get-version]
|
||||
env:
|
||||
AUR_PR_URL: tbd
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
repository: 'cryptomator/aur'
|
||||
token: ${{ secrets.CRYPTOBOT_PR_TOKEN }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install makepkg pacman-package-manager
|
||||
- name: Checkout release branch
|
||||
run: |
|
||||
git checkout -b release/${{ needs.get-version.outputs.semVerStr }}
|
||||
- name: Update build file
|
||||
run: |
|
||||
sed -i -e 's|^pkgver=.*$|pkgver=${{ needs.get-version.outputs.semVerStr }}|' PKGBUILD
|
||||
sed -i -e 's|^pkgrel=.*$|pkgrel=1|' PKGBUILD
|
||||
sed -i -e "s|^sha256sums=.*$|sha256sums=('${{ needs.tarball.outputs.sha256 }}'|" PKGBUILD
|
||||
makepkg --printsrcinfo > .SRCINFO
|
||||
- name: Commit and push
|
||||
run: |
|
||||
git config user.name "${{ github.actor }}"
|
||||
git config user.email "${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com"
|
||||
git config push.autoSetupRemote true
|
||||
git stage .
|
||||
git commit -m "Prepare release ${{needs.get-version.outputs.semVerStr}}"
|
||||
git push
|
||||
- name: Create pull request
|
||||
run: |
|
||||
printf "> [!IMPORTANT]\n> Todos:\n> - [ ] Update build instructions\n> - [ ] Check for JDK update\n> - [ ] Check for JFX update" > pr_body.md
|
||||
PR_URL=$(gh pr create --title "Release ${{ needs.get-version.outputs.semVerStr }}" --body-file pr_body.md)
|
||||
echo "AUR_PR_URL=$PR_URL" >> "$GITHUB_ENV"
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.CRYPTOBOT_PR_TOKEN }}
|
||||
- name: Slack Notification
|
||||
if: github.event_name == 'release'
|
||||
uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 # v2.3.3
|
||||
env:
|
||||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
SLACK_USERNAME: 'Cryptobot'
|
||||
SLACK_ICON: false
|
||||
SLACK_ICON_EMOJI: ':bot:'
|
||||
SLACK_CHANNEL: 'cryptomator-desktop'
|
||||
SLACK_TITLE: "AUR release PR created for ${{ github.event.repository.name }} ${{ github.event.release.tag_name }} created."
|
||||
SLACK_MESSAGE: "See <${{ env.AUR_PR_URL }}|PR> on how to proceed."
|
||||
SLACK_FOOTER: false
|
||||
MSG_MINIMAL: true
|
||||
8
.github/workflows/av-whitelist.yml
vendored
8
.github/workflows/av-whitelist.yml
vendored
@@ -49,9 +49,9 @@ jobs:
|
||||
url="${INPUT_URL}"
|
||||
echo "fileName=${url##*/}" >> $GITHUB_OUTPUT
|
||||
- name: Download file
|
||||
run: curl --silent --fail-with-body --proto "=https" -L "${INPUT_URL}" -o "${{steps.extractName.outputs.fileName}}"
|
||||
run: curl "${INPUT_URL}" -L -o "${{steps.extractName.outputs.fileName}}" --fail-with-body
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
|
||||
with:
|
||||
name: ${{ steps.extractName.outputs.fileName }}
|
||||
path: ${{ steps.extractName.outputs.fileName }}
|
||||
@@ -63,7 +63,7 @@ jobs:
|
||||
if: inputs.kaspersky
|
||||
steps:
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
|
||||
with:
|
||||
name: ${{ needs.download-file.outputs.fileName }}
|
||||
path: upload
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
if: inputs.avast
|
||||
steps:
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
|
||||
with:
|
||||
name: ${{ needs.download-file.outputs.fileName }}
|
||||
path: upload
|
||||
|
||||
14
.github/workflows/debian.yml
vendored
14
.github/workflows/debian.yml
vendored
@@ -25,10 +25,10 @@ env:
|
||||
JAVA_DIST: 'temurin'
|
||||
JAVA_VERSION: '25.0.2+10.0.LTS'
|
||||
DEB_BUILD_DEPENDS: 'debhelper (>=10), openjdk-25-jdk (>= 25+36), libgtk-3-0 (>= 3.20.0), libxxf86vm1, libgl1'
|
||||
OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/25.0.2/openjfx-25.0.2_linux-x64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AMD64_HASH: 'e0a9c29d8cf3af9b8b48848b43f87b5785bc107c53a951b19668ce05842bba1b'
|
||||
OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/25.0.2/openjfx-25.0.2_linux-aarch64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AARCH64_HASH: 'c3408f818693cce09e59829a8e862a82c7695fdfcd585c41cfd527f5fc3fe646'
|
||||
OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_linux-x64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AMD64_HASH: '96e520f48610d8ffb94ca30face1f11ffe8a977ddc1c4ff80b1a9e9f048bd94e'
|
||||
OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_linux-aarch64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AARCH64_HASH: '9ad4ca7b769ca4ee6419f1e99143dd6ff812f8be4fddb46a7d7cacbeea148af4'
|
||||
|
||||
jobs:
|
||||
get-version:
|
||||
@@ -71,11 +71,11 @@ jobs:
|
||||
- name: Download OpenJFX jmods
|
||||
id: download-jmods
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L ${{ env.OPENJFX_JMODS_AMD64 }} -o openjfx-amd64.zip
|
||||
curl -L ${{ env.OPENJFX_JMODS_AMD64 }} -o openjfx-amd64.zip
|
||||
echo "${{ env.OPENJFX_JMODS_AMD64_HASH }} openjfx-amd64.zip" | shasum -a256 --check
|
||||
mkdir -p jmods/amd64
|
||||
unzip -j openjfx-amd64.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d jmods/amd64
|
||||
curl --silent --fail-with-body --proto "=https" -L ${{ env.OPENJFX_JMODS_AARCH64 }} -o openjfx-aarch64.zip
|
||||
curl -L ${{ env.OPENJFX_JMODS_AARCH64 }} -o openjfx-aarch64.zip
|
||||
echo "${{ env.OPENJFX_JMODS_AARCH64_HASH }} openjfx-aarch64.zip" | shasum -a256 --check
|
||||
mkdir -p jmods/aarch64
|
||||
unzip -j openjfx-aarch64.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d jmods/aarch64
|
||||
@@ -143,7 +143,7 @@ jobs:
|
||||
run: |
|
||||
gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a cryptomator_*_amd64.deb
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
|
||||
with:
|
||||
name: linux-deb-package
|
||||
path: |
|
||||
|
||||
2
.github/workflows/flathub.yml
vendored
2
.github/workflows/flathub.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
- name: Download source tarball and compute checksum
|
||||
id: sha512
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L -H "Accept: application/vnd.github+json" ${{ steps.url.outputs.url }} --output cryptomator.tar.gz
|
||||
curl --silent --fail-with-body -L -H "Accept: application/vnd.github+json" ${{ steps.url.outputs.url }} --output cryptomator.tar.gz
|
||||
TARBALL_SHA512=$(sha512sum cryptomator.tar.gz | cut -d ' ' -f1)
|
||||
echo "sha512=${TARBALL_SHA512}" >> "$GITHUB_OUTPUT"
|
||||
flathub:
|
||||
|
||||
200
.github/workflows/linux-makepkg.yml
vendored
200
.github/workflows/linux-makepkg.yml
vendored
@@ -1,200 +0,0 @@
|
||||
name: Build Arch package
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'Version'
|
||||
required: false
|
||||
create-pr:
|
||||
description: 'Create a PR for aur repo'
|
||||
type: boolean
|
||||
default: false
|
||||
push:
|
||||
branches-ignore:
|
||||
- 'dependabot/**'
|
||||
paths:
|
||||
- '.github/workflows/linux-makepkg.yml'
|
||||
- 'dist/linux/makepkg/**'
|
||||
- 'dist/linux/common/**'
|
||||
- 'dist/linux/resources/**'
|
||||
|
||||
jobs:
|
||||
get-version:
|
||||
uses: ./.github/workflows/get-version.yml
|
||||
with:
|
||||
version: ${{ inputs.version }}
|
||||
|
||||
makepkg:
|
||||
name: Build with makepkg
|
||||
needs: [get-version]
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: archlinux:base-devel
|
||||
env:
|
||||
PKGDEST: ${{ github.workspace }}/pkgdest
|
||||
SRCDEST: ${{ github.workspace }}/srcdest
|
||||
steps:
|
||||
- name: Prepare pacman
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman-key --populate archlinux
|
||||
pacman -Syu --noconfirm --needed git base-devel sudo gnupg maven unzip
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
path: cryptomator
|
||||
- name: Create build user
|
||||
run: |
|
||||
useradd -m builder
|
||||
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/builder
|
||||
chown -R builder:builder "$GITHUB_WORKSPACE"
|
||||
install -d -m 0755 -o builder -g builder "$PKGDEST" "$SRCDEST"
|
||||
- name: Prepare PKGBUILD
|
||||
# cannot use github.workspace due to https://github.com/actions/runner/issues/2058
|
||||
run: |
|
||||
export SOURCES="${SOURCES_1}${GITHUB_WORKSPACE}${SOURCES_2}"
|
||||
envsubst '$PKG_VERSION $PKG_RELEASE $SOURCES $SOURCES_SHA' < cryptomator/dist/linux/makepkg/PKGBUILD.template > PKGBUILD
|
||||
env:
|
||||
PKG_VERSION: ${{ needs.get-version.outputs.semVerNum }}
|
||||
PKG_RELEASE: 1
|
||||
SOURCES_1: '"${_src_app_dir}::git+file://'
|
||||
SOURCES_2: '/cryptomator"'
|
||||
SOURCES_SHA: "'SKIP'"
|
||||
- name: Build package with makepkg
|
||||
run: >
|
||||
sudo -u builder
|
||||
env PKGDEST="$PKGDEST" SRCDEST="$SRCDEST"
|
||||
makepkg --syncdeps --cleanbuild --noconfirm --log
|
||||
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
with:
|
||||
name: arch-package
|
||||
if-no-files-found: error
|
||||
path: |
|
||||
${{ env.PKGDEST }}/*.pkg.tar.zst
|
||||
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
with:
|
||||
name: pkgbuild-file
|
||||
if-no-files-found: error
|
||||
path: |
|
||||
cryptomator/dist/linux/makepkg/PKGBUILD.template
|
||||
|
||||
create-pr:
|
||||
name: Create PR for aur repo
|
||||
if: github.event_name == 'workflow_dispatch' && inputs.create-pr || github.event_name == 'release' && needs.get-version.outputs.versionType == 'stable'
|
||||
runs-on: ubuntu-latest
|
||||
needs: [get-version, makepkg]
|
||||
container:
|
||||
image: archlinux:base-devel
|
||||
env:
|
||||
PKGDEST: ${{ github.workspace }}/pkgdest
|
||||
SRCDEST: ${{ github.workspace }}/srcdest
|
||||
steps:
|
||||
- name: Prepare pacman
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman-key --populate archlinux
|
||||
pacman -Syu --noconfirm --needed git base-devel sudo gnupg maven unzip github-cli curl
|
||||
- name: Download source tarball and compute checksum
|
||||
id: sha256
|
||||
run: |
|
||||
URL="https://github.com/cryptomator/cryptomator/archive/refs/tags/${TAG}.tar.gz"
|
||||
curl --silent --fail-with-body --proto "=https" -L -H "Accept: application/vnd.github+json" ${URL} --output cryptomator.tar.gz
|
||||
TARBALL_SHA256=$(sha256sum cryptomator.tar.gz | cut -d ' ' -f1)
|
||||
echo "value=${TARBALL_SHA256}" >> "$GITHUB_OUTPUT"
|
||||
env:
|
||||
TAG: ${{ needs.get-version.outputs.semVerStr || github.event.release.tag_name }}
|
||||
- name: Checkout cryptomator/aur repo
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
repository: 'cryptomator/aur'
|
||||
token: ${{ secrets.CRYPTOBOT_PR_TOKEN }}
|
||||
- name: Create build user
|
||||
run: |
|
||||
useradd -m builder
|
||||
echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers.d/builder
|
||||
chown -R builder:builder "$GITHUB_WORKSPACE"
|
||||
install -d -m 0755 -o builder -g builder "$PKGDEST" "$SRCDEST"
|
||||
- name: Import Cryptomator release signing key
|
||||
# try first ubuntu. on failure try openpgp keyservers
|
||||
run: >
|
||||
sudo -u builder gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys 58117AFA1F85B3EEC154677D615D449FE6E6A235
|
||||
|| sudo -u builder gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys 58117AFA1F85B3EEC154677D615D449FE6E6A235
|
||||
- name: Checkout release branch
|
||||
run: |
|
||||
git config --global safe.directory '*'
|
||||
git checkout -b release/${VERSION}
|
||||
env:
|
||||
VERSION: ${{ needs.get-version.outputs.semVerStr }}
|
||||
- name: Determine pkgrel
|
||||
id: pkgrel
|
||||
run: |
|
||||
TARGET_VERSION='${{ needs.get-version.outputs.semVerStr }}'
|
||||
CURRENT_VERSION="$(sed -nE 's/^pkgver=(.*)$/\1/p' PKGBUILD | head -n1)"
|
||||
CURRENT_REL="$(sed -nE 's/^pkgrel=([0-9]+).*$/\1/p' PKGBUILD | head -n1)"
|
||||
|
||||
if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" && "$CURRENT_REL" =~ ^[0-9]+$ ]]; then
|
||||
NEXT_REL=$((CURRENT_REL + 1))
|
||||
else
|
||||
NEXT_REL=1
|
||||
fi
|
||||
|
||||
echo "value=${NEXT_REL}" >> "$GITHUB_OUTPUT"
|
||||
echo "dist-version=${VERSION}-${NEXT_REL}" >> "$GITHUB_OUTPUT"
|
||||
env:
|
||||
VERSION: ${{ needs.get-version.outputs.semVerStr }}
|
||||
- name: Download PKGBUILD template
|
||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
|
||||
with:
|
||||
name: pkgbuild-file
|
||||
- name: Prepare PKGBUILD
|
||||
run: |
|
||||
envsubst '$PKG_VERSION $PKG_RELEASE $SOURCES $SOURCES_SHA' < PKGBUILD.template > PKGBUILD
|
||||
sudo -u builder makepkg --printsrcinfo > .SRCINFO
|
||||
env:
|
||||
PKG_VERSION: ${{ needs.get-version.outputs.semVerNum }}
|
||||
PKG_RELEASE: ${{ steps.pkgrel.outputs.value }}
|
||||
SOURCES: |-
|
||||
"cryptomator-${pkgver//_/-}.tar.gz::https://github.com/cryptomator/cryptomator/archive/refs/tags/${pkgver//_/-}.tar.gz"
|
||||
"cryptomator-${pkgver//_/-}.tar.gz.asc::https://github.com/cryptomator/cryptomator/releases/download/${pkgver//_/-}/cryptomator-${pkgver//_/-}.tar.gz.asc"
|
||||
SOURCES_SHA: |-
|
||||
'${{steps.sha256.outputs.value}}'
|
||||
'SKIP'
|
||||
- name: Build package with makepkg
|
||||
run: >
|
||||
sudo -u builder
|
||||
env PKGDEST="$PKGDEST" SRCDEST="$SRCDEST"
|
||||
makepkg --syncdeps --cleanbuild --noconfirm --log
|
||||
- name: Commit and push
|
||||
run: |
|
||||
git config user.name "cryptobot"
|
||||
git config user.email "cryptobot@users.noreply.github.com"
|
||||
git config push.autoSetupRemote true
|
||||
git stage PKGBUILD .SRCINFO
|
||||
git commit -m "Prepare release ${DIST_VERSION}"
|
||||
git push
|
||||
env:
|
||||
DIST_VERSION: ${{ steps.pkgrel.outputs.dist-version }}
|
||||
- name: Create pull request
|
||||
id: create-pr
|
||||
run: |
|
||||
printf "Created by $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" > pr_body.md
|
||||
PR_URL=$(gh pr create --title "Release $DIST_VERSION" --body-file pr_body.md)
|
||||
echo "url=$PR_URL" >> "$GITHUB_OUTPUT"
|
||||
env:
|
||||
DIST_VERSION: ${{ steps.pkgrel.outputs.dist-version }}
|
||||
GH_TOKEN: ${{ secrets.CRYPTOBOT_PR_TOKEN }}
|
||||
- name: Slack Notification
|
||||
if: github.event_name == 'release'
|
||||
uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 # v2.3.3
|
||||
env:
|
||||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_CRYPTOMATOR_DESKTOP }}
|
||||
SLACK_USERNAME: 'Cryptobot'
|
||||
SLACK_ICON: false
|
||||
SLACK_ICON_EMOJI: ':bot:'
|
||||
SLACK_CHANNEL: 'cryptomator-desktop'
|
||||
SLACK_TITLE: "AUR release PR created for ${{ github.event.repository.name }} ${{ steps.pkgrel.outputs.dist-version }} ."
|
||||
SLACK_MESSAGE: "See <${{ steps.create-pr.outputs.url }}|PR> on how to proceed."
|
||||
SLACK_FOOTER: false
|
||||
MSG_MINIMAL: true
|
||||
23
.github/workflows/mac-dmg-x64.yml
vendored
23
.github/workflows/mac-dmg-x64.yml
vendored
@@ -44,8 +44,8 @@ jobs:
|
||||
architecture: x64
|
||||
output-suffix: x64
|
||||
fuse-lib: macFUSE
|
||||
openjfx-url: 'https://download2.gluonhq.com/openjfx/25.0.2/openjfx-25.0.2_osx-x64_bin-jmods.zip'
|
||||
openjfx-sha: '0b4d8463f03901b7425d94628e4116b7078abb8dd540fbec415266fac20bda5c'
|
||||
openjfx-url: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_osx-x64_bin-jmods.zip'
|
||||
openjfx-sha: '0eba73fb28a24c845175d16fa2f8c081c936ce6de1be9b79eb6119fa32e53d52'
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup Java
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
- name: Download OpenJFX jmods
|
||||
id: download-jmods
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L ${{ matrix.openjfx-url }} -o openjfx-jmods.zip
|
||||
curl -L ${{ matrix.openjfx-url }} -o openjfx-jmods.zip
|
||||
echo "${{ matrix.openjfx-sha }} *openjfx-jmods.zip" | shasum -a256 --check
|
||||
mkdir -p openjfx-jmods/
|
||||
unzip -jo openjfx-jmods.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d openjfx-jmods
|
||||
@@ -144,7 +144,6 @@ jobs:
|
||||
run: |
|
||||
mv appdir/Cryptomator.app Cryptomator.app
|
||||
mv dist/mac/resources/Cryptomator-Vault.icns Cryptomator.app/Contents/Resources/
|
||||
cp dist/mac/resources/Assets.car Cryptomator.app/Contents/Resources/
|
||||
sed -i '' "s|###BUNDLE_SHORT_VERSION_STRING###|${VERSION_NO}|g" Cryptomator.app/Contents/Info.plist
|
||||
sed -i '' "s|###BUNDLE_VERSION###|${REVISION_NO}|g" Cryptomator.app/Contents/Info.plist
|
||||
echo -n "$PROVISIONING_PROFILE_BASE64" | base64 --decode --output Cryptomator.app/Contents/embedded.provisionprofile
|
||||
@@ -152,6 +151,20 @@ jobs:
|
||||
VERSION_NO: ${{ needs.get-version.outputs.semVerNum }}
|
||||
REVISION_NO: ${{ needs.get-version.outputs.revNum }}
|
||||
PROVISIONING_PROFILE_BASE64: ${{ secrets.MACOS_PROVISIONING_PROFILE_BASE64 }}
|
||||
- name: Build and install DockTilePlugin
|
||||
env:
|
||||
DERIVED_DATA_PATH: dist/mac/DockTilePlugin/build
|
||||
run: |
|
||||
xcodebuild -project dist/mac/DockTilePlugin/DockTilePlugin.xcodeproj \
|
||||
-scheme DockTilePlugin \
|
||||
-configuration Release \
|
||||
-destination "platform=macOS,arch=x86_64" \
|
||||
-derivedDataPath ${DERIVED_DATA_PATH} \
|
||||
-quiet \
|
||||
clean build
|
||||
mkdir -p Cryptomator.app/Contents/PlugIns
|
||||
cp -R ${DERIVED_DATA_PATH}/Build/Products/Release/Cryptomator.docktileplugin Cryptomator.app/Contents/PlugIns/
|
||||
rm -rf ${DERIVED_DATA_PATH}
|
||||
- name: Generate license for dmg
|
||||
run: >
|
||||
mvn -B license:add-third-party
|
||||
@@ -270,7 +283,7 @@ jobs:
|
||||
run: security delete-keychain $RUNNER_TEMP/codesign.keychain-db
|
||||
continue-on-error: true
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
|
||||
with:
|
||||
name: dmg-${{ matrix.output-suffix }}
|
||||
path: |
|
||||
|
||||
23
.github/workflows/mac-dmg.yml
vendored
23
.github/workflows/mac-dmg.yml
vendored
@@ -42,8 +42,8 @@ jobs:
|
||||
architecture: aarch64
|
||||
output-suffix: arm64
|
||||
fuse-lib: FUSE-T
|
||||
openjfx-url: 'https://download2.gluonhq.com/openjfx/25.0.2/openjfx-25.0.2_osx-aarch64_bin-jmods.zip'
|
||||
openjfx-sha: '4cd258001c75af7047005c5c891e2400ed11d24fbb09412324c0cbaf8b503c5a'
|
||||
openjfx-url: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_osx-aarch64_bin-jmods.zip'
|
||||
openjfx-sha: '13f8c0513c40c95881479fbcf0465a29a60217393fb0656f5e4eab78a9442fba'
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup Java
|
||||
@@ -57,7 +57,7 @@ jobs:
|
||||
- name: Download OpenJFX jmods
|
||||
id: download-jmods
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L ${{ matrix.openjfx-url }} -o openjfx-jmods.zip
|
||||
curl -L ${{ matrix.openjfx-url }} -o openjfx-jmods.zip
|
||||
echo "${{ matrix.openjfx-sha }} *openjfx-jmods.zip" | shasum -a256 --check
|
||||
mkdir -p openjfx-jmods/
|
||||
unzip -jo openjfx-jmods.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d openjfx-jmods
|
||||
@@ -143,7 +143,6 @@ jobs:
|
||||
run: |
|
||||
mv appdir/Cryptomator.app Cryptomator.app
|
||||
mv dist/mac/resources/Cryptomator-Vault.icns Cryptomator.app/Contents/Resources/
|
||||
cp dist/mac/resources/Assets.car Cryptomator.app/Contents/Resources/
|
||||
sed -i '' "s|###BUNDLE_SHORT_VERSION_STRING###|${VERSION_NO}|g" Cryptomator.app/Contents/Info.plist
|
||||
sed -i '' "s|###BUNDLE_VERSION###|${REVISION_NO}|g" Cryptomator.app/Contents/Info.plist
|
||||
echo -n "$PROVISIONING_PROFILE_BASE64" | base64 --decode --output Cryptomator.app/Contents/embedded.provisionprofile
|
||||
@@ -151,6 +150,20 @@ jobs:
|
||||
VERSION_NO: ${{ needs.get-version.outputs.semVerNum }}
|
||||
REVISION_NO: ${{ needs.get-version.outputs.revNum }}
|
||||
PROVISIONING_PROFILE_BASE64: ${{ secrets.MACOS_PROVISIONING_PROFILE_BASE64 }}
|
||||
- name: Build and install DockTilePlugin
|
||||
env:
|
||||
DERIVED_DATA_PATH: dist/mac/DockTilePlugin/build
|
||||
run: |
|
||||
xcodebuild -project dist/mac/DockTilePlugin/DockTilePlugin.xcodeproj \
|
||||
-scheme DockTilePlugin \
|
||||
-configuration Release \
|
||||
-destination "platform=macOS,arch=arm64" \
|
||||
-derivedDataPath ${DERIVED_DATA_PATH} \
|
||||
-quiet \
|
||||
clean build
|
||||
mkdir -p Cryptomator.app/Contents/PlugIns
|
||||
cp -R ${DERIVED_DATA_PATH}/Build/Products/Release/Cryptomator.docktileplugin Cryptomator.app/Contents/PlugIns/
|
||||
rm -rf ${DERIVED_DATA_PATH}
|
||||
- name: Generate license for dmg
|
||||
run: >
|
||||
mvn -B license:add-third-party
|
||||
@@ -269,7 +282,7 @@ jobs:
|
||||
run: security delete-keychain $RUNNER_TEMP/codesign.keychain-db
|
||||
continue-on-error: true
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
|
||||
with:
|
||||
name: dmg-${{ matrix.output-suffix }}
|
||||
path: |
|
||||
|
||||
2
.github/workflows/no-response.yml
vendored
2
.github/workflows/no-response.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
|
||||
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v10.1.1
|
||||
with:
|
||||
days-before-stale: 14
|
||||
days-before-close: 0
|
||||
|
||||
4
.github/workflows/post-publish.yml
vendored
4
.github/workflows/post-publish.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
steps:
|
||||
- name: Download source tarball
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -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
|
||||
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
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
- name: Slack Notification
|
||||
uses: rtCamp/action-slack-notify@e31e87e03dd19038e411e38ae27cbad084a90661 # v2.3.3
|
||||
env:
|
||||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_CRYPTOMATOR_DESKTOP }}
|
||||
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
SLACK_USERNAME: 'Cryptobot'
|
||||
SLACK_ICON: false
|
||||
SLACK_ICON_EMOJI: ':bot:'
|
||||
|
||||
1
.github/workflows/release-check.yml
vendored
1
.github/workflows/release-check.yml
vendored
@@ -43,7 +43,6 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
- name: Validate release in org.cryptomator.Cryptomator.metainfo.xml file
|
||||
if: ${{ ! (contains(github.event.head_commit.message, '[skip metadata check]') || contains(github.event.head_commit.message, '[metadata check skip]')) }}
|
||||
run: |
|
||||
if ! grep -q "<release date=\".*\" version=\"${{ steps.validate-pom-version.outputs.semVerStr }}\">" dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml; then
|
||||
echo "Release not set in dist/linux/common/org.cryptomator.Cryptomator.metainfo.xml"
|
||||
|
||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
|
||||
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v10.1.1
|
||||
with:
|
||||
days-before-stale: 365
|
||||
days-before-close: 90
|
||||
|
||||
54
.github/workflows/win-exe.yml
vendored
54
.github/workflows/win-exe.yml
vendored
@@ -22,12 +22,11 @@ on:
|
||||
|
||||
|
||||
env:
|
||||
OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/25.0.2/openjfx-25.0.2_windows-x64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AMD64_HASH: '33d878dfac85590c4d77c518ed413e512d34a8479d90132b230a7ddd173576b3'
|
||||
OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/25/openjfx-25_windows-x64_bin-jmods.zip'
|
||||
OPENJFX_JMODS_AMD64_HASH: 'c8eb9fd039b00e0020cf6c3db8ed7876bf3ee4d27860aa697a247b83b8296ae7'
|
||||
WINFSP_MSI: 'https://github.com/winfsp/winfsp/releases/download/v2.1/winfsp-2.1.25156.msi'
|
||||
WINFSP_MSI_HASH: '073a70e00f77423e34bed98b86e600def93393ba5822204fac57a29324db9f7a'
|
||||
WINFSP_UNINSTALLER: 'https://github.com/cryptomator/winfsp-uninstaller/releases/latest/download/winfsp-uninstaller.exe'
|
||||
WIX_VERSION: '6.0.2'
|
||||
|
||||
defaults:
|
||||
run:
|
||||
@@ -48,8 +47,8 @@ jobs:
|
||||
include:
|
||||
- arch: x64
|
||||
os: windows-latest
|
||||
java-dist: 'zulu' #cannot use temurin, see https://github.com/cryptomator/cryptomator/issues/3824#issuecomment-2829827427
|
||||
java-version: '25.0.1+8'
|
||||
java-dist: 'temurin' #cannot use temurin, see https://github.com/cryptomator/cryptomator/issues/3824#issuecomment-2829827427
|
||||
java-version: '25.0.2+10.0.LTS'
|
||||
java-package: 'jdk'
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
@@ -63,16 +62,14 @@ jobs:
|
||||
cache: 'maven'
|
||||
- name: Install wix and extensions
|
||||
run: |
|
||||
dotnet tool install --global wix --version ${WIX_VERSION}
|
||||
wix.exe extension add --global WixToolset.UI.wixext/${WIX_VERSION}
|
||||
wix.exe extension add --global WixToolset.Util.wixext/${WIX_VERSION}
|
||||
env:
|
||||
WIX_VERSION: ${{ env.WIX_VERSION }}
|
||||
dotnet tool install --global wix --version 6.0.0
|
||||
wix.exe extension add WixToolset.UI.wixext/6.0.0 --global
|
||||
wix.exe extension add WixToolset.Util.wixext/6.0.0 --global
|
||||
- name: Download and extract JavaFX jmods from Gluon
|
||||
if: matrix.arch == 'x64'
|
||||
#In the last step we move all jmods files a dir level up because jmods are placed inside a directory in the zip
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L "${{ env.OPENJFX_JMODS_AMD64 }}" --output openjfx-jmods.zip
|
||||
curl --output openjfx-jmods.zip -L "${{ env.OPENJFX_JMODS_AMD64 }}"
|
||||
if(!(Get-FileHash -Path openjfx-jmods.zip -Algorithm SHA256).Hash.ToLower().equals("${{ env.OPENJFX_JMODS_AMD64_HASH }}")) {
|
||||
throw "Wrong checksum of JMOD archive downloaded from ${{ env.OPENJFX_JMODS_AMD64 }}.";
|
||||
}
|
||||
@@ -188,9 +185,18 @@ jobs:
|
||||
- name: Extract wixhelper.dll for Codesigning #see https://github.com/cryptomator/cryptomator/issues/3130
|
||||
shell: pwsh
|
||||
run: |
|
||||
New-Item -Path appdir/jpackage-jmod -ItemType Directory
|
||||
& $env:JAVA_HOME\bin\jmod.exe extract --dir jpackage-jmod "${env:JAVA_HOME}\jmods\jdk.jpackage.jmod"
|
||||
Get-ChildItem -Recurse -Path "jpackage-jmod" -File wixhelper.dll | Select-Object -Last 1 | Copy-Item -Destination "appdir"
|
||||
$extractDir = "appdir/jpackage-jimage"
|
||||
New-Item -Path $extractDir -ItemType Directory -Force | Out-Null
|
||||
|
||||
& "$env:JAVA_HOME\bin\jimage.exe" extract --dir $extractDir "$env:JAVA_HOME\lib\modules"
|
||||
|
||||
$wixhelper = Get-ChildItem -Path $extractDir -Recurse -File -Filter "wixhelper.dll" | Select-Object -First 1
|
||||
if (-not $wixhelper) {
|
||||
throw "wixhelper.dll not found in $env:JAVA_HOME\lib\modules"
|
||||
}
|
||||
|
||||
Copy-Item -Path $wixhelper.FullName -Destination "appdir/wixhelper.dll" -Force
|
||||
Remove-Item -Path $extractDir -Recurse -Force
|
||||
- name: Sign DLLs with Azure Trusted Signing
|
||||
if: inputs.sign || github.event_name == 'release'
|
||||
uses: ./.github/actions/win-sign-action
|
||||
@@ -280,7 +286,7 @@ jobs:
|
||||
GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
|
||||
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
|
||||
with:
|
||||
name: msi-${{ matrix.arch }}
|
||||
path: |
|
||||
@@ -305,13 +311,11 @@ jobs:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Install wix and extensions
|
||||
run: |
|
||||
dotnet tool install --global wix --version ${WIX_VERSION}
|
||||
wix.exe extension add --global WixToolset.BootstrapperApplications.wixext/${WIX_VERSION}
|
||||
wix.exe extension add --global WixToolset.Util.wixext/${WIX_VERSION}
|
||||
env:
|
||||
WIX_VERSION: ${{ env.WIX_VERSION }}
|
||||
dotnet tool install --global wix --version 6.0.0
|
||||
wix.exe extension add WixToolset.BootstrapperApplications.wixext/6.0.0 --global
|
||||
wix.exe extension add WixToolset.Util.wixext/6.0.0 --global
|
||||
- name: Download .msi
|
||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
|
||||
with:
|
||||
name: msi-${{ matrix.arch }}
|
||||
path: dist/win/bundle/resources
|
||||
@@ -338,7 +342,7 @@ jobs:
|
||||
shell: pwsh
|
||||
- name: Download WinFsp
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L ${{ env.WINFSP_MSI }} --output $env:WINFSP_PATH
|
||||
curl --output $env:WINFSP_PATH -L ${{ env.WINFSP_MSI }}
|
||||
$computedHash = (Get-FileHash -Path $env:WINFSP_PATH -Algorithm SHA256).Hash.ToLower()
|
||||
if ($computedHash -ne "${{ env.WINFSP_MSI_HASH }}") {
|
||||
throw "Checksum mismatch for $env:WINFSP_PATH (expected ${{ env.WINFSP_MSI_HASH }}, got $computedHash)."
|
||||
@@ -348,7 +352,7 @@ jobs:
|
||||
shell: pwsh
|
||||
- name: Download Legacy-WinFsp uninstaller
|
||||
run: |
|
||||
curl --silent --fail-with-body --proto "=https" -L ${{ env.WINFSP_UNINSTALLER }} --output dist/win/bundle/resources/winfsp-uninstaller.exe
|
||||
curl --output dist/win/bundle/resources/winfsp-uninstaller.exe -L ${{ env.WINFSP_UNINSTALLER }}
|
||||
shell: pwsh
|
||||
- name: Create Wix Burn bundle
|
||||
working-directory: dist/win
|
||||
@@ -423,7 +427,7 @@ jobs:
|
||||
GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }}
|
||||
GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }}
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
|
||||
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
|
||||
with:
|
||||
name: exe-${{ matrix.executable-suffix }}
|
||||
path: |
|
||||
@@ -441,7 +445,7 @@ jobs:
|
||||
download-url-exe-x64: ${{ fromJSON(steps.publish.outputs.assets)[2].browser_download_url }}
|
||||
steps:
|
||||
- name: Download installers
|
||||
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
|
||||
with:
|
||||
merge-multiple: true
|
||||
- name: Publish installers on GitHub Releases
|
||||
|
||||
29
CHANGELOG.md
29
CHANGELOG.md
@@ -7,7 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
The changelog starts with version 1.19.0.
|
||||
Changes to prior versions can be found on the [Github release page](https://github.com/cryptomator/cryptomator/releases).
|
||||
|
||||
## [1.19.0](https://github.com/cryptomator/cryptomator/compare/1.18.0...HEAD) - tbd
|
||||
## [Unreleased](https://github.com/cryptomator/cryptomator/compare/1.18.0...HEAD)
|
||||
|
||||
### Added
|
||||
* Self-Update Mechanism ([#3948](https://github.com/cryptomator/cryptomator/pull/3948))
|
||||
@@ -19,34 +19,25 @@ Changes to prior versions can be found on the [Github release page](https://gith
|
||||
* Show Archived Vault Dialog on unlock when Hub returns 410 ([#4081](https://github.com/cryptomator/cryptomator/pull/4081))
|
||||
* Support automatic app theme selection according to OS theme on Linux ([#4027](https://github.com/cryptomator/cryptomator/issues/4027))
|
||||
* Admin configuration: Allow overwriting certain app properties by external config file ([#4105](https://github.com/cryptomator/cryptomator/pull/4105))
|
||||
* New keychain backend using [secret service API](https://specifications.freedesktop.org/secret-service/0.2) for Linux ([#4025](https://github.com/cryptomator/cryptomator/pull/4025))
|
||||
* Liquid Glass icon for macOS ([#4166](https://github.com/cryptomator/cryptomator/pull/4166))
|
||||
|
||||
### Fixed
|
||||
* Fixed password reset/show recovery possible for vaults without masterkey file ([#4120](https://github.com/cryptomator/cryptomator/pull/4120))
|
||||
* Fixed restore vault config failed due to selecting a directory instead of file ([#4141](https://github.com/cryptomator/cryptomator/issues/4141))
|
||||
* Fixed leaking of cleartext paths into application log ([GHSA-j83j-mwhc-rcgw](https://github.com/cryptomator/cryptomator/security/advisories/GHSA-j83j-mwhc-rcgw))
|
||||
|
||||
### Changed
|
||||
* Built using JDK 25 ([#4031](https://github.com/cryptomator/cryptomator/issues/4031))
|
||||
* Modernized Template for GitHub Releases
|
||||
* Disable user defined app start config on Windows ([#4132](https://github.com/cryptomator/cryptomator/issues/4132))
|
||||
* Disable plugin loading by default ([#4136](https://github.com/cryptomator/cryptomator/4136))
|
||||
* Use JDK 25 ([#4031](https://github.com/cryptomator/cryptomator/pull/4031))
|
||||
* Update JavaFX to 25.0.2 ([#4145](https://github.com/cryptomator/cryptomator/pull/4145)))
|
||||
* Updated translations
|
||||
* Updated dependencies
|
||||
* `ch.qos.logback:*` from 1.5.19 to 1.5.32
|
||||
* `com.fasterxml.jackson.core:jackson-databind` from 2.20.0 to 2.21.1
|
||||
* `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.20.0 to 2.21.1
|
||||
* `ch.qos.logback:*` from 1.5.19 to 1.5.31
|
||||
* `com.fasterxml.jackson.core:jackson-databind` from 2.20.0 to 2.21.0
|
||||
* `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.20.0 to 2.21.0
|
||||
* `com.github.ben-manes.caffeine:caffeine` from 3.2.2 to 3.2.3
|
||||
* `com.google.dagger:*` from 2.57.2 to 2.59.2
|
||||
* `com.google.dagger:*` from 2.57.2 to 2.59.1
|
||||
* `org.apache.commons:commons-lang3` from 3.19.0 to 3.20.0
|
||||
* `org.cryptomator:cryptofs` from 2.9.0 to 2.10.0
|
||||
* `org.cryptomator:cryptofs` from 2.9.0 to 2.10.0-beta3
|
||||
* `org.cryptomator:cryptolib` from 2.2.1 to 2.2.2
|
||||
* `org.cryptomator:fuse-nio-adapter` from 5.1.0 to 6.0.1
|
||||
* `org.cryptomator:fuse-nio-adapter` from 5.1.0 to 6.0.0
|
||||
* `org.cryptomator:integrations-api` from 1.7.0 to 1.8.0-beta1
|
||||
* `org.cryptomator:integrations-linux` from 1.6.1 to 1.7.0-beta4
|
||||
* `org.cryptomator:integrations-mac` from 1.4.1 to 1.5.0-beta3
|
||||
* `org.cryptomator:integrations-win` from 1.5.1 to 1.6.0
|
||||
* `org.cryptomator:webdav-nio-adapter` from 3.0.0 to 3.0.1
|
||||
* `org.cryptomator:webdav-nio-adapter-servlet` to 1.2.12
|
||||
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ For more information on the security details visit [cryptomator.org](https://doc
|
||||
|
||||
### Dependencies
|
||||
|
||||
* JDK 25 (e.g. temurin, zulu)
|
||||
* JDK 24 (e.g. temurin, zulu)
|
||||
* Maven 3
|
||||
|
||||
### Run Maven
|
||||
|
||||
6
dist/linux/appimage/build.sh
vendored
6
dist/linux/appimage/build.sh
vendored
@@ -23,12 +23,12 @@ mvn -B -f ../../../pom.xml clean package -Plinux -DskipTests
|
||||
cp ../../../LICENSE.txt ../../../target
|
||||
cp ../../../target/cryptomator-*.jar ../../../target/mods
|
||||
|
||||
JAVAFX_VERSION=25.0.2
|
||||
JAVAFX_VERSION=25
|
||||
JAVAFX_ARCH="x64"
|
||||
JAVAFX_JMODS_SHA256='e0a9c29d8cf3af9b8b48848b43f87b5785bc107c53a951b19668ce05842bba1b'
|
||||
JAVAFX_JMODS_SHA256='96e520f48610d8ffb94ca30face1f11ffe8a977ddc1c4ff80b1a9e9f048bd94e'
|
||||
if [ "${CPU_ARCH}" = "aarch64" ]; then
|
||||
JAVAFX_ARCH="aarch64"
|
||||
JAVAFX_JMODS_SHA256='c3408f818693cce09e59829a8e862a82c7695fdfcd585c41cfd527f5fc3fe646'
|
||||
JAVAFX_JMODS_SHA256='951c52481af0ec5885b06f1ebaa8a10da7e8ea23c5e1ef3e2f6f11fa1b3a7ce1'
|
||||
fi
|
||||
|
||||
# download javaFX jmods
|
||||
|
||||
118
dist/linux/makepkg/PKGBUILD.template
vendored
118
dist/linux/makepkg/PKGBUILD.template
vendored
@@ -1,118 +0,0 @@
|
||||
# Maintainer: Aaron Graves <linux@ajgraves.com>
|
||||
# Contributor: Julian Raufelder <arch@raufelder.com>
|
||||
# Contributor: Morten Linderud <morten@linderud.pw>
|
||||
# Contributor: Sebastian Stenzel <sebastian.stenzel@gmail.com>
|
||||
# Contributor: Armin Schrenk <armin.schrenk@skymatic.de>
|
||||
|
||||
pkgname=cryptomator
|
||||
pkgver=$PKG_VERSION
|
||||
pkgrel=$PKG_RELEASE
|
||||
pkgdesc="Multiplatform transparent client-side encryption of your files in the cloud."
|
||||
arch=('any')
|
||||
url="https://cryptomator.org/"
|
||||
license=('GPL3')
|
||||
depends=('fuse3' 'alsa-lib' 'hicolor-icon-theme' 'libxtst' 'libnet' 'libxrender')
|
||||
makedepends=('maven' 'unzip')
|
||||
optdepends=('keepassxc-cryptomator: Use KeePassXC to store vault passwords' 'ttf-hanazono: Install this font when using Japanese system language')
|
||||
_jdkver=25.0.2+10
|
||||
_jfxver=25.0.2
|
||||
_src_app_dir=cryptomator-${pkgver//_/-}
|
||||
source=($SOURCES);
|
||||
source_x86_64=("jdk-${_jdkver}.tar.gz::https://github.com/adoptium/temurin${_jdkver:0:2}-binaries/releases/download/jdk-${_jdkver//\+/%2B}/OpenJDK${_jdkver:0:2}U-jdk_x64_linux_hotspot_${_jdkver//\+/_}.tar.gz"
|
||||
"openjfx-${_jfxver}.zip::https://download2.gluonhq.com/openjfx/${_jfxver}/openjfx-${_jfxver}_linux-x64_bin-jmods.zip")
|
||||
source_aarch64=("jdk-${_jdkver}.tar.gz::https://github.com/adoptium/temurin${_jdkver:0:2}-binaries/releases/download/jdk-${_jdkver//\+/%2B}/OpenJDK${_jdkver:0:2}U-jdk_aarch64_linux_hotspot_${_jdkver//\+/_}.tar.gz"
|
||||
"openjfx-${_jfxver}.zip::https://download2.gluonhq.com/openjfx/${_jfxver}/openjfx-${_jfxver}_linux-aarch64_bin-jmods.zip")
|
||||
noextract=("jdk-${_jdkver}.tar.gz" "openjfx-${_jfxver}.zip")
|
||||
sha256sums=($SOURCES_SHA)
|
||||
sha256sums_x86_64=('987387933b64b9833846dee373b640440d3e1fd48a04804ec01a6dbf718e8ab8'
|
||||
'e0a9c29d8cf3af9b8b48848b43f87b5785bc107c53a951b19668ce05842bba1b')
|
||||
sha256sums_aarch64=('a9d73e711d967dc44896d4f430f73a68fd33590dabc29a7f2fb9f593425b854c'
|
||||
'c3408f818693cce09e59829a8e862a82c7695fdfcd585c41cfd527f5fc3fe646')
|
||||
options=('!strip')
|
||||
|
||||
validpgpkeys=('58117AFA1F85B3EEC154677D615D449FE6E6A235')
|
||||
|
||||
build() {
|
||||
export JAVA_HOME="${srcdir}/jdk-${_jdkver}"
|
||||
JMODS_PATH="${srcdir}/openjfx-${_jfxver}-jmods"
|
||||
#JEP 493
|
||||
if ! $(${JAVA_HOME}/bin/jlink --help | grep -q "Linking from run-time image enabled"); then
|
||||
JMODS_PATH="${JMODS_PATH}:${JAVA_HOME}/jmods:"
|
||||
fi
|
||||
|
||||
tar xfz "jdk-${_jdkver}.tar.gz"
|
||||
|
||||
mkdir "openjfx-${_jfxver}-jmods"
|
||||
unzip -j "openjfx-${_jfxver}.zip" \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d "openjfx-${_jfxver}-jmods"
|
||||
|
||||
cd "${srcdir}/${_src_app_dir}"
|
||||
|
||||
mvn -B clean package -DskipTests -Plinux
|
||||
|
||||
cp LICENSE.txt target
|
||||
cp target/cryptomator-*.jar target/mods
|
||||
|
||||
cd target
|
||||
|
||||
"$JAVA_HOME/bin/jlink" \
|
||||
--output runtime \
|
||||
--module-path "$JMODS_PATH" \
|
||||
--add-modules java.base,java.desktop,java.instrument,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,javafx.base,javafx.graphics,javafx.controls,javafx.fxml,jdk.crypto.ec,jdk.crypto.cryptoki,jdk.unsupported,jdk.security.auth,jdk.accessibility,jdk.management.jfr,jdk.net,java.compiler \
|
||||
--strip-native-commands \
|
||||
--no-header-files \
|
||||
--no-man-pages \
|
||||
--strip-debug \
|
||||
--compress=zip-0
|
||||
|
||||
##Note: jpackage does not allow -beta suffixes, have to strip those
|
||||
"$JAVA_HOME/bin/jpackage" \
|
||||
--type app-image \
|
||||
--runtime-image runtime \
|
||||
--input libs \
|
||||
--module-path mods \
|
||||
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator \
|
||||
--dest . \
|
||||
--name cryptomator \
|
||||
--vendor "Skymatic GmbH" \
|
||||
--copyright "(C) 2016 - 2026 Skymatic GmbH" \
|
||||
--java-options "--enable-preview" \
|
||||
--java-options '--enable-native-access=javafx.graphics,org.cryptomator.jfuse.linux.amd64,org.cryptomator.jfuse.linux.aarch64,org.purejava.appindicator' \
|
||||
--java-options "-Xss5m" \
|
||||
--java-options "-Xmx256m" \
|
||||
--java-options "-Dfile.encoding=\"utf-8\"" \
|
||||
--java-options "-Djava.net.useSystemProxies=true" \
|
||||
--java-options "-Dcryptomator.adminConfigPath=\"/etc/cryptomator/config.properties\"" \
|
||||
--java-options "-Dcryptomator.appVersion=\"${pkgver//_/-}\"" \
|
||||
--java-options "-Dcryptomator.buildNumber=\"aur-${pkgrel}\"" \
|
||||
--java-options "-Dcryptomator.disableUpdateCheck=true" \
|
||||
--java-options "-Dcryptomator.integrationsLinux.autoStartCmd=\"cryptomator\"" \
|
||||
--java-options "-Dcryptomator.ipcSocketPath=\"@{userhome}/.config/Cryptomator/ipc.socket\"" \
|
||||
--java-options "-Dcryptomator.logDir=\"@{userhome}/.local/share/Cryptomator/logs\"" \
|
||||
--java-options "-Dcryptomator.mountPointsDir=\"@{userhome}/.local/share/Cryptomator/mnt\"" \
|
||||
--java-options "-Dcryptomator.networking.truststore.p12Path=\"/etc/cryptomator/certs.p12\"" \
|
||||
--java-options "-Dcryptomator.pluginDir=\"@{userhome}/.local/share/Cryptomator/plugins\"" \
|
||||
--java-options "-Dcryptomator.p12Path=\"@{userhome}/.config/Cryptomator/key.p12\"" \
|
||||
--java-options "-Dcryptomator.settingsPath=\"@{userhome}/.config/Cryptomator/settings.json:~/.Cryptomator/settings.json\"" \
|
||||
--java-options "-Dcryptomator.showTrayIcon=true" \
|
||||
--app-version "${pkgver//_*/}" \
|
||||
--verbose
|
||||
}
|
||||
|
||||
package() {
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/application-vnd.cryptomator.vault.xml" "${pkgdir}/usr/share/mime/packages/cryptomator-vault.xml"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.desktop" "${pkgdir}/usr/share/applications/org.cryptomator.Cryptomator.desktop"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator256.png" "${pkgdir}/usr/share/icons/hicolor/256x256/apps/org.cryptomator.Cryptomator.png"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator512.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/org.cryptomator.Cryptomator.png"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.tray.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.tray.svg"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.tray-unlocked.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.tray-unlocked.svg"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.tray.svg" "${pkgdir}/usr/share/icons/hicolor/symbolic/apps/org.cryptomator.Cryptomator.tray-symbolic.svg"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/dist/linux/common/org.cryptomator.Cryptomator.tray-unlocked.svg" "${pkgdir}/usr/share/icons/hicolor/symbolic/apps/org.cryptomator.Cryptomator.tray-unlocked-symbolic.svg"
|
||||
|
||||
mkdir -p "${pkgdir}/opt/cryptomator/"
|
||||
cp -R "${srcdir}/${_src_app_dir}/target/cryptomator" "${pkgdir}/opt/"
|
||||
install -Dm644 "${srcdir}/${_src_app_dir}/target/LICENSE.txt" -t "${pkgdir}/usr/share/licenses/${pkgname}"
|
||||
|
||||
mkdir -p "${pkgdir}/usr/bin"
|
||||
ln -s "/opt/cryptomator/bin/cryptomator" "${pkgdir}/usr/bin/cryptomator"
|
||||
}
|
||||
1
dist/mac/.gitignore
vendored
1
dist/mac/.gitignore
vendored
@@ -1 +1,2 @@
|
||||
embedded.provisionprofile
|
||||
xcuserdata/
|
||||
|
||||
19
dist/mac/DockTilePlugin/CryptomatorDockTilePlugin.swift
vendored
Normal file
19
dist/mac/DockTilePlugin/CryptomatorDockTilePlugin.swift
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// CryptomatorDockTilePlugin.swift
|
||||
// Integrations
|
||||
//
|
||||
// Created by Tobias Hagemann on 22.09.25.
|
||||
// Copyright © 2025 Cryptomator. All rights reserved.
|
||||
//
|
||||
|
||||
import AppKit
|
||||
|
||||
class CryptomatorDockTilePlugin: NSObject, NSDockTilePlugIn {
|
||||
func setDockTile(_ dockTile: NSDockTile?) {
|
||||
guard let dockTile = dockTile, let image = Bundle(for: Self.self).image(forResource: "Cryptomator") else {
|
||||
return
|
||||
}
|
||||
dockTile.contentView = NSImageView(image: image)
|
||||
dockTile.display()
|
||||
}
|
||||
}
|
||||
314
dist/mac/DockTilePlugin/DockTilePlugin.xcodeproj/project.pbxproj
vendored
Normal file
314
dist/mac/DockTilePlugin/DockTilePlugin.xcodeproj/project.pbxproj
vendored
Normal file
@@ -0,0 +1,314 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 77;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
74E08DE12E8584DE007E665C /* CryptomatorDockTilePlugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74E08DE02E85847E007E665C /* CryptomatorDockTilePlugin.swift */; };
|
||||
74E08DED2E858532007E665C /* Cryptomator.icns in Resources */ = {isa = PBXBuildFile; fileRef = 74E08DEC2E858532007E665C /* Cryptomator.icns */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
74E08DD92E858467007E665C /* Cryptomator.docktileplugin */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Cryptomator.docktileplugin; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
74E08DE02E85847E007E665C /* CryptomatorDockTilePlugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CryptomatorDockTilePlugin.swift; sourceTree = "<group>"; };
|
||||
74E08DEC2E858532007E665C /* Cryptomator.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = Cryptomator.icns; path = ../resources/Cryptomator.icns; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
74E08DD62E858467007E665C /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
74E08DD02E858467007E665C = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
74E08DE02E85847E007E665C /* CryptomatorDockTilePlugin.swift */,
|
||||
74E08DEC2E858532007E665C /* Cryptomator.icns */,
|
||||
74E08DDA2E858467007E665C /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
74E08DDA2E858467007E665C /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
74E08DD92E858467007E665C /* Cryptomator.docktileplugin */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
74E08DD82E858467007E665C /* DockTilePlugin */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 74E08DDD2E858467007E665C /* Build configuration list for PBXNativeTarget "DockTilePlugin" */;
|
||||
buildPhases = (
|
||||
74E08DD52E858467007E665C /* Sources */,
|
||||
74E08DD62E858467007E665C /* Frameworks */,
|
||||
74E08DD72E858467007E665C /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = DockTilePlugin;
|
||||
packageProductDependencies = (
|
||||
);
|
||||
productName = DockTilePlugin;
|
||||
productReference = 74E08DD92E858467007E665C /* Cryptomator.docktileplugin */;
|
||||
productType = "com.apple.product-type.bundle";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
74E08DD12E858467007E665C /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
BuildIndependentTargetsInParallel = 1;
|
||||
LastUpgradeCheck = 2600;
|
||||
ORGANIZATIONNAME = Cryptomator;
|
||||
TargetAttributes = {
|
||||
74E08DD82E858467007E665C = {
|
||||
CreatedOnToolsVersion = 26.0.1;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 74E08DD42E858467007E665C /* Build configuration list for PBXProject "DockTilePlugin" */;
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 74E08DD02E858467007E665C;
|
||||
minimizedProjectReferenceProxies = 1;
|
||||
preferredProjectObjectVersion = 77;
|
||||
productRefGroup = 74E08DDA2E858467007E665C /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
74E08DD82E858467007E665C /* DockTilePlugin */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
74E08DD72E858467007E665C /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
74E08DED2E858532007E665C /* Cryptomator.icns in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
74E08DD52E858467007E665C /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
74E08DE12E8584DE007E665C /* CryptomatorDockTilePlugin.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
74E08DDB2E858467007E665C /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEVELOPMENT_TEAM = YZQJQUHA3L;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.5;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
74E08DDC2E858467007E665C /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = YZQJQUHA3L;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu17;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
|
||||
MACOSX_DEPLOYMENT_TARGET = 11.5;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
MTL_FAST_MATH = YES;
|
||||
SDKROOT = macosx;
|
||||
SWIFT_VERSION = 5.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
74E08DDE2E858467007E665C /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2025 Cryptomator. All rights reserved.";
|
||||
INFOPLIST_KEY_NSPrincipalClass = CryptomatorDockTilePlugin;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
||||
MARKETING_VERSION = 1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.cryptomator.DockTilePlugin;
|
||||
PRODUCT_NAME = Cryptomator;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
WRAPPER_EXTENSION = docktileplugin;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
74E08DDF2E858467007E665C /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CODE_SIGN_STYLE = Manual;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2025 Cryptomator. All rights reserved.";
|
||||
INFOPLIST_KEY_NSPrincipalClass = CryptomatorDockTilePlugin;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
|
||||
MARKETING_VERSION = 1.0;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.cryptomator.DockTilePlugin;
|
||||
PRODUCT_NAME = Cryptomator;
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
STRING_CATALOG_GENERATE_SYMBOLS = YES;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
WRAPPER_EXTENSION = docktileplugin;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
74E08DD42E858467007E665C /* Build configuration list for PBXProject "DockTilePlugin" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
74E08DDB2E858467007E665C /* Debug */,
|
||||
74E08DDC2E858467007E665C /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
74E08DDD2E858467007E665C /* Build configuration list for PBXNativeTarget "DockTilePlugin" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
74E08DDE2E858467007E665C /* Debug */,
|
||||
74E08DDF2E858467007E665C /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 74E08DD12E858467007E665C /* Project object */;
|
||||
}
|
||||
7
dist/mac/DockTilePlugin/DockTilePlugin.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
vendored
Normal file
7
dist/mac/DockTilePlugin/DockTilePlugin.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
67
dist/mac/DockTilePlugin/DockTilePlugin.xcodeproj/xcshareddata/xcschemes/DockTilePlugin.xcscheme
vendored
Normal file
67
dist/mac/DockTilePlugin/DockTilePlugin.xcodeproj/xcshareddata/xcschemes/DockTilePlugin.xcscheme
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "2600"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES"
|
||||
buildArchitectures = "Automatic">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "74E08DD82E858467007E665C"
|
||||
BuildableName = "Cryptomator.docktileplugin"
|
||||
BlueprintName = "DockTilePlugin"
|
||||
ReferencedContainer = "container:DockTilePlugin.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "74E08DD82E858467007E665C"
|
||||
BuildableName = "Cryptomator.docktileplugin"
|
||||
BlueprintName = "DockTilePlugin"
|
||||
ReferencedContainer = "container:DockTilePlugin.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
20
dist/mac/dmg/build.sh
vendored
20
dist/mac/dmg/build.sh
vendored
@@ -32,15 +32,15 @@ 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"
|
||||
|
||||
JAVAFX_VERSION=25.0.2
|
||||
JAVAFX_VERSION=25
|
||||
JAVAFX_ARCH="undefined"
|
||||
JAVAFX_JMODS_SHA256="undefined"
|
||||
if [ "$(machine)" = "arm64e" ]; then
|
||||
JAVAFX_ARCH="aarch64"
|
||||
JAVAFX_JMODS_SHA256="4cd258001c75af7047005c5c891e2400ed11d24fbb09412324c0cbaf8b503c5a"
|
||||
JAVAFX_JMODS_SHA256="13f8c0513c40c95881479fbcf0465a29a60217393fb0656f5e4eab78a9442fba"
|
||||
else
|
||||
JAVAFX_ARCH="x64"
|
||||
JAVAFX_JMODS_SHA256="0b4d8463f03901b7425d94628e4116b7078abb8dd540fbec415266fac20bda5c"
|
||||
JAVAFX_JMODS_SHA256="0eba73fb28a24c845175d16fa2f8c081c936ce6de1be9b79eb6119fa32e53d52"
|
||||
fi
|
||||
JAVAFX_JMODS_URL="https://download2.gluonhq.com/openjfx/${JAVAFX_VERSION}/openjfx-${JAVAFX_VERSION}_osx-${JAVAFX_ARCH}_bin-jmods.zip"
|
||||
|
||||
@@ -130,11 +130,23 @@ ${JAVA_HOME}/bin/jpackage \
|
||||
|
||||
# transform app dir
|
||||
cp ../resources/${APP_NAME}-Vault.icns ${APP_NAME}.app/Contents/Resources/
|
||||
cp ../resources/Assets.car ${APP_NAME}.app/Contents/Resources/
|
||||
sed -i '' "s|###BUNDLE_SHORT_VERSION_STRING###|${VERSION_NO}|g" ${APP_NAME}.app/Contents/Info.plist
|
||||
sed -i '' "s|###BUNDLE_VERSION###|${REVISION_NO}|g" ${APP_NAME}.app/Contents/Info.plist
|
||||
cp ../embedded.provisionprofile ${APP_NAME}.app/Contents/
|
||||
|
||||
# build and install dock tile plugin
|
||||
echo "Building and installing Cryptomator.docktileplugin..."
|
||||
DERIVED_DATA_PATH=../DockTilePlugin/build
|
||||
xcodebuild -project ../DockTilePlugin/DockTilePlugin.xcodeproj \
|
||||
-scheme DockTilePlugin \
|
||||
-configuration Release \
|
||||
-derivedDataPath ${DERIVED_DATA_PATH} \
|
||||
-quiet \
|
||||
clean build
|
||||
mkdir -p ${APP_NAME}.app/Contents/PlugIns
|
||||
cp -R ${DERIVED_DATA_PATH}/Build/Products/Release/Cryptomator.docktileplugin ${APP_NAME}.app/Contents/PlugIns/
|
||||
rm -rf ${DERIVED_DATA_PATH}
|
||||
|
||||
# generate license
|
||||
mvn -B -f../../../pom.xml license:add-third-party \
|
||||
-Dlicense.thirdPartyFilename=license.rtf \
|
||||
|
||||
BIN
dist/mac/resources/Assets.car
vendored
BIN
dist/mac/resources/Assets.car
vendored
Binary file not shown.
5
dist/mac/resources/Info.plist
vendored
5
dist/mac/resources/Info.plist
vendored
@@ -12,8 +12,6 @@
|
||||
<string>Cryptomator</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Cryptomator.icns</string>
|
||||
<key>CFBundleIconName</key>
|
||||
<string>Cryptomator</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.cryptomator</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
@@ -119,5 +117,8 @@
|
||||
<!-- allow utilization of integrated GPU, see https://developer.apple.com/library/mac/qa/qa1734/_index.html -->
|
||||
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||
<true/>
|
||||
<!-- register dock tile plugin -->
|
||||
<key>NSDockTilePlugIn</key>
|
||||
<string>Cryptomator.docktileplugin</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
12
dist/win/build.ps1
vendored
12
dist/win/build.ps1
vendored
@@ -34,20 +34,20 @@ if ((Get-Command "mvn" -ErrorAction SilentlyContinue) -eq $null)
|
||||
}
|
||||
if ((Get-Command 'wix' -ErrorAction SilentlyContinue) -eq $null)
|
||||
{
|
||||
Write-Error 'Unable to find wix in your PATH (try: dotnet tool install --global wix --version 6.0.2)'
|
||||
Write-Error 'Unable to find wix in your PATH (try: dotnet tool install --global wix --version 6.0.0)'
|
||||
exit 1
|
||||
}
|
||||
$wixExtensions = & wix.exe extension list --global | Out-String
|
||||
if ($wixExtensions -notmatch 'WixToolset.UI.wixext') {
|
||||
Write-Error 'Wix UI extension missing. Please install it with: wix.exe extension add WixToolset.UI.wixext/6.0.2 --global)'
|
||||
Write-Error 'Wix UI extension missing. Please install it with: wix.exe extension add WixToolset.UI.wixext/6.0.0 --global)'
|
||||
exit 1
|
||||
}
|
||||
if ($wixExtensions -notmatch 'WixToolset.Util.wixext') {
|
||||
Write-Error 'Wix Util extension missing. Please install it with: wix.exe extension add WixToolset.Util.wixext/6.0.2 --global)'
|
||||
Write-Error 'Wix Util extension missing. Please install it with: wix.exe extension add WixToolset.Util.wixext/6.0.0 --global)'
|
||||
exit 1
|
||||
}
|
||||
if ($wixExtensions -notmatch 'WixToolset.BootstrapperApplications.wixext') {
|
||||
Write-Error 'Wix Bootstrapper extension missing. Please install it with: wix.exe extension add WixToolset.BootstrapperApplications.wixext/6.0.2 --global)'
|
||||
Write-Error 'Wix Bootstrapper extension missing. Please install it with: wix.exe extension add WixToolset.BootstrapperApplications.wixext/6.0.0 --global)'
|
||||
exit 1
|
||||
}
|
||||
|
||||
@@ -93,9 +93,9 @@ switch ($archName) {
|
||||
$jmodPaths = "$Env:JAVA_HOME/jmods"
|
||||
}
|
||||
'x64' {
|
||||
$javaFxVersion='25.0.2'
|
||||
$javaFxVersion='25'
|
||||
$javaFxJmodsUrl = "https://download2.gluonhq.com/openjfx/${javaFxVersion}/openjfx-${javaFxVersion}_windows-x64_bin-jmods.zip"
|
||||
$javaFxJmodsSHA256 = '33d878dfac85590c4d77c518ed413e512d34a8479d90132b230a7ddd173576b3'
|
||||
$javaFxJmodsSHA256 = 'c8eb9fd039b00e0020cf6c3db8ed7876bf3ee4d27860aa697a247b83b8296ae7'
|
||||
$javaFxJmods = '.\resources\jfxJmods.zip'
|
||||
|
||||
if( !(Test-Path -Path $javaFxJmods) ) {
|
||||
|
||||
44
pom.xml
44
pom.xml
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.cryptomator</groupId>
|
||||
<artifactId>cryptomator</artifactId>
|
||||
<version>1.19.0</version>
|
||||
<version>1.19.0-SNAPSHOT</version>
|
||||
<name>Cryptomator Desktop App</name>
|
||||
|
||||
<organization>
|
||||
@@ -33,46 +33,45 @@
|
||||
<nonModularGroupIds>org.ow2.asm,org.apache.jackrabbit,org.apache.httpcomponents</nonModularGroupIds>
|
||||
|
||||
<!-- cryptomator dependencies -->
|
||||
<cryptomator.cryptofs.version>2.10.0</cryptomator.cryptofs.version>
|
||||
<cryptomator.cryptofs.version>2.10.0-beta3</cryptomator.cryptofs.version>
|
||||
<cryptomator.cryptolib.version>2.2.2</cryptomator.cryptolib.version>
|
||||
<cryptomator.integrations.version>1.8.0-beta1</cryptomator.integrations.version>
|
||||
<cryptomator.integrations.win.version>1.6.0</cryptomator.integrations.win.version>
|
||||
<cryptomator.integrations.mac.version>1.5.0-beta3</cryptomator.integrations.mac.version>
|
||||
<cryptomator.integrations.linux.version>1.7.0-beta4</cryptomator.integrations.linux.version>
|
||||
<cryptomator.fuse.version>6.0.1</cryptomator.fuse.version>
|
||||
<cryptomator.fuse.version>6.0.0</cryptomator.fuse.version>
|
||||
<cryptomator.webdav.version>3.0.1</cryptomator.webdav.version>
|
||||
<cryptomator.webdav-servlet.version>1.2.12</cryptomator.webdav-servlet.version>
|
||||
|
||||
<!-- 3rd party dependencies -->
|
||||
<caffeine.version>3.2.3</caffeine.version>
|
||||
<commons-lang3.version>3.20.0</commons-lang3.version>
|
||||
<dagger.version>2.59.2</dagger.version>
|
||||
<dagger.version>2.59.1</dagger.version>
|
||||
<easybind.version>2.2</easybind.version>
|
||||
<jackson.version>2.21.1</jackson.version>
|
||||
<javafx.version>25.0.2</javafx.version>
|
||||
<jwt.version>4.5.1</jwt.version>
|
||||
<jackson.version>2.21.0</jackson.version>
|
||||
<javafx.version>25</javafx.version>
|
||||
<jwt.version>4.5.0</jwt.version>
|
||||
<nimbus-jose.version>10.5</nimbus-jose.version>
|
||||
<logback.version>1.5.32</logback.version>
|
||||
<logback.version>1.5.31</logback.version>
|
||||
<slf4j.version>2.0.17</slf4j.version>
|
||||
<tinyoauth2.version>0.8.1</tinyoauth2.version>
|
||||
<zxcvbn.version>1.9.0</zxcvbn.version>
|
||||
|
||||
<!-- test dependencies -->
|
||||
<junit.jupiter.version>6.0.3</junit.jupiter.version>
|
||||
<mockito.version>5.22.0</mockito.version>
|
||||
<junit.jupiter.version>5.13.4</junit.jupiter.version>
|
||||
<mockito.version>5.20.0</mockito.version>
|
||||
<hamcrest.version>3.0</hamcrest.version>
|
||||
|
||||
<!-- build-time dependencies -->
|
||||
<jetbrains.annotations.version>26.1.0</jetbrains.annotations.version>
|
||||
<dependency-check.version>12.2.0</dependency-check.version>
|
||||
<jetbrains.annotations.version>26.0.2-1</jetbrains.annotations.version>
|
||||
<dependency-check.version>12.1.5</dependency-check.version>
|
||||
<jacoco.version>0.8.14</jacoco.version>
|
||||
<license-generator.version>2.7.1</license-generator.version>
|
||||
<junit-tree-reporter.version>1.5.1</junit-tree-reporter.version>
|
||||
<mvn-compiler.version>3.15.0</mvn-compiler.version>
|
||||
<mvn-resources.version>3.5.0</mvn-resources.version>
|
||||
<mvn-dependency.version>3.10.0</mvn-dependency.version>
|
||||
<mvn-surefire.version>3.5.3</mvn-surefire.version>
|
||||
<mvn-jar.version>3.5.0</mvn-jar.version>
|
||||
<license-generator.version>2.7.0</license-generator.version>
|
||||
<junit-tree-reporter.version>1.4.0</junit-tree-reporter.version>
|
||||
<mvn-compiler.version>3.14.1</mvn-compiler.version>
|
||||
<mvn-resources.version>3.3.1</mvn-resources.version>
|
||||
<mvn-dependency.version>3.8.1</mvn-dependency.version>
|
||||
<mvn-surefire.version>3.5.4</mvn-surefire.version>
|
||||
<mvn-jar.version>3.4.2</mvn-jar.version>
|
||||
|
||||
<!-- Property used by surefire to determine jacoco engine -->
|
||||
<surefire.jacoco.args></surefire.jacoco.args>
|
||||
@@ -94,11 +93,6 @@
|
||||
|
||||
<dependencies>
|
||||
<!-- Cryptomator Libs -->
|
||||
<dependency>
|
||||
<groupId>org.cryptomator</groupId>
|
||||
<artifactId>webdav-nio-adapter-servlet</artifactId>
|
||||
<version>${cryptomator.webdav-servlet.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.cryptomator</groupId>
|
||||
<artifactId>cryptolib</artifactId>
|
||||
|
||||
@@ -13,7 +13,6 @@ import org.cryptomator.common.locationpresets.OneDriveLinuxLocationPresetsProvid
|
||||
import org.cryptomator.common.locationpresets.OneDriveMacLocationPresetsProvider;
|
||||
import org.cryptomator.common.locationpresets.OneDriveWindowsLocationPresetsProvider;
|
||||
import org.cryptomator.common.locationpresets.PCloudLocationPresetsProvider;
|
||||
import org.cryptomator.integrations.revealpath.RevealPathService;
|
||||
import org.cryptomator.integrations.tray.TrayMenuController;
|
||||
import org.cryptomator.integrations.uiappearance.UiAppearanceProvider;
|
||||
import org.cryptomator.logging.LogbackConfiguratorFactory;
|
||||
@@ -21,7 +20,6 @@ import org.cryptomator.networking.SSLContextProvider;
|
||||
import org.cryptomator.networking.SSLContextWithMacKeychain;
|
||||
import org.cryptomator.networking.SSLContextWithPKCS12TrustStore;
|
||||
import org.cryptomator.networking.SSLContextWithWindowsCertStore;
|
||||
import org.cryptomator.ui.fxapp.JfxRevealPathService;
|
||||
import org.cryptomator.ui.fxapp.JfxUiAppearanceProvider;
|
||||
import org.cryptomator.ui.traymenu.AwtTrayMenuController;
|
||||
|
||||
@@ -66,7 +64,6 @@ open module org.cryptomator.desktop {
|
||||
uses org.cryptomator.event.NotificationHandler;
|
||||
|
||||
provides UiAppearanceProvider with JfxUiAppearanceProvider;
|
||||
provides RevealPathService with JfxRevealPathService;
|
||||
provides TrayMenuController with AwtTrayMenuController;
|
||||
provides Configurator with LogbackConfiguratorFactory;
|
||||
provides SSLContextProvider with SSLContextWithWindowsCertStore, SSLContextWithMacKeychain, SSLContextWithPKCS12TrustStore;
|
||||
|
||||
@@ -22,6 +22,8 @@ import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Comparator;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.SynchronousQueue;
|
||||
@@ -74,8 +76,8 @@ public abstract class CommonsModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
static RevealPathService provideRevealPathService() {
|
||||
return RevealPathService.get().findFirst().orElseThrow();
|
||||
static Optional<RevealPathService> provideRevealPathService() {
|
||||
return RevealPathService.get().findFirst();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.cryptomator.common;
|
||||
|
||||
import org.jetbrains.annotations.VisibleForTesting;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
@@ -13,12 +13,10 @@ public class SubstitutingProperties extends PropertiesDecorator {
|
||||
private static final Pattern TEMPLATE = Pattern.compile("@\\{(\\w+)}");
|
||||
|
||||
private final Map<String, String> env;
|
||||
private final Logger logger;
|
||||
|
||||
public SubstitutingProperties(Properties props, Map<String, String> systemEnvironment, Logger logger) {
|
||||
public SubstitutingProperties(Properties props, Map<String, String> systemEnvironment) {
|
||||
super(props);
|
||||
this.env = systemEnvironment;
|
||||
this.logger = logger;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,7 +44,7 @@ public class SubstitutingProperties extends PropertiesDecorator {
|
||||
case "localappdata" -> resolveFrom("LOCALAPPDATA", Source.ENV);
|
||||
case "userhome" -> resolveFrom("user.home", Source.PROPS);
|
||||
default -> {
|
||||
logger.warn("Unknown variable {} in property value {}.", match.group(), value);
|
||||
LoggerFactory.getLogger(SubstitutingProperties.class).warn("Unknown variable {} in property value {}.", match.group(), value);
|
||||
yield match.group();
|
||||
}
|
||||
});
|
||||
@@ -58,7 +56,7 @@ public class SubstitutingProperties extends PropertiesDecorator {
|
||||
case PROPS -> delegate.getProperty(key);
|
||||
};
|
||||
if (val == null) {
|
||||
logger.warn("Variable {} used for substitution not found in {}. Replaced with empty string.", key, src);
|
||||
LoggerFactory.getLogger(SubstitutingProperties.class).warn("Variable {} used for substitution not found in {}. Replaced with empty string.", key, src);
|
||||
return "";
|
||||
} else {
|
||||
return Matcher.quoteReplacement(val);
|
||||
|
||||
@@ -36,7 +36,7 @@ public class Cryptomator {
|
||||
|
||||
static {
|
||||
var adminProps = AdminPropertiesFactory.create();
|
||||
var lazyProcessedProps = new SubstitutingProperties(adminProps, System.getenv(), EventualLogger.INSTANCE);
|
||||
var lazyProcessedProps = new SubstitutingProperties(adminProps, System.getenv());
|
||||
System.setProperties(lazyProcessedProps);
|
||||
CRYPTOMATOR_COMPONENT = DaggerCryptomatorComponent.factory().create(STARTUP_TIME);
|
||||
LOG = LoggerFactory.getLogger(Cryptomator.class);
|
||||
@@ -65,6 +65,7 @@ public class Cryptomator {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
EventualLogger.INSTANCE.drainTo(LOG);
|
||||
var printVersion = Optional.ofNullable(args) //
|
||||
.stream() //Streams either one element (the args-array) or zero elements
|
||||
.flatMap(Arrays::stream) //
|
||||
@@ -90,11 +91,10 @@ public class Cryptomator {
|
||||
* @return Nonzero exit code in case of an error.
|
||||
*/
|
||||
private int run(String[] args) {
|
||||
debugMode.initialize();
|
||||
EventualLogger.INSTANCE.drainTo(LOG);
|
||||
env.log();
|
||||
LOG.debug("Dagger graph initialized after {}ms", System.currentTimeMillis() - STARTUP_TIME);
|
||||
LOG.info("Starting Cryptomator {} on {} {} ({})", env.getAppVersion(), SystemUtils.OS_NAME, SystemUtils.OS_VERSION, SystemUtils.OS_ARCH);
|
||||
debugMode.initialize();
|
||||
supportedLanguages.applyPreferred();
|
||||
changeDefaultSSLContext();
|
||||
/*
|
||||
|
||||
@@ -18,7 +18,7 @@ abstract class SSLContextDifferentTrustStoreBase implements SSLContextProvider {
|
||||
public SSLContext getContext(SecureRandom csprng) throws SSLContextBuildException {
|
||||
try {
|
||||
KeyStore truststore = getTruststore();
|
||||
ensureLoaded(truststore);
|
||||
truststore.load(null, null);
|
||||
|
||||
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
|
||||
tmf.init(truststore);
|
||||
@@ -30,13 +30,4 @@ abstract class SSLContextDifferentTrustStoreBase implements SSLContextProvider {
|
||||
throw new SSLContextBuildException(e);
|
||||
}
|
||||
}
|
||||
|
||||
static void ensureLoaded(KeyStore truststore) throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException {
|
||||
try {
|
||||
truststore.aliases();
|
||||
} catch (KeyStoreException e) {
|
||||
// Not initialized yet (e.g. custom KeyStore SPI); initialize without replacing preloaded stores.
|
||||
truststore.load(null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,73 +1,21 @@
|
||||
package org.cryptomator.networking;
|
||||
|
||||
import org.cryptomator.common.Nullable;
|
||||
import org.cryptomator.integrations.common.OperatingSystem;
|
||||
import org.jetbrains.annotations.VisibleForTesting;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.security.KeyStore;
|
||||
import java.security.KeyStoreException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.Provider;
|
||||
import java.security.cert.CertificateException;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* SSLContextProvider for Windows using the Windows certificate store as trust store and the bundled JDK cacerts as fallback
|
||||
* SSLContextProvider for Windows using the Windows certificate store as trust store
|
||||
* <p>
|
||||
* In order to work, the jdk.crypto.mscapi jmod is needed
|
||||
*/
|
||||
@OperatingSystem(OperatingSystem.Value.WINDOWS)
|
||||
public class SSLContextWithWindowsCertStore extends SSLContextDifferentTrustStoreBase implements SSLContextProvider {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(SSLContextWithWindowsCertStore.class);
|
||||
private static final String DEFAULT_TRUSTSTORE_PASSWORD = "changeit"; //default JDK cacerts password
|
||||
|
||||
@Override
|
||||
KeyStore getTruststore() throws KeyStoreException, CertificateException, NoSuchAlgorithmException, IOException {
|
||||
var windowsKeyStore = KeyStore.getInstance("WINDOWS-ROOT");
|
||||
var jdkKeyStore = getShippedCaCertsStore();
|
||||
if (jdkKeyStore == null) {
|
||||
return windowsKeyStore;
|
||||
}
|
||||
|
||||
ensureLoaded(windowsKeyStore);
|
||||
ensureLoaded(jdkKeyStore);
|
||||
try {
|
||||
CombinedKeyStoreSpi spi = CombinedKeyStoreSpi.create(windowsKeyStore, jdkKeyStore);
|
||||
Provider dummyProvider = new Provider("CombinedKeyStoreProvider", "1.0", "Provides a combined, read-only KeyStore") {};
|
||||
return new KeyStore(spi, dummyProvider, "CombinedKeyStoreProvider") {};
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new KeyStoreException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
KeyStore getShippedCaCertsStore() {
|
||||
return getCaCertsStoreByProperties(System.getProperties());
|
||||
}
|
||||
|
||||
//for testability
|
||||
@VisibleForTesting
|
||||
@Nullable
|
||||
KeyStore getCaCertsStoreByProperties(Properties props) {
|
||||
var javaHome = Path.of(props.getProperty("java.home"));
|
||||
var trustStorePassword = props.getProperty("javax.net.ssl.trustStorePassword", DEFAULT_TRUSTSTORE_PASSWORD).toCharArray();
|
||||
for (var candidate : List.of(javaHome.resolve("lib/security/cacerts"), javaHome.resolve("conf/security/cacerts"))) {
|
||||
try {
|
||||
if (Files.isRegularFile(candidate)) {
|
||||
return KeyStore.getInstance(candidate.toFile(), trustStorePassword);
|
||||
}
|
||||
} catch (CertificateException | KeyStoreException | IOException | NoSuchAlgorithmException e) {
|
||||
LOG.info("Unable to load fallback cacerts {} file. Skipping fallback.", candidate, e);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
KeyStore getTruststore() throws KeyStoreException {
|
||||
return KeyStore.getInstance("WINDOWS-ROOT");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
package org.cryptomator.ui.common;
|
||||
|
||||
import dagger.Lazy;
|
||||
import org.cryptomator.common.vaults.Vault;
|
||||
import org.cryptomator.common.vaults.VaultState;
|
||||
import org.cryptomator.integrations.mount.Mountpoint;
|
||||
import org.cryptomator.integrations.mount.UnmountFailedException;
|
||||
import org.cryptomator.integrations.revealpath.RevealFailedException;
|
||||
import org.cryptomator.integrations.revealpath.RevealPathService;
|
||||
import org.cryptomator.ui.fxapp.FxApplicationScoped;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.application.Application;
|
||||
import javafx.application.HostServices;
|
||||
import javafx.concurrent.Task;
|
||||
import javafx.stage.Stage;
|
||||
import java.io.IOException;
|
||||
@@ -27,12 +28,12 @@ public class VaultService {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(VaultService.class);
|
||||
|
||||
private final RevealPathService revealPathService;
|
||||
private final Lazy<Application> application;
|
||||
private final ExecutorService executorService;
|
||||
|
||||
@Inject
|
||||
public VaultService(RevealPathService revealPathService, ExecutorService executorService) {
|
||||
this.revealPathService = revealPathService;
|
||||
public VaultService(Lazy<Application> application, ExecutorService executorService) {
|
||||
this.application = application;
|
||||
this.executorService = executorService;
|
||||
}
|
||||
|
||||
@@ -46,9 +47,9 @@ public class VaultService {
|
||||
* @param vault The vault to reveal
|
||||
*/
|
||||
public Task<Vault> createRevealTask(Vault vault) {
|
||||
Task<Vault> task = new RevealVaultTask(vault, revealPathService);
|
||||
task.setOnSucceeded(_ -> LOG.info("Revealed {}", vault.getDisplayName()));
|
||||
task.setOnFailed(evt -> LOG.warn("Failed to reveal {}", vault.getDisplayName(), evt.getSource().getException()));
|
||||
Task<Vault> task = new RevealVaultTask(vault, application.get().getHostServices());
|
||||
task.setOnSucceeded(evt -> LOG.info("Revealed {}", vault.getDisplayName()));
|
||||
task.setOnFailed(evt -> LOG.error("Failed to reveal " + vault.getDisplayName(), evt.getSource().getException()));
|
||||
return task;
|
||||
}
|
||||
|
||||
@@ -109,18 +110,19 @@ public class VaultService {
|
||||
private static class RevealVaultTask extends Task<Vault> {
|
||||
|
||||
private final Vault vault;
|
||||
private final RevealPathService rs;
|
||||
private final HostServices hostServices;
|
||||
|
||||
public RevealVaultTask(Vault vault, RevealPathService revealPathService) {
|
||||
public RevealVaultTask(Vault vault, HostServices hostServices) {
|
||||
this.vault = vault;
|
||||
this.rs = revealPathService;
|
||||
this.hostServices = hostServices;
|
||||
setOnFailed(evt -> LOG.error("Failed to reveal " + vault.getDisplayName(), getException()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Vault call() throws RevealFailedException {
|
||||
protected Vault call() {
|
||||
switch (vault.getMountPoint()) {
|
||||
case null -> LOG.warn("Not currently mounted");
|
||||
case Mountpoint.WithPath m -> rs.reveal(m.path());
|
||||
case Mountpoint.WithPath m -> hostServices.showDocument(m.uri().toString());
|
||||
case Mountpoint.WithUri m -> LOG.info("Vault mounted at {}", m.uri()); // TODO show in UI?
|
||||
}
|
||||
return vault;
|
||||
|
||||
@@ -2,17 +2,18 @@ package org.cryptomator.ui.eventview;
|
||||
|
||||
import org.apache.commons.lang3.SystemUtils;
|
||||
import org.cryptomator.common.Constants;
|
||||
import org.cryptomator.cryptofs.event.FileIsInUseEvent;
|
||||
import org.cryptomator.event.FSEventBucket;
|
||||
import org.cryptomator.event.FSEventBucketContent;
|
||||
import org.cryptomator.event.FileSystemEventAggregator;
|
||||
import org.cryptomator.common.Nullable;
|
||||
import org.cryptomator.common.ObservableUtil;
|
||||
import org.cryptomator.cryptofs.CryptoPath;
|
||||
import org.cryptomator.cryptofs.event.BrokenDirFileEvent;
|
||||
import org.cryptomator.cryptofs.event.BrokenFileNodeEvent;
|
||||
import org.cryptomator.cryptofs.event.ConflictResolutionFailedEvent;
|
||||
import org.cryptomator.cryptofs.event.ConflictResolvedEvent;
|
||||
import org.cryptomator.cryptofs.event.DecryptionFailedEvent;
|
||||
import org.cryptomator.cryptofs.event.FileIsInUseEvent;
|
||||
import org.cryptomator.event.FSEventBucket;
|
||||
import org.cryptomator.event.FSEventBucketContent;
|
||||
import org.cryptomator.event.FileSystemEventAggregator;
|
||||
import org.cryptomator.integrations.revealpath.RevealFailedException;
|
||||
import org.cryptomator.integrations.revealpath.RevealPathService;
|
||||
import org.cryptomator.ui.common.FxController;
|
||||
@@ -45,6 +46,7 @@ import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.FormatStyle;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.function.Function;
|
||||
|
||||
@@ -55,6 +57,7 @@ public class EventListCellController implements FxController {
|
||||
private static final DateTimeFormatter LOCAL_TIME_FORMATTER = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT).withZone(ZoneId.systemDefault());
|
||||
|
||||
private final FileSystemEventAggregator fileSystemEventAggregator;
|
||||
@Nullable
|
||||
private final RevealPathService revealService;
|
||||
private final ResourceBundle resourceBundle;
|
||||
private final ObjectProperty<Map.Entry<FSEventBucket, FSEventBucketContent>> eventEntry;
|
||||
@@ -79,17 +82,15 @@ public class EventListCellController implements FxController {
|
||||
Button eventActionsButton;
|
||||
|
||||
@Inject
|
||||
public EventListCellController(FileSystemEventAggregator fileSystemEventAggregator,
|
||||
RevealPathService revealService,
|
||||
ResourceBundle resourceBundle) {
|
||||
public EventListCellController(FileSystemEventAggregator fileSystemEventAggregator, Optional<RevealPathService> revealService, ResourceBundle resourceBundle) {
|
||||
this.fileSystemEventAggregator = fileSystemEventAggregator;
|
||||
this.revealService = revealService;
|
||||
this.revealService = revealService.orElseGet(() -> null);
|
||||
this.resourceBundle = resourceBundle;
|
||||
this.eventEntry = new SimpleObjectProperty<>(null);
|
||||
this.eventMessage = new SimpleStringProperty();
|
||||
this.eventDescription = new SimpleStringProperty();
|
||||
this.eventIcon = new SimpleObjectProperty<>();
|
||||
this.eventCount = ObservableUtil.mapWithDefault(eventEntry, e -> e.getValue().count() == 1 ? "" : "(" + e.getValue().count() + ")", "");
|
||||
this.eventCount = ObservableUtil.mapWithDefault(eventEntry, e -> e.getValue().count() == 1? "" : "("+ e.getValue().count() +")", "");
|
||||
this.vaultUnlocked = ObservableUtil.mapWithDefault(eventEntry.flatMap(e -> e.getKey().vault().unlockedProperty()), Function.identity(), false);
|
||||
this.readableTime = ObservableUtil.mapWithDefault(eventEntry, e -> LOCAL_TIME_FORMATTER.format(e.getValue().mostRecentEvent().getTimestamp()), "");
|
||||
this.readableDate = ObservableUtil.mapWithDefault(eventEntry, e -> LOCAL_DATE_FORMATTER.format(e.getValue().mostRecentEvent().getTimestamp()), "");
|
||||
@@ -135,8 +136,13 @@ public class EventListCellController implements FxController {
|
||||
eventMessage.setValue(resourceBundle.getString("eventView.entry.inUse.message"));
|
||||
var indexFileName = fiiue.cleartextPath().lastIndexOf("/");
|
||||
eventDescription.setValue(fiiue.cleartextPath().substring(indexFileName + 1));
|
||||
addLocalizedAction("eventView.entry.inUse.showDecrypted", () -> reveal(revealService, convertVaultPathToSystemPath(fiiue.cleartextPath())));
|
||||
addLocalizedAction("eventView.entry.inUse.showEncrypted", () -> reveal(revealService, fiiue.ciphertextPath()));
|
||||
if (revealService != null) {
|
||||
addLocalizedAction("eventView.entry.inUse.showDecrypted", () -> reveal(revealService, convertVaultPathToSystemPath(fiiue.cleartextPath())));
|
||||
addLocalizedAction("eventView.entry.inUse.showEncrypted", () -> reveal(revealService, fiiue.ciphertextPath()));
|
||||
} else {
|
||||
addLocalizedAction("eventView.entry.inUse.copyDecrypted", () -> copyToClipboard(convertVaultPathToSystemPath(fiiue.cleartextPath()).toString()));
|
||||
addLocalizedAction("eventView.entry.inUse.copyEncrypted", () -> copyToClipboard(fiiue.ciphertextPath().toString()));
|
||||
}
|
||||
|
||||
var userAndDevice = fiiue.owner().split(Constants.HUB_USER_DEVICE_SEPARATOR);
|
||||
var user = userAndDevice[0];
|
||||
@@ -150,7 +156,11 @@ public class EventListCellController implements FxController {
|
||||
eventIcon.setValue(FontAwesome5Icon.TIMES);
|
||||
eventMessage.setValue(resourceBundle.getString("eventView.entry.brokenFileNode.message"));
|
||||
eventDescription.setValue(bfe.ciphertextPath().getFileName().toString());
|
||||
addLocalizedAction("eventView.entry.brokenFileNode.showEncrypted", () -> reveal(revealService, bfe.ciphertextPath()));
|
||||
if (revealService != null) {
|
||||
addLocalizedAction("eventView.entry.brokenFileNode.showEncrypted", () -> reveal(revealService, bfe.ciphertextPath()));
|
||||
} else {
|
||||
addLocalizedAction("eventView.entry.brokenFileNode.copyEncrypted", () -> copyToClipboard(bfe.ciphertextPath().toString()));
|
||||
}
|
||||
addLocalizedAction("eventView.entry.brokenFileNode.copyDecrypted", () -> copyToClipboard(convertVaultPathToSystemPath(bfe.cleartextPath()).toString()));
|
||||
}
|
||||
|
||||
@@ -158,29 +168,46 @@ public class EventListCellController implements FxController {
|
||||
eventIcon.setValue(FontAwesome5Icon.CHECK);
|
||||
eventMessage.setValue(resourceBundle.getString("eventView.entry.conflictResolved.message"));
|
||||
eventDescription.setValue(cre.resolvedCiphertextPath().getFileName().toString());
|
||||
addLocalizedAction("eventView.entry.conflictResolved.showDecrypted", () -> reveal(revealService, convertVaultPathToSystemPath(cre.resolvedCleartextPath())));
|
||||
if (revealService != null) {
|
||||
addLocalizedAction("eventView.entry.conflictResolved.showDecrypted", () -> reveal(revealService, convertVaultPathToSystemPath(cre.resolvedCleartextPath())));
|
||||
} else {
|
||||
addLocalizedAction("eventView.entry.conflictResolved.copyDecrypted", () -> copyToClipboard(convertVaultPathToSystemPath(cre.resolvedCleartextPath()).toString()));
|
||||
}
|
||||
}
|
||||
|
||||
private void adjustToConflictEvent(ConflictResolutionFailedEvent cfe) {
|
||||
eventIcon.setValue(FontAwesome5Icon.COMPRESS_ALT);
|
||||
eventMessage.setValue(resourceBundle.getString("eventView.entry.conflict.message"));
|
||||
eventDescription.setValue(cfe.conflictingCiphertextPath().getFileName().toString());
|
||||
addLocalizedAction("eventView.entry.conflict.showDecrypted", () -> reveal(revealService, convertVaultPathToSystemPath(cfe.canonicalCleartextPath())));
|
||||
addLocalizedAction("eventView.entry.conflict.showEncrypted", () -> reveal(revealService, cfe.conflictingCiphertextPath()));
|
||||
if (revealService != null) {
|
||||
addLocalizedAction("eventView.entry.conflict.showDecrypted", () -> reveal(revealService, convertVaultPathToSystemPath(cfe.canonicalCleartextPath())));
|
||||
addLocalizedAction("eventView.entry.conflict.showEncrypted", () -> reveal(revealService, cfe.conflictingCiphertextPath()));
|
||||
} else {
|
||||
addLocalizedAction("eventView.entry.conflict.copyDecrypted", () -> copyToClipboard(convertVaultPathToSystemPath(cfe.canonicalCleartextPath()).toString()));
|
||||
addLocalizedAction("eventView.entry.conflict.copyEncrypted", () -> copyToClipboard(cfe.conflictingCiphertextPath().toString()));
|
||||
}
|
||||
}
|
||||
|
||||
private void adjustToDecryptionFailedEvent(DecryptionFailedEvent dfe) {
|
||||
eventIcon.setValue(FontAwesome5Icon.BAN);
|
||||
eventMessage.setValue(resourceBundle.getString("eventView.entry.decryptionFailed.message"));
|
||||
eventDescription.setValue(dfe.ciphertextPath().getFileName().toString());
|
||||
addLocalizedAction("eventView.entry.decryptionFailed.showEncrypted", () -> reveal(revealService, dfe.ciphertextPath()));
|
||||
if (revealService != null) {
|
||||
addLocalizedAction("eventView.entry.decryptionFailed.showEncrypted", () -> reveal(revealService, dfe.ciphertextPath()));
|
||||
} else {
|
||||
addLocalizedAction("eventView.entry.decryptionFailed.copyEncrypted", () -> copyToClipboard(dfe.ciphertextPath().toString()));
|
||||
}
|
||||
}
|
||||
|
||||
private void adjustToBrokenDirFileEvent(BrokenDirFileEvent bde) {
|
||||
eventIcon.setValue(FontAwesome5Icon.TIMES);
|
||||
eventMessage.setValue(resourceBundle.getString("eventView.entry.brokenDirFile.message"));
|
||||
eventDescription.setValue(bde.ciphertextPath().getParent().getFileName().toString());
|
||||
addLocalizedAction("eventView.entry.brokenDirFile.showEncrypted", () -> reveal(revealService, bde.ciphertextPath()));
|
||||
if (revealService != null) {
|
||||
addLocalizedAction("eventView.entry.brokenDirFile.showEncrypted", () -> reveal(revealService, bde.ciphertextPath()));
|
||||
} else {
|
||||
addLocalizedAction("eventView.entry.brokenDirFile.copyEncrypted", () -> copyToClipboard(bde.ciphertextPath().toString()));
|
||||
}
|
||||
}
|
||||
|
||||
private void addLocalizedAction(String localizationKey, Runnable action) {
|
||||
@@ -243,7 +270,7 @@ public class EventListCellController implements FxController {
|
||||
}
|
||||
|
||||
var mountPoint = v.getMountPoint().uri().getPath();
|
||||
if (SystemUtils.IS_OS_WINDOWS) {
|
||||
if(SystemUtils.IS_OS_WINDOWS) {
|
||||
mountPoint = mountPoint.substring(1); //strip away any leading "/", otherwise there are errors
|
||||
}
|
||||
return Path.of(mountPoint, vaultInternalPath.substring(1)); //vaultPaths are always absolute
|
||||
|
||||
@@ -10,20 +10,16 @@ import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import javafx.application.Application;
|
||||
import javafx.application.Platform;
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
@FxApplicationScoped
|
||||
public class FxApplication {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(FxApplication.class);
|
||||
|
||||
static final AtomicReference<Application> INSTANCE = new AtomicReference<>();
|
||||
|
||||
private final long startupTime;
|
||||
private final Environment environment;
|
||||
private final Settings settings;
|
||||
@@ -37,8 +33,7 @@ public class FxApplication {
|
||||
private final FxNotificationManager notificationManager;
|
||||
|
||||
@Inject
|
||||
FxApplication(Application fxApp,
|
||||
@Named("startupTime") long startupTime, //
|
||||
FxApplication(@Named("startupTime") long startupTime, //
|
||||
Environment environment, //
|
||||
Settings settings, //
|
||||
AppLaunchEventHandler launchEventHandler, //
|
||||
@@ -60,8 +55,6 @@ public class FxApplication {
|
||||
this.autoUnlocker = autoUnlocker;
|
||||
this.fxFSEventList = fxFSEventList;
|
||||
this.notificationManager = notificationManager;
|
||||
|
||||
INSTANCE.set(fxApp);
|
||||
}
|
||||
|
||||
public void start() {
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
package org.cryptomator.ui.fxapp;
|
||||
|
||||
import org.cryptomator.integrations.common.DisplayName;
|
||||
import org.cryptomator.integrations.common.OperatingSystem;
|
||||
import org.cryptomator.integrations.common.Priority;
|
||||
import org.cryptomator.integrations.revealpath.RevealFailedException;
|
||||
import org.cryptomator.integrations.revealpath.RevealPathService;
|
||||
|
||||
import java.nio.file.Path;
|
||||
|
||||
/**
|
||||
* A {@link RevealPathService} service implementation using the JavaFX {@link javafx.application.HostServices#showDocument(String)} to reveal documents.
|
||||
* <p>
|
||||
* Internally the HostServices class uses GTK on Linux.
|
||||
*
|
||||
* @implNote {@link #reveal(Path)} only succeeds when the class {@link FxApplication} is initialized.
|
||||
*/
|
||||
@DisplayName("JavaFX HostServices (GTK)")
|
||||
@OperatingSystem(OperatingSystem.Value.LINUX)
|
||||
@Priority(10)
|
||||
public class JfxRevealPathService implements RevealPathService {
|
||||
|
||||
@Override
|
||||
public void reveal(Path p) throws RevealFailedException {
|
||||
var fxApp = FxApplication.INSTANCE.get();
|
||||
if (fxApp != null) {
|
||||
fxApp.getHostServices().showDocument(p.toUri().toString());
|
||||
} else {
|
||||
throw new RevealFailedException("JavaFX Application not initialized");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSupported() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -4,12 +4,9 @@ import com.google.common.base.Throwables;
|
||||
import org.cryptomator.common.Environment;
|
||||
import org.cryptomator.common.vaults.Vault;
|
||||
import org.cryptomator.cryptofs.VaultConfig;
|
||||
import org.cryptomator.integrations.revealpath.RevealFailedException;
|
||||
import org.cryptomator.integrations.revealpath.RevealPathService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.application.Application;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
@@ -28,7 +25,6 @@ import java.util.stream.Collectors;
|
||||
@HealthCheckScoped
|
||||
public class ReportWriter {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(ReportWriter.class);
|
||||
private static final String REPORT_HEADER = """
|
||||
*******************************************
|
||||
* Cryptomator Vault Health Report *
|
||||
@@ -47,14 +43,14 @@ public class ReportWriter {
|
||||
|
||||
private final Vault vault;
|
||||
private final VaultConfig vaultConfig;
|
||||
private final RevealPathService revealPathService;
|
||||
private final Application application;
|
||||
private final Path exportDestination;
|
||||
|
||||
@Inject
|
||||
public ReportWriter(@HealthCheckWindow Vault vault, AtomicReference<VaultConfig> vaultConfigRef, RevealPathService revealPathService, Environment env) {
|
||||
public ReportWriter(@HealthCheckWindow Vault vault, AtomicReference<VaultConfig> vaultConfigRef, Application application, Environment env) {
|
||||
this.vault = vault;
|
||||
this.vaultConfig = Objects.requireNonNull(vaultConfigRef.get());
|
||||
this.revealPathService = revealPathService;
|
||||
this.application = application;
|
||||
this.exportDestination = env.getLogDir().orElse(Path.of(System.getProperty("user.home"))).resolve("healthReport_" + vault.getDisplayName() + "_" + TIME_STAMP.format(Instant.now()) + ".log");
|
||||
}
|
||||
|
||||
@@ -96,11 +92,7 @@ public class ReportWriter {
|
||||
}
|
||||
|
||||
private void reveal() {
|
||||
try {
|
||||
revealPathService.reveal(exportDestination.getParent());
|
||||
} catch (RevealFailedException e) {
|
||||
LOG.warn("Failed to reveal export destination location of report", e);
|
||||
}
|
||||
application.getHostServices().showDocument(exportDestination.getParent().toUri().toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,17 +2,14 @@ package org.cryptomator.ui.mainwindow;
|
||||
|
||||
import org.cryptomator.common.vaults.Vault;
|
||||
import org.cryptomator.common.vaults.VaultState;
|
||||
import org.cryptomator.integrations.revealpath.RevealFailedException;
|
||||
import org.cryptomator.integrations.revealpath.RevealPathService;
|
||||
import org.cryptomator.ui.common.Animations;
|
||||
import org.cryptomator.ui.common.AutoAnimator;
|
||||
import org.cryptomator.ui.common.FxController;
|
||||
import org.cryptomator.ui.controls.FontAwesome5Icon;
|
||||
import org.cryptomator.ui.controls.FontAwesome5IconView;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.application.Application;
|
||||
import javafx.beans.binding.BooleanBinding;
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||
@@ -22,12 +19,10 @@ import javafx.fxml.FXML;
|
||||
@MainWindowScoped
|
||||
public class VaultDetailController implements FxController {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(VaultDetailController.class);
|
||||
|
||||
private final ReadOnlyObjectProperty<Vault> vault;
|
||||
private final Application application;
|
||||
private final ObservableValue<FontAwesome5Icon> glyph;
|
||||
private final BooleanBinding anyVaultSelected;
|
||||
private final RevealPathService revealPathService;
|
||||
|
||||
private AutoAnimator spinAnimation;
|
||||
|
||||
@@ -36,11 +31,11 @@ public class VaultDetailController implements FxController {
|
||||
|
||||
|
||||
@Inject
|
||||
VaultDetailController(ObjectProperty<Vault> vault, RevealPathService revealPathService) {
|
||||
VaultDetailController(ObjectProperty<Vault> vault, Application application) {
|
||||
this.vault = vault;
|
||||
this.application = application;
|
||||
this.glyph = vault.flatMap(Vault::stateProperty).map(this::getGlyphForVaultState);
|
||||
this.anyVaultSelected = vault.isNotNull();
|
||||
this.revealPathService = revealPathService;
|
||||
}
|
||||
|
||||
public void initialize() {
|
||||
@@ -66,11 +61,7 @@ public class VaultDetailController implements FxController {
|
||||
|
||||
@FXML
|
||||
public void revealStorageLocation() {
|
||||
try {
|
||||
revealPathService.reveal(vault.get().getPath());
|
||||
} catch (RevealFailedException e) {
|
||||
LOG.warn("Failed to reveal vault storage location", e);
|
||||
}
|
||||
application.getHostServices().showDocument(vault.get().getPath().toUri().toString());
|
||||
}
|
||||
|
||||
/* Observable Properties */
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.property.BooleanProperty;
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
import javafx.beans.property.ReadOnlyObjectProperty;
|
||||
@@ -30,6 +31,7 @@ import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.input.Clipboard;
|
||||
import javafx.scene.input.ClipboardContent;
|
||||
import javafx.scene.input.DataFormat;
|
||||
import javafx.scene.input.DragEvent;
|
||||
import javafx.scene.input.TransferMode;
|
||||
import javafx.stage.FileChooser;
|
||||
@@ -38,8 +40,12 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
@@ -54,7 +60,7 @@ public class VaultDetailUnlockedController implements FxController {
|
||||
private final VaultService vaultService;
|
||||
private final WrongFileAlertComponent.Builder wrongFileAlert;
|
||||
private final Stage mainWindow;
|
||||
private final RevealPathService revealPathService;
|
||||
private final Optional<RevealPathService> revealPathService;
|
||||
private final DecryptNameComponent.Factory decryptNameWindowFactory;
|
||||
private final ResourceBundle resourceBundle;
|
||||
private final LoadingCache<Vault, VaultStatisticsComponent> vaultStats;
|
||||
@@ -78,7 +84,7 @@ public class VaultDetailUnlockedController implements FxController {
|
||||
VaultStatisticsComponent.Builder vaultStatsBuilder, //
|
||||
WrongFileAlertComponent.Builder wrongFileAlert, //
|
||||
@MainWindow Stage mainWindow, //
|
||||
RevealPathService revealPathService, //
|
||||
Optional<RevealPathService> revealPathService, //
|
||||
DecryptNameComponent.Factory decryptNameWindowFactory, //
|
||||
ResourceBundle resourceBundle) {
|
||||
this.vault = vault;
|
||||
@@ -105,7 +111,7 @@ public class VaultDetailUnlockedController implements FxController {
|
||||
|
||||
public void initialize() {
|
||||
revealEncryptedDropZone.setOnDragOver(e -> handleDragOver(e, draggingOverLocateEncrypted));
|
||||
revealEncryptedDropZone.setOnDragDropped(e -> handleDragDropped(e, this::getCiphertextPath, this::revealPaths));
|
||||
revealEncryptedDropZone.setOnDragDropped(e -> handleDragDropped(e, this::getCiphertextPath, this::revealOrCopyPaths));
|
||||
revealEncryptedDropZone.setOnDragExited(_ -> draggingOverLocateEncrypted.setValue(false));
|
||||
|
||||
decryptNameDropZone.setOnDragOver(e -> handleDragOver(e, draggingOverDecryptName));
|
||||
@@ -150,7 +156,7 @@ public class VaultDetailUnlockedController implements FxController {
|
||||
if (cleartextFile != null) {
|
||||
var ciphertextPath = getCiphertextPath(cleartextFile.toPath());
|
||||
if (ciphertextPath != null) {
|
||||
revealPaths(List.of(ciphertextPath));
|
||||
revealOrCopyPaths(List.of(ciphertextPath));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -182,18 +188,34 @@ public class VaultDetailUnlockedController implements FxController {
|
||||
}
|
||||
}
|
||||
|
||||
private void revealPaths(List<Path> paths) {
|
||||
private void revealOrCopyPaths(List<Path> paths) {
|
||||
revealPathService.ifPresentOrElse(svc -> revealPaths(svc, paths), () -> {
|
||||
LOG.warn("No service provider to reveal files found.");
|
||||
copyPathsToClipboard(paths);
|
||||
});
|
||||
}
|
||||
|
||||
private void revealPaths(RevealPathService service, List<Path> paths) {
|
||||
paths.forEach(path -> {
|
||||
try {
|
||||
LOG.debug("Revealing {}", path);
|
||||
revealPathService.reveal(path);
|
||||
service.reveal(path);
|
||||
} catch (RevealFailedException e) {
|
||||
//TODO: show popup in ui
|
||||
LOG.error("Revealing ciphertext file failed.", e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void copyPathsToClipboard(List<Path> paths) {
|
||||
StringBuilder clipboardString = new StringBuilder();
|
||||
paths.forEach(p -> clipboardString.append(p.toString()).append("\n"));
|
||||
Clipboard.getSystemClipboard().setContent(Map.of(DataFormat.PLAIN_TEXT, clipboardString.toString()));
|
||||
ciphertextPathsCopied.setValue(true);
|
||||
CompletableFuture.delayedExecutor(2, TimeUnit.SECONDS, Platform::runLater).execute(() -> {
|
||||
ciphertextPathsCopied.set(false);
|
||||
});
|
||||
}
|
||||
|
||||
private VaultStatisticsComponent buildVaultStats(Vault vault) {
|
||||
return vaultStatsBuilder.vault(vault).build();
|
||||
}
|
||||
|
||||
@@ -10,14 +10,13 @@ import org.cryptomator.integrations.common.NamedServiceProvider;
|
||||
import org.cryptomator.integrations.keychain.KeychainAccessException;
|
||||
import org.cryptomator.integrations.keychain.KeychainAccessProvider;
|
||||
import org.cryptomator.integrations.quickaccess.QuickAccessService;
|
||||
import org.cryptomator.integrations.revealpath.RevealFailedException;
|
||||
import org.cryptomator.integrations.revealpath.RevealPathService;
|
||||
import org.cryptomator.ui.common.FxController;
|
||||
import org.cryptomator.ui.fxapp.FxApplicationWindows;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.application.Application;
|
||||
import javafx.beans.Observable;
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.fxml.FXML;
|
||||
@@ -42,7 +41,7 @@ public class GeneralPreferencesController implements FxController {
|
||||
private final Settings settings;
|
||||
private final Optional<AutoStartProvider> autoStartProvider;
|
||||
private final List<QuickAccessService> quickAccessServices;
|
||||
private final RevealPathService revealPathService;
|
||||
private final Application application;
|
||||
private final Environment environment;
|
||||
private final List<KeychainAccessProvider> keychainAccessProviders;
|
||||
private final KeychainManager keychain;
|
||||
@@ -61,15 +60,9 @@ public class GeneralPreferencesController implements FxController {
|
||||
private CompletionStage<Void> keychainMigrations = CompletableFuture.completedFuture(null);
|
||||
|
||||
@Inject
|
||||
GeneralPreferencesController(@PreferencesWindow Stage window, //
|
||||
Settings settings, //
|
||||
Optional<AutoStartProvider> autoStartProvider, //
|
||||
List<KeychainAccessProvider> keychainAccessProviders, //
|
||||
KeychainManager keychain, //
|
||||
RevealPathService revealPathService, //
|
||||
Environment environment, //
|
||||
FxApplicationWindows appWindows, //
|
||||
ExecutorService backgroundExecutor) {
|
||||
GeneralPreferencesController(@PreferencesWindow Stage window, Settings settings, Optional<AutoStartProvider> autoStartProvider, //
|
||||
List<KeychainAccessProvider> keychainAccessProviders, KeychainManager keychain, Application application, //
|
||||
Environment environment, FxApplicationWindows appWindows, ExecutorService backgroundExecutor) {
|
||||
this.window = window;
|
||||
this.settings = settings;
|
||||
this.autoStartProvider = autoStartProvider;
|
||||
@@ -77,7 +70,7 @@ public class GeneralPreferencesController implements FxController {
|
||||
this.keychain = keychain;
|
||||
this.backgroundExecutor = backgroundExecutor;
|
||||
this.quickAccessServices = QuickAccessService.get().toList();
|
||||
this.revealPathService = revealPathService;
|
||||
this.application = application;
|
||||
this.environment = environment;
|
||||
this.appWindows = appWindows;
|
||||
}
|
||||
@@ -155,11 +148,7 @@ public class GeneralPreferencesController implements FxController {
|
||||
|
||||
@FXML
|
||||
public void showLogfileDirectory() {
|
||||
try {
|
||||
revealPathService.reveal(environment.getLogDir().orElseThrow());
|
||||
} catch (RevealFailedException e) {
|
||||
LOG.warn("Failed to reveal log files directory.", e);
|
||||
}
|
||||
environment.getLogDir().ifPresent(logDirPath -> application.getHostServices().showDocument(logDirPath.toUri().toString()));
|
||||
}
|
||||
|
||||
/* Helper classes */
|
||||
@@ -207,5 +196,4 @@ public class GeneralPreferencesController implements FxController {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,19 +3,18 @@ package org.cryptomator.ui.preferences;
|
||||
import org.cryptomator.common.Environment;
|
||||
import org.cryptomator.common.settings.Settings;
|
||||
import org.cryptomator.common.vaults.Vault;
|
||||
import org.cryptomator.integrations.revealpath.RevealFailedException;
|
||||
import org.cryptomator.integrations.revealpath.RevealPathService;
|
||||
import org.cryptomator.integrations.update.UpdateStep;
|
||||
import org.cryptomator.ui.common.FxController;
|
||||
import org.cryptomator.ui.common.VaultService;
|
||||
import org.cryptomator.updater.FallbackUpdateInfo;
|
||||
import org.cryptomator.updater.UpdateChecker;
|
||||
import org.cryptomator.updater.FallbackUpdateInfo;
|
||||
import org.cryptomator.updater.UpdateService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.animation.PauseTransition;
|
||||
import javafx.application.Application;
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.binding.BooleanBinding;
|
||||
@@ -50,7 +49,7 @@ public class UpdatesPreferencesController implements FxController {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(UpdatesPreferencesController.class);
|
||||
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM).withLocale(Locale.getDefault());
|
||||
|
||||
private final RevealPathService revealPathService;
|
||||
private final Application application;
|
||||
private final Environment environment;
|
||||
private final ResourceBundle resourceBundle;
|
||||
private final Settings settings;
|
||||
@@ -73,8 +72,8 @@ public class UpdatesPreferencesController implements FxController {
|
||||
public CheckBox checkForUpdatesCheckbox;
|
||||
|
||||
@Inject
|
||||
UpdatesPreferencesController(RevealPathService revealPathService, Environment environment, ResourceBundle resourceBundle, Settings settings, UpdateChecker updateChecker, ObservableList<Vault> vaults, VaultService vaultService) {
|
||||
this.revealPathService = revealPathService;
|
||||
UpdatesPreferencesController(Application application, Environment environment, ResourceBundle resourceBundle, Settings settings, UpdateChecker updateChecker, ObservableList<Vault> vaults, VaultService vaultService) {
|
||||
this.application = application;
|
||||
this.environment = environment;
|
||||
this.resourceBundle = resourceBundle;
|
||||
this.settings = settings;
|
||||
@@ -107,14 +106,9 @@ public class UpdatesPreferencesController implements FxController {
|
||||
updateService.setOnFailed(this::updateFailed);
|
||||
}
|
||||
|
||||
|
||||
@FXML
|
||||
public void showLogfileDirectory() {
|
||||
try {
|
||||
revealPathService.reveal(environment.getLogDir().orElseThrow());
|
||||
} catch (RevealFailedException e) {
|
||||
LOG.warn("Failed to reveal log files directory.", e);
|
||||
}
|
||||
environment.getLogDir().ifPresent(logDirPath -> application.getHostServices().showDocument(logDirPath.toUri().toString()));
|
||||
}
|
||||
|
||||
@FXML
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<BorderPane xmlns="http://javafx.com/javafx"
|
||||
xmlns:fx="http://javafx.com/fxml"
|
||||
fx:controller="org.cryptomator.ui.notification.NotificationController"
|
||||
prefHeight="224.0" prefWidth="400.0" maxHeight="224.0" maxWidth="400.0"
|
||||
prefHeight="200.0" prefWidth="400.0" maxHeight="200.0" maxWidth="400.0"
|
||||
styleClass="notification-window"
|
||||
accessibleRole="DIALOG">
|
||||
<padding>
|
||||
@@ -65,7 +65,7 @@
|
||||
<Label text="${controller.message}" styleClass="label-large" wrapText="true"/>
|
||||
<Label text="${controller.fileName}" styleClass="label" textOverrun="CENTER_ELLIPSIS" visible="${!controller.fileName.empty}" managed="${!controller.fileName.empty}"/>
|
||||
<Region minHeight="6"/>
|
||||
<ScrollPane minViewportWidth="370" minViewportHeight="70">
|
||||
<ScrollPane minViewportWidth="370" minViewportHeight="50">
|
||||
<Label text="${controller.description}" styleClass="label" wrapText="true" maxWidth="370"/>
|
||||
</ScrollPane>
|
||||
<Region VBox.vgrow="ALWAYS"/>
|
||||
|
||||
@@ -17,22 +17,22 @@
|
||||
|
||||
<TextArea wrapText="true" prefRowCount="4" fx:id="textarea" textFormatter="${controller.recoveryKeyTextFormatter}" onKeyPressed="#onKeyPressed"/>
|
||||
<VBox>
|
||||
<Label text="%recoveryKey.recover.wrongKey" visible="false" managed="${textarea.text.empty}" graphicTextGap="6" wrapText="true" >
|
||||
<Label text="Just some Filler" visible="false" managed="${textarea.text.empty}" graphicTextGap="6">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="ANCHOR"/>
|
||||
</graphic>
|
||||
</Label>
|
||||
<Label text="%recoveryKey.recover.correctKey" graphicTextGap="6" wrapText="true" visible="${(!textarea.text.empty) && controller.recoveryKeyCorrect}" managed="${(!textarea.text.empty) && controller.recoveryKeyCorrect}">
|
||||
<Label text="%recoveryKey.recover.correctKey" graphicTextGap="6" visible="${(!textarea.text.empty) && controller.recoveryKeyCorrect}" managed="${(!textarea.text.empty) && controller.recoveryKeyCorrect}">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="CHECK"/>
|
||||
</graphic>
|
||||
</Label>
|
||||
<Label text="%recoveryKey.recover.wrongKey" graphicTextGap="6" wrapText="true" visible="${(!textarea.text.empty) && controller.recoveryKeyWrong}" managed="${(!textarea.text.empty) && controller.recoveryKeyWrong}">
|
||||
<Label text="%recoveryKey.recover.wrongKey" graphicTextGap="6" visible="${(!textarea.text.empty) && controller.recoveryKeyWrong}" managed="${(!textarea.text.empty) && controller.recoveryKeyWrong}">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="TIMES" styleClass="glyph-icon-red"/>
|
||||
</graphic>
|
||||
</Label>
|
||||
<Label text="%recoveryKey.recover.invalidKey" graphicTextGap="6" wrapText="true" visible="${(!textarea.text.empty) && controller.recoveryKeyInvalid}" managed="${(!textarea.text.empty) && controller.recoveryKeyInvalid}">
|
||||
<Label text="%recoveryKey.recover.invalidKey" graphicTextGap="6" visible="${(!textarea.text.empty) && controller.recoveryKeyInvalid}" managed="${(!textarea.text.empty) && controller.recoveryKeyInvalid}">
|
||||
<graphic>
|
||||
<FontAwesome5IconView glyph="TIMES" styleClass="glyph-icon-red"/>
|
||||
</graphic>
|
||||
|
||||
@@ -696,25 +696,33 @@ eventView.cell.actionsButton.tooltip=Event actions
|
||||
eventView.entry.vaultLocked.description=Unlock "%s" for details
|
||||
eventView.entry.conflictResolved.message=Resolved conflict
|
||||
eventView.entry.conflictResolved.showDecrypted=Show decrypted file
|
||||
eventView.entry.conflictResolved.copyDecrypted=Copy decrypted path
|
||||
eventView.entry.conflict.message=Conflict resolution failed
|
||||
eventView.entry.conflict.showDecrypted=Show decrypted, original file
|
||||
eventView.entry.conflict.copyDecrypted=Copy decrypted, original path
|
||||
eventView.entry.conflict.showEncrypted=Show conflicting, encrypted file
|
||||
eventView.entry.conflict.copyEncrypted=Copy conflicting, encrypted path
|
||||
eventView.entry.decryptionFailed.message=Decryption failed
|
||||
eventView.entry.decryptionFailed.showEncrypted=Show encrypted file
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Copy encrypted path
|
||||
eventView.entry.brokenDirFile.message=Broken directory link
|
||||
eventView.entry.brokenDirFile.showEncrypted=Show broken, encrypted link
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Copy path of broken link
|
||||
eventView.entry.brokenFileNode.message=Broken filesystem node
|
||||
eventView.entry.brokenFileNode.showEncrypted=Show broken, encrypted node
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Copy path of broken, encrypted node
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Copy decrypted path
|
||||
eventView.entry.inUse.message=File in use
|
||||
eventView.entry.inUse.message=Locked File
|
||||
eventView.entry.inUse.showDecrypted=Show decrypted file
|
||||
eventView.entry.inUse.copyDecrypted=Copy decrypted path
|
||||
eventView.entry.inUse.showEncrypted=Show encrypted file
|
||||
eventView.entry.inUse.copyEncrypted=Copy encrypted path
|
||||
eventView.entry.inUse.copyUserAndDevice=Copy locking user and device name
|
||||
eventView.entry.inUse.ignoreLock=Ignore use status
|
||||
eventView.entry.inUse.ignoreLock=Ignore Lock
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=File is in use on another device
|
||||
notification.inUse.description=The file is open by %s on %s. Ask them to close the file and let synchronization finish. You can ignore the status to open it now, but this may cause conflicts or overwrite newer changes.
|
||||
notification.inUse.action=Ignore Use Status
|
||||
notification.inUse.message=File is locked by another device
|
||||
notification.inUse.description=The file is opened by %s on device %s. Ask the user to close the file and sync again. Otherwise, you can ignore the lock and open it anyway.
|
||||
notification.inUse.action=Ignore Lock
|
||||
@@ -3,8 +3,6 @@
|
||||
# Generics
|
||||
## Button
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
|
||||
# Defaults
|
||||
@@ -38,7 +36,6 @@
|
||||
### Register Device Legacy
|
||||
### Registration Success
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -84,7 +81,7 @@
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -151,7 +148,3 @@
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=إغلاق
|
||||
generic.button.copy=نسخ
|
||||
generic.button.copied=تم النسخ!
|
||||
generic.button.done=تم
|
||||
generic.button.previous=السابق
|
||||
generic.button.next=التالي
|
||||
generic.button.print=طباعة
|
||||
generic.button.remove=حذف
|
||||
|
||||
## Vault state
|
||||
vault.state.error=خطأ
|
||||
|
||||
# Error
|
||||
error.message=حدث خطأ ما
|
||||
error.description=لم يتوقع Cryptomator حدوث ذلك. يمكنك البحث عن الحلول الموجودة لهذا الخطأ. وإذا لم يتم الإبلاغ عنه بعد، لا تتردد في فعل ذلك.
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=للدخول إلى الخزينة، يح
|
||||
hub.registerFailed.message=فشل تسجيل الجهاز
|
||||
hub.registerFailed.description.generic=حدث خطأ في عملية تسجيل الاسم. لمزيد من التفاصيل، راجع سجل التطبيق.
|
||||
hub.registerFailed.description.deviceAlreadyExists=هذا الجهاز مسجل لمستخدم مختلف بالفعل. حاول تغيير حساب المستخدم أو استخدام جهاز مختلف.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=تم رفض الوصول
|
||||
hub.unauthorized.description=غير مسموح لك بفتح هذا المستودع. اتصل بمالك المستودع لطلب الوصول.
|
||||
@@ -391,7 +386,6 @@ stats.access.total=مجموع الوصول: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=المخازن
|
||||
main.vaultlist.emptyList.onboardingInstruction=انقر هنا لإضافة خزنة
|
||||
main.vaultlist.contextMenu.remove=حذف…
|
||||
main.vaultlist.contextMenu.lock=قفل
|
||||
@@ -400,8 +394,8 @@ main.vaultlist.contextMenu.unlockNow=افتح الان
|
||||
main.vaultlist.contextMenu.vaultoptions=إظهار خيارات المخزن
|
||||
main.vaultlist.contextMenu.reveal=اظهار القرص
|
||||
main.vaultlist.contextMenu.share=مشاركة…
|
||||
main.vaultlist.addVaultButton.tooltip=أضِف مخزنًا
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=عرض الإشعارات
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=هناك تحديث متاح.
|
||||
main.notification.support=دعم Cryptomator.
|
||||
## Vault Detail
|
||||
@@ -630,19 +624,19 @@ eventView.clearListButton.tooltip=تفريغ القائمة
|
||||
eventView.entry.vaultLocked.description=فتح "%s" للحصول على التفاصيل
|
||||
eventView.entry.conflictResolved.message=تم حل التضارب
|
||||
eventView.entry.conflictResolved.showDecrypted=إظهار الملف غير المشفر
|
||||
eventView.entry.conflictResolved.copyDecrypted=نسخ المسار غير المشفر
|
||||
eventView.entry.conflict.message=فشل حل التضارب
|
||||
eventView.entry.conflict.showDecrypted=إظهار الملَف غير المشفر الأصلي
|
||||
eventView.entry.conflict.copyDecrypted=نسخ المسار غير المشفر والأصلي
|
||||
eventView.entry.conflict.showEncrypted=إظهار ملف متضارب ومشفر
|
||||
eventView.entry.conflict.copyEncrypted=نسخ مسار التشفير المتعارض
|
||||
eventView.entry.decryptionFailed.message=فشل فك التشفير
|
||||
eventView.entry.decryptionFailed.showEncrypted=عرض ملَف المشفر
|
||||
eventView.entry.decryptionFailed.copyEncrypted=نسخ مسار المشفر
|
||||
eventView.entry.brokenDirFile.message=رابط الدليل المكسور
|
||||
eventView.entry.brokenDirFile.showEncrypted=إظهار الرابط المكسور، المشفر
|
||||
eventView.entry.brokenDirFile.copyEncrypted=نسخ مسار الرابط المكسور
|
||||
eventView.entry.brokenFileNode.message=عقدة ملفات النظام التافلة
|
||||
eventView.entry.brokenFileNode.showEncrypted=عرض العقدة المشفّرة التافلة
|
||||
eventView.entry.brokenFileNode.copyEncrypted=نسخ مسار العقدة المشفّرة التافلة
|
||||
eventView.entry.brokenFileNode.copyDecrypted=نسخ المسار غير المشفر
|
||||
eventView.entry.inUse.showDecrypted=إظهار الملف غير المشفر
|
||||
eventView.entry.inUse.showEncrypted=عرض ملَف المشفر
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Яп
|
||||
generic.button.copy=Күсермәһен ал
|
||||
generic.button.copied=Күсермә алынды!
|
||||
generic.button.done=Тамам
|
||||
generic.button.previous=Алдағы
|
||||
generic.button.next=Киләһе
|
||||
generic.button.print=Баҫтыр
|
||||
generic.button.remove=Алып ташлау
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Хата
|
||||
|
||||
# Error
|
||||
error.message=Хата килеп сыҡты
|
||||
error.description=Cryptomator өсөн көтөлмәгән хәл. Был хатаның булған төҙәтеү варианттарын ҡарай алаһығыҙ. Әлегә тиклем белдерелмәгән булһа, был хаҡта хәбәр итә алаһығыҙ.
|
||||
@@ -167,7 +163,6 @@ hub.register.registerBtn=Теркәл
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Биген ас
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Инеү кире ҡағылды
|
||||
### Requires Account Initialization
|
||||
@@ -362,7 +357,6 @@ stats.access.total=Барлыҡ инеү: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Һаҡлағыстар
|
||||
main.vaultlist.emptyList.onboardingInstruction=Һаҡлағыс өҫтәү өсөн бында баҫығыҙ
|
||||
main.vaultlist.contextMenu.remove=Алып ташлау…
|
||||
main.vaultlist.contextMenu.lock=Биклә
|
||||
@@ -370,8 +364,7 @@ main.vaultlist.contextMenu.unlock=Бикте асыу…
|
||||
main.vaultlist.contextMenu.unlockNow=Хәҙер бикте ас
|
||||
main.vaultlist.contextMenu.vaultoptions=Һаҡлағыс варианттарын күрһәт
|
||||
main.vaultlist.contextMenu.reveal=Дискты күрһәт
|
||||
main.vaultlist.addVaultButton.tooltip=Һаҡлағыс өҫтәү
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Файлдарығыҙҙы һаҡлау өсөн Cryptomator-ҙы һайлағанығыҙ өсөн рәхмәт. Әгәр һеҙгә ярҙам кәрәк булһа, башлау буйынса белешмәләребеҙҙе ҡарағыҙ:
|
||||
@@ -552,7 +545,3 @@ dokanySupportEnd.preferencesBtn=Көйләүҙәрҙе ас
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,13 +12,10 @@ generic.button.close=Зачыніць
|
||||
generic.button.copy=Капіяваць
|
||||
generic.button.copied=Скапіявана!
|
||||
generic.button.done=Файна
|
||||
generic.button.previous=Папярэдні
|
||||
generic.button.next=Далей
|
||||
generic.button.print=Друкаваць
|
||||
generic.button.remove=Выдаліць
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
error.message=Адбылася памылка
|
||||
error.description=Cryptomator не чакаў такога павароту. Ты можаш пашукаць рашэнні гэтай праблемы. Калі пра гэтую хібу яшчэ ніхто не паведаміў, калі ласка, зрабі ты гэта.
|
||||
@@ -159,7 +156,6 @@ hub.register.nameLabel=Назва прылады
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Адамкнуць
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Адмова ў доступе
|
||||
### Requires Account Initialization
|
||||
@@ -355,8 +351,7 @@ main.vaultlist.contextMenu.unlock=Адамкнуць…
|
||||
main.vaultlist.contextMenu.unlockNow=Разамкнуць зараз
|
||||
main.vaultlist.contextMenu.vaultoptions=Паказаць параметры скарбніцы
|
||||
main.vaultlist.contextMenu.reveal=Паказаць дыск
|
||||
main.vaultlist.addVaultButton.tooltip=Дадаць скарбніцу
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Дзякуй, што ты абраў Cryptomator для абароны тваіх файлаў. Калі табе патрэбна дапамога, калі ласка, паглядзі нашы інструкцыі:
|
||||
@@ -529,7 +524,3 @@ dokanySupportEnd.preferencesBtn=Адчыніць налады
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Затваряне
|
||||
generic.button.copy=Копиране
|
||||
generic.button.copied=Копирано!
|
||||
generic.button.done=Готово
|
||||
generic.button.previous=Назад
|
||||
generic.button.next=Напред
|
||||
generic.button.print=Отпечатване
|
||||
generic.button.remove=Премахване
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Заключено
|
||||
vault.state.unlocked=Отключено
|
||||
vault.state.missing=Липсващ
|
||||
vault.state.migrationNeeded=Необходима е миграция
|
||||
vault.state.processing=Обработване
|
||||
vault.state.error=Грешка
|
||||
|
||||
# Error
|
||||
error.message=Възникна грешка
|
||||
error.description=Това е неочаквано за Криптоматор. Можете да потърсите съществуващи ревения за тази грешка. Или ако все още не е докладвана се чувствайте свободни да го направите.
|
||||
@@ -104,7 +95,6 @@ addvault.new.readme.accessLocation.4=При желание можете да п
|
||||
## Existing
|
||||
addvaultwizard.existing.title=Добавяне на съществуващо хранилище
|
||||
addvaultwizard.existing.instruction=Изберете файла „vault.cryptomator“ от съществуващото хранилище, но ако има само файл „masterkey.cryptomator“, изберете него.
|
||||
addvaultwizard.existing.restore=Възстановяване…
|
||||
addvaultwizard.existing.chooseBtn=Избиране…
|
||||
addvaultwizard.existing.filePickerTitle=Избор на файл на хранилището
|
||||
addvaultwizard.existing.filePickerMimeDesc=Хранилище на Криптоматор
|
||||
@@ -152,7 +142,6 @@ unlock.error.customPath.description.hideawayNotDir=Временният, скр
|
||||
unlock.error.customPath.description.couldNotBeCleaned=Хранилището не може да бъде монтирано на „%s“. Опитайте отново или изберете друг път.
|
||||
unlock.error.customPath.description.notEmptyDir=Потребителският път на монтиране „%s“ не е празна папка. Изберете празна папка и опитайте отново.
|
||||
unlock.error.customPath.description.generic=Избрали сте потребителски път за монтиране на това хранилище, но при използването му възникна следната грешка: %2$s
|
||||
unlock.error.restartRequired.message=Хранилището не може да бъде отключено
|
||||
unlock.error.title=Неуспешно отключване на „%s“
|
||||
## Hub
|
||||
hub.noKeychain.message=Няма достъп до ключа на устройството
|
||||
@@ -174,7 +163,6 @@ hub.register.registerBtn=Регистриране
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Отключване
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Отказан достъп
|
||||
### Requires Account Initialization
|
||||
@@ -377,9 +365,7 @@ main.vaultlist.contextMenu.unlock=Отключване…
|
||||
main.vaultlist.contextMenu.unlockNow=Отключване сега
|
||||
main.vaultlist.contextMenu.vaultoptions=Настройки на хранилището
|
||||
main.vaultlist.contextMenu.reveal=Разкриване на диска
|
||||
main.vaultlist.contextMenu.share=Споделяне…
|
||||
main.vaultlist.addVaultButton.tooltip=Добавяне на хранилище
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Благодарим ви, че избрахте Криптоматор, за да предпазвате файловете си. Ако имате нужда от съдействие прочетете ръководствата за започване на работа с приложението:
|
||||
@@ -560,7 +546,3 @@ dokanySupportEnd.preferencesBtn=Към настройките
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -11,14 +11,10 @@ generic.button.close=বন্ধ করুন
|
||||
generic.button.copy=কপি
|
||||
generic.button.copied=কপি হয়েছে!
|
||||
generic.button.done=সম্পন্ন হয়েছে
|
||||
generic.button.previous=পিছনে
|
||||
generic.button.next=পরবর্তী
|
||||
generic.button.print=প্রিন্ট
|
||||
generic.button.remove=বাতিল
|
||||
|
||||
## Vault state
|
||||
vault.state.error=ত্রুটি দেখা দিয়েছে
|
||||
|
||||
# Error
|
||||
error.message=ত্রুটি %s
|
||||
error.description=ওহো! ক্রিপ্টোমেটর এটা যে হবে তা আশা করেনি. আপনি এই ত্রুটির সমাধানটি খুঁজে দেখুন. ত্রুটিটি সম্পর্কে যদি বিবরণ না পান, আপনি সেটি রিপোর্ট করতে পারেন.
|
||||
@@ -99,7 +95,6 @@ unlock.unlockBtn=আনলক করুন
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=আনলক করুন
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -147,8 +142,7 @@ lock.forced.retryBtn=পুনরায় চেষ্টা করুন
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist.contextMenu.lock=লক করুন
|
||||
main.vaultlist.addVaultButton.tooltip=ভোল্ট যুক্ত করুন
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -218,7 +212,3 @@ vaultOptions.mount.mountPoint.directoryPickerButton=নির্বাচন ক
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -15,8 +15,6 @@ generic.button.next=Sljedeće
|
||||
generic.button.print=Ispis
|
||||
generic.button.remove=Ukloni
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
error.message=Došlo je do greške
|
||||
|
||||
@@ -111,7 +109,6 @@ unlock.success.revealBtn=Otkrij pogon
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Otključaj
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -212,7 +209,6 @@ stats.write.accessCount=Ukupno upisano: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Sef
|
||||
main.vaultlist.emptyList.onboardingInstruction=Kliknite ovdje da dodate sef
|
||||
main.vaultlist.contextMenu.remove=Ukloni…
|
||||
main.vaultlist.contextMenu.lock=Zaključaj
|
||||
@@ -220,8 +216,7 @@ main.vaultlist.contextMenu.unlock=Otključaj…
|
||||
main.vaultlist.contextMenu.unlockNow=Otključaj sada
|
||||
main.vaultlist.contextMenu.vaultoptions=Pokaži opcije sefa
|
||||
main.vaultlist.contextMenu.reveal=Otkrij pogon
|
||||
main.vaultlist.addVaultButton.tooltip=Dodaj sef
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Hvala što ste izabrali Cryptomator za zaštitu podataka. Ako vam je potrebna pomoć, pogledajte naše vodiče za početak:
|
||||
@@ -353,7 +348,3 @@ quit.lockAndQuitBtn=Zaključaj i zatvori
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,15 +12,10 @@ generic.button.close=Tanca
|
||||
generic.button.copy=Copia
|
||||
generic.button.copied=Copiat!
|
||||
generic.button.done=Fet
|
||||
generic.button.previous=Anterior
|
||||
generic.button.next=Següent
|
||||
generic.button.print=Imprimeix
|
||||
generic.button.remove=Elimina
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Bloquejada
|
||||
vault.state.error=Error
|
||||
|
||||
# Error
|
||||
error.message=S'ha produït un error
|
||||
error.description=Ui! Cryptomator no esperava que passés això. Podeu cercar alguna de les solucions existents per a aquest error. Si no ha estat reportat encara, sentiu-vos lliure de fer-ho vós mateix.
|
||||
@@ -180,7 +175,6 @@ hub.registerSuccess.legacy.description=Per a accedir a la caixa forta, el vostre
|
||||
hub.registerFailed.message=El registre del dispositiu ha fallat
|
||||
hub.registerFailed.description.generic=S'ha produït un error en el procés de registre. Per a obtindre'n més detalls vegeu els registres de l'aplicació.
|
||||
hub.registerFailed.description.deviceAlreadyExists=El dispositiu ja ha estat registrat per un altre usuari. Mireu de canviar el compte d'usuari o feu servir un dispositiu diferent.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Accés denegat
|
||||
hub.unauthorized.description=No estàs autoritzat a obrir aquesta caixa forta. Contacta amb el seu propietari per obtenir accés.
|
||||
@@ -392,7 +386,6 @@ stats.access.total=Total d'accessos: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Caixes fortes
|
||||
main.vaultlist.emptyList.onboardingInstruction=Feu clic aquí per afegir una caixa forta
|
||||
main.vaultlist.contextMenu.remove=Elimina…
|
||||
main.vaultlist.contextMenu.lock=Bloqueja
|
||||
@@ -401,14 +394,12 @@ main.vaultlist.contextMenu.unlockNow=Desbloqueja ara
|
||||
main.vaultlist.contextMenu.vaultoptions=Opcions de la caixa forta
|
||||
main.vaultlist.contextMenu.reveal=Mostra la unitat
|
||||
main.vaultlist.contextMenu.share=Compateix…
|
||||
main.vaultlist.addVaultButton.tooltip=Afegir una caixa forta
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Hi ha una actualització disponible.
|
||||
main.notification.support=Doneu suport a Cryptomator.
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Gràcies per escollir Cryptomator per protegir els vostres fitxers. Si vos cal ajuda, llegiu les nostres guies per donar els Primers passos:
|
||||
main.vaultDetail.storageLocation=Ubicació de la caixa forta
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=BLOQUEJADA
|
||||
main.vaultDetail.unlockBtn=Desbloca…
|
||||
@@ -608,7 +599,3 @@ shareVault.hub.openHub=Obre Cryptomator Hub
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Zavřít
|
||||
generic.button.copy=Kopírovat
|
||||
generic.button.copied=Zkopírováno!
|
||||
generic.button.done=Hotovo
|
||||
generic.button.previous=Předchozí
|
||||
generic.button.next=Další
|
||||
generic.button.print=Tisk
|
||||
generic.button.remove=Odstranit
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Chyba
|
||||
|
||||
# Error
|
||||
error.message=Chyba %s
|
||||
error.description=Jejda! Tohle Cryptomator nečekal. Můžete najít již existující řešení pro tuto chybu. Nebo pokud ještě nebyla nahlášena, neváhejte tak učinit.
|
||||
@@ -175,7 +171,6 @@ hub.registerSuccess.legacy.description=Pro přístup k trezoru musí být vaše
|
||||
hub.registerFailed.message=Registrace zařízení se nezdařila
|
||||
hub.registerFailed.description.generic=Došlo k chybě v registračním procesu. Pro více detailů se podívejte do logu aplikace.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Toto zařízení je již registrováno pro jiného uživatele. Zkuste změnit uživatelský účet nebo použijte jiné zařízení.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Přístup odepřen
|
||||
### Requires Account Initialization
|
||||
@@ -362,7 +357,6 @@ stats.access.total=Přístup celkem: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Trezory
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klikněte zde pro přidání nového trezoru
|
||||
main.vaultlist.contextMenu.remove=Odstranit…
|
||||
main.vaultlist.contextMenu.lock=Zamknout
|
||||
@@ -371,8 +365,7 @@ main.vaultlist.contextMenu.unlockNow=Odemknout nyní
|
||||
main.vaultlist.contextMenu.vaultoptions=Zobrazit možnosti trezoru
|
||||
main.vaultlist.contextMenu.reveal=Zobrazit jednotku
|
||||
main.vaultlist.contextMenu.share=Sdílet…
|
||||
main.vaultlist.addVaultButton.tooltip=Přidat trezor
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Děkujeme, že jste si vybrali Cryptomator pro ochranu vašich souborů. Pokud potřebujete pomoc, podívejte se na naše návody:
|
||||
@@ -569,7 +562,3 @@ shareVault.hub.openHub=Otevřít Cryptomator Hub
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Luk
|
||||
generic.button.copy=Kopiér
|
||||
generic.button.copied=Kopieret!
|
||||
generic.button.done=Færdig
|
||||
generic.button.previous=Tidligere
|
||||
generic.button.next=Næste
|
||||
generic.button.print=Print
|
||||
generic.button.remove=Fjern
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Låst
|
||||
vault.state.unlocked=Låst op
|
||||
vault.state.missing=Mangler
|
||||
vault.state.migrationNeeded=Migration påkrævet
|
||||
vault.state.processing=Bearbejder
|
||||
vault.state.error=Fejl
|
||||
|
||||
# Error
|
||||
error.message=Der opstod en fejl
|
||||
error.description=Cryptomator forventede ikke at dette skete. Du kan gennemse eksisterende løsninger for denne fejl - eller hvis denne fejl ikke er blevet rapporteret før, er du meget velkommen til at rapportere den.
|
||||
@@ -86,7 +77,7 @@ addvaultwizard.new.generateRecoveryKeyChoice=Du kan ikke tilgå dine data uden d
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=Ja tak - for en sikkerheds skyld
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=Nej tak. Jeg mister ikke min adgangskode
|
||||
### Information
|
||||
addvault.new.readme.storageLocation.fileName=IMPORTANT.rtf
|
||||
addvault.new.readme.storageLocation.fileName=VIGTIGT.rtf
|
||||
addvault.new.readme.storageLocation.1=⚠️ BOKS-FILER ⚠️
|
||||
addvault.new.readme.storageLocation.2=Det er her er lokationen for din boks' data.
|
||||
addvault.new.readme.storageLocation.3=SØRG FOR ALDRIG AT
|
||||
@@ -97,14 +88,14 @@ addvault.new.readme.storageLocation.7=1. Tilføj denne boks til Cryptomator.
|
||||
addvault.new.readme.storageLocation.8=2. Lås boksen op i Cryptomator.
|
||||
addvault.new.readme.storageLocation.9=3. Åbn placeringen ved at klikke på knappen "Vis boks".
|
||||
addvault.new.readme.storageLocation.10=Hvis du har brug for hjælp, så kig i dokumentationen: %s
|
||||
addvault.new.readme.accessLocation.fileName=WELCOME.rtf
|
||||
addvault.new.readme.accessLocation.fileName=VELKOMMEN.rtf
|
||||
addvault.new.readme.accessLocation.1=🔐️ KRYPTERET DREV 🔐️
|
||||
addvault.new.readme.accessLocation.2=Det er her indholdet af din boks tilgås.
|
||||
addvault.new.readme.accessLocation.3=Filer du tilføjer til dette drev vil blive krypteret af Cryptomator. Du har arbejde med filerne ligesom enhver anden fil/mappe. Dette er blot en dekrypteret visning af indholdet. Dine filer er stadig krypterede på din harddisk hele tiden.
|
||||
addvault.new.readme.accessLocation.4=Fjern denne fil hvis du har lyst.
|
||||
## Existing
|
||||
addvaultwizard.existing.title=Tilføj Eksisterende Boks
|
||||
addvaultwizard.existing.instruction=Vælg filen "vault.cryptomator" i mappen med dine boks-filer. Hvis der kun findes en fil med navnet "masterkey.cryptomator", skal du vælge den i stedet.
|
||||
addvaultwizard.existing.instruction=Vælgt filen "vault.cryptomator" i mappen med dine boks-filer. Hvis der kun findes en fil med navnet "masterkey.cryptomator", skal du vælge den i stedet.
|
||||
addvaultwizard.existing.restore=Gendan…
|
||||
addvaultwizard.existing.chooseBtn=Vælg…
|
||||
addvaultwizard.existing.filePickerTitle=Vælg boks-fil
|
||||
@@ -170,9 +161,9 @@ hub.receive.message=Behandler svar…
|
||||
hub.receive.description=Cryptomator modtager og behandler svaret fra hubben. Vent venligst.
|
||||
### Register Device
|
||||
hub.register.message=Ny Enhed
|
||||
hub.register.description=Det er første gang Hub tilgås fra denne enhed. Registrer den venligst ved at anvende din kontonøgle.
|
||||
hub.register.description=Det er første gang Hub tilgås fra denne enhed. Registrer den venligst ved at anvende din Account Key.
|
||||
hub.register.nameLabel=Enheds-navn
|
||||
hub.register.invalidAccountKeyLabel=Ugyldig kontonøgle
|
||||
hub.register.invalidAccountKeyLabel=Ugyldig Account Key
|
||||
hub.register.registerBtn=Registrer
|
||||
### Register Device Legacy
|
||||
hub.register.legacy.occupiedMsg=Navnet er allerede i brug
|
||||
@@ -186,9 +177,6 @@ hub.registerSuccess.legacy.description=For at få adgang til boksen, skal din en
|
||||
hub.registerFailed.message=Enheds registrering mislykkedes
|
||||
hub.registerFailed.description.generic=Der opstod en fejl i registreringsprocessen. Kig i applikations-loggen for flere detaljer.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Denne enhed er allerede registreret af en anden bruger. Prøv at ændre brugerkontoen eller brug en anden enhed.
|
||||
### Archived
|
||||
hub.archived.message=Boksen er arkiveret
|
||||
hub.archived.description=Denne boks er blevet arkiveret og er ikke længere tilgængelig. Kontakt venligst boksens ejer.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Adgang nægtet
|
||||
hub.unauthorized.description=Du har ikke tilladelse til at åbne denne boks. Kontant ejeren af boksen for at anmode om adgang.
|
||||
@@ -244,7 +232,7 @@ migration.impossible.moreInfo=Boksen kan stadig åbnes med en ældre version. Fo
|
||||
## Start
|
||||
health.title=Sundhedstjek af "%s"
|
||||
health.intro.header=Sundhedstjek
|
||||
health.intro.text=Sundhedstjek afvikler en række procedurer for at opdage og muligvis løse problemer, i den interne struktur i din boks. Vær opmærksom på:
|
||||
health.intro.text=Sundhedstjek afvikler en række procedurer for at opdage og muligvis løse problemer, i den interne struktur i bin boks. Vær opmærksom på:
|
||||
health.intro.remarkSync=Sørg for, at alle enheder er synkroniseret fuldstændig, dette løser de fleste problemer.
|
||||
health.intro.remarkFix=Ikke alle problemer kan løses.
|
||||
health.intro.remarkBackup=Hvis data er beskadiget, kan kun en sikkerhedskopi hjælpe.
|
||||
@@ -323,7 +311,7 @@ preferences.volume.type=Standard Drev Type
|
||||
preferences.volume.type.automatic=Automatisk
|
||||
preferences.volume.docsTooltip=Åbn dokumentationen for at lære mere om de forskellige typer drev.
|
||||
preferences.volume.fuseRestartRequired=For at anvende ændringerne skal Cryptomator genstartes.
|
||||
preferences.volume.tcp.port=Standard TCP-Port
|
||||
preferences.volume.tcp.port=Standard 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
|
||||
@@ -341,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=aldrig
|
||||
preferences.updates.lastUpdateCheck.recently=for nylig
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s dage siden
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s timer siden
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Venligst
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=lås dine bokse
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=for at installere opdateringen.
|
||||
preferences.updates.checkFailed=Søgning efter opdateringer fejlede. Tjek din internetforbindelse eller forsøg igen senere.
|
||||
preferences.updates.updateFailed=Opdatering mislykkedes. Installér venligst opdateringen manuelt.
|
||||
preferences.updates.upToDate=Cryptomator er opdateret.
|
||||
preferences.updates.visitDownloadPage=Besøg Downloadside
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Støt os
|
||||
@@ -405,7 +388,6 @@ stats.access.total=Samlede adgang: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Bokse
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klik her for at tilføje en boks
|
||||
main.vaultlist.contextMenu.remove=Fjern…
|
||||
main.vaultlist.contextMenu.lock=Lås
|
||||
@@ -417,9 +399,8 @@ main.vaultlist.contextMenu.share=Del…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Opret ny boks…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Åbn eksisterende boks…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Genopret eksisterende boks…
|
||||
main.vaultlist.addVaultButton.tooltip=Tilføj boks
|
||||
main.vaultlist.showEventsButton.tooltip=Åbn begivenhedsvisning
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Opdatering er tilgængelig.
|
||||
main.notification.support=Støt Cryptomator.
|
||||
## Vault Detail
|
||||
@@ -487,7 +468,7 @@ vaultOptions.general.actionAfterUnlock=Efter oplåsning af boks
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Gør intet
|
||||
vaultOptions.general.actionAfterUnlock.reveal=Vis drev
|
||||
vaultOptions.general.actionAfterUnlock.ask=Spørg
|
||||
vaultOptions.general.startHealthCheckBtn=Start sundhedstjek
|
||||
vaultOptions.general.startHealthCheckBtn=Start sunhedstjek
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Montering
|
||||
@@ -537,11 +518,9 @@ recoveryKey.printout.heading=Cryptomator gendannelsesnøgle\n"%s"\n
|
||||
recoveryKey.recover.resetBtn=Nulstil
|
||||
recoveryKey.recover.recoverBtn=Gendan
|
||||
### Recovery Key Password Reset Success
|
||||
recoveryKey.recover.resetSuccess.message=Adgangskode nulstillet
|
||||
recoveryKey.recover.resetSuccess.message=Adgangskod nulstillet
|
||||
recoveryKey.recover.resetSuccess.description=Du kan nu låse din boks op med den nye adgangskode.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Bokskonfiguration gendannet
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Masterkey-fil genoprettet
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Du kan låse din boks op med din adgangskode nu.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
@@ -651,7 +630,7 @@ shareVault.hubAd.description=Den sikre måde at arbejde i hold
|
||||
shareVault.hubAd.keyManagement=Zero-knowledge nøgle håndtering
|
||||
shareVault.hubAd.authentication=Stærk autentifikation
|
||||
shareVault.hubAd.encryption=End-to-end-kryptering
|
||||
shareVault.visitHub=Besøg Cryptomator Hub
|
||||
shareVault.visitHub=Besøg Kryptomator Hub
|
||||
|
||||
shareVault.hub.message=Sådan deler du en Hub boks
|
||||
shareVault.hub.description=For at dele indholdet i boksen med et andet holdmedlem skal du udføre to trin:
|
||||
@@ -667,7 +646,7 @@ decryptNames.copyTable.tooltip=Kopiér tabel
|
||||
decryptNames.clearTable.tooltip=Ryd tabel
|
||||
decryptNames.copyHint=Kopiér celleindhold med %s
|
||||
decryptNames.dropZone.message=Slip filer eller klik for at vælge
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Boks interne filer med intet dekryptérbart navn valgt
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Boks interne filer med intet dekrypterbart navn valgt
|
||||
decryptNames.dropZone.error.foreignFiles=Filer hører ikke til boksen "%s"
|
||||
decryptNames.dropZone.error.noDirIdBackup=Mappe af valgte filer indeholder ikke dirId.c9r fil
|
||||
decryptNames.dropZone.error.generic=Kunne ikke dekryptere filnavne
|
||||
@@ -681,24 +660,19 @@ eventView.clearListButton.tooltip=Ryd liste
|
||||
eventView.entry.vaultLocked.description=Lås "%s" op for detaljer
|
||||
eventView.entry.conflictResolved.message=Løst konflikt
|
||||
eventView.entry.conflictResolved.showDecrypted=Vis dekrypteret fil
|
||||
eventView.entry.conflictResolved.copyDecrypted=Kopiér dekrypteret sti
|
||||
eventView.entry.conflict.message=Konfliktløsning mislykkedes
|
||||
eventView.entry.conflict.showDecrypted=Vis dekrypteret, original fil
|
||||
eventView.entry.conflict.copyDecrypted=Kopier dekrypteret, original sti
|
||||
eventView.entry.conflict.showEncrypted=Vis modstridende, krypteret fil
|
||||
eventView.entry.conflict.copyEncrypted=Kopier modstridende, krypteret sti
|
||||
eventView.entry.decryptionFailed.message=Dekryptering mislykkedes
|
||||
eventView.entry.decryptionFailed.showEncrypted=Vis krypteret fil
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Kopiér krypteret sti
|
||||
eventView.entry.brokenDirFile.message=Brudt mappelink
|
||||
eventView.entry.brokenDirFile.showEncrypted=Vis brudt, krypteret link
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Kopiér sti til brudt link
|
||||
eventView.entry.brokenFileNode.message=Brudt filsystem-node
|
||||
eventView.entry.brokenFileNode.showEncrypted=Vis brudt, krypteret node
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Kopiér sti af brudt, krypteret node
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Kopiér dekrypteret sti
|
||||
eventView.entry.inUse.message=Fil i brug
|
||||
eventView.entry.inUse.showDecrypted=Vis dekrypteret fil
|
||||
eventView.entry.inUse.showEncrypted=Vis krypteret fil
|
||||
eventView.entry.inUse.ignoreLock=Ignorér anvendelsesstatus
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Filen er i brug på en anden enhed
|
||||
notification.inUse.description=Filen er åbnet af %s på %s. Bed dem om at lukke filen og lade synkroniseringen afslutte. Du kan ignorere status for at åbne den nu, men det kan forårsage konflikter eller overskrive nyere ændringer.
|
||||
notification.inUse.action=Ignorér anvendelsesstatus
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Schließen
|
||||
generic.button.copy=Kopieren
|
||||
generic.button.copied=Kopiert!
|
||||
generic.button.done=Fertig
|
||||
generic.button.previous=Vorheriges
|
||||
generic.button.next=Weiter
|
||||
generic.button.print=Drucken
|
||||
generic.button.remove=Entfernen
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Fehler
|
||||
|
||||
# Error
|
||||
error.message=Ein Fehler ist aufgetreten
|
||||
error.description=Cryptomator hat diesen Fehler nicht erwartet. Du kannst für ihn nach bestehenden Lösungen suchen oder – falls der Fehler noch nicht gemeldet wurde – einen Fehlerbericht einreichen.
|
||||
@@ -181,9 +177,6 @@ hub.registerSuccess.legacy.description=Für den Zugriff auf den Tresor muss dein
|
||||
hub.registerFailed.message=Gerät konnte nicht registriert werden
|
||||
hub.registerFailed.description.generic=Im Registrierungsprozess ist ein Fehler aufgetreten. Weitere Details findest du im Anwendungsprotokoll.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Dieses Gerät ist bereits für einen anderen Benutzer registriert. Ändere das Benutzerkonto oder verwende ein anderes Gerät.
|
||||
### Archived
|
||||
hub.archived.message=Tresor ist archiviert
|
||||
hub.archived.description=Dieser Tresor wurde archiviert, daher ist ein Zugriff darauf nicht mehr möglich. Kontaktiere den Eigentümer des Tresors.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Zugriff verweigert
|
||||
hub.unauthorized.description=Du bist nicht berechtigt, diesen Tresor zu öffnen. Wende dich an den Tresoreigentümer, um Zugriff zu erhalten.
|
||||
@@ -336,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=nie
|
||||
preferences.updates.lastUpdateCheck.recently=kürzlich
|
||||
preferences.updates.lastUpdateCheck.daysAgo=vor %s Tagen
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=vor %s Stunden
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Bitte
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=sperre deine Tresore
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=um das Update zu installieren.
|
||||
preferences.updates.checkFailed=Die Suche nach Updates ist fehlgeschlagen. Bitte überprüfe deine Internetverbindung oder versuche es später erneut.
|
||||
preferences.updates.updateFailed=Update fehlgeschlagen. Bitte installiere das Update manuell.
|
||||
preferences.updates.upToDate=Cryptomator ist aktuell.
|
||||
preferences.updates.visitDownloadPage=Besuche die Download-Seite
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Unterstütze uns
|
||||
@@ -353,7 +341,6 @@ preferences.contribute.promptText=Füge hier den Code des Supporter-Zertifikats
|
||||
preferences.contribute.thankYou=Danke, dass Du die Open-Source-Entwicklung von Cryptomator unterstützt!
|
||||
preferences.contribute.donate=Spenden
|
||||
preferences.contribute.sponsor=Sponsern
|
||||
preferences.contribute.removeCert.tooltip=Zertifikat entfernen
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Zertifikat entfernen
|
||||
@@ -363,7 +350,6 @@ removeCert.description=Die Kernfunktionen von Cryptomator sind davon nicht betro
|
||||
|
||||
## About
|
||||
preferences.about=Über
|
||||
preferences.about.thirdPartyLicenses=Drittanbieter-Lizenzen
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statistiken für %s
|
||||
@@ -402,7 +388,6 @@ stats.access.total=Gesamtzugriffe: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Tresore
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klicke hier, um einen Tresor hinzuzufügen
|
||||
main.vaultlist.contextMenu.remove=Entfernen …
|
||||
main.vaultlist.contextMenu.lock=Sperren
|
||||
@@ -414,10 +399,8 @@ main.vaultlist.contextMenu.share=Teilen …
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Neuen Tresor erstellen…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Bestehenden Tresor öffnen…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Bestehenden Tresor wiederherstellen…
|
||||
main.vaultlist.addVaultButton.tooltip=Tresor hinzufügen
|
||||
main.vaultlist.showEventsButton.tooltip=Ereignisansicht öffnen
|
||||
main.vaultlist.showPreferencesButton.tooltip=Einstellungen anzeigen
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=Ereignis-Ansicht öffnen
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Eine neue Version ist verfügbar.
|
||||
main.notification.support=Unterstütze Cryptomator.
|
||||
## Vault Detail
|
||||
@@ -480,7 +463,6 @@ vaultOptions.general=Allgemein
|
||||
vaultOptions.general.vaultName=Tresorname
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Nach
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=Minuten Inaktivität sperren
|
||||
vaultOptions.general.autoLock.accessibleText=Sperr-Timeout in Minuten
|
||||
vaultOptions.general.unlockAfterStartup=Tresor beim Start von Cryptomator entsperren
|
||||
vaultOptions.general.actionAfterUnlock=Nach erfolgreichem Entsperren
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Nichts tun
|
||||
@@ -664,8 +646,6 @@ decryptNames.filePicker.title=Verschlüsselte Datei auswählen
|
||||
decryptNames.filePicker.extensionDescription=Cryptomator-verschlüsselte Datei
|
||||
decryptNames.copyTable.tooltip=Tabelle kopieren
|
||||
decryptNames.clearTable.tooltip=Tabelle leeren
|
||||
decryptNames.column.encrypted=Verschlüsselt
|
||||
decryptNames.column.decrypted=Entschlüsselt
|
||||
decryptNames.copyHint=Inhalt der Zelle mit %s kopieren
|
||||
decryptNames.dropZone.message=Dateien ablegen oder zum Auswählen klicken
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Tresor interne Dateien mit nicht-entschlüsselbaren Namen ausgewählt
|
||||
@@ -678,27 +658,23 @@ decryptNames.dropZone.error.generic=Fehler beim Entschlüsseln der Dateinamen
|
||||
eventView.title=Ereignisse
|
||||
eventView.filter.allVaults=Alle
|
||||
eventView.clearListButton.tooltip=Liste leeren
|
||||
eventView.filterVaults=Nach Tresor filtern
|
||||
eventView.cell.actionsButton.tooltip=Ereignisaktionen
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Entsperre "%s" für Details
|
||||
eventView.entry.conflictResolved.message=Konflikt gelöst
|
||||
eventView.entry.conflictResolved.showDecrypted=Entschlüsselte Datei anzeigen
|
||||
eventView.entry.conflictResolved.copyDecrypted=Pfad der entschlüsselten Datei kopieren
|
||||
eventView.entry.conflict.message=Konfliktlösung fehlgeschlagen
|
||||
eventView.entry.conflict.showDecrypted=Entschlüsselte, ursprüngliche Datei anzeigen
|
||||
eventView.entry.conflict.copyDecrypted=Entschlüsselten, ursprünglicher Pfad kopieren
|
||||
eventView.entry.conflict.showEncrypted=Zeige verschlüsselte Konfliktdatei
|
||||
eventView.entry.conflict.copyEncrypted=Verschlüsselten Konfliktpfad kopieren
|
||||
eventView.entry.decryptionFailed.message=Entschlüsselung fehlgeschlagen
|
||||
eventView.entry.decryptionFailed.showEncrypted=Verschlüsselte Datei anzeigen
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Pfad der verschlüsselten Datei kopieren
|
||||
eventView.entry.brokenDirFile.message=Ungültiger Verzeichnislink
|
||||
eventView.entry.brokenDirFile.showEncrypted=Defekten, verschlüsselten Link anzeigen
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Pfad des ungültigen Links kopieren
|
||||
eventView.entry.brokenFileNode.message=Beschädigter Dateisystemknoten
|
||||
eventView.entry.brokenFileNode.showEncrypted=Beschädigten, verschlüsselten Knoten anzeigen
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Pfad des beschädigten, verschlüsselten Knotens kopieren
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Pfad der entschlüsselten Datei kopieren
|
||||
eventView.entry.inUse.showDecrypted=Entschlüsselte Datei anzeigen
|
||||
eventView.entry.inUse.showEncrypted=Verschlüsselte Datei anzeigen
|
||||
eventView.entry.inUse.copyUserAndDevice=Benutzer- und Gerätenamen der Sperre kopieren
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.action=Verwendungsstatus ignorieren
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Κλείσιμο
|
||||
generic.button.copy=Αντιγραφή
|
||||
generic.button.copied=Αντιγράφηκε!
|
||||
generic.button.done=Κλείσιμο
|
||||
generic.button.previous=Προηγούμενο
|
||||
generic.button.next=Επόμενο
|
||||
generic.button.print=Εκτύπωση
|
||||
generic.button.remove=Αφαίρεση
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Σφάλμα
|
||||
|
||||
# Error
|
||||
error.message=Παρουσιάστηκε σφάλμα
|
||||
error.description=Ωχ! Το Cryptomator δεν περίμενε να συμβεί αυτό. Μπορείτε να αναζητήσετε υπάρχουσες λύσεις για αυτό το σφάλμα. Ή εάν δεν έχει αναφερθεί ακόμα, μη διστάσετε να το κάνετε.
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=Για να αποκτήσετε πρόσ
|
||||
hub.registerFailed.message=Η εγγραφή της συσκευής απέτυχε
|
||||
hub.registerFailed.description.generic=Παρουσιάστηκε σφάλμα στη διαδικασία εγγραφής. Για περισσότερες λεπτομέρειες, ανατρέξτε στο αρχείο καταγραφής της εφαρμογής.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Αυτή η συσκευή είναι ήδη εγγεγραμμένη για διαφορετικό χρήστη. Προσπαθήστε να αλλάξετε τον λογαριασμό χρήστη ή να χρησιμοποιήσετε διαφορετική συσκευή.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Δεν επιτρέπεται η πρόσβαση
|
||||
hub.unauthorized.description=Δεν είστε εξουσιοδοτημένοι να ανοίξετε αυτή την κρύπτη. Επικοινωνήστε με τον ιδιοκτήτη τς κρύπτης για να ζητήσετε πρόσβαση.
|
||||
@@ -391,7 +386,6 @@ stats.access.total=Συνολική πρόσβαση: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Κρύπτες
|
||||
main.vaultlist.emptyList.onboardingInstruction=Κάντε κλικ εδώ για να προσθέσετε ένα vault
|
||||
main.vaultlist.contextMenu.remove=Αφαίρεση…
|
||||
main.vaultlist.contextMenu.lock=Κλείδωμα
|
||||
@@ -400,8 +394,8 @@ main.vaultlist.contextMenu.unlockNow=Ξεκλείδωμα τώρα
|
||||
main.vaultlist.contextMenu.vaultoptions=Εμφάνιση επιλογών Vault
|
||||
main.vaultlist.contextMenu.reveal=Αποκάλυψη εικονικού δίσκου
|
||||
main.vaultlist.contextMenu.share=Κοινοποίηση…
|
||||
main.vaultlist.addVaultButton.tooltip=Προσθήκη Κρύπτης
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=Άνοιγμα προβολής συμβάντων
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Η ενημέρωση είναι διαθέσιμη.
|
||||
main.notification.support=Υποστήριξη Cryptomator.
|
||||
## Vault Detail
|
||||
@@ -630,19 +624,19 @@ eventView.clearListButton.tooltip=Εκκαθάριση λίστας
|
||||
eventView.entry.vaultLocked.description=Ξεκλείδωμα "%s" για λεπτομέρειες
|
||||
eventView.entry.conflictResolved.message=Επίλυση σύγκρουσης
|
||||
eventView.entry.conflictResolved.showDecrypted=Εμφάνιση αποκρυπτογραφημένου αρχείου
|
||||
eventView.entry.conflictResolved.copyDecrypted=Αντιγραφή αποκρυπτογραφημένης διαδρομής
|
||||
eventView.entry.conflict.message=Η επίλυση συγκρούσεων απέτυχε
|
||||
eventView.entry.conflict.showDecrypted=Εμφάνιση αποκρυπτογραφημένων, αρχικό αρχείο
|
||||
eventView.entry.conflict.copyDecrypted=Αντιγραφή αποκρυπτογραφημένων, αρχική διαδρομή
|
||||
eventView.entry.conflict.showEncrypted=Εμφάνιση αντικρουόμενου, κρυπτογραφημένο αρχείο
|
||||
eventView.entry.conflict.copyEncrypted=Αντιγραφή σύγκρουσης, κρυπτογραφημένη διαδρομή
|
||||
eventView.entry.decryptionFailed.message=Η αποκρυπτογράφηση απέτυχε
|
||||
eventView.entry.decryptionFailed.showEncrypted=Εμφάνιση κρυπτογραφημένου αρχείου
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Αντιγραφή κρυπτογραφημένης διαδρομής
|
||||
eventView.entry.brokenDirFile.message=Μη λειτουργικός σύνδεσμος καταλόγου
|
||||
eventView.entry.brokenDirFile.showEncrypted=Εμφάνιση μη λειτουργικού, κρυπτογραφημένου συνδέσμου
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Αντιγραφή διαδρομής του μη λειτουργικού συνδέσμου
|
||||
eventView.entry.brokenFileNode.message=Μη λειτουργικός κόμβος συστήματος αρχείων
|
||||
eventView.entry.brokenFileNode.showEncrypted=Εμφάνιση μη λειτουργικού, κρυπτογραφημένου κόμβου
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Αντιγραφή διαδρομής του μη λειτουργικού, κρυπτογραφημένου κόμβου
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Αντιγραφή αποκρυπτογραφημένης διαδρομής
|
||||
eventView.entry.inUse.showDecrypted=Εμφάνιση αποκρυπτογραφημένου αρχείου
|
||||
eventView.entry.inUse.showEncrypted=Εμφάνιση κρυπτογραφημένου αρχείου
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Cerrar
|
||||
generic.button.copy=Copiar
|
||||
generic.button.copied=¡Copiado!
|
||||
generic.button.done=Hecho
|
||||
generic.button.previous=Anterior
|
||||
generic.button.next=Siguiente
|
||||
generic.button.print=Imprimir
|
||||
generic.button.remove=Eliminar
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Error
|
||||
|
||||
# Error
|
||||
error.message=Ocurrió un error
|
||||
error.description=Cryptomator no esperaba que esto sucediera. Puede buscar soluciones existentes para este error. O si aún no se ha notificado, siéntase libre de hacerlo.
|
||||
@@ -181,7 +177,6 @@ hub.registerSuccess.legacy.description=Para acceder a la bóveda, su dispositivo
|
||||
hub.registerFailed.message=El registro del dispositivo ha fallado
|
||||
hub.registerFailed.description.generic=Ha ocurrido un error al intentar registrarse. Para más detalles, consulte el registro de la aplicación.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Este dispositivo ya se ha registrado para otro usuario. Intente cambiar la cuenta de usuario o utilice un dispositivo diferente.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Acceso denegado
|
||||
hub.unauthorized.description=No tiene autorización para abrir esta bóveda. Contacta al propietario de la bóveda para solicitar acceso.
|
||||
@@ -262,8 +257,6 @@ health.check.detail.checkFinishedAndFound=La comprobación terminó de ejecutars
|
||||
health.check.detail.checkFailed=La comprobación terminó debido a un error.
|
||||
health.check.detail.checkCancelled=La comprobación se canceló.
|
||||
health.check.detail.listFilters.label=Filtro
|
||||
health.check.detail.filterSeverity=Filtrar por gravedad
|
||||
health.check.detail.filterFixState=Filtrar por estado fijo
|
||||
health.check.detail.fixAllSpecificBtn=Reparar todo del tipo
|
||||
health.check.exportBtn=Exportar informe
|
||||
## Result view
|
||||
@@ -336,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=nunca
|
||||
preferences.updates.lastUpdateCheck.recently=recientemente
|
||||
preferences.updates.lastUpdateCheck.daysAgo=hace %s días
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=hace %s horas
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Por favor,
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=bloquee sus bóvedas
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=para instalar la actualización.
|
||||
preferences.updates.checkFailed=La comprobación de actualizaciones ha fallado. Compruebe su conexión a Internet o inténtelo más tarde.
|
||||
preferences.updates.updateFailed=Actualización fallida. Por favor, instale la actualización manualmente.
|
||||
preferences.updates.upToDate=Cryptomator está actualizado.
|
||||
preferences.updates.visitDownloadPage=Visita la página de descarga
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Apóyenos
|
||||
@@ -353,7 +341,6 @@ preferences.contribute.promptText=Pegue aquí el código de certificado de segui
|
||||
preferences.contribute.thankYou=¡Gracias por apoyar el desarrollo de código abierto de Cryptomator!
|
||||
preferences.contribute.donate=Donar
|
||||
preferences.contribute.sponsor=Patrocinador
|
||||
preferences.contribute.removeCert.tooltip=Eliminar certificado
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Eliminar Certificado
|
||||
@@ -363,7 +350,6 @@ removeCert.description=Las características principales de Cryptomator no se ven
|
||||
|
||||
## About
|
||||
preferences.about=Acerca de
|
||||
preferences.about.thirdPartyLicenses=Licencias de terceros
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Estadísticas para %s
|
||||
@@ -402,7 +388,6 @@ stats.access.total=Accesos totales: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Bóvedas
|
||||
main.vaultlist.emptyList.onboardingInstruction=Haga clic aquí para añadir una bóveda
|
||||
main.vaultlist.contextMenu.remove=Eliminar…
|
||||
main.vaultlist.contextMenu.lock=Bloquear
|
||||
@@ -414,10 +399,8 @@ main.vaultlist.contextMenu.share=Compartir…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=
|
||||
main.vaultlist.addVaultButton.tooltip=Añadir bóveda
|
||||
main.vaultlist.showEventsButton.tooltip=Abrir vista de evento
|
||||
main.vaultlist.showPreferencesButton.tooltip=Mostrar preferencias
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Existen actualizaciones disponibles.
|
||||
main.notification.support=Soporte de Cryptomator.
|
||||
## Vault Detail
|
||||
@@ -480,7 +463,6 @@ vaultOptions.general=General
|
||||
vaultOptions.general.vaultName=Nombre de la bóveda
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Bloquear después de
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minutos
|
||||
vaultOptions.general.autoLock.accessibleText=Tiempo de bloqueo en minutos
|
||||
vaultOptions.general.unlockAfterStartup=Desbloquear bóveda al iniciar Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Después de desbloquear con éxito
|
||||
vaultOptions.general.actionAfterUnlock.ignore=No hacer nada
|
||||
@@ -534,59 +516,29 @@ 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
|
||||
recoveryKey.recover.recoverBtn=Recuperar
|
||||
### Recovery Key Password Reset Success
|
||||
recoveryKey.recover.resetSuccess.message=Contraseña restablecida con éxito
|
||||
recoveryKey.recover.resetSuccess.description=Puede desbloquear su bóveda con la contraseña nueva.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Configuración de bóveda recuperada
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Archivo Masterkey recuperado
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Ahora puedes desbloquear tu bóveda con tu contraseña.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
##Add Existing Vault without recovery - Dialog
|
||||
recover.existing.title=Bóveda añadida
|
||||
recover.existing.message=La bóveda se ha añadido correctamente
|
||||
recover.existing.description=Tu bóveda "%s" ha sido añadida a la lista de bóvedas. No ha sido necesario ningún proceso de recuperación.
|
||||
|
||||
##Vault Already Exists - Dialog
|
||||
recover.alreadyExists.title=La bóveda ya existe
|
||||
recover.alreadyExists.message=Esta bóveda ya ha sido añadida
|
||||
recover.alreadyExists.description=Tu bóveda "%s" ya está presente en tu lista de bóvedas y, por lo tanto, no se ha añadido de nuevo.
|
||||
|
||||
##Invalid Selection - Dialog
|
||||
recover.invalidSelection.title=Selección no válida
|
||||
recover.invalidSelection.message=Su selección no es una bóveda
|
||||
recover.invalidSelection.description=La carpeta seleccionada debe ser una bóveda de Cryptomator válida.
|
||||
|
||||
## Contact Hub Vault Owner - Dialog
|
||||
contactHubVaultOwner.title=Bóveda de Hub
|
||||
contactHubVaultOwner.message=Esta bóveda fue creada con Cryptomator Hub
|
||||
contactHubVaultOwner.description=Póngase en contacto con el propietario de la bóveda para restaurar el archivo que falta. Pueden descargar la plantilla de la bóveda desde Cryptomator Hub.
|
||||
|
||||
##Dialog Title
|
||||
recover.recoverVaultConfig.title=Recuperar configuración de bóveda
|
||||
recover.recoverMasterkey.title=Recuperar MasterKey
|
||||
|
||||
## OnBoarding
|
||||
recover.onBoarding.chooseMethod=Elija el método de recuperación:
|
||||
recover.onBoarding.useRecoveryKey=Usar clave de recuperación
|
||||
recover.onBoarding.usePassword=Usar contraseña
|
||||
recover.onBoarding.intro=Asegúrese de comprobar lo siguiente:
|
||||
recover.onBoarding.pleaseConfirm=Antes de proceder, confirme que:
|
||||
recover.onBoarding.otherwisePleaseConfirm=De lo contrario, confirme que:
|
||||
recover.onBoarding.allMissing.intro=Si esta bóveda es administrada por Cryptomator Hub, el propietario de la bóveda debe restaurarla por usted.
|
||||
recover.onBoarding.intro.ensure=Todos los archivos están totalmente sincronizados.
|
||||
recover.onBoarding.affirmation=He leído y comprendido estos requisitos
|
||||
|
||||
###Vault Config Missing
|
||||
recover.onBoarding.intro.recoveryKey=Tiene la clave de recuperación y sabe si se han utilizado los ajustes expertos.
|
||||
recover.onBoarding.intro.password=Tiene la contraseña y sabe si se han utilizado los ajustes expertos.
|
||||
###Masterkey Missing
|
||||
recover.onBoarding.intro.masterkey.recoveryKey=Tiene la clave de recuperación de la bóveda.
|
||||
|
||||
## Expert Settings
|
||||
recover.expertSettings.shorteningThreshold.title=Este valor debe coincidir con el utilizado antes de la recuperación para asegurar la compatibilidad con datos cifrados previamente.
|
||||
|
||||
# Convert Vault
|
||||
convertVault.title=Convertir bóveda
|
||||
@@ -664,8 +616,6 @@ decryptNames.filePicker.title=Seleccione archivo cifrado
|
||||
decryptNames.filePicker.extensionDescription=Archivo cifrado Cryptomator
|
||||
decryptNames.copyTable.tooltip=Copiar tabla
|
||||
decryptNames.clearTable.tooltip=Limpiar tabla
|
||||
decryptNames.column.encrypted=Cifrado
|
||||
decryptNames.column.decrypted=Descifrado
|
||||
decryptNames.copyHint=Copiar contenido de celda con %s
|
||||
decryptNames.dropZone.message=Soltar archivos o hacer clic para seleccionar
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Archivos internos de la bóveda sin nombre descifrable seleccionado
|
||||
@@ -678,30 +628,23 @@ decryptNames.dropZone.error.generic=Error al descifrar nombre de archivos
|
||||
eventView.title=Eventos
|
||||
eventView.filter.allVaults=Todos
|
||||
eventView.clearListButton.tooltip=Borrar lista
|
||||
eventView.filterVaults=Filtrar por bóveda
|
||||
eventView.cell.actionsButton.tooltip=Acciones del evento
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Desbloquear "%s" para más detalles
|
||||
eventView.entry.conflictResolved.message=Conflicto resuelto
|
||||
eventView.entry.conflictResolved.showDecrypted=Mostrar archivo descifrado
|
||||
eventView.entry.conflictResolved.copyDecrypted=Copiar ruta descifrada
|
||||
eventView.entry.conflict.message=Resolución de conflictos fallida
|
||||
eventView.entry.conflict.showDecrypted=Mostrar archivo descifrado, original
|
||||
eventView.entry.conflict.copyDecrypted=Copiar ruta descifrada, original
|
||||
eventView.entry.conflict.showEncrypted=Mostrar archivo en conflicto, cifrado
|
||||
eventView.entry.conflict.copyEncrypted=Copiar ruta en conflicto, cifrada
|
||||
eventView.entry.decryptionFailed.message=Desencriptación fallida
|
||||
eventView.entry.decryptionFailed.showEncrypted=Mostrar archivo cifrado
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Copiar ruta cifrada
|
||||
eventView.entry.brokenDirFile.message=Enlace de directorio roto
|
||||
eventView.entry.brokenDirFile.showEncrypted=Mostrar enlace roto, cifrado
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Copiar ruta del enlace roto
|
||||
eventView.entry.brokenFileNode.message=Nodo de sistema de archivos roto
|
||||
eventView.entry.brokenFileNode.showEncrypted=Mostrar nodo roto, cifrado
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Copiar ruta del enlace roto, encriptado
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Copiar ruta descifrada
|
||||
eventView.entry.inUse.message=Fichero en uso
|
||||
eventView.entry.inUse.showDecrypted=Mostrar archivo descifrado
|
||||
eventView.entry.inUse.showEncrypted=Mostrar archivo cifrado
|
||||
eventView.entry.inUse.ignoreLock=Ignorar el estado de uso
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=El archivo está en uso en otro dispositivo
|
||||
notification.inUse.description=El archivo está abierto por %s en %s. Solicítale que cierre el archivo y deje que finalice la sincronización. Puede ignorar el estado para abrirlo ahora, pero esto puede causar conflictos o sobrescribir cambios más recientes.
|
||||
notification.inUse.action=Ignorar el Estado de Uso
|
||||
@@ -12,13 +12,10 @@ generic.button.close=ببند
|
||||
generic.button.copy=کپی
|
||||
generic.button.copied=کپی شد!
|
||||
generic.button.done=انجام شده
|
||||
generic.button.previous=قبلی
|
||||
generic.button.next=بعدی
|
||||
generic.button.print=چاپ
|
||||
generic.button.remove=حذف
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
error.message=خطایی رخ داده است
|
||||
error.description=کریپتوماتور انتظار رخ دادن این مورد را نداشت. شما میتوانید به دنبال راهکار های موجود برای این خطا بگردید، یا اگر قبلا گزارش نشده است، گزارش کنید.
|
||||
@@ -122,7 +119,6 @@ hub.register.message=دستگاه جدید
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=بازکردن قفل
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -179,8 +175,7 @@ preferences.updates.upToDate=Cryptomator به روز می باشد.
|
||||
## Vault List
|
||||
main.vaultlist.contextMenu.lock=قفل
|
||||
main.vaultlist.contextMenu.reveal=نمایش درایو
|
||||
main.vaultlist.addVaultButton.tooltip=اضافه کردن گاوصندوق
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -253,7 +248,3 @@ dokanySupportEnd.preferencesBtn=باز کردن تنظیمات
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Sulje
|
||||
generic.button.copy=Kopioi
|
||||
generic.button.copied=Kopioitu!
|
||||
generic.button.done=Valmis
|
||||
generic.button.previous=Edellinen
|
||||
generic.button.next=Seuraava
|
||||
generic.button.print=Tulosta
|
||||
generic.button.remove=Poista
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Virhe
|
||||
|
||||
# Error
|
||||
error.message=Tapahtui virhe
|
||||
error.description=Cryptomator ei odottanut tämän tapahtuvan. Voit etsiä olemassa olevia ratkaisuja tähän virheeseen. Tai jos sitä ei ole vielä raportoitu, voit tehdä niin.
|
||||
@@ -100,7 +96,6 @@ addvault.new.readme.accessLocation.4=Voit halutessasi poistaa tämän tiedoston.
|
||||
## Existing
|
||||
addvaultwizard.existing.title=Lisää olemassa oleva holvi
|
||||
addvaultwizard.existing.instruction=Valitse olemassa olevan Cryptomator holvin "vault.cryptomator" -tiedosto. Mikäli "vault.cryptomator" -tiedostoa ei ole, valitse "masterkey.cryptomator" -tiedosto.
|
||||
addvaultwizard.existing.restore=Palauta…
|
||||
addvaultwizard.existing.chooseBtn=Valitse…
|
||||
addvaultwizard.existing.filePickerTitle=Valitse Holvi -tiedosto
|
||||
addvaultwizard.existing.filePickerMimeDesc=Cryptomator Holvi
|
||||
@@ -132,7 +127,6 @@ unlock.unlockBtn=Avaa
|
||||
## Select
|
||||
unlock.chooseMasterkey.message=Masterkey-tiedostoa ei löydy
|
||||
unlock.chooseMasterkey.description=Cryptomator ei paikantanut masterkey-tiedostoa holville "%s". Ole hyvä ja valitse tiedosto manuaalisesti.
|
||||
unlock.chooseMasterkey.restoreInstead=Palauta pääavaintiedosto
|
||||
unlock.chooseMasterkey.filePickerTitle=Valitse masterkey-tiedosto
|
||||
unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator masterkey
|
||||
## Success
|
||||
@@ -181,7 +175,6 @@ hub.registerSuccess.legacy.description=Käyttääksesi holvia, holvin omistajan
|
||||
hub.registerFailed.message=Laitteen rekisteröinti epäonnistui
|
||||
hub.registerFailed.description.generic=Rekisteröinnissä tapahtui virhe. Löydät lisätietoja lokitiedostoista.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Tämä laite on jo rekisteröity toiselle käyttäjälle. Yritä vaihtaa käyttäjätiliä tai käytää toista laitetta.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Pääsy estetty
|
||||
hub.unauthorized.description=Sinulla ei ole oikeutta avata tätä holvia. Ota yhteyttä holvin omistajaan pyytääksesi pääsyä.
|
||||
@@ -262,8 +255,6 @@ health.check.detail.checkFinishedAndFound=Testi suorietttiin loppuun. Ole hyvä
|
||||
health.check.detail.checkFailed=Testi päättyi virheen vuoksi.
|
||||
health.check.detail.checkCancelled=Testi peruutettiin.
|
||||
health.check.detail.listFilters.label=Suodata
|
||||
health.check.detail.filterSeverity=Suodata vakavuuden mukaan
|
||||
health.check.detail.filterFixState=Suodata korjauksen tilan mukaan
|
||||
health.check.detail.fixAllSpecificBtn=Korjaa kaikki tyyppiä
|
||||
health.check.exportBtn=Vie raportti
|
||||
## Result view
|
||||
@@ -336,13 +327,8 @@ preferences.updates.lastUpdateCheck.never=ei koskaan
|
||||
preferences.updates.lastUpdateCheck.recently=viimeaikoina
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s päivää sitten
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s tuntia sitten
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Ole hyvä
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=lukitse holvisi
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=asentaaksesi päivityksen.
|
||||
preferences.updates.checkFailed=Päivitysten etsiminen epäonnistui. Tarkista internetyhteys tai yritä myöhemmin uudelleen.
|
||||
preferences.updates.updateFailed=Päivitys epäonnistui. Asenna päivitys manuaalisesti.
|
||||
preferences.updates.upToDate=Cryptomator on ajan tasalla.
|
||||
preferences.updates.visitDownloadPage=Mene lataussivulle
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Tue meitä
|
||||
@@ -353,7 +339,6 @@ preferences.contribute.promptText=Liitä tukijasertifikaatin koodi tähän
|
||||
preferences.contribute.thankYou=Kiitos tuestasi Cryptomatorin avoimeen kehittämiseen!
|
||||
preferences.contribute.donate=Lahjoita
|
||||
preferences.contribute.sponsor=Sponsori
|
||||
preferences.contribute.removeCert.tooltip=Poista lisenssi
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Poista sertifikaatti
|
||||
@@ -363,11 +348,9 @@ removeCert.description=Tämä ei vaikuta Cryptomatorin ydintoimintoihin. Holveih
|
||||
|
||||
## About
|
||||
preferences.about=Tietoja
|
||||
preferences.about.thirdPartyLicenses=Kolmansien osapuolien käyttöoikeudet
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=%s tilastot
|
||||
stats.cacheHitRate=Välimuistin osumatarkkuus
|
||||
## Read
|
||||
stats.read.throughput.idle=Luku: toimeton
|
||||
stats.read.throughput.kibs=Luku: %.2f KiB/s
|
||||
@@ -410,13 +393,8 @@ main.vaultlist.contextMenu.unlockNow=Avaa Nyt
|
||||
main.vaultlist.contextMenu.vaultoptions=Näytä holvin asetukset
|
||||
main.vaultlist.contextMenu.reveal=Paljasta Asema
|
||||
main.vaultlist.contextMenu.share=Jaa…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Luo uusi holvi…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Avaa olemassaoleva holvi…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Palauta olemassaoleva holvi…
|
||||
main.vaultlist.addVaultButton.tooltip=Lisää holvi
|
||||
main.vaultlist.showEventsButton.tooltip=Avaa tapahtumanäkymä
|
||||
main.vaultlist.showPreferencesButton.tooltip=Näytä asetukset
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Päivitys on saatavilla.
|
||||
main.notification.support=Tue Cryptomatoria.
|
||||
## Vault Detail
|
||||
@@ -453,8 +431,6 @@ main.vaultDetail.missing.recheck=Tarkista uudelleen
|
||||
main.vaultDetail.missing.remove=Poista holvilistalta…
|
||||
main.vaultDetail.missing.changeLocation=Vaihda holvin sijaintia…
|
||||
### Missing Vault Config
|
||||
main.vaultDetail.missingVaultConfig.info=Holvin asetuksia ei löydy.
|
||||
main.vaultDetail.missingVaultConfig.restore=Palauta holvin asetukset
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=Päivitä Holvi
|
||||
main.vaultDetail.migratePrompt=Holvisi täytyy muuntaa uuteen muotoon ennen kuin voit avata sen
|
||||
@@ -479,7 +455,6 @@ vaultOptions.general=Yleiset
|
||||
vaultOptions.general.vaultName=Holvin nimi
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Lukitse kun ollut käyttämättä
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minuuttia
|
||||
vaultOptions.general.autoLock.accessibleText=Lukituksen aikakatkaisu minuuteissa
|
||||
vaultOptions.general.unlockAfterStartup=Avaa holvi kun Cryptomator käynnistyy
|
||||
vaultOptions.general.actionAfterUnlock=Avauksen jälkeen
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Älä tee mitään
|
||||
@@ -520,7 +495,6 @@ vaultOptions.hub.convertBtn=Muunna salasanapohjaiseksi holviksi
|
||||
recoveryKey.display.title=Näytä palautusavain
|
||||
recoveryKey.create.message=Salasana vaaditaan
|
||||
recoveryKey.create.description=Syötä salasana holville "%s" näyttääksesi sen palautusavaimen.
|
||||
recoveryKey.recover.description=Syötä salasana "%s":lle palauttaaksesi holvin asetukset.
|
||||
recoveryKey.display.description=Tällä palautusavaimella voidaan palauttaa pääsy holviin "%s":
|
||||
recoveryKey.display.StorageHints=Pidä se hyvin tallessa, esimerkiksi\n • Säilytä se salasananhallintaohjelmassa\n • Tallenna se USB-asemalle\n • Tulosta se paperille
|
||||
## Reset Password
|
||||
@@ -533,59 +507,28 @@ recoveryKey.recover.invalidKey=Tämä palautusavain ei ole kelvollinen
|
||||
recoveryKey.printout.heading=Cryptomator palautusavain\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Palauta
|
||||
recoveryKey.recover.recoverBtn=Palauta
|
||||
### Recovery Key Password Reset Success
|
||||
recoveryKey.recover.resetSuccess.message=Salasanan palautus onnistui
|
||||
recoveryKey.recover.resetSuccess.description=Voit avata holvin uudella salasanalla.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Holvin asetukset palautettu
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Pääavaintiedosto palautettu
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Voit nyt avata holvisi salasanalla.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
##Add Existing Vault without recovery - Dialog
|
||||
recover.existing.title=Holvi lisätty
|
||||
recover.existing.message=Holvi lisättiin onnistuneesti
|
||||
recover.existing.description=Holvisi "%s" on lisätty holviluetteloon. Palauttaminen ei ollut tarpeen.
|
||||
|
||||
##Vault Already Exists - Dialog
|
||||
recover.alreadyExists.title=Holvi on jo olemassa
|
||||
recover.alreadyExists.message=Tämä holvi on jo lisätty
|
||||
recover.alreadyExists.description=Holvisi "%s" on jo holviluettelossasi, eikä sitä siksi lisätty uudelleen.
|
||||
|
||||
##Invalid Selection - Dialog
|
||||
recover.invalidSelection.title=Virheellinen valinta
|
||||
recover.invalidSelection.message=Valintasi ei ole holvi
|
||||
recover.invalidSelection.description=Valitun kansion on oltava kelvollinen Cryptomator holvi.
|
||||
|
||||
## Contact Hub Vault Owner - Dialog
|
||||
contactHubVaultOwner.title=Hub -holvi
|
||||
contactHubVaultOwner.message=Tämä holvi on luotu Cryptomator Hubilla
|
||||
contactHubVaultOwner.description=Ota yhteys holvin omistajaan palauttaaksesi puuttuvan tiedoston. Hän voi ladata holvimallin Cryptomator Hubista.
|
||||
|
||||
##Dialog Title
|
||||
recover.recoverVaultConfig.title=Palauta holvin asetukset
|
||||
recover.recoverMasterkey.title=Palauta pääavain
|
||||
|
||||
## OnBoarding
|
||||
recover.onBoarding.chooseMethod=Valitse palautusmenetelmä:
|
||||
recover.onBoarding.useRecoveryKey=Käytä palautusavainta
|
||||
recover.onBoarding.usePassword=Käytä salasanaa
|
||||
recover.onBoarding.intro=Tarkista seuraavat:
|
||||
recover.onBoarding.pleaseConfirm=Ennen jatkamista, vahvista että:
|
||||
recover.onBoarding.otherwisePleaseConfirm=Muutoin, varmista että:
|
||||
recover.onBoarding.allMissing.intro=Jos tätä holvia hallitaan Cryptomator Hubilla, holvin omistaja palauttaa holvin puolestasi.
|
||||
recover.onBoarding.intro.ensure=Kaikki tiedostot ovat synkronoitu.
|
||||
recover.onBoarding.affirmation=Olen lukenut ja ymmärtänyt nämä vaatimukset
|
||||
|
||||
###Vault Config Missing
|
||||
recover.onBoarding.intro.recoveryKey=Sinulla on palautusavain ja tiedät onko edistyneitä asetuksia käytetty.
|
||||
recover.onBoarding.intro.password=Sinulla on salasana ja tiedät onko edistyneitä asetuksia käytetty.
|
||||
###Masterkey Missing
|
||||
recover.onBoarding.intro.masterkey.recoveryKey=Sinulla on holvin palautusavain.
|
||||
|
||||
## Expert Settings
|
||||
recover.expertSettings.shorteningThreshold.title=Tämän arvon on täsmättävä ennen palautusta olleeseen salatun tiedon yhteensopivuuden varmistamiseksi.
|
||||
|
||||
# Convert Vault
|
||||
convertVault.title=Muunna holvi
|
||||
@@ -626,9 +569,6 @@ updateReminder.yesOnce=Kyllä, vain tämän kerran
|
||||
updateReminder.yesAutomatically=Kyllä, automaattisesti
|
||||
|
||||
#Dokany Support End
|
||||
dokanySupportEnd.title=Huomio
|
||||
dokanySupportEnd.message=Dokany tuen loppuminen
|
||||
dokanySupportEnd.description=Cryptomator ei enää tue Dokany -osiotyyppiä. Asetuksesi muutetaan oletusosiotyyppiä varten. Voit tarkistaa oletusosiotyypin asetuksista.
|
||||
dokanySupportEnd.preferencesBtn=Avaa asetukset
|
||||
|
||||
#Retry If Readonly
|
||||
@@ -660,16 +600,7 @@ shareVault.hub.openHub=Avaa Cryptomator Hub
|
||||
# Decrypt File Names
|
||||
decryptNames.title=Pura tiedostonimien salaus
|
||||
decryptNames.filePicker.title=Valitse salattu tiedosto
|
||||
decryptNames.filePicker.extensionDescription=Cryptomatorilla salattu tiedosto
|
||||
decryptNames.copyTable.tooltip=Kopioi taulukko
|
||||
decryptNames.clearTable.tooltip=Tyhjennä taulukko
|
||||
decryptNames.column.encrypted=Salattu
|
||||
decryptNames.column.decrypted=Purettu
|
||||
decryptNames.copyHint=Kopioi solun sisältö: %s
|
||||
decryptNames.dropZone.message=Pudota tiedostoja tai napsauta valitaksesi
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Valittu holvin sisäiset tiedostot joissa ei ole purkukelpoista nimeä
|
||||
decryptNames.dropZone.error.foreignFiles=Tiedostot eivät kuulu holviin "%s"
|
||||
decryptNames.dropZone.error.noDirIdBackup=Valittujen tiedostojen hakemistossa ei ole dirld.c9r tiedostoa
|
||||
decryptNames.dropZone.error.generic=Tiedostonimien salauksen purku epäonnistui
|
||||
|
||||
|
||||
@@ -677,25 +608,23 @@ decryptNames.dropZone.error.generic=Tiedostonimien salauksen purku epäonnistui
|
||||
eventView.title=Tapahtumat
|
||||
eventView.filter.allVaults=Kaikki
|
||||
eventView.clearListButton.tooltip=Tyhjennä luettelo
|
||||
eventView.filterVaults=Suodata holvin mukaan
|
||||
eventView.cell.actionsButton.tooltip=Toiminnot
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Avaa "%s" lisätietoja varten
|
||||
eventView.entry.conflictResolved.message=Ratkaistu ristiriita
|
||||
eventView.entry.conflictResolved.showDecrypted=Näytä purettu tiedosto
|
||||
eventView.entry.conflictResolved.copyDecrypted=Kopioi purettu polku
|
||||
eventView.entry.conflict.message=Ristiriidan ratkaisu epäonnistui
|
||||
eventView.entry.conflict.showDecrypted=Näytä purettu, alkuperäinen tiedosto
|
||||
eventView.entry.conflict.copyDecrypted=Näytä purettu, alkuperäinen polku
|
||||
eventView.entry.conflict.showEncrypted=Näytä ristiriitainen, salattu tiedosto
|
||||
eventView.entry.conflict.copyEncrypted=Kopioi ristiriitainen, salattu polku
|
||||
eventView.entry.decryptionFailed.message=Salauksen purku epäonnistui
|
||||
eventView.entry.decryptionFailed.showEncrypted=Näytä salattu tiedosto
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Kopioi salattu polku
|
||||
eventView.entry.brokenDirFile.message=Virheellinen hakemiston linkki
|
||||
eventView.entry.brokenDirFile.showEncrypted=Näytä virheellinen, salattu linkki
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Kopioi virheellisen polun linkki
|
||||
eventView.entry.brokenFileNode.message=Virheellinen tiedostojärjestelmän solmu
|
||||
eventView.entry.brokenFileNode.showEncrypted=Näytä virheellinen, salattu solmu
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Kopioi virheellisen, salatun solmun polku
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Kopioi purettu polku
|
||||
eventView.entry.inUse.showDecrypted=Näytä purettu tiedosto
|
||||
eventView.entry.inUse.showEncrypted=Näytä salattu tiedosto
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Isara
|
||||
generic.button.copy=Kopyahin
|
||||
generic.button.copied=Nakopya na!
|
||||
generic.button.done=Tapos na
|
||||
generic.button.previous=Nakaraan
|
||||
generic.button.next=Sunod
|
||||
generic.button.print=I-print
|
||||
generic.button.remove=Tanggalin
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Error
|
||||
|
||||
# Error
|
||||
error.message=Error %s
|
||||
error.description=Oops! Hindi inaasahan ng Cryptomator na ito'y mangyari. Maaari kang humanap ng umiiral na solusyon sa problemang ito. Maaaring i-report ito kung hindi pa umiiral.
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=Para ma-access ang vault, kailangang pahi
|
||||
hub.registerFailed.message=Ang pag rehistrado ng device ay pumalya
|
||||
hub.registerFailed.description.generic=Nagkaroon ng error sa proseso ng pag registrado. Para sa higit pang mga detalye, tingnan ang log ng aplikasyon.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Ang device na ito ay registrado na sa ibang user. Subukang palitan ang user account o gumamit ng ibang device.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Walang pahintulot
|
||||
### Requires Account Initialization
|
||||
@@ -382,7 +377,6 @@ stats.access.total=Kabuuang mga access: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Mga Vault
|
||||
main.vaultlist.emptyList.onboardingInstruction=Mag-click dito para magdagdag ng vault
|
||||
main.vaultlist.contextMenu.remove=Alisin…
|
||||
main.vaultlist.contextMenu.lock=I-lock
|
||||
@@ -391,8 +385,7 @@ main.vaultlist.contextMenu.unlockNow=I-unlock Ngayon
|
||||
main.vaultlist.contextMenu.vaultoptions=Ipakita ang Mga Opsyon sa Vault
|
||||
main.vaultlist.contextMenu.reveal=Ibunyag ang Drive
|
||||
main.vaultlist.contextMenu.share=Ibahagi…
|
||||
main.vaultlist.addVaultButton.tooltip=Magdagdag ng Vault
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Salamat sa pagpili sa Cryptomator para protektahan ang iyong mga file. Kung kailangan mo ng anumang tulong, tingnan ang aming mga gabay sa pagsisimula:
|
||||
@@ -595,7 +588,3 @@ shareVault.hub.openHub=Buksan ang Cryptomator Hub
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Fermer
|
||||
generic.button.copy=Copier
|
||||
generic.button.copied=Copié !
|
||||
generic.button.done=OK
|
||||
generic.button.previous=Précédent
|
||||
generic.button.next=Suivant
|
||||
generic.button.print=Imprimer
|
||||
generic.button.remove=Supprimer
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Verrouillé
|
||||
vault.state.unlocked=Déverrouillé
|
||||
vault.state.missing=Manquant
|
||||
vault.state.migrationNeeded=Migration nécessaire
|
||||
vault.state.processing=Traitement en cours
|
||||
vault.state.error=Erreur
|
||||
|
||||
# Error
|
||||
error.message=Une erreur s'est produite
|
||||
error.description=Oups ! Cryptomator ne s'attendait pas à ce que cela se produise. Vous pouvez rechercher des solutions existantes pour cette erreur. Ou si elle n'a pas encore été signalée, n'hésitez pas à le faire.
|
||||
@@ -186,9 +177,6 @@ hub.registerSuccess.legacy.description=Pour accéder au coffre, votre appareil d
|
||||
hub.registerFailed.message=Échec de l'enregistrement de l'appareil
|
||||
hub.registerFailed.description.generic=Le processus de nommage a retourné une erreur. Pour plus de détails, regardez dans le journal de l'application.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Cet appareil est déjà enregistré pour un autre utilisateur. Essayez de changer de compte ou utilisez un autre appareil.
|
||||
### Archived
|
||||
hub.archived.message=Le coffre est archivé
|
||||
hub.archived.description=Ce coffre a été archivé et n'est plus accessible. Veuillez contacter le propriétaire du coffre.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Accès refusé
|
||||
hub.unauthorized.description=Vous n'êtes pas autorisé à ouvrir ce coffre. Contactez le propriétaire du coffre pour en demander l'accès.
|
||||
@@ -269,8 +257,6 @@ health.check.detail.checkFinishedAndFound=Le test est terminé. Veuillez vérifi
|
||||
health.check.detail.checkFailed=La vérification s'est arrêtée en raison d'une erreur.
|
||||
health.check.detail.checkCancelled=Vérification annulée.
|
||||
health.check.detail.listFilters.label=Filtre
|
||||
health.check.detail.filterSeverity=Filtrer par sévérité
|
||||
health.check.detail.filterFixState=Filtrer par état de réparation
|
||||
health.check.detail.fixAllSpecificBtn=Corriger tout le type
|
||||
health.check.exportBtn=Exporter le rapport
|
||||
## Result view
|
||||
@@ -343,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=jamais
|
||||
preferences.updates.lastUpdateCheck.recently=récemment
|
||||
preferences.updates.lastUpdateCheck.daysAgo=Il y a %s jours
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=il y a %s heures
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Veuillez s'il vous plaît
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=verrouiller vos coffres
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=pour installer la mise à jour.
|
||||
preferences.updates.checkFailed=La recherche de mises à jour a échoué. Veuillez vérifier votre connexion internet ou réessayez plus tard.
|
||||
preferences.updates.updateFailed=Échec de la mise à jour. Merci d'installer la mise à jour manuellement.
|
||||
preferences.updates.upToDate=Cryptomator est à jour.
|
||||
preferences.updates.visitDownloadPage=Visiter la page de téléchargement
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Nous soutenir
|
||||
@@ -360,7 +341,6 @@ preferences.contribute.promptText=Collez le code du certificat du supporter ici
|
||||
preferences.contribute.thankYou=Merci de soutenir le développement open-source de Cryptomator !
|
||||
preferences.contribute.donate=Faire un don
|
||||
preferences.contribute.sponsor=Parrain
|
||||
preferences.contribute.removeCert.tooltip=Supprimer le certificat
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Supprimer le certificat
|
||||
@@ -370,7 +350,6 @@ removeCert.description=Les fonctionnalités principales de Cryptomator ne sont p
|
||||
|
||||
## About
|
||||
preferences.about=A propos
|
||||
preferences.about.thirdPartyLicenses=Licences tierces
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statistiques sur %s
|
||||
@@ -409,8 +388,6 @@ stats.access.total=Total des accès: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Coffres
|
||||
main.vaultlist.listEntry=Coffre %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Cliquez ici pour ajouter un volume chiffré
|
||||
main.vaultlist.contextMenu.remove=Retirer…
|
||||
main.vaultlist.contextMenu.lock=Verrouiller
|
||||
@@ -422,17 +399,13 @@ main.vaultlist.contextMenu.share=Partager…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Créer un nouveau coffre…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Ouvrir le coffre existant…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Restaurer le coffre existant…
|
||||
main.vaultlist.addVaultButton.tooltip=Ajouter un coffre
|
||||
main.vaultlist.showEventsButton.tooltip=Ouvrir la vue Événements
|
||||
main.vaultlist.showPreferencesButton.tooltip=Afficher les préférences
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Mise à jour disponible.
|
||||
main.notification.support=Soutenir Cryptomator.
|
||||
main.notification.closeButton.tooltip="Fermer la barre d'information"
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
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 :
|
||||
main.vaultDetail.storageLocation=Emplacement du stockage du coffre
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=VERROUILLÉ
|
||||
main.vaultDetail.unlockBtn=Déverrouiller…
|
||||
@@ -490,7 +463,6 @@ vaultOptions.general=Général
|
||||
vaultOptions.general.vaultName=Nom du volume chiffré
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Verrouiler en cas d'inactivité pendant
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minutes
|
||||
vaultOptions.general.autoLock.accessibleText=Délai de verrouillage en minutes
|
||||
vaultOptions.general.unlockAfterStartup=Déverrouiller le volume chiffré au démarrage
|
||||
vaultOptions.general.actionAfterUnlock=Après un déverrouillage réussi
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Ne rien faire
|
||||
@@ -521,7 +493,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Oublier le mot de passe enregistr
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Une clé de récupération est le seul moyen de rétablir l'accès à un volume chiffré si vous en perdez le mot de passe.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Afficher la clé de récupération
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Réinitialiser le mot de passe
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Ces options ne sont disponibles que si le fichier masterkey est présent dans le répertoire du coffre.
|
||||
## Hub
|
||||
vaultOptions.hub=Récupération
|
||||
vaultOptions.hub.convertInfo=Vous pouvez utiliser la clé de récupération pour convertir ce coffre Hub en coffre à mot de passe en cas d'urgence.
|
||||
@@ -550,8 +521,6 @@ recoveryKey.recover.recoverBtn=Restaurer
|
||||
recoveryKey.recover.resetSuccess.message=Réinitialisation du mot de passe réussie
|
||||
recoveryKey.recover.resetSuccess.description=Vous pouvez déverrouiller votre coffre avec le nouveau mot de passe.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Configuration du coffre-fort récupérée
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Fichier masterkey récupéré
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Vous pouvez maintenant déverrouiller votre coffre avec votre mot de passe.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
@@ -675,8 +644,6 @@ decryptNames.filePicker.title=Sélectionner le fichier chiffré
|
||||
decryptNames.filePicker.extensionDescription=Fichier chiffré Cryptomator
|
||||
decryptNames.copyTable.tooltip=Copier le tableau
|
||||
decryptNames.clearTable.tooltip=Effacer le tableau
|
||||
decryptNames.column.encrypted=Chiffré
|
||||
decryptNames.column.decrypted=Déchiffré
|
||||
decryptNames.copyHint=Copier le contenu de la cellule avec %s
|
||||
decryptNames.dropZone.message=Déposer des fichiers ou cliquer pour en sélectionner
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Fichiers internes du coffre sans nom déchiffrable sélectionnés
|
||||
@@ -689,31 +656,23 @@ decryptNames.dropZone.error.generic=Impossible de déchiffrer les noms de fichie
|
||||
eventView.title=Événements
|
||||
eventView.filter.allVaults=Tous
|
||||
eventView.clearListButton.tooltip=Effacer la liste
|
||||
eventView.filterVaults=Filtrer par coffre
|
||||
eventView.cell.actionsButton.tooltip=Actions d'évènement
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Déverrouillez "%s" pour plus de détails
|
||||
eventView.entry.conflictResolved.message=Conflit résolu
|
||||
eventView.entry.conflictResolved.showDecrypted=Afficher le fichier déchiffré
|
||||
eventView.entry.conflictResolved.copyDecrypted=Copier le chemin déchiffré
|
||||
eventView.entry.conflict.message=La résolution des conflits a échoué
|
||||
eventView.entry.conflict.showDecrypted=Afficher le fichier original déchiffré
|
||||
eventView.entry.conflict.copyDecrypted=Copier le chemin original déchiffré
|
||||
eventView.entry.conflict.showEncrypted=Afficher le fichier chiffré en conflit
|
||||
eventView.entry.conflict.copyEncrypted=Copier le chemin chiffré en conflit
|
||||
eventView.entry.decryptionFailed.message=Le déchiffrement a échoué
|
||||
eventView.entry.decryptionFailed.showEncrypted=Afficher le fichier chiffré
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Copier le chemin chiffré
|
||||
eventView.entry.brokenDirFile.message=Lien de répertoire cassé
|
||||
eventView.entry.brokenDirFile.showEncrypted=Afficher le lien chiffré cassé
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Copier le chemin du lien cassé
|
||||
eventView.entry.brokenFileNode.message=Nœud de système de fichiers cassé
|
||||
eventView.entry.brokenFileNode.showEncrypted=Afficher le nœud chiffré cassé
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Copier le chemin du nœud chiffré cassé
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Copier le chemin déchiffré
|
||||
eventView.entry.inUse.message=Fichier en cours d’utilisation
|
||||
eventView.entry.inUse.showDecrypted=Afficher le fichier déchiffré
|
||||
eventView.entry.inUse.showEncrypted=Afficher le fichier chiffré
|
||||
eventView.entry.inUse.copyUserAndDevice=Copier le verrouillage de l'utilisateur et le nom de l'appareil
|
||||
eventView.entry.inUse.ignoreLock=Ignorer le statut d’utilisation
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Le fichier est utilisé sur un autre appareil
|
||||
notification.inUse.description=Le fichier est ouvert par %s sur %s. Demandez-lui à fermer le fichier et laissez la synchronisation se terminer. Vous pouvez ignorer le statut pour l’ouvrir maintenant, mais cela pourrait entraîner des conflits ou écraser des modifications récentes.
|
||||
notification.inUse.action=Ignorer le statut d’utilisation
|
||||
@@ -11,13 +11,10 @@ generic.button.close=Pechar
|
||||
generic.button.copy=Copiar
|
||||
generic.button.copied=Copiado!
|
||||
generic.button.done=Feito
|
||||
generic.button.previous=Anterior
|
||||
generic.button.next=Seguinte
|
||||
generic.button.print=Imprimir
|
||||
generic.button.remove=Eliminar
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
error.message=Produciuse un erro
|
||||
|
||||
@@ -52,7 +49,6 @@ error.message=Produciuse un erro
|
||||
### Register Device Legacy
|
||||
### Registration Success
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -99,7 +95,7 @@ lock.forced.retryBtn=Tentar de novo
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -166,7 +162,3 @@ lock.forced.retryBtn=Tentar de novo
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=סגור
|
||||
generic.button.copy=העתק
|
||||
generic.button.copied=הועתק!
|
||||
generic.button.done=סיום
|
||||
generic.button.previous=הקודם
|
||||
generic.button.next=הבא
|
||||
generic.button.print=הדפס
|
||||
generic.button.remove=הסר
|
||||
|
||||
## Vault state
|
||||
vault.state.error=שגיאה
|
||||
|
||||
# Error
|
||||
error.message=אירעה שגיאה
|
||||
error.description=Cryptomator לא ציפתה שזה יקרה. ניתן לחפש פתרונות קיימים לשגיאה זו, או במקרה והשגיאה לא דווחה עדיין נשמח לקבל דיווח עליה.
|
||||
@@ -163,7 +159,6 @@ hub.register.nameLabel=שם מכשיר
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=בטל נעילה
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=הגישה נדחתה
|
||||
### Requires Account Initialization
|
||||
@@ -352,7 +347,6 @@ stats.access.total=מספר גישות כולל: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=כספות
|
||||
main.vaultlist.emptyList.onboardingInstruction=לחץ כאן להוספת כספת
|
||||
main.vaultlist.contextMenu.remove=הסר…
|
||||
main.vaultlist.contextMenu.lock=נעילה
|
||||
@@ -360,8 +354,7 @@ main.vaultlist.contextMenu.unlock=שחרר נעילה…
|
||||
main.vaultlist.contextMenu.unlockNow=בטל נעילה כעת
|
||||
main.vaultlist.contextMenu.vaultoptions=הצג את אפשרויות הכספת
|
||||
main.vaultlist.contextMenu.reveal=חשוף את הכונן
|
||||
main.vaultlist.addVaultButton.tooltip=הוספת כספת
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=תודה שבחרת ב- Cryptomator להגן על הקבצים שלך. אם אתה זקוק לסיוע, אנא עיין במדריכים שלנו:
|
||||
@@ -528,7 +521,3 @@ dokanySupportEnd.preferencesBtn=פתח העדפות
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=बंद करें
|
||||
generic.button.copy=कॉपी करें
|
||||
generic.button.copied=कॉपी हुआ!
|
||||
generic.button.done=हो गया
|
||||
generic.button.previous=पिछला
|
||||
generic.button.next=अगला
|
||||
generic.button.print=प्रिंट करें
|
||||
generic.button.remove=हटाएँ
|
||||
|
||||
## Vault state
|
||||
vault.state.error=त्रुटि
|
||||
|
||||
# Error
|
||||
error.message=एक त्रुटि पाई गई
|
||||
error.description=क्रिप्टोमेटर ने ऐसा होने की उम्मीद नहीं की थी| आप इस त्रुटि के लिए मौजूदा समाधान देख सकते हैं| यदि कोई समाधान नहीं है तो बेझिझक इस त्रुटि को रिपोर्ट करिये
|
||||
@@ -155,7 +151,6 @@ hub.register.nameLabel=डिवाइस का नाम
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=अनलॉक करें
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=प्रवेश अस्वीकृत
|
||||
### Requires Account Initialization
|
||||
@@ -239,7 +234,6 @@ preferences.contribute=हमें सपोर्ट करें
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=कक्षों का नाम
|
||||
main.vaultlist.emptyList.onboardingInstruction=वॉल्ट को डालने के लिए यहाँ क्लिक करें।
|
||||
main.vaultlist.contextMenu.remove=हटाएँ...
|
||||
main.vaultlist.contextMenu.lock=लॉक करें
|
||||
@@ -247,8 +241,7 @@ main.vaultlist.contextMenu.unlock=अनलॉक करें...
|
||||
main.vaultlist.contextMenu.unlockNow=अब अनलॉक करें
|
||||
main.vaultlist.contextMenu.vaultoptions=वॉल्ट के विकल्प दिखाए
|
||||
main.vaultlist.contextMenu.reveal=फोल्डर खोलें
|
||||
main.vaultlist.addVaultButton.tooltip=वाउल्ट डालें
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Cryptomator को अपनी फाइल्स सिराक्षित रखने को चुनने के लिए धन्यवाद। अगर आपको सहायता चाइये, तो हमारी गेटिंग स्टार्टेड गाइगाइड्स देखिये:
|
||||
@@ -351,7 +344,3 @@ dokanySupportEnd.preferencesBtn=प्राथमिकताएँ खोल
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -11,14 +11,10 @@ generic.button.close=Zatvori
|
||||
generic.button.copy=Kopiraj
|
||||
generic.button.copied=Kopirano!
|
||||
generic.button.done=Gotovo
|
||||
generic.button.previous=Prethodno
|
||||
generic.button.next=Sljedeći
|
||||
generic.button.print=Ispiši
|
||||
generic.button.remove=Ukloni
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Greška
|
||||
|
||||
# Error
|
||||
error.message=Greška: %s
|
||||
error.description=Opa! Cryptomator nije očekivao da će se ovo dogoditi. Možete pogledati postojeća rješenja za ovu grešku. Ili, ako još nije prijavljena, slobodno to učinite.
|
||||
@@ -123,7 +119,6 @@ unlock.success.revealBtn=Otkrij pogon
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Otključaj
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -271,7 +266,6 @@ stats.write.accessCount=Ukupno pisanja: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Trezori
|
||||
main.vaultlist.emptyList.onboardingInstruction=Pritisnite ovdje da biste dodali trezor
|
||||
main.vaultlist.contextMenu.remove=Ukloni…
|
||||
main.vaultlist.contextMenu.lock=Zaključaj
|
||||
@@ -279,8 +273,7 @@ main.vaultlist.contextMenu.unlock=Otključaj…
|
||||
main.vaultlist.contextMenu.unlockNow=Otključaj sada
|
||||
main.vaultlist.contextMenu.vaultoptions=Prikaži opcije trezora
|
||||
main.vaultlist.contextMenu.reveal=Otkrij pogon
|
||||
main.vaultlist.addVaultButton.tooltip=Dodaj trezor
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Hvala što ste odabrali Cryptomator za zaštitu Vaših datoteka. Ukoliko trebate pomoć, provjerite naše vodiče za početak rada:
|
||||
@@ -418,7 +411,3 @@ quit.lockAndQuitBtn=Zaključaj i napusti
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Bezár
|
||||
generic.button.copy=Másolás
|
||||
generic.button.copied=Másolva!
|
||||
generic.button.done=Kész
|
||||
generic.button.previous=Előző
|
||||
generic.button.next=Következő
|
||||
generic.button.print=Nyomtatás
|
||||
generic.button.remove=Eltávolítás
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Hiba
|
||||
|
||||
# Error
|
||||
error.message=Hiba: %s
|
||||
error.description=Upsz! A Cryptomator nem számított rá, hogy ez megtörténik. Keressen meglévő megoldást erre a hibára. Vagy ha még nem jelentették, bátran tegye ezt meg.
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=A széfhez való hozzáféréshez az eszk
|
||||
hub.registerFailed.message=Az eszköz regisztrációja sikertelen
|
||||
hub.registerFailed.description.generic=Hiba történt a regisztrációs folyamat során. További részletekért nézze meg az alkalmazás naplóját.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Ez az eszköz már egy másik felhasználóhoz van regisztrálva. Próbáljon meg felhasználói fiókot váltani, vagy használjon egy másik eszközt.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Hozzáférés megtagadva
|
||||
hub.unauthorized.description=Nincs hozzáférésed a széf megnyitásához. Vedd fel a kapcsolatot a széf tulajdonosával és kérj hozzáférést.
|
||||
@@ -391,7 +386,6 @@ stats.access.total=Összes hozzáférés: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Széfek
|
||||
main.vaultlist.emptyList.onboardingInstruction=Kattintson ide egy széf hozzáadásához
|
||||
main.vaultlist.contextMenu.remove=Eltávolítás…
|
||||
main.vaultlist.contextMenu.lock=Zárolás
|
||||
@@ -400,8 +394,7 @@ main.vaultlist.contextMenu.unlockNow=Azonnali feloldás
|
||||
main.vaultlist.contextMenu.vaultoptions=Széf beállítások
|
||||
main.vaultlist.contextMenu.reveal=Széf megjelenítése
|
||||
main.vaultlist.contextMenu.share=Megosztás…
|
||||
main.vaultlist.addVaultButton.tooltip=Széf hozzáadása
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Frissítés elérhető.
|
||||
main.notification.support=Cryptomator támogatása.
|
||||
## Vault Detail
|
||||
@@ -610,7 +603,3 @@ shareVault.hub.openHub=Nyissa meg a Cryptomator Hubot
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Tutup
|
||||
generic.button.copy=Salin
|
||||
generic.button.copied=Tersalin!
|
||||
generic.button.done=Selesai
|
||||
generic.button.previous=Sebelumnya
|
||||
generic.button.next=Lanjut
|
||||
generic.button.print=Cetak
|
||||
generic.button.remove=Hapus
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Kesalahan
|
||||
|
||||
# Error
|
||||
error.message=Terjadi kesalahan
|
||||
error.description=Ups! Cryptomator tidak menyangka hal ini terjadi. Anda dapat mencari solusi yang tersedia untuk error ini. Atau jika error ini belum pernah dilaporkan, tidak perlu sungkan untuk melaporkannya.
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=Untuk mengakses vault, perangkat Anda har
|
||||
hub.registerFailed.message=Registrasi perangkat gagal
|
||||
hub.registerFailed.description.generic=Kesalahan terjadi dalam proses pendaftaran. Untuk detail lebih lanjut, lihat log aplikasi.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Perangkat ini sudah terdaftar untuk pengguna lain. Cobalah menggunakan akun pengguna atau perangkat yang berbeda.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Akses ditolak
|
||||
hub.unauthorized.description=Anda tidak punya otorisasi untuk membuka brankas ini. Hubungi pemilik brankas untuk meminta akses.
|
||||
@@ -391,7 +386,6 @@ stats.access.total=Total yang akses: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Vault
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klik di sini untuk menambahkan vault
|
||||
main.vaultlist.contextMenu.remove=Hapus…
|
||||
main.vaultlist.contextMenu.lock=Kunci
|
||||
@@ -400,8 +394,7 @@ main.vaultlist.contextMenu.unlockNow=Buka Kunci Sekarang
|
||||
main.vaultlist.contextMenu.vaultoptions=Tampilkan Opsi Vault
|
||||
main.vaultlist.contextMenu.reveal=Buka Drive
|
||||
main.vaultlist.contextMenu.share=Bagikan…
|
||||
main.vaultlist.addVaultButton.tooltip=Tambah Brankas
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Pembaruan tersedia.
|
||||
main.notification.support=Dukung Cryptomator.
|
||||
## Vault Detail
|
||||
@@ -611,7 +604,3 @@ shareVault.hub.openHub=Buka Cryptomator Hub
|
||||
# Event View
|
||||
eventView.filter.allVaults=Semua
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Chiudi
|
||||
generic.button.copy=Copia
|
||||
generic.button.copied=Copiato!
|
||||
generic.button.done=Fatto
|
||||
generic.button.previous=Precedente
|
||||
generic.button.next=Avanti
|
||||
generic.button.print=Stampa
|
||||
generic.button.remove=Rimuovi
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Bloccata
|
||||
vault.state.unlocked=Sbloccata
|
||||
vault.state.missing=Mancante
|
||||
vault.state.migrationNeeded=Migrazione necessaria
|
||||
vault.state.processing=Elaborazione
|
||||
vault.state.error=Errore
|
||||
|
||||
# Error
|
||||
error.message=Si è verificato un errore
|
||||
error.description=Oops! Cryptomator non si aspettava che ciò accadesse. Puoi cercare soluzioni esistenti per questo errore. Oppure se non è ancora stato segnalato, sentitevi liberi di farlo.
|
||||
@@ -186,9 +177,6 @@ hub.registerSuccess.legacy.description=Per accedere alla cassaforte, il tuo disp
|
||||
hub.registerFailed.message=Registrazione dispositivo fallita
|
||||
hub.registerFailed.description.generic=Si è verificato un errore nel processo di registrazione. Per maggiori dettagli, consulta il registro delle applicazioni.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Questo dispositivo è già registrato per un utente diverso. Prova a cambiare l'account utente o usa un altro dispositivo.
|
||||
### Archived
|
||||
hub.archived.message=La cassaforte è archiviata
|
||||
hub.archived.description=Questa cassaforte è stata archiviata e non è più accessibile. Contatta il proprietario della cassaforte.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Accesso negato
|
||||
hub.unauthorized.description=Non sei autorizzato ad aprire questa cassaforte. Chiedi l'accesso al proprietario.
|
||||
@@ -269,8 +257,6 @@ health.check.detail.checkFinishedAndFound=Il controllo è terminato. Sei pregato
|
||||
health.check.detail.checkFailed=Il controllo è terminato a causa di un errore.
|
||||
health.check.detail.checkCancelled=Il controllo è stato annullato.
|
||||
health.check.detail.listFilters.label=Filtri
|
||||
health.check.detail.filterSeverity=Filtra per gravità
|
||||
health.check.detail.filterFixState=Filtra per stato di risoluzione
|
||||
health.check.detail.fixAllSpecificBtn=Correggi tutto di tipo
|
||||
health.check.exportBtn=Esporta il Rapporto
|
||||
## Result view
|
||||
@@ -343,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=mai
|
||||
preferences.updates.lastUpdateCheck.recently=recentemente
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s giorni fa
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s ore fa
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Per favore
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=blocca le tue casseforti
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=per installare l'aggiornamento.
|
||||
preferences.updates.checkFailed=Ricerca aggiornamenti non riuscita. Controlla la tua connessione internet o riprova più tardi.
|
||||
preferences.updates.updateFailed=Aggiornamento non riuscito. Installare manualmente l'aggiornamento.
|
||||
preferences.updates.upToDate=Cryptomator è aggiornato.
|
||||
preferences.updates.visitDownloadPage=Visita la pagina di download
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Supportaci
|
||||
@@ -360,7 +341,6 @@ preferences.contribute.promptText=Incolla qui il codice del certificato da soste
|
||||
preferences.contribute.thankYou=Grazie per il tuo supporto allo sviluppo open-source di Cryptomator!
|
||||
preferences.contribute.donate=Dona
|
||||
preferences.contribute.sponsor=Sponsor
|
||||
preferences.contribute.removeCert.tooltip=Rimuovi certificato
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Rimuovi Certificato
|
||||
@@ -370,7 +350,6 @@ removeCert.description=Questo non incide sulle funzionalità principali di Crypt
|
||||
|
||||
## About
|
||||
preferences.about=Info
|
||||
preferences.about.thirdPartyLicenses=Licenze di terze parti
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statistiche per %s
|
||||
@@ -409,8 +388,6 @@ stats.access.total=Accesso totale: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Cassaforti
|
||||
main.vaultlist.listEntry=Cassaforte %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Clicca qui per aggiungere una cassaforte
|
||||
main.vaultlist.contextMenu.remove=Rimuovi…
|
||||
main.vaultlist.contextMenu.lock=Blocca
|
||||
@@ -422,17 +399,13 @@ main.vaultlist.contextMenu.share=Condividi…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Crea una nuova cassaforte…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Apri una cassaforte esistente…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Recupera una cassaforte esistente…
|
||||
main.vaultlist.addVaultButton.tooltip=Aggiungi Cassaforte
|
||||
main.vaultlist.showEventsButton.tooltip=Apri Vista Eventi
|
||||
main.vaultlist.showPreferencesButton.tooltip=Mostra Preferenze
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=Apri vista eventi
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Aggiornamento disponibile.
|
||||
main.notification.support=Supporta Cryptomator.
|
||||
main.notification.closeButton.tooltip=Chiudi la barra delle informazioni
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Grazie per aver scelto Cryptomator per proteggere i tuoi file. Se necessiti d'assistenza, dai un'occhiata alle nostre guide per iniziare:
|
||||
main.vaultDetail.storageLocation=Percorso di archiviazione della cassaforte
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=BLOCCATO
|
||||
main.vaultDetail.unlockBtn=Sblocca…
|
||||
@@ -490,7 +463,6 @@ vaultOptions.general=Generale
|
||||
vaultOptions.general.vaultName=Nome della Cassaforte
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Blocca quando inattivo per
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minuti
|
||||
vaultOptions.general.autoLock.accessibleText=Tempo di blocco in minuti
|
||||
vaultOptions.general.unlockAfterStartup=Sblocca la cassaforte all'avvio di Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Dopo uno sblocco riuscito
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Non fare nulla
|
||||
@@ -521,7 +493,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Dimentica Password Salvata
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Una chiave di recupero è il tuo unico mezzo per ripristinare l'accesso a una cassaforte se perdi la tua password.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Visualizza la chiave di recupero
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Reimposta Password
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Queste opzioni sono disponibili solo se il file con la chiave principale è presenza nella cartella della cassaforte.
|
||||
## Hub
|
||||
vaultOptions.hub=Recupero
|
||||
vaultOptions.hub.convertInfo=È possibile utilizzare la chiave di recupero per convertire questa cassaforte Hub in una cassaforte basata su password in caso di emergenza.
|
||||
@@ -550,8 +521,6 @@ recoveryKey.recover.recoverBtn=Recupera
|
||||
recoveryKey.recover.resetSuccess.message=Password reimpostata correttamente
|
||||
recoveryKey.recover.resetSuccess.description=Puoi sbloccare la tua cassaforte con la nuova password.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Configurazione cassaforte recuperata
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Masterkey file recuperato
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Ora puoi sbloccare la cassaforte con la tua password.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
@@ -675,8 +644,6 @@ decryptNames.filePicker.title=Seleziona file criptato
|
||||
decryptNames.filePicker.extensionDescription=File crittografato Cryptomator
|
||||
decryptNames.copyTable.tooltip=Copia tabella
|
||||
decryptNames.clearTable.tooltip=Cancella la tabella
|
||||
decryptNames.column.encrypted=Crittografato
|
||||
decryptNames.column.decrypted=Decrittografato
|
||||
decryptNames.copyHint=Copia il contenuto della cella con %s
|
||||
decryptNames.dropZone.message=Trascina i file o fai clic per selezionare
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Hai selezionato file di casseforti con il nome non decifrabile
|
||||
@@ -689,31 +656,23 @@ decryptNames.dropZone.error.generic=Decifratura nomi file non riuscita
|
||||
eventView.title=Eventi
|
||||
eventView.filter.allVaults=Tutti
|
||||
eventView.clearListButton.tooltip=Cancella elenco
|
||||
eventView.filterVaults=Filtra per cassaforte
|
||||
eventView.cell.actionsButton.tooltip=Azioni dell'evento
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Sblocca "%s" per i dettagli
|
||||
eventView.entry.conflictResolved.message=Conflitto risolto
|
||||
eventView.entry.conflictResolved.showDecrypted=Mostra file decifrato
|
||||
eventView.entry.conflictResolved.copyDecrypted=Copia percorso decriptato
|
||||
eventView.entry.conflict.message=Risoluzione dei conflitti fallita
|
||||
eventView.entry.conflict.showDecrypted=Mostra il file originale decifrato
|
||||
eventView.entry.conflict.copyDecrypted=Copia il percorso originale decifrato
|
||||
eventView.entry.conflict.showEncrypted=Mostra file cifrato in conflitto
|
||||
eventView.entry.conflict.copyEncrypted=Copia il percorso cifrato in conflitto
|
||||
eventView.entry.decryptionFailed.message=Decifratura fallita
|
||||
eventView.entry.decryptionFailed.showEncrypted=Mostra file cifrato
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Copia percorso cifrato
|
||||
eventView.entry.brokenDirFile.message=Collegamento directory errato
|
||||
eventView.entry.brokenDirFile.showEncrypted=Visualizza il link cifrato errato
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Copia il percorso errato del file cifrato
|
||||
eventView.entry.brokenFileNode.message=Nodo file errato
|
||||
eventView.entry.brokenFileNode.showEncrypted=Visualizza il nodo file cifrato errato
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Copia il percorso errato del nodo file cifrato
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Copia il percorso decifrato
|
||||
eventView.entry.inUse.message=File in uso
|
||||
eventView.entry.inUse.showDecrypted=Mostra file decifrato
|
||||
eventView.entry.inUse.showEncrypted=Mostra file cifrato
|
||||
eventView.entry.inUse.copyUserAndDevice=Copia il nome del dispositivo e dell'utente che sta bloccando
|
||||
eventView.entry.inUse.ignoreLock=Ignora lo stato di utilizzo
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Il file è in uso su un altro dispositivo
|
||||
notification.inUse.description=Il file è aperto da %s su %s. Chiedigli di chiudere il file e permettere che la sincronizzazione termini. È possibile ignorare lo stato ed aprirlo ora, ma questo può causare conflitti o la sovrascrittura delle modifiche più recenti.
|
||||
notification.inUse.action=Ignora lo Stato di Utilizzo
|
||||
@@ -12,14 +12,10 @@ generic.button.close=閉じる
|
||||
generic.button.copy=コピー
|
||||
generic.button.copied=コピー完了!
|
||||
generic.button.done=完了
|
||||
generic.button.previous=戻る
|
||||
generic.button.next=次へ
|
||||
generic.button.print=印刷
|
||||
generic.button.remove=削除
|
||||
|
||||
## Vault state
|
||||
vault.state.error=エラー
|
||||
|
||||
# Error
|
||||
error.message=エラー %s
|
||||
error.description=Cryptomator で予期しない問題が発生しました。このエラーの解決方法を検索することができ、まだ報告されていない場合は、報告を行うことができます。
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=金庫にアクセスするためには
|
||||
hub.registerFailed.message=デバイスの登録に失敗しました
|
||||
hub.registerFailed.description.generic=登録中にエラーが発生しました。エラーの詳細についてはアプリケーションログを参照してください。
|
||||
hub.registerFailed.description.deviceAlreadyExists=このデバイスは既に別のユーザーに登録されています。ユーザーアカウントを変更するか、別のデバイスを使用してください。
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=アクセスが拒否されました
|
||||
hub.unauthorized.description=この金庫を開く権限がありません。金庫の所有者からアクセス許可を貰って下さい。
|
||||
@@ -388,7 +383,6 @@ stats.access.total=合計アクセス: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=金庫
|
||||
main.vaultlist.emptyList.onboardingInstruction=ここをクリックして金庫を追加します
|
||||
main.vaultlist.contextMenu.remove=削除...
|
||||
main.vaultlist.contextMenu.lock=施錠
|
||||
@@ -397,8 +391,7 @@ main.vaultlist.contextMenu.unlockNow=今すぐ解錠
|
||||
main.vaultlist.contextMenu.vaultoptions=金庫のオプションを表示
|
||||
main.vaultlist.contextMenu.reveal=ドライブを表示
|
||||
main.vaultlist.contextMenu.share=共有…
|
||||
main.vaultlist.addVaultButton.tooltip=金庫を追加
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=アップデートがあります。
|
||||
main.notification.support=Cryptomator を支援する。
|
||||
## Vault Detail
|
||||
@@ -626,10 +619,3 @@ decryptNames.dropZone.error.generic=ファイル名の復号化に失敗しま
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
eventView.entry.inUse.showDecrypted=復号化されたファイルを表示
|
||||
eventView.entry.inUse.showEncrypted=暗号化されたファイルを表示
|
||||
eventView.entry.inUse.copyUserAndDevice=ロックしているユーザーとデバイス名をコピー
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -1,7 +1,7 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
|
||||
# Generics
|
||||
generic.action.dismiss=닫기
|
||||
generic.action.dismiss=무시
|
||||
## Button
|
||||
generic.button.apply=적용
|
||||
generic.button.back=이전
|
||||
@@ -10,30 +10,21 @@ generic.button.change=변경
|
||||
generic.button.choose=선택…
|
||||
generic.button.close=닫기
|
||||
generic.button.copy=복사
|
||||
generic.button.copied=복사 완료!
|
||||
generic.button.copied=복사됨!
|
||||
generic.button.done=완료
|
||||
generic.button.previous=이전
|
||||
generic.button.next=다음
|
||||
generic.button.print=인쇄
|
||||
generic.button.remove=제거
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=잠김
|
||||
vault.state.unlocked=잠금 해제됨
|
||||
vault.state.missing=찾을 수 없음
|
||||
vault.state.migrationNeeded=마이그레이션 필요함
|
||||
vault.state.processing=처리 중
|
||||
vault.state.error=오류
|
||||
|
||||
# Error
|
||||
error.message=오류 발생
|
||||
error.description=예상치 못한 오류가 발생했습니다. 해결법을 검색하십시오. 만약 보고된 적이 없는 오류일 경우, 새로 신고해도 좋습니다.
|
||||
error.hyperlink.lookup=이 오류 검색하기
|
||||
error.hyperlink.report=이 오류 보고하기
|
||||
error.description=예상치 못한 에러가 발생했습니다. 해결법을 검색하십시오. 만약 보고된 적이 없는 에러일 경우, 새로 신고해도 좋습니다.
|
||||
error.hyperlink.lookup=에러 검색하기
|
||||
error.hyperlink.report=에러 보고하기
|
||||
error.technicalDetails=상세 정보:
|
||||
error.existingSolutionDescription=Cryptomator에 알 수 없는 문제가 발생했습니다. 하지만 이 오류에 대한 기존 해결법이 있습니다. 다음 링크를 살펴보십시오.
|
||||
error.hyperlink.solution=해결법 찾기
|
||||
error.lookupPermissionMessage=Cryptomator는 온라인에서 이 문제에 대한 해결책을 찾아볼 수 있습니다. 실행 시 귀하의 IP 주소가 문제 데이터베이스로 전송됩니다.
|
||||
error.lookupPermissionMessage=Cryptomator는 온라인에서 이 문제에 대한 해결책을 찾아볼 수 있습니다. 그러면 귀하의 IP 주소가 문제 데이터베이스로 전송됩니다.
|
||||
error.dismiss=무시
|
||||
error.lookUpSolution=해결법 찾기
|
||||
|
||||
@@ -65,15 +56,15 @@ addvaultwizard.new.directoryPickerLabel=사용자 지정 위치
|
||||
addvaultwizard.new.directoryPickerButton=선택…
|
||||
addvaultwizard.new.directoryPickerTitle=디렉터리 선택
|
||||
addvaultwizard.new.fileAlreadyExists=Vault 내에 이미 존재하는 파일 또는 디렉터리 이름입니다.
|
||||
addvaultwizard.new.locationDoesNotExist=지정된 디렉터리가 존재하지 않거나 접근할 수 없습니다
|
||||
addvaultwizard.new.locationDoesNotExist=지정된 디렉터리가 존재하지 않거나 접근 할 수 없습니다.
|
||||
addvaultwizard.new.locationIsNotWritable=지정된 경로에 쓰기 권한이 없습니다.
|
||||
addvaultwizard.new.locationIsOk=Vault에 적당한 위치
|
||||
addvaultwizard.new.invalidName=유효하지 않은 Vault 이름입니다
|
||||
addvaultwizard.new.validName=유효한 Vault 이름입니다
|
||||
addvaultwizard.new.invalidName=올바르지 않은 vault 이름입니다
|
||||
addvaultwizard.new.validName=올바른 vault 이름입니다
|
||||
addvaultwizard.new.validCharacters.message=Vault 이름에는 다음과 같은 문자들이 포함될 수 있습니다:
|
||||
addvaultwizard.new.validCharacters.chars=문자 (예시: a, ж, 수)
|
||||
addvaultwizard.new.validCharacters.chars=문자 (예시: a, ж or 수)
|
||||
addvaultwizard.new.validCharacters.numbers=숫자
|
||||
addvaultwizard.new.validCharacters.dashes=하이픈 (%s) 또는 언더바 (%s)
|
||||
addvaultwizard.new.validCharacters.dashes=대시 (%s) 또는 언더바 (%s)
|
||||
### Expert Settings
|
||||
addvaultwizard.new.expertSettings.enableExpertSettingsCheckbox=전문가 설정 활성화
|
||||
addvaultwizard.new.expertSettings.shorteningThreshold.invalid=36과 220 사이 숫자를 입력해주세요 (기본값: 220)
|
||||
@@ -82,36 +73,35 @@ addvaultwizard.new.expertSettings.shorteningThreshold.title=암호화된 파일
|
||||
addvaultwizard.new.expertSettings.shorteningThreshold.valid=유효
|
||||
### Password
|
||||
addvaultwizard.new.createVaultBtn=Vault 생성
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=비밀번호 없이는 데이터에 접근할 수 없습니다. 비밀번호를 분실할 경우를 대비해 복구 키를 생성하시겠습니까?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=네, 만약을 대비하여 발급받도록 하겠습니다.
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=아니요, 비밀번호를 잊지 않을 것이며 강력한 보안을 원합니다.
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=비밀번호가 없으면 데이터에 접근할 수 없습니다. 비밀번호를 잊었을 때를 대비한 복구 키를 원하십니까?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=네, 보안보다 비밀번호를 잊어버리는 것이 더 걱정됩니다.
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=아니요, 나는 비밀번호를 잊지 않을겁니다.
|
||||
### Information
|
||||
addvault.new.readme.storageLocation.fileName=IMPORTANT.rtf
|
||||
addvault.new.readme.storageLocation.1=⚠️ VAULT 파일 ⚠️
|
||||
addvault.new.readme.storageLocation.2=해당 디렉터리는 귀하의 Vault가 저장된 위치입니다.
|
||||
addvault.new.readme.storageLocation.2=해당 디렉토리는 당신의 Vault 저장 위치입니다.
|
||||
addvault.new.readme.storageLocation.3=금지 사항
|
||||
addvault.new.readme.storageLocation.4=• 이 디렉터리를 포함한 어떤 파일도 다른 파일로 교체하거나
|
||||
addvault.new.readme.storageLocation.5=• 암호화하고자 하는 파일을 이 디렉터리에 붙여넣지 마십시오.
|
||||
addvault.new.readme.storageLocation.6=파일을 암호화하고 Vault의 내용을 보려면 다음을 수행하십시오:
|
||||
addvault.new.readme.storageLocation.6=파일을 암호화하고 Vault 의 내용을 보려면 다음을 수행하십시오.
|
||||
addvault.new.readme.storageLocation.7=1. 이 Vault를 Cryptomator에 추가하십시오.
|
||||
addvault.new.readme.storageLocation.8=2. Cryptomator에서 Vault 잠금을 해제하십시오.
|
||||
addvault.new.readme.storageLocation.9=3. "표시" 버튼을 클릭하여 Vault에 접근하십시오.
|
||||
addvault.new.readme.storageLocation.10=만일 도움이 필요하신 경우, 다음의 문서를 참조하십시오: %s
|
||||
addvault.new.readme.accessLocation.fileName=WELCOME.rtf
|
||||
addvault.new.readme.accessLocation.1=🔐️ 암호화 된 볼륨 🔐️
|
||||
addvault.new.readme.accessLocation.2=이것은 귀하의 Vault 접근 위치입니다.
|
||||
addvault.new.readme.accessLocation.3=이 볼륨에 추가된 모든 파일은 Cryptomator로 암호화됩니다. 다른 드라이브/폴더처럼 작업할 수 있습니다. 이것은 단지 볼륨의 내용이 복호화되어 보이는 것이며, 모든 파일은 하드디스크에 항상 암호화된 상태로 저장됩니다.
|
||||
addvault.new.readme.accessLocation.2=이것은 당신의 Vault 접근 위치입니다.
|
||||
addvault.new.readme.accessLocation.3=이 볼륨에 추가된 모든 파일은 Cryptomator로 암호화됩니다. 다른 드라이브/폴더처럼 작업할 수 있습니다. 볼륨의 내용은 복호화 된 것처럼 보이지만, 모든 파일은 항상 암호화되어 하드디스크에 저장됩니다.
|
||||
addvault.new.readme.accessLocation.4=이 파일은 지우셔도 무방합니다.
|
||||
## Existing
|
||||
addvaultwizard.existing.title=기존 Vault 추가
|
||||
addvaultwizard.existing.instruction=이미 존재하는 Vault 폴더 내에서 "vault.cryptomator" 파일을 선택하세요. 만약 "masterkey.cryptomator"만 있다면 이를 대신 선택하세요.
|
||||
addvaultwizard.existing.restore=복구…
|
||||
addvaultwizard.existing.title=기존 금고 추가
|
||||
addvaultwizard.existing.instruction=이미 존재하는 vault 폴더 내에서 "vault.cryptomator" 파일을 선택하세요. 만약 "masterkey.cryptomator"만 있다면 그걸 대신 선택하세요.
|
||||
addvaultwizard.existing.chooseBtn=선택…
|
||||
addvaultwizard.existing.filePickerTitle=Vault 파일 선택
|
||||
addvaultwizard.existing.filePickerMimeDesc=Cryptomator Vault
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions="%s" Vault가 추가되었습니다.\n이 Vault를 접근하거나 컨텐츠를 추가하려면 잠금 해제가 필요합니다. 그렇지만 언제든지 잠금 해제가 가능합니다.
|
||||
addvaultwizard.success.unlockNow=지금 잠금 해제
|
||||
addvaultwizard.success.nextStepsInstructions="%s" Vault가 추가되었습니다.\n이 Vault를 접근하거나 컨텐츠를 추가하려면 잠금해제가 필요합니다. 그렇지만 언제든지 잠금해제가 가능합니다.
|
||||
addvaultwizard.success.unlockNow=지금 잠금해제
|
||||
|
||||
# Remove Vault
|
||||
removeVault.title=Vault 제거
|
||||
@@ -121,7 +111,7 @@ removeVault.description=이 행위는 Cryptomator에서만 이 Vault를 지웁
|
||||
# Change Password
|
||||
changepassword.title=비밀번호 변경
|
||||
changepassword.enterOldPassword="%s"의 비밀번호를 입력하여 주십시오.
|
||||
changepassword.finalConfirmation=비밀번호 분실 시, 데이터에 접근할 수 없다는 것을 이해했습니다.
|
||||
changepassword.finalConfirmation=비밀번호를 잊어버리면, 데이터에 접근할 수 없다는 것을 이해했습니다.
|
||||
|
||||
# Forget Password
|
||||
forgetPassword.title=비밀번호 삭제
|
||||
@@ -133,11 +123,10 @@ forgetPassword.confirmBtn=비밀번호 삭제
|
||||
unlock.title="%s" 잠금 해제
|
||||
unlock.passwordPrompt="%s"의 비밀번호를 입력하십시오.
|
||||
unlock.savePassword=비밀번호 기억
|
||||
unlock.unlockBtn=잠금 해제
|
||||
unlock.unlockBtn=잠금해제
|
||||
## Select
|
||||
unlock.chooseMasterkey.message=마스터키 파일을 찾을 수 없습니다
|
||||
unlock.chooseMasterkey.description=이 Vault의 Masterkey를 찾지 못했습니다. 마스터 키 위치를 수동으로 선택하여 주십시오.
|
||||
unlock.chooseMasterkey.restoreInstead=대신 마스터키 파일 복구
|
||||
unlock.chooseMasterkey.filePickerTitle=Masterkey 파일 선택
|
||||
unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator Masterkey
|
||||
## Success
|
||||
@@ -148,21 +137,21 @@ unlock.success.revealBtn=드라이브 표시
|
||||
## Failure
|
||||
unlock.error.customPath.message=Vault를 사용자 정의 경로에 마운트할 수 없습니다.
|
||||
unlock.error.customPath.description.notSupported=사용자 지정 경로를 계속 사용하려면 설정으로 이동하여 이를 지원하는 볼륨 유형을 선택하십시오. 또는, Vault 설정으로 이동하여 지원되는 마운트 지점을 선택하십시오.
|
||||
unlock.error.customPath.description.notExists=사용자 정의 마운트 경로가 존재하지 않습니다. 로컬 파일 시스템에서 생성하거나 Vault 옵션에서 변경하세요.
|
||||
unlock.error.customPath.description.notExists=사용자 정의 마운트 경로가 존재하지 않습니다. 로컬 파일 시스템에서 생성하거나 볼트 옵션에서 변경하세요.
|
||||
unlock.error.customPath.description.inUse=드라이브 문자 또는 사용자 정의 마운트 경로 "%s"가 이미 사용 중입니다.
|
||||
unlock.error.customPath.description.hideawayNotDir=잠금 해제에 사용된 임시 숨김 파일 "%3$s"을(를) 제거할 수 없습니다. 파일을 확인한 후 수동으로 삭제해 주세요.
|
||||
unlock.error.customPath.description.hideawayNotDir=잠금 해제에 사용된 임시 숨김 파일 "%3$s"을 제거할 수 없습니다. 파일을 확인한 후 수동으로 삭제해 주세요.
|
||||
unlock.error.customPath.description.couldNotBeCleaned=Vault를 "%s" 경로에 마운트할 수 없습니다. 다시 시도하거나 다른 경로를 선택하세요.
|
||||
unlock.error.customPath.description.notEmptyDir=사용자 정의 마운트 경로 "%s"은 빈 폴더가 아닙니다. 빈 폴더를 선택하고 다시 시도하세요.
|
||||
unlock.error.customPath.description.generic=이 Vault에 대한 사용자 정의 마운트 경로를 선택했지만 다음 메시지와 함께 해당 경로를 사용하지 못했습니다: %2$s
|
||||
unlock.error.restartRequired.message=Vault를 잠금 해제할 수 없습니다
|
||||
unlock.error.restartRequired.description=Vault 옵션에서 볼륨 유형을 변경하거나 Cryptomator를 다시 시작하십시오.
|
||||
unlock.error.customPath.description.generic=이 볼트에 대한 사용자 정의 마운트 경로를 선택했지만 다음 메시지와 함께 해당 경로를 사용하지 못했습니다: %2$s
|
||||
unlock.error.restartRequired.message=Vault을 잠금 해제할 수 없습니다.
|
||||
unlock.error.restartRequired.description=볼트 옵션에서 볼륨 유형을 변경하거나 Cryptomator를 다시 시작하십시오.
|
||||
unlock.error.title="%s" 잠금 해제 실패
|
||||
## Hub
|
||||
hub.noKeychain.message=기기 키에 액세스할 수 없습니다
|
||||
hub.noKeychain.description=Hub Vaults를 잠금 해제하려면 키체인을 사용하여 보호되는 기기 키가 필요합니다. 계속하려면 "%s"을(를) 활성화하고 기본 설정에서 키체인을 선택하십시오.
|
||||
hub.noKeychain.message=장치 키에 액세스할 수 없습니다
|
||||
hub.noKeychain.description=허브 저장소를 잠금 해제하려면 키체인을 사용하여 보호되는 장치 키가 필요합니다. 계속하려면 "%s"을 활성화하고 기본 설정에서 키체인을 선택하십시오.
|
||||
hub.noKeychain.openBtn=설정 열기
|
||||
### Waiting
|
||||
hub.auth.message=인증 대기 중…
|
||||
hub.auth.message=인증 대기중…
|
||||
hub.auth.description=자동으로 로그인 페이지로 리다이렉트 될 것입니다.
|
||||
hub.auth.loginLink=수동으로 열려면 클릭하십시오.
|
||||
### Receive Key
|
||||
@@ -184,11 +173,8 @@ hub.registerSuccess.unlockBtn=잠금 해제
|
||||
hub.registerSuccess.legacy.description=Vault에 접근하기 위해서는 이 기기를 Vault 소유주가 추가적으로 허가해야 합니다.
|
||||
### Registration Failed
|
||||
hub.registerFailed.message=기기 등록 실패
|
||||
hub.registerFailed.description.generic=등록 중에 오류가 발생했습니다. 앱 로그에서 자세한 정보를 확인할 수 있습니다.
|
||||
hub.registerFailed.description.generic=등록 중에 에러가 발생했습니다. 앱 로그에서 자세한 정보를 확인할 수 있습니다.
|
||||
hub.registerFailed.description.deviceAlreadyExists=이 기기는 이미 다른 사용자에 등록되어 있습니다. 다른 사용자 계정이나 다른 기기를 사용해보세요.
|
||||
### Archived
|
||||
hub.archived.message=Vault가 아카이브됨
|
||||
hub.archived.description=이 Vault는 아카이브되어 더 이상 접근할 수 없습니다. Vault 소유자에게 문의하십시오.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=액세스 거부됨
|
||||
hub.unauthorized.description=해당 Vault에 접근하도록 허가되지 않았습니다. Vault의 소유자에게 권한을 요청하세요.
|
||||
@@ -199,12 +185,12 @@ hub.requireAccountInit.description.1=Hub 사용자 프로필
|
||||
hub.requireAccountInit.description.2=.
|
||||
### License Exceeded
|
||||
hub.invalidLicense.message=Hub 라이선스가 잘못되었습니다.
|
||||
hub.invalidLicense.description=Cryptomator Hub 인스턴스에 잘못된 라이선스가 있습니다. 라이선스를 업그레이드하거나 갱신하려면 허브 관리자에게 알리십시오.
|
||||
hub.invalidLicense.description=Cryptomator Hub 인스턴스에 잘못된 라이선스가 있습니다. 라이센스를 업그레이드하거나 갱신하려면 허브 관리자에게 알리십시오.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=잠금 실패
|
||||
lock.forced.description=대기 중인 작동이나 파일이 열려있어 "%s"을(를) 잠그는데 실패하였습니다. 이 Vault를 강제로 잠글 수 있으나, 입/출력의 중단은 저장되지 않은 데이터의 유실을 초래할 수 있습니다.
|
||||
lock.forced.description=대기 중인 작동이나 파일이 열려있어 "%s"를 잠그는데 실패하였습니다. 이 Vault를 강제로 잠글 수 있으나, 입/출력의 중단은 저장되지 않은 데이터의 유실을 초래할 수 있습니다.
|
||||
lock.forced.retryBtn=재시도
|
||||
lock.forced.forceBtn=강제 잠금
|
||||
## Failure
|
||||
@@ -217,42 +203,42 @@ migration.title=Vault 업그레이드
|
||||
migration.start.header=Vault 업그레이드
|
||||
migration.start.text=Vault "%s"를 현재 버전의 Cryptomator에서 열기 위해서는 해당 vault를 새 버전으로 업그레이드해야 합니다. 업그레이드를 하기 전에 다음 사항들을 알고 있어야 합니다:
|
||||
migration.start.remarkUndone=이 업그레이드는 되돌릴 수 없습니다.
|
||||
migration.start.remarkVersions=과거 버전의 Cryptomator는 업그레이드된 Vault를 열 수 없습니다.
|
||||
migration.start.remarkCanRun=이 Vault를 열 때 사용하는 모든 기기가 현재 버전의 Cryptomator를 실행할 수 있는지 확인해야 합니다.
|
||||
migration.start.remarkSynced=업그레이드하기 전에 해당 Vault가 모든 기기에 정상적으로 동기화되어야 합니다.
|
||||
migration.start.remarkVersions=과거 버전의 Cryptomator는 업그레이드된 vault를 열 수 없습니다.
|
||||
migration.start.remarkCanRun=이 vault를 열 때 사용하는 모든 장치가 현재 버전의 Cryptomator를 실행할 수 있는지 확인해야 합니다.
|
||||
migration.start.remarkSynced=업그레이드하기 전에 해당 vault가 모든 기기에 정상적으로 동기화되어야 합니다.
|
||||
migration.start.confirm=나는 위 정보를 읽고 정말 이해했습니다.
|
||||
## Run
|
||||
migration.run.enterPassword="%s"의 비밀번호를 입력하십시오.
|
||||
migration.run.startMigrationBtn=Vault 마이그레이션
|
||||
migration.run.progressHint=이 작업은 시간이 조금 소요됩니다.
|
||||
## Success
|
||||
migration.success.nextStepsInstructions="%s" 의 마이그레이션이 성공적으로 완료되었습니다. 이제 Vault를 잠금 해제할 수 있습니다.
|
||||
migration.success.unlockNow=지금 잠금 해제
|
||||
migration.success.nextStepsInstructions="%s" 의 마이그레이션이 성공적으로 완료되었습니다. 이제 Vault를 잠금해제할 수 있습니다.
|
||||
migration.success.unlockNow=지금 잠금해제
|
||||
## Missing file system capabilities
|
||||
migration.error.missingFileSystemCapabilities.title=지원하지 않는 파일 시스템
|
||||
migration.error.missingFileSystemCapabilities.description=Vault가 부적절한 파일 시스템에 있기 때문에 마이그레이션이 시작되지 않았습니다.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=너무 긴 파일 이름을 파일 시스템에서 지원하지 않습니다.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=너무 긴 경로를 파일 시스템에서 지원하지 않습니다.
|
||||
migration.error.missingFileSystemCapabilities.description=Vault가 부적절한 파일시스템에 있기 때문에 마이그레이션이 시작되지 않았습니다.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=너무 긴 파일 이름을 파일시스템에서 지원하지 않습니다.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=너무 긴 경로를 파일시스템에서 지원하지 않습니다.
|
||||
migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=파일 시스템이 읽기를 허용하지 않습니다.
|
||||
migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=파일 시스템이 쓰기를 허용하지 않습니다.
|
||||
## Impossible
|
||||
migration.impossible.heading=Vault를 마이그레이션 할 수 없습니다.
|
||||
migration.impossible.reason=저장소 위치 또는 접근 지점이 호환되지 않아 Vault를 자동으로 마이그레이션 할 수 없습니다.
|
||||
migration.impossible.moreInfo=Vault를 이전 버전으로 계속 열 수 있습니다. Vault를 직접 마이그레이션 하는 설명을 보시려면, 다음을 방문하십시오
|
||||
migration.impossible.moreInfo=Vault를 이전 버전으로 계속 열수 있습니다. Vault를 직접 마이그레이션 하는 설명을 보시려면, 다음을 방문하십시오.
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
health.title="%s"의 상태 검사
|
||||
health.intro.header=상태 검사
|
||||
health.intro.text=상태 검사는 Vault의 내부 구조의 문제점을 점검하고 해결할 수 있는 기능입니다. 다음 사항을 유의하시기 바랍니다:
|
||||
health.intro.remarkSync=모든 기기가 완전히 동기화됐는지 확인하십시오. 이는 대부분의 문제를 해결합니다.
|
||||
health.intro.remarkSync=모든 장치가 완전히 동기화됐는지 확인하십시오. 대부분의 문제를 해결합니다.
|
||||
health.intro.remarkFix=모든 문제를 해결할 수 있는 것은 아닙니다.
|
||||
health.intro.remarkBackup=데이터가 손상된 경우 백업만이 유일한 해결책입니다.
|
||||
health.intro.affirmation=나는 위 정보를 읽었으며, 이해했습니다.
|
||||
## Start Failure
|
||||
health.fail.header=Vault 설정을 불러오는 중 오류 발생
|
||||
health.fail.ioError=설정 파일에 접근하는 중 오류가 발생했습니다.
|
||||
health.fail.parseError=Vault 설정을 파싱하는 중 오류가 발생했습니다.
|
||||
health.fail.header=Vault 설정을 불러오는 중 에러 발생
|
||||
health.fail.ioError=설정 파일에 접근하는 중 에러가 발생했습니다.
|
||||
health.fail.parseError=Vault 설정을 파싱하는 중 에러가 발생했습니다.
|
||||
health.fail.moreInfo=더 많은 정보
|
||||
## Check Selection
|
||||
health.checkList.description=검사할 항목을 왼쪽 목록에서 선택하거나 아래 버튼을 사용하세요.
|
||||
@@ -269,8 +255,6 @@ health.check.detail.checkFinishedAndFound=검사가 완료되었습니다. 검
|
||||
health.check.detail.checkFailed=오류로 인해 검사가 종료되었습니다.
|
||||
health.check.detail.checkCancelled=검사가 취소되었습니다
|
||||
health.check.detail.listFilters.label=필터
|
||||
health.check.detail.filterSeverity=중요도로 정렬
|
||||
health.check.detail.filterFixState=해결 상태로 정렬
|
||||
health.check.detail.fixAllSpecificBtn=모든 문제 형식 고치기
|
||||
health.check.exportBtn=보고서 내보내기
|
||||
## Result view
|
||||
@@ -279,7 +263,7 @@ health.result.severityFilter.good=양호
|
||||
health.result.severityFilter.info=정보
|
||||
health.result.severityFilter.warn=경고
|
||||
health.result.severityFilter.crit=심각
|
||||
health.result.severityTip.good=상태: 양호\n정상적인 Vault 구조를 가지고 있습니다.
|
||||
health.result.severityTip.good=상태: 양호\n정상적인 vault 구조를 가지고 있습니다.
|
||||
health.result.severityTip.info=상태: 정보\nVault 구조 온전함, 문제 해결 권장됨.
|
||||
health.result.severityTip.warn=상태: 경고\nVault 구조 손상됨, 문제 해결 요구됨.
|
||||
health.result.severityTip.crit=상태: 심각\nVault 구조가 손상되었습니다. 데이터 손실이 발생했습니다.
|
||||
@@ -339,17 +323,12 @@ preferences.updates.autoUpdateCheck=자동으로 업데이트 확인
|
||||
preferences.updates.checkNowBtn=지금 확인
|
||||
preferences.updates.updateAvailable=버전 %s의 업데이트가 가능합니다.
|
||||
preferences.updates.lastUpdateCheck=마지막 확인: %s
|
||||
preferences.updates.lastUpdateCheck.never=확인 안 함
|
||||
preferences.updates.lastUpdateCheck.never=확인 안함
|
||||
preferences.updates.lastUpdateCheck.recently=최근
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s일 전
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s 시간 전
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=부탁드립니다:
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=Vault 잠금
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=하여 업데이트를 설치하세요.
|
||||
preferences.updates.checkFailed=업데이트를 확인할 수 없습니다. 인터넷 상태를 확인하거나 나중에 시도해주세요.
|
||||
preferences.updates.updateFailed=업데이트 실패. 매뉴얼에 따라 업데이트를 설치해주세요.
|
||||
preferences.updates.upToDate=현재 최신 버전의 Cryptomator를 사용하고 있습니다.
|
||||
preferences.updates.visitDownloadPage=다운로드 페이지 방문
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=후원하기
|
||||
@@ -360,7 +339,6 @@ preferences.contribute.promptText=후원자 인증코드를 여기에 붙여넣
|
||||
preferences.contribute.thankYou=Cryptomator의 오픈 소스 개발을 지원해 주셔서 감사합니다!
|
||||
preferences.contribute.donate=후원하기
|
||||
preferences.contribute.sponsor=스폰서
|
||||
preferences.contribute.removeCert.tooltip=인증서 제거
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=인증서 제거
|
||||
@@ -370,13 +348,12 @@ removeCert.description=Cryptomator의 핵심 기능은 영향을 받지 않습
|
||||
|
||||
## About
|
||||
preferences.about=제품 정보
|
||||
preferences.about.thirdPartyLicenses=제3자 라이선스
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=%s에 대한 통계
|
||||
stats.cacheHitRate=캐시 히트율
|
||||
## Read
|
||||
stats.read.throughput.idle=읽기: 대기 중
|
||||
stats.read.throughput.idle=읽기: 대기중
|
||||
stats.read.throughput.kibs=읽기: %.2f KiB/s
|
||||
stats.read.throughput.mibs=읽기: %.2f MiB/s
|
||||
stats.read.total.data.none=데이터 읽기: -
|
||||
@@ -389,7 +366,7 @@ 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.idle=쓰기: 대기중
|
||||
stats.write.throughput.kibs=쓰기: %.2f KiB/s
|
||||
stats.write.throughput.mibs=쓰기: %.2f MiB/s
|
||||
stats.write.total.data.none=데이터 기록됨: -
|
||||
@@ -409,8 +386,6 @@ stats.access.total=총 접근: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Vault
|
||||
main.vaultlist.listEntry=Vault %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=여기를 클릭하여 Vault를 추가하세요
|
||||
main.vaultlist.contextMenu.remove=제거...
|
||||
main.vaultlist.contextMenu.lock=잠금
|
||||
@@ -419,20 +394,13 @@ main.vaultlist.contextMenu.unlockNow=지금 잠금 해제
|
||||
main.vaultlist.contextMenu.vaultoptions=Vault 옵션 보기
|
||||
main.vaultlist.contextMenu.reveal=드라이브 표시
|
||||
main.vaultlist.contextMenu.share=공유하기…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=새 Vault 만들기…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=기존 Vault 열기…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=기존 Vault 복구…
|
||||
main.vaultlist.addVaultButton.tooltip=Vault 추가
|
||||
main.vaultlist.showEventsButton.tooltip=이벤트 뷰어 열기
|
||||
main.vaultlist.showPreferencesButton.tooltip=환경 설정 표시
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=업데이트가 있습니다.
|
||||
main.notification.support=Cryptomator 지원하기.
|
||||
main.notification.closeButton.tooltip=정보 표시줄 닫기
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=파일을 보호하기 위해 Cryptomator를 선택해주셔서 감사합니다. 만약 다른 도움이 필요하시면, 시작 안내서를 참조하시기 바랍니다.
|
||||
main.vaultDetail.storageLocation=Vault 저장 위치
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=잠김
|
||||
main.vaultDetail.unlockBtn=잠금 해제...
|
||||
@@ -457,27 +425,25 @@ main.vaultDetail.locateEncryptedFileBtn.tooltip=암호화된 파일을 보기
|
||||
main.vaultDetail.encryptedPathsCopied=클립보드에 복사됨!
|
||||
main.vaultDetail.locateEncrypted.filePickerTitle=Vault 내부에서 파일 선택
|
||||
main.vaultDetail.decryptName.buttonLabel=파일명 복호화
|
||||
main.vaultDetail.decryptName.tooltip=암호화된 Vault 파일을 선택해 파일 이름을 복호화
|
||||
main.vaultDetail.decryptName.tooltip=암호화된 볼트 파일을 선택해 파일 이름을 복호화
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator가 이 경로에 있는 Vault를 찾지 못했습니다.
|
||||
main.vaultDetail.missing.recheck=다시 시도
|
||||
main.vaultDetail.missing.remove=Vault 목록에서 제거...
|
||||
main.vaultDetail.missing.changeLocation=Vault 위치 변경
|
||||
### Missing Vault Config
|
||||
main.vaultDetail.missingVaultConfig.info=Vault 구성(config)이 누락되었습니다.
|
||||
main.vaultDetail.missingVaultConfig.restore=Vault 구성(config) 복구
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=Vault 업그레이드
|
||||
main.vaultDetail.migratePrompt=Vault에 접근하기 전, 새로운 포맷으로 업그레이드가 필요합니다.
|
||||
### Error
|
||||
main.vaultDetail.error.info=디스크에서 Vault를 로드 중 오류가 발생했습니다.
|
||||
main.vaultDetail.error.info=디스크에서 Vault를 로드 중 에러 발생
|
||||
main.vaultDetail.error.reload=새로고침
|
||||
main.vaultDetail.error.windowTitle=Vault 로드 중 오류 발생
|
||||
main.vaultDetail.error.windowTitle=Vault 로드중 에러 발생
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=파일 암호화 방법
|
||||
wrongFileAlert.message=이 파일들을 암호화하려고 하십니까?
|
||||
wrongFileAlert.description=이 목적을 위해 Cryptomator는 파일 관리자에 볼륨을 제공합니다.
|
||||
wrongFileAlert.description=이 목적을 위해, Cryptomator는 파일 관리자에 볼륨을 제공합니다.
|
||||
wrongFileAlert.instruction.0=파일을 암호화 하려면, 다음의 3단계를 따르십시오:
|
||||
wrongFileAlert.instruction.1=1. Vault를 잠금 해제하십시오.
|
||||
wrongFileAlert.instruction.2=2. "표시" 버튼을 클릭해 파일 탐색기에서 볼륨을 여십시오.
|
||||
@@ -490,10 +456,9 @@ vaultOptions.general=일반
|
||||
vaultOptions.general.vaultName=Vault 이름
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=다음 시간 동안 유휴상태 시 잠그기
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=분
|
||||
vaultOptions.general.autoLock.accessibleText=잠금 시간(분)
|
||||
vaultOptions.general.unlockAfterStartup=Cryptomator를 시작할 때 Vault 잠금 해제
|
||||
vaultOptions.general.actionAfterUnlock=성공적으로 잠금해제 후
|
||||
vaultOptions.general.actionAfterUnlock.ignore=아무 것도 하지 않기
|
||||
vaultOptions.general.actionAfterUnlock.ignore=아무 것도 하지 않음
|
||||
vaultOptions.general.actionAfterUnlock.reveal=드라이브 표시
|
||||
vaultOptions.general.actionAfterUnlock.ask=요청
|
||||
vaultOptions.general.startHealthCheckBtn=상태 검사 시작
|
||||
@@ -507,9 +472,9 @@ vaultOptions.mount.winDriveLetterOccupied=사용됨
|
||||
vaultOptions.mount.mountPoint=마운트 지점
|
||||
vaultOptions.mount.mountPoint.auto=자동으로 적합한 위치를 선택
|
||||
vaultOptions.mount.mountPoint.driveLetter=드라이브 문자를 지정하여 사용
|
||||
vaultOptions.mount.mountPoint.custom=선택한 디렉터리 사용
|
||||
vaultOptions.mount.mountPoint.custom=선택한 디렉토리 사용
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=선택
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=디렉터리 선택
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=디렉토리 선택
|
||||
vaultOptions.mount.volumeType.default=기본 (%s)
|
||||
vaultOptions.mount.volumeType.restartRequired=이 볼륨 타입을 사용하기 위해, Cryptomator의 재시작이 필요합니다.
|
||||
vaultOptions.mount.volume.tcp.port=TCP 포트
|
||||
@@ -518,13 +483,12 @@ vaultOptions.mount.volume.type=볼륨 타입
|
||||
vaultOptions.masterkey=비밀번호
|
||||
vaultOptions.masterkey.changePasswordBtn=비밀번호 변경
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=저장된 비밀번호 삭제
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=복구 키는 비밀번호를 잊어버렸을 때, Vault의 접근을 복원할 수 있는 유일한 방법입니다.
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=복구 키는 비밀번호를 잊어버렸을 때, Vault의 접근을 복원 할 수 있는 유일한 방법입니다.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=복구 키 표시
|
||||
vaultOptions.masterkey.recoverPasswordBtn=비밀번호 재설정
|
||||
vaultOptions.masterkey.missingMasterkeyFile=이러한 옵션은 마스터키 파일이 Vault 디렉터리에 있는 경우에만 사용할 수 있습니다.
|
||||
## Hub
|
||||
vaultOptions.hub=복구
|
||||
vaultOptions.hub.convertInfo=비상 상황에 이 Hub Vault를 비밀번호 기반 Vault로 변환하기 위해 복구 키를 사용할 수 있습니다.
|
||||
vaultOptions.hub.convertInfo=비상상황에 이 Hub Vault를 비밀번호 기반 Vault로 변환하기 위해 복구 키를 사용할 수 있습니다.
|
||||
vaultOptions.hub.convertBtn=비밀번호 기반 Vault로 변환하기
|
||||
|
||||
# Recovery Key
|
||||
@@ -532,72 +496,41 @@ vaultOptions.hub.convertBtn=비밀번호 기반 Vault로 변환하기
|
||||
recoveryKey.display.title=복구 키 보기
|
||||
recoveryKey.create.message=비밀번호가 필요합니다
|
||||
recoveryKey.create.description="%s"의 복구 키를 표시하려면 비밀번호를 입력해 주세요.
|
||||
recoveryKey.recover.description=Vault 구성(config) 복구를 위해 "%s" 비밀번호를 입력하세요.
|
||||
recoveryKey.display.description="%s"에 대한 접근을 복원하는데 사용할 수 있는 복구 키 입니다:
|
||||
recoveryKey.display.StorageHints=매우 안전한 곳에 보관하십시오. 예를 들어:\n • 비밀번호 관리자를 사용하여 저장\n • USB 플래시 드라이브에 저장\n • 종이로 출력
|
||||
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.correctKey=올바른 복구 키 입니다
|
||||
recoveryKey.recover.wrongKey=이 복구 키는 다른 Vault의 키입니다
|
||||
recoveryKey.recover.wrongKey=이 복구 키는 다른 vault의 키입니다
|
||||
recoveryKey.recover.invalidKey=해당 복구 키는 유효하지 않습니다
|
||||
recoveryKey.printout.heading=Cryptomator 복구 키\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=초기화
|
||||
recoveryKey.recover.recoverBtn=복구
|
||||
### Recovery Key Password Reset Success
|
||||
recoveryKey.recover.resetSuccess.message=비밀번호 재설정 성공
|
||||
recoveryKey.recover.resetSuccess.description=이제 해당 Vault를 새 비밀번호로 잠금 해제할 수 있습니다.
|
||||
recoveryKey.recover.resetSuccess.description=이제 해당 vault를 새 비밀번호로 잠금 해제할 수 있습니다.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Vault 구성(config) 복구 완료
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=마스터키 파일 복구 완료
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=이제 해당 Vault를 귀하의 비밀번호로 잠금 해제할 수 있습니다.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
##Add Existing Vault without recovery - Dialog
|
||||
recover.existing.title=Vault 추가됨
|
||||
recover.existing.message=Vault가 성공적으로 추가되었습니다
|
||||
recover.existing.description=Vault "%s"이(가) Vault 목록에 추가되었습니다. 복구 절차는 필요하지 않았습니다.
|
||||
|
||||
##Vault Already Exists - Dialog
|
||||
recover.alreadyExists.title=Vault 이미 존재함
|
||||
recover.alreadyExists.message=Vault 이미 추가됨
|
||||
recover.alreadyExists.description=Vault "%s"이(가) 이미 목록에 존재하여 다시 추가되지 않았습니다.
|
||||
|
||||
##Invalid Selection - Dialog
|
||||
recover.invalidSelection.title=유효하지 않은 선택
|
||||
recover.invalidSelection.message=Vault를 선택하지 않았습니다
|
||||
recover.invalidSelection.description=선택한 폴더는 유효한 Cryptomator Vault여야 합니다.
|
||||
|
||||
## Contact Hub Vault Owner - Dialog
|
||||
contactHubVaultOwner.title=Hub Vault
|
||||
contactHubVaultOwner.message=이 Vault는 Cryptomator Hub를 이용하여 생성되었습니다
|
||||
contactHubVaultOwner.description=누락된 파일을 복원하려면 Vault 소유자에게 문의하십시오. Vault 소유자는 Cryptomator Hub에서 Vault 템플릿을 다운로드할 수 있습니다.
|
||||
|
||||
##Dialog Title
|
||||
recover.recoverVaultConfig.title=Vault 구성(config) 복구
|
||||
recover.recoverMasterkey.title=마스터키 복구하기
|
||||
|
||||
## OnBoarding
|
||||
recover.onBoarding.chooseMethod=복구 방법을 선택하세요:
|
||||
recover.onBoarding.useRecoveryKey=복구키 사용하기
|
||||
recover.onBoarding.usePassword=비밀번호 사용하기
|
||||
recover.onBoarding.intro=아래 사항을 정확히 읽고 확인하세요:
|
||||
recover.onBoarding.pleaseConfirm=진행하기 전, 다음 사항을 확인해 주십시오:
|
||||
recover.onBoarding.otherwisePleaseConfirm=그렇지 않다면 다음 사항을 확인해 주십시오:
|
||||
recover.onBoarding.allMissing.intro=만약 이 Vault가 Cryptomator Hub에 의해 관리되고 있다면 소유자가 귀하를 대신하여 복구해야 합니다.
|
||||
recover.onBoarding.intro.ensure=모든 파일이 동기화 완료되었습니다.
|
||||
recover.onBoarding.affirmation=저는 이러한 요구 사항을 읽고 이해했습니다
|
||||
|
||||
###Vault Config Missing
|
||||
recover.onBoarding.intro.recoveryKey=복구 키가 있으며 전문가 설정 사용 여부를 알고 있습니다.
|
||||
recover.onBoarding.intro.password=Vault 비밀번호가 있으며 전문가 설정 사용 여부를 알고 있습니다.
|
||||
###Masterkey Missing
|
||||
recover.onBoarding.intro.masterkey.recoveryKey=Vault 복구 키를 가지고 있습니다.
|
||||
|
||||
## Expert Settings
|
||||
recover.expertSettings.shorteningThreshold.title=이 값은 복구 전에 사용된 값과 일치해야만 전에 암호화된 데이터와의 호환성을 보장할 수 있습니다.
|
||||
|
||||
# Convert Vault
|
||||
convertVault.title=Vault 변환
|
||||
@@ -620,7 +553,7 @@ passwordStrength.messageLabel.4=매우 강함
|
||||
|
||||
# Quit
|
||||
quit.title=앱 종료
|
||||
quit.message=잠금 해제된 Vault들이 존재합니다
|
||||
quit.message=잠금 해제된 vault들이 존재합니다
|
||||
quit.description=정말로 나가시겠습니까? Cryptomator는 데이터 손실을 막기 위해 열린 Vault를 잠글 것입니다.
|
||||
quit.lockAndQuitBtn=Vault 잠금 후 종료하기
|
||||
|
||||
@@ -658,7 +591,7 @@ shareVault.instruction.2=2. Vault의 비밀번호를 안전한 방식으로 전
|
||||
shareVault.remarkBestPractices=문서에 있는 권장사항을 통해 더 많은 정보를 확인하십시오.
|
||||
shareVault.docsTooltip=Vault의 공유에 대해서는 문서를 참조하십시오.
|
||||
shareVault.hubAd.description=팀에서 작업하는 안전한 방법
|
||||
shareVault.hubAd.keyManagement=• 사전 지식 없는 키 관리
|
||||
shareVault.hubAd.keyManagement=• 사전지식 없는 키 관리
|
||||
shareVault.hubAd.authentication=• 강력한 인증
|
||||
shareVault.hubAd.encryption=• 종단간 암호화
|
||||
shareVault.visitHub=Cryptomator Hub 방문하기
|
||||
@@ -675,8 +608,6 @@ decryptNames.filePicker.title=암호화된 파일 선택
|
||||
decryptNames.filePicker.extensionDescription=Cryptomator로 암호화된 파일
|
||||
decryptNames.copyTable.tooltip=테이블 복사
|
||||
decryptNames.clearTable.tooltip=테이블 비우기
|
||||
decryptNames.column.encrypted=암호화됨
|
||||
decryptNames.column.decrypted=복호화됨
|
||||
decryptNames.copyHint=%s로 셀 내용 복사하기
|
||||
decryptNames.dropZone.message=파일을 여기에 드롭하거나 클릭하세요
|
||||
decryptNames.dropZone.error.vaultInternalFiles=복호화 가능한 이름이 선택되지 않은 Vailt 내부 파일
|
||||
@@ -689,28 +620,23 @@ decryptNames.dropZone.error.generic=파일 이름 복호화 실패
|
||||
eventView.title=이벤트
|
||||
eventView.filter.allVaults=전체
|
||||
eventView.clearListButton.tooltip=목록 지우기
|
||||
eventView.filterVaults=Vault로 필터링
|
||||
eventView.cell.actionsButton.tooltip=이벤트별 동작
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description="%s"를 잠금 해제하여 세부정보 보기
|
||||
eventView.entry.conflictResolved.message=해결된 충돌
|
||||
eventView.entry.conflictResolved.showDecrypted=복호화된 파일 보기
|
||||
eventView.entry.conflictResolved.copyDecrypted=복호화된 경로 복사하기
|
||||
eventView.entry.conflict.message=충돌 해결 실패
|
||||
eventView.entry.conflict.showDecrypted=복호화된 원본 파일 보기
|
||||
eventView.entry.conflict.copyDecrypted=복호화된 원본 경로 복사하기
|
||||
eventView.entry.conflict.showEncrypted=충돌하는 암호화된 파일 보기
|
||||
eventView.entry.conflict.copyEncrypted=충돌하는 암호화된 경로 복사하기
|
||||
eventView.entry.decryptionFailed.message=복호화 실패
|
||||
eventView.entry.decryptionFailed.showEncrypted=암호화된 파일 보기
|
||||
eventView.entry.decryptionFailed.copyEncrypted=암호화된 경로 복사하기
|
||||
eventView.entry.brokenDirFile.message=망가진 디렉터리 링크
|
||||
eventView.entry.brokenDirFile.showEncrypted=망가진 암호화된 링크 보기
|
||||
eventView.entry.brokenDirFile.copyEncrypted=망가진 링크의 경로 복사하리
|
||||
eventView.entry.brokenFileNode.message=망가진 파일시스템 노드
|
||||
eventView.entry.brokenFileNode.showEncrypted=망가진 암호화된 노드 보기
|
||||
eventView.entry.brokenFileNode.copyEncrypted=망가진 암호화된 노드의 경로 복사하기
|
||||
eventView.entry.brokenFileNode.copyDecrypted=복호화된 경로 복사하기
|
||||
eventView.entry.inUse.showDecrypted=복호화된 파일 보기
|
||||
eventView.entry.inUse.showEncrypted=암호화된 파일 보기
|
||||
eventView.entry.inUse.copyUserAndDevice=파일 잠금 사용자 및 기기 이름 복사
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=다른 기기에서 파일 사용 중
|
||||
notification.inUse.action=사용 여부 상태 무시
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Aizvērt
|
||||
generic.button.copy=Ievietot starpliktuvē
|
||||
generic.button.copied=Ievietots starpliktuvē
|
||||
generic.button.done=Darīts
|
||||
generic.button.previous=Atpakaļ
|
||||
generic.button.next=Tālāk
|
||||
generic.button.print=Drukāt
|
||||
generic.button.remove=Noņemt
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Aizslēgta
|
||||
vault.state.unlocked=Atslēgta
|
||||
vault.state.missing=Trūkst
|
||||
vault.state.migrationNeeded=Nepieciešama pārcelšana
|
||||
vault.state.processing=Apstrādā
|
||||
vault.state.error=Kļūda
|
||||
|
||||
# Error
|
||||
error.message=Atgadījās kļūda
|
||||
error.description=Cryptomator negaidīja, ka tas notiks. Var uzmeklēt esošus šīs kļūdas risinājumus. Vai arī, ja par to vēl nav ziņots, var droši darīt to.
|
||||
@@ -186,9 +177,6 @@ hub.registerSuccess.legacy.description=Lai piekļūtu glabātavai, tās īpašni
|
||||
hub.registerFailed.message=Ierīces reģistrācija neizdevās
|
||||
hub.registerFailed.description.generic=Reģistrēšanās laikā atgadījās kļūda. Vairāk informācijas ir atrodama lietotnes žurnālā.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Šī ierīce jau ir reģistrēta citam lietotājam. Jamēģina nomainīt lietotāja kontu vai izmantot citu ierīci.
|
||||
### Archived
|
||||
hub.archived.message=Glabātava arhivēta
|
||||
hub.archived.description=Glabātava tika arhivēta un vairs nav pieejama. Lūgums sazināties ar glabātavas īpašnieku.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Piekļuve atteikta
|
||||
hub.unauthorized.description=Nav pilnvaras atvērt šo glabātavu. Jāsazinās ar glabātavas īpašnieku, lai pieprasītu piekļuvi.
|
||||
@@ -269,8 +257,6 @@ health.check.detail.checkFinishedAndFound=Pārbaude beidza izpildīteis. Lūgums
|
||||
health.check.detail.checkFailed=Pārbaude beidza darboties kļūdas dēļ.
|
||||
health.check.detail.checkCancelled=Pārbaude tika atcelta.
|
||||
health.check.detail.listFilters.label=Atlasīt
|
||||
health.check.detail.filterSeverity=Atlasīt pēc nozīmīguma
|
||||
health.check.detail.filterFixState=Atlasīt pēc salabošanas stāvokļa
|
||||
health.check.detail.fixAllSpecificBtn=Salabot visu ar veidu
|
||||
health.check.exportBtn=Izgūt pārskatu
|
||||
## Result view
|
||||
@@ -343,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=nekad
|
||||
preferences.updates.lastUpdateCheck.recently=nesen
|
||||
preferences.updates.lastUpdateCheck.daysAgo=Pirms %s dienām
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=Pirms %s stundām
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Lūgums
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=aizslēgt savas glabātavas,
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=lai uzstādītu atjauninājumu.
|
||||
preferences.updates.checkFailed=Atjauninājumu uzmeklēšana neizdevās. Lūgums pārbaudīt savu interneta savienojumu vai vēlāk mēģināt vēlreiz.
|
||||
preferences.updates.updateFailed=Atjaunināšana neizdevāš. Lūgums pašrocīgi uzstādīt atjauninājumu.
|
||||
preferences.updates.upToDate=Cryptomator ir jaunākā versija.
|
||||
preferences.updates.visitDownloadPage=Apmeklēt lejupielāžu lapu
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Atbalstīt mūs
|
||||
@@ -360,7 +341,6 @@ preferences.contribute.promptText=Šeit jāielīmē atbalstītāja sertifikāta
|
||||
preferences.contribute.thankYou=Paldies par Cryptomator atvērtā pirmkoda izstrādes atbalstīšanu!
|
||||
preferences.contribute.donate=Ziedot
|
||||
preferences.contribute.sponsor=Pabalstīt
|
||||
preferences.contribute.removeCert.tooltip=Noņemt sertifikātu
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Noņemt sertifikātu
|
||||
@@ -370,7 +350,6 @@ removeCert.description=Šis neietekmē Cryptomator pamata iespējas. Nav ne iero
|
||||
|
||||
## About
|
||||
preferences.about=Par
|
||||
preferences.about.thirdPartyLicenses=Trešo pušu licences
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=%s pārskats
|
||||
@@ -409,8 +388,6 @@ stats.access.total=Piekļuves pavisam: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Glabātavas
|
||||
main.vaultlist.listEntry=Glabātava %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klikšķināt šeit, lai pievienotu glabātavu
|
||||
main.vaultlist.contextMenu.remove=Noņemt…
|
||||
main.vaultlist.contextMenu.lock=Aizslēgt
|
||||
@@ -422,17 +399,13 @@ main.vaultlist.contextMenu.share=Kopīgot…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Izveidot jaunu glabātavu…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Atvērt esošu glabātavu…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Atjaunot esošu glabātavu…
|
||||
main.vaultlist.addVaultButton.tooltip=Pievienot glabātavu
|
||||
main.vaultlist.showEventsButton.tooltip=Atvērt notikumu skatu
|
||||
main.vaultlist.showPreferencesButton.tooltip=Rādīt iestatījumus
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Ir pieejams atjauninājums.
|
||||
main.notification.support=Atbalstīt Cryptomator.
|
||||
main.notification.closeButton.tooltip=Aizvērt informācijas joslu
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Paldies par izvēlēšanos izmantot Cryptomator, lai aizsargātu savas datnes! Ja ir nepieciešama jebkāda palīdzība, ir vērts ieskatīties mūsu darba uzsākšanas norādēs:
|
||||
main.vaultDetail.storageLocation=Glabātavas krātuves atrašanās vieta
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=AIZSLĒGTA
|
||||
main.vaultDetail.unlockBtn=Atslēgt…
|
||||
@@ -490,7 +463,6 @@ vaultOptions.general=Vispārēji
|
||||
vaultOptions.general.vaultName=Glabātavas nosaukums
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Aizslēgt, kad dīkstāvē
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minūtes
|
||||
vaultOptions.general.autoLock.accessibleText=Aizslēgšanas noildze minūtēs
|
||||
vaultOptions.general.unlockAfterStartup=Atslēgt glabātavu pēc Cryptomator palaišanas
|
||||
vaultOptions.general.actionAfterUnlock=Pēc sekmīgas atslēgšanas
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Nedarīt neko
|
||||
@@ -549,8 +521,6 @@ recoveryKey.recover.recoverBtn=Atkopt
|
||||
recoveryKey.recover.resetSuccess.message=Paroles atiestatīšana sekmīga
|
||||
recoveryKey.recover.resetSuccess.description=Savu glabātavu var atslēgt ar jauno paroli.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Glabātavas konfigurācija atkopta
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Galvenās atslēgas datne atkopta
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Savu glabātavu tagad var atslēgt ar jauno paroli.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
@@ -674,8 +644,6 @@ decryptNames.filePicker.title=Atlasīt šifrētu datni
|
||||
decryptNames.filePicker.extensionDescription=Cryptomator šifrēta datne
|
||||
decryptNames.copyTable.tooltip=Ievietot tabulu starpliktuvē
|
||||
decryptNames.clearTable.tooltip=Notīrīt tabulu
|
||||
decryptNames.column.encrypted=Šifrēts
|
||||
decryptNames.column.decrypted=Atšifrēts
|
||||
decryptNames.copyHint=Ievietot šūnas saturu starpliktuvē ar %s
|
||||
decryptNames.dropZone.message=Nomest datnes vai klikšķināt, lai atlasītu
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Atlasītas glabātavas iekšējās datnes ar neatšifrējamu nosaukumu
|
||||
@@ -688,31 +656,23 @@ decryptNames.dropZone.error.generic=Neizdevās atšifrēt datņu nosaukumus
|
||||
eventView.title=Notikumi
|
||||
eventView.filter.allVaults=Viss
|
||||
eventView.clearListButton.tooltip=Notīrīt sarakstu
|
||||
eventView.filterVaults=Atlasīt pēc glabātavas
|
||||
eventView.cell.actionsButton.tooltip=Notikumu darbības
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Atslēgt "%s", lai redzētu informāciju
|
||||
eventView.entry.conflictResolved.message=Atrisināta nesaderība
|
||||
eventView.entry.conflictResolved.showDecrypted=Parādīt atšifrēto datni
|
||||
eventView.entry.conflictResolved.copyDecrypted=Ievietot starpliktuvē atšifrēto ceļu
|
||||
eventView.entry.conflict.message=Nesaderības atrisināšana neizdevās
|
||||
eventView.entry.conflict.showDecrypted=Parādīt atšifrēto, sākotnējo datni
|
||||
eventView.entry.conflict.copyDecrypted=Ievietot starpliktuvē atšifrēto, sākotnējo datni
|
||||
eventView.entry.conflict.showEncrypted=Parādīt nesaderīgo, šifrēto datni
|
||||
eventView.entry.conflict.copyEncrypted=Ievietot starpliktuvē nesaderīgo, šifrēto ceļu
|
||||
eventView.entry.decryptionFailed.message=Atšifrēšana neizdevās
|
||||
eventView.entry.decryptionFailed.showEncrypted=Parādīt šifrēto datni
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Ievietot starpliktuvē šifrēto ceļu
|
||||
eventView.entry.brokenDirFile.message=Bojāta mapes saite
|
||||
eventView.entry.brokenDirFile.showEncrypted=Parādīt bojāto, šifrēto saiti
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Ievietot starpliktuvē bojātās saites ceļu
|
||||
eventView.entry.brokenFileNode.message=Bojāts datņu sistēmas mezgls
|
||||
eventView.entry.brokenFileNode.showEncrypted=Parādīt bojāto, šifrēto mezglu
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Ievietot starpliktuvē botjātā, šifrētā mezgla ceļu
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Ievietot starpliktuvē atšifrēto ceļu
|
||||
eventView.entry.inUse.message=Datne tiek izmantota
|
||||
eventView.entry.inUse.showDecrypted=Parādīt atšifrēto datni
|
||||
eventView.entry.inUse.showEncrypted=Parādīt šifrēto datni
|
||||
eventView.entry.inUse.copyUserAndDevice=Ievietot starpliktuvē lietotāju un ierīces, kurā aizslēgta, nosaukumu
|
||||
eventView.entry.inUse.ignoreLock=Neņemt vēra izmantošanas stāvokli
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Datne tiek izmantota citā ierīcē
|
||||
notification.inUse.description=Datni atvēra %s ierīcē %s. Jāvaicā aizvērt datni un ļaut pabeigties sinhronizēšanai. Stāvokli tagad var neņemt vērā, lai atvērtu datni, bet tas var radīt nesaderības vai pārrakstīt jaunākas izmaiņas.
|
||||
notification.inUse.action=Neņemt vēra izmantošanas stāvokli
|
||||
@@ -16,9 +16,6 @@ generic.button.next=Продолжи
|
||||
generic.button.print=Печати
|
||||
generic.button.remove=Отстрани
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Грешка
|
||||
|
||||
# Error
|
||||
error.message=Грешка
|
||||
error.description=Не очекуваше да се случи ова. Можете да пронајдете постоечки решенија за оваа грешка. Или, ако не е пријавена сè уште, слободно направете тоа.
|
||||
@@ -84,7 +81,6 @@ unlock.unlockBtn=Отклучи
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Отклучи
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -132,8 +128,7 @@ preferences.title=Поставки
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist.contextMenu.lock=Заклучи
|
||||
main.vaultlist.addVaultButton.tooltip=Додај сеф
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -203,7 +198,3 @@ vaultOptions.mount.mountPoint.directoryPickerButton=Избор…
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -3,8 +3,6 @@
|
||||
# Generics
|
||||
## Button
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
|
||||
# Defaults
|
||||
@@ -38,7 +36,6 @@
|
||||
### Register Device Legacy
|
||||
### Registration Success
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -84,7 +81,7 @@
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -151,7 +148,3 @@
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,18 +12,10 @@ generic.button.close=Lukk
|
||||
generic.button.copy=Kopier
|
||||
generic.button.copied=Kopiert!
|
||||
generic.button.done=Ferdig
|
||||
generic.button.previous=Forrige
|
||||
generic.button.next=Neste
|
||||
generic.button.print=Skriv ut
|
||||
generic.button.remove=Fjern
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Låst
|
||||
vault.state.unlocked=Ulåst
|
||||
vault.state.missing=Mangler
|
||||
vault.state.processing=Behandler
|
||||
vault.state.error=Feil
|
||||
|
||||
# Error
|
||||
error.message=Feilkode %s
|
||||
error.description=Oops! Cryptomator forventet ikke at dette skulle skje. Du kan slå opp mulige løsninger for denne feilen. Hvis feilen ikke er rapportert så kan du gjerne gjøre det.
|
||||
@@ -104,7 +96,6 @@ addvault.new.readme.accessLocation.4=Denne filen kan fjernes hvis ønskelig.
|
||||
## Existing
|
||||
addvaultwizard.existing.title=Legg til et eksisterende hvelv
|
||||
addvaultwizard.existing.instruction=Velg "vault.cryptomator"-filen til ditt eksisterende hvelv. Hvis det kun finnes en fil med navnet "masterkey.cryptomator", så velger du den i stedet.
|
||||
addvaultwizard.existing.restore=Gjenopprett…
|
||||
addvaultwizard.existing.chooseBtn=Velg…
|
||||
addvaultwizard.existing.filePickerTitle=Velg hvelvfil
|
||||
addvaultwizard.existing.filePickerMimeDesc=Cryptomator-hvelv
|
||||
@@ -184,8 +175,6 @@ hub.registerSuccess.legacy.description=For å få tilgangen til hvelvet, må enh
|
||||
hub.registerFailed.message=Enhetsregistrering mislyktes
|
||||
hub.registerFailed.description.generic=En feil ble gjort under registreringsprossen. For mer detaljer, se i applikasjonsloggen.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Denne enheten er allerede registrert for en annen bruker. Prøv å endre brukerkontoen eller bruk en annen enhet.
|
||||
### Archived
|
||||
hub.archived.message=Hvelvet er arkivert
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Ingen tilgang
|
||||
### Requires Account Initialization
|
||||
@@ -334,12 +323,8 @@ preferences.updates.lastUpdateCheck.never=aldri
|
||||
preferences.updates.lastUpdateCheck.recently=nylig
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s dager siden
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s timer siden
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Vennligst
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=lås hvelvene dine
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=for å installere oppdateringen.
|
||||
preferences.updates.checkFailed=Kunne ikke lete etter oppdateringer. Sjekk internett tilkoblingen din og prøv igjen senere.
|
||||
preferences.updates.upToDate=Cryptomator er oppdatert.
|
||||
preferences.updates.visitDownloadPage=Besøk nedlastingssiden
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Støtt oss
|
||||
@@ -349,7 +334,6 @@ preferences.contribute.getCertificate=Har du ikke en allerede? Lær hvordan du k
|
||||
preferences.contribute.promptText=Lim inn supporter sertifikatkoden her
|
||||
preferences.contribute.donate=Donér
|
||||
preferences.contribute.sponsor=Sponsor
|
||||
preferences.contribute.removeCert.tooltip=Fjern sertifikat
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Fjern sertifikat
|
||||
@@ -357,7 +341,6 @@ removeCert.title=Fjern sertifikat
|
||||
|
||||
## About
|
||||
preferences.about=Om
|
||||
preferences.about.thirdPartyLicenses=Tredjepartslisenser
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statistikk for %s
|
||||
@@ -396,7 +379,6 @@ stats.access.total=Antall tilganger: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Hvelv
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klikk her for å legge til et hvelv
|
||||
main.vaultlist.contextMenu.remove=Fjern…
|
||||
main.vaultlist.contextMenu.lock=Lås
|
||||
@@ -405,9 +387,7 @@ main.vaultlist.contextMenu.unlockNow=Lås opp nå
|
||||
main.vaultlist.contextMenu.vaultoptions=Alternativer for hvelvet
|
||||
main.vaultlist.contextMenu.reveal=Vis enheten
|
||||
main.vaultlist.contextMenu.share=Del…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Lag et nytt hvelv…
|
||||
main.vaultlist.addVaultButton.tooltip=Legg til hvelv
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.support=Støtt Cryptomator.
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
@@ -434,15 +414,12 @@ main.vaultDetail.stats=Hvelvstatistikk
|
||||
main.vaultDetail.locateEncryptedFileBtn=Finn kryptert fil
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=Velg en fil fra hvelvet ditt for å finne den krypterte motparten
|
||||
main.vaultDetail.encryptedPathsCopied=Stier kopiert til utklippstavlen!
|
||||
main.vaultDetail.decryptName.buttonLabel=Dekrypter filnavn
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator kunne ikke finne et hvelv på denne søkestien.
|
||||
main.vaultDetail.missing.recheck=Kontroller igjen
|
||||
main.vaultDetail.missing.remove=Fjern fra hvelvlisten…
|
||||
main.vaultDetail.missing.changeLocation=Endre hvelvplassering…
|
||||
### Missing Vault Config
|
||||
main.vaultDetail.missingVaultConfig.info=Hvelvkonfigurasjon mangler.
|
||||
main.vaultDetail.missingVaultConfig.restore=Gjenopprett hvelvkonfigurasjon
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=Oppgrader hvelv
|
||||
main.vaultDetail.migratePrompt=Hvelvet ditt må oppgraderes til et nytt format før du kan få tilgang til det
|
||||
@@ -526,10 +503,8 @@ recoveryKey.recover.resetSuccess.description=Du kan låse opp hvelvet med det ny
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
##Add Existing Vault without recovery - Dialog
|
||||
recover.existing.title=Hvelv lagt til
|
||||
|
||||
##Vault Already Exists - Dialog
|
||||
recover.alreadyExists.title=Hvelvet finnes allerede
|
||||
|
||||
##Invalid Selection - Dialog
|
||||
|
||||
@@ -610,7 +585,3 @@ shareVault.hub.openHub=Åpne Cryptomator hub
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Sluiten
|
||||
generic.button.copy=Kopieer
|
||||
generic.button.copied=Gekopieerd!
|
||||
generic.button.done=Klaar
|
||||
generic.button.previous=Vorige
|
||||
generic.button.next=Volgende
|
||||
generic.button.print=Afdrukken
|
||||
generic.button.remove=Verwijderen
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Vergrendeld
|
||||
vault.state.unlocked=Ontgrendeld
|
||||
vault.state.missing=Ontbrekend
|
||||
vault.state.migrationNeeded=Migratie vereist
|
||||
vault.state.processing=Verwerken...
|
||||
vault.state.error=Fout
|
||||
|
||||
# Error
|
||||
error.message=Er deed zich een fout voor
|
||||
error.description=Oeps! Cryptomator verwachtte niet dat dit zou gebeuren. U kunt bestaande oplossingen opzoeken voor deze fout, of, indien er nog geen melding van deze fout is gemaakt: doe dit gerust.
|
||||
@@ -186,9 +177,6 @@ hub.registerSuccess.legacy.description=Om toegang te krijgen tot de kluis, moet
|
||||
hub.registerFailed.message=Registratie van Apparaat mislukt
|
||||
hub.registerFailed.description.generic=Er is een fout gemaakt in het registratieproces. Kijk voor meer details in het logbestand van de applicatie.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Dit apparaat is al geregistreerd voor een andere gebruiker. Probeer de account te wijzigen of gebruik een ander apparaat.
|
||||
### Archived
|
||||
hub.archived.message=Kluis is gearchiveerd
|
||||
hub.archived.description=Deze kluis is gearchiveerd en is niet meer toegankelijk. Neem contact op met de eigenaar van de kluis.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Toegang geweigerd
|
||||
hub.unauthorized.description=U bent niet geautoriseerd om deze kluis te openen. Neem contact op met de eigenaar van de kluis om toegang aan te vragen.
|
||||
@@ -269,8 +257,6 @@ health.check.detail.checkFinishedAndFound=De controle is beëindigd. Bekijk alst
|
||||
health.check.detail.checkFailed=De controle is afgesloten door een fout.
|
||||
health.check.detail.checkCancelled=De controle werd geannuleerd.
|
||||
health.check.detail.listFilters.label=Filter
|
||||
health.check.detail.filterSeverity=Filter op ernst
|
||||
health.check.detail.filterFixState=Filter op status
|
||||
health.check.detail.fixAllSpecificBtn=Repareer alle soorten
|
||||
health.check.exportBtn=Exporteer rapport
|
||||
## Result view
|
||||
@@ -343,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=nooit
|
||||
preferences.updates.lastUpdateCheck.recently=recent
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s dagen geleden
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s uur geleden
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=A. u. b.
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=vergrendel uw kluizen
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=om de update te installeren.
|
||||
preferences.updates.checkFailed=Zoeken naar updates is mislukt. Controleer je internetverbinding of probeer het later opnieuw.
|
||||
preferences.updates.updateFailed=Update is mislukt. Installeer de update handmatig.
|
||||
preferences.updates.upToDate=Cryptomator is up-to-date.
|
||||
preferences.updates.visitDownloadPage=Bezoek de download pagina
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Steun ons
|
||||
@@ -360,7 +341,6 @@ preferences.contribute.promptText=Plak de supportercertificaatcode hier
|
||||
preferences.contribute.thankYou=Bedankt voor het steunen van Cryptomator's open-source ontwikkeling!
|
||||
preferences.contribute.donate=Doneren
|
||||
preferences.contribute.sponsor=Sponsor
|
||||
preferences.contribute.removeCert.tooltip=Verwijder Certificaat
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Verwijder Certificaat
|
||||
@@ -370,7 +350,6 @@ removeCert.description=De kernfuncties van Cryptomator worden hierdoor niet beï
|
||||
|
||||
## About
|
||||
preferences.about=Over
|
||||
preferences.about.thirdPartyLicenses=Third-party licenties
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statistieken voor %s
|
||||
@@ -409,8 +388,6 @@ stats.access.total=Totaal aantal toegangen: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Kluizen
|
||||
main.vaultlist.listEntry=Kluis %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klik hier om een kluis toe te voegen
|
||||
main.vaultlist.contextMenu.remove=Verwijderen…
|
||||
main.vaultlist.contextMenu.lock=Vergrendel
|
||||
@@ -422,17 +399,13 @@ main.vaultlist.contextMenu.share=Delen…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Maak een nieuwe kluis aan…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Open bestaande kluis…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Herstel bestaande kluis…
|
||||
main.vaultlist.addVaultButton.tooltip=Voeg kluis toe
|
||||
main.vaultlist.showEventsButton.tooltip=Open gebeurtenissen venster
|
||||
main.vaultlist.showPreferencesButton.tooltip=Toon Voorkeuren
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=Afspraakweergave openen
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Update beschikbaar.
|
||||
main.notification.support=Steun Cryptomator.
|
||||
main.notification.closeButton.tooltip=Info balk sluiten
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Bedankt dat u Cryptomator heeft gekozen om uw bestanden te beschermen. Voor assistentie verwijzen we u naar de starthandleidingen:
|
||||
main.vaultDetail.storageLocation=Kluis opslaglocatie
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=VERGRENDELD
|
||||
main.vaultDetail.unlockBtn=Ontgrendelen…
|
||||
@@ -490,7 +463,6 @@ vaultOptions.general=Algemeen
|
||||
vaultOptions.general.vaultName=Kluisnaam
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Vergrendel wanneer inactief voor
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minuten
|
||||
vaultOptions.general.autoLock.accessibleText=Versleutelen timeout in minuten
|
||||
vaultOptions.general.unlockAfterStartup=Ontgrendel kluis bij het starten van Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Na een succesvolle ontgrendeling
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Niets doen
|
||||
@@ -521,7 +493,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Opgeslagen wachtwoord vergeten
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Een herstelsleutel is je enige manier om de toegang tot een kluis te herstellen als je je wachtwoord kwijtraakt.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Toon herstelsleutel
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Wachtwoord resetten
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Deze opties zijn alleen beschikbaar als het hoofdsleutelbestand aanwezig is in de kluismap.
|
||||
## Hub
|
||||
vaultOptions.hub=Herstel
|
||||
vaultOptions.hub.convertInfo=U kunt de herstelsleutel gebruiken om deze Hub kluis om te zetten in een wachtwoord-gebaseerde kluis in noodsituaties.
|
||||
@@ -584,7 +555,7 @@ recover.onBoarding.chooseMethod=Kies een herstelmethode:
|
||||
recover.onBoarding.useRecoveryKey=Herstelsleutel gebruiken
|
||||
recover.onBoarding.usePassword=Wachtwoord gebruiken
|
||||
recover.onBoarding.intro=Zorg ervoor dat je het volgende controleert:
|
||||
recover.onBoarding.pleaseConfirm=Alvorens verder te gaan, bevestig dat:
|
||||
recover.onBoarding.pleaseConfirm=Vooraleer verder te gaan, bevestig dat:
|
||||
recover.onBoarding.otherwisePleaseConfirm=Anders bevestig dat:
|
||||
recover.onBoarding.allMissing.intro=Als deze kluis wordt beheerd door Cryptomator Hub, moet de eigenaar van de kluis deze voor je herstellen.
|
||||
recover.onBoarding.intro.ensure=Alle bestanden zijn volledig gesynchroniseerd.
|
||||
@@ -675,8 +646,6 @@ decryptNames.filePicker.title=Selecteer versleuteld bestand
|
||||
decryptNames.filePicker.extensionDescription=Cryptomator versleuteld bestand
|
||||
decryptNames.copyTable.tooltip=Kopieer tabel
|
||||
decryptNames.clearTable.tooltip=Wis tabel
|
||||
decryptNames.column.encrypted=Versleuteld
|
||||
decryptNames.column.decrypted=Ontcijferd
|
||||
decryptNames.copyHint=Kopieer cel inhoud met %s
|
||||
decryptNames.dropZone.message=Sleep bestanden of klik om te selecteren
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Kluis interne bestanden zonder ontsleutelbare naam geselecteerd
|
||||
@@ -689,31 +658,23 @@ decryptNames.dropZone.error.generic=Kan bestandsnamen niet decoderen
|
||||
eventView.title=Activiteiten
|
||||
eventView.filter.allVaults=Alle
|
||||
eventView.clearListButton.tooltip=Wis lijst
|
||||
eventView.filterVaults=Filter op kluis
|
||||
eventView.cell.actionsButton.tooltip=Acties op Gebeurtenissen
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Ontgrendel "%s" voor details
|
||||
eventView.entry.conflictResolved.message=Opgelost conflict
|
||||
eventView.entry.conflictResolved.showDecrypted=Toon gedecodeerd bestand
|
||||
eventView.entry.conflictResolved.copyDecrypted=Kopieer gedecodeerd pad
|
||||
eventView.entry.conflict.message=Conflictoplossing is mislukt
|
||||
eventView.entry.conflict.showDecrypted=Toon gedecodeerd, origineel bestand
|
||||
eventView.entry.conflict.copyDecrypted=Kopieer gedecodeerd, origineel pad
|
||||
eventView.entry.conflict.showEncrypted=Conflicterend, versleuteld bestand weergeven
|
||||
eventView.entry.conflict.copyEncrypted=Conflicterend, versleuteld pad kopiëren
|
||||
eventView.entry.decryptionFailed.message=Decodering mislukt
|
||||
eventView.entry.decryptionFailed.showEncrypted=Toon gedecodeerd bestand
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Kopieer gedecodeerd pad
|
||||
eventView.entry.brokenDirFile.message=Verbroken directory link
|
||||
eventView.entry.brokenDirFile.showEncrypted=Toon verbroken gecodeerde link
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Kopieer pad van verbroken link
|
||||
eventView.entry.brokenFileNode.message=Kapot bestandssysteemknooppunt
|
||||
eventView.entry.brokenFileNode.showEncrypted=Toon verbroken gecodeerde link
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Kopieer pad van verbroken, versleuteld knooppunt
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Kopieer gedecodeerd pad
|
||||
eventView.entry.inUse.message=Bestand in gebruik
|
||||
eventView.entry.inUse.showDecrypted=Toon gedecodeerd bestand
|
||||
eventView.entry.inUse.showEncrypted=Toon gedecodeerd bestand
|
||||
eventView.entry.inUse.copyUserAndDevice=Kopieer vergrendeling gebruikersnaam en apparaatnaam
|
||||
eventView.entry.inUse.ignoreLock=Gebruiksstatus negeren
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Bestand is op een ander apparaat in gebruik
|
||||
notification.inUse.description=Het bestand is geopend door %s op %s. Vraag ze om het bestand te sluiten en laat de synchronisatie eindigen. Je kunt de status negeren om het nu te openen, maar dit kan conflicten veroorzaken of nieuwere wijzigingen overschrijven.
|
||||
notification.inUse.action=Gebruiksstatus negeren
|
||||
@@ -14,8 +14,6 @@ generic.button.done=Ferdig
|
||||
generic.button.next=Neste
|
||||
generic.button.print=Skriv ut
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
|
||||
# Defaults
|
||||
@@ -102,7 +100,6 @@ unlock.success.revealBtn=Gjer eininga synleg
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Låse opp
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -184,8 +181,7 @@ main.vaultlist.contextMenu.lock=Lås
|
||||
main.vaultlist.contextMenu.unlock=Lås opp…
|
||||
main.vaultlist.contextMenu.unlockNow=Lås opp no
|
||||
main.vaultlist.contextMenu.reveal=Gjer eininga synleg
|
||||
main.vaultlist.addVaultButton.tooltip=Legg til kvelv
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Takk for at du valde Cryptomator for å verna filene dine. Viss du treng hjelp, sjekk ut guidane våre for å komma i gang:
|
||||
@@ -312,7 +308,3 @@ quit.lockAndQuitBtn=Lås og avslutt
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -3,8 +3,6 @@
|
||||
# Generics
|
||||
## Button
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
|
||||
# Defaults
|
||||
@@ -38,7 +36,6 @@
|
||||
### Register Device Legacy
|
||||
### Registration Success
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -84,7 +81,7 @@
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -151,7 +148,3 @@
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=ਬੰਦ ਕਰੋ
|
||||
generic.button.copy=ਕਾਪੀ ਕਰੋ
|
||||
generic.button.copied=ਕਾਪੀ ਕੀਤਾ!
|
||||
generic.button.done=ਮੁਕੰਮਲ
|
||||
generic.button.previous=ਪਿਛਲਾ
|
||||
generic.button.next=ਅੱਗੇ
|
||||
generic.button.print=ਪਰਿੰਟ ਕਰੋ
|
||||
generic.button.remove=ਹਟਾਓ
|
||||
|
||||
## Vault state
|
||||
vault.state.error=ਗਲਤੀ
|
||||
|
||||
# Error
|
||||
error.message=ਇੱਕ ਤਰੁੱਟੀ ਆਈ ਹੈ
|
||||
error.hyperlink.lookup=ਇਹ ਗਲਤੀ ਲੱਭੋ
|
||||
@@ -94,7 +90,6 @@ addvault.new.readme.accessLocation.3=ਇਸ ਵਾਲੀਅਮ ਵਿੱਚ ਜ
|
||||
addvault.new.readme.accessLocation.4=ਇਹ ਫਾਇਲ ਕਿਸੇ ਵੀ ਵੇਲੇ ਹਟਾ ਸਕਦੇ ਹੋ।
|
||||
## Existing
|
||||
addvaultwizard.existing.title=ਮੌਜੂਦਾ ਵਾਲਟ ਵਿੱਚ ਜੋੜੋ
|
||||
addvaultwizard.existing.restore=…ਬਹਾਲ ਕਰੋ
|
||||
addvaultwizard.existing.chooseBtn=…ਚੁਣੋ
|
||||
addvaultwizard.existing.filePickerTitle=ਵਾਲਟ ਫਾਇਲ ਨੂੰ ਚੁਣੋ
|
||||
addvaultwizard.existing.filePickerMimeDesc=Cryptomator ਵਾਲਟ
|
||||
@@ -125,8 +120,6 @@ unlock.savePassword=ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੋ
|
||||
unlock.unlockBtn=ਅਣ-ਲਾਕ ਕਰੋ
|
||||
## Select
|
||||
unlock.chooseMasterkey.message=ਮਾਸਟਰ-ਕੀ ਫਾਇਲ ਨਹੀਂ ਲੱਭੀ ਹੈ
|
||||
unlock.chooseMasterkey.description=Cryptomator ਨੂੰ "%s" ਵਾਲਟ ਲਈ ਮਾਸਟਰ-ਕੁੰਜੀ ਫ਼ਾਇਲ ਨਹੀਂ ਲੱਭੀ ਹੈ। ਕੁੰਜੀ ਫ਼ਾਇਲ ਖੁਦ ਚੁਣੋ।
|
||||
unlock.chooseMasterkey.restoreInstead=ਇਸ ਦੀ ਬਜਾਏ ਮਾਸਟਰ-ਕੁੰਜੀ ਫ਼ਾਇਲ ਬਹਾਲ ਕਰੋ
|
||||
unlock.chooseMasterkey.filePickerTitle=ਮਾਸਟਰ-ਕੁੰਜੀ ਫਾਇਲ ਚੁਣੋ
|
||||
unlock.chooseMasterkey.filePickerMimeDesc=Cryptomator ਮਾਸਟਰ-ਕੀ
|
||||
## Success
|
||||
@@ -154,7 +147,6 @@ hub.registerSuccess.description=ਤੁਹਾਡੇ ਡਿਵਾਈਸ ਨੂੰ
|
||||
hub.registerSuccess.unlockBtn=ਅਣ-ਲਾਕ ਕਰੋ
|
||||
### Registration Failed
|
||||
hub.registerFailed.message=ਡਿਵਾਈਸ ਰਜਿਸਟਰ ਕਰਨਾ ਅਸਫ਼ਲ ਹੈ
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=ਪਹੁੰਚ ਤੋਂ ਇਨਾਕਰ
|
||||
### Requires Account Initialization
|
||||
@@ -252,7 +244,6 @@ preferences.interface.theme=ਦਿੱਖ ਅਤੇ ਰਵਈਆ
|
||||
preferences.interface.theme.automatic=ਆਟੋਮੈਟਿਕ
|
||||
preferences.interface.theme.dark=ਗੂੜ੍ਹਾ
|
||||
preferences.interface.theme.light=ਹਲਕਾ
|
||||
preferences.interface.unlockThemes=ਗੂੜ੍ਹਾ ਢੰਗ ਅਣ-ਲਾਕ ਕਰੋ
|
||||
preferences.interface.language=ਭਾਸ਼ਾ (ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ)
|
||||
preferences.interface.language.auto=ਸਿਸਟਮ ਡਿਫਾਲਟ
|
||||
preferences.interface.interfaceOrientation=ਇੰਟਰਫੇਸ ਦੀ ਸਥਿਤੀ
|
||||
@@ -264,7 +255,6 @@ preferences.volume=ਵਰਚੁਅਲ ਡਰਾਇਵ
|
||||
preferences.volume.type=ਮੂਲ ਵਾਲੀਅਮ ਕਿਸਮ
|
||||
preferences.volume.type.automatic=ਆਟੋਮੈਟਿਕ
|
||||
preferences.volume.tcp.port=ਮੂਲ TCP ਪੋਰਟ
|
||||
preferences.volume.feature.mountToDriveLetter=ਮਾਊਂਟ ਪੁਆਇੰਟ ਲਈ ਡਰਾਇਵ ਅੱਖਰ
|
||||
preferences.volume.feature.readOnly=ਸਿਰਫ਼-ਪੜ੍ਹਨ ਲਈ ਮਾਊਂਟ
|
||||
## Updates
|
||||
preferences.updates=ਅੱਪਡੇਟ
|
||||
@@ -277,11 +267,7 @@ preferences.updates.lastUpdateCheck.never=ਕਦੇ ਨਹੀਂ
|
||||
preferences.updates.lastUpdateCheck.recently=ਸੱਜਰੇ
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s ਦਿਨ ਪਹਿਲਾਂ
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s ਘੰਟੇ ਪਹਿਲਾਂ
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=ਕਿਰਪਾ ਕਰਕੇ
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=ਆਪਣੇ ਵਾਲਟਾਂ ਨੂੰ ਲਾਕ ਕਰੋ
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=ਅੱਪਡੇਟ ਇੰਸਟਾਲ ਕਰਨ ਲਈ।
|
||||
preferences.updates.upToDate=Cryptomator ਅੱਪ-ਟੂ-ਡੇਟ ਹੈ।
|
||||
preferences.updates.visitDownloadPage=ਡਾਊਨਲੋਡ ਸਫ਼ੇ ਨੂੰ ਖੋਲ੍ਹੋ
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=ਸਾਡਾ ਸਮਰਥਨ ਕਰੋ
|
||||
@@ -289,7 +275,6 @@ preferences.contribute.registeredFor=%s ਲਈ ਰਜਿਸਟਰ ਕੀਤਾ
|
||||
preferences.contribute.thankYou=Cryptomator ਦੇ ਖੁੱਲ੍ਹੇ ਸਰੋਤ ਵਿਕਾਸ ਨੂੰ ਸਹਿਯੋਗ ਦੇਣ ਲਈ ਤੁਹਾਡਾ ਧੰਨਵਾਦ ਹੈ!
|
||||
preferences.contribute.donate=ਦਾਨ ਕਰੋ
|
||||
preferences.contribute.sponsor=ਸਪਾਂਸਰ
|
||||
preferences.contribute.removeCert.tooltip=ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਹਟਾਓ
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਹਟਾਓ
|
||||
@@ -336,7 +321,6 @@ stats.access.total=ਕੁੱਲ ਪਹੁੰਚਾਂ: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=ਵਾਲਟ
|
||||
main.vaultlist.emptyList.onboardingInstruction=ਵਾਲਟ ਜੋੜਨ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ
|
||||
main.vaultlist.contextMenu.remove=ਹਟਾਓ…
|
||||
main.vaultlist.contextMenu.lock=ਲਾਕ ਕਰੋ
|
||||
@@ -345,12 +329,7 @@ main.vaultlist.contextMenu.unlockNow=ਹੁਣੇ ਅਣ-ਲਾਕ ਕਰੋ
|
||||
main.vaultlist.contextMenu.vaultoptions=ਵਾਲਟ ਚੋਣਾਂ ਨੂੰ ਵੇਖਾਓ
|
||||
main.vaultlist.contextMenu.reveal=ਡਰਾਇਵ ਦਿਖਾਓ
|
||||
main.vaultlist.contextMenu.share=…ਸਾਂਝਾ ਕਰੋ
|
||||
main.vaultlist.addVaultBtn.menuItemNew=ਨਵਾਂ ਵਾਲਟ ਬਣਾਓ…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=ਮੌਜੂਦਾ ਵਾਲਟ ਨੂੰ ਖੋਲ੍ਹੋ…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=ਮੌਜੂਦਾ ਵਾਲਟ ਲਵੋ…
|
||||
main.vaultlist.addVaultButton.tooltip=ਵਾਲਟ ਜੋੜੋ
|
||||
main.vaultlist.showPreferencesButton.tooltip=ਪਸੰਦਾਂ ਨੂੰ ਵੇਖੋ
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=ਅੱਪਡੇਟ ਮੌਜੂਦ ਹੈ।
|
||||
main.notification.support=Cryptomator ਲਈ ਸਹਿਯੋਗ।
|
||||
## Vault Detail
|
||||
@@ -376,23 +355,16 @@ main.vaultDetail.throughput.kbps=%.1f KiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=ਵਾਲਟ ਅੰਕੜੇ
|
||||
main.vaultDetail.locateEncryptedFileBtn=ਇੰਕ੍ਰਿਪਟ ਕੀਤੀ ਫਾਇਲ ਨੂੰ ਲੱਭੋ
|
||||
main.vaultDetail.encryptedPathsCopied=ਪਾਥ ਨੂੰ ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕੀਤਾ ਗਿਆ ਹੈ!
|
||||
main.vaultDetail.locateEncrypted.filePickerTitle=ਵਾਲਟ ਵਿੱਚ ਫਾਇਲ ਨੂੰ ਚੁਣੋ
|
||||
main.vaultDetail.decryptName.buttonLabel=ਫ਼ਾਇਲ ਨਾਂ ਨੂੰ ਡਿਕ੍ਰਿਪਟ ਕਰੋ
|
||||
main.vaultDetail.decryptName.tooltip=ਫ਼ਾਇਲ ਦੇ ਨਾਂ ਨੂੰ ਡਿਕ੍ਰਿਪਟ ਕਰਨ ਵਾਸਤੇ ਇੰਕ੍ਰਿਪਟ ਕੀਤੇ ਵਾਲਟ ਫ਼ਾਇਲ ਨੂੰ ਚੁਣੋ
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator ਇਸ ਮਾਗਰ ਉੱਤੇ ਵਾਲਟ ਨਹੀਂ ਲੱਭਿਆ ਸਕੀ।
|
||||
main.vaultDetail.missing.recheck=ਮੁੜ-ਜਾਂਚੋ
|
||||
main.vaultDetail.missing.remove=ਵਾਲਟ ਸੂਚੀ ਤੋਂ ਹਟਾਓ…
|
||||
main.vaultDetail.missing.changeLocation=ਵਾਲਟ ਟਿਕਾਣੇ ਨੂੰ ਬਦਲੋ…
|
||||
### Missing Vault Config
|
||||
main.vaultDetail.missingVaultConfig.info=ਵਾਲਟ ਦੀ ਸੰਰਚਨਾ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।
|
||||
main.vaultDetail.missingVaultConfig.restore=ਵਾਲਟ ਦੀ ਸੰਰਚਨਾ ਬਹਾਲ ਕਰੋ
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=ਵਾਲਟ ਅੱਪਗਰੇਡ ਕਰੋ
|
||||
main.vaultDetail.migratePrompt=ਤੁਹਾਡੇ ਵਾਲਟ ਨੂੰ ਵਰਤੇ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਨਵੇਂ ਫਾਰਮੈਟ ਲਈ ਅੱਪਗਰੇਡ ਕਰਨ ਦੀ ਲੋੜ ਹੈ
|
||||
### Error
|
||||
main.vaultDetail.error.info=ਡਿਸਕ ਤੋਂ ਵਾਲਟ ਨੂੰ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਸਮੱਸਿਆ ਆਈ ਸੀ।
|
||||
main.vaultDetail.error.reload=ਮੁੜ-ਲੋਡ ਕਰੋ
|
||||
main.vaultDetail.error.windowTitle=ਵਾਲਟ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ
|
||||
|
||||
@@ -451,7 +423,6 @@ vaultOptions.hub.convertBtn=ਪਾਸਵਰਡ ਅਧਾਰਿਤ ਵਾਲਟ
|
||||
recoveryKey.display.title=ਰਿਕਵਰੀ ਕੁੰਜੀ ਨੂੰ ਵੇਖਾਓ
|
||||
recoveryKey.create.message=ਪਾਸਵਰਡ ਚਾਹੀਦਾ ਹੈ
|
||||
recoveryKey.create.description="%s" ਲਈ ਰਿਕਵਰੀ ਕੁੰਜੀ ਵੇਖਣ ਵਾਸਤੇ ਆਪਣਾ ਪਾਸਵਰਡ ਦਿਓ:
|
||||
recoveryKey.recover.description=ਵਾਲਟ ਦੀ ਸੰਰਚਨਾ ਨੂੰ ਬਹਾਲ ਕਰਨ ਵਾਸਤੇ "%s" ਲਈ ਪਾਸਵਰਡ ਦਿਓ।
|
||||
recoveryKey.display.description="%s" ਲਈ ਪਹੁੰਚ ਬਹਾਲ ਕਰਨ ਵਾਸਤੇ ਹੇਠਲੀ ਰਿਕਵਰੀ ਕੁੰਜੀ ਵਰਤੀ ਜਾ ਸਕਦੀ ਹੈ:
|
||||
recoveryKey.display.StorageHints=ਇਸ ਨੂੰ ਕਿਸੇ ਥਾਂ ਬਹੁਤ ਹੀ ਸੰਭਾਲ ਕੇ ਰੱਖੋ.:\n • ਇਸ ਨੂੰ ਪਾਸਵਰਡ ਮੈਨੇਜਰ ਵਰਤ ਕੇ ਸੰਭਾਲੋ\n • ਇਸ ਨੂੰ USB ਫਲੈਸ਼ ਡਰਾਇਵ ਉੱਤੇ ਸੰਭਾਲੋ\n • ਇਸ ਨੂੰ ਪੇਪਰ ਉੱਤੇ ਛਪ ਲਵੋ
|
||||
## Reset Password
|
||||
@@ -464,30 +435,20 @@ recoveryKey.recover.invalidKey=ਇਹ ਜਾਇਜ਼ ਰਿਕਰਵੀ ਕੁੰ
|
||||
recoveryKey.printout.heading=Cryptomator ਰਿਕਵਰੀ ਕੁੰਜੀ\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=ਰੀਸੈੱਟ ਕਰੋ
|
||||
recoveryKey.recover.recoverBtn=ਬਹਾਲ ਕਰੋ
|
||||
### Recovery Key Password Reset Success
|
||||
recoveryKey.recover.resetSuccess.message=ਪਾਸਵਰਡ ਨੂੰ ਕਾਮਯਾਬੀ ਨਾਲ ਮੁੜ-ਸੈੱਟ ਕੀਤਾ ਗਿਆ
|
||||
recoveryKey.recover.resetSuccess.description=ਤੁਸੀਂ ਆਪਣੇ ਵਾਲਟ ਨੂੰ ਨਵੇਂ ਪਾਸਵਰਡ ਨਾਲ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=ਵਾਲਟ ਸੰਰਚਨਾ ਨੂੰ ਬਹਾਲ ਕੀਤਾ ਗਿਆ
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=ਮਾਸਟਰ-ਕੁੰਜੀ ਫ਼ਾਇਲ ਬਹਾਲ ਕੀਤੀ ਗਈ
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=ਤੁਸੀਂ ਹੁਣ ਆਪਣੇ ਵਾਲਟ ਨੂੰ ਆਪਣੇ ਪਾਸਵਰਡ ਨਾਲ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ।
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
##Add Existing Vault without recovery - Dialog
|
||||
recover.existing.title=ਵਾਲਟ ਜੋੜਿਆ
|
||||
recover.existing.message=ਵਾਲਟ ਨੂੰ ਕਾਮਯਾਬੀ ਨਾਲ ਜੋੜਿਆ ਗਿਆ ਸੀ
|
||||
recover.existing.description=ਤੁਹਾਡੇ ਵਾਲਟ "%s" ਨੂੰ ਵਾਲਟ ਸੂਚੀ ਵਿੱਚ ਜੋੜਿਆ ਗਿਆ ਸੀ। ਕੋਈ ਰਿਕਵਰੀ ਕਾਰਵਾਈ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।
|
||||
|
||||
##Vault Already Exists - Dialog
|
||||
recover.alreadyExists.title=ਵਾਲਟ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ
|
||||
recover.alreadyExists.message=ਇਸ ਵਾਲਟ ਨੂੰ ਪਹਿਲਾਂ ਹੀ ਜੋੜਿਆ ਗਿਆ ਹੈ
|
||||
|
||||
##Invalid Selection - Dialog
|
||||
|
||||
## Contact Hub Vault Owner - Dialog
|
||||
contactHubVaultOwner.title=Hub ਵਾਲਟ
|
||||
contactHubVaultOwner.message=ਇਸ ਵਾਲਟ ਨੂੰ Cryptomator Hub ਰਾਹੀਂ ਬਣਾਇਆ ਗਿਆ ਸੀ
|
||||
|
||||
##Dialog Title
|
||||
|
||||
@@ -567,20 +528,5 @@ shareVault.hub.openHub=Cryptomator Hub ਨੂੰ ਖੋਲ੍ਹੋ
|
||||
|
||||
|
||||
# Event View
|
||||
eventView.title=ਘਟਨਾਵਾਂ
|
||||
eventView.filter.allVaults=ਸਭ
|
||||
eventView.clearListButton.tooltip=ਸੂਚੀ ਨੂੰ ਮਿਟਾਓ
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=ਵੇਰਵਿਆਂ ਲਈ "%s" ਨੂੰ ਅਣ-ਲਾਕ ਕਰੋ
|
||||
eventView.entry.conflictResolved.showDecrypted=ਡਿਕ੍ਰਿਪਟ ਕੀਤੀ ਫ਼ਾਇਲ ਨੂੰ ਵੇਖੋ
|
||||
eventView.entry.decryptionFailed.message=ਡਿਕ੍ਰਿਪਟ ਕਰਨਾ ਅਸਫ਼ਲ ਹੈ
|
||||
eventView.entry.decryptionFailed.showEncrypted=ਇੰਕ੍ਰਿਪਟ ਕੀਤੀ ਫ਼ਾਇਲ ਨੂੰ ਵੇਖੋ
|
||||
eventView.entry.brokenDirFile.message=ਡਾਇਰੈਕਟਰੀ ਲਿੰਕ ਖ਼ਰਾਬ ਹੈ
|
||||
eventView.entry.brokenDirFile.showEncrypted=ਖ਼ਰਾਬ, ਇੰੰਕ੍ਰਿਪਟ ਕੀਤੇ ਲਿੰਕ ਨੂੰ ਵੇਖਾਓ
|
||||
eventView.entry.brokenFileNode.copyDecrypted=ਡਿਕ੍ਰਿਪਟ ਕੀਤੇ ਪਾਥ ਨੂੰ ਕਾਪੀ ਕਰੋ
|
||||
eventView.entry.inUse.showDecrypted=ਡਿਕ੍ਰਿਪਟ ਕੀਤੀ ਫ਼ਾਇਲ ਨੂੰ ਵੇਖੋ
|
||||
eventView.entry.inUse.showEncrypted=ਇੰਕ੍ਰਿਪਟ ਕੀਤੀ ਫ਼ਾਇਲ ਨੂੰ ਵੇਖੋ
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -1,7 +1,7 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
|
||||
# Generics
|
||||
generic.action.dismiss=OdrzućOdrzućOdrzuć
|
||||
generic.action.dismiss=Odrzuć
|
||||
## Button
|
||||
generic.button.apply=Zastosuj
|
||||
generic.button.back=Wstecz
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Zamknij
|
||||
generic.button.copy=Skopiuj
|
||||
generic.button.copied=Skopiowano!
|
||||
generic.button.done=Gotowe
|
||||
generic.button.previous=Poprzedni
|
||||
generic.button.next=Dalej
|
||||
generic.button.print=Drukuj
|
||||
generic.button.remove=Usuń
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Zablokowany
|
||||
vault.state.unlocked=Odblokowany
|
||||
vault.state.missing=Brakujący
|
||||
vault.state.migrationNeeded=Wymagana migracja
|
||||
vault.state.processing=Przetwarzanie
|
||||
vault.state.error=Błąd
|
||||
|
||||
# Error
|
||||
error.message=Wystąpił błąd
|
||||
error.description=Cryptomator nie spodziewał się czegoś takiego. Możesz wyszukać istniejące rozwiązania dla tego błędu. Jeśli nie został on jeszcze zgłoszony, możesz sam to zrobić.
|
||||
@@ -44,7 +35,7 @@ defaults.vault.vaultName=Sejf
|
||||
traymenu.showMainWindow=Wyświetl
|
||||
traymenu.showPreferencesWindow=Ustawienia
|
||||
traymenu.lockAllVaults=Blokuj wszystko
|
||||
traymenu.quitApplication=WyjdźWyjdź
|
||||
traymenu.quitApplication=Wyjdź
|
||||
traymenu.vault.unlock=Odblokuj
|
||||
traymenu.vault.lock=Blokuj
|
||||
traymenu.vault.reveal=Odkryj
|
||||
@@ -105,7 +96,6 @@ addvault.new.readme.accessLocation.4=Jeśli chcesz możesz spokojnie usunąć te
|
||||
## Existing
|
||||
addvaultwizard.existing.title=Dodaj istniejący sejf
|
||||
addvaultwizard.existing.instruction=Wybierz plik "vault.cryptomator" w istniejącym sejfie. Jeśli istnieje tylko plik "masterkey.cryptomator", wybierz ten plik.
|
||||
addvaultwizard.existing.restore=Przywróć…
|
||||
addvaultwizard.existing.chooseBtn=Wybierz…
|
||||
addvaultwizard.existing.filePickerTitle=Wybierz plik sejfu
|
||||
addvaultwizard.existing.filePickerMimeDesc=Sejf Cryptomator-a
|
||||
@@ -137,7 +127,6 @@ unlock.unlockBtn=Odblokuj
|
||||
## Select
|
||||
unlock.chooseMasterkey.message=Nie znaleziono pliku klucza głównego
|
||||
unlock.chooseMasterkey.description=Brak pliku Masterkey dla tego sejfu w oczekiwanej lokalizacji. Proszę wybrać plik klucza ręcznie.
|
||||
unlock.chooseMasterkey.restoreInstead=Przywróć zamiast tego plik klucza głównego
|
||||
unlock.chooseMasterkey.filePickerTitle=Wybierz plik Masterkey
|
||||
unlock.chooseMasterkey.filePickerMimeDesc=Klucz główny Cryptomator-a
|
||||
## Success
|
||||
@@ -186,9 +175,6 @@ hub.registerSuccess.legacy.description=Aby dostać się do sejfu, Twoje urządze
|
||||
hub.registerFailed.message=Rejestracja urządzenia nie powiodła się
|
||||
hub.registerFailed.description.generic=Wystąpił błąd w procesie rejestracji. Aby uzyskać więcej szczegółów, sprawdź dziennik aplikacji.
|
||||
hub.registerFailed.description.deviceAlreadyExists=To urządzenie jest już zarejestrowane dla innego użytkownika. Spróbuj zmienić konto użytkownika lub użyć innego urządzenia.
|
||||
### Archived
|
||||
hub.archived.message=Sejf jest zarchiwizowany
|
||||
hub.archived.description=Ten sejf został zarchiwizowany i nie jest już dostępny. Skontaktuj się z właścicielem sejfu.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Brak dostępu
|
||||
hub.unauthorized.description=Nie masz uprawnień do otwierania tego sejfu. Skontaktuj się z właścicielem sejfu i poproś o dostęp.
|
||||
@@ -269,8 +255,6 @@ health.check.detail.checkFinishedAndFound=Test zakończony. Proszę sprawdzić w
|
||||
health.check.detail.checkFailed=Wystąpił błąd, test zakończony.
|
||||
health.check.detail.checkCancelled=Test został anulowany.
|
||||
health.check.detail.listFilters.label=Filtruj
|
||||
health.check.detail.filterSeverity=Filtruj według dotkliwości
|
||||
health.check.detail.filterFixState=Filtruj według stanu naprawczego
|
||||
health.check.detail.fixAllSpecificBtn=Napraw wszystkie typy
|
||||
health.check.exportBtn=Eksportuj raport
|
||||
## Result view
|
||||
@@ -343,13 +327,8 @@ preferences.updates.lastUpdateCheck.never=nigdy
|
||||
preferences.updates.lastUpdateCheck.recently=niedawno
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s dni temu
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s godzin temu
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Proszę
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=zablokuj swoje sejfy
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=aby zainstalować aktualizację.
|
||||
preferences.updates.checkFailed=Nieudana próba sprawdzenia aktualizacji. Sprawdź połączenie z internetem i spróbuj ponownie.
|
||||
preferences.updates.updateFailed=Aktualizacja nie powiodła się. Proszę zainstalować aktualizację ręcznie.
|
||||
preferences.updates.upToDate=Cryptomator jest aktualny.
|
||||
preferences.updates.visitDownloadPage=Odwiedź stronę pobierania
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Wesprzyj nas
|
||||
@@ -360,7 +339,6 @@ preferences.contribute.promptText=Wklej tutaj kod certyfikatu darczyńcy
|
||||
preferences.contribute.thankYou=Dziękujemy za wsparcie rozwoju Cryptomatora!
|
||||
preferences.contribute.donate=Wspomóż
|
||||
preferences.contribute.sponsor=Sponsor
|
||||
preferences.contribute.removeCert.tooltip=Usuń certyfikat
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Usuń Certyfikat
|
||||
@@ -370,7 +348,6 @@ removeCert.description=Nie ma to wpływu na podstawowe funkcje Cryptomatora. Dos
|
||||
|
||||
## About
|
||||
preferences.about=O programie
|
||||
preferences.about.thirdPartyLicenses=Licencje stron trzecich
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statystyki dla %s
|
||||
@@ -409,8 +386,6 @@ stats.access.total=Łączna liczba dostępów: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Sejfy
|
||||
main.vaultlist.listEntry=Sejf %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Kliknij tutaj, aby dodać sejf
|
||||
main.vaultlist.contextMenu.remove=Usuń…
|
||||
main.vaultlist.contextMenu.lock=Zablokuj
|
||||
@@ -419,20 +394,13 @@ main.vaultlist.contextMenu.unlockNow=Odblokuj teraz
|
||||
main.vaultlist.contextMenu.vaultoptions=Pokaż opcje sejfu
|
||||
main.vaultlist.contextMenu.reveal=Otwórz lokalizację
|
||||
main.vaultlist.contextMenu.share=Udostępnij…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Utwórz nowy sejf… .
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Otwórz istniejący sejf…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Odzyskaj istniejący sejf…
|
||||
main.vaultlist.addVaultButton.tooltip=Dodaj sejf
|
||||
main.vaultlist.showEventsButton.tooltip=Otwórz widok wydarzeń
|
||||
main.vaultlist.showPreferencesButton.tooltip=Pokaż preferencje
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Dostępna aktualizacja.
|
||||
main.notification.support=Wspomóż Cryptomatora.
|
||||
main.notification.closeButton.tooltip=Zamknij pasek informacji
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Dziękujemy za wybranie programu Cryptomator do ochrony plików. Jeśli potrzebujesz pomocy, sprawdź nasze przewodniki:
|
||||
main.vaultDetail.storageLocation=Lokalizacja przechowywania sejfu
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=ZABLOKOWANY
|
||||
main.vaultDetail.unlockBtn=Odblokuj…
|
||||
@@ -464,8 +432,6 @@ main.vaultDetail.missing.recheck=Ponów próbę
|
||||
main.vaultDetail.missing.remove=Usuń z listy sejfów…
|
||||
main.vaultDetail.missing.changeLocation=Zmień lokalizację sejfu…
|
||||
### Missing Vault Config
|
||||
main.vaultDetail.missingVaultConfig.info=Brakuje konfiguracji sejfu.
|
||||
main.vaultDetail.missingVaultConfig.restore=Przywróć konfigurację sejfu
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=Aktualizuj sejf
|
||||
main.vaultDetail.migratePrompt=Twój sejf musi zostać zaktualizowany do nowego formatu, zanim będziesz mógł go używać
|
||||
@@ -490,7 +456,6 @@ vaultOptions.general=Ogólne
|
||||
vaultOptions.general.vaultName=Nazwa sejfu
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Zablokuj w stanie bezczynności po
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minut
|
||||
vaultOptions.general.autoLock.accessibleText=Limit czasu blokady w minutach
|
||||
vaultOptions.general.unlockAfterStartup=Odblokuj sejf podczas uruchamiania programu Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Po udanym odblokowaniu
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Nic nie rób
|
||||
@@ -521,7 +486,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Zapomnij zapamiętane hasło
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Klucz odzyskiwania jest twoim jedynym sposobem przywrócenia dostępu do sejfu w przypadku utraty hasła.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Wyświetl klucz odzyskiwania
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Resetuj hasło
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Te opcje są dostępne tylko wtedy, gdy plik klucza głównego jest obecny w katalogu sejfu.
|
||||
## Hub
|
||||
vaultOptions.hub=Odzyskanie
|
||||
vaultOptions.hub.convertInfo=Możesz użyć klucza odzyskiwania, aby przekonwertować ten Hub do sejfu opartego na hasłach w nagłych przypadkach.
|
||||
@@ -532,7 +496,6 @@ vaultOptions.hub.convertBtn=Konwertuj na sejf oparty na hasłach
|
||||
recoveryKey.display.title=Wyświetl kod odzyskiwania
|
||||
recoveryKey.create.message=Hasło jest wymagane
|
||||
recoveryKey.create.description=Wprowadź hasło, aby pokazać klucz odzyskiwania dla "%s":
|
||||
recoveryKey.recover.description=Wprowadź hasło dla "%s", aby odzyskać konfigurację sejfu.
|
||||
recoveryKey.display.description=Poniższy klucz odzyskiwania służy do przywrócenia dostępu do "%s":
|
||||
recoveryKey.display.StorageHints=Trzymaj go w bezpiecznym miejscu, np.\n • Przechowuj go za pomocą menedżera haseł\n • Zapisz go na przenośnej pamięci USB\n • Wydrukuj na papierze
|
||||
## Reset Password
|
||||
@@ -545,59 +508,29 @@ recoveryKey.recover.invalidKey=Ten klucz jest nieprawidłowy
|
||||
recoveryKey.printout.heading=Cryptomator - Klucz odzyskiwania\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Resetuj
|
||||
recoveryKey.recover.recoverBtn=Odzyskaj
|
||||
### Recovery Key Password Reset Success
|
||||
recoveryKey.recover.resetSuccess.message=Hasło zostało zresetowane
|
||||
recoveryKey.recover.resetSuccess.description=Możesz odblokować sejf przy użyciu nowego hasła.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Konfiguracja sejfu odzyskana
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Plik klucza głównego odzyskany
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Możesz teraz odblokować swój sejf hasłem.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
##Add Existing Vault without recovery - Dialog
|
||||
recover.existing.title=Sejf dodany
|
||||
recover.existing.message=Sejf został dodany pomyślnie
|
||||
recover.existing.description=Twój sejf "%s" został dodany do listy sejfów. Proces odzyskiwania nie był konieczny.
|
||||
|
||||
##Vault Already Exists - Dialog
|
||||
recover.alreadyExists.title=Sejf już istnieje
|
||||
recover.alreadyExists.message=Ten sejf został już dodany
|
||||
recover.alreadyExists.description=Twój sejf "%s" jest już obecny na Twojej liście sejfów i dlatego nie został dodany ponownie.
|
||||
|
||||
##Invalid Selection - Dialog
|
||||
recover.invalidSelection.title=Nieprawidłowy wybór
|
||||
recover.invalidSelection.message=Twój wybór nie jest sejfem
|
||||
recover.invalidSelection.description=Wybrany folder musi być prawidłowym sejfem Cryptomatora.
|
||||
|
||||
## Contact Hub Vault Owner - Dialog
|
||||
contactHubVaultOwner.title=Hub sejfów
|
||||
contactHubVaultOwner.message=Ten sejf został utworzony z Cryptomator Hub
|
||||
contactHubVaultOwner.description=Aby przywrócić brakujący plik, skontaktuj się z właścicielem sejfu. Mogą pobrać szablon sejfu z Cryptomator Hub.
|
||||
|
||||
##Dialog Title
|
||||
recover.recoverVaultConfig.title=Odzyskaj konfigurację sejfu
|
||||
recover.recoverMasterkey.title=Odzyskaj klucz główny
|
||||
|
||||
## OnBoarding
|
||||
recover.onBoarding.chooseMethod=Wybierz metodę odzyskiwania:
|
||||
recover.onBoarding.useRecoveryKey=Użyj klucza odzyskiwania
|
||||
recover.onBoarding.usePassword=Użyj hasła
|
||||
recover.onBoarding.intro=Należy sprawdzić, czy:
|
||||
recover.onBoarding.pleaseConfirm=Przed rozpoczęciem postępowania proszę potwierdzić, że:
|
||||
recover.onBoarding.otherwisePleaseConfirm=W przeciwnym razie proszę potwierdzić, że:
|
||||
recover.onBoarding.allMissing.intro=Jeśli ten sejf jest zarządzany przez Cryptomator Hub, właściciel sejfu musi go przywrócić.
|
||||
recover.onBoarding.intro.ensure=Wszystkie pliki są w pełni zsynchronizowane.
|
||||
recover.onBoarding.affirmation=Przeczytałem i zrozumiałem te wymogi
|
||||
|
||||
###Vault Config Missing
|
||||
recover.onBoarding.intro.recoveryKey=Masz klucz odzyskiwania i wiesz, czy używano ustawień ekspertów.
|
||||
recover.onBoarding.intro.password=Masz hasło sejfu i wiesz, czy używano ustawień ekspertów.
|
||||
###Masterkey Missing
|
||||
recover.onBoarding.intro.masterkey.recoveryKey=Masz klucz odzyskiwania sejfu.
|
||||
|
||||
## Expert Settings
|
||||
recover.expertSettings.shorteningThreshold.title=Ta wartość musi być zgodna z wartością użytą przed odzyskiwaniem aby zapewnić kompatybilność z poprzednio zaszyfrowanymi danymi.
|
||||
|
||||
# Convert Vault
|
||||
convertVault.title=Konwertuj sejf
|
||||
@@ -675,8 +608,6 @@ decryptNames.filePicker.title=Wybierz zaszyfrowany plik
|
||||
decryptNames.filePicker.extensionDescription=Zaszyfrowany plik Cryptomator
|
||||
decryptNames.copyTable.tooltip=Kopiuj tabelę
|
||||
decryptNames.clearTable.tooltip=Wyczyść tabelę
|
||||
decryptNames.column.encrypted=Zaszyfrowane
|
||||
decryptNames.column.decrypted=Odszyfrowane
|
||||
decryptNames.copyHint=Kopiuj zawartość komórki z %s
|
||||
decryptNames.dropZone.message=Upuść pliki lub kliknij, aby wybrać
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Wybrano wewnętrzne pliki sejfu z nazwami niemożliwymi do odszyfrowania
|
||||
@@ -689,26 +620,23 @@ decryptNames.dropZone.error.generic=Nie udało się odszyfrować nazw plików
|
||||
eventView.title=Zdarzenia
|
||||
eventView.filter.allVaults=Wszystkie
|
||||
eventView.clearListButton.tooltip=Wyczyść listę
|
||||
eventView.filterVaults=Filtruj według sejfu
|
||||
eventView.cell.actionsButton.tooltip=Akcje zdarzeń
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Odblokuj "%s" po szczegóły
|
||||
eventView.entry.conflictResolved.message=Konflikt rozwiązany
|
||||
eventView.entry.conflictResolved.showDecrypted=Pokaż odszyfrowany plik
|
||||
eventView.entry.conflictResolved.copyDecrypted=Kopiuj odszyfrowaną ścieżkę
|
||||
eventView.entry.conflict.message=Rozwiązywanie konfliktu nie powiodło się
|
||||
eventView.entry.conflict.showDecrypted=Pokaż odszyfrowany, oryginalny plik
|
||||
eventView.entry.conflict.copyDecrypted=Kopiuj odszyfrowaną, oryginalną ścieżkę
|
||||
eventView.entry.conflict.showEncrypted=Pokaż sprzeczny, zaszyfrowany plik
|
||||
eventView.entry.conflict.copyEncrypted=Kopiuj sprzeczną, zaszyfrowaną ścieżkę
|
||||
eventView.entry.decryptionFailed.message=Odszyfrowywanie nie powiodło się
|
||||
eventView.entry.decryptionFailed.showEncrypted=Pokaż zaszyfrowany plik
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Kopiuj zaszyfrowaną ścieżkę
|
||||
eventView.entry.brokenDirFile.message=Uszkodzony link do katalogu
|
||||
eventView.entry.brokenDirFile.showEncrypted=Pokaż uszkodzony, zaszyfrowany link
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Kopiuj ścieżkę uszkodzonego linku
|
||||
eventView.entry.brokenFileNode.message=Uszkodzony węzeł systemu plików
|
||||
eventView.entry.brokenFileNode.showEncrypted=Pokaż uszkodzony, zaszyfrowany węzeł
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Kopiuj ścieżkę uszkodzonego, zaszyfrowanego węzła
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Kopiuj odszyfrowaną ścieżkę
|
||||
eventView.entry.inUse.showDecrypted=Pokaż odszyfrowany plik
|
||||
eventView.entry.inUse.showEncrypted=Pokaż zaszyfrowany plik
|
||||
eventView.entry.inUse.copyUserAndDevice=Kopiowanie blokady użytkownika i nazwy urządzenia
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Fechar
|
||||
generic.button.copy=Copiar
|
||||
generic.button.copied=Copiado!
|
||||
generic.button.done=Ok
|
||||
generic.button.previous=Voltar
|
||||
generic.button.next=Seguinte
|
||||
generic.button.print=Imprimir
|
||||
generic.button.remove=Remover
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Bloqueado
|
||||
vault.state.unlocked=Desbloqueado
|
||||
vault.state.missing=Em falta
|
||||
vault.state.migrationNeeded=Migração necessária
|
||||
vault.state.processing=A processar…
|
||||
vault.state.error=Erro
|
||||
|
||||
# Error
|
||||
error.message=Erro %s
|
||||
error.description=Opa! Cryptomator não esperava que isto acontecesse. Pode procurar as soluções existentes para este erro. Ou se ainda não tiver sido relatado, sinta-se à vontade para o fazer.
|
||||
@@ -186,9 +177,6 @@ hub.registerSuccess.legacy.description=Para aceder ao cofre, o seu dispositivo p
|
||||
hub.registerFailed.message=Registo do dispositivo falhou
|
||||
hub.registerFailed.description.generic=Ocorreu um erro no processo de registo. Para mais informação, ver os registos da aplicação.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Este dispositivo já está registado para um utilizador diferente. Tente alterar a conta de utilizador ou use um dispositivo diferente.
|
||||
### Archived
|
||||
hub.archived.message=O cofre está arquivado
|
||||
hub.archived.description=Este cofre foi arquivado e não está mais acessível. Por favor, contate o proprietário do cofre.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Acesso negado
|
||||
hub.unauthorized.description=Não está autorizado a abrir este cofre. Contacte o proprietário do cofre para solicitar o acesso.
|
||||
@@ -269,8 +257,6 @@ health.check.detail.checkFinishedAndFound=A verificação concluiu. Por favor, r
|
||||
health.check.detail.checkFailed=A verificação foi encerrada devido a um erro.
|
||||
health.check.detail.checkCancelled=A verificação foi cancelada.
|
||||
health.check.detail.listFilters.label=Filtro
|
||||
health.check.detail.filterSeverity=Filtrar por relevância
|
||||
health.check.detail.filterFixState=Filtrar por estado da solução
|
||||
health.check.detail.fixAllSpecificBtn=Corrigir todos do tipo
|
||||
health.check.exportBtn=Exportar relatórios
|
||||
## Result view
|
||||
@@ -343,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=nunca
|
||||
preferences.updates.lastUpdateCheck.recently=recentemente
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s dias atrás
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s horas atrás
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Por favor
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=tranque os seus cofres
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=para instalar a atualização.
|
||||
preferences.updates.checkFailed=A procura de actualizações falhou. Verifique a sua ligação à Internet ou tente novamente mais tarde.
|
||||
preferences.updates.updateFailed=A atualização falhou. Por favor instale a atualização manualmente.
|
||||
preferences.updates.upToDate=Cryptomator está atualizado.
|
||||
preferences.updates.visitDownloadPage=Visite a página de downloads
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Apoie-nos
|
||||
@@ -360,7 +341,6 @@ preferences.contribute.promptText=Insira o código do certificado de apoiador aq
|
||||
preferences.contribute.thankYou=Obrigado por apoiar o desenvolvimento open-source (código aberto) do Cryptomator!
|
||||
preferences.contribute.donate=Doação
|
||||
preferences.contribute.sponsor=Patrocinador
|
||||
preferences.contribute.removeCert.tooltip=Remover certificados
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Remover certificado
|
||||
@@ -370,7 +350,6 @@ removeCert.description=As principais caraterísticas do Cryptomator não são af
|
||||
|
||||
## About
|
||||
preferences.about=Sobre
|
||||
preferences.about.thirdPartyLicenses=Licenças de terceiros
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Estatísticas de %s
|
||||
@@ -409,8 +388,6 @@ stats.access.total=Total de acessos: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Cofres
|
||||
main.vaultlist.listEntry=Cofre %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Clique aqui para adicionar um cofre
|
||||
main.vaultlist.contextMenu.remove=Remover…
|
||||
main.vaultlist.contextMenu.lock=Bloquear
|
||||
@@ -422,17 +399,13 @@ main.vaultlist.contextMenu.share=Partilhar…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Criar novo cofre…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Abrir cofre existente…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Recuperar cofre existente…
|
||||
main.vaultlist.addVaultButton.tooltip=Adicionar Cofre
|
||||
main.vaultlist.showEventsButton.tooltip=Abrir visualização do Evento
|
||||
main.vaultlist.showPreferencesButton.tooltip=Mostrar Preferências
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=Abrir visualização do evento
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=A atualização está disponível.
|
||||
main.notification.support=Apoie o Cryptomator.
|
||||
main.notification.closeButton.tooltip=Fechar barra de informação
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Obrigado por escolher Cryptomator para proteger os seus ficheiros. Se precisar de alguma ajuda, veja os nossos guias introdutórios:
|
||||
main.vaultDetail.storageLocation=Local de armazenamento do cofre
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=BLOQUEADO
|
||||
main.vaultDetail.unlockBtn=Desbloquear…
|
||||
@@ -490,7 +463,6 @@ vaultOptions.general=Geral
|
||||
vaultOptions.general.vaultName=Nome do Cofre
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Bloquear quando inativo por
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minutos
|
||||
vaultOptions.general.autoLock.accessibleText=Bloquear tempo limite em minutos
|
||||
vaultOptions.general.unlockAfterStartup=Desbloquear o cofre ao iniciar o Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Após desbloquear com sucesso
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Não fazer nada
|
||||
@@ -521,7 +493,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Esqueça a senha salva
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Uma chave de recuperação é a única forma de restaurar o acesso a um cofre se perder a senha.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Exibir Chave de Recuperação
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Redefinir palavra-passe
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Estas opções só estão disponíveis se o ficheiro da chave mestra estiver presente no diretório do cofre.
|
||||
## Hub
|
||||
vaultOptions.hub=Recuperação
|
||||
vaultOptions.hub.convertInfo=Pode usar a chave de recuperação para converter este cofre central num cofre baseado em palavras-passe, numa emergência.
|
||||
@@ -550,8 +521,6 @@ recoveryKey.recover.recoverBtn=Recuperar
|
||||
recoveryKey.recover.resetSuccess.message=Palavra-passe redefinida com sucesso
|
||||
recoveryKey.recover.resetSuccess.description=Você pode desbloquear o seu cofre com a nova senha.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Configuração do cofre recuperada
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Ficheiro da chave mestra recuperado
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Agora pode desbloquear o seu cofre com a sua palavra-passe.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
@@ -675,8 +644,6 @@ decryptNames.filePicker.title=Selecione o ficheiro encriptado
|
||||
decryptNames.filePicker.extensionDescription=Ficheiro encriptado pelo Criptomator
|
||||
decryptNames.copyTable.tooltip=Copiar a tabela
|
||||
decryptNames.clearTable.tooltip=Limpar a tabela
|
||||
decryptNames.column.encrypted=Encriptado
|
||||
decryptNames.column.decrypted=Desencriptado
|
||||
decryptNames.copyHint=Copiar o conteúdo da célula com %s
|
||||
decryptNames.dropZone.message=Largue os ficheiros ou clique para selecionar
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Ficheiros internos do coftre sem nome desencriptável selecionado
|
||||
@@ -689,31 +656,23 @@ decryptNames.dropZone.error.generic=Falha ao desencriptar os nomes dos ficheiros
|
||||
eventView.title=Eventos
|
||||
eventView.filter.allVaults=Todos
|
||||
eventView.clearListButton.tooltip=Limpar lista
|
||||
eventView.filterVaults=Filtrar por cofre
|
||||
eventView.cell.actionsButton.tooltip=Ações dos eventos
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Desbloquear "%s" para detalhes
|
||||
eventView.entry.conflictResolved.message=Conflito resolvido
|
||||
eventView.entry.conflictResolved.showDecrypted=Mostrar o ficheiro desencriptado
|
||||
eventView.entry.conflictResolved.copyDecrypted=Copiar o caminho desencriptado
|
||||
eventView.entry.conflict.message=A resolução do conflito falhou
|
||||
eventView.entry.conflict.showDecrypted=Mostrar o ficheiro original desencriptado
|
||||
eventView.entry.conflict.copyDecrypted=Copie o caminho original desencriptado
|
||||
eventView.entry.conflict.showEncrypted=Mostrar o ficheiro encriptado em conflito
|
||||
eventView.entry.conflict.copyEncrypted=Copiar o caminho encriptado em conflito
|
||||
eventView.entry.decryptionFailed.message=A desencriptação falhou
|
||||
eventView.entry.decryptionFailed.showEncrypted=Mostrar ficheiro encriptado
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Copiar o caminho encriptado
|
||||
eventView.entry.brokenDirFile.message=Link de diretório quebrado
|
||||
eventView.entry.brokenDirFile.showEncrypted=Mostrar o link quebrado e encriptado
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Copiar caminho do link quebrado
|
||||
eventView.entry.brokenFileNode.message=Nó do sistema de ficheiros avariado
|
||||
eventView.entry.brokenFileNode.showEncrypted=Mostrar nó encriptado e danificado
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Copiar o caminho do nó encriptado e danificado
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Copiar o caminho desencriptado
|
||||
eventView.entry.inUse.message=Ficheiro em utilização
|
||||
eventView.entry.inUse.showDecrypted=Mostrar o ficheiro desencriptado
|
||||
eventView.entry.inUse.showEncrypted=Mostrar ficheiro encriptado
|
||||
eventView.entry.inUse.copyUserAndDevice=Copiar nome do utilizador e dispositivo bloqueado
|
||||
eventView.entry.inUse.ignoreLock=Ignorar estado de utilização
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=O ficheiro está em utilização noutro dispositivo
|
||||
notification.inUse.description=O ficheiro está aberto por %s em %s. Peça-lhes que fechem o ficheiro e deixem a sincronização terminar. Pode ignorar o estado para o abrir agora, mas isso pode causar conflitos ou sobrescrever alterações mais recentes.
|
||||
notification.inUse.action=Ignorar estado de utilização
|
||||
@@ -12,287 +12,271 @@ generic.button.close=Fechar
|
||||
generic.button.copy=Copiar
|
||||
generic.button.copied=Copiado!
|
||||
generic.button.done=Concluído
|
||||
generic.button.previous=Anterior
|
||||
generic.button.next=Próximo
|
||||
generic.button.print=Imprimir
|
||||
generic.button.remove=Remover
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Bloqueado
|
||||
vault.state.unlocked=Desbloqueado
|
||||
vault.state.missing=Faltando
|
||||
vault.state.migrationNeeded=Requer migração
|
||||
vault.state.processing=Processando
|
||||
vault.state.error=Erro
|
||||
|
||||
# Error
|
||||
error.message=Ocorreu um erro
|
||||
error.description=O Cryptomator não esperava que isso acontecesse. Você pode buscar soluções existentes para esse erro. Se ainda não o relatou, sinta-se à vontade para fazê-lo.
|
||||
error.hyperlink.lookup=Buscar este erro
|
||||
error.hyperlink.report=Relatar este erro
|
||||
error.message=Erro %s
|
||||
error.description=O Cryptomator não esperava que isso acontecesse. Você pode procurar soluções existentes para este erro. Ou, se ainda não foi relatado, sinta-se à vontade para fazê-lo.
|
||||
error.hyperlink.lookup=Procure este erro
|
||||
error.hyperlink.report=Reportar este erro
|
||||
error.technicalDetails=Detalhes:
|
||||
error.existingSolutionDescription=O Cryptomator não esperava que isso acontecesse. Encontramos uma solução existente para esse erro. Acesse o link a seguir.
|
||||
error.hyperlink.solution=Busque a solução
|
||||
error.lookupPermissionMessage=O Cryptomator pode buscar uma solução para esse problema on-line. Isso enviará uma solicitação para nosso banco de dados de problemas a partir do seu endereço IP.
|
||||
error.existingSolutionDescription=O Cryptomator encontrou um erro inesperado, mas há uma solução pré-existente disponível no seguinte link.
|
||||
error.hyperlink.solution=Procure a solução
|
||||
error.lookupPermissionMessage=O Cryptomator pode procurar uma solução para este problema online. Isso enviará uma solicitação para nosso banco de dados de problemas a partir do seu endereço IP.
|
||||
error.dismiss=Ignorar
|
||||
error.lookUpSolution=Buscar solução
|
||||
error.lookUpSolution=Procurar solução
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Cofre
|
||||
|
||||
# Tray Menu
|
||||
traymenu.showMainWindow=Mostrar
|
||||
traymenu.showMainWindow=Exibir
|
||||
traymenu.showPreferencesWindow=Preferências
|
||||
traymenu.lockAllVaults=Bloquear todos
|
||||
traymenu.quitApplication=Sair
|
||||
traymenu.vault.unlock=Desbloquear
|
||||
traymenu.vault.lock=Bloquear
|
||||
traymenu.vault.reveal=Revelar
|
||||
traymenu.vault.reveal=Exibir
|
||||
|
||||
# Add Vault Wizard
|
||||
addvaultwizard.title=Adicionar cofre
|
||||
addvaultwizard.title=Adicionar Cofre
|
||||
## New
|
||||
addvaultwizard.new.title=Adicionar novo cofre
|
||||
addvaultwizard.new.title=Adicionar Novo Cofre
|
||||
### Name
|
||||
addvaultwizard.new.nameInstruction=Escolha um nome para o cofre
|
||||
addvaultwizard.new.namePrompt=Nome do cofre
|
||||
addvaultwizard.new.namePrompt=Nome do Cofre
|
||||
### Location
|
||||
addvaultwizard.new.locationInstruction=Onde o Cryptomator deve armazenar os arquivos criptografados do seu cofre?
|
||||
addvaultwizard.new.locationLoading=Verificando o sistema de arquivos local para diretórios de armazenamento na nuvem padrão…
|
||||
addvaultwizard.new.locationLabel=Local de armazenamento
|
||||
addvaultwizard.new.locationPrompt=…
|
||||
addvaultwizard.new.directoryPickerLabel=Local personalizado
|
||||
addvaultwizard.new.directoryPickerLabel=Local Personalizado
|
||||
addvaultwizard.new.directoryPickerButton=Escolher…
|
||||
addvaultwizard.new.directoryPickerTitle=Selecionar diretório
|
||||
addvaultwizard.new.directoryPickerTitle=Selecionar Diretório
|
||||
addvaultwizard.new.fileAlreadyExists=Já existe um arquivo ou diretório com esse nome
|
||||
addvaultwizard.new.locationDoesNotExist=Um diretório no caminho especificado não existe ou não pode ser acessado
|
||||
addvaultwizard.new.locationIsNotWritable=Nenhum acesso de gravação no caminho especificado
|
||||
addvaultwizard.new.locationIsNotWritable=Sem acesso de gravação no caminho especificado
|
||||
addvaultwizard.new.locationIsOk=Local adequado para o seu cofre
|
||||
addvaultwizard.new.invalidName=Nome do cofre inválido
|
||||
addvaultwizard.new.validName=Nome do cofre válido
|
||||
addvaultwizard.new.validCharacters.message=O nome do cofre pode conter os seguintes caracteres:
|
||||
addvaultwizard.new.validCharacters.chars=Caracteres de palavra (ex.: a, ж ou 수)
|
||||
addvaultwizard.new.validCharacters.chars=Caracteres de palavra (por exemplo, a, ж or 수)
|
||||
addvaultwizard.new.validCharacters.numbers=Números
|
||||
addvaultwizard.new.validCharacters.dashes=Hífen (%s) ou sublinhado (%s)
|
||||
### Expert Settings
|
||||
addvaultwizard.new.expertSettings.enableExpertSettingsCheckbox=Ativar configurações avançadas
|
||||
addvaultwizard.new.expertSettings.shorteningThreshold.invalid=Digite um valor entre 36 e 220 (padrão: 220)
|
||||
addvaultwizard.new.expertSettings.shorteningThreshold.invalid=Digite um valor entre 36 e 220 (padrão 220)
|
||||
addvaultwizard.new.expertSettings.shorteningThreshold.tooltip=Abra a documentação para saber mais.
|
||||
addvaultwizard.new.expertSettings.shorteningThreshold.title=Comprimento máximo dos nomes de arquivos criptografados
|
||||
addvaultwizard.new.expertSettings.shorteningThreshold.valid=Válido
|
||||
### Password
|
||||
addvaultwizard.new.createVaultBtn=Criar cofre
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=Você será incapaz de acessar os seus dados sem a sua senha. Deseja uma chave de recuperação para caso perca a sua senha?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=Sim, por favor. Melhor prevenir do que remediar
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=Não, obrigado. Eu não perderei minha senha
|
||||
addvaultwizard.new.createVaultBtn=Criar Cofre
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=Você não será capaz de acessar seus dados sem sua senha. Você quer uma chave de recuperação para o caso de perder sua senha?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=Sim, por favor, melhor prevenir do que remediar
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=Não, obrigado, eu não vou perder minha senha
|
||||
### Information
|
||||
addvault.new.readme.storageLocation.fileName=IMPORTANTE.rtf
|
||||
addvault.new.readme.storageLocation.1=⚠ ARQUIVOS DO COFRE ⚠
|
||||
addvault.new.readme.storageLocation.2=Este é o local de armazenamento do seu cofre.
|
||||
addvault.new.readme.storageLocation.3=NÃO DEVE
|
||||
addvault.new.readme.storageLocation.4=• alterar quaisquer arquivos deste diretório; ou
|
||||
addvault.new.readme.storageLocation.5=• colar quaisquer arquivos para encriptar neste diretório.
|
||||
addvault.new.readme.storageLocation.3=NÃO
|
||||
addvault.new.readme.storageLocation.4=• altere quaisquer arquivos deste diretório ou
|
||||
addvault.new.readme.storageLocation.5=• cole quaisquer arquivos para encriptar neste diretório.
|
||||
addvault.new.readme.storageLocation.6=Se você deseja encriptar arquivos e visualizar o conteúdo do cofre, faça o seguinte:
|
||||
addvault.new.readme.storageLocation.7=1. Adicione este cofre ao Cryptomator;
|
||||
addvault.new.readme.storageLocation.8=2. Desbloqueie o cofre no Cryptomator;
|
||||
addvault.new.readme.storageLocation.7=1. Adicione este cofre ao Cryptomator.
|
||||
addvault.new.readme.storageLocation.8=2. Desbloqueie o cofre no Cryptomator.
|
||||
addvault.new.readme.storageLocation.9=3. Abra o local de acesso clicando no botão "Revelar".
|
||||
addvault.new.readme.storageLocation.10=Se precisar de ajuda, visite a documentação: %s
|
||||
addvault.new.readme.accessLocation.fileName=BEM-VINDO(A).rtf
|
||||
addvault.new.readme.accessLocation.fileName=BEM-VINDO.rtf
|
||||
addvault.new.readme.accessLocation.1=🔐️ VOLUME ENCRIPTADO 🔐️
|
||||
addvault.new.readme.accessLocation.2=Este é o local de acesso ao seu cofre.
|
||||
addvault.new.readme.accessLocation.3=Qualquer arquivo adicionado a este volume será criptografado pelo Cryptomator. Você pode trabalhar nele como em qualquer outro disco ou pasta. Esta é apenas uma visualização descriptografada do conteúdo, seus arquivos permanecem criptografados no seu disco rígido o tempo todo.
|
||||
addvault.new.readme.accessLocation.3=Todos os arquivos adicionados a este volume serão criptografados de forma transparente pelo Cryptomator. Você pode trabalhar nele como se fosse qualquer unidade/pasta. Esta é apenas uma visão não criptografada do seu conteúdo, mas seus arquivos permanecem criptografados na sua unidade o tempo todo.
|
||||
addvault.new.readme.accessLocation.4=Fique à vontade para apagar este arquivo.
|
||||
## Existing
|
||||
addvaultwizard.existing.title=Adicionar cofre existente
|
||||
addvaultwizard.existing.instruction=Escolha o arquivo "vault.cryptomator" do seu cofre existente. Caso exista apenas um arquivo chamado "masterkey.cryptomator", selecione outro.
|
||||
addvaultwizard.existing.restore=Restaurar…
|
||||
addvaultwizard.existing.chooseBtn=Escolher…
|
||||
addvaultwizard.existing.filePickerTitle=Selecionar arquivo do cofre
|
||||
addvaultwizard.existing.title=Adicionar Cofre Existente
|
||||
addvaultwizard.existing.instruction=Escolha o arquivo "vault.cryptomator" do seu cofre existente. Se existir apenas um arquivo chamado "masterkey.cryptomator", selecione outro.
|
||||
addvaultwizard.existing.chooseBtn=Selecionar…
|
||||
addvaultwizard.existing.filePickerTitle=Selecionar arquivo do Cofre
|
||||
addvaultwizard.existing.filePickerMimeDesc=Cofre Cryptomator
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Cofre "%s" adicionado.\nVocê precisa desbloqueá-lo para acessar ou adicionar conteúdo. O desbloqueio dele pode ser feito a qualquer momento.
|
||||
addvaultwizard.success.unlockNow=Desbloquear agora
|
||||
addvaultwizard.success.nextStepsInstructions=Cofre "%s" adicionado.\nVocê precisa desbloquear este cofre para acessar ou adicionar conteúdo. Você também pode desbloqueá-lo a qualquer momento.
|
||||
addvaultwizard.success.unlockNow=Desbloquear Agora
|
||||
|
||||
# Remove Vault
|
||||
removeVault.title=Remover o cofre "%s"
|
||||
removeVault.message=Remover o cofre?
|
||||
removeVault.description=Isto só fará com que o Cryptomator esqueça este cofre. Você pode adicioná-lo novamente. Nenhum arquivo criptografado será apagado do seu disco rígido.
|
||||
removeVault.description=Isso só fará com que o Cryptomator esqueça esse cofre. Você pode adicioná-lo novamente. Nenhum arquivo criptografado será excluído do seu disco rígido.
|
||||
|
||||
# Change Password
|
||||
changepassword.title=Alterar senha
|
||||
changepassword.enterOldPassword=Digite a senha atual para o cofre "%s"
|
||||
changepassword.finalConfirmation=Estou ciente que não conseguirei acessar os meus dados caso esqueça a minha senha
|
||||
changepassword.title=Alterar Senha
|
||||
changepassword.enterOldPassword=Digite a senha atual para "%s"
|
||||
changepassword.finalConfirmation=Eu entendo que não poderei acessar os meus dados caso esqueça a minha senha
|
||||
|
||||
# Forget Password
|
||||
forgetPassword.title=Esqueci a senha
|
||||
forgetPassword.title=Esquecer Senha
|
||||
forgetPassword.message=Esqueceu sua senha?
|
||||
forgetPassword.description=Isto apagará a senha salva deste cofre do chaveiro do seu sistema.
|
||||
forgetPassword.confirmBtn=Esqueci a senha
|
||||
forgetPassword.description=Isso excluirá a senha que você salvou deste cofre, do chaveiro de senhas do sistema.
|
||||
forgetPassword.confirmBtn=Esquecer Senha
|
||||
|
||||
# Unlock
|
||||
unlock.title=Desbloquear "%s"
|
||||
unlock.passwordPrompt=Digite a senha para "%s":
|
||||
unlock.savePassword=Lembrar senha
|
||||
unlock.savePassword=Lembrar Senha
|
||||
unlock.unlockBtn=Desbloquear
|
||||
## Select
|
||||
unlock.chooseMasterkey.message=O arquivo Masterkey foi não encontrado
|
||||
unlock.chooseMasterkey.description=Não foi possível encontrar o arquivo masterkey para o cofre "%s". Selecione manualmente o arquivo contendo a chave.
|
||||
unlock.chooseMasterkey.restoreInstead=Em vez disso, restaure o arquivo masterkey
|
||||
unlock.chooseMasterkey.filePickerTitle=Selecione o arquivo Masterkey
|
||||
unlock.chooseMasterkey.filePickerMimeDesc=Masterkey do Cryptomator
|
||||
unlock.chooseMasterkey.message=Arquivo "masterkey" não encontrado
|
||||
unlock.chooseMasterkey.description=Não encontrei o arquivo "masterkey" para o cofre "%s". Por favor selecione manualmente o arquivo contendo a chave.
|
||||
unlock.chooseMasterkey.filePickerTitle=Selecionar arquivo "masterkey"
|
||||
unlock.chooseMasterkey.filePickerMimeDesc=Chave mestra do Cryptomator
|
||||
## Success
|
||||
unlock.success.message=Desbloqueado com sucesso
|
||||
unlock.success.description=O conteúdo no cofre "%s" agora está acessível no seu ponto de montagem.
|
||||
unlock.success.rememberChoice=Lembrar opção escolhida. Não perguntar novamente
|
||||
unlock.success.revealBtn=Revelar volume
|
||||
unlock.success.description="%s" desbloqueado com êxito! Seu cofre agora está acessível na unidade virtual.
|
||||
unlock.success.rememberChoice=Lembrar opção escolhida, não mostrar isto novamente
|
||||
unlock.success.revealBtn=Revelar Volume
|
||||
## Failure
|
||||
unlock.error.customPath.message=Não foi possível iniciar o cofre no caminho personalizado
|
||||
unlock.error.customPath.description.notSupported=Se você deseja continuar usando o caminho personalizado, acesse as preferências e selecione um tipo de volume que seja compatível. Caso contrário, vá para as opções do cofre e escolha um ponto de montagem suportado.
|
||||
unlock.error.customPath.description.notExists=O caminho de montagem personalizado não existe. Crie o caminho em seu sistema de arquivos local ou o altere nas opções do cofre.
|
||||
unlock.error.customPath.description.inUse=A letra de unidade ou o caminho de montagem "%s" já está em uso.
|
||||
unlock.error.customPath.description.hideawayNotDir=Não foi possível remover o arquivo oculto e temporário "%3$s". Verifique-o e depois apague ele manualmente.
|
||||
unlock.error.customPath.description.couldNotBeCleaned=Não foi possível montar seu cofre no caminho "%s". Tente novamente ou escolha um caminho diferente.
|
||||
unlock.error.customPath.description.notEmptyDir=O caminho de montagem personalizado escolhido "%s" não é uma pasta vazia. Escolha uma pasta vazia e tente novamente.
|
||||
unlock.error.customPath.description.notSupported=Se você deseja continuar usando o caminho personalizado, por favor vá para as preferências e selecione um tipo de volume que o suporte. Caso contrário, vá para as opções de cofre e escolha um ponto de montagem suportado.
|
||||
unlock.error.customPath.description.notExists=O caminho de montagem personalizado não existe. Crie o caminho em seu sistema de arquivos local, ou o altere nas opções de cofre.
|
||||
unlock.error.customPath.description.inUse=A letra da unidade ou o caminho de montagem "%s" já está em uso.
|
||||
unlock.error.customPath.description.hideawayNotDir=O arquivo oculto e temporário "%3$s" usado para desbloquear não pôde ser removido. Exclua-o manualmente.
|
||||
unlock.error.customPath.description.couldNotBeCleaned=Seu cofre não pôde ser montado no caminho "%s". Tente novamente ou escolha um caminho diferente.
|
||||
unlock.error.customPath.description.notEmptyDir=O caminho de montagem escolhido "%s" não é uma pasta vazia. Escolha uma pasta vazia e tente novamente.
|
||||
unlock.error.customPath.description.generic=Você selecionou um caminho de montagem personalizado para este cofre, mas falhou com a mensagem: %2$s
|
||||
unlock.error.restartRequired.message=Não foi possível desbloquear o cofre
|
||||
unlock.error.restartRequired.description=Altere o tipo de volume nas opções do cofre ou reinicie o Cryptomator.
|
||||
unlock.error.title=Falha ao desbloquear "%s"
|
||||
unlock.error.title=Desbloqueio "%s" falhou
|
||||
## Hub
|
||||
hub.noKeychain.message=Não foi possível acessar a chave do dispositivo
|
||||
hub.noKeychain.description=Para desbloquear os cofres do Hub, você precisa de uma chave do dispositivo que fica protegida usando um chaveiro. Para continuar, ative "%s" e escolha um chaveiro nas preferências.
|
||||
hub.noKeychain.openBtn=Abrir preferências
|
||||
hub.noKeychain.description=Para desbloquear os cofres centrais, é necessário a chave do dispositivo, protegida por um chaveiro. Para proceder, ative "%s" e selecione um chaveiro nas preferências.
|
||||
hub.noKeychain.openBtn=Abrir Preferências
|
||||
### Waiting
|
||||
hub.auth.message=Aguardando autenticação…
|
||||
hub.auth.message=Esperando pela autenticação…
|
||||
hub.auth.description=Você será redirecionado automaticamente para a página de login.
|
||||
hub.auth.loginLink=Não foi redirecionado? Clique aqui para abrir.
|
||||
### Receive Key
|
||||
hub.receive.message=Processando resposta…
|
||||
hub.receive.description=O Cryptomator está recebendo e processando a resposta do Hub. Aguarde.
|
||||
hub.receive.description=Cryptomator está recebendo e processando a resposta do Hub. Por favor, aguarde.
|
||||
### Register Device
|
||||
hub.register.message=Novo dispositivo
|
||||
hub.register.description=Este é o primeiro acesso do Hub neste dispositivo. Registre-o usando sua Chave de Conta.
|
||||
hub.register.message=Novo Dispositivo
|
||||
hub.register.description=Este é o primeiro acesso do Hub neste dispositivo. Por favor, registre-o usando sua Chave de Conta.
|
||||
hub.register.nameLabel=Nome do dispositivo
|
||||
hub.register.invalidAccountKeyLabel=Chave da conta inválida
|
||||
hub.register.invalidAccountKeyLabel=Chave de Conta inválida
|
||||
hub.register.registerBtn=Registrar
|
||||
### Register Device Legacy
|
||||
hub.register.legacy.occupiedMsg=Esse nome já está em uso
|
||||
hub.register.legacy.description=Este é o primeiro acesso do Hub neste dispositivo. Registre-o.
|
||||
hub.register.legacy.occupiedMsg=Este nome já está em uso
|
||||
hub.register.legacy.description=Este é o primeiro acesso do Hub neste dispositivo. Por favor, registre-o.
|
||||
### Registration Success
|
||||
hub.registerSuccess.message=Dispositivo registrado
|
||||
hub.registerSuccess.description=Seu dispositivo foi registrado com sucesso. Prossiga com o desbloqueio do cofre.
|
||||
hub.registerSuccess.description=Seu dispositivo foi registrado com sucesso. Agora você pode continuar a desbloquear o cofre.
|
||||
hub.registerSuccess.unlockBtn=Desbloquear
|
||||
hub.registerSuccess.legacy.description=Para acessar o cofre, seu dispositivo precisa ser autorizado pelo proprietário do cofre.
|
||||
### Registration Failed
|
||||
hub.registerFailed.message=Falha ao registrar o dispositivo
|
||||
hub.registerFailed.description.generic=Ocorreu um erro no processo de registro. Para mais detalhes, verifique o registro da aplicação.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Este dispositivo já está registrado para um usuário diferente. Tente alterar a conta de usuário ou use outro dispositivo.
|
||||
### Archived
|
||||
hub.archived.message=Cofre arquivado
|
||||
hub.archived.description=Este cofre foi arquivo e está inacessível. Contate o proprietário dele.
|
||||
hub.registerFailed.message=Falha ao registrar o Dispositivo
|
||||
hub.registerFailed.description.generic=Um erro ocorreu no processo de registro. Para mais detalhes, verifique o log da aplicação.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Este dispositivo já está registrado para um usuário diferente. Tente alterar a conta de usuário ou use um dispositivo diferente.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Acesso negado
|
||||
hub.unauthorized.description=Você não tem autorização para abrir este cofre. Entre em contato com o proprietário dele para solicitar acesso.
|
||||
hub.unauthorized.description=Você não está autorizado a abrir este cofre. Entre em contato com o proprietário do cofre para solicitar acesso.
|
||||
### Requires Account Initialization
|
||||
hub.requireAccountInit.message=Ação necessária
|
||||
hub.requireAccountInit.description.0=Para prosseguir, complete as etapas obrigatórias no seu
|
||||
hub.requireAccountInit.description.0=Para prosseguir, por favor, complete os passos necessários
|
||||
hub.requireAccountInit.description.1=Perfil de usuário do Hub
|
||||
hub.requireAccountInit.description.2=.
|
||||
### License Exceeded
|
||||
hub.invalidLicense.message=Licença Hub invalida
|
||||
hub.invalidLicense.description=Sua instância do Cryptomator Hub tem uma licença inválida. Informe a um administrador do Hub para atualizar ou renová-la.
|
||||
hub.invalidLicense.message=Licença Invalida
|
||||
hub.invalidLicense.description=Sua instância do Cryptomator Hub possui uma licença inválida. Por favor, informe um administrador do Hub para atualizar ou renovar a licença.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=Bloqueio falhou
|
||||
lock.forced.description=O fechamento do cofre "%s" foi impedido por arquivos abertos ou tarefas em andamento. Você pode forçar o fechamento, mas interromper a gravação de dados pode causar a perda de arquivos não salvos.
|
||||
lock.forced.retryBtn=Tentar novamente
|
||||
lock.forced.forceBtn=Forçar bloqueio
|
||||
lock.forced.description=Trancar "%s" foi bloqueado por operações pendentes ou arquivos abertos. Você pode forçar o bloqueio deste cofre, no entanto, a interrupção pode resultar em perda de dados não salvos.
|
||||
lock.forced.retryBtn=Tentar Novamente
|
||||
lock.forced.forceBtn=Forçar Bloqueio
|
||||
## Failure
|
||||
lock.fail.message=O bloqueio do cofre falhou.
|
||||
lock.fail.description=Não foi possível bloquear o cofre "%s". Certifique-se de que o trabalho não salvo foi armazenado em outro local e que as operações importantes de leitura/gravação foram concluídas. Para fechar o cofre, encerre o processo do Cryptomator.
|
||||
lock.fail.description=Cofre "%s" não pôde ser bloqueado. Certifique-se de que o trabalho não salvo está salvo em outro lugar e que operações de Leitura/Escrita importantes sejam concluídas. Para fechar o cofre, encerre o processo do Cryptomator.
|
||||
|
||||
# Migration
|
||||
migration.title=Atualizar cofre
|
||||
migration.title=Atualizar Cofre
|
||||
## Start
|
||||
migration.start.header=Atualizar cofre
|
||||
migration.start.text=Para abrir seu cofre "%s" nesta nova versão do Cryptomator, o cofre precisa ser atualizado para um formato mais recente. Antes de realizar esse procedimento, esteja ciente do seguinte:
|
||||
migration.start.remarkUndone=Esta melhoria não pode ser desfeita.
|
||||
migration.start.header=Atualizar Cofre
|
||||
migration.start.text=Para abrir o seu cofre "%s" nesta nova versão do Cryptomator, o cofre precisa ser atualizado para um formato mais recente. Antes de fazer isso, você deve saber o seguinte:
|
||||
migration.start.remarkUndone=Essa atualização não pode ser desfeita.
|
||||
migration.start.remarkVersions=Versões mais antigas do Cryptomator não conseguirão abrir o cofre na versão atualizada.
|
||||
migration.start.remarkCanRun=Garanta que todos os dispositivos que você usa para acessar o cofre consigam executar esta versão do Cryptomator.
|
||||
migration.start.remarkSynced=Antes de atualizá-lo, tenha certeza de que seu cofre está totalmente sincronizado neste e em outros dispositivos.
|
||||
migration.start.confirm=Li e estou ciente das informações acima
|
||||
migration.start.remarkCanRun=Você deve ter certeza de que todos os dispositivos a partir dos quais você acessar o cofre podem executar esta versão do Cryptomator.
|
||||
migration.start.remarkSynced=Você deve ter certeza de que o seu cofre está totalmente sincronizado neste dispositivo e em outros dispositivos, antes de atualizá-lo.
|
||||
migration.start.confirm=Eu li e entendi a informação acima
|
||||
## Run
|
||||
migration.run.enterPassword=Digite a senha para "%s"
|
||||
migration.run.startMigrationBtn=Migrar cofre
|
||||
migration.run.startMigrationBtn=Migrar Cofre
|
||||
migration.run.progressHint=Isso pode levar algum tempo…
|
||||
## Success
|
||||
migration.success.nextStepsInstructions="%s" migrado com sucesso.\nAgora você pode desbloquear este cofre.
|
||||
migration.success.unlockNow=Desbloquear agora
|
||||
migration.success.nextStepsInstructions="%s" migrado com sucesso.\nVocê agora pode desbloquear este cofre.
|
||||
migration.success.unlockNow=Desbloquear Agora
|
||||
## Missing file system capabilities
|
||||
migration.error.missingFileSystemCapabilities.title=Sistema de arquivos incompatível
|
||||
migration.error.missingFileSystemCapabilities.title=Sistema de arquivos não suportado
|
||||
migration.error.missingFileSystemCapabilities.description=A migração não foi iniciada porque o seu cofre está localizado em um sistema de arquivos inadequado.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=O sistema de arquivos não suporta arquivos com nomes longos.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=O sistema de arquivos não suporta arquivos com nome longo.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=O sistema de arquivos não suporta caminhos longos.
|
||||
migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=O sistema de arquivos não permite leitura.
|
||||
migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=O sistema de arquivos não permite ser gravado.
|
||||
## Impossible
|
||||
migration.impossible.heading=Não é possível migrar o cofre
|
||||
migration.impossible.reason=O cofre não pode ser migrado automaticamente porque sua localização de armazenamento ou o ponto de acesso é incompatível.
|
||||
migration.impossible.reason=O cofre não pode ser migrado automaticamente porque sua localização de armazenamento ou o ponto de acesso não é compatível.
|
||||
migration.impossible.moreInfo=O cofre ainda pode ser aberto com uma versão mais antiga. Para instruções sobre como migrar um cofre manualmente, visite
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
health.title=Verificação de saúde de "%s"
|
||||
health.title=Exame de saúde de "%s"
|
||||
health.intro.header=Verificação de Saúde
|
||||
health.intro.text=A verificação de saúde é um grupo de verificações que detectam e tentam corrigir problemas na estrutura interna do cofre. Lembre-se de:
|
||||
health.intro.remarkSync=Certifique-se de que todos os dispositivos estejam completamente sincronizados. Isso resolve a maioria dos problemas.
|
||||
health.intro.remarkFix=A maioria dos problema podem ser corrigidos.
|
||||
health.intro.remarkBackup=Caso os dados corrompam, apenas um backup poderá ajudar.
|
||||
health.intro.affirmation=Li e estou ciente das informações acima
|
||||
health.intro.text=A Verificação de Saúde é um grupo de verificações que detectam e tentam corrigir problemas na estrutura interna do cofre. Lembre-se de:
|
||||
health.intro.remarkSync=Certifique-se de que todos os dispositivos estejam completamente sincronizados, isso resolve a maioria dos problemas.
|
||||
health.intro.remarkFix=Nem todos os problemas podem ser corrigidos.
|
||||
health.intro.remarkBackup=Se os dados estiverem corrompidos, apenas um backup poderá ajudar.
|
||||
health.intro.affirmation=Eu li e entendi a informação acima
|
||||
## Start Failure
|
||||
health.fail.header=Erro ao carregar a configuração do cofre
|
||||
health.fail.header=Erro ao carregar configuração do Cofre
|
||||
health.fail.ioError=Ocorreu um erro ao acessar e ler o arquivo de configuração.
|
||||
health.fail.parseError=Ocorreu um erro ao analisar a configuração do cofre.
|
||||
health.fail.moreInfo=Mais informações
|
||||
## Check Selection
|
||||
health.checkList.description=Selecione as verificações na lista à esquerda ou use os botões abaixo.
|
||||
health.checkList.selectAllButton=Selecionar todas as verificações
|
||||
health.checkList.deselectAllButton=Desmarcar todas as verificações
|
||||
health.check.runBatchBtn=Executar verificações selecionadas
|
||||
health.checkList.description=Selecione as verificações na lista esquerda ou use os botões abaixo.
|
||||
health.checkList.selectAllButton=Selecionar Todas as Verificações
|
||||
health.checkList.deselectAllButton=Desfazer seleção de todas as planilhas
|
||||
health.check.runBatchBtn=Executar Verificações
|
||||
## Detail view
|
||||
health.check.detail.noSelectedCheck=Para ver os resultados, selecione uma verificação de saúde na lista à esquerda.
|
||||
health.check.detail.noSelectedCheck=Para ver os resultados, selecione uma verificação na lista à esquerda.
|
||||
health.check.detail.checkScheduled=A verificação está programada.
|
||||
health.check.detail.checkRunning=A verificação está em execução…
|
||||
health.check.detail.checkRunning=A verificação está rodando…
|
||||
health.check.detail.checkSkipped=A verificação não foi selecionada para execução.
|
||||
health.check.detail.checkFinished=A verificação terminou com sucesso.
|
||||
health.check.detail.checkFinishedAndFound=A verificação terminou. Verifique os resultados.
|
||||
health.check.detail.checkFailed=A verificação encerrou devido a um erro.
|
||||
health.check.detail.checkCancelled=A verificação foi cancelada.
|
||||
health.check.detail.listFilters.label=Filtro
|
||||
health.check.detail.filterSeverity=Filtrar por severidade
|
||||
health.check.detail.filterFixState=Filtrar por estado de correção
|
||||
health.check.detail.fixAllSpecificBtn=Corrigir todos deste tipo
|
||||
health.check.exportBtn=Exportar relatório
|
||||
health.check.detail.fixAllSpecificBtn=Reparar todos deste tipo
|
||||
health.check.exportBtn=Exportar Relatório
|
||||
## Result view
|
||||
health.result.severityFilter.all=Gravidade — Todas
|
||||
health.result.severityFilter.good=Boa
|
||||
health.result.severityFilter.info=Informação
|
||||
health.result.severityFilter.warn=Alerta
|
||||
health.result.severityFilter.crit=Crítica
|
||||
health.result.severityTip.good=Severidade: Boa\nEstrutura do cofre normal.
|
||||
health.result.severityTip.info=Gravidade: Informação\nEstrutura de cofre intacta. Recomenda-se correção.
|
||||
health.result.severityTip.warn=Gravidade: Alerta\nEstrutura de cofre corrompida. É altamente recomendado realizar a correção.
|
||||
health.result.severityTip.crit=Gravidade: Crítica\nEstrutura do cofre corrompida. Os dados poderão ser perdidos.
|
||||
health.result.fixStateFilter.all=Estado de reparo — Todos
|
||||
health.result.fixStateFilter.fixable=Corrigível
|
||||
health.result.fixStateFilter.notFixable=Incorrigível
|
||||
health.result.fixStateFilter.fixing=Corrigindo…
|
||||
health.result.fixStateFilter.fixed=Corrigido
|
||||
health.result.fixStateFilter.fixFailed=Correção falhou
|
||||
health.result.severityFilter.all=Gravidade - Todas
|
||||
health.result.severityFilter.good=Bom estado
|
||||
health.result.severityFilter.info=Info
|
||||
health.result.severityFilter.warn=Aviso
|
||||
health.result.severityFilter.crit=Crítico
|
||||
health.result.severityTip.good=Gravidade: Boa\nestrutura do cofre normal.
|
||||
health.result.severityTip.info=Gravidade: Info\nEstrutura de cofre intacta, correção sugerida.
|
||||
health.result.severityTip.warn=Gravidade: Aviso\nEstrutura de cofre corrompida, correção altamente aconselhada.
|
||||
health.result.severityTip.crit=Gravidade: Crítica\nEstrutura do cofre corrompida, haverá perda de dados.
|
||||
health.result.fixStateFilter.all=Estado de reparo - Todos
|
||||
health.result.fixStateFilter.fixable=Reparável
|
||||
health.result.fixStateFilter.notFixable=Não reparável
|
||||
health.result.fixStateFilter.fixing=Reparando…
|
||||
health.result.fixStateFilter.fixed=Reparado
|
||||
health.result.fixStateFilter.fixFailed=Reparo falhou
|
||||
## Fix Application
|
||||
health.fix.fixBtn=Corrigir
|
||||
health.fix.successTip=Corrigido
|
||||
health.fix.failTip=Falha na correção. Consulte o registro para obter detalhes
|
||||
health.fix.fixBtn=Reparar
|
||||
health.fix.successTip=Reparado
|
||||
health.fix.failTip=Falha na correção, consulte o log para obter detalhes
|
||||
|
||||
# Preferences
|
||||
preferences.title=Preferências
|
||||
@@ -300,87 +284,80 @@ preferences.title=Preferências
|
||||
preferences.general=Geral
|
||||
preferences.general.startHidden=Ocultar janela ao iniciar o Cryptomator
|
||||
preferences.general.autoCloseVaults=Bloquear cofres sem perguntar ao sair do aplicativo
|
||||
preferences.general.debugLogging=Ativar registro de depuração
|
||||
preferences.general.debugDirectory=Mostrar arquivos de registro
|
||||
preferences.general.autoStart=Iniciar o Cryptomator com o sistema
|
||||
preferences.general.debugLogging=Ativar log de debug
|
||||
preferences.general.debugDirectory=Mostrar arquivos de log
|
||||
preferences.general.autoStart=Iniciar o Cryptomator ao inicializar o sistema
|
||||
preferences.general.keychainBackend=Armazenar senhas com
|
||||
preferences.general.quickAccessService=Adicione cofres desbloqueados à área de acesso rápido
|
||||
## Interface
|
||||
preferences.interface=Interface
|
||||
preferences.interface.theme=Aparência
|
||||
preferences.interface.theme.automatic=Automática
|
||||
preferences.interface.theme.dark=Escura
|
||||
preferences.interface.theme.light=Clara
|
||||
preferences.interface.theme.automatic=Automático
|
||||
preferences.interface.theme.dark=Escuro
|
||||
preferences.interface.theme.light=Claro
|
||||
preferences.interface.unlockThemes=Desbloquear o modo escuro
|
||||
preferences.interface.language=Idioma (requer reinicialização)
|
||||
preferences.interface.language.auto=Padrão do sistema
|
||||
preferences.interface.language.auto=Padrão do Sistema
|
||||
preferences.interface.interfaceOrientation=Orientação da interface
|
||||
preferences.interface.interfaceOrientation.ltr=Da esquerda para a direita
|
||||
preferences.interface.interfaceOrientation.rtl=Da direita para a esquerda
|
||||
preferences.interface.showTrayIcon=Mostrar ícone na barra do sistema (requer reinicialização)
|
||||
preferences.interface.compactMode=Ativar lista de cofres compacta
|
||||
preferences.interface.compactMode=Habilitar lista de cofres compactos
|
||||
## Volume
|
||||
preferences.volume=Volume virtual
|
||||
preferences.volume=Volume Virtual
|
||||
preferences.volume.type=Tipo de volume padrão
|
||||
preferences.volume.type.automatic=Automático
|
||||
preferences.volume.docsTooltip=Acesse a documentação para saber mais sobre os diferentes tipos de volumes.
|
||||
preferences.volume.fuseRestartRequired=Para aplicar as alterações, o Cryptomator precisa ser reiniciado.
|
||||
preferences.volume.tcp.port=Porta TCP padrão
|
||||
preferences.volume.docsTooltip=Abra a documentação para saber mais sobre os diferentes tipos de volumes.
|
||||
preferences.volume.fuseRestartRequired=Para aplicar as mudanças, o Cryptomator precisa ser reiniciado.
|
||||
preferences.volume.tcp.port=Porta TCP Padrão
|
||||
preferences.volume.supportedFeatures=O tipo de volume escolhido suporta os seguintes recursos:
|
||||
preferences.volume.feature.mountAuto=Seleção automática de ponto de montagem
|
||||
preferences.volume.feature.mountToDir=Diretório personalizado como ponto de montagem
|
||||
preferences.volume.feature.mountToDriveLetter=Letra de unidade como ponto de montagem
|
||||
preferences.volume.feature.mountFlags=Opções personalizadas de montagem
|
||||
preferences.volume.feature.readOnly=Montagem de somente leitura
|
||||
preferences.volume.feature.mountToDriveLetter=Cartaz como ponto de montagem
|
||||
preferences.volume.feature.mountFlags=Opções customizadas
|
||||
preferences.volume.feature.readOnly=Montaria somente leitura
|
||||
## Updates
|
||||
preferences.updates=Atualizações
|
||||
preferences.updates.currentVersion=Versão atual: %s
|
||||
preferences.updates.autoUpdateCheck=Buscar atualizações automaticamente
|
||||
preferences.updates.checkNowBtn=Verificar agora
|
||||
preferences.updates.checkNowBtn=Buscar Agora
|
||||
preferences.updates.updateAvailable=Atualizar para versão %s disponível.
|
||||
preferences.updates.lastUpdateCheck=Última verificação: %s
|
||||
preferences.updates.lastUpdateCheck.never=nunca
|
||||
preferences.updates.lastUpdateCheck.recently=recentemente
|
||||
preferences.updates.lastUpdateCheck.daysAgo=Há %s dias
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=Há %s horas
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Por favor
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=bloqueie seus cofres
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=para instalar a atualização.
|
||||
preferences.updates.checkFailed=A busca por atualizações falhou. Verifique sua conexão à rede ou tente novamente mais tarde.
|
||||
preferences.updates.updateFailed=Falha na atualização. Instale-a manualmente.
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s dia atrás
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s horas atrás
|
||||
preferences.updates.checkFailed=Procura por atualizações falhou. Por favor, verifique sua conexão com a internet ou tente novamente mais tarde.
|
||||
preferences.updates.upToDate=O Cryptomator está atualizado.
|
||||
preferences.updates.visitDownloadPage=Visite a página de download
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Apoie-nos
|
||||
preferences.contribute=Nos Apoie
|
||||
preferences.contribute.registeredFor=Certificado de apoiador registrado para %s
|
||||
preferences.contribute.noCertificate=Apoie o Cryptomator e receba um certificado de apoiador. Ele é como uma chave de licença para pessoas maravilhosas que usam software livre. ;-)
|
||||
preferences.contribute.getCertificate=Ainda não tem um? Saiba como obtê-lo.
|
||||
preferences.contribute.getCertificate=Não tem um ainda? Saiba como obtê-lo.
|
||||
preferences.contribute.promptText=Cole o código do certificado de apoiador aqui
|
||||
preferences.contribute.thankYou=Obrigado por apoiar o desenvolvimento de código aberto do Cryptomator!
|
||||
preferences.contribute.thankYou=Obrigado por apoiar o desenvolvimento open-source do Cryptomator!
|
||||
preferences.contribute.donate=Doar
|
||||
preferences.contribute.sponsor=Apoiador
|
||||
preferences.contribute.removeCert.tooltip=Remover certificado
|
||||
preferences.contribute.sponsor=Patrocinador
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Remover certificado
|
||||
removeCert.message=Remover o certificado de apoiador?
|
||||
removeCert.title=Excluir Certificado
|
||||
removeCert.message=Excluir certificado de apoiador?
|
||||
removeCert.description=Os principais recursos do Cryptomador não são afetados por isso. Nem o acesso aos seus cofres é restrito, nem o nível de segurança é reduzido.
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
preferences.about=Sobre
|
||||
preferences.about.thirdPartyLicenses=Licenças de terceiros
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Estatísticas para %s
|
||||
stats.cacheHitRate=Taxa de uso do cache
|
||||
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.kibs=Leitura: %.2f MiB/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.kib=Dados lidos: %.1f GiB
|
||||
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: -
|
||||
@@ -409,41 +386,32 @@ stats.access.total=Acessos totais: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Cofres
|
||||
main.vaultlist.listEntry=Cofre %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Clique aqui para adicionar um cofre
|
||||
main.vaultlist.contextMenu.remove=Remover…
|
||||
main.vaultlist.contextMenu.lock=Bloquear
|
||||
main.vaultlist.contextMenu.unlock=Desbloquear…
|
||||
main.vaultlist.contextMenu.unlockNow=Desbloquear agora
|
||||
main.vaultlist.contextMenu.vaultoptions=Mostrar opções do cofre
|
||||
main.vaultlist.contextMenu.reveal=Revelar volume
|
||||
main.vaultlist.contextMenu.unlockNow=Desbloquear Agora
|
||||
main.vaultlist.contextMenu.vaultoptions=Exibir Opções de Cofre
|
||||
main.vaultlist.contextMenu.reveal=Revelar Volume
|
||||
main.vaultlist.contextMenu.share=Compartilhar…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Criar novo cofre…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Abrir cofre existente…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Recuperar cofre existente…
|
||||
main.vaultlist.addVaultButton.tooltip=Adicionar cofre
|
||||
main.vaultlist.showEventsButton.tooltip=Abrir visualização de eventos
|
||||
main.vaultlist.showPreferencesButton.tooltip=Mostrar preferências
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=Abrir visualização de evento
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Atualização disponível.
|
||||
main.notification.support=Apoie o Cryptomator.
|
||||
main.notification.closeButton.tooltip=Fechar barra de informações
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Obrigado por escolher o Cryptomator para proteger seus arquivos. Se precisar de ajuda, confira nossos guias de introdução:
|
||||
main.vaultDetail.storageLocation=Local de armazenamento do cofre
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=BLOQUEADO
|
||||
main.vaultDetail.unlockBtn=Desbloquear…
|
||||
main.vaultDetail.unlockNowBtn=Desbloquear agora
|
||||
main.vaultDetail.optionsBtn=Opções do cofre
|
||||
main.vaultDetail.unlockNowBtn=Desbloquear Agora
|
||||
main.vaultDetail.optionsBtn=Opções de Cofre
|
||||
main.vaultDetail.passwordSavedInKeychain=Senha salva
|
||||
main.vaultDetail.share=Compartilhar…
|
||||
### Unlocked
|
||||
main.vaultDetail.unlockedStatus=DESBLOQUEADO
|
||||
main.vaultDetail.accessLocation=O conteúdo do seu cofre está disponível aqui:
|
||||
main.vaultDetail.revealBtn=Revelar volume
|
||||
main.vaultDetail.revealBtn=Revelar Volume
|
||||
main.vaultDetail.copyUri=Copiar URI
|
||||
main.vaultDetail.lockBtn=Bloquear
|
||||
main.vaultDetail.bytesPerSecondRead=Leitura:
|
||||
@@ -451,166 +419,131 @@ main.vaultDetail.bytesPerSecondWritten=Gravação:
|
||||
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
|
||||
main.vaultDetail.stats=Estatísticas do Cofre
|
||||
main.vaultDetail.locateEncryptedFileBtn=Localizar Arquivo Criptografado
|
||||
main.vaultDetail.locateEncryptedFileBtn.tooltip=Escolha um arquivo do seu cofre para localizar sua versão criptografada
|
||||
main.vaultDetail.encryptedPathsCopied=Caminhos copiados para a área de transferência!
|
||||
main.vaultDetail.locateEncrypted.filePickerTitle=Selecionar arquivo no cofre
|
||||
main.vaultDetail.decryptName.buttonLabel=Descriptografar nome do arquivo
|
||||
main.vaultDetail.encryptedPathsCopied=Caminhos copiados para a Área de Transferência!
|
||||
main.vaultDetail.locateEncrypted.filePickerTitle=Selecionar Arquivo no Cofre
|
||||
main.vaultDetail.decryptName.buttonLabel=Descriptografar Nome do Arquivo
|
||||
main.vaultDetail.decryptName.tooltip=Escolha um arquivo criptografado do cofre para descriptografar seu nome
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=O Cryptomator não encontrou um cofre nesse caminho.
|
||||
main.vaultDetail.missing.info=O Cryptomator não encontrou um cofre neste caminho.
|
||||
main.vaultDetail.missing.recheck=Verificar novamente
|
||||
main.vaultDetail.missing.remove=Remover da lista de cofres…
|
||||
main.vaultDetail.missing.changeLocation=Alterar localização do cofre…
|
||||
main.vaultDetail.missing.changeLocation=Alterar Localização do Cofre…
|
||||
### Missing Vault Config
|
||||
main.vaultDetail.missingVaultConfig.info=A configuração do cofre está faltando.
|
||||
main.vaultDetail.missingVaultConfig.restore=Restaurar configuração do cofre
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=Atualizar cofre
|
||||
main.vaultDetail.migratePrompt=Seu cofre precisa ser atualizado para um novo formato antes de conseguir acessá-lo
|
||||
main.vaultDetail.migrateButton=Atualizar Cofre
|
||||
main.vaultDetail.migratePrompt=Seu cofre precisa ser atualizado para um novo formato antes de poder acessá-lo
|
||||
### Error
|
||||
main.vaultDetail.error.info=Ocorreu um erro ao carregar o cofre do disco.
|
||||
main.vaultDetail.error.reload=Recarregar
|
||||
main.vaultDetail.error.windowTitle=Erro ao carregar o cofre
|
||||
main.vaultDetail.error.windowTitle=Erro ao carregar cofre
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=Como criptografar os arquivos
|
||||
wrongFileAlert.message=Você tentou criptografar estes arquivos?
|
||||
wrongFileAlert.description=Para esta finalidade, o Cryptomator fornece um volume no seu gerenciador de arquivos do sistema.
|
||||
wrongFileAlert.instruction.0=Para criptografar os arquivos, siga as etapas abaixo:
|
||||
wrongFileAlert.instruction.1=1. Desbloqueie o seu cofre;
|
||||
wrongFileAlert.title=Como Encriptar Arquivos
|
||||
wrongFileAlert.message=Você tentou encriptar esses arquivos?
|
||||
wrongFileAlert.description=Para este propósito, o Cryptomator fornece um volume no seu gerenciador de arquivos do sistema.
|
||||
wrongFileAlert.instruction.0=Para encriptar arquivos, siga estes passos:
|
||||
wrongFileAlert.instruction.1=1. Desbloqueie o seu cofre.
|
||||
wrongFileAlert.instruction.2=2. Clique em "Revelar" para abrir o volume no seu gerenciador de arquivos.
|
||||
wrongFileAlert.instruction.3=3. Adicione seus arquivos a esse volume;
|
||||
wrongFileAlert.instruction.3=3. Adicione seus arquivos a este volume.
|
||||
wrongFileAlert.link=Para obter assistência, visite
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
vaultOptions.general=Geral
|
||||
vaultOptions.general.vaultName=Nome do cofre
|
||||
vaultOptions.general.vaultName=Nome do Cofre
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Bloquear quando inativo por
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minuto(s)
|
||||
vaultOptions.general.autoLock.accessibleText=Bloquear tempo limite em minutos
|
||||
vaultOptions.general.unlockAfterStartup=Desbloquear o cofre ao iniciar o Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Após desbloquear
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minutos
|
||||
vaultOptions.general.unlockAfterStartup=Desbloqueie o cofre ao iniciar o Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Após desbloquear com sucesso
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Não fazer nada
|
||||
vaultOptions.general.actionAfterUnlock.reveal=Revelar volume
|
||||
vaultOptions.general.actionAfterUnlock.reveal=Revelar Volume
|
||||
vaultOptions.general.actionAfterUnlock.ask=Perguntar
|
||||
vaultOptions.general.startHealthCheckBtn=Iniciar verificação de saúde
|
||||
vaultOptions.general.startHealthCheckBtn=Iniciar Exame de Saúde
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Montagem
|
||||
vaultOptions.mount.info=Abra preferências do volume virtual para alterar as configurações padrões.
|
||||
vaultOptions.mount.readonly=Somente leitura
|
||||
vaultOptions.mount.customMountFlags=Flags personalizadas de montagem
|
||||
vaultOptions.mount.info=Abra preferências de drive virtual para alterar as configurações padrão.
|
||||
vaultOptions.mount.readonly=Somente Leitura
|
||||
vaultOptions.mount.customMountFlags=Flags Personalizadas de Montagem
|
||||
vaultOptions.mount.winDriveLetterOccupied=ocupado
|
||||
vaultOptions.mount.mountPoint=Ponto de montagem
|
||||
vaultOptions.mount.mountPoint=Ponto de Montagem
|
||||
vaultOptions.mount.mountPoint.auto=Escolher automaticamente um local adequado
|
||||
vaultOptions.mount.mountPoint.driveLetter=Usar letra de unidade atribuída
|
||||
vaultOptions.mount.mountPoint.custom=Usar diretório escolhido
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Escolher…
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Escolha um diretório
|
||||
vaultOptions.mount.volumeType.default=Padrão (%s)
|
||||
vaultOptions.mount.volumeType.restartRequired=Para usar este tipo de volume, o Cryptomator precisa ser reiniciado.
|
||||
vaultOptions.mount.volumeType.restartRequired=Para usar esse tipo de volume, o Cryptomator precisa ser reiniciado.
|
||||
vaultOptions.mount.volume.tcp.port=Porta TCP
|
||||
vaultOptions.mount.volume.type=Tipo de volume
|
||||
vaultOptions.mount.volume.type=Tipo de Volume
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Senha
|
||||
vaultOptions.masterkey.changePasswordBtn=Alterar senha
|
||||
vaultOptions.masterkey.changePasswordBtn=Alterar Senha
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=Esquecer a senha salva
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Caso perca a sua senha, a única forma de restaurar acesso a um cofre é através de uma chave de recuperação.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Mostrar chave de recuperação
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Redefinir senha
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Essas opções ficarão disponíveis se o arquivo masterkey estiver na pasta do cofre.
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Se você perder a sua senha, a única forma de restaurar acesso a um cofre é através de uma chave de recuperação.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Exibir chave de recuperação
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Redefinir Senha
|
||||
## Hub
|
||||
vaultOptions.hub=Recuperação
|
||||
vaultOptions.hub.convertInfo=Você pode usar a chave de recuperação para converter este cofre do Hub em um cofre protegido por senha de emergência.
|
||||
vaultOptions.hub.convertBtn=Converter para cofre protegido por senha
|
||||
vaultOptions.hub.convertBtn=Converter para Cofre protegido por senha
|
||||
|
||||
# Recovery Key
|
||||
## Display Recovery Key
|
||||
recoveryKey.display.title=Mostrar Chave de Recuperação
|
||||
recoveryKey.create.message=Requer senha
|
||||
recoveryKey.create.description=Digite a senha para mostrar a chave de recuperação de "%s":
|
||||
recoveryKey.recover.description=Digite a senha para "%s" para recuperar a configuração do cofre.
|
||||
recoveryKey.create.message=Senha obrigatória
|
||||
recoveryKey.create.description=Digite sua senha para mostrar a chave de recuperação de "%s":
|
||||
recoveryKey.display.description=A seguinte chave de recuperação pode ser usada para restaurar o acesso a "%s":
|
||||
recoveryKey.display.StorageHints=Mantenha-a em um lugar bem seguro. Por exemplo:\n • Guarde em um gerenciador de senhas;\n • Grave em um pen drive;\n • Imprima ou escreva em um papel.
|
||||
recoveryKey.display.StorageHints=Mantenha-a em um lugar bem seguro, por exemplo:\n • Guarde num gerenciador de senhas\n • Grave num flash drive USB\n • Imprima, ou escreva, num papel
|
||||
## Reset Password
|
||||
### Enter Recovery Key
|
||||
recoveryKey.recover.title=Redefinir senha
|
||||
recoveryKey.recover.title=Redefinir Senha
|
||||
recoveryKey.recover.prompt=Digite a chave de recuperação para "%s":
|
||||
recoveryKey.recover.correctKey=Essa é uma chave de recuperação válida
|
||||
recoveryKey.recover.wrongKey=Essa chave de recuperação pertence a um outro cofre
|
||||
recoveryKey.recover.invalidKey=Essa chave de recuperação é inválida
|
||||
recoveryKey.printout.heading=Chave de Recuperação do Cryptomator\n"%s"
|
||||
recoveryKey.recover.correctKey=Esta é uma chave de recuperação válida
|
||||
recoveryKey.recover.wrongKey=Esta chave de recuperação pertence a um outro cofre
|
||||
recoveryKey.recover.invalidKey=Esta chave de recuperação não é válida
|
||||
recoveryKey.printout.heading=Chave de Recuperação do Cryptomator\n"%s"\n
|
||||
### Reset Password
|
||||
recoveryKey.recover.resetBtn=Redefinir
|
||||
recoveryKey.recover.recoverBtn=Recuperar
|
||||
### Recovery Key Password Reset Success
|
||||
recoveryKey.recover.resetSuccess.message=Senha redefinida com sucesso
|
||||
recoveryKey.recover.resetSuccess.description=Você pode desbloquear o seu cofre com a nova senha.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Configuração do cofre recuperada
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Arquivo Masterkey recuperado
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Agora você pode desbloquear o seu cofre com a sua nova senha.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
##Add Existing Vault without recovery - Dialog
|
||||
recover.existing.title=Cofre adicionado
|
||||
recover.existing.message=O cofre foi adicionado com sucesso
|
||||
recover.existing.description=O seu cofre "%s" foi adicionado à lista de cofre. Nenhum processo de recuperação foi necessário.
|
||||
|
||||
##Vault Already Exists - Dialog
|
||||
recover.alreadyExists.title=O cofre já existe
|
||||
recover.alreadyExists.message=Este cofre já foi adicionado
|
||||
recover.alreadyExists.description=Seu cofre "%s" não foi adicionado novamente porque já está na sua lista de cofres.
|
||||
|
||||
##Invalid Selection - Dialog
|
||||
recover.invalidSelection.title=Seleção inválida
|
||||
recover.invalidSelection.message=Sua seleção não é um cofre
|
||||
recover.invalidSelection.description=A pasta selecionada precisa ser um cofre válido do Cryptomator.
|
||||
|
||||
## Contact Hub Vault Owner - Dialog
|
||||
contactHubVaultOwner.title=Cofre do Hub
|
||||
contactHubVaultOwner.message=Este cofre foi criado com o Cryptomator Hub
|
||||
contactHubVaultOwner.description=Entre em contato com o proprietário do cofre para restaurar o arquivo restante. Eles podem baixar o modelo de cofre no Cryptomator Hub.
|
||||
|
||||
##Dialog Title
|
||||
recover.recoverVaultConfig.title=Recuperar a configuração do cofre
|
||||
recover.recoverMasterkey.title=Recuperar Masterkey
|
||||
|
||||
## OnBoarding
|
||||
recover.onBoarding.chooseMethod=Escolha o método de recuperação:
|
||||
recover.onBoarding.useRecoveryKey=Usar chave de recuperação
|
||||
recover.onBoarding.usePassword=Usar senha
|
||||
recover.onBoarding.intro=Certifique-se de verificar o seguinte:
|
||||
recover.onBoarding.pleaseConfirm=Antes de prosseguir, confirme que:
|
||||
recover.onBoarding.otherwisePleaseConfirm=Caso contrário, confirme que:
|
||||
recover.onBoarding.allMissing.intro=Se este cofre for gerenciado pelo Cryptomator Hub, o proprietário do cofre deve restaurá-lo para você.
|
||||
recover.onBoarding.intro.ensure=Todos os arquivos estão sincronizados.
|
||||
recover.onBoarding.affirmation=Li e estou ciente dos requisitos
|
||||
|
||||
###Vault Config Missing
|
||||
recover.onBoarding.intro.recoveryKey=Você tem a chave de recuperação e sabe se as configurações avançadas foram usadas.
|
||||
recover.onBoarding.intro.password=Você tem a senha do cofre e sabe se as configurações avançadas foram usadas.
|
||||
###Masterkey Missing
|
||||
recover.onBoarding.intro.masterkey.recoveryKey=Você tem a chave de recuperação do cofre.
|
||||
|
||||
## Expert Settings
|
||||
recover.expertSettings.shorteningThreshold.title=Este valor deve corresponder ao usado antes da recuperação para garantir a compatibilidade com os dados criptografados anteriormente.
|
||||
|
||||
# Convert Vault
|
||||
convertVault.title=Converter cofre
|
||||
convertVault.title=Converter Cofre
|
||||
convertVault.convert.convertBtn.before=Converter
|
||||
convertVault.convert.convertBtn.processing=Convertendo...
|
||||
convertVault.success.message=Conversão concluída
|
||||
convertVault.hubToPassword.success.description=Agora você pode desbloquear o cofre com a senha escolhida sem solicitar acesso ao Hub.
|
||||
convertVault.success.message=Conversão bem sucedida
|
||||
convertVault.hubToPassword.success.description=Agora você pode desbloquear o cofre com a senha escolhida sem exigir acesso ao Hub.
|
||||
|
||||
# New Password
|
||||
newPassword.promptText=Digite a nova senha
|
||||
newPassword.reenterPassword=Confirme a nova senha
|
||||
newPassword.passwordsMatch=As senhas são iguais!
|
||||
newPassword.passwordsDoNotMatch=As senhas são diferentes
|
||||
newPassword.passwordsMatch=As senhas são idênticas!
|
||||
newPassword.passwordsDoNotMatch=As senhas não coincidem
|
||||
passwordStrength.messageLabel.tooShort=Use pelo menos %d caracteres
|
||||
passwordStrength.messageLabel.0=Muito fraca
|
||||
passwordStrength.messageLabel.1=Fraca
|
||||
@@ -620,100 +553,90 @@ passwordStrength.messageLabel.4=Muito forte
|
||||
|
||||
# Quit
|
||||
quit.title=Sair da aplicação
|
||||
quit.message=Há cofres desbloqueados
|
||||
quit.description=Confirme que deseja sair. O Cryptomador bloqueará cuidadosamente todos os cofres abertos para evitar a perda de dados.
|
||||
quit.lockAndQuitBtn=Bloquear e sair
|
||||
quit.message=Existem cofres desbloqueados
|
||||
quit.description=Por favor, confirme que você deseja sair. O Cryptomador irá bloquear cuidadosamente todos os cofres abertos para evitar a perda de dados.
|
||||
quit.lockAndQuitBtn=Bloquear e Sair
|
||||
|
||||
# Forced Quit
|
||||
quit.forced.message=Alguns cofres não foram trancados
|
||||
quit.forced.description=O bloqueio dos cofres foi impedido por operações pendentes ou arquivos abertos. Você pode forçar o bloqueio dos cofres restantes, mas essa interrupção de gravação de dados pode resultar na perda de arquivos não salvos nos cofres.
|
||||
quit.forced.forceAndQuitBtn=Forçar e sair
|
||||
quit.forced.message=Alguns cofres não puderam ser trancados
|
||||
quit.forced.description=O bloqueio dos cofres foi impedido por operações pendentes ou arquivos abertos. Você pode forçar o bloqueio dos cofres restantes, no entanto, essa interrupção de E/S pode resultar na perda de dados não salvos nos cofres — “seus dados”.
|
||||
quit.forced.forceAndQuitBtn=Forçar e Sair
|
||||
|
||||
# Update Reminder
|
||||
updateReminder.title=Verificação de atualizações
|
||||
updateReminder.message=Verificar atualizações?
|
||||
updateReminder.description=Mantenha-se atualizado com novos recursos, correções de bugs e melhorias de segurança. Recomendamos verificar as atualizações automaticamente.
|
||||
updateReminder.notNow=Agora não
|
||||
updateReminder.yesOnce=Sim, uma vez
|
||||
updateReminder.yesAutomatically=Sim, automaticamente
|
||||
updateReminder.title=Verificação de Atualizações
|
||||
updateReminder.message=Verificar Atualizações?
|
||||
updateReminder.description=Mantenha-se atualizado com novos recursos, correções de bugs e melhoramentos de segurança. Recomendamos verificar atualizações automaticamente.
|
||||
updateReminder.notNow=Agora Não
|
||||
updateReminder.yesOnce=Sim, Uma Vez
|
||||
updateReminder.yesAutomatically=Sim, Automaticamente
|
||||
|
||||
#Dokany Support End
|
||||
dokanySupportEnd.title=Aviso de descontinuação
|
||||
dokanySupportEnd.message=Fim do suporte para o Dokany
|
||||
dokanySupportEnd.description=O volume do tipo Dokany não é mais compatível com o Cryptomator. Suas configurações serão ajustadas para usar o tipo de volume padrão. Veja o tipo padrão nas preferências.
|
||||
dokanySupportEnd.preferencesBtn=Abrir preferências
|
||||
dokanySupportEnd.description=O volume do tipo Dokany não é mais suportado pelo Cryptomator. Suas configurações serão ajustadas para usar o tipo de volume padrão agora. Você pode ver o tipo padrão nas preferências.
|
||||
dokanySupportEnd.preferencesBtn=Abrir Preferências
|
||||
|
||||
#Retry If Readonly
|
||||
retryIfReadonly.title=Acesso restrito ao cofre
|
||||
retryIfReadonly.title=Acesso Restrito ao Cofre
|
||||
retryIfReadonly.message=Sem acesso de gravação ao diretório do cofre
|
||||
retryIfReadonly.description=O Cryptomator não pode gravar no diretório do cofre. Você pode alterar o cofre para somente leitura e tentar novamente. Esta opção pode ser desativada nas opções do cofre.
|
||||
retryIfReadonly.retry=Alterar e repetir
|
||||
retryIfReadonly.description=O Cryptomator não pode escrever no diretório do cofre. Você pode alterar o cofre para somente leitura e tentar novamente. Esta opção pode ser desativada nas opções de cofre.
|
||||
retryIfReadonly.retry=Alterar e Repetir
|
||||
|
||||
# Share Vault
|
||||
shareVault.title=Compartilhar cofre
|
||||
shareVault.title=Compartilhar Cofre
|
||||
shareVault.message=Gostaria de compartilhar o seu cofre com outras pessoas?
|
||||
shareVault.description=Sempre tenha cuidado ao compartilhar seu cofre com terceiros. Em resumo, siga esses passos:
|
||||
shareVault.instruction.1=1. Compartilhe o acesso da pasta do cofre criptografado via armazenamento em nuvem.
|
||||
shareVault.description=Sempre tenha cuidado ao compartilhar seu cofre com outras pessoas. Em resumo, siga esses passos:
|
||||
shareVault.instruction.1=1. Compartilhe o acesso da pasta do cofre criptografado via armazenamento na nuvem.
|
||||
shareVault.instruction.2=2. Compartilhe a senha do cofre de forma segura.
|
||||
shareVault.remarkBestPractices=Para mais informações, confira as sugestões de boas práticas em nossas documentações.
|
||||
shareVault.docsTooltip=Abra a documentação para aprender mais sobre o compartilhamento de cofres.
|
||||
shareVault.remarkBestPractices=Para mais informações, confira as sugestões de melhores práticas em nossos documentos.
|
||||
shareVault.docsTooltip=Abra a documentação para aprender mais sobre compartilhamento de cofres.
|
||||
shareVault.hubAd.description=A maneira segura de trabalhar em equipes
|
||||
shareVault.hubAd.keyManagement=• Gerenciamento de chaves de conhecimento zero
|
||||
shareVault.hubAd.keyManagement=• Gerenciamento de chaves de Zero-Conhecimento
|
||||
shareVault.hubAd.authentication=• Autenticação forte
|
||||
shareVault.hubAd.encryption=• Criptografia de ponta-a-ponta
|
||||
shareVault.visitHub=Visite o Cryptomator Hub
|
||||
|
||||
shareVault.hub.message=Como compartilhar um cofre do Hub
|
||||
shareVault.hub.description=Para compartilhar o conteúdo do cofre com outro membro da equipe, você deve realizar duas etapas:
|
||||
shareVault.hub.instruction.1=1. Compartilhe o acesso da pasta do cofre criptografado via armazenamento em nuvem.
|
||||
shareVault.hub.description=Para compartilhar o conteúdo do cofre com outro membro da equipe, você precisa executar duas etapas:
|
||||
shareVault.hub.instruction.1=1. Compartilhe o acesso da pasta do cofre criptografado via armazenamento na nuvem.
|
||||
shareVault.hub.instruction.2=2. Conceda acesso ao membro da equipe no Cryptomator Hub.
|
||||
shareVault.hub.openHub=Abrir o Cryptomator Hub
|
||||
|
||||
# Decrypt File Names
|
||||
decryptNames.title=Descriptografar nomes de arquivos
|
||||
decryptNames.title=Descriptografar Nomes de Arquivos
|
||||
decryptNames.filePicker.title=Selecione o arquivo criptografado
|
||||
decryptNames.filePicker.extensionDescription=Arquivo criptografado do Cryptomator
|
||||
decryptNames.copyTable.tooltip=Copiar tabela
|
||||
decryptNames.clearTable.tooltip=Limpar tabela
|
||||
decryptNames.column.encrypted=Criptografado
|
||||
decryptNames.column.decrypted=Descriptografado
|
||||
decryptNames.copyHint=Copiar conteúdo da célula com %s
|
||||
decryptNames.dropZone.message=Arraste e solte os arquivos ou clique para selecionar
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Arquivos internos do cofre sem nome descriptografável selecionados
|
||||
decryptNames.dropZone.error.foreignFiles=Os arquivos não pertencem ao cofre "%s"
|
||||
decryptNames.dropZone.error.noDirIdBackup=O diretório dos arquivos selecionados não contém o arquivo dirId.c9r
|
||||
decryptNames.dropZone.error.generic=Falha ao descriptografar os nomes de arquivos
|
||||
decryptNames.dropZone.message=Arraste e solte arquivos ou clique para selecionar
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Selecionados arquivos internos do cofre sem nome descriptografável
|
||||
decryptNames.dropZone.error.foreignFiles=Arquivos não pertencem ao cofre "%s"
|
||||
decryptNames.dropZone.error.noDirIdBackup=Diretório dos arquivos selecionados não contém o arquivo dirId.c9r
|
||||
decryptNames.dropZone.error.generic=Falha ao descriptografar nomes de arquivos
|
||||
|
||||
|
||||
# Event View
|
||||
eventView.title=Eventos
|
||||
eventView.filter.allVaults=Todos
|
||||
eventView.clearListButton.tooltip=Limpar lista
|
||||
eventView.filterVaults=Filtrar por cofre
|
||||
eventView.cell.actionsButton.tooltip=Ações de evento
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Desbloquear "%s" para mais detalhes
|
||||
eventView.entry.vaultLocked.description=Desbloquear "%s" para detalhes
|
||||
eventView.entry.conflictResolved.message=Conflito resolvido
|
||||
eventView.entry.conflictResolved.showDecrypted=Mostrar arquivo descriptografado
|
||||
eventView.entry.conflict.message=Falha na resolução de conflitos
|
||||
eventView.entry.conflictResolved.copyDecrypted=Copiar caminho descriptografado
|
||||
eventView.entry.conflict.message=Resolução de conflitos falhou
|
||||
eventView.entry.conflict.showDecrypted=Mostrar arquivo original descriptografado
|
||||
eventView.entry.conflict.copyDecrypted=Copiar caminho original descriptografado
|
||||
eventView.entry.conflict.showEncrypted=Mostrar arquivo criptografado conflitante
|
||||
eventView.entry.decryptionFailed.message=Falha ao descriptografar
|
||||
eventView.entry.conflict.copyEncrypted=Copiar caminho criptografado conflitante
|
||||
eventView.entry.decryptionFailed.message=Decriptação falhou
|
||||
eventView.entry.decryptionFailed.showEncrypted=Mostrar arquivo criptografado
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Copiar caminho encriptado
|
||||
eventView.entry.brokenDirFile.message=Link do diretório quebrado
|
||||
eventView.entry.brokenDirFile.showEncrypted=Mostrar link quebrado e criptografado
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Copiar caminho do link quebrado
|
||||
eventView.entry.brokenFileNode.message=Nó de sistema de arquivos danificado
|
||||
eventView.entry.brokenFileNode.showEncrypted=Mostrar nó criptografado com falha
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Copiar caminho do nó quebrado criptografado
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Copiar caminho descriptografado
|
||||
eventView.entry.inUse.message=Arquivo em uso
|
||||
eventView.entry.inUse.showDecrypted=Mostrar arquivo descriptografado
|
||||
eventView.entry.inUse.showEncrypted=Mostrar arquivo criptografado
|
||||
eventView.entry.inUse.copyUserAndDevice=Copiar usuário de bloqueio e nome do dispositivo
|
||||
eventView.entry.inUse.ignoreLock=Ignorar status de uso
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=O arquivo está sendo usado em outro dispositivo
|
||||
notification.inUse.description=O arquivo é aberto por %s em %s. Solicite a eles para fechá-lo e deixar a sincronização finalizar. Você pode ignorar o status para abri-lo agora, mas isso pode causar conflitos ou substituir novas alterações.
|
||||
notification.inUse.action=Ignorar status de uso
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Închide
|
||||
generic.button.copy=Copiază
|
||||
generic.button.copied=Copiat!
|
||||
generic.button.done=Terminat
|
||||
generic.button.previous=Precedentul
|
||||
generic.button.next=Următorul
|
||||
generic.button.print=Tipărește
|
||||
generic.button.remove=Șterge
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Eroare
|
||||
|
||||
# Error
|
||||
error.message=A apărut o eroare
|
||||
error.description=Cryptomator nu se aștepta să se întâmple asta. Puteți căuta soluții existente pentru această eroare. În cazul in care nu s-a raportat încă, nu ezitați să faceți acest lucru.
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=Pentru a accesa seiful dispozitivului tre
|
||||
hub.registerFailed.message=Înregistrarea dispozitivului a eșuat
|
||||
hub.registerFailed.description.generic=.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Acest dispozitiv este deja înregistrat pentru un alt utilizator. Încercați să schimbați contul de utilizator sau folosiți un alt dispozitiv.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Acces respins
|
||||
### Requires Account Initialization
|
||||
@@ -387,7 +382,6 @@ stats.access.total=Accesuri totale: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Seifuri
|
||||
main.vaultlist.emptyList.onboardingInstruction=Faceți clic aici pentru a adăuga un seif
|
||||
main.vaultlist.contextMenu.remove=Elimină…
|
||||
main.vaultlist.contextMenu.lock=Blocaţi
|
||||
@@ -396,8 +390,7 @@ main.vaultlist.contextMenu.unlockNow=Deblochează acum
|
||||
main.vaultlist.contextMenu.vaultoptions=Arată opțiunile seifului
|
||||
main.vaultlist.contextMenu.reveal=Dezvăluie unitatea
|
||||
main.vaultlist.contextMenu.share=Distribuie…
|
||||
main.vaultlist.addVaultButton.tooltip=Adaugă un seif
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=O nouă versiune este valabilă.
|
||||
main.notification.support=Susține Cryptomator.
|
||||
## Vault Detail
|
||||
@@ -601,7 +594,3 @@ shareVault.hub.openHub=Deschide Cryptomator Hub
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Закрыть
|
||||
generic.button.copy=Скопировать
|
||||
generic.button.copied=Скопировано!
|
||||
generic.button.done=Готово
|
||||
generic.button.previous=Назад
|
||||
generic.button.next=Далее
|
||||
generic.button.print=Печать
|
||||
generic.button.remove=Удалить
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Заблокировано
|
||||
vault.state.unlocked=Разблокировано
|
||||
vault.state.missing=Отсутствует
|
||||
vault.state.migrationNeeded=Требуется миграция
|
||||
vault.state.processing=Обработка
|
||||
vault.state.error=Ошибка
|
||||
|
||||
# Error
|
||||
error.message=Произошла ошибка
|
||||
error.description=Произошла непредвиденная ситуация. Попробуйте найти уже имеющиеся решения этой ошибки. Если об этой ошибке ещё не сообщали, то сделайте это сами.
|
||||
@@ -186,9 +177,6 @@ hub.registerSuccess.legacy.description=Для доступа к хранилищ
|
||||
hub.registerFailed.message=Ошибка регистрации устройства
|
||||
hub.registerFailed.description.generic=Ошибка регистрации. Подробную информацию см. в журнале приложения.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Это устройство уже зарегистрировано другим пользователем. Попробуйте изменить учётную запись или используйте другое устройство.
|
||||
### Archived
|
||||
hub.archived.message=Хранилище заархивировано
|
||||
hub.archived.description=Это хранилище было заархивировано и больше недоступно. Свяжитесь с владельцем хранилища.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Нет доступа
|
||||
hub.unauthorized.description=Вы не авторизованы для открытия этого хранилища. Свяжитесь с владельцем хранилища, чтобы запросить доступ.
|
||||
@@ -269,8 +257,6 @@ health.check.detail.checkFinishedAndFound=Проверка завершена.
|
||||
health.check.detail.checkFailed=Проверка прервана из-за ошибки.
|
||||
health.check.detail.checkCancelled=Проверка была отменена.
|
||||
health.check.detail.listFilters.label=Фильтр
|
||||
health.check.detail.filterSeverity=Фильтр по строгости
|
||||
health.check.detail.filterFixState=Фильтр по фикс. состоянию
|
||||
health.check.detail.fixAllSpecificBtn=Исправить все
|
||||
health.check.exportBtn=Экспорт отчёта
|
||||
## Result view
|
||||
@@ -343,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=никогда
|
||||
preferences.updates.lastUpdateCheck.recently=недавно
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s дн. назад
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s ч назад
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=*
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=Заблокируйте хранилища
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=для установки обновления.
|
||||
preferences.updates.checkFailed=Ошибка поиска обновлений. Проверьте подключение к Интернету и повторите попытку.
|
||||
preferences.updates.updateFailed=Обновление не выполнено. Установите обновление вручную.
|
||||
preferences.updates.upToDate=У вас новейшая версия Cryptomator.
|
||||
preferences.updates.visitDownloadPage=Открыть страницу загрузки
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Поддержите нас
|
||||
@@ -360,7 +341,6 @@ preferences.contribute.promptText=Вставьте сюда код сертиф
|
||||
preferences.contribute.thankYou=Благодарим вас за поддержку разработки Cryptomator с открытым исходным кодом!
|
||||
preferences.contribute.donate=Пожертвование
|
||||
preferences.contribute.sponsor=Спонсировать
|
||||
preferences.contribute.removeCert.tooltip=Удалить сертификат
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Удалить сертификат
|
||||
@@ -370,7 +350,6 @@ removeCert.description=Ключевые функции криптоматора
|
||||
|
||||
## About
|
||||
preferences.about=О программе
|
||||
preferences.about.thirdPartyLicenses=Сторонние лицензии
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Статистика: %s
|
||||
@@ -409,8 +388,6 @@ stats.access.total=Всего доступов: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Хранилища
|
||||
main.vaultlist.listEntry=Хранилище %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Нажмите здесь, чтобы добавить хранилище
|
||||
main.vaultlist.contextMenu.remove=Удалить…
|
||||
main.vaultlist.contextMenu.lock=Заблокировать
|
||||
@@ -422,17 +399,13 @@ main.vaultlist.contextMenu.share=Поделиться…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Создать хранилище…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Открыть имеющееся хранилище…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Восстановить имеющееся хранилище…
|
||||
main.vaultlist.addVaultButton.tooltip=Добавить хранилище
|
||||
main.vaultlist.showEventsButton.tooltip=Открыть просмотр событий
|
||||
main.vaultlist.showPreferencesButton.tooltip=Показать параметры
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=Открыть просмотр события
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Есть обновление.
|
||||
main.notification.support=Поддержите Cryptomator.
|
||||
main.notification.closeButton.tooltip=Закрыть инфопанель
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Благодарим за выбор Cryptomator для защиты ваших файлов. Если требуется помощь, ознакомьтесь с документацией по началу работы:
|
||||
main.vaultDetail.storageLocation=Расположение хранилища
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=ЗАБЛОКИРОВАНО
|
||||
main.vaultDetail.unlockBtn=Разблокировать…
|
||||
@@ -490,7 +463,6 @@ vaultOptions.general=Общие
|
||||
vaultOptions.general.vaultName=Имя хранилища
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Блокировать при бездействии
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=мин
|
||||
vaultOptions.general.autoLock.accessibleText=Тайм-аут блокировки в минутах
|
||||
vaultOptions.general.unlockAfterStartup=Разблокировать хранилище при запуске Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=После успешной разблокировки
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Ничего не делать
|
||||
@@ -521,7 +493,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Забыть сохранённы
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=При утере пароля вернуть доступ к хранилищу можно только с помощью ключа восстановления.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Показать ключ восстановления
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Сброс пароля
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Эти параметры доступны, только если в каталоге хранилища есть файл masterkey.
|
||||
## Hub
|
||||
vaultOptions.hub=Восстановление
|
||||
vaultOptions.hub.convertInfo=Ключ восстановления используется для преобразования этого хаб-хранилища в хранилище с паролем в чрезвычайных ситуациях.
|
||||
@@ -550,8 +521,6 @@ recoveryKey.recover.recoverBtn=Восстановить
|
||||
recoveryKey.recover.resetSuccess.message=Пароль успешно сброшен
|
||||
recoveryKey.recover.resetSuccess.description=Вы можете разблокировать хранилище новым паролем.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Конфигурация хранилища восстановлена
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Файл Masterkey восстановлен
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Теперь вы можете разблокировать хранилище с помощью пароля.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
@@ -675,8 +644,6 @@ decryptNames.filePicker.title=Выберите зашифрованный фай
|
||||
decryptNames.filePicker.extensionDescription=Файл, зашифрованный Cryptomator
|
||||
decryptNames.copyTable.tooltip=Скопировать таблицу
|
||||
decryptNames.clearTable.tooltip=Очистить таблицу
|
||||
decryptNames.column.encrypted=Зашифровано
|
||||
decryptNames.column.decrypted=Расшифровано
|
||||
decryptNames.copyHint=Скопировать содержимое ячейки с %s
|
||||
decryptNames.dropZone.message=Перетащите файлы или нажмите для выбора
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Выбраны внутренние файлы хранилища с нерасшифрованными именами
|
||||
@@ -689,31 +656,23 @@ decryptNames.dropZone.error.generic=Не удалось расшифровать
|
||||
eventView.title=События
|
||||
eventView.filter.allVaults=Все
|
||||
eventView.clearListButton.tooltip=Очистить список
|
||||
eventView.filterVaults=Фильтр по хранилищу
|
||||
eventView.cell.actionsButton.tooltip=Действия события
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Разблокируйте "%s" для деталей
|
||||
eventView.entry.conflictResolved.message=Решённый конфликт
|
||||
eventView.entry.conflictResolved.showDecrypted=Показать расшифрованный файл
|
||||
eventView.entry.conflictResolved.copyDecrypted=Скопировать расшифрованный путь
|
||||
eventView.entry.conflict.message=Не удалось решить конфликты
|
||||
eventView.entry.conflict.showDecrypted=Показать расшифрованный исходный файл
|
||||
eventView.entry.conflict.copyDecrypted=Скопировать расшифрованный исходный путь
|
||||
eventView.entry.conflict.showEncrypted=Показать конфликтующий зашифрованный файл
|
||||
eventView.entry.conflict.copyEncrypted=Скопировать конфликтующий зашифрованный путь
|
||||
eventView.entry.decryptionFailed.message=Ошибка дешифрования
|
||||
eventView.entry.decryptionFailed.showEncrypted=Показать зашифрованный файл
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Скопировать зашифрованный путь
|
||||
eventView.entry.brokenDirFile.message=Повреждённая ссылка на папку
|
||||
eventView.entry.brokenDirFile.showEncrypted=Показать повреждённую зашифрованную ссылку
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Скопировать путь повреждённой ссылки
|
||||
eventView.entry.brokenFileNode.message=Повреждённый узел файловой системы
|
||||
eventView.entry.brokenFileNode.showEncrypted=Показать повреждённый зашифрованный узел
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Скопировать путь повреждённого зашифрованного узла
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Скопировать расшифрованный путь
|
||||
eventView.entry.inUse.message=Файл используется
|
||||
eventView.entry.inUse.showDecrypted=Показать расшифрованный файл
|
||||
eventView.entry.inUse.showEncrypted=Показать зашифрованный файл
|
||||
eventView.entry.inUse.copyUserAndDevice=Скопировать блокирующее имя пользователя и устройства
|
||||
eventView.entry.inUse.ignoreLock=Игнорировать статус использования
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Файл используется на другом устройстве
|
||||
notification.inUse.description=Файл открыт %s на %s. Попросите закрыть файл и завершить синхронизацию. Вы можете проигнорировать статус и открыть его, но есть риск конфликтов или перезаписи новых изменений.
|
||||
notification.inUse.action=Игнорировать статус использования
|
||||
@@ -13,8 +13,6 @@ generic.button.done=සම්පූර්ණයි
|
||||
generic.button.next=ඊළඟ
|
||||
generic.button.print=මුද්රණය කරන්න
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
error.message=දෝෂය: %s
|
||||
error.technicalDetails=විස්තර:
|
||||
@@ -55,7 +53,6 @@ unlock.unlockBtn=අගුළුහරින්න
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=අගුළුහරින්න
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -101,7 +98,7 @@ hub.registerSuccess.unlockBtn=අගුළුහරින්න
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -168,7 +165,3 @@ hub.registerSuccess.unlockBtn=අගුළුහරින්න
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Zavrieť
|
||||
generic.button.copy=Kopírovať
|
||||
generic.button.copied=Skopírované!
|
||||
generic.button.done=Hotovo
|
||||
generic.button.previous=Predošlý
|
||||
generic.button.next=Ďalej
|
||||
generic.button.print=Tlač
|
||||
generic.button.remove=Odstrániť
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Zamknutý
|
||||
vault.state.unlocked=Odomknutý
|
||||
vault.state.missing=Chýbajúci
|
||||
vault.state.migrationNeeded=Vyžaduje sa migrácia
|
||||
vault.state.processing=Spracovávanie
|
||||
vault.state.error=Chyba
|
||||
|
||||
# Error
|
||||
error.message=Vyskytla sa chyba
|
||||
error.description=Cryptomator toto neočakával. Môžte nahliadnuť do existujúcich riešení tejto chyby. Alebo v prípade že zatiaľ nebola nahlásená, môžte to slobodne urobiť.
|
||||
@@ -178,9 +169,6 @@ hub.registerSuccess.message=Zariadenie registrované
|
||||
hub.registerSuccess.unlockBtn=Odomknúť
|
||||
### Registration Failed
|
||||
hub.registerFailed.message=Registrácia zariadenia zlyhala
|
||||
### Archived
|
||||
hub.archived.message=Trezor je archivovaný
|
||||
hub.archived.description=Tento trezor bol archivovaný a nie je viac dostupný. Prosím kontaktujte jeho vlastníka.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Prístup zamietnutý
|
||||
hub.unauthorized.description=Nie ste autorizovaný na otvorenie tohto trezora. Kontaktujte vlastníka trezora pre vyžiadanie prístupu.
|
||||
@@ -261,8 +249,6 @@ health.check.detail.checkFinishedAndFound=Kontrola skončila. Prosím pozrite si
|
||||
health.check.detail.checkFailed=Kontrola skončila kôli chybe.
|
||||
health.check.detail.checkCancelled=Kontrola bola zrušená.
|
||||
health.check.detail.listFilters.label=Filter
|
||||
health.check.detail.filterSeverity=Filtrovať podľa závažnosti
|
||||
health.check.detail.filterFixState=Filtrovať podľa stavu opravy
|
||||
health.check.detail.fixAllSpecificBtn=Opraviť všetko tohto typu
|
||||
health.check.exportBtn=Exportovať správu
|
||||
## Result view
|
||||
@@ -335,13 +321,8 @@ preferences.updates.lastUpdateCheck.never=nikdy
|
||||
preferences.updates.lastUpdateCheck.recently=nedávno
|
||||
preferences.updates.lastUpdateCheck.daysAgo=pred %s dňami
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=pred %s hodinami
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Prosím
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=zamknúť Vaše trezory
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=nainštalovať aktualizáciu.
|
||||
preferences.updates.checkFailed=Kontrola aktualizácie zlyhala. Prosím skontrolujte pripojenie k internetu a skúste znovu.
|
||||
preferences.updates.updateFailed=Aktualizácia zlyhala. Prosím aktualizujte manuálne.
|
||||
preferences.updates.upToDate=Cryptomator je aktuálny.
|
||||
preferences.updates.visitDownloadPage=Navštíviť stránku pre stiahnutie
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Podporte nás
|
||||
@@ -352,7 +333,6 @@ preferences.contribute.promptText=Vlož sem kód certifikátu podporovateľa
|
||||
preferences.contribute.thankYou=Ďakujeme za podporu tvorby open-source Cryptomator-a!
|
||||
preferences.contribute.donate=Podporiť
|
||||
preferences.contribute.sponsor=Sponzor
|
||||
preferences.contribute.removeCert.tooltip=Odstrániť certifikát
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Odstrániť certifikát
|
||||
@@ -362,7 +342,6 @@ removeCert.description=Funkcionality jadra Cryptomator-a nie sú týmto dotknut
|
||||
|
||||
## About
|
||||
preferences.about=O programe
|
||||
preferences.about.thirdPartyLicenses=Licencie tretích strán
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Štatistiky pre %s
|
||||
@@ -401,8 +380,6 @@ stats.access.total=Celkovo sprístupnené: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Trezory
|
||||
main.vaultlist.listEntry=Trezor %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Kliknite sem pre pridanie trezora
|
||||
main.vaultlist.contextMenu.remove=Odstrániť…
|
||||
main.vaultlist.contextMenu.lock=Uzamknúť
|
||||
@@ -412,18 +389,13 @@ main.vaultlist.contextMenu.vaultoptions=Ukáž možnosti trezora
|
||||
main.vaultlist.contextMenu.reveal=Odkry disk
|
||||
main.vaultlist.contextMenu.share=Zdieľať…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Vytvoriť Nový trezor…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Otvoriť existujúci trezor…
|
||||
main.vaultlist.addVaultButton.tooltip=Pridať trezor
|
||||
main.vaultlist.showEventsButton.tooltip=Otvoriť zobrazenie udalosti
|
||||
main.vaultlist.showPreferencesButton.tooltip=Ukázať preferencie
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Aktualizácia je k dispozícii.
|
||||
main.notification.support=O aplikácii Cryptomator.
|
||||
main.notification.closeButton.tooltip=Zavrieť informačnú lištu
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Ďakujeme Vám že ste si zvolili Cryptomator pre ochranu Vaších súborov. Ak potrebujete akúkoľvek pomoc, pozrite si našu príručku ako začať:
|
||||
main.vaultDetail.storageLocation=Lokácia uloženia trezora
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=Uzamknutý
|
||||
main.vaultDetail.unlockBtn=Odomknúť…
|
||||
@@ -479,7 +451,6 @@ vaultOptions.general=Hlavné
|
||||
vaultOptions.general.vaultName=Názov trezoru
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Uzamknutie po uplynutí nečinnosti
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minút
|
||||
vaultOptions.general.autoLock.accessibleText=Časový limit uzamknutia v minútach
|
||||
vaultOptions.general.unlockAfterStartup=Odomknúť trezor pri spustení Cryptomator-a
|
||||
vaultOptions.general.actionAfterUnlock=Po úspešnom odomknutí
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Nič nerob
|
||||
@@ -509,7 +480,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Zabudnúť uložené heslo
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Kľúč pre obnovu je Vašou jedinou cestou k obnove prístupu do trezoru v prípade straty hesla.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Ukázať klúč obnovy
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Obnoviť heslo
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Tieto možnosti sú dostupne ak je master-key obsiahnutý v adresári trezora.
|
||||
## Hub
|
||||
vaultOptions.hub=Obnova
|
||||
vaultOptions.hub.convertInfo=Kľúč na obnovenie môžete v prípade núdze použiť na konverziu tohto trezora Hub na trezor založený na hesle.
|
||||
@@ -619,7 +589,6 @@ shareVault.title=Zdielať trezor
|
||||
shareVault.hubAd.authentication=* Silná autentifikácia
|
||||
shareVault.hubAd.encryption=* Šifrovanie end-to-end
|
||||
|
||||
shareVault.hub.openHub=Otvoriť Cryptomator Hub
|
||||
|
||||
# Decrypt File Names
|
||||
decryptNames.title=Dešifrovať názvy súborov
|
||||
@@ -627,8 +596,6 @@ decryptNames.filePicker.title=Vyberte zašifrovaný súbor
|
||||
decryptNames.filePicker.extensionDescription=Cryptomator zašifrovaný súbor
|
||||
decryptNames.copyTable.tooltip=Kopírovať tabuľku
|
||||
decryptNames.clearTable.tooltip=Vymazať tabuľku
|
||||
decryptNames.column.encrypted=Zašifrované
|
||||
decryptNames.column.decrypted=Dešifrované
|
||||
decryptNames.copyHint=Kopírovať obsah bunky s %s
|
||||
decryptNames.dropZone.message=Presuňte súbory alebo ich kliknutím vyberte
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Interné súbory trezora bez vybratého názvu, ktorý je možné dešifrovať
|
||||
@@ -641,28 +608,23 @@ decryptNames.dropZone.error.generic=Nepodarilo sa dešifrovať názvy súborov
|
||||
eventView.title=Udalosti
|
||||
eventView.filter.allVaults=Všetko
|
||||
eventView.clearListButton.tooltip=Vymazať zoznam
|
||||
eventView.filterVaults=Filtrovať podľa trezora
|
||||
eventView.cell.actionsButton.tooltip=Akcie udalostí
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Podrobnosti získate odomknutím „%s“
|
||||
eventView.entry.conflictResolved.message=Vyriešený konflikt
|
||||
eventView.entry.conflictResolved.showDecrypted=Zobraziť dešifrovaný súbor
|
||||
eventView.entry.conflictResolved.copyDecrypted=Skopírujte dešifrovanú cestu
|
||||
eventView.entry.conflict.message=Riešenie konfliktu zlyhalo
|
||||
eventView.entry.conflict.showDecrypted=Zobraziť dešifrovaný pôvodný súbor
|
||||
eventView.entry.conflict.copyDecrypted=Kopírovať dešifrovanú, pôvodnú cestu
|
||||
eventView.entry.conflict.showEncrypted=Zobraziť konfliktný zašifrovaný súbor
|
||||
eventView.entry.conflict.copyEncrypted=Kopírovať konfliktnú zašifrovanú cestu
|
||||
eventView.entry.decryptionFailed.message=Dešifrovanie zlyhalo
|
||||
eventView.entry.decryptionFailed.showEncrypted=Zobraziť zašifrovaný súbor
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Skopírujte zašifrovanú cestu
|
||||
eventView.entry.brokenDirFile.message=Nefunkčný odkaz na adresár
|
||||
eventView.entry.brokenDirFile.showEncrypted=Zobraziť nefunkčný, šifrovaný odkaz
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Kopírovať cestu nefunkčného odkazu
|
||||
eventView.entry.brokenFileNode.message=Poškodený uzol súborového systému
|
||||
eventView.entry.brokenFileNode.showEncrypted=Zobraziť nefunkčný, zašifrovaný uzol
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Kopírovať cestu nefunkčného, šifrovaného uzla
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Skopírujte dešifrovanú cestu
|
||||
eventView.entry.inUse.message=Súbor sa používa
|
||||
eventView.entry.inUse.showDecrypted=Zobraziť dešifrovaný súbor
|
||||
eventView.entry.inUse.showEncrypted=Zobraziť zašifrovaný súbor
|
||||
eventView.entry.inUse.copyUserAndDevice=Kopírovať zamykaného užívateľa a meno zariadenia
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Súbor je používaný iným zariadením
|
||||
@@ -11,14 +11,10 @@ generic.button.close=Zapri
|
||||
generic.button.copy=Kopiraj
|
||||
generic.button.copied=Kopirano!
|
||||
generic.button.done=Opravljeno
|
||||
generic.button.previous=Prejšnji
|
||||
generic.button.next=Naslednji
|
||||
generic.button.print=Natisni
|
||||
generic.button.remove=Odstrani
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Napaka
|
||||
|
||||
# Error
|
||||
error.message=Prišlo je do napake
|
||||
error.description=Cryptomator ni pričakoval, da se bo to zgodilo. Za to napako lahko poiščete obstoječe rešitve. Če pa to še ni bilo prijavljeno, lahko to storite.
|
||||
@@ -81,7 +77,6 @@ hub.register.registerBtn=Registracija
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Odkleni
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -135,12 +130,10 @@ preferences.updates.lastUpdateCheck.daysAgo=%s dni nazaj
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Trezorji
|
||||
main.vaultlist.contextMenu.lock=Zakleni
|
||||
main.vaultlist.contextMenu.unlockNow=Odkleni zdaj
|
||||
main.vaultlist.contextMenu.share=Deli…
|
||||
main.vaultlist.addVaultButton.tooltip=Dodaj trezor
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -217,7 +210,3 @@ contactHubVaultOwner.title=Hub trezor
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -15,8 +15,6 @@ generic.button.next=Dalje
|
||||
generic.button.print=Štampaj
|
||||
generic.button.remove=Уклони
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
|
||||
# Defaults
|
||||
@@ -110,7 +108,6 @@ unlock.success.revealBtn=Otvori disk
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Otključaj
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -223,8 +220,7 @@ main.vaultlist.contextMenu.unlock=Откључај…
|
||||
main.vaultlist.contextMenu.unlockNow=Otključaj sada
|
||||
main.vaultlist.contextMenu.vaultoptions=Прикажи опције сефа
|
||||
main.vaultlist.contextMenu.reveal=Otvori disk
|
||||
main.vaultlist.addVaultButton.tooltip=Dodavanje safa
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Хвала вам што сте одабрали Cryptomator за заштиту ваших података. Ако вам је потребна помоћ, прегледајте наше корисничко упутство:
|
||||
@@ -356,7 +352,3 @@ quit.lockAndQuitBtn=Zaključaj i Izađi
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -14,8 +14,6 @@ generic.button.done=Završeno
|
||||
generic.button.next=Dalje
|
||||
generic.button.print=Štampaj
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
|
||||
# Defaults
|
||||
@@ -102,7 +100,6 @@ unlock.success.revealBtn=Otvori disk
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Otključaj
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -198,8 +195,7 @@ stats.decr.total.data.gib=Dešifrovano podataka: %.1f GiB
|
||||
main.vaultlist.contextMenu.lock=Zaključaj
|
||||
main.vaultlist.contextMenu.unlockNow=Otključaj sada
|
||||
main.vaultlist.contextMenu.reveal=Otvori disk
|
||||
main.vaultlist.addVaultButton.tooltip=Dodavanje safa
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -275,7 +271,3 @@ vaultOptions.masterkey.changePasswordBtn=Promena lozinke
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,19 +12,10 @@ generic.button.close=Stäng
|
||||
generic.button.copy=Kopiera
|
||||
generic.button.copied=Kopierad!
|
||||
generic.button.done=Klar
|
||||
generic.button.previous=Föregående
|
||||
generic.button.next=Nästa
|
||||
generic.button.print=Skriv ut
|
||||
generic.button.remove=Radera
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Låst
|
||||
vault.state.unlocked=Upplåst
|
||||
vault.state.missing=Saknas
|
||||
vault.state.migrationNeeded=Migrering krävs
|
||||
vault.state.processing=Bearbetas
|
||||
vault.state.error=Fel
|
||||
|
||||
# Error
|
||||
error.message=Fel: %s
|
||||
error.description=Hoppsan! Cryptomator stötte på något oväntat. Du kan leta upp befintliga lösningar för detta fel. Om det inte har rapporterats ännu får du gärna rapportera in felet.
|
||||
@@ -186,9 +177,6 @@ hub.registerSuccess.legacy.description=För att komma åt valvet måste din enhe
|
||||
hub.registerFailed.message=Enhetsregistrering misslyckades
|
||||
hub.registerFailed.description.generic=Ett fel uppstod i registreringsprocessen. För mer information, titta in i programloggen.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Denna enhet är redan registrerad för en annan användare. Försök att ändra användarkontot eller använda en annan enhet.
|
||||
### Archived
|
||||
hub.archived.message=Valvet arkiverades
|
||||
hub.archived.description=Detta valv har arkiverats och är inte längre tillgängligt. Kontakta valvägaren.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Åtkomst nekad
|
||||
hub.unauthorized.description=Du har inte behörighet att öppna detta valv. Kontakta valvets ägare för att begära åtkomst.
|
||||
@@ -269,8 +257,6 @@ health.check.detail.checkFinishedAndFound=Kontrollen är slutförd. Vänligen gr
|
||||
health.check.detail.checkFailed=Kontrollen avslutades på grund av ett fel.
|
||||
health.check.detail.checkCancelled=Kontrollen avbröts.
|
||||
health.check.detail.listFilters.label=Filter
|
||||
health.check.detail.filterSeverity=Filtrera efter svårighetsgrad
|
||||
health.check.detail.filterFixState=Filtrera efter korrigeringsläge
|
||||
health.check.detail.fixAllSpecificBtn=Fixa liknande fel
|
||||
health.check.exportBtn=Exportera rapport
|
||||
## Result view
|
||||
@@ -343,13 +329,8 @@ preferences.updates.lastUpdateCheck.never=aldrig
|
||||
preferences.updates.lastUpdateCheck.recently=nyligen
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s dagar sedan
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s timmar sedan
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Vänligen
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=lås dina valv
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=för att installera uppdateringen.
|
||||
preferences.updates.checkFailed=Det gick inte att söka efter uppdateringar. Kontrollera din internetanslutning eller försök igen senare.
|
||||
preferences.updates.updateFailed=Uppdateringen misslyckades. Vänligen installera uppdateringen manuellt.
|
||||
preferences.updates.upToDate=Cryptomator är uppdaterad.
|
||||
preferences.updates.visitDownloadPage=Besök nedladdningssidan
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Stöd oss
|
||||
@@ -360,7 +341,6 @@ preferences.contribute.promptText=Klistra in supportercertifikats-koden här
|
||||
preferences.contribute.thankYou=Tack för att du stöder Cryptomators utveckling med öppen källkod!
|
||||
preferences.contribute.donate=Donera
|
||||
preferences.contribute.sponsor=Sponsor
|
||||
preferences.contribute.removeCert.tooltip=Ta bort certifikat
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Ta bort certifikat
|
||||
@@ -370,7 +350,6 @@ removeCert.description=Cryptomators kärnfunktioner påverkas inte av detta. Åt
|
||||
|
||||
## About
|
||||
preferences.about=Om
|
||||
preferences.about.thirdPartyLicenses=Tredjepartslicenser
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statistik för %s
|
||||
@@ -409,8 +388,6 @@ stats.access.total=Totalt antal åtkomster: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Valv
|
||||
main.vaultlist.listEntry=Valv %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klicka här för att lägga till valv
|
||||
main.vaultlist.contextMenu.remove=Ta bort…
|
||||
main.vaultlist.contextMenu.lock=Lås
|
||||
@@ -422,17 +399,13 @@ main.vaultlist.contextMenu.share=Dela…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Skapa nytt valv…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Öppna befintligt valv…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Återställ befintligt valv…
|
||||
main.vaultlist.addVaultButton.tooltip=Lägg till valv
|
||||
main.vaultlist.showEventsButton.tooltip=Öppna händelsevy
|
||||
main.vaultlist.showPreferencesButton.tooltip=Visa inställningar
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Uppdatering tillgänglig.
|
||||
main.notification.support=Stöd Cryptomator.
|
||||
main.notification.closeButton.tooltip=Stäng informationsfältet
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Tack för att du väljer Cryptomator för att skydda dina filer. Om du behöver hjälp kan du kolla in våra guider:
|
||||
main.vaultDetail.storageLocation=Plats för valvlagring
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=LÅST
|
||||
main.vaultDetail.unlockBtn=Lås upp…
|
||||
@@ -490,7 +463,6 @@ vaultOptions.general=Allmänt
|
||||
vaultOptions.general.vaultName=Valvnamn
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Lås när inaktiv i
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=minuter
|
||||
vaultOptions.general.autoLock.accessibleText=Tidsgräns för inaktivitet, minuter
|
||||
vaultOptions.general.unlockAfterStartup=Lås upp valvet när Cryptomator startas
|
||||
vaultOptions.general.actionAfterUnlock=Efter lyckad upplåsning
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Gör ingenting
|
||||
@@ -521,7 +493,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Ta bort sparat lösenord
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=En återställningsnyckel är ditt enda sätt att återställa åtkomst till ett valv om du förlorar ditt lösenord.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Visa återsällningsnyckel
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Återställ lösenord
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Dessa alternativ är endast tillgängliga om filen med huvudnyckeln finns i valvkatalogen.
|
||||
## Hub
|
||||
vaultOptions.hub=Återställning
|
||||
vaultOptions.hub.convertInfo=Du kan använda återställningsnyckeln för att konvertera detta Hub valv till ett lösenordsbaserat valv i en nödsituation.
|
||||
@@ -550,8 +521,6 @@ recoveryKey.recover.recoverBtn=Återställ
|
||||
recoveryKey.recover.resetSuccess.message=Lösenord återställt
|
||||
recoveryKey.recover.resetSuccess.description=Du kan låsa upp valvet med det nya lösenordet.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Valvkonfigurationen återställd
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Huvudnyckeln återställd
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Nu kan du låsa upp valvet med lösenordet.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
@@ -659,8 +628,6 @@ decryptNames.filePicker.title=Välj krypterad fil
|
||||
decryptNames.filePicker.extensionDescription=Cryptomator krypterad fil
|
||||
decryptNames.copyTable.tooltip=Kopiera tabell
|
||||
decryptNames.clearTable.tooltip=Rensa tabell
|
||||
decryptNames.column.encrypted=Krypterad
|
||||
decryptNames.column.decrypted=Dekrypterad
|
||||
decryptNames.copyHint=Kopiera cellinnehåll med %s
|
||||
decryptNames.dropZone.message=Släpp filer eller klicka för att välja
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Interna valvfiler utan dekrypterbart namn valdes
|
||||
@@ -673,25 +640,23 @@ decryptNames.dropZone.error.generic=Det gick inte att dekryptera filnamn
|
||||
eventView.title=Händelser
|
||||
eventView.filter.allVaults=Samtliga
|
||||
eventView.clearListButton.tooltip=Rensa listan
|
||||
eventView.filterVaults=Filtrera efter valv
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Lås upp "%s" för detaljer
|
||||
eventView.entry.conflictResolved.message=Löst konflikt
|
||||
eventView.entry.conflictResolved.showDecrypted=Visa dekrypterad fil
|
||||
eventView.entry.conflictResolved.copyDecrypted=Kopiera dekrypterad sökväg
|
||||
eventView.entry.conflict.message=Konfliktlösning misslyckades
|
||||
eventView.entry.conflict.showDecrypted=Visa dekrypterad, originalfil
|
||||
eventView.entry.conflict.copyDecrypted=Kopiera dekrypterad, ursprunglig sökväg
|
||||
eventView.entry.conflict.showEncrypted=Visa krypterad fil som inte kunde synkroniseras
|
||||
eventView.entry.conflict.copyEncrypted=Kopiera krypterad sökväg som inte kunde synkroniseras
|
||||
eventView.entry.decryptionFailed.message=Dekryptering misslyckades
|
||||
eventView.entry.decryptionFailed.showEncrypted=Visa krypterad fil
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Kopiera krypterad sökväg
|
||||
eventView.entry.brokenDirFile.message=Trasig kataloglänk
|
||||
eventView.entry.brokenDirFile.showEncrypted=Visa trasig, krypterad länk
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Kopiera sökväg för trasig länk
|
||||
eventView.entry.brokenFileNode.message=Trasig filsystemsnod
|
||||
eventView.entry.brokenFileNode.showEncrypted=Visa trasig krypterad nod
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Kopiera sökväg för trasig, krypterad nod
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Kopiera dekrypterad sökväg
|
||||
eventView.entry.inUse.showDecrypted=Visa dekrypterad fil
|
||||
eventView.entry.inUse.showEncrypted=Visa krypterad fil
|
||||
eventView.entry.inUse.copyUserAndDevice=Kopiera blockerande användare och enhet
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -11,14 +11,10 @@ generic.button.close=Futa
|
||||
generic.button.copy=Nakili
|
||||
generic.button.copied=Nakiliwa!
|
||||
generic.button.done=Tayari
|
||||
generic.button.previous=Iliyotangulia
|
||||
generic.button.next=Nyingine
|
||||
generic.button.print=Chapisha
|
||||
generic.button.remove=Ondoa
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Kosa
|
||||
|
||||
# Error
|
||||
error.message=Kosa %s
|
||||
error.description=Lo! Cryptomator haikutarajia hii kutokea. Unaweza kutafuta suluhu zilizopo za kosa hili. Au ikiwa haijaripotiwa bado, jisikie huru kufanya hivyo.
|
||||
@@ -145,7 +141,6 @@ hub.register.nameLabel=Jina la Kifaa
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=Fungua
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Ufikiaji umekataliwa
|
||||
### Requires Account Initialization
|
||||
@@ -333,7 +328,6 @@ stats.access.total=Jumla ya ufikiaji: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Kuba
|
||||
main.vaultlist.emptyList.onboardingInstruction=Bofya hapa ili kuongeza kuba
|
||||
main.vaultlist.contextMenu.remove=Ondoa…
|
||||
main.vaultlist.contextMenu.lock=Funga
|
||||
@@ -341,8 +335,7 @@ main.vaultlist.contextMenu.unlock=Fungua…
|
||||
main.vaultlist.contextMenu.unlockNow=Fungua Sasa
|
||||
main.vaultlist.contextMenu.vaultoptions=Onyesha Machaguo ya Kuba
|
||||
main.vaultlist.contextMenu.reveal=Fichua Kiendeshaji
|
||||
main.vaultlist.addVaultButton.tooltip=Ongeza Kuba
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Shukrani kwa kuchagua Cryptomator kulinda faili zako. Ikiwa unahitaji msaada wowote, angalia miongozo yetu ya kuanza:
|
||||
@@ -503,7 +496,3 @@ dokanySupportEnd.preferencesBtn=Fungua Mapendeleo
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -11,13 +11,10 @@ generic.button.close=மூடு
|
||||
generic.button.copy=நகலெடு
|
||||
generic.button.copied=நகலெடுக்கப்பட்டது!
|
||||
generic.button.done=முடிந்தது
|
||||
generic.button.previous=முந்தைய
|
||||
generic.button.next=அடுத்து
|
||||
generic.button.print=அச்சிடு
|
||||
generic.button.remove=நீக்கு
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
error.message=ஒரு பிழை ஏற்பட்டுள்ளது
|
||||
error.description=இது நடக்கும் என்று Cryptomator எதிர்பார்க்கவில்லை. இந்தப் பிழைக்கான ஏற்கனவே உள்ள தீர்வுகளை நீங்கள் காணலாம். அல்லது இது இன்னும் புகாரளிக்கப்படவில்லை என்றால், அவ்வாறு செய்யத் தயங்க வேண்டாம்.
|
||||
@@ -126,7 +123,6 @@ unlock.success.revealBtn=இயக்ககத்தை வெளிப்பட
|
||||
### Registration Success
|
||||
hub.registerSuccess.unlockBtn=பூட்டுநீக்கு
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -235,8 +231,7 @@ main.vaultlist.contextMenu.unlock=பூட்டுநீக்கு…
|
||||
main.vaultlist.contextMenu.unlockNow=இப்போது திறக்கவும்
|
||||
main.vaultlist.contextMenu.vaultoptions=பெட்டக விருப்பங்களைக் காட்டு
|
||||
main.vaultlist.contextMenu.reveal=இயக்ககத்தை வெளிப்படுத்து
|
||||
main.vaultlist.addVaultButton.tooltip=பெட்டகத்தைச் சேர்க்கவும்
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=உங்கள் கோப்புகளைப் பாதுகாக்க Cryptomator -ஐத் தேர்ந்தெடுத்ததற்கு நன்றி. உங்களுக்கு ஏதேனும் உதவி தேவைப்பட்டால், எங்கள் தொடக்க வழிகாட்டிகளைப் பார்க்கவும்:
|
||||
@@ -340,7 +335,3 @@ quit.forced.forceAndQuitBtn=கட்டாயப்படுத்தி வெ
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -2,11 +2,8 @@
|
||||
|
||||
# Generics
|
||||
## Button
|
||||
generic.button.previous=మునుపటి
|
||||
generic.button.remove=తొలగించు
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
|
||||
# Defaults
|
||||
@@ -40,7 +37,6 @@ generic.button.remove=తొలగించు
|
||||
### Register Device Legacy
|
||||
### Registration Success
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -89,7 +85,7 @@ preferences.interface.theme.light=కాంతి
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -156,7 +152,3 @@ preferences.interface.theme.light=కాంతి
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=ปิด
|
||||
generic.button.copy=คัดลอก
|
||||
generic.button.copied=คัดลอกแล้ว!
|
||||
generic.button.done=เสร็จสิ้น
|
||||
generic.button.previous=ก่อนหน้า
|
||||
generic.button.next=ถัดไป
|
||||
generic.button.print=พิมพ์
|
||||
generic.button.remove=ลบ
|
||||
|
||||
## Vault state
|
||||
vault.state.error=ข้อผิดพลาด
|
||||
|
||||
# Error
|
||||
error.message=เกิดข้อผิดพลาด
|
||||
error.description=ไม่นะ! Cryptomator ไม่ได้ต้องการให้สิ่งนี้เกิดขึ้น คุณสามารถค้นหาข้อผิดพลาดนี้ได้ หากค้นหาไม่เจอ โปรดรายงาน
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=ในการเข้าถึง vaul
|
||||
hub.registerFailed.message=การลงทะเบียนอุปกรณ์ล้มเหลว
|
||||
hub.registerFailed.description.generic=เกิดข้อผิดพลาดในการลงทะเบียน สำหรับรายละเอียดเพิ่มเติม โปรดตรวจสอบบันทึกของแอปพลิเคชัน
|
||||
hub.registerFailed.description.deviceAlreadyExists=อุปกรณ์นี้ลงทะเบียนไว้แล้วสำหรับผู้ใชอื่น โปรดลองเปลี่ยนบัญชีผู้ใช้หรือลงทะเบียนอุปกรณ์อื่น
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=การเข้าถึงถูกปฏิเสธ
|
||||
### Requires Account Initialization
|
||||
@@ -333,7 +328,6 @@ stats.access.current=การเข้าถึง: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Vaults
|
||||
main.vaultlist.emptyList.onboardingInstruction=คลิกที่นี่เพื่อเพิ่ม vault
|
||||
main.vaultlist.contextMenu.remove=ลบ...
|
||||
main.vaultlist.contextMenu.lock=ล็อก
|
||||
@@ -342,8 +336,7 @@ main.vaultlist.contextMenu.unlockNow=ปลดล็อกตอนนี้
|
||||
main.vaultlist.contextMenu.vaultoptions=แสดงตัวเลือก Vault
|
||||
main.vaultlist.contextMenu.reveal=เปิดไดรฟ์
|
||||
main.vaultlist.contextMenu.share=แชร์...
|
||||
main.vaultlist.addVaultButton.tooltip=เพิ่ม Vault
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -485,7 +478,3 @@ shareVault.hubAd.encryption=• เข้ารหัสจากต้นทา
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,18 +12,10 @@ generic.button.close=Kapat
|
||||
generic.button.copy=Kopyala
|
||||
generic.button.copied=Kopyalandı!
|
||||
generic.button.done=Tamam
|
||||
generic.button.previous=Önceki
|
||||
generic.button.next=İleri
|
||||
generic.button.print=Yazdır
|
||||
generic.button.remove=Kaldır
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Kilitli
|
||||
vault.state.unlocked=Kilidi açık
|
||||
vault.state.missing=Kayıt
|
||||
vault.state.processing=İşleniyor
|
||||
vault.state.error=Hata
|
||||
|
||||
# Error
|
||||
error.message=Bir hata oluştu
|
||||
error.description=Cryptomator bunun olmasını beklemiyordu. Bu hata için mevcut çözümlere bakabilirsiniz. Ya da henüz bildirilmediyse, bunu raporlamaktan çekinmeyin.
|
||||
@@ -183,8 +175,6 @@ hub.registerSuccess.legacy.description=Kasaya erişmek için cihazınızın kasa
|
||||
hub.registerFailed.message=Cihaz kaydı başarısız oldu
|
||||
hub.registerFailed.description.generic=Kayıt işleminde bir hata oluştu. Daha fazla bilgi için uygulama günlüğüne bakın.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Bu cihaz zaten farklı bir kullanıcı için kayıtlı. Kullanıcı hesabını değiştirmeyi veya farklı bir cihaz kullanmayı deneyin.
|
||||
### Archived
|
||||
hub.archived.message=Kasa arşivlendi
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Erişim engellendi
|
||||
hub.unauthorized.description=Bu kasayı açma yetkiniz yok. Erişim talebinde bulunmak için kasanın sahibiyle iletişime geçin.
|
||||
@@ -337,7 +327,6 @@ preferences.updates.lastUpdateCheck.never=asla
|
||||
preferences.updates.lastUpdateCheck.recently=az önce
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s gün önce
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s saat önce
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Lütfen
|
||||
preferences.updates.checkFailed=Güncelleme kontrolü başarısız oldu. Lütfen internet bağlantınızı kontrol edin veya daha sonra tekrar deneyin.
|
||||
preferences.updates.upToDate=Cryptomator güncel.
|
||||
|
||||
@@ -397,7 +386,6 @@ stats.access.total=Toplam erişim: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Kasalar
|
||||
main.vaultlist.emptyList.onboardingInstruction=Kasa eklemek için buraya tıklayın
|
||||
main.vaultlist.contextMenu.remove=Kaldır…
|
||||
main.vaultlist.contextMenu.lock=Kilitle
|
||||
@@ -406,10 +394,7 @@ main.vaultlist.contextMenu.unlockNow=Kilidi Şimdi Aç
|
||||
main.vaultlist.contextMenu.vaultoptions=Kasa Ayarlarını Göster
|
||||
main.vaultlist.contextMenu.reveal=Sürücüyü Göster
|
||||
main.vaultlist.contextMenu.share=Paylaş…
|
||||
main.vaultlist.addVaultButton.tooltip=Kasa ekle
|
||||
main.vaultlist.showEventsButton.tooltip=Etkinlik görünümünü aç
|
||||
main.vaultlist.showPreferencesButton.tooltip=Tercihleri göster
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Güncelleme mevcut.
|
||||
main.notification.support=Cryptomator'a destek olun.
|
||||
## Vault Detail
|
||||
@@ -614,24 +599,8 @@ shareVault.hub.instruction.2=2. Cryptomator Hub'da ekip üyesine erişim izni ve
|
||||
shareVault.hub.openHub=Cryptomator Hub'ı aç
|
||||
|
||||
# Decrypt File Names
|
||||
decryptNames.copyTable.tooltip=Tabloyu kopyala
|
||||
decryptNames.clearTable.tooltip=Tabloyu temizle
|
||||
decryptNames.column.encrypted=Şifrelendi
|
||||
decryptNames.column.decrypted=Şifresi çözüldü
|
||||
|
||||
|
||||
# Event View
|
||||
eventView.title=Etkinlikler
|
||||
eventView.filter.allVaults=Tümü
|
||||
eventView.clearListButton.tooltip=Listeyi temizle
|
||||
eventView.filterVaults=Kasayı süz
|
||||
## event list entries
|
||||
eventView.entry.inUse.message=Kullanılan dosya
|
||||
eventView.entry.inUse.ignoreLock=Kullanım durumunu yok say
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Dosya başka bir cihazda kullanılıyor
|
||||
notification.inUse.description=Dosya %s tarafından %s tarihinde açıldı. Onlardan dosyayı kapatmalarını ve senkronizasyonun tamamlanmasını beklemelerini isteyin. Dosyayı şimdi açmak için durumu görmezden gelebilirsiniz, ancak bu çakışmalara veya yeni değişikliklerin üzerine yazılmasına neden olabilir.
|
||||
notification.inUse.action=Kullanım Durumunu Yok Say
|
||||
@@ -12,12 +12,9 @@ generic.button.close=ياپ
|
||||
generic.button.copy=كۆچۈر
|
||||
generic.button.copied=كۆچۈرۈلدى!
|
||||
generic.button.done=تامام
|
||||
generic.button.previous=ئالدىنقىسى
|
||||
generic.button.next=كېيىنكى
|
||||
generic.button.print=پىرىنتلاش
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
error.message=خاتالىق كۆرۈلدى
|
||||
error.description=Cryptomator بۇنداق بولۇشىنى كۈتمىگەنىدى. بۇ خاتالىق ئۈچۈن مەۋجۇت ھەل قىلىش چارىلىرىنى ئىزدىيەلەيسىز. ياكى ئەگەر دوكلات قىلىنمىغان بولسا، دوكلات قىلىشقا ئەركىن.
|
||||
@@ -117,7 +114,7 @@ changepassword.finalConfirmation=ئەگەر مەن پارولۇمنى ئۇنتۇ
|
||||
|
||||
# Forget Password
|
||||
forgetPassword.title=پارولنى ئۇنتۇش
|
||||
forgetPassword.message=ساقلانغان پارولنى ئۇنتۇڭ?
|
||||
forgetPassword.message=ساقلانغان پارولنى ئۇنتۇمسىز؟
|
||||
forgetPassword.description=بۇ سىستېمىڭىزنىڭ ئاچقۇچ ساقلىغۇچىسىدىكى بۇ ئامبارنىڭ ساقلانغان پارولىنى ئۆچۈرىدۇ.
|
||||
forgetPassword.confirmBtn=پارولنى ئۇنتۇش
|
||||
|
||||
@@ -153,7 +150,7 @@ hub.noKeychain.message=ئۈسكۈنە ئاچقۇچىغا كىرىش مۇمكىن
|
||||
hub.noKeychain.description=Hub ئامبارلىرىنى قۇلۇپسىزلاش ئۈچۈن، ئاچقۇچ ساقلىغۇچ ئارقىلىق بىخەتەرلەشتۈرۈلگەن ئۈسكۈنە ئاچقۇچى كېرەك. داۋاملاشتۇرۇش ئۈچۈن، تەڭشەكلەردە "%s" نى قوزغىتىپ ئاچقۇچ ساقلىغۇچنى تاللاڭ.
|
||||
hub.noKeychain.openBtn=تەڭشەكلەرنى ئېچىش
|
||||
### Waiting
|
||||
hub.auth.message=دەلىللەشنى كۈتۈۋاتىدۇ…
|
||||
hub.auth.message=دەلىللەش كۈتۈۋاتىدۇ...
|
||||
hub.auth.description=سىز ئاپتوماتىك ھالدا كىرىش بېتىگە يۆتكىلىشىڭىز كېرەك.
|
||||
hub.auth.loginLink=يۆتكەلمىدىڭىزمۇ؟ بۇ يەرنى چېكىپ ئېچىڭ.
|
||||
### Receive Key
|
||||
@@ -177,7 +174,6 @@ hub.registerSuccess.legacy.description=ئامبارغا كىرىش ئۈچۈن،
|
||||
hub.registerFailed.message=ئۈسكۈنە تىزىملىتىش مەغلۇپ بولدى
|
||||
hub.registerFailed.description.generic=تىزىملىتىش جەريانىدا بىر خاتالىق كۆرۈلدى. تەپسىلاتلار ئۈچۈن پروگرامما خاتىرىسىگە قاراڭ.
|
||||
hub.registerFailed.description.deviceAlreadyExists=بۇ ئۈسكۈنە ئاللىقاچان باشقا بىر ئىشلەتكۈچى ئۈچۈن تىزىملانغان. ئىشلەتكۈچى ھېساباتىنى ئۆزگەرتىشكە ئۇرۇنۇڭ ياكى باشقا بىر ئۈسكۈنە ئىشلىتىڭ.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=كىرىش رەت قىلىندى
|
||||
### Requires Account Initialization
|
||||
@@ -388,8 +384,7 @@ main.vaultlist.contextMenu.unlockNow=ھازىر قۇلۇپسىزلا
|
||||
main.vaultlist.contextMenu.vaultoptions=ئامبار تاللانمىلىرىنى كۆرسەت
|
||||
main.vaultlist.contextMenu.reveal=دىسكىنى كۆرسەت
|
||||
main.vaultlist.contextMenu.share=ھەمبەھىرلە…
|
||||
main.vaultlist.addVaultButton.tooltip=ئامبار قوش
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Cryptomator نى ھۆججەتلىرىڭىزنى قوغداش ئۈچۈن تاللىغىنىڭىزغا رەھمەت. ياردەمگە ئېھتىياجىڭىز بولسا، باشلاش قوللانمىلىرىمىزنى كۆرۈپ چىقىڭ:
|
||||
@@ -591,7 +586,3 @@ shareVault.hub.openHub=Cryptomator Hub ئۇچۇرىنى ئېچىڭ
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -13,19 +13,10 @@ generic.button.close=Закрити
|
||||
generic.button.copy=Копіювати
|
||||
generic.button.copied=Скопійовано!
|
||||
generic.button.done=Завершити
|
||||
generic.button.previous=Попередній
|
||||
generic.button.next=Далі
|
||||
generic.button.print=Друкувати
|
||||
generic.button.remove=Вилучити
|
||||
|
||||
## Vault state
|
||||
vault.state.locked=Заблоковано
|
||||
vault.state.unlocked=Розблоковано
|
||||
vault.state.missing=Відсутній
|
||||
vault.state.migrationNeeded=Необхідна міграція
|
||||
vault.state.processing=Обробка
|
||||
vault.state.error=Помилка
|
||||
|
||||
# Error
|
||||
error.message=Виникла помилка
|
||||
error.description=Ой! Cryptomator не очікував, що це станеться. Ви можете спробувати знайти рішення для цієї помилки. Або, якщо про неї ще не повідомляли, не соромтеся зробити це.
|
||||
@@ -187,9 +178,6 @@ hub.registerSuccess.legacy.description=Щоб отримати доступ до
|
||||
hub.registerFailed.message=Не вдалося зареєструвати пристрій
|
||||
hub.registerFailed.description.generic=Під час реєстрації виникла помилка. Для отримання додаткової інформації перегляньте журнал програми.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Цей пристрій вже зареєстровано для іншого користувача. Спробуйте змінити обліковий запис або скористайтеся іншим пристроєм.
|
||||
### Archived
|
||||
hub.archived.message=Сховище заархівовано
|
||||
hub.archived.description=Це сховище було заархівовано і більше не доступне. Зверніться до власника сховища.
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=У доступі відмовлено
|
||||
hub.unauthorized.description=Ви не авторизовані для відкриття цього сховища. Зв'яжіться з його власником, щоб отримати доступ.
|
||||
@@ -270,8 +258,6 @@ health.check.detail.checkFinishedAndFound=Перевірку завершено.
|
||||
health.check.detail.checkFailed=Перевірку перервано через помилку.
|
||||
health.check.detail.checkCancelled=Перевірку було скасовано.
|
||||
health.check.detail.listFilters.label=Фільтр
|
||||
health.check.detail.filterSeverity=Фільтрувати за важливістю
|
||||
health.check.detail.filterFixState=Фільтрувати за станом виправлення
|
||||
health.check.detail.fixAllSpecificBtn=Виправити всі цього типу
|
||||
health.check.exportBtn=Експортувати звіт
|
||||
## Result view
|
||||
@@ -319,7 +305,7 @@ preferences.interface.interfaceOrientation=Орієнтація інтерфей
|
||||
preferences.interface.interfaceOrientation.ltr=Зліва направо
|
||||
preferences.interface.interfaceOrientation.rtl=Справа наліво
|
||||
preferences.interface.showTrayIcon=Показувати іконку в треї (потрібен перезапуск)
|
||||
preferences.interface.compactMode=Увімкнути компактний список сховищ
|
||||
preferences.interface.compactMode=Активувати компактний список сховищ
|
||||
## Volume
|
||||
preferences.volume=Віртуальний диск
|
||||
preferences.volume.type=Тип тому за замовчуванням
|
||||
@@ -336,7 +322,7 @@ preferences.volume.feature.readOnly=Монтування лише для чит
|
||||
## Updates
|
||||
preferences.updates=Оновлення
|
||||
preferences.updates.currentVersion=Поточна версія: %s
|
||||
preferences.updates.autoUpdateCheck=Автоматично перевіряти наявність оновлень
|
||||
preferences.updates.autoUpdateCheck=Перевіряти наявність оновлень автоматично
|
||||
preferences.updates.checkNowBtn=Перевірити зараз
|
||||
preferences.updates.updateAvailable=Доступне оновлення до версії %s.
|
||||
preferences.updates.lastUpdateCheck=Остання перевірка: %s
|
||||
@@ -344,13 +330,8 @@ preferences.updates.lastUpdateCheck.never=ніколи
|
||||
preferences.updates.lastUpdateCheck.recently=нещодавно
|
||||
preferences.updates.lastUpdateCheck.daysAgo=%s дні(в) тому
|
||||
preferences.updates.lastUpdateCheck.hoursAgo=%s годин(и) тому
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.1=Будь ласка,
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.2=заблокуйте свої сховища,
|
||||
preferences.updates.prohibitedDueToUnlockedVaults.3=щоб встановити оновлення.
|
||||
preferences.updates.checkFailed=Не вдалось перевірити наявність оновлень. Будь ласка, перевірте підключення до Інтернету або спробуйте ще раз пізніше.
|
||||
preferences.updates.updateFailed=Не вдалося оновити. Будь ласка, встановіть оновлення вручну.
|
||||
preferences.updates.upToDate=Ваш Cryptomator не потребує оновлення.
|
||||
preferences.updates.visitDownloadPage=Відкрити сторінку завантаження
|
||||
|
||||
## Contribution
|
||||
preferences.contribute=Підтримайте нас
|
||||
@@ -358,10 +339,9 @@ preferences.contribute.registeredFor=Сертифікат помічника з
|
||||
preferences.contribute.noCertificate=Підтримайте Cryptomator та отримайте сертифікат помічника. Це як ліцензійний ключ, але для чудових людей, які користуються безплатним програмним забезпеченням. ;-)
|
||||
preferences.contribute.getCertificate=Ще немає такого? Дізнайтеся, як його отримати.
|
||||
preferences.contribute.promptText=Вставте код сертифікату помічника тут
|
||||
preferences.contribute.thankYou=Дякуємо за підтримку розробки Cryptomator з відкритим кодом!
|
||||
preferences.contribute.thankYou=Дякуємо, що підтримуєте розробку Cryptomator з відкритим вихідним кодом!
|
||||
preferences.contribute.donate=Зробити пожертву
|
||||
preferences.contribute.sponsor=Спонсори
|
||||
preferences.contribute.removeCert.tooltip=Вилучити сертифікат
|
||||
|
||||
### Remove License Key Dialog
|
||||
removeCert.title=Вилучити сертифікат
|
||||
@@ -370,11 +350,10 @@ removeCert.description=Основні функції Cryptomator не будут
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
preferences.about=Про програму
|
||||
preferences.about.thirdPartyLicenses=Ліцензії третіх сторін
|
||||
preferences.about=Про додаток
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Статистика для «%s»
|
||||
stats.title=Статистика %s
|
||||
stats.cacheHitRate=Коефіцієнт влучань кеша
|
||||
## Read
|
||||
stats.read.throughput.idle=Читання: простоює
|
||||
@@ -410,8 +389,6 @@ stats.access.total=Усього отримано доступ: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Сховища
|
||||
main.vaultlist.listEntry=Сховище %s (%s)
|
||||
main.vaultlist.emptyList.onboardingInstruction=Натисніть тут, щоб додати сховище
|
||||
main.vaultlist.contextMenu.remove=Вилучити…
|
||||
main.vaultlist.contextMenu.lock=Заблокувати
|
||||
@@ -423,17 +400,13 @@ main.vaultlist.contextMenu.share=Поділитися…
|
||||
main.vaultlist.addVaultBtn.menuItemNew=Створити нове сховище…
|
||||
main.vaultlist.addVaultBtn.menuItemExisting=Відкрити наявне сховище…
|
||||
main.vaultlist.addVaultBtn.menuItemRecover=Відновити наявне сховище…
|
||||
main.vaultlist.addVaultButton.tooltip=Додати сховище
|
||||
main.vaultlist.showEventsButton.tooltip=Відкрити журнал подій
|
||||
main.vaultlist.showPreferencesButton.tooltip=Показати налаштування
|
||||
##Notification
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Доступне оновлення.
|
||||
main.notification.support=Підтримайте Cryptomator.
|
||||
main.notification.closeButton.tooltip=Закрити інформаційну панель
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Дякуємо, що обрали Cryptomator для захисту ваших файлів. Якщо вам потрібна допомога, ознайомтеся з нашими посібниками для початку роботи:
|
||||
main.vaultDetail.storageLocation=Місце зберігання сховища
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=ЗАБЛОКОВАНО
|
||||
main.vaultDetail.unlockBtn=Розблокувати…
|
||||
@@ -491,7 +464,6 @@ vaultOptions.general=Загальні
|
||||
vaultOptions.general.vaultName=Назва сховища
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Блокувати після простою протягом
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=хвилин
|
||||
vaultOptions.general.autoLock.accessibleText=Тайм-аут блокування у хвилинах
|
||||
vaultOptions.general.unlockAfterStartup=Розблоковувати сховище під час запуску Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Після успішного розблокування
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Нічого не робити
|
||||
@@ -502,7 +474,7 @@ vaultOptions.general.startHealthCheckBtn=Розпочати перевірку
|
||||
## Mount
|
||||
vaultOptions.mount=Монтування
|
||||
vaultOptions.mount.info=Відкрийте налаштування віртуального диска, щоб змінити параметри за замовчуванням.
|
||||
vaultOptions.mount.readonly=Лише для читання
|
||||
vaultOptions.mount.readonly=Тільки для перегляду
|
||||
vaultOptions.mount.customMountFlags=Власні прапори монтування
|
||||
vaultOptions.mount.winDriveLetterOccupied=зайнято
|
||||
vaultOptions.mount.mountPoint=Точка монтування
|
||||
@@ -522,7 +494,6 @@ vaultOptions.masterkey.forgetSavedPasswordBtn=Забути збережений
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Ключ відновлення — це ваш єдиний спосіб відновити доступ до сховища, якщо ви втратите пароль.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Показати ключ відновлення
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Скинути пароль
|
||||
vaultOptions.masterkey.missingMasterkeyFile=Ці параметри доступні лише, якщо файл masterkey знаходиться в каталозі сховища.
|
||||
## Hub
|
||||
vaultOptions.hub=Відновлення
|
||||
vaultOptions.hub.convertInfo=Ви можете використати ключ відновлення, щоб у надзвичайній ситуації перетворити це Hub-сховище на сховище, захищене паролем.
|
||||
@@ -551,8 +522,6 @@ recoveryKey.recover.recoverBtn=Відновити
|
||||
recoveryKey.recover.resetSuccess.message=Пароль успішно скинуто
|
||||
recoveryKey.recover.resetSuccess.description=Ви можете розблокувати своє сховище за допомогою нового пароля.
|
||||
### Recovery Key Vault Config Reset Success
|
||||
recoveryKey.recover.resetVaultConfigSuccess.message=Конфігурацію сховища відновлено
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.message=Файл Masterkey відновлено
|
||||
recoveryKey.recover.resetMasterkeyFileSuccess.description=Тепер ви можете розблокувати сховище за допомогою свого пароля.
|
||||
|
||||
# Recover Vault Config File and/or Masterkey
|
||||
@@ -617,7 +586,7 @@ passwordStrength.messageLabel.0=Дуже слабкий
|
||||
passwordStrength.messageLabel.1=Слабкий
|
||||
passwordStrength.messageLabel.2=Задовільний
|
||||
passwordStrength.messageLabel.3=Надійний
|
||||
passwordStrength.messageLabel.4=Дуже надійний
|
||||
passwordStrength.messageLabel.4=Дуже надiйний
|
||||
|
||||
# Quit
|
||||
quit.title=Вийти з додатка
|
||||
@@ -659,7 +628,7 @@ shareVault.instruction.2=2. Передайте пароль сховища бе
|
||||
shareVault.remarkBestPractices=Для отримання додаткової інформації перегляньте поради щодо найкращих практик у нашій документації.
|
||||
shareVault.docsTooltip=Відкрийте документацію, щоб дізнатися більше про спільний доступ до сховищ.
|
||||
shareVault.hubAd.description=Надійний спосіб для командної роботи
|
||||
shareVault.hubAd.keyManagement=• Управління ключами за принципом «нульового розголошення»
|
||||
shareVault.hubAd.keyManagement=• Управління ключами за принципом «zero-knowledge»
|
||||
shareVault.hubAd.authentication=• Надійна автентифікація
|
||||
shareVault.hubAd.encryption=• Наскрізне шифрування
|
||||
shareVault.visitHub=Відвідати Cryptomator Hub
|
||||
@@ -676,8 +645,6 @@ decryptNames.filePicker.title=Виберіть зашифрований файл
|
||||
decryptNames.filePicker.extensionDescription=Зашифрований файл Cryptomator
|
||||
decryptNames.copyTable.tooltip=Копіювати таблицю
|
||||
decryptNames.clearTable.tooltip=Очистити таблицю
|
||||
decryptNames.column.encrypted=Зашифровано
|
||||
decryptNames.column.decrypted=Розшифровано
|
||||
decryptNames.copyHint=Скопіювати вміст комірки за допомогою %s
|
||||
decryptNames.dropZone.message=Перетягніть файли або натисніть, щоб вибрати
|
||||
decryptNames.dropZone.error.vaultInternalFiles=Вибрано службові файли сховища, які не можна розшифрувати
|
||||
@@ -690,31 +657,23 @@ decryptNames.dropZone.error.generic=Не вдалося розшифрувати
|
||||
eventView.title=Події
|
||||
eventView.filter.allVaults=Усі
|
||||
eventView.clearListButton.tooltip=Очистити список
|
||||
eventView.filterVaults=Фільтрувати за сховищем
|
||||
eventView.cell.actionsButton.tooltip=Дії події
|
||||
## event list entries
|
||||
eventView.entry.vaultLocked.description=Розблокуйте «%s» для отримання деталей
|
||||
eventView.entry.conflictResolved.message=Конфлікт вирішено
|
||||
eventView.entry.conflictResolved.showDecrypted=Показати розшифрований файл
|
||||
eventView.entry.conflictResolved.copyDecrypted=Копіювати розшифрований шлях
|
||||
eventView.entry.conflict.message=Не вдалося вирішити конфлікт
|
||||
eventView.entry.conflict.showDecrypted=Показати розшифрований оригінальний файл
|
||||
eventView.entry.conflict.copyDecrypted=Скопіювати розшифрований оригінальний шлях
|
||||
eventView.entry.conflict.showEncrypted=Показати конфліктуючий зашифрований файл
|
||||
eventView.entry.conflict.copyEncrypted=Скопіювати конфліктуючий зашифрований шлях
|
||||
eventView.entry.decryptionFailed.message=Не вдалося розшифрувати
|
||||
eventView.entry.decryptionFailed.showEncrypted=Показати зашифрований файл
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Копіювати зашифрований шлях
|
||||
eventView.entry.brokenDirFile.message=Пошкоджене посилання на каталог
|
||||
eventView.entry.brokenDirFile.showEncrypted=Показати пошкоджене зашифроване посилання
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Копіювати шлях пошкодженого посилання
|
||||
eventView.entry.brokenFileNode.message=Пошкоджений вузол файлової системи
|
||||
eventView.entry.brokenFileNode.showEncrypted=Показати пошкоджений зашифрований вузол
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Скопіювати шлях до пошкодженого зашифрованого вузла
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Копіювати розшифрований шлях
|
||||
eventView.entry.inUse.message=Файл використовується
|
||||
eventView.entry.inUse.showDecrypted=Показати розшифрований файл
|
||||
eventView.entry.inUse.showEncrypted=Показати зашифрований файл
|
||||
eventView.entry.inUse.copyUserAndDevice=Копіювати ім'я користувача та пристрою, що блокують
|
||||
eventView.entry.inUse.ignoreLock=Ігнорувати статус використання
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
notification.inUse.message=Файл використовується на іншому пристрої
|
||||
notification.inUse.description=Файл відкритий користувачем %s на пристрої %s. Попросіть його закрити файл, щоб завершити синхронізацію. Ви можете ігнорувати цей статус і відкрити файл зараз, але це може призвести до конфліктів або перезапису новіших змін.
|
||||
notification.inUse.action=Ігнорувати статус використання
|
||||
@@ -3,8 +3,6 @@
|
||||
# Generics
|
||||
## Button
|
||||
|
||||
## Vault state
|
||||
|
||||
# Error
|
||||
|
||||
# Defaults
|
||||
@@ -38,7 +36,6 @@
|
||||
### Register Device Legacy
|
||||
### Registration Success
|
||||
### Registration Failed
|
||||
### Archived
|
||||
### Unauthorized
|
||||
### Requires Account Initialization
|
||||
### License Exceeded
|
||||
@@ -84,7 +81,7 @@
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
##Notification
|
||||
##Notificaition
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
@@ -151,7 +148,3 @@
|
||||
|
||||
# Event View
|
||||
## event list entries
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
@@ -12,14 +12,10 @@ generic.button.close=Đóng
|
||||
generic.button.copy=Sao chép
|
||||
generic.button.copied=Đã sao chép!
|
||||
generic.button.done=Hoàn thành
|
||||
generic.button.previous=Liền trước
|
||||
generic.button.next=Tiếp
|
||||
generic.button.print=In
|
||||
generic.button.remove=Xóa
|
||||
|
||||
## Vault state
|
||||
vault.state.error=Lỗi
|
||||
|
||||
# Error
|
||||
error.message=Đã xảy ra lỗi
|
||||
error.description=Oops! Cryptomator không mong đợi điều này xảy ra. Bạn có thể tra cứu các giải pháp hiện có cho lỗi này. Hoặc nếu lỗi chưa được báo cáo, hãy làm như vậy.
|
||||
@@ -179,7 +175,6 @@ hub.registerSuccess.legacy.description=Để truy cập vault, thiết bị củ
|
||||
hub.registerFailed.message=Đăng ký thiết bị thất bại
|
||||
hub.registerFailed.description.generic=Đã xảy ra lỗi trong quá trình đăng ký. Để biết thêm chi tiết, vui lòng kiểm tra nhật ký ứng dụng.
|
||||
hub.registerFailed.description.deviceAlreadyExists=Thiết bị này đã được đăng ký cho người dùng khác. Hãy thử tài khoản khác hoặc sử dụng một thiết bị khác.
|
||||
### Archived
|
||||
### Unauthorized
|
||||
hub.unauthorized.message=Truy cập bị từ chối
|
||||
hub.unauthorized.description=Bạn không được phép mở vault này. Vui lòng liên hệ với chủ sở hữu vault để yêu cầu quyền truy cập.
|
||||
@@ -391,7 +386,6 @@ stats.access.total=Tổng số lần truy cập: %d
|
||||
|
||||
# Main Window
|
||||
## Vault List
|
||||
main.vaultlist=Danh sách Vault
|
||||
main.vaultlist.emptyList.onboardingInstruction=Bấm vào đây để thêm vault
|
||||
main.vaultlist.contextMenu.remove=Xóa…
|
||||
main.vaultlist.contextMenu.lock=Khoá
|
||||
@@ -400,8 +394,8 @@ main.vaultlist.contextMenu.unlockNow=Mở khóa bây giờ
|
||||
main.vaultlist.contextMenu.vaultoptions=Hiện tùy chọn vault
|
||||
main.vaultlist.contextMenu.reveal=Hiển thị Ổ đĩa
|
||||
main.vaultlist.contextMenu.share=Chia sẻ…
|
||||
main.vaultlist.addVaultButton.tooltip=Thêm Vault
|
||||
##Notification
|
||||
main.vaultlist.showEventsButton.tooltip=Mở xem sự kiện
|
||||
##Notificaition
|
||||
main.notification.updateAvailable=Có bản cập nhật mới.
|
||||
main.notification.support=Hỗ trợ Cryptomator.
|
||||
## Vault Detail
|
||||
@@ -629,19 +623,19 @@ eventView.clearListButton.tooltip=Xóa danh sách
|
||||
eventView.entry.vaultLocked.description=Mở khóa "%s" để xem chi tiết
|
||||
eventView.entry.conflictResolved.message=Đã xử lý xung đột
|
||||
eventView.entry.conflictResolved.showDecrypted=Xem tệp đã giải mã
|
||||
eventView.entry.conflictResolved.copyDecrypted=Sao chép đường dẫn giải mã
|
||||
eventView.entry.conflict.message=Giải quyết xung đột thất bại
|
||||
eventView.entry.conflict.showDecrypted=Xem tệp gốc đã giải mã
|
||||
eventView.entry.conflict.copyDecrypted=Sao chép đường dẫn gốc đã giải mã
|
||||
eventView.entry.conflict.showEncrypted=Hiển thị tệp bị xung đột, đã mã hóa
|
||||
eventView.entry.conflict.copyEncrypted=Sao chép đường dẫn mã hóa bị xung đột
|
||||
eventView.entry.decryptionFailed.message=Giải mã thất bại
|
||||
eventView.entry.decryptionFailed.showEncrypted=Hiển thị tệp đã mã hóa
|
||||
eventView.entry.decryptionFailed.copyEncrypted=Sao chép đường dẫn tệp đã mã hóa
|
||||
eventView.entry.brokenDirFile.message=Liên kết thư mục hỏng
|
||||
eventView.entry.brokenDirFile.showEncrypted=Hiển thị liên kết mã hóa bị hỏng
|
||||
eventView.entry.brokenDirFile.copyEncrypted=Sao chép đường dẫn liên kết bị hỏng
|
||||
eventView.entry.brokenFileNode.message=Nút tập tin bị hỏng
|
||||
eventView.entry.brokenFileNode.showEncrypted=Hiển thị nút mã hóa bị hỏng
|
||||
eventView.entry.brokenFileNode.copyEncrypted=Sao chép đường dẫn nút mã hóa bị hỏng
|
||||
eventView.entry.brokenFileNode.copyDecrypted=Sao chép đường dẫn giải mã
|
||||
eventView.entry.inUse.showDecrypted=Xem tệp đã giải mã
|
||||
eventView.entry.inUse.showEncrypted=Hiển thị tệp đã mã hóa
|
||||
|
||||
|
||||
# Notifications
|
||||
## FileIsInUse Notification
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user