diff --git a/.github/workflows/bandit.yaml b/.github/workflows/bandit.yaml index 85a87dc0..551e1fad 100644 --- a/.github/workflows/bandit.yaml +++ b/.github/workflows/bandit.yaml @@ -6,7 +6,7 @@ jobs: container: image: archlinux/archlinux:latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - run: pacman --noconfirm -Syu bandit - name: Security checkup with Bandit run: bandit -r archinstall || exit 0 diff --git a/.github/workflows/flake8.yaml b/.github/workflows/flake8.yaml index 3029fbcb..3d4a4d42 100644 --- a/.github/workflows/flake8.yaml +++ b/.github/workflows/flake8.yaml @@ -6,7 +6,7 @@ jobs: container: image: archlinux/archlinux:latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Prepare arch run: | pacman-key --init diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml index 53075977..4465aa41 100644 --- a/.github/workflows/github-pages.yml +++ b/.github/workflows/github-pages.yml @@ -21,7 +21,7 @@ jobs: image: archlinux/archlinux:latest options: --privileged steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 - name: Install pre-dependencies run: | @@ -30,7 +30,7 @@ jobs: run: | sphinx-build docs _build - name: Deploy to GitHub Pages - uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4 + uses: peaceiris/actions-gh-pages@84c30a85c19949d7eee79c4ff27748b70285e453 # v4 if: ${{ github.event_name != 'pull_request' }} with: publish_branch: gh-pages diff --git a/.github/workflows/iso-build.yaml b/.github/workflows/iso-build.yaml index dfaed9b8..aa7f49b6 100644 --- a/.github/workflows/iso-build.yaml +++ b/.github/workflows/iso-build.yaml @@ -26,13 +26,13 @@ jobs: image: archlinux/archlinux:latest options: --privileged steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - run: pwd - run: find . - run: cat /etc/os-release - run: pacman-key --init - run: pacman --noconfirm -Sy archlinux-keyring - - run: ./build_iso.sh + - run: ./test_tooling/mkarchiso/build_iso.sh - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 with: name: Arch Live ISO diff --git a/.github/workflows/mypy.yaml b/.github/workflows/mypy.yaml index 7be37f7f..0fac32ba 100644 --- a/.github/workflows/mypy.yaml +++ b/.github/workflows/mypy.yaml @@ -6,7 +6,7 @@ jobs: container: image: archlinux/archlinux:latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Prepare arch run: | pacman-key --init diff --git a/.github/workflows/pylint.yaml b/.github/workflows/pylint.yaml index 27262680..30d251a8 100644 --- a/.github/workflows/pylint.yaml +++ b/.github/workflows/pylint.yaml @@ -6,7 +6,7 @@ jobs: container: image: archlinux/archlinux:latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Prepare arch run: | pacman-key --init diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index b0892062..b427d3e8 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -7,7 +7,7 @@ jobs: image: archlinux/archlinux:latest options: --privileged steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Prepare arch run: | pacman-key --init diff --git a/.github/workflows/python-build.yml b/.github/workflows/python-build.yml index e8fd87fa..67ca0165 100644 --- a/.github/workflows/python-build.yml +++ b/.github/workflows/python-build.yml @@ -11,7 +11,7 @@ jobs: image: archlinux/archlinux:latest options: --privileged steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Prepare arch run: | pacman-key --init diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 857d077d..539a606e 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -18,7 +18,7 @@ jobs: image: archlinux/archlinux:latest options: --privileged steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Prepare arch run: | pacman-key --init diff --git a/.github/workflows/ruff-format.yaml b/.github/workflows/ruff-format.yaml index 1a70721e..9f520be0 100644 --- a/.github/workflows/ruff-format.yaml +++ b/.github/workflows/ruff-format.yaml @@ -4,6 +4,6 @@ jobs: ruff_format_check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - uses: astral-sh/ruff-action@0ce1b0bf8b818ef400413f810f8a11cdbda0034b # v4.0.0 - run: ruff format --diff diff --git a/.github/workflows/ruff-lint.yaml b/.github/workflows/ruff-lint.yaml index 09ca4166..ff37a6a8 100644 --- a/.github/workflows/ruff-lint.yaml +++ b/.github/workflows/ruff-lint.yaml @@ -4,5 +4,5 @@ jobs: ruff: runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - uses: astral-sh/ruff-action@0ce1b0bf8b818ef400413f810f8a11cdbda0034b # v4.0.0 diff --git a/.github/workflows/translation-check.yaml b/.github/workflows/translation-check.yaml index 15be16cf..ebc521cb 100644 --- a/.github/workflows/translation-check.yaml +++ b/.github/workflows/translation-check.yaml @@ -15,7 +15,7 @@ jobs: name: Validate translations runs-on: ubuntu-latest steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - name: Install gettext run: sudo apt-get update && sudo apt-get install -y gettext - name: Run translation checks diff --git a/.github/workflows/uki-build.yaml b/.github/workflows/uki-build.yaml new file mode 100644 index 00000000..ff75250d --- /dev/null +++ b/.github/workflows/uki-build.yaml @@ -0,0 +1,40 @@ +# This workflow will build an Arch Linux UKI file with the commit on it + +name: Build Arch UKI with ArchInstall Commit + +on: + push: + branches: + - master + - main # In case we adopt this convention in the future + pull_request: + paths-ignore: + - 'docs/**' + - '**.editorconfig' + - '**.gitignore' + - '**.md' + - 'LICENSE' + - 'PKGBUILD' + release: + types: + - created + +jobs: + build: + runs-on: ubuntu-latest + container: + image: archlinux/archlinux:latest + options: --privileged + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + - run: pwd + - run: find . + - run: cat /etc/os-release + - run: pacman-key --init + - run: pacman --noconfirm -Sy archlinux-keyring + - run: pacman --noconfirm -Sy mkosi + - run: (cd test_tooling/mkosi/ && mkosi build -B) + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 + with: + name: Arch Live UKI + path: test_tooling/mkosi/mkosi.output/*.efi diff --git a/.gitignore b/.gitignore index 376bdbd5..54c865e0 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,7 @@ requirements.txt /cmd_output.txt node_modules/ uv.lock +test_tooling/mkosi/mkosi.output/*image* +test_tooling/mkosi/mkosi.cache/** +test_tooling/mkosi/mkosi.tools/** +test_tooling/mkosi/mkosi.tools.manifest diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6ba223de..33f112cf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ default_stages: ['pre-commit'] repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.15.14 + rev: v0.15.16 hooks: # fix unused imports and sort them - id: ruff diff --git a/archinstall/default_profiles/desktops/niri.py b/archinstall/default_profiles/desktops/niri.py index 4d955fbf..d8db75f5 100644 --- a/archinstall/default_profiles/desktops/niri.py +++ b/archinstall/default_profiles/desktops/niri.py @@ -7,7 +7,7 @@ from archinstall.default_profiles.profile import CustomSetting, DisplayServerTyp class NiriProfile(Profile): def __init__(self) -> None: super().__init__( - 'Niri', + 'niri', ProfileType.WindowMgr, support_gfx_driver=True, display_server=DisplayServerType.Wayland, diff --git a/archinstall/default_profiles/desktops/niri_dms.py b/archinstall/default_profiles/desktops/niri_dms.py new file mode 100644 index 00000000..11f32e34 --- /dev/null +++ b/archinstall/default_profiles/desktops/niri_dms.py @@ -0,0 +1,66 @@ +import shutil +from pathlib import Path +from typing import TYPE_CHECKING, override + +from archinstall.default_profiles.profile import DisplayServerType, GreeterType, Profile, ProfileType + +if TYPE_CHECKING: + from archinstall.lib.installer import Installer + from archinstall.lib.models.users import User + + +_TERMINAL = 'alacritty' +_ASSETS_DIR = Path(__file__).parent / 'niri_dms_assets' + + +class NiriDmsProfile(Profile): + def __init__(self) -> None: + super().__init__( + 'niri - DankMaterialShell', + ProfileType.WindowMgr, + support_gfx_driver=True, + display_server=DisplayServerType.Wayland, + ) + + @property + @override + def packages(self) -> list[str]: + return [ + 'niri', + 'dms-shell-niri', + 'polkit', + 'xdg-desktop-portal-gnome', + 'xorg-xwayland', + 'matugen', + 'cava', + 'kimageformats', + 'cups-pk-helper', + 'tuned-ppd', + _TERMINAL, + ] + + @property + @override + def default_greeter_type(self) -> GreeterType: + return GreeterType.GreetdDms + + @override + def provision(self, install_session: Installer, users: list[User]) -> None: + binds = (_ASSETS_DIR / 'dms/binds.kdl').read_text().replace('{{TERMINAL_COMMAND}}', _TERMINAL) + + for user in users: + home = install_session.target / 'home' / user.username + niri_dir = home / '.config/niri' + dms_dir = niri_dir / 'dms' + dms_dir.mkdir(parents=True, exist_ok=True) + + shutil.copy(_ASSETS_DIR / 'niri.kdl', niri_dir / 'config.kdl') + for name in ('colors.kdl', 'layout.kdl', 'alttab.kdl', 'outputs.kdl', 'cursor.kdl'): + shutil.copy(_ASSETS_DIR / 'dms' / name, dms_dir / name) + (dms_dir / 'binds.kdl').write_text(binds) + + niri_unit_dropin = home / '.config/systemd/user/niri.service.d' + niri_unit_dropin.mkdir(parents=True, exist_ok=True) + (niri_unit_dropin / 'dms.conf').write_text('[Unit]\nWants=dms.service\n') + + install_session.arch_chroot(f'chown -R {user.username}:{user.username} /home/{user.username}/.config') diff --git a/archinstall/default_profiles/desktops/niri_dms_assets/dms/alttab.kdl b/archinstall/default_profiles/desktops/niri_dms_assets/dms/alttab.kdl new file mode 100644 index 00000000..5f9bdcd0 --- /dev/null +++ b/archinstall/default_profiles/desktops/niri_dms_assets/dms/alttab.kdl @@ -0,0 +1,10 @@ +// ! DO NOT EDIT ! +// ! AUTO-GENERATED BY DMS ! +// ! CHANGES WILL BE OVERWRITTEN ! +// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + +recent-windows { + highlight { + corner-radius 12 + } +} diff --git a/archinstall/default_profiles/desktops/niri_dms_assets/dms/binds.kdl b/archinstall/default_profiles/desktops/niri_dms_assets/dms/binds.kdl new file mode 100644 index 00000000..27cb860e --- /dev/null +++ b/archinstall/default_profiles/desktops/niri_dms_assets/dms/binds.kdl @@ -0,0 +1,221 @@ +binds { + // === System & Overview === + Mod+D repeat=false { toggle-overview; } + Mod+Tab repeat=false { toggle-overview; } + Mod+Shift+Slash { show-hotkey-overlay; } + + // === Application Launchers === + Mod+T hotkey-overlay-title="Open Terminal" { spawn "{{TERMINAL_COMMAND}}"; } + Mod+Space hotkey-overlay-title="Application Launcher" { + spawn "dms" "ipc" "call" "spotlight" "toggle"; + } + Mod+V hotkey-overlay-title="Clipboard Manager" { + spawn "dms" "ipc" "call" "clipboard" "toggle"; + } + Mod+M hotkey-overlay-title="Task Manager" { + spawn "dms" "ipc" "call" "processlist" "focusOrToggle"; + } + + Super+X hotkey-overlay-title="Power Menu: Toggle" { spawn "dms" "ipc" "call" "powermenu" "toggle"; } + Mod+Comma hotkey-overlay-title="Settings" { + spawn "dms" "ipc" "call" "settings" "focusOrToggle"; + } + Mod+Y hotkey-overlay-title="Browse Wallpapers" { + spawn "dms" "ipc" "call" "dankdash" "wallpaper"; + } + Mod+N hotkey-overlay-title="Notification Center" { spawn "dms" "ipc" "call" "notifications" "toggle"; } + Mod+Shift+N hotkey-overlay-title="Notepad" { spawn "dms" "ipc" "call" "notepad" "toggle"; } + + // === Security === + Mod+Alt+L hotkey-overlay-title="Lock Screen" { + spawn "dms" "ipc" "call" "lock" "lock"; + } + Mod+Shift+E { quit; } + Ctrl+Alt+Delete hotkey-overlay-title="Task Manager" { + spawn "dms" "ipc" "call" "processlist" "focusOrToggle"; + } + + // === Audio Controls === + XF86AudioRaiseVolume allow-when-locked=true { + spawn "dms" "ipc" "call" "audio" "increment" "3"; + } + XF86AudioLowerVolume allow-when-locked=true { + spawn "dms" "ipc" "call" "audio" "decrement" "3"; + } + XF86AudioMute allow-when-locked=true { + spawn "dms" "ipc" "call" "audio" "mute"; + } + XF86AudioMicMute allow-when-locked=true { + spawn "dms" "ipc" "call" "audio" "micmute"; + } + XF86AudioPause allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "playPause"; + } + XF86AudioPlay allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "playPause"; + } + XF86AudioPrev allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "previous"; + } + XF86AudioNext allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "next"; + } + Ctrl+XF86AudioRaiseVolume allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "increment" "3"; + } + Ctrl+XF86AudioLowerVolume allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "decrement" "3"; + } + + // === Brightness Controls === + XF86MonBrightnessUp allow-when-locked=true { + spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; + } + XF86MonBrightnessDown allow-when-locked=true { + spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; + } + + // === Window Management === + Mod+Q repeat=false { close-window; } + Mod+F { maximize-column; } + Mod+Shift+F { fullscreen-window; } + Mod+Shift+T { toggle-window-floating; } + Mod+Shift+V { switch-focus-between-floating-and-tiling; } + Mod+W { toggle-column-tabbed-display; } + Mod+Shift+W hotkey-overlay-title="Create window rule" { spawn "dms" "ipc" "call" "window-rules" "toggle"; } + + // === Focus Navigation === + Mod+Left { focus-column-left; } + Mod+Down { focus-window-down; } + Mod+Up { focus-window-up; } + Mod+Right { focus-column-right; } + Mod+H { focus-column-left; } + Mod+J { focus-window-down; } + Mod+K { focus-window-up; } + Mod+L { focus-column-right; } + + // === Window Movement === + Mod+Shift+Left { move-column-left; } + Mod+Shift+Down { move-window-down; } + Mod+Shift+Up { move-window-up; } + Mod+Shift+Right { move-column-right; } + Mod+Shift+H { move-column-left; } + Mod+Shift+J { move-window-down; } + Mod+Shift+K { move-window-up; } + Mod+Shift+L { move-column-right; } + + // === Column Navigation === + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+End { move-column-to-last; } + + // === Monitor Navigation === + Mod+Ctrl+Left { focus-monitor-left; } + //Mod+Ctrl+Down { focus-monitor-down; } + //Mod+Ctrl+Up { focus-monitor-up; } + Mod+Ctrl+Right { focus-monitor-right; } + Mod+Ctrl+H { focus-monitor-left; } + Mod+Ctrl+J { focus-monitor-down; } + Mod+Ctrl+K { focus-monitor-up; } + Mod+Ctrl+L { focus-monitor-right; } + + // === Move to Monitor === + Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } + Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } + Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } + Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } + Mod+Shift+Ctrl+H { move-column-to-monitor-left; } + Mod+Shift+Ctrl+J { move-column-to-monitor-down; } + Mod+Shift+Ctrl+K { move-column-to-monitor-up; } + Mod+Shift+Ctrl+L { move-column-to-monitor-right; } + + // === Workspace Navigation === + Mod+Page_Down { focus-workspace-down; } + Mod+Page_Up { focus-workspace-up; } + Mod+U { focus-workspace-down; } + Mod+I { focus-workspace-up; } + Mod+Ctrl+Down { move-column-to-workspace-down; } + Mod+Ctrl+Up { move-column-to-workspace-up; } + Mod+Ctrl+U { move-column-to-workspace-down; } + Mod+Ctrl+I { move-column-to-workspace-up; } + + // === Workspace Management === + Ctrl+Shift+R hotkey-overlay-title="Rename Workspace" { + spawn "dms" "ipc" "call" "workspace-rename" "open"; + } + + // === Move Workspaces === + Mod+Shift+Page_Down { move-workspace-down; } + Mod+Shift+Page_Up { move-workspace-up; } + Mod+Shift+U { move-workspace-down; } + Mod+Shift+I { move-workspace-up; } + + // === Mouse Wheel Navigation === + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + + // === Numbered Workspaces === + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + + // === Move to Numbered Workspaces === + Mod+Shift+1 { move-column-to-workspace 1; } + Mod+Shift+2 { move-column-to-workspace 2; } + Mod+Shift+3 { move-column-to-workspace 3; } + Mod+Shift+4 { move-column-to-workspace 4; } + Mod+Shift+5 { move-column-to-workspace 5; } + Mod+Shift+6 { move-column-to-workspace 6; } + Mod+Shift+7 { move-column-to-workspace 7; } + Mod+Shift+8 { move-column-to-workspace 8; } + Mod+Shift+9 { move-column-to-workspace 9; } + + // === Column Management === + Mod+BracketLeft { consume-or-expel-window-left; } + Mod+BracketRight { consume-or-expel-window-right; } + Mod+Period { expel-window-from-column; } + + // === Sizing & Layout === + Mod+R { switch-preset-column-width; } + Mod+Shift+R { switch-preset-window-height; } + Mod+Ctrl+R { reset-window-height; } + Mod+Ctrl+F { expand-column-to-available-width; } + Mod+C { center-column; } + Mod+Ctrl+C { center-visible-columns; } + + // === Manual Sizing === + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + // === Screenshots === + XF86Launch1 { screenshot; } + Ctrl+XF86Launch1 { screenshot-screen; } + Alt+XF86Launch1 { screenshot-window; } + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Alt+Print { screenshot-window; } + // === System Controls === + Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } + Mod+Shift+P { power-off-monitors; } +} diff --git a/archinstall/default_profiles/desktops/niri_dms_assets/dms/colors.kdl b/archinstall/default_profiles/desktops/niri_dms_assets/dms/colors.kdl new file mode 100644 index 00000000..145a1798 --- /dev/null +++ b/archinstall/default_profiles/desktops/niri_dms_assets/dms/colors.kdl @@ -0,0 +1,39 @@ +// ! Auto-generated file. Do not edit directly. +// Remove `include "dms/colors.kdl"` from your config to override. + +layout { + background-color "transparent" + + focus-ring { + active-color "#d0bcff" + inactive-color "#948f99" + urgent-color "#f2b8b5" + } + + border { + active-color "#d0bcff" + inactive-color "#948f99" + urgent-color "#f2b8b5" + } + + shadow { + color "#00000070" + } + + tab-indicator { + active-color "#d0bcff" + inactive-color "#948f99" + urgent-color "#f2b8b5" + } + + insert-hint { + color "#d0bcff80" + } +} + +recent-windows { + highlight { + active-color "#4f378b" + urgent-color "#f2b8b5" + } +} diff --git a/archinstall/default_profiles/desktops/niri_dms_assets/dms/cursor.kdl b/archinstall/default_profiles/desktops/niri_dms_assets/dms/cursor.kdl new file mode 100644 index 00000000..db3d385a --- /dev/null +++ b/archinstall/default_profiles/desktops/niri_dms_assets/dms/cursor.kdl @@ -0,0 +1,6 @@ +// Place cursor configuration here. +// Example: +// cursor { +// xcursor-theme "Adwaita" +// xcursor-size 24 +// } diff --git a/archinstall/default_profiles/desktops/niri_dms_assets/dms/layout.kdl b/archinstall/default_profiles/desktops/niri_dms_assets/dms/layout.kdl new file mode 100644 index 00000000..1951500b --- /dev/null +++ b/archinstall/default_profiles/desktops/niri_dms_assets/dms/layout.kdl @@ -0,0 +1,22 @@ +// ! DO NOT EDIT ! +// ! AUTO-GENERATED BY DMS ! +// ! CHANGES WILL BE OVERWRITTEN ! +// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + +layout { + gaps 4 + + border { + width 2 + } + + focus-ring { + width 2 + } +} +window-rule { + geometry-corner-radius 12 + clip-to-geometry true + tiled-state true + draw-border-with-background false +} diff --git a/archinstall/default_profiles/desktops/niri_dms_assets/dms/outputs.kdl b/archinstall/default_profiles/desktops/niri_dms_assets/dms/outputs.kdl new file mode 100644 index 00000000..3fe37358 --- /dev/null +++ b/archinstall/default_profiles/desktops/niri_dms_assets/dms/outputs.kdl @@ -0,0 +1,7 @@ +// Place per-output configuration here. +// Example: +// output "DP-1" { +// mode "2560x1440@165" +// position x=0 y=0 +// scale 1 +// } diff --git a/archinstall/default_profiles/desktops/niri_dms_assets/niri.kdl b/archinstall/default_profiles/desktops/niri_dms_assets/niri.kdl new file mode 100644 index 00000000..0a759e46 --- /dev/null +++ b/archinstall/default_profiles/desktops/niri_dms_assets/niri.kdl @@ -0,0 +1,279 @@ +// This config is in the KDL format: https://kdl.dev +// "/-" comments out the following node. +// Check the wiki for a full description of the configuration: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Introduction +config-notification { + disable-failed +} + +gestures { + hot-corners { + off + } +} + +// Input device configuration. +// Find the full list of options on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Input +input { + keyboard { + xkb { + // You can set rules, model, layout, variant and options. + // For more information, see xkeyboard-config(7). + + // For example: + // layout "us,ru" + // options "grp:win_space_toggle,compose:ralt,ctrl:nocaps" + + // If this section is empty, niri will fetch xkb settings + // from org.freedesktop.locale1. You can control these using + // localectl set-x11-keymap. + } + + // Enable numlock on startup, omitting this setting disables it. + numlock + } + + // Next sections include libinput settings. + // Omitting settings disables them, or leaves them at their default values. + // All commented-out settings here are examples, not defaults. + touchpad { + // off + tap + // dwt + // dwtp + // drag false + // drag-lock + natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "two-finger" + // disabled-on-external-mouse + } + + mouse { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "no-scroll" + } + + trackpoint { + // off + // natural-scroll + // accel-speed 0.2 + // accel-profile "flat" + // scroll-method "on-button-down" + // scroll-button 273 + // scroll-button-lock + // middle-emulation + } + + // Uncomment this to make the mouse warp to the center of newly focused windows. + // warp-mouse-to-focus + + // Focus windows and outputs automatically when moving the mouse into them. + // Setting max-scroll-amount="0%" makes it work only on windows already fully on screen. + // focus-follows-mouse max-scroll-amount="0%" +} +// You can configure outputs by their name, which you can find +// by running `niri msg outputs` while inside a niri instance. +// The built-in laptop monitor is usually called "eDP-1". +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Outputs +// Remember to uncomment the node by removing "/-"! +/-output "eDP-2" { + mode "2560x1600@239.998993" + position x=2560 y=0 + variable-refresh-rate +} +// Settings that influence how windows are positioned and sized. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Layout +layout { + // Set gaps around windows in logical pixels. + background-color "transparent" + // When to center a column when changing focus, options are: + // - "never", default behavior, focusing an off-screen column will keep at the left + // or right edge of the screen. + // - "always", the focused column will always be centered. + // - "on-overflow", focusing a column will center it if it doesn't fit + // together with the previously focused column. + center-focused-column "never" + // You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between. + preset-column-widths { + // Proportion sets the width as a fraction of the output width, taking gaps into account. + // For example, you can perfectly fit four windows sized "proportion 0.25" on an output. + // The default preset widths are 1/3, 1/2 and 2/3 of the output. + proportion 0.33333 + proportion 0.5 + proportion 0.66667 + // Fixed sets the width in logical pixels exactly. + // fixed 1920 + } + // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between. + // preset-window-heights { } + // You can change the default width of the new windows. + default-column-width { proportion 0.5; } + // If you leave the brackets empty, the windows themselves will decide their initial width. + // default-column-width {} + // By default focus ring and border are rendered as a solid background rectangle + // behind windows. That is, they will show up through semitransparent windows. + // This is because windows using client-side decorations can have an arbitrary shape. + // + // If you don't like that, you should uncomment `prefer-no-csd` below. + // Niri will draw focus ring and border *around* windows that agree to omit their + // client-side decorations. + // + // Alternatively, you can override it with a window rule called + // `draw-border-with-background`. + border { + off + width 4 + active-color "#707070" // Neutral gray + inactive-color "#d0d0d0" // Light gray + urgent-color "#cc4444" // Softer red + } + shadow { + softness 30 + spread 5 + offset x=0 y=5 + color "#0007" + } + struts { + } +} +layer-rule { + match namespace="^quickshell$" + place-within-backdrop true +} +overview { + workspace-shadow { + off + } +} +// Add lines like this to spawn processes at startup. +// Note that running niri as a session supports xdg-desktop-autostart, +// which may be more convenient to use. +// See the binds section below for more spawn examples. +// This line starts waybar, a commonly used bar for Wayland compositors. +environment { + XDG_CURRENT_DESKTOP "niri" +} +hotkey-overlay { + skip-at-startup +} +prefer-no-csd +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" +animations { + workspace-switch { + spring damping-ratio=0.80 stiffness=523 epsilon=0.0001 + } + window-open { + duration-ms 150 + curve "ease-out-expo" + } + window-close { + duration-ms 150 + curve "ease-out-quad" + } + horizontal-view-movement { + spring damping-ratio=0.85 stiffness=423 epsilon=0.0001 + } + window-movement { + spring damping-ratio=0.75 stiffness=323 epsilon=0.0001 + } + window-resize { + spring damping-ratio=0.85 stiffness=423 epsilon=0.0001 + } + config-notification-open-close { + spring damping-ratio=0.65 stiffness=923 epsilon=0.001 + } + screenshot-ui-open { + duration-ms 200 + curve "ease-out-quad" + } + overview-open-close { + spring damping-ratio=0.85 stiffness=800 epsilon=0.0001 + } +} +// Window rules let you adjust behavior for individual windows. +// Find more information on the wiki: +// https://github.com/YaLTeR/niri/wiki/Configuration:-Window-Rules +// Work around WezTerm's initial configure bug +// by setting an empty default-column-width. +window-rule { + // This regular expression is intentionally made as specific as possible, + // since this is the default config, and we want no false positives. + // You can get away with just app-id="wezterm" if you want. + match app-id=r#"^org\.wezfurlong\.wezterm$"# + default-column-width {} +} +window-rule { + match app-id=r#"^org\.gnome\."# + draw-border-with-background false + geometry-corner-radius 12 + clip-to-geometry true +} +window-rule { + match app-id=r#"^gnome-control-center$"# + match app-id=r#"^pavucontrol$"# + match app-id=r#"^nm-connection-editor$"# + default-column-width { proportion 0.5; } + open-floating false +} +window-rule { + match app-id=r#"^org\.gnome\.Calculator$"# + match app-id=r#"^gnome-calculator$"# + match app-id=r#"^galculator$"# + match app-id=r#"^blueman-manager$"# + match app-id=r#"^org\.gnome\.Nautilus$"# + match app-id=r#"^xdg-desktop-portal$"# + open-floating true +} +window-rule { + match app-id=r#"^steam$"# title=r#"^notificationtoasts_\d+_desktop$"# + default-floating-position x=10 y=10 relative-to="bottom-right" + open-focused false +} +window-rule { + match app-id=r#"^org\.wezfurlong\.wezterm$"# + match app-id="Alacritty" + match app-id="zen" + match app-id="com.mitchellh.ghostty" + match app-id="kitty" + draw-border-with-background false +} +window-rule { + match app-id=r#"firefox$"# title="^Picture-in-Picture$" + match app-id="zoom" + open-floating true +} +// Open dms windows as floating by default +window-rule { + match app-id=r#"org.quickshell$"# + match app-id=r#"com.danklinux.dms$"# + open-floating true +} +debug { + honor-xdg-activation-with-invalid-serial +} + +// Override to disable super+tab +recent-windows { + binds { + Alt+Tab { next-window scope="output"; } + Alt+Shift+Tab { previous-window scope="output"; } + Alt+grave { next-window filter="app-id"; } + Alt+Shift+grave { previous-window filter="app-id"; } + } +} + +// Include dms files +include "dms/colors.kdl" +include "dms/layout.kdl" +include "dms/alttab.kdl" +include "dms/binds.kdl" +include "dms/outputs.kdl" +include "dms/cursor.kdl" diff --git a/archinstall/default_profiles/profile.py b/archinstall/default_profiles/profile.py index cc56186f..6c328a46 100644 --- a/archinstall/default_profiles/profile.py +++ b/archinstall/default_profiles/profile.py @@ -37,6 +37,7 @@ class GreeterType(Enum): Ly = 'ly' CosmicSession = 'cosmic-greeter' PlasmaLoginManager = 'plasma-login-manager' + GreetdDms = 'dms-greeter' class SelectResult(Enum): diff --git a/archinstall/lib/configuration.py b/archinstall/lib/configuration.py index f0096872..5754dfcf 100644 --- a/archinstall/lib/configuration.py +++ b/archinstall/lib/configuration.py @@ -11,7 +11,6 @@ from archinstall.lib.crypt import encrypt from archinstall.lib.log import debug, logger, warn from archinstall.lib.menu.helpers import Confirmation, Selection from archinstall.lib.menu.util import get_password, prompt_dir -from archinstall.lib.models.network import NetworkConfiguration from archinstall.lib.translationhandler import tr from archinstall.lib.utils.format import as_key_value_pair from archinstall.tui.menu_item import MenuItem, MenuItemGroup @@ -83,13 +82,10 @@ class ConfigurationOutput: return simple_summary - async def confirm_config(self, show_install_warnings: bool = False) -> bool: + async def confirm_config(self) -> bool: header = f'{tr("The specified configuration will be applied")}. ' header += tr('Would you like to continue?') + '\n' - if show_install_warnings: - header += self._render_install_warnings() - group = MenuItemGroup.yes_no() group.set_preview_for_all(lambda x: self.user_config_to_json()) @@ -107,22 +103,6 @@ class ConfigurationOutput: return True - def get_install_warnings(self) -> list[str]: - warnings: list[str] = [] - - if not isinstance(self._config.network_config, NetworkConfiguration): - warnings.append(tr('Warning: no network configuration selected. Network will need to be set up manually on the installed system.')) - - return warnings - - def _render_install_warnings(self) -> str: - warnings = self.get_install_warnings() - - if not warnings: - return '' - - return '\n' + '\n'.join(f'[yellow]{w}[/]' for w in warnings) + '\n' - def _is_valid_path(self, dest_path: Path) -> bool: dest_path_ok = dest_path.exists() and dest_path.is_dir() if not dest_path_ok: diff --git a/archinstall/lib/disk/luks.py b/archinstall/lib/disk/luks.py index 5d62abc8..3a3679d0 100644 --- a/archinstall/lib/disk/luks.py +++ b/archinstall/lib/disk/luks.py @@ -149,7 +149,11 @@ class Luks2: 'luks2', ] - result = run(cmd, input_data=passphrase) + try: + result = run(cmd, input_data=passphrase) + except CalledProcessError as err: + output = err.stdout.decode().rstrip() + raise DiskError(f'Could not unlock luks2 device "{self.luks_dev_path}": {output}') debug(f'cryptsetup open output: {result.stdout.decode().rstrip()}') diff --git a/archinstall/lib/global_menu.py b/archinstall/lib/global_menu.py index 45a0e3b4..548ed522 100644 --- a/archinstall/lib/global_menu.py +++ b/archinstall/lib/global_menu.py @@ -33,7 +33,7 @@ from archinstall.lib.pacman.pacman_menu import PacmanMenu from archinstall.lib.translationhandler import Language, tr, translation_handler from archinstall.lib.utils.format import as_table from archinstall.tui.components import tui -from archinstall.tui.menu_item import MenuItem, MenuItemGroup +from archinstall.tui.menu_item import MenuItem, MenuItemGroup, MsgLevelType, PreviewResult class GlobalMenu(AbstractMenu[None]): @@ -494,21 +494,48 @@ class GlobalMenu(AbstractMenu[None]): return None - def _prev_install_invalid_config(self, item: MenuItem) -> str | None: - if missing := self._missing_configs(): - text = tr('Missing configurations:\n') - for m in missing: - text += f'- {m}\n' - return text[:-1] # remove last new line + def _get_install_warnings(self) -> list[str]: + warnings: list[str] = [] - if error := self._validate_bootloader(): - return tr('Invalid configuration: {}').format(error) + if not isinstance(self._arch_config.network_config, NetworkConfiguration): + warnings.append(tr('No network configuration selected. Network will need to be set up manually on the installed system.')) + return warnings + + def _prev_install_invalid_config(self, item: MenuItem) -> PreviewResult | None: self.sync_all_to_config() - summary = ConfigurationOutput(self._arch_config).as_summary() - if summary: - return f'{tr("Ready to install")}\n\n{summary}' - return tr('Ready to install') + config_output = ConfigurationOutput(self._arch_config) + + warnings = self._get_install_warnings() + messages: list[tuple[str, MsgLevelType]] = [] + + errors = '' + if missing := self._missing_configs(): + errors += f'{tr("Missing configurations:")}\n' + errors += '\n'.join(f'- {m}' for m in missing) + + disk_item = self._item_group.find_by_key('disk_config') + if disk_item.has_value(): + if error := self._validate_bootloader(): + if errors: + errors += '\n\n' + errors += f'{tr("Invalid configuration:")}\n- {error}' + + if errors: + messages.append((errors, MsgLevelType.MsgError)) + else: + messages.append((tr('Ready to install'), MsgLevelType.MsgInfo)) + + if warnings: + text = f'{tr("Warnings:")}\n' + '\n'.join(f'- {w}' for w in warnings) + messages.append((text, MsgLevelType.MsgWarning)) + + if not errors: + summary = config_output.as_summary() + if summary: + messages.append((summary, MsgLevelType.MsgNone)) + + return PreviewResult(messages) def _prev_profile(self, item: MenuItem) -> str | None: profile_config: ProfileConfiguration | None = item.value diff --git a/archinstall/lib/menu/util.py b/archinstall/lib/menu/util.py index 10edfd49..5efef09d 100644 --- a/archinstall/lib/menu/util.py +++ b/archinstall/lib/menu/util.py @@ -5,7 +5,8 @@ from pathlib import Path from archinstall.lib.menu.helpers import Confirmation, Input from archinstall.lib.models.users import Password, PasswordStrength from archinstall.lib.translationhandler import tr -from archinstall.tui.components import InputInfo, InputInfoType, tui +from archinstall.tui.components import InputInfo, tui +from archinstall.tui.menu_item import MsgLevelType from archinstall.tui.result import ResultType @@ -20,11 +21,11 @@ async def get_password( return None strength = PasswordStrength.strength(value) if strength in (PasswordStrength.VERY_WEAK, PasswordStrength.WEAK): - return InputInfo(message=tr('Password strength: Weak'), info_type=InputInfoType.MsgError) + return InputInfo(message=tr('Password strength: Weak'), msg_level=MsgLevelType.MsgError) elif strength == PasswordStrength.MODERATE: - return InputInfo(message=tr('Password strength: Moderate'), info_type=InputInfoType.MsgWarning) + return InputInfo(message=tr('Password strength: Moderate'), msg_level=MsgLevelType.MsgWarning) elif strength == PasswordStrength.STRONG: - return InputInfo(message=tr('Password strength: Strong'), info_type=InputInfoType.MsgInfo) + return InputInfo(message=tr('Password strength: Strong'), msg_level=MsgLevelType.MsgInfo) return None while True: diff --git a/archinstall/lib/models/profile.py b/archinstall/lib/models/profile.py index fa890a1e..1d8e2241 100644 --- a/archinstall/lib/models/profile.py +++ b/archinstall/lib/models/profile.py @@ -40,7 +40,7 @@ class ProfileConfiguration(SubConfig): out.append(self.profile.name) if self.gfx_driver: - out.append(tr('{} grphics driver').format(self.gfx_driver.value)) + out.append(tr('{} graphics driver').format(self.gfx_driver.value)) if self.greeter: out.append(tr('{} greeter').format(self.greeter.value)) diff --git a/archinstall/lib/network/wifi_handler.py b/archinstall/lib/network/wifi_handler.py index b5590343..bc068d2a 100644 --- a/archinstall/lib/network/wifi_handler.py +++ b/archinstall/lib/network/wifi_handler.py @@ -1,4 +1,3 @@ -from asyncio import sleep from dataclasses import dataclass from pathlib import Path from typing import assert_never, override @@ -109,36 +108,25 @@ class WifiHandler(InstanceRunnable[bool]): debug(f'Found wifi interface: {wifi_iface}') - async def get_wifi_networks() -> MenuItemGroup: - debug('Scanning Wifi networks') - result = self._wpa_cli('scan', wifi_iface) + wifi_networks = await self._scan_wifi(wifi_iface) - if not result.success: - debug(f'Failed to scan wifi networks: {result.error}') - return MenuItemGroup([]) + if not wifi_networks: + debug('No networks found') + await NotifyScreen(header=tr('No wifi networks found')).run() + tui.exit(Result.false()) + return False - await sleep(5) - wifi_networks = self._get_scan_results(wifi_iface) - - items = [MenuItem(network.ssid, value=network) for network in wifi_networks] - return MenuItemGroup(items) + items = [MenuItem(network.ssid, value=network) for network in wifi_networks] result = await TableSelectionScreen[WifiNetwork]( header=tr('Select wifi network to connect to'), - loading_header=tr('Scanning wifi networks...'), - group_callback=get_wifi_networks, + group=MenuItemGroup(items), allow_skip=True, allow_reset=True, ).run() match result.type_: case ResultType.Selection: - if not result.has_data(): - debug('No networks found') - await NotifyScreen(header=tr('No wifi networks found')).run() - tui.exit(Result.false()) - return False - network = result.get_value() case ResultType.Skip | ResultType.Reset: tui.exit(Result.false()) @@ -184,6 +172,18 @@ class WifiHandler(InstanceRunnable[bool]): return True + async def _scan_wifi(self, wifi_iface: str) -> list[WifiNetwork]: + debug('Scanning Wifi networks') + scan_result = self._wpa_cli('scan', wifi_iface) + + if not scan_result.success: + debug(f'Failed to scan wifi networks: {scan_result.error}') + return [] + + await LoadingScreen(timer=5, header=tr('Scanning wifi networks...')).run() + + return self._get_scan_results(wifi_iface) + async def _notify_failure(self) -> None: await NotifyScreen(header=tr('Failed setting up wifi')).run() diff --git a/archinstall/lib/profile/profiles_handler.py b/archinstall/lib/profile/profiles_handler.py index d937a520..1e770de5 100644 --- a/archinstall/lib/profile/profiles_handler.py +++ b/archinstall/lib/profile/profiles_handler.py @@ -175,6 +175,9 @@ class ProfileHandler: case GreeterType.PlasmaLoginManager: packages = ['plasma-login-manager'] service = ['plasmalogin'] + case GreeterType.GreetdDms: + packages = ['greetd'] + service = ['greetd'] if packages: install_session.add_additional_packages(packages) @@ -194,6 +197,26 @@ class ProfileHandler: with open(path, 'w') as file: file.write(filedata) + if greeter == GreeterType.GreetdDms: + greetd_config = install_session.target / 'etc/greetd/config.toml' + greetd_config.parent.mkdir(parents=True, exist_ok=True) + greetd_config.write_text( + '[terminal]\n' + 'vt = 1\n' + '\n' + '[default_session]\n' + 'user = "greeter"\n' + 'command = "/usr/share/quickshell/dms/Modules/Greetd/assets/dms-greeter --command niri -p /usr/share/quickshell/dms"\n', + ) + + tmpfiles = install_session.target / 'etc/tmpfiles.d/dms-greeter.conf' + tmpfiles.parent.mkdir(parents=True, exist_ok=True) + tmpfiles.write_text( + '# Path Mode User Group Age Argument\n' + 'd /var/cache/dms-greeter 0750 greeter greeter -\n' + 'd /var/lib/greeter 0755 greeter greeter -\n', + ) + def install_gfx_driver(self, install_session: Installer, driver: GfxDriver) -> None: debug(f'Installing GFX driver: {driver.value}') diff --git a/archinstall/locales/base.pot b/archinstall/locales/base.pot index 4db4554c..23df29fb 100644 --- a/archinstall/locales/base.pot +++ b/archinstall/locales/base.pot @@ -1,2247 +1,3 @@ -msgid "" -msgstr "" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -msgid "[!] A log file has been created here: {} {}" -msgstr "" - -msgid "" -" Please submit this issue (and file) to https://github.com/archlinux/" -"archinstall/issues" -msgstr "" - -msgid "Do you really want to abort?" -msgstr "" - -msgid "And one more time for verification: " -msgstr "" - -msgid "Would you like to use swap on zram?" -msgstr "" - -msgid "Desired hostname for the installation: " -msgstr "" - -msgid "Username for required superuser with sudo privileges: " -msgstr "" - -msgid "Any additional users to install (leave blank for no users): " -msgstr "" - -msgid "Should this user be a superuser (sudoer)?" -msgstr "" - -msgid "Select a timezone" -msgstr "" - -msgid "Would you like to use GRUB as a bootloader instead of systemd-boot?" -msgstr "" - -msgid "Choose a bootloader" -msgstr "" - -msgid "Choose an audio server" -msgstr "" - -msgid "" -"Only packages such as base, base-devel, linux, linux-firmware, efibootmgr " -"and optional profile packages are installed." -msgstr "" - -msgid "" -"Note: base-devel is no longer installed by default. Add it here if you need " -"build tools." -msgstr "" - -msgid "" -"If you desire a web browser, such as firefox or chromium, you may specify it " -"in the following prompt." -msgstr "" - -msgid "" -"Write additional packages to install (space separated, leave blank to skip): " -msgstr "" - -msgid "Copy ISO network configuration to installation" -msgstr "" - -msgid "" -"Use NetworkManager (necessary for configuring internet graphically in GNOME " -"and KDE)" -msgstr "" - -msgid "Select one network interface to configure" -msgstr "" - -msgid "" -"Select which mode to configure for \"{}\" or skip to use default mode \"{}\"" -msgstr "" - -#, python-brace-format -msgid "Enter the IP and subnet for {} (example: 192.168.0.5/24): " -msgstr "" - -msgid "Enter your gateway (router) IP address or leave blank for none: " -msgstr "" - -msgid "Enter your DNS servers (space separated, blank for none): " -msgstr "" - -msgid "Select which filesystem your main partition should use" -msgstr "" - -msgid "Current partition layout" -msgstr "" - -msgid "" -"Select what to do with\n" -"{}" -msgstr "" - -msgid "Enter a desired filesystem type for the partition" -msgstr "" - -msgid "" -"Enter the start location (in parted units: s, GB, %, etc. ; default: {}): " -msgstr "" - -msgid "Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): " -msgstr "" - -msgid "{} contains queued partitions, this will remove those, are you sure?" -msgstr "" - -msgid "" -"{}\n" -"\n" -"Select by index which partitions to delete" -msgstr "" - -msgid "" -"{}\n" -"\n" -"Select by index which partition to mount where" -msgstr "" - -msgid "" -" * Partition mount-points are relative to inside the installation, the boot " -"would be /boot as an example." -msgstr "" - -msgid "Select where to mount partition (leave blank to remove mountpoint): " -msgstr "" - -msgid "" -"{}\n" -"\n" -"Select which partition to mask for formatting" -msgstr "" - -msgid "" -"{}\n" -"\n" -"Select which partition to mark as encrypted" -msgstr "" - -msgid "" -"{}\n" -"\n" -"Select which partition to mark as bootable" -msgstr "" - -msgid "" -"{}\n" -"\n" -"Select which partition to set a filesystem on" -msgstr "" - -msgid "Enter a desired filesystem type for the partition: " -msgstr "" - -msgid "Archinstall language" -msgstr "" - -msgid "Wipe all selected drives and use a best-effort default partition layout" -msgstr "" - -msgid "" -"Select what to do with each individual drive (followed by partition usage)" -msgstr "" - -msgid "Select what you wish to do with the selected block devices" -msgstr "" - -msgid "" -"This is a list of pre-programmed profiles, they might make it easier to " -"install things like desktop environments" -msgstr "" - -msgid "Select keyboard layout" -msgstr "" - -msgid "Select one of the regions to download packages from" -msgstr "" - -msgid "Select one or more hard drives to use and configure" -msgstr "" - -msgid "" -"For the best compatibility with your AMD hardware, you may want to use " -"either the all open-source or AMD / ATI options." -msgstr "" - -msgid "" -"For the best compatibility with your Intel hardware, you may want to use " -"either the all open-source or Intel options.\n" -msgstr "" - -msgid "" -"For the best compatibility with your Nvidia hardware, you may want to use " -"the Nvidia proprietary driver.\n" -msgstr "" - -msgid "" -"\n" -"\n" -"Select a graphics driver or leave blank to install all open-source drivers" -msgstr "" - -msgid "All open-source (default)" -msgstr "" - -msgid "Choose which kernels to use or leave blank for default \"{}\"" -msgstr "" - -msgid "Choose which locale language to use" -msgstr "" - -msgid "Choose which locale encoding to use" -msgstr "" - -msgid "Select one of the values shown below: " -msgstr "" - -msgid "Select one or more of the options below: " -msgstr "" - -msgid "Adding partition...." -msgstr "" - -msgid "" -"You need to enter a valid fs-type in order to continue. See `man parted` for " -"valid fs-type's." -msgstr "" - -msgid "Error: Listing profiles on URL \"{}\" resulted in:" -msgstr "" - -msgid "Error: Could not decode \"{}\" result as JSON:" -msgstr "" - -msgid "Keyboard layout" -msgstr "" - -msgid "Mirror region" -msgstr "" - -msgid "Locale language" -msgstr "" - -msgid "Locale encoding" -msgstr "" - -msgid "Console font" -msgstr "" - -msgid "Drive(s)" -msgstr "" - -msgid "Disk layout" -msgstr "" - -msgid "Encryption password" -msgstr "" - -msgid "Swap" -msgstr "" - -msgid "Bootloader" -msgstr "" - -msgid "Root password" -msgstr "" - -msgid "Superuser account" -msgstr "" - -msgid "User account" -msgstr "" - -msgid "Profile" -msgstr "" - -msgid "Audio" -msgstr "" - -msgid "Kernels" -msgstr "" - -msgid "Additional packages" -msgstr "" - -msgid "Network configuration" -msgstr "" - -msgid "Automatic time sync (NTP)" -msgstr "" - -msgid "Install ({} config(s) missing)" -msgstr "" - -msgid "" -"You decided to skip harddrive selection\n" -"and will use whatever drive-setup is mounted at {} (experimental)\n" -"WARNING: Archinstall won't check the suitability of this setup\n" -"Do you wish to continue?" -msgstr "" - -msgid "Re-using partition instance: {}" -msgstr "" - -msgid "Create a new partition" -msgstr "" - -msgid "Delete a partition" -msgstr "" - -msgid "Clear/Delete all partitions" -msgstr "" - -msgid "Assign mount-point for a partition" -msgstr "" - -msgid "Mark/Unmark a partition to be formatted (wipes data)" -msgstr "" - -msgid "Mark/Unmark a partition as encrypted" -msgstr "" - -msgid "Mark/Unmark a partition as bootable (automatic for /boot)" -msgstr "" - -msgid "Set desired filesystem for a partition" -msgstr "" - -msgid "Abort" -msgstr "" - -msgid "Hostname" -msgstr "" - -msgid "Not configured, unavailable unless setup manually" -msgstr "" - -msgid "Timezone" -msgstr "" - -msgid "Set/Modify the below options" -msgstr "" - -msgid "Install" -msgstr "" - -msgid "" -"Use ESC to skip\n" -"\n" -msgstr "" - -msgid "Suggest partition layout" -msgstr "" - -msgid "Enter a password: " -msgstr "" - -msgid "Enter a encryption password for {}" -msgstr "" - -msgid "Enter disk encryption password (leave blank for no encryption): " -msgstr "" - -msgid "Create a required super-user with sudo privileges: " -msgstr "" - -msgid "Enter root password (leave blank to disable root): " -msgstr "" - -msgid "Password for user \"{}\": " -msgstr "" - -msgid "" -"Verifying that additional packages exist (this might take a few seconds)" -msgstr "" - -msgid "" -"Would you like to use automatic time synchronization (NTP) with the default " -"time servers?\n" -msgstr "" - -msgid "" -"Hardware time and other post-configuration steps might be required in order " -"for NTP to work.\n" -"For more information, please check the Arch wiki" -msgstr "" - -msgid "Enter a username to create an additional user (leave blank to skip): " -msgstr "" - -msgid "Use ESC to skip\n" -msgstr "" - -msgid "" -"\n" -" Choose an object from the list, and select one of the available actions for " -"it to execute" -msgstr "" - -msgid "Cancel" -msgstr "" - -msgid "Confirm and exit" -msgstr "" - -msgid "Add" -msgstr "" - -msgid "Copy" -msgstr "" - -msgid "Edit" -msgstr "" - -msgid "Delete" -msgstr "" - -msgid "Select an action for '{}'" -msgstr "" - -msgid "Copy to new key:" -msgstr "" - -msgid "Unknown nic type: {}. Possible values are {}" -msgstr "" - -msgid "" -"\n" -"This is your chosen configuration:" -msgstr "" - -msgid "" -"Pacman is already running, waiting maximum 10 minutes for it to terminate." -msgstr "" - -msgid "" -"Pre-existing pacman lock never exited. Please clean up any existing pacman " -"sessions before using archinstall." -msgstr "" - -msgid "Choose which optional additional repositories to enable" -msgstr "" - -msgid "Add a user" -msgstr "" - -msgid "Change password" -msgstr "" - -msgid "Promote/Demote user" -msgstr "" - -msgid "Delete User" -msgstr "" - -msgid "" -"\n" -"Define a new user\n" -msgstr "" - -msgid "User Name : " -msgstr "" - -msgid "Should {} be a superuser (sudoer)?" -msgstr "" - -msgid "Define users with sudo privilege: " -msgstr "" - -msgid "No network configuration" -msgstr "" - -msgid "Set desired subvolumes on a btrfs partition" -msgstr "" - -msgid "" -"{}\n" -"\n" -"Select which partition to set subvolumes on" -msgstr "" - -msgid "Manage btrfs subvolumes for current partition" -msgstr "" - -msgid "No configuration" -msgstr "" - -msgid "Save user configuration" -msgstr "" - -msgid "Save user credentials" -msgstr "" - -msgid "Save disk layout" -msgstr "" - -msgid "Save all" -msgstr "" - -msgid "Choose which configuration to save" -msgstr "" - -msgid "Enter a directory for the configuration(s) to be saved: " -msgstr "" - -msgid "Not a valid directory: {}" -msgstr "" - -msgid "The password you are using seems to be weak," -msgstr "" - -msgid "are you sure you want to use it?" -msgstr "" - -msgid "Optional repositories" -msgstr "" - -msgid "Save configuration" -msgstr "" - -msgid "Missing configurations:\n" -msgstr "" - -msgid "Either root-password or at least 1 superuser must be specified" -msgstr "" - -msgid "Manage superuser accounts: " -msgstr "" - -msgid "Manage ordinary user accounts: " -msgstr "" - -msgid " Subvolume :{:16}" -msgstr "" - -msgid " mounted at {:16}" -msgstr "" - -msgid " with option {}" -msgstr "" - -msgid "" -"\n" -" Fill the desired values for a new subvolume \n" -msgstr "" - -msgid "Subvolume name " -msgstr "" - -msgid "Subvolume mountpoint" -msgstr "" - -msgid "Subvolume options" -msgstr "" - -msgid "Save" -msgstr "" - -msgid "Subvolume name :" -msgstr "" - -msgid "Select a mount point :" -msgstr "" - -msgid "Select the desired subvolume options " -msgstr "" - -msgid "Define users with sudo privilege, by username: " -msgstr "" - -#, python-brace-format -msgid "[!] A log file has been created here: {}" -msgstr "" - -msgid "Would you like to use BTRFS subvolumes with a default structure?" -msgstr "" - -msgid "Would you like to use BTRFS compression?" -msgstr "" - -msgid "Would you like to create a separate partition for /home?" -msgstr "" - -msgid "" -"The selected drives do not have the minimum capacity required for an " -"automatic suggestion\n" -msgstr "" - -msgid "Minimum capacity for /home partition: {}GB\n" -msgstr "" - -msgid "Minimum capacity for Arch Linux partition: {}GB" -msgstr "" - -msgid "Continue" -msgstr "" - -msgid "yes" -msgstr "" - -msgid "no" -msgstr "" - -msgid "set: {}" -msgstr "" - -msgid "Manual configuration setting must be a list" -msgstr "" - -msgid "No iface specified for manual configuration" -msgstr "" - -msgid "Manual nic configuration with no auto DHCP requires an IP address" -msgstr "" - -msgid "Add interface" -msgstr "" - -msgid "Edit interface" -msgstr "" - -msgid "Delete interface" -msgstr "" - -msgid "Select interface to add" -msgstr "" - -msgid "Manual configuration" -msgstr "" - -msgid "Mark/Unmark a partition as compressed (btrfs only)" -msgstr "" - -msgid "" -"The password you are using seems to be weak, are you sure you want to use it?" -msgstr "" - -msgid "" -"Provides a selection of desktop environments and tiling window managers, " -"e.g. gnome, kde, sway" -msgstr "" - -msgid "Select your desired desktop environment" -msgstr "" - -msgid "" -"A very basic installation that allows you to customize Arch Linux as you see " -"fit." -msgstr "" - -msgid "" -"Provides a selection of various server packages to install and enable, e.g. " -"httpd, nginx, mariadb" -msgstr "" - -msgid "" -"Choose which servers to install, if none then a minimal installation will be " -"done" -msgstr "" - -msgid "Installs a minimal system as well as xorg and graphics drivers." -msgstr "" - -msgid "Press Enter to continue." -msgstr "" - -msgid "" -"Would you like to chroot into the newly created installation and perform " -"post-installation configuration?" -msgstr "" - -msgid "Are you sure you want to reset this setting?" -msgstr "" - -msgid "Select one or more hard drives to use and configure\n" -msgstr "" - -msgid "Any modifications to the existing setting will reset the disk layout!" -msgstr "" - -msgid "" -"If you reset the harddrive selection this will also reset the current disk " -"layout. Are you sure?" -msgstr "" - -msgid "Save and exit" -msgstr "" - -msgid "" -"{}\n" -"contains queued partitions, this will remove those, are you sure?" -msgstr "" - -msgid "No audio server" -msgstr "" - -msgid "(default)" -msgstr "" - -msgid "Use ESC to skip" -msgstr "" - -msgid "" -"Use CTRL+C to reset current selection\n" -"\n" -msgstr "" - -msgid "Copy to: " -msgstr "" - -msgid "Edit: " -msgstr "" - -msgid "Key: " -msgstr "" - -msgid "Edit {}: " -msgstr "" - -msgid "Add: " -msgstr "" - -msgid "Value: " -msgstr "" - -msgid "" -"You can skip selecting a drive and partitioning and use whatever drive-setup " -"is mounted at /mnt (experimental)" -msgstr "" - -msgid "Select one of the disks or skip and use /mnt as default" -msgstr "" - -msgid "Select which partitions to mark for formatting:" -msgstr "" - -msgid "Use HSM to unlock encrypted drive" -msgstr "" - -msgid "Device" -msgstr "" - -msgid "Size" -msgstr "" - -msgid "Free space" -msgstr "" - -msgid "Bus-type" -msgstr "" - -msgid "" -"Either root-password or at least 1 user with sudo privileges must be " -"specified" -msgstr "" - -msgid "Enter username (leave blank to skip): " -msgstr "" - -msgid "The username you entered is invalid. Try again" -msgstr "" - -msgid "Should \"{}\" be a superuser (sudo)?" -msgstr "" - -msgid "Select which partitions to encrypt" -msgstr "" - -msgid "very weak" -msgstr "" - -msgid "weak" -msgstr "" - -msgid "moderate" -msgstr "" - -msgid "strong" -msgstr "" - -msgid "Add subvolume" -msgstr "" - -msgid "Edit subvolume" -msgstr "" - -msgid "Delete subvolume" -msgstr "" - -msgid "Configured {} interfaces" -msgstr "" - -msgid "" -"This option enables the number of parallel downloads that can occur during " -"installation" -msgstr "" - -msgid "" -"Enter the number of parallel downloads to be enabled.\n" -" (Enter a value between 1 to {})\n" -"Note:" -msgstr "" - -msgid "" -" - Maximum value : {} ( Allows {} parallel downloads, allows {} downloads " -"at a time )" -msgstr "" - -msgid "" -" - Minimum value : 1 ( Allows 1 parallel download, allows 2 downloads at a " -"time )" -msgstr "" - -msgid "" -" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 " -"download at a time )" -msgstr "" - -#, python-brace-format -msgid "" -"Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to " -"disable]" -msgstr "" - -msgid "Parallel Downloads" -msgstr "" - -msgid "Pacman" -msgstr "" - -msgid "Color" -msgstr "" - -#, python-brace-format -msgid "Enter the number of parallel downloads (1-{})" -msgstr "" - -msgid "Enable colored output for pacman" -msgstr "" - -msgid "ESC to skip" -msgstr "" - -msgid "CTRL+C to reset" -msgstr "" - -msgid "TAB to select" -msgstr "" - -msgid "[Default value: 0] > " -msgstr "" - -msgid "" -"To be able to use this translation, please install a font manually that " -"supports the language." -msgstr "" - -msgid "The font should be stored as {}" -msgstr "" - -msgid "Archinstall requires root privileges to run. See --help for more." -msgstr "" - -msgid "Select an execution mode" -msgstr "" - -#, python-brace-format -msgid "Unable to fetch profile from specified url: {}" -msgstr "" - -#, python-brace-format -msgid "" -"Profiles must have unique name, but profile definitions with duplicate name " -"found: {}" -msgstr "" - -msgid "Select one or more devices to use and configure" -msgstr "" - -msgid "" -"If you reset the device selection this will also reset the current disk " -"layout. Are you sure?" -msgstr "" - -msgid "Existing Partitions" -msgstr "" - -msgid "Select a partitioning option" -msgstr "" - -msgid "Enter the root directory of the mounted devices: " -msgstr "" - -#, python-brace-format -msgid "Minimum capacity for /home partition: {}GiB\n" -msgstr "" - -#, python-brace-format -msgid "Minimum capacity for Arch Linux partition: {}GiB" -msgstr "" - -msgid "" -"This is a list of pre-programmed profiles_bck, they might make it easier to " -"install things like desktop environments" -msgstr "" - -msgid "Current profile selection" -msgstr "" - -msgid "Remove all newly added partitions" -msgstr "" - -msgid "Assign mountpoint" -msgstr "" - -msgid "Mark/Unmark to be formatted (wipes data)" -msgstr "" - -msgid "Mark/Unmark as bootable" -msgstr "" - -msgid "Change filesystem" -msgstr "" - -msgid "Mark/Unmark as compressed" -msgstr "" - -msgid "Set subvolumes" -msgstr "" - -msgid "Delete partition" -msgstr "" - -msgid "Partition" -msgstr "" - -msgid "" -"This partition is currently encrypted, to format it a filesystem has to be " -"specified" -msgstr "" - -msgid "" -"Partition mount-points are relative to inside the installation, the boot " -"would be /boot as an example." -msgstr "" - -msgid "" -"If mountpoint /boot is set, then the partition will also be marked as " -"bootable." -msgstr "" - -msgid "Mountpoint: " -msgstr "" - -msgid "Current free sectors on device {}:" -msgstr "" - -msgid "Total sectors: {}" -msgstr "" - -msgid "Enter the start sector (default: {}): " -msgstr "" - -msgid "" -"Enter the end sector of the partition (percentage or block number, default: " -"{}): " -msgstr "" - -msgid "This will remove all newly added partitions, continue?" -msgstr "" - -#, python-brace-format -msgid "Partition management: {}" -msgstr "" - -#, python-brace-format -msgid "Total length: {}" -msgstr "" - -msgid "Encryption type" -msgstr "" - -msgid "Iteration time" -msgstr "" - -msgid "Enter iteration time for LUKS encryption (in milliseconds)" -msgstr "" - -msgid "Higher values increase security but slow down boot time" -msgstr "" - -msgid "Default: 10000ms, Recommended range: 1000-60000" -msgstr "" - -msgid "Iteration time cannot be empty" -msgstr "" - -msgid "Iteration time must be at least 100ms" -msgstr "" - -msgid "Iteration time must be at most 120000ms" -msgstr "" - -msgid "Please enter a valid number" -msgstr "" - -msgid "Partitions" -msgstr "" - -msgid "No HSM devices available" -msgstr "" - -msgid "Partitions to be encrypted" -msgstr "" - -msgid "Select disk encryption option" -msgstr "" - -msgid "Select a FIDO2 device to use for HSM" -msgstr "" - -msgid "Use a best-effort default partition layout" -msgstr "" - -msgid "Manual Partitioning" -msgstr "" - -msgid "Pre-mounted configuration" -msgstr "" - -msgid "Unknown" -msgstr "" - -msgid "Partition encryption" -msgstr "" - -#, python-brace-format -msgid " ! Formatting {} in " -msgstr "" - -msgid "← Back" -msgstr "" - -msgid "Disk encryption" -msgstr "" - -msgid "Configuration" -msgstr "" - -msgid "Password" -msgstr "" - -msgid "All settings will be reset, are you sure?" -msgstr "" - -msgid "Back" -msgstr "" - -msgid "Please chose which greeter to install for the chosen profiles: {}" -msgstr "" - -#, python-brace-format -msgid "Environment type: {}" -msgstr "" - -msgid "" -"The proprietary Nvidia driver is not supported by Sway. It is likely that " -"you will run into issues, are you okay with that?" -msgstr "" - -msgid "Installed packages" -msgstr "" - -msgid "Add profile" -msgstr "" - -msgid "Edit profile" -msgstr "" - -msgid "Delete profile" -msgstr "" - -msgid "Profile name: " -msgstr "" - -msgid "The profile name you entered is already in use. Try again" -msgstr "" - -msgid "" -"Packages to be install with this profile (space separated, leave blank to " -"skip): " -msgstr "" - -msgid "" -"Services to be enabled with this profile (space separated, leave blank to " -"skip): " -msgstr "" - -msgid "Should this profile be enabled for installation?" -msgstr "" - -msgid "Create your own" -msgstr "" - -msgid "" -"\n" -"Select a graphics driver or leave blank to install all open-source drivers" -msgstr "" - -msgid "" -"Sway needs access to your seat (collection of hardware devices i.e. " -"keyboard, mouse, etc)" -msgstr "" - -msgid "" -"\n" -"\n" -"Choose an option to give Sway access to your hardware" -msgstr "" - -msgid "Graphics driver" -msgstr "" - -msgid "Greeter" -msgstr "" - -msgid "Please chose which greeter to install" -msgstr "" - -msgid "This is a list of pre-programmed default_profiles" -msgstr "" - -msgid "Disk configuration" -msgstr "" - -msgid "Profiles" -msgstr "" - -msgid "Finding possible directories to save configuration files ..." -msgstr "" - -msgid "Select directory (or directories) for saving configuration files" -msgstr "" - -msgid "Add a custom mirror" -msgstr "" - -msgid "Change custom mirror" -msgstr "" - -msgid "Delete custom mirror" -msgstr "" - -msgid "Enter name (leave blank to skip): " -msgstr "" - -msgid "Enter url (leave blank to skip): " -msgstr "" - -msgid "Select signature check option" -msgstr "" - -msgid "Select signature option" -msgstr "" - -msgid "Custom mirrors" -msgstr "" - -msgid "Defined" -msgstr "" - -msgid "Save user configuration (including disk layout)" -msgstr "" - -msgid "" -"Enter a directory for the configuration(s) to be saved (tab completion " -"enabled)\n" -"Save directory: " -msgstr "" - -msgid "" -"Do you want to save {} configuration file(s) in the following location?\n" -"\n" -"{}" -msgstr "" - -msgid "Saving {} configuration files to {}" -msgstr "" - -msgid "Mirrors" -msgstr "" - -msgid "Mirror regions" -msgstr "" - -msgid "" -" - Maximum value : {} ( Allows {} parallel downloads, allows " -"{max_downloads+1} downloads at a time )" -msgstr "" - -msgid "Invalid input! Try again with a valid input [1 to {}, or 0 to disable]" -msgstr "" - -msgid "Locales" -msgstr "" - -msgid "" -"Use NetworkManager (necessary to configure internet graphically in GNOME and " -"KDE)" -msgstr "" - -msgid "Total: {} / {}" -msgstr "" - -msgid "All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB..." -msgstr "" - -msgid "If no unit is provided, the value is interpreted as sectors" -msgstr "" - -msgid "Enter start (default: sector {}): " -msgstr "" - -msgid "Enter end (default: {}): " -msgstr "" - -msgid "Unable to determine fido2 devices. Is libfido2 installed?" -msgstr "" - -msgid "Path" -msgstr "" - -msgid "Manufacturer" -msgstr "" - -msgid "Product" -msgstr "" - -#, python-brace-format -msgid "Invalid configuration: {}" -msgstr "" - -msgid "Ready to install" -msgstr "" - -msgid "Disks" -msgstr "" - -msgid "Packages" -msgstr "" - -msgid "Network" -msgstr "" - -msgid "Locale" -msgstr "" - -msgid "Type" -msgstr "" - -msgid "" -"This option enables the number of parallel downloads that can occur during " -"package downloads" -msgstr "" - -msgid "" -"Enter the number of parallel downloads to be enabled.\n" -"\n" -"Note:\n" -msgstr "" - -#, python-brace-format -msgid "" -" - Maximum recommended value : {} ( Allows {} parallel downloads at a time )" -msgstr "" - -msgid "" -" - Disable/Default : 0 ( Disables parallel downloading, allows only 1 " -"download at a time )\n" -msgstr "" - -msgid "Invalid input! Try again with a valid input [or 0 to disable]" -msgstr "" - -msgid "" -"Hyprland needs access to your seat (collection of hardware devices i.e. " -"keyboard, mouse, etc)" -msgstr "" - -msgid "" -"\n" -"\n" -"Choose an option to give Hyprland access to your hardware" -msgstr "" - -msgid "" -"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB..." -msgstr "" - -msgid "Would you like to use unified kernel images?" -msgstr "" - -msgid "Unified kernel images" -msgstr "" - -msgid "Waiting for time sync (timedatectl show) to complete." -msgstr "" - -msgid "" -"Time syncronization not completing, while you wait - check the docs for " -"workarounds: https://archinstall.readthedocs.io/" -msgstr "" - -msgid "" -"Skipping waiting for automatic time sync (this can cause issues if time is " -"out of sync during installation)" -msgstr "" - -msgid "" -"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete." -msgstr "" - -msgid "Selected profiles: " -msgstr "" - -msgid "" -"Time synchronization not completing, while you wait - check the docs for " -"workarounds: https://archinstall.readthedocs.io/" -msgstr "" - -msgid "Mark/Unmark as nodatacow" -msgstr "" - -msgid "Would you like to use compression or disable CoW?" -msgstr "" - -msgid "Use compression" -msgstr "" - -msgid "Disable Copy-on-Write" -msgstr "" - -msgid "" -"Provides a selection of desktop environments and tiling window managers, " -"e.g. GNOME, KDE Plasma, Sway" -msgstr "" - -#, python-brace-format -msgid "Configuration type: {}" -msgstr "" - -msgid "LVM configuration type" -msgstr "" - -msgid "" -"LVM disk encryption with more than 2 partitions is currently not supported" -msgstr "" - -msgid "" -"Use NetworkManager (necessary to configure internet graphically in GNOME and " -"KDE Plasma)" -msgstr "" - -msgid "Select a LVM option" -msgstr "" - -msgid "Partitioning" -msgstr "" - -msgid "Logical Volume Management (LVM)" -msgstr "" - -msgid "Physical volumes" -msgstr "" - -msgid "Volumes" -msgstr "" - -msgid "LVM volumes" -msgstr "" - -msgid "LVM volumes to be encrypted" -msgstr "" - -msgid "Select which LVM volumes to encrypt" -msgstr "" - -msgid "Default layout" -msgstr "" - -msgid "No Encryption" -msgstr "" - -msgid "LUKS" -msgstr "" - -msgid "LVM on LUKS" -msgstr "" - -msgid "LUKS on LVM" -msgstr "" - -msgid "Yes" -msgstr "" - -msgid "No" -msgstr "" - -msgid "Archinstall help" -msgstr "" - -msgid " (default)" -msgstr "" - -msgid "Press Ctrl+h for help" -msgstr "" - -msgid "Choose an option to give Sway access to your hardware" -msgstr "" - -msgid "Seat access" -msgstr "" - -msgid "Mountpoint" -msgstr "" - -msgid "HSM" -msgstr "" - -msgid "Enter disk encryption password (leave blank for no encryption)" -msgstr "" - -msgid "Disk encryption password" -msgstr "" - -msgid "Partition - New" -msgstr "" - -msgid "Filesystem" -msgstr "" - -msgid "Invalid size" -msgstr "" - -msgid "Start (default: sector {}): " -msgstr "" - -msgid "End (default: {}): " -msgstr "" - -msgid "Subvolume name" -msgstr "" - -msgid "Disk configuration type" -msgstr "" - -msgid "Root mount directory" -msgstr "" - -msgid "Select language" -msgstr "" - -msgid "" -"Write additional packages to install (space separated, leave blank to skip)" -msgstr "" - -msgid "Invalid download number" -msgstr "" - -msgid "Number downloads" -msgstr "" - -msgid "The username you entered is invalid" -msgstr "" - -msgid "Username" -msgstr "" - -#, python-brace-format -msgid "Should \"{}\" be a superuser (sudo)?\n" -msgstr "" - -msgid "Interfaces" -msgstr "" - -msgid "You need to enter a valid IP in IP-config mode" -msgstr "" - -msgid "Modes" -msgstr "" - -msgid "IP address" -msgstr "" - -msgid "Enter your gateway (router) IP address (leave blank for none)" -msgstr "" - -msgid "Gateway address" -msgstr "" - -msgid "Enter your DNS servers with space separated (leave blank for none)" -msgstr "" - -msgid "DNS servers" -msgstr "" - -msgid "Configure interfaces" -msgstr "" - -msgid "Kernel" -msgstr "" - -msgid "UEFI is not detected and some options are disabled" -msgstr "" - -msgid "Info" -msgstr "" - -msgid "The proprietary Nvidia driver is not supported by Sway." -msgstr "" - -msgid "It is likely that you will run into issues, are you okay with that?" -msgstr "" - -msgid "Main profile" -msgstr "" - -msgid "Confirm password" -msgstr "" - -msgid "The confirmation password did not match, please try again" -msgstr "" - -msgid "Not a valid directory" -msgstr "" - -msgid "Would you like to continue?" -msgstr "" - -msgid "Directory" -msgstr "" - -msgid "" -"Enter a directory for the configuration(s) to be saved (tab completion " -"enabled)" -msgstr "" - -#, python-brace-format -msgid "Do you want to save the configuration file(s) to {}?" -msgstr "" - -msgid "Enabled" -msgstr "" - -msgid "Disabled" -msgstr "" - -msgid "" -"Please submit this issue (and file) to https://github.com/archlinux/" -"archinstall/issues" -msgstr "" - -msgid "Mirror name" -msgstr "" - -msgid "Url" -msgstr "" - -msgid "Select signature check" -msgstr "" - -msgid "Select execution mode" -msgstr "" - -msgid "Press ? for help" -msgstr "" - -msgid "Choose an option to give Hyprland access to your hardware" -msgstr "" - -msgid "Additional repositories" -msgstr "" - -msgid "NTP" -msgstr "" - -msgid "Swap on zram" -msgstr "" - -msgid "Name" -msgstr "" - -msgid "Signature check" -msgstr "" - -#, python-brace-format -msgid "Selected free space segment on device {}:" -msgstr "" - -#, python-brace-format -msgid "Size: {} / {}" -msgstr "" - -#, python-brace-format -msgid "Size (default: {}): " -msgstr "" - -msgid "HSM device" -msgstr "" - -msgid "Some packages could not be found in the repository" -msgstr "" - -msgid "User" -msgstr "" - -msgid "The specified configuration will be applied" -msgstr "" - -msgid "Wipe" -msgstr "" - -msgid "Mark/Unmark as XBOOTLDR" -msgstr "" - -msgid "Loading packages..." -msgstr "" - -msgid "" -"Select any packages from the below list that should be installed additionally" -msgstr "" - -msgid "Add a custom repository" -msgstr "" - -msgid "Change custom repository" -msgstr "" - -msgid "Delete custom repository" -msgstr "" - -msgid "Repository name" -msgstr "" - -msgid "Add a custom server" -msgstr "" - -msgid "Change custom server" -msgstr "" - -msgid "Delete custom server" -msgstr "" - -msgid "Server url" -msgstr "" - -msgid "Select regions" -msgstr "" - -msgid "Add custom servers" -msgstr "" - -msgid "Add custom repository" -msgstr "" - -msgid "Loading mirror regions..." -msgstr "" - -msgid "Mirrors and repositories" -msgstr "" - -msgid "Selected mirror regions" -msgstr "" - -msgid "Custom servers" -msgstr "" - -msgid "Custom repositories" -msgstr "" - -msgid "Only ASCII characters are supported" -msgstr "" - -msgid "Show help" -msgstr "" - -msgid "Exit help" -msgstr "" - -msgid "Preview scroll up" -msgstr "" - -msgid "Preview scroll down" -msgstr "" - -msgid "Move up" -msgstr "" - -msgid "Move down" -msgstr "" - -msgid "Move right" -msgstr "" - -msgid "Move left" -msgstr "" - -msgid "Jump to entry" -msgstr "" - -msgid "Skip selection (if available)" -msgstr "" - -msgid "Reset selection (if available)" -msgstr "" - -msgid "Select on single select" -msgstr "" - -msgid "Select on multi select" -msgstr "" - -msgid "Reset" -msgstr "" - -msgid "Skip selection menu" -msgstr "" - -msgid "Start search mode" -msgstr "" - -msgid "Exit search mode" -msgstr "" - -msgid "General" -msgstr "" - -msgid "Navigation" -msgstr "" - -msgid "Selection" -msgstr "" - -msgid "Search" -msgstr "" - -msgid "Down" -msgstr "" - -msgid "Up" -msgstr "" - -msgid "Confirm" -msgstr "" - -msgid "Focus right" -msgstr "" - -msgid "Focus left" -msgstr "" - -msgid "Toggle" -msgstr "" - -msgid "Show/Hide help" -msgstr "" - -msgid "Quit" -msgstr "" - -msgid "First" -msgstr "" - -msgid "Last" -msgstr "" - -msgid "Select" -msgstr "" - -msgid "Page Up" -msgstr "" - -msgid "Page Down" -msgstr "" - -msgid "Page up" -msgstr "" - -msgid "Page down" -msgstr "" - -msgid "Page Left" -msgstr "" - -msgid "Page Right" -msgstr "" - -msgid "Cursor up" -msgstr "" - -msgid "Cursor down" -msgstr "" - -msgid "Cursor right" -msgstr "" - -msgid "Cursor left" -msgstr "" - -msgid "Top" -msgstr "" - -msgid "Bottom" -msgstr "" - -msgid "Home" -msgstr "" - -msgid "End" -msgstr "" - -msgid "Toggle option" -msgstr "" - -msgid "Scroll Up" -msgstr "" - -msgid "Scroll Down" -msgstr "" - -msgid "Scroll Left" -msgstr "" - -msgid "Scroll Right" -msgstr "" - -msgid "Scroll Home" -msgstr "" - -msgid "Scroll End" -msgstr "" - -msgid "Focus Next" -msgstr "" - -msgid "Focus Previous" -msgstr "" - -msgid "Copy selected text" -msgstr "" - -msgid "" -"labwc needs access to your seat (collection of hardware devices i.e. " -"keyboard, mouse, etc)" -msgstr "" - -msgid "Choose an option to give labwc access to your hardware" -msgstr "" - -msgid "" -"niri needs access to your seat (collection of hardware devices i.e. " -"keyboard, mouse, etc)" -msgstr "" - -msgid "Choose an option to give niri access to your hardware" -msgstr "" - -msgid "Mark/Unmark as ESP" -msgstr "" - -msgid "Package group:" -msgstr "" - -msgid "Exit archinstall" -msgstr "" - -msgid "Reboot system" -msgstr "" - -msgid "chroot into installation for post-installation configurations" -msgstr "" - -msgid "Installation completed" -msgstr "" - -msgid "What would you like to do next?" -msgstr "" - -#, python-brace-format -msgid "Select which mode to configure for \"{}\"" -msgstr "" - -msgid "Incorrect credentials file decryption password" -msgstr "" - -msgid "Incorrect password" -msgstr "" - -msgid "Credentials file decryption password" -msgstr "" - -msgid "Do you want to encrypt the user_credentials.json file?" -msgstr "" - -msgid "Credentials file encryption password" -msgstr "" - -#, python-brace-format -msgid "Repositories: {}" -msgstr "" - -msgid "New version available" -msgstr "" - -msgid "Passwordless login" -msgstr "" - -msgid "Second factor login" -msgstr "" - -msgid "Bluetooth" -msgstr "" - -msgid "Would you like to configure Bluetooth?" -msgstr "" - -msgid "Print service" -msgstr "" - -msgid "Would you like to configure the print service?" -msgstr "" - -msgid "Power management" -msgstr "" - -msgid "Authentication" -msgstr "" - -msgid "Applications" -msgstr "" - -msgid "U2F login method: " -msgstr "" - -msgid "Passwordless sudo: " -msgstr "" - -#, python-brace-format -msgid "Btrfs snapshot type: {}" -msgstr "" - -msgid "Syncing the system..." -msgstr "" - -msgid "Value cannot be empty" -msgstr "" - -msgid "Snapshot type" -msgstr "" - -#, python-brace-format -msgid "Snapshot type: {}" -msgstr "" - -msgid "U2F login setup" -msgstr "" - -msgid "No U2F devices found" -msgstr "" - -msgid "U2F Login Method" -msgstr "" - -msgid "Enable passwordless sudo?" -msgstr "" - -#, python-brace-format -msgid "Setting up U2F device for user: {}" -msgstr "" - -msgid "" -"You may need to enter the PIN and then touch your U2F device to register it" -msgstr "" - -msgid "Starting device modifications in " -msgstr "" - -msgid "No network connection found" -msgstr "" - -msgid "Would you like to connect to a Wifi?" -msgstr "" - -msgid "No wifi interface found" -msgstr "" - -msgid "Select wifi network to connect to" -msgstr "" - -msgid "Scanning wifi networks..." -msgstr "" - -msgid "No wifi networks found" -msgstr "" - -msgid "Failed setting up wifi" -msgstr "" - -msgid "Enter wifi password" -msgstr "" - -msgid "Ok" -msgstr "" - -msgid "Removable" -msgstr "" - -msgid "Install to removable location" -msgstr "" - -msgid "Will install to /EFI/BOOT/ (removable location)" -msgstr "" - -msgid "Will install to standard location with NVRAM entry" -msgstr "" - -msgid "" -"Would you like to install the bootloader to the default removable media " -"search location?" -msgstr "" - -msgid "" -"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is " -"useful for:" -msgstr "" - -msgid "USB drives or other portable external media." -msgstr "" - -msgid "Systems where you want the disk to be bootable on any computer." -msgstr "" - -msgid "Firmware that does not properly support NVRAM boot entries." -msgstr "" - -msgid "Will install to /EFI/BOOT/ (removable location, safe default)" -msgstr "" - -msgid "Will install to custom location with NVRAM entry" -msgstr "" - -msgid "" -"Firmware that does not properly support NVRAM boot entries like most MSI " -"motherboards," -msgstr "" - -msgid "most Apple Macs, many laptops..." -msgstr "" - -msgid "Language" -msgstr "" - -msgid "Compression algorithm" -msgstr "" - -msgid "" -"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and " -"optional profile packages are installed." -msgstr "" - -msgid "Select zram compression algorithm:" -msgstr "" - -msgid "Use Network Manager (default backend)" -msgstr "" - -msgid "Use Network Manager (iwd backend)" -msgstr "" - -msgid "Firewall" -msgstr "" - -msgid "Additional fonts" -msgstr "" - -msgid "Select font packages to install" -msgstr "" - -msgid "Unicode font coverage for most languages" -msgstr "" - -msgid "color emoji for browsers and apps" -msgstr "" - -msgid "Chinese, Japanese, Korean characters" -msgstr "" - -msgid "Select audio configuration" -msgstr "" - -msgid "Enter credentials file decryption password" -msgstr "" - -msgid "Enter root password" -msgstr "" - -msgid "Select bootloader to install" -msgstr "" - -msgid "Configuration preview" -msgstr "" - -msgid "Enter a directory for the configuration(s) to be saved" -msgstr "" - -msgid "Select encryption type" -msgstr "" - -msgid "Select disks for the installation" -msgstr "" - -msgid "Enter a mountpoint" -msgstr "" - -#, python-brace-format -msgid "Enter a size (default: {}): " -msgstr "" - -msgid "Enter subvolume name" -msgstr "" - -msgid "Enter subvolume mountpoint" -msgstr "" - -msgid "Select a disk configuration" -msgstr "" - -msgid "Enter root mount directory" -msgstr "" - -msgid "You will use whatever drive-setup is mounted at the specified directory" -msgstr "" - -msgid "WARNING: Archinstall won't check the suitability of this setup" -msgstr "" - -msgid "Select main filesystem" -msgstr "" - -msgid "Enter a hostname" -msgstr "" - -msgid "Select timezone" -msgstr "" - -msgid "Enter the number of parallel downloads to be enabled" -msgstr "" - -#, python-brace-format -msgid "Value must be between 1 and {}" -msgstr "" - -msgid "Select which kernel(s) to install" -msgstr "" - -msgid "Enter a respository name" -msgstr "" - -msgid "Enter the repository url" -msgstr "" - -msgid "Enter server url" -msgstr "" - -msgid "Select mirror regions to be enabled" -msgstr "" - -msgid "Select optional repositories to be enabled" -msgstr "" - -msgid "Select an interface" -msgstr "" - -msgid "Choose network configuration" -msgstr "" - -msgid "Recommended: Network Manager for desktop, Manual for server" -msgstr "" - -msgid "" -"Warning: no network configuration selected. Network will need to be set up " -"manually on the installed system." -msgstr "" - -msgid "No packages found" -msgstr "" - -msgid "Select which greeter to install" -msgstr "" - -msgid "Select a profile type" -msgstr "" - -msgid "Enter new password" -msgstr "" - -msgid "Enter a username" -msgstr "" - -msgid "Enter a password" -msgstr "" - -msgid "The password did not match, please try again" -msgstr "" - -msgid "Password strength: Weak" -msgstr "" - -msgid "Password strength: Moderate" -msgstr "" - -msgid "Password strength: Strong" -msgstr "" - -msgid "" -"The selected desktop profile requires a regular user to log in via the " -"greeter" -msgstr "" - -#, python-brace-format -msgid "Environment type: {} {}" -msgstr "" - -msgid "Input cannot be empty" -msgstr "" - msgid "Recommended" msgstr "" @@ -2266,34 +22,15 @@ msgstr "" msgid "Minimal KDE Plasma installation" msgstr "" +msgid "Type" +msgstr "" + msgid "Description" msgstr "" msgid "Select a flavor of KDE Plasma to install" msgstr "" -msgid "Arial/Times/Courier replacement, Cyrillic support for Steam/games" -msgstr "" - -msgid "wide Unicode coverage, good fallback font" -msgstr "" - -#, python-brace-format -msgid "Setting up U2F login: {u2f_config.u2f_login_method.value}" -msgstr "" - -#, python-brace-format -msgid "Default: {DEFAULT_ITER_TIME}ms, Recommended range: 1000-60000" -msgstr "" - -#, python-brace-format -msgid "Setting up U2F login: {}" -msgstr "" - -#, python-brace-format -msgid "Default: {}ms, Recommended range: 1000-60000" -msgstr "" - #, python-brace-format msgid "{} needs access to your seat" msgstr "" @@ -2306,17 +43,50 @@ msgid "Choose an option how to give {} access to your hardware" msgstr "" #, python-brace-format -msgid "About to upload \"{}\" to the publicly accessible {}" -msgstr "" - -msgid "Do you want to continue?" +msgid "Environment type: {} {}" msgstr "" #, python-brace-format -msgid "Log uploaded successfully. URL: {}" +msgid "Environment type: {}" msgstr "" -msgid "Failed to upload log." +msgid "Installed packages" +msgstr "" + +msgid "Bluetooth" +msgstr "" + +msgid "Audio" +msgstr "" + +msgid "Print service" +msgstr "" + +msgid "Power management" +msgstr "" + +msgid "Firewall" +msgstr "" + +msgid "Additional fonts" +msgstr "" + +msgid "Enabled" +msgstr "" + +msgid "Disabled" +msgstr "" + +msgid "Would you like to configure Bluetooth?" +msgstr "" + +msgid "Would you like to configure the print service?" +msgstr "" + +msgid "Select audio configuration" +msgstr "" + +msgid "Select font packages to install" msgstr "" msgid "ArchInstall Language" @@ -2328,12 +98,54 @@ msgstr "" msgid "Installation Script" msgstr "" +msgid "Locales" +msgstr "" + +msgid "Disk configuration" +msgstr "" + +msgid "Profile" +msgstr "" + +msgid "Mirrors and repositories" +msgstr "" + +msgid "Network" +msgstr "" + +msgid "Bootloader" +msgstr "" + msgid "Application" msgstr "" +msgid "Authentication" +msgstr "" + +msgid "Swap" +msgstr "" + +msgid "Hostname" +msgstr "" + +msgid "Kernels" +msgstr "" + +msgid "Automatic time sync (NTP)" +msgstr "" + +msgid "Timezone" +msgstr "" + msgid "Services" msgstr "" +msgid "Additional packages" +msgstr "" + +msgid "Pacman" +msgstr "" + msgid "Custom commands" msgstr "" @@ -2343,6 +155,678 @@ msgstr "" msgid "Root encrypted password" msgstr "" +msgid "Disk encryption password" +msgstr "" + +msgid "Incorrect credentials file decryption password" +msgstr "" + +msgid "Enter credentials file decryption password" +msgstr "" + +msgid "Incorrect password" +msgstr "" + +#, python-brace-format +msgid "Setting up U2F login: {}" +msgstr "" + +#, python-brace-format +msgid "Setting up U2F device for user: {}" +msgstr "" + +msgid "" +"You may need to enter the PIN and then touch your U2F device to register it" +msgstr "" + +msgid "Root password" +msgstr "" + +msgid "User account" +msgstr "" + +msgid "U2F login setup" +msgstr "" + +msgid "U2F login method: " +msgstr "" + +msgid "Passwordless sudo: " +msgstr "" + +msgid "No U2F devices found" +msgstr "" + +msgid "Enter root password" +msgstr "" + +msgid "Enable passwordless sudo?" +msgstr "" + +msgid "Unified kernel images" +msgstr "" + +msgid "Install to removable location" +msgstr "" + +msgid "Will install to /EFI/BOOT/ (removable location, safe default)" +msgstr "" + +msgid "Will install to custom location with NVRAM entry" +msgstr "" + +msgid "Would you like to use unified kernel images?" +msgstr "" + +msgid "" +"Would you like to install the bootloader to the default removable media " +"search location?" +msgstr "" + +msgid "" +"This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is " +"useful for:" +msgstr "" + +msgid "" +"Firmware that does not properly support NVRAM boot entries like most MSI " +"motherboards," +msgstr "" + +msgid "most Apple Macs, many laptops..." +msgstr "" + +msgid "USB drives or other portable external media." +msgstr "" + +msgid "Systems where you want the disk to be bootable on any computer." +msgstr "" + +msgid "Select bootloader to install" +msgstr "" + +msgid "UEFI is not detected and some options are disabled" +msgstr "" + +msgid "The specified configuration will be applied" +msgstr "" + +msgid "Would you like to continue?" +msgstr "" + +msgid "Configuration preview" +msgstr "" + +msgid "No configuration" +msgstr "" + +msgid "Save user configuration (including disk layout)" +msgstr "" + +msgid "Save user credentials" +msgstr "" + +msgid "Save all" +msgstr "" + +msgid "Enter a directory for the configuration(s) to be saved" +msgstr "" + +#, python-brace-format +msgid "Do you want to save the configuration file(s) to {}?" +msgstr "" + +msgid "Do you want to encrypt the user_credentials.json file?" +msgstr "" + +msgid "Credentials file encryption password" +msgstr "" + +msgid "Partitioning" +msgstr "" + +msgid "Disk encryption" +msgstr "" + +#, python-brace-format +msgid "Configuration type: {}" +msgstr "" + +msgid "Mountpoint" +msgstr "" + +msgid "Configuration" +msgstr "" + +msgid "Wipe" +msgstr "" + +msgid "Physical volumes" +msgstr "" + +msgid "Volumes" +msgstr "" + +#, python-brace-format +msgid "Snapshot type: {}" +msgstr "" + +msgid "" +"LVM disk encryption with more than 2 partitions is currently not supported" +msgstr "" + +msgid "Encryption type" +msgstr "" + +msgid "Password" +msgstr "" + +msgid "Iteration time" +msgstr "" + +msgid "Select disks for the installation" +msgstr "" + +msgid "Partitions" +msgstr "" + +msgid "Select a disk configuration" +msgstr "" + +msgid "Enter root mount directory" +msgstr "" + +msgid "You will use whatever drive-setup is mounted at the specified directory" +msgstr "" + +msgid "WARNING: Archinstall won't check the suitability of this setup" +msgstr "" + +msgid "Select main filesystem" +msgstr "" + +msgid "Would you like to use compression or disable CoW?" +msgstr "" + +msgid "Use compression" +msgstr "" + +msgid "Disable Copy-on-Write" +msgstr "" + +msgid "Would you like to use BTRFS subvolumes with a default structure?" +msgstr "" + +msgid "Would you like to create a separate partition for /home?" +msgstr "" + +msgid "" +"The selected drives do not have the minimum capacity required for an " +"automatic suggestion\n" +msgstr "" + +#, python-brace-format +msgid "Minimum capacity for /home partition: {}GiB\n" +msgstr "" + +#, python-brace-format +msgid "Minimum capacity for Arch Linux partition: {}GiB" +msgstr "" + +msgid "Encryption password" +msgstr "" + +msgid "LVM volumes" +msgstr "" + +msgid "HSM" +msgstr "" + +msgid "Partitions to be encrypted" +msgstr "" + +msgid "LVM volumes to be encrypted" +msgstr "" + +msgid "HSM device" +msgstr "" + +msgid "Select encryption type" +msgstr "" + +msgid "Enter disk encryption password (leave blank for no encryption)" +msgstr "" + +msgid "Select a FIDO2 device to use for HSM" +msgstr "" + +msgid "Enter iteration time for LUKS encryption (in milliseconds)" +msgstr "" + +msgid "Higher values increase security but slow down boot time" +msgstr "" + +#, python-brace-format +msgid "Default: {}ms, Recommended range: 1000-60000" +msgstr "" + +msgid "Iteration time must be at least 100ms" +msgstr "" + +msgid "Iteration time must be at most 120000ms" +msgstr "" + +msgid "Please enter a valid number" +msgstr "" + +msgid "Suggest partition layout" +msgstr "" + +msgid "Remove all newly added partitions" +msgstr "" + +msgid "Assign mountpoint" +msgstr "" + +msgid "Mark/Unmark to be formatted (wipes data)" +msgstr "" + +msgid "Mark/Unmark as bootable" +msgstr "" + +msgid "Mark/Unmark as ESP" +msgstr "" + +msgid "Mark/Unmark as XBOOTLDR" +msgstr "" + +msgid "Change filesystem" +msgstr "" + +msgid "Mark/Unmark as compressed" +msgstr "" + +msgid "Mark/Unmark as nodatacow" +msgstr "" + +msgid "Set subvolumes" +msgstr "" + +msgid "Delete partition" +msgstr "" + +#, python-brace-format +msgid "Partition management: {}" +msgstr "" + +#, python-brace-format +msgid "Total length: {}" +msgstr "" + +msgid "Partition - New" +msgstr "" + +msgid "Partition" +msgstr "" + +msgid "" +"This partition is currently encrypted, to format it a filesystem has to be " +"specified" +msgstr "" + +msgid "" +"Partition mount-points are relative to inside the installation, the boot " +"would be /boot as an example." +msgstr "" + +msgid "Enter a mountpoint" +msgstr "" + +msgid "Invalid size" +msgstr "" + +#, python-brace-format +msgid "Selected free space segment on device {}:" +msgstr "" + +#, python-brace-format +msgid "Size: {} / {}" +msgstr "" + +msgid "" +"All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB..." +msgstr "" + +msgid "If no unit is provided, the value is interpreted as sectors" +msgstr "" + +#, python-brace-format +msgid "Enter a size (default: {}): " +msgstr "" + +msgid "This will remove all newly added partitions, continue?" +msgstr "" + +msgid "Add subvolume" +msgstr "" + +msgid "Edit subvolume" +msgstr "" + +msgid "Delete subvolume" +msgstr "" + +msgid "Value cannot be empty" +msgstr "" + +msgid "Enter subvolume name" +msgstr "" + +msgid "Subvolume name" +msgstr "" + +msgid "Enter subvolume mountpoint" +msgstr "" + +msgid "Exit archinstall" +msgstr "" + +msgid "Reboot system" +msgstr "" + +msgid "chroot into installation for post-installation configurations" +msgstr "" + +msgid "" +"Would you like to use automatic time synchronization (NTP) with the default " +"time servers?\n" +msgstr "" + +msgid "" +"Hardware time and other post-configuration steps might be required in order " +"for NTP to work.\n" +"For more information, please check the Arch wiki" +msgstr "" + +msgid "Enter a hostname" +msgstr "" + +msgid "Select timezone" +msgstr "" + +msgid "What would you like to do next?" +msgstr "" + +msgid "Select which kernel(s) to install" +msgstr "" + +msgid "" +"For the best compatibility with your AMD hardware, you may want to use " +"either the all open-source or AMD / ATI options." +msgstr "" + +msgid "" +"For the best compatibility with your Intel hardware, you may want to use " +"either the all open-source or Intel options.\n" +msgstr "" + +msgid "" +"For the best compatibility with your Nvidia hardware, you may want to use " +"the Nvidia proprietary driver.\n" +msgstr "" + +msgid "Would you like to use swap on zram?" +msgstr "" + +msgid "Select zram compression algorithm:" +msgstr "" + +msgid "Archinstall language" +msgstr "" + +msgid "Applications" +msgstr "" + +msgid "Network configuration" +msgstr "" + +msgid "Save configuration" +msgstr "" + +msgid "Install" +msgstr "" + +msgid "Abort" +msgstr "" + +msgid "" +"Either root-password or at least 1 user with sudo privileges must be " +"specified" +msgstr "" + +msgid "" +"The selected desktop profile requires a regular user to log in via the " +"greeter" +msgstr "" + +msgid "Language" +msgstr "" + +msgid "NTP" +msgstr "" + +msgid "LVM configuration type" +msgstr "" + +#, python-brace-format +msgid "Btrfs snapshot type: {}" +msgstr "" + +msgid "Swap on zram" +msgstr "" + +msgid "Compression algorithm" +msgstr "" + +msgid "Parallel Downloads" +msgstr "" + +msgid "Color" +msgstr "" + +msgid "Kernel" +msgstr "" + +msgid "" +"No network configuration selected. Network will need to be set up manually " +"on the installed system." +msgstr "" + +msgid "Missing configurations:" +msgstr "" + +msgid "Invalid configuration:" +msgstr "" + +msgid "Ready to install" +msgstr "" + +msgid "Warnings:" +msgstr "" + +msgid "Profiles" +msgstr "" + +msgid "Graphics driver" +msgstr "" + +msgid "Greeter" +msgstr "" + +msgid "Selected mirror regions" +msgstr "" + +msgid "Custom servers" +msgstr "" + +msgid "Optional repositories" +msgstr "" + +msgid "Custom repositories" +msgstr "" + +#, python-brace-format +msgid "[!] A log file has been created here: {}" +msgstr "" + +msgid "" +"Please submit this issue (and file) to https://github.com/archlinux/" +"archinstall/issues" +msgstr "" + +msgid "Syncing the system..." +msgstr "" + +msgid "Waiting for time sync (timedatectl show) to complete." +msgstr "" + +msgid "" +"Time synchronization not completing, while you wait - check the docs for " +"workarounds: https://archinstall.readthedocs.io/" +msgstr "" + +msgid "" +"Skipping waiting for automatic time sync (this can cause issues if time is " +"out of sync during installation)" +msgstr "" + +msgid "" +"Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete." +msgstr "" + +msgid "Keyboard layout" +msgstr "" + +msgid "Locale language" +msgstr "" + +msgid "Locale encoding" +msgstr "" + +msgid "Console font" +msgstr "" + +msgid "Back" +msgstr "" + +msgid "Are you sure you want to reset this setting?" +msgstr "" + +msgid "Confirm and exit" +msgstr "" + +msgid "Cancel" +msgstr "" + +msgid "Password strength: Weak" +msgstr "" + +msgid "Password strength: Moderate" +msgstr "" + +msgid "Password strength: Strong" +msgstr "" + +msgid "Confirm password" +msgstr "" + +msgid "The password did not match, please try again" +msgstr "" + +msgid "Not a valid directory" +msgstr "" + +msgid "Do you really want to abort?" +msgstr "" + +msgid "Add a custom repository" +msgstr "" + +msgid "Change custom repository" +msgstr "" + +msgid "Delete custom repository" +msgstr "" + +msgid "Enter a repository name" +msgstr "" + +msgid "Name" +msgstr "" + +msgid "Enter the repository url" +msgstr "" + +msgid "Url" +msgstr "" + +msgid "Select signature check" +msgstr "" + +msgid "Signature check" +msgstr "" + +msgid "Select signature option" +msgstr "" + +msgid "Add a custom server" +msgstr "" + +msgid "Change custom server" +msgstr "" + +msgid "Delete custom server" +msgstr "" + +msgid "Enter server url" +msgstr "" + +msgid "Select regions" +msgstr "" + +msgid "Add custom servers" +msgstr "" + +msgid "Add custom repository" +msgstr "" + +msgid "Additional repositories" +msgstr "" + +msgid "Loading mirror regions..." +msgstr "" + +msgid "Select mirror regions to be enabled" +msgstr "" + +msgid "Select optional repositories to be enabled" +msgstr "" + +msgid "Unicode font coverage for most languages" +msgstr "" + +msgid "color emoji for browsers and apps" +msgstr "" + +msgid "Chinese, Japanese, Korean characters" +msgstr "" + +msgid "Arial/Times/Courier replacement, Cyrillic support for Steam/games" +msgstr "" + +msgid "wide Unicode coverage, good fallback font" +msgstr "" + msgid "Zram enabled" msgstr "" @@ -2372,6 +856,12 @@ msgstr "" msgid "Extra fonts \"{}\"" msgstr "" +msgid "Passwordless login" +msgstr "" + +msgid "Second factor login" +msgstr "" + msgid "Root password set" msgstr "" @@ -2389,6 +879,18 @@ msgstr "" msgid "UKI enabled" msgstr "" +msgid "Removable" +msgstr "" + +msgid "Use a best-effort default partition layout" +msgstr "" + +msgid "Manual Partitioning" +msgstr "" + +msgid "Pre-mounted configuration" +msgstr "" + msgid "Default" msgstr "" @@ -2417,6 +919,24 @@ msgstr "" msgid "Btrfs snapshot \"{}\"" msgstr "" +msgid "Unknown" +msgstr "" + +msgid "Default layout" +msgstr "" + +msgid "No Encryption" +msgstr "" + +msgid "LUKS" +msgstr "" + +msgid "LVM on LUKS" +msgstr "" + +msgid "LUKS on LVM" +msgstr "" + #, python-brace-format msgid "Keyboard layout \"{}\"" msgstr "" @@ -2447,19 +967,246 @@ msgstr "" msgid "Custom repositories set up" msgstr "" +msgid "Copy ISO network configuration to installation" +msgstr "" + +msgid "Use Network Manager (default backend)" +msgstr "" + +msgid "Use Network Manager (iwd backend)" +msgstr "" + msgid "Use standalone iwd" msgstr "" +msgid "Manual configuration" +msgstr "" + +msgid "Package group:" +msgstr "" + msgid "Color enabled" msgstr "" #, python-brace-format -msgid "{} grphics driver" +msgid "{} graphics driver" msgstr "" #, python-brace-format msgid "{} greeter" msgstr "" -msgid "Enter a repository name" +msgid "very weak" +msgstr "" + +msgid "weak" +msgstr "" + +msgid "moderate" +msgstr "" + +msgid "strong" +msgstr "" + +msgid "Add interface" +msgstr "" + +msgid "Edit interface" +msgstr "" + +msgid "Delete interface" +msgstr "" + +msgid "Select an interface" +msgstr "" + +msgid "You need to enter a valid IP in IP-config mode" +msgstr "" + +#, python-brace-format +msgid "Select which mode to configure for \"{}\"" +msgstr "" + +#, python-brace-format +msgid "Enter the IP and subnet for {} (example: 192.168.0.5/24): " +msgstr "" + +msgid "Enter your gateway (router) IP address (leave blank for none)" +msgstr "" + +msgid "Enter your DNS servers with space separated (leave blank for none)" +msgstr "" + +msgid "Choose network configuration" +msgstr "" + +msgid "Recommended: Network Manager for desktop, Manual for server" +msgstr "" + +msgid "Configure interfaces" +msgstr "" + +msgid "No network connection found" +msgstr "" + +msgid "Would you like to connect to a Wifi?" +msgstr "" + +msgid "No wifi interface found" +msgstr "" + +msgid "No wifi networks found" +msgstr "" + +msgid "Select wifi network to connect to" +msgstr "" + +msgid "Scanning wifi networks..." +msgstr "" + +msgid "Failed setting up wifi" +msgstr "" + +msgid "Enter wifi password" +msgstr "" + +#, python-brace-format +msgid "Repositories: {}" +msgstr "" + +msgid "Loading packages..." +msgstr "" + +msgid "No packages found" +msgstr "" + +msgid "" +"Only packages such as base, sudo, linux, linux-firmware, efibootmgr and " +"optional profile packages are installed." +msgstr "" + +msgid "" +"Note: base-devel is no longer installed by default. Add it here if you need " +"build tools." +msgstr "" + +msgid "" +"Select any packages from the below list that should be installed additionally" +msgstr "" + +#, python-brace-format +msgid "Enter the number of parallel downloads (1-{})" +msgstr "" + +#, python-brace-format +msgid "Value must be between 1 and {}" +msgstr "" + +msgid "Enable colored output for pacman" +msgstr "" + +msgid "" +"Pacman is already running, waiting maximum 10 minutes for it to terminate." +msgstr "" + +msgid "" +"Pre-existing pacman lock never exited. Please clean up any existing pacman " +"sessions before using archinstall." +msgstr "" + +msgid "The proprietary Nvidia driver is not supported by Sway." +msgstr "" + +msgid "It is likely that you will run into issues, are you okay with that?" +msgstr "" + +msgid "Selected profiles: " +msgstr "" + +msgid "Select which greeter to install" +msgstr "" + +msgid "Select a profile type" +msgstr "" + +#, python-brace-format +msgid "Unable to fetch profile from specified url: {}" +msgstr "" + +#, python-brace-format +msgid "" +"Profiles must have unique name, but profile definitions with duplicate name " +"found: {}" +msgstr "" + +msgid "Add a user" +msgstr "" + +msgid "Change password" +msgstr "" + +msgid "Promote/Demote user" +msgstr "" + +msgid "Delete User" +msgstr "" + +msgid "User" +msgstr "" + +msgid "Enter new password" +msgstr "" + +msgid "The username you entered is invalid" +msgstr "" + +msgid "Enter a username" +msgstr "" + +msgid "Username" +msgstr "" + +msgid "Enter a password" +msgstr "" + +#, python-brace-format +msgid "Should \"{}\" be a superuser (sudo)?\n" +msgstr "" + +#, python-brace-format +msgid "About to upload \"{}\" to the publicly accessible {}" +msgstr "" + +msgid "Do you want to continue?" +msgstr "" + +#, python-brace-format +msgid "Log uploaded successfully. URL: {}" +msgstr "" + +msgid "Failed to upload log." +msgstr "" + +msgid "Archinstall requires root privileges to run. See --help for more." +msgstr "" + +msgid "New version available" +msgstr "" + +msgid "Starting device modifications in " +msgstr "" + +msgid "Ok" +msgstr "" + +msgid "Input cannot be empty" +msgstr "" + +msgid "Yes" +msgstr "" + +msgid "No" +msgstr "" + +msgid " (default)" msgstr "" diff --git a/archinstall/locales/es/LC_MESSAGES/base.mo b/archinstall/locales/es/LC_MESSAGES/base.mo index 5701d454..91060f90 100644 Binary files a/archinstall/locales/es/LC_MESSAGES/base.mo and b/archinstall/locales/es/LC_MESSAGES/base.mo differ diff --git a/archinstall/locales/es/LC_MESSAGES/base.po b/archinstall/locales/es/LC_MESSAGES/base.po index d4300a4f..0c20d3ba 100644 --- a/archinstall/locales/es/LC_MESSAGES/base.po +++ b/archinstall/locales/es/LC_MESSAGES/base.po @@ -9,2155 +9,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.8\n" - -msgid "[!] A log file has been created here: {} {}" -msgstr "[!] Se ha creado un archivo de registro aquí: {} {}" - -msgid " Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues" -msgstr " Por favor envíe este problema (y archivo) a https://github.com/archlinux/archinstall/issues" - -msgid "Do you really want to abort?" -msgstr "¿Realmente desea abortar?" - -msgid "And one more time for verification: " -msgstr "Y una vez más para verificar: " - -msgid "Would you like to use swap on zram?" -msgstr "¿Le gustaría usar swap en zram?" - -msgid "Desired hostname for the installation: " -msgstr "Nombre de host deseado para la instalación: " - -msgid "Username for required superuser with sudo privileges: " -msgstr "Nombre de usuario para el superusuario con privilegios sudo: " - -msgid "Any additional users to install (leave blank for no users): " -msgstr "Algún usuario adicional a instalar (déjelo en blanco para no agregar ninguno): " - -msgid "Should this user be a superuser (sudoer)?" -msgstr "Debería este usuario ser un superusuario (sudoer)?" - -msgid "Select a timezone" -msgstr "Seleccione una zona horaria" - -msgid "Would you like to use GRUB as a bootloader instead of systemd-boot?" -msgstr "Le gustaría usar GRUB como gestor de arranque en lugar de systemd-boot?" - -msgid "Choose a bootloader" -msgstr "Elija un gestor de arranque" - -msgid "Choose an audio server" -msgstr "Elija un servidor de audio" - -msgid "Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed." -msgstr "Solo paquetes como base, base-devel, linux, linux-firmware, efibootmgr y paquetes opcionales de perfil se instalan." - -msgid "Note: base-devel is no longer installed by default. Add it here if you need build tools." -msgstr "Nota: base-devel ya no viene instalado por defecto. Agreguelo aquí si necesita herramientas de compilación." - -msgid "If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt." -msgstr "Si desea un navegador web, como firefox o chromium, puede especificarlo en el siguiente mensaje." - -msgid "Write additional packages to install (space separated, leave blank to skip): " -msgstr "Escriba paquetes adicionales para instalar (separados por espacios, deje en blanco para omitir): " - -msgid "Copy ISO network configuration to installation" -msgstr "Copiar la configuración de red ISO a la instalación" - -msgid "Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)" -msgstr "Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE)" - -msgid "Select one network interface to configure" -msgstr "Seleccione una interfaz de red para configurar" - -msgid "Select which mode to configure for \"{}\" or skip to use default mode \"{}\"" -msgstr "Seleccione qué modo configurar para \"{}\" u omita para usar el modo predeterminado \"{}\"" - -#, python-brace-format -msgid "Enter the IP and subnet for {} (example: 192.168.0.5/24): " -msgstr "Escriba la IP y subred para {} (ejemplo: 192.168.0.5/24): " - -msgid "Enter your gateway (router) IP address or leave blank for none: " -msgstr "Escriba la IP de su puerta de enlace (enrutador) o déjelo en blanco para no usar ninguna: " - -msgid "Enter your DNS servers (space separated, blank for none): " -msgstr "Ingrese sus servidores DNS (separados por espacios, en blanco para ninguno): " - -msgid "Select which filesystem your main partition should use" -msgstr "Seleccione qué sistema de archivos debe usar su partición principal" - -msgid "Current partition layout" -msgstr "Distribución actual de las particiones" - -msgid "" -"Select what to do with\n" -"{}" -msgstr "" -"Seleccione qué hacer con\n" -"{}" - -msgid "Enter a desired filesystem type for the partition" -msgstr "Ingrese un tipo de sistema de archivos deseado para la partición" - -msgid "Enter the start location (in parted units: s, GB, %, etc. ; default: {}): " -msgstr "Ingrese la ubicación de inicio (en unidades divididas: s, GB, %, etc. ; predeterminado: {}): " - -msgid "Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): " -msgstr "Ingrese la ubicación final (en unidades divididas: s, GB, %, etc. ; ej.: {}): " - -msgid "{} contains queued partitions, this will remove those, are you sure?" -msgstr "{} contiene particiones en cola, esto eliminará esas particiones, ¿está seguro?" - -msgid "" -"{}\n" -"\n" -"Select by index which partitions to delete" -msgstr "" -"{}\n" -"\n" -"Seleccione por índice qué particiones eliminar" - -msgid "" -"{}\n" -"\n" -"Select by index which partition to mount where" -msgstr "" -"{}\n" -"\n" -"Seleccione por índice qué partición montar en qué ubicación" - -msgid " * Partition mount-points are relative to inside the installation, the boot would be /boot as an example." -msgstr " * Los puntos de montaje de la partición son relativos al interior de la instalación, por ejemplo: el arranque sería /boot." - -msgid "Select where to mount partition (leave blank to remove mountpoint): " -msgstr "Seleccione dónde montar la partición (deje en blanco para eliminar el punto de montaje): " - -msgid "" -"{}\n" -"\n" -"Select which partition to mask for formatting" -msgstr "" -"{}\n" -"\n" -"Seleccione qué partición enmascarar para formatear" - -msgid "" -"{}\n" -"\n" -"Select which partition to mark as encrypted" -msgstr "" -"{}\n" -"\n" -"Seleccione qué partición marcar como encriptada" - -msgid "" -"{}\n" -"\n" -"Select which partition to mark as bootable" -msgstr "" -"{}\n" -"\n" -"Seleccione qué partición marcar como de arranque" - -msgid "" -"{}\n" -"\n" -"Select which partition to set a filesystem on" -msgstr "" -"{}\n" -"\n" -"Seleccione en qué partición establecer un sistema de archivos" - -msgid "Enter a desired filesystem type for the partition: " -msgstr "Ingrese un tipo de sistema de archivos deseado para la partición: " - -msgid "Archinstall language" -msgstr "Idioma de archinstall" - -msgid "Wipe all selected drives and use a best-effort default partition layout" -msgstr "Borrar todas las unidades seleccionadas y usar un diseño de partición predeterminado de mejor esfuerzo" - -msgid "Select what to do with each individual drive (followed by partition usage)" -msgstr "Seleccione qué hacer con cada unidad individual (seguido del uso de la partición)" - -msgid "Select what you wish to do with the selected block devices" -msgstr "Seleccione lo que desea hacer con los dispositivos de bloque seleccionados" - -msgid "This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments" -msgstr "Esta es una lista de perfiles preprogramados que podrían facilitar la instalación de cosas como entornos de escritorio" - -msgid "Select keyboard layout" -msgstr "Seleccione la distribución del teclado" - -msgid "Select one of the regions to download packages from" -msgstr "Seleccione qué región usar para descargar paquetes" - -msgid "Select one or more hard drives to use and configure" -msgstr "Seleccione uno o más discos duros para usar y configurar" - -msgid "For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options." -msgstr "Para obtener la mejor compatibilidad con su hardware AMD, es posible que desee utilizar las opciones de código abierto o AMD/ATI." - -msgid "For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\n" -msgstr "Para obtener la mejor compatibilidad con su hardware Intel, es posible que desee utilizar las opciones de código abierto o de Intel.\n" - -msgid "For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\n" -msgstr "Para obtener la mejor compatibilidad con su hardware de Nvidia, es posible que desee utilizar el controlador patentado de Nvidia.\n" - -msgid "" -"\n" -"\n" -"Select a graphics driver or leave blank to install all open-source drivers" -msgstr "" -"\n" -"\n" -"Seleccione un controlador de gráficos o déjelo en blanco para instalar todos los controladores de código abierto" - -msgid "All open-source (default)" -msgstr "Todos de código abierto (predeterminado)" - -msgid "Choose which kernels to use or leave blank for default \"{}\"" -msgstr "Elija qué núcleo usar o deje en blanco para usar el núcleo \"{}\" predeterminado" - -msgid "Choose which locale language to use" -msgstr "Elija qué idioma local usar" - -msgid "Choose which locale encoding to use" -msgstr "Elija qué codificación local usar" - -msgid "Select one of the values shown below: " -msgstr "Seleccione uno de los valores que se muestran a continuación: " - -msgid "Select one or more of the options below: " -msgstr "Seleccione una o más de las siguientes opciones: " - -msgid "Adding partition...." -msgstr "Añadiendo partición..." - -msgid "You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's." -msgstr "Debe ingresar un tipo de sistema de archivos (fs-type) válido para continuar. Consulte `man parted` para conocer los tipos válidos." - -msgid "Error: Listing profiles on URL \"{}\" resulted in:" -msgstr "Error: Listar perfiles en la URL \"{}\" resultó en:" - -msgid "Error: Could not decode \"{}\" result as JSON:" -msgstr "Error: No se pudo decodificar el resultado \"{}\" como JSON:" - -msgid "Keyboard layout" -msgstr "Distribución del teclado" - -msgid "Mirror region" -msgstr "Región del servidor" - -msgid "Locale language" -msgstr "Idioma local" - -msgid "Locale encoding" -msgstr "Codificación local" - -msgid "Drive(s)" -msgstr "Disco(s)" - -# not sure about this one... we've been saying distribución instead of diseño up to now... -msgid "Disk layout" -msgstr "Diseño del disco" - -msgid "Encryption password" -msgstr "Contraseña de cifrado" - -msgid "Swap" -msgstr "Swap" - -msgid "Bootloader" -msgstr "Gestor de arranque" - -msgid "Root password" -msgstr "Contraseña de root" - -msgid "Superuser account" -msgstr "Cuenta de superusuario" - -msgid "User account" -msgstr "Cuenta de usuario" - -msgid "Profile" -msgstr "Perfil" - -msgid "Audio" -msgstr "Audio" - -msgid "Kernels" -msgstr "Núcleos" - -msgid "Additional packages" -msgstr "Paquetes adicionales" - -msgid "Network configuration" -msgstr "Configuración de la red" - -msgid "Automatic time sync (NTP)" -msgstr "Sincronización automática de hora (NTP)" - -# are you installing missing configs or are there missing configs -msgid "Install ({} config(s) missing)" -msgstr "Instalar ({} ajuste(s) faltante(s))" - -msgid "" -"You decided to skip harddrive selection\n" -"and will use whatever drive-setup is mounted at {} (experimental)\n" -"WARNING: Archinstall won't check the suitability of this setup\n" -"Do you wish to continue?" -msgstr "" -"Ha decidido saltar la selección de discos duros\n" -"y usar la configuración montada en {} (experimental)\n" -"ADVERTENCIA: Archinstall no verificará la idoneidad de esta configuración\n" -"¿Desea continuar?" - -msgid "Re-using partition instance: {}" -msgstr "Reutilizando instancia de partición: {}" - -msgid "Create a new partition" -msgstr "Crear una nueva partición" - -msgid "Delete a partition" -msgstr "Eliminar una partición" - -msgid "Clear/Delete all partitions" -msgstr "Limpiar/Eliminar todas las particiones" - -msgid "Assign mount-point for a partition" -msgstr "Asignar punto de montaje para una partición" - -msgid "Mark/Unmark a partition to be formatted (wipes data)" -msgstr "Marcar/Desmarcar una partición para ser formateada (borra los datos)" - -msgid "Mark/Unmark a partition as encrypted" -msgstr "Marcar/Desmarcar una partición como encriptada" - -msgid "Mark/Unmark a partition as bootable (automatic for /boot)" -msgstr "Marcar/Desmarcar una partición como arrancable (automática para /boot)" - -msgid "Set desired filesystem for a partition" -msgstr "Establecer el sistema de archivos deseado para una partición" - -msgid "Abort" -msgstr "Abortar" - -msgid "Hostname" -msgstr "Nombre de host" - -msgid "Not configured, unavailable unless setup manually" -msgstr "No configurado, no disponible a menos que se configure manualmente" - -msgid "Timezone" -msgstr "Zona horaria" - -msgid "Set/Modify the below options" -msgstr "Establecer/Modificar las opciones siguientes" - -msgid "Install" -msgstr "Instalar" - -msgid "" -"Use ESC to skip\n" -"\n" -msgstr "" -"Usar ESC para saltar\n" -"\n" - -msgid "Suggest partition layout" -msgstr "Sugerir el diseño de partición" - -msgid "Enter a password: " -msgstr "Ingrese una contraseña: " - -msgid "Enter a encryption password for {}" -msgstr "Ingrese una contraseña de cifrado para {}" - -msgid "Enter disk encryption password (leave blank for no encryption): " -msgstr "Ingrese la contraseña de cifrado de disco (deje en blanco para no cifrar): " - -msgid "Create a required super-user with sudo privileges: " -msgstr "Crear un super-usuario requerido con privilegios sudo: " - -msgid "Enter root password (leave blank to disable root): " -msgstr "Ingrese la contraseña de root (deje en blanco para desactivar root): " - -msgid "Password for user \"{}\": " -msgstr "Contraseña para el usuario “{}”: " - -msgid "Verifying that additional packages exist (this might take a few seconds)" -msgstr "Verificando que los paquetes adicionales existen (esto puede tardar unos segundos)" - -msgid "Would you like to use automatic time synchronization (NTP) with the default time servers?\n" -msgstr "¿Le gustaría utilizar la sincronización automática de hora (NTP) con los servidores de hora predeterminados?\n" - -msgid "" -"Hardware time and other post-configuration steps might be required in order for NTP to work.\n" -"For more information, please check the Arch wiki" -msgstr "" -"La hora del hardware y otros pasos post-configuración pueden ser necesarios para que NTP funcione. \n" -"Para más información, por favor, consulte la wiki de Arch" - -msgid "Enter a username to create an additional user (leave blank to skip): " -msgstr "Introduzca un nombre de usuario para crear un usuario adicional (deje en blanco para saltar): " - -msgid "Use ESC to skip\n" -msgstr "Use ESC para omitir\n" - -msgid "" -"\n" -" Choose an object from the list, and select one of the available actions for it to execute" -msgstr "" -"\n" -"Elija un objeto de la lista y seleccione una de las acciones disponibles para ejecutar" - -msgid "Cancel" -msgstr "Cancelar" - -msgid "Confirm and exit" -msgstr "Confirmar y salir" - -msgid "Add" -msgstr "Añadir" - -msgid "Copy" -msgstr "Copiar" - -msgid "Edit" -msgstr "Editar" - -msgid "Delete" -msgstr "Eliminar" - -msgid "Select an action for '{}'" -msgstr "Seleccione una acción para '{}'" - -msgid "Copy to new key:" -msgstr "Copiar a nueva clave:" - -msgid "Unknown nic type: {}. Possible values are {}" -msgstr "Tipo de nic desconocido: {}. Los valores posibles son {}" - -msgid "" -"\n" -"This is your chosen configuration:" -msgstr "" -"\n" -"Esta es su configuración elegida:" - -msgid "Pacman is already running, waiting maximum 10 minutes for it to terminate." -msgstr "Pacman ya se está ejecutando, esperando un máximo de 10 minutos para que finalice." - -msgid "Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall." -msgstr "El bloqueo de pacman preexistente nunca se cerró. Limpie cualquier sesión de pacman existente antes de usar archinstall." - -msgid "Choose which optional additional repositories to enable" -msgstr "Elija qué repositorios adicionales opcionales activar" - -msgid "Add a user" -msgstr "Añadir un usuario" - -msgid "Change password" -msgstr "Cambiar contraseña" - -# maybe ascender/descender here? -msgid "Promote/Demote user" -msgstr "Promocionar/Degradar usuario" - -msgid "Delete User" -msgstr "Eliminar usuario" - -msgid "" -"\n" -"Define a new user\n" -msgstr "" -"\n" -"Definir un nuevo usuario\n" - -msgid "User Name : " -msgstr "Nombre de usuario : " - -msgid "Should {} be a superuser (sudoer)?" -msgstr "¿Debe {} ser un superusuario (sudoer)?" - -msgid "Define users with sudo privilege: " -msgstr "Defina usuarios con privilegio sudo: " - -msgid "No network configuration" -msgstr "Sin configuración de red" - -msgid "Set desired subvolumes on a btrfs partition" -msgstr "Establecer los subvolúmenes deseados en una partición BTRFS" - -msgid "" -"{}\n" -"\n" -"Select which partition to set subvolumes on" -msgstr "" -"{}\n" -"\n" -"Seleccione en qué partición configurar los subvolúmenes" - -msgid "Manage btrfs subvolumes for current partition" -msgstr "Administrar subvolúmenes BTRFS para la partición actual" - -msgid "No configuration" -msgstr "Sin configuración" - -msgid "Save user configuration" -msgstr "Guardar configuración de usuario" - -msgid "Save user credentials" -msgstr "Guardar credenciales de usuario" - -msgid "Save disk layout" -msgstr "Guardar diseño de disco" - -msgid "Save all" -msgstr "Guardar todo" - -msgid "Choose which configuration to save" -msgstr "Elija qué configuración guardar" - -msgid "Enter a directory for the configuration(s) to be saved: " -msgstr "Ingrese un directorio para guardar la(s) configuración(es): " - -msgid "Not a valid directory: {}" -msgstr "No es un directorio válido: {}" - -msgid "The password you are using seems to be weak," -msgstr "La contraseña que está utilizando parece ser débil," - -msgid "are you sure you want to use it?" -msgstr "¿Está seguro de querer usarlo?" - -msgid "Optional repositories" -msgstr "Repositorios opcionales" - -msgid "Save configuration" -msgstr "Guardar configuración" - -msgid "Missing configurations:\n" -msgstr "Configuraciones que faltan:\n" - -msgid "Either root-password or at least 1 superuser must be specified" -msgstr "Debe especificar una contraseña de root o al menos 1 superusuario" - -msgid "Manage superuser accounts: " -msgstr "Administrar cuentas de superusuario: " - -msgid "Manage ordinary user accounts: " -msgstr "Administrar cuentas de usuario ordinarias: " - -msgid " Subvolume :{:16}" -msgstr " Subvolumen :{:16}" - -msgid " mounted at {:16}" -msgstr " montado en {:16}" - -msgid " with option {}" -msgstr " con opción {}" - -msgid "" -"\n" -" Fill the desired values for a new subvolume \n" -msgstr "" -"\n" -"Complete los valores deseados para un nuevo subvolumen\n" - -msgid "Subvolume name " -msgstr "Nombre del subvolumen " - -msgid "Subvolume mountpoint" -msgstr "Punto de montaje del subvolumen" - -msgid "Subvolume options" -msgstr "Opciones del subvolumen" - -msgid "Save" -msgstr "Guardar" - -msgid "Subvolume name :" -msgstr "Nombre del subvolumen :" - -msgid "Select a mount point :" -msgstr "Seleccione un punto de montaje :" - -msgid "Select the desired subvolume options " -msgstr "Seleccione las opciones de subvolumen deseadas " - -msgid "Define users with sudo privilege, by username: " -msgstr "Defina usuarios con privilegio sudo, por nombre de usuario: " - -#, python-brace-format -msgid "[!] A log file has been created here: {}" -msgstr "[!] Se ha creado un archivo de registro aquí: {}" - -msgid "Would you like to use BTRFS subvolumes with a default structure?" -msgstr "¿Le gustaría utilizar subvolúmenes BTRFS con una estructura predeterminada?" - -msgid "Would you like to use BTRFS compression?" -msgstr "¿Le gustaría usar la compresión BTRFS?" - -msgid "Would you like to create a separate partition for /home?" -msgstr "¿Le gustaría crear una partición separada para /home?" - -msgid "The selected drives do not have the minimum capacity required for an automatic suggestion\n" -msgstr "Las unidades seleccionadas no tienen la capacidad mínima requerida para una sugerencia automática\n" - -msgid "Minimum capacity for /home partition: {}GB\n" -msgstr "Capacidad mínima para la partición /home: {}GB\n" - -msgid "Minimum capacity for Arch Linux partition: {}GB" -msgstr "Capacidad mínima para la partición Arch Linux: {}GB" - -msgid "Continue" -msgstr "Continuar" - -msgid "yes" -msgstr "sí" - -msgid "no" -msgstr "no" - -msgid "set: {}" -msgstr "establecer: {}" - -msgid "Manual configuration setting must be a list" -msgstr "La configuración manual debe ser una lista." - -msgid "No iface specified for manual configuration" -msgstr "No se especificó iface para la configuración manual" - -msgid "Manual nic configuration with no auto DHCP requires an IP address" -msgstr "La configuración manual de la NIC sin DHCP automático requiere una dirección IP" - -msgid "Add interface" -msgstr "Añadir interfaz" - -msgid "Edit interface" -msgstr "Editar interfaz" - -msgid "Delete interface" -msgstr "Eliminar intefaz" - -msgid "Select interface to add" -msgstr "Seleccione la interfaz para agregar" - -msgid "Manual configuration" -msgstr "Configuración manual" - -msgid "Mark/Unmark a partition as compressed (btrfs only)" -msgstr "Marcar/Desmarcar una partición como comprimida (solo BTRFS)" - -msgid "The password you are using seems to be weak, are you sure you want to use it?" -msgstr "La contraseña que está utilizando parece ser débil, ¿está seguro de que desea usarla?" - -msgid "Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway" -msgstr "Proporciona una selección de entornos de escritorio y administradores de ventanas en mosaico, p.e. gnome, kde, sway" - -msgid "Select your desired desktop environment" -msgstr "Seleccione su entorno de escritorio deseado" - -msgid "A very basic installation that allows you to customize Arch Linux as you see fit." -msgstr "Una instalación muy básica que te permite personalizar Arch Linux como mejor te parezca." - -msgid "Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb" -msgstr "Proporciona una selección de varios paquetes de servidor para instalar y activar, p.ej. httpd, nginx, mariadb" - -msgid "Choose which servers to install, if none then a minimal installation will be done" -msgstr "Elija qué servidores instalar, si no hay ninguno, se realizará una instalación mínima" - -msgid "Installs a minimal system as well as xorg and graphics drivers." -msgstr "Instala un sistema mínimo, así como controladores xorg y gráficos." - -msgid "Press Enter to continue." -msgstr "Presione Entrar para continuar." - -msgid "Would you like to chroot into the newly created installation and perform post-installation configuration?" -msgstr "¿Le gustaría acceder a la instalación recién creada y realizar la configuración posterior a la instalación?" - -msgid "Are you sure you want to reset this setting?" -msgstr "¿Está seguro de que desea restablecer esta configuración?" - -msgid "Select one or more hard drives to use and configure\n" -msgstr "Seleccione uno o más discos duros para usar y configurar\n" - -msgid "Any modifications to the existing setting will reset the disk layout!" -msgstr "¡Cualquier modificación a la configuración existente restablecerá el diseño del disco!" - -msgid "If you reset the harddrive selection this will also reset the current disk layout. Are you sure?" -msgstr "Si restablece la selección del disco duro, esto también restablecerá el diseño actual del disco. ¿Está seguro?" - -msgid "Save and exit" -msgstr "Guardar y salir" - -msgid "" -"{}\n" -"contains queued partitions, this will remove those, are you sure?" -msgstr "" -"{}\n" -"contiene particiones en cola, esto las eliminará, ¿está seguro?" - -msgid "No audio server" -msgstr "Sin servidor de audio" - -msgid "(default)" -msgstr "(predeterminado)" - -msgid "Use ESC to skip" -msgstr "Use ESC para omitir" - -msgid "" -"Use CTRL+C to reset current selection\n" -"\n" -msgstr "" -"Use CTRL+C para restablecer la selección actual\n" -"\n" - -msgid "Copy to: " -msgstr "Copiar a: " - -msgid "Edit: " -msgstr "Editar: " - -msgid "Key: " -msgstr "Clave: " - -msgid "Edit {}: " -msgstr "Editar {}: " - -msgid "Add: " -msgstr "Añadir: " - -msgid "Value: " -msgstr "Valor: " - -msgid "You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)" -msgstr "Puede omitir la selección de una unidad y la partición y usar cualquier configuración de unidad que esté montada en /mnt (experimental)" - -msgid "Select one of the disks or skip and use /mnt as default" -msgstr "Seleccione uno de los discos u omita y use /mnt como predeterminado" - -msgid "Select which partitions to mark for formatting:" -msgstr "Seleccione qué particiones marcar para formatear:" - -msgid "Use HSM to unlock encrypted drive" -msgstr "Usar HSM para desbloquear la unidad cifrada" - -msgid "Device" -msgstr "Dispositivo" - -msgid "Size" -msgstr "Tamaño" - -msgid "Free space" -msgstr "Espacio libre" - -msgid "Bus-type" -msgstr "Tipo de bus" - -msgid "Either root-password or at least 1 user with sudo privileges must be specified" -msgstr "Debe especificar una contraseña de root o al menos 1 usuario con privilegios sudo" - -msgid "Enter username (leave blank to skip): " -msgstr "Ingrese el nombre de usuario (déjelo en blanco para omitir): " - -msgid "The username you entered is invalid. Try again" -msgstr "El nombre de usuario que ingresó no es válido. Intente nuevamente" - -msgid "Should \"{}\" be a superuser (sudo)?" -msgstr "¿Debe \"{}\" ser un superusuario (sudo)?" - -msgid "Select which partitions to encrypt" -msgstr "Seleccione qué particiones cifrar" - -msgid "very weak" -msgstr "muy débil" - -msgid "weak" -msgstr "débil" - -msgid "moderate" -msgstr "moderado" - -msgid "strong" -msgstr "fuerte" - -msgid "Add subvolume" -msgstr "Agregar subvolumen" - -msgid "Edit subvolume" -msgstr "Editar subvolumen" - -msgid "Delete subvolume" -msgstr "Eliminar subvolumen" - -msgid "Configured {} interfaces" -msgstr "Interfaces {} configuradas" - -msgid "This option enables the number of parallel downloads that can occur during installation" -msgstr "Esta opción activa la cantidad de descargas paralelas que pueden ocurrir durante la instalación" - -msgid "" -"Enter the number of parallel downloads to be enabled.\n" -" (Enter a value between 1 to {})\n" -"Note:" -msgstr "" -"Ingrese el número de descargas paralelas que se activarán.\n" -" (Ingrese un valor entre 1 y {})\n" -"Nota:" - -msgid " - Maximum value : {} ( Allows {} parallel downloads, allows {} downloads at a time )" -msgstr " - Valor máximo : {} (Permitir {} descargas paralelas, permite {} descargas simultáneas)" - -msgid " - Minimum value : 1 ( Allows 1 parallel download, allows 2 downloads at a time )" -msgstr " - Valor mínimo : 1 (Permitir 1 descarga paralela, permite 2 descargas simultáneas)" - -msgid " - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )" -msgstr " - Desactivar/Predeterminado : 0 (Desactiva la descarga paralela, permite solo 1 descarga simultánea)" - -#, python-brace-format -msgid "Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]" -msgstr "¡Entrada no válida! Intente nuevamente con una entrada válida [1 a {max_downloads}, o 0 para desactivar]" - -msgid "Parallel Downloads" -msgstr "Descargas paralelas" - -msgid "Pacman" -msgstr "Pacman" - -msgid "Color" -msgstr "Color" - -#, python-brace-format -msgid "Enter the number of parallel downloads (1-{})" -msgstr "Ingrese el número de descargas paralelas (1-{})" - -msgid "Enable colored output for pacman" -msgstr "Activa salida a color para pacman" - -msgid "ESC to skip" -msgstr "ESC para omitir" - -msgid "CTRL+C to reset" -msgstr "CTRL+C para restablecer" - -msgid "TAB to select" -msgstr "TAB para seleccionar" - -msgid "[Default value: 0] > " -msgstr "[Valor predeterminado: 0] > " - -msgid "To be able to use this translation, please install a font manually that supports the language." -msgstr "Para poder usar esta traducción, instale manualmente una fuente que admita el idioma." - -msgid "The font should be stored as {}" -msgstr "La fuente debe almacenarse como {}" - -msgid "Archinstall requires root privileges to run. See --help for more." -msgstr "Archinstall requiere privilegios de root para ejecutarse. Consulte --help para más información." - -msgid "Select an execution mode" -msgstr "Seleccione un modo de ejecución" - -#, python-brace-format -msgid "Unable to fetch profile from specified url: {}" -msgstr "No se puede recuperar el perfil de la URL especificada: {}" - -#, python-brace-format -msgid "Profiles must have unique name, but profile definitions with duplicate name found: {}" -msgstr "Los perfiles deben tener un nombre único, pero se encontraron definiciones de perfil con nombre duplicado: {}" - -msgid "Select one or more devices to use and configure" -msgstr "Seleccione uno o más dispositivos para usar y configurar" - -msgid "If you reset the device selection this will also reset the current disk layout. Are you sure?" -msgstr "Si restablece la selección del dispositivo, esto también restablecerá el diseño actual del disco. ¿Está seguro?" - -msgid "Existing Partitions" -msgstr "Particiones existentes" - -msgid "Select a partitioning option" -msgstr "Seleccione una opción de partición" - -msgid "Enter the root directory of the mounted devices: " -msgstr "Ingrese el directorio raíz de los dispositivos montados: " - -#, python-brace-format -msgid "Minimum capacity for /home partition: {}GiB\n" -msgstr "Capacidad mínima para la partición /home: {}GiB\n" - -#, python-brace-format -msgid "Minimum capacity for Arch Linux partition: {}GiB" -msgstr "Capacidad mínima para la partición Arch Linux: {}GiB" - -msgid "This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments" -msgstr "Esta es una lista de profiles_bck preprogramados que podrían facilitar la instalación de cosas como entornos de escritorio" - -msgid "Current profile selection" -msgstr "Selección de perfil actual" - -msgid "Remove all newly added partitions" -msgstr "Eliminar todas las particiones recién agregadas" - -msgid "Assign mountpoint" -msgstr "Asignar punto de montaje" - -msgid "Mark/Unmark to be formatted (wipes data)" -msgstr "Marcar/Desmarcar para formatear (borra datos)" - -msgid "Mark/Unmark as bootable" -msgstr "Marcar/Desmarcar como arrancable" - -msgid "Change filesystem" -msgstr "Cambiar el sistema de archivos" - -msgid "Mark/Unmark as compressed" -msgstr "Marcar/Desmarcar como comprimido" - -msgid "Set subvolumes" -msgstr "Establecer subvolúmenes" - -msgid "Delete partition" -msgstr "Eliminar partición" - -msgid "Partition" -msgstr "Partición" - -msgid "This partition is currently encrypted, to format it a filesystem has to be specified" -msgstr "Esta partición está actualmente cifrada, para formatearla se debe especificar un sistema de archivos" - -msgid "Partition mount-points are relative to inside the installation, the boot would be /boot as an example." -msgstr "Los puntos de montaje de la partición son relativos al interior de la instalación; el arranque sería /boot como ejemplo." - -msgid "If mountpoint /boot is set, then the partition will also be marked as bootable." -msgstr "Si se establece el punto de montaje /boot, la partición también se marcará como arrancable." - -msgid "Mountpoint: " -msgstr "Punto de montaje: " - -msgid "Current free sectors on device {}:" -msgstr "Sectores libres actuales en el dispositivo {}:" - -msgid "Total sectors: {}" -msgstr "Sectores totales: {}" - -msgid "Enter the start sector (default: {}): " -msgstr "Introduzca el sector de inicio (predeterminado: {}): " - -msgid "Enter the end sector of the partition (percentage or block number, default: {}): " -msgstr "Ingrese el sector final de la partición (porcentaje o número de bloque, predeterminado: {}): " - -msgid "This will remove all newly added partitions, continue?" -msgstr "Esto eliminará todas las particiones recientemente agregadas, ¿continuar?" - -#, python-brace-format -msgid "Partition management: {}" -msgstr "Gestión de particiones: {}" - -#, python-brace-format -msgid "Total length: {}" -msgstr "Largo total: {}" - -msgid "Encryption type" -msgstr "Tipo de cifrado" - -msgid "Iteration time" -msgstr "Tiempo de iteración" - -msgid "Enter iteration time for LUKS encryption (in milliseconds)" -msgstr "Ingrese el tiempo de iteración para cifrado LUKS (en milisegundos)" - -msgid "Higher values increase security but slow down boot time" -msgstr "Valores más grandes mejoran la seguridad pero aumentan el tiempo de arranque" - -msgid "Default: 10000ms, Recommended range: 1000-60000" -msgstr "Predeterminado: 10000ms, Rango recomendado 1000-60000" - -msgid "Iteration time cannot be empty" -msgstr "Tiempo de iteración no puede estar vacío" - -msgid "Iteration time must be at least 100ms" -msgstr "Tiempo de iteración no puede menor a 100ms" - -msgid "Iteration time must be at most 120000ms" -msgstr "Tiempo de iteración no puede ser mayor a 120000ms" - -msgid "Please enter a valid number" -msgstr "Por favor ingrese un número válido" - -msgid "Partitions" -msgstr "Particiones" - -msgid "No HSM devices available" -msgstr "No hay dispositivos HSM disponibles" - -msgid "Partitions to be encrypted" -msgstr "Particiones a cifrar" - -msgid "Select disk encryption option" -msgstr "Seleccione la opción de cifrado de disco" - -msgid "Select a FIDO2 device to use for HSM" -msgstr "Seleccione un dispositivo FIDO2 para usar con HSM" - -msgid "Use a best-effort default partition layout" -msgstr "Utlizar un diseño de partición predeterminado de mejor esfuerzo" - -msgid "Manual Partitioning" -msgstr "Partición manual" - -msgid "Pre-mounted configuration" -msgstr "Configuración premontada" - -msgid "Unknown" -msgstr "Desconocido" - -msgid "Partition encryption" -msgstr "Cifrado de partición" - -#, python-brace-format -msgid " ! Formatting {} in " -msgstr " ! Formateando {} en " - -msgid "← Back" -msgstr "← Regresar" - -msgid "Disk encryption" -msgstr "Cifrado de disco" - -msgid "Configuration" -msgstr "Configuración" - -msgid "Password" -msgstr "Contraseña" - -msgid "All settings will be reset, are you sure?" -msgstr "Todos los ajustes se restablecerán, ¿está seguro?" - -msgid "Back" -msgstr "Regresar" - -msgid "Please chose which greeter to install for the chosen profiles: {}" -msgstr "Por favor, elija qué gestor de inicio de sesión instalar para los perfiles elegidos: {}" - -#, python-brace-format -msgid "Environment type: {}" -msgstr "Tipo de entorno: {}" - -msgid "The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?" -msgstr "El controlador propietario de Nvidia no es compatible con Sway. Es probable que encuentre problemas, ¿Desear continuar?" - -msgid "Installed packages" -msgstr "Paquetes instalados" - -msgid "Add profile" -msgstr "Agregar perfil" - -msgid "Edit profile" -msgstr "Editar perfil" - -msgid "Delete profile" -msgstr "Eliminar perfil" - -msgid "Profile name: " -msgstr "Nombre de perfil: " - -msgid "The profile name you entered is already in use. Try again" -msgstr "El nombre de perfil que ingresó ya está en uso. Intente nuevamente" - -msgid "Packages to be install with this profile (space separated, leave blank to skip): " -msgstr "Paquetes que se instalarán con este perfil (separados por espacios, déjelo en blanco para omitir): " - -msgid "Services to be enabled with this profile (space separated, leave blank to skip): " -msgstr "Servicios que se activarán con este perfil (separados por espacios, deje en blanco para omitir): " - -msgid "Should this profile be enabled for installation?" -msgstr "¿Debería activarse este perfil para la instalación?" - -msgid "Create your own" -msgstr "Crear tu propio" - -msgid "" -"\n" -"Select a graphics driver or leave blank to install all open-source drivers" -msgstr "" -"\n" -"Seleccione un controlador de gráficos o deje en blanco para instalar todos los controladores de código abierto" - -msgid "Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" -msgstr "Sway necesita acceso a sus dispositivos de hardware (teclado, mouse, etc.)" - -msgid "" -"\n" -"\n" -"Choose an option to give Sway access to your hardware" -msgstr "" -"\n" -"\n" -"Elija una opción para darle a Sway acceso a su hardware" - -msgid "Graphics driver" -msgstr "Controlador de gráficos" - -msgid "Greeter" -msgstr "Gestor de inicio de sesión" - -msgid "Please chose which greeter to install" -msgstr "Por favor, elija qué gestor de inicio de sesión instalar" - -msgid "This is a list of pre-programmed default_profiles" -msgstr "Esta es una lista de default_profiles preprogramados" - -msgid "Disk configuration" -msgstr "Configuración del disco" - -msgid "Profiles" -msgstr "Perfiles" - -msgid "Finding possible directories to save configuration files ..." -msgstr "Encontrar posibles directorios para guardar archivos de configuración..." - -msgid "Select directory (or directories) for saving configuration files" -msgstr "Seleccione el directorio (o directorios) para guardar los archivos de configuración" - -msgid "Add a custom mirror" -msgstr "Agregar un espejo personalizado" - -msgid "Change custom mirror" -msgstr "Cambiar espejo personalizado" - -msgid "Delete custom mirror" -msgstr "Eliminar espejo personalizado" - -msgid "Enter name (leave blank to skip): " -msgstr "Ingrese el nombre (deje en blanco para omitir): " - -msgid "Enter url (leave blank to skip): " -msgstr "Ingrese la URL (deje en blanco para omitir): " - -msgid "Select signature check option" -msgstr "Seleccione la opción de verificación de firma" - -msgid "Select signature option" -msgstr "Seleccione la opción de firma" - -msgid "Custom mirrors" -msgstr "Espejos personalizados" - -msgid "Defined" -msgstr "Definido" - -msgid "Save user configuration (including disk layout)" -msgstr "Guardar la configuración del usuario (incluido el diseño del disco)" - -msgid "" -"Enter a directory for the configuration(s) to be saved (tab completion enabled)\n" -"Save directory: " -msgstr "" -"Ingrese un directorio para guardar las configuraciones (completar con tabulación activado)\n" -"Guardar directorio: " - -msgid "" -"Do you want to save {} configuration file(s) in the following location?\n" -"\n" -"{}" -msgstr "" -"¿Desea guardar {} archivo(s) de configuración en la siguiente ubicación?\n" -"\n" -"{}" - -msgid "Saving {} configuration files to {}" -msgstr "Guardar {} archivos de configuración en {}" - -msgid "Mirrors" -msgstr "Espejos" - -msgid "Mirror regions" -msgstr "Regiones de espejos" - -msgid " - Maximum value : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )" -msgstr " - Valor máximo : {} (Permitir {} descargas paralelas, permite {max_downloads+1} descargas simultáneas)" - -msgid "Invalid input! Try again with a valid input [1 to {}, or 0 to disable]" -msgstr "¡Entrada no válida! Intente nuevamente con una entrada válida [1 a {}, o 0 para desactivar]" - -msgid "Locales" -msgstr "Localidades" - -msgid "Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)" -msgstr "Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE)" - -msgid "Total: {} / {}" -msgstr "Total: {} / {}" - -msgid "All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB..." -msgstr "Todos los valores ingresados pueden tener una unidad como sufijo: B, KB, KiB, MB, MiB ..." - -msgid "If no unit is provided, the value is interpreted as sectors" -msgstr "Si no se proporciona ninguna unidad, el valor se interpreta como sectores" - -msgid "Enter start (default: sector {}): " -msgstr "Ingrese el inicio (predeterminado: sector {}): " - -msgid "Enter end (default: {}): " -msgstr "Ingrese el final (predeterminado: {}): " - -msgid "Unable to determine fido2 devices. Is libfido2 installed?" -msgstr "No se pueden determinar los dispositivos fido2. ¿Está instalado libfido2?" - -msgid "Path" -msgstr "Ruta" - -msgid "Manufacturer" -msgstr "Fabricante" - -msgid "Product" -msgstr "Producto" - -#, python-brace-format -msgid "Invalid configuration: {error}" -msgstr "Configuración no válida: {error}" - -msgid "Type" -msgstr "Tipo" - -msgid "This option enables the number of parallel downloads that can occur during package downloads" -msgstr "Esta opción activa la cantidad de descargas paralelas que pueden ocurrir durante las descargas de paquetes" - -msgid "" -"Enter the number of parallel downloads to be enabled.\n" -"\n" -"Note:\n" -msgstr "" -"Ingrese el número de descargas paralelas que se activarán.\n" -"\n" -"Nota:\n" - -#, python-brace-format -msgid " - Maximum recommended value : {} ( Allows {} parallel downloads at a time )" -msgstr " - Valor máximo recomendado : {} (Permite {} descargas paralelas simultáneas)" - -msgid " - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\n" -msgstr " - Desactivar/Predeterminado : 0 (Desactiva la descarga paralela, permite solo 1 descarga simultánea)\n" - -msgid "Invalid input! Try again with a valid input [or 0 to disable]" -msgstr "¡Entrada no válida! Intente nuevamente con una entrada válida [o 0 para desactivar]" - -msgid "Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" -msgstr "Hyprland necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, mouse, etc.)" - -msgid "" -"\n" -"\n" -"Choose an option to give Hyprland access to your hardware" -msgstr "" -"\n" -"\n" -"Elija una opción para darle acceso a Hyprland a su hardware" - -msgid "All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB..." -msgstr "Todos los valores introducidos pueden tener como sufijo una unidad: %, B, KB, KiB, MB, MiB..." - -msgid "Would you like to use unified kernel images?" -msgstr "¿Le gustaría utilizar imágenes del núcleo unificadas?" - -msgid "Unified kernel images" -msgstr "Imágenes del núcleo unificadas" - -msgid "Waiting for time sync (timedatectl show) to complete." -msgstr "Esperando a que se complete la sincronización de la hora (timedatectl show)." - -msgid "Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/" -msgstr "La sincronización de hora no se completa mientras espera - consulte los documentos para encontrar soluciones: https://archinstall.readthedocs.io/" - -msgid "Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)" -msgstr "Saltarse la espera de sincronización automática de la hora (esto puede causar problemas si la hora no está sincronizada durante la instalación)" - -msgid "Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete." -msgstr "Esperando a que se complete la sincronización del llavero de Arch Linux (archlinux-keyring-wkd-sync)." - -msgid "Selected profiles: " -msgstr "Perfiles seleccionados: " - -msgid "Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/" -msgstr "La sincronización de hora no se completa mientras espera - consulte los documentos para encontrar soluciones: https://archinstall.readthedocs.io/" - -msgid "Mark/Unmark as nodatacow" -msgstr "Marcar/Desmarcar como nodatacow" - -msgid "Would you like to use compression or disable CoW?" -msgstr "¿Le gustaría utilizar compresión o desactivar CoW?" - -msgid "Use compression" -msgstr "Usar compresión" - -msgid "Disable Copy-on-Write" -msgstr "Desactivar copia en escritura" - -msgid "Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway" -msgstr "Proporciona una selección de entornos de escritorio y administradores de ventanas en mosaico, p.e. GNOME, KDE Plasma, Sway" - -#, python-brace-format -msgid "Configuration type: {}" -msgstr "Tipo de configuración: {}" - -msgid "LVM configuration type" -msgstr "Tipo de configuración LVM" - -msgid "LVM disk encryption with more than 2 partitions is currently not supported" -msgstr "Actualmente no se admite el cifrado de disco LVM con más de 2 particiones" - -msgid "Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)" -msgstr "Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE Plasma)" - -msgid "Select a LVM option" -msgstr "Seleccione una opción LVM" - -msgid "Partitioning" -msgstr "Particionamiento" - -msgid "Logical Volume Management (LVM)" -msgstr "Gestión de volúmenes lógicos (LVM)" - -msgid "Physical volumes" -msgstr "Volúmenes físicos" - -msgid "Volumes" -msgstr "Volúmenes" - -msgid "LVM volumes" -msgstr "Volúmenes LVM" - -msgid "LVM volumes to be encrypted" -msgstr "Volúmenes LVM a cifrar" - -msgid "Select which LVM volumes to encrypt" -msgstr "Seleccione qué volúmenes LVM cifrar" - -msgid "Default layout" -msgstr "Diseño predeterminado" - -msgid "No Encryption" -msgstr "Sin cifrado" - -msgid "LUKS" -msgstr "LUKS" - -msgid "LVM on LUKS" -msgstr "LVM en LUKS" - -msgid "LUKS on LVM" -msgstr "LUKS en LVM" - -msgid "Yes" -msgstr "Sí" - -msgid "No" -msgstr "No" - -msgid "Archinstall help" -msgstr "Ayuda de archinstall" - -msgid " (default)" -msgstr " (predeterminado)" - -msgid "Press Ctrl+h for help" -msgstr "Presione Ctrl+h para obtener ayuda" - -msgid "Choose an option to give Sway access to your hardware" -msgstr "Elija una opción para darle a Sway acceso a su hardware" - -# maybe "Acceso a la estación" or "Gestión de puestos (seats)" could be better? -msgid "Seat access" -msgstr "Acceso al asiento" - -msgid "Mountpoint" -msgstr "Punto de montaje" - -msgid "HSM" -msgstr "HSM" - -msgid "Enter disk encryption password (leave blank for no encryption)" -msgstr "Ingrese la contraseña de cifrado del disco (deje en blanco si no desea cifrar)" - -msgid "Disk encryption password" -msgstr "Contraseña de cifrado de disco" - -msgid "Partition - New" -msgstr "Partición - Nueva" - -msgid "Filesystem" -msgstr "Sistema de archivos" - -msgid "Invalid size" -msgstr "Tamaño no válido" - -msgid "Start (default: sector {}): " -msgstr "Inicio (predeterminado: sector {}): " - -msgid "End (default: {}): " -msgstr "Fin (predeterminado: {}): " - -msgid "Subvolume name" -msgstr "Nombre del subvolumen" - -msgid "Disk configuration type" -msgstr "Tipo de configuración del disco" - -msgid "Root mount directory" -msgstr "Directorio de montaje raíz" - -msgid "Select language" -msgstr "Seleccionar idioma" - -msgid "Write additional packages to install (space separated, leave blank to skip)" -msgstr "Escriba paquetes adicionales para instalar (separados por espacios, déjelo en blanco para omitir)" - -msgid "Invalid download number" -msgstr "Número de descarga no válido" - -msgid "Number downloads" -msgstr "Número de descargas" - -msgid "The username you entered is invalid" -msgstr "El nombre de usuario ingresado no es válido" - -msgid "Username" -msgstr "Nombre de usuario" - -#, python-brace-format -msgid "Should \"{}\" be a superuser (sudo)?\n" -msgstr "¿\"{}\" debería ser un superusuario (sudo)?\n" - -msgid "Interfaces" -msgstr "Interfaces" - -msgid "You need to enter a valid IP in IP-config mode" -msgstr "Debe ingresar una IP válida en el modo de configuración de IP" - -msgid "Modes" -msgstr "Modos" - -msgid "IP address" -msgstr "Dirección IP" - -msgid "Enter your gateway (router) IP address (leave blank for none)" -msgstr "Ingrese la dirección IP de su puerta de enlace (enrutador) (deje en blanco si no hay ninguna)" - -msgid "Gateway address" -msgstr "Dirección de la puerta de enlace" - -msgid "Enter your DNS servers with space separated (leave blank for none)" -msgstr "Ingrese sus servidores DNS separados por espacios (deje en blanco si no hay ninguno)" - -msgid "DNS servers" -msgstr "Servidores DNS" - -msgid "Configure interfaces" -msgstr "Configurar interfaces" - -msgid "Kernel" -msgstr "Núcleo" - -msgid "UEFI is not detected and some options are disabled" -msgstr "No se detecta UEFI y algunas opciones están desactivadas" - -msgid "Info" -msgstr "Info" - -msgid "The proprietary Nvidia driver is not supported by Sway." -msgstr "El controlador patentado de Nvidia no es compatible con Sway." - -msgid "It is likely that you will run into issues, are you okay with that?" -msgstr "Es probable que tengas problemas. ¿Te parece bien?" - -msgid "Main profile" -msgstr "Perfil principal" - -msgid "Confirm password" -msgstr "Confirmar contraseña" - -msgid "The confirmation password did not match, please try again" -msgstr "La contraseña de confirmación no coincide, por favor intente nuevamente" - -msgid "Not a valid directory" -msgstr "No es un directorio válido" - -msgid "Would you like to continue?" -msgstr "¿Quiere continuar?" - -msgid "Directory" -msgstr "Directorio" - -msgid "Enter a directory for the configuration(s) to be saved (tab completion enabled)" -msgstr "Ingrese un directorio para guardar las configuraciones (autocompletado de tabulación activado)" - -#, python-brace-format -msgid "Do you want to save the configuration file(s) to {}?" -msgstr "¿Desea guardar los archivos de configuración en {}?" - -msgid "Enabled" -msgstr "Activado" - -msgid "Disabled" -msgstr "Desactivado" - -msgid "Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues" -msgstr "Envíe este problema (y archivo) a https://github.com/archlinux/archinstall/issues" - -msgid "Mirror name" -msgstr "Nombre del espejo" - -msgid "Url" -msgstr "Url" - -msgid "Select signature check" -msgstr "Seleccionar verificación de firma" - -msgid "Select execution mode" -msgstr "Seleccionar modo de ejecución" - -msgid "Press ? for help" -msgstr "Presione ? para obtener ayuda" - -msgid "Choose an option to give Hyprland access to your hardware" -msgstr "Elija una opción para darle a Hyprland acceso a su hardware" - -msgid "Additional repositories" -msgstr "Repositorios adicionales" - -msgid "NTP" -msgstr "NTP" - -msgid "Swap on zram" -msgstr "Swap en zram" - -msgid "Name" -msgstr "Nombre" - -msgid "Signature check" -msgstr "Comprobación de firma" - -#, python-brace-format -msgid "Selected free space segment on device {}:" -msgstr "Segmento de espacio libre seleccionado en el dispositivo {}:" - -#, python-brace-format -msgid "Size: {} / {}" -msgstr "Tamaño: {} / {}" - -#, python-brace-format -msgid "Size (default: {}): " -msgstr "Tamaño (predeterminado: {}): " - -msgid "HSM device" -msgstr "Dispositivo HSM" - -msgid "Some packages could not be found in the repository" -msgstr "No se pudieron encontrar algunos paquetes en el repositorio" - -msgid "User" -msgstr "Usuario" - -msgid "The specified configuration will be applied" -msgstr "Se aplicará la configuración especificada" - -msgid "Wipe" -msgstr "Borrar" - -msgid "Mark/Unmark as XBOOTLDR" -msgstr "Marcar/Desmarcar como XBOOTLDR" - -msgid "Loading packages..." -msgstr "Cargando paquetes..." - -msgid "Select any packages from the below list that should be installed additionally" -msgstr "Seleccione cualquier paquete de la lista a continuación que deba instalarse adicionalmente" - -msgid "Add a custom repository" -msgstr "Agregar un repositorio personalizado" - -msgid "Change custom repository" -msgstr "Cambiar el repositorio personalizado" - -msgid "Delete custom repository" -msgstr "Eliminar repositorio personalizado" - -msgid "Repository name" -msgstr "Nombre del repositorio" - -msgid "Add a custom server" -msgstr "Agregar un servidor personalizado" - -msgid "Change custom server" -msgstr "Cambiar servidor personalizado" - -msgid "Delete custom server" -msgstr "Eliminar servidor personalizado" - -msgid "Server url" -msgstr "URL del servidor" - -msgid "Select regions" -msgstr "Seleccione regiones" - -msgid "Add custom servers" -msgstr "Agregar servidores personalizados" - -msgid "Add custom repository" -msgstr "Agregar repositorio personalizado" - -msgid "Loading mirror regions..." -msgstr "Cargando regiones de espejo..." - -msgid "Mirrors and repositories" -msgstr "Espejos y repositorios" - -msgid "Selected mirror regions" -msgstr "Regiones de espejo seleccionadas" - -msgid "Custom servers" -msgstr "Servidores personalizados" - -msgid "Custom repositories" -msgstr "Repositorios personalizados" - -msgid "Only ASCII characters are supported" -msgstr "Sólo se admiten caracteres ASCII" - -msgid "Show help" -msgstr "Mostrar ayuda" - -msgid "Exit help" -msgstr "Ayuda para salir" - -msgid "Preview scroll up" -msgstr "Subir en vista previa" - -msgid "Preview scroll down" -msgstr "Bajar en vista previa" - -msgid "Move up" -msgstr "Subir" - -msgid "Move down" -msgstr "Bajar" - -msgid "Move right" -msgstr "Mover a la derecha" - -msgid "Move left" -msgstr "Mover a la izquierda" - -msgid "Jump to entry" -msgstr "Saltar a la entrada" - -msgid "Skip selection (if available)" -msgstr "Saltar selección (si está disponible)" - -msgid "Reset selection (if available)" -msgstr "Restablecer selección (si está disponible)" - -msgid "Select on single select" -msgstr "Seleccionar en selección única" - -msgid "Select on multi select" -msgstr "Seleccionar en selección múltiple" - -msgid "Reset" -msgstr "Restablecer" - -msgid "Skip selection menu" -msgstr "Saltar el menú de selección" - -msgid "Start search mode" -msgstr "Iniciar modo de búsqueda" - -msgid "Exit search mode" -msgstr "Salir del modo de búsqueda" - -msgid "General" -msgstr "General" - -msgid "Navigation" -msgstr "Navegación" - -msgid "Selection" -msgstr "Selección" - -msgid "Search" -msgstr "Buscar" - -msgid "Down" -msgstr "Abajo" - -msgid "Up" -msgstr "Arriba" - -msgid "Confirm" -msgstr "Confirmar" - -msgid "Focus right" -msgstr "Enfocar a la derecha" - -msgid "Focus left" -msgstr "Enfocar a la izquierda" - -msgid "Toggle" -msgstr "Alternar" - -msgid "Show/Hide help" -msgstr "Mostrar/Ocultar ayuda" - -msgid "Quit" -msgstr "Salir" - -msgid "First" -msgstr "Primero" - -msgid "Last" -msgstr "Último" - -msgid "Select" -msgstr "Seleccionar" - -msgid "Page Up" -msgstr "Subir página" - -msgid "Page Down" -msgstr "Bajar página" - -msgid "Page up" -msgstr "Subir página" - -msgid "Page down" -msgstr "Bajar página" - -msgid "Page Left" -msgstr "Página izquierda" - -msgid "Page Right" -msgstr "Página derecha" - -msgid "Cursor up" -msgstr "Subir" - -msgid "Cursor down" -msgstr "Cursor hacia abajo" - -msgid "Cursor right" -msgstr "Cursor hacia la derecha" - -msgid "Cursor left" -msgstr "Cursor hacia la izquierda" - -msgid "Top" -msgstr "Arriba" - -msgid "Bottom" -msgstr "Abajo" - -msgid "Home" -msgstr "Inicio" - -msgid "End" -msgstr "Final" - -msgid "Toggle option" -msgstr "Opción de alternancia" - -msgid "Scroll Up" -msgstr "Mover Arriba" - -msgid "Scroll Down" -msgstr "Deslizar hacia abajo" - -msgid "Scroll Left" -msgstr "Mover hacia la izquierda" - -msgid "Scroll Right" -msgstr "Mover hacia la derecha" - -msgid "Scroll Home" -msgstr "Ir al Inicio" - -msgid "Scroll End" -msgstr "Ir al Final" - -msgid "Focus Next" -msgstr "Enfocar a la siguiente" - -msgid "Focus Previous" -msgstr "Enfocar a la anterior" - -msgid "Copy selected text" -msgstr "Copiar texto seleccionado" - -msgid "labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" -msgstr "labwc necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, ratón, etc.)" - -msgid "Choose an option to give labwc access to your hardware" -msgstr "Elija una opción para darle a labwc acceso a su hardware" - -msgid "niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" -msgstr "niri necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, ratón, etc.)" - -msgid "Choose an option to give niri access to your hardware" -msgstr "Elija una opción para darle a niri acceso a su hardware" - -msgid "Mark/Unmark as ESP" -msgstr "Marcar/Desmarcar como ESP" - -msgid "Package group:" -msgstr "Grupo de paquetes:" - -msgid "Exit archinstall" -msgstr "Salir de archinstall" - -msgid "Reboot system" -msgstr "Reiniciar el sistema" - -msgid "chroot into installation for post-installation configurations" -msgstr "Hacer chroot en la instalación para configuraciones posteriores a la instalación" - -msgid "Installation completed" -msgstr "Instalación completada" - -msgid "What would you like to do next?" -msgstr "¿Qué le gustaría hacer a continuación?" - -#, python-brace-format -msgid "Select which mode to configure for \"{}\"" -msgstr "Seleccione qué modo configurar para \"{}\"" - -msgid "Incorrect credentials file decryption password" -msgstr "Contraseña incorrecta para descifrar el archivo de credenciales" - -msgid "Incorrect password" -msgstr "Contraseña incorrecta" - -msgid "Credentials file decryption password" -msgstr "Contraseña para descifrar el archivo de credenciales" - -msgid "Do you want to encrypt the user_credentials.json file?" -msgstr "¿Desea encriptar el archivo user_credentials.json?" - -msgid "Credentials file encryption password" -msgstr "Contraseña para cifrar el archivo de credenciales" - -#, python-brace-format -msgid "Repositories: {}" -msgstr "Repositorios: {}" - -msgid "New version available" -msgstr "Nueva versión disponible" - -msgid "Passwordless login" -msgstr "Inicio de sesión sin contraseña" - -msgid "Second factor login" -msgstr "Inicio de sesión con factor secundario" - -msgid "Bluetooth" -msgstr "Bluetooth" - -msgid "Would you like to configure Bluetooth?" -msgstr "¿Desea configurar Bluetooth?" - -msgid "Print service" -msgstr "Servicio de impresión" - -msgid "Would you like to configure the print service?" -msgstr "¿Desea configurar el servicio de impresión?" - -msgid "Power management" -msgstr "Administración de energía" - -msgid "Authentication" -msgstr "Autenticación" - -msgid "Applications" -msgstr "Aplicaciones" - -msgid "U2F login method: " -msgstr "Método de inicio de sesión U2F: " - -msgid "Passwordless sudo: " -msgstr "Sudo sin contraseña: " - -#, python-brace-format -msgid "Btrfs snapshot type: {}" -msgstr "Tipo de instantánea BTRFS: {}" - -msgid "Syncing the system..." -msgstr "Sincronizando el sistema..." - -msgid "Value cannot be empty" -msgstr "El valor no puede estár vacío" - -msgid "Snapshot type" -msgstr "Tipo de snapshot" - -#, python-brace-format -msgid "Snapshot type: {}" -msgstr "Tipo de snapshot: {}" - -msgid "U2F login setup" -msgstr "Configuración de inicio de sesión U2F" - -msgid "No U2F devices found" -msgstr "No se encontró dispositivos U2F" - -msgid "U2F Login Method" -msgstr "Método de inicio de sesión U2F" - -msgid "Enable passwordless sudo?" -msgstr "¿Activar sudo sin contraseña?" - -#, python-brace-format -msgid "Setting up U2F device for user: {}" -msgstr "Configurando dispositivo U2F para usuario: {}" - -msgid "You may need to enter the PIN and then touch your U2F device to register it" -msgstr "Puede que deba ingresar su PIN antes de tocar su dispositivo U2F para registrarlo" - -msgid "Starting device modifications in " -msgstr "Iniciando modificaciones en dispositivo en " - -msgid "No network connection found" -msgstr "No se encontró una conección de red" - -msgid "Would you like to connect to a Wifi?" -msgstr "¿Desea conectarse al Wi-Fi?" - -msgid "No wifi interface found" -msgstr "No se encontró ninguna interfaz Wi-Fi" - -msgid "Select wifi network to connect to" -msgstr "Seleccione una red Wi-Fi para conectarse" - -msgid "Scanning wifi networks..." -msgstr "Buscando redes Wi-Fi..." - -msgid "No wifi networks found" -msgstr "No se encontró redes Wi-Fi" - -msgid "Failed setting up wifi" -msgstr "Error al configurar el Wi-Fi" - -msgid "Enter wifi password" -msgstr "Ingrese la contraseña del Wi-Fi" - -msgid "Ok" -msgstr "Ok" - -msgid "Removable" -msgstr "Desmontable" - -msgid "Install to removable location" -msgstr "Instalar a ubicación desmontable" - -msgid "Will install to /EFI/BOOT/ (removable location)" -msgstr "Se instalará en /EFI/BOOT/ (ubicación desmontable)" - -msgid "Will install to standard location with NVRAM entry" -msgstr "Se instalará en ubicación estandar con entrada NVRAM" - -msgid "Would you like to install the bootloader to the default removable media search location?" -msgstr "¿Desea instalar el gestor de arranque en la ubicación predeterminada de búsqueda de medios desmontables?" - -msgid "This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:" -msgstr "Esto instala el gestor de arranque en /EFI/BOOT/BOOTX64.EFI (o similar) lo cual es útil para:" - -msgid "USB drives or other portable external media." -msgstr "Disco USB u otros medios portátiles externos." - -msgid "Systems where you want the disk to be bootable on any computer." -msgstr "Sistemas donde quiere que el disco sea arrancable en cualquier computadora." - -msgid "Firmware that does not properly support NVRAM boot entries." -msgstr "Firmware que no soporta entradas arrancables NVRAM." - -msgid "Will install to /EFI/BOOT/ (removable location, safe default)" -msgstr "Instalará a /EFI/BOOT/ (ubicación desmontable, segura por defecto)" - -msgid "Will install to custom location with NVRAM entry" -msgstr "Instalará a ubicación personalizada con entrada NVRAM" - -msgid "Firmware that does not properly support NVRAM boot entries like most MSI motherboards," -msgstr "Firmware que no soporta entradas arrancables NVRAM como la mayoría de las placas MSI," - -msgid "most Apple Macs, many laptops..." -msgstr "la mayoría de las Macs Apple, muchas laptops..." - -msgid "Language" -msgstr "Idioma local" - -msgid "Compression algorithm" -msgstr "Algoritmo de compresión" - -msgid "Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed." -msgstr "Solo paquetes como base, sudo, linux, linux-firmware, efibootmgr y paquetes opcionales de perfil se instalan." - -msgid "Select zram compression algorithm:" -msgstr "Seleccione algorimto de compresión zram:" - -msgid "Use Network Manager (default backend)" -msgstr "Usar Gestor de Red (backend por defecto)" - -msgid "Use Network Manager (iwd backend)" -msgstr "Usar gestor de Red (backend iwd)" - -msgid "Firewall" -msgstr "Cortafuegos" - -msgid "Additional fonts" -msgstr "Fuentes adicionales" - -msgid "Select font packages to install" -msgstr "Seleccione los paquetes de fuentes que desea instalar" - -msgid "Unicode font coverage for most languages" -msgstr "Fuente unicode cubierta para la mayoría de idiomas" - -msgid "color emoji for browsers and apps" -msgstr "Emoji de colores para navegadores y aplicaciones" - -msgid "Chinese, Japanese, Korean characters" -msgstr "Carácteres Chino, Japonés, Koreano" - -msgid "Select audio configuration" -msgstr "Seleccionar configuración de audio" - -msgid "Enter credentials file decryption password" -msgstr "Ingrese la contraseña de descifrado del archivo de credenciales" - -msgid "Enter root password" -msgstr "Ingrese la contraseña de root" - -msgid "Select bootloader to install" -msgstr "Seleccione el gestor de arranque que desea instalar" - -msgid "Configuration preview" -msgstr "Vista previa de la configuración" - -msgid "Enter a directory for the configuration(s) to be saved" -msgstr "Ingrese un directorio para guardar las configuraciones" - -msgid "Select encryption type" -msgstr "Seleccione el tipo de cifrado" - -msgid "Select disks for the installation" -msgstr "Seleccione discos para la instalación" - -msgid "Enter a mountpoint" -msgstr "Ingrese un punto de montaje" - -#, python-brace-format -msgid "Enter a size (default: {}): " -msgstr "Ingrese un tamaño (predeterminado: {}): " - -msgid "Enter subvolume name" -msgstr "Ingrese el nombre del subvolumen" - -msgid "Enter subvolume mountpoint" -msgstr "Ingrese el punto de montaje del subvolumen" - -msgid "Select a disk configuration" -msgstr "Seleccione una configuración de disco" - -msgid "Enter root mount directory" -msgstr "Ingrese al directorio de montaje raíz" - -msgid "You will use whatever drive-setup is mounted at the specified directory" -msgstr "Utilizará cualquier configuración de unidad que esté montada en el directorio especificado" - -msgid "WARNING: Archinstall won't check the suitability of this setup" -msgstr "ADVERTENCIA: Archinstall no comprobará la idoneidad de esta configuración" - -msgid "Select main filesystem" -msgstr "Seleccione el sistema de archivos principal" - -msgid "Enter a hostname" -msgstr "Ingrese un nombre de host" - -msgid "Select timezone" -msgstr "Seleccione una zona horaria" - -msgid "Enter the number of parallel downloads to be enabled" -msgstr "Ingrese el número de descargas paralelas que desea activar" - -#, python-brace-format -msgid "Value must be between 1 and {}" -msgstr "El valor debe estar entre 1 y {}" - -msgid "Select which kernel(s) to install" -msgstr "Seleccione qué núcleo(s) desea instalar" - -msgid "Enter a respository name" -msgstr "Ingrese un nombre de repositorio" - -msgid "Enter the repository url" -msgstr "Ingrese la URL del repositorio" - -msgid "Enter server url" -msgstr "Ingrese la URL del servidor" - -msgid "Select mirror regions to be enabled" -msgstr "Seleccione las regiones espejo que se activarán" - -msgid "Select optional repositories to be enabled" -msgstr "Seleccione repositorios opcionales para activar" - -msgid "Select an interface" -msgstr "Seleccione una interfaz" - -msgid "Choose network configuration" -msgstr "Elija la configuración de red" - -msgid "No packages found" -msgstr "No se encontraron paquetes" - -msgid "Select which greeter to install" -msgstr "Seleccione el saludo que desea instalar" - -msgid "Select a profile type" -msgstr "Seleccione un tipo de perfil" - -msgid "Enter new password" -msgstr "Ingrese nueva contraseña" - -msgid "Enter a username" -msgstr "Ingrese un nombre de usuario" - -msgid "Enter a password" -msgstr "Ingrese una contraseña" - -msgid "The password did not match, please try again" -msgstr "La contraseña no coincide, por favor inténtelo nuevamente" - -msgid "Password strength: Weak" -msgstr "Seguridad de la contraseña: Débil" - -msgid "Password strength: Moderate" -msgstr "Seguridad de la contraseña: Media" - -msgid "Password strength: Strong" -msgstr "Seguridad de la contraseña: Fuerte" - -msgid "The selected desktop profile requires a regular user to log in via the greeter" -msgstr "El perfil de escritorio seleccionado requiere que un usuario estándar inicie sesión a través de la pantalla de bienvenida" - -#, python-brace-format -msgid "Environment type: {} {}" -msgstr "Tipo de entorno: {} {}" - -msgid "Input cannot be empty" -msgstr "La entrada no debe estar vacía" +"X-Generator: Poedit 3.9\n" msgid "Recommended" msgstr "Recomendado" @@ -2183,25 +35,2330 @@ msgstr "Paquetes en grupo" msgid "Minimal KDE Plasma installation" msgstr "Instalación minima de KDE Plasma" +msgid "Type" +msgstr "Tipo" + msgid "Description" msgstr "Descripción" msgid "Select a flavor of KDE Plasma to install" msgstr "Seleccione una variante de KDE Plasma para instalar" +#, python-brace-format +msgid "{} needs access to your seat" +msgstr "{} necesita acceso a su asiento" + +msgid "collection of hardware devices i.e. keyboard, mouse" +msgstr "conjunto de dispositivos de hardware, por ejemplo, teclado, ratón" + +#, python-brace-format +msgid "Choose an option how to give {} access to your hardware" +msgstr "Elige una opción para darle a {} acceso a su hardware" + +#, python-brace-format +msgid "Environment type: {} {}" +msgstr "Tipo de entorno: {} {}" + +#, python-brace-format +msgid "Environment type: {}" +msgstr "Tipo de entorno: {}" + +msgid "Installed packages" +msgstr "Paquetes instalados" + +msgid "Bluetooth" +msgstr "Bluetooth" + +msgid "Audio" +msgstr "Audio" + +msgid "Print service" +msgstr "Servicio de impresión" + +msgid "Power management" +msgstr "Administración de energía" + +msgid "Firewall" +msgstr "Cortafuegos" + +msgid "Additional fonts" +msgstr "Fuentes adicionales" + +msgid "Enabled" +msgstr "Activado" + +msgid "Disabled" +msgstr "Desactivado" + +msgid "Would you like to configure Bluetooth?" +msgstr "¿Desea configurar Bluetooth?" + +msgid "Would you like to configure the print service?" +msgstr "¿Desea configurar el servicio de impresión?" + +msgid "Select audio configuration" +msgstr "Seleccione la configuración de audio" + +msgid "Select font packages to install" +msgstr "Seleccione los paquetes de fuentes que desea instalar" + +msgid "ArchInstall Language" +msgstr "Idioma de archinstall" + +msgid "Version" +msgstr "Versión" + +msgid "Installation Script" +msgstr "Script de instalación" + +msgid "Locales" +msgstr "Localidades" + +msgid "Disk configuration" +msgstr "Configuración del disco" + +msgid "Profile" +msgstr "Perfil" + +msgid "Mirrors and repositories" +msgstr "Espejos y repositorios" + +msgid "Network" +msgstr "Red" + +msgid "Bootloader" +msgstr "Gestor de arranque" + +msgid "Application" +msgstr "Aplicación" + +msgid "Authentication" +msgstr "Autenticación" + +msgid "Swap" +msgstr "Swap" + +msgid "Hostname" +msgstr "Nombre de host" + +msgid "Kernels" +msgstr "Núcleos" + +msgid "Automatic time sync (NTP)" +msgstr "Sincronización automática de hora (NTP)" + +msgid "Timezone" +msgstr "Zona horaria" + +msgid "Services" +msgstr "Servicios" + +msgid "Additional packages" +msgstr "Paquetes adicionales" + +msgid "Pacman" +msgstr "Pacman" + +msgid "Custom commands" +msgstr "Comandos personalizados" + +msgid "Users" +msgstr "Usuarios" + +msgid "Root encrypted password" +msgstr "Contraseña cifrada de root" + +msgid "Disk encryption password" +msgstr "Contraseña de cifrado de disco" + +msgid "Incorrect credentials file decryption password" +msgstr "Contraseña incorrecta para descifrar el archivo de credenciales" + +msgid "Enter credentials file decryption password" +msgstr "Ingrese la contraseña de descifrado del archivo de credenciales" + +msgid "Incorrect password" +msgstr "Contraseña incorrecta" + +#, python-brace-format +msgid "Setting up U2F login: {}" +msgstr "Configurando el inicio de sesión U2F: {}" + +#, python-brace-format +msgid "Setting up U2F device for user: {}" +msgstr "Configurando dispositivo U2F para usuario: {}" + +msgid "You may need to enter the PIN and then touch your U2F device to register it" +msgstr "Puede que deba ingresar su PIN antes de tocar su dispositivo U2F para registrarlo" + +msgid "Root password" +msgstr "Contraseña de root" + +msgid "User account" +msgstr "Cuenta de usuario" + +msgid "U2F login setup" +msgstr "Configuración de inicio de sesión U2F" + +msgid "U2F login method: " +msgstr "Método de inicio de sesión U2F: " + +msgid "Passwordless sudo: " +msgstr "Sudo sin contraseña: " + +msgid "No U2F devices found" +msgstr "No se encontró dispositivos U2F" + +msgid "Enter root password" +msgstr "Ingrese la contraseña de root" + +msgid "Enable passwordless sudo?" +msgstr "¿Activar sudo sin contraseña?" + +msgid "Unified kernel images" +msgstr "Imágenes del núcleo unificadas" + +msgid "Install to removable location" +msgstr "Instalar a ubicación desmontable" + +msgid "Will install to /EFI/BOOT/ (removable location, safe default)" +msgstr "Instalará a /EFI/BOOT/ (ubicación desmontable, segura por defecto)" + +msgid "Will install to custom location with NVRAM entry" +msgstr "Instalará a ubicación personalizada con entrada NVRAM" + +msgid "Would you like to use unified kernel images?" +msgstr "¿Le gustaría utilizar imágenes del núcleo unificadas?" + +msgid "Would you like to install the bootloader to the default removable media search location?" +msgstr "¿Desea instalar el gestor de arranque en la ubicación predeterminada de búsqueda de medios desmontables?" + +msgid "This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:" +msgstr "Esto instala el gestor de arranque en /EFI/BOOT/BOOTX64.EFI (o similar) lo cual es útil para:" + +msgid "Firmware that does not properly support NVRAM boot entries like most MSI motherboards," +msgstr "Firmware que no soporta entradas arrancables NVRAM como la mayoría de las placas MSI," + +msgid "most Apple Macs, many laptops..." +msgstr "la mayoría de las Macs Apple, muchas laptops..." + +msgid "USB drives or other portable external media." +msgstr "Disco USB u otros medios portátiles externos." + +msgid "Systems where you want the disk to be bootable on any computer." +msgstr "Sistemas donde quiere que el disco sea arrancable en cualquier computadora." + +msgid "Select bootloader to install" +msgstr "Seleccione el gestor de arranque que desea instalar" + +msgid "UEFI is not detected and some options are disabled" +msgstr "No se detecta UEFI y algunas opciones están desactivadas" + +msgid "The specified configuration will be applied" +msgstr "Se aplicará la configuración especificada" + +msgid "Would you like to continue?" +msgstr "¿Quiere continuar?" + +msgid "Configuration preview" +msgstr "Vista previa de la configuración" + +msgid "Warning: no network configuration selected. Network will need to be set up manually on the installed system." +msgstr "Advertencia: no se ha seleccionado ninguna configuración de red. La red deberá configurarse manualmente en el sistema instalado." + +msgid "No configuration" +msgstr "Sin configuración" + +msgid "Save user configuration (including disk layout)" +msgstr "Guardar la configuración del usuario (incluido el diseño del disco)" + +msgid "Save user credentials" +msgstr "Guardar credenciales de usuario" + +msgid "Save all" +msgstr "Guardar todo" + +msgid "Enter a directory for the configuration(s) to be saved" +msgstr "Ingrese un directorio para guardar las configuraciones" + +#, python-brace-format +msgid "Do you want to save the configuration file(s) to {}?" +msgstr "¿Desea guardar los archivos de configuración en {}?" + +msgid "Do you want to encrypt the user_credentials.json file?" +msgstr "¿Desea encriptar el archivo user_credentials.json?" + +msgid "Credentials file encryption password" +msgstr "Contraseña para cifrar el archivo de credenciales" + +msgid "Partitioning" +msgstr "Particionamiento" + +msgid "Disk encryption" +msgstr "Cifrado de disco" + +#, python-brace-format +msgid "Configuration type: {}" +msgstr "Tipo de configuración: {}" + +msgid "Mountpoint" +msgstr "Punto de montaje" + +msgid "Configuration" +msgstr "Configuración" + +msgid "Wipe" +msgstr "Borrar" + +msgid "Physical volumes" +msgstr "Volúmenes físicos" + +msgid "Volumes" +msgstr "Volúmenes" + +#, python-brace-format +msgid "Snapshot type: {}" +msgstr "Tipo de snapshot: {}" + +msgid "LVM disk encryption with more than 2 partitions is currently not supported" +msgstr "Actualmente no se admite el cifrado de disco LVM con más de 2 particiones" + +msgid "Encryption type" +msgstr "Tipo de cifrado" + +msgid "Password" +msgstr "Contraseña" + +msgid "Iteration time" +msgstr "Tiempo de iteración" + +msgid "Select disks for the installation" +msgstr "Seleccione discos para la instalación" + +msgid "Partitions" +msgstr "Particiones" + +msgid "Select a disk configuration" +msgstr "Seleccione una configuración de disco" + +msgid "Enter root mount directory" +msgstr "Ingrese al directorio de montaje raíz" + +msgid "You will use whatever drive-setup is mounted at the specified directory" +msgstr "Utilizará cualquier configuración de unidad que esté montada en el directorio especificado" + +msgid "WARNING: Archinstall won't check the suitability of this setup" +msgstr "ADVERTENCIA: Archinstall no comprobará la idoneidad de esta configuración" + +msgid "Select main filesystem" +msgstr "Seleccione el sistema de archivos principal" + +msgid "Would you like to use compression or disable CoW?" +msgstr "¿Le gustaría utilizar compresión o desactivar CoW?" + +msgid "Use compression" +msgstr "Usar compresión" + +msgid "Disable Copy-on-Write" +msgstr "Desactivar copia en escritura" + +msgid "Would you like to use BTRFS subvolumes with a default structure?" +msgstr "¿Le gustaría utilizar subvolúmenes BTRFS con una estructura predeterminada?" + +msgid "Would you like to create a separate partition for /home?" +msgstr "¿Le gustaría crear una partición separada para /home?" + +msgid "The selected drives do not have the minimum capacity required for an automatic suggestion\n" +msgstr "Las unidades seleccionadas no tienen la capacidad mínima requerida para una sugerencia automática\n" + +#, python-brace-format +msgid "Minimum capacity for /home partition: {}GiB\n" +msgstr "Capacidad mínima para la partición /home: {}GiB\n" + +#, python-brace-format +msgid "Minimum capacity for Arch Linux partition: {}GiB" +msgstr "Capacidad mínima para la partición Arch Linux: {}GiB" + +msgid "Encryption password" +msgstr "Contraseña de cifrado" + +msgid "LVM volumes" +msgstr "Volúmenes LVM" + +msgid "HSM" +msgstr "HSM" + +msgid "Partitions to be encrypted" +msgstr "Particiones a cifrar" + +msgid "LVM volumes to be encrypted" +msgstr "Volúmenes LVM a cifrar" + +msgid "HSM device" +msgstr "Dispositivo HSM" + +msgid "Select encryption type" +msgstr "Seleccione el tipo de cifrado" + +msgid "Enter disk encryption password (leave blank for no encryption)" +msgstr "Ingrese la contraseña de cifrado del disco (deje en blanco si no desea cifrar)" + +msgid "Select a FIDO2 device to use for HSM" +msgstr "Seleccione un dispositivo FIDO2 para usar con HSM" + +msgid "Enter iteration time for LUKS encryption (in milliseconds)" +msgstr "Ingrese el tiempo de iteración para cifrado LUKS (en milisegundos)" + +msgid "Higher values increase security but slow down boot time" +msgstr "Valores más grandes mejoran la seguridad pero aumentan el tiempo de arranque" + +#, python-brace-format +msgid "Default: {}ms, Recommended range: 1000-60000" +msgstr "Valor predeterminado: {}ms, Rango recomendado: 1000-60000" + +msgid "Iteration time must be at least 100ms" +msgstr "Tiempo de iteración no puede menor a 100ms" + +msgid "Iteration time must be at most 120000ms" +msgstr "Tiempo de iteración no puede ser mayor a 120000ms" + +msgid "Please enter a valid number" +msgstr "Por favor ingrese un número válido" + +msgid "Suggest partition layout" +msgstr "Sugerir el diseño de partición" + +msgid "Remove all newly added partitions" +msgstr "Eliminar todas las particiones recién agregadas" + +msgid "Assign mountpoint" +msgstr "Asignar punto de montaje" + +msgid "Mark/Unmark to be formatted (wipes data)" +msgstr "Marcar/Desmarcar para formatear (borra datos)" + +msgid "Mark/Unmark as bootable" +msgstr "Marcar/Desmarcar como arrancable" + +msgid "Mark/Unmark as ESP" +msgstr "Marcar/Desmarcar como ESP" + +msgid "Mark/Unmark as XBOOTLDR" +msgstr "Marcar/Desmarcar como XBOOTLDR" + +msgid "Change filesystem" +msgstr "Cambiar el sistema de archivos" + +msgid "Mark/Unmark as compressed" +msgstr "Marcar/Desmarcar como comprimido" + +msgid "Mark/Unmark as nodatacow" +msgstr "Marcar/Desmarcar como nodatacow" + +msgid "Set subvolumes" +msgstr "Establecer subvolúmenes" + +msgid "Delete partition" +msgstr "Eliminar partición" + +#, python-brace-format +msgid "Partition management: {}" +msgstr "Gestión de particiones: {}" + +#, python-brace-format +msgid "Total length: {}" +msgstr "Largo total: {}" + +msgid "Partition - New" +msgstr "Partición - Nueva" + +msgid "Partition" +msgstr "Partición" + +msgid "This partition is currently encrypted, to format it a filesystem has to be specified" +msgstr "Esta partición está actualmente cifrada, para formatearla se debe especificar un sistema de archivos" + +msgid "Partition mount-points are relative to inside the installation, the boot would be /boot as an example." +msgstr "Los puntos de montaje de la partición son relativos al interior de la instalación; el arranque sería /boot como ejemplo." + +msgid "Enter a mountpoint" +msgstr "Ingrese un punto de montaje" + +msgid "Invalid size" +msgstr "Tamaño no válido" + +#, python-brace-format +msgid "Selected free space segment on device {}:" +msgstr "Segmento de espacio libre seleccionado en el dispositivo {}:" + +#, python-brace-format +msgid "Size: {} / {}" +msgstr "Tamaño: {} / {}" + +msgid "All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB..." +msgstr "Todos los valores introducidos pueden tener como sufijo una unidad: %, B, KB, KiB, MB, MiB..." + +msgid "If no unit is provided, the value is interpreted as sectors" +msgstr "Si no se proporciona ninguna unidad, el valor se interpreta como sectores" + +#, python-brace-format +msgid "Enter a size (default: {}): " +msgstr "Ingrese un tamaño (predeterminado: {}): " + +msgid "This will remove all newly added partitions, continue?" +msgstr "Esto eliminará todas las particiones recientemente agregadas, ¿continuar?" + +msgid "Add subvolume" +msgstr "Agregar subvolumen" + +msgid "Edit subvolume" +msgstr "Editar subvolumen" + +msgid "Delete subvolume" +msgstr "Eliminar subvolumen" + +msgid "Value cannot be empty" +msgstr "El valor no puede estár vacío" + +msgid "Enter subvolume name" +msgstr "Ingrese el nombre del subvolumen" + +msgid "Subvolume name" +msgstr "Nombre del subvolumen" + +msgid "Enter subvolume mountpoint" +msgstr "Ingrese el punto de montaje del subvolumen" + +msgid "Exit archinstall" +msgstr "Salir de archinstall" + +msgid "Reboot system" +msgstr "Reiniciar el sistema" + +msgid "chroot into installation for post-installation configurations" +msgstr "Hacer chroot en la instalación para configuraciones posteriores a la instalación" + +msgid "Would you like to use automatic time synchronization (NTP) with the default time servers?\n" +msgstr "¿Le gustaría utilizar la sincronización automática de hora (NTP) con los servidores de hora predeterminados?\n" + +msgid "" +"Hardware time and other post-configuration steps might be required in order for NTP to work.\n" +"For more information, please check the Arch wiki" +msgstr "" +"La hora del hardware y otros pasos post-configuración pueden ser necesarios para que NTP funcione. \n" +"Para más información, por favor, consulte la wiki de Arch" + +msgid "Enter a hostname" +msgstr "Ingrese un nombre de host" + +msgid "Select timezone" +msgstr "Seleccione una zona horaria" + +msgid "What would you like to do next?" +msgstr "¿Qué le gustaría hacer a continuación?" + +msgid "Select which kernel(s) to install" +msgstr "Seleccione qué núcleo(s) desea instalar" + +msgid "For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options." +msgstr "Para obtener la mejor compatibilidad con su hardware AMD, es posible que desee utilizar las opciones de código abierto o AMD/ATI." + +msgid "For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\n" +msgstr "Para obtener la mejor compatibilidad con su hardware Intel, es posible que desee utilizar las opciones de código abierto o de Intel.\n" + +msgid "For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\n" +msgstr "Para obtener la mejor compatibilidad con su hardware de Nvidia, es posible que desee utilizar el controlador patentado de Nvidia.\n" + +msgid "Would you like to use swap on zram?" +msgstr "¿Le gustaría usar swap en zram?" + +msgid "Select zram compression algorithm:" +msgstr "Seleccione algorimto de compresión zram:" + +msgid "Archinstall language" +msgstr "Idioma de archinstall" + +msgid "Applications" +msgstr "Aplicaciones" + +msgid "Network configuration" +msgstr "Configuración de la red" + +msgid "Save configuration" +msgstr "Guardar configuración" + +msgid "Install" +msgstr "Instalar" + +msgid "Abort" +msgstr "Abortar" + +msgid "Either root-password or at least 1 user with sudo privileges must be specified" +msgstr "Debe especificar una contraseña de root o al menos 1 usuario con privilegios sudo" + +msgid "The selected desktop profile requires a regular user to log in via the greeter" +msgstr "El perfil de escritorio seleccionado requiere que un usuario estándar inicie sesión a través de la pantalla de bienvenida" + +msgid "Language" +msgstr "Idioma local" + +msgid "NTP" +msgstr "NTP" + +msgid "LVM configuration type" +msgstr "Tipo de configuración LVM" + +#, python-brace-format +msgid "Btrfs snapshot type: {}" +msgstr "Tipo de instantánea BTRFS: {}" + +msgid "Swap on zram" +msgstr "Swap en zram" + +msgid "Compression algorithm" +msgstr "Algoritmo de compresión" + +msgid "Parallel Downloads" +msgstr "Descargas paralelas" + +msgid "Color" +msgstr "Color" + +msgid "Kernel" +msgstr "Núcleo" + +msgid "Missing configurations:\n" +msgstr "Configuraciones que faltan:\n" + +#, python-brace-format +msgid "Invalid configuration: {}" +msgstr "Configuración no válida: {}" + +msgid "Ready to install" +msgstr "Listo para instalar" + +msgid "Profiles" +msgstr "Perfiles" + +msgid "Graphics driver" +msgstr "Controlador de gráficos" + +msgid "Greeter" +msgstr "Gestor de inicio de sesión" + +msgid "Selected mirror regions" +msgstr "Regiones de espejo seleccionadas" + +msgid "Custom servers" +msgstr "Servidores personalizados" + +msgid "Optional repositories" +msgstr "Repositorios opcionales" + +msgid "Custom repositories" +msgstr "Repositorios personalizados" + +#, python-brace-format +msgid "[!] A log file has been created here: {}" +msgstr "[!] Se ha creado un archivo de registro aquí: {}" + +msgid "Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues" +msgstr "Envíe este problema (y archivo) a https://github.com/archlinux/archinstall/issues" + +msgid "Syncing the system..." +msgstr "Sincronizando el sistema..." + +msgid "Waiting for time sync (timedatectl show) to complete." +msgstr "Esperando a que se complete la sincronización de la hora (timedatectl show)." + +msgid "Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/" +msgstr "La sincronización de hora no se completa mientras espera - consulte los documentos para encontrar soluciones: https://archinstall.readthedocs.io/" + +msgid "Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)" +msgstr "Saltarse la espera de sincronización automática de la hora (esto puede causar problemas si la hora no está sincronizada durante la instalación)" + +msgid "Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete." +msgstr "Esperando a que se complete la sincronización del llavero de Arch Linux (archlinux-keyring-wkd-sync)." + +msgid "Keyboard layout" +msgstr "Distribución del teclado" + +msgid "Locale language" +msgstr "Idioma local" + +msgid "Locale encoding" +msgstr "Codificación local" + +msgid "Console font" +msgstr "Fuente de consola" + +msgid "Back" +msgstr "Regresar" + +msgid "Are you sure you want to reset this setting?" +msgstr "¿Está seguro de que desea restablecer esta configuración?" + +msgid "Confirm and exit" +msgstr "Confirmar y salir" + +msgid "Cancel" +msgstr "Cancelar" + +msgid "Password strength: Weak" +msgstr "Seguridad de la contraseña: Débil" + +msgid "Password strength: Moderate" +msgstr "Seguridad de la contraseña: Media" + +msgid "Password strength: Strong" +msgstr "Seguridad de la contraseña: Fuerte" + +msgid "Confirm password" +msgstr "Confirmar contraseña" + +msgid "The password did not match, please try again" +msgstr "La contraseña no coincide, por favor inténtelo nuevamente" + +msgid "Not a valid directory" +msgstr "No es un directorio válido" + +msgid "Do you really want to abort?" +msgstr "¿Realmente desea abortar?" + +msgid "Add a custom repository" +msgstr "Agregar un repositorio personalizado" + +msgid "Change custom repository" +msgstr "Cambiar el repositorio personalizado" + +msgid "Delete custom repository" +msgstr "Eliminar repositorio personalizado" + +msgid "Enter a repository name" +msgstr "Introduzca un nombre de repositorio" + +msgid "Name" +msgstr "Nombre" + +msgid "Enter the repository url" +msgstr "Ingrese la URL del repositorio" + +msgid "Url" +msgstr "Url" + +msgid "Select signature check" +msgstr "Seleccionar verificación de firma" + +msgid "Signature check" +msgstr "Comprobación de firma" + +msgid "Select signature option" +msgstr "Seleccione la opción de firma" + +msgid "Add a custom server" +msgstr "Agregar un servidor personalizado" + +msgid "Change custom server" +msgstr "Cambiar servidor personalizado" + +msgid "Delete custom server" +msgstr "Eliminar servidor personalizado" + +msgid "Enter server url" +msgstr "Ingrese la URL del servidor" + +msgid "Select regions" +msgstr "Seleccionar regiones" + +msgid "Add custom servers" +msgstr "Agregar servidores personalizados" + +msgid "Add custom repository" +msgstr "Agregar repositorio personalizado" + +msgid "Additional repositories" +msgstr "Repositorios adicionales" + +msgid "Loading mirror regions..." +msgstr "Cargando regiones de espejo..." + +msgid "Select mirror regions to be enabled" +msgstr "Seleccione las regiones espejo que se activarán" + +msgid "Select optional repositories to be enabled" +msgstr "Seleccione repositorios opcionales para activar" + +msgid "Unicode font coverage for most languages" +msgstr "Fuente unicode cubierta para la mayoría de idiomas" + +msgid "color emoji for browsers and apps" +msgstr "Emoji de colores para navegadores y aplicaciones" + +msgid "Chinese, Japanese, Korean characters" +msgstr "Carácteres Chino, Japonés, Koreano" + msgid "Arial/Times/Courier replacement, Cyrillic support for Steam/games" msgstr "Sustitución de Arial/Times/Courier, compatibilidad con caracteres cirílicos para Steam/juegos" msgid "wide Unicode coverage, good fallback font" -msgstr "Amplia cobertura Unicode, buena fuente de reserva" +msgstr "amplia cobertura Unicode, buena fuente de reserva" + +msgid "Zram enabled" +msgstr "ZRAM activado" #, python-brace-format -msgid "Setting up U2F login: {u2f_config.u2f_login_method.value}" -msgstr "Configurando Inicio U2F: {u2f_config.u2f_login_method.value}" +msgid "Zram algorithm {}" +msgstr "Algoritmo ZRAM {}" + +msgid "Bluetooth enabled" +msgstr "Bluetooth activado" #, python-brace-format -msgid "Default: {DEFAULT_ITER_TIME}ms, Recommended range: 1000-60000" -msgstr "Predeterminado: {DEFAULT_ITER_TIME}ms, Rango recomendado: 1000-60000" +msgid "Audio server \"{}\"" +msgstr "Servidor de audio «{}»" + +#, python-brace-format +msgid "Power management \"{}\"" +msgstr "Gestión de energía «{}»" + +msgid "Print service enabled" +msgstr "Servicio de impresión activado" + +#, python-brace-format +msgid "Firewall \"{}\"" +msgstr "Cortafuegos «{}»" + +#, python-brace-format +msgid "Extra fonts \"{}\"" +msgstr "Fuentes adicionales «{}»" + +msgid "Passwordless login" +msgstr "Inicio de sesión sin contraseña" + +msgid "Second factor login" +msgstr "Inicio de sesión con factor secundario" + +msgid "Root password set" +msgstr "Contraseña de root establecida" + +#, python-brace-format +msgid "Configured {} user(s)" +msgstr "{} usuario(s) configurado(s)" + +msgid "U2F set up" +msgstr "Configuración de U2F" + +#, python-brace-format +msgid "Bootloader \"{}\"" +msgstr "Cargador de arranque «{}»" + +msgid "UKI enabled" +msgstr "UKI activado" + +msgid "Removable" +msgstr "Desmontable" + +msgid "Use a best-effort default partition layout" +msgstr "Utlizar un diseño de partición predeterminado de mejor esfuerzo" + +msgid "Manual Partitioning" +msgstr "Partición manual" + +msgid "Pre-mounted configuration" +msgstr "Configuración premontada" + +msgid "Default" +msgstr "Predeterminado" + +msgid "Manual" +msgstr "Manual" + +msgid "Pre-mount" +msgstr "Premontaje" + +# not sure about this one... we've been saying distribución instead of diseño up to now... +#, python-brace-format +msgid "{} layout" +msgstr "{} diseño" + +#, python-brace-format +msgid "Devices {}" +msgstr "Dispositivo {}" + +msgid "LVM set up" +msgstr "Configuración de LVM" + +#, python-brace-format +msgid "{} encryption" +msgstr "{} cifrado" + +#, python-brace-format +msgid "Btrfs snapshot \"{}\"" +msgstr "Instantánea de BTRFS «{}»" + +msgid "Unknown" +msgstr "Desconocido" + +msgid "Default layout" +msgstr "Diseño predeterminado" + +msgid "No Encryption" +msgstr "Sin cifrado" + +msgid "LUKS" +msgstr "LUKS" + +msgid "LVM on LUKS" +msgstr "LVM en LUKS" + +msgid "LUKS on LVM" +msgstr "LUKS en LVM" + +#, python-brace-format +msgid "Keyboard layout \"{}\"" +msgstr "Distribución del teclado «{}»" + +#, python-brace-format +msgid "Locale language \"{}\"" +msgstr "Idioma local «{}»" + +#, python-brace-format +msgid "Locale encoding \"{}\"" +msgstr "Codificación local «{}»" + +#, python-brace-format +msgid "Console font \"{}\"" +msgstr "Fuente de consola «{}»" + +#, python-brace-format +msgid "Mirror regions \"{}\"" +msgstr "Regiones espejo «{}»" + +#, python-brace-format +msgid "Optional repositories \"{}\"" +msgstr "Repositorios opcionales «{}»" + +msgid "Custom servers set up" +msgstr "Servidores personalizados configurados" + +msgid "Custom repositories set up" +msgstr "Repositorios personalizados configurados" + +msgid "Copy ISO network configuration to installation" +msgstr "Copiar la configuración de red ISO a la instalación" + +msgid "Use Network Manager (default backend)" +msgstr "Usar Network Manager (backend predeterminado)" + +msgid "Use Network Manager (iwd backend)" +msgstr "Usar Network Manager (backend iwd)" + +msgid "Use standalone iwd" +msgstr "Utilizar iwd independiente" + +msgid "Manual configuration" +msgstr "Configuración manual" + +msgid "Package group:" +msgstr "Grupo de paquetes:" + +msgid "Color enabled" +msgstr "Color activado" + +#, python-brace-format +msgid "{} grphics driver" +msgstr "{} controlador de gráficos" + +#, python-brace-format +msgid "{} greeter" +msgstr "{} saludador" + +msgid "very weak" +msgstr "muy débil" + +msgid "weak" +msgstr "débil" + +msgid "moderate" +msgstr "moderado" + +msgid "strong" +msgstr "fuerte" + +msgid "Add interface" +msgstr "Añadir interfaz" + +msgid "Edit interface" +msgstr "Editar interfaz" + +msgid "Delete interface" +msgstr "Eliminar intefaz" + +msgid "Select an interface" +msgstr "Seleccione una interfaz" + +msgid "You need to enter a valid IP in IP-config mode" +msgstr "Debe ingresar una IP válida en el modo de configuración de IP" + +#, python-brace-format +msgid "Select which mode to configure for \"{}\"" +msgstr "Seleccione qué modo configurar para «{}»" + +#, python-brace-format +msgid "Enter the IP and subnet for {} (example: 192.168.0.5/24): " +msgstr "Escriba la IP y subred para {} (ejemplo: 192.168.0.5/24): " + +msgid "Enter your gateway (router) IP address (leave blank for none)" +msgstr "Ingrese la dirección IP de su puerta de enlace (enrutador) (deje en blanco si no hay ninguna)" + +msgid "Enter your DNS servers with space separated (leave blank for none)" +msgstr "Ingrese sus servidores DNS separados por espacios (deje en blanco si no hay ninguno)" + +msgid "Choose network configuration" +msgstr "Elija la configuración de red" + +msgid "Recommended: Network Manager for desktop, Manual for server" +msgstr "Recomendado: Network Manager para equipos de escritorio, Manual para servidores" + +msgid "Configure interfaces" +msgstr "Configurar interfaces" + +msgid "No network connection found" +msgstr "No se encontró una conección de red" + +msgid "Would you like to connect to a Wifi?" +msgstr "¿Desea conectarse al Wi-Fi?" + +msgid "No wifi interface found" +msgstr "No se encontró ninguna interfaz Wi-Fi" + +msgid "Select wifi network to connect to" +msgstr "Seleccione una red Wi-Fi para conectarse" + +msgid "Scanning wifi networks..." +msgstr "Buscando redes Wi-Fi..." + +msgid "No wifi networks found" +msgstr "No se encontró redes Wi-Fi" + +msgid "Failed setting up wifi" +msgstr "Error al configurar el Wi-Fi" + +msgid "Enter wifi password" +msgstr "Ingrese la contraseña del Wi-Fi" + +#, python-brace-format +msgid "Repositories: {}" +msgstr "Repositorios: {}" + +msgid "Loading packages..." +msgstr "Cargando paquetes..." + +msgid "No packages found" +msgstr "No se encontraron paquetes" + +msgid "Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed." +msgstr "Solo paquetes como base, sudo, linux, linux-firmware, efibootmgr y paquetes opcionales de perfil se instalan." + +msgid "Note: base-devel is no longer installed by default. Add it here if you need build tools." +msgstr "Nota: base-devel ya no viene instalado por defecto. Agreguelo aquí si necesita herramientas de compilación." + +msgid "Select any packages from the below list that should be installed additionally" +msgstr "Seleccione cualquier paquete de la lista a continuación que deba instalarse adicionalmente" + +#, python-brace-format +msgid "Enter the number of parallel downloads (1-{})" +msgstr "Ingrese el número de descargas paralelas (1-{})" + +#, python-brace-format +msgid "Value must be between 1 and {}" +msgstr "El valor debe estar entre 1 y {}" + +msgid "Enable colored output for pacman" +msgstr "Activa salida a color para pacman" + +msgid "Pacman is already running, waiting maximum 10 minutes for it to terminate." +msgstr "Pacman ya se está ejecutando, esperando un máximo de 10 minutos para que finalice." + +msgid "Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall." +msgstr "El bloqueo de pacman preexistente nunca se cerró. Limpie cualquier sesión de pacman existente antes de usar archinstall." + +msgid "The proprietary Nvidia driver is not supported by Sway." +msgstr "El controlador patentado de Nvidia no es compatible con Sway." + +msgid "It is likely that you will run into issues, are you okay with that?" +msgstr "Es probable que tengas problemas. ¿Te parece bien?" + +msgid "Selected profiles: " +msgstr "Perfiles seleccionados: " + +msgid "Select which greeter to install" +msgstr "Seleccione el saludo que desea instalar" + +msgid "Select a profile type" +msgstr "Seleccione un tipo de perfil" + +#, python-brace-format +msgid "Unable to fetch profile from specified url: {}" +msgstr "No se puede recuperar el perfil de la URL especificada: {}" + +#, python-brace-format +msgid "Profiles must have unique name, but profile definitions with duplicate name found: {}" +msgstr "Los perfiles deben tener un nombre único, pero se encontraron definiciones de perfil con nombre duplicado: {}" + +msgid "Add a user" +msgstr "Añadir un usuario" + +msgid "Change password" +msgstr "Cambiar contraseña" + +# maybe ascender/descender here? +msgid "Promote/Demote user" +msgstr "Promocionar/Degradar usuario" + +msgid "Delete User" +msgstr "Eliminar usuario" + +msgid "User" +msgstr "Usuario" + +msgid "Enter new password" +msgstr "Ingrese nueva contraseña" + +msgid "The username you entered is invalid" +msgstr "El nombre de usuario ingresado no es válido" + +msgid "Enter a username" +msgstr "Ingrese un nombre de usuario" + +msgid "Username" +msgstr "Nombre de usuario" + +msgid "Enter a password" +msgstr "Ingrese una contraseña" + +#, python-brace-format +msgid "Should \"{}\" be a superuser (sudo)?\n" +msgstr "¿«{}» debería ser un superusuario (sudo)?\n" + +#, python-brace-format +msgid "About to upload \"{}\" to the publicly accessible {}" +msgstr "A punto de subir «{}» al {} de acceso público." + +msgid "Do you want to continue?" +msgstr "¿Deseas continuar?" + +#, python-brace-format +msgid "Log uploaded successfully. URL: {}" +msgstr "Registro cargado correctamente. URL: {}" + +msgid "Failed to upload log." +msgstr "No se pudo cargar el registro." + +msgid "Archinstall requires root privileges to run. See --help for more." +msgstr "Archinstall requiere privilegios de root para ejecutarse. Consulte --help para más información." + +msgid "New version available" +msgstr "Nueva versión disponible" + +msgid "Starting device modifications in " +msgstr "Iniciando modificaciones en dispositivo en " + +msgid "Ok" +msgstr "Ok" + +msgid "Input cannot be empty" +msgstr "La entrada no debe estar vacía" + +msgid "Yes" +msgstr "Sí" + +msgid "No" +msgstr "No" + +msgid " (default)" +msgstr " (predeterminado)" + +#~ msgid "[!] A log file has been created here: {} {}" +#~ msgstr "[!] Se ha creado un archivo de registro aquí: {} {}" + +#~ msgid " Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues" +#~ msgstr " Por favor envíe este problema (y archivo) a https://github.com/archlinux/archinstall/issues" + +#~ msgid "And one more time for verification: " +#~ msgstr "Y una vez más para verificar: " + +#~ msgid "Desired hostname for the installation: " +#~ msgstr "Nombre de host deseado para la instalación: " + +#~ msgid "Username for required superuser with sudo privileges: " +#~ msgstr "Nombre de usuario para el superusuario con privilegios sudo: " + +#~ msgid "Any additional users to install (leave blank for no users): " +#~ msgstr "Algún usuario adicional a instalar (déjelo en blanco para no agregar ninguno): " + +#~ msgid "Should this user be a superuser (sudoer)?" +#~ msgstr "Debería este usuario ser un superusuario (sudoer)?" + +#~ msgid "Select a timezone" +#~ msgstr "Seleccione una zona horaria" + +#~ msgid "Would you like to use GRUB as a bootloader instead of systemd-boot?" +#~ msgstr "Le gustaría usar GRUB como gestor de arranque en lugar de systemd-boot?" + +#~ msgid "Choose a bootloader" +#~ msgstr "Elija un gestor de arranque" + +#~ msgid "Choose an audio server" +#~ msgstr "Elija un servidor de audio" + +#~ msgid "Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed." +#~ msgstr "Solo paquetes como base, base-devel, linux, linux-firmware, efibootmgr y paquetes opcionales de perfil se instalan." + +#~ msgid "If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt." +#~ msgstr "Si desea un navegador web, como firefox o chromium, puede especificarlo en el siguiente mensaje." + +#~ msgid "Write additional packages to install (space separated, leave blank to skip): " +#~ msgstr "Escriba paquetes adicionales para instalar (separados por espacios, deje en blanco para omitir): " + +#~ msgid "Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)" +#~ msgstr "Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE)" + +#~ msgid "Select one network interface to configure" +#~ msgstr "Seleccione una interfaz de red para configurar" + +#~ msgid "Select which mode to configure for \"{}\" or skip to use default mode \"{}\"" +#~ msgstr "Seleccione qué modo configurar para \"{}\" u omita para usar el modo predeterminado \"{}\"" + +#~ msgid "Enter your gateway (router) IP address or leave blank for none: " +#~ msgstr "Escriba la IP de su puerta de enlace (enrutador) o déjelo en blanco para no usar ninguna: " + +#~ msgid "Enter your DNS servers (space separated, blank for none): " +#~ msgstr "Ingrese sus servidores DNS (separados por espacios, en blanco para ninguno): " + +#~ msgid "Select which filesystem your main partition should use" +#~ msgstr "Seleccione qué sistema de archivos debe usar su partición principal" + +#~ msgid "Current partition layout" +#~ msgstr "Distribución actual de las particiones" + +#~ msgid "" +#~ "Select what to do with\n" +#~ "{}" +#~ msgstr "" +#~ "Seleccione qué hacer con\n" +#~ "{}" + +#~ msgid "Enter a desired filesystem type for the partition" +#~ msgstr "Ingrese un tipo de sistema de archivos deseado para la partición" + +#~ msgid "Enter the start location (in parted units: s, GB, %, etc. ; default: {}): " +#~ msgstr "Ingrese la ubicación de inicio (en unidades divididas: s, GB, %, etc. ; predeterminado: {}): " + +#~ msgid "Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): " +#~ msgstr "Ingrese la ubicación final (en unidades divididas: s, GB, %, etc. ; ej.: {}): " + +#~ msgid "{} contains queued partitions, this will remove those, are you sure?" +#~ msgstr "{} contiene particiones en cola, esto eliminará esas particiones, ¿está seguro?" + +#~ msgid "" +#~ "{}\n" +#~ "\n" +#~ "Select by index which partitions to delete" +#~ msgstr "" +#~ "{}\n" +#~ "\n" +#~ "Seleccione por índice qué particiones eliminar" + +#~ msgid "" +#~ "{}\n" +#~ "\n" +#~ "Select by index which partition to mount where" +#~ msgstr "" +#~ "{}\n" +#~ "\n" +#~ "Seleccione por índice qué partición montar en qué ubicación" + +#~ msgid " * Partition mount-points are relative to inside the installation, the boot would be /boot as an example." +#~ msgstr " * Los puntos de montaje de la partición son relativos al interior de la instalación, por ejemplo: el arranque sería /boot." + +#~ msgid "Select where to mount partition (leave blank to remove mountpoint): " +#~ msgstr "Seleccione dónde montar la partición (deje en blanco para eliminar el punto de montaje): " + +#~ msgid "" +#~ "{}\n" +#~ "\n" +#~ "Select which partition to mask for formatting" +#~ msgstr "" +#~ "{}\n" +#~ "\n" +#~ "Seleccione qué partición enmascarar para formatear" + +#~ msgid "" +#~ "{}\n" +#~ "\n" +#~ "Select which partition to mark as encrypted" +#~ msgstr "" +#~ "{}\n" +#~ "\n" +#~ "Seleccione qué partición marcar como encriptada" + +#~ msgid "" +#~ "{}\n" +#~ "\n" +#~ "Select which partition to mark as bootable" +#~ msgstr "" +#~ "{}\n" +#~ "\n" +#~ "Seleccione qué partición marcar como de arranque" + +#~ msgid "" +#~ "{}\n" +#~ "\n" +#~ "Select which partition to set a filesystem on" +#~ msgstr "" +#~ "{}\n" +#~ "\n" +#~ "Seleccione en qué partición establecer un sistema de archivos" + +#~ msgid "Enter a desired filesystem type for the partition: " +#~ msgstr "Ingrese un tipo de sistema de archivos deseado para la partición: " + +#~ msgid "Wipe all selected drives and use a best-effort default partition layout" +#~ msgstr "Borrar todas las unidades seleccionadas y usar un diseño de partición predeterminado de mejor esfuerzo" + +#~ msgid "Select what to do with each individual drive (followed by partition usage)" +#~ msgstr "Seleccione qué hacer con cada unidad individual (seguido del uso de la partición)" + +#~ msgid "Select what you wish to do with the selected block devices" +#~ msgstr "Seleccione lo que desea hacer con los dispositivos de bloque seleccionados" + +#~ msgid "This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments" +#~ msgstr "Esta es una lista de perfiles preprogramados que podrían facilitar la instalación de cosas como entornos de escritorio" + +#~ msgid "Select keyboard layout" +#~ msgstr "Seleccione la distribución del teclado" + +#~ msgid "Select one of the regions to download packages from" +#~ msgstr "Seleccione qué región usar para descargar paquetes" + +#~ msgid "Select one or more hard drives to use and configure" +#~ msgstr "Seleccione uno o más discos duros para usar y configurar" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "Select a graphics driver or leave blank to install all open-source drivers" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Seleccione un controlador de gráficos o déjelo en blanco para instalar todos los controladores de código abierto" + +#~ msgid "All open-source (default)" +#~ msgstr "Todos de código abierto (predeterminado)" + +#~ msgid "Choose which kernels to use or leave blank for default \"{}\"" +#~ msgstr "Elija qué núcleo usar o deje en blanco para usar el núcleo \"{}\" predeterminado" + +#~ msgid "Choose which locale language to use" +#~ msgstr "Elija qué idioma local usar" + +#~ msgid "Choose which locale encoding to use" +#~ msgstr "Elija qué codificación local usar" + +#~ msgid "Select one of the values shown below: " +#~ msgstr "Seleccione uno de los valores que se muestran a continuación: " + +#~ msgid "Select one or more of the options below: " +#~ msgstr "Seleccione una o más de las siguientes opciones: " + +#~ msgid "Adding partition...." +#~ msgstr "Añadiendo partición..." + +#~ msgid "You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's." +#~ msgstr "Debe ingresar un tipo de sistema de archivos (fs-type) válido para continuar. Consulte `man parted` para conocer los tipos válidos." + +#~ msgid "Error: Listing profiles on URL \"{}\" resulted in:" +#~ msgstr "Error: Listar perfiles en la URL \"{}\" resultó en:" + +#~ msgid "Error: Could not decode \"{}\" result as JSON:" +#~ msgstr "Error: No se pudo decodificar el resultado \"{}\" como JSON:" + +#~ msgid "Mirror region" +#~ msgstr "Región del servidor" + +#~ msgid "Drive(s)" +#~ msgstr "Disco(s)" + +#~ msgid "Superuser account" +#~ msgstr "Cuenta de superusuario" + +# are you installing missing configs or are there missing configs +#~ msgid "Install ({} config(s) missing)" +#~ msgstr "Instalar ({} ajuste(s) faltante(s))" + +#~ msgid "" +#~ "You decided to skip harddrive selection\n" +#~ "and will use whatever drive-setup is mounted at {} (experimental)\n" +#~ "WARNING: Archinstall won't check the suitability of this setup\n" +#~ "Do you wish to continue?" +#~ msgstr "" +#~ "Ha decidido saltar la selección de discos duros\n" +#~ "y usar la configuración montada en {} (experimental)\n" +#~ "ADVERTENCIA: Archinstall no verificará la idoneidad de esta configuración\n" +#~ "¿Desea continuar?" + +#~ msgid "Re-using partition instance: {}" +#~ msgstr "Reutilizando instancia de partición: {}" + +#~ msgid "Create a new partition" +#~ msgstr "Crear una nueva partición" + +#~ msgid "Delete a partition" +#~ msgstr "Eliminar una partición" + +#~ msgid "Clear/Delete all partitions" +#~ msgstr "Limpiar/Eliminar todas las particiones" + +#~ msgid "Assign mount-point for a partition" +#~ msgstr "Asignar punto de montaje para una partición" + +#~ msgid "Mark/Unmark a partition to be formatted (wipes data)" +#~ msgstr "Marcar/Desmarcar una partición para ser formateada (borra los datos)" + +#~ msgid "Mark/Unmark a partition as encrypted" +#~ msgstr "Marcar/Desmarcar una partición como encriptada" + +#~ msgid "Mark/Unmark a partition as bootable (automatic for /boot)" +#~ msgstr "Marcar/Desmarcar una partición como arrancable (automática para /boot)" + +#~ msgid "Set desired filesystem for a partition" +#~ msgstr "Establecer el sistema de archivos deseado para una partición" + +#~ msgid "Not configured, unavailable unless setup manually" +#~ msgstr "No configurado, no disponible a menos que se configure manualmente" + +#~ msgid "Set/Modify the below options" +#~ msgstr "Establecer/Modificar las opciones siguientes" + +#~ msgid "" +#~ "Use ESC to skip\n" +#~ "\n" +#~ msgstr "" +#~ "Usar ESC para saltar\n" +#~ "\n" + +#~ msgid "Enter a password: " +#~ msgstr "Ingrese una contraseña: " + +#~ msgid "Enter a encryption password for {}" +#~ msgstr "Ingrese una contraseña de cifrado para {}" + +#~ msgid "Enter disk encryption password (leave blank for no encryption): " +#~ msgstr "Ingrese la contraseña de cifrado de disco (deje en blanco para no cifrar): " + +#~ msgid "Create a required super-user with sudo privileges: " +#~ msgstr "Crear un super-usuario requerido con privilegios sudo: " + +#~ msgid "Enter root password (leave blank to disable root): " +#~ msgstr "Ingrese la contraseña de root (deje en blanco para desactivar root): " + +#~ msgid "Password for user \"{}\": " +#~ msgstr "Contraseña para el usuario “{}”: " + +#~ msgid "Verifying that additional packages exist (this might take a few seconds)" +#~ msgstr "Verificando que los paquetes adicionales existen (esto puede tardar unos segundos)" + +#~ msgid "Enter a username to create an additional user (leave blank to skip): " +#~ msgstr "Introduzca un nombre de usuario para crear un usuario adicional (deje en blanco para saltar): " + +#~ msgid "Use ESC to skip\n" +#~ msgstr "Use ESC para omitir\n" + +#~ msgid "" +#~ "\n" +#~ " Choose an object from the list, and select one of the available actions for it to execute" +#~ msgstr "" +#~ "\n" +#~ "Elija un objeto de la lista y seleccione una de las acciones disponibles para ejecutar" + +#~ msgid "Add" +#~ msgstr "Añadir" + +#~ msgid "Copy" +#~ msgstr "Copiar" + +#~ msgid "Edit" +#~ msgstr "Editar" + +#~ msgid "Delete" +#~ msgstr "Eliminar" + +#~ msgid "Select an action for '{}'" +#~ msgstr "Seleccione una acción para '{}'" + +#~ msgid "Copy to new key:" +#~ msgstr "Copiar a nueva clave:" + +#~ msgid "Unknown nic type: {}. Possible values are {}" +#~ msgstr "Tipo de nic desconocido: {}. Los valores posibles son {}" + +#~ msgid "" +#~ "\n" +#~ "This is your chosen configuration:" +#~ msgstr "" +#~ "\n" +#~ "Esta es su configuración elegida:" + +#~ msgid "Choose which optional additional repositories to enable" +#~ msgstr "Elija qué repositorios adicionales opcionales activar" + +#~ msgid "" +#~ "\n" +#~ "Define a new user\n" +#~ msgstr "" +#~ "\n" +#~ "Definir un nuevo usuario\n" + +#~ msgid "User Name : " +#~ msgstr "Nombre de usuario : " + +#~ msgid "Should {} be a superuser (sudoer)?" +#~ msgstr "¿Debe {} ser un superusuario (sudoer)?" + +#~ msgid "Define users with sudo privilege: " +#~ msgstr "Defina usuarios con privilegio sudo: " + +#~ msgid "No network configuration" +#~ msgstr "Sin configuración de red" + +#~ msgid "Set desired subvolumes on a btrfs partition" +#~ msgstr "Establecer los subvolúmenes deseados en una partición BTRFS" + +#~ msgid "" +#~ "{}\n" +#~ "\n" +#~ "Select which partition to set subvolumes on" +#~ msgstr "" +#~ "{}\n" +#~ "\n" +#~ "Seleccione en qué partición configurar los subvolúmenes" + +#~ msgid "Manage btrfs subvolumes for current partition" +#~ msgstr "Administrar subvolúmenes BTRFS para la partición actual" + +#~ msgid "Save user configuration" +#~ msgstr "Guardar configuración de usuario" + +#~ msgid "Save disk layout" +#~ msgstr "Guardar diseño de disco" + +#~ msgid "Choose which configuration to save" +#~ msgstr "Elija qué configuración guardar" + +#~ msgid "Enter a directory for the configuration(s) to be saved: " +#~ msgstr "Ingrese un directorio para guardar la(s) configuración(es): " + +#~ msgid "Not a valid directory: {}" +#~ msgstr "No es un directorio válido: {}" + +#~ msgid "The password you are using seems to be weak," +#~ msgstr "La contraseña que está utilizando parece ser débil," + +#~ msgid "are you sure you want to use it?" +#~ msgstr "¿Está seguro de querer usarlo?" + +#~ msgid "Either root-password or at least 1 superuser must be specified" +#~ msgstr "Debe especificar una contraseña de root o al menos 1 superusuario" + +#~ msgid "Manage superuser accounts: " +#~ msgstr "Administrar cuentas de superusuario: " + +#~ msgid "Manage ordinary user accounts: " +#~ msgstr "Administrar cuentas de usuario ordinarias: " + +#~ msgid " Subvolume :{:16}" +#~ msgstr " Subvolumen :{:16}" + +#~ msgid " mounted at {:16}" +#~ msgstr " montado en {:16}" + +#~ msgid " with option {}" +#~ msgstr " con opción {}" + +#~ msgid "" +#~ "\n" +#~ " Fill the desired values for a new subvolume \n" +#~ msgstr "" +#~ "\n" +#~ "Complete los valores deseados para un nuevo subvolumen\n" + +#~ msgid "Subvolume name " +#~ msgstr "Nombre del subvolumen " + +#~ msgid "Subvolume mountpoint" +#~ msgstr "Punto de montaje del subvolumen" + +#~ msgid "Subvolume options" +#~ msgstr "Opciones del subvolumen" + +#~ msgid "Save" +#~ msgstr "Guardar" + +#~ msgid "Subvolume name :" +#~ msgstr "Nombre del subvolumen :" + +#~ msgid "Select a mount point :" +#~ msgstr "Seleccione un punto de montaje :" + +#~ msgid "Select the desired subvolume options " +#~ msgstr "Seleccione las opciones de subvolumen deseadas " + +#~ msgid "Define users with sudo privilege, by username: " +#~ msgstr "Defina usuarios con privilegio sudo, por nombre de usuario: " + +#~ msgid "Would you like to use BTRFS compression?" +#~ msgstr "¿Le gustaría usar la compresión BTRFS?" + +#~ msgid "Minimum capacity for /home partition: {}GB\n" +#~ msgstr "Capacidad mínima para la partición /home: {}GB\n" + +#~ msgid "Minimum capacity for Arch Linux partition: {}GB" +#~ msgstr "Capacidad mínima para la partición Arch Linux: {}GB" + +#~ msgid "Continue" +#~ msgstr "Continuar" + +#~ msgid "yes" +#~ msgstr "sí" + +#~ msgid "no" +#~ msgstr "no" + +#~ msgid "set: {}" +#~ msgstr "establecer: {}" + +#~ msgid "Manual configuration setting must be a list" +#~ msgstr "La configuración manual debe ser una lista." + +#~ msgid "No iface specified for manual configuration" +#~ msgstr "No se especificó iface para la configuración manual" + +#~ msgid "Manual nic configuration with no auto DHCP requires an IP address" +#~ msgstr "La configuración manual de la NIC sin DHCP automático requiere una dirección IP" + +#~ msgid "Select interface to add" +#~ msgstr "Seleccione la interfaz para agregar" + +#~ msgid "Mark/Unmark a partition as compressed (btrfs only)" +#~ msgstr "Marcar/Desmarcar una partición como comprimida (solo BTRFS)" + +#~ msgid "The password you are using seems to be weak, are you sure you want to use it?" +#~ msgstr "La contraseña que está utilizando parece ser débil, ¿está seguro de que desea usarla?" + +#~ msgid "Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway" +#~ msgstr "Proporciona una selección de entornos de escritorio y administradores de ventanas en mosaico, p.e. gnome, kde, sway" + +#~ msgid "Select your desired desktop environment" +#~ msgstr "Seleccione su entorno de escritorio deseado" + +#~ msgid "A very basic installation that allows you to customize Arch Linux as you see fit." +#~ msgstr "Una instalación muy básica que te permite personalizar Arch Linux como mejor te parezca." + +#~ msgid "Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb" +#~ msgstr "Proporciona una selección de varios paquetes de servidor para instalar y activar, p.ej. httpd, nginx, mariadb" + +#~ msgid "Choose which servers to install, if none then a minimal installation will be done" +#~ msgstr "Elija qué servidores instalar, si no hay ninguno, se realizará una instalación mínima" + +#~ msgid "Installs a minimal system as well as xorg and graphics drivers." +#~ msgstr "Instala un sistema mínimo, así como controladores xorg y gráficos." + +#~ msgid "Press Enter to continue." +#~ msgstr "Presione Entrar para continuar." + +#~ msgid "Would you like to chroot into the newly created installation and perform post-installation configuration?" +#~ msgstr "¿Le gustaría acceder a la instalación recién creada y realizar la configuración posterior a la instalación?" + +#~ msgid "Select one or more hard drives to use and configure\n" +#~ msgstr "Seleccione uno o más discos duros para usar y configurar\n" + +#~ msgid "Any modifications to the existing setting will reset the disk layout!" +#~ msgstr "¡Cualquier modificación a la configuración existente restablecerá el diseño del disco!" + +#~ msgid "If you reset the harddrive selection this will also reset the current disk layout. Are you sure?" +#~ msgstr "Si restablece la selección del disco duro, esto también restablecerá el diseño actual del disco. ¿Está seguro?" + +#~ msgid "Save and exit" +#~ msgstr "Guardar y salir" + +#~ msgid "" +#~ "{}\n" +#~ "contains queued partitions, this will remove those, are you sure?" +#~ msgstr "" +#~ "{}\n" +#~ "contiene particiones en cola, esto las eliminará, ¿está seguro?" + +#~ msgid "Use ESC to skip" +#~ msgstr "Use ESC para omitir" + +#~ msgid "" +#~ "Use CTRL+C to reset current selection\n" +#~ "\n" +#~ msgstr "" +#~ "Use CTRL+C para restablecer la selección actual\n" +#~ "\n" + +#~ msgid "Copy to: " +#~ msgstr "Copiar a: " + +#~ msgid "Edit: " +#~ msgstr "Editar: " + +#~ msgid "Key: " +#~ msgstr "Clave: " + +#~ msgid "Edit {}: " +#~ msgstr "Editar {}: " + +#~ msgid "Add: " +#~ msgstr "Añadir: " + +#~ msgid "Value: " +#~ msgstr "Valor: " + +#~ msgid "You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)" +#~ msgstr "Puede omitir la selección de una unidad y la partición y usar cualquier configuración de unidad que esté montada en /mnt (experimental)" + +#~ msgid "Select one of the disks or skip and use /mnt as default" +#~ msgstr "Seleccione uno de los discos u omita y use /mnt como predeterminado" + +#~ msgid "Select which partitions to mark for formatting:" +#~ msgstr "Seleccione qué particiones marcar para formatear:" + +#~ msgid "Use HSM to unlock encrypted drive" +#~ msgstr "Usar HSM para desbloquear la unidad cifrada" + +#~ msgid "Size" +#~ msgstr "Tamaño" + +#~ msgid "Free space" +#~ msgstr "Espacio libre" + +#~ msgid "Bus-type" +#~ msgstr "Tipo de bus" + +#~ msgid "Enter username (leave blank to skip): " +#~ msgstr "Ingrese el nombre de usuario (déjelo en blanco para omitir): " + +#~ msgid "The username you entered is invalid. Try again" +#~ msgstr "El nombre de usuario que ingresó no es válido. Intente nuevamente" + +#~ msgid "Should \"{}\" be a superuser (sudo)?" +#~ msgstr "¿Debe \"{}\" ser un superusuario (sudo)?" + +#~ msgid "Select which partitions to encrypt" +#~ msgstr "Seleccione qué particiones cifrar" + +#~ msgid "This option enables the number of parallel downloads that can occur during installation" +#~ msgstr "Esta opción activa la cantidad de descargas paralelas que pueden ocurrir durante la instalación" + +#~ msgid "" +#~ "Enter the number of parallel downloads to be enabled.\n" +#~ " (Enter a value between 1 to {})\n" +#~ "Note:" +#~ msgstr "" +#~ "Ingrese el número de descargas paralelas que se activarán.\n" +#~ " (Ingrese un valor entre 1 y {})\n" +#~ "Nota:" + +#~ msgid " - Maximum value : {} ( Allows {} parallel downloads, allows {} downloads at a time )" +#~ msgstr " - Valor máximo : {} (Permitir {} descargas paralelas, permite {} descargas simultáneas)" + +#~ msgid " - Minimum value : 1 ( Allows 1 parallel download, allows 2 downloads at a time )" +#~ msgstr " - Valor mínimo : 1 (Permitir 1 descarga paralela, permite 2 descargas simultáneas)" + +#~ msgid " - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )" +#~ msgstr " - Desactivar/Predeterminado : 0 (Desactiva la descarga paralela, permite solo 1 descarga simultánea)" + +#, python-brace-format +#~ msgid "Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]" +#~ msgstr "¡Entrada no válida! Intente nuevamente con una entrada válida [1 a {max_downloads}, o 0 para desactivar]" + +#~ msgid "ESC to skip" +#~ msgstr "ESC para omitir" + +#~ msgid "CTRL+C to reset" +#~ msgstr "CTRL+C para restablecer" + +#~ msgid "TAB to select" +#~ msgstr "TAB para seleccionar" + +#~ msgid "[Default value: 0] > " +#~ msgstr "[Valor predeterminado: 0] > " + +#~ msgid "To be able to use this translation, please install a font manually that supports the language." +#~ msgstr "Para poder usar esta traducción, instale manualmente una fuente que admita el idioma." + +#~ msgid "The font should be stored as {}" +#~ msgstr "La fuente debe almacenarse como {}" + +#~ msgid "Select an execution mode" +#~ msgstr "Seleccione un modo de ejecución" + +#~ msgid "Select one or more devices to use and configure" +#~ msgstr "Seleccione uno o más dispositivos para usar y configurar" + +#~ msgid "If you reset the device selection this will also reset the current disk layout. Are you sure?" +#~ msgstr "Si restablece la selección del dispositivo, esto también restablecerá el diseño actual del disco. ¿Está seguro?" + +#~ msgid "Existing Partitions" +#~ msgstr "Particiones existentes" + +#~ msgid "Select a partitioning option" +#~ msgstr "Seleccione una opción de partición" + +#~ msgid "Enter the root directory of the mounted devices: " +#~ msgstr "Ingrese el directorio raíz de los dispositivos montados: " + +#~ msgid "This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments" +#~ msgstr "Esta es una lista de profiles_bck preprogramados que podrían facilitar la instalación de cosas como entornos de escritorio" + +#~ msgid "Current profile selection" +#~ msgstr "Selección de perfil actual" + +#~ msgid "If mountpoint /boot is set, then the partition will also be marked as bootable." +#~ msgstr "Si se establece el punto de montaje /boot, la partición también se marcará como arrancable." + +#~ msgid "Mountpoint: " +#~ msgstr "Punto de montaje: " + +#~ msgid "Current free sectors on device {}:" +#~ msgstr "Sectores libres actuales en el dispositivo {}:" + +#~ msgid "Total sectors: {}" +#~ msgstr "Sectores totales: {}" + +#~ msgid "Enter the start sector (default: {}): " +#~ msgstr "Introduzca el sector de inicio (predeterminado: {}): " + +#~ msgid "Enter the end sector of the partition (percentage or block number, default: {}): " +#~ msgstr "Ingrese el sector final de la partición (porcentaje o número de bloque, predeterminado: {}): " + +#~ msgid "Iteration time cannot be empty" +#~ msgstr "Tiempo de iteración no puede estar vacío" + +#~ msgid "No HSM devices available" +#~ msgstr "No hay dispositivos HSM disponibles" + +#~ msgid "Select disk encryption option" +#~ msgstr "Seleccione la opción de cifrado de disco" + +#~ msgid "Partition encryption" +#~ msgstr "Cifrado de partición" + +#, python-brace-format +#~ msgid " ! Formatting {} in " +#~ msgstr " ! Formateando {} en " + +#~ msgid "← Back" +#~ msgstr "← Regresar" + +#~ msgid "All settings will be reset, are you sure?" +#~ msgstr "Todos los ajustes se restablecerán, ¿está seguro?" + +#~ msgid "Please chose which greeter to install for the chosen profiles: {}" +#~ msgstr "Por favor, elija qué gestor de inicio de sesión instalar para los perfiles elegidos: {}" + +#~ msgid "The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?" +#~ msgstr "El controlador propietario de Nvidia no es compatible con Sway. Es probable que encuentre problemas, ¿Desear continuar?" + +#~ msgid "Add profile" +#~ msgstr "Agregar perfil" + +#~ msgid "Edit profile" +#~ msgstr "Editar perfil" + +#~ msgid "Delete profile" +#~ msgstr "Eliminar perfil" + +#~ msgid "Profile name: " +#~ msgstr "Nombre de perfil: " + +#~ msgid "The profile name you entered is already in use. Try again" +#~ msgstr "El nombre de perfil que ingresó ya está en uso. Intente nuevamente" + +#~ msgid "Packages to be install with this profile (space separated, leave blank to skip): " +#~ msgstr "Paquetes que se instalarán con este perfil (separados por espacios, déjelo en blanco para omitir): " + +#~ msgid "Services to be enabled with this profile (space separated, leave blank to skip): " +#~ msgstr "Servicios que se activarán con este perfil (separados por espacios, deje en blanco para omitir): " + +#~ msgid "Should this profile be enabled for installation?" +#~ msgstr "¿Debería activarse este perfil para la instalación?" + +#~ msgid "Create your own" +#~ msgstr "Crear tu propio" + +#~ msgid "" +#~ "\n" +#~ "Select a graphics driver or leave blank to install all open-source drivers" +#~ msgstr "" +#~ "\n" +#~ "Seleccione un controlador de gráficos o deje en blanco para instalar todos los controladores de código abierto" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "Choose an option to give Sway access to your hardware" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Elija una opción para darle a Sway acceso a su hardware" + +#~ msgid "Please chose which greeter to install" +#~ msgstr "Por favor, elija qué gestor de inicio de sesión instalar" + +#~ msgid "This is a list of pre-programmed default_profiles" +#~ msgstr "Esta es una lista de default_profiles preprogramados" + +#~ msgid "Finding possible directories to save configuration files ..." +#~ msgstr "Encontrar posibles directorios para guardar archivos de configuración..." + +#~ msgid "Select directory (or directories) for saving configuration files" +#~ msgstr "Seleccione el directorio (o directorios) para guardar los archivos de configuración" + +#~ msgid "Add a custom mirror" +#~ msgstr "Agregar un espejo personalizado" + +#~ msgid "Change custom mirror" +#~ msgstr "Cambiar espejo personalizado" + +#~ msgid "Delete custom mirror" +#~ msgstr "Eliminar espejo personalizado" + +#~ msgid "Enter name (leave blank to skip): " +#~ msgstr "Ingrese el nombre (deje en blanco para omitir): " + +#~ msgid "Enter url (leave blank to skip): " +#~ msgstr "Ingrese la URL (deje en blanco para omitir): " + +#~ msgid "Select signature check option" +#~ msgstr "Seleccione la opción de verificación de firma" + +#~ msgid "Defined" +#~ msgstr "Definido" + +#~ msgid "" +#~ "Enter a directory for the configuration(s) to be saved (tab completion enabled)\n" +#~ "Save directory: " +#~ msgstr "" +#~ "Ingrese un directorio para guardar las configuraciones (completar con tabulación activado)\n" +#~ "Guardar directorio: " + +#~ msgid "" +#~ "Do you want to save {} configuration file(s) in the following location?\n" +#~ "\n" +#~ "{}" +#~ msgstr "" +#~ "¿Desea guardar {} archivo(s) de configuración en la siguiente ubicación?\n" +#~ "\n" +#~ "{}" + +#~ msgid "Saving {} configuration files to {}" +#~ msgstr "Guardar {} archivos de configuración en {}" + +#~ msgid "Mirrors" +#~ msgstr "Espejos" + +#~ msgid " - Maximum value : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )" +#~ msgstr " - Valor máximo : {} (Permitir {} descargas paralelas, permite {max_downloads+1} descargas simultáneas)" + +#~ msgid "Invalid input! Try again with a valid input [1 to {}, or 0 to disable]" +#~ msgstr "¡Entrada no válida! Intente nuevamente con una entrada válida [1 a {}, o 0 para desactivar]" + +#~ msgid "Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)" +#~ msgstr "Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE)" + +#~ msgid "Total: {} / {}" +#~ msgstr "Total: {} / {}" + +#~ msgid "All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB..." +#~ msgstr "Todos los valores ingresados pueden tener una unidad como sufijo: B, KB, KiB, MB, MiB ..." + +#~ msgid "Enter start (default: sector {}): " +#~ msgstr "Ingrese el inicio (predeterminado: sector {}): " + +#~ msgid "Enter end (default: {}): " +#~ msgstr "Ingrese el final (predeterminado: {}): " + +#~ msgid "Unable to determine fido2 devices. Is libfido2 installed?" +#~ msgstr "No se pueden determinar los dispositivos fido2. ¿Está instalado libfido2?" + +#~ msgid "Path" +#~ msgstr "Ruta" + +#~ msgid "Manufacturer" +#~ msgstr "Fabricante" + +#~ msgid "Product" +#~ msgstr "Producto" + +#~ msgid "This option enables the number of parallel downloads that can occur during package downloads" +#~ msgstr "Esta opción activa la cantidad de descargas paralelas que pueden ocurrir durante las descargas de paquetes" + +#~ msgid "" +#~ "Enter the number of parallel downloads to be enabled.\n" +#~ "\n" +#~ "Note:\n" +#~ msgstr "" +#~ "Ingrese el número de descargas paralelas que se activarán.\n" +#~ "\n" +#~ "Nota:\n" + +#, python-brace-format +#~ msgid " - Maximum recommended value : {} ( Allows {} parallel downloads at a time )" +#~ msgstr " - Valor máximo recomendado : {} (Permite {} descargas paralelas simultáneas)" + +#~ msgid " - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\n" +#~ msgstr " - Desactivar/Predeterminado : 0 (Desactiva la descarga paralela, permite solo 1 descarga simultánea)\n" + +#~ msgid "Invalid input! Try again with a valid input [or 0 to disable]" +#~ msgstr "¡Entrada no válida! Intente nuevamente con una entrada válida [o 0 para desactivar]" + +#~ msgid "Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" +#~ msgstr "Hyprland necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, mouse, etc.)" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "Choose an option to give Hyprland access to your hardware" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Elija una opción para darle acceso a Hyprland a su hardware" + +#~ msgid "Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/" +#~ msgstr "La sincronización de hora no se completa mientras espera - consulte los documentos para encontrar soluciones: https://archinstall.readthedocs.io/" + +#~ msgid "Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway" +#~ msgstr "Proporciona una selección de entornos de escritorio y administradores de ventanas en mosaico, p.e. GNOME, KDE Plasma, Sway" + +#~ msgid "Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)" +#~ msgstr "Usar NetworkManager (necesario para configurar internet gráficamente en GNOME y KDE Plasma)" + +#~ msgid "Select a LVM option" +#~ msgstr "Seleccione una opción LVM" + +#~ msgid "Logical Volume Management (LVM)" +#~ msgstr "Gestión de volúmenes lógicos (LVM)" + +#~ msgid "Select which LVM volumes to encrypt" +#~ msgstr "Seleccione qué volúmenes LVM cifrar" + +#~ msgid "Archinstall help" +#~ msgstr "Ayuda de archinstall" + +#~ msgid "Press Ctrl+h for help" +#~ msgstr "Presione Ctrl+h para obtener ayuda" + +# maybe "Acceso a la estación" or "Gestión de puestos (seats)" could be better? +#~ msgid "Seat access" +#~ msgstr "Acceso al asiento" + +#~ msgid "Filesystem" +#~ msgstr "Sistema de archivos" + +#~ msgid "Start (default: sector {}): " +#~ msgstr "Inicio (predeterminado: sector {}): " + +#~ msgid "End (default: {}): " +#~ msgstr "Fin (predeterminado: {}): " + +#~ msgid "Disk configuration type" +#~ msgstr "Tipo de configuración del disco" + +#~ msgid "Root mount directory" +#~ msgstr "Directorio de montaje raíz" + +#~ msgid "Select language" +#~ msgstr "Seleccionar idioma" + +#~ msgid "Write additional packages to install (space separated, leave blank to skip)" +#~ msgstr "Escriba paquetes adicionales para instalar (separados por espacios, déjelo en blanco para omitir)" + +#~ msgid "Invalid download number" +#~ msgstr "Número de descarga no válido" + +#~ msgid "Number downloads" +#~ msgstr "Número de descargas" + +#~ msgid "Interfaces" +#~ msgstr "Interfaces" + +#~ msgid "Modes" +#~ msgstr "Modos" + +#~ msgid "IP address" +#~ msgstr "Dirección IP" + +#~ msgid "Gateway address" +#~ msgstr "Dirección de la puerta de enlace" + +#~ msgid "DNS servers" +#~ msgstr "Servidores DNS" + +#~ msgid "Info" +#~ msgstr "Info" + +#~ msgid "Main profile" +#~ msgstr "Perfil principal" + +#~ msgid "The confirmation password did not match, please try again" +#~ msgstr "La contraseña de confirmación no coincide, por favor intente nuevamente" + +#~ msgid "Directory" +#~ msgstr "Directorio" + +#~ msgid "Enter a directory for the configuration(s) to be saved (tab completion enabled)" +#~ msgstr "Ingrese un directorio para guardar las configuraciones (autocompletado de tabulación activado)" + +#~ msgid "Mirror name" +#~ msgstr "Nombre del espejo" + +#~ msgid "Select execution mode" +#~ msgstr "Seleccionar modo de ejecución" + +#~ msgid "Press ? for help" +#~ msgstr "Presione ? para obtener ayuda" + +#~ msgid "Choose an option to give Hyprland access to your hardware" +#~ msgstr "Elija una opción para darle a Hyprland acceso a su hardware" + +#, python-brace-format +#~ msgid "Size (default: {}): " +#~ msgstr "Tamaño (predeterminado: {}): " + +#~ msgid "Some packages could not be found in the repository" +#~ msgstr "No se pudieron encontrar algunos paquetes en el repositorio" + +#~ msgid "Repository name" +#~ msgstr "Nombre del repositorio" + +#~ msgid "Server url" +#~ msgstr "URL del servidor" + +#~ msgid "Only ASCII characters are supported" +#~ msgstr "Sólo se admiten caracteres ASCII" + +#~ msgid "Show help" +#~ msgstr "Mostrar ayuda" + +#~ msgid "Exit help" +#~ msgstr "Ayuda para salir" + +#~ msgid "Preview scroll up" +#~ msgstr "Subir en vista previa" + +#~ msgid "Preview scroll down" +#~ msgstr "Bajar en vista previa" + +#~ msgid "Move up" +#~ msgstr "Subir" + +#~ msgid "Move down" +#~ msgstr "Bajar" + +#~ msgid "Move right" +#~ msgstr "Mover a la derecha" + +#~ msgid "Move left" +#~ msgstr "Mover a la izquierda" + +#~ msgid "Jump to entry" +#~ msgstr "Saltar a la entrada" + +#~ msgid "Skip selection (if available)" +#~ msgstr "Saltar selección (si está disponible)" + +#~ msgid "Reset selection (if available)" +#~ msgstr "Restablecer selección (si está disponible)" + +#~ msgid "Select on single select" +#~ msgstr "Seleccionar en selección única" + +#~ msgid "Select on multi select" +#~ msgstr "Seleccionar en selección múltiple" + +#~ msgid "Reset" +#~ msgstr "Restablecer" + +#~ msgid "Skip selection menu" +#~ msgstr "Saltar el menú de selección" + +#~ msgid "Start search mode" +#~ msgstr "Iniciar modo de búsqueda" + +#~ msgid "Exit search mode" +#~ msgstr "Salir del modo de búsqueda" + +#~ msgid "General" +#~ msgstr "General" + +#~ msgid "Navigation" +#~ msgstr "Navegación" + +#~ msgid "Selection" +#~ msgstr "Selección" + +#~ msgid "Search" +#~ msgstr "Buscar" + +#~ msgid "Down" +#~ msgstr "Abajo" + +#~ msgid "Up" +#~ msgstr "Arriba" + +#~ msgid "Confirm" +#~ msgstr "Confirmar" + +#~ msgid "Focus right" +#~ msgstr "Enfocar a la derecha" + +#~ msgid "Focus left" +#~ msgstr "Enfocar a la izquierda" + +#~ msgid "Toggle" +#~ msgstr "Alternar" + +#~ msgid "Show/Hide help" +#~ msgstr "Mostrar/Ocultar ayuda" + +#~ msgid "Quit" +#~ msgstr "Salir" + +#~ msgid "First" +#~ msgstr "Primero" + +#~ msgid "Last" +#~ msgstr "Último" + +#~ msgid "Select" +#~ msgstr "Seleccionar" + +#~ msgid "Page Up" +#~ msgstr "Subir página" + +#~ msgid "Page Down" +#~ msgstr "Bajar página" + +#~ msgid "Page up" +#~ msgstr "Subir página" + +#~ msgid "Page down" +#~ msgstr "Bajar página" + +#~ msgid "Page Left" +#~ msgstr "Página izquierda" + +#~ msgid "Page Right" +#~ msgstr "Página derecha" + +#~ msgid "Cursor up" +#~ msgstr "Subir" + +#~ msgid "Cursor down" +#~ msgstr "Cursor hacia abajo" + +#~ msgid "Cursor right" +#~ msgstr "Cursor hacia la derecha" + +#~ msgid "Cursor left" +#~ msgstr "Cursor hacia la izquierda" + +#~ msgid "Top" +#~ msgstr "Arriba" + +#~ msgid "Bottom" +#~ msgstr "Abajo" + +#~ msgid "Home" +#~ msgstr "Inicio" + +#~ msgid "End" +#~ msgstr "Final" + +#~ msgid "Toggle option" +#~ msgstr "Opción de alternancia" + +#~ msgid "Scroll Up" +#~ msgstr "Mover Arriba" + +#~ msgid "Scroll Down" +#~ msgstr "Deslizar hacia abajo" + +#~ msgid "Scroll Left" +#~ msgstr "Mover hacia la izquierda" + +#~ msgid "Scroll Right" +#~ msgstr "Mover hacia la derecha" + +#~ msgid "Scroll Home" +#~ msgstr "Ir al Inicio" + +#~ msgid "Scroll End" +#~ msgstr "Ir al Final" + +#~ msgid "Focus Next" +#~ msgstr "Enfocar a la siguiente" + +#~ msgid "Focus Previous" +#~ msgstr "Enfocar a la anterior" + +#~ msgid "Copy selected text" +#~ msgstr "Copiar texto seleccionado" + +#~ msgid "labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" +#~ msgstr "labwc necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, ratón, etc.)" + +#~ msgid "Choose an option to give labwc access to your hardware" +#~ msgstr "Elija una opción para darle a labwc acceso a su hardware" + +#~ msgid "niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" +#~ msgstr "niri necesita acceso a su asiento (colección de dispositivos de hardware, es decir, teclado, ratón, etc.)" + +#~ msgid "Choose an option to give niri access to your hardware" +#~ msgstr "Elija una opción para darle a niri acceso a su hardware" + +#~ msgid "Credentials file decryption password" +#~ msgstr "Contraseña para descifrar el archivo de credenciales" + +#~ msgid "Snapshot type" +#~ msgstr "Tipo de snapshot" + +#~ msgid "U2F Login Method" +#~ msgstr "Método de inicio de sesión U2F" + +#~ msgid "Will install to /EFI/BOOT/ (removable location)" +#~ msgstr "Se instalará en /EFI/BOOT/ (ubicación desmontable)" + +#~ msgid "Will install to standard location with NVRAM entry" +#~ msgstr "Se instalará en ubicación estandar con entrada NVRAM" + +#~ msgid "Firmware that does not properly support NVRAM boot entries." +#~ msgstr "Firmware que no soporta entradas arrancables NVRAM." + +#~ msgid "Enter the number of parallel downloads to be enabled" +#~ msgstr "Ingrese el número de descargas paralelas que desea activar" + +#, python-brace-format +#~ msgid "Setting up U2F login: {u2f_config.u2f_login_method.value}" +#~ msgstr "Configurando Inicio U2F: {u2f_config.u2f_login_method.value}" + +#, python-brace-format +#~ msgid "Default: {DEFAULT_ITER_TIME}ms, Recommended range: 1000-60000" +#~ msgstr "Predeterminado: {DEFAULT_ITER_TIME}ms, Rango recomendado: 1000-60000" #~ msgid "Add :" #~ msgstr "Añadir :" diff --git a/archinstall/locales/locales_generator.sh b/archinstall/locales/locales_generator.sh index 18977dfc..cc8d1b02 100755 --- a/archinstall/locales/locales_generator.sh +++ b/archinstall/locales/locales_generator.sh @@ -70,25 +70,10 @@ cmd_check_no_tr_fstring() { echo "No tr(f-string) anti-pattern found." } -cmd_check_pot_freshness() { - # msgcmp (not diff) because base.pot carries legacy stale entries from - # --join-existing; diff would always fail until a full cleanup is done. - echo "Checking base.pot for missing strings..." - find . -type f -iname '*.py' | sort \ - | xargs xgettext --no-location --omit-header --keyword='tr' \ - -d base -o /tmp/generated.pot - if ! msgcmp --use-untranslated locales/base.pot /tmp/generated.pot; then - echo "ERROR: base.pot is missing strings - run: locales_generator.sh all" >&2 - return 1 - fi - echo "base.pot contains all translatable strings." -} - cmd_check() { local failed=0 cmd_check_po_syntax || failed=1 cmd_check_no_tr_fstring || failed=1 - cmd_check_pot_freshness || failed=1 if [ "$failed" -eq 1 ]; then echo "Some translation checks failed." >&2 exit 1 diff --git a/archinstall/locales/pl/LC_MESSAGES/base.mo b/archinstall/locales/pl/LC_MESSAGES/base.mo index 0ab34f9e..4a05cdae 100644 Binary files a/archinstall/locales/pl/LC_MESSAGES/base.mo and b/archinstall/locales/pl/LC_MESSAGES/base.mo differ diff --git a/archinstall/locales/pl/LC_MESSAGES/base.po b/archinstall/locales/pl/LC_MESSAGES/base.po index d01f1012..a81b61ff 100644 --- a/archinstall/locales/pl/LC_MESSAGES/base.po +++ b/archinstall/locales/pl/LC_MESSAGES/base.po @@ -9,2172 +9,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.8\n" - -msgid "[!] A log file has been created here: {} {}" -msgstr "[!] Plik dziennika został stworzony tutaj: {} {}" - -msgid " Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues" -msgstr " Proszę zgłosić ten błąd (i dołączyć plik) pod adresem https://github.com/archlinux/archinstall/issues" - -msgid "Do you really want to abort?" -msgstr "Czy na pewno chcesz przerwać?" - -msgid "And one more time for verification: " -msgstr "I jeszcze raz w celu weryfikacji: " - -msgid "Would you like to use swap on zram?" -msgstr "Czy chcesz używać swap w zramie?" - -msgid "Desired hostname for the installation: " -msgstr "Nazwa hosta dla tej instalacji: " - -msgid "Username for required superuser with sudo privileges: " -msgstr "Nazwa użytkownika dla wymaganego superusera z uprawnieniami sudo: " - -msgid "Any additional users to install (leave blank for no users): " -msgstr "Ewentualni użytkownicy do instalacji (pozostaw puste jeśli nie chcesz tworzyć użytkowników): " - -msgid "Should this user be a superuser (sudoer)?" -msgstr "Czy użytkownik powinien być superuserem (mieć uprawnienia sudo)?" - -msgid "Select a timezone" -msgstr "Wybierz strefę czasową" - -msgid "Would you like to use GRUB as a bootloader instead of systemd-boot?" -msgstr "Czy chcesz użyć GRUB-a jako programu rozruchowego zamiast systemd-boot?" - -msgid "Choose a bootloader" -msgstr "Wybierz program rozruchowy" - -msgid "Choose an audio server" -msgstr "Wybierz serwer dźwięku" - -msgid "Only packages such as base, base-devel, linux, linux-firmware, efibootmgr and optional profile packages are installed." -msgstr "Instalowane są tylko pakiety takie jak base, base-devel, linux, linux-firmware, efibootmgr i opcjonalne pakiety profili." - -msgid "Note: base-devel is no longer installed by default. Add it here if you need build tools." -msgstr "Uwaga: base-devel nie jest już domyślnie instalowane. Dodaj je tutaj, jeżeli potrzebujesz narzędzi do budowania pakietów." - -msgid "If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt." -msgstr "Jeśli potrzebujesz przeglądarki internetowej, takiej jak firefox lub chromium, możesz ją określić w następującym oknie dialogowym." - -msgid "Write additional packages to install (space separated, leave blank to skip): " -msgstr "Wpisz dodatkowe pakiety do zainstalowania (oddzielone spacjami, pozostaw puste aby pominąć): " - -msgid "Copy ISO network configuration to installation" -msgstr "Skopiuj ustawienia sieciowe z ISO do instalacji" - -msgid "Use NetworkManager (necessary for configuring internet graphically in GNOME and KDE)" -msgstr "Użyj programu NetworkManager (niezbędne do graficznej konfiguracji Internetu w środowiskach GNOME i KDE)" - -msgid "Select one network interface to configure" -msgstr "Wybierz jeden interfejs sieciowy do skonfigurowania" - -msgid "Select which mode to configure for \"{}\" or skip to use default mode \"{}\"" -msgstr "Wybierz który tryb ma być skonfigurowany dla \"{}\" lub pomiń, aby użyć trybu domyślnego \"{}\"" - -#, python-brace-format -msgid "Enter the IP and subnet for {} (example: 192.168.0.5/24): " -msgstr "Wprowadź adres IP i podsieć dla {} (przykład: 192.168.0.5/24): " - -msgid "Enter your gateway (router) IP address or leave blank for none: " -msgstr "Wprowadź adres IP bramy sieciowej (routera) lub pozostaw puste: " - -msgid "Enter your DNS servers (space separated, blank for none): " -msgstr "Wpisz swoje serwery DNS (oddzielone spacjami, lub pozostaw puste): " - -msgid "Select which filesystem your main partition should use" -msgstr "Wybierz, który system plików ma być używany na partycji głównej" - -msgid "Current partition layout" -msgstr "Aktualny układ partycji" - -msgid "" -"Select what to do with\n" -"{}" -msgstr "" -"Wybierz, co zrobić z\n" -"{}" - -msgid "Enter a desired filesystem type for the partition" -msgstr "Wprowadź żądany typ systemu plików dla partycji" - -msgid "Enter the start location (in parted units: s, GB, %, etc. ; default: {}): " -msgstr "Wybierz lokalizację startową (w jednostkach parted: s, GB, %, itd. ; domyślna: {}) " - -msgid "Enter the end location (in parted units: s, GB, %, etc. ; ex: {}): " -msgstr "Wybierz lokalizację końcową (w jednostkach parted: s, GB, %, itd. ; przykład: {}) " - -msgid "{} contains queued partitions, this will remove those, are you sure?" -msgstr "{} zawiera partycje oczekujące w kolejce, to spowoduje ich usunięcie. Czy na pewno chcesz to zrobić?" - -msgid "" -"{}\n" -"\n" -"Select by index which partitions to delete" -msgstr "" -"{}\n" -"\n" -"Wybierz według indeksu, które partycje usunąć" - -msgid "" -"{}\n" -"\n" -"Select by index which partition to mount where" -msgstr "" -"{}\n" -"\n" -"Wybierz według indeksu, które partycje zamontować i gdzie" - -msgid " * Partition mount-points are relative to inside the installation, the boot would be /boot as an example." -msgstr " * Punkty montowania partycji są względne w stosunku do wnętrza instalacji, np. partycja startowa to /boot." - -msgid "Select where to mount partition (leave blank to remove mountpoint): " -msgstr "Wybierz gdzie chcesz zamontować partycję (pozostaw puste, aby usunąć punkt montowania): " - -msgid "" -"{}\n" -"\n" -"Select which partition to mask for formatting" -msgstr "" -"{}\n" -"\n" -"Wybierz partycja która ma zostać sformatowana" - -msgid "" -"{}\n" -"\n" -"Select which partition to mark as encrypted" -msgstr "" -"{}\n" -"\n" -"Wybierz partycja która ma zostać zaszyfrowana" - -msgid "" -"{}\n" -"\n" -"Select which partition to mark as bootable" -msgstr "" -"{}\n" -"\n" -"Wybierz partycja która ma zostać oznaczona jako startowa (rozruchowa/bootowalna)" - -msgid "" -"{}\n" -"\n" -"Select which partition to set a filesystem on" -msgstr "" -"{}\n" -"\n" -"Wybierz partycję, na której ma zostać utworzony system plików" - -msgid "Enter a desired filesystem type for the partition: " -msgstr "Wprowadź pożądany typ systemu plików dla partycji: " - -msgid "Archinstall language" -msgstr "Język archinstall-a" - -msgid "Wipe all selected drives and use a best-effort default partition layout" -msgstr "Wymaż wszystkie wybrane dyski i użyj najlepszego domyślnego układu partycji" - -msgid "Select what to do with each individual drive (followed by partition usage)" -msgstr "Wybierz, co ma być zrobione z każdym dyskiem z osobna (a następnie z wykorzystaniem partycji)" - -msgid "Select what you wish to do with the selected block devices" -msgstr "Wybierz, co chcesz zrobić z wybranymi urządzeniami blokowymi" - -msgid "This is a list of pre-programmed profiles, they might make it easier to install things like desktop environments" -msgstr "To jest lista wstępnie zaprogramowanych profili, które mogą ułatwić instalację takich rzeczy jak środowiska graficzne" - -msgid "Select keyboard layout" -msgstr "Wybierz układ klawiatury" - -msgid "Select one of the regions to download packages from" -msgstr "Wybierz jeden z regionów, z których chcesz pobrać pakiety" - -msgid "Select one or more hard drives to use and configure" -msgstr "Wybierz jeden lub więcej dysków twardych do użycia i skonfiguruj je" - -msgid "For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options." -msgstr "Aby uzyskać najlepszą kompatybilność ze sprzętem AMD, warto skorzystać z opcji całkowicie open-source lub AMD / ATI." - -msgid "For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\n" -msgstr "Aby uzyskać najlepszą kompatybilność ze sprzętem Intel, warto skorzystać z opcji całkowicie open-source lub Intel.\n" - -msgid "For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\n" -msgstr "Aby uzyskać najlepszą kompatybilność ze sprzętem firmy Nvidia, warto skorzystać z własnościowego sterownika firmy Nvidia.\n" - -msgid "" -"\n" -"\n" -"Select a graphics driver or leave blank to install all open-source drivers" -msgstr "" -"\n" -"\n" -"Wybierz sterownik graficzny lub pozostaw puste pole, aby zainstalować wszystkie sterowniki open-source" - -msgid "All open-source (default)" -msgstr "Wszystkie open-source (domyślnie)" - -msgid "Choose which kernels to use or leave blank for default \"{}\"" -msgstr "Wybierz które jądra użyć lub pozostaw puste, aby użyć ustawień domyślnych \"{}\"" - -msgid "Choose which locale language to use" -msgstr "Wybierz języki, których chcesz używać" - -msgid "Choose which locale encoding to use" -msgstr "Wybierz kodowania, których chcesz używać" - -msgid "Select one of the values shown below: " -msgstr "Wybierz jedną z poniższych wartości: " - -msgid "Select one or more of the options below: " -msgstr "Wybierz jedną lub więcej z poniższych opcji: " - -msgid "Adding partition...." -msgstr "Dodawanie partycji..." - -msgid "You need to enter a valid fs-type in order to continue. See `man parted` for valid fs-type's." -msgstr "Aby kontynuować, musisz podać poprawny fs-type. Zobacz `man parted`, aby poznać prawidłowe opcje." - -msgid "Error: Listing profiles on URL \"{}\" resulted in:" -msgstr "Błąd: Wyśwetlanie profili z URL \"{}\" spowodowało:" - -msgid "Error: Could not decode \"{}\" result as JSON:" -msgstr "Błąd: Nie można zdekodować \"{}\" jako JSON:" - -msgid "Keyboard layout" -msgstr "Układ klawiatury" - -msgid "Mirror region" -msgstr "Region serwerów lustrzanych" - -msgid "Locale language" -msgstr "Język" - -msgid "Locale encoding" -msgstr "Kodowanie" - -msgid "Console font" -msgstr "Czcionka konsoli" - -msgid "Drive(s)" -msgstr "Dysk(i)" - -msgid "Disk layout" -msgstr "Układ dysku" - -msgid "Encryption password" -msgstr "Hasło szyfrujące" - -msgid "Swap" -msgstr "Pamięć wymiany (swap)" - -msgid "Bootloader" -msgstr "Program rozruchowy" - -msgid "Root password" -msgstr "Hasło roota" - -msgid "Superuser account" -msgstr "Konto superusera" - -msgid "User account" -msgstr "Konto użytkownika" - -msgid "Profile" -msgstr "Profil" - -msgid "Audio" -msgstr "Audio" - -msgid "Kernels" -msgstr "Jądra" - -msgid "Additional packages" -msgstr "Dodatkowe pakiety" - -msgid "Network configuration" -msgstr "Konfiguracja sieci" - -msgid "Automatic time sync (NTP)" -msgstr "Automatyczna synchronizacja czasu (NTP)" - -msgid "Install ({} config(s) missing)" -msgstr "Zainstaluj ({} brakujących konfiguracji)" - -msgid "" -"You decided to skip harddrive selection\n" -"and will use whatever drive-setup is mounted at {} (experimental)\n" -"WARNING: Archinstall won't check the suitability of this setup\n" -"Do you wish to continue?" -msgstr "" -"Zdecydowano się na pominięcie wyboru dysku twardego\n" -"i użycie konfiguracji dysku zamontowanego w {} (eksperymentalne)\n" -"OSTRZEŻENIE: Archinstall nie sprawdzi poprawności tej konfiguracji\n" -"Czy chcesz kontynuować?" - -msgid "Re-using partition instance: {}" -msgstr "Ponowne wykorzystanie instancji partycji: {}" - -msgid "Create a new partition" -msgstr "Utwórz nową partycję" - -msgid "Delete a partition" -msgstr "Usuń partycję" - -msgid "Clear/Delete all partitions" -msgstr "Wyczyść/Usuń wszystkie partycje" - -msgid "Assign mount-point for a partition" -msgstr "Przydziel punkt montowania dla partycji" - -msgid "Mark/Unmark a partition to be formatted (wipes data)" -msgstr "Oznacz/odznacz partycję, która ma zostać sformatowana (wymazuje dane)" - -msgid "Mark/Unmark a partition as encrypted" -msgstr "Oznacz/odznacz partycję jako zaszyfrowaną" - -msgid "Mark/Unmark a partition as bootable (automatic for /boot)" -msgstr "Oznacz/odznacz partycję jako startową (rozruchową/bootowalną) (automatyczne dla /boot)" - -msgid "Set desired filesystem for a partition" -msgstr "Ustaw system plików dla partycji" - -msgid "Abort" -msgstr "Przerwij" - -msgid "Hostname" -msgstr "Nazwa hosta" - -msgid "Not configured, unavailable unless setup manually" -msgstr "Niedostępna, chyba że zostanie skonfigurowana ręcznie" - -msgid "Timezone" -msgstr "Strefa czasowa" - -msgid "Set/Modify the below options" -msgstr "Ustaw/modyfikuj poniższe opcje" - -msgid "Install" -msgstr "Zainstaluj" - -msgid "" -"Use ESC to skip\n" -"\n" -msgstr "" -"Użyj ESC aby pominąć\n" -"\n" - -msgid "Suggest partition layout" -msgstr "Zasugeruj układ partycji" - -msgid "Enter a password: " -msgstr "Wprowadź hasło: " - -msgid "Enter a encryption password for {}" -msgstr "Wprowadź hasło szyfrowania dla {}" - -msgid "Enter disk encryption password (leave blank for no encryption): " -msgstr "Wprowadź hasło do szyfrowania dysku (pozostaw puste aby nie ustawiać szyfrowania): " - -msgid "Create a required super-user with sudo privileges: " -msgstr "Utwórz wymaganego superusera z uprawnieniami sudo: " - -msgid "Enter root password (leave blank to disable root): " -msgstr "Wprowadź hasło roota (pozostaw puste, aby wyłączyć roota): " - -msgid "Password for user \"{}\": " -msgstr "Hasło użytkownika \"{}\": " - -msgid "Verifying that additional packages exist (this might take a few seconds)" -msgstr "Sprawdzanie, czy istnieją dodatkowe pakiety (może to potrwać kilka sekund)" - -msgid "Would you like to use automatic time synchronization (NTP) with the default time servers?\n" -msgstr "Czy chcesz korzystać z automatycznej synchronizacji czasu (NTP) z domyślnymi serwerami czasu?\n" - -msgid "" -"Hardware time and other post-configuration steps might be required in order for NTP to work.\n" -"For more information, please check the Arch wiki" -msgstr "" -"Aby NTP działał, może być wymagany czas sprzętowy i inne kroki po konfiguracji.\n" -"Aby uzyskać więcej informacji, proszę sprawdzić Arch wiki" - -msgid "Enter a username to create an additional user (leave blank to skip): " -msgstr "Wprowadź nazwę użytkownika, aby utworzyć dodatkowego użytkownika (pozostaw puste, aby pominąć): " - -msgid "Use ESC to skip\n" -msgstr "Kliknij ESC aby pominąć\n" - -msgid "" -"\n" -" Choose an object from the list, and select one of the available actions for it to execute" -msgstr "" -"\n" -" Wybierz obiekt z listy, a następnie wybierz jedno z dostępnych działań do wykonania" - -msgid "Cancel" -msgstr "Anuluj" - -msgid "Confirm and exit" -msgstr "Potwierdź i wyjdź" - -msgid "Add" -msgstr "Dodaj" - -msgid "Copy" -msgstr "Kopiuj" - -msgid "Edit" -msgstr "Edytuj" - -msgid "Delete" -msgstr "Usuń" - -msgid "Select an action for '{}'" -msgstr "Wybierz działanie dla '{}'" - -msgid "Copy to new key:" -msgstr "Skopiuj do nowego klucza:" - -msgid "Unknown nic type: {}. Possible values are {}" -msgstr "Nieznany typ nic: {}. Możliwe wartości to {}" - -msgid "" -"\n" -"This is your chosen configuration:" -msgstr "" -"\n" -"Wybrana konfiguracja:" - -msgid "Pacman is already running, waiting maximum 10 minutes for it to terminate." -msgstr "Pacman jest już uruchomiony, czekam maksymalnie 10 minut na zakończenie pracy." - -msgid "Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall." -msgstr "Istniejąca wcześniej blokada pacmana nie została zakończona. Proszę wyczyścić wszystkie istniejące sesje pacmana przed użyciem archinstall-a." - -msgid "Choose which optional additional repositories to enable" -msgstr "Wybierz, które z opcjonalnych repozytoriów chcesz włączyć" - -msgid "Add a user" -msgstr "Dodaj użytkownika" - -msgid "Change password" -msgstr "Zmień hasło" - -msgid "Promote/Demote user" -msgstr "Promuj/degraduj użytkownika" - -msgid "Delete User" -msgstr "Usuń użytkownika" - -msgid "" -"\n" -"Define a new user\n" -msgstr "" -"\n" -"Zdefiniuj nowego użytkownika\n" - -msgid "User Name : " -msgstr "Nazwa użytkownika : " - -msgid "Should {} be a superuser (sudoer)?" -msgstr "Czy użytkownik {} powinien być superuserem (mieć uprawnienia sudo)?" - -msgid "Define users with sudo privilege: " -msgstr "Zdefiniuj użytkowników z uprawnieniami sudo: " - -msgid "No network configuration" -msgstr "Brak konfiguracji sieciowej" - -msgid "Set desired subvolumes on a btrfs partition" -msgstr "Ustawianie żądanych subwoluminów na partycji btrfs" - -msgid "" -"{}\n" -"\n" -"Select which partition to set subvolumes on" -msgstr "Wybierz partycję, na której mają być ustawione subwoluminy" - -msgid "Manage btrfs subvolumes for current partition" -msgstr "Zarządzaj subwoluminami btrfs dla bieżącej partycji" - -msgid "No configuration" -msgstr "Brak konfiguracji" - -msgid "Save user configuration" -msgstr "Zapisz konfigurację użytkownika" - -msgid "Save user credentials" -msgstr "Zapisz dane uwierzytelniające użytkownika" - -msgid "Save disk layout" -msgstr "Zapisz układ dysku" - -msgid "Save all" -msgstr "Zapisz wszystko" - -msgid "Choose which configuration to save" -msgstr "Wybierz, która konfiguracja ma zostać zapisana" - -msgid "Enter a directory for the configuration(s) to be saved: " -msgstr "Wprowadź katalog, w którym ma zostać zapisana konfiguracja: " - -msgid "Not a valid directory: {}" -msgstr "Nieprawidłowy katalog: {}" - -msgid "The password you are using seems to be weak," -msgstr "Używane przez Ciebie hasło wydaje się być słabe," - -msgid "are you sure you want to use it?" -msgstr "czy na pewno chcesz go użyć?" - -msgid "Optional repositories" -msgstr "Opcjonalne repozytoria" - -msgid "Save configuration" -msgstr "Zapisz konfigurację" - -msgid "Missing configurations:\n" -msgstr "Brakujące konfiguracje:\n" - -msgid "Either root-password or at least 1 superuser must be specified" -msgstr "Należy podać hasło roota lub stworzyć co najmniej jednego superusera" - -msgid "Manage superuser accounts: " -msgstr "Zarządzaj kontami superuserów: " - -msgid "Manage ordinary user accounts: " -msgstr "Zarządzaj kontami zwykłych użytkowników: " - -msgid " Subvolume :{:16}" -msgstr " Subwolumin :{:16}" - -msgid " mounted at {:16}" -msgstr " zamontowany w {:16}" - -msgid " with option {}" -msgstr " z opcjami {}" - -msgid "" -"\n" -" Fill the desired values for a new subvolume \n" -msgstr "" -"\n" -" Wypełnij żądane wartości dla nowego subwoluminu \n" - -msgid "Subvolume name " -msgstr "Nazwa subwoluminu " - -msgid "Subvolume mountpoint" -msgstr "Punkt montowania subwoluminu" - -msgid "Subvolume options" -msgstr "Opcje subwoluminu" - -msgid "Save" -msgstr "Zapisz" - -msgid "Subvolume name :" -msgstr "Nazwa subwoluminu :" - -msgid "Select a mount point :" -msgstr "Wybierz punkt montowania :" - -msgid "Select the desired subvolume options " -msgstr "Wybierz opcje subwoluminu " - -msgid "Define users with sudo privilege, by username: " -msgstr "Określanie użytkowników z uprawnieniami sudo według nazwy użytkownika: " - -#, python-brace-format -msgid "[!] A log file has been created here: {}" -msgstr "[!] Plik dziennika został zapisany tutaj: {}" - -msgid "Would you like to use BTRFS subvolumes with a default structure?" -msgstr "Czy chcesz użyć subwoluminów BTRFS z domyślną strukturą?" - -msgid "Would you like to use BTRFS compression?" -msgstr "Czy chcesz użyć kompresji BTRFS?" - -msgid "Would you like to create a separate partition for /home?" -msgstr "Czy chcesz stworzyć oddzielną partycje dla /home?" - -msgid "The selected drives do not have the minimum capacity required for an automatic suggestion\n" -msgstr "Wybrane dyski nie mają minimalnej wymaganej pojemności dla automatycznej sugestii\n" - -msgid "Minimum capacity for /home partition: {}GB\n" -msgstr "Maksymalna pojemność dla partycji /home: {}GB\n" - -msgid "Minimum capacity for Arch Linux partition: {}GB" -msgstr "Minimalna pojemność dla partycji Arch Linux: {}GB" - -msgid "Continue" -msgstr "Kontynuuj" - -msgid "yes" -msgstr "tak" - -msgid "no" -msgstr "nie" - -msgid "set: {}" -msgstr "ustawiono na: {}" - -msgid "Manual configuration setting must be a list" -msgstr "Konfiguracja ustawiona manualnie musi być listą" - -msgid "No iface specified for manual configuration" -msgstr "Nie określono interfejsu do ręcznej konfiguracji" - -msgid "Manual nic configuration with no auto DHCP requires an IP address" -msgstr "Ręczna konfiguracja nic bez automatycznego DHCP wymaga podania adresu IP" - -msgid "Add interface" -msgstr "Dodaj interfejs" - -msgid "Edit interface" -msgstr "Edytuj interfejs" - -msgid "Delete interface" -msgstr "Usuń interfejs" - -msgid "Select interface to add" -msgstr "Wybierz interfejs sieciowy do dodania" - -msgid "Manual configuration" -msgstr "Ręczna konfiguracja" - -msgid "Mark/Unmark a partition as compressed (btrfs only)" -msgstr "Oznacz/odznacz partycje jako skompresowaną (tylko btrfs)" - -msgid "The password you are using seems to be weak, are you sure you want to use it?" -msgstr "Używane przez Ciebie hasło wydaje się być słabe, czy na pewno chcesz go użyć?" - -msgid "Provides a selection of desktop environments and tiling window managers, e.g. gnome, kde, sway" -msgstr "Dostarcza wybór środowisk graficznych oraz kafelkowych menedżerów okien, np. gnome, kde, sway" - -msgid "Select your desired desktop environment" -msgstr "Wybierz środowisko graficzne" - -msgid "A very basic installation that allows you to customize Arch Linux as you see fit." -msgstr "Bardzo ograniczona instalacja pozwalająca ci dostosowanie Arch Linuxa do twoich upodobań." - -msgid "Provides a selection of various server packages to install and enable, e.g. httpd, nginx, mariadb" -msgstr "Dostarcza wybór różnych pakietów serwerowych do zainstalowania i uruchomienia, np. httpd, nginx, mariadb" - -msgid "Choose which servers to install, if none then a minimal installation will be done" -msgstr "Wybierz jakie serwery zainstalować. Jeżeli żadne, wykonana będzie minimalna instalacja" - -msgid "Installs a minimal system as well as xorg and graphics drivers." -msgstr "Instaluje system podstawowy, a także xorg-a i sterowniki graficzne." - -msgid "Press Enter to continue." -msgstr "Naciśnij Enter, aby kontynuować." - -msgid "Would you like to chroot into the newly created installation and perform post-installation configuration?" -msgstr "Czy chcesz zchrootować do nowej instalacji i przeprowadzić dodatkową konfigurację?" - -msgid "Are you sure you want to reset this setting?" -msgstr "Czy na pewno chcesz zresetować to ustawienie?" - -msgid "Select one or more hard drives to use and configure\n" -msgstr "Wybierz jeden lub więcej dysków twardych do użycia i skonfiguruj je\n" - -msgid "Any modifications to the existing setting will reset the disk layout!" -msgstr "Każda zmiana istniejących ustawień zresetuje układ dysków!" - -msgid "If you reset the harddrive selection this will also reset the current disk layout. Are you sure?" -msgstr "Jeżeli zresetujesz wybór dysków, zresetujesz także obecny układ dysków. Czy na pewno chcesz to zrobić?" - -msgid "Save and exit" -msgstr "Zapisz i wyjdź" - -msgid "" -"{}\n" -"contains queued partitions, this will remove those, are you sure?" -msgstr "" -"{}\n" -"zawiera partycje oczekujące w kolejce, to spowoduje ich usunięcie. Czy na pewno chcesz to zrobić?" - -msgid "No audio server" -msgstr "Brak serwera dźwięku" - -msgid "(default)" -msgstr "(domyślne)" - -msgid "Use ESC to skip" -msgstr "Naciśnij ESC, aby pominąć" - -msgid "" -"Use CTRL+C to reset current selection\n" -"\n" -msgstr "" -"Użyj CTRL+C, aby zresetować obecny wybór\n" -"\n" - -msgid "Copy to: " -msgstr "Kopiuj do: " - -msgid "Edit: " -msgstr "Edytuj: " - -msgid "Key: " -msgstr "Klucz: " - -msgid "Edit {}: " -msgstr "Edytuj {}: " - -msgid "Add: " -msgstr "Dodaj: " - -msgid "Value: " -msgstr "Wartość: " - -msgid "You can skip selecting a drive and partitioning and use whatever drive-setup is mounted at /mnt (experimental)" -msgstr "Możesz pominąć wybór dysku i partycjonowanie i użyć konfiguracji dysku zamontowanego w /mnt (eksperymentalne)" - -msgid "Select one of the disks or skip and use /mnt as default" -msgstr "Wybierz jeden z dysków lub pomiń i użyj /mnt jako domyślnego" - -msgid "Select which partitions to mark for formatting:" -msgstr "Wybierz partycje, które mają zostać sformatowane:" - -msgid "Use HSM to unlock encrypted drive" -msgstr "Użyj HSM do odblokowania zaszyfrowanego dysku" - -msgid "Device" -msgstr "Urządzenie" - -msgid "Size" -msgstr "Rozmiar" - -msgid "Free space" -msgstr "Wolne miejsce" - -msgid "Bus-type" -msgstr "Typ magistrali" - -msgid "Either root-password or at least 1 user with sudo privileges must be specified" -msgstr "Musisz podać hasło roota lub utworzyć co najmniej jednego superusera" - -msgid "Enter username (leave blank to skip): " -msgstr "Wprowadź nazwę użytkownika (pozostaw puste, aby pominąć): " - -msgid "The username you entered is invalid. Try again" -msgstr "Wprowadzona nazwa użytkownika jest nieprawidłowa. Spróbuj ponownie" - -msgid "Should \"{}\" be a superuser (sudo)?" -msgstr "Czy użytkownik \"{}\" powinien być superuserem (mieć uprawnienia sudo)?" - -msgid "Select which partitions to encrypt" -msgstr "Wybierz, które partycje mają zostać zaszyfrowane" - -msgid "very weak" -msgstr "bardzo słabe" - -msgid "weak" -msgstr "słabe" - -msgid "moderate" -msgstr "umiarkowane" - -msgid "strong" -msgstr "silne" - -msgid "Add subvolume" -msgstr "Dodaj subwolumin" - -msgid "Edit subvolume" -msgstr "Edytuj subwolumin" - -msgid "Delete subvolume" -msgstr "Usuń subwolumin" - -msgid "Configured {} interfaces" -msgstr "Skonfigurowano {} interfejsów" - -msgid "This option enables the number of parallel downloads that can occur during installation" -msgstr "Ta opcja pozwala określić maksymalną liczbę pobieranych plików podczas instalacji" - -msgid "" -"Enter the number of parallel downloads to be enabled.\n" -" (Enter a value between 1 to {})\n" -"Note:" -msgstr "" -"Wprowadź maksymalną liczbę dodatkowych plików pobieranych jednocześnie.\n" -" (Liczba z zakresu od 1 do {})\n" -"Zauważ:" - -msgid " - Maximum value : {} ( Allows {} parallel downloads, allows {} downloads at a time )" -msgstr " - Maksymalna wartość : {} ( Zwiększa liczbę zadań o {}, co pozwala na pobieranie {} plików jednocześnie )" - -msgid " - Minimum value : 1 ( Allows 1 parallel download, allows 2 downloads at a time )" -msgstr " - Minimalna wartość : 1 ( Zwiększa liczbę zadań o 1, co pozwala na pobieranie 2 plików jednocześnie )" - -msgid " - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )" -msgstr " - Wyłącz/Domyślne : 0 ( Wyłącza pobieranie wielu plików jednocześnie, więc tylko 1 plik może być pobierany w tym samym czasie )" - -#, python-brace-format -msgid "Invalid input! Try again with a valid input [1 to {max_downloads}, or 0 to disable]" -msgstr "Nieprawidłowa wartość! Spróbuj jeszcze raz z prawidłową wartością [1 do {max_downloads}, lub 0 aby wyłączyć]" - -msgid "Parallel Downloads" -msgstr "Pobieranie kilku plików jednocześnie" - -msgid "Pacman" -msgstr "Pacman" - -msgid "Color" -msgstr "Kolor" - -#, python-brace-format -msgid "Enter the number of parallel downloads (1-{})" -msgstr "Wprowadź maksymalną liczbę plików pobieranych jednocześnie (1-{})" - -msgid "Enable colored output for pacman" -msgstr "Włącz kolory w pacmanie" - -msgid "ESC to skip" -msgstr "Naciśnij ESC, aby pominąć" - -msgid "CTRL+C to reset" -msgstr "Naciśnij Ctrl+C, aby zresetować" - -msgid "TAB to select" -msgstr "Naciśnij Tab, aby wybrać" - -msgid "[Default value: 0] > " -msgstr "[Domyślna wartość: 0] > " - -msgid "To be able to use this translation, please install a font manually that supports the language." -msgstr "Aby móc skorzystać z tego tłumaczenia, proszę ręcznie zainstalować czcionkę, która obsługuje ten język." - -msgid "The font should be stored as {}" -msgstr "Czcionka powinna być przechowana jako {}" - -msgid "Archinstall requires root privileges to run. See --help for more." -msgstr "Archinstall wymaga uprawnień administratora do uruchomienia. Użyj --help, aby uzyskać więcej informacji." - -msgid "Select an execution mode" -msgstr "Wybierz tryb uruchamiania" - -#, python-brace-format -msgid "Unable to fetch profile from specified url: {}" -msgstr "Nie można pobrać profilu z podanego url: {}" - -#, python-brace-format -msgid "Profiles must have unique name, but profile definitions with duplicate name found: {}" -msgstr "Profile muszą mieć unikalne nazwy, a znaleziono istniejący profil o tej nazwie: {}" - -msgid "Select one or more devices to use and configure" -msgstr "Wybierz jedno lub więcej urządzeń do użycia i skonfiguruj je" - -msgid "If you reset the device selection this will also reset the current disk layout. Are you sure?" -msgstr "Jeżeli zresetujesz wybór urządzeń, zresetujesz także obecny układ dysków. Czy na pewno chcesz to zrobić?" - -msgid "Existing Partitions" -msgstr "Instniejące partycje" - -msgid "Select a partitioning option" -msgstr "Wybierz opcję partycjonowania" - -msgid "Enter the root directory of the mounted devices: " -msgstr "Wprowadź katalog root zamontowanych urządzeń: " - -#, python-brace-format -msgid "Minimum capacity for /home partition: {}GiB\n" -msgstr "Maksymalna pojemność dla partycji /home: {}GiB\n" - -#, python-brace-format -msgid "Minimum capacity for Arch Linux partition: {}GiB" -msgstr "Minimalna pojemność dla partycji Arch Linux: {}GiB" - -msgid "This is a list of pre-programmed profiles_bck, they might make it easier to install things like desktop environments" -msgstr "To jest lista wstępnie zaprogramowanych profili (profiles_bck), które mogą ułatwić instalację takich rzeczy jak środowiska graficzne" - -msgid "Current profile selection" -msgstr "Aktualny wybór profilu" - -msgid "Remove all newly added partitions" -msgstr "Usuń wszystkie nowo dodane partycje" - -msgid "Assign mountpoint" -msgstr "Przydziel punkt montowania" - -msgid "Mark/Unmark to be formatted (wipes data)" -msgstr "Zaznacz/odznacz partycję do formatowania (wymazuje dane)" - -msgid "Mark/Unmark as bootable" -msgstr "Zaznacz/Odznacz jako bootowalne" - -msgid "Change filesystem" -msgstr "Zmień system plików" - -msgid "Mark/Unmark as compressed" -msgstr "Oznacz/odznacz partycje jako skompresowaną" - -msgid "Set subvolumes" -msgstr "Ustaw subwolumin" - -msgid "Delete partition" -msgstr "Usuń partycję" - -msgid "Partition" -msgstr "Partycja" - -msgid "This partition is currently encrypted, to format it a filesystem has to be specified" -msgstr "Wybrana partycja jest zaszyfrowana. Żeby ją sformatować, wybierz system plików" - -msgid "Partition mount-points are relative to inside the installation, the boot would be /boot as an example." -msgstr "Punkty montowania partycji są względne w stosunku do wnętrza instalacji, np. boot to /boot." - -msgid "If mountpoint /boot is set, then the partition will also be marked as bootable." -msgstr "Jeżeli punkt montowania /boot jest wybrany, ta partycja będzie także zaznaczona jako bootowalna." - -msgid "Mountpoint: " -msgstr "Punkt montowania: " - -msgid "Current free sectors on device {}:" -msgstr "Aktualnie wolne sektory urządzenia {}:" - -msgid "Total sectors: {}" -msgstr "Łącznie sektorów: {}" - -msgid "Enter the start sector (default: {}): " -msgstr "Wprowadź sektor początkowy (domyślnie: {}): " - -msgid "Enter the end sector of the partition (percentage or block number, default: {}): " -msgstr "Wprowadź sektor końcowy tej partycji (procent lub numer bloku, domyślnie: {}): " - -msgid "This will remove all newly added partitions, continue?" -msgstr "To usunie wszystkie nowo dodane partycje, kontynuować?" - -#, python-brace-format -msgid "Partition management: {}" -msgstr "Zarządzanie partycją: {}" - -#, python-brace-format -msgid "Total length: {}" -msgstr "Całkowita długość: {}" - -msgid "Encryption type" -msgstr "Typ szyfrowania" - -msgid "Iteration time" -msgstr "Czas iteracji" - -msgid "Enter iteration time for LUKS encryption (in milliseconds)" -msgstr "Wprowadź czas iteracji dla szyfrowania LUKS (w milisekundach)" - -msgid "Higher values increase security but slow down boot time" -msgstr "Wyższe wartości zwiększają bezpieczeństwo, ale spowalniają uruchamianie" - -msgid "Default: 10000ms, Recommended range: 1000-60000" -msgstr "Domyślnie: 10000ms, Rekomendowany przedział: 1000-60000" - -msgid "Iteration time cannot be empty" -msgstr "Czas iteracji nie może być pusty" - -msgid "Iteration time must be at least 100ms" -msgstr "Czas iteracji nie może być niższy niż 100ms" - -msgid "Iteration time must be at most 120000ms" -msgstr "Czas iteracji nie może być wyższy niż 120000ms" - -msgid "Please enter a valid number" -msgstr "Proszę wprowadzić poprawną liczbę" - -msgid "Partitions" -msgstr "Partycje" - -msgid "No HSM devices available" -msgstr "Brak dostępnych urządzeń HSM" - -msgid "Partitions to be encrypted" -msgstr "Partycje do zaszyfrowania" - -msgid "Select disk encryption option" -msgstr "Wybierz opcję szyfrowania dysku" - -msgid "Select a FIDO2 device to use for HSM" -msgstr "Wybierz urządzenie FIDO2 do użycia z HSM" - -msgid "Use a best-effort default partition layout" -msgstr "Użyj najlepszego domyślnego układu partycji" - -msgid "Manual Partitioning" -msgstr "Ręczne partycjonowanie" - -msgid "Pre-mounted configuration" -msgstr "Wstępnie zamontowana konfiguracja" - -msgid "Unknown" -msgstr "Nieznane" - -msgid "Partition encryption" -msgstr "Szyfrowanie partycji" - -#, python-brace-format -msgid " ! Formatting {} in " -msgstr " ! Formatowanie {} za " - -msgid "← Back" -msgstr "← Wstecz" - -msgid "Disk encryption" -msgstr "Szyfrowanie dysku" - -msgid "Configuration" -msgstr "Konfiguracja" - -msgid "Password" -msgstr "Hasło" - -msgid "All settings will be reset, are you sure?" -msgstr "Wszystkie ustawienia zostaną zresetowane. Czy na pewno chcesz to zrobić?" - -msgid "Back" -msgstr "Wstecz" - -msgid "Please chose which greeter to install for the chosen profiles: {}" -msgstr "Wybierz który greeter zainstalować dla wybranych profili: {}" - -#, python-brace-format -msgid "Environment type: {}" -msgstr "Typ środowiska: {}" - -msgid "The proprietary Nvidia driver is not supported by Sway. It is likely that you will run into issues, are you okay with that?" -msgstr "Własnościowy sterownik Nvidia nie jest wspierany przez Sway. Prawdopodobnie wystąpią problemy, czy chcesz kontynuować?" - -msgid "Installed packages" -msgstr "Zainstalowane pakiety" - -msgid "Add profile" -msgstr "Dodaj profil" - -msgid "Edit profile" -msgstr "Edytuj profil" - -msgid "Delete profile" -msgstr "Usuń profil" - -msgid "Profile name: " -msgstr "Nazwa profilu: " - -msgid "The profile name you entered is already in use. Try again" -msgstr "Wprowadzona nazwa profilu jest już w użyciu. Spróbuj ponownie" - -msgid "Packages to be install with this profile (space separated, leave blank to skip): " -msgstr "Dodatkowe pakiety do zainstalowania na tym profilu (oddzielone spacjami, pozostaw puste aby pominąć): " - -msgid "Services to be enabled with this profile (space separated, leave blank to skip): " -msgstr "Usługi, które mają być włączone na tym profilu (oddzielone spacjami, pozostaw puste aby pominąć): " - -msgid "Should this profile be enabled for installation?" -msgstr "Czy ten profil ma być włączony podczas instalacji?" - -msgid "Create your own" -msgstr "Utwórz własny" - -msgid "" -"\n" -"Select a graphics driver or leave blank to install all open-source drivers" -msgstr "" -"\n" -"Wybierz sterownik graficzny lub pozostaw puste, aby zainstalować wszystkie sterowniki otwartoźródłowe" - -msgid "Sway needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" -msgstr "Sway potrzebuje dostępu do twojego seat'a (sprzętu, np. klawiatury, myszki, etc)" - -msgid "" -"\n" -"\n" -"Choose an option to give Sway access to your hardware" -msgstr "" -"\n" -"\n" -"Wybierz opcję, aby nadać Sway dostęp do twojego sprzętu" - -msgid "Graphics driver" -msgstr "Sterownik graficzny" - -msgid "Greeter" -msgstr "Greeter" - -msgid "Please chose which greeter to install" -msgstr "Wybierz, który greeter zainstalować" - -msgid "This is a list of pre-programmed default_profiles" -msgstr "To jest lista przygotowanych domyślnych profili (default_profiles)" - -msgid "Disk configuration" -msgstr "Konfiguracja dysku" - -msgid "Profiles" -msgstr "Profile" - -msgid "Finding possible directories to save configuration files ..." -msgstr "Znajdywanie możliwych katalogów do zapisywania plików konfiguracyjnych ..." - -msgid "Select directory (or directories) for saving configuration files" -msgstr "Wybierz jeden lub więcej katalogów do zapisywania plików konfiguracyjnych" - -msgid "Add a custom mirror" -msgstr "Dodaj niestandardowy serwer lustrzany" - -msgid "Change custom mirror" -msgstr "Zmień niestandardowy serwer lustrzany" - -msgid "Delete custom mirror" -msgstr "Usuń niestandardowy serwer lustrzany" - -msgid "Enter name (leave blank to skip): " -msgstr "Wprowadź nazwę (pozostaw puste, aby pominąć): " - -msgid "Enter url (leave blank to skip): " -msgstr "Wprowadź url (pozostaw puste, aby pominąć): " - -msgid "Select signature check option" -msgstr "Wybierz układ dysku" - -msgid "Select signature option" -msgstr "Wybierz opcję podpisu" - -msgid "Custom mirrors" -msgstr "Niestandardowe serwery lustrzane" - -msgid "Defined" -msgstr "Zdefiniowane" - -msgid "Save user configuration (including disk layout)" -msgstr "Zapisz konfigurację użytkownika (wraz z układem dysku)" - -msgid "" -"Enter a directory for the configuration(s) to be saved (tab completion enabled)\n" -"Save directory: " -msgstr "" -"Wprowadź katalog, w którym ma zostać zapisana konfiguracja (uzupełnianie przyciskiem tab jest włączone)\n" -"Katalog zapisu: " - -msgid "" -"Do you want to save {} configuration file(s) in the following location?\n" -"\n" -"{}" -msgstr "" -"Czy chcesz zapisać plik(i) konfiguracji {} w podanej lokalizacji?\n" -"\n" -"{}" - -msgid "Saving {} configuration files to {}" -msgstr "Zapisywanie {} plików konfiguracyjnych do {}" - -msgid "Mirrors" -msgstr "Serwery lustrzane" - -msgid "Mirror regions" -msgstr "Regiony serwerów lustrzanych" - -msgid " - Maximum value : {} ( Allows {} parallel downloads, allows {max_downloads+1} downloads at a time )" -msgstr " - Maksymalna wartość : {} ( Zwiększa liczbę zadań o {}, co pozwala na pobieranie {max_downloads+1} plików jednocześnie )" - -msgid "Invalid input! Try again with a valid input [1 to {}, or 0 to disable]" -msgstr "Nieprawidłowa wartość! Spróbuj jeszcze raz z poprawną wartością [1 do {}, lub 0 aby wyłączyć]" - -msgid "Locales" -msgstr "Ustawienia regionalne (locale)" - -msgid "Use NetworkManager (necessary to configure internet graphically in GNOME and KDE)" -msgstr "Użyj programu NetworkManager (niezbędne do graficznej konfiguracji Internetu w GNOME i KDE)" - -msgid "Total: {} / {}" -msgstr "Łącznie: {} / {}" - -msgid "All entered values can be suffixed with a unit: B, KB, KiB, MB, MiB..." -msgstr "Do wszystkich wybranych wartości może być dopisana jednostka: B, KB, KiB, MB, MiB..." - -msgid "If no unit is provided, the value is interpreted as sectors" -msgstr "Jeżeli jednostka nie zostanie podana, wartość zostanie zinterpretowana jako sektory" - -msgid "Enter start (default: sector {}): " -msgstr "Wprowadź początek (domyślnie: {}): " - -msgid "Enter end (default: {}): " -msgstr "Wprowadź koniec (domyślnie: {}): " - -msgid "Unable to determine fido2 devices. Is libfido2 installed?" -msgstr "Nie można określić urządzeń fido2. Czy zainstalowano libfido2?" - -msgid "Path" -msgstr "Ścieżka" - -msgid "Manufacturer" -msgstr "Producent" - -msgid "Product" -msgstr "Produkt" - -#, python-brace-format -msgid "Invalid configuration: {error}" -msgstr "Niepoprawna konfiguracja: {error}" - -msgid "Ready to install" -msgstr "Gotowe do zainstalowania" - -msgid "Disks" -msgstr "Dyski" - -msgid "Packages" -msgstr "Pakiety" - -msgid "Network" -msgstr "Sieć" - -msgid "Locale" -msgstr "Ustawienia regionalne (locale)" - -msgid "Type" -msgstr "Typ" - -msgid "This option enables the number of parallel downloads that can occur during package downloads" -msgstr "Ta opcja pozwala określić maksymalną liczbę jednocześnie pobieranych pakietów" - -msgid "" -"Enter the number of parallel downloads to be enabled.\n" -"\n" -"Note:\n" -msgstr "" -"Wprowadź maksymalną liczbę dodatkowych plików pobieranych jednocześnie.\n" -"\n" -"Note:\n" - -#, python-brace-format -msgid " - Maximum recommended value : {} ( Allows {} parallel downloads at a time )" -msgstr " - Maksymalna rekomendowana wartość : {} ( Zwiększa liczbę zadań o {} )" - -msgid " - Disable/Default : 0 ( Disables parallel downloading, allows only 1 download at a time )\n" -msgstr " - Wyłącz/Domyślne : 0 ( Wyłącza pobieranie wielu plików jednocześnie, więc tylko 1 plik może być pobierany w tym samym czasie )\n" - -msgid "Invalid input! Try again with a valid input [or 0 to disable]" -msgstr "Nieprawidłowa wartość! Spróbuj jeszcze raz z poprawną wartością [lub 0, aby wyłączyć]" - -msgid "Hyprland needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" -msgstr "Hyprland potrzebuje dostępu do twojego seat'a (sprzętu, np. klawiatury, myszki, etc)" - -msgid "" -"\n" -"\n" -"Choose an option to give Hyprland access to your hardware" -msgstr "" -"\n" -"\n" -"Wybierz opcję, aby nadać Hyprland dostęp do twojego sprzętu" - -msgid "All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB..." -msgstr "Do wszystkich wybranych wartości może być dopisana jednostka: % B, KB, KiB, MB, MiB..." - -msgid "Would you like to use unified kernel images?" -msgstr "Czy chcesz użyć ujednoliconych obrazów jądra?" - -msgid "Unified kernel images" -msgstr "Ujednolicone obrazy jądra" - -msgid "Waiting for time sync (timedatectl show) to complete." -msgstr "Oczekiwanie na synchronizację czasu (timedatectl show)." - -msgid "Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/" -msgstr "Synchronizacja czasu nie powodzi się. Oczekując - sprawdź dokumentację: https://archinstall.readthedocs.io/" - -msgid "Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)" -msgstr "Pomiń oczekiwanie na automatyczną synchronizację czasu (może spowodować problemy podczas instalacji)" - -msgid "Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete." -msgstr "Oczekiwanie na synchronizację Arch Linux keyring (archlinux-keyring-wkd-sync)." - -msgid "Selected profiles: " -msgstr "Wybrane profile: " - -msgid "Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/" -msgstr "Synchronizacja czasu nie powodzi się. Oczekując - sprawdź dokumentację: https://archinstall.readthedocs.io/" - -msgid "Mark/Unmark as nodatacow" -msgstr "Zaznacz/Odznacz jako nodatacow" - -msgid "Would you like to use compression or disable CoW?" -msgstr "Czy chcesz użyć kompresji lub wyłączyć CoW?" - -msgid "Use compression" -msgstr "Użyj kompresji" - -msgid "Disable Copy-on-Write" -msgstr "Wyłącz kopiowanie przy zapisie (Copy-on-Write)" - -msgid "Provides a selection of desktop environments and tiling window managers, e.g. GNOME, KDE Plasma, Sway" -msgstr "Dostarcza wybór środowisk graficznych oraz kafelkowych menedżerów okien, np. GNOME, KDE Plasma, Sway" - -#, python-brace-format -msgid "Configuration type: {}" -msgstr "Typ konfiguracji: {}" - -msgid "LVM configuration type" -msgstr "Typ konfiguracji LVM" - -msgid "LVM disk encryption with more than 2 partitions is currently not supported" -msgstr "Szyfrowanie dysku LVM z więcej niż dwoma partycjami aktualnie nie jest wspierane" - -msgid "Use NetworkManager (necessary to configure internet graphically in GNOME and KDE Plasma)" -msgstr "Użyj programu NetworkManager (niezbędne do graficznej konfiguracji Internetu w GNOME i KDE)" - -msgid "Select a LVM option" -msgstr "Wybierz opcję LVM" - -msgid "Partitioning" -msgstr "Partycjonowanie" - -msgid "Logical Volume Management (LVM)" -msgstr "Zarządzanie Woluminami Logicznymi (LVM)" - -msgid "Physical volumes" -msgstr "Fizyczne woluminy" - -msgid "Volumes" -msgstr "Woluminy" - -msgid "LVM volumes" -msgstr "Woluminy LVM" - -msgid "LVM volumes to be encrypted" -msgstr "Woluminy LVM do zaszyfrowania" - -msgid "Select which LVM volumes to encrypt" -msgstr "Wybierz, które woluminy LVM mają zostać zaszyfrowane" - -msgid "Default layout" -msgstr "Domyślny układ" - -msgid "No Encryption" -msgstr "Brak szyfrowania" - -msgid "LUKS" -msgstr "LUKS" - -msgid "LVM on LUKS" -msgstr "LVM na LUKS" - -msgid "LUKS on LVM" -msgstr "LUKS na LVM" - -msgid "Yes" -msgstr "Tak" - -msgid "No" -msgstr "Nie" - -msgid "Archinstall help" -msgstr "Pomoc archinstall-a" - -msgid " (default)" -msgstr " (domyślne)" - -msgid "Press Ctrl+h for help" -msgstr "Naciśnij Ctrl+h, aby wyświetlić pomoc" - -msgid "Choose an option to give Sway access to your hardware" -msgstr "Wybierz opcję, aby nadać Sway dostęp do twojego sprzętu" - -msgid "Seat access" -msgstr "Dostęp do seat'a" - -msgid "Mountpoint" -msgstr "Punkt montowania" - -msgid "HSM" -msgstr "HSM" - -msgid "Enter disk encryption password (leave blank for no encryption)" -msgstr "Wprowadź hasło do szyfrowania dysku (pozostaw puste, aby nie szyfrować):" - -msgid "Disk encryption password" -msgstr "Hasło szyfrujące dysk" - -msgid "Partition - New" -msgstr "Partycja - Nowa" - -msgid "Filesystem" -msgstr "System plików" - -msgid "Invalid size" -msgstr "Niepoprawny rozmiar" - -msgid "Start (default: sector {}): " -msgstr "Początek (domyślnie: sektor {}): " - -msgid "End (default: {}): " -msgstr "Koniec (domyślnie: {}): " - -msgid "Subvolume name" -msgstr "Nazwa subwoluminu" - -msgid "Disk configuration type" -msgstr "Typ konfiguracji dysku" - -msgid "Root mount directory" -msgstr "Katalog montowania root" - -msgid "Select language" -msgstr "Wybierz język" - -msgid "Write additional packages to install (space separated, leave blank to skip)" -msgstr "Wpisz dodatkowe pakiety do zainstalowania (oddzielone spacjami, pozostaw puste aby pominąć):" - -msgid "Invalid download number" -msgstr "Niepoprawna liczba pobrań" - -msgid "Number downloads" -msgstr "Liczba pobrań" - -msgid "The username you entered is invalid" -msgstr "Wprowadzona nazwa użytkownika jest nieprawidłowa" - -msgid "Username" -msgstr "Nazwa użytkownika" - -#, python-brace-format -msgid "Should \"{}\" be a superuser (sudo)?\n" -msgstr "Czy \"{}\" powinien być superuserem (mieć uprawnienia sudo)?\n" - -msgid "Interfaces" -msgstr "Interfejsy" - -msgid "You need to enter a valid IP in IP-config mode" -msgstr "Musisz wprowadzić poprawny adres IP w trybie IP-config" - -msgid "Modes" -msgstr "Tryby" - -msgid "IP address" -msgstr "Adres IP" - -msgid "Enter your gateway (router) IP address (leave blank for none)" -msgstr "Wprowadź adres IP bramy sieciowej (routera) lub pozostaw puste:" - -msgid "Gateway address" -msgstr "Adres bramy sieciowej" - -msgid "Enter your DNS servers with space separated (leave blank for none)" -msgstr "Wpisz swoje serwery DNS (oddzielone spacjami, lub pozostaw puste):" - -msgid "DNS servers" -msgstr "Serwery DNS" - -msgid "Configure interfaces" -msgstr "Konfiguruj interfejsy" - -msgid "Kernel" -msgstr "Jądro" - -msgid "UEFI is not detected and some options are disabled" -msgstr "Nie wykryto UEFI i niektóre opcje są wyłączone" - -msgid "Info" -msgstr "Info" - -msgid "The proprietary Nvidia driver is not supported by Sway." -msgstr "Własnościowy sterownik Nvidia nie jest wspierany przez Sway." - -msgid "It is likely that you will run into issues, are you okay with that?" -msgstr "Prawdopodobnie wystąpią problemy, czy chcesz kontynuować?" - -msgid "Main profile" -msgstr "Główny profil" - -msgid "Confirm password" -msgstr "Potwierdź hasło" - -msgid "The confirmation password did not match, please try again" -msgstr "Hasło potwierdzające nie jest poprawne, proszę spróbować jeszcze raz" - -msgid "Not a valid directory" -msgstr "Nieprawidłowy katalog" - -msgid "Would you like to continue?" -msgstr "Czy chcesz kontynuować?" - -msgid "Directory" -msgstr "Katalog" - -msgid "Enter a directory for the configuration(s) to be saved (tab completion enabled)" -msgstr "Wprowadź katalog, w którym ma zostać zapisana konfiguracja (uzupełnianie przyciskiem tab jest włączone):" - -#, python-brace-format -msgid "Do you want to save the configuration file(s) to {}?" -msgstr "Czy chcesz zapisać plik(i) konfiguracyjne do {}?" - -msgid "Enabled" -msgstr "Włączone" - -msgid "Disabled" -msgstr "Wyłączone" - -msgid "Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues" -msgstr "Proszę zgłosić ten błąd (i dołączyć plik) pod adresem https://github.com/archlinux/archinstall/issues" - -msgid "Mirror name" -msgstr "Nazwa serwera lustrzanego" - -msgid "Url" -msgstr "Url" - -msgid "Select signature check" -msgstr "Wybierz sprawdzanie podpisu" - -msgid "Select execution mode" -msgstr "Wybierz tryb uruchamiania" - -msgid "Press ? for help" -msgstr "Naciśnij ?, aby wyświetlić pomoc" - -msgid "Choose an option to give Hyprland access to your hardware" -msgstr "Wybierz opcję, aby nadać Hyprland dostęp do twojego sprzętu" - -msgid "Additional repositories" -msgstr "Dodatkowe repozytoria" - -msgid "NTP" -msgstr "NTP" - -msgid "Swap on zram" -msgstr "Swap na zram" - -msgid "Name" -msgstr "Nazwa" - -msgid "Signature check" -msgstr "Sprawdzanie podpisów" - -#, python-brace-format -msgid "Selected free space segment on device {}:" -msgstr "Wybrany segment wolnego miejsca na urządzeniu {}:" - -#, python-brace-format -msgid "Size: {} / {}" -msgstr "Rozmiar: {} / {}" - -#, python-brace-format -msgid "Size (default: {}): " -msgstr "Rozmiar (domyślnie: {}): " - -msgid "HSM device" -msgstr "Urządzenie HSM" - -msgid "Some packages could not be found in the repository" -msgstr "Niektóre pakiety nie mogły zostać znalezione w repozytorium" - -msgid "User" -msgstr "Użytkownik" - -msgid "The specified configuration will be applied" -msgstr "Podana konfiguracja zostanie zastosowana" - -msgid "Wipe" -msgstr "Wymaż" - -msgid "Mark/Unmark as XBOOTLDR" -msgstr "Zaznacz/Odznacz jako XBOOTLDR" - -msgid "Loading packages..." -msgstr "Ładowanie pakietów..." - -msgid "Select any packages from the below list that should be installed additionally" -msgstr "Wybierz pakiety z poniższej listy, które powinne być dodatkowo zainstalowane" - -msgid "Add a custom repository" -msgstr "Dodaj niestandardowe repozytorium" - -msgid "Change custom repository" -msgstr "Zmień niestandardowe repozytorium" - -msgid "Delete custom repository" -msgstr "Usuń niestandardowe repozytorium" - -msgid "Repository name" -msgstr "Nazwa repozytorium" - -msgid "Add a custom server" -msgstr "Dodaj niestandardowy serwer" - -msgid "Change custom server" -msgstr "Zmień niestandardowy serwer" - -msgid "Delete custom server" -msgstr "Usuń niestandardowy serwer" - -msgid "Server url" -msgstr "Url serwera" - -msgid "Select regions" -msgstr "Wybierz regiony" - -msgid "Add custom servers" -msgstr "Dodaj niestandardowe serwery" - -msgid "Add custom repository" -msgstr "Dodaj niestandardowe repozytorium" - -msgid "Loading mirror regions..." -msgstr "Ładowanie regionów serwerów lustrzanych..." - -msgid "Mirrors and repositories" -msgstr "Serwery lustrzane i repozytoria" - -msgid "Selected mirror regions" -msgstr "Wybrane regiony serwerów lustrzanych" - -msgid "Custom servers" -msgstr "Niestandardowe serwery lustrzane" - -msgid "Custom repositories" -msgstr "Niestandardowe repozytoria" - -msgid "Only ASCII characters are supported" -msgstr "Tylko znaki ASCII są wspierane" - -msgid "Show help" -msgstr "Pokaż pomoc" - -msgid "Exit help" -msgstr "Zamknij pomoc" - -msgid "Preview scroll up" -msgstr "Przewiń podgląd w górę" - -msgid "Preview scroll down" -msgstr "Przewiń podgląd w dół" - -msgid "Move up" -msgstr "Przesuń w górę" - -msgid "Move down" -msgstr "Przesuń w dół" - -msgid "Move right" -msgstr "Przesuń w prawo" - -msgid "Move left" -msgstr "Przesuń w lewo" - -msgid "Jump to entry" -msgstr "Przeskocz do wpisu" - -msgid "Skip selection (if available)" -msgstr "Pomiń wybór (jeżeli to możliwe)" - -msgid "Reset selection (if available)" -msgstr "Zresetuj wybór (jeżeli to możliwe)" - -msgid "Select on single select" -msgstr "Wybierz na wyborach pojedynczych" - -msgid "Select on multi select" -msgstr "Wybierz na wyborach wielokrotnych" - -msgid "Reset" -msgstr "Zresetuj" - -msgid "Skip selection menu" -msgstr "Pomiń menu wyboru" - -msgid "Start search mode" -msgstr "Wejdź w tryb wyszukiwania" - -msgid "Exit search mode" -msgstr "Wyjdź z trybu wyszukiwania" - -msgid "General" -msgstr "Ogólne" - -msgid "Navigation" -msgstr "Nawigacja" - -msgid "Selection" -msgstr "Wybór" - -msgid "Search" -msgstr "Szukaj" - -msgid "Down" -msgstr "W dół" - -msgid "Up" -msgstr "W górę" - -msgid "Confirm" -msgstr "Potwierdź" - -msgid "Focus right" -msgstr "W prawo" - -msgid "Focus left" -msgstr "W lewo" - -msgid "Toggle" -msgstr "Zaznacz/Odznacz" - -msgid "Show/Hide help" -msgstr "Pokaż/Ukryj pomoc" - -msgid "Quit" -msgstr "Wyjdź" - -msgid "First" -msgstr "Pierwszy" - -msgid "Last" -msgstr "Ostatni" - -msgid "Select" -msgstr "Wybierz" - -msgid "Page Up" -msgstr "Strona w górę" - -msgid "Page Down" -msgstr "Strona w dół" - -msgid "Page up" -msgstr "Strona w górę" - -msgid "Page down" -msgstr "Strona w dół" - -msgid "Page Left" -msgstr "Strona w lewo" - -msgid "Page Right" -msgstr "Strona w prawo" - -msgid "Cursor up" -msgstr "Kursor w górę" - -msgid "Cursor down" -msgstr "Kursor w dół" - -msgid "Cursor right" -msgstr "Kursor w prawo" - -msgid "Cursor left" -msgstr "Kursor w lewo" - -msgid "Top" -msgstr "Góra" - -msgid "Bottom" -msgstr "Dół" - -msgid "Home" -msgstr "Początek" - -msgid "End" -msgstr "Koniec" - -msgid "Toggle option" -msgstr "Zaznacz/Odznacz opcję" - -msgid "Scroll Up" -msgstr "Przewiń w górę" - -msgid "Scroll Down" -msgstr "Przewiń w dół" - -msgid "Scroll Left" -msgstr "Przewiń w lewo" - -msgid "Scroll Right" -msgstr "Przewiń w prawo" - -msgid "Scroll Home" -msgstr "Przewiń do początku" - -msgid "Scroll End" -msgstr "Przewiń do końca" - -msgid "Focus Next" -msgstr "Następny" - -msgid "Focus Previous" -msgstr "Poprzedni" - -msgid "Copy selected text" -msgstr "Skopiuj zaznaczony tekst" - -msgid "labwc needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" -msgstr "labwc potrzebuje dostępu do twojego seat'a (sprzętu, np. klawiatury, myszki)" - -msgid "Choose an option to give labwc access to your hardware" -msgstr "Wybierz opcję, aby nadać labwc dostęp do twojego sprzętu" - -msgid "niri needs access to your seat (collection of hardware devices i.e. keyboard, mouse, etc)" -msgstr "niri potrzebuje dostępu do twojego seat'a (sprzętu, np. klawiatury, myszki, etc)" - -msgid "Choose an option to give niri access to your hardware" -msgstr "Wybierz opcję, aby nadać niri dostęp do twojego sprzętu" - -msgid "Mark/Unmark as ESP" -msgstr "Zaznacz/Odznacz jako ESP" - -msgid "Package group:" -msgstr "Grupa pakietów:" - -msgid "Exit archinstall" -msgstr "Zamknij archinstall-a" - -msgid "Reboot system" -msgstr "Uruchom ponownie system" - -msgid "chroot into installation for post-installation configurations" -msgstr "zchrootować do nowej instalacji i przeprowadzić dodatkową konfigurację" - -msgid "Installation completed" -msgstr "Instalacja zakończona" - -msgid "What would you like to do next?" -msgstr "Co chcesz robić dalej?" - -#, python-brace-format -msgid "Select which mode to configure for \"{}\"" -msgstr "Wybierz który tryb ma być skonfigurowany dla \"{}\"" - -msgid "Incorrect credentials file decryption password" -msgstr "Niepoprawne hasło odszyfrowujące plik danych uwierzytelniających" - -msgid "Incorrect password" -msgstr "Niepoprawne hasło" - -msgid "Credentials file decryption password" -msgstr "Hasło odszyfrowujące plik danych uwierzytelniających" - -msgid "Do you want to encrypt the user_credentials.json file?" -msgstr "Czy chcesz zaszyfrować plik user_credentials.json?" - -msgid "Credentials file encryption password" -msgstr "Hasło szyfrujące plik danych uwierzytelniających" - -#, python-brace-format -msgid "Repositories: {}" -msgstr "Repozytoria: {}" - -msgid "New version available" -msgstr "Nowa wersja dostępna" - -msgid "Passwordless login" -msgstr "Logowanie bezhasłowe" - -msgid "Second factor login" -msgstr "Logowanie dwuskładnikowe" - -msgid "Bluetooth" -msgstr "Bluetooth" - -msgid "Would you like to configure Bluetooth?" -msgstr "Czy chcesz skonfigurować Bluetooth?" - -msgid "Print service" -msgstr "Usługa drukowania" - -msgid "Would you like to configure the print service?" -msgstr "Czy chcesz skonfigurować usługę drukowania?" - -msgid "Power management" -msgstr "Zarządzanie zasilaniem" - -msgid "Authentication" -msgstr "Uwierzytelnianie" - -msgid "Applications" -msgstr "Aplikacje" - -msgid "U2F login method: " -msgstr "Metoda logowania U2F: " - -msgid "Passwordless sudo: " -msgstr "Bezhasłowe sudo: " - -#, python-brace-format -msgid "Btrfs snapshot type: {}" -msgstr "Typ migawki Btrfs: {}" - -msgid "Syncing the system..." -msgstr "Synchronizowanie systemu..." - -msgid "Value cannot be empty" -msgstr "Wartość nie może być pusta" - -msgid "Snapshot type" -msgstr "Typ migawki" - -#, python-brace-format -msgid "Snapshot type: {}" -msgstr "Typ migawki: {}" - -msgid "U2F login setup" -msgstr "Konfiguracja logowania U2F" - -msgid "No U2F devices found" -msgstr "Nie znaleziono urządzeń U2F" - -msgid "U2F Login Method" -msgstr "Metoda Logowania U2F" - -msgid "Enable passwordless sudo?" -msgstr "Włączyć bezhasłowe sudo?" - -#, python-brace-format -msgid "Setting up U2F device for user: {}" -msgstr "Konfigurowanie urządzenia U2F dla użytkownika: {}" - -msgid "You may need to enter the PIN and then touch your U2F device to register it" -msgstr "Prawdopodobnie będzie trzeba wprowadzić PIN oraz dotknąć urządzenia U2F, aby je zarejestrować" - -msgid "Starting device modifications in " -msgstr "Wprowadzanie zmian do urządzeń w " - -msgid "No network connection found" -msgstr "Brak połączenia z siecią" - -msgid "Would you like to connect to a Wifi?" -msgstr "Czy chcesz połączyć się z Wifi?" - -msgid "No wifi interface found" -msgstr "Nie znaleziono interfejsu wifi" - -msgid "Select wifi network to connect to" -msgstr "Wybierz sieć wifi do połączenia się" - -msgid "Scanning wifi networks..." -msgstr "Skanowanie sieci wifi..." - -msgid "No wifi networks found" -msgstr "Nie znaleziono sieci wifi" - -msgid "Failed setting up wifi" -msgstr "Nie udało się skonfigurować wifi" - -msgid "Enter wifi password" -msgstr "Wprowadź hasło do wifi" - -msgid "Ok" -msgstr "Ok" - -msgid "Removable" -msgstr "Usuwalne" - -msgid "Install to removable location" -msgstr "Zainstaluj do usuwalnej lokalizacji" - -msgid "Will install to /EFI/BOOT/ (removable location)" -msgstr "Zainstaluje do /EFI/BOOT/ (usuwalna lokalizacja)" - -msgid "Will install to standard location with NVRAM entry" -msgstr "Zainstaluje do standardowej lokalizacji z wpisem do NVRAM" - -msgid "Would you like to install the bootloader to the default removable media search location?" -msgstr "Czy chcesz zainstalować program rozruchowy do domyślnej lokalizacji wyszukiwania nośników wymiennych?" - -msgid "This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:" -msgstr "Instaluje program rozruchowy do /EFI/BOOT/BOOTX64.EFI (lub podobnie), co jest użyteczne w następujących sytuacjach:" - -msgid "USB drives or other portable external media." -msgstr "Dyski USB lub inne przenośne zewnętrzne nośniki." - -msgid "Systems where you want the disk to be bootable on any computer." -msgstr "Systemy, w których chcesz, by dysk był bootowalny na dowolnym komputerze." - -msgid "Firmware that does not properly support NVRAM boot entries." -msgstr "Oprogramowanie układowe, które nie wspiera poprawnie wpisów rozruchowych w NVRAM." - -msgid "Will install to /EFI/BOOT/ (removable location, safe default)" -msgstr "Zainstaluje do /EFI/BOOT/ (usuwalna lokalizacja, bezpieczna wartość domyślna)" - -msgid "Will install to custom location with NVRAM entry" -msgstr "Zainstaluje do niestandardowej lokalizacji z wpisem do NVRAM" - -msgid "Firmware that does not properly support NVRAM boot entries like most MSI motherboards," -msgstr "Oprogramowanie układowe, które nie wspiera poprawnie wpisów rozruchowych w NVRAM, jak większość płyt głównych MSI," - -msgid "most Apple Macs, many laptops..." -msgstr "większość Apple Mac-ów, wiele laptopów..." - -msgid "Language" -msgstr "Język" - -msgid "Compression algorithm" -msgstr "Algorytm kompresji" - -msgid "Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed." -msgstr "Instalowane są tylko pakiety takie jak base, sudo, linux, linux-firmware, efibootmgr i opcjonalne pakiety profili." - -msgid "Select zram compression algorithm:" -msgstr "Wybierz algorytm kompresji zram:" - -msgid "Use Network Manager (default backend)" -msgstr "Użyj NetworkManager'a (domyślny backend)" - -msgid "Use Network Manager (iwd backend)" -msgstr "Użyj NetworkManager'a (backend iwd)" - -msgid "Firewall" -msgstr "Zapora sieciowa" - -msgid "Additional fonts" -msgstr "Dodatkowe czcionki" - -msgid "Select font packages to install" -msgstr "Wybierz pakiety czcionek do zainstalowania" - -msgid "Unicode font coverage for most languages" -msgstr "Wsparcie Unicode dla większości języków" - -msgid "color emoji for browsers and apps" -msgstr "kolorowe emoji dla przeglądarek i aplikacji" - -msgid "Chinese, Japanese, Korean characters" -msgstr "Chińskie, Japońskie, Koreańskie znaki" - -msgid "Select audio configuration" -msgstr "Wybierz konfigurację audio" - -msgid "Enter credentials file decryption password" -msgstr "Wprowadź hasło odszyfrowujące plik danych uwierzytelniających" - -msgid "Enter root password" -msgstr "Wprowadź hasło roota" - -msgid "Select bootloader to install" -msgstr "Wybierz program rozruchowy do zainstalowania" - -msgid "Configuration preview" -msgstr "Podgląd konfiguracji" - -msgid "Enter a directory for the configuration(s) to be saved" -msgstr "Wprowadź katalog, w którym ma zostać zapisana konfiguracja" - -msgid "Select encryption type" -msgstr "Wybierz typ szyfrowania" - -msgid "Select disks for the installation" -msgstr "Wybierz dyski dla tej instalacji" - -msgid "Enter a mountpoint" -msgstr "Wprowadź punkt montowania" - -#, python-brace-format -msgid "Enter a size (default: {}): " -msgstr "Wprowadź rozmiar (domyślnie: {}): " - -msgid "Enter subvolume name" -msgstr "Wprowadź nazwę subwoluminu" - -msgid "Enter subvolume mountpoint" -msgstr "Wprowadź punkt montowania subwoluminu" - -msgid "Select a disk configuration" -msgstr "Wybierz konfigurację dysku" - -msgid "Enter root mount directory" -msgstr "Wprowadź zamontowany katalog główny (root)" - -msgid "You will use whatever drive-setup is mounted at the specified directory" -msgstr "Użyjesz konfiguracji dysków zamontowanej w podanej ścieżce" - -msgid "WARNING: Archinstall won't check the suitability of this setup" -msgstr "OSTRZEŻENIE: Archinstall nie sprawdzi poprawności tej konfiguracji" - -msgid "Select main filesystem" -msgstr "Zmień główny system plików" - -msgid "Enter a hostname" -msgstr "Wprowadź nazwę hosta" - -msgid "Select timezone" -msgstr "Wybierz strefę czasową" - -msgid "Enter the number of parallel downloads to be enabled" -msgstr "Wprowadź maksymalną liczbę plików pobieranych jednocześnie" - -#, python-brace-format -msgid "Value must be between 1 and {}" -msgstr "Wartość musi być pomiędzy 1 a {}" - -msgid "Select which kernel(s) to install" -msgstr "Wybierz, które jądro/jądra zainstalować" - -msgid "Enter a respository name" -msgstr "Wprowadź nazwę repozytorium" - -msgid "Enter the repository url" -msgstr "Wprowadź url repozytorium" - -msgid "Enter server url" -msgstr "Wprowadź url serwera" - -msgid "Select mirror regions to be enabled" -msgstr "Wybierz, które regiony serwerów lustrzanych chcesz włączyć" - -msgid "Select optional repositories to be enabled" -msgstr "Wybierz, które z opcjonalnych repozytoriów chcesz włączyć" - -msgid "Select an interface" -msgstr "Wybierz interfejs" - -msgid "Choose network configuration" -msgstr "Wybierz konfigurację sieci" - -msgid "Recommended: Network Manager for desktop, Manual for server" -msgstr "Rekomendowane: Network Manager dla desktopów, ręcznie dla serwerów" - -msgid "Warning: no network configuration selected. Network will need to be set up manually on the installed system." -msgstr "Uwaga: nie wybrano konfiguracji sieci. Sieć musi zostać skonfigurowana ręcznie w zainstalowanym systemie." - -msgid "No packages found" -msgstr "Nie znaleziono pakietów" - -msgid "Select which greeter to install" -msgstr "Wybierz, który greeter zainstalować" - -msgid "Select a profile type" -msgstr "Wybierz typ profilu" - -msgid "Enter new password" -msgstr "Wprowadź nowe hasło" - -msgid "Enter a username" -msgstr "Wprowadź nazwę użytkownika" - -msgid "Enter a password" -msgstr "Wprowadź hasło" - -msgid "The password did not match, please try again" -msgstr "Hasło nie jest poprawne, proszę spróbować jeszcze raz" - -msgid "Password strength: Weak" -msgstr "Jakość hasła: Słabe" - -msgid "Password strength: Moderate" -msgstr "Jakość hasła: Średnie" - -msgid "Password strength: Strong" -msgstr "Jakość hasła: Mocne" - -msgid "The selected desktop profile requires a regular user to log in via the greeter" -msgstr "Wybrany profil pulpitu wymaga logowania normalnego użytkownika przez greeter" - -#, python-brace-format -msgid "Environment type: {} {}" -msgstr "Typ środowiska: {} {}" - -msgid "Input cannot be empty" -msgstr "Podana wartość nie może być pusta" +"X-Generator: Poedit 3.9\n" msgid "Recommended" msgstr "Rekomendowane" @@ -2200,34 +35,15 @@ msgstr "Pakiety w grupie" msgid "Minimal KDE Plasma installation" msgstr "Minimalistyczna instalacja KDE Plasma" +msgid "Type" +msgstr "Typ" + msgid "Description" msgstr "Opis" msgid "Select a flavor of KDE Plasma to install" msgstr "Wybierz rodzaj KDE Plasma do zainstalowania" -msgid "Arial/Times/Courier replacement, Cyrillic support for Steam/games" -msgstr "Zamiennik Arial/Times/Courier, obsługa Cyrylicy dla Steam/gier" - -msgid "wide Unicode coverage, good fallback font" -msgstr "szerokie wsparcie Unicode, dobra czczionka zastępcza" - -#, python-brace-format -msgid "Setting up U2F login: {u2f_config.u2f_login_method.value}" -msgstr "Ustawianie logowania U2F {u2f_config.u2f_login_method.value}" - -#, python-brace-format -msgid "Default: {DEFAULT_ITER_TIME}ms, Recommended range: 1000-60000" -msgstr "Domyślnie: {DEFAULT_ITER_TIME}ms, Rekomendowany przedział: 1000-60000" - -#, python-brace-format -msgid "Setting up U2F login: {}" -msgstr "Konfigurowanie logowania U2F: {}" - -#, python-brace-format -msgid "Default: {}ms, Recommended range: 1000-60000" -msgstr "Domyślnie: {}ms, Rekomendowany przedział: 1000-60000" - #, python-brace-format msgid "{} needs access to your seat" msgstr "{} potrzebuje dostępu do twojego seat'a" @@ -2239,33 +55,1126 @@ msgstr "zbiór urządzeń, t.j. klawiatura, myszka" msgid "Choose an option how to give {} access to your hardware" msgstr "Wybierz opcję, aby nadać {} dostęp do twojego sprzętu" -#~ msgid "When picking a directory to save configuration files to, by default we will ignore the following folders: " -#~ msgstr "Podczas wybierania katalogu do zapisywania plików konfiguracyjnych, domyślnie ignorowane są następujące foldery: " - -#~ msgid "" -#~ "Do you want to save {} configuration file(s) in the following locations?\n" -#~ "\n" -#~ "{}" -#~ msgstr "" -#~ "Czy chcesz zapisać {} plików konfiguracyjnych do następujących lokalizacji?\n" -#~ "\n" -#~ "{}" - -#~ msgid "Add :" -#~ msgstr "Dodaj :" - -#~ msgid "Value :" -#~ msgstr "Wartość :" +#, python-brace-format +msgid "Environment type: {} {}" +msgstr "Typ środowiska: {} {}" #, python-brace-format -#~ msgid "Edit {origkey} :" -#~ msgstr "Edytuj {origkey} :" +msgid "Environment type: {}" +msgstr "Typ środowiska: {}" -#~ msgid "Copy to :" -#~ msgstr "Kopiuj do :" +msgid "Installed packages" +msgstr "Zainstalowane pakiety" -#~ msgid "Edite :" -#~ msgstr "Edytuj :" +msgid "Bluetooth" +msgstr "Bluetooth" -#~ msgid "Key :" -#~ msgstr "Klucz :" +msgid "Audio" +msgstr "Audio" + +msgid "Print service" +msgstr "Usługa drukowania" + +msgid "Power management" +msgstr "Zarządzanie zasilaniem" + +msgid "Firewall" +msgstr "Zapora sieciowa" + +msgid "Additional fonts" +msgstr "Dodatkowe czcionki" + +msgid "Enabled" +msgstr "Włączone" + +msgid "Disabled" +msgstr "Wyłączone" + +msgid "Would you like to configure Bluetooth?" +msgstr "Czy chcesz skonfigurować Bluetooth?" + +msgid "Would you like to configure the print service?" +msgstr "Czy chcesz skonfigurować usługę drukowania?" + +msgid "Select audio configuration" +msgstr "Wybierz konfigurację audio" + +msgid "Select font packages to install" +msgstr "Wybierz pakiety czcionek do zainstalowania" + +msgid "ArchInstall Language" +msgstr "Język archinstall-a" + +msgid "Version" +msgstr "Wersja" + +msgid "Installation Script" +msgstr "Skrypt instalacyjny" + +msgid "Locales" +msgstr "Ustawienia regionalne (locale)" + +msgid "Disk configuration" +msgstr "Konfiguracja dysku" + +msgid "Profile" +msgstr "Profil" + +msgid "Mirrors and repositories" +msgstr "Serwery lustrzane i repozytoria" + +msgid "Network" +msgstr "Sieć" + +msgid "Bootloader" +msgstr "Program rozruchowy" + +msgid "Application" +msgstr "Aplikacja" + +msgid "Authentication" +msgstr "Uwierzytelnianie" + +msgid "Swap" +msgstr "Pamięć wymiany (swap)" + +msgid "Hostname" +msgstr "Nazwa hosta" + +msgid "Kernels" +msgstr "Jądra" + +msgid "Automatic time sync (NTP)" +msgstr "Automatyczna synchronizacja czasu (NTP)" + +msgid "Timezone" +msgstr "Strefa czasowa" + +msgid "Services" +msgstr "Usługi" + +msgid "Additional packages" +msgstr "Dodatkowe pakiety" + +msgid "Pacman" +msgstr "Pacman" + +msgid "Custom commands" +msgstr "Niestandardowe komendy" + +msgid "Users" +msgstr "Użytkownicy" + +msgid "Root encrypted password" +msgstr "Hasło szyfrowane roota" + +msgid "Disk encryption password" +msgstr "Hasło szyfrujące dysk" + +msgid "Incorrect credentials file decryption password" +msgstr "Niepoprawne hasło odszyfrowujące plik danych uwierzytelniających" + +msgid "Enter credentials file decryption password" +msgstr "Wprowadź hasło odszyfrowujące plik danych uwierzytelniających" + +msgid "Incorrect password" +msgstr "Niepoprawne hasło" + +#, python-brace-format +msgid "Setting up U2F login: {}" +msgstr "Konfigurowanie logowania U2F: {}" + +#, python-brace-format +msgid "Setting up U2F device for user: {}" +msgstr "Konfigurowanie urządzenia U2F dla użytkownika: {}" + +msgid "You may need to enter the PIN and then touch your U2F device to register it" +msgstr "Prawdopodobnie będzie trzeba wprowadzić PIN oraz dotknąć urządzenia U2F, aby je zarejestrować" + +msgid "Root password" +msgstr "Hasło roota" + +msgid "User account" +msgstr "Konto użytkownika" + +msgid "U2F login setup" +msgstr "Konfiguracja logowania U2F" + +msgid "U2F login method: " +msgstr "Metoda logowania U2F: " + +msgid "Passwordless sudo: " +msgstr "Bezhasłowe sudo: " + +msgid "No U2F devices found" +msgstr "Nie znaleziono urządzeń U2F" + +msgid "Enter root password" +msgstr "Wprowadź hasło roota" + +msgid "Enable passwordless sudo?" +msgstr "Włączyć bezhasłowe sudo?" + +msgid "Unified kernel images" +msgstr "Ujednolicone obrazy jądra" + +msgid "Install to removable location" +msgstr "Zainstaluj do usuwalnej lokalizacji" + +msgid "Will install to /EFI/BOOT/ (removable location, safe default)" +msgstr "Zainstaluje do /EFI/BOOT/ (usuwalna lokalizacja, bezpieczna wartość domyślna)" + +msgid "Will install to custom location with NVRAM entry" +msgstr "Zainstaluje do niestandardowej lokalizacji z wpisem do NVRAM" + +msgid "Would you like to use unified kernel images?" +msgstr "Czy chcesz użyć ujednoliconych obrazów jądra?" + +msgid "Would you like to install the bootloader to the default removable media search location?" +msgstr "Czy chcesz zainstalować program rozruchowy do domyślnej lokalizacji wyszukiwania nośników wymiennych?" + +msgid "This installs the bootloader to /EFI/BOOT/BOOTX64.EFI (or similar) which is useful for:" +msgstr "Instaluje program rozruchowy do /EFI/BOOT/BOOTX64.EFI (lub podobnie), co jest użyteczne w następujących sytuacjach:" + +msgid "Firmware that does not properly support NVRAM boot entries like most MSI motherboards," +msgstr "Oprogramowanie układowe, które nie wspiera poprawnie wpisów rozruchowych w NVRAM, jak większość płyt głównych MSI," + +msgid "most Apple Macs, many laptops..." +msgstr "większość Apple Mac-ów, wiele laptopów..." + +msgid "USB drives or other portable external media." +msgstr "Dyski USB lub inne przenośne zewnętrzne nośniki." + +msgid "Systems where you want the disk to be bootable on any computer." +msgstr "Systemy, w których chcesz, by dysk był bootowalny na dowolnym komputerze." + +msgid "Select bootloader to install" +msgstr "Wybierz program rozruchowy do zainstalowania" + +msgid "UEFI is not detected and some options are disabled" +msgstr "Nie wykryto UEFI i niektóre opcje są wyłączone" + +msgid "The specified configuration will be applied" +msgstr "Podana konfiguracja zostanie zastosowana" + +msgid "Would you like to continue?" +msgstr "Czy chcesz kontynuować?" + +msgid "Configuration preview" +msgstr "Podgląd konfiguracji" + +msgid "No configuration" +msgstr "Brak konfiguracji" + +msgid "Save user configuration (including disk layout)" +msgstr "Zapisz konfigurację użytkownika (wraz z układem dysku)" + +msgid "Save user credentials" +msgstr "Zapisz dane uwierzytelniające użytkownika" + +msgid "Save all" +msgstr "Zapisz wszystko" + +msgid "Enter a directory for the configuration(s) to be saved" +msgstr "Wprowadź katalog, w którym ma zostać zapisana konfiguracja" + +#, python-brace-format +msgid "Do you want to save the configuration file(s) to {}?" +msgstr "Czy chcesz zapisać plik(i) konfiguracyjne do {}?" + +msgid "Do you want to encrypt the user_credentials.json file?" +msgstr "Czy chcesz zaszyfrować plik user_credentials.json?" + +msgid "Credentials file encryption password" +msgstr "Hasło szyfrujące plik danych uwierzytelniających" + +msgid "Partitioning" +msgstr "Partycjonowanie" + +msgid "Disk encryption" +msgstr "Szyfrowanie dysku" + +#, python-brace-format +msgid "Configuration type: {}" +msgstr "Typ konfiguracji: {}" + +msgid "Mountpoint" +msgstr "Punkt montowania" + +msgid "Configuration" +msgstr "Konfiguracja" + +msgid "Wipe" +msgstr "Wymaż" + +msgid "Physical volumes" +msgstr "Fizyczne woluminy" + +msgid "Volumes" +msgstr "Woluminy" + +#, python-brace-format +msgid "Snapshot type: {}" +msgstr "Typ migawki: {}" + +msgid "LVM disk encryption with more than 2 partitions is currently not supported" +msgstr "Szyfrowanie dysku LVM z więcej niż dwoma partycjami aktualnie nie jest wspierane" + +msgid "Encryption type" +msgstr "Typ szyfrowania" + +msgid "Password" +msgstr "Hasło" + +msgid "Iteration time" +msgstr "Czas iteracji" + +msgid "Select disks for the installation" +msgstr "Wybierz dyski dla tej instalacji" + +msgid "Partitions" +msgstr "Partycje" + +msgid "Select a disk configuration" +msgstr "Wybierz konfigurację dysku" + +msgid "Enter root mount directory" +msgstr "Wprowadź zamontowany katalog główny (root)" + +msgid "You will use whatever drive-setup is mounted at the specified directory" +msgstr "Użyjesz konfiguracji dysków zamontowanej w podanej ścieżce" + +msgid "WARNING: Archinstall won't check the suitability of this setup" +msgstr "OSTRZEŻENIE: Archinstall nie sprawdzi poprawności tej konfiguracji" + +msgid "Select main filesystem" +msgstr "Zmień główny system plików" + +msgid "Would you like to use compression or disable CoW?" +msgstr "Czy chcesz użyć kompresji lub wyłączyć CoW?" + +msgid "Use compression" +msgstr "Użyj kompresji" + +msgid "Disable Copy-on-Write" +msgstr "Wyłącz kopiowanie przy zapisie (Copy-on-Write)" + +msgid "Would you like to use BTRFS subvolumes with a default structure?" +msgstr "Czy chcesz użyć subwoluminów BTRFS z domyślną strukturą?" + +msgid "Would you like to create a separate partition for /home?" +msgstr "Czy chcesz stworzyć oddzielną partycje dla /home?" + +msgid "The selected drives do not have the minimum capacity required for an automatic suggestion\n" +msgstr "Wybrane dyski nie mają minimalnej wymaganej pojemności dla automatycznej sugestii\n" + +#, python-brace-format +msgid "Minimum capacity for /home partition: {}GiB\n" +msgstr "Maksymalna pojemność dla partycji /home: {}GiB\n" + +#, python-brace-format +msgid "Minimum capacity for Arch Linux partition: {}GiB" +msgstr "Minimalna pojemność dla partycji Arch Linux: {}GiB" + +msgid "Encryption password" +msgstr "Hasło szyfrujące" + +msgid "LVM volumes" +msgstr "Woluminy LVM" + +msgid "HSM" +msgstr "HSM" + +msgid "Partitions to be encrypted" +msgstr "Partycje do zaszyfrowania" + +msgid "LVM volumes to be encrypted" +msgstr "Woluminy LVM do zaszyfrowania" + +msgid "HSM device" +msgstr "Urządzenie HSM" + +msgid "Select encryption type" +msgstr "Wybierz typ szyfrowania" + +msgid "Enter disk encryption password (leave blank for no encryption)" +msgstr "Wprowadź hasło do szyfrowania dysku (pozostaw puste, aby nie szyfrować):" + +msgid "Select a FIDO2 device to use for HSM" +msgstr "Wybierz urządzenie FIDO2 do użycia z HSM" + +msgid "Enter iteration time for LUKS encryption (in milliseconds)" +msgstr "Wprowadź czas iteracji dla szyfrowania LUKS (w milisekundach)" + +msgid "Higher values increase security but slow down boot time" +msgstr "Wyższe wartości zwiększają bezpieczeństwo, ale spowalniają uruchamianie" + +#, python-brace-format +msgid "Default: {}ms, Recommended range: 1000-60000" +msgstr "Domyślnie: {}ms, Rekomendowany przedział: 1000-60000" + +msgid "Iteration time must be at least 100ms" +msgstr "Czas iteracji nie może być niższy niż 100ms" + +msgid "Iteration time must be at most 120000ms" +msgstr "Czas iteracji nie może być wyższy niż 120000ms" + +msgid "Please enter a valid number" +msgstr "Proszę wprowadzić poprawną liczbę" + +msgid "Suggest partition layout" +msgstr "Zasugeruj układ partycji" + +msgid "Remove all newly added partitions" +msgstr "Usuń wszystkie nowo dodane partycje" + +msgid "Assign mountpoint" +msgstr "Przydziel punkt montowania" + +msgid "Mark/Unmark to be formatted (wipes data)" +msgstr "Zaznacz/odznacz partycję do formatowania (wymazuje dane)" + +msgid "Mark/Unmark as bootable" +msgstr "Zaznacz/Odznacz jako bootowalne" + +msgid "Mark/Unmark as ESP" +msgstr "Zaznacz/Odznacz jako ESP" + +msgid "Mark/Unmark as XBOOTLDR" +msgstr "Zaznacz/Odznacz jako XBOOTLDR" + +msgid "Change filesystem" +msgstr "Zmień system plików" + +msgid "Mark/Unmark as compressed" +msgstr "Oznacz/odznacz partycje jako skompresowaną" + +msgid "Mark/Unmark as nodatacow" +msgstr "Zaznacz/Odznacz jako nodatacow" + +msgid "Set subvolumes" +msgstr "Ustaw subwolumin" + +msgid "Delete partition" +msgstr "Usuń partycję" + +#, python-brace-format +msgid "Partition management: {}" +msgstr "Zarządzanie partycją: {}" + +#, python-brace-format +msgid "Total length: {}" +msgstr "Całkowita długość: {}" + +msgid "Partition - New" +msgstr "Partycja - Nowa" + +msgid "Partition" +msgstr "Partycja" + +msgid "This partition is currently encrypted, to format it a filesystem has to be specified" +msgstr "Wybrana partycja jest zaszyfrowana. Żeby ją sformatować, wybierz system plików" + +msgid "Partition mount-points are relative to inside the installation, the boot would be /boot as an example." +msgstr "Punkty montowania partycji są względne w stosunku do wnętrza instalacji, np. boot to /boot." + +msgid "Enter a mountpoint" +msgstr "Wprowadź punkt montowania" + +msgid "Invalid size" +msgstr "Niepoprawny rozmiar" + +#, python-brace-format +msgid "Selected free space segment on device {}:" +msgstr "Wybrany segment wolnego miejsca na urządzeniu {}:" + +#, python-brace-format +msgid "Size: {} / {}" +msgstr "Rozmiar: {} / {}" + +msgid "All entered values can be suffixed with a unit: %, B, KB, KiB, MB, MiB..." +msgstr "Do wszystkich wybranych wartości może być dopisana jednostka: % B, KB, KiB, MB, MiB..." + +msgid "If no unit is provided, the value is interpreted as sectors" +msgstr "Jeżeli jednostka nie zostanie podana, wartość zostanie zinterpretowana jako sektory" + +#, python-brace-format +msgid "Enter a size (default: {}): " +msgstr "Wprowadź rozmiar (domyślnie: {}): " + +msgid "This will remove all newly added partitions, continue?" +msgstr "To usunie wszystkie nowo dodane partycje, kontynuować?" + +msgid "Add subvolume" +msgstr "Dodaj subwolumin" + +msgid "Edit subvolume" +msgstr "Edytuj subwolumin" + +msgid "Delete subvolume" +msgstr "Usuń subwolumin" + +msgid "Value cannot be empty" +msgstr "Wartość nie może być pusta" + +msgid "Enter subvolume name" +msgstr "Wprowadź nazwę subwoluminu" + +msgid "Subvolume name" +msgstr "Nazwa subwoluminu" + +msgid "Enter subvolume mountpoint" +msgstr "Wprowadź punkt montowania subwoluminu" + +msgid "Exit archinstall" +msgstr "Zamknij archinstall-a" + +msgid "Reboot system" +msgstr "Uruchom ponownie system" + +msgid "chroot into installation for post-installation configurations" +msgstr "zchrootować do nowej instalacji i przeprowadzić dodatkową konfigurację" + +msgid "Would you like to use automatic time synchronization (NTP) with the default time servers?\n" +msgstr "Czy chcesz korzystać z automatycznej synchronizacji czasu (NTP) z domyślnymi serwerami czasu?\n" + +msgid "" +"Hardware time and other post-configuration steps might be required in order for NTP to work.\n" +"For more information, please check the Arch wiki" +msgstr "" +"Aby NTP działał, może być wymagany czas sprzętowy i inne kroki po konfiguracji.\n" +"Aby uzyskać więcej informacji, proszę sprawdzić Arch wiki" + +msgid "Enter a hostname" +msgstr "Wprowadź nazwę hosta" + +msgid "Select timezone" +msgstr "Wybierz strefę czasową" + +msgid "What would you like to do next?" +msgstr "Co chcesz robić dalej?" + +msgid "Select which kernel(s) to install" +msgstr "Wybierz, które jądro/jądra zainstalować" + +msgid "For the best compatibility with your AMD hardware, you may want to use either the all open-source or AMD / ATI options." +msgstr "Aby uzyskać najlepszą kompatybilność ze sprzętem AMD, warto skorzystać z opcji całkowicie open-source lub AMD / ATI." + +msgid "For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options.\n" +msgstr "Aby uzyskać najlepszą kompatybilność ze sprzętem Intel, warto skorzystać z opcji całkowicie open-source lub Intel.\n" + +msgid "For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver.\n" +msgstr "Aby uzyskać najlepszą kompatybilność ze sprzętem firmy Nvidia, warto skorzystać z własnościowego sterownika firmy Nvidia.\n" + +msgid "Would you like to use swap on zram?" +msgstr "Czy chcesz używać swap w zramie?" + +msgid "Select zram compression algorithm:" +msgstr "Wybierz algorytm kompresji zram:" + +msgid "Archinstall language" +msgstr "Język archinstall-a" + +msgid "Applications" +msgstr "Aplikacje" + +msgid "Network configuration" +msgstr "Konfiguracja sieci" + +msgid "Save configuration" +msgstr "Zapisz konfigurację" + +msgid "Install" +msgstr "Zainstaluj" + +msgid "Abort" +msgstr "Przerwij" + +msgid "Either root-password or at least 1 user with sudo privileges must be specified" +msgstr "Musisz podać hasło roota lub utworzyć co najmniej jednego superusera" + +msgid "The selected desktop profile requires a regular user to log in via the greeter" +msgstr "Wybrany profil pulpitu wymaga logowania normalnego użytkownika przez greeter" + +msgid "Language" +msgstr "Język" + +msgid "NTP" +msgstr "NTP" + +msgid "LVM configuration type" +msgstr "Typ konfiguracji LVM" + +#, python-brace-format +msgid "Btrfs snapshot type: {}" +msgstr "Typ migawki Btrfs: {}" + +msgid "Swap on zram" +msgstr "Swap na zram" + +msgid "Compression algorithm" +msgstr "Algorytm kompresji" + +msgid "Parallel Downloads" +msgstr "Pobieranie kilku plików jednocześnie" + +msgid "Color" +msgstr "Kolor" + +msgid "Kernel" +msgstr "Jądro" + +msgid "No network configuration selected. Network will need to be set up manually on the installed system." +msgstr "Nie wybrano konfiguracji sieci. Sieć musi zostać skonfigurowana ręcznie w zainstalowanym systemie." + +msgid "Missing configurations:" +msgstr "Brakujące konfiguracje:" + +msgid "Invalid configuration:" +msgstr "Niepoprawna konfiguracja:" + +msgid "Ready to install" +msgstr "Gotowe do zainstalowania" + +msgid "Warnings:" +msgstr "Uwagi:" + +msgid "Profiles" +msgstr "Profile" + +msgid "Graphics driver" +msgstr "Sterownik graficzny" + +msgid "Greeter" +msgstr "Greeter" + +msgid "Selected mirror regions" +msgstr "Wybrane regiony serwerów lustrzanych" + +msgid "Custom servers" +msgstr "Niestandardowe serwery lustrzane" + +msgid "Optional repositories" +msgstr "Opcjonalne repozytoria" + +msgid "Custom repositories" +msgstr "Niestandardowe repozytoria" + +#, python-brace-format +msgid "[!] A log file has been created here: {}" +msgstr "[!] Plik dziennika został zapisany tutaj: {}" + +msgid "Please submit this issue (and file) to https://github.com/archlinux/archinstall/issues" +msgstr "Proszę zgłosić ten błąd (i dołączyć plik) pod adresem https://github.com/archlinux/archinstall/issues" + +msgid "Syncing the system..." +msgstr "Synchronizowanie systemu..." + +msgid "Waiting for time sync (timedatectl show) to complete." +msgstr "Oczekiwanie na synchronizację czasu (timedatectl show)." + +msgid "Time synchronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/" +msgstr "Synchronizacja czasu nie powodzi się. Oczekując - sprawdź dokumentację: https://archinstall.readthedocs.io/" + +msgid "Skipping waiting for automatic time sync (this can cause issues if time is out of sync during installation)" +msgstr "Pomiń oczekiwanie na automatyczną synchronizację czasu (może spowodować problemy podczas instalacji)" + +msgid "Waiting for Arch Linux keyring sync (archlinux-keyring-wkd-sync) to complete." +msgstr "Oczekiwanie na synchronizację Arch Linux keyring (archlinux-keyring-wkd-sync)." + +msgid "Keyboard layout" +msgstr "Układ klawiatury" + +msgid "Locale language" +msgstr "Język" + +msgid "Locale encoding" +msgstr "Kodowanie" + +msgid "Console font" +msgstr "Czcionka konsoli" + +msgid "Back" +msgstr "Wstecz" + +msgid "Are you sure you want to reset this setting?" +msgstr "Czy na pewno chcesz zresetować to ustawienie?" + +msgid "Confirm and exit" +msgstr "Potwierdź i wyjdź" + +msgid "Cancel" +msgstr "Anuluj" + +msgid "Password strength: Weak" +msgstr "Jakość hasła: Słabe" + +msgid "Password strength: Moderate" +msgstr "Jakość hasła: Średnie" + +msgid "Password strength: Strong" +msgstr "Jakość hasła: Mocne" + +msgid "Confirm password" +msgstr "Potwierdź hasło" + +msgid "The password did not match, please try again" +msgstr "Hasło nie jest poprawne, proszę spróbować jeszcze raz" + +msgid "Not a valid directory" +msgstr "Nieprawidłowy katalog" + +msgid "Do you really want to abort?" +msgstr "Czy na pewno chcesz przerwać?" + +msgid "Add a custom repository" +msgstr "Dodaj niestandardowe repozytorium" + +msgid "Change custom repository" +msgstr "Zmień niestandardowe repozytorium" + +msgid "Delete custom repository" +msgstr "Usuń niestandardowe repozytorium" + +msgid "Enter a repository name" +msgstr "Wprowadź nazwę repozytorium" + +msgid "Name" +msgstr "Nazwa" + +msgid "Enter the repository url" +msgstr "Wprowadź url repozytorium" + +msgid "Url" +msgstr "Url" + +msgid "Select signature check" +msgstr "Wybierz sprawdzanie podpisu" + +msgid "Signature check" +msgstr "Sprawdzanie podpisów" + +msgid "Select signature option" +msgstr "Wybierz opcję podpisu" + +msgid "Add a custom server" +msgstr "Dodaj niestandardowy serwer" + +msgid "Change custom server" +msgstr "Zmień niestandardowy serwer" + +msgid "Delete custom server" +msgstr "Usuń niestandardowy serwer" + +msgid "Enter server url" +msgstr "Wprowadź url serwera" + +msgid "Select regions" +msgstr "Wybierz regiony" + +msgid "Add custom servers" +msgstr "Dodaj niestandardowe serwery" + +msgid "Add custom repository" +msgstr "Dodaj niestandardowe repozytorium" + +msgid "Additional repositories" +msgstr "Dodatkowe repozytoria" + +msgid "Loading mirror regions..." +msgstr "Ładowanie regionów serwerów lustrzanych..." + +msgid "Select mirror regions to be enabled" +msgstr "Wybierz, które regiony serwerów lustrzanych chcesz włączyć" + +msgid "Select optional repositories to be enabled" +msgstr "Wybierz, które z opcjonalnych repozytoriów chcesz włączyć" + +msgid "Unicode font coverage for most languages" +msgstr "Wsparcie Unicode dla większości języków" + +msgid "color emoji for browsers and apps" +msgstr "kolorowe emoji dla przeglądarek i aplikacji" + +msgid "Chinese, Japanese, Korean characters" +msgstr "Chińskie, Japońskie, Koreańskie znaki" + +msgid "Arial/Times/Courier replacement, Cyrillic support for Steam/games" +msgstr "Zamiennik Arial/Times/Courier, obsługa Cyrylicy dla Steam/gier" + +msgid "wide Unicode coverage, good fallback font" +msgstr "szerokie wsparcie Unicode, dobra czczionka zastępcza" + +msgid "Zram enabled" +msgstr "Zram włączony" + +#, python-brace-format +msgid "Zram algorithm {}" +msgstr "Algorytm zram {}" + +msgid "Bluetooth enabled" +msgstr "Bluetooth włączony" + +#, python-brace-format +msgid "Audio server \"{}\"" +msgstr "Serwer dźwięku \"{}\"" + +#, python-brace-format +msgid "Power management \"{}\"" +msgstr "Zarządzanie zasilaniem \"{}\"" + +msgid "Print service enabled" +msgstr "Usługa drukowania włączona" + +#, python-brace-format +msgid "Firewall \"{}\"" +msgstr "Zapora sieciowa \"{}\"" + +#, python-brace-format +msgid "Extra fonts \"{}\"" +msgstr "Dodatkowe czcionki \"{}\"" + +msgid "Passwordless login" +msgstr "Logowanie bezhasłowe" + +msgid "Second factor login" +msgstr "Logowanie dwuskładnikowe" + +msgid "Root password set" +msgstr "Hasło roota ustawione" + +#, python-brace-format +msgid "Configured {} user(s)" +msgstr "Skonfigurowano {} użytkownika/ów" + +msgid "U2F set up" +msgstr "U2F skonfigurowane" + +#, python-brace-format +msgid "Bootloader \"{}\"" +msgstr "Program rozruchowy \"{}\"" + +msgid "UKI enabled" +msgstr "UKI włączone" + +msgid "Removable" +msgstr "Usuwalne" + +msgid "Use a best-effort default partition layout" +msgstr "Użyj najlepszego domyślnego układu partycji" + +msgid "Manual Partitioning" +msgstr "Ręczne partycjonowanie" + +msgid "Pre-mounted configuration" +msgstr "Wstępnie zamontowana konfiguracja" + +msgid "Default" +msgstr "Domyślne" + +msgid "Manual" +msgstr "Ręczne" + +msgid "Pre-mount" +msgstr "Wstępnie zamontowane" + +#, python-brace-format +msgid "{} layout" +msgstr "Układ {}" + +#, python-brace-format +msgid "Devices {}" +msgstr "Urządzenia {}" + +msgid "LVM set up" +msgstr "LVM skonfigurowane" + +#, python-brace-format +msgid "{} encryption" +msgstr "Szyfrowanie {}" + +#, python-brace-format +msgid "Btrfs snapshot \"{}\"" +msgstr "Migawka Btrfs \"{}\"" + +msgid "Unknown" +msgstr "Nieznane" + +msgid "Default layout" +msgstr "Domyślny układ" + +msgid "No Encryption" +msgstr "Brak szyfrowania" + +msgid "LUKS" +msgstr "LUKS" + +msgid "LVM on LUKS" +msgstr "LVM na LUKS" + +msgid "LUKS on LVM" +msgstr "LUKS na LVM" + +#, python-brace-format +msgid "Keyboard layout \"{}\"" +msgstr "Układ klawiatury \"{}\"" + +#, python-brace-format +msgid "Locale language \"{}\"" +msgstr "Locale (język) \"{}\"" + +#, python-brace-format +msgid "Locale encoding \"{}\"" +msgstr "Locale (kodowanie) \"{}\"" + +#, python-brace-format +msgid "Console font \"{}\"" +msgstr "Czcionka konsoli \"{}\"" + +#, python-brace-format +msgid "Mirror regions \"{}\"" +msgstr "Regiony serwerów lustrzanych \"{}\"" + +#, python-brace-format +msgid "Optional repositories \"{}\"" +msgstr "Opcjonalne repozytoria \"{}\"" + +msgid "Custom servers set up" +msgstr "Niestandardowe serwery lustrzane skonfigurowane" + +msgid "Custom repositories set up" +msgstr "Niestandardowe repozytoria skonfigurowane" + +msgid "Copy ISO network configuration to installation" +msgstr "Skopiuj ustawienia sieciowe z ISO do instalacji" + +msgid "Use Network Manager (default backend)" +msgstr "Użyj NetworkManager'a (domyślny backend)" + +msgid "Use Network Manager (iwd backend)" +msgstr "Użyj NetworkManager'a (backend iwd)" + +msgid "Use standalone iwd" +msgstr "Użyj samego iwd" + +msgid "Manual configuration" +msgstr "Ręczna konfiguracja" + +msgid "Package group:" +msgstr "Grupa pakietów:" + +msgid "Color enabled" +msgstr "Kolor włączony" + +#, python-brace-format +msgid "{} graphics driver" +msgstr "Sterownik graficzny {}" + +#, python-brace-format +msgid "{} greeter" +msgstr "Greeter {}" + +msgid "very weak" +msgstr "bardzo słabe" + +msgid "weak" +msgstr "słabe" + +msgid "moderate" +msgstr "umiarkowane" + +msgid "strong" +msgstr "silne" + +msgid "Add interface" +msgstr "Dodaj interfejs" + +msgid "Edit interface" +msgstr "Edytuj interfejs" + +msgid "Delete interface" +msgstr "Usuń interfejs" + +msgid "Select an interface" +msgstr "Wybierz interfejs" + +msgid "You need to enter a valid IP in IP-config mode" +msgstr "Musisz wprowadzić poprawny adres IP w trybie IP-config" + +#, python-brace-format +msgid "Select which mode to configure for \"{}\"" +msgstr "Wybierz który tryb ma być skonfigurowany dla \"{}\"" + +#, python-brace-format +msgid "Enter the IP and subnet for {} (example: 192.168.0.5/24): " +msgstr "Wprowadź adres IP i podsieć dla {} (przykład: 192.168.0.5/24): " + +msgid "Enter your gateway (router) IP address (leave blank for none)" +msgstr "Wprowadź adres IP bramy sieciowej (routera) lub pozostaw puste:" + +msgid "Enter your DNS servers with space separated (leave blank for none)" +msgstr "Wpisz swoje serwery DNS (oddzielone spacjami, lub pozostaw puste):" + +msgid "Choose network configuration" +msgstr "Wybierz konfigurację sieci" + +msgid "Recommended: Network Manager for desktop, Manual for server" +msgstr "Rekomendowane: Network Manager dla desktopów, ręcznie dla serwerów" + +msgid "Configure interfaces" +msgstr "Konfiguruj interfejsy" + +msgid "No network connection found" +msgstr "Brak połączenia z siecią" + +msgid "Would you like to connect to a Wifi?" +msgstr "Czy chcesz połączyć się z Wifi?" + +msgid "No wifi interface found" +msgstr "Nie znaleziono interfejsu wifi" + +msgid "No wifi networks found" +msgstr "Nie znaleziono sieci wifi" + +msgid "Select wifi network to connect to" +msgstr "Wybierz sieć wifi do połączenia się" + +msgid "Scanning wifi networks..." +msgstr "Skanowanie sieci wifi..." + +msgid "Failed setting up wifi" +msgstr "Nie udało się skonfigurować wifi" + +msgid "Enter wifi password" +msgstr "Wprowadź hasło do wifi" + +#, python-brace-format +msgid "Repositories: {}" +msgstr "Repozytoria: {}" + +msgid "Loading packages..." +msgstr "Ładowanie pakietów..." + +msgid "No packages found" +msgstr "Nie znaleziono pakietów" + +msgid "Only packages such as base, sudo, linux, linux-firmware, efibootmgr and optional profile packages are installed." +msgstr "Instalowane są tylko pakiety takie jak base, sudo, linux, linux-firmware, efibootmgr i opcjonalne pakiety profili." + +msgid "Note: base-devel is no longer installed by default. Add it here if you need build tools." +msgstr "Uwaga: base-devel nie jest już domyślnie instalowane. Dodaj je tutaj, jeżeli potrzebujesz narzędzi do budowania pakietów." + +msgid "Select any packages from the below list that should be installed additionally" +msgstr "Wybierz pakiety z poniższej listy, które powinne być dodatkowo zainstalowane" + +#, python-brace-format +msgid "Enter the number of parallel downloads (1-{})" +msgstr "Wprowadź maksymalną liczbę plików pobieranych jednocześnie (1-{})" + +#, python-brace-format +msgid "Value must be between 1 and {}" +msgstr "Wartość musi być pomiędzy 1 a {}" + +msgid "Enable colored output for pacman" +msgstr "Włącz kolory w pacmanie" + +msgid "Pacman is already running, waiting maximum 10 minutes for it to terminate." +msgstr "Pacman jest już uruchomiony, czekam maksymalnie 10 minut na zakończenie pracy." + +msgid "Pre-existing pacman lock never exited. Please clean up any existing pacman sessions before using archinstall." +msgstr "Istniejąca wcześniej blokada pacmana nie została zakończona. Proszę wyczyścić wszystkie istniejące sesje pacmana przed użyciem archinstall-a." + +msgid "The proprietary Nvidia driver is not supported by Sway." +msgstr "Własnościowy sterownik Nvidia nie jest wspierany przez Sway." + +msgid "It is likely that you will run into issues, are you okay with that?" +msgstr "Prawdopodobnie wystąpią problemy, czy chcesz kontynuować?" + +msgid "Selected profiles: " +msgstr "Wybrane profile: " + +msgid "Select which greeter to install" +msgstr "Wybierz, który greeter zainstalować" + +msgid "Select a profile type" +msgstr "Wybierz typ profilu" + +#, python-brace-format +msgid "Unable to fetch profile from specified url: {}" +msgstr "Nie można pobrać profilu z podanego url: {}" + +#, python-brace-format +msgid "Profiles must have unique name, but profile definitions with duplicate name found: {}" +msgstr "Profile muszą mieć unikalne nazwy, a znaleziono istniejący profil o tej nazwie: {}" + +msgid "Add a user" +msgstr "Dodaj użytkownika" + +msgid "Change password" +msgstr "Zmień hasło" + +msgid "Promote/Demote user" +msgstr "Promuj/degraduj użytkownika" + +msgid "Delete User" +msgstr "Usuń użytkownika" + +msgid "User" +msgstr "Użytkownik" + +msgid "Enter new password" +msgstr "Wprowadź nowe hasło" + +msgid "The username you entered is invalid" +msgstr "Wprowadzona nazwa użytkownika jest nieprawidłowa" + +msgid "Enter a username" +msgstr "Wprowadź nazwę użytkownika" + +msgid "Username" +msgstr "Nazwa użytkownika" + +msgid "Enter a password" +msgstr "Wprowadź hasło" + +#, python-brace-format +msgid "Should \"{}\" be a superuser (sudo)?\n" +msgstr "Czy \"{}\" powinien być superuserem (mieć uprawnienia sudo)?\n" + +#, python-brace-format +msgid "About to upload \"{}\" to the publicly accessible {}" +msgstr "Zaraz rozpocznie się przesyłanie \"{}\" do publicznie dostępnego {}" + +msgid "Do you want to continue?" +msgstr "Czy chcesz kontynuować?" + +#, python-brace-format +msgid "Log uploaded successfully. URL: {}" +msgstr "Dziennik przesłano pomyślnie. URL: {}" + +msgid "Failed to upload log." +msgstr "Nie udało się przesłać dziennika." + +msgid "Archinstall requires root privileges to run. See --help for more." +msgstr "Archinstall wymaga uprawnień roota do uruchomienia. Użyj --help, aby uzyskać więcej informacji." + +msgid "New version available" +msgstr "Nowa wersja dostępna" + +msgid "Starting device modifications in " +msgstr "Wprowadzanie zmian do urządzeń w " + +msgid "Ok" +msgstr "Ok" + +msgid "Input cannot be empty" +msgstr "Podana wartość nie może być pusta" + +msgid "Yes" +msgstr "Tak" + +msgid "No" +msgstr "Nie" + +msgid " (default)" +msgstr " (domyślne)" diff --git a/archinstall/locales/uk/LC_MESSAGES/base.mo b/archinstall/locales/uk/LC_MESSAGES/base.mo index 7c0230e6..26cd6bdb 100644 Binary files a/archinstall/locales/uk/LC_MESSAGES/base.mo and b/archinstall/locales/uk/LC_MESSAGES/base.mo differ diff --git a/archinstall/locales/uk/LC_MESSAGES/base.po b/archinstall/locales/uk/LC_MESSAGES/base.po index fab48b2b..06bfe3ff 100644 --- a/archinstall/locales/uk/LC_MESSAGES/base.po +++ b/archinstall/locales/uk/LC_MESSAGES/base.po @@ -2230,3 +2230,162 @@ msgstr "Налаштування входу з пристроєм двофакт #, python-brace-format msgid "Default: {}ms, Recommended range: 1000-60000" msgstr "Стандартно: {}мс, Рекомендований діапазон - 1000-60000" + +msgid "ArchInstall Language" +msgstr "Мова ArchInstall" + +msgid "Version" +msgstr "Версія" + +msgid "Installation Script" +msgstr "Скрипт встановлення" + +msgid "Application" +msgstr "Додаток" + +msgid "Services" +msgstr "Служби" + +msgid "Custom commands" +msgstr "Користувацькі команди" + +msgid "Users" +msgstr "Користувачі" + +msgid "Root encrypted password" +msgstr "Зашифрований пароль root" + +msgid "Audio server \"{}\"" +msgstr "Аудіосервер \"{}\"" + +msgid "Firewall \"{}\"" +msgstr "Брандмауер \"{}\"" + +msgid "Bootloader \"{}\"" +msgstr "Завантажувач \"{}\"" + +msgid "Power management \"{}\"" +msgstr "Керування живленням \"{}\"" + +msgid "Btrfs snapshot \"{}\"" +msgstr "Знімок Btrfs \"{}\"" + +msgid "Keyboard layout \"{}\"" +msgstr "Розкладка клавіатури \"{}\"" + +msgid "Locale language \"{}\"" +msgstr "Мова локалізації \"{}\"" + +msgid "Locale encoding \"{}\"" +msgstr "Кодування локалізації \"{}\"" + +msgid "Console font \"{}\"" +msgstr "Шрифт консолі \"{}\"" + +msgid "Mirror regions \"{}\"" +msgstr "Регіони дзеркал \"{}\"" + +msgid "Optional repositories \"{}\"" +msgstr "Необов'язкові репозиторії \"{}\"" + +msgid "Extra fonts \"{}\"" +msgstr "Додаткові шрифти \"{}\"" + +msgid "Bluetooth enabled" +msgstr "Bluetooth увімкнено" + +msgid "Color enabled" +msgstr "Колір увімкнено" + +msgid "Print service enabled" +msgstr "Службу друку увімкнено" + +msgid "Zram enabled" +msgstr "Zram увімкнено" + +msgid "UKI enabled" +msgstr "UKI увімкнено" + +msgid "Root password set" +msgstr "Пароль root встановлено" + +msgid "U2F set up" +msgstr "U2F налаштовано" + +msgid "LVM set up" +msgstr "LVM налаштовано" + +msgid "Custom servers set up" +msgstr "Користувацькі сервери налаштовано" + +msgid "Custom repositories set up" +msgstr "Користувацькі репозиторії налаштовано" + +msgid "Configured {} user(s)" +msgstr "Налаштовано користувачів: {}" + +msgid "Zram algorithm {}" +msgstr "Алгоритм Zram {}" + +msgid "Devices {}" +msgstr "Пристрої {}" + +msgid "{} grphics driver" +msgstr "Графічний драйвер {}" + +msgid "{} encryption" +msgstr "Шифрування {}" + +msgid "{} layout" +msgstr "Розмітка {}" + +msgid "{} greeter" +msgstr "Менеджер входу {}" + +msgid "About to upload \"{}\" to the publicly accessible {}" +msgstr "Зараз \"{}\" буде вивантажено на загальнодоступний {}" + +msgid "Log uploaded successfully. URL: {}" +msgstr "Журнал успішно вивантажено. URL: {}" + +msgid "Failed to upload log." +msgstr "Не вдалося вивантажити журнал." + +msgid "Manual" +msgstr "Вручну" + +msgid "Pre-mount" +msgstr "Передмонтування" + +msgid "Default" +msgstr "Типово" + +msgid "Warnings:" +msgstr "Попередження:" + +msgid "Missing configurations:" +msgstr "Відсутні конфігурації:" + +msgid "Invalid configuration:" +msgstr "Неправильна конфігурація:" + +msgid "Do you want to continue?" +msgstr "Бажаєте продовжити?" + +msgid "Enter a repository name" +msgstr "Введіть назву репозиторію" + +msgid "Use standalone iwd" +msgstr "Використовувати автономний iwd" + +msgid "{} needs access to your seat" +msgstr "{} потребує доступу до вашого seat" + +msgid "Choose an option how to give {} access to your hardware" +msgstr "Виберіть, як надати {} доступ до вашого обладнання" + +msgid "collection of hardware devices i.e. keyboard, mouse" +msgstr "набір апаратних пристроїв, напр. клавіатура, миша" + +msgid "No network configuration selected. Network will need to be set up manually on the installed system." +msgstr "Конфігурацію мережі не обрано. Мережу доведеться налаштувати вручну на встановленій системі." diff --git a/archinstall/scripts/guided.py b/archinstall/scripts/guided.py index efc22fc4..775ed1fd 100644 --- a/archinstall/scripts/guided.py +++ b/archinstall/scripts/guided.py @@ -231,7 +231,7 @@ def main(arch_config_handler: ArchConfigHandler | None = None) -> None: if not arch_config_handler.args.silent: aborted = False - res: bool = tui.run(lambda: config.confirm_config(show_install_warnings=True)) + res: bool = tui.run(config.confirm_config) if not res: debug('Installation aborted') diff --git a/archinstall/scripts/minimal.py b/archinstall/scripts/minimal.py index c6eda03d..a58963f2 100644 --- a/archinstall/scripts/minimal.py +++ b/archinstall/scripts/minimal.py @@ -77,7 +77,7 @@ async def main(arch_config_handler: ArchConfigHandler | None = None) -> None: if not arch_config_handler.args.silent: aborted = False - res: bool = tui.run(lambda: config.confirm_config(show_install_warnings=True)) + res: bool = tui.run(config.confirm_config) if not res: debug('Installation aborted') diff --git a/archinstall/tui/components.py b/archinstall/tui/components.py index efbb64f9..a2e6b132 100644 --- a/archinstall/tui/components.py +++ b/archinstall/tui/components.py @@ -2,9 +2,9 @@ import sys from abc import ABC, abstractmethod from collections.abc import Awaitable, Callable from dataclasses import dataclass, replace -from enum import Enum, auto from typing import Any, ClassVar, Literal, TypeVar, cast, override +from rich.text import Text from textual import work from textual.app import App, ComposeResult from textual.binding import Binding, BindingsMap @@ -21,12 +21,28 @@ from textual.worker import WorkerCancelled from archinstall.lib.log import debug from archinstall.lib.translationhandler import tr -from archinstall.tui.menu_item import MenuItem, MenuItemGroup +from archinstall.tui.menu_item import MenuItem, MenuItemGroup, MsgLevelType, PreviewResult from archinstall.tui.result import Result, ResultType ValueT = TypeVar('ValueT') +def _update_preview(widget: Label, result: str | PreviewResult | None) -> None: + if result is None: + widget.update('') + return + + if isinstance(result, str): + widget.update(result) + else: + text = Text() + for i, (message, level) in enumerate(result.messages): + if i > 0: + text.append('\n\n') + text.append(message, style=level.style()) + widget.update(text) + + def _translate_bindings(source: BindingsMap | None, target: BindingsMap) -> None: """Translate binding descriptions from source to target. @@ -361,13 +377,9 @@ class OptionListScreen(BaseScreen[ValueT]): item = self._group.find_by_id(item_id) if item.preview_action is not None: - maybe_preview = item.preview_action(item) - - if maybe_preview is not None: - preview_widget.update(maybe_preview) - return - - preview_widget.update('') + _update_preview(preview_widget, item.preview_action(item)) + else: + _update_preview(preview_widget, None) class _SelectionList(SelectionList[ValueT]): @@ -614,12 +626,9 @@ class SelectListScreen(BaseScreen[ValueT]): preview_widget = self.query_one('#preview_content', Label) if item.preview_action is not None: - maybe_preview = item.preview_action(item) - if maybe_preview is not None: - preview_widget.update(maybe_preview) - return - - preview_widget.update('') + _update_preview(preview_widget, item.preview_action(item)) + else: + _update_preview(preview_widget, None) # DEPRECATED: Removed when switching to async @@ -735,13 +744,8 @@ class ConfirmationScreen(BaseScreen[ValueT]): if self._preview_header is not None: preview = self.query_one('#preview_content', Label) - - if focused.preview_action is None: - preview.update('') - else: - text = focused.preview_action(focused) - if text is not None: - preview.update(text) + result = focused.preview_action(focused) if focused.preview_action else None + _update_preview(preview, result) else: button.remove_class('-active') @@ -768,16 +772,10 @@ class NotifyScreen(ConfirmationScreen[ValueT]): super().__init__(group, header) -class InputInfoType(Enum): - MsgInfo = auto() - MsgWarning = auto() - MsgError = auto() - - @dataclass class InputInfo: message: str - info_type: InputInfoType + msg_level: MsgLevelType class InputScreen(BaseScreen[str]): @@ -889,11 +887,11 @@ class InputScreen(BaseScreen[str]): result = self._info_callback(event.value) if result: css_class = '' - if result.info_type == InputInfoType.MsgError: + if result.msg_level == MsgLevelType.MsgError: css_class = 'input-hint-msg-error' - elif result.info_type == InputInfoType.MsgWarning: + elif result.msg_level == MsgLevelType.MsgWarning: css_class = 'input-hint-msg-warning' - elif result.info_type == InputInfoType.MsgInfo: + elif result.msg_level == MsgLevelType.MsgInfo: css_class = 'input-hint-msg-info' info_label.update(result.message) info_label.set_classes(css_class) @@ -1138,13 +1136,7 @@ class TableSelectionScreen(BaseScreen[ValueT]): return preview_widget = self.query_one('#preview_content', Label) - - maybe_preview = item.preview_action(item) - if maybe_preview is not None: - preview_widget.update(maybe_preview) - return - - preview_widget.update('') + _update_preview(preview_widget, item.preview_action(item)) def _set_cursor(self, row_index: int) -> None: data_table = self.query_one(DataTable) @@ -1279,6 +1271,7 @@ class _AppInstance(App[ValueT]): background: black; border-left: vkey white 20%; } + """ def __init__(self, main: InstanceRunnable[ValueT] | Callable[[], Awaitable[ValueT]]) -> None: diff --git a/archinstall/tui/menu_item.py b/archinstall/tui/menu_item.py index 4c10e275..13f9f165 100644 --- a/archinstall/tui/menu_item.py +++ b/archinstall/tui/menu_item.py @@ -1,12 +1,44 @@ +from __future__ import annotations + from collections.abc import Awaitable, Callable, Iterable from dataclasses import dataclass, field -from enum import Enum +from enum import Enum, StrEnum, auto from functools import cached_property from typing import Any, ClassVar, Self, override from archinstall.lib.translationhandler import tr +class MsgLevelStyle(StrEnum): + White = 'white' + Green = 'green' + Yellow = 'bright_yellow' + Red = 'red' + + +class MsgLevelType(Enum): + MsgNone = auto() + MsgInfo = auto() + MsgWarning = auto() + MsgError = auto() + + def style(self) -> MsgLevelStyle: + match self: + case MsgLevelType.MsgNone: + return MsgLevelStyle.White + case MsgLevelType.MsgInfo: + return MsgLevelStyle.Green + case MsgLevelType.MsgWarning: + return MsgLevelStyle.Yellow + case MsgLevelType.MsgError: + return MsgLevelStyle.Red + + +@dataclass +class PreviewResult: + messages: list[tuple[str, MsgLevelType]] + + @dataclass class MenuItem: text: str @@ -18,7 +50,7 @@ class MenuItem: dependencies: list[str | Callable[[], bool]] = field(default_factory=list) dependencies_not: list[str] = field(default_factory=list) display_action: Callable[[Any], str] | None = None - preview_action: Callable[[Self], str | None] | None = None + preview_action: Callable[[Self], str | PreviewResult | None] | None = None key: str | None = None _id: str = '' diff --git a/examples/config-sample.json b/examples/config-sample.json index bc4cd2d9..ac366b6c 100644 --- a/examples/config-sample.json +++ b/examples/config-sample.json @@ -133,7 +133,10 @@ "ntp": true, "offline": false, "packages": [], - "parallel downloads": 0, + "pacman_config": { + "color": false, + "parallel_downloads": 5 + }, "profile_config": { "gfx_driver": "All open-source (default)", "greeter": "sddm", diff --git a/pyproject.toml b/pyproject.toml index b7545121..8a128717 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ dependencies = [ "pyparted==3.13.0", "pydantic==2.13.4", "cryptography==48.0.0", - "textual==8.2.6", + "textual==8.2.7", "markdown-it-py==4.0.0", "linkify-it-py==2.1.0", ] @@ -37,7 +37,7 @@ dev = [ "mypy==2.1.0", "flake8==7.3.0", "pre-commit==4.6.0", - "ruff==0.15.14", + "ruff==0.15.16", "pylint==4.0.5", "pytest==9.0.3", "hypothesis>=6.152.4", @@ -61,6 +61,7 @@ include-package-data = true "**/*.po", "**/*.pot", "**/*.json", + "**/*.kdl", ] [tool.setuptools.package-dir] @@ -69,7 +70,10 @@ archinstall = "archinstall" [tool.mypy] python_version = "3.14" files = "." -exclude = "^build/" +exclude = [ + "^build/", + "^test_tooling/", +] disallow_any_explicit = false disallow_any_expr = false disallow_any_unimported = true diff --git a/build_iso.sh b/test_tooling/mkarchiso/build_iso.sh similarity index 100% rename from build_iso.sh rename to test_tooling/mkarchiso/build_iso.sh diff --git a/test_tooling/mkosi/README.md b/test_tooling/mkosi/README.md new file mode 100644 index 00000000..d26d0d9f --- /dev/null +++ b/test_tooling/mkosi/README.md @@ -0,0 +1,12 @@ +# To build + + mkosi build -B + +# To run + + mkosi qemu \ + --drive=archinstall_small:25G \ + -- \ + -device nvme,serial=archinstall_small,drive=archinstall_small + +*note: in order to boot the installation, we need to disable UKI being added to -kernel. I don't know of a way to do this yet, unless we tinker with mkosi/qemu.py - https://github.com/Torxed/mkosi/commit/6f3c20802bd73f88b672cc96ef0db1e542084316 - in which case we could do: `mkosi qemu --drive=archinstall_small:25G -- -device nvme,serial=archinstall_small,drive=archinstall_small,bootindex=0 -kernel none` but it still won't boot properly.* \ No newline at end of file diff --git a/test_tooling/mkosi/mkosi.cache/.gitkeep b/test_tooling/mkosi/mkosi.cache/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/test_tooling/mkosi/mkosi.conf b/test_tooling/mkosi/mkosi.conf new file mode 100644 index 00000000..fdc36613 --- /dev/null +++ b/test_tooling/mkosi/mkosi.conf @@ -0,0 +1,50 @@ +[Distribution] +Distribution=arch +# LocalMirror=file:///var/lib/localmirror + +[Output] +Format=uki +# Format=disk + +[Include] +Include=mkosi-vm + +[Validation] +SecureBoot=false +SecureBootAutoEnroll=false +Sign=false +# Signing artifacts (hashsums etc) using a GPG key: +# Key=D4B58E897A929F2E +# Signing secure boot using PIV on yubikey: +# SecureBoot=true +# SecureBootKey=pkcs11: +# SecureBootCertificate=secureboot.crt + +[Content] +Packages= + pacman + archlinux-keyring + amd-ucode + intel-ucode +# tpm2-tss +# libfido2 +# libp11-kit +WithDocs=false +RootPassword=toor +Timezone=Europe/Stockholm +Keymap=sv-latin1 +InitrdProfiles=network + +[Config] +Profiles=archinstall + +[Build] +Incremental=true +ToolsTree=default +ToolsTreeProfiles=devel,misc,package-manager,runtime,gui +WithNetwork=yes + +[Runtime] +Console=gui +CPUs=4 +RAM=8G diff --git a/test_tooling/mkosi/mkosi.extra/etc/systemd/network/20-ethernet.network b/test_tooling/mkosi/mkosi.extra/etc/systemd/network/20-ethernet.network new file mode 100644 index 00000000..478a55da --- /dev/null +++ b/test_tooling/mkosi/mkosi.extra/etc/systemd/network/20-ethernet.network @@ -0,0 +1,24 @@ +[Match] +# Matching with "Type=ether" causes issues with containers because it also matches virtual Ethernet interfaces (veth*). +# See https://bugs.archlinux.org/task/70892 +# Instead match by globbing the network interface name. +Name=en* +Name=eth* + +[Link] +RequiredForOnline=routable + +[Network] +DHCP=yes +MulticastDNS=yes + +# systemd-networkd does not set per-interface-type default route metrics +# https://github.com/systemd/systemd/issues/17698 +# Explicitly set route metric, so that Ethernet is preferred over Wi-Fi and Wi-Fi is preferred over mobile broadband. +# Use values from NetworkManager. From nm_device_get_route_metric_default in +# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c +[DHCPv4] +RouteMetric=100 + +[IPv6AcceptRA] +RouteMetric=100 \ No newline at end of file diff --git a/test_tooling/mkosi/mkosi.extra/etc/systemd/system/getty@tty1.service.d/autologin.conf b/test_tooling/mkosi/mkosi.extra/etc/systemd/system/getty@tty1.service.d/autologin.conf new file mode 100644 index 00000000..161d4952 --- /dev/null +++ b/test_tooling/mkosi/mkosi.extra/etc/systemd/system/getty@tty1.service.d/autologin.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=-/usr/bin/agetty --noreset --noclear --autologin root - ${TERM} \ No newline at end of file diff --git a/test_tooling/mkosi/mkosi.extra/root/.profile b/test_tooling/mkosi/mkosi.extra/root/.profile new file mode 100644 index 00000000..c8d1791b --- /dev/null +++ b/test_tooling/mkosi/mkosi.extra/root/.profile @@ -0,0 +1,5 @@ +cd archinstall-git +rm -rf dist + +uv build --no-build-isolation --wheel +uv pip install dist/*.whl --break-system-packages --system --no-build --no-deps \ No newline at end of file diff --git a/test_tooling/mkosi/mkosi.extra/usr/lib/systemd/system-preset/5-archinstall.preset b/test_tooling/mkosi/mkosi.extra/usr/lib/systemd/system-preset/5-archinstall.preset new file mode 100644 index 00000000..8423c627 --- /dev/null +++ b/test_tooling/mkosi/mkosi.extra/usr/lib/systemd/system-preset/5-archinstall.preset @@ -0,0 +1 @@ +enable systemd-networkd.service \ No newline at end of file diff --git a/test_tooling/mkosi/mkosi.output/.gitkeep b/test_tooling/mkosi/mkosi.output/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/test_tooling/mkosi/mkosi.postinst.chroot b/test_tooling/mkosi/mkosi.postinst.chroot new file mode 100755 index 00000000..096857e8 --- /dev/null +++ b/test_tooling/mkosi/mkosi.postinst.chroot @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +git clone https://github.com/archlinux/archinstall.git /root/archinstall-git +(cd /root/archinstall-git && git checkout master) + +# TODO: Set geo-mirrors statically instead +curl -s "https://archlinux.org/mirrorlist/?country=SE&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 5 - > /etc/pacman.d/mirrorlist + +pacman-key --init +pacman-key --populate archlinux \ No newline at end of file diff --git a/test_tooling/mkosi/mkosi.profiles/archinstall b/test_tooling/mkosi/mkosi.profiles/archinstall new file mode 100644 index 00000000..75628b61 --- /dev/null +++ b/test_tooling/mkosi/mkosi.profiles/archinstall @@ -0,0 +1,56 @@ +[Content] +Packages= + acpid + intel-media-driver + linux-firmware + linux-firmware-intel + ca-certificates-mozilla + ca-certificates-utils + nano + gvfs + noto-fonts + cantarell-fonts + ttf-dejavu + polkit + bash + bzip2 + coreutils + file + filesystem + findutils + gawk + gcc-libs + gettext + glibc + grep + gzip + iproute2 + iputils + licenses + pciutils + procps-ng + psmisc + sed + tar + linux + diffutils + less + strace + util-linux + xz + pacman-contrib + gcc + git + pkgconfig + python + python-pip + python-uv + python-setuptools + python-pyparted + python-pydantic + python-textual + dosfstools + btrfs-progs + arch-install-scripts +WithDocs=false +KernelCommandLine=quiet splash \ No newline at end of file diff --git a/test_tooling/mkosi/mkosi.version b/test_tooling/mkosi/mkosi.version new file mode 100644 index 00000000..ca7bf83a --- /dev/null +++ b/test_tooling/mkosi/mkosi.version @@ -0,0 +1 @@ +13 \ No newline at end of file diff --git a/test_tooling/qemu/README.md b/test_tooling/qemu/README.md new file mode 100644 index 00000000..e36ccfa1 --- /dev/null +++ b/test_tooling/qemu/README.md @@ -0,0 +1,18 @@ +# Qemu helper + +Can be used with the `mkosi` test tooling + +After `mkosi -B build` has been executed, run the following: + + python test_tooling/qemu/qemu.py \ + --uki ./test_tooling/mkosi/mkosi.output/image_13.efi \ + --harddrive ~/test.qcow2:15G \ + --harddrive ~/test_large.qcow2:25G + +And install using `archinstall`, after the machine has been shutdown, run: + + python test_tooling/qemu/qemu.py \ + --harddrive ~/test.qcow2:15G \ + --harddrive ~/test_large.qcow2:25G + +As this will boot EFI mode with just the harddrives to verify the installation. \ No newline at end of file diff --git a/test_tooling/qemu/qemu.py b/test_tooling/qemu/qemu.py new file mode 100644 index 00000000..c8307771 --- /dev/null +++ b/test_tooling/qemu/qemu.py @@ -0,0 +1,483 @@ +import getpass +import grp +import hashlib +import os +import pathlib +import re +import shlex +import shutil +import subprocess +import sys +import time +from argparse import ArgumentParser +from collections.abc import Iterator +from select import EPOLLHUP, EPOLLIN, epoll +from shutil import which +from types import TracebackType +from typing import Any, Self, override + + +class RequirementError(Exception): + pass + + +class ArgumentError(Exception): + pass + + +def get_master(interface): + master_path = pathlib.Path(f'/sys/class/net/{interface}/master') + return master_path.readlink().name if master_path.exists() else None + + +def gray(text): + return f'\033[38;5;246m{text}\033[0m' + + +def orange(text): + return f'\033[38;5;208m{text}\033[0m' + + +def red(text): + return f'\033[31m{text}\033[0m' + + +sudo_password = None # Gets populated later +harddrives = {} +username = getpass.getuser() +groupname = grp.getgrgid(os.getgid()).gr_name + +# https://stackoverflow.com/a/43627833/929999 +_VT100_ESCAPE_REGEX = r'\x1B\[[?0-9;]*[a-zA-Z]' +_VT100_ESCAPE_REGEX_BYTES = _VT100_ESCAPE_REGEX.encode() + +parser = ArgumentParser(description='A set of common parameters for the tooling', add_help=True) + +# Defaults to the order of which the harddrives are defined. +boot_option = parser.add_mutually_exclusive_group() +boot_option.add_argument('--uki', help='Boot a UKI (EFI) image') +boot_option.add_argument('--kernel', help='Boot a Linux kernel') +boot_option.add_argument('--iso', help='Boot a ISO 9660') + +networking = parser.add_argument_group('Networking', "Disables the default '-net nic -net user' network behavior of Qemu.") +networking.add_argument('--tap', nargs='?', help='Configures a TAP interface and passes it in as a virtio-net-pci.', default=None, type=str) +networking.add_argument('--tap-mac', nargs='?', help='MAC for the --tap interface', default='52:54:00:00:00:02') +networking.add_argument('--bridge', nargs='?', help='Configures a bridge, to which the --tap is added.', default=None, type=str) +networking.add_argument('--bridge-mac', nargs='?', help='MAC for the interface', default=None) +networking.add_argument('--bridge-master', nargs='?', help="Which interface to set as 'master' on the bridge.", default=None, type=str) + +hardware = parser.add_argument_group('Hardware', 'General hardware specs for the virtual machine') +# To override the use of EFI boot (will not work with --uki for obvious reasons) +hardware.add_argument('--bios', action='store_true', help='Disables EFI (edk2/ovmf) and uses BIOS support instead', default=False) +hardware.add_argument('--memory', nargs='?', help='Ammount of memory to supply the machine', default=8192) +hardware.add_argument('--harddrive', action='append', help='Sets up one or more virtio-scsi-pci, size is defined by --harddrive test.qcow2:15G', type=str) +hardware.add_argument('--cpu', help='Sets the number of cores to allocate (default nproc -1)', type=str, default=os.cpu_count() - 1 if os.cpu_count() else 1) +hardware.add_argument('--resolution', help="Sets Qemu's VGA resolution", type=str, default='1920x1107') + +kernel = parser.add_argument_group('Kernel', '--kernel specific arguments') +kernel.add_argument('--initrd', nargs='?', help='Defines which ISO to run (skips build all together)', default=None, type=pathlib.Path) + +args, unknowns = parser.parse_known_args() # pylint: disable=redefined-outer-name + +if args.bios and args.uki: + raise ArgumentError('Cannot boot a --uki image with --bios mode (at least not that I know of).') + +if args.uki is None and args.kernel is None and args.iso is None and args.harddrive is None: + raise ArgumentError('Cannot boot this machine, define at least one of: --uki, --kernel, --iso, --harddrive') + +if args.bridge is None and args.bridge_master: + raise ArgumentError('Cannot use --bridge-master without defining --bridge') + +if args.bridge is None and args.bridge_mac: + raise ArgumentError('Cannot use --bridge-mac without defining --bridge') +elif args.bridge and args.bridge_mac is None: + args.bridge_mac = '52:54:00:00:00:1' + +if args.tap and not args.bridge and get_master(args.tap) is None: + # We'll allow it, because maybe we're tesing what happens without networking, but the NIC exists. + # Or the user has some creative iptables/nftables forwarding. + print(orange('--tap does not have a master, consider adding --bridge or manual set a master using ip-link(8).')) + +if args.tap is None and args.bridge: + print(orange("--bridge* arguments will be ignored since there's no --tap defined")) +elif args.tap and args.tap_mac is None: + args.tap_mac = '52:54:00:00:00:2' + + +class SysCallError(Exception): + def __init__(self, message: str, exit_code: int | None = None, worker_log: bytes = b'') -> None: + super().__init__(message) + self.message = message + self.exit_code = exit_code + self.worker_log = worker_log + + +def clear_vt100_escape_codes(data: bytes) -> bytes: + return re.sub(_VT100_ESCAPE_REGEX_BYTES, b'', data) + + +def locate_binary(name: str) -> str: + if path := which(name): + return path + raise RequirementError(f'Binary {name} does not exist.') + + +def _pid_exists(pid: int) -> bool: + try: + return any(subprocess.check_output(['ps', '--no-headers', '-o', 'pid', '-p', str(pid)]).strip()) + except subprocess.CalledProcessError: + return False + + +class SysCommandWorker: + def __init__( + self, + cmd: str | list[str], + peek_output: bool | None = False, + environment_vars: dict[str, str] | None = None, + working_directory: str = './', + remove_vt100_escape_codes_from_lines: bool = True, + ): + if isinstance(cmd, str): + cmd = shlex.split(cmd) + + if cmd and not cmd[0].startswith(('/', './')): # Path() does not work well + cmd[0] = locate_binary(cmd[0]) + + self.cmd = cmd + self.peek_output = peek_output + # define the standard locale for command outputs. For now the C ascii one. Can be overridden + self.environment_vars = {'LC_ALL': 'C'} + if environment_vars: + self.environment_vars.update(environment_vars) + + self.working_directory = working_directory + + self.exit_code: int | None = None + self._trace_log = b'' + self._trace_log_pos = 0 + self.poll_object = epoll() + self.child_fd: int | None = None + self.started = False + self.ended = False + self.remove_vt100_escape_codes_from_lines: bool = remove_vt100_escape_codes_from_lines + + def __contains__(self, key: bytes) -> bool: + """ + Contains will also move the current buffert position forward. + This is to avoid re-checking the same data when looking for output. + """ + assert isinstance(key, bytes) + + index = self._trace_log.find(key, self._trace_log_pos) + if index >= 0: + self._trace_log_pos += index + len(key) + return True + + return False + + def __iter__(self, *args: str, **kwargs: dict[str, Any]) -> Iterator[bytes]: # pylint: disable=redefined-outer-name + last_line = self._trace_log.rfind(b'\n') + lines = filter(None, self._trace_log[self._trace_log_pos : last_line].splitlines()) + for line in lines: + if self.remove_vt100_escape_codes_from_lines: + line = clear_vt100_escape_codes(line) + + yield line + b'\n' + + self._trace_log_pos = last_line + + @override + def __repr__(self) -> str: + self.make_sure_we_are_executing() + return str(self._trace_log) + + @override + def __str__(self) -> str: + try: + return self._trace_log.decode('utf-8') + except UnicodeDecodeError: + return str(self._trace_log) + + def __enter__(self) -> Self: + return self + + def __exit__(self, exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) -> None: + # b''.join(sys_command('sync')) # No need to, since the underlying fs() object will call sync. + # TODO: https://stackoverflow.com/questions/28157929/how-to-safely-handle-an-exception-inside-a-context-manager + + if self.child_fd: + try: + os.close(self.child_fd) + except Exception: + pass + + if self.peek_output: + # To make sure any peaked output didn't leave us hanging + # on the same line we were on. + sys.stdout.write('\n') + sys.stdout.flush() + + if exc_type is not None: + print(gray(str(exc_value))) + + if self.exit_code != 0: + raise SysCallError( + f'{self.cmd} exited with abnormal exit code [{self.exit_code}]: {str(self)[-500:]}', + self.exit_code, + worker_log=self._trace_log, + ) + + def is_alive(self) -> bool: + self.poll() + + if self.started and not self.ended: + return True + + return False + + def write(self, data: bytes, line_ending: bool = True) -> int: + assert isinstance(data, bytes) # TODO: Maybe we can support str as well and encode it + + self.make_sure_we_are_executing() + + if self.child_fd: + return os.write(self.child_fd, data + (b'\n' if line_ending else b'')) + + return 0 + + def make_sure_we_are_executing(self) -> bool: + if not self.started: + return self.execute() + return True + + def tell(self) -> int: + self.make_sure_we_are_executing() + return self._trace_log_pos + + def seek(self, pos: int) -> None: + self.make_sure_we_are_executing() + # Safety check to ensure 0 < pos < len(tracelog) + self._trace_log_pos = min(max(0, pos), len(self._trace_log)) + + def peak(self, output: str | bytes) -> bool: + if self.peek_output: + if isinstance(output, bytes): + try: + output = output.decode('UTF-8') + except UnicodeDecodeError: + return False + + sys.stdout.write(output) + sys.stdout.flush() + + return True + + def poll(self) -> None: + self.make_sure_we_are_executing() + + if self.child_fd: + got_output = False + for _fileno, _event in self.poll_object.poll(0.1): + try: + output = os.read(self.child_fd, 8192) + got_output = True + self.peak(output) + self._trace_log += output + except OSError: + self.ended = True + break + + if self.ended or (not got_output and not _pid_exists(self.pid)): + self.ended = True + try: + wait_status = os.waitpid(self.pid, 0)[1] + self.exit_code = os.waitstatus_to_exitcode(wait_status) + except ChildProcessError: + try: + wait_status = os.waitpid(self.child_fd, 0)[1] + self.exit_code = os.waitstatus_to_exitcode(wait_status) + except ChildProcessError: + self.exit_code = 1 + + def execute(self) -> bool: + import pty + + if (old_dir := os.getcwd()) != self.working_directory: + os.chdir(str(self.working_directory)) + + # Note: If for any reason, we get a Python exception between here + # and until os.close(), the traceback will get locked inside + # stdout of the child_fd object. `os.read(self.child_fd, 8192)` is the + # only way to get the traceback without losing it. + + self.pid, self.child_fd = pty.fork() + + # https://stackoverflow.com/questions/4022600/python-pty-fork-how-does-it-work + if not self.pid: + try: + os.execve(self.cmd[0], list(self.cmd), {**os.environ, **self.environment_vars}) + except FileNotFoundError: + print(red(f'{self.cmd[0]} does not exist.')) + self.exit_code = 1 + return False + else: + # Only parent process moves back to the original working directory + os.chdir(old_dir) + + self.started = True + self.poll_object.register(self.child_fd, EPOLLIN | EPOLLHUP) + + return True + + def decode(self, encoding: str = 'UTF-8') -> str: + return self._trace_log.decode(encoding) + + +def ensure_sudo(): + global sudo_password # pylint: disable=global-statement + + if sudo_password is None: + if (sudo_password := getpass.getpass(f'[sudo] password for {username}: ')) == '': + raise ValueError('Certain commands need sudo to work and no sudo password was given.') + + +def setup_networking(): + if args.tap: + if pathlib.Path(f'/sys/class/net/{args.tap}').exists() is False: + print(gray(f'Creating {args.tap} for user {username} and group {groupname}')) + handle, pw_prompted = SysCommandWorker(f'sudo ip tuntap add dev {args.tap} mode tap user {username} group {groupname}'), False + while handle.is_alive(): + if b'password for' in handle and pw_prompted is False: + ensure_sudo() + handle.write(bytes(sudo_password, 'UTF-8')) + pw_prompted = True + + if args.bridge: + if pathlib.Path(f'/sys/class/net/{args.bridge}').exists() is False: + print(gray(f'Creating {args.bridge}')) + handle, pw_prompted = SysCommandWorker(f'sudo ip link add name {args.bridge} type bridge'), False + while handle.is_alive(): + if b'password for' in handle and pw_prompted is False: + ensure_sudo() + handle.write(bytes(sudo_password, 'UTF-8')) + pw_prompted = True + + if args.bridge_mac: + handle, pw_prompted = SysCommandWorker(f'sudo ip link set dev {args.bridge} address {args.bridge_mac}'), False + print(gray(f'Setting bridge {args.bridge} MAC address to {args.bridge_mac}')) + while handle.is_alive(): + if b'password for' in handle and pw_prompted is False: + ensure_sudo() + handle.write(bytes(sudo_password, 'UTF-8')) + pw_prompted = True + + if args.bridge_master and get_master(args.bridge) != args.bridge_master: + handle, pw_prompted = SysCommandWorker(f'sudo ip link set dev {args.bridge_master} master {args.bridge}'), False + print(gray(f'Setting interface {args.bridge_master} master to {args.bridge}')) + while handle.is_alive(): + if b'password for' in handle and pw_prompted is False: + ensure_sudo() + handle.write(bytes(sudo_password, 'UTF-8')) + pw_prompted = True + + print(gray(f'Setting interface {args.tap} master to {args.bridge}')) + handle, pw_prompted = SysCommandWorker(f'sudo ip link set dev {args.tap} master {args.bridge}'), False + while handle.is_alive(): + if b'password for' in handle and pw_prompted is False: + ensure_sudo() + handle.write(bytes(sudo_password, 'UTF-8')) + pw_prompted = True + + print(gray(f'Bringing up bridge {args.bridge}')) + handle, pw_prompted = SysCommandWorker(f'sudo ip link set dev {args.bridge} up'), False + while handle.is_alive(): + if b'password for' in handle and pw_prompted is False: + ensure_sudo() + handle.write(bytes(sudo_password, 'UTF-8')) + pw_prompted = True + + print(gray(f'Bringing interface {args.tap} up')) + handle, pw_prompted = SysCommandWorker(f'sudo ip link set dev {args.tap} up'), False + while handle.is_alive(): + if b'password for' in handle and pw_prompted is False: + ensure_sudo() + handle.write(bytes(sudo_password, 'UTF-8')) + pw_prompted = True + + +def setup_disks(): + if args.harddrive: + for harddrive_arg in args.harddrive: + path, size = harddrive_arg.split(':') + path = pathlib.Path(path.strip()).expanduser().resolve().absolute() + harddrives[path] = size.strip() + + if path.exists() is False: + handle = SysCommandWorker(f'qemu-img create -f qcow2 {hdd} {size}') + while handle.is_alive(): + time.sleep(0.01) + + if handle.exit_code != 0: + raise ValueError(f'Could not create harddrive {hdd}: {handle}') + + +setup_networking() +setup_disks() + +if args.uki or args.bios is False: + disk_paths_hash = hashlib.sha1((''.join(sorted([str(x) for x in harddrives.keys()]))).encode()).hexdigest() + + shutil.copy2('/usr/share/ovmf/x64/OVMF_CODE.secboot.4m.fd', f'./OVMF_CODE.secboot.4m.fd.{disk_paths_hash}') + shutil.copy2('/usr/share/ovmf/x64/OVMF_VARS.4m.fd', f'./OVMF_VARS.4m.fd.{disk_paths_hash}') + +boot_index = 0 +qemu = 'qemu-system-x86_64' +qemu += ' -cpu host' +qemu += ' -enable-kvm' +qemu += ' -machine q35,accel=kvm' +qemu += ' -object rng-random,filename=/dev/urandom,id=rng0' +qemu += ' -device virtio-rng-pci,rng=rng0' +qemu += ' -global driver=cfi.pflash01,property=secure,value=on' +qemu += f' -smp {args.cpu},sockets=1,dies=1,cores={args.cpu},threads=1' +# qemu += f' -vga vga' +qemu += f' -device VGA,edid=on,xres={args.resolution.split("x")[0]},yres={args.resolution.split("x")[1]}' +qemu += ' -device intel-iommu,device-iotlb=on,caching-mode=on' +qemu += f' -m {args.memory}' +if args.bios is False: + qemu += f' -drive if=pflash,format=raw,readonly=on,file=./OVMF_CODE.secboot.4m.fd.{disk_paths_hash}' + qemu += f' -drive if=pflash,format=raw,file=./OVMF_VARS.4m.fd.{disk_paths_hash}' +if args.uki: + qemu += f' -kernel {args.uki}' + boot_index += 1 +scsi_index = 0 +for scsi_index, hdd in enumerate(harddrives.keys()): + # qemu += f' -device virtio-scsi-pci,bus=pcie.0,id=scsi{index}' + # qemu += f' -device scsi-hd,drive=hdd{index},bus=scsi{index}.0,id=scsi{index}.0,bootindex={hdd_boot_priority+index}' + # qemu += f' -drive file={hdd},if=none,format=qcow2,discard=unmap,aio=native,cache=none,id=hdd{index}' + qemu += f' -device virtio-scsi-pci,bus=pcie.0,id=scsi{scsi_index},addr=0x{scsi_index + 8}' + qemu += f' -device scsi-hd,drive=libvirt-{scsi_index}-format,bus=scsi{scsi_index}.0,id=scsi{scsi_index}-0-0-0,channel=0,scsi-id=0,lun=0,device_id=drive-scsi0-0-0-0,bootindex={boot_index},write-cache=on' # noqa: E501 + qemu += f' -blockdev \'{{"driver":"file","filename":"{hdd}","aio":"threads","node-name":"libvirt-{scsi_index}-storage","cache":{{"direct":false,"no-flush":false}},"auto-read-only":true,"discard":"unmap"}}\'' # noqa: E501 + qemu += f' -blockdev \'{{"node-name":"libvirt-{scsi_index}-format","read-only":false,"discard":"unmap","cache":{{"direct":true,"no-flush":false}},"driver":"qcow2","file":"libvirt-{scsi_index}-storage","backing":null}}\'' # noqa: E501 + boot_index += 1 +if args.iso: + qemu += f' -device virtio-scsi-pci,bus=pcie.0,id=scsi{scsi_index + 1}' + qemu += f' -device scsi-cd,drive=cdrom0,bus=scsi{scsi_index + 1}.0,bootindex={boot_index}' + qemu += f' -drive file={args.iso},media=cdrom,if=none,format=raw,cache=none,id=cdrom0' + boot_index += 1 + +# if args.vfio: +# qemu += f' -drive file={args.vfio},index=2,media=cdrom' + +if args.tap: + qemu += f' -device virtio-net-pci,mac={args.tap_mac},id=network0,netdev=network0.0,status=on,bus=pcie.0' + qemu += f' -netdev tap,ifname={args.tap},id=network0.0,script=no,downscript=no' + +print(gray(qemu)) + +qemu_session = subprocess.run(shlex.split(qemu), check=True, capture_output=True) + +if qemu_session.stdout: + print(qemu_session.stdout.decode()) +if qemu_session.returncode != 0: + print(red(qemu_session.stderr.decode()))