mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-04-19 17:16:53 -04:00
Merge branch 'release/1.2.0' into develop
# Conflicts: # main/ant-kit/pom.xml # main/commons-test/pom.xml # main/commons/pom.xml # main/filesystem-api/pom.xml # main/filesystem-charsets/pom.xml # main/filesystem-crypto-integration-tests/pom.xml # main/filesystem-crypto/pom.xml # main/filesystem-inmemory/pom.xml # main/filesystem-invariants-tests/pom.xml # main/filesystem-nameshortening/pom.xml # main/filesystem-nio/pom.xml # main/filesystem-stats/pom.xml # main/frontend-api/pom.xml # main/frontend-webdav/pom.xml # main/jacoco-report/pom.xml # main/keychain/pom.xml # main/pom.xml # main/uber-jar/pom.xml # main/ui/pom.xml
This commit is contained in:
@@ -109,7 +109,7 @@ class CryptorImpl implements Cryptor {
|
||||
assert keyFile != null;
|
||||
|
||||
// check version
|
||||
if (CURRENT_VAULT_VERSION != keyFile.getVersion()) {
|
||||
if (!CURRENT_VAULT_VERSION.equals(keyFile.getVersion())) {
|
||||
throw new UnsupportedVaultFormatException(keyFile.getVersion(), CURRENT_VAULT_VERSION);
|
||||
}
|
||||
|
||||
|
||||
@@ -54,6 +54,11 @@ class FileContentDecryptorImpl implements FileContentDecryptor {
|
||||
this.header = FileHeader.decrypt(headerKey, hmacSha256, header);
|
||||
this.authenticate = authenticate;
|
||||
this.chunkNumber = firstCiphertextByte / CHUNK_SIZE; // floor() by int-truncation
|
||||
|
||||
// vault version 5 and onwards should have filesize: -1
|
||||
if (this.header.getPayload().getFilesize() != -1l) {
|
||||
throw new UncheckedIOException(new IOException("Attempted to decrypt file with invalid header (probably from previous vault version)"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -45,7 +45,7 @@ public class FileContentDecryptorImplTest {
|
||||
final byte[] keyBytes = new byte[32];
|
||||
final SecretKey headerKey = new SecretKeySpec(keyBytes, "AES");
|
||||
final SecretKey macKey = new SecretKeySpec(keyBytes, "HmacSHA256");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAANyVwHiiQImjrUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga26lJzstK9RUv1hj5zDC4wC9FgMfoVE1mD0HnuENuYXkJA==");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAACNqP4ddv3Z2rUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga24VjC86+zlHN49BfMdzvHF3f9EE0LSnRLSsu6ps3IRcJg==");
|
||||
final byte[] content = Base64.decode("AAAAAAAAAAAAAAAAAAAAALTwrBTNYP7m3yTGKlhka9WPvX1Lpn5EYfVxlyX1ISgRXtdRnivM7r6F3Og=");
|
||||
|
||||
try (FileContentDecryptor decryptor = new FileContentDecryptorImpl(headerKey, macKey, ByteBuffer.wrap(header), 0, true)) {
|
||||
@@ -68,7 +68,7 @@ public class FileContentDecryptorImplTest {
|
||||
final byte[] keyBytes = new byte[32];
|
||||
final SecretKey headerKey = new SecretKeySpec(keyBytes, "AES");
|
||||
final SecretKey macKey = new SecretKeySpec(keyBytes, "HmacSHA256");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAANyVwHiiQImjrUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga26lJzstK9RUv1hj5zDC4wC9FgMfoVE1mD0HnuENuYXkJa==");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAACNqP4ddv3Z2rUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga24VjC86+zlHN49BfMdzvHF3f9EE0LSnRLSsu6ps3IRcJG==");
|
||||
|
||||
try (FileContentDecryptor decryptor = new FileContentDecryptorImpl(headerKey, macKey, ByteBuffer.wrap(header), 0, true)) {
|
||||
|
||||
@@ -80,7 +80,7 @@ public class FileContentDecryptorImplTest {
|
||||
final byte[] keyBytes = new byte[32];
|
||||
final SecretKey headerKey = new SecretKeySpec(keyBytes, "AES");
|
||||
final SecretKey macKey = new SecretKeySpec(keyBytes, "HmacSHA256");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAANyVwHiiQImjrUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga26lJzstK9RUv1hj5zDC4wC9FgMfoVE1mD0HnuENuYXkJA==");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAACNqP4ddv3Z2rUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga24VjC86+zlHN49BfMdzvHF3f9EE0LSnRLSsu6ps3IRcJg==");
|
||||
final byte[] content = Base64.decode("aAAAAAAAAAAAAAAAAAAAALTwrBTNYP7m3yTGKlhka9WPvX1Lpn5EYfVxlyX1ISgRXtdRnivM7r6F3Og=");
|
||||
|
||||
try (FileContentDecryptor decryptor = new FileContentDecryptorImpl(headerKey, macKey, ByteBuffer.wrap(header), 0, true)) {
|
||||
@@ -101,7 +101,7 @@ public class FileContentDecryptorImplTest {
|
||||
final byte[] keyBytes = new byte[32];
|
||||
final SecretKey headerKey = new SecretKeySpec(keyBytes, "AES");
|
||||
final SecretKey macKey = new SecretKeySpec(keyBytes, "HmacSHA256");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAANyVwHiiQImjrUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga26lJzstK9RUv1hj5zDC4wC9FgMfoVE1mD0HnuENuYXkJA==");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAACNqP4ddv3Z2rUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga24VjC86+zlHN49BfMdzvHF3f9EE0LSnRLSsu6ps3IRcJg==");
|
||||
final byte[] content = Base64.decode("AAAAAAAAAAAAAAAAAAAAALTwrBTNYP7m3yTGKlhka9WPvX1Lpn5EYfVxlyX1ISgRXtdRnivM7r6F3OG=");
|
||||
|
||||
try (FileContentDecryptor decryptor = new FileContentDecryptorImpl(headerKey, macKey, ByteBuffer.wrap(header), 0, false)) {
|
||||
@@ -124,7 +124,7 @@ public class FileContentDecryptorImplTest {
|
||||
final byte[] keyBytes = new byte[32];
|
||||
final SecretKey headerKey = new SecretKeySpec(keyBytes, "AES");
|
||||
final SecretKey macKey = new SecretKeySpec(keyBytes, "AES");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAANyVwHiiQImjrUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga26lJzstK9RUv1hj5zDC4wC9FgMfoVE1mD0HnuENuYXkJA==");
|
||||
final byte[] header = Base64.decode("AAAAAAAAAAAAAAAAAAAAACNqP4ddv3Z2rUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga24VjC86+zlHN49BfMdzvHF3f9EE0LSnRLSsu6ps3IRcJg==");
|
||||
|
||||
try (FileContentDecryptor decryptor = new FileContentDecryptorImpl(headerKey, macKey, ByteBuffer.wrap(header), 0, true)) {
|
||||
decryptor.cancelWithException(new IOException("can not do"));
|
||||
|
||||
@@ -53,13 +53,26 @@ public class FileHeaderTest {
|
||||
|
||||
@Test
|
||||
public void testDecryption() {
|
||||
final byte[] keyBytes = new byte[32];
|
||||
final SecretKey headerKey = new SecretKeySpec(keyBytes, "AES");
|
||||
final SecretKey macKey = new SecretKeySpec(keyBytes, "HmacSHA256");
|
||||
final ByteBuffer headerBuf = ByteBuffer.wrap(Base64.decode("AAAAAAAAAAAAAAAAAAAAACNqP4ddv3Z2rUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga24VjC86+zlHN49BfMdzvHF3f9EE0LSnRLSsu6ps3IRcJg=="));
|
||||
final FileHeader header = FileHeader.decrypt(headerKey, new ThreadLocalMac(macKey, "HmacSHA256"), headerBuf);
|
||||
|
||||
Assert.assertEquals(-1l, header.getPayload().getFilesize());
|
||||
Assert.assertArrayEquals(new byte[16], header.getIv());
|
||||
Assert.assertArrayEquals(new byte[32], header.getPayload().getContentKey().getEncoded());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDecryptionOfOldHeader() {
|
||||
final byte[] keyBytes = new byte[32];
|
||||
final SecretKey headerKey = new SecretKeySpec(keyBytes, "AES");
|
||||
final SecretKey macKey = new SecretKeySpec(keyBytes, "HmacSHA256");
|
||||
final ByteBuffer headerBuf = ByteBuffer.wrap(Base64.decode("AAAAAAAAAAAAAAAAAAAAANyVwHiiQImjrUiiFJKEIIdTD4r7x0U2ualjtPHEy3OLzqdAPU1ga26lJzstK9RUv1hj5zDC4wC9FgMfoVE1mD0HnuENuYXkJA=="));
|
||||
final FileHeader header = FileHeader.decrypt(headerKey, new ThreadLocalMac(macKey, "HmacSHA256"), headerBuf);
|
||||
|
||||
Assert.assertEquals(42, header.getPayload().getFilesize());
|
||||
Assert.assertEquals(42l, header.getPayload().getFilesize());
|
||||
Assert.assertArrayEquals(new byte[16], header.getIv());
|
||||
Assert.assertArrayEquals(new byte[32], header.getPayload().getContentKey().getEncoded());
|
||||
}
|
||||
|
||||
@@ -124,6 +124,7 @@ public class ChangePasswordController extends LocalizedFXMLViewController {
|
||||
// trigger "default" change to refresh key bindings:
|
||||
changePasswordButton.setDefaultButton(false);
|
||||
changePasswordButton.setDefaultButton(true);
|
||||
messageText.setText(null);
|
||||
}
|
||||
|
||||
// ****************************************
|
||||
@@ -144,7 +145,7 @@ public class ChangePasswordController extends LocalizedFXMLViewController {
|
||||
downloadsPageLink.setVisible(false);
|
||||
try {
|
||||
vault.changePassphrase(oldPasswordField.getCharacters(), newPasswordField.getCharacters());
|
||||
messageText.setText(localization.getString("changePassword.infoMessage.success"));
|
||||
messageText.setText(null);
|
||||
listener.ifPresent(this::invokeListenerLater);
|
||||
} catch (InvalidPassphraseException e) {
|
||||
messageText.setText(localization.getString("changePassword.errorMessage.wrongPassword"));
|
||||
|
||||
@@ -178,7 +178,7 @@ public class UnlockController extends LocalizedFXMLViewController {
|
||||
|
||||
@FXML
|
||||
public void didClickDownloadsLink(ActionEvent event) {
|
||||
app.getHostServices().showDocument("https://cryptomator.org/downloads/");
|
||||
app.getHostServices().showDocument("https://cryptomator.org/downloads/#allVersions");
|
||||
}
|
||||
|
||||
// ****************************************
|
||||
@@ -311,11 +311,15 @@ public class UnlockController extends LocalizedFXMLViewController {
|
||||
});
|
||||
} catch (UnsupportedVaultFormatException e) {
|
||||
Platform.runLater(() -> {
|
||||
downloadsPageLink.setVisible(true);
|
||||
if (e.isVaultOlderThanSoftware()) {
|
||||
// whitespace after localized text used as separator between text and hyperlink
|
||||
messageText.setText(localization.getString("unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware") + " ");
|
||||
downloadsPageLink.setVisible(true);
|
||||
} else if (e.isSoftwareOlderThanVault()) {
|
||||
messageText.setText(localization.getString("unlock.errorMessage.unsupportedVersion.softwareOlderThanVault") + " ");
|
||||
downloadsPageLink.setVisible(true);
|
||||
} else if (e.getDetectedVersion() == Integer.MAX_VALUE) {
|
||||
messageText.setText(localization.getString("unlock.errorMessage.unauthenticVersionMac"));
|
||||
}
|
||||
});
|
||||
} catch (FrontendCreationFailedException | CommandFailedException e) {
|
||||
|
||||
@@ -57,7 +57,15 @@ public abstract class UpgradeStrategy {
|
||||
Files.write(masterkeyFileAfterUpgrade, upgradedMasterkeyFileContents, StandardOpenOption.TRUNCATE_EXISTING);
|
||||
} catch (InvalidPassphraseException e) {
|
||||
throw new UpgradeFailedException(localization.getString("unlock.errorMessage.wrongPassword"));
|
||||
} catch (IOException | UnsupportedVaultFormatException e) {
|
||||
} catch (UnsupportedVaultFormatException e) {
|
||||
if (e.getDetectedVersion() == Integer.MAX_VALUE) {
|
||||
LOG.warn("Version MAC authentication error in vault {}", vault.path().get());
|
||||
throw new UpgradeFailedException(localization.getString("unlock.errorMessage.unauthenticVersionMac"));
|
||||
} else {
|
||||
LOG.warn("Upgrade failed.", e);
|
||||
throw new UpgradeFailedException("Upgrade failed. Details in log message.");
|
||||
}
|
||||
} catch (IOException e) {
|
||||
LOG.warn("Upgrade failed.", e);
|
||||
throw new UpgradeFailedException("Upgrade failed. Details in log message.");
|
||||
} finally {
|
||||
|
||||
@@ -168,7 +168,7 @@ public class Vault implements CryptoFileSystemDelegate {
|
||||
);
|
||||
}
|
||||
|
||||
public void reveal() throws CommandFailedException {
|
||||
public synchronized void reveal() throws CommandFailedException {
|
||||
Optionals.ifPresent(filesystemFrontend.get(), Frontend::reveal);
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ public class Vault implements CryptoFileSystemDelegate {
|
||||
// Getter/Setter
|
||||
// *******************************************************************************/
|
||||
|
||||
public String getWebDavUrl() {
|
||||
public synchronized String getWebDavUrl() {
|
||||
return filesystemFrontend.get().map(Frontend::getWebDavUrl).orElseThrow(IllegalStateException::new);
|
||||
}
|
||||
|
||||
|
||||
@@ -82,4 +82,10 @@ main.directoryList.remove.confirmation.title = Tresor entfernen
|
||||
main.directoryList.remove.confirmation.header = Möchten Sie diesen Tresor wirklich entfernen?
|
||||
main.directoryList.remove.confirmation.content = Dieser Tresor wird nur aus der Liste entfernt. Um den Tresor unwiderruflich zu löschen, entfernen Sie bitte die Dateien aus Ihrem Dateisystem.
|
||||
upgrade.version3to4.msg = Dieser Tresor muss auf ein neueres Format aktualisiert werden.\nVerschlüsselte Ordnernamen werden dabei aktualisiert.\nStellen Sie bitte sicher, dass derzeit keine Synchronisation stattfindet.
|
||||
upgrade.version3to4.err.io = Migration aufgrund eines I/O-Fehlers fehlgeschlagen.\nWeitere Informationen in der Log-Datei.
|
||||
upgrade.version3to4.err.io = Migration aufgrund eines I/O-Fehlers fehlgeschlagen.\nWeitere Informationen in der Log-Datei.
|
||||
settings.prefGvfsScheme.label = WebDAV Schema
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Ja, die Synchronisation ist abgeschlossen
|
||||
initialize.messageLabel.notEmpty = Tresor ist nicht leer
|
||||
unlock.label.savePassword = Passwort speichern
|
||||
unlock.errorMessage.unauthenticVersionMac = Versions-MAC konnte nicht authentifiziert werden.
|
||||
@@ -63,6 +63,7 @@ unlock.errorMessage.wrongPassword=Wrong password
|
||||
unlock.errorMessage.mountingFailed=Mounting failed. See log file for details.
|
||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware=Unsupported vault. This vault has been created with an older version of Cryptomator.
|
||||
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault=Unsupported vault. This vault has been created with a newer version of Cryptomator.
|
||||
unlock.errorMessage.unauthenticVersionMac=Could not authenticate version MAC.
|
||||
unlock.messageLabel.startServerFailed=Starting WebDAV server failed.
|
||||
|
||||
# change_password.fxml
|
||||
@@ -73,7 +74,6 @@ changePassword.label.downloadsPageLink=All Cryptomator versions
|
||||
changePassword.button.change=Change password
|
||||
changePassword.errorMessage.wrongPassword=Wrong password
|
||||
changePassword.errorMessage.decryptionFailed=Decryption failed
|
||||
changePassword.infoMessage.success=Password changed
|
||||
|
||||
# unlocked.fxml
|
||||
unlocked.button.lock=Lock vault
|
||||
|
||||
@@ -14,7 +14,7 @@ initialize.label.password = Contraseña
|
||||
initialize.label.retypePassword = Reintroduzca contraseña
|
||||
initialize.button.ok = Crear caja fuerte
|
||||
initialize.messageLabel.alreadyInitialized = Caja fuerte ya está inicializado
|
||||
initialize.messageLabel.initializationFailed = No se pudo inicializar la caja fuerte. Ver archivo de registro para detalles.
|
||||
initialize.messageLabel.initializationFailed = No se pudo inicializar la caja fuerte. Ver archivo de registro para detalles.
|
||||
# notfound.fxml
|
||||
notfound.label = No se pudo encontrar la caja fuerte. Se movió a otro lugar?
|
||||
# upgrade.fxml
|
||||
@@ -83,4 +83,10 @@ main.directoryList.remove.confirmation.title = Borrar caja fuerte
|
||||
main.directoryList.remove.confirmation.header = ¿Quieres de verdad borrar este caja fuerte?
|
||||
main.directoryList.remove.confirmation.content = La caja fuerte solo se borra de la lista. Para eliminarla permanente por favor elimina los datos de tú sistema de archivos.
|
||||
upgrade.version3to4.msg = Este caja fuerte se debe migrar a un formato más reciente.\nLos nombres de las carpetas cifradas se actualizan.\nPor favor asegurarse de que la sincronización ha terminado antes de seguir.
|
||||
upgrade.version3to4.err.io = Migración ha fallado por causa de una excepción I/O. Para detalles revisa el archivo de registro.
|
||||
upgrade.version3to4.err.io = Migración ha fallado por causa de una excepción I/O. Para detalles revisa el archivo de registro.
|
||||
settings.prefGvfsScheme.label = WebDAV scheme
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -78,10 +78,16 @@ initialize.messageLabel.passwordStrength.0 = Très faible
|
||||
initialize.messageLabel.passwordStrength.1 = Faible
|
||||
initialize.messageLabel.passwordStrength.2 = Raisonnable
|
||||
initialize.messageLabel.passwordStrength.3 = Fort
|
||||
initialize.messageLabel.passwordStrength.4 = Très fort\n
|
||||
initialize.messageLabel.passwordStrength.4 = Très fort
|
||||
initialize.label.doNotForget = ATTENTION \: Si vous oubliez votre mot de passe, il n'y aura aucun moyen de récupérer vos données.
|
||||
main.directoryList.remove.confirmation.title = Retirer un coffre
|
||||
main.directoryList.remove.confirmation.header = Voulez-vous vraiment retirer ce coffre ?
|
||||
main.directoryList.remove.confirmation.content = Le coffre sera simplement retiré de la liste. Pour le supprimer complètement, supprimez les fichiers depuis votre système de fichiers.
|
||||
upgrade.version3to4.msg = Ce coffre doit être converti dans un nouveau format. Les noms de dossiers chiffrés seront mis à jour.\nMerci de vous assurer que la procédure de synchronisation est terminée avant de continuer.
|
||||
upgrade.version3to4.err.io = La migration a échoué à cause d'une erreur d'entrée/sortie. Référez-vous au fichier log pour plus de détails.
|
||||
upgrade.version3to4.err.io = La migration a échoué à cause d'une erreur d'entrée/sortie. Référez-vous au fichier log pour plus de détails.
|
||||
settings.prefGvfsScheme.label = Schéma d'URI WebDAV
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Oui, je suis certain que la synchronisation est finie
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -79,4 +79,12 @@ initialize.messageLabel.passwordStrength.4 = Nagyon erős
|
||||
initialize.label.doNotForget = FONTOS\: Ha elfelejted a jelszavadat, akkor nincs lehetőség az adataid visszaállítására.
|
||||
main.directoryList.remove.confirmation.title = Széf eltávolítása
|
||||
main.directoryList.remove.confirmation.header = Tényleg törölni akarod ezt a széfet?
|
||||
main.directoryList.remove.confirmation.content = A széf csak a listából lesz eltávolítva. Végleges törléshez kérlek töröld a merevlemezen tárolt fájlokat.
|
||||
main.directoryList.remove.confirmation.content = A széf csak a listából lesz eltávolítva. Végleges törléshez kérlek töröld a merevlemezen tárolt fájlokat.
|
||||
upgrade.version3to4.msg = Ennek a széfnek egy újabb formátumra való migrációja szükséges. A titkosított könyvtárnevek frissítve lesznek. Kérlek, győződj meg a szinkronizáció befejeztéről mielőtt továbblépnél.
|
||||
upgrade.version3to4.err.io = Migráció meghíusúlt egy I/O kivétel miatt. Kérlek nézd meg a naplófájlt a további részletekért.
|
||||
settings.prefGvfsScheme.label = WebDAV séma
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -18,7 +18,7 @@ initialize.messageLabel.initializationFailed = Non è possibile inizializzare il
|
||||
notfound.label = Il vault non può essere trovato. E' stato rimosso?
|
||||
# upgrade.fxml
|
||||
upgrade.button = Aggiorna vault
|
||||
upgrade.version3dropBundleExtension.msg = Questo vault deve essere migrato ad un nuovo formato.\n"%1$s" verrà rinominato in "%2$s".\nPer favore verifica che la sincronizzazione sia finita prima di procedere\n
|
||||
upgrade.version3dropBundleExtension.msg = Questo vault deve essere migrato ad un nuovo formato.\n"%1$s" verrà rinominato in "%2$s".\nPer favore verifica che la sincronizzazione sia finita prima di procedere
|
||||
upgrade.version3dropBundleExtension.err.alreadyExists = Migrazione automatica fallita.\n"%s" esiste già.
|
||||
# unlock.fxml
|
||||
unlock.label.password = Password
|
||||
@@ -45,14 +45,14 @@ changePassword.errorMessage.wrongPassword = Password errata
|
||||
changePassword.errorMessage.decryptionFailed = Decriptaggio fallito
|
||||
changePassword.infoMessage.success = Password cambiata
|
||||
# unlocked.fxml
|
||||
unlocked.button.lock = Blocca vault
|
||||
unlocked.button.lock = Blocca vault
|
||||
unlocked.moreOptions.reveal = Apri il disco
|
||||
unlocked.moreOptions.copyUrl = Copia url WebDAV
|
||||
unlocked.label.revealFailed = Comando fallito
|
||||
unlocked.label.unmountFailed = Espulsione disco fallita
|
||||
unlocked.label.statsEncrypted = criptato
|
||||
unlocked.label.statsDecrypted = decriptato
|
||||
unlocked.ioGraph.yAxis.label = Volume dati (MiB/s)
|
||||
unlocked.ioGraph.yAxis.label = Volume dati (MiB/s)
|
||||
# mac_warnings.fxml
|
||||
macWarnings.windowTitle = Pericolo - File corroto in %s
|
||||
macWarnings.message = Cryptomator ha individuato potenziali pericolose corruzioni nei seguenti file\:
|
||||
@@ -69,8 +69,8 @@ settings.requiresRestartLabel = * Cryptomator deve essere riavviato
|
||||
tray.menu.open = Apri
|
||||
tray.menu.quit = Chiudi
|
||||
tray.infoMsg.title = Ancora in esecuzione
|
||||
tray.infoMsg.msg = Cryptomator è ancora in esecuzione. Chiudilo utilizzando l'icona nel menù di stato.
|
||||
tray.infoMsg.msg.osx = Cryptomator è ancora in esecuzione. Chiudilo utilizzando l'icona nella barra del menù.
|
||||
tray.infoMsg.msg = Cryptomator è ancora in esecuzione. Chiudilo utilizzando l'icona nel menù di stato.
|
||||
tray.infoMsg.msg.osx = Cryptomator è ancora in esecuzione. Chiudilo utilizzando l'icona nella barra del menù.
|
||||
initialize.messageLabel.passwordStrength.0 = Molto debole
|
||||
initialize.messageLabel.passwordStrength.1 = Debole
|
||||
initialize.messageLabel.passwordStrength.2 = Buona
|
||||
@@ -79,4 +79,12 @@ initialize.messageLabel.passwordStrength.4 = Molto sicura
|
||||
initialize.label.doNotForget = IMPORTANTE\: Se dimentichi la password, non c'è modo di recuperare i tuoi dati.
|
||||
main.directoryList.remove.confirmation.title = Rimuovi vault
|
||||
main.directoryList.remove.confirmation.header = Vuoi davvero rimuovere questo vault?
|
||||
main.directoryList.remove.confirmation.content = Il vault sarà rimosso solo dalla lista. Per eliminarlo definitivamente, elimina per favore i file dal tuo hard disk.
|
||||
main.directoryList.remove.confirmation.content = Il vault sarà rimosso solo dalla lista. Per eliminarlo definitivamente, elimina per favore i file dal tuo hard disk.
|
||||
upgrade.version3to4.msg = This vault needs to be migrated to a newer format.\nEncrypted folder names will be updated.\nPlease make sure synchronization has finished before proceeding.
|
||||
upgrade.version3to4.err.io = Migration failed due to an I/O Exception. See log file for details.
|
||||
settings.prefGvfsScheme.label = WebDAV scheme
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -81,4 +81,10 @@ main.directoryList.remove.confirmation.title = 보관함 삭제
|
||||
main.directoryList.remove.confirmation.header = 정말 이 보관함을 삭제하시겠습니까?
|
||||
main.directoryList.remove.confirmation.content = 보관함이 목록에서만 제거되었습니다. 데이터를 완전히 제거하시려면, 여러분의 파일시스템이서 제거해 주시기 바랍니다.
|
||||
upgrade.version3to4.msg = 이 보관함은 새로운 형식으로 바뀔 필요가 있습니다. 암호화된 폴더 이름이 업데이트 될 것입니다. 진행하기 전에 동기화가 완료되었는지 확인하기 바랍니다.
|
||||
upgrade.version3to4.err.io = 입출력 예외 문제로 마이그레이션이 실패하였습니다. 자세한 사항은 로그 파일을 확인하세요.
|
||||
upgrade.version3to4.err.io = 입출력 예외 문제로 마이그레이션이 실패하였습니다. 자세한 사항은 로그 파일을 확인하세요.
|
||||
settings.prefGvfsScheme.label = WebDAV sceme
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = 네. 동기화가 완료되었음을 확인하였습니다.
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
91
main/ui/src/main/resources/localization/lv.txt
Normal file
91
main/ui/src/main/resources/localization/lv.txt
Normal file
@@ -0,0 +1,91 @@
|
||||
app.name = Cryptomator
|
||||
# main.fxml
|
||||
main.emptyListInstructions = Noklikšķiniet šeit, lai pievienotu glabātuvi
|
||||
main.directoryList.contextMenu.remove = Noņemt no saraksta
|
||||
main.directoryList.contextMenu.changePassword = Mainīt paroli
|
||||
main.addDirectory.contextMenu.new = Izveidot jaunu glabātuvi
|
||||
main.addDirectory.contextMenu.open = Atvērt esošu glabātuvi
|
||||
# welcome.fxml
|
||||
welcome.checkForUpdates.label.currentlyChecking = Pārbauda atjauninājumus...
|
||||
welcome.newVersionMessage = Lejupielādei pieejama versija %1$s.\nŠī ir %2$s.
|
||||
# initialize.fxml
|
||||
initialize.label.password = Parole
|
||||
initialize.label.retypePassword = Atkārto paroli
|
||||
initialize.button.ok = Izveidot glabātuvi
|
||||
initialize.messageLabel.alreadyInitialized = Glabātuve jau ir inicializēta
|
||||
initialize.messageLabel.initializationFailed = Nevarēja inicializēt glabātuvi. Sīkākai informācijai skati žurnālu.
|
||||
# notfound.fxml
|
||||
notfound.label = Nevar atrast glabātuvi. Vai tā ir pārvietota?
|
||||
# upgrade.fxml
|
||||
upgrade.button = Atjaunināt glabātuvi
|
||||
upgrade.version3dropBundleExtension.msg = Šī glabātuve ir jāmigrē uz jaunākas versijas formātu.\n"%1$s" tiks pārsaukta par "%2$s".\nPirms palaišanas pārliecinies, ka ir beigusies sinhronizācija.
|
||||
upgrade.version3dropBundleExtension.err.alreadyExists = Automātiskā migrācija neizdevās.\n"%s" jau eksistē.
|
||||
# unlock.fxml
|
||||
unlock.label.password = Parole
|
||||
unlock.label.mountName = Diska nosaukums
|
||||
unlock.label.winDriveLetter = Diska burts
|
||||
unlock.label.downloadsPageLink = Visas Cryptomator versijas
|
||||
unlock.label.advancedHeading = Papildus opcijas
|
||||
unlock.button.unlock = Atslēgt glabātuvi
|
||||
unlock.button.advancedOptions.show = Vairāk opcijas
|
||||
unlock.button.advancedOptions.hide = Mazāk opcijas
|
||||
unlock.choicebox.winDriveLetter.auto = Piešķirt automātiski
|
||||
unlock.errorMessage.wrongPassword = Nepareiza parole
|
||||
unlock.errorMessage.mountingFailed = Montēšana neizdevās. Sīkākai informācijai skati žurnālu.
|
||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Neatbastīta glabātuve. Šī glabātuve ir veidota ar vecāku Cryptomator versiju.
|
||||
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Neatbastīta glabātuve. Šī glabātuve ir veidota ar jaunāku Cryptomator versiju.
|
||||
unlock.messageLabel.startServerFailed = WebDAV servera palaišana neizdevās.
|
||||
# change_password.fxml
|
||||
changePassword.label.oldPassword = Vecā parole
|
||||
changePassword.label.newPassword = Jaunā parole
|
||||
changePassword.label.retypePassword = Atkārto paroli
|
||||
changePassword.label.downloadsPageLink = Visas Cryptomator versijas
|
||||
changePassword.button.change = Mainīt paroli
|
||||
changePassword.errorMessage.wrongPassword = Nepareiza parole
|
||||
changePassword.errorMessage.decryptionFailed = Atšifrēšana neizdevās
|
||||
changePassword.infoMessage.success = Parole nomainīta
|
||||
# unlocked.fxml
|
||||
unlocked.button.lock = Aizslēgt glabātuvi
|
||||
unlocked.moreOptions.reveal = Atklāt disku
|
||||
unlocked.moreOptions.copyUrl = Kopēt WebDAV saiti
|
||||
unlocked.label.revealFailed = Komunikācija neizdevās
|
||||
unlocked.label.unmountFailed = Diska izgrūšana neizdevās
|
||||
unlocked.label.statsEncrypted = šifrēts
|
||||
unlocked.label.statsDecrypted = atšifrēts
|
||||
unlocked.ioGraph.yAxis.label = Caurlaidība (MiB/s)
|
||||
# mac_warnings.fxml
|
||||
macWarnings.windowTitle = Bīstami - %s satur bojātu datni
|
||||
macWarnings.message = Cryptomator konstatēja potenciāli ļaunprātīgu bojājumu sekojošām datnēm\:
|
||||
macWarnings.moreInformationButton = Skatīt vairāk
|
||||
macWarnings.whitelistButton = Atšifrēt iezīmēto tāpat
|
||||
# settings.fxml
|
||||
settings.version.label = Versija %s
|
||||
settings.checkForUpdates.label = Meklēt atjauninājumus
|
||||
settings.port.label = WebDAV Ports *
|
||||
settings.port.prompt = 0 \= automātiski
|
||||
settings.useipv6.label = Izmantot IPv6
|
||||
settings.requiresRestartLabel = * Cryptomator nepieciešams restarts
|
||||
# tray icon
|
||||
tray.menu.open = Atvērt
|
||||
tray.menu.quit = Iziet
|
||||
tray.infoMsg.title = Joprojām darbojās
|
||||
# Fuzzy
|
||||
tray.infoMsg.msg = Cryptomator joprojām darbojās. Iziet var no ikonas.
|
||||
tray.infoMsg.msg.osx = Cryptomator is still alive. joprojām darbojās. Iziet var no izvēlnes ikonas.
|
||||
initialize.messageLabel.passwordStrength.0 = Ļoti vāja
|
||||
initialize.messageLabel.passwordStrength.1 = Vāja
|
||||
initialize.messageLabel.passwordStrength.2 = Vidēja
|
||||
initialize.messageLabel.passwordStrength.3 = Stipra
|
||||
initialize.messageLabel.passwordStrength.4 = Ļoti stipra
|
||||
initialize.label.doNotForget = SVARĪGI\: Ja tu aizmirsti paroli, nav ceļa datu atjaunošanai
|
||||
main.directoryList.remove.confirmation.title = Noņemt glabātuvi
|
||||
main.directoryList.remove.confirmation.header = Vai tiešām vēlie noņemt šo glabātuvi?
|
||||
main.directoryList.remove.confirmation.content = Glabātuve tiks noņemta tikai no saraksta. Lai to dzēstu pilnībā, lūdzu nodzēs to no datņu sistēmas.
|
||||
upgrade.version3to4.msg = Šī glabātuve ir jāmigrē uz jaunāku formāta versiju. Sifrētie mapju nosaukumi tiks atjaunināti. Pirms palaišanas lūdzu pārliecinies, ka ir pabeigusies sinhronizācija.
|
||||
upgrade.version3to4.err.io = Migrācija neizdevās dēļ I/O izņēmuma. Sīkākai informācijai skati žurnālu.
|
||||
settings.prefGvfsScheme.label = WebDAV shēma
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Jā, esmu pārliecinājies, ka sinhronizācija ir pabeigta.
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -81,4 +81,10 @@ main.directoryList.remove.confirmation.title = Verwijder Kluis
|
||||
main.directoryList.remove.confirmation.header = Weet je zeker dat je deze kluis wilt verwijderen?
|
||||
main.directoryList.remove.confirmation.content = De kluis zal alleen van de lijst worden verwijdert. Verwijder de bestanden van het bestandssysteem voor permanente verwijdering.
|
||||
upgrade.version3to4.msg = Deze kluis dient gemigreerd te worden naar een nieuwer type. \nVersleutelde mapnamen zullen worden geüpdatet. \nZorg ervoor dat de synchronisatie voltooid is alvorens door te gaan.
|
||||
upgrade.version3to4.err.io = Migratie mislukt door een I/O Exception. Zie logbestand voor details.
|
||||
upgrade.version3to4.err.io = Migratie mislukt door een I/O Exception. Zie logbestand voor details.
|
||||
settings.prefGvfsScheme.label = WebDAV scheme
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
90
main/ui/src/main/resources/localization/pl.txt
Normal file
90
main/ui/src/main/resources/localization/pl.txt
Normal file
@@ -0,0 +1,90 @@
|
||||
app.name = Cryptomator
|
||||
# main.fxml
|
||||
main.emptyListInstructions = Kliknij tutaj aby dodać kryptę
|
||||
main.directoryList.contextMenu.remove = Usuń z listy
|
||||
main.directoryList.contextMenu.changePassword = Zmień hasło
|
||||
main.addDirectory.contextMenu.new = Stwórz nową kryptę
|
||||
main.addDirectory.contextMenu.open = Otwórz istniejącą kryptę
|
||||
# welcome.fxml
|
||||
welcome.checkForUpdates.label.currentlyChecking = Sprawdź aktualizację
|
||||
welcome.newVersionMessage = Wersja %1$s może być pobrana.\nObecna %2$s.
|
||||
# initialize.fxml
|
||||
initialize.label.password = Hasło
|
||||
initialize.label.retypePassword = Ponów hasło
|
||||
initialize.button.ok = Stwórz kryptę
|
||||
initialize.messageLabel.alreadyInitialized = Krypta aktualnie załadowana
|
||||
initialize.messageLabel.initializationFailed = Nie można załadować krypty. Sprawdź logi
|
||||
# notfound.fxml
|
||||
notfound.label = Krypta nie znaleziona. Przeniesiona?
|
||||
# upgrade.fxml
|
||||
upgrade.button = Aktualizuj kryptę
|
||||
upgrade.version3dropBundleExtension.msg = Ta krypta musi zostać przeniesiona do nowego formatu\n"%1$s" zamienione na "%2$s".\nProszę synchronizować przed skończeniem procesu
|
||||
upgrade.version3dropBundleExtension.err.alreadyExists = Błąd automatycznej migracji.\n"%s" już istnieje
|
||||
# unlock.fxml
|
||||
unlock.label.password = Hasło
|
||||
unlock.label.mountName = Nazwa dysku
|
||||
unlock.label.winDriveLetter = Litera dysku
|
||||
unlock.label.downloadsPageLink = Wszystkie wersje Cryptomatora
|
||||
unlock.label.advancedHeading = Zaawansowane opcje
|
||||
unlock.button.unlock = Odblokuj kryptę
|
||||
unlock.button.advancedOptions.show = Więcej opcji
|
||||
unlock.button.advancedOptions.hide = Mniej opcji
|
||||
unlock.choicebox.winDriveLetter.auto = Przydzielone automatycznie
|
||||
unlock.errorMessage.wrongPassword = Złe hasło
|
||||
unlock.errorMessage.mountingFailed = Błąd zamontowania. Sprawdź logi
|
||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Niewspierana krypta, utworzona przez starszą wersje Cryptomatora
|
||||
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Niewspierana krypta, utworzona przez nowszą wersje Cryptomatora
|
||||
unlock.messageLabel.startServerFailed = Błąd startu serwera WebDAV
|
||||
# change_password.fxml
|
||||
changePassword.label.oldPassword = Stare hasło
|
||||
changePassword.label.newPassword = Nowe hasło
|
||||
changePassword.label.retypePassword = Powtórz hasło
|
||||
changePassword.label.downloadsPageLink = Wszystkie wersje Cryptomatora
|
||||
changePassword.button.change = Zmień hasło
|
||||
changePassword.errorMessage.wrongPassword = Złe hasło
|
||||
changePassword.errorMessage.decryptionFailed = Błąd deszyfracji
|
||||
changePassword.infoMessage.success = Hasło zmienione
|
||||
# unlocked.fxml
|
||||
unlocked.button.lock = Zablokuj kryptę
|
||||
unlocked.moreOptions.reveal = Zwolnij napęd
|
||||
unlocked.moreOptions.copyUrl = Skopiuj url WebDAV
|
||||
unlocked.label.revealFailed = Zła komenda
|
||||
unlocked.label.unmountFailed = Błąd wysuwania napędu
|
||||
unlocked.label.statsEncrypted = Zaszyfrowany
|
||||
unlocked.label.statsDecrypted = Odszyfrowany
|
||||
unlocked.ioGraph.yAxis.label = Wydajność (MiB/s)
|
||||
# mac_warnings.fxml
|
||||
macWarnings.windowTitle = Uwaga - Plik uszkodzony %s
|
||||
macWarnings.message = Wykryto zagrożenie w plikach
|
||||
macWarnings.moreInformationButton = Czytaj więcej
|
||||
macWarnings.whitelistButton = Odszyfruj wszystko
|
||||
# settings.fxml
|
||||
settings.version.label = Wersja %s
|
||||
settings.checkForUpdates.label = Sprawdź aktualizacje
|
||||
settings.port.label = WebDAV port *
|
||||
settings.port.prompt = 0 \= Automatycznie
|
||||
settings.useipv6.label = Użyj IPv6
|
||||
settings.requiresRestartLabel = * Cryptomator wymaga restartu
|
||||
# tray icon
|
||||
tray.menu.open = Otwórz
|
||||
tray.menu.quit = Wyjdź
|
||||
tray.infoMsg.title = Nadal działa
|
||||
tray.infoMsg.msg = Cryptomator działa nadal. Wyjdź z ikony tray
|
||||
tray.infoMsg.msg.osx = Cryptomator działa nadal. Wyjdź z menu programu
|
||||
initialize.messageLabel.passwordStrength.0 = Bardzo słabe
|
||||
initialize.messageLabel.passwordStrength.1 = Słabe
|
||||
initialize.messageLabel.passwordStrength.2 = W porządku
|
||||
initialize.messageLabel.passwordStrength.3 = Mocne
|
||||
initialize.messageLabel.passwordStrength.4 = Bardzo mocne
|
||||
initialize.label.doNotForget = Ważne\! Jeśli zapomnisz hasło stracisz dostęp do danych
|
||||
main.directoryList.remove.confirmation.title = Usuń kryptę
|
||||
main.directoryList.remove.confirmation.header = Czy na pewno chcesz osunąć kryptę?
|
||||
main.directoryList.remove.confirmation.content = Ta krypta zostanie usunięta z listy. Ostatecznie usuń dane z dysku.
|
||||
upgrade.version3to4.msg = Krypta wymaga migracji do nowszej wersji. Nazwa folderu zaszyfrowanego zostanie zaktualizowana. Synchronizuj dane przed procesem.
|
||||
upgrade.version3to4.err.io = Błąd migracji I/O Exception. Sprawdź logi
|
||||
settings.prefGvfsScheme.label = Schemat WebDAV
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Tak, jestem pewien, że zakończyłem synchronizacje
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -1,34 +1,90 @@
|
||||
# Copyright (c) 2016 The Cryptomator Contributors
|
||||
# This file is licensed under the terms of the MIT license.
|
||||
# See the LICENSE.txt file for more info.
|
||||
#
|
||||
# Contributors:
|
||||
# Will
|
||||
# André Di Biasi
|
||||
|
||||
app.name = Cryptomator
|
||||
# main.fxml
|
||||
main.emptyListInstructions = Clique aqui para adicionar uma caixa-forte
|
||||
main.directoryList.contextMenu.remove = Remover da lista
|
||||
main.directoryList.contextMenu.changePassword = Alterar senha
|
||||
main.addDirectory.contextMenu.new = Criar nova caixa-forte
|
||||
main.addDirectory.contextMenu.open = Abrir caixa-forte existente
|
||||
# welcome.fxml
|
||||
welcome.checkForUpdates.label.currentlyChecking = Procurando atualizações...
|
||||
welcome.checkForUpdates.label.currentlyChecking = Buscando por atualizações...
|
||||
welcome.newVersionMessage = Versão %1$s pode ser abaixada. Esta é a versão %2$s.
|
||||
# initialize.fxml
|
||||
initialize.label.password = Senha
|
||||
initialize.label.retypePassword = Digite a senha novamente
|
||||
initialize.label.retypePassword = Redigitar senha
|
||||
initialize.button.ok = Criar caixa-forte
|
||||
initialize.messageLabel.alreadyInitialized = Caixa-forte já inicializada
|
||||
initialize.messageLabel.initializationFailed = Não pôde inicializar a caixa-forte. Ver arquivo de log para mais detalhes.
|
||||
# notfound.fxml
|
||||
notfound.label = A caixa-forte não pode ser encontrada. Ela foi movida?
|
||||
# upgrade.fxml
|
||||
upgrade.button = Atualizar caixa-forte
|
||||
upgrade.version3dropBundleExtension.msg = Esta caixa-forte tem que ser a migrada a um novo formato. "%1$s" será renomeada para "%2$s". Por favor assegure-se de que a sincronização foi finalizada antes de proceder com a migração.
|
||||
upgrade.version3dropBundleExtension.err.alreadyExists = A migração automática falhou. "%s" já existe.
|
||||
# unlock.fxml
|
||||
unlock.label.password = Senha
|
||||
unlock.label.mountName = Nome do drive
|
||||
unlock.label.winDriveLetter = Letra do drive
|
||||
unlock.label.downloadsPageLink = Todas as versões do Cryptomator
|
||||
unlock.label.advancedHeading = Opções avançadas
|
||||
unlock.button.unlock = Abrir caixa-forte
|
||||
unlock.button.advancedOptions.show = Mais opções
|
||||
unlock.button.advancedOptions.hide = Menos opções
|
||||
unlock.choicebox.winDriveLetter.auto = Atribuir automaticamente
|
||||
unlock.errorMessage.wrongPassword = Senha incorreta
|
||||
unlock.errorMessage.mountingFailed = Montagem falhou. Veja o arquivo de log para detalhes
|
||||
unlock.messageLabel.startServerFailed = Inicialização do servidor WEBDAV falhou
|
||||
unlock.errorMessage.wrongPassword = Senha errada
|
||||
unlock.errorMessage.mountingFailed = Falha ao montar. Ver arquivo de log para mais detalhes.
|
||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Caixa-forte não suportada. Esta caixa-forte foi criada por uma versão antiga do Cryptomator.
|
||||
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Caixa-forte não suportada. Esta caixa-forte foi criada por uma versão mais nova do Cryptomator.
|
||||
unlock.messageLabel.startServerFailed = Falha ao iniciar servidor WebDAV.
|
||||
# change_password.fxml
|
||||
changePassword.label.oldPassword = Senha antiga
|
||||
changePassword.label.oldPassword = Senha anterior
|
||||
changePassword.label.newPassword = Nova senha
|
||||
changePassword.label.retypePassword = Digite a senha novamente
|
||||
changePassword.label.retypePassword = Re-digitar senha
|
||||
changePassword.label.downloadsPageLink = Todas as versões do Cryptomator
|
||||
changePassword.button.change = Alterar senha
|
||||
changePassword.errorMessage.wrongPassword = Senha incorreta
|
||||
changePassword.errorMessage.decryptionFailed = Falha ao desencriptar
|
||||
changePassword.infoMessage.success = Senha alterada
|
||||
unlocked.label.revealFailed = Falha no comando
|
||||
unlocked.label.unmountFailed = Falha ao ejetar o drive
|
||||
# unlocked.fxml
|
||||
unlocked.button.lock = Fechar caixa-forte
|
||||
unlocked.moreOptions.reveal = Mostrar drive
|
||||
unlocked.moreOptions.copyUrl = Copiar URL WebDAV
|
||||
unlocked.label.revealFailed = Falha ao mostrar drive
|
||||
unlocked.label.unmountFailed = Falha ao ejetar drive
|
||||
unlocked.label.statsEncrypted = encriptado
|
||||
unlocked.label.statsDecrypted = desencriptado
|
||||
unlocked.ioGraph.yAxis.label = Taxa de transferência (MiB/s)
|
||||
# mac_warnings.fxml
|
||||
macWarnings.windowTitle = Perigo - Arquivo corrompido na %s
|
||||
macWarnings.message = Cryptomator detectou potenciais corrupções maliciosas nos seguintes arquivos\:
|
||||
macWarnings.moreInformationButton = Saiba mais
|
||||
macWarnings.whitelistButton = Desencriptar selecionado de qualquer modo
|
||||
# settings.fxml
|
||||
settings.version.label = Versão %s
|
||||
settings.checkForUpdates.label = Verificar por atualizações
|
||||
settings.port.label = Port WebDAV *
|
||||
settings.port.prompt = 0 \= Escolher automaticamente
|
||||
settings.useipv6.label = Usar IPv6 literal
|
||||
settings.requiresRestartLabel = * Cryptomator necessita ser reiniciado
|
||||
# tray icon
|
||||
tray.menu.open = Abrir
|
||||
tray.menu.quit = Sair
|
||||
tray.infoMsg.title = Ainda em execução
|
||||
tray.infoMsg.msg = Cryptomator ainda está ativo. Finalize-o a partir do ícone da bandeja.
|
||||
tray.infoMsg.msg.osx = Cryptomator ainda está ativo. Finalize-o a partir do ícone da barra de menu.
|
||||
initialize.messageLabel.passwordStrength.0 = Muito fraca
|
||||
initialize.messageLabel.passwordStrength.1 = Fraca
|
||||
initialize.messageLabel.passwordStrength.2 = Razoável
|
||||
initialize.messageLabel.passwordStrength.3 = Forte
|
||||
initialize.messageLabel.passwordStrength.4 = Muito forte
|
||||
initialize.label.doNotForget = IMPORTANTE\: se você esquecer a sua senha, não haverá como recuperar os seus dados.
|
||||
main.directoryList.remove.confirmation.title = Remover caixa-forte
|
||||
main.directoryList.remove.confirmation.header = Você realmente quer remover esta caixa-forte?
|
||||
main.directoryList.remove.confirmation.content = A caixa-forte somente será removida da lista. Para apagá-la permanentemente, por favor apagar os arquivos do seu sistema de arquivos.
|
||||
upgrade.version3to4.msg = Esta caixa-forte tem que ser migrada a um novo formato. Os nomes das pastas encriptadas serão atualizados. Por favor assegure-se de que a sincronização foi finalizada antes de proceder com a migração.
|
||||
upgrade.version3to4.err.io = Falha na migração devido a um erro de E/S. Ver arquivo de log para mais detalhes.
|
||||
settings.prefGvfsScheme.label = WebDAV scheme
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -83,4 +83,10 @@ main.directoryList.remove.confirmation.title = Удаление хранилищ
|
||||
main.directoryList.remove.confirmation.header = Вы действительно хотите удалить это хранилище?
|
||||
main.directoryList.remove.confirmation.content = Хранилище будет удалено только из списка. Чтобы стереть его окончательно, удалите файлы из файловой системы.
|
||||
upgrade.version3to4.msg = Это хранилище требуется преобразовать в новый формат. Зашифрованные имена папок будут обновлены. Прежде чем продолжить, выполните синхронизацию.
|
||||
upgrade.version3to4.err.io = Преобразование не выполнено из-за ошибки ввода-вывода. См. подробности в файле-отчёте.
|
||||
upgrade.version3to4.err.io = Преобразование не выполнено из-за ошибки ввода-вывода. См. подробности в файле-отчёте.
|
||||
settings.prefGvfsScheme.label = Схема WebDAV
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Да, синхронизация точно завершена
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -22,7 +22,7 @@ notfound.label = Trezor nemohol byť nenájdený. Bol presunutý?
|
||||
# upgrade.fxml
|
||||
upgrade.button = Upgradnúť trezor
|
||||
upgrade.version3dropBundleExtension.msg = Tento trezor musí byť premigrovaný na nový formát. "%1$s" bude premenovaný na "%2$s". Prosím, uistite sa že je dokončená synchronizácia skôr než budete pokračovať.
|
||||
upgrade.version3dropBundleExtension.err.alreadyExists = Automatická migrácia zlyhala. "%s" už existuje.
|
||||
upgrade.version3dropBundleExtension.err.alreadyExists = Automatická migrácia zlyhala. "%s" už existuje.
|
||||
# unlock.fxml
|
||||
unlock.label.password = Heslo
|
||||
unlock.label.mountName = Názov jednotky
|
||||
@@ -73,4 +73,21 @@ tray.menu.open = Otvoriť
|
||||
tray.menu.quit = Vypnúť
|
||||
tray.infoMsg.title = Stále beží
|
||||
tray.infoMsg.msg = Cryptomator je stále spustený. Vypnite ho pomocou ikony v systémovej lište.
|
||||
tray.infoMsg.msg.osx = Cryptomator je stále sputený. Ukončite ho pomocou ikony v menu.
|
||||
tray.infoMsg.msg.osx = Cryptomator je stále sputený. Ukončite ho pomocou ikony v menu.
|
||||
initialize.messageLabel.passwordStrength.0 = Very weak
|
||||
initialize.messageLabel.passwordStrength.1 = Weak
|
||||
initialize.messageLabel.passwordStrength.2 = Fair
|
||||
initialize.messageLabel.passwordStrength.3 = Strong
|
||||
initialize.messageLabel.passwordStrength.4 = Very strong
|
||||
initialize.label.doNotForget = IMPORTANT\: If you forget your password, there is no way to recover your data.
|
||||
main.directoryList.remove.confirmation.title = Remove Vault
|
||||
main.directoryList.remove.confirmation.header = Do you really want to remove this vault?
|
||||
main.directoryList.remove.confirmation.content = The vault will only be removed from the list. To permanently delete it, please delete the files from your filesystem.
|
||||
upgrade.version3to4.msg = This vault needs to be migrated to a newer format.\nEncrypted folder names will be updated.\nPlease make sure synchronization has finished before proceeding.
|
||||
upgrade.version3to4.err.io = Migration failed due to an I/O Exception. See log file for details.
|
||||
settings.prefGvfsScheme.label = WebDAV scheme
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -81,4 +81,10 @@ main.directoryList.remove.confirmation.title = Kasayı Sil
|
||||
main.directoryList.remove.confirmation.header = Kasayı silmek istediğinize emin misiniz ?
|
||||
main.directoryList.remove.confirmation.content = Kasa yalnızca listeden silinecek. Tamamen silmek için dosya sisteminizden dosyaları elle siliniz.
|
||||
upgrade.version3to4.msg = Bu kasanın yeni formata geçirilmesi gerekmekte. Şifreli klasör isimleri güncellenecek. Devam etmeden önce senkronizasyonun bittiğine emin olun.
|
||||
upgrade.version3to4.err.io = Format değiştirme işlemi I/O Hatası dolayısı ile başarısız oldu. Detaylar için log dosyasına bakın
|
||||
upgrade.version3to4.err.io = Format değiştirme işlemi I/O Hatası dolayısı ile başarısız oldu. Detaylar için log dosyasına bakın
|
||||
settings.prefGvfsScheme.label = WebDAV scheme
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
90
main/ui/src/main/resources/localization/uk.txt
Normal file
90
main/ui/src/main/resources/localization/uk.txt
Normal file
@@ -0,0 +1,90 @@
|
||||
app.name = Cryptomator
|
||||
# main.fxml
|
||||
main.emptyListInstructions = Натисніть тут, щоб додати сховище
|
||||
main.directoryList.contextMenu.remove = Видалити зі списку
|
||||
main.directoryList.contextMenu.changePassword = Змінити пароль
|
||||
main.addDirectory.contextMenu.new = Створити нове сховище
|
||||
main.addDirectory.contextMenu.open = Відкрити існуюче сховище
|
||||
# welcome.fxml
|
||||
welcome.checkForUpdates.label.currentlyChecking = Перевірка оновлень...
|
||||
welcome.newVersionMessage = Доступна версія %1$s.\nВаша версія %2$s.
|
||||
# initialize.fxml
|
||||
initialize.label.password = Пароль
|
||||
initialize.label.retypePassword = Повторіть пароль
|
||||
initialize.button.ok = Створити сховище
|
||||
initialize.messageLabel.alreadyInitialized = Сховище вже ініціалізовано
|
||||
initialize.messageLabel.initializationFailed = Неможливо ініціалізувати сховище. Дивіться деталі в файлі-звіті.
|
||||
# notfound.fxml
|
||||
notfound.label = Сховище не знайдене. Воно було переміщене?
|
||||
# upgrade.fxml
|
||||
upgrade.button = Оновити сховище
|
||||
upgrade.version3dropBundleExtension.msg = Це сховище необхідно перетворити в новіший формат.\n"%1$s" буде перейменовано в "%2$s".\nПереконайтеся, що синхронізація завершена, перш ніж продовжити.
|
||||
upgrade.version3dropBundleExtension.err.alreadyExists = Автоматичне перетворення не виконане.\n"%s" вже існує.
|
||||
# unlock.fxml
|
||||
unlock.label.password = Пароль
|
||||
unlock.label.mountName = Ім'я диска
|
||||
unlock.label.winDriveLetter = Літера диска
|
||||
unlock.label.downloadsPageLink = Всі версії Cryptomator
|
||||
unlock.label.advancedHeading = Додаткові налаштування
|
||||
unlock.button.unlock = Розблокувати сховище
|
||||
unlock.button.advancedOptions.show = Більше налаштувань
|
||||
unlock.button.advancedOptions.hide = Менше налаштувань
|
||||
unlock.choicebox.winDriveLetter.auto = Призначити автоматично
|
||||
unlock.errorMessage.wrongPassword = Пароль невірний
|
||||
unlock.errorMessage.mountingFailed = Монтування невдале. Дивіться деталі в файлі-звіті.
|
||||
unlock.errorMessage.unsupportedVersion.vaultOlderThanSoftware = Сховище не підтримується. Воно було створене в старішій версії Cryptomator.
|
||||
unlock.errorMessage.unsupportedVersion.softwareOlderThanVault = Сховище не підтримується. Воно було створене в новішій версії Cryptomator.
|
||||
unlock.messageLabel.startServerFailed = Помилка запуску сервера WebDAV.
|
||||
# change_password.fxml
|
||||
changePassword.label.oldPassword = Старий пароль
|
||||
changePassword.label.newPassword = Новий пароль
|
||||
changePassword.label.retypePassword = Повторіть пароль
|
||||
changePassword.label.downloadsPageLink = Всі версії Cryptomator
|
||||
changePassword.button.change = Змінити пароль
|
||||
changePassword.errorMessage.wrongPassword = Пароль невірний
|
||||
changePassword.errorMessage.decryptionFailed = Розшифрування невдале
|
||||
changePassword.infoMessage.success = Пароль змінений
|
||||
# unlocked.fxml
|
||||
unlocked.button.lock = Заблокувати сховище
|
||||
unlocked.moreOptions.reveal = Відкрити накопичувач
|
||||
unlocked.moreOptions.copyUrl = Копіювати URL-адресу WebDAV
|
||||
unlocked.label.revealFailed = Команда невдала
|
||||
unlocked.label.unmountFailed = Вилучення диска невдале
|
||||
unlocked.label.statsEncrypted = зашифровано
|
||||
unlocked.label.statsDecrypted = розшифровано
|
||||
unlocked.ioGraph.yAxis.label = Пропускна спроможність (МіБ/с)
|
||||
# mac_warnings.fxml
|
||||
macWarnings.windowTitle = Небезпека - Пошкоджений файл в %s
|
||||
macWarnings.message = Cryptomator виявив потенційно небезпечні пошкодження в наступних файлах\:
|
||||
macWarnings.moreInformationButton = Докладніше
|
||||
macWarnings.whitelistButton = Розшифрувати обрані все одно
|
||||
# settings.fxml
|
||||
settings.version.label = Версія %s
|
||||
settings.checkForUpdates.label = Перевірити оновлення
|
||||
settings.port.label = Порт WebDAV *
|
||||
settings.port.prompt = 0 \= Обрати автоматично
|
||||
settings.useipv6.label = Використовувати IPv6
|
||||
settings.requiresRestartLabel = * Необхідне перезавантаження Cryptomator
|
||||
# tray icon
|
||||
tray.menu.open = Відкрити
|
||||
tray.menu.quit = Вихід
|
||||
tray.infoMsg.title = Ще працює
|
||||
tray.infoMsg.msg = Cryptomator все ще працює. Вийдіть за допомогою значка в області сповіщень.
|
||||
tray.infoMsg.msg.osx = Cryptomator все ще працює. Вийдіть за допомогою значка в рядку меню.
|
||||
initialize.messageLabel.passwordStrength.0 = Дуже слабкий
|
||||
initialize.messageLabel.passwordStrength.1 = Слабкий
|
||||
initialize.messageLabel.passwordStrength.2 = Прийнятний
|
||||
initialize.messageLabel.passwordStrength.3 = Сильний
|
||||
initialize.messageLabel.passwordStrength.4 = Дуже сильний
|
||||
initialize.label.doNotForget = ВАЖЛИВО\: Якщо ви забудете свій пароль, відновити дані буде неможливо.
|
||||
main.directoryList.remove.confirmation.title = Видалити сховище
|
||||
main.directoryList.remove.confirmation.header = Ви дійсно хочете видалити це сховище?
|
||||
main.directoryList.remove.confirmation.content = Сховище буде видалене тільки зі списку. Щоб стерти його остаточно, видаліть файли із файлової системи.
|
||||
upgrade.version3to4.msg = Це сховище необхідно перетворити в новий формат. Зашифровані імена папок будуть оновлені. Перш ніж продовжити, виконайте синхронізацію.
|
||||
upgrade.version3to4.err.io = Перетворення невдале через помилку введення-виведення. Дивіться деталі в файлі-звіті.
|
||||
settings.prefGvfsScheme.label = WebDAV scheme
|
||||
# upgrade.fxml
|
||||
upgrade.confirmation.label = Yes, I've made sure that synchronization has finished
|
||||
initialize.messageLabel.notEmpty = Vault not empty
|
||||
unlock.label.savePassword = Save password
|
||||
unlock.errorMessage.unauthenticVersionMac = Could not authenticate version MAC.
|
||||
@@ -31,7 +31,7 @@ public class LocalizationTest {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(LocalizationTest.class);
|
||||
private static final String RESOURCE_FOLDER_PATH = "/localization/";
|
||||
private static final String REF_FILE_NAME = "en.txt";
|
||||
private static final String[] LANG_FILE_NAMES = {"de.txt", "es.txt", "fr.txt", "hu.txt", "it.txt", "kr.txt", "nl.txt", "pt.txt", "ru.txt", "sk.txt", "tr.txt"};
|
||||
private static final String[] LANG_FILE_NAMES = {"de.txt", "es.txt", "fr.txt", "hu.txt", "it.txt", "kr.txt", "lv.txt", "nl.txt", "pl.txt", "pt.txt", "ru.txt", "sk.txt", "tr.txt", "uk.txt"};
|
||||
|
||||
/*
|
||||
* @see Formatter
|
||||
|
||||
Reference in New Issue
Block a user