From c1e67282e87aec34e4e0d69568c75aa003eec568 Mon Sep 17 00:00:00 2001 From: crschnick Date: Sat, 28 Mar 2026 21:44:20 +0000 Subject: [PATCH] Rework workspaces --- .../io/xpipe/app/core/mode/AppBaseMode.java | 3 + .../app/prefs/WorkspaceCreationDialog.java | 87 ---------- .../io/xpipe/app/prefs/WorkspaceEntry.java | 16 ++ .../xpipe/app/prefs/WorkspaceEntryComp.java | 44 +++++ .../io/xpipe/app/prefs/WorkspaceManager.java | 161 ++++++++++++++++++ .../app/prefs/WorkspaceOverviewComp.java | 45 +++++ .../xpipe/app/prefs/WorkspacesCategory.java | 5 +- lang/strings/translations_da.properties | 9 +- lang/strings/translations_de.properties | 9 +- lang/strings/translations_en.properties | 9 +- lang/strings/translations_es.properties | 9 +- lang/strings/translations_fr.properties | 9 +- lang/strings/translations_id.properties | 9 +- lang/strings/translations_it.properties | 9 +- lang/strings/translations_ja.properties | 9 +- lang/strings/translations_ko.properties | 9 +- lang/strings/translations_nl.properties | 9 +- lang/strings/translations_pl.properties | 9 +- lang/strings/translations_pt.properties | 9 +- lang/strings/translations_ru.properties | 9 +- lang/strings/translations_sv.properties | 9 +- lang/strings/translations_tr.properties | 9 +- lang/strings/translations_vi.properties | 9 +- lang/strings/translations_zh-Hans.properties | 9 +- lang/strings/translations_zh-Hant.properties | 9 +- 25 files changed, 361 insertions(+), 162 deletions(-) delete mode 100644 app/src/main/java/io/xpipe/app/prefs/WorkspaceCreationDialog.java create mode 100644 app/src/main/java/io/xpipe/app/prefs/WorkspaceEntry.java create mode 100644 app/src/main/java/io/xpipe/app/prefs/WorkspaceEntryComp.java create mode 100644 app/src/main/java/io/xpipe/app/prefs/WorkspaceManager.java create mode 100644 app/src/main/java/io/xpipe/app/prefs/WorkspaceOverviewComp.java diff --git a/app/src/main/java/io/xpipe/app/core/mode/AppBaseMode.java b/app/src/main/java/io/xpipe/app/core/mode/AppBaseMode.java index 74187a624..21ae8f84c 100644 --- a/app/src/main/java/io/xpipe/app/core/mode/AppBaseMode.java +++ b/app/src/main/java/io/xpipe/app/core/mode/AppBaseMode.java @@ -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(); diff --git a/app/src/main/java/io/xpipe/app/prefs/WorkspaceCreationDialog.java b/app/src/main/java/io/xpipe/app/prefs/WorkspaceCreationDialog.java deleted file mode 100644 index f51b09c65..000000000 --- a/app/src/main/java/io/xpipe/app/prefs/WorkspaceCreationDialog.java +++ /dev/null @@ -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(); - } -} diff --git a/app/src/main/java/io/xpipe/app/prefs/WorkspaceEntry.java b/app/src/main/java/io/xpipe/app/prefs/WorkspaceEntry.java new file mode 100644 index 000000000..29511da14 --- /dev/null +++ b/app/src/main/java/io/xpipe/app/prefs/WorkspaceEntry.java @@ -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; +} diff --git a/app/src/main/java/io/xpipe/app/prefs/WorkspaceEntryComp.java b/app/src/main/java/io/xpipe/app/prefs/WorkspaceEntryComp.java new file mode 100644 index 000000000..f533133f7 --- /dev/null +++ b/app/src/main/java/io/xpipe/app/prefs/WorkspaceEntryComp.java @@ -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(); + } +} diff --git a/app/src/main/java/io/xpipe/app/prefs/WorkspaceManager.java b/app/src/main/java/io/xpipe/app/prefs/WorkspaceManager.java new file mode 100644 index 000000000..3779987f6 --- /dev/null +++ b/app/src/main/java/io/xpipe/app/prefs/WorkspaceManager.java @@ -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 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 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(); + } +} diff --git a/app/src/main/java/io/xpipe/app/prefs/WorkspaceOverviewComp.java b/app/src/main/java/io/xpipe/app/prefs/WorkspaceOverviewComp.java new file mode 100644 index 000000000..44ae30834 --- /dev/null +++ b/app/src/main/java/io/xpipe/app/prefs/WorkspaceOverviewComp.java @@ -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(); + } +} diff --git a/app/src/main/java/io/xpipe/app/prefs/WorkspacesCategory.java b/app/src/main/java/io/xpipe/app/prefs/WorkspacesCategory.java index 5a8bd0ae8..b133bdf9d 100644 --- a/app/src/main/java/io/xpipe/app/prefs/WorkspacesCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/WorkspacesCategory.java @@ -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(); } diff --git a/lang/strings/translations_da.properties b/lang/strings/translations_da.properties index 97ce44022..fd1fa18a8 100644 --- a/lang/strings/translations_da.properties +++ b/lang/strings/translations_da.properties @@ -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 diff --git a/lang/strings/translations_de.properties b/lang/strings/translations_de.properties index e4ada71d7..4689e07a0 100644 --- a/lang/strings/translations_de.properties +++ b/lang/strings/translations_de.properties @@ -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 diff --git a/lang/strings/translations_en.properties b/lang/strings/translations_en.properties index b4f909b10..69652690a 100644 --- a/lang/strings/translations_en.properties +++ b/lang/strings/translations_en.properties @@ -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 diff --git a/lang/strings/translations_es.properties b/lang/strings/translations_es.properties index 89582484c..8dba6112c 100644 --- a/lang/strings/translations_es.properties +++ b/lang/strings/translations_es.properties @@ -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 diff --git a/lang/strings/translations_fr.properties b/lang/strings/translations_fr.properties index 95a0b255f..78cdc1165 100644 --- a/lang/strings/translations_fr.properties +++ b/lang/strings/translations_fr.properties @@ -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 diff --git a/lang/strings/translations_id.properties b/lang/strings/translations_id.properties index 53a399450..fd3624619 100644 --- a/lang/strings/translations_id.properties +++ b/lang/strings/translations_id.properties @@ -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 diff --git a/lang/strings/translations_it.properties b/lang/strings/translations_it.properties index 9c2b7f6c2..5d0d41b84 100644 --- a/lang/strings/translations_it.properties +++ b/lang/strings/translations_it.properties @@ -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 diff --git a/lang/strings/translations_ja.properties b/lang/strings/translations_ja.properties index 7dd287c4e..49809bd8a 100644 --- a/lang/strings/translations_ja.properties +++ b/lang/strings/translations_ja.properties @@ -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=手動で同期する diff --git a/lang/strings/translations_ko.properties b/lang/strings/translations_ko.properties index 5fac1ac90..aca93f959 100644 --- a/lang/strings/translations_ko.properties +++ b/lang/strings/translations_ko.properties @@ -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=수동으로 동기화 diff --git a/lang/strings/translations_nl.properties b/lang/strings/translations_nl.properties index d7ff84013..e981a9cda 100644 --- a/lang/strings/translations_nl.properties +++ b/lang/strings/translations_nl.properties @@ -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 diff --git a/lang/strings/translations_pl.properties b/lang/strings/translations_pl.properties index 94a5bc171..9d52a11b3 100644 --- a/lang/strings/translations_pl.properties +++ b/lang/strings/translations_pl.properties @@ -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 diff --git a/lang/strings/translations_pt.properties b/lang/strings/translations_pt.properties index 6c045d592..f4fb723b7 100644 --- a/lang/strings/translations_pt.properties +++ b/lang/strings/translations_pt.properties @@ -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 diff --git a/lang/strings/translations_ru.properties b/lang/strings/translations_ru.properties index 5beb519fd..75fa6cdcc 100644 --- a/lang/strings/translations_ru.properties +++ b/lang/strings/translations_ru.properties @@ -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=Синхронизировать вручную diff --git a/lang/strings/translations_sv.properties b/lang/strings/translations_sv.properties index 92d375d52..0595f902e 100644 --- a/lang/strings/translations_sv.properties +++ b/lang/strings/translations_sv.properties @@ -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 diff --git a/lang/strings/translations_tr.properties b/lang/strings/translations_tr.properties index 4eda1eb8b..580efb688 100644 --- a/lang/strings/translations_tr.properties +++ b/lang/strings/translations_tr.properties @@ -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 diff --git a/lang/strings/translations_vi.properties b/lang/strings/translations_vi.properties index ec2346660..9636c2596 100644 --- a/lang/strings/translations_vi.properties +++ b/lang/strings/translations_vi.properties @@ -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 diff --git a/lang/strings/translations_zh-Hans.properties b/lang/strings/translations_zh-Hans.properties index 99a0c00f9..b3419e978 100644 --- a/lang/strings/translations_zh-Hans.properties +++ b/lang/strings/translations_zh-Hans.properties @@ -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=手动同步 diff --git a/lang/strings/translations_zh-Hant.properties b/lang/strings/translations_zh-Hant.properties index 9cabed62e..98d91c20a 100644 --- a/lang/strings/translations_zh-Hant.properties +++ b/lang/strings/translations_zh-Hant.properties @@ -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=手動同步