mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-14 16:51:28 +00:00
Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e0a3b7a9df | ||
|
|
4e3742c206 | ||
|
|
919257a99e | ||
|
|
ae6766fa79 | ||
|
|
2c42a9573e | ||
|
|
4baf05e684 | ||
|
|
61d84a0da7 | ||
|
|
799b2c91bf | ||
|
|
eee672f9ee | ||
|
|
9f4a7c8cce | ||
|
|
b9bbbc1f86 | ||
|
|
13e9775458 | ||
|
|
e9e5df6310 | ||
|
|
2808d777e0 | ||
|
|
9b8661fe3c | ||
|
|
63b40091ea | ||
|
|
0c47af2f15 | ||
|
|
5a735191a4 | ||
|
|
21d342d117 | ||
|
|
1b43bf395f | ||
|
|
71a575e079 | ||
|
|
c5b6d8f81f | ||
|
|
0c6ecef92b | ||
|
|
b565a5a3f4 | ||
|
|
ce9e1184ec | ||
|
|
c1c5367e2a | ||
|
|
55a0fe97d8 | ||
|
|
f7f1afbf7d | ||
|
|
14395516c5 | ||
|
|
9ef9499506 | ||
|
|
1ca803691b | ||
|
|
27aea6cce9 | ||
|
|
e2ff3f10c1 | ||
|
|
811b538668 | ||
|
|
c7c7cdfdce | ||
|
|
d4e0b4d07d | ||
|
|
445cb7e242 | ||
|
|
54a005a5c9 |
18
.github/workflows/release.yml
vendored
18
.github/workflows/release.yml
vendored
@@ -39,15 +39,11 @@ jobs:
|
||||
profile: mac
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-java@v1
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: ${{ env.JAVA_VERSION }}
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.m2/repository
|
||||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-maven-
|
||||
cache: 'maven'
|
||||
- name: Ensure to use tagged version
|
||||
run: mvn versions:set -DnewVersion=${GITHUB_REF##*/} # use shell parameter expansion to strip of 'refs/tags'
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
@@ -156,8 +152,9 @@ jobs:
|
||||
--resource-dir dist/mac/resources
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-java@v1
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: ${{ env.JAVA_VERSION }}
|
||||
- name: Download ${{ matrix.profile }}-buildkit
|
||||
uses: actions/download-artifact@v2
|
||||
@@ -207,7 +204,7 @@ jobs:
|
||||
ppa:
|
||||
name: Upload source package to PPA
|
||||
needs: [buildkit, metadata]
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: install build tools
|
||||
@@ -502,8 +499,9 @@ jobs:
|
||||
name: win-appdir
|
||||
- name: Untar appdir.tar
|
||||
run: tar -xvf appdir.tar
|
||||
- uses: actions/setup-java@v1
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: 'temurin'
|
||||
java-version: ${{ env.JAVA_VERSION }}
|
||||
- name: Patch Application Directory
|
||||
run: |
|
||||
|
||||
@@ -28,6 +28,14 @@ Cryptomator is provided free of charge as an open-source project despite the hig
|
||||
|
||||
### Silver Sponsors
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://mowcapital.com/"><img src="https://cryptomator.org/img/sponsors/mowcapital.svg" alt="Mow Capital" height="40"></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
- [Jameson Lopp](https://www.lopp.net/)
|
||||
|
||||
---
|
||||
|
||||
2
dist/linux/debian/changelog
vendored
2
dist/linux/debian/changelog
vendored
@@ -1,4 +1,4 @@
|
||||
cryptomator (${PPA_VERSION}) focal; urgency=low
|
||||
cryptomator (${PPA_VERSION}) bionic; urgency=low
|
||||
|
||||
* Full changelog can be found on https://github.com/cryptomator/cryptomator/releases
|
||||
|
||||
|
||||
3
dist/mac/dmg/.gitignore
vendored
3
dist/mac/dmg/.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
# created during build
|
||||
runtime/
|
||||
*.app/
|
||||
dmg/
|
||||
*.dmg
|
||||
|
||||
28
dist/mac/dmg/build.sh
vendored
28
dist/mac/dmg/build.sh
vendored
@@ -16,13 +16,14 @@ shift "$((OPTIND-1))"
|
||||
|
||||
# prepare working dir and variables
|
||||
cd $(dirname $0)
|
||||
rm -rf runtime *.app
|
||||
rm -rf runtime dmg
|
||||
REVISION_NO=`git rev-list --count HEAD`
|
||||
VERSION_NO=`mvn -f../../../pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout | sed -rn 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/p'`
|
||||
|
||||
# check preconditions
|
||||
if [ -z "${JAVA_HOME}" ]; then echo "JAVA_HOME not set. Run using JAVA_HOME=/path/to/jdk ./build.sh"; exit 1; fi
|
||||
command -v mvn >/dev/null 2>&1 || { echo >&2 "mvn not found."; exit 1; }
|
||||
command -v create-dmg >/dev/null 2>&1 || { echo >&2 "create-dmg not found."; exit 1; }
|
||||
if [ -n "${CODESIGN_IDENTITY}" ]; then
|
||||
command -v codesign >/dev/null 2>&1 || { echo >&2 "codesign not found. Fix by 'xcode-select --install'."; exit 1; }
|
||||
if [[ ! `security find-identity -v -p codesigning | grep -w "${CODESIGN_IDENTITY}"` ]]; then echo "Given codesign identity is invalid."; exit 1; fi
|
||||
@@ -59,6 +60,7 @@ ${JAVA_HOME}/bin/jpackage \
|
||||
--java-options "-Dcryptomator.appVersion=\"${VERSION_NO}\"" \
|
||||
--app-version "${VERSION_NO}" \
|
||||
--java-options "-Dfile.encoding=\"utf-8\"" \
|
||||
--java-options "-Dapple.awt.enableTemplateImages=true" \
|
||||
--java-options "-Dcryptomator.logDir=\"~/Library/Logs/Cryptomator\"" \
|
||||
--java-options "-Dcryptomator.pluginDir=\"~/Library/Application Support/Cryptomator/Plugins\"" \
|
||||
--java-options "-Dcryptomator.settingsPath=\"~/Library/Application Support/Cryptomator/settings.json\"" \
|
||||
@@ -94,3 +96,27 @@ if [ -n "${CODESIGN_IDENTITY}" ]; then
|
||||
echo "Codesigning Cryptomator.app..."
|
||||
codesign --force --deep --entitlements ../Cryptomator.entitlements -o runtime -s ${CODESIGN_IDENTITY} Cryptomator.app
|
||||
fi
|
||||
|
||||
# prepare dmg contents
|
||||
mkdir dmg
|
||||
mv Cryptomator.app dmg
|
||||
cp resources/macFUSE.webloc dmg
|
||||
|
||||
# create dmg
|
||||
create-dmg \
|
||||
--volname Cryptomator \
|
||||
--volicon "resources/Cryptomator-Volume.icns" \
|
||||
--background "resources/Cryptomator-background.tiff" \
|
||||
--window-pos 400 100 \
|
||||
--window-size 640 694 \
|
||||
--icon-size 128 \
|
||||
--icon "Cryptomator.app" 128 245 \
|
||||
--hide-extension "Cryptomator.app" \
|
||||
--icon "macFUSE.webloc" 320 501 \
|
||||
--hide-extension "macFUSE.webloc" \
|
||||
--app-drop-link 512 245 \
|
||||
--eula "resources/license.rtf" \
|
||||
--icon ".background" 128 758 \
|
||||
--icon ".fseventsd" 320 758 \
|
||||
--icon ".VolumeIcon.icns" 512 758 \
|
||||
Cryptomator-${VERSION_NO}.dmg dmg
|
||||
|
||||
3
dist/win/.gitignore
vendored
Normal file
3
dist/win/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
runtime
|
||||
Cryptomator
|
||||
installer
|
||||
2
dist/win/build.bat
vendored
Normal file
2
dist/win/build.bat
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
@echo off
|
||||
powershell -NoLogo -NoExit -ExecutionPolicy Unrestricted -Command .\build.ps1
|
||||
90
dist/win/build.ps1
vendored
Normal file
90
dist/win/build.ps1
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
# check preconditions
|
||||
if ((Get-Command "git" -ErrorAction SilentlyContinue) -eq $null)
|
||||
{
|
||||
Write-Host "Unable to find git.exe in your PATH (try: choco install git)"
|
||||
exit 1
|
||||
}
|
||||
if ((Get-Command "mvn" -ErrorAction SilentlyContinue) -eq $null)
|
||||
{
|
||||
Write-Host "Unable to find mvn.cmd in your PATH (try: choco install maven)"
|
||||
exit 1
|
||||
}
|
||||
|
||||
$buildDir = Split-Path -Parent $PSCommandPath
|
||||
$version = $(mvn -f $buildDir/../../pom.xml help:evaluate -Dexpression="project.version" -q -DforceStdout)
|
||||
$semVerNo = $version -replace '(\d\.\d\.\d).*','$1'
|
||||
$revisionNo = $(git rev-list --count HEAD)
|
||||
|
||||
Write-Output "`$version=$version"
|
||||
Write-Output "`$semVerNo=$semVerNo"
|
||||
Write-Output "`$revisionNo=$revisionNo"
|
||||
Write-Output "`$buildDir=$buildDir"
|
||||
Write-Output "`$Env:JAVA_HOME=$Env:JAVA_HOME"
|
||||
|
||||
# compile
|
||||
&mvn -B -f $buildDir/../../pom.xml clean package -DskipTests -Pwin
|
||||
Copy-Item "$buildDir\..\..\target\cryptomator-*.jar" -Destination "$buildDir\..\..\target\mods"
|
||||
|
||||
# add runtime
|
||||
& "$Env:JAVA_HOME\bin\jlink" `
|
||||
--verbose `
|
||||
--output runtime `
|
||||
--module-path "$Env:JAVA_HOME/jmods" `
|
||||
--add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility `
|
||||
--no-header-files `
|
||||
--no-man-pages `
|
||||
--strip-debug `
|
||||
--compress=1
|
||||
|
||||
# create app dir
|
||||
& "$Env:JAVA_HOME\bin\jpackage" `
|
||||
--verbose `
|
||||
--type app-image `
|
||||
--runtime-image runtime `
|
||||
--input ../../target/libs `
|
||||
--module-path ../../target/mods `
|
||||
--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator `
|
||||
--dest . `
|
||||
--name Cryptomator `
|
||||
--vendor "Skymatic GmbH" `
|
||||
--copyright "(C) 2016 - 2021 Skymatic GmbH" `
|
||||
--java-options "-Xss5m" `
|
||||
--java-options "-Xmx256m" `
|
||||
--java-options "-Dcryptomator.appVersion=`"$semVerNo`"" `
|
||||
--app-version "$semVerNo.$revisionNo" `
|
||||
--java-options "-Dfile.encoding=`"utf-8`"" `
|
||||
--java-options "-Dcryptomator.logDir=`"~/AppData/Roaming/Cryptomator`"" `
|
||||
--java-options "-Dcryptomator.pluginDir=`"~/AppData/Roaming/Cryptomator/Plugins`"" `
|
||||
--java-options "-Dcryptomator.settingsPath=`"~/AppData/Roaming/Cryptomator/settings.json`"" `
|
||||
--java-options "-Dcryptomator.ipcSocketPath=`"~/AppData/Roaming/Cryptomator/ipc.socket`"" `
|
||||
--java-options "-Dcryptomator.keychainPath=`"~/AppData/Roaming/Cryptomator/keychain.json`"" `
|
||||
--java-options "-Dcryptomator.mountPointsDir=`"~/Cryptomator`"" `
|
||||
--java-options "-Dcryptomator.showTrayIcon=true" `
|
||||
--java-options "-Dcryptomator.buildNumber=`"msi-$revisionNo`"" `
|
||||
--resource-dir resources `
|
||||
--icon resources/Cryptomator.ico
|
||||
|
||||
# patch app dir
|
||||
Copy-Item "contrib\*" -Destination "Cryptomator"
|
||||
attrib -r "Cryptomator\Cryptomator.exe"
|
||||
|
||||
# create .msi bundle
|
||||
$Env:JP_WIXWIZARD_RESOURCES = "$buildDir\resources"
|
||||
& "$Env:JAVA_HOME\bin\jpackage" `
|
||||
--verbose `
|
||||
--type msi `
|
||||
--win-upgrade-uuid bda45523-42b1-4cae-9354-a45475ed4775 `
|
||||
--app-image Cryptomator `
|
||||
--dest installer `
|
||||
--name Cryptomator `
|
||||
--vendor "Skymatic GmbH" `
|
||||
--copyright "(C) 2016 - 2021 Skymatic GmbH" `
|
||||
--app-version "$semVerNo" `
|
||||
--win-menu `
|
||||
--win-dir-chooser `
|
||||
--win-shortcut-prompt `
|
||||
--win-update-url "https:\\cryptomator.org" `
|
||||
--win-menu-group Cryptomator `
|
||||
--resource-dir resources `
|
||||
--license-file resources/license.rtf `
|
||||
--file-associations resources/FAvaultFile.properties
|
||||
3
dist/win/contrib/patchWebDAV.bat
vendored
Normal file
3
dist/win/contrib/patchWebDAV.bat
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
@echo off
|
||||
cd %~dp0
|
||||
powershell -NoLogo -NonInteractive -ExecutionPolicy Unrestricted -Command .\patchWebDAV.ps1
|
||||
61
dist/win/contrib/patchWebDAV.ps1
vendored
Normal file
61
dist/win/contrib/patchWebDAV.ps1
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
#Requires -RunAsAdministrator
|
||||
|
||||
# Adds for address 127.0.0.1 the 'cryptomator-vault' alias to the hosts file
|
||||
function Add-AliasToHost {
|
||||
$sysdir = [Environment]::SystemDirectory
|
||||
$hostsFile = "$sysdir\drivers\etc\hosts"
|
||||
$aliasLine = '127.0.0.1 cryptomator-vault'
|
||||
|
||||
foreach ($line in Get-Content $hostsFile) {
|
||||
if ($line -eq $aliasLine){
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
Add-Content -Path $hostsFile -Encoding ascii -Value "`r`n$aliasLine"
|
||||
}
|
||||
|
||||
|
||||
# Sets in the registry the webclient file size limit to the maximum value
|
||||
function Set-WebDAVFileSizeLimit {
|
||||
# Set variables to indicate value and key to set
|
||||
$RegistryPath = 'HKLM:\SYSTEM\CurrentControlSet\Services\WebClient\Parameters'
|
||||
$Name = 'FileSizeLimitInBytes'
|
||||
$Value = '0xffffffff'
|
||||
|
||||
# Create the key if it does not exist
|
||||
If (-NOT (Test-Path $RegistryPath)) {
|
||||
New-Item -Path $RegistryPath -Force | Out-Null
|
||||
}
|
||||
|
||||
# Now set the value
|
||||
New-ItemProperty -Path $RegistryPath -Name $Name -Value $Value -PropertyType DWORD -Force | Out-Null
|
||||
}
|
||||
|
||||
|
||||
# Changes the network provider order such that the builtin Windows webclient is always first
|
||||
function Edit-ProviderOrder {
|
||||
$RegistryPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder'
|
||||
$Name = 'ProviderOrder'
|
||||
$WebClientString = 'webclient'
|
||||
|
||||
$CurrentOrder = (Get-ItemProperty $RegistryPath $Name).$Name
|
||||
|
||||
$OrderWithoutWebclientArray = $CurrentOrder -split ',' | Where-Object {$_ -ne $WebClientString}
|
||||
$WebClientArray = @($WebClientString)
|
||||
|
||||
$UpdatedOrder = ($WebClientArray + $OrderWithoutWebclientArray) -join ","
|
||||
New-ItemProperty -Path $RegistryPath -Name $Name -Value $UpdatedOrder -PropertyType String -Force | Out-Null
|
||||
}
|
||||
|
||||
|
||||
Add-AliasToHost
|
||||
Write-Output 'Ensured alias exists in hosts file'
|
||||
|
||||
Set-WebDAVFileSizeLimit
|
||||
Write-Output 'Set WebDAV file size limit'
|
||||
|
||||
Edit-ProviderOrder
|
||||
Write-Output 'Ensured correct provider order'
|
||||
|
||||
exit 0
|
||||
5
dist/win/resources/main.wxs
vendored
5
dist/win/resources/main.wxs
vendored
@@ -124,6 +124,9 @@
|
||||
<CustomAction Id="JpSetARPURLUPDATEINFO" Property="ARPURLUPDATEINFO" Value="$(var.JpUpdateURL)" />
|
||||
<?endif?>
|
||||
|
||||
<!-- WebDAV patches -->
|
||||
<CustomAction Id="PatchWebDAV" Impersonate="no" ExeCommand="[INSTALLDIR]patchWebDAV.bat" Directory="INSTALLDIR" Execute="deferred" Return="asyncWait" />
|
||||
|
||||
<?ifdef JpIcon ?>
|
||||
<Property Id="ARPPRODUCTICON" Value="JpARPPRODUCTICON"/>
|
||||
<Icon Id="JpARPPRODUCTICON" SourceFile="$(var.JpIcon)"/>
|
||||
@@ -153,6 +156,8 @@
|
||||
<Custom Action="JpDisallowDowngrade" After="FindRelatedProducts">JP_DOWNGRADABLE_FOUND</Custom>
|
||||
<?endif?>
|
||||
<RemoveExistingProducts Before="CostInitialize"/>
|
||||
|
||||
<Custom Action="PatchWebDAV" After="InstallFiles">NOT Installed OR REINSTALL</Custom>
|
||||
</InstallExecuteSequence>
|
||||
|
||||
<WixVariable Id="WixUIBannerBmp" Value="$(env.JP_WIXWIZARD_RESOURCES)\banner.bmp" />
|
||||
|
||||
14
pom.xml
14
pom.xml
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.cryptomator</groupId>
|
||||
<artifactId>cryptomator</artifactId>
|
||||
<version>1.6.2</version>
|
||||
<version>1.6.4</version>
|
||||
<name>Cryptomator Desktop App</name>
|
||||
|
||||
<organization>
|
||||
@@ -27,8 +27,8 @@
|
||||
<nonModularGroupIds>com.github.serceman,com.github.jnr,org.ow2.asm,net.java.dev.jna,org.apache.jackrabbit,org.apache.httpcomponents,de.swiesend,org.purejava,com.github.hypfvieh</nonModularGroupIds>
|
||||
|
||||
<!-- cryptomator dependencies -->
|
||||
<cryptomator.cryptofs.version>2.1.1</cryptomator.cryptofs.version>
|
||||
<cryptomator.integrations.version>1.0.0</cryptomator.integrations.version>
|
||||
<cryptomator.cryptofs.version>2.3.0</cryptomator.cryptofs.version>
|
||||
<cryptomator.integrations.version>1.1.0-beta1</cryptomator.integrations.version>
|
||||
<cryptomator.integrations.win.version>1.0.0</cryptomator.integrations.win.version>
|
||||
<cryptomator.integrations.mac.version>1.0.0</cryptomator.integrations.mac.version>
|
||||
<cryptomator.integrations.linux.version>1.0.1</cryptomator.integrations.linux.version>
|
||||
@@ -37,16 +37,16 @@
|
||||
<cryptomator.webdav.version>1.2.6</cryptomator.webdav.version>
|
||||
|
||||
<!-- 3rd party dependencies -->
|
||||
<javafx.version>17.0.0.1</javafx.version>
|
||||
<javafx.version>17.0.1</javafx.version>
|
||||
<commons-lang3.version>3.12.0</commons-lang3.version>
|
||||
<jwt.version>3.18.2</jwt.version>
|
||||
<easybind.version>2.2</easybind.version>
|
||||
<guava.version>31.0-jre</guava.version>
|
||||
<dagger.version>2.39</dagger.version>
|
||||
<gson.version>2.8.8</gson.version>
|
||||
<dagger.version>2.40.3</dagger.version>
|
||||
<gson.version>2.8.9</gson.version>
|
||||
<zxcvbn.version>1.5.2</zxcvbn.version>
|
||||
<slf4j.version>1.7.32</slf4j.version>
|
||||
<logback.version>1.2.6</logback.version>
|
||||
<logback.version>1.2.7</logback.version>
|
||||
|
||||
<!-- test dependencies -->
|
||||
<junit.jupiter.version>5.8.1</junit.jupiter.version>
|
||||
|
||||
@@ -49,6 +49,12 @@ public class KeychainManager implements KeychainAccessProvider {
|
||||
setPassphraseStored(key, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void storePassphrase(String key, String displayName, CharSequence passphrase) throws KeychainAccessException {
|
||||
getKeychainOrFail().storePassphrase(key, displayName, passphrase);
|
||||
setPassphraseStored(key, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public char[] loadPassphrase(String key) throws KeychainAccessException {
|
||||
char[] passphrase = getKeychainOrFail().loadPassphrase(key);
|
||||
@@ -70,6 +76,14 @@ public class KeychainManager implements KeychainAccessProvider {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changePassphrase(String key, String displayName, CharSequence passphrase) throws KeychainAccessException {
|
||||
if (isPassphraseStored(key)) {
|
||||
getKeychainOrFail().changePassphrase(key, displayName, passphrase);
|
||||
setPassphraseStored(key, true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSupported() {
|
||||
return keychain.getValue() != null;
|
||||
|
||||
@@ -44,10 +44,8 @@ import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.Comparator;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
import static java.nio.charset.StandardCharsets.US_ASCII;
|
||||
import static org.cryptomator.common.Constants.MASTERKEY_FILENAME;
|
||||
@@ -197,28 +195,12 @@ public class CreateNewVaultPasswordController implements FxController {
|
||||
} catch (CryptoException e) {
|
||||
throw new IOException("Failed initialize vault.", e);
|
||||
}
|
||||
} finally {
|
||||
AtomicBoolean cleanupFailed = new AtomicBoolean(false);
|
||||
Files.walk(path)
|
||||
.sorted(Comparator.reverseOrder())
|
||||
.forEach(p -> {
|
||||
try {
|
||||
Files.deleteIfExists(p);
|
||||
} catch (IOException e) {
|
||||
cleanupFailed.set(false);
|
||||
}
|
||||
});
|
||||
if(cleanupFailed.get()) {
|
||||
LOG.warn("Failed to cleanup after failed vault creation at {}. Leftovers need to be deleted manually.", path);
|
||||
}
|
||||
}
|
||||
|
||||
// 4. write vault-external readme file:
|
||||
String storagePathReadmeFileName = resourceBundle.getString("addvault.new.readme.storageLocation.fileName");
|
||||
try (WritableByteChannel ch = Files.newByteChannel(path.resolve(storagePathReadmeFileName), StandardOpenOption.CREATE_NEW, StandardOpenOption.WRITE)) {
|
||||
ch.write(US_ASCII.encode(readmeGenerator.createVaultStorageLocationReadmeRtf()));
|
||||
} catch (IOException e) {
|
||||
LOG.warn("Unable to create vault storage location readme.", e);
|
||||
}
|
||||
|
||||
LOG.info("Created vault at {}", path);
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.cryptomator.ui.changepassword;
|
||||
|
||||
import org.cryptomator.common.keychain.KeychainManager;
|
||||
import org.cryptomator.common.vaults.Vault;
|
||||
import org.cryptomator.cryptofs.common.MasterkeyBackupHelper;
|
||||
import org.cryptomator.cryptofs.common.BackupHelper;
|
||||
import org.cryptomator.cryptolib.api.CryptoException;
|
||||
import org.cryptomator.cryptolib.api.InvalidPassphraseException;
|
||||
import org.cryptomator.cryptolib.common.MasterkeyFileAccess;
|
||||
@@ -83,7 +83,7 @@ public class ChangePasswordController implements FxController {
|
||||
Path masterkeyPath = vault.getPath().resolve(MASTERKEY_FILENAME);
|
||||
byte[] oldMasterkeyBytes = Files.readAllBytes(masterkeyPath);
|
||||
byte[] newMasterkeyBytes = masterkeyFileAccess.changePassphrase(oldMasterkeyBytes, oldPassphrase, newPassphrase);
|
||||
Path backupKeyPath = vault.getPath().resolve(MASTERKEY_FILENAME + MasterkeyBackupHelper.generateFileIdSuffix(oldMasterkeyBytes) + MASTERKEY_BACKUP_SUFFIX);
|
||||
Path backupKeyPath = vault.getPath().resolve(MASTERKEY_FILENAME + BackupHelper.generateFileIdSuffix(oldMasterkeyBytes) + MASTERKEY_BACKUP_SUFFIX);
|
||||
Files.move(masterkeyPath, backupKeyPath, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.ATOMIC_MOVE);
|
||||
Files.write(masterkeyPath, newMasterkeyBytes, StandardOpenOption.CREATE_NEW, StandardOpenOption.WRITE);
|
||||
LOG.info("Successfully changed password for {}", vault.getDisplayName());
|
||||
@@ -102,7 +102,7 @@ public class ChangePasswordController implements FxController {
|
||||
private void updatePasswordInSystemkeychain() {
|
||||
if (keychain.isSupported() && !keychain.isLocked()) {
|
||||
try {
|
||||
keychain.changePassphrase(vault.getId(), newPasswordController.passwordField.getCharacters());
|
||||
keychain.changePassphrase(vault.getId(), vault.getDisplayName(), newPasswordController.passwordField.getCharacters());
|
||||
LOG.info("Successfully updated password in system keychain for {}", vault.getDisplayName());
|
||||
} catch (KeychainAccessException e) {
|
||||
LOG.error("Failed to update password in system keychain.", e);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.cryptomator.ui.common;
|
||||
|
||||
import org.cryptomator.common.Environment;
|
||||
import org.cryptomator.common.ErrorCode;
|
||||
import org.cryptomator.common.Nullable;
|
||||
|
||||
@@ -25,7 +26,11 @@ public class ErrorController implements FxController {
|
||||
private static final String REPORT_URL_FORMAT = "https://github.com/cryptomator/cryptomator/discussions/new?category=Errors&title=Error+%s&body=%s";
|
||||
private static final String SEARCH_ERRORCODE_DELIM = " OR ";
|
||||
private static final String REPORT_BODY_TEMPLATE = """
|
||||
OS: %s / %s
|
||||
App: %s / %s
|
||||
|
||||
<!-- ✏️ Please describe what happened as accurately as possible. -->
|
||||
|
||||
<!-- 📋 Please also copy and paste the detail text from the error window. -->
|
||||
""";
|
||||
|
||||
@@ -34,16 +39,18 @@ public class ErrorController implements FxController {
|
||||
private final ErrorCode errorCode;
|
||||
private final Scene previousScene;
|
||||
private final Stage window;
|
||||
private final Environment environment;
|
||||
|
||||
private BooleanProperty copiedDetails = new SimpleBooleanProperty();
|
||||
|
||||
@Inject
|
||||
ErrorController(Application application, @Named("stackTrace") String stackTrace, ErrorCode errorCode, @Nullable Scene previousScene, Stage window) {
|
||||
ErrorController(Application application, @Named("stackTrace") String stackTrace, ErrorCode errorCode, @Nullable Scene previousScene, Stage window, Environment environment) {
|
||||
this.application = application;
|
||||
this.stackTrace = stackTrace;
|
||||
this.errorCode = errorCode;
|
||||
this.previousScene = previousScene;
|
||||
this.window = window;
|
||||
this.environment = environment;
|
||||
}
|
||||
|
||||
@FXML
|
||||
@@ -67,7 +74,12 @@ public class ErrorController implements FxController {
|
||||
@FXML
|
||||
public void reportError() {
|
||||
var title = URLEncoder.encode(getErrorCode(), StandardCharsets.UTF_8);
|
||||
var body = URLEncoder.encode(REPORT_BODY_TEMPLATE, StandardCharsets.UTF_8);
|
||||
var enhancedTemplate = String.format(REPORT_BODY_TEMPLATE, //
|
||||
System.getProperty("os.name"), //
|
||||
System.getProperty("os.version"), //
|
||||
environment.getAppVersion().orElse("undefined"), //
|
||||
environment.getBuildNumber().orElse("undefined"));
|
||||
var body = URLEncoder.encode(enhancedTemplate, StandardCharsets.UTF_8);
|
||||
application.getHostServices().showDocument(REPORT_URL_FORMAT.formatted(title, body));
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,11 @@ public class UserInteractionLock<E extends Enum> {
|
||||
private volatile E state;
|
||||
|
||||
public UserInteractionLock(E initialValue) {
|
||||
state = initialValue;
|
||||
this.state = initialValue;
|
||||
}
|
||||
|
||||
public synchronized void reset(E value) {
|
||||
this.state = value;
|
||||
}
|
||||
|
||||
public void interacted(E result) {
|
||||
|
||||
@@ -47,7 +47,7 @@ class MasterkeyFileLoadingFinisher {
|
||||
private void savePasswordToSystemkeychain() {
|
||||
if (keychain.isSupported()) {
|
||||
try {
|
||||
keychain.storePassphrase(vault.getId(), CharBuffer.wrap(enteredPassword.get()));
|
||||
keychain.storePassphrase(vault.getId(), vault.getDisplayName(), CharBuffer.wrap(enteredPassword.get()));
|
||||
} catch (KeychainAccessException e) {
|
||||
LOG.error("Failed to store passphrase in system keychain.", e);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.cryptomator.ui.keyloading.masterkeyfile;
|
||||
import com.google.common.base.Preconditions;
|
||||
import dagger.Lazy;
|
||||
import org.cryptomator.common.vaults.Vault;
|
||||
import org.cryptomator.cryptofs.common.BackupHelper;
|
||||
import org.cryptomator.cryptolib.api.InvalidPassphraseException;
|
||||
import org.cryptomator.cryptolib.api.Masterkey;
|
||||
import org.cryptomator.cryptolib.api.MasterkeyLoadingFailedException;
|
||||
@@ -20,6 +21,7 @@ import javafx.application.Platform;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.stage.Window;
|
||||
import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.nio.CharBuffer;
|
||||
import java.nio.file.Files;
|
||||
@@ -61,14 +63,24 @@ public class MasterkeyFileLoadingStrategy implements KeyLoadingStrategy {
|
||||
@Override
|
||||
public Masterkey loadKey(URI keyId) throws MasterkeyLoadingFailedException {
|
||||
Preconditions.checkArgument(SCHEME.equalsIgnoreCase(keyId.getScheme()), "Only supports keys with scheme " + SCHEME);
|
||||
|
||||
try {
|
||||
Path filePath = vault.getPath().resolve(keyId.getSchemeSpecificPart());
|
||||
if (!Files.exists(filePath)) {
|
||||
filePath = getAlternateMasterkeyFilePath();
|
||||
}
|
||||
CharSequence passphrase = getPassphrase();
|
||||
return masterkeyFileAccess.load(filePath, passphrase);
|
||||
var masterkey = masterkeyFileAccess.load(filePath, passphrase);
|
||||
//backup
|
||||
if (filePath.startsWith(vault.getPath())) {
|
||||
try {
|
||||
BackupHelper.attemptBackup(filePath);
|
||||
} catch (IOException e) {
|
||||
LOG.warn("Unable to create backup for masterkey file.");
|
||||
}
|
||||
} else {
|
||||
LOG.info("Masterkey file not stored inside vault. Not creating a backup.");
|
||||
}
|
||||
return masterkey;
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
throw new UnlockCancelledException("Unlock interrupted", e);
|
||||
|
||||
@@ -35,7 +35,13 @@ public class LockForcedController implements FxController {
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void confirmForcedLock() {
|
||||
public void retry() {
|
||||
forceLockDecisionLock.interacted(LockModule.ForceLockDecision.RETRY);
|
||||
window.close();
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void force() {
|
||||
forceLockDecisionLock.interacted(LockModule.ForceLockDecision.FORCE);
|
||||
window.close();
|
||||
}
|
||||
@@ -54,4 +60,8 @@ public class LockForcedController implements FxController {
|
||||
return vault.getDisplayName();
|
||||
}
|
||||
|
||||
public boolean isForceSupported() {
|
||||
return vault.supportsForcedUnmount();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ abstract class LockModule {
|
||||
|
||||
enum ForceLockDecision {
|
||||
CANCEL,
|
||||
RETRY,
|
||||
FORCE;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,20 +51,26 @@ public class LockWorkflow extends Task<Void> {
|
||||
|
||||
@Override
|
||||
protected Void call() throws Volume.VolumeException, InterruptedException, LockNotCompletedException {
|
||||
try {
|
||||
vault.lock(false);
|
||||
} catch (Volume.VolumeException | LockNotCompletedException e) {
|
||||
LOG.debug("Regular lock of {} failed.", vault.getDisplayName(), e);
|
||||
var decision = askUserForAction();
|
||||
switch (decision) {
|
||||
case FORCE -> vault.lock(true);
|
||||
case CANCEL -> cancel(false);
|
||||
}
|
||||
}
|
||||
lock(false);
|
||||
return null;
|
||||
}
|
||||
|
||||
private void lock(boolean forced) throws InterruptedException {
|
||||
try {
|
||||
vault.lock(forced);
|
||||
} catch (Volume.VolumeException | LockNotCompletedException e) {
|
||||
LOG.info("Locking {} failed (forced: {}).", vault.getDisplayName(), forced, e);
|
||||
var decision = askUserForAction();
|
||||
switch (decision) {
|
||||
case RETRY -> lock(false);
|
||||
case FORCE -> lock(true);
|
||||
case CANCEL -> cancel(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private LockModule.ForceLockDecision askUserForAction() throws InterruptedException {
|
||||
forceLockDecisionLock.reset(null);
|
||||
// show forcedLock dialogue ...
|
||||
Platform.runLater(() -> {
|
||||
lockWindow.setScene(lockForcedScene.get());
|
||||
|
||||
@@ -34,10 +34,10 @@ public class SupporterCertificateController implements FxController {
|
||||
public void initialize() {
|
||||
supporterCertificateField.setText(licenseHolder.getLicenseKey().orElse(null));
|
||||
supporterCertificateField.textProperty().addListener(this::registrationKeyChanged);
|
||||
supporterCertificateField.setTextFormatter(new TextFormatter<>(this::checkVaultNameLength));
|
||||
supporterCertificateField.setTextFormatter(new TextFormatter<>(this::removeWhitespaces));
|
||||
}
|
||||
|
||||
private TextFormatter.Change checkVaultNameLength(TextFormatter.Change change) {
|
||||
private TextFormatter.Change removeWhitespaces(TextFormatter.Change change) {
|
||||
if (change.isContentChange()) {
|
||||
var strippedText = CharMatcher.whitespace().removeFrom(change.getText());
|
||||
change.setText(strippedText);
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.cryptomator.ui.recoverykey;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.hash.Hashing;
|
||||
import org.cryptomator.cryptofs.common.MasterkeyBackupHelper;
|
||||
import org.cryptomator.cryptofs.common.BackupHelper;
|
||||
import org.cryptomator.cryptolib.api.CryptoException;
|
||||
import org.cryptomator.cryptolib.api.InvalidPassphraseException;
|
||||
import org.cryptomator.cryptolib.api.Masterkey;
|
||||
@@ -86,7 +86,7 @@ public class RecoveryKeyFactory {
|
||||
if (Files.exists(masterkeyPath)) {
|
||||
byte[] oldMasterkeyBytes = Files.readAllBytes(masterkeyPath);
|
||||
// TODO: deduplicate with ChangePasswordController:
|
||||
Path backupKeyPath = vaultPath.resolve(MASTERKEY_FILENAME + MasterkeyBackupHelper.generateFileIdSuffix(oldMasterkeyBytes) + MASTERKEY_BACKUP_SUFFIX);
|
||||
Path backupKeyPath = vaultPath.resolve(MASTERKEY_FILENAME + BackupHelper.generateFileIdSuffix(oldMasterkeyBytes) + MASTERKEY_BACKUP_SUFFIX);
|
||||
Files.move(masterkeyPath, backupKeyPath, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.ATOMIC_MOVE);
|
||||
}
|
||||
masterkeyFileAccess.persist(masterkey, masterkeyPath, newPassword);
|
||||
|
||||
@@ -47,7 +47,7 @@ public class GeneralVaultOptionsController implements FxController {
|
||||
public void initialize() {
|
||||
vaultName.textProperty().set(vault.getVaultSettings().displayName().get());
|
||||
vaultName.focusedProperty().addListener(this::trimVaultNameOnFocusLoss);
|
||||
vaultName.setTextFormatter(new TextFormatter<>(this::removeWhitespaces));
|
||||
vaultName.setTextFormatter(new TextFormatter<>(this::checkVaultNameLength));
|
||||
unlockOnStartupCheckbox.selectedProperty().bindBidirectional(vault.getVaultSettings().unlockAfterStartup());
|
||||
actionAfterUnlockChoiceBox.getItems().addAll(WhenUnlocked.values());
|
||||
actionAfterUnlockChoiceBox.valueProperty().bindBidirectional(vault.getVaultSettings().actionAfterUnlock());
|
||||
@@ -63,7 +63,7 @@ public class GeneralVaultOptionsController implements FxController {
|
||||
}
|
||||
}
|
||||
|
||||
private TextFormatter.Change removeWhitespaces(TextFormatter.Change change) {
|
||||
private TextFormatter.Change checkVaultNameLength(TextFormatter.Change change) {
|
||||
if (change.isContentChange() && change.getControlNewText().length() > VAULTNAME_TRUNCATE_THRESHOLD) {
|
||||
return null; // reject any change that would lead to a text exceeding threshold
|
||||
} else {
|
||||
|
||||
@@ -33,11 +33,11 @@
|
||||
</HBox>
|
||||
|
||||
<VBox alignment="BOTTOM_CENTER" VBox.vgrow="ALWAYS">
|
||||
<ButtonBar buttonMinWidth="120" buttonOrder="+CI">
|
||||
<ButtonBar buttonMinWidth="100" buttonOrder="+CIU">
|
||||
<buttons>
|
||||
<Button text="%generic.button.cancel" ButtonBar.buttonData="CANCEL_CLOSE" defaultButton="true" cancelButton="true" onAction="#cancel"/>
|
||||
<!-- TODO: third button with retry? -->
|
||||
<Button text="%lock.forced.confirmBtn" ButtonBar.buttonData="FINISH" onAction="#confirmForcedLock"/>
|
||||
<Button text="%lock.forced.retryBtn" ButtonBar.buttonData="FINISH" onAction="#retry"/>
|
||||
<Button text="%lock.forced.forceBtn" ButtonBar.buttonData="OTHER" onAction="#force" disable="${!controller.forceSupported}"/>
|
||||
</buttons>
|
||||
</ButtonBar>
|
||||
</VBox>
|
||||
|
||||
@@ -118,9 +118,10 @@ unlock.error.invalidMountPoint.existing=Mount point "%s" already exists or paren
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Graceful lock failed
|
||||
lock.forced.heading=Lock failed
|
||||
lock.forced.message=Locking "%s" was blocked by pending operations or open files. You can force lock this vault, however interrupting I/O may result in the loss of unsaved data.
|
||||
lock.forced.confirmBtn=Force Lock
|
||||
lock.forced.retryBtn=Retry
|
||||
lock.forced.forceBtn=Force Lock
|
||||
## Failure
|
||||
lock.fail.heading=Locking vault failed.
|
||||
lock.fail.message=Vault "%s" could not be locked. Ensure unsaved work is saved elsewhere and important Read/Write operations are finished. In order to close the vault, kill the Cryptomator process.
|
||||
|
||||
@@ -70,9 +70,7 @@ addvault.new.readme.accessLocation.2=هذا هو موقع الوصول للخر
|
||||
addvault.new.readme.accessLocation.3=سيتم تشفير أي ملفات تضاف إلى هذا المجلد من قبل Cryptomator. يمكنك العمل عليه كأي مجلد آخر. هذه فقط طريقة عرض غير مشفرة لمحتوياتها، ملفاتك تبقى مشفرة على القرص الصلب الخاص بك طوال الوقت.
|
||||
addvault.new.readme.accessLocation.4=لا تتردد في إزالة هذا الملف.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=اختر ملف "masterkey.cryptomator" الخاص بالخزنة الموجودة لديك سابقاً.
|
||||
addvaultwizard.existing.chooseBtn=اختر…
|
||||
addvaultwizard.existing.filePickerTitle=اختر ملف الـ Masterkey
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=تم إضافة مخزن "%s".\nتحتاج إلى فتح هذا المخزن للوصول أو إضافة محتويات إليه. بدلاً من ذلك، يمكنك فتحه في أي وقت لاحق.
|
||||
addvaultwizard.success.unlockNow=افتح الان
|
||||
@@ -110,9 +108,8 @@ unlock.error.invalidMountPoint.existing=نقطة/مجلد التحميل موج
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=فشل عملية القفل
|
||||
lock.forced.message=تم حظر قفل "%s" بواسطة العمليات المعلقة أو الملفات المفتوحة. يمكنك فرض قفل هذا المخزن، ولكن مقاطعة عمليات الادخال والاخراج I/O قد تؤدي لفقدان البيانات غير المحفوظة.
|
||||
lock.forced.confirmBtn=فرض القفل
|
||||
lock.forced.retryBtn=اعد المحاولة
|
||||
## Failure
|
||||
lock.fail.heading=فشلت عملية اقفال الخزنة.
|
||||
lock.fail.message=فشل عملية قفل %s". تأكد من حفظ العمل غير المحفوظ في مكان آخر وأن العمليات الهامة للقراءة/الكتابة قد انتهت. من أجل إغلاق المخزن، اقتل تطبيق Cryptomator.
|
||||
|
||||
@@ -70,9 +70,7 @@ addvault.new.readme.accessLocation.2=Ovo je pristupna lokacija vašeg sefa.
|
||||
addvault.new.readme.accessLocation.3=Sve datoteke dodane u ovaj prostor enkriptovati će Cryptomator. Na njemu možete raditi kao na bilo kojem drugom pogonu / folderu. Ovo je samo dešifrirani prikaz njegovog sadržaja, vaše datoteke stalno ostaju enkriptovane na vašem disku.
|
||||
addvault.new.readme.accessLocation.4=Slobodno uklonite ovu datoteku.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Odaberite datoteku "masterkey.cryptomator" vašeg postojećeg sefa.
|
||||
addvaultwizard.existing.chooseBtn=Odaberi…
|
||||
addvaultwizard.existing.filePickerTitle=Odaberite Masterkey Datoteku
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Dodan je sef "%s".\nZa pristup ili dodavanje sadržaja morate otključati ovaj sef. Možete ga otključati u bilo kojem kasnijem trenutku.
|
||||
addvaultwizard.success.unlockNow=Otključaj sada
|
||||
@@ -110,9 +108,7 @@ unlock.error.invalidMountPoint.existing=Tačka povezivanja "%s" već postoji ili
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Zaključavanje nije uspjelo
|
||||
lock.forced.message=Zaključavanje "%s" blokirano je operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid U / I-a može rezultirati gubitkom nespremljenih podataka.
|
||||
lock.forced.confirmBtn=Prisilno zaključaj
|
||||
## Failure
|
||||
lock.fail.heading=Zaključavanje sefa nije uspjelo.
|
||||
lock.fail.message=Sef "%s" nije moguće zaključati. Osigurajte da je nespremljeni rad sačuvan negdje drugdje i da su važne operacije čitanja / pisanja završene. Da biste zatvorili sef, zaustavite Cryptomator proces.
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Aquesta és la ubicació d'accès de la vos
|
||||
addvault.new.readme.accessLocation.3=Cryptomator xifra tots els fitxers afegits a aquest volum. Podeu treballar en aquest volum com en qualsevol altra unitat o carpeta. La vista mostra el contingut desxifrat però els fitxers sempre estan xifrats en el vostre disc dur.
|
||||
addvault.new.readme.accessLocation.4=Pots esborrar aquest fitxer si vols.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Seleccioneu el fitxer "masterkey.cryptomator" de la vostra caixa forta.
|
||||
addvaultwizard.existing.instruction=Selecciona el fitxer "vault.cryptomator" de la teva caixa forta. Si només existeix un fitxer anomenat "masterkey.cryptomator", selecciona aquest.
|
||||
addvaultwizard.existing.chooseBtn=Trieu…
|
||||
addvaultwizard.existing.filePickerTitle=Seleccioneu el fitxer Masterkey
|
||||
addvaultwizard.existing.filePickerTitle=Selecciona el fitxer de la Caixa forta
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=S'ha afegit la caixa forta "%s".\nHeu de desbloquejar-la si voleu accedir-hi o afegir nou contingut. També podeu desbloquejar-la en qualsevol altre moment.
|
||||
addvaultwizard.success.unlockNow=Desbloqueja ara
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=El punt de muntatge o la carpeta ja exis
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Ha fallat el blocatge
|
||||
lock.forced.heading=El bloqueig ha fallat
|
||||
lock.forced.message=No s'ha blocat "%s" perquè hi ha operacions pendents o fitxers oberts. Podeu forçar-ne el blocatge però heu de saber que interrompre l'entrada/sortida pot produir la pèrdua de dades.
|
||||
lock.forced.confirmBtn=Força el blocatge
|
||||
lock.forced.retryBtn=Reintenta
|
||||
lock.forced.forceBtn=Forçar bloqueig
|
||||
## Failure
|
||||
lock.fail.heading=Ha fallat el blocatge de la caixa forta.
|
||||
lock.fail.message=La caixa forta "%s" no s'ha pogut blocar. Assegureu-vos que el treball s'ha desat en algun altre lloc i que les operacions de lectura/escriptura han acabat. Per tal de tancar la caixa, mateu el procés Cryptomator.
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Toto je místo přístupu vašeho trezoru.
|
||||
addvault.new.readme.accessLocation.3=Všechny soubory přidané do tohoto svazku budou šifrovány Cryptomatorem. Můžete na něm pracovat na jiném disku/složce. Toto je pouze dešifrovaný pohled na jeho obsah, vaše soubory zůstávají na pevném disku stále zašifrovány.
|
||||
addvault.new.readme.accessLocation.4=Tento soubor můžete odstranit.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Vyberte soubor "masterkey.cryptomator" z vašeho stávajícího trezoru.
|
||||
addvaultwizard.existing.instruction=Vyberte soubor "vault.cryptomator" z existujícího trezoru. Pokud existuje pouze soubor s názvem "masterkey.cryptomator", vyberte jej.
|
||||
addvaultwizard.existing.chooseBtn=Vybrat...
|
||||
addvaultwizard.existing.filePickerTitle=Vyberte soubor s hlavním klíčem
|
||||
addvaultwizard.existing.filePickerTitle=Vyberte soubor trezoru
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Vytvořen trezor "%s".\nNejprve odemkněte tento trezor, pak do něj můžete přidat svůj obsah. Nebo jej můžete odemknout kdykoliv v budoucnu.
|
||||
addvaultwizard.success.unlockNow=Odemknout nyní
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Připojovací bod %s již existuje nebo
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Běžné uzamčení selhalo
|
||||
lock.forced.heading=Zamknutí se nezdařilo
|
||||
lock.forced.message=Uzamčení "%s" bylo zablokováno nevyřízenými operacemi nebo otevřenými soubory. Můžete vynutit uzamčení tohoto trezoru, ale přerušení I/O může mít za následek ztrátu neuložených dat.
|
||||
lock.forced.confirmBtn=Přesto uzamknout
|
||||
lock.forced.retryBtn=Opakovat
|
||||
lock.forced.forceBtn=Přesto uzamknout
|
||||
## Failure
|
||||
lock.fail.heading=Uzamčení trezoru selhalo.
|
||||
lock.fail.message=Trezor "%s" nelze uzamknout. Ujistěte se, že je neuložená práce uložena jinde a že jsou dokončeny důležité operace čtení/zápis. Za účelem uzavření trezoru ukončte proces Cryptomatoru.
|
||||
@@ -300,6 +301,8 @@ main.vaultDetail.missing.changeLocation=Změnit umístění trezoru…
|
||||
main.vaultDetail.migrateButton=Upgrade trezoru
|
||||
main.vaultDetail.migratePrompt=Váš trezor musí být aktualizován na nový formát, než k němu budete mít přístup
|
||||
### Error
|
||||
main.vaultDetail.error.reload=Obnovit
|
||||
main.vaultDetail.error.windowTitle=Chyba při načítání trezoru
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=Jak šifrovat soubory
|
||||
|
||||
@@ -68,16 +68,16 @@ addvault.new.readme.storageLocation.6=Falls du Dateien verschlüsseln und den In
|
||||
addvault.new.readme.storageLocation.7=1. Füge diesen Tresor zu Cryptomator hinzu.
|
||||
addvault.new.readme.storageLocation.8=2. Entsperre den Tresor in Cryptomator.
|
||||
addvault.new.readme.storageLocation.9=3. Öffne den Zugangsort durch Klicken auf die Schaltfläche „Anzeigen“.
|
||||
addvault.new.readme.storageLocation.10=Falls du Hilfe brauchst, lies die Dokumentation: %s
|
||||
addvault.new.readme.storageLocation.10=Falls Du Hilfe brauchst, lies die Dokumentation: %s
|
||||
addvault.new.readme.accessLocation.fileName=WILLKOMMEN.rtf
|
||||
addvault.new.readme.accessLocation.1=🔐️ VERSCHLÜSSELTES LAUFWERK 🔐️
|
||||
addvault.new.readme.accessLocation.2=Dies ist der Zugangsort deines Tresors.
|
||||
addvault.new.readme.accessLocation.3=Alle zu diesem Laufwerk hinzugefügten Dateien werden von Cryptomator verschlüsselt. Du kannst mit diesem arbeiten wie mit jedem anderen Laufwerk bzw. Ordner. Dies ist lediglich eine unverschlüsselte Ansicht des Laufwerkinhalts; auf deiner Festplatte bleiben deine Dateien weiterhin verschlüsselt.
|
||||
addvault.new.readme.accessLocation.4=Diese Datei kannst du löschen.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Wähle die Datei „masterkey.cryptomator“ deines vorhandenen Tresors aus.
|
||||
addvaultwizard.existing.instruction=Wähle die Datei "vault.cryptomator" deines bestehenden Tresors aus. Falls nur eine Datei mit der Bezeichnung "masterkey.cryptomator" vorhanden ist, nutze stattdessen diese.
|
||||
addvaultwizard.existing.chooseBtn=Durchsuchen…
|
||||
addvaultwizard.existing.filePickerTitle=Masterkey-Datei auswählen
|
||||
addvaultwizard.existing.filePickerTitle=Tresor Datei auswählen
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Tresor „%s“ hinzugefügt.\nUm auf Inhalte zuzugreifen oder welche hinzuzufügen, musst du den Tresor entsperren. Du kannst ihn aber auch zu jedem späteren Zeitpunkt entsperren.
|
||||
addvaultwizard.success.unlockNow=Jetzt entsperren
|
||||
@@ -113,13 +113,14 @@ unlock.success.revealBtn=Laufwerk anzeigen
|
||||
unlock.error.heading=Tresor konnte nicht entsperrt werden
|
||||
### Invalid Mount Point
|
||||
unlock.error.invalidMountPoint.notExisting=Einhängepunkt ist kein leeres Verzeichnis oder existiert nicht: %s
|
||||
unlock.error.invalidMountPoint.existing=Einhängepunkt/Ordner bereits vorhanden oder übergeordneter Ordner fehlt: %s
|
||||
unlock.error.invalidMountPoint.existing=Einhängepunkt/Ordner bereits vorhanden oder übergeordneter Ordner fehlt: %s.
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Sperren fehlgeschlagen
|
||||
lock.forced.message=Aufgrund von Zugriffen laufender Prozesse oder geöffneter Dateien konnte „%s“ nicht gesperrt werden. Du kannst das Sperren dieses Tresors erzwingen, allerdings kann dies zum Verlust ungespeicherter Daten führen.
|
||||
lock.forced.confirmBtn=Sperren erzwingen
|
||||
lock.forced.retryBtn=Wiederholen
|
||||
lock.forced.forceBtn=Sperren erzwingen
|
||||
## Failure
|
||||
lock.fail.heading=Tresor konnte nicht gesperrt werden.
|
||||
lock.fail.message=Der Tresor „%s“ konnte nicht gesperrt werden. Stelle sicher, dass du deine ungespeicherte Arbeit an anderer Stelle speicherst und wichtige Lese-/Schreibvorgänge abgeschlossen sind. Um den Tresor zu schließen, beende den Cryptomator-Prozess.
|
||||
@@ -191,7 +192,7 @@ preferences.general.theme.automatic=Automatisch
|
||||
preferences.general.theme.light=Hell
|
||||
preferences.general.theme.dark=Dunkel
|
||||
preferences.general.unlockThemes=Dunklen Modus freischalten
|
||||
preferences.general.showMinimizeButton=Minimieren-Schaltfläche anzeigen
|
||||
preferences.general.showMinimizeButton=Schaltfläche zum Minimieren anzeigen
|
||||
preferences.general.showTrayIcon=Symbol im Infobereich anzeigen (Neustart erforderlich)
|
||||
preferences.general.startHidden=Cryptomator im Hintergrund starten
|
||||
preferences.general.debugLogging=Diagnoseprotokoll aktivieren
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Αυτή είναι η τοποθεσία
|
||||
addvault.new.readme.accessLocation.3=Κάθε αρχείο που θα προστεθεί σε αυτό τον τόμο θα κωδικοποιηθεί από το Cryptomator. Μπορείτε να το επεξεργαστείτε όπως θα κάνατε σε κάθε δίσκο/φάκελο. Αυτή είναι μόνο για αποκρυπτογραφημένη μορφή των περιεχομένων του, τα αρχεία σας μένουν κωδικοποιημένα στον σκληρό σας δίσκο συνέχεια.
|
||||
addvault.new.readme.accessLocation.4=Μπορείτε ελεύθερα να αφαιρέσετε το αρχείο.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Επιλέξτε το αρχείο "masterkey.cryptomator" του υπάρχοντος vault σας.
|
||||
addvaultwizard.existing.instruction=Επιλέξτε το αρχείο "vault.cryptomator" της υπάρχοντος κρύπτης. Αν υπάρχει μόνο ένα αρχείο με όνομα "masterkey.cryptomator", επιλέξτε αυτό.
|
||||
addvaultwizard.existing.chooseBtn=Επιλογή…
|
||||
addvaultwizard.existing.filePickerTitle=Επιλέξτε το αρχείο Masterkey
|
||||
addvaultwizard.existing.filePickerTitle=Επιλέξτε Αρχείο Κρύπτης
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Προστέθηκε το vault "%s".\nΠρέπει να ξεκλειδώσετε αυτό το vault για να έχετε πρόσβαση ή να προσθέσετε περιεχόμενο. Εναλλακτικά μπορείτε να το ξεκλειδώσετε κάποια άλλη στιγμή.
|
||||
addvaultwizard.success.unlockNow=Ξεκλείδωμα τώρα
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Το σημείο/φάκελος προ
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Το κανονικό κλείδωμα απέτυχε
|
||||
lock.forced.heading=Το κλείδωμα απέτυχε
|
||||
lock.forced.message=Το κλείδωμα "%s" μπλοκαρίστηκε από εκκρεμείς διεργασίες ή ανοιχτά αρχεία. Μπορείτε να εξαναγκάσετε το κλείδωμα του vault, αλλά η διακοπή Ι/Ο ενδέχεται να οδηγήσει σε απώλεια μη αποθηκευμένων δεδομένων.
|
||||
lock.forced.confirmBtn=Εξαναγκασμένο κλείδωμα
|
||||
lock.forced.retryBtn=Επανάληψη
|
||||
lock.forced.forceBtn=Εξαναγκασμός Κλειδώματος
|
||||
## Failure
|
||||
lock.fail.heading=Το κλείδωμα του vault απέτυχε.
|
||||
lock.fail.message=Το Vault "%s" δεν κλειδώθηκε. Εξασφαλίστε την αποθήκευση της εργασίας σε άλλο σημείο και πως οι σημαντικές διεργασίας Ανάγνωσης/Εγγραφής έχουν ολοκληρωθεί. Για να κλείσετε το vault, τερματίστε τη διεργασία του Cryptomator.
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Este es el lugar de acceso de la bóveda.
|
||||
addvault.new.readme.accessLocation.3=Los archivos agregados a este volumen serán cifrados por Cryptomator. Se puede trabajar con ellos como en cualquier otra unidad/carpeta. Esta es sólo una vista descifrada del contenido, sus archivos permanecen cifrados en el disco duro todo el tiempo.
|
||||
addvault.new.readme.accessLocation.4=No dude en eliminar este archivo.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Elegir el archivo "masterkey.cryptomator" de la bóveda existente.
|
||||
addvaultwizard.existing.instruction=Elija el archivo "vault.cryptomator" de su bóveda existente. Si solo existe un archivo llamado "masterkey.cryptomator", selecciónelo en su lugar.
|
||||
addvaultwizard.existing.chooseBtn=Elegir…
|
||||
addvaultwizard.existing.filePickerTitle=Seleccionar archivo Masterkey
|
||||
addvaultwizard.existing.filePickerTitle=Seleccionar archivo de bóveda
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Bóveda "%s" añadida.\nSe necesita desbloquear esta bóveda para acceder o añadir contenido. Alternativamente se \n puede desbloquear en otro momento.
|
||||
addvaultwizard.success.unlockNow=Desbloquear ahora
|
||||
@@ -117,17 +117,18 @@ unlock.error.invalidMountPoint.existing=El punto de montaje/carpeta ya existe o
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Bloqueo automático fallido
|
||||
lock.forced.heading=Error al bloquear
|
||||
lock.forced.message=El bloqueo de "%s" fue bloqueado por operaciones pendientes o archivos abiertos. Puede forzar el bloqueo de esta bóveda, sin embargo, interrumpir la I/O puede provocar la pérdida de datos no guardados.
|
||||
lock.forced.confirmBtn=Forzar bloqueo
|
||||
lock.forced.retryBtn=Reintentar
|
||||
lock.forced.forceBtn=Forzar bloqueo
|
||||
## Failure
|
||||
lock.fail.heading=Falló al bloquear la bóveda.
|
||||
lock.fail.message=No se pudo bloquear la bóveda "%s". Asegúrese de que el trabajo no guardado se ha guardado en otro lugar y las operaciones de lectura/escritura importantes han finalizado. Para cerrar la bóveda termine el proceso de Cryptomator.
|
||||
|
||||
# Migration
|
||||
migration.title=Mejorar bóveda
|
||||
migration.title=Actualizar bóveda
|
||||
## Start
|
||||
migration.start.prompt=La bóveda "%s" necesita ser actualizada a un formato más nuevo. Antes de continuar, asegurarse de que no haya ninguna sincronización pendiente afectando esta bóveda.
|
||||
migration.start.prompt=La bóveda "%s" necesita ser actualizada a un formato más nuevo. Antes de continuar, asegúrese de que no haya ninguna sincronización pendiente afectando esta bóveda.
|
||||
migration.start.confirm=Sí, mi bóveda está sincronizada
|
||||
## Run
|
||||
migration.run.enterPassword=Ingresar la contraseña para "%s"
|
||||
|
||||
133
src/main/resources/i18n/strings_fil.properties
Normal file
133
src/main/resources/i18n/strings_fil.properties
Normal file
@@ -0,0 +1,133 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
|
||||
# Generics
|
||||
## Button
|
||||
generic.button.apply=I-apply
|
||||
generic.button.back=Bumalik
|
||||
generic.button.cancel=Kanselahin
|
||||
generic.button.change=Baguhin
|
||||
generic.button.close=Isara
|
||||
generic.button.copy=Kopyahin
|
||||
generic.button.copied=Nakopya na!
|
||||
generic.button.done=Tapos na
|
||||
generic.button.next=Sunod
|
||||
generic.button.print=I-print
|
||||
## Error
|
||||
generic.error.title=Error %s
|
||||
generic.error.instruction=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.
|
||||
generic.error.hyperlink.lookup=Hanapin ang solusyon
|
||||
generic.error.hyperlink.report=I-report ang problema
|
||||
generic.error.technicalDetails=Mga detalye:
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Vault
|
||||
|
||||
# Tray Menu
|
||||
traymenu.showMainWindow=Ipakita
|
||||
traymenu.showPreferencesWindow=Mga Kagustuhan
|
||||
traymenu.lockAllVaults=I-lock lahat
|
||||
traymenu.quitApplication=Umalis
|
||||
traymenu.vault.unlock=I-unlock
|
||||
traymenu.vault.lock=I-lock
|
||||
traymenu.vault.reveal=Ipakita
|
||||
|
||||
# Add Vault Wizard
|
||||
addvaultwizard.title=Magdagdag ng Vault
|
||||
## Welcome
|
||||
addvaultwizard.welcome.newButton=Gumawa ng Bagong Vault
|
||||
addvaultwizard.welcome.existingButton=Magbukas ng Umiiral na Vault
|
||||
## New
|
||||
### Name
|
||||
addvaultwizard.new.nameInstruction=Pangalanan ang vault
|
||||
addvaultwizard.new.namePrompt=Pangalan ng Vault
|
||||
### Location
|
||||
addvaultwizard.new.locationInstruction=Saan maaaring ilagay ng Cryptomator ang mga encrypted files ng iyong vault?
|
||||
addvaultwizard.new.locationLabel=Storage location
|
||||
addvaultwizard.new.locationPrompt=…
|
||||
addvaultwizard.new.directoryPickerLabel=Custom Location
|
||||
addvaultwizard.new.directoryPickerButton=Mamili…
|
||||
addvaultwizard.new.directoryPickerTitle=Pumili ng Direktoryo
|
||||
### Password
|
||||
### Information
|
||||
## Existing
|
||||
addvaultwizard.existing.chooseBtn=Mamili…
|
||||
## Success
|
||||
|
||||
# Remove Vault
|
||||
|
||||
# Change Password
|
||||
|
||||
# Forget Password
|
||||
|
||||
# Unlock
|
||||
unlock.unlockBtn=I-unlock
|
||||
##
|
||||
## Success
|
||||
## Failure
|
||||
### Invalid Mount Point
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=Subukan muli
|
||||
## Failure
|
||||
|
||||
# Migration
|
||||
## Start
|
||||
## Run
|
||||
## Success
|
||||
## Missing file system capabilities
|
||||
## Impossible
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
## Start Failure
|
||||
## Check Selection
|
||||
## Detail view
|
||||
## Fix Application
|
||||
|
||||
# Preferences
|
||||
preferences.title=Mga Kagustuhan
|
||||
## General
|
||||
## Volume
|
||||
## Updates
|
||||
## Contribution
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
|
||||
# Vault Statistics
|
||||
## Read
|
||||
## Write
|
||||
|
||||
# Main Window
|
||||
main.closeBtn.tooltip=Isara
|
||||
main.preferencesBtn.tooltip=Mga Kagustuhan
|
||||
## Drag 'n' Drop
|
||||
## Vault List
|
||||
main.vaultlist.contextMenu.lock=I-lock
|
||||
main.vaultlist.addVaultBtn=Magdagdag ng Vault
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
### Unlocked
|
||||
main.vaultDetail.lockBtn=I-lock
|
||||
### Missing
|
||||
### Needs Migration
|
||||
### Error
|
||||
|
||||
# Wrong File Alert
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
vaultOptions.general.vaultName=Pangalan ng Vault
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Mamili…
|
||||
## Master Key
|
||||
|
||||
|
||||
# Recovery Key
|
||||
|
||||
# New Password
|
||||
|
||||
# Quit
|
||||
@@ -9,15 +9,15 @@ generic.button.change=Modifier
|
||||
generic.button.close=Fermer
|
||||
generic.button.copy=Copier
|
||||
generic.button.copied=Copié !
|
||||
generic.button.done=Terminé
|
||||
generic.button.done=Ok
|
||||
generic.button.next=Suivant
|
||||
generic.button.print=Imprimer
|
||||
## Error
|
||||
generic.error.title=Erreur: %s
|
||||
generic.error.title=Erreur : %s
|
||||
generic.error.instruction=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.
|
||||
generic.error.hyperlink.lookup=Rechercher cette erreur
|
||||
generic.error.hyperlink.report=Signaler cette erreur
|
||||
generic.error.technicalDetails=Détails:
|
||||
generic.error.technicalDetails=Détails :
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Coffre
|
||||
@@ -72,12 +72,12 @@ addvault.new.readme.storageLocation.10=Si vous avez besoin d'aide, consultez la
|
||||
addvault.new.readme.accessLocation.fileName=BIENVENUE.rtf
|
||||
addvault.new.readme.accessLocation.1=🔐 VOLUME CHIFFRÉ 🔐
|
||||
addvault.new.readme.accessLocation.2=Ceci est le chemin d'accès de votre coffre-fort.
|
||||
addvault.new.readme.accessLocation.3=Tous les fichiers ajoutés à ce volume seront chiffrés par Cryptomator. Vous pouvez l'utiliser comme n'importe quel lecteur/répertoire. Ceci est seulement une vue déchiffrée de son contenu, vos fichiers restent chiffrés dans votre disque dur à tout le temps.
|
||||
addvault.new.readme.accessLocation.3=Tous les fichiers ajoutés à ce volume seront chiffrés par Cryptomator. Vous pouvez l'utiliser comme n'importe quel lecteur/répertoire. Ceci est seulement une vue déchiffrée de son contenu, vos fichiers restent chiffrés dans votre disque dur en permanence.
|
||||
addvault.new.readme.accessLocation.4=Vous pouvez supprimer ce fichier.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Sélectionner le fichier "masterkey.cryptomator" de votre coffre existant.
|
||||
addvaultwizard.existing.instruction=Choisissez le fichier "vault.cryptomator" de votre coffre existant. S'il existe seulement un fichier "masterkey.cryptomator", sélectionnez celui-ci.
|
||||
addvaultwizard.existing.chooseBtn=Choisir...
|
||||
addvaultwizard.existing.filePickerTitle=Sélectionner le fichier clef
|
||||
addvaultwizard.existing.filePickerTitle=Sélectionnez le fichier du coffre
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Coffre “%s” ajouté.\nIl faudra déverrouiller ce coffre afin d’y accéder ou d’y ajouter du contenu. Cette action peut être réalisée ultérieurement.
|
||||
addvaultwizard.success.unlockNow=Déverrouiller
|
||||
@@ -93,7 +93,7 @@ changepassword.enterOldPassword=Entrez le mot de passe actuel pour "%s"
|
||||
changepassword.finalConfirmation=Je comprends que je ne pourrai pas récupérer mes données si j'oublie mon mot de passe
|
||||
|
||||
# Forget Password
|
||||
forgetPassword.title=Oublier le mot de passe
|
||||
forgetPassword.title=Mot de passe oublié
|
||||
forgetPassword.information=Ceci supprimera le mot de passe enregistré pour ce coffre de votre chaîne de clés système.
|
||||
forgetPassword.confirmBtn=Oublier le mot de passe
|
||||
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Le point de montage/le répertoire exist
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Le verrouillage normal a échoué
|
||||
lock.forced.heading=Échec du verrouillage
|
||||
lock.forced.message=Le verrouillage de «%s» a été bloqué par des opérations en attente ou des fichiers ouverts. Vous pouvez forcer le verrouillage de ce coffre, mais l'interruption d'E/S peut entraîner la perte de données non enregistrées.
|
||||
lock.forced.confirmBtn=Forcer le verrouillage
|
||||
lock.forced.retryBtn=Réessayer
|
||||
lock.forced.forceBtn=Forcer le verrouillage
|
||||
## Failure
|
||||
lock.fail.heading=Le verrouillage du coffre a échoué.
|
||||
lock.fail.message=Le coffre-fort "%s" n'a pas pu être verrouillé. Assurez-vous que le travail non sauvegardé est sauvegardé ailleurs et que les opérations importantes de lecture/écriture sont bien terminées. Pour fermer le coffre-fort, tuez le processus Cryptomator.
|
||||
|
||||
156
src/main/resources/i18n/strings_he.properties
Normal file
156
src/main/resources/i18n/strings_he.properties
Normal file
@@ -0,0 +1,156 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
|
||||
# Generics
|
||||
## Button
|
||||
generic.button.apply=החל
|
||||
generic.button.back=חזור
|
||||
generic.button.cancel=ביטול
|
||||
generic.button.change=שנה
|
||||
generic.button.close=סגור
|
||||
generic.button.copy=העתק
|
||||
generic.button.copied=הועתק!
|
||||
generic.button.done=סיום
|
||||
generic.button.next=המשך
|
||||
generic.button.print=הדפס
|
||||
## Error
|
||||
generic.error.title=שגיאה %s
|
||||
generic.error.instruction=אופס! Cryptomator לא ציפה שזה יקרה. את/ה יכול/ה לחפש פתרונות קיימים לשגיאה זו. או שבמקרה והשגיאה לא דווחה עדיין, תרגיש/י בנוח לעשות זאת.
|
||||
generic.error.hyperlink.lookup=חפש שגיאה זו
|
||||
generic.error.hyperlink.report=דווח על שגיאה זו
|
||||
generic.error.technicalDetails=פרטים:
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=כספת
|
||||
|
||||
# Tray Menu
|
||||
traymenu.showMainWindow=הצג
|
||||
traymenu.showPreferencesWindow=העדפות
|
||||
traymenu.lockAllVaults=נעל הכל
|
||||
traymenu.quitApplication=צא
|
||||
traymenu.vault.unlock=בטל נעילה
|
||||
traymenu.vault.lock=נעילה
|
||||
traymenu.vault.reveal=חשוף
|
||||
|
||||
# Add Vault Wizard
|
||||
addvaultwizard.title=הוסף כספת
|
||||
## Welcome
|
||||
addvaultwizard.welcome.newButton=צור כספת חדשה
|
||||
addvaultwizard.welcome.existingButton=פתח כספת קיימת
|
||||
## New
|
||||
### Name
|
||||
addvaultwizard.new.nameInstruction=בחר שם עבור הכספת שלך
|
||||
addvaultwizard.new.namePrompt=שם הכספת
|
||||
### Location
|
||||
addvaultwizard.new.locationInstruction=היכן Cryptomator צריך לשמור את הקבצים המוצפנים של הכספת שלך?
|
||||
addvaultwizard.new.locationLabel=מיקום אחסון
|
||||
addvaultwizard.new.directoryPickerLabel=מיקום מותאם אישית
|
||||
addvaultwizard.new.directoryPickerButton=בחר...
|
||||
addvaultwizard.new.directoryPickerTitle=בחירת ספרייה
|
||||
addvaultwizard.new.fileAlreadyExists=שם הקובץ או שם התיקייה עם שם הכספת כבר קיים
|
||||
addvaultwizard.new.locationDoesNotExist=מחיצה בנתיב הנקוב לא קיימת או אין אפשרות לקבל אליה גישה
|
||||
addvaultwizard.new.locationIsNotWritable=אין הרשאת כתיבה בנתיב הנקוב
|
||||
addvaultwizard.new.locationIsOk=מיקום מתאים לכספת שלך
|
||||
addvaultwizard.new.invalidName=שם כספת שגוי. אנא שקול שם מחיצה רגיל.
|
||||
### Password
|
||||
addvaultwizard.new.createVaultBtn=צור כספת חדשה
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=לא תיהיה אפשרות לקבל גישה למידע שלך בלי הסיסמה שלך. האם תרצה/י מפתח שחזור למקרה ותאבד/י את הסיסמה שלך?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=כן בבקשה, עדיף ללכת על בטוח
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=לא תודה, אני לא אאבד את הסיסמה שלי
|
||||
### Information
|
||||
addvault.new.readme.storageLocation.fileName=חשוב.rtf
|
||||
addvault.new.readme.storageLocation.1=⚠️ קבצי כספת ⚠️
|
||||
addvault.new.readme.storageLocation.2=זהו מיקום אחסון לכספת שלך.
|
||||
addvault.new.readme.storageLocation.3=אל
|
||||
addvault.new.readme.storageLocation.4=תשנה קבצים במחיצה זו או
|
||||
addvault.new.readme.storageLocation.5=תדביק קבצים כלשהם להצפנה במחיצה זו.
|
||||
addvault.new.readme.storageLocation.6=אם תרצה להצפין קבצים ולצפות בתוכן של הכספת, עשה את הבא:
|
||||
addvault.new.readme.storageLocation.7=1. הוסף כספת זו ל-Cryptomator.
|
||||
addvault.new.readme.storageLocation.8=2. בטל נעילת כספת ב-Cryptomator.
|
||||
addvault.new.readme.storageLocation.9=3. פתח את מיקום הגישה ע"י לחיצה על מקש "חשוף".
|
||||
addvault.new.readme.storageLocation.10=אם הנך נדרש/ת בעזרה, בקר/י את התיעוד: %s
|
||||
addvault.new.readme.accessLocation.fileName=ברוכים הבאים.rtf
|
||||
addvault.new.readme.accessLocation.1=ספרייה מוצפנת
|
||||
addvault.new.readme.accessLocation.2=זהו מיקום גישה לכספת שלך.
|
||||
addvault.new.readme.accessLocation.3=כל קובץ אשר יצורף לספרייה זו יעבור הצפנה באמצעות Cryptomator. את/ה תוכל/י לעבוד עליו כמו עם כל קבוץ/מחיצה רגילים. זהו מצב הצגה מפוענח של התוכן, הקבצים שלך נשארים מוצפנים על הדיסק הקשיח שלך בכל רגע.
|
||||
addvault.new.readme.accessLocation.4=תרגיש/י בנוח להסיר את הקובץ הזה.
|
||||
## Existing
|
||||
addvaultwizard.existing.chooseBtn=בחר...
|
||||
## Success
|
||||
|
||||
# Remove Vault
|
||||
|
||||
# Change Password
|
||||
|
||||
# Forget Password
|
||||
|
||||
# Unlock
|
||||
unlock.unlockBtn=בטל נעילה
|
||||
##
|
||||
## Success
|
||||
## Failure
|
||||
### Invalid Mount Point
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
## Failure
|
||||
|
||||
# Migration
|
||||
## Start
|
||||
## Run
|
||||
## Success
|
||||
## Missing file system capabilities
|
||||
## Impossible
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
## Start Failure
|
||||
## Check Selection
|
||||
## Detail view
|
||||
## Fix Application
|
||||
|
||||
# Preferences
|
||||
preferences.title=העדפות
|
||||
## General
|
||||
## Volume
|
||||
## Updates
|
||||
## Contribution
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
|
||||
# Vault Statistics
|
||||
## Read
|
||||
## Write
|
||||
|
||||
# Main Window
|
||||
main.closeBtn.tooltip=סגור
|
||||
main.preferencesBtn.tooltip=העדפות
|
||||
## Drag 'n' Drop
|
||||
## Vault List
|
||||
main.vaultlist.contextMenu.lock=נעילה
|
||||
main.vaultlist.addVaultBtn=הוסף כספת
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
### Unlocked
|
||||
main.vaultDetail.lockBtn=נעילה
|
||||
### Missing
|
||||
### Needs Migration
|
||||
### Error
|
||||
|
||||
# Wrong File Alert
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
vaultOptions.general.vaultName=שם הכספת
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=בחר...
|
||||
## Master Key
|
||||
|
||||
|
||||
# Recovery Key
|
||||
|
||||
# New Password
|
||||
|
||||
# Quit
|
||||
@@ -75,6 +75,7 @@ unlock.unlockBtn=अनलॉक करें
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=पुन: प्रयास करें
|
||||
## Failure
|
||||
|
||||
# Migration
|
||||
|
||||
@@ -13,6 +13,11 @@ generic.button.done=Kész
|
||||
generic.button.next=Következő
|
||||
generic.button.print=Nyomtatás
|
||||
## Error
|
||||
generic.error.title=Hiba: %s
|
||||
generic.error.instruction=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.
|
||||
generic.error.hyperlink.lookup=Hiba okának keresése
|
||||
generic.error.hyperlink.report=Hiba jelentése
|
||||
generic.error.technicalDetails=Részletek:
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Széf
|
||||
@@ -38,9 +43,14 @@ addvaultwizard.new.namePrompt=A széf neve
|
||||
### Location
|
||||
addvaultwizard.new.locationInstruction=Hova mentse a Cryptomator a széf titkosított fájljait?
|
||||
addvaultwizard.new.locationLabel=Tárolási hely
|
||||
addvaultwizard.new.locationPrompt=…
|
||||
addvaultwizard.new.directoryPickerLabel=Egyedi hely
|
||||
addvaultwizard.new.directoryPickerButton=Választás…
|
||||
addvaultwizard.new.directoryPickerTitle=Könyvtár kiválasztása
|
||||
addvaultwizard.new.fileAlreadyExists=Már létezik fájl/könyvtár ezzel a trezornévvel
|
||||
addvaultwizard.new.locationDoesNotExist=A megadott elérési úton lévő könyvtár nem létezik, vagy nem érhető el
|
||||
addvaultwizard.new.locationIsNotWritable=Nincs írási hozzáférés a megadott elérési úthoz
|
||||
addvaultwizard.new.locationIsOk=Megfelelő hely a trezornak
|
||||
addvaultwizard.new.invalidName=Érvénytelen széf elnevezés. Kérjük vegye figyelembe a szabályos könyvtárelnevezésre vonatkozó szabályokat.
|
||||
### Password
|
||||
addvaultwizard.new.createVaultBtn=Új széf létrehozása
|
||||
@@ -65,9 +75,9 @@ addvault.new.readme.accessLocation.2=Ez a széf hozzáférési helye.
|
||||
addvault.new.readme.accessLocation.3=Bármilyen, a kötethez hozzáadott fájl titkosításra kerül a Cryptomator által. Úgy dolgozhat vele, mint minden más meghajtóval/mappával. Ez az egyetlen dekódolt tartalmi nézet. A fájlai folyamatosan titkosítva maradnak a merevlemezén.
|
||||
addvault.new.readme.accessLocation.4=Bátran eltávolíthatja ezt a fájlt.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Válassza ki a már létező széfjéhez tartozó "masterkey.cryptomator" fájlt.
|
||||
addvaultwizard.existing.instruction=Válassza ki a "vault.cryptomatotor" fájlt a meglévő tárolóhoz. Ha csak egy "masterkey.cryptomatotor" nevű fájl létezik, válassza azt.
|
||||
addvaultwizard.existing.chooseBtn=Kiválaszt…
|
||||
addvaultwizard.existing.filePickerTitle=Mesterkulcs fájl kiválasztása
|
||||
addvaultwizard.existing.filePickerTitle=Trezor fájl kiválasztása
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Széf létrehozva "%s".\nA tartalom eléréséhez, vagy hozzáadásához fel kell oldania a széfet. Alternatív megoldásként később bármikor feloldhatja.
|
||||
addvaultwizard.success.unlockNow=Azonnali feloldás
|
||||
@@ -88,11 +98,15 @@ forgetPassword.information=Eltávolítja a széf mentett jelszavát a rendszere
|
||||
forgetPassword.confirmBtn=Jelszó elfelejtése
|
||||
|
||||
# Unlock
|
||||
unlock.title="%s" feloldása
|
||||
unlock.passwordPrompt=Írja be a jelszavát a következő széfhez "%s":
|
||||
unlock.savePassword=Jelszó megjegyzése
|
||||
unlock.unlockBtn=Feloldás
|
||||
##
|
||||
unlock.chooseMasterkey.prompt=Nem található a tároló kulcsfájlja a várt helyen. Kérjük válassza ki a kulcsfájlt manuálisan.
|
||||
unlock.chooseMasterkey.filePickerTitle=Mesterkulcs fájl kiválasztása
|
||||
## Success
|
||||
unlock.success.message="%s" sikreresen feloldásra került! Mostmár hozzáférhet a virtuális trezorhoz.
|
||||
unlock.success.rememberChoice=Jegyezze meg a választást és ne mutassa többet
|
||||
unlock.success.revealBtn=Széf megjelenítése
|
||||
## Failure
|
||||
@@ -103,7 +117,11 @@ unlock.error.invalidMountPoint.existing=A csatolási pont "%s" már létezik vag
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.message=A „%s” zárolását függőben lévő műveletek vagy megnyitott fájlok blokkolták. Kényszerítheti a tároló zárolását, bár az I/O megszakítása a nem mentett adatok elvesztéséhez vezethet.
|
||||
lock.forced.retryBtn=Újra
|
||||
## Failure
|
||||
lock.fail.heading=Zárolás sikertelen.
|
||||
lock.fail.message=A "%s" tárolót nem lehetett zárolni. Győződjön meg arról, hogy a nem mentett munkát máshová menti, és a fontos olvasási/írási műveletek befejeződtek. A trezor bezárásához szakítsa meg a Cryptomator folyamatot.
|
||||
|
||||
# Migration
|
||||
migration.title=Széf frissítése
|
||||
@@ -131,7 +149,18 @@ migration.impossible.moreInfo=A széf továbbra is megnyitható marad egy régeb
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
health.title="%s" állapotellenőrzése
|
||||
health.intro.header=Állapotfelmérés
|
||||
health.intro.text=Az állapotfelmérés olyan ellenőrzéscsomag, amely felderíti és esetlegesen kijavítja a trezor belső szerkezetében fellépő problémákat. Kérjük, ne feledje:
|
||||
health.intro.remarkSync=Győződjön meg arról, hogy minden eszköz teljesen szinkronizálva van, ez megoldja a legtöbb problémát.
|
||||
health.intro.remarkFix=Nem minden probléma javítható.
|
||||
health.intro.remarkBackup=Ha az adatok sérültek, csak a biztonsági mentés segíthet.
|
||||
health.intro.affirmation=Elolvastam és megértettem a fenti információkat
|
||||
## Start Failure
|
||||
health.fail.header=Hiba a Trezor konfiguráció betöltésekor
|
||||
health.fail.ioError=Hiba történt a konfigurációs fájl elérése és olvasása közben.
|
||||
health.fail.parseError=Hiba történt a tároló konfigurációjának elemzése közben.
|
||||
health.fail.moreInfo=További infó
|
||||
## Check Selection
|
||||
## Detail view
|
||||
## Fix Application
|
||||
@@ -240,6 +269,8 @@ main.vaultDetail.missing.changeLocation=A széf helyének megváltoztatása…
|
||||
main.vaultDetail.migrateButton=Széf frissítése
|
||||
main.vaultDetail.migratePrompt=A széfet új formátumra kell frissíteni, mielőtt hozzáférhet
|
||||
### Error
|
||||
main.vaultDetail.error.reload=Újratöltés
|
||||
main.vaultDetail.error.windowTitle=Hiba az adatok betöltése közben
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=Hogyan lehet fájlokat titkosítani
|
||||
|
||||
@@ -13,6 +13,11 @@ generic.button.done=Selesai
|
||||
generic.button.next=Lanjut
|
||||
generic.button.print=Cetak
|
||||
## Error
|
||||
generic.error.title=Kesalahan %s
|
||||
generic.error.instruction=Ups! Cryptomator tidak mengharapkan ini terjadi. Anda dapat mencari solusi yang ada untuk kesalahan ini. Atau jika belum dilaporkan, jangan ragu untuk melakukannya.
|
||||
generic.error.hyperlink.lookup=Cari kesalahan
|
||||
generic.error.hyperlink.report=Laporkan kesalahan
|
||||
generic.error.technicalDetails=Rincian:
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Brankas
|
||||
@@ -70,9 +75,9 @@ addvault.new.readme.accessLocation.2=Ini adalah lokasi akses brankas kamu.
|
||||
addvault.new.readme.accessLocation.3=File yang ditambahkan ke volume ini akan dienkripsi oleh Cryptomator. Anda dapat mempergunakan isi vault seperti dalam folder lain. Saat ini Anda sedang mengakses tampilan versi dekripsi, file Anda selalu terenkripsi di dalam cakram keras Anda.
|
||||
addvault.new.readme.accessLocation.4=Anda dapat menghapus file ini.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Pilih file "masterkey.cryptomator" dalam vault Anda.
|
||||
addvaultwizard.existing.instruction=Pilih file "vault.cryptomator" Anda dari vault yang ada. Jika hanya ada file bernama "masterkey.cryptomator", pilih file tersebut.
|
||||
addvaultwizard.existing.chooseBtn=Pilih…
|
||||
addvaultwizard.existing.filePickerTitle=Pilih File Kunci Induk
|
||||
addvaultwizard.existing.filePickerTitle=Pilih File Vault
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Vault "%s" telah dibuat.\nAnda harus membuka kunci vault ini untuk mengakses atau menambahkan konten. Anda juga dapat membuka kunci vault ini kapan saja di kemudian hari.
|
||||
addvaultwizard.success.unlockNow=Buka Kunci Sekarang
|
||||
@@ -93,6 +98,7 @@ forgetPassword.information=Kata sandi vault yang tersimpan akan dihapus dari key
|
||||
forgetPassword.confirmBtn=Lupa Kata Sandi
|
||||
|
||||
# Unlock
|
||||
unlock.title=Membuka "%s"
|
||||
unlock.passwordPrompt=Masukkan kata sandi untuk "%s":
|
||||
unlock.savePassword=Simpan Kata Sandi
|
||||
unlock.unlockBtn=Buka Gembok
|
||||
@@ -111,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Poin mount "%s" sudah ada atau folder in
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Gagal mengunci secara normal
|
||||
lock.forced.heading=Gagal mengunci
|
||||
lock.forced.message=Penguncian "%s" terblokir oleh operasi yang sedang berjalan atau file yang masih terbuka. Anda dapat mengunci paksa vault ini, namun ada kemungkinan mengganggu I/O akan menghilangkan data yang belum disimpan.
|
||||
lock.forced.confirmBtn=Kunci Paksa
|
||||
lock.forced.retryBtn=Coba lagi
|
||||
lock.forced.forceBtn=Kunci Paksa
|
||||
## Failure
|
||||
lock.fail.heading=Gagal mengunci vault.
|
||||
lock.fail.message=Vault "%s" tidak dapat dikunci. Pastikan bahwa file yang belum tersimpan telah disimpan di lokasi lain, dan operasi Baca/Tulis yang penting telah selesai. Untuk menutup vault ini, matikan proses Cryptomator.
|
||||
@@ -144,13 +151,37 @@ migration.impossible.moreInfo=Vault dapat dibuka dengan program versi lebih lama
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
health.title=Pemeriksaan Kesehatan "%s"
|
||||
health.intro.header=Pemeriksaan Kesehatan
|
||||
health.intro.text=Pemeriksaan Kesehatan adalah kumpulan pemeriksaan untuk mendeteksi dan mungkin memperbaiki masalah dalam struktur internal brankas Anda. Harap diingat:
|
||||
health.intro.remarkSync=Pastikan semua perangkat disinkronkan sepenuhnya, ini menyelesaikan sebagian besar masalah.
|
||||
health.intro.remarkFix=Tidak semua masalah bisa diperbaiki.
|
||||
health.intro.remarkBackup=Jika data rusak, hanya cadangan yang dapat membantu.
|
||||
health.intro.affirmation=Saya telah membaca dan memahami informasi di atas
|
||||
## Start Failure
|
||||
health.fail.header=Kesalahan saat memuat Konfigurasi Vault
|
||||
health.fail.ioError=Terjadi kesalahan saat mengakses dan membaca file konfigurasi.
|
||||
health.fail.parseError=Terjadi kesalahan saat mengurai konfigurasi vault.
|
||||
health.fail.moreInfo=Info Selengkapnya
|
||||
## Check Selection
|
||||
health.checkList.description=Centang daftar di bagian kiri atau gunakan tombol di bawah.
|
||||
health.checkList.selectAllButton=Centang Semua
|
||||
health.checkList.deselectAllButton=Jangan Centang Semua
|
||||
health.check.runBatchBtn=Cek Jalankan yang dipilih
|
||||
## Detail view
|
||||
health.check.detail.noSelectedCheck=Untuk hasil, pilih pemeriksaan kesehatan yang sudah selesai di sebelah kiri.
|
||||
health.check.detail.checkScheduled=Pemeriksaan dijadwalkan.
|
||||
health.check.detail.checkRunning=Saat ini pemeriksaan sedang berjalan…
|
||||
health.check.detail.checkSkipped=Pemeriksaan tidak dipilih untuk dijalankan.
|
||||
health.check.detail.checkFinished=Pemeriksaan berhasil diselesaikan.
|
||||
health.check.detail.checkFinishedAndFound=Pemeriksaan selesai berjalan. Harap tinjau hasilnya.
|
||||
health.check.detail.checkFailed=Pemeriksaan terhenti karena terjadi kesalahan.
|
||||
health.check.detail.checkCancelled=Pemeriksaan dibatalkan.
|
||||
health.check.exportBtn=Ekspor Laporan
|
||||
## Fix Application
|
||||
health.fix.fixBtn=Perbaiki
|
||||
health.fix.successTip=Perbaikan berhasil
|
||||
health.fix.failTip=Perbaikan gagal, lihat log untuk detailnya
|
||||
|
||||
# Preferences
|
||||
preferences.title=Preferensi
|
||||
@@ -185,54 +216,153 @@ preferences.updates.updateAvailable=Pembaharuan ke versi %s tersedia.
|
||||
## Contribution
|
||||
preferences.contribute=Dukung Kami
|
||||
preferences.contribute.registeredFor=Sertifikat pendukung terdaftar untuk %s
|
||||
preferences.contribute.noCertificate=Dukung Cryptomator dan terima sertifikat pendukung. Ini seperti kunci lisensi tetapi untuk orang-orang hebat yang menggunakan perangkat lunak gratis. ;-)
|
||||
preferences.contribute.getCertificate=Belum punya? Pelajari bagaimana Anda bisa mendapatkannya.
|
||||
preferences.contribute.promptText=Tempel kode sertifikat pendukung di sini
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
preferences.about=Tentang
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statistik untuk %s
|
||||
stats.cacheHitRate=Tingkat Hit Cache
|
||||
## Read
|
||||
stats.read.throughput.idle=Read: idle
|
||||
stats.read.throughput.kibs=Read: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Read: %.2f MiB/s
|
||||
stats.read.total.data.none=Data read: -
|
||||
stats.read.total.data.kib=Data read: %.1f kiB
|
||||
stats.read.total.data.mib=Data read: %.1f MiB
|
||||
stats.read.total.data.gib=Data read: %.1f GiB
|
||||
stats.decr.total.data.none=Data decrypted: -
|
||||
stats.decr.total.data.kib=Data decrypted: %.1f kiB
|
||||
stats.decr.total.data.mib=Data decrypted: %.1f MiB
|
||||
stats.decr.total.data.gib=Data decrypted: %.1f GiB
|
||||
stats.read.accessCount=Total reads: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Write: idle
|
||||
stats.write.throughput.kibs=Write: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Write: %.2f MiB/s
|
||||
stats.write.total.data.none=Data tertulis: -
|
||||
stats.write.total.data.kib=Data tertulis: %.1f kiB
|
||||
stats.write.total.data.mib=Data tertulis: %.1f MiB
|
||||
stats.write.total.data.gib=Data tertulis: %.1f GiB
|
||||
stats.encr.total.data.none=Data terenkripsi: -
|
||||
stats.encr.total.data.kib=Data terenkripsi: %.1f kiB
|
||||
stats.encr.total.data.mib=Data terenkripsi: %.1f MiB
|
||||
stats.encr.total.data.gib=Data terenkripsi: %.1f GiB
|
||||
stats.write.accessCount=Total menulis: %d
|
||||
|
||||
# Main Window
|
||||
main.closeBtn.tooltip=Tutup
|
||||
main.minimizeBtn.tooltip=Minimalkan
|
||||
main.preferencesBtn.tooltip=Preferensi
|
||||
main.debugModeEnabled.tooltip=Mode Debug diaktifkan
|
||||
main.donationKeyMissing.tooltip=Pertimbangjan untuk donasi
|
||||
## Drag 'n' Drop
|
||||
main.dropZone.dropVault=Tambah vault ini
|
||||
main.dropZone.unknownDragboardContent=Jika Anda ingin menambahkan vault, seret ke jendela ini
|
||||
## Vault List
|
||||
main.vaultlist.emptyList.onboardingInstruction=Klik untuk tambah vault
|
||||
main.vaultlist.contextMenu.remove=Hapus…
|
||||
main.vaultlist.contextMenu.lock=Gembok
|
||||
main.vaultlist.contextMenu.unlock=Membuka…
|
||||
main.vaultlist.contextMenu.unlockNow=Buka Kunci Sekarang
|
||||
main.vaultlist.contextMenu.vaultoptions=Tampilkan Opsi Vault
|
||||
main.vaultlist.contextMenu.reveal=Buka Drive
|
||||
main.vaultlist.addVaultBtn=Tambah Brankas
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Terima kasih telah memilih Cryptomator untuk melindungi file Anda. Jika Anda memerlukan bantuan, lihat panduan awal kami:
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=TERKUNCI
|
||||
main.vaultDetail.unlockBtn=Membuka…
|
||||
main.vaultDetail.unlockNowBtn=Buka Kunci Sekarang
|
||||
main.vaultDetail.optionsBtn=Opsi Vault
|
||||
main.vaultDetail.passwordSavedInKeychain=Kata Sandi tersimpan
|
||||
### Unlocked
|
||||
main.vaultDetail.unlockedStatus=TERBUKA
|
||||
main.vaultDetail.accessLocation=Konten vault Anda dapat diakses di sini:
|
||||
main.vaultDetail.revealBtn=Buka Drive
|
||||
main.vaultDetail.lockBtn=Gembok
|
||||
main.vaultDetail.bytesPerSecondRead=Read:
|
||||
main.vaultDetail.bytesPerSecondWritten=Write:
|
||||
main.vaultDetail.throughput.idle=idle
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/detik
|
||||
main.vaultDetail.stats=Statistik Vault
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=Cryptomator tidak dapat menemukan vault di path ini.
|
||||
main.vaultDetail.missing.recheck=Periksa kembali
|
||||
main.vaultDetail.missing.remove=Hapus dari Daftar Vault…
|
||||
main.vaultDetail.missing.changeLocation=Ganti Lokasi Vault…
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=Tingkatkan Vault
|
||||
main.vaultDetail.migratePrompt=Vault Anda perlu ditingkatkan ke format baru, sebelum Anda dapat mengaksesnya
|
||||
### Error
|
||||
main.vaultDetail.error.info=Terjadi kesalahan saat memuat vault dari disk.
|
||||
main.vaultDetail.error.reload=Muat Ulang
|
||||
main.vaultDetail.error.windowTitle=Terjadi kesalahan saat memuat vault
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=Cara Mengenkripsi File
|
||||
wrongFileAlert.header.title=Apakah Anda mencoba mengenkripsi file-file ini?
|
||||
wrongFileAlert.header.lead=Untuk itu, Cryptomator menyediakan volume di sistem file manager Anda.
|
||||
wrongFileAlert.instruction.0=Untuk mengenkripsi file, ikuti langkah-langkah berikut:
|
||||
wrongFileAlert.instruction.1=1. Membuka vault Anda.
|
||||
wrongFileAlert.instruction.2=Klik "Reveal" untuk membuka volume di file manager Anda.
|
||||
wrongFileAlert.instruction.3=3. Tambahkan file Anda ke volume ini.
|
||||
wrongFileAlert.link=Untuk bantuan lebih lanjut, kunjungi
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
vaultOptions.general=Umum
|
||||
vaultOptions.general.vaultName=Nama Brankas
|
||||
vaultOptions.general.autoLock.lockAfterTimePart1=Kunci saat idle untuk
|
||||
vaultOptions.general.autoLock.lockAfterTimePart2=menit
|
||||
vaultOptions.general.unlockAfterStartup=Buka vault saat memulai Cryptomator
|
||||
vaultOptions.general.actionAfterUnlock=Setelah berhasil membuka
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Biarkan
|
||||
vaultOptions.general.actionAfterUnlock.reveal=Buka Drive
|
||||
vaultOptions.general.actionAfterUnlock.ask=Tanya
|
||||
vaultOptions.general.startHealthCheckBtn=Mulai Pemeriksaan Kesehatan
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount=Pemasangan
|
||||
vaultOptions.mount.readonly=Read-Only
|
||||
vaultOptions.mount.customMountFlags=Custom Mount Flags
|
||||
vaultOptions.mount.winDriveLetterOccupied=terisi
|
||||
vaultOptions.mount.mountPoint=Titik Pasang
|
||||
vaultOptions.mount.mountPoint.auto=Secara otomatis memilih lokasi yang sesuai
|
||||
vaultOptions.mount.mountPoint.driveLetter=Gunakan huruf drive yang ditetapkan
|
||||
vaultOptions.mount.mountPoint.custom=Path khusus
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Pilih…
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Pilih direktori kosong
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Kata Sandi
|
||||
vaultOptions.masterkey.changePasswordBtn=Ubah Kata Sandi
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=Lupa Kata Sandi
|
||||
vaultOptions.masterkey.recoveryKeyExplanation=Kunci pemulihan adalah satu-satunya cara Anda untuk memulihkan akses ke vault jika Anda kehilangan kata sandi.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Tampilkan Kunci Pemulihan
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Pemulihan Kata Sandi
|
||||
|
||||
|
||||
# Recovery Key
|
||||
recoveryKey.title=Kunci Pemulihan
|
||||
recoveryKey.enterPassword.prompt=Masukkan kata sandi untuk menampilkan kunci pemulikan untuk "%s":
|
||||
recoveryKey.display.message=Kunci pemulihan berikut dapat digunakan untuk memulihkan akses ke "%s":
|
||||
recoveryKey.display.StorageHints=Simpan di tempat yang sangat aman, misal.:\n • Simpan menggunakan password manager\n • Simpan di USB\n • cetak di kertas
|
||||
recoveryKey.recover.prompt=Masukkan kunci pemulihan untuk "%s":
|
||||
recoveryKey.recover.validKey=Ini adalah kunci pemulihan yang valid
|
||||
recoveryKey.printout.heading=Kunci Pemulihan Cryptomator\n"%s"\n
|
||||
|
||||
# New Password
|
||||
newPassword.promptText=Masukkan kata sandi baru
|
||||
newPassword.reenterPassword=Konfirmasi kata sandi baru
|
||||
newPassword.passwordsMatch=Kasmta Sandi sesuai!
|
||||
newPassword.passwordsDoNotMatch=Kata Sandi tidak sesuai
|
||||
passwordStrength.messageLabel.tooShort=Gunakan minimal %d characters
|
||||
passwordStrength.messageLabel.0=Sangat lemah
|
||||
passwordStrength.messageLabel.1=Lemah
|
||||
passwordStrength.messageLabel.2=Cukup
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Questa è la posizione d'accesso della tua
|
||||
addvault.new.readme.accessLocation.3=Ogni file aggiunto a questo volume sarà crittografato da Cryptomator. Puoi lavorarci come su ogni altra unità/cartella. Questa è solo una vista decrittografata del suo contenuto, i tuoi file restano sempre crittografati sul tuo disco rigido.
|
||||
addvault.new.readme.accessLocation.4=Sentiti libero di rimuovere questo file.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Scegli il file "masterkey.cryptomator" della tua cassaforte esistente.
|
||||
addvaultwizard.existing.instruction=Scegliere il file "vault.cryptomator" della tua cassaforte. Se esiste solo un file chiamato "masterkey.cryptomator", allora scegli quello.
|
||||
addvaultwizard.existing.chooseBtn=Scegli…
|
||||
addvaultwizard.existing.filePickerTitle=Seleziona il File Masterkey
|
||||
addvaultwizard.existing.filePickerTitle=Seleziona file cassaforte
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Cassaforte "%s" aggiunta.\nDevi sbloccare questa cassaforte per accedere o aggiungere contenuti. Altrimenti, puoi sbloccarla in qualsiasi momento successivo.
|
||||
addvaultwizard.success.unlockNow=Sblocca Ora
|
||||
@@ -117,9 +117,8 @@ unlock.error.invalidMountPoint.existing=Il punto di montaggio "%s" esiste già o
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Blocco normale fallito
|
||||
lock.forced.message=Il bloccaggio di "%s" è stato impedito dalle operazioni in sospeso o dai file aperti. Puoi forzare il blocco di questa cassaforte, tuttavia, interrompere I/O potrebbe risultare nella perdita dei dati non salvati.
|
||||
lock.forced.confirmBtn=Forza Blocco
|
||||
lock.forced.retryBtn=Riprova
|
||||
## Failure
|
||||
lock.fail.heading=Blocco della cassaforte fallito.
|
||||
lock.fail.message=Impossibile bloccare la cassaforte "%s". Assicurati che il lavoro non salvato sia salvato altrove e che le importanti operazioni di Lettura/Scrittura siano terminate. Per chiudere la cassaforte, termina il processo di Cryptomator.
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=ここは金庫のアクセス先です。
|
||||
addvault.new.readme.accessLocation.3=このボリュームに追加したファイルは Cryptomator によって暗号化されます。一般的なドライブ/フォルダー上のように作業することができます。ここでは復号したコンテンツのビューにすぎず、ファイルは常にハードドライブ上で暗号化されています。
|
||||
addvault.new.readme.accessLocation.4=このファイルはいつでも削除できます。
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=既存の金庫の "masterkey.cryptomator" ファイルを選択してください。
|
||||
addvaultwizard.existing.instruction=すでにある金庫の "vault.cryptomator" ファイルを選択してください。"masterkey.cryptomator" という名前のファイルだけが存在する場合は、このファイルを代わりに選択してください。
|
||||
addvaultwizard.existing.chooseBtn=選択...
|
||||
addvaultwizard.existing.filePickerTitle=Masterkey ファイルを選択
|
||||
addvaultwizard.existing.filePickerTitle=金庫のファイルを選択
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=金庫 "%s" を追加しました。\n金庫にアクセスしたり、コンテンツを追加したりするには、金庫を解錠する必要があります。あるいは、後で解錠することが可能です。
|
||||
addvaultwizard.success.unlockNow=今すぐ解錠
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=マウント ポイント "%s" が既に
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=正常な施錠に失敗しました
|
||||
lock.forced.heading=施錠に失敗
|
||||
lock.forced.message=保留中の操作または、開かれたファイルによって、"%s" の施錠が中断されました。この金庫を強制的に施錠することはできますが、I/O を中断すると保存されていないデータを失う可能性があります。
|
||||
lock.forced.confirmBtn=強制施錠
|
||||
lock.forced.retryBtn=再試行
|
||||
lock.forced.forceBtn=強制的に施錠
|
||||
## Failure
|
||||
lock.fail.heading=金庫の施錠に失敗しました。
|
||||
lock.fail.message=金庫 "%s" を施錠できませんでした。保存されていないデータがほかの場所に保存され、重要な読み込み/書き込み操作が完了していることを確認してください。金庫を閉じるには、Cryptomator のプロセスを強制終了してください。
|
||||
|
||||
@@ -73,9 +73,7 @@ addvault.new.readme.accessLocation.2=이것은 당신의 Vault 접근 위치입
|
||||
addvault.new.readme.accessLocation.3=이 볼륨에 추가된 모든 파일은 Cryptomator로 암호화됩니다. 다른 드라이브/폴더처럼 작업할 수 있습니다. 볼륨의 내용은 복호화 된 것 처럼 보여지지만, 모든 파일은 항상 암호화되어 하드디스크에 저장됩니다.
|
||||
addvault.new.readme.accessLocation.4=이 파일은 지우셔도 무방합니다.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=기존 Vault 의 "masterkey.cryptomator" 파일을 선택하여 주십시요.
|
||||
addvaultwizard.existing.chooseBtn=선택
|
||||
addvaultwizard.existing.filePickerTitle=마스터키 파일 선택
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions="%s" Vault가 추가되었습니다.\n이 Vault를 접근하거나 컨텐츠를 추가하려면 잠금해제가 필요합니다. 그렇지만 언제든지 잠금해제가 가능합니다.
|
||||
addvaultwizard.success.unlockNow=지금 잠금해제
|
||||
@@ -115,9 +113,8 @@ unlock.error.invalidMountPoint.existing=구성지점/폴더가 이미 존재하
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=정상적인 잠금을 실패하였습니다.
|
||||
lock.forced.message=대기 중인 작동이나 파일이 열려있어 "%s"를 잠그는데 실패하였습니다. 이 Vault를 강제로 잠글 수 있으나, 입/출력의 중단은 저장되지 않은 데이터의 유실을 초래할 수 있습니다.
|
||||
lock.forced.confirmBtn=강제 잠금
|
||||
lock.forced.retryBtn=재시도
|
||||
## Failure
|
||||
lock.fail.heading=Vault 잠금에 실패하였습니다.
|
||||
lock.fail.message="%s" Vault를 잠글 수 없습니다. 저장되지 않은 작업이 다른 곳에 저장된 것과 중요한 읽기/쓰기 동작이 완료되었는지 확인 하십시요. Vault를 닫기 위해, Cryptomator 프로세스를 강제로 종료 하십시요.
|
||||
|
||||
@@ -65,9 +65,7 @@ addvault.new.readme.accessLocation.2=Šī ir jūsu glabātuves piekļuves vieta.
|
||||
addvault.new.readme.accessLocation.3=Visas šeit pievienotās datnes tiks šifrētas ar Cryptomator. Jūs variet ar to strādāt kā ar jebkuru citu disku/mapi. Šis it tikai atšifrēts satura skats, jūsu dati diskā visu laiku ir šifrēti.
|
||||
addvault.new.readme.accessLocation.4=Jūs variet droši noņemt šo datni.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Izvēlieties "masterkey.cryptomator" datni no jūsu esošās glabātuves.
|
||||
addvaultwizard.existing.chooseBtn=Izvēlies...
|
||||
addvaultwizard.existing.filePickerTitle=Atlasīt galveno atslēgas datni
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Pievienota "%s" glabātuve.\nlai piekļūtu vai pievienotu datus, jums šo glabātuvi ir jāatslēdz. Vai arī jūs to variet atslēgt vēlāk jebkurā laikā.
|
||||
addvaultwizard.success.unlockNow=Atslēgt tagad
|
||||
|
||||
88
src/main/resources/i18n/strings_mk.properties
Normal file
88
src/main/resources/i18n/strings_mk.properties
Normal file
@@ -0,0 +1,88 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
|
||||
# Generics
|
||||
## Button
|
||||
## Error
|
||||
|
||||
# Defaults
|
||||
|
||||
# Tray Menu
|
||||
|
||||
# Add Vault Wizard
|
||||
## Welcome
|
||||
## New
|
||||
### Name
|
||||
### Location
|
||||
### Password
|
||||
### Information
|
||||
## Existing
|
||||
## Success
|
||||
|
||||
# Remove Vault
|
||||
|
||||
# Change Password
|
||||
|
||||
# Forget Password
|
||||
|
||||
# Unlock
|
||||
##
|
||||
## Success
|
||||
## Failure
|
||||
### Invalid Mount Point
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
## Failure
|
||||
|
||||
# Migration
|
||||
## Start
|
||||
## Run
|
||||
## Success
|
||||
## Missing file system capabilities
|
||||
## Impossible
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
## Start Failure
|
||||
## Check Selection
|
||||
## Detail view
|
||||
## Fix Application
|
||||
|
||||
# Preferences
|
||||
## General
|
||||
## Volume
|
||||
## Updates
|
||||
## Contribution
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
|
||||
# Vault Statistics
|
||||
## Read
|
||||
## Write
|
||||
|
||||
# Main Window
|
||||
## Drag 'n' Drop
|
||||
## Vault List
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
### Unlocked
|
||||
### Missing
|
||||
### Needs Migration
|
||||
### Error
|
||||
|
||||
# Wrong File Alert
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
|
||||
## Mount
|
||||
## Master Key
|
||||
|
||||
|
||||
# Recovery Key
|
||||
|
||||
# New Password
|
||||
|
||||
# Quit
|
||||
@@ -68,9 +68,7 @@ addvault.new.readme.accessLocation.2=Dette er hvelvets lagringssted.
|
||||
addvault.new.readme.accessLocation.3=Alle filer som er lagt til i dette volumet, blir kryptert av Cryptomator. Du kan jobbe med dem som på alle andre enheter/mapper. Dette er bare en dekryptert visning av innholdet, filene dine forblir kryptert på harddisken hele tiden.
|
||||
addvault.new.readme.accessLocation.4=Denne filen kan fjernes hvis ønskelig.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Velg filen "masterkey.cryptomator" i det eksisterende hvelvet.
|
||||
addvaultwizard.existing.chooseBtn=Velg…
|
||||
addvaultwizard.existing.filePickerTitle=Velg hovednøkkelfil
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Lagt til hvelvet "%s".\nDu må låse opp dette hvelvet for å få tilgang til eller legge til innhold. Alternativt kan du låse det opp på et hvilket som helst senere tidspunkt.
|
||||
addvaultwizard.success.unlockNow=Lås opp nå
|
||||
@@ -108,9 +106,8 @@ unlock.error.invalidMountPoint.existing=Monteringspunktet "%s" finnes enten alle
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Låsingen mislyktes
|
||||
lock.forced.message=Låsing "%s" ble blokkert av ventende operasjoner eller åpne filer. Du kan tvinge låsing av dette hvelvet, men avbrytelse av I/O kan føre til tap av ulagrede data.
|
||||
lock.forced.confirmBtn=Tving låsing
|
||||
lock.forced.retryBtn=Prøv igjen
|
||||
## Failure
|
||||
lock.fail.heading=Låsing av hvelvet mislyktes.
|
||||
lock.fail.message=Hvelvet "%s" kunne ikke låses. Forsikre deg om at ulagrede arbeider lagres andre steder, og at viktige lese/skrive-operasjoner er fullført. For å lukke hvelvet må du avbryte Cryptomatorprosessen.
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Dit is de opslaglocatie van uw kluis.
|
||||
addvault.new.readme.accessLocation.3=Alle bestanden die aan dit volume worden toegevoegd zullen worden versleuteld door Cryptomator. U kunt deze bestanden gebruiken zoals in elke andere map/schijf. Dit is alleen een ontsleutelde weergave van de inhoud, uw bestanden blijven ten alle tijden versleuteld op uw harde schijf.
|
||||
addvault.new.readme.accessLocation.4=Voel je vrij om dit bestand te verwijderen.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Kies het "masterkey.cryptomator" bestand van uw bestaande kluis.
|
||||
addvaultwizard.existing.instruction=Kies het "vault.cryptomator"-bestand van uw bestaande kluis. Indien er enkel een bestand genaamd "masterkey.cryptomator" anwezig is, kies deze dan in de plaats.
|
||||
addvaultwizard.existing.chooseBtn=Kies…
|
||||
addvaultwizard.existing.filePickerTitle=Selecteer het Masterkey-bestand
|
||||
addvaultwizard.existing.filePickerTitle=Kies kluisbestand
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Toegevoegde kluis "%s".\nOntgrendel deze kluis om toegang te krijgen tot of om inhoud toe te voegen. Optioneel kunt u deze op elk later tijdstip ontgrendelen.
|
||||
addvaultwizard.success.unlockNow=Nu Ontgrendelen
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Koppelpunt "%s" bestaat reeds of de bove
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=De kluis kon niet op een gecontroleerde manier vergrendeld worden
|
||||
lock.forced.heading=Vergrendelen mislukt
|
||||
lock.forced.message=Het vergrendelen van "%s" werd voorkomen door lopende processen of geopende bestanden. U kunt de vergrendeling op deze kluis forceren, maar dit kan leiden tot het verlies van niet-opgeslagen gegevens.
|
||||
lock.forced.confirmBtn=Forceer vergrendeling
|
||||
lock.forced.retryBtn=Opnieuw proberen
|
||||
lock.forced.forceBtn=Forceer vergrendeling
|
||||
## Failure
|
||||
lock.fail.heading=Kluis kan niet vergrendeld worden.
|
||||
lock.fail.message=Kluis "%s" kan niet vergrendeld worden. Zorg ervoor dat u uw niet-opgeslagen werk ergens anders opslaat en belangrijke lees-/schrijfbewerkingen hebt voltooid. Om de kluis te sluiten, beëindigt u het Cryptomator-proces.
|
||||
|
||||
@@ -65,9 +65,7 @@ addvault.new.readme.accessLocation.2=Dette er lagringsstaden til kvelven.
|
||||
addvault.new.readme.accessLocation.3=Alle filer som er lagt til i dette volumet, blir kryptert av Cryptomator. Du kan jobba med dei som på alle andre einingar/mapper. Dette er berre ein dekryptert visning av innhaldet, filene dine blir verande kryptert på harddisken heile tida.
|
||||
addvault.new.readme.accessLocation.4=Du kan fjerna denne fila viss ønskeleg.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Vel fila "masterkey.cryptomator" i den eksisterande kvelven.
|
||||
addvaultwizard.existing.chooseBtn=Vel…
|
||||
addvaultwizard.existing.filePickerTitle=Vel hovudnøkkelfil
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Lagt til kvelven "%s".\nDu må låsa opp denne kvelven for å få tilgang til eller legga til innhald. Alternativt kan du låsa det opp på eit kva som helst seinare tidspunkt.
|
||||
addvaultwizard.success.unlockNow=Lås opp no
|
||||
|
||||
@@ -66,9 +66,7 @@ addvault.new.readme.accessLocation.2=ਇਹ ਤੁਹਾਡੇ ਵਾਲਟ ਦ
|
||||
addvault.new.readme.accessLocation.3=ਇਸ ਵਾਲੀਅਮ ਵਿੱਚ ਜੋੜੀ ਗਈ ਕੋਈ ਵੀ ਫਾਇਲ Cryptomator ਵਲੋਂ ਇੰਕ੍ਰਿਪਟ ਕੀਤੀ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਕਿਸੇ ਵੀ ਆਮ ਡਰਾਇਵ/ਫੋਲਡਰ ਵਾਂਗ ਵਰਤ ਸਕਦੇ ਹੋ। ਇਹ ਕੇਵਲ ਇਸ ਦੀ ਸਮੱਗਰੀ ਵੇਖਣ ਲਈ ਹੀ ਡਿ-ਕ੍ਰਿਪਟ ਹੁੰਦਾ ਹੈ, ਤੁਹਾਡੀਆਂ ਫਾਇਲਾਂ ਤੁਹਾਡੀ ਹਾਰਡ ਡਰਾਇਵ ਉੱਤੇ ਹਮੇਸ਼ਾਂ ਇੰਕ੍ਰਿਪਟ ਰਹਿੰਦੀਆਂ ਹਨ।
|
||||
addvault.new.readme.accessLocation.4=ਇਹ ਫਾਇਲ ਕਿਸੇ ਵੀ ਵੇਲੇ ਹਟਾ ਸਕਦੇ ਹੋ।
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=ਆਪਣੇ ਮੌਜੂਦਾ ਵਾਲਟ ਦੀ "masterkey.cryptomator" ਫਾਇਲ ਚੁਣੋ।
|
||||
addvaultwizard.existing.chooseBtn=…ਚੁਣੋ
|
||||
addvaultwizard.existing.filePickerTitle=ਮਾਸਟਰ-ਕੁੰਜੀ ਫਾਇਲ ਚੁਣੋ
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions="%s" ਵਾਲਟ ਜੋੜਿਆ ਗਿਆ।\nਇਸ ਵਾਲਟ ਲਈ ਪਹੁੰਚ ਜਾਂ ਸਮੱਗਰੀ ਜੋੜਨ ਵਾਸਤੇ ਤੁਹਾਨੂੰ ਇਸ ਨੂੰ ਅਣ-ਲਾਕ ਕਰਨਾ ਹੋਵੇਗਾ। ਬਦਲਵੇਂ ਰੂਪ ਵਿੱਚ ਤੁਸੀਂ ਕਿਸੇ ਵੀ ਵੇਲੇ ਇਸ ਨੂੰ ਅਣ-ਲਾਕ ਕਰ ਸਕਦੇ ਹੋ।
|
||||
addvaultwizard.success.unlockNow=ਹੁਣੇ ਅਣ-ਲਾਕ ਕਰੋ
|
||||
@@ -105,9 +103,7 @@ unlock.error.invalidMountPoint.existing="%s" ਮਾਊਂਟ ਪੁਆਇੰਟ
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=ਸਧਾਰਨ ਲਾਕ ਕਰਨਾ ਅਸਫ਼ਲ ਹੈ
|
||||
lock.forced.message=ਬਾਕੀ ਰਹਿੰਦੀਆਂ ਕਾਰਵਾਈਆਂ ਜਾਂ ਫ਼ਾਈਲਾਂ ਖੁੱਲ੍ਹਣ ਕਰਕੇ "%s" ਲਾਕ ਕਰਨ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ। ਤੁਸੀਂ ਇਸ ਵਾਲਟ ਨੂੰ ਧੱਕੇ ਨਾਲ ਲਾਕ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ I/O ਵਿੱਚ ਰੁਕਾਵਟ ਪਾਉਣ ਨਾਲ ਨਾ-ਸੰਭਾਲਿਆ ਡਾਟਾ ਖਤਮ ਹੋ ਜਾ ਸਕਦਾ ਹੈ।
|
||||
lock.forced.confirmBtn=ਧੱਕੇ ਨਾਲ ਲਾਕ ਕਰੋ
|
||||
## Failure
|
||||
lock.fail.heading=ਵਾਲਟ ਲਾਕ ਕਰਨਾ ਅਸਫ਼ਲ ਹੈ।
|
||||
lock.fail.message=ਵਾਲਟ "%s" ਨੂੰ ਲਾਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਨਾ-ਸੰਭਾਲੇ ਕੰਮ ਨੂੰ ਹੋਰ ਥਾਂ ਸੰਭਾਲ ਲਿਆ ਹੈ ਅਤੇ ਖਾਸ ਪੜ੍ਹਨ/ਲਿਖਣ ਕਾਰਵਾਈਆਂ ਪੂਰੀਆਂ ਹੋਈਆਂ ਹਨ। ਵਾਲਟ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ Cryptomator ਕਾਰਵਾਈ ਨੂੰ ਖਤਮ ਕਰੋ।
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Tu są przechowywane pliki Twojego sejfu.
|
||||
addvault.new.readme.accessLocation.3=Wszystkie pliki dodane tutaj zostaną zaszyfrowane przez Cryptomator. Możesz tu wykonywać operacje jak na każdym innym dysku czy katalogu. To jest jedynie odszyfrowany podgląd Twoich plików, wszystkie pozostają cały czas zaszyfrowane na Twoim dysku twardym.
|
||||
addvault.new.readme.accessLocation.4=Jeśli chcesz możesz spokojnie usunąć ten plik.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Wybierz plik "masterkey.cryptomator" w swoim istniejącym sejfie.
|
||||
addvaultwizard.existing.instruction=Wybierz plik "vault.cryptomator" w istniejącym sejfie. Jeśli istnieje tylko plik "masterkey.cryptomator", wybierz ten plik.
|
||||
addvaultwizard.existing.chooseBtn=Wybierz…
|
||||
addvaultwizard.existing.filePickerTitle=Wybierz plik Masterkey
|
||||
addvaultwizard.existing.filePickerTitle=Wybierz plik sejfu
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Dodano sejf "%s".\nMusisz odblokować ten sejf, aby uzyskać dostęp lub dodać zawartość. Możesz go również odblokować kiedy indziej.
|
||||
addvaultwizard.success.unlockNow=Odblokuj teraz
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Punkt montowania już istnieje lub braku
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Blokada nie powiodła się
|
||||
lock.forced.heading=Nieudana próba blokady
|
||||
lock.forced.message=Zamknięcie "%s" zostało zablokowane przez oczekujące operacje lub otwarte pliki. Możesz wymusić zamknięcie tego sejfu, ale może to spowodować utratę niezapisanych danych.
|
||||
lock.forced.confirmBtn=Wymuś zablokowanie
|
||||
lock.forced.retryBtn=Ponów
|
||||
lock.forced.forceBtn=Wymuś blokowanie
|
||||
## Failure
|
||||
lock.fail.heading=Błąd blokowania sejfu.
|
||||
lock.fail.message=Nie można zablokować sejfu "%s". Zapisz wszelkie zmiany w bezpiecznym miejscu i upewnij się, że nie ma żadnych ważnych oczekujących operacji odczytu/zapisu. W celu zamknięcia sejfu ubij Cryptomator.
|
||||
|
||||
@@ -13,6 +13,11 @@ generic.button.done=Ok
|
||||
generic.button.next=Seguinte
|
||||
generic.button.print=Imprimir
|
||||
## Error
|
||||
generic.error.title=Erro %s
|
||||
generic.error.instruction=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.
|
||||
generic.error.hyperlink.lookup=Procure este erro
|
||||
generic.error.hyperlink.report=Relatar este erro
|
||||
generic.error.technicalDetails=Detalhes:
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Cofre
|
||||
@@ -43,6 +48,9 @@ addvaultwizard.new.directoryPickerLabel=Outro Local
|
||||
addvaultwizard.new.directoryPickerButton=Escolher…
|
||||
addvaultwizard.new.directoryPickerTitle=Selecionar diretório
|
||||
addvaultwizard.new.fileAlreadyExists=Aviso: Já existe um Ficheiro ou Diretório com o mesmo nome
|
||||
addvaultwizard.new.locationDoesNotExist=Um diretório no caminho especificado não existe ou não pode ser acessado
|
||||
addvaultwizard.new.locationIsNotWritable=Sem acesso de escrita no caminho especificado
|
||||
addvaultwizard.new.locationIsOk=Localização adequada para o seu cofre
|
||||
addvaultwizard.new.invalidName=Nome de cofre inválido. Por favor considere um nome de diretório regular.
|
||||
### Password
|
||||
addvaultwizard.new.createVaultBtn=Criar Cofre
|
||||
@@ -53,6 +61,9 @@ addvaultwizard.new.generateRecoveryKeyChoice.no=Não obrigado, não vou perder a
|
||||
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 FAÇA
|
||||
addvault.new.readme.storageLocation.4=- alterar quaisquer ficheiros dentro deste directório ou
|
||||
addvault.new.readme.storageLocation.5=- colar quaisquer ficheiros para encriptação neste directório.
|
||||
addvault.new.readme.storageLocation.6=Se deseja criptografar 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.
|
||||
@@ -60,10 +71,10 @@ addvault.new.readme.storageLocation.9=3. Abra o local de acesso clicando no bot
|
||||
addvault.new.readme.storageLocation.10=Se precisar de ajuda, visite a documentação: %s
|
||||
addvault.new.readme.accessLocation.fileName=BEM-VINDO.rtf
|
||||
addvault.new.readme.accessLocation.1=🔐 VOLUME CRIPTOGRAFADO 🔐
|
||||
addvault.new.readme.accessLocation.2=Este é o local de acesso do seu cofre.
|
||||
addvault.new.readme.accessLocation.4=Sinta-se livre para remover este ficheiro.
|
||||
## Existing
|
||||
addvaultwizard.existing.chooseBtn=Escolher…
|
||||
addvaultwizard.existing.filePickerTitle=Selecionar ficheiro MasterKey
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Adicionado cofre "%s".\nPrecisa de destrancar este cofre para aceder ou adicionar conteúdo. Como alternativa, pode destrancá-lo a qualquer momento mais tarde.
|
||||
addvaultwizard.success.unlockNow=Destrancar agora
|
||||
@@ -93,7 +104,9 @@ unlock.success.rememberChoice=Lembrar escolha, não mostrar isto novamente
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.confirmBtn=Forçar Bloqueio
|
||||
lock.forced.heading=Cadeado falhou\nOr\nBloqueio falhou
|
||||
lock.forced.retryBtn=Tente novamente
|
||||
lock.forced.forceBtn=Forçar bloqueio
|
||||
## Failure
|
||||
|
||||
# Migration
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Este é o local de acesso ao seu cofre.
|
||||
addvault.new.readme.accessLocation.3=Todos os arquivos adicionados a este volume serão encriptados pelo Cryptomator. Você pode trabalhar nele tal como em qualquer outra unidade/pasta. Esta é apenas uma visão desencriptada do seu conteúdo, seus arquivos ficam encriptados em seu disco rígido o tempo todo.
|
||||
addvault.new.readme.accessLocation.4=Sinta-se livre para apagar este arquivo.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Selecione o arquivo "masterkey.cryptomator" do seu 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 Masterkey
|
||||
addvaultwizard.existing.filePickerTitle=Selecionar arquivo do Cofre
|
||||
## Success
|
||||
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
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Ponto de montagem/pasta já existe ou a
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Bloqueio normal falhou
|
||||
lock.forced.heading=Bloqueio falhou
|
||||
lock.forced.message=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.confirmBtn=Forçar Bloqueio
|
||||
lock.forced.retryBtn=Tentar Novamente
|
||||
lock.forced.forceBtn=Forçar Bloqueio
|
||||
## Failure
|
||||
lock.fail.heading=O bloqueio do cofre falhou.
|
||||
lock.fail.message=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.
|
||||
|
||||
@@ -70,9 +70,7 @@ addvault.new.readme.accessLocation.2=Aceasta este locația de acces a seifului d
|
||||
addvault.new.readme.accessLocation.3=Orice fișier adăugat la acest volum va fi criptat de către Cryptomator. Puteți lucra la el ca pe orice altă unitate/folder. Aceasta este doar o vizualizare decriptată a conținutului său, fișierele sunt criptate tot timpul pe hard disk-ul tău.
|
||||
addvault.new.readme.accessLocation.4=Puteți să ștergeți acest fișier.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Alegeți fișierul "masterkey.cryptomator" din seiful dvs. existent.
|
||||
addvaultwizard.existing.chooseBtn=Alege…
|
||||
addvaultwizard.existing.filePickerTitle=Selectaţi fişierul Masterkey
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Seiful "%s" a fost adăugat.\nTrebuie să deblocați acest seif pentru a accesa sau adăuga conținut. Alternativ, îl puteți debloca în orice moment ulterior.
|
||||
addvaultwizard.success.unlockNow=Deblochează acum
|
||||
@@ -112,9 +110,8 @@ unlock.error.invalidMountPoint.existing=Punctul de montare "%s" există deja sau
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Blocarea elegantă a eșuat
|
||||
lock.forced.message=Blocarea "%s" a fost blocată de operațiile în așteptare sau de fișierele deschise. Puteți forța blocarea acestui seif, dar întreruperea I/O poate duce la pierderea datelor nesalvate.
|
||||
lock.forced.confirmBtn=Forțați blocarea
|
||||
lock.forced.retryBtn=Încercați din nou
|
||||
## Failure
|
||||
lock.fail.heading=Blocarea seifului a eșuat.
|
||||
lock.fail.message=Seiful "%s" nu a putut fi blocat. Asigurați-vă că lucrările nesalvate sunt salvate altundeva și că operațiunile importante de citire/scriere sunt terminate. Pentru a închide seiful omoară procesul Cryptomator.
|
||||
|
||||
@@ -14,8 +14,8 @@ generic.button.next=Далее
|
||||
generic.button.print=Печать
|
||||
## Error
|
||||
generic.error.title=Ошибка: %s
|
||||
generic.error.instruction=Произошла непредвиденная ситуация. Попробуйте найти уже имеющиеся решения этой ошибки. Если об этой ошибке ещё не сообщали, то сделайте это.
|
||||
generic.error.hyperlink.lookup=Найти ошибку
|
||||
generic.error.instruction=Ой! Криптоматор не ожидал, что так произойдет. Вы можете поискать существующие решения этой ошибки. Или если об этом еще не сообщалось, не стесняйтесь сделать это.
|
||||
generic.error.hyperlink.lookup=Искать ошибку
|
||||
generic.error.hyperlink.report=Сообщить об ошибке
|
||||
generic.error.technicalDetails=Подробности:
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Это место доступа к ваш
|
||||
addvault.new.readme.accessLocation.3=Любые файлы, добавленные в этот том, будут зашифрованы Cryptomator. Вы можете работать с ним как с любым другим диском или папкой. Здесь отображается только расшифрованное содержимое тома, ваши файлы остаются зашифрованными на жёстком диске постоянно.
|
||||
addvault.new.readme.accessLocation.4=Этот файл можно удалить.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Выберите файл "masterkey.cryptomator" от имеющегося хранилища.
|
||||
addvaultwizard.existing.instruction=Выберите файл "vault.cryptomator" существующего хранилища. Если имеется только файл "masterkey.cryptomator", выберите его.
|
||||
addvaultwizard.existing.chooseBtn=Выбрать…
|
||||
addvaultwizard.existing.filePickerTitle=Выберите файл MasterKey
|
||||
addvaultwizard.existing.filePickerTitle=Выберите файл хранилища
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Добавлено хранилище "%s".\nДля добавления данных или доступа к содержимому нужно разблокировать хранилище. Его можно разблокировать и позже.
|
||||
addvaultwizard.success.unlockNow=Разблокировать
|
||||
@@ -95,7 +95,7 @@ changepassword.finalConfirmation=Я понимаю, что не смогу по
|
||||
# Forget Password
|
||||
forgetPassword.title=Не помню пароль
|
||||
forgetPassword.information=Сохранённый пароль от этого хранилища будет удалён из вашей связки ключей.
|
||||
forgetPassword.confirmBtn=Не помню пароль
|
||||
forgetPassword.confirmBtn=Забыть сохранённый пароль
|
||||
|
||||
# Unlock
|
||||
unlock.title=Разблокировать "%s"
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Точка монтирования %s
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Ошибка мягкой блокировки
|
||||
lock.forced.heading=Не удалось заблокировать
|
||||
lock.forced.message=Блокировка "%s" невозможна из-за незавершённых операций или открытых файлов. Вы можете заблокировать это хранилище принудительно, однако прерывание ввода-вывода может привести к потере несохранённых данных.
|
||||
lock.forced.confirmBtn=Принудительная блокировка
|
||||
lock.forced.retryBtn=Повторить
|
||||
lock.forced.forceBtn=Принудительная блокировка
|
||||
## Failure
|
||||
lock.fail.heading=Не удалось заблокировать хранилище.
|
||||
lock.fail.message=Хранилище "%s" не удалось заблокировать. Убедитесь, что несохранённые данные сохранены в другом месте и завершены важные операции чтения/записи. Чтобы закрыть хранилище, завершите процесс Cryptomator.
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Toto je prístupové miesto vášho trezoru
|
||||
addvault.new.readme.accessLocation.3=Všetky súbory pridané do tohto zväzku budú šifrované programom Cryptomator. Môžete na tom pracovať ako na akomkoľvek inom disku / priečinku. Toto je iba dešifrované zobrazenie jeho obsahu, vaše súbory zostávajú stále šifrované na pevnom disku.
|
||||
addvault.new.readme.accessLocation.4=Tento súbor môžete kedykoľvek odstrániť.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Vyberte súbor „masterkey.cryptomator“ existujúceho trezoru.
|
||||
addvaultwizard.existing.instruction=Zvoľte "vault.cryptomator" súbor Vášho existujúceho trezora. Ak existuje iba súbor s menom "masterkey.cryptomator", vyberte ho namiesto.
|
||||
addvaultwizard.existing.chooseBtn=Vybrať…
|
||||
addvaultwizard.existing.filePickerTitle=Zvoľte hlavný kľúčový súbor
|
||||
addvaultwizard.existing.filePickerTitle=Zvoľte súbor trezora
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Pridaný trezor "%s".\nAk chcete získať prístup alebo pridať obsah, musíte tento trezor odomknúť. Prípadne ju môžete odomknúť kedykoľvek neskôr.
|
||||
addvaultwizard.success.unlockNow=Odomknúť teraz
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Bod pripojenia "%s" už existuje alebo c
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Bežné uzamknutie zlyhalo
|
||||
lock.forced.heading=Uzamknutie zlyhalo
|
||||
lock.forced.message=Zamknutie "%s" bolo zablokované prebiehajúcimi operáciami alebo otvorenými súbormi. Smiete vynútiť uzamknutie tohto trezoru, ale prerušením I/O môže viesť k strate alebo neuloženiu dát.
|
||||
lock.forced.confirmBtn=Vynútené uzamknutie
|
||||
lock.forced.retryBtn=Skúsiť znovu
|
||||
lock.forced.forceBtn=Vynútené uzamknutie
|
||||
## Failure
|
||||
lock.fail.heading=Uzatváranie trezoru zlyhalo.
|
||||
lock.fail.message=Trezor "%s" nie je možné uzamknúť. Uistite sa že neuložená páca je uložená inde a dôležité Read/Write operácie sú ukončené. Ináč uzavretím trezoru, ukončíte proces Cryptomator-a.
|
||||
|
||||
@@ -70,9 +70,7 @@ addvault.new.readme.accessLocation.2=Ово је приступна локаци
|
||||
addvault.new.readme.accessLocation.3=Било која датотека додата у ову партицију биће шифровани са Cryptomator. Можете да радите у њој баш као у било којој другој партицији или директоријуму. Ово је само дешифрован преглед њеног садржаја, ваше датотеке остају шифроване на вашем тврдом диску све време.
|
||||
addvault.new.readme.accessLocation.4=Слободно можете да обришете ову датотеку.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Изабери "masterkey.cryptomator" датотеку свог постојећег сефа.
|
||||
addvaultwizard.existing.chooseBtn=Изабери…
|
||||
addvaultwizard.existing.filePickerTitle=Изабери "Masterkey" датотеку
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Додат је сеф "%s".\nМорате да откључате овај сеф да бисте приступили или додали садржај. Такође можете да га откључате касније у било ком тренутку.
|
||||
addvaultwizard.success.unlockNow=Откључај сада
|
||||
@@ -110,9 +108,7 @@ unlock.error.invalidMountPoint.existing=Тачка везивања "%s" већ
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Нормално закључавање није успело
|
||||
lock.forced.message=Закључавање "%s" је блокирано операцијама на чекању или отвореним датотекама. Можете присилно закључати овај сеф, међутим прекид "I/O" операција може резултирати губитком несачуваних података.
|
||||
lock.forced.confirmBtn=Присилно закључај
|
||||
## Failure
|
||||
lock.fail.heading=Закључавање сефа није успело.
|
||||
lock.fail.message=Сеф "%s" није могуће закључати. Будите сигурни да је несачувани рад сачуван негде другде и да су важне операције читања/писања завршене. Како бисте затворили сеф, зауставите Cryptomator процес у систему.
|
||||
|
||||
@@ -70,9 +70,7 @@ addvault.new.readme.accessLocation.2=Ovo je pristupna lokacija vašeg sefa.
|
||||
addvault.new.readme.accessLocation.3=Bilo koja datoteka dodata u ovu particiju biće šifrovana sa Cryptomator. Možete da radite u njoj baš kao i u bilo kojoj drugoj particiji ili direktorijumu. Ovo je samo dešifrovan pregled njenog sadržaja, vaše datoteke ostaju šifrovane na vašem tvrdom disku sve vreme.
|
||||
addvault.new.readme.accessLocation.4=Slobodno možete da obrišete ovu datoteku.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Izaberi "masterkey.cryptomator" datoteku svog postojećeg sefa.
|
||||
addvaultwizard.existing.chooseBtn=Izaberi…
|
||||
addvaultwizard.existing.filePickerTitle=Izaberi "Masterkey" datoteku
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Dodat je sef "%s".\nMorate da otključate ovaj sef da biste pristupili ili dodali sadržaj. Takođe možete da ga otključate kasnije u bilo kom trenutku.
|
||||
addvaultwizard.success.unlockNow=Otključaj sada
|
||||
@@ -110,9 +108,7 @@ unlock.error.invalidMountPoint.existing=Tačka vezivanja "%s" već postoji ili j
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Normalno zaključavanje nije uspelo
|
||||
lock.forced.message=Zaključavanje "%s" je blokirano operacijama na čekanju ili otvorenim datotekama. Možete prisilno zaključati ovaj sef, međutim prekid "I/O" operacija može rezultirati gubitkom nesačuvanih podataka.
|
||||
lock.forced.confirmBtn=Prisilno zaključaj
|
||||
## Failure
|
||||
lock.fail.heading=Zaključavanje sefa nije uspelo.
|
||||
lock.fail.message=Sef "%s" nije moguće zaključati. Budite sigurni da je nesačuvani rad sačuvan negde drugde i da su važne operacije čitanja/pisanja završene. Kako biste zatvorili sef, zaustavite Cryptomator proces u sistemu.
|
||||
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Detta är ditt valvs åtkomstplats.
|
||||
addvault.new.readme.accessLocation.3=Alla filer som läggs till denna volym kommer att krypteras av Cryptomator. Du kan arbeta med dem som i vilken annan enhet/mapp som helst. Detta är bara en dekrypterad vy av dess innehåll, dina filer förblir krypterade på din hårddisk hela tiden.
|
||||
addvault.new.readme.accessLocation.4=Du kan ta bort denna fil.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Välj "masterkey.cryptomator" för ditt befintliga valv.
|
||||
addvaultwizard.existing.instruction=Välj filen "vault.cryptomator" i ditt befintliga valv. Om det endast finns en fil som heter "masterkey.cryptomator", välj den istället.
|
||||
addvaultwizard.existing.chooseBtn=Välj…
|
||||
addvaultwizard.existing.filePickerTitle=Välj Masterkey-fil
|
||||
addvaultwizard.existing.filePickerTitle=Välj valvfil
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=Lade till valv "%s".\nDu måste låsa upp detta valv för att komma åt eller lägga till innehåll. Du kan även låsa upp det vid ett senare tillfälle.
|
||||
addvaultwizard.success.unlockNow=Lås upp nu
|
||||
@@ -117,9 +117,8 @@ unlock.error.invalidMountPoint.existing=Monteringspunkten "%s" finns redan eller
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Normal låsning misslyckades
|
||||
lock.forced.message=Låsning av "%s" förhindras av pågående operationer eller öppna filer. Du kan tvinga låsning av detta valv, men det kan resultera i förlust av osparade data.
|
||||
lock.forced.confirmBtn=Tvinga låsning
|
||||
lock.forced.retryBtn=Försök igen
|
||||
## Failure
|
||||
lock.fail.heading=Låsning av valv misslyckades.
|
||||
lock.fail.message=Valvet "%s" kunde inte låsas. Se till att osparat arbete sparas någon annanstans och viktiga läs- och skrivfunktioner är klara. För att stänga valvet, avsluta Cryptomator-processen.
|
||||
|
||||
89
src/main/resources/i18n/strings_ta.properties
Normal file
89
src/main/resources/i18n/strings_ta.properties
Normal file
@@ -0,0 +1,89 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
|
||||
# Generics
|
||||
## Button
|
||||
## Error
|
||||
|
||||
# Defaults
|
||||
|
||||
# Tray Menu
|
||||
|
||||
# Add Vault Wizard
|
||||
## Welcome
|
||||
## New
|
||||
### Name
|
||||
### Location
|
||||
### Password
|
||||
### Information
|
||||
## Existing
|
||||
## Success
|
||||
|
||||
# Remove Vault
|
||||
|
||||
# Change Password
|
||||
|
||||
# Forget Password
|
||||
|
||||
# Unlock
|
||||
##
|
||||
## Success
|
||||
## Failure
|
||||
### Invalid Mount Point
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=மீண்டும் முயற்சிக்கவும்
|
||||
## Failure
|
||||
|
||||
# Migration
|
||||
## Start
|
||||
## Run
|
||||
## Success
|
||||
## Missing file system capabilities
|
||||
## Impossible
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
## Start Failure
|
||||
## Check Selection
|
||||
## Detail view
|
||||
## Fix Application
|
||||
|
||||
# Preferences
|
||||
## General
|
||||
## Volume
|
||||
## Updates
|
||||
## Contribution
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
|
||||
# Vault Statistics
|
||||
## Read
|
||||
## Write
|
||||
|
||||
# Main Window
|
||||
## Drag 'n' Drop
|
||||
## Vault List
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
### Unlocked
|
||||
### Missing
|
||||
### Needs Migration
|
||||
### Error
|
||||
|
||||
# Wrong File Alert
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
|
||||
## Mount
|
||||
## Master Key
|
||||
|
||||
|
||||
# Recovery Key
|
||||
|
||||
# New Password
|
||||
|
||||
# Quit
|
||||
89
src/main/resources/i18n/strings_te.properties
Normal file
89
src/main/resources/i18n/strings_te.properties
Normal file
@@ -0,0 +1,89 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
|
||||
# Generics
|
||||
## Button
|
||||
## Error
|
||||
|
||||
# Defaults
|
||||
|
||||
# Tray Menu
|
||||
|
||||
# Add Vault Wizard
|
||||
## Welcome
|
||||
## New
|
||||
### Name
|
||||
### Location
|
||||
### Password
|
||||
### Information
|
||||
## Existing
|
||||
## Success
|
||||
|
||||
# Remove Vault
|
||||
|
||||
# Change Password
|
||||
|
||||
# Forget Password
|
||||
|
||||
# Unlock
|
||||
##
|
||||
## Success
|
||||
## Failure
|
||||
### Invalid Mount Point
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.retryBtn=మళ్ళీ చేయండి
|
||||
## Failure
|
||||
|
||||
# Migration
|
||||
## Start
|
||||
## Run
|
||||
## Success
|
||||
## Missing file system capabilities
|
||||
## Impossible
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
## Start Failure
|
||||
## Check Selection
|
||||
## Detail view
|
||||
## Fix Application
|
||||
|
||||
# Preferences
|
||||
## General
|
||||
## Volume
|
||||
## Updates
|
||||
## Contribution
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
|
||||
# Vault Statistics
|
||||
## Read
|
||||
## Write
|
||||
|
||||
# Main Window
|
||||
## Drag 'n' Drop
|
||||
## Vault List
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
### Unlocked
|
||||
### Missing
|
||||
### Needs Migration
|
||||
### Error
|
||||
|
||||
# Wrong File Alert
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
|
||||
## Mount
|
||||
## Master Key
|
||||
|
||||
|
||||
# Recovery Key
|
||||
|
||||
# New Password
|
||||
|
||||
# Quit
|
||||
@@ -75,9 +75,9 @@ addvault.new.readme.accessLocation.2=Burası kasanızın erişim konumudur.
|
||||
addvault.new.readme.accessLocation.3=Bu birime eklenen tüm dosyalar Cryptomator tarafından şifrelenecektir. Başka herhangi bir sürücü/klasörde olduğu gibi üzerinde çalışabilirsiniz. Bu sadece içeriğinin şifresi çözülmüş bir görünümüdür, dosyalarınız her zaman sabit sürücünüzde şifrelenmiş halde kalır.
|
||||
addvault.new.readme.accessLocation.4=Bu dosyayı silmeye çekinmeyin.
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=Varolan kasanızın "masterkey.cryptomator" dosyasını seçin.
|
||||
addvaultwizard.existing.instruction=Mevcut kasanızın "vault.cryptomator" dosyasını seçin. Yalnızca "masterkey.cryptomator" adlı bir dosya varsa, bunun yerine onu seçin.
|
||||
addvaultwizard.existing.chooseBtn=Seç…
|
||||
addvaultwizard.existing.filePickerTitle=Masterkey Dosyasını Seç
|
||||
addvaultwizard.existing.filePickerTitle=Kasa Dosyasını Seçin
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions="%s" kasası eklendi.\nİçeriğe erişmek veya içerik eklemek için bu kasanın kilidini açmanız gerekir. Alternatif olarak, daha sonra herhangi bir zamanda kilidini açabilirsiniz.
|
||||
addvaultwizard.success.unlockNow=Kilidi Şimdi Aç
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=Bağlama noktası / klasör zaten var ve
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Normal kilitleme başarısız oldu
|
||||
lock.forced.heading=Kilitleme başarısız
|
||||
lock.forced.message="%s" nin kilitlenmesi, bekleyen işlemler veya açık dosyalar tarafından engellendi. Bu kasayı zorla kilitleyebilirsiniz, ancak G/Ç'nin kesilmesi kaydedilmemiş verilerin kaybına neden olabilir.
|
||||
lock.forced.confirmBtn=Kilitlemeyi Zorla
|
||||
lock.forced.retryBtn=Yeniden dene
|
||||
lock.forced.forceBtn=Kilitlemeye zorla
|
||||
## Failure
|
||||
lock.fail.heading=Kasa kilitlenemedi.
|
||||
lock.fail.message="%s" kasası kilitlenemedi. Kaydedilmemiş çalışmanın başka bir yere kaydedildiğinden ve önemli Okuma / Yazma işlemlerinin tamamlandığından emin olun. Kasayı kapatmak için Cryptomator işlemini sonlandırın.
|
||||
|
||||
136
src/main/resources/i18n/strings_uk.properties
Normal file
136
src/main/resources/i18n/strings_uk.properties
Normal file
@@ -0,0 +1,136 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
|
||||
# Generics
|
||||
## Button
|
||||
generic.button.apply=Застосувати
|
||||
generic.button.back=Назад
|
||||
generic.button.cancel=Відмінити
|
||||
generic.button.change=Змінити
|
||||
generic.button.close=Закрити
|
||||
generic.button.copy=Копіювати
|
||||
generic.button.copied=Скопійовано!
|
||||
generic.button.done=Готово
|
||||
generic.button.next=Далі
|
||||
generic.button.print=Друкувати
|
||||
## Error
|
||||
generic.error.title=Помилка %s
|
||||
generic.error.instruction=Ой! Cryptomator не очікував, що таке трапиться. Ви можете знайти існуючі рішення цієї помилки. Або, якщо про це ще не повідомили, то не соромтеся зробити це.
|
||||
generic.error.hyperlink.lookup=Дізнатися більше про цю помилку
|
||||
generic.error.hyperlink.report=Повідомити про помилку
|
||||
generic.error.technicalDetails=Докладно:
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Сховище
|
||||
|
||||
# Tray Menu
|
||||
traymenu.showMainWindow=Показати
|
||||
traymenu.showPreferencesWindow=Властивості
|
||||
traymenu.lockAllVaults=Заблокувати все
|
||||
traymenu.quitApplication=Вийти
|
||||
traymenu.vault.unlock=Розблокувати
|
||||
traymenu.vault.lock=Заблокувати
|
||||
traymenu.vault.reveal=Показати
|
||||
|
||||
# Add Vault Wizard
|
||||
addvaultwizard.title=Додати сховище
|
||||
## Welcome
|
||||
addvaultwizard.welcome.newButton=Створити нове сховище
|
||||
addvaultwizard.welcome.existingButton=Відкрити існуюче сховище
|
||||
## New
|
||||
### Name
|
||||
addvaultwizard.new.nameInstruction=Оберіть назву для сховища
|
||||
addvaultwizard.new.namePrompt=Назва сховища
|
||||
### Location
|
||||
addvaultwizard.new.locationInstruction=Де Cryptomator має зберігати зашифровані файли вашого сховища?
|
||||
addvaultwizard.new.locationLabel=Розташування сховища
|
||||
addvaultwizard.new.locationPrompt=…
|
||||
addvaultwizard.new.directoryPickerLabel=Власне розташування
|
||||
addvaultwizard.new.directoryPickerButton=Обрати…
|
||||
addvaultwizard.new.directoryPickerTitle=Оберіть директорію
|
||||
addvaultwizard.new.fileAlreadyExists=Файл чи папка з іменем сховища вже існує
|
||||
### Password
|
||||
### Information
|
||||
## Existing
|
||||
addvaultwizard.existing.chooseBtn=Обрати…
|
||||
## Success
|
||||
|
||||
# Remove Vault
|
||||
|
||||
# Change Password
|
||||
|
||||
# Forget Password
|
||||
|
||||
# Unlock
|
||||
unlock.unlockBtn=Розблокувати
|
||||
##
|
||||
## Success
|
||||
## Failure
|
||||
### Invalid Mount Point
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=Помилка блокування
|
||||
lock.forced.retryBtn=Повторити
|
||||
lock.forced.forceBtn=Примусове блокування
|
||||
## Failure
|
||||
|
||||
# Migration
|
||||
## Start
|
||||
## Run
|
||||
## Success
|
||||
## Missing file system capabilities
|
||||
## Impossible
|
||||
|
||||
# Health Check
|
||||
## Start
|
||||
## Start Failure
|
||||
## Check Selection
|
||||
## Detail view
|
||||
## Fix Application
|
||||
|
||||
# Preferences
|
||||
preferences.title=Властивості
|
||||
## General
|
||||
## Volume
|
||||
## Updates
|
||||
## Contribution
|
||||
#<-- Add entries for donations and code/translation/documentation contribution -->
|
||||
|
||||
## About
|
||||
|
||||
# Vault Statistics
|
||||
## Read
|
||||
## Write
|
||||
|
||||
# Main Window
|
||||
main.closeBtn.tooltip=Закрити
|
||||
main.preferencesBtn.tooltip=Властивості
|
||||
## Drag 'n' Drop
|
||||
## Vault List
|
||||
main.vaultlist.contextMenu.lock=Заблокувати
|
||||
main.vaultlist.addVaultBtn=Додати сховище
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
### Locked
|
||||
### Unlocked
|
||||
main.vaultDetail.lockBtn=Заблокувати
|
||||
### Missing
|
||||
### Needs Migration
|
||||
### Error
|
||||
|
||||
# Wrong File Alert
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
vaultOptions.general.vaultName=Назва сховища
|
||||
|
||||
## Mount
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Обрати…
|
||||
## Master Key
|
||||
|
||||
|
||||
# Recovery Key
|
||||
|
||||
# New Password
|
||||
|
||||
# Quit
|
||||
@@ -75,17 +75,17 @@ addvault.new.readme.accessLocation.2=这是您的保险库的访问路径。
|
||||
addvault.new.readme.accessLocation.3=任何添加到此卷的文件都将被 Cryptomator 加密。您可以像在一般磁盘/文件夹上那样操作它。 这只是对其内容的解密查看,您的文件会在硬盘上一直保持加密。
|
||||
addvault.new.readme.accessLocation.4=您可以随时删除此文件。
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=请选择您现有保险库中的 "masterkey.cryptomator" 文件
|
||||
addvaultwizard.existing.instruction=请选择现有保险库中的“vault.cryptomator”文件。如果只有一个名为“masterkey.cryptomator”的文件,则改为选择该文件。
|
||||
addvaultwizard.existing.chooseBtn=选择...
|
||||
addvaultwizard.existing.filePickerTitle=选择 Masterkey 文件
|
||||
addvaultwizard.existing.filePickerTitle=请选择保险库对应文件
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=已添加保险库 "%s"\n您需要先解锁此保险库才能访问或添加内容。或者您可以在稍后任何时候再解锁它
|
||||
addvaultwizard.success.unlockNow=立即解锁
|
||||
|
||||
# Remove Vault
|
||||
removeVault.title=删除保险库
|
||||
removeVault.title=移除保险库
|
||||
removeVault.information=这将只会使 Cryptomator 忘记这个保险库,您可以稍后再添加它。任何加密的文件不会从您的硬盘中删除。
|
||||
removeVault.confirmBtn=删除保险库
|
||||
removeVault.confirmBtn=移除保险库
|
||||
|
||||
# Change Password
|
||||
changepassword.title=更改密码
|
||||
@@ -117,9 +117,10 @@ unlock.error.invalidMountPoint.existing=挂载点 "%s" 已存在或缺少父文
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=常规锁定失败
|
||||
lock.forced.heading=锁定失败
|
||||
lock.forced.message=锁定 "%s" 被挂起的操作或使用中的文件中断。您可以强制锁定此保险库,不过请注意打断 I/O 可能导致未保存的数据丢失
|
||||
lock.forced.confirmBtn=强制锁定
|
||||
lock.forced.retryBtn=重试
|
||||
lock.forced.forceBtn=强制锁定
|
||||
## Failure
|
||||
lock.fail.heading=锁定保险库失败
|
||||
lock.fail.message=保险库 "%s" 无法锁定。请确保在其他地方保存未保存的工作,以及重要的 "读/写" 操作已完成。为了顺利关闭保险库,请查杀 Cryptomator 进程
|
||||
@@ -188,8 +189,8 @@ preferences.title=首选项
|
||||
preferences.general=常规
|
||||
preferences.general.theme=界面外观
|
||||
preferences.general.theme.automatic=自动
|
||||
preferences.general.theme.light=亮色
|
||||
preferences.general.theme.dark=暗色
|
||||
preferences.general.theme.light=浅色
|
||||
preferences.general.theme.dark=深色
|
||||
preferences.general.unlockThemes=解锁暗黑模式
|
||||
preferences.general.showMinimizeButton=显示最小化按钮
|
||||
preferences.general.showTrayIcon=显示托盘图标 (需重启)
|
||||
@@ -264,7 +265,7 @@ main.dropZone.dropVault=添加此保险库
|
||||
main.dropZone.unknownDragboardContent=如果您想要添加一个保险库,将其拖动到此窗口
|
||||
## Vault List
|
||||
main.vaultlist.emptyList.onboardingInstruction=点击此处添加一个保险库
|
||||
main.vaultlist.contextMenu.remove=删除…
|
||||
main.vaultlist.contextMenu.remove=移除…
|
||||
main.vaultlist.contextMenu.lock=锁定
|
||||
main.vaultlist.contextMenu.unlock=解锁…
|
||||
main.vaultlist.contextMenu.unlockNow=立即解锁
|
||||
@@ -298,7 +299,7 @@ main.vaultDetail.missing.remove=从保险库列表中移除...
|
||||
main.vaultDetail.missing.changeLocation=更改保险库位置…
|
||||
### Needs Migration
|
||||
main.vaultDetail.migrateButton=升级保险库
|
||||
main.vaultDetail.migratePrompt=您的保险库需要升级到新格式,然后才能访问
|
||||
main.vaultDetail.migratePrompt=您的保险库需要升级到新格式后才能访问
|
||||
### Error
|
||||
main.vaultDetail.error.info=从磁盘加载保险库时发生错误
|
||||
main.vaultDetail.error.reload=重新加载
|
||||
|
||||
@@ -13,6 +13,11 @@ generic.button.done=完成
|
||||
generic.button.next=繼續
|
||||
generic.button.print=列印
|
||||
## Error
|
||||
generic.error.title=錯誤:%s
|
||||
generic.error.instruction=糟糕!Cryptomator 發生了錯誤。您可以嘗試查找該錯誤的現有解決方案,如果是新錯誤,請隨時向我們報告。
|
||||
generic.error.hyperlink.lookup=查找該錯誤
|
||||
generic.error.hyperlink.report=報告這個錯誤
|
||||
generic.error.technicalDetails=詳情:
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=加密檔案庫
|
||||
@@ -70,9 +75,9 @@ addvault.new.readme.accessLocation.2=這是您加密檔案庫的存取位置。
|
||||
addvault.new.readme.accessLocation.3=所有被加進這個磁區的檔案都將被 Cryptomator 加密。你可以把它當做磁碟或資料夾使用。這裡式顯示出解密後內容,您的檔案總是以被加密的狀態儲存在磁碟中。
|
||||
addvault.new.readme.accessLocation.4=您可以放心移除這個檔案。
|
||||
## Existing
|
||||
addvaultwizard.existing.instruction=請選取您現有加密檔案庫的 "masterkey.cryptomator" 檔案。
|
||||
addvaultwizard.existing.instruction=請選擇現有保險庫中名為「vault.cryptomator」的檔案。如果只有一個名為「masterkey.cryptomator」的檔案,則選擇該檔案。
|
||||
addvaultwizard.existing.chooseBtn=選取
|
||||
addvaultwizard.existing.filePickerTitle=選擇主金鑰檔案
|
||||
addvaultwizard.existing.filePickerTitle=請選擇保險庫對應檔案
|
||||
## Success
|
||||
addvaultwizard.success.nextStepsInstructions=已加入加密檔案庫 "%s"。您需要將這個加密檔案庫解鎖以存取內容,或是您也可以之後再解鎖。
|
||||
addvaultwizard.success.unlockNow=立即解鎖
|
||||
@@ -112,9 +117,8 @@ unlock.error.invalidMountPoint.existing=掛載點已經存在或上層資料夾
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
lock.forced.heading=正常鎖定失敗
|
||||
lock.forced.message=仍有未完成的操作或開啟中的檔案以致無法鎖定 "%s"。您可以強制鎖定這個加密檔案庫,不過中斷讀寫可能會導致資料遺失或未被儲存。
|
||||
lock.forced.confirmBtn=強制鎖定
|
||||
lock.forced.retryBtn=重試
|
||||
## Failure
|
||||
lock.fail.heading=鎖定加密檔案庫失敗。
|
||||
lock.fail.message=加密檔案庫 "%s" 無法被鎖定。請確保未存檔的工作已儲存在別的地方以及重要的讀寫工作都已經完成。請強制結束 Cryptomator 以關閉加密檔案庫。
|
||||
@@ -295,6 +299,9 @@ main.vaultDetail.missing.changeLocation=更改加密檔案庫位置…
|
||||
main.vaultDetail.migrateButton=升級加密檔案庫
|
||||
main.vaultDetail.migratePrompt=您必須先更新加密檔案庫才能存取內容
|
||||
### Error
|
||||
main.vaultDetail.error.info=從磁盤加載保管庫時發生錯誤。
|
||||
main.vaultDetail.error.reload=重新載入
|
||||
main.vaultDetail.error.windowTitle=載入加密檔案庫時出錯
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=如何加密檔案
|
||||
|
||||
@@ -17,8 +17,7 @@ Cryptomator uses 40 third-party dependencies under the following licenses:
|
||||
- jnr-a64asm (com.github.jnr:jnr-a64asm:1.0.0 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-a64asm)
|
||||
- jnr-constants (com.github.jnr:jnr-constants:0.10.2 - http://github.com/jnr/jnr-constants)
|
||||
- jnr-ffi (com.github.jnr:jnr-ffi:2.2.7 - http://github.com/jnr/jnr-ffi)
|
||||
- Gson (com.google.code.gson:gson:2.8.8 - https://github.com/google/gson/gson)
|
||||
- Dagger (com.google.dagger:dagger:2.39 - https://github.com/google/dagger)
|
||||
- Dagger (com.google.dagger:dagger:2.40.3 - https://github.com/google/dagger)
|
||||
- Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - https://github.com/google/guava/failureaccess)
|
||||
- Guava: Google Core Libraries for Java (com.google.guava:guava:31.0-jre - https://github.com/google/guava)
|
||||
- Apache Commons CLI (commons-cli:commons-cli:1.4 - http://commons.apache.org/proper/commons-cli/)
|
||||
@@ -34,6 +33,7 @@ Cryptomator uses 40 third-party dependencies under the following licenses:
|
||||
- Jetty :: Utilities (org.eclipse.jetty:jetty-util:10.0.6 - https://eclipse.org/jetty/jetty-util)
|
||||
- Jetty :: Servlet API and Schemas for JPMS and OSGi (org.eclipse.jetty.toolchain:jetty-servlet-api:4.0.6 - https://eclipse.org/jetty/jetty-servlet-api)
|
||||
Apache-2.0:
|
||||
- Gson (com.google.code.gson:gson:2.8.9 - https://github.com/google/gson/gson)
|
||||
- Java Native Access (net.java.dev.jna:jna:5.9.0 - https://github.com/java-native-access/jna)
|
||||
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.9.0 - https://github.com/java-native-access/jna)
|
||||
BSD-3-Clause:
|
||||
@@ -52,20 +52,20 @@ Cryptomator uses 40 third-party dependencies under the following licenses:
|
||||
- Jetty :: Servlet Handling (org.eclipse.jetty:jetty-servlet:10.0.6 - https://eclipse.org/jetty/jetty-servlet)
|
||||
- Jetty :: Utilities (org.eclipse.jetty:jetty-util:10.0.6 - https://eclipse.org/jetty/jetty-util)
|
||||
Eclipse Public License - v 1.0:
|
||||
- Logback Classic Module (ch.qos.logback:logback-classic:1.2.6 - http://logback.qos.ch/logback-classic)
|
||||
- Logback Core Module (ch.qos.logback:logback-core:1.2.6 - http://logback.qos.ch/logback-core)
|
||||
- Logback Classic Module (ch.qos.logback:logback-classic:1.2.7 - http://logback.qos.ch/logback-classic)
|
||||
- Logback Core Module (ch.qos.logback:logback-core:1.2.7 - http://logback.qos.ch/logback-core)
|
||||
Eclipse Public License - v 2.0:
|
||||
- jnr-posix (com.github.jnr:jnr-posix:3.1.10 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix)
|
||||
GNU Lesser General Public License:
|
||||
- Logback Classic Module (ch.qos.logback:logback-classic:1.2.6 - http://logback.qos.ch/logback-classic)
|
||||
- Logback Core Module (ch.qos.logback:logback-core:1.2.6 - http://logback.qos.ch/logback-core)
|
||||
- Logback Classic Module (ch.qos.logback:logback-classic:1.2.7 - http://logback.qos.ch/logback-classic)
|
||||
- Logback Core Module (ch.qos.logback:logback-core:1.2.7 - http://logback.qos.ch/logback-core)
|
||||
GPLv2:
|
||||
- jnr-posix (com.github.jnr:jnr-posix:3.1.10 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix)
|
||||
GPLv2+CE:
|
||||
- javafx-base (org.openjfx:javafx-base:17.0.0.1 - https://openjdk.java.net/projects/openjfx/javafx-base/)
|
||||
- javafx-controls (org.openjfx:javafx-controls:17.0.0.1 - https://openjdk.java.net/projects/openjfx/javafx-controls/)
|
||||
- javafx-fxml (org.openjfx:javafx-fxml:17.0.0.1 - https://openjdk.java.net/projects/openjfx/javafx-fxml/)
|
||||
- javafx-graphics (org.openjfx:javafx-graphics:17.0.0.1 - https://openjdk.java.net/projects/openjfx/javafx-graphics/)
|
||||
- javafx-base (org.openjfx:javafx-base:17.0.1 - https://openjdk.java.net/projects/openjfx/javafx-base/)
|
||||
- javafx-controls (org.openjfx:javafx-controls:17.0.1 - https://openjdk.java.net/projects/openjfx/javafx-controls/)
|
||||
- javafx-fxml (org.openjfx:javafx-fxml:17.0.1 - https://openjdk.java.net/projects/openjfx/javafx-fxml/)
|
||||
- javafx-graphics (org.openjfx:javafx-graphics:17.0.1 - https://openjdk.java.net/projects/openjfx/javafx-graphics/)
|
||||
LGPL 2.1:
|
||||
- jnr-posix (com.github.jnr:jnr-posix:3.1.10 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-posix)
|
||||
LGPL-2.1-or-later:
|
||||
|
||||
Reference in New Issue
Block a user