Rework workspaces

This commit is contained in:
crschnick
2026-03-28 21:44:20 +00:00
parent ad0b5f503c
commit c1e67282e8
25 changed files with 361 additions and 162 deletions
@@ -24,6 +24,7 @@ import io.xpipe.app.issue.TrackEvent;
import io.xpipe.app.platform.PlatformInit;
import io.xpipe.app.platform.PlatformState;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.prefs.WorkspaceManager;
import io.xpipe.app.process.LocalShell;
import io.xpipe.app.pwman.KeePassXcPasswordManager;
import io.xpipe.app.storage.DataStorage;
@@ -109,6 +110,7 @@ public class AppBaseMode extends AppOperationMode {
AppTestCommandCheck.check();
// This might be slow on macOS and might take longer than the platform init
AppPrefs.get().initDefaultValues();
WorkspaceManager.init();
localPrefsLoaded.countDown();
PlatformInit.init(true);
TrackEvent.info("Shell initialization thread completed");
@@ -202,6 +204,7 @@ public class AppBaseMode extends AppOperationMode {
TrackEvent.withInfo("Base mode shutdown started").build();
AbstractAction.reset();
AppMcpServer.reset();
WorkspaceManager.reset();
AppPrefs.reset();
DataStorage.reset();
DataStorageSyncHandler.getInstance().reset();
@@ -1,87 +0,0 @@
package io.xpipe.app.prefs;
import io.xpipe.app.comp.base.ModalButton;
import io.xpipe.app.comp.base.ModalOverlay;
import io.xpipe.app.core.AppFontSizes;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.core.AppProperties;
import io.xpipe.app.core.AppRestart;
import io.xpipe.app.core.window.AppDialog;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.platform.OptionsBuilder;
import io.xpipe.app.util.*;
import javafx.beans.property.SimpleObjectProperty;
import java.nio.file.Path;
public class WorkspaceCreationDialog {
public static void showAsync() {
LicenseProvider.get().getFeature("workspaces").throwIfUnsupported();
ThreadHelper.runFailableAsync(() -> {
show();
});
}
private static void show() {
var base = AppProperties.get().getDataDir().toString();
var name = new SimpleObjectProperty<>("new-workspace");
var path = new SimpleObjectProperty<>(base + "-new-workspace");
name.subscribe((v) -> {
if (v != null && path.get() != null && path.get().startsWith(base)) {
var newPath = path.get().substring(0, base.length()) + "-"
+ v.replaceAll(" ", "-").toLowerCase();
path.set(newPath);
}
});
var content = new OptionsBuilder()
.nameAndDescription("workspaceName")
.addString(name)
.nameAndDescription("workspacePath")
.addString(path)
.buildComp()
.prefWidth(500)
.apply(struc -> AppFontSizes.xs(struc));
var modal = ModalOverlay.of("workspaceCreationAlertTitle", content);
modal.addButton(ModalButton.ok(() -> {
ThreadHelper.runAsync(() -> {
if (name.get() == null || path.get() == null) {
return;
}
try {
var shortcutName = name.get();
var file = DesktopShortcuts.createOpen(
shortcutName,
"open -d \"" + path.get() + "\" --accept-eula",
"-Dio.xpipe.app.dataDir=\"" + path.get() + "\" -Dio.xpipe.app.acceptEula=true");
showConfirmModal(file, Path.of(path.get()));
} catch (Exception e) {
ErrorEventFactory.fromThrowable(e).handle();
}
});
}));
modal.show();
}
private static void showConfirmModal(Path shortcut, Path workspaceDir) {
var modal = ModalOverlay.of(
"workspaceRestartTitle", AppDialog.dialogText(AppI18n.observable("workspaceRestartContent", shortcut)));
modal.addButton(new ModalButton(
"browseShortcut",
() -> {
DesktopHelper.browseFileInDirectory(shortcut);
},
false,
false));
modal.addButton(new ModalButton(
"restart",
() -> {
AppRestart.restart(workspaceDir);
},
true,
true));
modal.show();
}
}
@@ -0,0 +1,16 @@
package io.xpipe.app.prefs;
import lombok.Builder;
import lombok.Value;
import lombok.extern.jackson.Jacksonized;
import java.nio.file.Path;
@Value
@Builder
@Jacksonized
public class WorkspaceEntry {
String name;
Path dir;
}
@@ -0,0 +1,44 @@
package io.xpipe.app.prefs;
import io.xpipe.app.comp.SimpleRegionBuilder;
import io.xpipe.app.comp.base.HorizontalComp;
import io.xpipe.app.comp.base.IconButtonComp;
import io.xpipe.app.comp.base.TileButtonComp;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.platform.LabelGraphic;
import io.xpipe.app.util.DesktopHelper;
import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.scene.layout.Region;
import java.util.List;
public class WorkspaceEntryComp extends SimpleRegionBuilder {
private final WorkspaceEntry workspace;
public WorkspaceEntryComp(WorkspaceEntry workspace) {
this.workspace = workspace;
}
@Override
protected Region createSimple() {
var view = new IconButtonComp(new LabelGraphic.IconGraphic("mdi2f-folder-open-outline"), () -> {
DesktopHelper.browseFile(workspace.getDir());
});
view.describe(d -> d.nameKey("browse"));
var buttons = new HorizontalComp(List.of(view));
var header = workspace.getName() + (workspace.equals(WorkspaceManager.get().getCurrent()) ? " (" + AppI18n.get("active") + ")" : "");
var tile = new TileButtonComp(
new ReadOnlyStringWrapper(header),
new ReadOnlyStringWrapper(workspace.getDir().toString()),
new ReadOnlyStringWrapper("mdal-home_work"),
e -> {
WorkspaceManager.get().open(workspace);
e.consume();
});
tile.setRight(buttons);
tile.setIconSize(1.0);
tile.maxWidth(2000);
return tile.build();
}
}
@@ -0,0 +1,161 @@
package io.xpipe.app.prefs;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.type.TypeFactory;
import io.xpipe.app.comp.base.ModalButton;
import io.xpipe.app.comp.base.ModalOverlay;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.core.AppProperties;
import io.xpipe.app.core.AppRestart;
import io.xpipe.app.core.window.AppDialog;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.platform.OptionsBuilder;
import io.xpipe.app.util.DesktopHelper;
import io.xpipe.app.util.DesktopShortcuts;
import io.xpipe.app.util.LicenseProvider;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.JacksonMapper;
import javafx.beans.property.SimpleObjectProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import lombok.Getter;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
public class WorkspaceManager {
@Getter
private final ObservableList<WorkspaceEntry> workspaces = FXCollections.observableArrayList();
@Getter
private WorkspaceEntry current;
private void load() {
var file = AppProperties.get().getDefaultDataDir().resolve("workspaces.json");
if (Files.exists(file)) {
try {
var type = TypeFactory.defaultInstance().constructType(new TypeReference<List<WorkspaceEntry>>() {});
List<WorkspaceEntry> parsed = JacksonMapper.getDefault().readValue(file.toFile(), type);
for (WorkspaceEntry workspace : parsed) {
if (workspace.getName() == null || workspace.getDir() == null || !Files.exists(workspace.getDir())) {
continue;
}
workspaces.add(workspace);
}
} catch (Exception e) {
ErrorEventFactory.fromThrowable(e).expected().handle();
}
}
var d = AppProperties.get().getDataDir();
var existing = workspaces.stream().filter(workspace -> workspace.getDir().equals(d)).findFirst();
if (existing.isEmpty()) {
var name = d.getFileName().toString().startsWith(".xpipe") ? "Default" : d.getFileName().toString();
current = new WorkspaceEntry(name, d);
workspaces.addFirst(current);
} else {
current = existing.get();
}
}
private void save() {
try {
var file = AppProperties.get().getDefaultDataDir().resolve("workspaces.json");
JacksonMapper.getDefault().writeValue(file.toFile(), workspaces);
} catch (Exception e) {
ErrorEventFactory.fromThrowable(e).expected().handle();
}
}
public void addWorkspace(String name, Path dir) {
workspaces.add(new WorkspaceEntry(name, dir));
save();
try {
var file = DesktopShortcuts.createOpen(name, "open -d \"" + dir + "\" --accept-eula",
"-Dio.xpipe.app.dataDir=\"" + dir + "\" -Dio.xpipe.app.acceptEula=true");
showConfirmModal(file, dir);
} catch (Exception e) {
ErrorEventFactory.fromThrowable(e).expected().handle();
}
}
public void open(WorkspaceEntry workspace) {
if (current.equals(workspace)) {
return;
}
AppRestart.restart(workspace.getDir());
}
private static WorkspaceManager INSTANCE;
public static WorkspaceManager get() {
return INSTANCE;
}
public static void init() {
INSTANCE = new WorkspaceManager();
INSTANCE.load();
}
public static void reset() {
INSTANCE.save();
INSTANCE = null;
}
public void show() {
LicenseProvider.get().getFeature("workspaces").throwIfUnsupported();
var base = AppProperties.get().getDataDir().toString();
var name = new SimpleObjectProperty<>("new-workspace");
var path = new SimpleObjectProperty<>(base + "-new-workspace");
name.subscribe((v) -> {
if (v != null && path.get() != null && path.get().startsWith(base)) {
var newPath = path.get().substring(0, base.length()) + "-"
+ v.replaceAll(" ", "-").toLowerCase();
path.set(newPath);
}
});
var content = new OptionsBuilder()
.nameAndDescription("workspaceName")
.addString(name)
.nameAndDescription("workspacePath")
.addString(path)
.buildComp()
.prefWidth(500);
var modal = ModalOverlay.of("workspaceCreationAlertTitle", content);
modal.addButton(ModalButton.ok(() -> {
ThreadHelper.runAsync(() -> {
if (name.get() == null || path.get() == null) {
return;
}
addWorkspace(name.get(), Path.of(path.get()));
});
}));
modal.show();
}
private void showConfirmModal(Path shortcut, Path workspaceDir) {
var modal = ModalOverlay.of(
"workspaceRestartTitle", AppDialog.dialogText(AppI18n.observable("workspaceRestartContent")));
modal.addButton(new ModalButton(
"browseShortcut",
() -> {
DesktopHelper.browseFileInDirectory(shortcut);
},
false,
false));
modal.addButton(new ModalButton(
"restart",
() -> {
AppRestart.restart(workspaceDir);
},
true,
true));
modal.show();
}
}
@@ -0,0 +1,45 @@
package io.xpipe.app.prefs;
import io.xpipe.app.comp.RegionBuilder;
import io.xpipe.app.comp.SimpleRegionBuilder;
import io.xpipe.app.comp.base.ListBoxViewComp;
import io.xpipe.app.comp.base.TileButtonComp;
import io.xpipe.app.comp.base.VerticalComp;
import io.xpipe.app.core.AppI18n;
import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.collections.FXCollections;
import javafx.scene.layout.Region;
import java.util.List;
public class WorkspaceOverviewComp extends SimpleRegionBuilder {
@Override
protected Region createSimple() {
var list = WorkspaceManager.get().getWorkspaces();
var box = new ListBoxViewComp<>(
list,
list,
s -> {
var comp = new WorkspaceEntryComp(s);
return comp;
},
false);
box.apply(struc -> {
struc.minHeightProperty().bind(((Region) struc.getContent()).heightProperty());
});
var addButton = new TileButtonComp(
AppI18n.observable("addWorkspace"),
AppI18n.observable("addWorkspaceDescription"),
new ReadOnlyStringWrapper("mdrmz-playlist_add"),
e -> {
WorkspaceManager.get().show();
e.consume();
});
addButton.setIconSize(1.0);
addButton.maxWidth(2000);
var vbox = new VerticalComp(List.of(box, RegionBuilder.hseparator(), addButton));
vbox.spacing(10);
return vbox.build();
}
}
@@ -24,10 +24,9 @@ public class WorkspacesCategory extends AppPrefsCategory {
return new OptionsBuilder()
.title("manageWorkspaces")
.sub(new OptionsBuilder()
.nameAndDescription("workspaceAdd")
.nameAndDescription("workspaceManagement")
.licenseRequirement("workspaces")
.addComp(
new ButtonComp(AppI18n.observable("addWorkspace"), WorkspaceCreationDialog::showAsync)))
.addComp(new WorkspaceOverviewComp().maxWidth(getCompWidth())))
.disable(!LicenseProvider.get().getFeature("workspaces").isSupported())
.buildComp();
}
+5 -4
View File
@@ -469,8 +469,9 @@ quickConnect=Hurtig forbindelse
workspaces=Arbejdsområder
manageWorkspaces=Administrer arbejdsområder
addWorkspace=Tilføj arbejdsområde ...
workspaceAdd=Tilføj et nyt arbejdsområde
workspaceAddDescription=Arbejdsområder er forskellige konfigurationer til at køre XPipe. Hvert arbejdsområde har et datakatalog, hvor alle data gemmes lokalt. Dette omfatter forbindelsesdata, indstillinger og meget mere.\n\nHvis du bruger synkroniseringsfunktionen, kan du også vælge at synkronisere hvert arbejdsområde med et forskelligt git-repository.
addWorkspaceDescription=Åbn dialogen til oprettelse af nyt arbejdsområde
workspaceManagement=Administrer arbejdsområder
workspaceManagementDescription=Arbejdsområder er forskellige konfigurationer til at køre XPipe. Hvert arbejdsområde har et datakatalog, hvor alle data gemmes lokalt. Dette omfatter forbindelsesdata, indstillinger og meget mere.\n\nHvis du bruger synkroniseringsfunktionen, kan du også vælge at synkronisere hvert arbejdsområde med et forskelligt git-repository.
workspaceName=Navn på arbejdsområde
workspaceNameDescription=Visningsnavnet på arbejdsområdet
workspacePath=Sti til arbejdsområde
@@ -1925,8 +1926,8 @@ selectCategory=Vælg kategori ...
scriptSourceName=Navn på script
scriptSourceNameDescription=Filnavnet på scriptet i kilden
workspaceRestartTitle=Arbejdsområde klar
workspaceRestartContent=Der blev oprettet en genvej til det nye arbejdsområde på $PATH$. Du kan navigere til genvejen eller genstarte XPipe nu for at åbne det nye arbejdsområde automatisk.
browseShortcut=Gennemse fil
workspaceRestartContent=Det nye arbejdsområde blev oprettet, og der blev oprettet en genvej til det på skrivebordet. Du kan navigere til genvejen eller genstarte XPipe nu for at åbne det nye arbejdsområde automatisk.
browseShortcut=Gennemse genvej
syncModeInstant=Synkroniser med det samme
syncModeSession=Synkronisering ved opstart og afslutning
syncModeManual=Synkroniser manuelt
+5 -4
View File
@@ -476,8 +476,9 @@ quickConnect=Schnellverbindung
workspaces=Arbeitsbereiche
manageWorkspaces=Arbeitsbereiche verwalten
addWorkspace=Arbeitsbereich hinzufügen ...
workspaceAdd=Einen neuen Arbeitsbereich hinzufügen
workspaceAddDescription=Arbeitsbereiche sind unterschiedliche Konfigurationen für die Ausführung von XPipe. Jeder Arbeitsbereich hat ein Datenverzeichnis, in dem alle Daten lokal gespeichert werden. Dazu gehören Verbindungsdaten, Einstellungen und mehr.\n\nWenn du die Synchronisierungsfunktion nutzt, kannst du jeden Arbeitsbereich auch mit einem anderen Git-Repository synchronisieren.
addWorkspaceDescription=Öffnen Sie den Dialog zur Erstellung eines neuen Arbeitsbereichs
workspaceManagement=Arbeitsbereiche verwalten
workspaceManagementDescription=Arbeitsbereiche sind unterschiedliche Konfigurationen für die Ausführung von XPipe. Jeder Arbeitsbereich hat ein Datenverzeichnis, in dem alle Daten lokal gespeichert werden. Dazu gehören Verbindungsdaten, Einstellungen und mehr.\n\nWenn du die Synchronisierungsfunktion nutzt, kannst du jeden Arbeitsbereich auch mit einem anderen Git-Repository synchronisieren.
workspaceName=Name des Arbeitsbereichs
workspaceNameDescription=Der Anzeigename des Arbeitsbereichs
workspacePath=Pfad zum Arbeitsbereich
@@ -1920,8 +1921,8 @@ selectCategory=Kategorie auswählen ...
scriptSourceName=Skriptname
scriptSourceNameDescription=Der Dateiname des Skripts in der Quelle
workspaceRestartTitle=Arbeitsbereich bereit
workspaceRestartContent=Unter $PATH$ wurde eine Verknüpfung zu dem neuen Arbeitsbereich erstellt. Du kannst zu dieser Verknüpfung navigieren oder XPipe jetzt neu starten, um den neuen Arbeitsbereich automatisch zu öffnen.
browseShortcut=Datei durchsuchen
workspaceRestartContent=Der neue Arbeitsbereich wurde erstellt und eine Desktop-Verknüpfung wurde dafür angelegt. Du kannst zu der Verknüpfung navigieren oder XPipe jetzt neu starten, um den neuen Arbeitsbereich automatisch zu öffnen.
browseShortcut=Verknüpfung zum Durchsuchen
syncModeInstant=Sofort synchronisieren
syncModeSession=Synchronisierung beim Starten und Beenden
syncModeManual=Manuell synchronisieren
+5 -4
View File
@@ -483,8 +483,9 @@ quickConnect=Quick connect
workspaces=Workspaces
manageWorkspaces=Manage workspaces
addWorkspace=Add workspace ...
workspaceAdd=Add a new workspace
workspaceAddDescription=Workspaces are distinct configurations for running XPipe. Every workspace has a data directory where all data is stored locally. This includes connection data, settings, and more.\n\nIf you use the synchronization feature, you can also choose to synchronize each workspace with a different git repository.
addWorkspaceDescription=Open the new workspace creation dialog
workspaceManagement=Manage workspaces
workspaceManagementDescription=Workspaces are distinct configurations for running XPipe. Every workspace has a data directory where all data is stored locally. This includes connection data, settings, and more.\n\nIf you use the synchronization feature, you can also choose to synchronize each workspace with a different git repository.
workspaceName=Workspace name
workspaceNameDescription=The display name of the workspace
workspacePath=Workspace path
@@ -1957,8 +1958,8 @@ selectCategory=Select category ...
scriptSourceName=Script name
scriptSourceNameDescription=The file name of the script in the source
workspaceRestartTitle=Workspace ready
workspaceRestartContent=A shortcut to the new workspace was created at $PATH$. You can navigate to the shortcut or restart XPipe now to open the new workspace automatically.
browseShortcut=Browse file
workspaceRestartContent=The new workspace was created and a desktop shortcut was created for it. You can navigate to the shortcut or restart XPipe now to open the new workspace automatically.
browseShortcut=Browse shortcut
syncModeInstant=Sync instantly
syncModeSession=Sync on startup and exit
syncModeManual=Sync manually
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Conexión rápida
workspaces=Espacios de trabajo
manageWorkspaces=Gestionar espacios de trabajo
addWorkspace=Añadir espacio de trabajo ...
workspaceAdd=Añadir un nuevo espacio de trabajo
workspaceAddDescription=Los espacios de trabajo son configuraciones distintas para ejecutar XPipe. Cada espacio de trabajo tiene un directorio de datos donde se almacenan localmente todos los datos. Esto incluye datos de conexión, configuraciones y más.\n\nSi utilizas la función de sincronización, también puedes elegir sincronizar cada espacio de trabajo con un repositorio git diferente.
addWorkspaceDescription=Abrir el diálogo de creación de un nuevo espacio de trabajo
workspaceManagement=Gestionar espacios de trabajo
workspaceManagementDescription=Los espacios de trabajo son configuraciones distintas para ejecutar XPipe. Cada espacio de trabajo tiene un directorio de datos donde se almacenan localmente todos los datos. Esto incluye datos de conexión, configuraciones y más.\n\nSi utilizas la función de sincronización, también puedes elegir sincronizar cada espacio de trabajo con un repositorio git diferente.
workspaceName=Nombre del espacio de trabajo
workspaceNameDescription=El nombre para mostrar del espacio de trabajo
workspacePath=Ruta del espacio de trabajo
@@ -1884,8 +1885,8 @@ selectCategory=Selecciona la categoría ...
scriptSourceName=Nombre del script
scriptSourceNameDescription=El nombre de archivo del script en la fuente
workspaceRestartTitle=Espacio de trabajo preparado
workspaceRestartContent=Se ha creado un acceso directo al nuevo espacio de trabajo en $PATH$. Puedes navegar hasta el acceso directo o reiniciar XPipe ahora para abrir el nuevo espacio de trabajo automáticamente.
browseShortcut=Examinar archivo
workspaceRestartContent=Se ha creado el nuevo espacio de trabajo y se ha creado un acceso directo en el escritorio para él. Puedes navegar hasta el acceso directo o reiniciar XPipe ahora para abrir el nuevo espacio de trabajo automáticamente.
browseShortcut=Acceso directo de navegación
syncModeInstant=Sincronizar al instante
syncModeSession=Sincronizar al iniciar y al salir
syncModeManual=Sincronizar manualmente
+5 -4
View File
@@ -470,8 +470,9 @@ quickConnect=Connexion rapide
workspaces=Espaces de travail
manageWorkspaces=Gérer les espaces de travail
addWorkspace=Ajouter un espace de travail ...
workspaceAdd=Ajouter un nouvel espace de travail
workspaceAddDescription=Les espaces de travail sont des configurations distinctes pour l'exécution de XPipe. Chaque espace de travail possède un répertoire de données où toutes les données sont stockées localement. Cela comprend les données de connexion, les paramètres, et plus encore.\n\nSi tu utilises la fonction de synchronisation, tu peux aussi choisir de synchroniser chaque espace de travail avec un dépôt git différent.
addWorkspaceDescription=Ouvre la boîte de dialogue de création d'un nouvel espace de travail
workspaceManagement=Gérer les espaces de travail
workspaceManagementDescription=Les espaces de travail sont des configurations distinctes pour l'exécution de XPipe. Chaque espace de travail possède un répertoire de données où toutes les données sont stockées localement. Cela comprend les données de connexion, les paramètres, et plus encore.\n\nSi tu utilises la fonction de synchronisation, tu peux aussi choisir de synchroniser chaque espace de travail avec un dépôt git différent.
workspaceName=Nom de l'espace de travail
workspaceNameDescription=Le nom d'affichage de l'espace de travail
workspacePath=Chemin d'accès à l'espace de travail
@@ -1924,8 +1925,8 @@ selectCategory=Sélectionne la catégorie ...
scriptSourceName=Nom du script
scriptSourceNameDescription=Le nom de fichier du script dans la source
workspaceRestartTitle=Espace de travail prêt
workspaceRestartContent=Un raccourci vers le nouvel espace de travail a été créé à l'adresse $PATH$. Tu peux naviguer vers le raccourci ou redémarrer XPipe maintenant pour ouvrir automatiquement le nouvel espace de travail.
browseShortcut=Parcourir le fichier
workspaceRestartContent=Le nouvel espace de travail a été créé et un raccourci sur le bureau a été créé pour lui. Tu peux naviguer vers le raccourci ou redémarrer XPipe maintenant pour ouvrir automatiquement le nouvel espace de travail.
browseShortcut=Raccourci de navigation
syncModeInstant=Synchroniser instantanément
syncModeSession=Synchronisation au démarrage et à la sortie
syncModeManual=Synchroniser manuellement
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Sambungan cepat
workspaces=Ruang kerja
manageWorkspaces=Mengelola ruang kerja
addWorkspace=Menambahkan ruang kerja ...
workspaceAdd=Menambahkan ruang kerja baru
workspaceAddDescription=Ruang kerja adalah konfigurasi yang berbeda untuk menjalankan XPipe. Setiap ruang kerja memiliki direktori data di mana semua data disimpan secara lokal. Ini termasuk data koneksi, pengaturan, dan banyak lagi.\n\nJika Anda menggunakan fitur sinkronisasi, Anda juga dapat memilih untuk menyinkronkan setiap workspace dengan repositori git yang berbeda.
addWorkspaceDescription=Membuka dialog pembuatan ruang kerja baru
workspaceManagement=Mengelola ruang kerja
workspaceManagementDescription=Ruang kerja adalah konfigurasi yang berbeda untuk menjalankan XPipe. Setiap ruang kerja memiliki direktori data di mana semua data disimpan secara lokal. Ini termasuk data koneksi, pengaturan, dan banyak lagi.\n\nJika Anda menggunakan fitur sinkronisasi, Anda juga dapat memilih untuk menyinkronkan setiap workspace dengan repositori git yang berbeda.
workspaceName=Nama ruang kerja
workspaceNameDescription=Nama tampilan ruang kerja
workspacePath=Jalur ruang kerja
@@ -1884,8 +1885,8 @@ selectCategory=Pilih kategori ...
scriptSourceName=Nama skrip
scriptSourceNameDescription=Nama file skrip di dalam sumber
workspaceRestartTitle=Ruang kerja siap
workspaceRestartContent=Pintasan ke ruang kerja baru telah dibuat di $PATH$. Anda dapat menavigasi ke pintasan atau memulai ulang XPipe sekarang untuk membuka ruang kerja baru secara otomatis.
browseShortcut=Menelusuri file
workspaceRestartContent=Ruang kerja baru telah dibuat dan pintasan desktop telah dibuat untuknya. Anda dapat menavigasi ke pintasan atau memulai ulang XPipe sekarang untuk membuka ruang kerja baru secara otomatis.
browseShortcut=Menelusuri pintasan
syncModeInstant=Menyinkronkan secara instan
syncModeSession=Sinkronisasi saat pengaktifan dan keluar
syncModeManual=Menyinkronkan secara manual
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Connessione rapida
workspaces=Spazi di lavoro
manageWorkspaces=Gestire gli spazi di lavoro
addWorkspace=Aggiungi spazio di lavoro ...
workspaceAdd=Aggiungere un nuovo spazio di lavoro
workspaceAddDescription=Gli spazi di lavoro sono configurazioni distinte per l'esecuzione di XPipe. Ogni workspace ha una directory di dati in cui vengono memorizzati tutti i dati a livello locale. Questi includono i dati di connessione, le impostazioni e altro ancora.\n\nSe utilizzi la funzione di sincronizzazione, puoi anche scegliere di sincronizzare ogni workspace con un repository git diverso.
addWorkspaceDescription=Apri la finestra di dialogo per la creazione di un nuovo spazio di lavoro
workspaceManagement=Gestire gli spazi di lavoro
workspaceManagementDescription=Gli spazi di lavoro sono configurazioni distinte per l'esecuzione di XPipe. Ogni workspace ha una directory di dati in cui vengono memorizzati tutti i dati a livello locale. Questi includono i dati di connessione, le impostazioni e altro ancora.\n\nSe utilizzi la funzione di sincronizzazione, puoi anche scegliere di sincronizzare ogni workspace con un repository git diverso.
workspaceName=Nome dello spazio di lavoro
workspaceNameDescription=Il nome di visualizzazione dell'area di lavoro
workspacePath=Percorso dello spazio di lavoro
@@ -1884,8 +1885,8 @@ selectCategory=Seleziona la categoria ...
scriptSourceName=Nome dello script
scriptSourceNameDescription=Il nome del file dello script nel sorgente
workspaceRestartTitle=Spazio di lavoro pronto
workspaceRestartContent=All'indirizzo $PATH$ è stato creato un collegamento al nuovo spazio di lavoro. Puoi navigare verso il collegamento o riavviare XPipe per aprire automaticamente il nuovo spazio di lavoro.
browseShortcut=Sfogliare un file
workspaceRestartContent=Il nuovo spazio di lavoro è stato creato e per esso è stato creato un collegamento sul desktop. Puoi navigare verso il collegamento o riavviare XPipe per aprire automaticamente il nuovo spazio di lavoro.
browseShortcut=Scorciatoia di navigazione
syncModeInstant=Sincronizzazione istantanea
syncModeSession=Sincronizzazione all'avvio e all'uscita
syncModeManual=Sincronizzazione manuale
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=クイックコネクト
workspaces=ワークスペース
manageWorkspaces=ワークスペースを管理する
addWorkspace=ワークスペースを追加する
workspaceAdd=新しいワークスペースを追加する
workspaceAddDescription=ワークスペースは、XPipeを実行するための個別の設定である。すべてのワークスペースには、すべてのデータがローカルに保存されるデータ・ディレクトリがある。これには、接続データや設定などが含まれる。\n\n同期機能を使えば、ワークスペースごとに異なるgitリポジトリと同期させることもできる。
addWorkspaceDescription=新しいワークスペースの作成ダイアログを開く
workspaceManagement=ワークスペースを管理する
workspaceManagementDescription=ワークスペースは、XPipeを実行するための個別の設定である。すべてのワークスペースには、すべてのデータがローカルに保存されるデータ・ディレクトリがある。これには、接続データや設定などが含まれる。\n\n同期機能を使えば、ワークスペースごとに異なるgitリポジトリと同期させることもできる。
workspaceName=ワークスペース名
workspaceNameDescription=ワークスペースの表示名
workspacePath=ワークスペースのパス
@@ -1884,8 +1885,8 @@ selectCategory=カテゴリを選択する
scriptSourceName=スクリプト名
scriptSourceNameDescription=ソース中のスクリプトのファイル名
workspaceRestartTitle=ワークスペースの準備
workspaceRestartContent=新しいワークスペースへのショートカットが$PATH$ に作成された。このショートカットに移動するか、XPipeを再起動すると、新しいワークスペースが自動的に開く。
browseShortcut=ファイルをブラウズする
workspaceRestartContent=新しいワークスペースが作成され、デスクトップにショートカットが作成された。ショートカットに移動するか、XPipeを再起動すると、新しいワークスペースが自動的に開く。
browseShortcut=ブラウズショートカット
syncModeInstant=瞬時に同期する
syncModeSession=起動時と終了時に同期する
syncModeManual=手動で同期する
+5 -4
View File
@@ -476,8 +476,9 @@ quickConnect=빠른 연결
workspaces=작업 공간
manageWorkspaces=작업 공간 관리
addWorkspace=작업 공간 추가 ...
workspaceAdd=새 작업 공간 추가
workspaceAddDescription=워크스페이스는 XPipe를 실행하기 위한 별도의 구성입니다. 모든 워크스페이스에는 모든 데이터가 로컬로 저장되는 데이터 디렉터리가 있습니다. 여기에는 연결 데이터, 설정 등이 포함됩니다.\n\n동기화 기능을 사용하는 경우 각 워크스페이스를 다른 git 리포지토리와 동기화하도록 선택할 수도 있습니다.
addWorkspaceDescription=새 작업 공간 생성 대화상자 열기
workspaceManagement=작업 공간 관리
workspaceManagementDescription=워크스페이스는 XPipe를 실행하기 위한 별도의 구성입니다. 모든 워크스페이스에는 모든 데이터가 로컬로 저장되는 데이터 디렉터리가 있습니다. 여기에는 연결 데이터, 설정 등이 포함됩니다.\n\n동기화 기능을 사용하는 경우 각 워크스페이스를 다른 git 리포지토리와 동기화하도록 선택할 수도 있습니다.
workspaceName=작업 공간 이름
workspaceNameDescription=작업 공간의 표시 이름
workspacePath=작업 공간 경로
@@ -1937,8 +1938,8 @@ selectCategory=카테고리 선택 ...
scriptSourceName=스크립트 이름
scriptSourceNameDescription=소스에 있는 스크립트의 파일 이름
workspaceRestartTitle=작업 공간 준비
workspaceRestartContent=새 작업 공간에 대한 바로 가기가 $PATH$ 에 만들어졌습니다. 바로 가기로 이동하거나 지금 XPipe를 다시 시작하면 새 작업 영역이 자동으로 열립니다.
browseShortcut=파일 찾아보기
workspaceRestartContent=새 작업 영역이 만들어졌고 이에 대한 바탕 화면 바로 가기가 만들어졌습니다. 바로 가기로 이동하거나 지금 XPipe를 다시 시작하면 새 작업 공간이 자동으로 열립니다.
browseShortcut=찾아보기 바로 가
syncModeInstant=즉시 동기화
syncModeSession=시작 및 종료 시 동기화
syncModeManual=수동으로 동기화
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Snel verbinding maken
workspaces=Werkruimten
manageWorkspaces=Werkruimten beheren
addWorkspace=Werkruimte toevoegen ...
workspaceAdd=Een nieuwe werkruimte toevoegen
workspaceAddDescription=Workspaces zijn verschillende configuraties voor het uitvoeren van XPipe. Elke workspace heeft een datamap waar alle gegevens lokaal worden opgeslagen. Dit omvat verbindingsgegevens, instellingen en meer.\n\nAls je de synchronisatiefunctie gebruikt, kun je er ook voor kiezen om elke workspace met een andere git repository te synchroniseren.
addWorkspaceDescription=Open het dialoogvenster voor het maken van een nieuwe werkruimte
workspaceManagement=Werkruimten beheren
workspaceManagementDescription=Workspaces zijn verschillende configuraties voor het uitvoeren van XPipe. Elke workspace heeft een datamap waar alle gegevens lokaal worden opgeslagen. Dit omvat verbindingsgegevens, instellingen en meer.\n\nAls je de synchronisatiefunctie gebruikt, kun je er ook voor kiezen om elke workspace met een andere git repository te synchroniseren.
workspaceName=Naam werkruimte
workspaceNameDescription=De weergavenaam van de werkruimte
workspacePath=Werkruimte pad
@@ -1884,8 +1885,8 @@ selectCategory=Selecteer categorie ...
scriptSourceName=Scriptnaam
scriptSourceNameDescription=De bestandsnaam van het script in de bron
workspaceRestartTitle=Werkruimte gereed
workspaceRestartContent=Er is een snelkoppeling naar de nieuwe werkruimte gemaakt op $PATH$. Je kunt naar de snelkoppeling navigeren of XPipe nu opnieuw starten om de nieuwe werkruimte automatisch te openen.
browseShortcut=Bestand doorbladeren
workspaceRestartContent=De nieuwe werkruimte is gemaakt en er is een snelkoppeling op het bureaublad voor gemaakt. Je kunt nu naar de snelkoppeling navigeren of XPipe opnieuw starten om de nieuwe werkruimte automatisch te openen.
browseShortcut=Snelkoppeling bladeren
syncModeInstant=Direct synchroniseren
syncModeSession=Synchroniseren bij opstarten en afsluiten
syncModeManual=Handmatig synchroniseren
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Szybkie połączenie
workspaces=Przestrzenie robocze
manageWorkspaces=Zarządzaj obszarami roboczymi
addWorkspace=Dodaj obszar roboczy ...
workspaceAdd=Dodaj nowy obszar roboczy
workspaceAddDescription=Przestrzenie robocze są odrębnymi konfiguracjami do uruchamiania XPipe. Każdy obszar roboczy ma katalog danych, w którym wszystkie dane są przechowywane lokalnie. Obejmuje to dane połączenia, ustawienia i inne.\n\nJeśli korzystasz z funkcji synchronizacji, możesz również zsynchronizować każdy obszar roboczy z innym repozytorium git.
addWorkspaceDescription=Otwórz okno dialogowe tworzenia nowego obszaru roboczego
workspaceManagement=Zarządzaj obszarami roboczymi
workspaceManagementDescription=Przestrzenie robocze są odrębnymi konfiguracjami do uruchamiania XPipe. Każdy obszar roboczy ma katalog danych, w którym wszystkie dane są przechowywane lokalnie. Obejmuje to dane połączenia, ustawienia i inne.\n\nJeśli korzystasz z funkcji synchronizacji, możesz również zsynchronizować każdy obszar roboczy z innym repozytorium git.
workspaceName=Nazwa obszaru roboczego
workspaceNameDescription=Wyświetlana nazwa obszaru roboczego
workspacePath=Ścieżka obszaru roboczego
@@ -1885,8 +1886,8 @@ selectCategory=Wybierz kategorię ...
scriptSourceName=Nazwa skryptu
scriptSourceNameDescription=Nazwa pliku skryptu w źródle
workspaceRestartTitle=Gotowy obszar roboczy
workspaceRestartContent=Skrót do nowego obszaru roboczego został utworzony na stronie $PATH$. Możesz przejść do skrótu lub ponownie uruchomić XPipe, aby automatycznie otworzyć nowy obszar roboczy.
browseShortcut=Przeglądaj plik
workspaceRestartContent=Nowy obszar roboczy został utworzony i utworzono dla niego skrót na pulpicie. Możesz przejść do skrótu lub ponownie uruchomić XPipe, aby automatycznie otworzyć nowy obszar roboczy.
browseShortcut=Skrót przeglądania
syncModeInstant=Natychmiastowa synchronizacja
syncModeSession=Synchronizuj przy uruchomieniu i wyjściu
syncModeManual=Synchronizuj ręcznie
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Ligação rápida
workspaces=Espaços de trabalho
manageWorkspaces=Gere espaços de trabalho
addWorkspace=Adiciona um espaço de trabalho ...
workspaceAdd=Adiciona um novo espaço de trabalho
workspaceAddDescription=Workspaces são configurações distintas para executar o XPipe. Cada espaço de trabalho tem um diretório de dados onde todos os dados são armazenados localmente. Isto inclui dados de ligação, definições e muito mais.\n\nSe utilizares a funcionalidade de sincronização, também podes optar por sincronizar cada espaço de trabalho com um repositório git diferente.
addWorkspaceDescription=Abre a caixa de diálogo de criação de um novo espaço de trabalho
workspaceManagement=Gere espaços de trabalho
workspaceManagementDescription=Workspaces são configurações distintas para executar o XPipe. Cada espaço de trabalho tem um diretório de dados onde todos os dados são armazenados localmente. Isto inclui dados de ligação, definições e muito mais.\n\nSe utilizares a funcionalidade de sincronização, também podes optar por sincronizar cada espaço de trabalho com um repositório git diferente.
workspaceName=Nome do espaço de trabalho
workspaceNameDescription=O nome de apresentação do espaço de trabalho
workspacePath=Caminho do espaço de trabalho
@@ -1884,8 +1885,8 @@ selectCategory=Selecionar categoria ...
scriptSourceName=Nome do script
scriptSourceNameDescription=O nome do ficheiro do script na fonte
workspaceRestartTitle=Prepara o espaço de trabalho
workspaceRestartContent=Foi criado um atalho para o novo espaço de trabalho em $PATH$. Podes navegar para o atalho ou reiniciar o XPipe agora para abrir automaticamente o novo espaço de trabalho.
browseShortcut=Procurar ficheiro
workspaceRestartContent=O novo espaço de trabalho foi criado e foi criado um atalho no ambiente de trabalho para ele. Podes navegar para o atalho ou reiniciar o XPipe agora para abrir o novo espaço de trabalho automaticamente.
browseShortcut=Atalho de navegação
syncModeInstant=Sincroniza instantaneamente
syncModeSession=Sincroniza no arranque e na saída
syncModeManual=Sincroniza manualmente
+5 -4
View File
@@ -504,8 +504,9 @@ quickConnect=Быстрое подключение
workspaces=Рабочие пространства
manageWorkspaces=Управляй рабочими пространствами
addWorkspace=Добавь рабочее пространство ...
workspaceAdd=Добавьте новое рабочее пространство
workspaceAddDescription=Рабочие пространства - это отдельные конфигурации для запуска XPipe. В каждом рабочем пространстве есть каталог данных, где все данные хранятся локально. Сюда входят данные о соединениях, настройки и многое другое.\n\nЕсли ты используешь функцию синхронизации, ты также можешь выбрать синхронизацию каждого рабочего пространства с отдельным git-репозиторием.
addWorkspaceDescription=Откройте диалог создания нового рабочего пространства
workspaceManagement=Управляй рабочими пространствами
workspaceManagementDescription=Рабочие пространства - это отдельные конфигурации для запуска XPipe. В каждом рабочем пространстве есть каталог данных, где все данные хранятся локально. Сюда входят данные о соединениях, настройки и многое другое.\n\nЕсли ты используешь функцию синхронизации, ты также можешь выбрать синхронизацию каждого рабочего пространства с отдельным git-репозиторием.
workspaceName=Имя рабочей области
workspaceNameDescription=Отображаемое имя рабочей области
workspacePath=Путь к рабочему пространству
@@ -1996,8 +1997,8 @@ selectCategory=Выберите категорию ...
scriptSourceName=Имя скрипта
scriptSourceNameDescription=Имя файла скрипта в исходнике
workspaceRestartTitle=Рабочее пространство готово
workspaceRestartContent=Ярлык новой рабочей области был создан по адресу $PATH$. Ты можешь перейти по этому ярлыку или перезапустить XPipe прямо сейчас, чтобы новая рабочая область открылась автоматически.
browseShortcut=Просмотр файла
workspaceRestartContent=Новая рабочая область была создана, и для нее был создан ярлык на рабочем столе. Ты можешь перейти на ярлык или перезапустить XPipe прямо сейчас, чтобы новая рабочая область открылась автоматически.
browseShortcut=Ярлык для просмотра
syncModeInstant=Синхронизируй мгновенно
syncModeSession=Синхронизация при запуске и выходе
syncModeManual=Синхронизировать вручную
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Snabb anslutning
workspaces=Arbetsytor
manageWorkspaces=Hantera arbetsytor
addWorkspace=Lägg till arbetsyta ...
workspaceAdd=Lägga till en ny arbetsyta
workspaceAddDescription=Arbetsytor är distinkta konfigurationer för att köra XPipe. Varje arbetsyta har en datakatalog där all data lagras lokalt. Detta inkluderar anslutningsdata, inställningar och mer.\n\nOm du använder synkroniseringsfunktionen kan du också välja att synkronisera varje arbetsyta med ett annat git-repository.
addWorkspaceDescription=Öppna dialogrutan för att skapa en ny arbetsyta
workspaceManagement=Hantera arbetsytor
workspaceManagementDescription=Arbetsytor är distinkta konfigurationer för att köra XPipe. Varje arbetsyta har en datakatalog där all data lagras lokalt. Detta inkluderar anslutningsdata, inställningar och mer.\n\nOm du använder synkroniseringsfunktionen kan du också välja att synkronisera varje arbetsyta med ett annat git-repository.
workspaceName=Arbetsytans namn
workspaceNameDescription=Visningsnamnet för arbetsytan
workspacePath=Sökväg till arbetsytan
@@ -1884,8 +1885,8 @@ selectCategory=Välj kategori ...
scriptSourceName=Namn på skript
scriptSourceNameDescription=Filnamnet på skriptet i källan
workspaceRestartTitle=Arbetsytan är klar
workspaceRestartContent=En genväg till den nya arbetsytan har skapats på $PATH$. Du kan navigera till genvägen eller starta om XPipe nu för att öppna den nya arbetsytan automatiskt.
browseShortcut=Bläddra i fil
workspaceRestartContent=Den nya arbetsytan skapades och en genväg på skrivbordet skapades för den. Du kan navigera till genvägen eller starta om XPipe nu för att öppna den nya arbetsytan automatiskt.
browseShortcut=Genväg till bläddring
syncModeInstant=Synkronisera direkt
syncModeSession=Synkronisera vid start och avslut
syncModeManual=Synkronisera manuellt
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Hızlı bağlantı
workspaces=Çalışma Alanları
manageWorkspaces=Çalışma alanlarını yönetme
addWorkspace=Çalışma alanı ekle ...
workspaceAdd=Yeni bir çalışma alanı ekleme
workspaceAddDescription=Çalışma alanları XPipe'ı çalıştırmak için farklı konfigürasyonlardır. Her çalışma alanı, tüm verilerin yerel olarak depolandığı bir veri dizinine sahiptir. Buna bağlantı verileri, ayarlar ve daha fazlası dahildir.\n\nSenkronizasyon özelliğini kullanırsanız, her çalışma alanını farklı bir git deposu ile senkronize etmeyi de seçebilirsiniz.
addWorkspaceDescription=Yeni çalışma alanı oluşturma iletişim kutusunu açın
workspaceManagement=Çalışma alanlarını yönetme
workspaceManagementDescription=Çalışma alanları XPipe'ı çalıştırmak için farklı konfigürasyonlardır. Her çalışma alanı, tüm verilerin yerel olarak depolandığı bir veri dizinine sahiptir. Buna bağlantı verileri, ayarlar ve daha fazlası dahildir.\n\nSenkronizasyon özelliğini kullanırsanız, her çalışma alanını farklı bir git deposu ile senkronize etmeyi de seçebilirsiniz.
workspaceName=Çalışma alanı adı
workspaceNameDescription=Çalışma alanının görünen adı
workspacePath=Çalışma alanı yolu
@@ -1884,8 +1885,8 @@ selectCategory=Kategori seçin ...
scriptSourceName=Komut dosyası adı
scriptSourceNameDescription=Kaynaktaki betiğin dosya adı
workspaceRestartTitle=Çalışma alanı hazır
workspaceRestartContent=Yeni çalışma alanı için $PATH$ adresinde bir kısayol oluşturulmuştur. Yeni çalışma alanını otomatik olarak açmak için kısayola gidebilir veya XPipe'ı şimdi yeniden başlatabilirsiniz.
browseShortcut=Dosyaya göz at
workspaceRestartContent=Yeni çalışma alanı oluşturuldu ve bunun için bir masaüstü kısayolu oluşturuldu. Yeni çalışma alanını otomatik olarak açmak için kısayola gidebilir veya XPipe'ı şimdi yeniden başlatabilirsiniz.
browseShortcut=Gözat kısayolu
syncModeInstant=Anında senkronize edin
syncModeSession=Başlangıçta ve çıkışta senkronizasyon
syncModeManual=Manuel olarak senkronize edin
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=Kết nối nhanh
workspaces=Không gian làm việc
manageWorkspaces=Quản lý không gian làm việc
addWorkspace=Thêm không gian làm việc ...
workspaceAdd=Thêm một không gian làm việc mới
workspaceAddDescription=Các không gian làm việc là các cấu hình riêng biệt để chạy XPipe. Mỗi không gian làm việc có một thư mục dữ liệu nơi tất cả dữ liệu được lưu trữ cục bộ. Điều này bao gồm dữ liệu kết nối, cài đặt và nhiều hơn nữa.\n\nNếu bạn sử dụng tính năng đồng bộ hóa, bạn cũng có thể chọn đồng bộ hóa mỗi không gian làm việc với một kho lưu trữ Git khác nhau.
addWorkspaceDescription=Mở hộp thoại tạo không gian làm việc mới
workspaceManagement=Quản lý không gian làm việc
workspaceManagementDescription=Các không gian làm việc là những cấu hình riêng biệt để chạy XPipe. Mỗi không gian làm việc đều có một thư mục dữ liệu, nơi lưu trữ tất cả dữ liệu tại máy. Điều này bao gồm dữ liệu kết nối, cài đặt và nhiều thứ khác.\n\nNếu cậu sử dụng tính năng đồng bộ hóa, cậu cũng có thể chọn đồng bộ hóa từng không gian làm việc với một kho lưu trữ Git khác nhau.
workspaceName=Tên không gian làm việc
workspaceNameDescription=Tên hiển thị của không gian làm việc
workspacePath=Đường dẫn không gian làm việc
@@ -1884,8 +1885,8 @@ selectCategory=Chọn danh mục ...
scriptSourceName=Tên kịch bản
scriptSourceNameDescription=Tên tệp của script trong nguồn
workspaceRestartTitle=Không gian làm việc đã sẵn sàng
workspaceRestartContent=Một lối tắt đến không gian làm việc mới đã được tạo tại $PATH$. Cậu có thể truy cập vào lối tắt này hoặc khởi động lại XPipe ngay bây giờ để mở không gian làm việc mới tự động.
browseShortcut=Duyệt tệp
workspaceRestartContent=Không gian làm việc mới đã được tạo và một lối tắt trên màn hình cũng đã được tạo sẵn. Cậu có thể nhấp vào lối tắt đó hoặc khởi động lại XPipe ngay bây giờ để tự động mở không gian làm việc mới.
browseShortcut=Lối tắt Duyệt
syncModeInstant=Đồng bộ hóa ngay lập tức
syncModeSession=Đồng bộ hóa khi khởi động và tắt ứng dụng
syncModeManual=Đồng bộ hóa thủ công
+5 -4
View File
@@ -639,8 +639,9 @@ quickConnect=快速连接
workspaces=工作区
manageWorkspaces=管理工作区
addWorkspace=添加工作区 ...
workspaceAdd=添加新工作区
workspaceAddDescription=工作区是运行 XPipe 的不同配置。每个工作区都有一个数据目录,本地存储所有数据。其中包括连接数据、设置等。\n\n如果使用同步功能,您还可以选择将每个工作区与不同的 git 仓库同步。
addWorkspaceDescription=打开创建新工作区对话框
workspaceManagement=管理工作区
workspaceManagementDescription=工作区是运行 XPipe 的不同配置。每个工作区都有一个数据目录,本地存储所有数据。其中包括连接数据、设置等。\n\n如果使用同步功能,您还可以选择将每个工作区与不同的 git 仓库同步。
workspaceName=工作区名称
workspaceNameDescription=工作区的显示名称
workspacePath=工作区路径
@@ -2508,8 +2509,8 @@ selectCategory=选择类别 ...
scriptSourceName=脚本名称
scriptSourceNameDescription=源代码中脚本的文件名
workspaceRestartTitle=工作区就绪
workspaceRestartContent=新工作区的快捷方式已在$PATH$ 上创建。您可以导航到该快捷方式或重新启动 XPipe,以自动打开新工作区。
browseShortcut=浏览文件
workspaceRestartContent=新工作区已创建,并为其创建了桌面快捷方式。您可以导航到该快捷方式或重新启动 XPipe,以自动打开新工作区。
browseShortcut=浏览快捷方式
syncModeInstant=即时同步
syncModeSession=启动和退出时同步
syncModeManual=手动同步
+5 -4
View File
@@ -458,8 +458,9 @@ quickConnect=快速連線
workspaces=工作區
manageWorkspaces=管理工作區
addWorkspace=新增工作區 ...
workspaceAdd=新增工作區
workspaceAddDescription=工作區是執行 XPipe 的獨特配置。每個工作區都有一個資料目錄,所有資料都儲存在本機中。這包括連線資料、設定等。\n\n如果您使用同步功能,也可以選擇將每個工作區與不同的 git 儲存庫同步。
addWorkspaceDescription=開啟新工作區建立對話框
workspaceManagement=管理工作區
workspaceManagementDescription=工作區是執行 XPipe 的獨特配置。每個工作區都有一個資料目錄,所有資料都儲存在本機中。這包括連線資料、設定等。\n\n如果您使用同步功能,也可以選擇將每個工作區與不同的 git 儲存庫同步。
workspaceName=工作區名稱
workspaceNameDescription=工作區的顯示名稱
workspacePath=工作區路徑
@@ -1884,8 +1885,8 @@ selectCategory=選擇類別 ...
scriptSourceName=腳本名稱
scriptSourceNameDescription=原始碼中腳本的檔案名稱
workspaceRestartTitle=工作區就緒
workspaceRestartContent=新工作區的捷徑已在$PATH$ 建立。您可以導航到捷徑或立即重新啟動 XPipe,以自動開啟新工作區。
browseShortcut=瀏覽檔案
workspaceRestartContent=新工作區已建立,並為其建立桌面捷徑。您可以導航到捷徑,或現在重新啟動 XPipe,以自動開啟新工作區。
browseShortcut=瀏覽捷徑
syncModeInstant=即時同步
syncModeSession=啟動和退出時同步
syncModeManual=手動同步