[EXPERIMENTAL] linux apps support

This commit is contained in:
olcxja 2026-10-06 20:54:16 +02:00
commit e7636afe3d
20 changed files with 1377 additions and 101 deletions

View file

@ -34,8 +34,14 @@
"library.removeConfirm": "Remove {0} from the launcher?{1}",
"library.removeFilesNote": "\nIts imported files in files/apps will also be deleted.",
"library.removePrefixNote": "\nFiles stay in the prefix, only the launcher entry is removed.",
"library.removeLinuxDataNote": "\nIts files in files/apps are deleted; its data in the prefix is kept.",
"library.tools": "Wine tools",
"library.reorderHint": "Drag to change the order",
"import.kind.title": "What are you importing?",
"import.kind.windows": "Windows app (Wine / Proton)",
"import.kind.windowsHint": "Runs through wine or proton, as before. Needs an .exe.",
"import.kind.linux": "Linux app (native)",
"import.kind.linuxHint": "Runs directly on this system, with its own isolated home folder. Needs an ELF binary, an .AppImage or a .desktop file.",
"import.question": "Should the app files be brought into the launcher so it stays portable, or left where they are?",
"import.mode.copy": "Copy into launcher (portable)",
"import.mode.move": "Move into launcher (portable)",
@ -58,9 +64,11 @@
"import.done": "Import finished",
"import.failed": "Import failed: {0}",
"import.noExe": "no .exe file found in the selected folder",
"import.noLinuxExe": "no runnable Linux program found in the selected folder (ELF binary, .AppImage or .desktop)",
"import.prefixRoot": "this folder is a wine prefix (or its C: drive) - import an app from inside its drive_c instead",
"config.title": "App configuration",
"config.icon.auto": "Extract from exe",
"config.icon.autoLinux": "Extract icon",
"config.icon.browse": "Choose image",
"config.icon.remove": "Remove icon",
"config.icon.pick": "Choose an icon image",
@ -80,6 +88,19 @@
"config.prefixDefault": "Default prefix ({0})",
"config.prefixLocked": "This app was imported from a prefix, its prefix cannot be changed",
"config.prefixLockedHint": "Pinned to the prefix it was imported from (its paths are stored relative to it)",
"config.linuxDataRoot": "Data folder (prefix)",
"config.linuxDataRootHint": "A native app keeps its home, config and cache in linux_pfx inside this prefix. Nothing else is protected unless the sandbox is active.",
"config.openData": "Open data folder",
"config.linuxKindValue": "Linux (native)",
"config.isolation": "Isolation",
"config.isolation.auto": "Automatic (strongest available)",
"config.isolation.off": "Off (plain run)",
"config.isolation.require": "Required (refuse to run without bwrap)",
"config.isolationHint": "Automatic uses bubblewrap when it works on this system and a plain run when it does not. 'Required' refuses to start instead of quietly weakening.",
"config.isolation.bwrap": "bwrap {0} (strong)",
"config.isolation.env": "no sandbox: {0}",
"config.forceX11": "Force X11 (XWayland)",
"config.forceX11Hint": "Runs the app through XWayland instead of Wayland. Useful when a window cannot carry its own icon (Minecraft) or the app misbehaves on Wayland. It also covers the programs this app launches. The app's own environment variables still win.",
"config.disableUmu": "Disable UMU (launch with wine directly)",
"config.disableUmuHint": "Runs the game with the build's own wine binary instead of its umu.exe/steam.exe launcher. This is the closest to a plain wine run.",
"config.dllOverrides": "DLL overrides",
@ -88,6 +109,23 @@
"config.overrides.setting": "Setting",
"config.overrides.remove": "Remove",
"config.overrides.hint": "Wine module names, e.g. dinput8. native,builtin (the default) loads a DLL shipped with the game and falls back to Wine's builtin; disabled blocks the module.",
"sandbox.title": "Linux app isolation",
"sandbox.hint": "Native apps always run with a redirected home folder. With bubblewrap they get their own namespaces too: only their home folder and their own app folder stay writable, the rest of the system is read-only.",
"sandbox.status": "Status",
"sandbox.check": "Check again",
"sandbox.rechecked": "Isolation checked again",
"sandbox.reason.missing": "not installed",
"sandbox.reason.not-permitted": "blocked by the kernel (user namespaces are not permitted here)",
"sandbox.reason.timeout": "not responding",
"sandbox.reason.failed": "not working",
"sandbox.warnTitle": "No sandbox for Linux apps",
"sandbox.warnBody": "bubblewrap is {0}. Linux apps will run with only a redirected home folder - they can still read the rest of your system, and write to anything your user can.",
"sandbox.dismiss": "Got it",
"sandbox.badgeStrong": "bwrap",
"sandbox.badgeWeak": "no sandbox",
"sandbox.badgeOff": "isolation off",
"sandbox.badgeRequired": "bwrap required",
"sandbox.required": "This app needs a working bubblewrap sandbox: {0}",
"config.save": "Save changes",
"config.shortcut": "Create shortcut",
"config.shortcutCreated": "Shortcut for {0} created (menu + desktop)",
@ -136,6 +174,13 @@
"prefixes.inUse": "Cannot change prefix {0} while an app from it is running: {1}. Close it first.",
"prefixes.inUseHint": "An app is running from this prefix right now - close it before renaming.",
"prefixes.hasApps": "Cannot delete prefix {0} - these apps still use it: {1}. Point them at another prefix or remove them first.",
"prefixes.resetConfig": "Reset Linux config",
"prefixes.resetConfigHint": "Deletes the desktop preferences (theme, GTK/Qt, PulseAudio and X11 cookies) PLWL copied from your system into this prefix. They are copied again on the next app start; app data stays.",
"prefixes.resetConfigConfirm": "Delete the desktop preferences copied into prefix {0}? The next app start copies them again from your system. App data is left untouched.",
"prefixes.resetConfigDone": "Linux config of prefix {0} reset - it is copied again from your system on the next app start.",
"prefixes.resetConfigNone": "Nothing to reset in prefix {0} - the desktop preferences are not copied in.",
"prefixes.resetConfigBusy": "Cannot reset the Linux config of prefix {0} while an app from it is running: {1}. Close it first.",
"prefixes.resetConfigFailed": "Could not reset the Linux config of prefix {0}.",
"wines.title": "Wine versions",
"wines.subtitle": "You can import your wine/proton builds here. Proton runs fully without Steam.",
"wines.system": "System Wine",

