mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-04-22 23:49:09 -04:00
Various fixes [stage]
This commit is contained in:
@@ -187,7 +187,8 @@ APPENDIX: How to apply the Apache License to your work.
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2024 Christopher Schnick
|
||||
Copyright 2023 Christopher Schnick
|
||||
Copyright 2023 XPipe UG (haftungsbeschränkt)
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
@@ -276,7 +276,7 @@ public class BrowserSessionTabsComp extends SimpleComp {
|
||||
var cm = ContextMenuHelper.create();
|
||||
|
||||
if (tabModel.isCloseable()) {
|
||||
var unpin = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("unpinTab"));
|
||||
var unpin = ContextMenuHelper.item(LabelGraphic.none(), "unpinTab");
|
||||
unpin.visibleProperty()
|
||||
.bind(PlatformThread.sync(Bindings.createBooleanBinding(
|
||||
() -> {
|
||||
@@ -290,7 +290,7 @@ public class BrowserSessionTabsComp extends SimpleComp {
|
||||
});
|
||||
cm.getItems().add(unpin);
|
||||
|
||||
var pin = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("pinTab"));
|
||||
var pin = ContextMenuHelper.item(LabelGraphic.none(), "pinTab");
|
||||
pin.visibleProperty()
|
||||
.bind(PlatformThread.sync(Bindings.createBooleanBinding(
|
||||
() -> {
|
||||
@@ -304,7 +304,7 @@ public class BrowserSessionTabsComp extends SimpleComp {
|
||||
cm.getItems().add(pin);
|
||||
}
|
||||
|
||||
var select = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("selectTab"));
|
||||
var select = ContextMenuHelper.item(LabelGraphic.none(), "selectTab");
|
||||
select.acceleratorProperty()
|
||||
.bind(Bindings.createObjectBinding(
|
||||
() -> {
|
||||
@@ -325,7 +325,7 @@ public class BrowserSessionTabsComp extends SimpleComp {
|
||||
|
||||
cm.getItems().add(new SeparatorMenuItem());
|
||||
|
||||
var close = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("closeTab"));
|
||||
var close = ContextMenuHelper.item(LabelGraphic.none(), "closeTab");
|
||||
close.setAccelerator(new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN));
|
||||
close.setOnAction(event -> {
|
||||
if (tab.isClosable()) {
|
||||
@@ -335,7 +335,7 @@ public class BrowserSessionTabsComp extends SimpleComp {
|
||||
});
|
||||
cm.getItems().add(close);
|
||||
|
||||
var closeOthers = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("closeOtherTabs"));
|
||||
var closeOthers = ContextMenuHelper.item(LabelGraphic.none(), "closeOtherTabs");
|
||||
closeOthers.setOnAction(event -> {
|
||||
tabs.getTabs()
|
||||
.removeAll(tabs.getTabs().stream()
|
||||
@@ -345,7 +345,7 @@ public class BrowserSessionTabsComp extends SimpleComp {
|
||||
});
|
||||
cm.getItems().add(closeOthers);
|
||||
|
||||
var closeLeft = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("closeLeftTabs"));
|
||||
var closeLeft = ContextMenuHelper.item(LabelGraphic.none(), "closeLeftTabs");
|
||||
closeLeft.setOnAction(event -> {
|
||||
var index = tabs.getTabs().indexOf(tab);
|
||||
tabs.getTabs()
|
||||
@@ -356,7 +356,7 @@ public class BrowserSessionTabsComp extends SimpleComp {
|
||||
});
|
||||
cm.getItems().add(closeLeft);
|
||||
|
||||
var closeRight = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("closeRightTabs"));
|
||||
var closeRight = ContextMenuHelper.item(LabelGraphic.none(), "closeRightTabs");
|
||||
closeRight.setOnAction(event -> {
|
||||
var index = tabs.getTabs().indexOf(tab);
|
||||
tabs.getTabs()
|
||||
@@ -367,7 +367,7 @@ public class BrowserSessionTabsComp extends SimpleComp {
|
||||
});
|
||||
cm.getItems().add(closeRight);
|
||||
|
||||
var closeAll = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("closeAllTabs"));
|
||||
var closeAll = ContextMenuHelper.item(LabelGraphic.none(), "closeAllTabs");
|
||||
closeAll.setAccelerator(
|
||||
new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN, KeyCombination.SHIFT_DOWN));
|
||||
closeAll.setOnAction(event -> {
|
||||
|
||||
@@ -13,6 +13,7 @@ import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.css.PseudoClass;
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.scene.control.ContentDisplay;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.input.ClipboardContent;
|
||||
import javafx.scene.input.DragEvent;
|
||||
@@ -20,6 +21,7 @@ import javafx.scene.input.Dragboard;
|
||||
import javafx.scene.input.TransferMode;
|
||||
import javafx.scene.layout.Region;
|
||||
|
||||
import javafx.scene.text.TextAlignment;
|
||||
import org.kordamp.ikonli.javafx.FontIcon;
|
||||
|
||||
import java.io.File;
|
||||
@@ -41,6 +43,8 @@ public class BrowserTransferComp extends SimpleComp {
|
||||
var background = new LabelComp(AppI18n.observable("transferDescription"))
|
||||
.apply(struc -> struc.get().setGraphic(new FontIcon("mdi2d-download-outline")))
|
||||
.apply(struc -> struc.get().setWrapText(true))
|
||||
.apply(struc -> struc.get().setTextAlignment(TextAlignment.CENTER))
|
||||
.apply(struc -> struc.get().setContentDisplay(ContentDisplay.TOP))
|
||||
.visible(model.getEmpty());
|
||||
var backgroundStack = new StackComp(List.of(background))
|
||||
.grow(true, true)
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package io.xpipe.app.comp.base;
|
||||
|
||||
import io.xpipe.app.comp.Comp;
|
||||
import io.xpipe.app.comp.CompStructure;
|
||||
import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.comp.SimpleCompStructure;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.util.PlatformThread;
|
||||
|
||||
@@ -18,14 +21,14 @@ import lombok.Value;
|
||||
|
||||
@Value
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ToggleSwitchComp extends SimpleComp {
|
||||
public class ToggleSwitchComp extends Comp<CompStructure<ToggleSwitch>> {
|
||||
|
||||
Property<Boolean> selected;
|
||||
ObservableValue<String> name;
|
||||
ObservableValue<LabelGraphic> graphic;
|
||||
|
||||
@Override
|
||||
protected Region createSimple() {
|
||||
public CompStructure<ToggleSwitch> createBase() {
|
||||
var s = new ToggleSwitch();
|
||||
s.addEventFilter(KeyEvent.KEY_PRESSED, event -> {
|
||||
if (event.getCode() == KeyCode.SPACE || event.getCode() == KeyCode.ENTER) {
|
||||
@@ -52,6 +55,6 @@ public class ToggleSwitchComp extends SimpleComp {
|
||||
.bind(PlatformThread.sync(graphic.map(labelGraphic -> labelGraphic.createGraphicNode())));
|
||||
s.pseudoClassStateChanged(PseudoClass.getPseudoClass("has-graphic"), true);
|
||||
}
|
||||
return s;
|
||||
return new SimpleCompStructure<>(s);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,8 +43,7 @@ public class StoreQuickAccessButtonComp extends Comp<CompStructure<Button>> {
|
||||
var w = section.getWrapper();
|
||||
var graphic = w.getEntry().getEffectiveIconFile();
|
||||
if (c.getList().isEmpty()) {
|
||||
var item = ContextMenuHelper.item(
|
||||
new LabelGraphic.ImageGraphic(graphic, 16), w.getName().getValue());
|
||||
var item = new MenuItem(w.getName().getValue(), new LabelGraphic.ImageGraphic(graphic, 16).createGraphicNode());
|
||||
item.setOnAction(event -> {
|
||||
action.accept(section);
|
||||
contextMenu.hide();
|
||||
|
||||
@@ -130,7 +130,7 @@ public abstract class DataStorage {
|
||||
public void forceRewrite() {
|
||||
TrackEvent.info("Starting forced storage rewrite");
|
||||
getStoreEntries().forEach(dataStoreEntry -> {
|
||||
dataStoreEntry.reassignStore();
|
||||
dataStoreEntry.reassignStoreNode();
|
||||
});
|
||||
TrackEvent.info("Finished forced storage rewrite");
|
||||
}
|
||||
|
||||
@@ -543,7 +543,7 @@ public class DataStoreEntry extends StorageElement {
|
||||
dirty = true;
|
||||
}
|
||||
|
||||
public void reassignStore() {
|
||||
public void reassignStoreNode() {
|
||||
this.storeNode = this.storeNode.withStore(store);
|
||||
dirty = true;
|
||||
}
|
||||
|
||||
@@ -188,7 +188,11 @@ public class AppJacksonModule extends SimpleModule {
|
||||
return null;
|
||||
}
|
||||
|
||||
value = JacksonMapper.getDefault().readValue(new CharArrayReader(secret.getSecret()), type);
|
||||
var s = secret.getSecret();
|
||||
if (s.length == 0) {
|
||||
return null;
|
||||
}
|
||||
value = JacksonMapper.getDefault().readValue(new CharArrayReader(s), type);
|
||||
}
|
||||
var perUser = useCurrentSecretKey;
|
||||
return perUser
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package io.xpipe.app.util;
|
||||
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import javafx.application.Platform;
|
||||
import javafx.geometry.Side;
|
||||
import javafx.scene.Node;
|
||||
@@ -34,8 +35,10 @@ public class ContextMenuHelper {
|
||||
return contextMenu;
|
||||
}
|
||||
|
||||
public static MenuItem item(LabelGraphic graphic, String name) {
|
||||
var i = new MenuItem(name, graphic.createGraphicNode());
|
||||
public static MenuItem item(LabelGraphic graphic, String nameKey) {
|
||||
var i = new MenuItem();
|
||||
i.textProperty().bind(AppI18n.observable(nameKey));
|
||||
i.setGraphic(graphic.createGraphicNode());
|
||||
return i;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
}
|
||||
*/
|
||||
|
||||
* {
|
||||
-fx-icon-color: -color-fg-default;
|
||||
}
|
||||
|
||||
.root:light, .root:dark {
|
||||
-fx-background-color: transparent;
|
||||
}
|
||||
|
||||
6
dist/changelogs/14.0.md
vendored
6
dist/changelogs/14.0.md
vendored
@@ -1,10 +1,10 @@
|
||||
XPipe 14 has been the biggest rework so far and provides an improved user experience, better team features, performance and memory improvements, and fixes to many existing bugs and limitations. It will take some days until the initial rough edges are ironed out, but it will get there eventually. So please make sure to report any issues you find, even the small ones.
|
||||
XPipe 14 is the biggest rework so far and provides an improved user experience, better team features, performance and memory improvements, and fixes to many existing bugs and limitations. It will take some days until the initial rough edges are ironed out, but it will get there eventually. So please make sure to report any issues you find, even the small ones.
|
||||
|
||||
## Team vaults + Reusable identities
|
||||
|
||||
You can now create reusable identities for connections instead of having to enter authentication information for each connection separately. This will also make it easier to handle any authentication changes later on, as only one config has to be changed.
|
||||
|
||||
Furthermore, there is a new encryption mechanism for git vaults, allowing multiple users to have their own private connections and identities in that shared vault by encrypting them with the personal key of the user.
|
||||
Furthermore, there is a new encryption mechanism for git vaults, allowing multiple users to have their own private connections and identities in a shared vault by encrypting them with the personal key of the user.
|
||||
|
||||
You can combine the reusable identities with the new per-user encryption. Essentially, if you mark a certain identity as being for your user only, it will be encrypted with your personal key and won't be accessible to other team users that have access to the vault without knowing your secret. Any connection that uses this per-user identity, will also be encrypted with your personal secret key, also making them only accessible to you. That way you can control who has access to which connections and login information in your team. You can of course also set identities to be global, so that all team users can utilize them.
|
||||
|
||||
@@ -17,11 +17,11 @@ If you have previously used a custom vault passphrase to lock your vault, this w
|
||||
|
||||
## Services
|
||||
|
||||
- The custom service creation has been moved to the top level to make it easier to locate
|
||||
- There is now the option to specify a URL path for services that will be appended when opened in the browser
|
||||
- You can now specify the service type instead of always having to choose between http and https when opening it
|
||||
- Services for containers can now be refreshed from a dedicated button instead of a fixed services entry, saving some vertical display space
|
||||
- Services now show better when they are active or inactive
|
||||
- The custom service creation has been moved to the top level to make it easier to locate
|
||||
|
||||
## File transfers
|
||||
|
||||
|
||||
@@ -72,6 +72,10 @@ public class IdentityMigrationDeserializer extends DelegatingDeserializer {
|
||||
}
|
||||
}
|
||||
|
||||
if (user == null) {
|
||||
user = containerNode.get("username");
|
||||
}
|
||||
|
||||
if (password != null && password.isObject() && identity != null && identity.isObject()) {
|
||||
var identityStore = JsonNodeFactory.instance.objectNode();
|
||||
identityStore.put("type", "localIdentity");
|
||||
@@ -85,6 +89,19 @@ public class IdentityMigrationDeserializer extends DelegatingDeserializer {
|
||||
inPlace.put("type", "inPlace");
|
||||
inPlace.set("identityStore", identityStore);
|
||||
|
||||
containerNode.set("identity", inPlace);
|
||||
} else if (password != null) {
|
||||
var identityStore = JsonNodeFactory.instance.objectNode();
|
||||
identityStore.put("type", "localIdentity");
|
||||
if (user != null && user.isTextual()) {
|
||||
identityStore.set("username", user);
|
||||
}
|
||||
identityStore.set("password", password);
|
||||
|
||||
var inPlace = JsonNodeFactory.instance.objectNode();
|
||||
inPlace.put("type", "inPlace");
|
||||
inPlace.set("identityStore", identityStore);
|
||||
|
||||
containerNode.set("identity", inPlace);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,24 @@
|
||||
package io.xpipe.ext.base.identity;
|
||||
|
||||
import atlantafx.base.theme.Styles;
|
||||
import io.xpipe.app.comp.base.ToggleSwitchComp;
|
||||
import io.xpipe.app.comp.store.StoreEntryWrapper;
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.DataStoreCreationCategory;
|
||||
import io.xpipe.app.ext.GuiDialog;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.app.storage.*;
|
||||
import io.xpipe.app.util.EncryptedValue;
|
||||
import io.xpipe.app.util.OptionsBuilder;
|
||||
import io.xpipe.app.util.SecretRetrievalStrategyHelper;
|
||||
import io.xpipe.app.util.Validator;
|
||||
import io.xpipe.app.util.*;
|
||||
import io.xpipe.core.store.DataStore;
|
||||
import io.xpipe.core.store.FileNames;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.Property;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.geometry.HorizontalDirection;
|
||||
import javafx.scene.control.ContentDisplay;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
|
||||
Binary file not shown.
@@ -73,11 +73,6 @@ error=Der opstod en fejl
|
||||
downloadStageDescription=Flytter downloadede filer til dit systems download-bibliotek og åbner det.
|
||||
ok=Ok
|
||||
search=Søg
|
||||
unlockAlertTitle=Lås arbejdsområdet op
|
||||
unlockUserAlertHeader=Indtast dit team-brugernavn for at fortsætte
|
||||
#custom
|
||||
unlockAlertHeader=Indtast din adgangskode til vaulten for at fortsætte
|
||||
enterLockPassword=Indtast adgangskode til lås
|
||||
repeatPassword=Gentag adgangskode
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Operation, der ikke understøttes: $MSG$
|
||||
@@ -757,10 +752,10 @@ identity.displayDescription=Opret en genanvendelig identitet til forbindelser
|
||||
local=Lokalt
|
||||
shared=Global
|
||||
userDescription=Brugernavn eller foruddefineret identitet til at logge ind som
|
||||
identityPerUserDescription=Gør kun identiteten tilgængelig for den aktuelle vault-bruger
|
||||
identityPerUser=Vault-brugeridentitet
|
||||
identityPerUserDisabled=Vault-brugeridentitet (deaktiveret)
|
||||
identityPerUserDisabledDescription=Gør kun identiteten tilgængelig for den aktuelle vault-bruger (kræver, at teamet konfigureres)
|
||||
identityPerUserDescription=Begræns adgangen til denne identitet og dens tilknyttede forbindelser til kun din bruger
|
||||
identityPerUser=Adgang til personlig identitet
|
||||
identityPerUserDisabled=Adgang til personlig identitet (deaktiveret)
|
||||
identityPerUserDisabledDescription=Begræns adgangen til denne identitet og dens tilknyttede forbindelser til kun din bruger (kræver, at teamet konfigureres)
|
||||
library=Bibliotek
|
||||
location=Placering
|
||||
keyAuthentication=Nøglebaseret autentificering
|
||||
|
||||
@@ -76,10 +76,6 @@ error=Ein Fehler ist aufgetreten
|
||||
downloadStageDescription=Verschiebt heruntergeladene Dateien in das Download-Verzeichnis deines Systems und öffnet sie.
|
||||
ok=Ok
|
||||
search=Suche
|
||||
unlockAlertTitle=Arbeitsbereich freischalten
|
||||
unlockUserAlertHeader=Gib deinen Team-Benutzernamen ein, um fortzufahren
|
||||
unlockAlertHeader=Gib deine Tresor-Passphrase ein, um fortzufahren
|
||||
enterLockPassword=Sperrkennwort eingeben
|
||||
repeatPassword=Passwort wiederholen
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Nicht unterstützte Operation: $MSG$
|
||||
@@ -758,10 +754,10 @@ identity.displayDescription=Eine wiederverwendbare Identität für Verbindungen
|
||||
local=Lokale
|
||||
shared=Global
|
||||
userDescription=Der Benutzername oder die vordefinierte Identität, mit der du dich anmeldest
|
||||
identityPerUserDescription=Identität nur für den aktuellen Tresorbenutzer verfügbar machen
|
||||
identityPerUser=Vault-Benutzeridentität
|
||||
identityPerUserDisabled=Vault-Benutzeridentität (deaktiviert)
|
||||
identityPerUserDisabledDescription=Identität nur für den aktuellen Tresorbenutzer verfügbar machen (erfordert die Konfiguration eines Teams)
|
||||
identityPerUserDescription=Beschränke den Zugriff auf diese Identität und die damit verbundenen Verbindungen nur auf deinen Benutzer
|
||||
identityPerUser=Persönlicher Identitätszugang
|
||||
identityPerUserDisabled=Persönlicher Identitätszugang (deaktiviert)
|
||||
identityPerUserDisabledDescription=Beschränke den Zugriff auf diese Identität und die damit verbundenen Verbindungen nur auf deinen Benutzer (Konfiguration des Teams erforderlich)
|
||||
library=Bibliothek
|
||||
location=Standort
|
||||
keyAuthentication=Schlüsselbasierte Authentifizierung
|
||||
|
||||
@@ -80,10 +80,6 @@ error=An error occurred
|
||||
downloadStageDescription=Moves downloaded files into your system downloads directory and opens it.
|
||||
ok=Ok
|
||||
search=Search
|
||||
unlockAlertTitle=Unlock workspace
|
||||
unlockUserAlertHeader=Enter your team username to continue
|
||||
unlockAlertHeader=Enter your vault passphrase to continue
|
||||
enterLockPassword=Enter lock password
|
||||
repeatPassword=Repeat password
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Unsupported operation: $MSG$
|
||||
@@ -770,10 +766,10 @@ identity.displayDescription=Create a reusable identity for connections
|
||||
local=Local
|
||||
shared=Global
|
||||
userDescription=The username or predefined identity to log in as
|
||||
identityPerUserDescription=Make identity only available to current vault user
|
||||
identityPerUser=Vault user identity
|
||||
identityPerUserDisabled=Vault user identity (disabled)
|
||||
identityPerUserDisabledDescription=Make identity only available to current vault user (Requires team to be configured)
|
||||
identityPerUserDescription=Restrict access to this identity and its associated connections to your user only
|
||||
identityPerUser=Personal identity access
|
||||
identityPerUserDisabled=Personal identity access (disabled)
|
||||
identityPerUserDisabledDescription=Restrict access to this identity and its associated connections to your user only (Requires team to be configured)
|
||||
library=Library
|
||||
location=Location
|
||||
keyAuthentication=Key-based authentication
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Se ha producido un error
|
||||
downloadStageDescription=Mueve los archivos descargados al directorio de descargas de tu sistema y ábrelo.
|
||||
ok=Ok
|
||||
search=Busca en
|
||||
unlockAlertTitle=Desbloquear espacio de trabajo
|
||||
unlockUserAlertHeader=Introduce el nombre de usuario de tu equipo para continuar
|
||||
unlockAlertHeader=Introduce la contraseña de tu bóveda para continuar
|
||||
enterLockPassword=Introducir contraseña de bloqueo
|
||||
repeatPassword=Repetir contraseña
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Operación no admitida: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Crear una identidad reutilizable para las conexiones
|
||||
local=Local
|
||||
shared=Global
|
||||
userDescription=El nombre de usuario o identidad predefinida con la que iniciar sesión
|
||||
identityPerUserDescription=Hacer que la identidad sólo esté disponible para el usuario actual de la bóveda
|
||||
identityPerUser=Identidad de usuario de bóveda
|
||||
identityPerUserDisabled=Identidad de usuario de bóveda (desactivada)
|
||||
identityPerUserDisabledDescription=Hacer que la identidad sólo esté disponible para el usuario actual de la bóveda (Requiere que el equipo esté configurado)
|
||||
identityPerUserDescription=Restringe el acceso a esta identidad y a sus conexiones asociadas sólo a tu usuario
|
||||
identityPerUser=Acceso a la identidad personal
|
||||
identityPerUserDisabled=Acceso a la identidad personal (desactivado)
|
||||
identityPerUserDisabledDescription=Restringe el acceso a esta identidad y a sus conexiones asociadas sólo a tu usuario (Requiere que el equipo esté configurado)
|
||||
library=Biblioteca
|
||||
location=Localización
|
||||
keyAuthentication=Autenticación basada en claves
|
||||
|
||||
@@ -74,10 +74,6 @@ error=Une erreur s'est produite
|
||||
downloadStageDescription=Déplace les fichiers téléchargés dans le répertoire des téléchargements de ton système et l'ouvre.
|
||||
ok=Ok
|
||||
search=Recherche
|
||||
unlockAlertTitle=Déverrouiller l'espace de travail
|
||||
unlockUserAlertHeader=Saisis le nom d'utilisateur de ton équipe pour continuer
|
||||
unlockAlertHeader=Saisis ta phrase d'authentification du coffre-fort pour continuer
|
||||
enterLockPassword=Saisir le mot de passe de la serrure
|
||||
repeatPassword=Répéter le mot de passe
|
||||
#custom
|
||||
askpassAlertTitle=Demande de mot de passe
|
||||
@@ -755,10 +751,10 @@ identity.displayDescription=Créer une identité réutilisable pour les connexio
|
||||
local=Local
|
||||
shared=Global
|
||||
userDescription=Le nom d'utilisateur ou l'identité prédéfinie pour se connecter
|
||||
identityPerUserDescription=Rendre l'identité uniquement accessible à l'utilisateur actuel du coffre-fort
|
||||
identityPerUser=Identité de l'utilisateur de la chambre forte
|
||||
identityPerUserDisabled=Identité de l'utilisateur de la chambre forte (désactivée)
|
||||
identityPerUserDisabledDescription=Faire en sorte que l'identité ne soit accessible qu'à l'utilisateur actuel de la chambre forte (nécessite la configuration de l'équipe)
|
||||
identityPerUserDescription=Limite l'accès à cette identité et à ses connexions associées à ton utilisateur uniquement
|
||||
identityPerUser=Accès à l'identité personnelle
|
||||
identityPerUserDisabled=Accès à l'identité personnelle (désactivé)
|
||||
identityPerUserDisabledDescription=Restreindre l'accès à cette identité et à ses connexions associées à ton utilisateur uniquement (Nécessite la configuration de l'équipe)
|
||||
library=Bibliothèque
|
||||
location=Lieu de travail
|
||||
keyAuthentication=Authentification par clé
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Terjadi kesalahan
|
||||
downloadStageDescription=Memindahkan file yang diunduh ke dalam direktori unduhan sistem dan membukanya.
|
||||
ok=Baik
|
||||
search=Pencarian
|
||||
unlockAlertTitle=Membuka kunci ruang kerja
|
||||
unlockUserAlertHeader=Masukkan nama pengguna tim Anda untuk melanjutkan
|
||||
unlockAlertHeader=Masukkan kata sandi brankas Anda untuk melanjutkan
|
||||
enterLockPassword=Memasukkan kata sandi kunci
|
||||
repeatPassword=Mengulang kata sandi
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Operasi yang tidak didukung: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Membuat identitas yang dapat digunakan kembali untuk
|
||||
local=Lokal
|
||||
shared=Global
|
||||
userDescription=Nama pengguna atau identitas yang telah ditetapkan sebelumnya untuk masuk sebagai
|
||||
identityPerUserDescription=Membuat identitas hanya tersedia untuk pengguna brankas saat ini
|
||||
identityPerUser=Identitas pengguna brankas
|
||||
identityPerUserDisabled=Identitas pengguna Vault (dinonaktifkan)
|
||||
identityPerUserDisabledDescription=Membuat identitas hanya tersedia untuk pengguna vault saat ini (Membutuhkan tim untuk dikonfigurasi)
|
||||
identityPerUserDescription=Batasi akses ke identitas ini dan koneksi terkait hanya untuk pengguna Anda
|
||||
identityPerUser=Akses identitas pribadi
|
||||
identityPerUserDisabled=Akses identitas pribadi (dinonaktifkan)
|
||||
identityPerUserDisabledDescription=Batasi akses ke identitas ini dan koneksi terkait hanya untuk pengguna Anda (Membutuhkan tim untuk dikonfigurasi)
|
||||
library=Perpustakaan
|
||||
location=Lokasi
|
||||
keyAuthentication=Autentikasi berbasis kunci
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Si è verificato un errore
|
||||
downloadStageDescription=Sposta i file scaricati nella directory dei download del sistema e li apre.
|
||||
ok=Ok
|
||||
search=Ricerca
|
||||
unlockAlertTitle=Sbloccare l'area di lavoro
|
||||
unlockUserAlertHeader=Inserisci il nome utente della tua squadra per continuare
|
||||
unlockAlertHeader=Inserisci la passphrase del tuo vault per continuare
|
||||
enterLockPassword=Inserisci la password di blocco
|
||||
repeatPassword=Ripeti la password
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Operazione non supportata: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Creare un'identità riutilizzabile per le connession
|
||||
local=Locale
|
||||
shared=Globale
|
||||
userDescription=Il nome utente o l'identità predefinita con cui effettuare il login
|
||||
identityPerUserDescription=Rendere l'identità disponibile solo all'utente corrente del vault
|
||||
identityPerUser=Identità dell'utente del vault
|
||||
identityPerUserDisabled=Identità utente del vault (disattivata)
|
||||
identityPerUserDisabledDescription=Rendi l'identità disponibile solo per l'utente corrente del vault (Richiede la configurazione del team)
|
||||
identityPerUserDescription=Limita l'accesso a questa identità e alle connessioni ad essa associate solo al tuo utente
|
||||
identityPerUser=Accesso all'identità personale
|
||||
identityPerUserDisabled=Accesso all'identità personale (disabilitato)
|
||||
identityPerUserDisabledDescription=Limita l'accesso a questa identità e alle connessioni associate solo al tuo utente (Richiede la configurazione del team)
|
||||
library=Biblioteca
|
||||
location=Posizione
|
||||
keyAuthentication=Autenticazione basata su chiavi
|
||||
|
||||
@@ -72,10 +72,6 @@ error=エラーが発生した
|
||||
downloadStageDescription=ダウンロードしたファイルをシステムのダウンロード・ディレクトリに移動し、開く。
|
||||
ok=OK
|
||||
search=検索
|
||||
unlockAlertTitle=ワークスペースのロックを解除する
|
||||
unlockUserAlertHeader=チームユーザー名を入力して続ける
|
||||
unlockAlertHeader=保管庫のパスフレーズを入力して続行する
|
||||
enterLockPassword=ロックパスワードを入力する
|
||||
repeatPassword=リピートパスワード
|
||||
askpassAlertTitle=アスクパス
|
||||
unsupportedOperation=サポートされていない操作:$MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=接続用の再利用可能なIDを作成する
|
||||
local=ローカル
|
||||
shared=グローバル
|
||||
userDescription=ログインするためのユーザー名または事前定義されたID
|
||||
identityPerUserDescription=IDを現在の保管庫ユーザーにのみ公開する
|
||||
identityPerUser=VaultユーザーID
|
||||
identityPerUserDisabled=VaultユーザーID(無効)
|
||||
identityPerUserDisabledDescription=IDを現在のデータ保管庫ユーザーのみが使用できるようにする(チームの構成が必要)
|
||||
identityPerUserDescription=このIDおよび関連する接続へのアクセスを、自分のユーザーのみに制限する。
|
||||
identityPerUser=個人IDアクセス
|
||||
identityPerUserDisabled=個人IDアクセス(無効)
|
||||
identityPerUserDisabledDescription=このIDおよび関連する接続へのアクセスを自分のユーザーのみに制限する(チームの設定が必要)
|
||||
library=ライブラリ
|
||||
location=場所
|
||||
keyAuthentication=鍵ベースの認証
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Er is een fout opgetreden
|
||||
downloadStageDescription=Verplaatst gedownloade bestanden naar de downloadmap van je systeem en opent deze.
|
||||
ok=Ok
|
||||
search=Zoeken
|
||||
unlockAlertTitle=Werkruimte ontgrendelen
|
||||
unlockUserAlertHeader=Voer de gebruikersnaam van je team in om verder te gaan
|
||||
unlockAlertHeader=Voer je wachtwoordzin voor de kluis in om verder te gaan
|
||||
enterLockPassword=Wachtwoord voor vergrendeling invoeren
|
||||
repeatPassword=Herhaal wachtwoord
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Niet-ondersteunde bewerking: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Een herbruikbare identiteit maken voor verbindingen
|
||||
local=Lokaal
|
||||
shared=Wereldwijde
|
||||
userDescription=De gebruikersnaam of vooraf gedefinieerde identiteit om als in te loggen
|
||||
identityPerUserDescription=Identiteit alleen beschikbaar maken voor huidige kluisgebruiker
|
||||
identityPerUser=Vault gebruikersidentiteit
|
||||
identityPerUserDisabled=Vault gebruikersidentiteit (uitgeschakeld)
|
||||
identityPerUserDisabledDescription=Identiteit alleen beschikbaar maken voor huidige kluisgebruiker (Vereist dat team geconfigureerd is)
|
||||
identityPerUserDescription=Beperk de toegang tot deze identiteit en de bijbehorende verbindingen tot uw gebruiker
|
||||
identityPerUser=Persoonlijke identiteitstoegang
|
||||
identityPerUserDisabled=Persoonlijke identiteitstoegang (uitgeschakeld)
|
||||
identityPerUserDisabledDescription=Beperk de toegang tot deze identiteit en de bijbehorende verbindingen tot uw gebruiker (team moet worden geconfigureerd)
|
||||
library=Bibliotheek
|
||||
location=Locatie
|
||||
keyAuthentication=Verificatie op basis van sleutels
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Wystąpił błąd
|
||||
downloadStageDescription=Przenosi pobrane pliki do systemowego katalogu pobierania i otwiera go.
|
||||
ok=Ok
|
||||
search=Wyszukaj
|
||||
unlockAlertTitle=Odblokuj obszar roboczy
|
||||
unlockUserAlertHeader=Wprowadź nazwę użytkownika zespołu, aby kontynuować
|
||||
unlockAlertHeader=Wprowadź hasło skarbca, aby kontynuować
|
||||
enterLockPassword=Wprowadź hasło blokady
|
||||
repeatPassword=Powtórz hasło
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Nieobsługiwana operacja: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Utwórz tożsamość wielokrotnego użytku dla poł
|
||||
local=Lokalny
|
||||
shared=Globalny
|
||||
userDescription=Nazwa użytkownika lub predefiniowana tożsamość do zalogowania się jako
|
||||
identityPerUserDescription=Udostępnij tożsamość tylko bieżącemu użytkownikowi skarbca
|
||||
identityPerUser=Tożsamość użytkownika Vault
|
||||
identityPerUserDisabled=Tożsamość użytkownika Vault (wyłączona)
|
||||
identityPerUserDisabledDescription=Udostępnij tożsamość tylko bieżącemu użytkownikowi skarbca (wymaga skonfigurowania zespołu)
|
||||
identityPerUserDescription=Ogranicz dostęp do tej tożsamości i powiązanych z nią połączeń tylko do swojego użytkownika
|
||||
identityPerUser=Dostęp do tożsamości osobistej
|
||||
identityPerUserDisabled=Dostęp do tożsamości osobistej (wyłączony)
|
||||
identityPerUserDisabledDescription=Ogranicz dostęp do tej tożsamości i powiązanych z nią połączeń tylko do swojego użytkownika (wymaga skonfigurowania zespołu)
|
||||
library=Biblioteka
|
||||
location=Lokalizacja
|
||||
keyAuthentication=Uwierzytelnianie oparte na kluczach
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Ocorreu um erro
|
||||
downloadStageDescription=Move os ficheiros transferidos para o diretório de transferências do sistema e abre-o.
|
||||
ok=Ok
|
||||
search=Procura
|
||||
unlockAlertTitle=Desbloqueia o espaço de trabalho
|
||||
unlockUserAlertHeader=Introduz o nome de utilizador da tua equipa para continuar
|
||||
unlockAlertHeader=Introduz a tua frase-chave do cofre para continuar
|
||||
enterLockPassword=Introduzir a palavra-passe do cadeado
|
||||
repeatPassword=Repete a palavra-passe
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Operação não suportada: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Cria uma identidade reutilizável para ligações
|
||||
local=Local
|
||||
shared=Global
|
||||
userDescription=O nome de utilizador ou identidade predefinida para iniciar sessão como
|
||||
identityPerUserDescription=Tornar a identidade disponível apenas para o utilizador atual da abóbada
|
||||
identityPerUser=Identidade do utilizador do cofre
|
||||
identityPerUserDisabled=Identidade do utilizador da caixa-forte (desactivada)
|
||||
identityPerUserDisabledDescription=Tornar a identidade disponível apenas para o utilizador atual da abóbada (requer que a equipa seja configurada)
|
||||
identityPerUserDescription=Restringe o acesso a esta identidade e às ligações associadas apenas ao teu utilizador
|
||||
identityPerUser=Acesso à identidade pessoal
|
||||
identityPerUserDisabled=Acesso à identidade pessoal (desativado)
|
||||
identityPerUserDisabledDescription=Restringir o acesso a esta identidade e às suas ligações associadas apenas ao teu utilizador (requer que a equipa seja configurada)
|
||||
library=Biblioteca
|
||||
location=Localização
|
||||
keyAuthentication=Autenticação baseada em chaves
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Произошла ошибка
|
||||
downloadStageDescription=Перемести скачанные файлы в системный каталог загрузок и открой его.
|
||||
ok=Ок
|
||||
search=Поиск
|
||||
unlockAlertTitle=Разблокировать рабочее пространство
|
||||
unlockUserAlertHeader=Введите имя пользователя вашей команды, чтобы продолжить
|
||||
unlockAlertHeader=Введите парольную фразу своего хранилища, чтобы продолжить
|
||||
enterLockPassword=Введите пароль от замка
|
||||
repeatPassword=Повторять пароль
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Неподдерживаемая операция: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Создайте многоразовую идент
|
||||
local=Локальный
|
||||
shared=Global
|
||||
userDescription=Имя пользователя или предопределенный идентификатор для входа в систему
|
||||
identityPerUserDescription=Сделать идентификацию доступной только для текущего пользователя хранилища
|
||||
identityPerUser=Идентификация пользователя хранилища
|
||||
identityPerUserDisabled=Идентификация пользователя хранилища (отключена)
|
||||
identityPerUserDisabledDescription=Сделать идентификацию доступной только для текущего пользователя хранилища (Требуется настройка команды)
|
||||
identityPerUserDescription=Ограничьте доступ к этому идентификатору и связанным с ним соединениям только для своего пользователя
|
||||
identityPerUser=Доступ к персональной идентификации
|
||||
identityPerUserDisabled=Доступ к персональным данным (отключен)
|
||||
identityPerUserDisabledDescription=Ограничьте доступ к этому идентификатору и связанным с ним соединениям только для своего пользователя (Требуется настройка команды)
|
||||
library=Библиотека
|
||||
location=Расположение
|
||||
keyAuthentication=Аутентификация на основе ключей
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Ett fel inträffade
|
||||
downloadStageDescription=Flyttar nedladdade filer till systemets nedladdningskatalog och öppnar den.
|
||||
ok=Ok
|
||||
search=Sök i
|
||||
unlockAlertTitle=Lås upp arbetsytan
|
||||
unlockUserAlertHeader=Ange ditt användarnamn för att fortsätta
|
||||
unlockAlertHeader=Ange din lösenfras för valvet för att fortsätta
|
||||
enterLockPassword=Ange lösenord för lås
|
||||
repeatPassword=Upprepa lösenord
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Operation som inte stöds: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Skapa en återanvändbar identitet för anslutningar
|
||||
local=Lokalt
|
||||
shared=Global
|
||||
userDescription=Användarnamnet eller den fördefinierade identiteten att logga in som
|
||||
identityPerUserDescription=Gör identiteten tillgänglig endast för aktuell valvanvändare
|
||||
identityPerUser=Vault användaridentitet
|
||||
identityPerUserDisabled=Vault användaridentitet (inaktiverad)
|
||||
identityPerUserDisabledDescription=Gör identiteten tillgänglig endast för den aktuella valvanvändaren (kräver att teamet konfigureras)
|
||||
identityPerUserDescription=Begränsa åtkomsten till denna identitet och dess tillhörande anslutningar till endast din användare
|
||||
identityPerUser=Tillgång till personlig identitet
|
||||
identityPerUserDisabled=Tillgång till personlig identitet (inaktiverad)
|
||||
identityPerUserDisabledDescription=Begränsa åtkomsten till denna identitet och dess associerade anslutningar till endast din användare (kräver att teamet konfigureras)
|
||||
library=Biblioteket
|
||||
location=Plats
|
||||
keyAuthentication=Nyckelbaserad autentisering
|
||||
|
||||
@@ -72,10 +72,6 @@ error=Bir hata oluştu
|
||||
downloadStageDescription=İndirilen dosyaları sisteminizin indirilenler dizinine taşır ve açar.
|
||||
ok=Tamam
|
||||
search=Arama
|
||||
unlockAlertTitle=Çalışma alanının kilidini aç
|
||||
unlockUserAlertHeader=Devam etmek için ekip kullanıcı adınızı girin
|
||||
unlockAlertHeader=Devam etmek için kasa parolanızı girin
|
||||
enterLockPassword=Kilit şifresini girin
|
||||
repeatPassword=Şifreyi tekrarla
|
||||
askpassAlertTitle=Askpass
|
||||
unsupportedOperation=Desteklenmeyen işlem: $MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=Bağlantılar için yeniden kullanılabilir bir kiml
|
||||
local=Yerel
|
||||
shared=Küresel
|
||||
userDescription=Oturum açmak için kullanıcı adı veya önceden tanımlanmış kimlik
|
||||
identityPerUserDescription=Kimliği yalnızca mevcut kasa kullanıcısı için kullanılabilir hale getirin
|
||||
identityPerUser=Kasa kullanıcı kimliği
|
||||
identityPerUserDisabled=Kasa kullanıcı kimliği (devre dışı)
|
||||
identityPerUserDisabledDescription=Kimliği yalnızca geçerli kasa kullanıcısı için kullanılabilir hale getirin (Ekibin yapılandırılmasını gerektirir)
|
||||
identityPerUserDescription=Bu kimliğe ve ilişkili bağlantılarına erişimi yalnızca sizin kullanıcınızla kısıtlayın
|
||||
identityPerUser=Kişisel kimlik erişimi
|
||||
identityPerUserDisabled=Kişisel kimlik erişimi (devre dışı)
|
||||
identityPerUserDisabledDescription=Bu kimliğe ve ilişkili bağlantılarına erişimi yalnızca kullanıcınızla kısıtlayın (Ekibin yapılandırılmasını gerektirir)
|
||||
library=Kütüphane
|
||||
location=Konum
|
||||
keyAuthentication=Anahtar tabanlı kimlik doğrulama
|
||||
|
||||
@@ -72,10 +72,6 @@ error=发生错误
|
||||
downloadStageDescription=将下载的文件移动到系统下载目录并打开。
|
||||
ok=好的
|
||||
search=搜索
|
||||
unlockAlertTitle=解锁工作区
|
||||
unlockUserAlertHeader=输入您的团队用户名以继续
|
||||
unlockAlertHeader=输入保险库密码以继续
|
||||
enterLockPassword=输入锁密码
|
||||
repeatPassword=重复密码
|
||||
askpassAlertTitle=询问密码
|
||||
unsupportedOperation=不支持的操作:$MSG$
|
||||
@@ -734,10 +730,10 @@ identity.displayDescription=为连接创建可重复使用的标识
|
||||
local=本地
|
||||
shared=全球
|
||||
userDescription=登录时使用的用户名或预定义身份
|
||||
identityPerUserDescription=仅向当前保险库用户提供身份信息
|
||||
identityPerUser=保险库用户身份
|
||||
identityPerUserDisabled=保险库用户身份(禁用)
|
||||
identityPerUserDisabledDescription=仅向当前保险库用户提供身份信息(需要配置团队)
|
||||
identityPerUserDescription=仅限您的用户访问此身份及其相关连接
|
||||
identityPerUser=个人身份访问
|
||||
identityPerUserDisabled=个人身份访问(禁用)
|
||||
identityPerUserDisabledDescription=限制只有您的用户才能访问此身份及其相关连接(需要配置团队)
|
||||
library=图书馆
|
||||
location=地点
|
||||
keyAuthentication=基于密钥的身份验证
|
||||
|
||||
Reference in New Issue
Block a user