mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-05-22 04:31:27 +00:00
Merge branch 'develop' into feature/vault-format-8
[ci skip]
This commit is contained in:
@@ -52,10 +52,11 @@ public class DokanyVolume extends AbstractVolume {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reveal() throws VolumeException {
|
||||
boolean success = mount.reveal();
|
||||
if (!success) {
|
||||
throw new VolumeException("Reveal failed.");
|
||||
public void reveal(Revealer revealer) throws VolumeException {
|
||||
try {
|
||||
mount.reveal(revealer::reveal);
|
||||
} catch (Exception e) {
|
||||
throw new VolumeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +80,7 @@ public class DokanyVolume extends AbstractVolume {
|
||||
public boolean supportsForcedUnmount() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSupported() {
|
||||
return DokanyVolume.isSupportedStatic();
|
||||
|
||||
@@ -20,7 +20,6 @@ import javax.inject.Named;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.SortedSet;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class FuseVolume extends AbstractVolume {
|
||||
@@ -73,11 +72,10 @@ public class FuseVolume extends AbstractVolume {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reveal() throws VolumeException {
|
||||
public void reveal(Revealer revealer) throws VolumeException {
|
||||
try {
|
||||
mount.revealInFileManager();
|
||||
} catch (CommandFailedException e) {
|
||||
LOG.debug("Revealing the vault in file manger failed: " + e.getMessage());
|
||||
mount.reveal(revealer::reveal);
|
||||
} catch (Exception e) {
|
||||
throw new VolumeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,8 +162,8 @@ public class Vault {
|
||||
destroyCryptoFileSystem();
|
||||
}
|
||||
|
||||
public void reveal() throws VolumeException {
|
||||
volume.reveal();
|
||||
public void reveal(Volume.Revealer vaultRevealer) throws VolumeException {
|
||||
volume.reveal(vaultRevealer);
|
||||
}
|
||||
|
||||
// ******************************************************************************
|
||||
|
||||
@@ -34,7 +34,15 @@ public interface Volume {
|
||||
*/
|
||||
void mount(CryptoFileSystem fs, String mountFlags) throws IOException, VolumeException, InvalidMountPointException;
|
||||
|
||||
void reveal() throws VolumeException;
|
||||
/**
|
||||
* Reveals the mounted volume.
|
||||
* <p>
|
||||
* The given {@code revealer} might be used to do it, but not necessarily.
|
||||
*
|
||||
* @param revealer An object capable of revealing the location of the mounted vault to view the content (e.g. in the default file browser).
|
||||
* @throws VolumeException
|
||||
*/
|
||||
void reveal(Revealer revealer) throws VolumeException;
|
||||
|
||||
void unmount() throws VolumeException;
|
||||
|
||||
@@ -79,4 +87,14 @@ public interface Volume {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Hides and unifies the different Revealer implementations in the different nio-adapters.
|
||||
*/
|
||||
@FunctionalInterface
|
||||
interface Revealer {
|
||||
|
||||
void reveal(Path p) throws VolumeException;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
import java.nio.file.Path;
|
||||
import java.util.Optional;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class WebDavVolume implements Volume {
|
||||
|
||||
@@ -25,21 +26,27 @@ public class WebDavVolume implements Volume {
|
||||
private final Provider<WebDavServer> serverProvider;
|
||||
private final VaultSettings vaultSettings;
|
||||
private final Settings settings;
|
||||
private final WindowsDriveLetters windowsDriveLetters;
|
||||
|
||||
private WebDavServer server;
|
||||
private WebDavServletController servlet;
|
||||
private Mounter.Mount mount;
|
||||
private Path mountPoint;
|
||||
|
||||
@Inject
|
||||
public WebDavVolume(Provider<WebDavServer> serverProvider, VaultSettings vaultSettings, Settings settings) {
|
||||
public WebDavVolume(Provider<WebDavServer> serverProvider, VaultSettings vaultSettings, Settings settings, WindowsDriveLetters windowsDriveLetters) {
|
||||
this.serverProvider = serverProvider;
|
||||
this.vaultSettings = vaultSettings;
|
||||
this.settings = settings;
|
||||
this.windowsDriveLetters = windowsDriveLetters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mount(CryptoFileSystem fs, String mountFlags) throws VolumeException {
|
||||
startServlet(fs);
|
||||
mountServlet();
|
||||
}
|
||||
|
||||
private void startServlet(CryptoFileSystem fs){
|
||||
if (server == null) {
|
||||
server = serverProvider.get();
|
||||
}
|
||||
@@ -50,32 +57,38 @@ public class WebDavVolume implements Volume {
|
||||
String urlConformMountName = acceptable.negate().collapseFrom(vaultSettings.mountName().get(), '_');
|
||||
servlet = server.createWebDavServlet(fs.getPath("/"), vaultSettings.getId() + "/" + urlConformMountName);
|
||||
servlet.start();
|
||||
mount();
|
||||
}
|
||||
|
||||
private void mount() throws VolumeException {
|
||||
private void mountServlet() throws VolumeException {
|
||||
if (servlet == null) {
|
||||
throw new IllegalStateException("Mounting requires unlocked WebDAV servlet.");
|
||||
}
|
||||
|
||||
//on windows, prevent an automatic drive letter selection in the upstream library. Either we choose already a specifc one or there is no free.
|
||||
Supplier<String> driveLetterSupplier;
|
||||
if(System.getProperty("os.name").toLowerCase().contains("windows") && vaultSettings.winDriveLetter().isEmpty().get()) {
|
||||
driveLetterSupplier = () -> windowsDriveLetters.getAvailableDriveLetter().orElse(null);
|
||||
} else {
|
||||
driveLetterSupplier = () -> vaultSettings.winDriveLetter().get();
|
||||
}
|
||||
|
||||
MountParams mountParams = MountParams.create() //
|
||||
.withWindowsDriveLetter(vaultSettings.winDriveLetter().get()) //
|
||||
.withWindowsDriveLetter(driveLetterSupplier.get()) //
|
||||
.withPreferredGvfsScheme(settings.preferredGvfsScheme().get().getPrefix())//
|
||||
.withWebdavHostname(getLocalhostAliasOrNull()) //
|
||||
.build();
|
||||
try {
|
||||
this.mount = servlet.mount(mountParams); // might block this thread for a while
|
||||
} catch (Mounter.CommandFailedException e) {
|
||||
e.printStackTrace();
|
||||
throw new VolumeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reveal() throws VolumeException {
|
||||
public void reveal(Revealer revealer) throws VolumeException {
|
||||
try {
|
||||
mount.reveal();
|
||||
} catch (Mounter.CommandFailedException e) {
|
||||
e.printStackTrace();
|
||||
mount.reveal(revealer::reveal);
|
||||
} catch (Exception e) {
|
||||
throw new VolumeException(e);
|
||||
}
|
||||
}
|
||||
@@ -102,7 +115,7 @@ public class WebDavVolume implements Volume {
|
||||
|
||||
@Override
|
||||
public Optional<Path> getMountPoint() {
|
||||
return Optional.ofNullable(mountPoint); //TODO
|
||||
return mount.getMountPoint();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
<cryptomator.integrations.win.version>0.2.1</cryptomator.integrations.win.version>
|
||||
<cryptomator.integrations.mac.version>0.1.0-beta3</cryptomator.integrations.mac.version>
|
||||
<cryptomator.integrations.linux.version>0.1.0-beta2</cryptomator.integrations.linux.version>
|
||||
<cryptomator.fuse.version>1.2.6</cryptomator.fuse.version>
|
||||
<cryptomator.dokany.version>1.2.1</cryptomator.dokany.version>
|
||||
<cryptomator.webdav.version>1.0.14</cryptomator.webdav.version>
|
||||
<cryptomator.fuse.version>1.2.8</cryptomator.fuse.version>
|
||||
<cryptomator.dokany.version>1.2.3</cryptomator.dokany.version>
|
||||
<cryptomator.webdav.version>1.1.1</cryptomator.webdav.version>
|
||||
|
||||
<!-- 3rd party dependencies -->
|
||||
<javafx.version>15</javafx.version>
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package org.cryptomator.ui.common;
|
||||
|
||||
import dagger.Lazy;
|
||||
import org.cryptomator.common.vaults.Volume;
|
||||
import org.cryptomator.ui.fxapp.FxApplicationScoped;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javafx.application.Application;
|
||||
import java.nio.file.Path;
|
||||
|
||||
@FxApplicationScoped
|
||||
public class HostServiceRevealer implements Volume.Revealer {
|
||||
|
||||
private final Lazy<Application> application;
|
||||
|
||||
@Inject
|
||||
public HostServiceRevealer(Lazy<Application> application) {
|
||||
this.application = application;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reveal(Path p) throws Volume.VolumeException {
|
||||
application.get().getHostServices().showDocument(p.toUri().toString());
|
||||
}
|
||||
}
|
||||
@@ -23,10 +23,12 @@ public class VaultService {
|
||||
private static final Logger LOG = LoggerFactory.getLogger(VaultService.class);
|
||||
|
||||
private final ExecutorService executorService;
|
||||
private final HostServiceRevealer vaultRevealer;
|
||||
|
||||
@Inject
|
||||
public VaultService(ExecutorService executorService) {
|
||||
public VaultService(ExecutorService executorService, HostServiceRevealer vaultRevealer) {
|
||||
this.executorService = executorService;
|
||||
this.vaultRevealer = vaultRevealer;
|
||||
}
|
||||
|
||||
public void reveal(Vault vault) {
|
||||
@@ -39,7 +41,7 @@ public class VaultService {
|
||||
* @param vault The vault to reveal
|
||||
*/
|
||||
public Task<Vault> createRevealTask(Vault vault) {
|
||||
Task<Vault> task = new RevealVaultTask(vault);
|
||||
Task<Vault> task = new RevealVaultTask(vault, vaultRevealer);
|
||||
task.setOnSucceeded(evt -> LOG.info("Revealed {}", vault.getDisplayName()));
|
||||
task.setOnFailed(evt -> LOG.error("Failed to reveal " + vault.getDisplayName(), evt.getSource().getException()));
|
||||
return task;
|
||||
@@ -99,19 +101,22 @@ public class VaultService {
|
||||
private static class RevealVaultTask extends Task<Vault> {
|
||||
|
||||
private final Vault vault;
|
||||
private final Volume.Revealer revealer;
|
||||
|
||||
/**
|
||||
* @param vault The vault to lock
|
||||
* @param revealer The object to use to show the vault content to the user.
|
||||
*/
|
||||
public RevealVaultTask(Vault vault) {
|
||||
public RevealVaultTask(Vault vault, Volume.Revealer revealer) {
|
||||
this.vault = vault;
|
||||
this.revealer = revealer;
|
||||
|
||||
setOnFailed(evt -> LOG.error("Failed to reveal " + vault.getDisplayName(), getException()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Vault call() throws Volume.VolumeException {
|
||||
vault.reveal();
|
||||
vault.reveal(revealer);
|
||||
return vault;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ package org.cryptomator.ui.traymenu;
|
||||
|
||||
import dagger.Lazy;
|
||||
import dagger.Subcomponent;
|
||||
|
||||
import java.awt.SystemTray;
|
||||
|
||||
@TrayMenuScoped
|
||||
|
||||
@@ -286,7 +286,7 @@ vaultOptions.mount.mountPoint.directoryPickerButton=Durchsuchen …
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Wähle ein leeres Verzeichnis
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Passwort
|
||||
vaultOptions.masterkey.changePasswordBtn=Password ändern
|
||||
vaultOptions.masterkey.changePasswordBtn=Passwort ändern
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=Gespeichertes Passwort vergessen
|
||||
vaultOptions.masterkey.recoveryKeyExpanation=Bei Verlust deines Passworts ist ein Wiederherstellungsschlüssel deine einzige Möglichkeit, den Zugriff auf einen Tresor wiederherzustellen.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Wiederherstellungsschlüssel anzeigen
|
||||
|
||||
308
main/ui/src/main/resources/i18n/strings_hu.properties
Normal file
308
main/ui/src/main/resources/i18n/strings_hu.properties
Normal file
@@ -0,0 +1,308 @@
|
||||
# Locale Specific CSS files such as CJK, RTL,...
|
||||
additionalStyleSheets=
|
||||
|
||||
# Generics
|
||||
## Button
|
||||
generic.button.apply=Alkalmaz
|
||||
generic.button.back=Vissza
|
||||
generic.button.cancel=Mégse
|
||||
generic.button.change=Változtat
|
||||
generic.button.close=Bezár
|
||||
generic.button.copy=Másolás
|
||||
generic.button.copied=Másolva!
|
||||
generic.button.done=Kész
|
||||
generic.button.next=Következő
|
||||
generic.button.print=Nyomtatás
|
||||
## Error
|
||||
generic.error.title=Egy váratlan hiba történt
|
||||
generic.error.instruction=Ennek nem lett volna szabad megtörténnie. Kérjük jelezze a hibát az alábbi szöveggel valamint a hiba reprodukálásához szükséges lépésekkel.
|
||||
|
||||
# Defaults
|
||||
defaults.vault.vaultName=Széf
|
||||
|
||||
# Tray Menu
|
||||
traymenu.showMainWindow=Megmutatás
|
||||
traymenu.showPreferencesWindow=Beállítások
|
||||
traymenu.lockAllVaults=Az összes zárolása
|
||||
traymenu.quitApplication=Kilépés
|
||||
traymenu.vault.unlock=Feloldás
|
||||
traymenu.vault.lock=Zárolás
|
||||
traymenu.vault.reveal=Megmutatás
|
||||
|
||||
# Add Vault Wizard
|
||||
addvaultwizard.title=Széf hozzáadása
|
||||
## Welcome
|
||||
addvaultwizard.welcome.newButton=Új széf létrehozása
|
||||
addvaultwizard.welcome.existingButton=Meglévő széf megnyitása
|
||||
## New
|
||||
### Name
|
||||
addvaultwizard.new.nameInstruction=Válasszon egy nevet az új széf számára
|
||||
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=Nem lehet a széfet létrehozni ezen a helyen, mert egy fájl már létezik itt.
|
||||
addvaultwizard.new.locationDoesNotExist=Nem lehet a széfet létrehozni ezen a helyen, mert az útvonal legalább egy darabja nem létezik.
|
||||
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=Széf létrehozása
|
||||
addvaultwizard.new.generateRecoveryKeyChoice=Nem fog tudni hozzáférni az adataihoz a jelszó nélkül. Akar egy visszaállítási kulcsot arra az esetre, ha elveszíti a jelszavát?
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.yes=Igen kérem, jobb félni, mint megijedni.
|
||||
addvaultwizard.new.generateRecoveryKeyChoice.no=Nem köszönöm, nem fogom elveszíteni a jelszavam.
|
||||
### Information
|
||||
addvault.new.readme.storageLocation.fileName=FONTOS.rtf
|
||||
addvault.new.readme.storageLocation.1=⚠️ SZÉF FÁJLOK ⚠️
|
||||
addvault.new.readme.storageLocation.2=Ez a széfjének a tárolási helye.
|
||||
addvault.new.readme.storageLocation.3=NE
|
||||
addvault.new.readme.storageLocation.4=• ne módosítson semmilyen fájlt ebbe a könyvtárba
|
||||
addvault.new.readme.storageLocation.5=• ne tegyen titkosítani való fájlokat ebbe a könyvtárba
|
||||
addvault.new.readme.storageLocation.6=Ha fájlokat akr titkosítani és a széf tartalmát akarja szerkeszteni akkor tegye a következőt:
|
||||
addvault.new.readme.storageLocation.7=1. Adja hozzá a széfet a Cryptomator-hoz.
|
||||
addvault.new.readme.storageLocation.8=2. Nyissa meg a széfet a Cryptomator-ban.
|
||||
addvault.new.readme.storageLocation.9=3. Nyissa meg a hozzáférési helyet a "Megjelenítés" gombra való kattintással.
|
||||
addvault.new.readme.storageLocation.10=Ha segítségre van szüksége, akkor látogasson el a dokumentáció oldalára: %s
|
||||
addvault.new.readme.accessLocation.fileName=ÜDVÖZÖLJÜK.rtf
|
||||
addvault.new.readme.accessLocation.1=🔐️ TITKOSÍTOTT KÖTET 🔐️
|
||||
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.chooseBtn=Kiválaszt…
|
||||
addvaultwizard.existing.filePickerTitle=Mesterkulcs 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
|
||||
|
||||
# Remove Vault
|
||||
removeVault.title=Széf eltávolitása
|
||||
removeVault.information=Ez kizárolag a Cryptomator-ból távolitja el ezt a széfet. Később hozzáadhatja újra. A titkosított fájlokat nem törli a merevlemezről.
|
||||
removeVault.confirmBtn=Széf eltávolitása
|
||||
|
||||
# Change Password
|
||||
changepassword.title=Jelszó megváltoztatása
|
||||
changepassword.enterOldPassword=Írja be a jelenlegi jelszavat a következő széfhez "%s"
|
||||
changepassword.finalConfirmation=Megértettem, hogy nem fogok hozzáférni az adataimhoz amennyiben elfelejtem a jelszavam
|
||||
|
||||
# Forget Password
|
||||
forgetPassword.title=Jelszó elfelejtése
|
||||
forgetPassword.information=Eltávolítja a széf mentett jelszavát a rendszere kulcstartójából.
|
||||
forgetPassword.confirmBtn=Jelszó elfelejtése
|
||||
|
||||
# Unlock
|
||||
unlock.title=Széf feloldása
|
||||
unlock.passwordPrompt=Írja be a jelszavát a következő széfhez "%s":
|
||||
unlock.savePassword=Jelszó mentése
|
||||
unlock.unlockBtn=Feloldás
|
||||
## Success
|
||||
unlock.success.message="%s" sikreresen feloldásra került! Mostmár hozzáférhet a széféhez.
|
||||
unlock.success.rememberChoice=Jegyezze meg a választást és ne mutassa többet
|
||||
unlock.success.revealBtn=Széf megjelenítése
|
||||
## Failure
|
||||
unlock.error.heading=Nem lehet feloldani a széfet
|
||||
### Invalid Mount Point
|
||||
unlock.error.invalidMountPoint.notExisting=A csatolási pont "%s" nem egy könyvtár, nem üres vagy nem létezik.
|
||||
unlock.error.invalidMountPoint.existing=A csatolási pont "%s" már létezik vagy a already exists or szülőmappa hiányzik.
|
||||
|
||||
# Migration
|
||||
migration.title=Széf frissítése
|
||||
## Start
|
||||
migration.start.prompt=A "%s" széf formátuma frissítésre szorul. A folytatás előtt győződjön meg arról, hogy nincs függőben lévő szinkronizálás, amely befolyásolja ezt a széfet.
|
||||
migration.start.confirm=Igen, a széfem teljes mértékben szinkronizálva van
|
||||
## Run
|
||||
migration.run.enterPassword=Írja be a jelszót a következőhöz Enter the password for "%s"
|
||||
migration.run.startMigrationBtn=Széf migrációja
|
||||
migration.run.progressHint=Ez eltarthat egy darabig…
|
||||
## Sucess
|
||||
migration.success.nextStepsInstructions=A "%s" sikeresen migrálva. \nMost már feloldhatja a széfet.
|
||||
migration.success.unlockNow=Azonnali feloldás
|
||||
## Missing file system capabilities
|
||||
migration.error.missingFileSystemCapabilities.title=Nem támogatott fájlrendszer
|
||||
migration.error.missingFileSystemCapabilities.description=A migráció nem kezdődött el, mert a széf nem megfelelő fájlrendszeren található.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_FILENAMES=A fájlrendszer nem támogatja a hosszú fájlneveket.
|
||||
migration.error.missingFileSystemCapabilities.reason.LONG_PATHS=A fájlrendszer nem támogatja a hosszú útvonalakat.
|
||||
migration.error.missingFileSystemCapabilities.reason.READ_ACCESS=A fájlrendszer nem teszi lehetővé az olvasást.
|
||||
migration.error.missingFileSystemCapabilities.reason.WRITE_ACCESS=A fájlrendszer nem teszi lehetővé az írást.
|
||||
## Impossible
|
||||
migration.impossible.heading=A széf frissítése sikertelen
|
||||
migration.impossible.reason=A széfet nem lehet automatikusan frissíteni, mert a tárolási helye vagy a hozzáférési pontja nem kompatibilis.
|
||||
migration.impossible.moreInfo=A széf továbbra is megnyitható marad egy régebbi verzióval. A széf kézi frissítésével kapcsolatos utasításokért keresse fel a következő címet:
|
||||
|
||||
# Preferences
|
||||
preferences.title=Beállítások
|
||||
## General
|
||||
preferences.general=Általános
|
||||
preferences.general.theme=Megjelenés
|
||||
preferences.general.theme.automatic=Autómatikus
|
||||
preferences.general.theme.light=Világos
|
||||
preferences.general.theme.dark=Sötét
|
||||
preferences.general.unlockThemes=Sötét mód feloldása
|
||||
preferences.general.startHidden=Az ablak elrejtése a Cryptomator indítása után
|
||||
preferences.general.debugLogging=Hibakeresési naplózás engedélyezése
|
||||
preferences.general.debugDirectory=Naplófájlok megjelenítése
|
||||
preferences.general.autoStart=Cryptomator indítása a rendszerrel együtt
|
||||
preferences.general.keychainBackend=Itt tárolja a jelszavakat
|
||||
preferences.general.keychainBackend.org.cryptomator.linux.keychain.SecretServiceKeychainAccess=Gnome Keyring
|
||||
preferences.general.keychainBackend.org.cryptomator.linux.keychain.KDEWalletKeychainAccess=KDE Wallet
|
||||
preferences.general.keychainBackend.org.cryptomator.macos.keychain.MacSystemKeychainAccess=macOS Keychain Access
|
||||
preferences.general.keychainBackend.org.cryptomator.windows.keychain.WindowsProtectedKeychainAccess=Windows Data Protection
|
||||
preferences.general.interfaceOrientation=Felhasználói felület orientációja
|
||||
preferences.general.interfaceOrientation.ltr=Balról jobbra
|
||||
preferences.general.interfaceOrientation.rtl=Jobbról balra
|
||||
## Volume
|
||||
preferences.volume=Virtuális meghajtó
|
||||
preferences.volume.type=Kötet tipusa
|
||||
preferences.volume.webdav.port=WebDAV Port
|
||||
preferences.volume.webdav.scheme=WebDAV Scheme
|
||||
## Updates
|
||||
preferences.updates=Frissítések
|
||||
preferences.updates.currentVersion=Jelenlegi verzió: %s
|
||||
preferences.updates.autoUpdateCheck=Frissítések autómatikus keresése
|
||||
preferences.updates.checkNowBtn=Ellenőrzés most
|
||||
preferences.updates.updateAvailable=Frissítés a %s verzióra elérhető.
|
||||
## Donation Key
|
||||
preferences.donationKey=Adomány
|
||||
preferences.donationKey.registeredFor=Regisztrálva %s számára
|
||||
preferences.donationKey.noDonationKey=Nem található érvényes adománykulcs. Mint egy licenckulcs, csak olyan nagyszerű emberek számára, akik ingyenes szofvereket használnak. ;-)
|
||||
preferences.donationKey.getDonationKey=Adománykulcs beszerzése
|
||||
## About
|
||||
preferences.about=Rólunk
|
||||
|
||||
# Vault Statistics
|
||||
stats.title=Statisztika ehhez %s
|
||||
stats.cacheHitRate=Gyorsítótár találati arány
|
||||
## Read
|
||||
stats.read.throughput.idle=Olvasás: tétlen
|
||||
stats.read.throughput.kibs=Olvasás: %.2f kiB/s
|
||||
stats.read.throughput.mibs=Olvasás: %.2f MiB/s
|
||||
stats.read.total.data.none=Olvasott adat: -
|
||||
stats.read.total.data.kib=Olvasott adat: %.1f kiB
|
||||
stats.read.total.data.mib=Olvasott adat: %.1f MiB
|
||||
stats.read.total.data.gib=Olvasott adat: %.1f GiB
|
||||
stats.decr.total.data.none=Dekódolt adat: -
|
||||
stats.decr.total.data.kib=Dekódolt adat: %.1f kiB
|
||||
stats.decr.total.data.mib=Dekódolt adat: %.1f MiB
|
||||
stats.decr.total.data.gib=Dekódolt adat: %.1f GiB
|
||||
stats.read.accessCount=Összes olvasás: %d
|
||||
## Write
|
||||
stats.write.throughput.idle=Írás: tétlen
|
||||
stats.write.throughput.kibs=Írás: %.2f kiB/s
|
||||
stats.write.throughput.mibs=Írás: %.2f MiB/s
|
||||
stats.write.total.data.none=Írott adat: -
|
||||
stats.write.total.data.kib=Írott adat: %.1f kiB
|
||||
stats.write.total.data.mib=Írott adat: %.1f MiB
|
||||
stats.write.total.data.gib=Írott adat: %.1f GiB
|
||||
stats.encr.total.data.none=Titkosított adat: -
|
||||
stats.encr.total.data.kib=Titkosított adat: %.1f kiB
|
||||
stats.encr.total.data.mib=Titkosított adat: %.1f MiB
|
||||
stats.encr.total.data.gib=Titkosított adat: %.1f GiB
|
||||
stats.write.accessCount=Összes írás: %d
|
||||
|
||||
# Main Window
|
||||
main.closeBtn.tooltip=Bezárás
|
||||
main.minimizeBtn.tooltip=Minimalizálás
|
||||
main.preferencesBtn.tooltip=Beállítások
|
||||
main.debugModeEnabled.tooltip=A hibakeresési mód aktiválva van
|
||||
main.donationKeyMissing.tooltip=Kérjük, fontolja meg az adományozást
|
||||
## Drag 'n' Drop
|
||||
main.dropZone.dropVault=Adja hozzá ezt a széfet
|
||||
main.dropZone.unknownDragboardContent=Ha egy széfet szeretne hozzáadni, akkor húzza át erre az ablakra.
|
||||
## Vault List
|
||||
main.vaultlist.emptyList.onboardingInstruction=Kattintson ide egy széf hozzáadásához
|
||||
main.vaultlist.contextMenu.remove=Széf eltávolítása…
|
||||
main.vaultlist.addVaultBtn=Széf hozzáadása
|
||||
## Vault Detail
|
||||
### Welcome
|
||||
main.vaultDetail.welcomeOnboarding=Köszönjük, hogy a Cryptomator programot választotta a fájlai védelmére. Ha segítségre van szüksége, akkor olvassa el a kezdő útmutatónk lépéseit:
|
||||
### Locked
|
||||
main.vaultDetail.lockedStatus=ZÁROLVA
|
||||
main.vaultDetail.unlockBtn=Feloldás…
|
||||
main.vaultDetail.unlockNowBtn=Azonnali feloldás
|
||||
main.vaultDetail.optionsBtn=Széf beállítások
|
||||
main.vaultDetail.passwordSavedInKeychain=Jelszó mentve
|
||||
### Unlocked
|
||||
main.vaultDetail.unlockedStatus=FELOLDVA
|
||||
main.vaultDetail.accessLocation=A széf tartalma itt érhető el:
|
||||
main.vaultDetail.revealBtn=Széf megjelenítése
|
||||
main.vaultDetail.lockBtn=Zárolás
|
||||
main.vaultDetail.bytesPerSecondRead=Olvasás:
|
||||
main.vaultDetail.bytesPerSecondWritten=Írás:
|
||||
main.vaultDetail.throughput.idle=tétlen
|
||||
main.vaultDetail.throughput.kbps=%.1f kiB/s
|
||||
main.vaultDetail.throughput.mbps=%.1f MiB/s
|
||||
main.vaultDetail.stats=Széf statisztika
|
||||
### Missing
|
||||
main.vaultDetail.missing.info=A Cryptomator nem talált széfet ezen az útvonalon.
|
||||
main.vaultDetail.missing.recheck=Ellenőrizze újra
|
||||
main.vaultDetail.missing.remove=A széf eltávolítása a listából…
|
||||
main.vaultDetail.missing.changeLocation=A széf helyének megváltoztatása…
|
||||
### Needs Migration
|
||||
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
|
||||
|
||||
# Wrong File Alert
|
||||
wrongFileAlert.title=Hogyan lehet fájlokat titkosítani
|
||||
wrongFileAlert.header.title=Próbálta ezeket a fájlokat titkosítani?
|
||||
wrongFileAlert.header.lead=Erre a célra a Cryptomator egy kötetet biztosít a rendszer fájlkezelőjében.
|
||||
wrongFileAlert.instruction.0=Hogy titkosítsa a fájlokat kövesse a következő lépéseket:
|
||||
wrongFileAlert.instruction.1=1. Oldja fel a széfet.
|
||||
wrongFileAlert.instruction.2=2. Kattintson a "Megjelenítés" gombra, hogy megnyissa a kötetet a fájlkezelőjében.
|
||||
wrongFileAlert.instruction.3=3. Adjon hozzá fájlokat a kötethez.
|
||||
wrongFileAlert.link=További segítségért látogasson el ide
|
||||
|
||||
# Vault Options
|
||||
## General
|
||||
vaultOptions.general=Általános
|
||||
vaultOptions.general.vaultName=A széf neve
|
||||
vaultOptions.general.unlockAfterStartup=A széf feloldása a Cryptomator indításakor
|
||||
vaultOptions.general.actionAfterUnlock=Sikeres feloldás után
|
||||
vaultOptions.general.actionAfterUnlock.ignore=Ne tegyen semmit
|
||||
vaultOptions.general.actionAfterUnlock.reveal=Jelenítse meg a kötetet
|
||||
vaultOptions.general.actionAfterUnlock.ask=Kérdezzen
|
||||
## Mount
|
||||
vaultOptions.mount=Csatolás
|
||||
vaultOptions.mount.readonly=Csak olvasható
|
||||
vaultOptions.mount.customMountFlags=Egyedi csatolási paraméterek
|
||||
vaultOptions.mount.winDriveLetterOccupied=foglalt
|
||||
vaultOptions.mount.mountPoint=Csatolási pont
|
||||
vaultOptions.mount.mountPoint.auto=Válasszon egy megfelelő helyet autómatikusan
|
||||
vaultOptions.mount.mountPoint.driveLetter=Használja a kiválasztott meghajtó betűjelét
|
||||
vaultOptions.mount.mountPoint.custom=Egyedi útvonal
|
||||
vaultOptions.mount.mountPoint.directoryPickerButton=Kiválasztás…
|
||||
vaultOptions.mount.mountPoint.directoryPickerTitle=Válasszon egy üres könyvtárat
|
||||
## Master Key
|
||||
vaultOptions.masterkey=Jelszó
|
||||
vaultOptions.masterkey.changePasswordBtn=Jelszó megváltoztatása
|
||||
vaultOptions.masterkey.forgetSavedPasswordBtn=Elmentett jelszó elfelejtése
|
||||
vaultOptions.masterkey.recoveryKeyExpanation=A helyreállítási kulcs az egyetlen módja annak, hogy visszaállítsa a széfhez való hozzáférést, ha elveíti a jelszavát.
|
||||
vaultOptions.masterkey.showRecoveryKeyBtn=Visszaállítási kulcs megjelenítése
|
||||
vaultOptions.masterkey.recoverPasswordBtn=Jelszó visszaállítása
|
||||
|
||||
# Recovery Key
|
||||
recoveryKey.title=Visszaállítási kulcs
|
||||
recoveryKey.enterPassword.prompt=Írja be a jelszavát a "%s" visszaállítási kulcsának megjelenítéséhez:
|
||||
recoveryKey.display.message=A következő helyreállítási kulcs használható a "%s" hozzáférésének visszaállítására:
|
||||
recoveryKey.display.StorageHints=Tartsa nagyon biztonságos helyen. pl.:\n •Tárolja egy jelszókezelővel\n •Mentse el egy USB meghajtóra\n •Nyomtassa egy papírra
|
||||
recoveryKey.recover.prompt=Írja be a visszaállítási kulcsát a következőhöz "%s":
|
||||
recoveryKey.recover.validKey=Ez egy érvényes visszaállítási kulcs
|
||||
recoveryKey.printout.heading=Cryptomator visszaállítási kulcs\n"%s"\n
|
||||
|
||||
# New Password
|
||||
newPassword.promptText=Írja be az új jelszavát
|
||||
newPassword.reenterPassword=Erősítse meg az új jelszavát
|
||||
newPassword.passwordsMatch=A jelszavak megegyeznek!
|
||||
newPassword.passwordsDoNotMatch=A jelszavak nem egyeznek meg
|
||||
passwordStrength.messageLabel.tooShort=Használjon legalább %d karaktert
|
||||
passwordStrength.messageLabel.0=Nagyon gyenge
|
||||
passwordStrength.messageLabel.1=Gyenge
|
||||
passwordStrength.messageLabel.2=Átlagos
|
||||
passwordStrength.messageLabel.3=Erős
|
||||
passwordStrength.messageLabel.4=Nagyon erős
|
||||
|
||||
# Quit
|
||||
quit.prompt=Kilép az alkalmazásból? Vannak még lezáratlan széfek.
|
||||
quit.lockAndQuit=Zárolás és kilépés
|
||||
@@ -105,6 +105,7 @@ unlock.success.revealBtn=金庫を表示
|
||||
unlock.error.heading=金庫の解錠に失敗
|
||||
### Invalid Mount Point
|
||||
unlock.error.invalidMountPoint.notExisting=マウントポイントが空のディレクトリか存在していません: %s
|
||||
unlock.error.invalidMountPoint.existing=マウント ポイント "%s" が既に存在するか、親フォルダーがありません。
|
||||
|
||||
# Lock
|
||||
## Force
|
||||
|
||||
@@ -109,9 +109,12 @@ 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
|
||||
## 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.
|
||||
|
||||
# Migration
|
||||
migration.title=Oppgrader hvelv
|
||||
@@ -146,11 +149,17 @@ preferences.general.theme.automatic=Automatisk
|
||||
preferences.general.theme.light=Lys
|
||||
preferences.general.theme.dark=Mørk
|
||||
preferences.general.unlockThemes=Lås opp mørk modus
|
||||
preferences.general.showMinimizeButton=Vis minimerknapp
|
||||
preferences.general.showTrayIcon=Vis verktøykasseikon (krever omstart)
|
||||
preferences.general.startHidden=Skjul vinduet når du starter Cryptomator
|
||||
preferences.general.debugLogging=Aktiver loggføring av feilsøk
|
||||
preferences.general.debugDirectory=Vis loggfiler
|
||||
preferences.general.autoStart=Start Cryptomator ved systemstart
|
||||
preferences.general.keychainBackend=Lagre passord med
|
||||
preferences.general.keychainBackend.org.cryptomator.linux.keychain.SecretServiceKeychainAccess=Gnome Keyring
|
||||
preferences.general.keychainBackend.org.cryptomator.linux.keychain.KDEWalletKeychainAccess=KDE Wallet
|
||||
preferences.general.keychainBackend.org.cryptomator.macos.keychain.MacSystemKeychainAccess=macOS nøkkelringtilgang
|
||||
preferences.general.keychainBackend.org.cryptomator.windows.keychain.WindowsProtectedKeychainAccess=Windows Data Protection
|
||||
preferences.general.interfaceOrientation=Grensesnittorientering
|
||||
preferences.general.interfaceOrientation.ltr=Fra venstre til høyre
|
||||
preferences.general.interfaceOrientation.rtl=Fra høyre til venstre
|
||||
|
||||
@@ -11,7 +11,7 @@ GNU General Public License for more details.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
Cryptomator uses 47 third-party dependencies under the following licenses:
|
||||
Cryptomator uses 46 third-party dependencies under the following licenses:
|
||||
Apache License v2.0:
|
||||
- jffi (com.github.jnr:jffi:1.2.23 - http://github.com/jnr/jffi)
|
||||
- jnr-a64asm (com.github.jnr:jnr-a64asm:1.0.0 - http://nexus.sonatype.org/oss-repository-hosting.html/jnr-a64asm)
|
||||
@@ -26,7 +26,6 @@ Cryptomator uses 47 third-party dependencies under the following licenses:
|
||||
- Guava ListenableFuture only (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - https://github.com/google/guava/listenablefuture)
|
||||
- J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - https://github.com/google/j2objc/)
|
||||
- Apache Commons CLI (commons-cli:commons-cli:1.4 - http://commons.apache.org/proper/commons-cli/)
|
||||
- Apache Commons IO (commons-io:commons-io:2.6 - http://commons.apache.org/proper/commons-io/)
|
||||
- javax.inject (javax.inject:javax.inject:1 - http://code.google.com/p/atinject/)
|
||||
- Java Native Access (net.java.dev.jna:jna:5.6.0 - https://github.com/java-native-access/jna)
|
||||
- Java Native Access Platform (net.java.dev.jna:jna-platform:5.5.0 - https://github.com/java-native-access/jna)
|
||||
|
||||
Reference in New Issue
Block a user