View file

@ -34,8 +34,14 @@
"library.removeConfirm": "Usunąć {0} z launchera?{1}",
"library.removeFilesNote": "\nJej zaimportowane pliki w files/apps również zostaną usunięte.",
"library.removePrefixNote": "\nPliki zostają w prefiksie, usuwany jest tylko wpis w launcherze.",
"library.removeLinuxDataNote": "\nJej pliki w files/apps zostaną usunięte; dane w prefiksie zostają.",
"library.tools": "Narzędzia Wine",
"library.reorderHint": "Przeciągnij, aby zmienić kolejność",
"import.kind.title": "Co importujesz?",
"import.kind.windows": "Aplikacja Windows (Wine / Proton)",
"import.kind.windowsHint": "Uruchamiana przez wine albo proton, jak dotychczas. Wymaga pliku .exe.",
"import.kind.linux": "Aplikacja Linux (natywna)",
"import.kind.linuxHint": "Uruchamiana bezpośrednio w systemie, z własnym odizolowanym folderem domowym. Wymaga binarki ELF, pliku .AppImage lub .desktop.",
"import.question": "Czy pliki aplikacji mają trafić do launchera, aby był przenośny, czy mają zostać tam, gdzie są?",
"import.mode.copy": "Skopiuj do launchera (przenośne)",
"import.mode.move": "Przenieś do launchera (przenośne)",
@ -58,9 +64,11 @@
"import.done": "Import zakończony",
"import.failed": "Import nie powiódł się: {0}",
"import.noExe": "nie znaleziono pliku .exe w wybranym folderze",
"import.noLinuxExe": "nie znaleziono uruchamialnego programu linuksowego w wybranym folderze (binarka ELF, .AppImage lub .desktop)",
"import.prefixRoot": "ten folder to prefiks wine (lub jego dysk C:) - zaimportuj aplikację z wnętrza jego drive_c",
"config.title": "Konfiguracja aplikacji",
"config.icon.auto": "Wyciągnij z exe",
"config.icon.autoLinux": "Wyciągnij ikonę",
"config.icon.browse": "Wybierz obrazek",
"config.icon.remove": "Usuń ikonę",
"config.icon.pick": "Wybierz obrazek ikony",
@ -80,6 +88,19 @@
"config.prefixDefault": "Prefiks domyślny ({0})",
"config.prefixLocked": "Ta aplikacja została zaimportowana z prefiksu, nie można zmienić jej prefiksu",
"config.prefixLockedHint": "Przypięta do prefiksu, z którego została zaimportowana (ścieżki trzymane są względem niego)",
"config.linuxDataRoot": "Folder danych (prefiks)",
"config.linuxDataRootHint": "Natywna aplikacja trzyma swój home, config i cache w linux_pfx w tym prefiksie. Bez aktywnego sandboxa nic więcej nie jest chronione.",
"config.openData": "Otwórz folder danych",
"config.linuxKindValue": "Linux (natywna)",
"config.isolation": "Izolacja",
"config.isolation.auto": "Automatyczna (najmocniejsza dostępna)",
"config.isolation.off": "Wyłączona (zwykłe uruchomienie)",
"config.isolation.require": "Wymagana (odmów bez bwrap)",
"config.isolationHint": "Automatyczna używa bubblewrap, jeśli działa w tym systemie, a jeśli nie - uruchamia zwyczajnie. „Wymagana” odmawia startu, zamiast po cichu osłabić izolację.",
"config.isolation.bwrap": "bwrap {0} (mocna)",
"config.isolation.env": "brak sandboxa: {0}",
"config.forceX11": "Wymuś X11 (XWayland)",
"config.forceX11Hint": "Uruchamia aplikację przez XWayland zamiast Waylanda. Przydatne, gdy okno nie potrafi mieć własnej ikony (Minecraft) albo aplikacja źle działa na Waylandzie. Obejmuje też programy, które ta aplikacja uruchamia. Zmienne środowiskowe samej aplikacji mają pierwszeństwo.",
"config.disableUmu": "Wyłącz UMU (uruchamiaj bezpośrednio wine)",
"config.disableUmuHint": "Uruchamia grę bezpośrednio binarką wine z builda, z pominięciem launchera umu.exe/steam.exe. To najbliżej zwykłego uruchomienia wine.",
"config.dllOverrides": "Nadpisania DLL",
@ -88,6 +109,23 @@
"config.overrides.setting": "Ustawienie",
"config.overrides.remove": "Usuń",
"config.overrides.hint": "Nazwy modułów Wine, np. dinput8. native,builtin (domyślne) wczytuje DLL dołączony do gry, a gdy go nie ma — wbudowany Wine; disabled blokuje moduł.",
"sandbox.title": "Izolacja aplikacji Linux",
"sandbox.hint": "Natywne aplikacje zawsze działają z przekierowanym folderem domowym. Z bubblewrap dostają dodatkowo własne przestrzenie nazw: zapisywać można tylko w swoim folderze domowym i w swoim folderze aplikacji, reszta systemu jest tylko do odczytu.",
"sandbox.status": "Status",
"sandbox.check": "Sprawdź ponownie",
"sandbox.rechecked": "Sprawdzono izolację ponownie",
"sandbox.reason.missing": "nie jest zainstalowany",
"sandbox.reason.not-permitted": "blokowany przez jądro (brak zgody na user namespaces)",
"sandbox.reason.timeout": "nie odpowiada",
"sandbox.reason.failed": "nie działa",
"sandbox.warnTitle": "Brak sandboxa dla aplikacji Linux",
"sandbox.warnBody": "bubblewrap {0}. Aplikacje linuksowe będą działać tylko z przekierowanym folderem domowym - nadal mogą czytać resztę systemu i pisać wszędzie, gdzie pozwala Twój użytkownik.",
"sandbox.dismiss": "Rozumiem",
"sandbox.badgeStrong": "bwrap",
"sandbox.badgeWeak": "bez sandboxa",
"sandbox.badgeOff": "izolacja wyłączona",
"sandbox.badgeRequired": "wymaga bwrap",
"sandbox.required": "Ta aplikacja wymaga działającego sandboxa bubblewrap: {0}",
"config.save": "Zapisz zmiany",
"config.shortcut": "Utwórz skrót",
"config.shortcutCreated": "Skrót dla {0} utworzony (menu + pulpit)",
@ -136,6 +174,13 @@
"prefixes.inUse": "Nie można zmienić prefiksu {0}, gdy działa z niego aplikacja: {1}. Najpierw ją zamknij.",
"prefixes.inUseHint": "Właśnie działa aplikacja z tego prefiksu - zamknij ją przed zmianą nazwy.",
"prefixes.hasApps": "Nie można usunąć prefiksu {0} - używają go jeszcze aplikacje: {1}. Wskaż im inny prefiks albo usuń je najpierw.",
"prefixes.resetConfig": "Resetuj config Linuksa",
"prefixes.resetConfigHint": "Usuwa preferencje pulpitu (motyw, GTK/Qt, ciasteczka PulseAudio i X11) skopiowane z systemu do tego prefiksu. Przy następnym starcie apki zostaną skopiowane od nowa; dane aplikacji zostają.",
"prefixes.resetConfigConfirm": "Usunąć preferencje pulpitu skopiowane do prefiksu {0}? Przy następnym starcie apki zostaną skopiowane od nowa z systemu. Dane aplikacji pozostaną nietknięte.",
"prefixes.resetConfigDone": "Zresetowano config Linuksa prefiksu {0} - przy następnym starcie apki zostanie skopiowany od nowa z systemu.",
"prefixes.resetConfigNone": "W prefiksie {0} nie ma nic do zresetowania - preferencje pulpitu nie są tam skopiowane.",
"prefixes.resetConfigBusy": "Nie można zresetować configu Linuksa prefiksu {0}, gdy działa z niego aplikacja: {1}. Najpierw ją zamknij.",
"prefixes.resetConfigFailed": "Nie udało się zresetować configu Linuksa prefiksu {0}.",
"wines.title": "Wersje Wine",
"wines.subtitle": "Tutaj możesz zaimportować swoje buildy wine/proton. Proton działa w pełni bez Steama.",
"wines.system": "Wine systemowe",