Various fixes [stage]

This commit is contained in:
crschnick
2025-01-15 12:36:01 +00:00
parent a461831b34
commit 4c4a7d4e19
30 changed files with 125 additions and 148 deletions

View File

@@ -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.

View File

@@ -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 -> {

View File

@@ -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)

View File

@@ -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);
}
}

View File

@@ -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();

View File

@@ -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");
}

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -5,6 +5,10 @@
}
*/
* {
-fx-icon-color: -color-fg-default;
}
.root:light, .root:dark {
-fx-background-color: transparent;
}

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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;

View File

Binary file not shown.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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é

View File

@@ -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

View File

@@ -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

View File

@@ -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=鍵ベースの認証

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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=Аутентификация на основе ключей

View File

@@ -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

View File

@@ -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

View File

@@ -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=基于密钥的身份验证

View File

@@ -1 +1 @@
14.0-78
14.0-79